@waniwani/sdk 0.22.0-beta.1 → 0.22.0-beta.2
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/embed.js +1 -1
- package/dist/chat/index.js +12 -12
- package/dist/chat/index.js.map +1 -1
- package/package.json +3 -3
package/dist/chat/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as ii,b as li,c as ui,d as di,e as ci,f as yr,g as fi,h as pi,i as mi,j as hi,k as Oo,l as gi,m as ta,n as aa,o as Lr,p as ra,u as wa}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as ym,useEffect as Rr,useMemo as Lm,useRef as Fe,useState as Zi}from"react";function Nt(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 wi(e,t){return!Nt(e)&&!Nt(t)?null:Nt(e)?Nt(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{forwardRef as op,createElement as np}from"react";var Cr=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Ii=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var xi=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Uo=e=>{let t=xi(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as rp,createElement as Ci}from"react";var yi={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Li=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Si=rp(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Ci("svg",{ref:l,...yi,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Cr("lucide",o),...!n&&!Li(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Ci(u,d)),...Array.isArray(n)?n:[n]]));var de=(e,t)=>{let a=op(({className:r,...o},n)=>np(Si,{ref:n,iconNode:t,className:Cr(`lucide-${Ii(Uo(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Uo(e),a};var sp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ia=de("arrow-down",sp);var ip=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],xa=de("arrow-up",ip);var lp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ya=de("check",lp);var up=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bt=de("chevron-down",up);var dp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],La=de("chevron-right",dp);var cp=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ca=de("clipboard-copy",cp);var fp=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gt=de("clock",fp);var pp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Sa=de("file-text",pp);var mp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],oa=de("file",mp);var hp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],ba=de("globe",hp);var gp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],va=de("image",gp);var wp=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],ka=de("loader",wp);var Ip=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],na=de("paperclip",Ip);var xp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ta=de("square",xp);var yp=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],qt=de("wrench",yp);var Lp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vt=de("x",Lp);var Cp=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Aa=de("zap",Cp);import{createContext as Dp,useCallback as Bp,useContext as Ei,useEffect as Op,useMemo as Vo,useRef as Up,useState as Go}from"react";function No(e){if(!(typeof e!="object"||e===null))return e}function bi(e){return No(e?.ui)}function qo(e){if(!e)return;let t=bi(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Pa(e){return bi(e)?.autoHeight===!0}function Ho(e){return No(No(e)?._meta)}import{createContext as Sp,useContext as bp,useEffect as vp,useMemo as kp,useState as Ai}from"react";var vi=["en","fr","es"];function sa(e){return vi.includes(e)}function $o(e){if(e&&sa(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&sa(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(sa(r))return r;let o=r.split("-")[0];if(o&&sa(o))return o}return"en"}var Sr={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",kindPdf:"PDF",kindImage:"Image",kindFile:"File",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var ki={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Ti={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Wo={en:Sr,fr:Ti,es:ki};import{jsx as Pp}from"react/jsx-runtime";var Pi=Sp(null);function Tp(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function jo({children:e,locale:t,messages:a}){let r=!!(t&&Ap(t)),o=r?t:"en",[n,s]=Ai(o),[i,l]=Ai(r);vp(()=>{s($o(t)),l(!0)},[t]);let u=kp(()=>{let d=Wo[n]??Wo["en"];return{locale:n,t:Tp(d,a),ready:i}},[n,a,i]);return Pp(Pi.Provider,{value:u,children:e})}function Ap(e){return e==="en"||e==="fr"||e==="es"}function se(){let e=bp(Pi);return e||{locale:"en",t:Sr,ready:!0}}function zo(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}var Rp=li({prefix:"ww"});function A(...e){return Rp(ii(e))}import{jsx as Ep}from"react/jsx-runtime";var lt=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Ep("button",{type:r,className:A("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as Mp}from"react";import{jsx as _p}from"react/jsx-runtime";var Fp=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return _p(e,{"data-waniwani-shimmer":"",className:A("ww:inline-block",t),style:s,...n,children:o})},tt=Mp(Fp);tt.displayName="Shimmer";import{Fragment as Ri,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function Np(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function qp({text:e,className:t}){let{t:a}=se(),[r,o]=Go(!1),n=Up(null);Op(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Bp(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return ge(lt,{variant:"ghost",size:"sm",onClick:s,className:A("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:r?Ht(Ri,{children:[ge(ya,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Ri,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Mi({data:e,label:t,className:a,...r}){let[o,n]=Go(!1),s=Vo(()=>JSON.stringify(e,null,2),[e]),i=Np(e);return Ht("div",{className:A("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Ht("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[ge("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),ge(qp,{text:s})]}),Ht("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[ge(La,{className:A("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?ge("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ge("code",{children:s})}):ge("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ko=Dp({open:!1,toggle:()=>{}});function Fi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Go(t);return ge(Ko.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ge("div",{className:A("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function _i({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Ei(Ko),s=a==="input-available"||a==="input-streaming",i=t??"";return Ht("button",{type:"button",onClick:n,className:A("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[ge(qt,{className:"ww:size-4 ww:shrink-0"}),ge("span",{className:"ww:truncate",children:s?ge(tt,{duration:1.6,children:i}):i}),ge(bt,{className:A("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Di({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ge("div",{className:A("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:ge("span",{className:"ww:truncate",children:o?ge(tt,{duration:1.6,children:n}):n})})}function Bi({className:e,children:t,...a}){let{open:r}=Ei(Ko);return ge("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ge("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ge("div",{className:A("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 Xo({className:e,input:t,debug:a,...r}){let{t:o}=se(),n=Vo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ge(Mi,{data:n,label:o.tool.request,className:e,...r})}function Ra(e,t,a){if(e){let r=qo(a?.[e]?._meta);if(r)return r}return qo(Ho(t))}function Oi(e,t,a){return e&&Pa(a?.[e]?._meta)?!0:Pa(Ho(t))}function Qo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=se(),s=Vo(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?Ht("div",{className:A("ww:space-y-2",e),...o,children:[ge("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),ge("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):ge(Mi,{data:s,label:n.tool.response,className:e,...o}):null}var Ui=typeof performance>"u"?0:performance.now(),Ni=typeof window<"u"&&!!window.WaniWani?.chat;function at(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}var Hp="/api/mcp/";function br(e,t){let[a=""]=e.split("?"),r="",o=a;try{let n=new URL(a);r=n.origin,o=n.pathname}catch{if(!a.startsWith("/"))return null}return o.startsWith(Hp)?`${r}${t}`:null}function $p(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ut(...e){$p()&&console.log("[Waniwani]",...e)}var Jo="waniwani-visitor-id";function Wp(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Ge(){try{let t=localStorage.getItem(Jo);if(t)return t}catch{}let e=Wp();try{localStorage.setItem(Jo,e)}catch{}return e}function Yo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(Jo,t)}catch{}return t}function jp(e){return e!=null&&typeof e.then=="function"}function Zo(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return jp(r)?r.then(o=>{t||Yo(o??"")},()=>{}):Yo(r??""),a}var zp="waniwani-memory";var Ke="threads",vr="by_memoryUserId",Vp="by_updatedAt";var Hi="memoryUserId",qi="waniwani-memory-user-id",en=null;function tn(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Gp(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ke)){let a=e.createObjectStore(Ke,{keyPath:"threadId"});a.createIndex(vr,"memoryUserId",{unique:!1}),a.createIndex(Vp,"updatedAt",{unique:!1})}}async function an(){return new Promise((e,t)=>{let a=indexedDB.open(zp,2);a.onupgradeneeded=r=>{Gp(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Kp(){return an()}async function Xp(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Hi);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Qp(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Hi);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Jp(){if(typeof indexedDB>"u")return null;try{let e=await Kp();try{let t=await Xp(e);if(t)return t;let a=tn();return await Qp(e,a),a}finally{e.close()}}catch{return null}}function Yp(){try{let e=localStorage.getItem(qi);if(e)return e;let t=tn();return localStorage.setItem(qi,t),t}catch{return null}}async function $i(){let e=await Jp();if(e)return e;let t=Yp();return t||(en||(en=tn()),en)}function Wi(e,t){return e.match(t)?.[1]??null}function Zp(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,r]of t){let o=Wi(e,r);if(o)return{name:a,version:o}}return null}function em(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,r]of t){let o=Wi(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function tm(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 Ea(){let e=navigator.userAgent,t=Ge(),a=await $i();return{userAgent:e,browser:Zp(e),os:em(e),deviceType:tm(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var am="0.22.0-beta.1",rm=40,om=10,nm=6e5;function on(){return typeof performance>"u"?0:performance.now()}function nn(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=on()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function sm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=rm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>nm||(t[a]=o)}return t}function im(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=om)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function lm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Tr(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function um(e,t,a,r){return{kind:e,sdkVersion:am,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:lm(),tags:im(a),metrics:sm(r)}}var rn,kr=[];function Ar(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";rn=t;let a=kr;if(kr=[],t)for(let r of a)r()}function Pr(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||rn===!1))try{let s=um(e,t,a,r),i=()=>{ut("timing",s),fetch(at(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};rn?i():kr.length<20&&kr.push(i)}catch{}}var wt=nn("boot",0),ji;function $t(e,t){wt.mark(e,t)}function Ma(e){ji??=e}var dm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,cm=/\/embed\.js(\?|$)/;function fm(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&wt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&wt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)dm.test(a.name)?(wt.mark("bundleStart",a.startTime),wt.mark("bundleEnd",a.responseEnd)):cm.test(a.name)&&(wt.mark("loaderStart",a.startTime),wt.mark("loaderEnd",a.responseEnd))}function pm(){if(Ni)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function zi(e){fm(),wt.mark("bundleExecuted",Ui),Pr("boot",e,{configSource:ji,mode:e.mode,secondSdk:pm()},wt.metrics)}var mm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Vi(e){let t=nn("turn",on());t.set("turnIndex",e);let a=!1;return{mark:r=>t.mark(r),instrument(r){if(!r.ok||!r.body||typeof TransformStream>"u")return r;try{let o=new TextDecoder,n=r.body.pipeThrough(new TransformStream({transform(s,i){t.mark("firstChunk");let l=o.decode(s,{stream:!0});for(let[u,d]of mm)!t.has(d)&&l.includes(u)&&t.mark(d);i.enqueue(s)}}));return new Response(n,{status:r.status,statusText:r.statusText,headers:r.headers})}catch{return r}},report(r,o){a||(a=!0,Pr("turn",r,o,t.metrics))}}}function hm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Gi(e,t){let a=nn("widget",on()),r=!1;return{mark:o=>a.mark(o),has:o=>a.has(o),report(o,n){r||(r=!0,a.set("retries",n),t({widget:hm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as gm,useContext as wm,useEffect as Im,useRef as Ki}from"react";var Xi=gm(()=>{});function Qi(){return wm(Xi)}var Ji=Xi.Provider;function xm(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function Yi(e){let t=Ki(e);t.current=e;let a=Ki(!1);Im(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),xm(()=>zi(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as Fm}from"react/jsx-runtime";var Cm="/api/mcp/resource",Sm=500,bm=0,vm=16,km="2026-01-26",Tm=300,Am=3e3,Pm=3,Rm=2e3;function Em(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Mm(e,t,a){return Ra(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fa({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Cm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=Fe(null),L=Fe(t),C=Fe(a),y=Fe({width:0,height:0}),S=Fe(null),I=Fe(!1),x=Fe(0),b=Fe("inline"),[N,U]=Zi(bm),[j,ie]=Zi(void 0),z=Fe(l),G=Fe(u),q=Fe(d),ee=Fe(c),W=Fe(o),Q=Fe(p);L.current=t,C.current=a,z.current=l,G.current=u,q.current=d,ee.current=c,W.current=o,Q.current=p;let E=ym(k=>i?Math.max(k+vm,0):Math.min(Math.max(k,50),Sm),[i]),v=Lm(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),_=Qi(),re=Fe(null),oe=Fe(void 0);Rr(()=>{let k=Gi(e,_);return re.current=k,()=>{clearTimeout(oe.current),k.has("initialized")||k.report("timeout",x.current),re.current=null}},[e,_]);let Pe=Fe(n);Pe.current=n;let Ne=Fe(f);return Rr(()=>{Ne.current=f,y.current.height=-1,S.current&&(S.current.cancel(),S.current=null)},[f]),Rr(()=>{if(!I.current)return;let k=m.current;k?.contentWindow&&k.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Rr(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,ne=null,he=null,Ie=setTimeout(()=>{if(H||$||x.current>=Pm)return;x.current+=1;let X=new URL(k.src);X.searchParams.set("_retry",String(x.current)),k.src=X.toString()},Am),ce=X=>{k.contentWindow?.postMessage(X,"*")},K=X=>{if(H||X.source!==k.contentWindow)return;let pe=X.data;if(!pe||typeof pe!="object"||pe.jsonrpc!=="2.0")return;let Ce=pe.method,le=pe.id;if(Ce==="ui/initialize"&&le!=null){$=!0,re.current?.mark("initialize"),clearTimeout(Ie),ce({jsonrpc:"2.0",id:le,result:{protocolVersion:pe.params?.protocolVersion??km,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Pe.current?"dark":"light",displayMode:b.current}}});return}if(Ce==="ui/notifications/initialized"){I.current=!0,re.current?.mark("initialized"),oe.current=setTimeout(()=>re.current?.report("ok",x.current),Rm);let ae=L.current,te=C.current,Z=te._meta&&typeof te._meta=="object"?te._meta:null,J=Em(W.current),me=Z&&typeof Z.waniwani=="object"&&Z.waniwani!==null?Z.waniwani:null,T=me||J?{...me??{},...J?{sessionId:J}:{}}:void 0,Be=Z||T?{...Z??{},...T?{waniwani:T}:{}}:void 0;ce({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:ae}});let D=te.content??[{type:"text",text:JSON.stringify(te)}];ce({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:D,structuredContent:te.structuredContent,_meta:Be,meta:Be}});return}if(Ce==="ui/notifications/size-changed"){clearTimeout(oe.current),re.current?.mark("firstSize"),re.current?.report("ok",x.current);let ae=pe.params,te=typeof ae?.height=="number"?ae.height:void 0,Z=typeof ae?.width=="number"?ae.width:void 0,J=y.current,me=te!==void 0&&te!==J.height,T=Z!==void 0&&Z!==J.width;if(!me&&!T)return;if(me&&te!==void 0){if(J.height=te,Ne.current)return;let Be=E(te),D=k.getBoundingClientRect().height;if(S.current&&(S.current.cancel(),S.current=null),U(Be),k.animate&&Math.abs(D-Be)>2){let R=k.animate([{height:`${D}px`},{height:`${Be}px`}],{duration:Tm,easing:"ease-out",fill:"forwards"});S.current=R,R.onfinish=()=>{S.current===R&&(R.cancel(),S.current=null)}}}T&&i&&Z!==void 0&&(J.width=Z,ie(Z));return}if(Ce==="ui/open-link"&&le!=null){let ae=pe.params?.url;typeof ae=="string"&&(z.current?z.current(ae):window.open(ae,"_blank","noopener,noreferrer")),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/message"&&le!=null){if(G.current&&pe.params){let ae=pe.params,te=ne;if(ne=null,he){clearTimeout(he.timer);let Z=he.text;he=null;let J=(ae.content??[]).map(me=>me.text??"").join("").trim();ae={...ae,content:[{type:"text",text:`${J}
|
|
2
|
+
import{a as si,b as ii,c as li,d as ui,e as di,f as yr,g as ci,h as fi,i as pi,j as mi,k as Uo,l as hi,m as ta,n as aa,o as Lr,p as ra,u as wa}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as ym,useEffect as Rr,useMemo as Lm,useRef as Fe,useState as Yi}from"react";function Nt(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 gi(e,t){return!Nt(e)&&!Nt(t)?null:Nt(e)?Nt(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{forwardRef as op,createElement as np}from"react";var Cr=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var wi=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Ii=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var No=e=>{let t=Ii(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as rp,createElement as Li}from"react";var xi={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var yi=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Ci=rp(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Li("svg",{ref:l,...xi,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Cr("lucide",o),...!n&&!yi(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Li(u,d)),...Array.isArray(n)?n:[n]]));var de=(e,t)=>{let a=op(({className:r,...o},n)=>np(Ci,{ref:n,iconNode:t,className:Cr(`lucide-${wi(No(e))}`,`lucide-${e}`,r),...o}));return a.displayName=No(e),a};var sp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ia=de("arrow-down",sp);var ip=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],xa=de("arrow-up",ip);var lp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ya=de("check",lp);var up=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bt=de("chevron-down",up);var dp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],La=de("chevron-right",dp);var cp=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ca=de("clipboard-copy",cp);var fp=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gt=de("clock",fp);var pp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Sa=de("file-text",pp);var mp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],oa=de("file",mp);var hp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],ba=de("globe",hp);var gp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],va=de("image",gp);var wp=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],ka=de("loader",wp);var Ip=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],na=de("paperclip",Ip);var xp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ta=de("square",xp);var yp=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],qt=de("wrench",yp);var Lp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vt=de("x",Lp);var Cp=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Aa=de("zap",Cp);import{createContext as Dp,useCallback as Bp,useContext as Ri,useEffect as Op,useMemo as Go,useRef as Up,useState as Ko}from"react";function qo(e){if(!(typeof e!="object"||e===null))return e}function Si(e){return qo(e?.ui)}function Ho(e){if(!e)return;let t=Si(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Pa(e){return Si(e)?.autoHeight===!0}function $o(e){return qo(qo(e)?._meta)}import{createContext as Sp,useContext as bp,useEffect as vp,useMemo as kp,useState as Ti}from"react";var bi=["en","fr","es"];function sa(e){return bi.includes(e)}function Wo(e){if(e&&sa(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&sa(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(sa(r))return r;let o=r.split("-")[0];if(o&&sa(o))return o}return"en"}var Sr={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",kindPdf:"PDF",kindImage:"Image",kindFile:"File",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var vi={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var ki={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var jo={en:Sr,fr:ki,es:vi};import{jsx as Pp}from"react/jsx-runtime";var Ai=Sp(null);function Tp(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function zo({children:e,locale:t,messages:a}){let r=!!(t&&Ap(t)),o=r?t:"en",[n,s]=Ti(o),[i,l]=Ti(r);vp(()=>{s(Wo(t)),l(!0)},[t]);let u=kp(()=>{let d=jo[n]??jo["en"];return{locale:n,t:Tp(d,a),ready:i}},[n,a,i]);return Pp(Ai.Provider,{value:u,children:e})}function Ap(e){return e==="en"||e==="fr"||e==="es"}function se(){let e=bp(Ai);return e||{locale:"en",t:Sr,ready:!0}}function Vo(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}var Rp=ii({prefix:"ww"});function A(...e){return Rp(si(e))}import{jsx as Ep}from"react/jsx-runtime";var lt=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Ep("button",{type:r,className:A("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as Mp}from"react";import{jsx as _p}from"react/jsx-runtime";var Fp=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return _p(e,{"data-waniwani-shimmer":"",className:A("ww:inline-block",t),style:s,...n,children:o})},tt=Mp(Fp);tt.displayName="Shimmer";import{Fragment as Pi,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function Np(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function qp({text:e,className:t}){let{t:a}=se(),[r,o]=Ko(!1),n=Up(null);Op(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Bp(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return ge(lt,{variant:"ghost",size:"sm",onClick:s,className:A("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:r?Ht(Pi,{children:[ge(ya,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Pi,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Ei({data:e,label:t,className:a,...r}){let[o,n]=Ko(!1),s=Go(()=>JSON.stringify(e,null,2),[e]),i=Np(e);return Ht("div",{className:A("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Ht("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[ge("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),ge(qp,{text:s})]}),Ht("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[ge(La,{className:A("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?ge("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ge("code",{children:s})}):ge("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Xo=Dp({open:!1,toggle:()=>{}});function Mi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Ko(t);return ge(Xo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ge("div",{className:A("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function Fi({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Ri(Xo),s=a==="input-available"||a==="input-streaming",i=t??"";return Ht("button",{type:"button",onClick:n,className:A("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[ge(qt,{className:"ww:size-4 ww:shrink-0"}),ge("span",{className:"ww:truncate",children:s?ge(tt,{duration:1.6,children:i}):i}),ge(bt,{className:A("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function _i({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ge("div",{className:A("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:ge("span",{className:"ww:truncate",children:o?ge(tt,{duration:1.6,children:n}):n})})}function Di({className:e,children:t,...a}){let{open:r}=Ri(Xo);return ge("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ge("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ge("div",{className:A("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 Qo({className:e,input:t,debug:a,...r}){let{t:o}=se(),n=Go(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ge(Ei,{data:n,label:o.tool.request,className:e,...r})}function Ra(e,t,a){if(e){let r=Ho(a?.[e]?._meta);if(r)return r}return Ho($o(t))}function Bi(e,t,a){return e&&Pa(a?.[e]?._meta)?!0:Pa($o(t))}function Jo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=se(),s=Go(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?Ht("div",{className:A("ww:space-y-2",e),...o,children:[ge("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),ge("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):ge(Ei,{data:s,label:n.tool.response,className:e,...o}):null}var Oi=typeof performance>"u"?0:performance.now(),Ui=typeof window<"u"&&!!window.WaniWani?.chat;function at(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}var Hp="/api/mcp/";function br(e,t){let[a=""]=e.split("?"),r="",o=a;try{let n=new URL(a);r=n.origin,o=n.pathname}catch{if(!a.startsWith("/"))return null}return o.startsWith(Hp)?`${r}${t}`:null}function $p(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ut(...e){$p()&&console.log("[Waniwani]",...e)}var Yo="waniwani-visitor-id";function Wp(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Ge(){try{let t=localStorage.getItem(Yo);if(t)return t}catch{}let e=Wp();try{localStorage.setItem(Yo,e)}catch{}return e}function Zo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(Yo,t)}catch{}return t}function jp(e){return e!=null&&typeof e.then=="function"}function en(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return jp(r)?r.then(o=>{t||Zo(o??"")},()=>{}):Zo(r??""),a}var zp="waniwani-memory";var Ke="threads",vr="by_memoryUserId",Vp="by_updatedAt";var qi="memoryUserId",Ni="waniwani-memory-user-id",tn=null;function an(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Gp(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ke)){let a=e.createObjectStore(Ke,{keyPath:"threadId"});a.createIndex(vr,"memoryUserId",{unique:!1}),a.createIndex(Vp,"updatedAt",{unique:!1})}}async function rn(){return new Promise((e,t)=>{let a=indexedDB.open(zp,2);a.onupgradeneeded=r=>{Gp(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Kp(){return rn()}async function Xp(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(qi);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Qp(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,qi);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Jp(){if(typeof indexedDB>"u")return null;try{let e=await Kp();try{let t=await Xp(e);if(t)return t;let a=an();return await Qp(e,a),a}finally{e.close()}}catch{return null}}function Yp(){try{let e=localStorage.getItem(Ni);if(e)return e;let t=an();return localStorage.setItem(Ni,t),t}catch{return null}}async function Hi(){let e=await Jp();if(e)return e;let t=Yp();return t||(tn||(tn=an()),tn)}function $i(e,t){return e.match(t)?.[1]??null}function Zp(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,r]of t){let o=$i(e,r);if(o)return{name:a,version:o}}return null}function em(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,r]of t){let o=$i(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function tm(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 Ea(){let e=navigator.userAgent,t=Ge(),a=await Hi();return{userAgent:e,browser:Zp(e),os:em(e),deviceType:tm(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var am="0.22.0-beta.2",rm=40,om=10,nm=6e5;function nn(){return typeof performance>"u"?0:performance.now()}function sn(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=nn()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function sm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=rm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>nm||(t[a]=o)}return t}function im(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=om)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function lm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Tr(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function um(e,t,a,r){return{kind:e,sdkVersion:am,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:lm(),tags:im(a),metrics:sm(r)}}var on,kr=[];function Ar(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";on=t;let a=kr;if(kr=[],t)for(let r of a)r()}function Pr(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||on===!1))try{let s=um(e,t,a,r),i=()=>{ut("timing",s),fetch(at(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};on?i():kr.length<20&&kr.push(i)}catch{}}var wt=sn("boot",0),Wi;function $t(e,t){wt.mark(e,t)}function Ma(e){Wi??=e}var dm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,cm=/\/embed\.js(\?|$)/;function fm(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&wt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&wt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)dm.test(a.name)?(wt.mark("bundleStart",a.startTime),wt.mark("bundleEnd",a.responseEnd)):cm.test(a.name)&&(wt.mark("loaderStart",a.startTime),wt.mark("loaderEnd",a.responseEnd))}function pm(){if(Ui)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function ji(e){fm(),wt.mark("bundleExecuted",Oi),Pr("boot",e,{configSource:Wi,mode:e.mode,secondSdk:pm()},wt.metrics)}var mm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function zi(e){let t=sn("turn",nn());t.set("turnIndex",e);let a=!1;return{mark:r=>t.mark(r),instrument(r){if(!r.ok||!r.body||typeof TransformStream>"u")return r;try{let o=new TextDecoder,n=r.body.pipeThrough(new TransformStream({transform(s,i){t.mark("firstChunk");let l=o.decode(s,{stream:!0});for(let[u,d]of mm)!t.has(d)&&l.includes(u)&&t.mark(d);i.enqueue(s)}}));return new Response(n,{status:r.status,statusText:r.statusText,headers:r.headers})}catch{return r}},report(r,o){a||(a=!0,Pr("turn",r,o,t.metrics))}}}function hm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Vi(e,t){let a=sn("widget",nn()),r=!1;return{mark:o=>a.mark(o),has:o=>a.has(o),report(o,n){r||(r=!0,a.set("retries",n),t({widget:hm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as gm,useContext as wm,useEffect as Im,useRef as Gi}from"react";var Ki=gm(()=>{});function Xi(){return wm(Ki)}var Qi=Ki.Provider;function xm(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function Ji(e){let t=Gi(e);t.current=e;let a=Gi(!1);Im(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),xm(()=>ji(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as Fm}from"react/jsx-runtime";var Cm="/api/mcp/resource",Sm=500,bm=0,vm=16,km="2026-01-26",Tm=300,Am=3e3,Pm=3,Rm=2e3;function Em(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Mm(e,t,a){return Ra(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fa({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Cm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=Fe(null),L=Fe(t),C=Fe(a),y=Fe({width:0,height:0}),S=Fe(null),I=Fe(!1),x=Fe(0),b=Fe("inline"),[N,U]=Yi(bm),[j,ie]=Yi(void 0),z=Fe(l),G=Fe(u),q=Fe(d),ee=Fe(c),W=Fe(o),Q=Fe(p);L.current=t,C.current=a,z.current=l,G.current=u,q.current=d,ee.current=c,W.current=o,Q.current=p;let E=ym(k=>i?Math.max(k+vm,0):Math.min(Math.max(k,50),Sm),[i]),v=Lm(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),_=Xi(),re=Fe(null),oe=Fe(void 0);Rr(()=>{let k=Vi(e,_);return re.current=k,()=>{clearTimeout(oe.current),k.has("initialized")||k.report("timeout",x.current),re.current=null}},[e,_]);let Pe=Fe(n);Pe.current=n;let Ne=Fe(f);return Rr(()=>{Ne.current=f,y.current.height=-1,S.current&&(S.current.cancel(),S.current=null)},[f]),Rr(()=>{if(!I.current)return;let k=m.current;k?.contentWindow&&k.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Rr(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,ne=null,he=null,Ie=setTimeout(()=>{if(H||$||x.current>=Pm)return;x.current+=1;let X=new URL(k.src);X.searchParams.set("_retry",String(x.current)),k.src=X.toString()},Am),ce=X=>{k.contentWindow?.postMessage(X,"*")},K=X=>{if(H||X.source!==k.contentWindow)return;let pe=X.data;if(!pe||typeof pe!="object"||pe.jsonrpc!=="2.0")return;let Ce=pe.method,le=pe.id;if(Ce==="ui/initialize"&&le!=null){$=!0,re.current?.mark("initialize"),clearTimeout(Ie),ce({jsonrpc:"2.0",id:le,result:{protocolVersion:pe.params?.protocolVersion??km,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Pe.current?"dark":"light",displayMode:b.current}}});return}if(Ce==="ui/notifications/initialized"){I.current=!0,re.current?.mark("initialized"),oe.current=setTimeout(()=>re.current?.report("ok",x.current),Rm);let ae=L.current,te=C.current,Z=te._meta&&typeof te._meta=="object"?te._meta:null,J=Em(W.current),me=Z&&typeof Z.waniwani=="object"&&Z.waniwani!==null?Z.waniwani:null,T=me||J?{...me??{},...J?{sessionId:J}:{}}:void 0,Be=Z||T?{...Z??{},...T?{waniwani:T}:{}}:void 0;ce({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:ae}});let D=te.content??[{type:"text",text:JSON.stringify(te)}];ce({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:D,structuredContent:te.structuredContent,_meta:Be,meta:Be}});return}if(Ce==="ui/notifications/size-changed"){clearTimeout(oe.current),re.current?.mark("firstSize"),re.current?.report("ok",x.current);let ae=pe.params,te=typeof ae?.height=="number"?ae.height:void 0,Z=typeof ae?.width=="number"?ae.width:void 0,J=y.current,me=te!==void 0&&te!==J.height,T=Z!==void 0&&Z!==J.width;if(!me&&!T)return;if(me&&te!==void 0){if(J.height=te,Ne.current)return;let Be=E(te),D=k.getBoundingClientRect().height;if(S.current&&(S.current.cancel(),S.current=null),U(Be),k.animate&&Math.abs(D-Be)>2){let R=k.animate([{height:`${D}px`},{height:`${Be}px`}],{duration:Tm,easing:"ease-out",fill:"forwards"});S.current=R,R.onfinish=()=>{S.current===R&&(R.cancel(),S.current=null)}}}T&&i&&Z!==void 0&&(J.width=Z,ie(Z));return}if(Ce==="ui/open-link"&&le!=null){let ae=pe.params?.url;typeof ae=="string"&&(z.current?z.current(ae):window.open(ae,"_blank","noopener,noreferrer")),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/message"&&le!=null){if(G.current&&pe.params){let ae=pe.params,te=ne;if(ne=null,he){clearTimeout(he.timer);let Z=he.text;he=null;let J=(ae.content??[]).map(me=>me.text??"").join("").trim();ae={...ae,content:[{type:"text",text:`${J}
|
|
3
3
|
|
|
4
|
-
${Z}`}]}}G.current({...ae,...te?{modelContext:te}:{}})}ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/update-model-context"&&le!=null){ne=wi(ne,pe.params),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="tools/call"&&le!=null){let ae=q.current;if(!ae){ce({jsonrpc:"2.0",id:le,error:{code:-32601,message:"tools/call not supported"}});return}let te=pe.params?.name;ae({name:te,arguments:pe.params?.arguments??{}}).then(Z=>{ce({jsonrpc:"2.0",id:le,result:Z});let J=Z.content?.map(me=>me.text??"").join("").trim();J&&Mm(te,Z,Q.current)&&(he&&clearTimeout(he.timer),he={text:J,timer:setTimeout(()=>{if(H)return;let me=ne;ne=null,he=null,G.current?.({role:"user",content:[{type:"text",text:J}],...me?{modelContext:me}:{}})},500)})}).catch(Z=>{let J=Z instanceof Error?Z.message:"Tool call failed";ce({jsonrpc:"2.0",id:le,error:{code:-32e3,message:J}})});return}if(Ce==="ui/request-display-mode"&&le!=null){let ae=pe.params?.mode,te=ae==="fullscreen"||ae==="inline"||ae==="pip"?ae:"inline";b.current=te,ce({jsonrpc:"2.0",id:le,result:{mode:te}}),ce({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:te}}),ee.current?.(te);return}if(Ce==="ui/resource-teardown"&&le!=null){ce({jsonrpc:"2.0",id:le,result:{}});return}Ce==="ping"&&le!=null&&ce({jsonrpc:"2.0",id:le,result:{}})};return window.addEventListener("message",K),()=>{H=!0,clearTimeout(Ie),he&&clearTimeout(he.timer),window.removeEventListener("message",K)}},[i,E]),Fm("iframe",{ref:m,src:v,onLoad:()=>re.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:A(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":N,minWidth:f||!j?void 0:`min(${j}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as _m,useEffect as sn,useState as Dm}from"react";import{jsx as ln,jsxs as Om}from"react/jsx-runtime";var el=672,tl=32;function Bm({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=Dm(null);sn(()=>{let p=()=>l({width:window.innerWidth,height:window.innerHeight});return p(),window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);let u=e?.preview===!0;sn(()=>{if(!e||!u)return;let p=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,u,n]),sn(()=>{if(!e)return;let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p}},[e]);let d=_m(async p=>{if(t)return t(p);if(!a)throw new Error("webmcp overlay needs onCallTool");let m=await fetch(a,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...p})});if(!m.ok)throw new Error(`webmcp tool call failed: ${m.status}`);return await m.json()},[t,a,r]);if(!e)return null;let c=i?Math.min(el,i.width-tl):el,f=i?i.height-tl:void 0;return Om("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:A("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",s&&"dark"),children:[u&&ln("button",{type:"button","aria-label":"Close",onClick:n,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),ln("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:f},children:ln(Fa,{resourceUri:e.viewUri,resourceEndpoint:o,toolInput:e.data,toolResult:e.result,autoHeight:Pa(e.result._meta),isDark:s,onCallTool:d,onOpenLink:p=>window.open(p,"_blank","noopener")},`${o}|${e.viewUri}`)})]})}import{forwardRef as ec,useCallback as Za,useEffect as xt,useImperativeHandle as Sx,useRef as _t,useState as Co}from"react";var _a=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");import{createContext as $m,useCallback as We,useContext as Wm,useEffect as Da,useMemo as jm,useRef as kt,useState as cn}from"react";var Wt=new Map;function al(e,t){if(Wt.has(e)){URL.revokeObjectURL(t);return}for(Wt.set(e,t);Wt.size>20;){let a=Wt.keys().next();if(a.done)return;let r=Wt.get(a.value);Wt.delete(a.value),r&&URL.revokeObjectURL(r)}}function rl(e){return Wt.get(e)}import{useState as Um}from"react";import{jsx as _e,jsxs as un}from"react/jsx-runtime";var ol=({files:e,className:t,...a})=>e.length===0?null:_e("div",{className:A("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>_e(Nm,{file:r},o))});function Nm({file:e}){let{t}=se();return e.mediaType?.startsWith("image/")&&e.url?_e("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):un("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[_e(oa,{className:"ww:size-3 ww:shrink-0"}),_e("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function nl(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function qm({mediaType:e}){return e.startsWith("image/")?_e(va,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?_e(Sa,{className:"ww:size-5 ww:text-muted-foreground"}):_e(oa,{className:"ww:size-5 ww:text-muted-foreground"})}function dn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=se(),l=nl(t,i);return un("li",{"aria-label":`${e}, ${l}`,className:A("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[_e("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?_e("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):_e(qm,{mediaType:t})}),un("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[_e("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),_e("span",{className:A("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function sl(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var il=({documents:e,className:t,...a})=>e.length===0?null:_e("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>_e(Hm,{document:r},`${r.documentId}-${o}`))});function Hm({document:e}){let{t}=se(),[a,r]=Um(!1),o=e.mediaType.startsWith("image/")?rl(e.documentId):void 0;return o&&!a?_e("li",{children:_e("img",{alt:`${e.filename}, ${nl(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):_e(dn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Re,jsxs as Mr}from"react/jsx-runtime";var zm=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Vm=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},ul=$m(null),Er=()=>{let e=Wm(ul);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},dl=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:L}=se(),C=kt(null),y=kt(null),[S,I]=cn([]),x=kt(S),b=kt(new Map),N=kt(l),U=kt(d),j=kt(u);Da(()=>{N.current=l,U.current=d,j.current=u},[l,d,u]);let ie=We(k=>{x.current=k,I(k)},[]),z=We(()=>{C.current?.click()},[]),G=We((k,H)=>{ie(x.current.map($=>$.id===k?{...$,...H}:$))},[ie]),q=We((k,H)=>{let $=N.current;if(!$)return;let ne=new AbortController,he=$(H,ne.signal,Ie=>{G(k,{progress:Ie})}).then(Ie=>(G(k,{status:"ready",progress:1,documentId:Ie.documentId,error:void 0}),Ie)).catch(Ie=>{if(ne.signal.aborted)return null;let ce=Ie instanceof Error?Ie.message:m.promptInput.uploadFailed;return G(k,{status:"failed",error:ce}),U.current?.({code:"upload_failed",message:ce}),null});b.current.set(k,{file:H,controller:ne,done:he})},[G,m]),ee=We(k=>{let H=[...k];if(!i||H.length===0)return;let $=(X,pe)=>U.current?.({code:X,message:pe}),ne=[];for(let X of H){if(!Vm(X,t)){$("accept",m.promptInput.errorAccept.replace("{name}",X.name));continue}if(n&&X.size>n){$("max_file_size",m.promptInput.errorTooLarge.replace("{name}",X.name).replace("{limit}",cl(n,L)));continue}ne.push(X)}if(ne.length===0)return;let he=typeof o=="number"?Math.max(0,o-x.current.length):void 0,Ie=typeof he=="number"?ne.slice(0,he):ne;if(Ie.length<ne.length&&$("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),Ie.length===0)return;let ce=!!N.current,K=Ie.map(X=>({file:X,item:{filename:X.name,id:_a(),mediaType:X.type,type:"file",url:URL.createObjectURL(X),status:ce?"uploading":"ready",progress:0}}));ie([...x.current,...K.map(X=>X.item)]);for(let X of K)q(X.item.id,X.file)},[o,n,t,i,q,ie,m,L]),W=We(k=>{let H=b.current.get(k);H&&(G(k,{status:"uploading",progress:0,error:void 0}),q(k,H.file))},[G,q]),Q=We((k,H)=>{b.current.get(k.id)?.controller.abort(),b.current.delete(k.id),k.url&&(!H&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?al(k.documentId,k.url):URL.revokeObjectURL(k.url)),H&&k.documentId&&j.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),E=We(k=>{let H=x.current.find($=>$.id===k);H&&Q(H,!0),ie(x.current.filter($=>$.id!==k))},[Q,ie]),v=We(()=>{for(let k of x.current)Q(k,!0);ie([])},[Q,ie]),_=kt(i);Da(()=>{let k=_.current;_.current=i,k&&!i&&v()},[i,v]);let re=We(()=>{for(let k of x.current)Q(k,!1);ie([])},[Q,ie]);Da(()=>()=>{for(let k of x.current)b.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let oe=We(k=>{k.currentTarget.files&&ee(k.currentTarget.files),k.currentTarget.value=""},[ee]);Da(()=>{if(!r)return;let k=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault()},H=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault(),$.dataTransfer?.files&&$.dataTransfer.files.length>0&&ee($.dataTransfer.files)};return document.addEventListener("dragover",k),document.addEventListener("drop",H),()=>{document.removeEventListener("dragover",k),document.removeEventListener("drop",H)}},[ee,r]);let Pe=We(async k=>{k.preventDefault();let H=k.currentTarget,$=new FormData(H).get("message")||"",ne=new Map;for(;ne.size<b.current.size;)await Promise.all([...b.current.entries()].filter(([K])=>!ne.has(K)).map(async([K,X])=>{ne.set(K,await X.done)}));for(let K of ne.keys())b.current.has(K)||ne.delete(K);if([...ne.values()].some(K=>K===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let he=[...ne.values()].filter(K=>K!==null),Ie=N.current?[]:x.current,ce=await Promise.all(Ie.map(async({id:K,status:X,progress:pe,error:Ce,...le})=>{if(le.url?.startsWith("blob:")){let ae=await zm(le.url);return{...le,url:ae??le.url}}return le}));try{let K=c({documents:he,files:ce,text:$},k);K instanceof Promise&&await K,H.reset(),re()}catch{}},[c,re,m]),Ne=jm(()=>({add:ee,clear:v,files:S,openFileDialog:z,remove:E,retry:W,maxFileSize:n,maxPdfPages:s}),[S,ee,E,W,v,z,n,s]);return Mr(ul.Provider,{value:Ne,children:[Re("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:oe,ref:C,title:m.promptInput.uploadFiles,type:"file"}),Re("form",{className:A("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Pe,ref:y,...p,children:f})]})},ll=1024*1024;function cl(e,t){let a=e>=ll;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ll:Math.max(1,e/1024))}var fl=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=se(),s=Er(),[i,l]=cn(!1),u=r??n.promptInput.placeholder,d=We(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('[data-submit-blocked="true"]')||p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),c=We(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let C=L.getAsFile();C&&m.push(C)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Re("textarea",{className:A("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:d,onPaste:c,placeholder:u,onChange:e,...o})},pl=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=se(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Re(xa,{className:"ww:size-4"});t==="submitted"?d=Re(ka,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Re(Ta,{className:"ww:size-4"}));let c=We(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Re(lt,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:A("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),"data-submit-blocked":n?"true":void 0,disabled:u?!1:n,onClick:c,size:"icon-sm",type:u?"button":"submit",variant:"ghost",...s,children:o??d})},ml=({className:e,children:t,...a})=>{let{t:r,locale:o}=se(),n=Er();if(n.files.length>0)return Mr(lt,{className:A("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Re("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:n.files.length}),Re(vt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",cl(n.maxFileSize,o)):r.promptInput.uploadFiles;return Re(lt,{"aria-label":i,className:A(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Re(na,{className:"ww:size-4"})})},hl=({className:e,...t})=>{let a=Er();return a.files.length===0?null:Re("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Re(Gm,{file:r},r.id))})};function Gm({file:e}){let{t}=se(),a=Er(),r=e.status==="failed",o=e.status==="uploading";return Mr(dn,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?Re("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,Re("button",{"aria-label":t.promptInput.removeAttachment,className:A("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:Re(vt,{className:"ww:size-3.5"})}),o?Re("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var gl=({enabled:e=!0})=>{let{t}=se(),[a,r]=cn(!1);return Da(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?Re("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Mr("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Re(na,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as Km}from"react/jsx-runtime";function wl({text:e}){let{t}=se();return e===!1?null:Km("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{memo as Xm,useCallback as Qm}from"react";import{jsx as la}from"react/jsx-runtime";var Il=({className:e,...t})=>la("div",{className:A("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),xl=({className:e,...t})=>la("li",{className:A("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),yl=({className:e,...t})=>la("span",{className:A("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Ll=({className:e,...t})=>la("span",{className:A("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Cl=({className:e,...t})=>la("div",{className:A("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Sl=({className:e,...t})=>la(lt,{className:A("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Tt,jsxs as kl}from"react/jsx-runtime";var bl=Xm(({message:e,onRemove:t})=>{let{t:a}=se(),r=Qm(()=>t(e.id),[t,e.id]);return kl(xl,{children:[Tt(yl,{}),Tt(Ll,{children:e.text||a.chatQueue.attachmentFallback}),Tt(Cl,{children:Tt(Sl,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Tt(vt,{className:"ww:size-3"})})})]})});bl.displayName="ChatQueueItem";function vl({queuedMessages:e,onRemove:t,className:a}){let{t:r}=se();return e.length===0?null:kl(Il,{className:A("ww:border-t ww:border-border",a),children:[Tt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Tt("ul",{children:e.map(o=>Tt(bl,{message:o,onRemove:t},o.id))})]})}import{createContext as nh,useCallback as sh,useContext as ih,useEffect as lh,useMemo as uh,useState as hn}from"react";import{createContext as Jm,memo as mn,useCallback as Ym,useContext as Zm,useEffect as fn,useMemo as eh,useRef as Tl,useState as pn}from"react";import{Fragment as rh,jsx as rt,jsxs as oh}from"react/jsx-runtime";var Al=Jm(null);function Pl(){let e=Zm(Al);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var th=1e3,ah=1e3,Ba=mn(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=pn(l),p=d?a:c,m=Ym(U=>{d||f(U),o?.(U)},[d,o]),[L,C]=pn(void 0),y=n??L,S=Tl(t),[I,x]=pn(!1),b=Tl(null);fn(()=>{t?(S.current=!0,b.current===null&&(b.current=Date.now())):b.current!==null&&(C(Math.ceil((Date.now()-b.current)/ah)),b.current=null)},[t]),fn(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),fn(()=>{if(S.current&&!t&&p&&!I){let U=setTimeout(()=>{m(!1),x(!0)},th);return()=>clearTimeout(U)}},[t,p,I,m]);let N=eh(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:y}),[t,p,m,y]);return rt(Al.Provider,{value:N,children:rt("div",{className:A("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Ba.displayName="Reasoning";var Oa=mn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=se(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Pl(),f=a??((p,m)=>p||m===0?rt(tt,{duration:1.6,children:s.reasoning.thinking}):m===void 0?rt("span",{children:s.reasoning.thoughtBrief}):rt("span",{children:s.reasoning.thoughtForSeconds(m)}));return rt("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:A("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??oh(rh,{children:[!r&&rt(gt,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Oa.displayName="ReasoningTrigger";var Ua=mn(({className:e,children:t,...a})=>{let{isOpen:r}=Pl();return rt("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:rt("div",{className:"ww:min-h-0 ww:overflow-hidden",children:rt("div",{className:A("ww:text-sm ww:text-muted-foreground",e),...a,children:rt(wa,{children:t})})})})});Ua.displayName="ReasoningContent";import{jsx as xe,jsxs as At}from"react/jsx-runtime";var dh=500,Rl=nh(null);function El(){let e=ih(Rl);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ml({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=hn(o),c=l?r:u,f=sh(C=>{l||d(C),n?.(C)},[l,n]),[p,m]=hn(!t);lh(()=>{if(t){m(!1);return}let C=setTimeout(()=>m(!0),dh);return()=>clearTimeout(C)},[t]);let L=uh(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return xe(Rl.Provider,{value:L,children:xe("div",{className:A("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Fl({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=El();if(!l){let d=u?.icon,c=u?.label??a??t??"";return xe("div",{className:A("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:At("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[d&&xe(d,{className:A("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),xe("span",{className:"ww:truncate",children:i?xe(tt,{duration:2.6,children:c}):c})]},c)})}return At("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:A("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[xe("span",{className:"ww:truncate",children:r??t}),xe(bt,{className:A("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function _l({className:e,children:t,...a}){let{open:r}=El();return xe("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:xe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:xe("div",{className:A("ww:flex ww:flex-col",e),...a,children:t})})})}function Dl({icon:e,isLast:t,running:a,error:r}){return At("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[xe("span",{className:"ww:flex ww:h-5 ww:items-center",children:xe(e,{className:A("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&xe("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function gn({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[d,c]=hn(!1),f=a??"",p=i?xe(tt,{duration:1.6,children:f}):xe("span",{className:"ww:truncate",children:f});return At("div",{className:A("ww:flex ww:gap-2",e),...s,children:[xe(Dl,{icon:t,isLast:o,running:i,error:l}),At("div",{className:A("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?At("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,xe(bt,{className:A("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):xe("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&xe("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:xe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:xe("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function Bl({isStreaming:e=!1,isLast:t=!1,children:a}){return At("div",{className:"ww:flex ww:gap-2",children:[xe(Dl,{icon:gt,isLast:t,running:e}),xe("div",{className:A("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:At(Ba,{isStreaming:e,className:"ww:mb-0",children:[xe(Oa,{hideIcon:!0}),xe(Ua,{children:a})]})})]})}var Oe={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var dt={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Xe={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function Ol(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ul(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Nl(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function ql(e){return Ol(e)?"ambiguous":Ul(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":Nl(e)?"wide":"neutral"}function ch(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Hl(e){return ch(e),ql(e)}var fh=Object.defineProperty,ph=(e,t,a)=>t in e?fh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,mh=(e,t,a)=>ph(e,typeof t!="symbol"?t+"":t,a);function hh(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function gh(e){if(!e||e<4352)return!1;switch(Hl(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!hh(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function wh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Ih(e){return e!==null&&e>=65024&&e<=65038}var xh=$l(/\p{P}|\p{S}/u),yh=$l(/\s/);function $l(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Qe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Qe||(Qe={}));function Pt(e){if(e===Oe.eof||gi(e)||yh(e))return dt.characterGroupWhitespace;let t=0;if(e>=4352){if(Ih(e))return Qe.nonEmojiGeneralUseVS;switch(gh(e)){case null:return Qe.ivs;case!0:t|=Qe.cjk;break}}return xh(e)&&(t|=dt.characterGroupPunctuation),t}function Fr(e,t,a){if(!Ch(e))return e;let r=t(),o=Pt(r);return!r||jt(o)?e:wh(r,a)?Qe.cjkPunctuation:Lh(o)}function Lh(e){return e&~Qe.ivs}function jt(e){return!!(e&dt.characterGroupWhitespace)}function ua(e){return(e&Qe.cjkPunctuation)===dt.characterGroupPunctuation}function Na(e){return!!(e&Qe.cjk)}function Wl(e){return e===Qe.ivs}function jl(e){return!!(e&Qe.cjkOrIvs)}function Ch(e){return e===Qe.nonEmojiGeneralUseVS}function wn(e){return!!(e&Qe.spaceOrPunctuation)}function _r(e){return!!(e&&e>=55296&&e<=56319)}function Dr(e){return!!(e&&e>=56320&&e<=57343)}function Br(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function Sh(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Or=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,mh(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Sh(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ur(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var In={name:"attention",resolveAll:bh,tokenize:vh};function bh(e,t){let a=-1,r,o,n,s,i,l,u,d;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let c={...e[r][1].end},f={...e[a][1].start};zl(c,-l),zl(f,l),s={type:l>1?Xe.strongSequence:Xe.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Xe.strongSequence:Xe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Xe.strongText:Xe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Xe.strong:Xe.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=aa(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=aa(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=aa(u,Lr(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=aa(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=aa(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,ta(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function vh(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Dr(n)?Br(n,r(),o):n,i=Pt(s),l=new Or(s,r(),o),u=Fr(i,l.value.bind(l),s),d;return c;function c(p){return p===Oe.asterisk||Oe.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),L=_r(p)?Ur(p,r(),o):p,C=Pt(L);let y=ua(u),S=y||jt(u),I=ua(C),x=I||jt(C),b=jl(u),N=!x||I&&(S||b)||a.includes(p),U=!S||y&&(x||Na(C))||a.includes(s);return m._open=!!(d===Oe.asterisk?N:N&&(wn(u)||!U)),m._close=!!(d===Oe.asterisk?U:U&&(wn(C)||!N)),t(p)}}function zl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Vl(){return{text:{[Oe.asterisk]:In,[Oe.underscore]:In},insideSpan:{null:[In]}}}function Gl(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Vl())}function Kl(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Oe.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Oe.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&ta(f,f.length,0,Lr(p,s.slice(u+1,l),i)),ta(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),ta(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Xe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Dr(c)?Br(c,u(),d):c,p=Pt(f),m=new Or(f,u(),d),L=Fr(p,m.value.bind(m),f),C=this.events,y=0;return S;function S(x){return Oe.tilde,f===Oe.tilde&&C[C.length-1][1].type!==Xe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),I(x))}function I(x){let b=Pt(f);if(x===Oe.tilde)return y>1?l(x):(s.consume(x),y++,I);if(y<2&&!a)return l(x);let N=s.exit("strikethroughSequenceTemporary"),U=_r(x)?Ur(x,u(),d):x,j=Pt(U),z=ua(L)||jt(L),q=ua(j)||jt(j),ee=Na(L)||Wl(b);return N._open=!q||j===dt.attentionSideAfter&&(z||ee),N._close=!z||b===dt.attentionSideAfter&&(q||Na(j)),i(x)}}}function Xl(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Kl(e))}var kh=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Th=/^(https?:\/\/|mailto:|www\.)/i,Ah=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Ph=e=>{let t=0;for(let a of e){if(kh.has(a))return t;t+=a.length}return null},Rh=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Eh=e=>({type:"text",value:e}),Mh=()=>e=>{ui(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Ah(t)||!Th.test(t.url))return;let o=Ph(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Rh(n,t),l=Eh(s);return r.children.splice(a,1,i,l),a+1})};function Fh(){let e=[Gl],t=[Mh,Xl],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var xn=Fh();var Se=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function _h(e){return Pn(e)}function Pn(e){return Array.isArray(e)?Dh(e):e instanceof RegExp?e:typeof e=="object"?Bh(e):e}function Dh(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Pn(e[a]);return t}function Bh(e){let t={};for(let a in e)t[a]=Pn(e[a]);return t}function ou(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function nu(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?nu(e.substring(0,e.length-1)):e.substr(~t+1)}var yn=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Nr=class{static hasCaptures(e){return e===null?!1:(yn.lastIndex=0,yn.test(e))}static replaceCaptures(e,t,a){return e.replace(yn,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function su(e,t){return e<t?-1:e>t?1:0}function iu(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=su(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ql(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function lu(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var uu=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},$a=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Nh(e),t)}static createFromParsedTheme(e,t){return Hh(e,t)}_cachedMatchRoot=new uu(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>Oh(e.parent,o.parentScopes));return r?new du(r.fontStyle,r.foreground,r.background):null}},Ln=class qr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new qr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new qr(a,t[r]);return a}push(t){return new qr(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Oh(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Uh(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Uh(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var du=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Nh(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ql(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Ql(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),L=m[m.length-1],C=null;m.length>1&&(C=m.slice(0,m.length-1),C.reverse()),a[r++]=new qh(L,C,o,l,u,d)}}return a}var qh=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Ue=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Ue||{});function Hh(e,t){e.sort((l,u)=>{let d=su(l.scope,u.scope);return d!==0||(d=iu(l.parentScopes,u.parentScopes),d!==0)?d:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new $h(t),s=new du(a,n.getId(r),n.getId(o)),i=new jh(new Sn(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new $a(n,s,i)}var $h=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Wh=Object.freeze([]),Sn=class cu{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Wh,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new cu(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},jh=class bn{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(bn._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new bn(this._mainRule.clone(),Sn.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(iu(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Sn(t,a,r,o,n))}},Vt=class Ye{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ye.getLanguageId(t),r=Ye.getTokenType(t),o=Ye.getFontStyle(t),n=Ye.getForeground(t),s=Ye.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Ye.getLanguageId(t),u=Ye.getTokenType(t),d=Ye.containsBalancedBrackets(t)?1:0,c=Ye.getFontStyle(t),f=Ye.getForeground(t),p=Ye.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function $r(e,t){let a=[],r=zh(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Jl(o)){let l=[];do l.push(o),o=r.next();while(Jl(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Jl(e){return!!e&&!!e.match(/[\w\.:]+/)}function zh(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function fu(e){typeof e.dispose=="function"&&e.dispose()}var Wa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Vh=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Gh=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Kh=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Wa(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Gh;for(let a of e)Xh(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Wa){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Xh(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Wa?Hr({baseGrammar:n,selfGrammar:o},r):vn(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Wa(i))}function vn(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Wr([r],t,a)}}function Hr(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ou({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Wr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=pu(n);switch(s.kind){case 0:Hr({...t,selfGrammar:t.baseGrammar},a);break;case 1:Hr(t,a);break;case 2:vn(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?vn(s.ruleName,l,a):Hr(l,a)}else s.kind===4?a.add(new Vh(s.scopeName,s.ruleName)):a.add(new Wa(s.scopeName));break}}}var Qh=class{kind=0},Jh=class{kind=1},Yh=class{constructor(e){this.ruleName=e}kind=2},Zh=class{constructor(e){this.scopeName=e}kind=3},eg=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function pu(e){if(e==="$base")return new Qh;if(e==="$self")return new Jh;let t=e.indexOf("#");if(t===-1)return new Zh(e);if(t===0)return new Yh(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new eg(a,r)}}var tg=/\\(\d+)/,Yl=/\\(\d+)/g;var ag=-1,mu=-2;var Va=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Nr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Nr.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${nu(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Nr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Nr.replaceCaptures(this._contentName,e,t)}},rg=class extends Va{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},og=class extends Va{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ja(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new za,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Zl=class extends Va{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new za,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},kn=class extends Va{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new ja(o,this.id),this.beginCaptures=n,this._end=new ja(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new za;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},jr=class extends Va{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new ja(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ja(s,mu),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new za;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new za,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},hu=class qe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new rg(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new og(t.$vscodeTextmateLocation,t.id,t.name,t.match,qe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ou({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Zl(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,qe._compilePatterns(n,a,r))}return t.while?new jr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,qe._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,qe._compileCaptures(t.whileCaptures||t.captures,a,r),qe._compilePatterns(t.patterns,a,r)):new kn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,qe._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,qe._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,qe._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=qe.getCompiledRuleId(t[s],a,r)),o[i]=qe.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=pu(i.include);switch(u.kind){case 0:case 1:l=qe.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=qe.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=qe.getCompiledRuleId(m,a,p.repository))}else l=qe.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=qe.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Zl||u instanceof kn||u instanceof jr)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ja=class gu{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=tg.test(this.source):this.hasBackReferences=!1}clone(){return new gu(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return Yl.lastIndex=0,this.source.replace(Yl,(o,n)=>lu(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},za=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new eu(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new eu(e,r,this._items.map(o=>o.ruleId))}},eu=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
5
|
-
`)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},
|
|
6
|
-
`;let n=this.createOnigString(e),s=n.content.length,i=new wg(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Iu(this,n,o,0,t,i,!0,r);return fu(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ru(e,t){return e=_h(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Ha=class ct{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=Ln.push(o,n.scopeNames),r=new ct(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new ct(null,new Ln(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Ln(null,t),s=r.themeProvider.themeMatch(n),i=ct.mergeAttributes(a,o,s);return new ct(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return ct.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),Vt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return ct._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=ct._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=ct.mergeAttributes(t.tokenAttributes,o,s);return new ct(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},An=class zt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new zt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:zt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Ha.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){zt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new zt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new zt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=Ha.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new zt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Ha.fromExtension(r,a.contentNameScopesList))}},gg=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):$r(a,zr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>$r(a,zr).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},wg=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=Vt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=Vt.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},Ig=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,pg(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Lu=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Ig($a.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme($a.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new gg(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Kh(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},Vr=An.NULL;var xg=/["&'<>`]/g,yg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Lg=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Cg=/[|\\{}()[\]^$+*?.]/g,Cu=new WeakMap;function Su(e,t){if(e=e.replace(t.subset?Sg(t.subset):xg,r),t.subset||t.escapeOnly)return e;return e.replace(yg,a).replace(Lg,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function Sg(e){let t=Cu.get(e);return t||(t=bg(e),Cu.set(e,t)),t}function bg(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Cg,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var vg=/[\dA-Fa-f]/;function bu(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!vg.test(String.fromCharCode(t))?r:r+";"}var kg=/\d/;function vu(e,t,a){let r="&#"+String(e);return a&&t&&!kg.test(String.fromCharCode(t))?r:r+";"}var ku=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Gr={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Tu=["cent","copy","divide","gt","lt","not","para","times"];var Au={}.hasOwnProperty,Rn={},Kr;for(Kr in Gr)Au.call(Gr,Kr)&&(Rn[Gr[Kr]]=Kr);var Tg=/[^\dA-Za-z]/;function Pu(e,t,a,r){let o=String.fromCharCode(e);if(Au.call(Rn,o)){let n=Rn[o],s="&"+n;return a&&ku.includes(n)&&!Tu.includes(n)&&(!r||t&&t!==61&&Tg.test(String.fromCharCode(t)))?s:s+";"}return""}function Ru(e,t,a){let r=bu(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Pu(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=vu(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function It(e,t){return Su(e,Object.assign({format:Ru},t))}var Ag=/^>|^->|<!--|-->|--!>|<!-$/g,Pg=[">"],Rg=["<",">"];function Eu(e,t,a,r){return r.settings.bogusComments?"<?"+It(e.value,Object.assign({},r.settings.characterReferences,{subset:Pg}))+">":"<!--"+e.value.replace(Ag,o)+"-->";function o(n){return It(n,Object.assign({},r.settings.characterReferences,{subset:Rg}))}}function Mu(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Ae=Fu(1),En=Fu(-1),Eg=[];function Fu(e){return t;function t(a,r,o){let n=a?a.children:Eg,s=(r||0)+e,i=n[s];if(!o)for(;i&&ra(i);)s+=e,i=n[s];return i}}var Mg={}.hasOwnProperty;function Xr(e){return t;function t(a,r,o){return Mg.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Ga=Xr({body:_g,caption:Mn,colgroup:Mn,dd:Ug,dt:Og,head:Mn,html:Fg,li:Bg,optgroup:Ng,option:qg,p:Dg,rp:_u,rt:_u,tbody:$g,td:Du,tfoot:Wg,th:Du,thead:Hg,tr:jg});function Mn(e,t,a){let r=Ae(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ra(r.value.charAt(0)))}function Fg(e,t,a){let r=Ae(a,t);return!r||r.type!=="comment"}function _g(e,t,a){let r=Ae(a,t);return!r||r.type!=="comment"}function Dg(e,t,a){let r=Ae(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function Bg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Og(e,t,a){let r=Ae(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Ug(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function _u(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Ng(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function qg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Hg(e,t,a){let r=Ae(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function $g(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Wg(e,t,a){return!Ae(a,t)}function jg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Du(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Bu=Xr({body:Gg,colgroup:Kg,head:Vg,html:zg,tbody:Xg});function zg(e){let t=Ae(e,-1);return!t||t.type!=="comment"}function Vg(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function Gg(e){let t=Ae(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ra(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Kg(e,t,a){let r=En(a,t),o=Ae(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Ga(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Xg(e,t,a){let r=En(a,t),o=Ae(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Ga(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Qr={name:[[`
|
|
4
|
+
${Z}`}]}}G.current({...ae,...te?{modelContext:te}:{}})}ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/update-model-context"&&le!=null){ne=gi(ne,pe.params),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="tools/call"&&le!=null){let ae=q.current;if(!ae){ce({jsonrpc:"2.0",id:le,error:{code:-32601,message:"tools/call not supported"}});return}let te=pe.params?.name;ae({name:te,arguments:pe.params?.arguments??{}}).then(Z=>{ce({jsonrpc:"2.0",id:le,result:Z});let J=Z.content?.map(me=>me.text??"").join("").trim();J&&Mm(te,Z,Q.current)&&(he&&clearTimeout(he.timer),he={text:J,timer:setTimeout(()=>{if(H)return;let me=ne;ne=null,he=null,G.current?.({role:"user",content:[{type:"text",text:J}],...me?{modelContext:me}:{}})},500)})}).catch(Z=>{let J=Z instanceof Error?Z.message:"Tool call failed";ce({jsonrpc:"2.0",id:le,error:{code:-32e3,message:J}})});return}if(Ce==="ui/request-display-mode"&&le!=null){let ae=pe.params?.mode,te=ae==="fullscreen"||ae==="inline"||ae==="pip"?ae:"inline";b.current=te,ce({jsonrpc:"2.0",id:le,result:{mode:te}}),ce({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:te}}),ee.current?.(te);return}if(Ce==="ui/resource-teardown"&&le!=null){ce({jsonrpc:"2.0",id:le,result:{}});return}Ce==="ping"&&le!=null&&ce({jsonrpc:"2.0",id:le,result:{}})};return window.addEventListener("message",K),()=>{H=!0,clearTimeout(Ie),he&&clearTimeout(he.timer),window.removeEventListener("message",K)}},[i,E]),Fm("iframe",{ref:m,src:v,onLoad:()=>re.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:A(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":N,minWidth:f||!j?void 0:`min(${j}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as _m,useEffect as ln,useState as Dm}from"react";import{jsx as un,jsxs as Om}from"react/jsx-runtime";var Zi=672,el=32;function Bm({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=Dm(null);ln(()=>{let p=()=>l({width:window.innerWidth,height:window.innerHeight});return p(),window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);let u=e?.preview===!0;ln(()=>{if(!e||!u)return;let p=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,u,n]),ln(()=>{if(!e)return;let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p}},[e]);let d=_m(async p=>{if(t)return t(p);if(!a)throw new Error("webmcp overlay needs onCallTool");let m=await fetch(a,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...p})});if(!m.ok)throw new Error(`webmcp tool call failed: ${m.status}`);return await m.json()},[t,a,r]);if(!e)return null;let c=i?Math.min(Zi,i.width-el):Zi,f=i?i.height-el:void 0;return Om("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:A("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",s&&"dark"),children:[u&&un("button",{type:"button","aria-label":"Close",onClick:n,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),un("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:f},children:un(Fa,{resourceUri:e.viewUri,resourceEndpoint:o,toolInput:e.data,toolResult:e.result,autoHeight:Pa(e.result._meta),isDark:s,onCallTool:d,onOpenLink:p=>window.open(p,"_blank","noopener")},`${o}|${e.viewUri}`)})]})}import{forwardRef as Zd,useCallback as Za,useEffect as xt,useImperativeHandle as Sx,useRef as _t,useState as Co}from"react";var _a=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");import{createContext as $m,useCallback as We,useContext as Wm,useEffect as Da,useMemo as jm,useRef as kt,useState as fn}from"react";var Wt=new Map;function tl(e,t){if(Wt.has(e)){URL.revokeObjectURL(t);return}for(Wt.set(e,t);Wt.size>20;){let a=Wt.keys().next();if(a.done)return;let r=Wt.get(a.value);Wt.delete(a.value),r&&URL.revokeObjectURL(r)}}function al(e){return Wt.get(e)}import{useState as Um}from"react";import{jsx as _e,jsxs as dn}from"react/jsx-runtime";var rl=({files:e,className:t,...a})=>e.length===0?null:_e("div",{className:A("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>_e(Nm,{file:r},o))});function Nm({file:e}){let{t}=se();return e.mediaType?.startsWith("image/")&&e.url?_e("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):dn("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[_e(oa,{className:"ww:size-3 ww:shrink-0"}),_e("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function ol(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function qm({mediaType:e}){return e.startsWith("image/")?_e(va,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?_e(Sa,{className:"ww:size-5 ww:text-muted-foreground"}):_e(oa,{className:"ww:size-5 ww:text-muted-foreground"})}function cn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=se(),l=ol(t,i);return dn("li",{"aria-label":`${e}, ${l}`,className:A("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[_e("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?_e("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):_e(qm,{mediaType:t})}),dn("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[_e("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),_e("span",{className:A("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function nl(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var sl=({documents:e,className:t,...a})=>e.length===0?null:_e("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>_e(Hm,{document:r},`${r.documentId}-${o}`))});function Hm({document:e}){let{t}=se(),[a,r]=Um(!1),o=e.mediaType.startsWith("image/")?al(e.documentId):void 0;return o&&!a?_e("li",{children:_e("img",{alt:`${e.filename}, ${ol(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):_e(cn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Re,jsxs as Mr}from"react/jsx-runtime";var zm=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Vm=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},ll=$m(null),Er=()=>{let e=Wm(ll);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ul=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:L}=se(),C=kt(null),y=kt(null),[S,I]=fn([]),x=kt(S),b=kt(new Map),N=kt(l),U=kt(d),j=kt(u);Da(()=>{N.current=l,U.current=d,j.current=u},[l,d,u]);let ie=We(k=>{x.current=k,I(k)},[]),z=We(()=>{C.current?.click()},[]),G=We((k,H)=>{ie(x.current.map($=>$.id===k?{...$,...H}:$))},[ie]),q=We((k,H)=>{let $=N.current;if(!$)return;let ne=new AbortController,he=$(H,ne.signal,Ie=>{G(k,{progress:Ie})}).then(Ie=>(G(k,{status:"ready",progress:1,documentId:Ie.documentId,error:void 0}),Ie)).catch(Ie=>{if(ne.signal.aborted)return null;let ce=Ie instanceof Error?Ie.message:m.promptInput.uploadFailed;return G(k,{status:"failed",error:ce}),U.current?.({code:"upload_failed",message:ce}),null});b.current.set(k,{file:H,controller:ne,done:he})},[G,m]),ee=We(k=>{let H=[...k];if(!i||H.length===0)return;let $=(X,pe)=>U.current?.({code:X,message:pe}),ne=[];for(let X of H){if(!Vm(X,t)){$("accept",m.promptInput.errorAccept.replace("{name}",X.name));continue}if(n&&X.size>n){$("max_file_size",m.promptInput.errorTooLarge.replace("{name}",X.name).replace("{limit}",dl(n,L)));continue}ne.push(X)}if(ne.length===0)return;let he=typeof o=="number"?Math.max(0,o-x.current.length):void 0,Ie=typeof he=="number"?ne.slice(0,he):ne;if(Ie.length<ne.length&&$("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),Ie.length===0)return;let ce=!!N.current,K=Ie.map(X=>({file:X,item:{filename:X.name,id:_a(),mediaType:X.type,type:"file",url:URL.createObjectURL(X),status:ce?"uploading":"ready",progress:0}}));ie([...x.current,...K.map(X=>X.item)]);for(let X of K)q(X.item.id,X.file)},[o,n,t,i,q,ie,m,L]),W=We(k=>{let H=b.current.get(k);H&&(G(k,{status:"uploading",progress:0,error:void 0}),q(k,H.file))},[G,q]),Q=We((k,H)=>{b.current.get(k.id)?.controller.abort(),b.current.delete(k.id),k.url&&(!H&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?tl(k.documentId,k.url):URL.revokeObjectURL(k.url)),H&&k.documentId&&j.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),E=We(k=>{let H=x.current.find($=>$.id===k);H&&Q(H,!0),ie(x.current.filter($=>$.id!==k))},[Q,ie]),v=We(()=>{for(let k of x.current)Q(k,!0);ie([])},[Q,ie]),_=kt(i);Da(()=>{let k=_.current;_.current=i,k&&!i&&v()},[i,v]);let re=We(()=>{for(let k of x.current)Q(k,!1);ie([])},[Q,ie]);Da(()=>()=>{for(let k of x.current)b.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let oe=We(k=>{k.currentTarget.files&&ee(k.currentTarget.files),k.currentTarget.value=""},[ee]);Da(()=>{if(!r)return;let k=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault()},H=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault(),$.dataTransfer?.files&&$.dataTransfer.files.length>0&&ee($.dataTransfer.files)};return document.addEventListener("dragover",k),document.addEventListener("drop",H),()=>{document.removeEventListener("dragover",k),document.removeEventListener("drop",H)}},[ee,r]);let Pe=We(async k=>{k.preventDefault();let H=k.currentTarget,$=new FormData(H).get("message")||"",ne=new Map;for(;ne.size<b.current.size;)await Promise.all([...b.current.entries()].filter(([K])=>!ne.has(K)).map(async([K,X])=>{ne.set(K,await X.done)}));for(let K of ne.keys())b.current.has(K)||ne.delete(K);if([...ne.values()].some(K=>K===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let he=[...ne.values()].filter(K=>K!==null),Ie=N.current?[]:x.current,ce=await Promise.all(Ie.map(async({id:K,status:X,progress:pe,error:Ce,...le})=>{if(le.url?.startsWith("blob:")){let ae=await zm(le.url);return{...le,url:ae??le.url}}return le}));try{let K=c({documents:he,files:ce,text:$},k);K instanceof Promise&&await K,H.reset(),re()}catch{}},[c,re,m]),Ne=jm(()=>({add:ee,clear:v,files:S,openFileDialog:z,remove:E,retry:W,maxFileSize:n,maxPdfPages:s}),[S,ee,E,W,v,z,n,s]);return Mr(ll.Provider,{value:Ne,children:[Re("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:oe,ref:C,title:m.promptInput.uploadFiles,type:"file"}),Re("form",{className:A("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Pe,ref:y,...p,children:f})]})},il=1024*1024;function dl(e,t){let a=e>=il;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/il:Math.max(1,e/1024))}var cl=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=se(),s=Er(),[i,l]=fn(!1),u=r??n.promptInput.placeholder,d=We(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('[data-submit-blocked="true"]')||p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),c=We(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let C=L.getAsFile();C&&m.push(C)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Re("textarea",{className:A("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:d,onPaste:c,placeholder:u,onChange:e,...o})},fl=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=se(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Re(xa,{className:"ww:size-4"});t==="submitted"?d=Re(ka,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Re(Ta,{className:"ww:size-4"}));let c=We(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Re(lt,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:A("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),"data-submit-blocked":n?"true":void 0,disabled:u?!1:n,onClick:c,size:"icon-sm",type:u?"button":"submit",variant:"ghost",...s,children:o??d})},pl=({className:e,children:t,...a})=>{let{t:r,locale:o}=se(),n=Er();if(n.files.length>0)return Mr(lt,{className:A("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Re("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:n.files.length}),Re(vt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",dl(n.maxFileSize,o)):r.promptInput.uploadFiles;return Re(lt,{"aria-label":i,className:A(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Re(na,{className:"ww:size-4"})})},ml=({className:e,...t})=>{let a=Er();return a.files.length===0?null:Re("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Re(Gm,{file:r},r.id))})};function Gm({file:e}){let{t}=se(),a=Er(),r=e.status==="failed",o=e.status==="uploading";return Mr(cn,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?Re("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,Re("button",{"aria-label":t.promptInput.removeAttachment,className:A("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:Re(vt,{className:"ww:size-3.5"})}),o?Re("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var hl=({enabled:e=!0})=>{let{t}=se(),[a,r]=fn(!1);return Da(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?Re("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Mr("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Re(na,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as Km}from"react/jsx-runtime";function gl({text:e}){let{t}=se();return e===!1?null:Km("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{memo as Xm,useCallback as Qm}from"react";import{jsx as la}from"react/jsx-runtime";var wl=({className:e,...t})=>la("div",{className:A("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Il=({className:e,...t})=>la("li",{className:A("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),xl=({className:e,...t})=>la("span",{className:A("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),yl=({className:e,...t})=>la("span",{className:A("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ll=({className:e,...t})=>la("div",{className:A("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Cl=({className:e,...t})=>la(lt,{className:A("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Tt,jsxs as vl}from"react/jsx-runtime";var Sl=Xm(({message:e,onRemove:t})=>{let{t:a}=se(),r=Qm(()=>t(e.id),[t,e.id]);return vl(Il,{children:[Tt(xl,{}),Tt(yl,{children:e.text||a.chatQueue.attachmentFallback}),Tt(Ll,{children:Tt(Cl,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Tt(vt,{className:"ww:size-3"})})})]})});Sl.displayName="ChatQueueItem";function bl({queuedMessages:e,onRemove:t,className:a}){let{t:r}=se();return e.length===0?null:vl(wl,{className:A("ww:border-t ww:border-border",a),children:[Tt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Tt("ul",{children:e.map(o=>Tt(Sl,{message:o,onRemove:t},o.id))})]})}import{createContext as nh,useCallback as sh,useContext as ih,useEffect as lh,useMemo as uh,useState as gn}from"react";import{createContext as Jm,memo as hn,useCallback as Ym,useContext as Zm,useEffect as pn,useMemo as eh,useRef as kl,useState as mn}from"react";import{Fragment as rh,jsx as rt,jsxs as oh}from"react/jsx-runtime";var Tl=Jm(null);function Al(){let e=Zm(Tl);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var th=1e3,ah=1e3,Ba=hn(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=mn(l),p=d?a:c,m=Ym(U=>{d||f(U),o?.(U)},[d,o]),[L,C]=mn(void 0),y=n??L,S=kl(t),[I,x]=mn(!1),b=kl(null);pn(()=>{t?(S.current=!0,b.current===null&&(b.current=Date.now())):b.current!==null&&(C(Math.ceil((Date.now()-b.current)/ah)),b.current=null)},[t]),pn(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),pn(()=>{if(S.current&&!t&&p&&!I){let U=setTimeout(()=>{m(!1),x(!0)},th);return()=>clearTimeout(U)}},[t,p,I,m]);let N=eh(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:y}),[t,p,m,y]);return rt(Tl.Provider,{value:N,children:rt("div",{className:A("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Ba.displayName="Reasoning";var Oa=hn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=se(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Al(),f=a??((p,m)=>p||m===0?rt(tt,{duration:1.6,children:s.reasoning.thinking}):m===void 0?rt("span",{children:s.reasoning.thoughtBrief}):rt("span",{children:s.reasoning.thoughtForSeconds(m)}));return rt("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:A("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??oh(rh,{children:[!r&&rt(gt,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Oa.displayName="ReasoningTrigger";var Ua=hn(({className:e,children:t,...a})=>{let{isOpen:r}=Al();return rt("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:rt("div",{className:"ww:min-h-0 ww:overflow-hidden",children:rt("div",{className:A("ww:text-sm ww:text-muted-foreground",e),...a,children:rt(wa,{children:t})})})})});Ua.displayName="ReasoningContent";import{jsx as xe,jsxs as At}from"react/jsx-runtime";var dh=500,Pl=nh(null);function Rl(){let e=ih(Pl);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function El({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=gn(o),c=l?r:u,f=sh(C=>{l||d(C),n?.(C)},[l,n]),[p,m]=gn(!t);lh(()=>{if(t){m(!1);return}let C=setTimeout(()=>m(!0),dh);return()=>clearTimeout(C)},[t]);let L=uh(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return xe(Pl.Provider,{value:L,children:xe("div",{className:A("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ml({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Rl();if(!l){let d=u?.icon,c=u?.label??a??t??"";return xe("div",{className:A("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:At("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[d&&xe(d,{className:A("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),xe("span",{className:"ww:truncate",children:i?xe(tt,{duration:2.6,children:c}):c})]},c)})}return At("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:A("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[xe("span",{className:"ww:truncate",children:r??t}),xe(bt,{className:A("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Fl({className:e,children:t,...a}){let{open:r}=Rl();return xe("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:xe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:xe("div",{className:A("ww:flex ww:flex-col",e),...a,children:t})})})}function _l({icon:e,isLast:t,running:a,error:r}){return At("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[xe("span",{className:"ww:flex ww:h-5 ww:items-center",children:xe(e,{className:A("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&xe("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function wn({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[d,c]=gn(!1),f=a??"",p=i?xe(tt,{duration:1.6,children:f}):xe("span",{className:"ww:truncate",children:f});return At("div",{className:A("ww:flex ww:gap-2",e),...s,children:[xe(_l,{icon:t,isLast:o,running:i,error:l}),At("div",{className:A("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?At("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,xe(bt,{className:A("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):xe("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&xe("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:xe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:xe("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function Dl({isStreaming:e=!1,isLast:t=!1,children:a}){return At("div",{className:"ww:flex ww:gap-2",children:[xe(_l,{icon:gt,isLast:t,running:e}),xe("div",{className:A("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:At(Ba,{isStreaming:e,className:"ww:mb-0",children:[xe(Oa,{hideIcon:!0}),xe(Ua,{children:a})]})})]})}var Oe={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var dt={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Xe={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function Bl(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ol(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Ul(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Nl(e){return Bl(e)?"ambiguous":Ol(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":Ul(e)?"wide":"neutral"}function ch(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ql(e){return ch(e),Nl(e)}var fh=Object.defineProperty,ph=(e,t,a)=>t in e?fh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,mh=(e,t,a)=>ph(e,typeof t!="symbol"?t+"":t,a);function hh(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function gh(e){if(!e||e<4352)return!1;switch(ql(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!hh(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function wh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Ih(e){return e!==null&&e>=65024&&e<=65038}var xh=Hl(/\p{P}|\p{S}/u),yh=Hl(/\s/);function Hl(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Qe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Qe||(Qe={}));function Pt(e){if(e===Oe.eof||hi(e)||yh(e))return dt.characterGroupWhitespace;let t=0;if(e>=4352){if(Ih(e))return Qe.nonEmojiGeneralUseVS;switch(gh(e)){case null:return Qe.ivs;case!0:t|=Qe.cjk;break}}return xh(e)&&(t|=dt.characterGroupPunctuation),t}function Fr(e,t,a){if(!Ch(e))return e;let r=t(),o=Pt(r);return!r||jt(o)?e:wh(r,a)?Qe.cjkPunctuation:Lh(o)}function Lh(e){return e&~Qe.ivs}function jt(e){return!!(e&dt.characterGroupWhitespace)}function ua(e){return(e&Qe.cjkPunctuation)===dt.characterGroupPunctuation}function Na(e){return!!(e&Qe.cjk)}function $l(e){return e===Qe.ivs}function Wl(e){return!!(e&Qe.cjkOrIvs)}function Ch(e){return e===Qe.nonEmojiGeneralUseVS}function In(e){return!!(e&Qe.spaceOrPunctuation)}function _r(e){return!!(e&&e>=55296&&e<=56319)}function Dr(e){return!!(e&&e>=56320&&e<=57343)}function Br(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function Sh(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Or=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,mh(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Sh(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ur(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var xn={name:"attention",resolveAll:bh,tokenize:vh};function bh(e,t){let a=-1,r,o,n,s,i,l,u,d;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let c={...e[r][1].end},f={...e[a][1].start};jl(c,-l),jl(f,l),s={type:l>1?Xe.strongSequence:Xe.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Xe.strongSequence:Xe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Xe.strongText:Xe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Xe.strong:Xe.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=aa(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=aa(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=aa(u,Lr(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=aa(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=aa(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,ta(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function vh(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Dr(n)?Br(n,r(),o):n,i=Pt(s),l=new Or(s,r(),o),u=Fr(i,l.value.bind(l),s),d;return c;function c(p){return p===Oe.asterisk||Oe.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),L=_r(p)?Ur(p,r(),o):p,C=Pt(L);let y=ua(u),S=y||jt(u),I=ua(C),x=I||jt(C),b=Wl(u),N=!x||I&&(S||b)||a.includes(p),U=!S||y&&(x||Na(C))||a.includes(s);return m._open=!!(d===Oe.asterisk?N:N&&(In(u)||!U)),m._close=!!(d===Oe.asterisk?U:U&&(In(C)||!N)),t(p)}}function jl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function zl(){return{text:{[Oe.asterisk]:xn,[Oe.underscore]:xn},insideSpan:{null:[xn]}}}function Vl(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(zl())}function Gl(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Oe.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Oe.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&ta(f,f.length,0,Lr(p,s.slice(u+1,l),i)),ta(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),ta(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Xe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Dr(c)?Br(c,u(),d):c,p=Pt(f),m=new Or(f,u(),d),L=Fr(p,m.value.bind(m),f),C=this.events,y=0;return S;function S(x){return Oe.tilde,f===Oe.tilde&&C[C.length-1][1].type!==Xe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),I(x))}function I(x){let b=Pt(f);if(x===Oe.tilde)return y>1?l(x):(s.consume(x),y++,I);if(y<2&&!a)return l(x);let N=s.exit("strikethroughSequenceTemporary"),U=_r(x)?Ur(x,u(),d):x,j=Pt(U),z=ua(L)||jt(L),q=ua(j)||jt(j),ee=Na(L)||$l(b);return N._open=!q||j===dt.attentionSideAfter&&(z||ee),N._close=!z||b===dt.attentionSideAfter&&(q||Na(j)),i(x)}}}function Kl(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Gl(e))}var kh=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Th=/^(https?:\/\/|mailto:|www\.)/i,Ah=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Ph=e=>{let t=0;for(let a of e){if(kh.has(a))return t;t+=a.length}return null},Rh=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Eh=e=>({type:"text",value:e}),Mh=()=>e=>{li(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Ah(t)||!Th.test(t.url))return;let o=Ph(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Rh(n,t),l=Eh(s);return r.children.splice(a,1,i,l),a+1})};function Fh(){let e=[Vl],t=[Mh,Kl],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var yn=Fh();var Se=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function _h(e){return Rn(e)}function Rn(e){return Array.isArray(e)?Dh(e):e instanceof RegExp?e:typeof e=="object"?Bh(e):e}function Dh(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Rn(e[a]);return t}function Bh(e){let t={};for(let a in e)t[a]=Rn(e[a]);return t}function ru(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function ou(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ou(e.substring(0,e.length-1)):e.substr(~t+1)}var Ln=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Nr=class{static hasCaptures(e){return e===null?!1:(Ln.lastIndex=0,Ln.test(e))}static replaceCaptures(e,t,a){return e.replace(Ln,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function nu(e,t){return e<t?-1:e>t?1:0}function su(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=nu(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Xl(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function iu(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var lu=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},$a=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Nh(e),t)}static createFromParsedTheme(e,t){return Hh(e,t)}_cachedMatchRoot=new lu(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>Oh(e.parent,o.parentScopes));return r?new uu(r.fontStyle,r.foreground,r.background):null}},Cn=class qr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new qr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new qr(a,t[r]);return a}push(t){return new qr(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Oh(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Uh(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Uh(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var uu=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Nh(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Xl(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Xl(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),L=m[m.length-1],C=null;m.length>1&&(C=m.slice(0,m.length-1),C.reverse()),a[r++]=new qh(L,C,o,l,u,d)}}return a}var qh=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Ue=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Ue||{});function Hh(e,t){e.sort((l,u)=>{let d=nu(l.scope,u.scope);return d!==0||(d=su(l.parentScopes,u.parentScopes),d!==0)?d:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new $h(t),s=new uu(a,n.getId(r),n.getId(o)),i=new jh(new bn(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new $a(n,s,i)}var $h=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Wh=Object.freeze([]),bn=class du{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Wh,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new du(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},jh=class vn{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(vn._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new vn(this._mainRule.clone(),bn.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(su(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new bn(t,a,r,o,n))}},Vt=class Ye{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ye.getLanguageId(t),r=Ye.getTokenType(t),o=Ye.getFontStyle(t),n=Ye.getForeground(t),s=Ye.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Ye.getLanguageId(t),u=Ye.getTokenType(t),d=Ye.containsBalancedBrackets(t)?1:0,c=Ye.getFontStyle(t),f=Ye.getForeground(t),p=Ye.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function $r(e,t){let a=[],r=zh(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Ql(o)){let l=[];do l.push(o),o=r.next();while(Ql(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Ql(e){return!!e&&!!e.match(/[\w\.:]+/)}function zh(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function cu(e){typeof e.dispose=="function"&&e.dispose()}var Wa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Vh=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Gh=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Kh=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Wa(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Gh;for(let a of e)Xh(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Wa){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Xh(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Wa?Hr({baseGrammar:n,selfGrammar:o},r):kn(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Wa(i))}function kn(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Wr([r],t,a)}}function Hr(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ru({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Wr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=fu(n);switch(s.kind){case 0:Hr({...t,selfGrammar:t.baseGrammar},a);break;case 1:Hr(t,a);break;case 2:kn(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?kn(s.ruleName,l,a):Hr(l,a)}else s.kind===4?a.add(new Vh(s.scopeName,s.ruleName)):a.add(new Wa(s.scopeName));break}}}var Qh=class{kind=0},Jh=class{kind=1},Yh=class{constructor(e){this.ruleName=e}kind=2},Zh=class{constructor(e){this.scopeName=e}kind=3},eg=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function fu(e){if(e==="$base")return new Qh;if(e==="$self")return new Jh;let t=e.indexOf("#");if(t===-1)return new Zh(e);if(t===0)return new Yh(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new eg(a,r)}}var tg=/\\(\d+)/,Jl=/\\(\d+)/g;var ag=-1,pu=-2;var Va=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Nr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Nr.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ou(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Nr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Nr.replaceCaptures(this._contentName,e,t)}},rg=class extends Va{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},og=class extends Va{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ja(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new za,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Yl=class extends Va{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new za,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Tn=class extends Va{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new ja(o,this.id),this.beginCaptures=n,this._end=new ja(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new za;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},jr=class extends Va{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new ja(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ja(s,pu),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new za;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new za,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},mu=class qe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new rg(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new og(t.$vscodeTextmateLocation,t.id,t.name,t.match,qe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ru({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Yl(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,qe._compilePatterns(n,a,r))}return t.while?new jr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,qe._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,qe._compileCaptures(t.whileCaptures||t.captures,a,r),qe._compilePatterns(t.patterns,a,r)):new Tn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,qe._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,qe._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,qe._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=qe.getCompiledRuleId(t[s],a,r)),o[i]=qe.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=fu(i.include);switch(u.kind){case 0:case 1:l=qe.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=qe.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=qe.getCompiledRuleId(m,a,p.repository))}else l=qe.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=qe.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Yl||u instanceof Tn||u instanceof jr)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ja=class hu{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=tg.test(this.source):this.hasBackReferences=!1}clone(){return new hu(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return Jl.lastIndex=0,this.source.replace(Jl,(o,n)=>iu(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},za=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new Zl(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new Zl(e,r,this._items.map(o=>o.ruleId))}},Zl=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
5
|
+
`)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Sn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ng=class An{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Sn(t,8),this._embeddedLanguagesMatcher=new sg(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?An._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Sn(0,0);_getBasicScopeAttributes=new lu(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Sn(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(An.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},sg=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,r])=>iu(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},tk={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},gu=!1,eu=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function wu(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=ig(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new eu(o,!0);f()}return new eu(o,!1);function f(){let p=lg(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,C=m&&m.length>0?m[0].end>r:!1;if(L===ag){let y=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),qa(e,t,a,o,n,y.endCaptures,m),n.produce(o,m[0].end);let S=o;if(o=o.parent,d=S.getAnchorPos(),!C&&S.getEnterPos()===r){o=S,n.produce(o,l),u=!0;return}}else{let y=e.getRule(L);n.produce(o,m[0].start);let S=o,I=y.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(I,e);if(o=o.push(L,r,d,m[0].end===l,null,x,x),y instanceof Tn){let b=y;qa(e,t,a,o,n,b.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=b.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),b.endHasBackReferences&&(o=o.withEndRule(b.getEndWithResolvedBackReferences(t.content,m))),!C&&S.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(y instanceof jr){let b=y;qa(e,t,a,o,n,b.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=b.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),b.whileHasBackReferences&&(o=o.withEndRule(b.getWhileWithResolvedBackReferences(t.content,m))),!C&&S.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(qa(e,t,a,o,n,y.captures,m),n.produce(o,m[0].end),o=o.pop(),!C){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function ig(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof jr&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=cg(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==pu){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),qa(e,t,a,l.stack,n,l.rule.whileCaptures,c.captureIndices),n.produce(l.stack,c.captureIndices[0].end),s=c.captureIndices[0].end,c.captureIndices[0].end>r&&(r=c.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function lg(e,t,a,r,o,n){let s=ug(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=dg(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,d=l.captureIndices[0].start;return d<u||l.priorityMatch&&d===u?l:s}function ug(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Iu(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function dg(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let L=t.getRule(m.ruleId),{ruleScanner:C,findOptions:y}=Iu(L,t,null,r,o===s),S=C.findNextMatchSync(a,o,y);if(!S)continue;let I=S.captureIndices[0].start;if(!(I>=i)&&(i=I,l=S.captureIndices,u=S.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function Iu(e,t,a,r,o){if(gu){let s=e.compile(t,a),i=xu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function cg(e,t,a,r,o){if(gu){let s=e.compileWhile(t,a),i=xu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function xu(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function qa(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),C=r.contentNameScopesList.pushAttributed(L,e),y=f.getContentName(i,s),S=C.pushAttributed(y,e),I=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,C,S),x=e.createOnigString(i.substring(0,p.end));wu(e,x,a&&p.start===0,p.start,I,o,!1,0),cu(x);continue}let m=f.getName(i,s);if(m!==null){let C=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new fg(C,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var fg=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function pg(e,t,a,r,o,n,s,i){return new hg(e,t,a,r,o,n,s,i)}function tu(e,t,a,r,o){let n=$r(t,zr),s=mu.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function zr(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(mg(t[o],r))return a=o+1,!0;return!1})}function mg(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var hg=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new ng(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=au(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=$r(l,zr);for(let d of u)this._tokenTypeMatchers.push({matcher:d.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)tu(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&tu(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=au(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=mu.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Pn.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=Vt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=Ha.createRootAndLookUpScopeName(f,c,this):p=Ha.createRoot("unknown",c),t=new Pn(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
|
|
6
|
+
`;let n=this.createOnigString(e),s=n.content.length,i=new wg(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=wu(this,n,o,0,t,i,!0,r);return cu(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function au(e,t){return e=_h(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Ha=class ct{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=Cn.push(o,n.scopeNames),r=new ct(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new ct(null,new Cn(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Cn(null,t),s=r.themeProvider.themeMatch(n),i=ct.mergeAttributes(a,o,s);return new ct(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return ct.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),Vt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return ct._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=ct._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=ct.mergeAttributes(t.tokenAttributes,o,s);return new ct(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},Pn=class zt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new zt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:zt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Ha.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){zt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new zt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new zt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=Ha.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new zt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Ha.fromExtension(r,a.contentNameScopesList))}},gg=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):$r(a,zr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>$r(a,zr).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},wg=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=Vt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=Vt.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},Ig=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,pg(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},yu=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Ig($a.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme($a.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new gg(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Kh(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},Vr=Pn.NULL;var xg=/["&'<>`]/g,yg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Lg=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Cg=/[|\\{}()[\]^$+*?.]/g,Lu=new WeakMap;function Cu(e,t){if(e=e.replace(t.subset?Sg(t.subset):xg,r),t.subset||t.escapeOnly)return e;return e.replace(yg,a).replace(Lg,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function Sg(e){let t=Lu.get(e);return t||(t=bg(e),Lu.set(e,t)),t}function bg(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Cg,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var vg=/[\dA-Fa-f]/;function Su(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!vg.test(String.fromCharCode(t))?r:r+";"}var kg=/\d/;function bu(e,t,a){let r="&#"+String(e);return a&&t&&!kg.test(String.fromCharCode(t))?r:r+";"}var vu=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Gr={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var ku=["cent","copy","divide","gt","lt","not","para","times"];var Tu={}.hasOwnProperty,En={},Kr;for(Kr in Gr)Tu.call(Gr,Kr)&&(En[Gr[Kr]]=Kr);var Tg=/[^\dA-Za-z]/;function Au(e,t,a,r){let o=String.fromCharCode(e);if(Tu.call(En,o)){let n=En[o],s="&"+n;return a&&vu.includes(n)&&!ku.includes(n)&&(!r||t&&t!==61&&Tg.test(String.fromCharCode(t)))?s:s+";"}return""}function Pu(e,t,a){let r=Su(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Au(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=bu(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function It(e,t){return Cu(e,Object.assign({format:Pu},t))}var Ag=/^>|^->|<!--|-->|--!>|<!-$/g,Pg=[">"],Rg=["<",">"];function Ru(e,t,a,r){return r.settings.bogusComments?"<?"+It(e.value,Object.assign({},r.settings.characterReferences,{subset:Pg}))+">":"<!--"+e.value.replace(Ag,o)+"-->";function o(n){return It(n,Object.assign({},r.settings.characterReferences,{subset:Rg}))}}function Eu(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Ae=Mu(1),Mn=Mu(-1),Eg=[];function Mu(e){return t;function t(a,r,o){let n=a?a.children:Eg,s=(r||0)+e,i=n[s];if(!o)for(;i&&ra(i);)s+=e,i=n[s];return i}}var Mg={}.hasOwnProperty;function Xr(e){return t;function t(a,r,o){return Mg.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Ga=Xr({body:_g,caption:Fn,colgroup:Fn,dd:Ug,dt:Og,head:Fn,html:Fg,li:Bg,optgroup:Ng,option:qg,p:Dg,rp:Fu,rt:Fu,tbody:$g,td:_u,tfoot:Wg,th:_u,thead:Hg,tr:jg});function Fn(e,t,a){let r=Ae(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ra(r.value.charAt(0)))}function Fg(e,t,a){let r=Ae(a,t);return!r||r.type!=="comment"}function _g(e,t,a){let r=Ae(a,t);return!r||r.type!=="comment"}function Dg(e,t,a){let r=Ae(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function Bg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Og(e,t,a){let r=Ae(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Ug(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Fu(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Ng(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function qg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Hg(e,t,a){let r=Ae(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function $g(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Wg(e,t,a){return!Ae(a,t)}function jg(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function _u(e,t,a){let r=Ae(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Du=Xr({body:Gg,colgroup:Kg,head:Vg,html:zg,tbody:Xg});function zg(e){let t=Ae(e,-1);return!t||t.type!=="comment"}function Vg(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function Gg(e){let t=Ae(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ra(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Kg(e,t,a){let r=Mn(a,t),o=Ae(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Ga(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Xg(e,t,a){let r=Mn(a,t),o=Ae(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Ga(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Qr={name:[[`
|
|
7
7
|
\f\r &/=>`.split(""),`
|
|
8
8
|
\f\r "&'/=>\``.split("")],[`\0
|
|
9
9
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -11,16 +11,16 @@ ${Z}`}]}}G.current({...ae,...te?{modelContext:te}:{}})}ce({jsonrpc:"2.0",id:le,r
|
|
|
11
11
|
\f\r &>`.split(""),`\0
|
|
12
12
|
\f\r "&'<=>\``.split("")],[`\0
|
|
13
13
|
\f\r "&'<=>\``.split(""),`\0
|
|
14
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ou(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=yr);let u=Qg(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Bu(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(d),!s&&(!n||!Ga(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Qg(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Jg(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Jg(e,t,a){let r=di(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=It(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?fi:pi)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=It(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Oo(a,s)>Oo(a,e.alternative)&&(s=e.alternative),i=s+It(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qr.single:Qr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Yg=["<","&"];function Jr(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:It(e.value,Object.assign({},r.settings.characterReferences,{subset:Yg}))}function Uu(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Jr(e,t,a,r)}function Nu(e,t,a,r){return r.all(e)}var qu=mi("type",{invalid:Zg,unknown:ew,handlers:{comment:Eu,doctype:Mu,element:Ou,raw:Uu,root:Nu,text:Jr}});function Zg(e){throw new Error("Expected node, not `"+e+"`")}function ew(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var tw={},aw={},rw=[];function Fn(e,t){let a=t||tw,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:ow,all:nw,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||hi,characterReferences:a.characterReferences||aw,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?yr:ci,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function ow(e,t,a){return qu(e,t,a,this)}function nw(e){let t=[],a=e&&e.children||rw,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Yr(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Et(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function sw(e){return Array.isArray(e)?e:[e]}async function Gu(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Nn(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ku(e){return e==="ansi"||Nn(e)}function qn(e){return e==="none"}function Xu(e){return qn(e)}function Qu(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ro(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function iw(e){let t=ro(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ju(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var Hn="light-dark()",lw=["color","background-color"];function uw(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function dw(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?uw(o,n):o})):e}function cw(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Zr(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&lw.includes(f))if(r===Hn&&s.length>1){let m=t.findIndex(S=>S==="light"),L=t.findIndex(S=>S==="dark");if(m===-1||L===-1)throw new Se('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let C=s[m][f]||"inherit",y=s[L][f]||"inherit";l[f]=`light-dark(${C}, ${y})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,f)]=p)}}),n.htmlStyle=l,n}function Zr(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ue.Italic&&(t["font-style"]="italic"),e.fontStyle&Ue.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ue.Underline&&a.push("underline"),e.fontStyle&Ue.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Bn(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Yu=new WeakMap;function oo(e,t){Yu.set(e,t)}function Xa(e){return Yu.get(e)}var da=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(sw(a).map(r=>[r,Vr])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return fw(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function fw(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function pw(e,t){if(!(e instanceof da))throw new Se("Invalid grammar state");return e.getInternalStack(t)}function mw(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new Se(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new Se(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new Se(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=iw(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));hw(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return dw(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new Se(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(d,c,f,p){let m=o[d],L="",C=-1,y=-1;if(c===0&&(C=0),f===0&&(y=0),f===Number.POSITIVE_INFINITY&&(y=m.children.length),C===-1||y===-1)for(let I=0;I<m.children.length;I++)L+=Zu(m.children[I]),C===-1&&L.length===c&&(C=I+1),y===-1&&L.length===f&&(y=I+1);if(C===-1)throw new Se(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(y===-1)throw new Se(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let S=m.children.slice(C,y);if(!p.alwaysWrap&&S.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&S.length===1&&S[0].type==="element")i(S[0],p,"token");else{let I={type:"element",tagName:"span",properties:{},children:S};i(I,p,"wrapper"),m.children.splice(C,S.length,I)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(L=>L);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Qu(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function hw(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Se(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new Se(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Zu(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Zu).join(""):""}var gw=[mw()];function eo(e){let t=ww(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...gw]}function ww(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var Gt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],_n={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Iw(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function Hu(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function xw(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)_n[r]&&t.push({type:"setDecoration",value:_n[r]});else if(r<=29){let o=_n[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Gt[r-30]}});else if(r===38){let o=Hu(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:Gt[r-40]}});else if(r===48){let o=Hu(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:Gt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Gt[r-100+8]}})}return t}function yw(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Iw(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=xw(s.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)}n=s.position}while(n<r.length);return o}}}var Lw={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 Cw(e=Lw){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 r;function o(){if(r)return r;r=[];for(let u=0;u<Gt.length;u++)r.push(t(Gt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Sw={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 bw(e,t,a){let r=Yr(e,a),o=ro(t),n=Object.fromEntries(Gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Sw[l]]})),s=Cw(n),i=yw();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=Et(d,r),c=Et(c,r),u.decorations.has("dim")&&(d=vw(d));let f=Ue.None;return u.decorations.has("bold")&&(f|=Ue.Bold),u.decorations.has("italic")&&(f|=Ue.Italic),u.decorations.has("underline")&&(f|=Ue.Underline),u.decorations.has("strikethrough")&&(f|=Ue.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function vw(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function $n(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(Nn(o)||qn(r))return ro(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return bw(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Se(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new Se(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Tw(t,i,n,s,a)}function kw(...e){if(e.length===2)return Xa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(Nn(o)||qn(n))throw new Se("Plain language does not have grammar state");if(o==="ansi")throw new Se("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new da(Wn(a,l,s,i,r).stateStack,l.name,s.name)}function Tw(e,t,a,r,o){let n=Wn(e,t,a,r,o),s=new da(n.stateStack,t.name,a.name);return oo(n.tokens,s),n.tokens}function Wn(e,t,a,r,o){let n=Yr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=ro(e),u=o.grammarState?pw(o.grammarState,a.name)??Vr:o.grammarContextCode!=null?Wn(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Vr,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let C,y,S;o.includeExplanation&&(C=t.tokenizeLine(m,u,i),y=C.tokens,S=0);let I=t.tokenizeLine2(m,u,i),x=I.tokens.length/2;for(let b=0;b<x;b++){let N=I.tokens[2*b],U=b+1<x?I.tokens[2*b+2]:m.length;if(N===U)continue;let j=I.tokens[2*b+1],ie=Et(r[Vt.getForeground(j)],n),z=Vt.getFontStyle(j),G={content:m.substring(N,U),offset:L+N,color:ie,fontStyle:z};if(o.includeExplanation){let q=[];if(o.includeExplanation!=="scopeName")for(let W of a.settings){let Q;switch(typeof W.scope){case"string":Q=W.scope.split(/,/).map(E=>E.trim());break;case"object":Q=W.scope;break;default:continue}q.push({settings:W,selectors:Q.map(E=>E.split(/ /))})}G.explanation=[];let ee=0;for(;N+ee<U;){let W=y[S],Q=m.substring(W.startIndex,W.endIndex);ee+=Q.length,G.explanation.push({content:Q,scopes:o.includeExplanation==="scopeName"?Aw(W.scopes):Pw(q,W.scopes)}),S+=1}}d.push(G)}c.push(d),d=[],u=I.ruleStack}return{tokens:c,stateStack:u}}function Aw(e){return e.map(t=>({scopeName:t}))}function Pw(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Ew(e,n,t.slice(0,r))}}return a}function $u(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Rw(e,t,a){if(!$u(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)$u(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Ew(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Rw(s,t,a)){r.push(n);break}return r}function ed(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=$n(e,t,{...a,theme:l.theme}),d=Xa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Mw(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:L,explanation:C,offset:y,...S}=p[u][c];f.variants[r[m].color]=S}),f})),i=o[0].state?new da(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&oo(s,i),s}function Mw(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function to(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(y=>y[1]).map(y=>({color:y[0],theme:y[1]})).sort((y,S)=>y.color===u?-1:S.color===u?1:0);if(f.length===0)throw new Se("`themes` option must not be empty");let p=ed(e,t,a);if(l=Xa(p),u&&Hn!==u&&!f.find(y=>y.color===u))throw new Se(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(y=>e.getTheme(y.theme)),L=f.map(y=>y.color);n=p.map(y=>y.map(S=>cw(S,L,d,u,c))),l&&oo(n,l);let C=f.map(y=>Yr(y.theme,a));o=Wu(f,m,C,d,u,"fg",c),r=Wu(f,m,C,d,u,"bg",c),s=`shiki-themes ${m.map(y=>y.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Yr(a.theme,a);n=$n(e,t,a);let d=e.getTheme(a.theme);r=Et(d.bg,u),o=Et(d.fg,u),s=d.name,l=Xa(n)}else throw new Se("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Wu(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Et(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===Hn&&e.length>1){let c=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(c===-1||f===-1)throw new Se('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Et(t[c][n],a[c])||"inherit",m=Et(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function ao(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ao(e,o,n),codeToTokens:(o,n)=>to(e,o,n)}){let o=t;for(let m of eo(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=to(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=_w(n):c==="never"&&(n=Dw(n)),f&&(n=Bw(n));let p={...r,get source(){return o}};for(let m of eo(a))n=m.tokens?.call(p,n)||n;return Fw(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Fw(e,t,a,r=Xa(e)){let o=eo(t),n=[],s={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[L,C]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=C);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Qu,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return f}};if(e.forEach((L,C)=>{C&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
15
|
-
`}));let y={type:"element",tagName:"span",properties:{class:"line"},children:[]},S=0;for(let I of L){let x={type:"element",tagName:"span",properties:{...I.htmlAttrs},children:[{type:"text",value:I.content}]},b=Bn(I.htmlStyle||Zr(I));b&&(x.properties.style=b);for(let N of o)x=N?.span?.call(p,x,C+1,S,y,I)||x;i==="inline"?s.children.push(x):i==="classic"&&y.children.push(x),S+=I.content.length}if(i==="classic"){for(let I of o)y=I?.line?.call(p,y,C+1)||y;f.push(y),n.push(y)}else i==="inline"&&f.push(y)}),i==="classic"){for(let L of o)c=L?.code?.call(p,c)||c;d.children.push(c);for(let L of o)d=L?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let L=[],C={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let I of s.children)I.type==="element"&&I.tagName==="br"?(L.push(C),C={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(I.type==="element"||I.type==="text")&&C.children.push(I);L.push(C);let S={type:"element",tagName:"code",properties:{},children:L};for(let I of o)S=I?.code?.call(p,S)||S;s.children=[];for(let I=0;I<S.children.length;I++){I>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=S.children[I];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&oo(m,r),m}function _w(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ue.Underline||n.fontStyle&Ue.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function Dw(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function Bw(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=Bn(o.htmlStyle||Zr(o)),s=Bn(r.htmlStyle||Zr(r)),i=o.fontStyle&&(o.fontStyle&Ue.Underline||o.fontStyle&Ue.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ue.Underline||r.fontStyle&Ue.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Ow=Fn;function Uw(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ao(e,n,s),codeToTokens:(n,s)=>to(e,n,s)},o=Ow(ao(e,t,a,r));for(let n of eo(a))o=n.postprocess?.call(r,o,a)||o;return o}var ju={light:"#333333",dark:"#bbbbbb"},zu={light:"#fffffe",dark:"#1e1e1e"},Vu="__shiki_resolved";function jn(e){if(e?.[Vu])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?ju.light:ju.dark),a||(a=t.type==="light"?zu.light:zu.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Vu,{enumerable:!1,writable:!1,value:!0}),t}async function td(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ku(t)).map(async t=>await Gu(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function ad(e){return(await Promise.all(e.map(async a=>Xu(a)?null:jn(await Gu(a))))).filter(a=>!!a)}var Dn=3,Nw=!1;function qw(e,t=3){if(Dn&&!(typeof Dn=="number"&&t>Dn)){if(Nw)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Rt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function rd(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 Rt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var On=class extends Lu{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),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=jn(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=$a.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=rd(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Rt(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}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 r of a)this._langGraph.set(r,this._langMap.get(r))}},Un=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},Ka=0;function Hw(e){Ka+=1,e.warnings!==!1&&Ka>=10&&Ka%10===0&&console.warn(`[Shiki] ${Ka} 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 Rt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(jn),o=new Un(e.engine,a),n=new On(o,r,a,e.langAlias),s;function i(I){return rd(I,e.langAlias)}function l(I){y();let x=n.getGrammar(typeof I=="string"?I:I.name);if(!x)throw new Rt(`Language \`${I}\` not found, you may need to load it first`);return x}function u(I){if(I==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};y();let x=n.getTheme(I);if(!x)throw new Rt(`Theme \`${I}\` not found, you may need to load it first`);return x}function d(I){y();let x=u(I);s!==I&&(n.setTheme(x),s=I);let b=n.getColorMap();return{theme:x,colorMap:b}}function c(){return y(),n.getLoadedThemes()}function f(){return y(),n.getLoadedLanguages()}function p(...I){y(),n.loadLanguages(I.flat(1))}async function m(...I){return p(await td(I))}function L(...I){y();for(let x of I.flat(1))n.loadTheme(x)}async function C(...I){return y(),L(await ad(I))}function y(){if(t)throw new Rt("Shiki instance has been disposed")}function S(){t||(t=!0,n.dispose(),Ka-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:C,loadThemeSync:L,dispose:S,[Symbol.dispose]:S}}async function $w(e){e.engine||qw("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([ad(e.themes||[]),td(e.langs||[]),e.engine]);return Hw({...e,themes:t,langs:a,engine:r})}async function Ww(e){let t=await $w(e);return{getLastGrammarState:(...a)=>kw(t,...a),codeToTokensBase:(a,r)=>$n(t,a,r),codeToTokensWithThemes:(a,r)=>ed(t,a,r),codeToTokens:(a,r)=>to(t,a,r),codeToHast:(a,r)=>ao(t,a,r),codeToHtml:(a,r)=>Uw(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function od(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,Ku(c))return[];let f=t[c];if(!f)throw new Se(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if(Xu(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new Se(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Ww({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function jw(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function nd(e,t){let a=jw(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var zn=[{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-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.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-YU3KF3Y6.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-BMSTTQT4.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-YKL22AM4.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-YD3RINFS.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-AUUIRTAZ.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-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.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-ZF7YKJP7.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-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.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-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.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-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-K2EDFFOP.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-CPV3A4MM.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-YEOV5OY7.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-I5IJFJ2O.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-JXWLGPJS.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-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.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-3YFWZUJ6.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-7T4OK2LD.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-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.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-WHPD3NJL.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-VI6LYHRW.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-MU4UAPH3.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-OY2C64LG.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-M6XWA362.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"))}],sd=Object.fromEntries(zn.map(e=>[e.id,e.import])),id=Object.fromEntries(zn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Qa={...sd,...id};var zw=[{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"))}],ld=Object.fromEntries(zw.map(e=>[e.id,e.import]));var Ja=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Vw(){return 2147483648}function Gw(){return typeof performance<"u"?performance.now():Date.now()}var Kw=(e,t)=>e+(t-e%t)%t;async function Xw(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Vw();if(p>L)return!1;for(let C=1;C<=4;C*=2){let y=m*(1+.2/C);y=Math.min(y,p+100663296);let S=Math.min(L,Kw(Math.max(p,y),65536));if(s(S))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let C=m+L,y=m;for(;p[y]&&!(y>=C);)++y;if(y-m>16&&p.buffer&&l)return l.decode(p.subarray(m,y));let S="";for(;m<y;){let I=p[m++];if(!(I&128)){S+=String.fromCharCode(I);continue}let x=p[m++]&63;if((I&224)===192){S+=String.fromCharCode((I&31)<<6|x);continue}let b=p[m++]&63;if((I&240)===224?I=(I&15)<<12|x<<6|b:I=(I&7)<<18|x<<12|b<<6|p[m++]&63,I<65536)S+=String.fromCharCode(I);else{let N=I-65536;S+=String.fromCharCode(55296|N>>10,56320|N&1023)}}return S}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:Gw,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var Qw=Object.defineProperty,Jw=(e,t,a)=>t in e?Qw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ee=(e,t,a)=>Jw(e,typeof t!="symbol"?t+"":t,a),De=null;function Yw(e){throw new Ja(e.UTF8ToString(e.getLastOnigError()))}var so=class e{constructor(t){Ee(this,"utf16Length"),Ee(this,"utf8Length"),Ee(this,"utf16Value"),Ee(this,"utf8Value"),Ee(this,"utf16OffsetToUtf8"),Ee(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},io=class ft{constructor(t){if(Ee(this,"id",++ft.LAST_ID),Ee(this,"_onigBinding"),Ee(this,"content"),Ee(this,"utf16Length"),Ee(this,"utf8Length"),Ee(this,"utf16OffsetToUtf8"),Ee(this,"utf8OffsetToUtf16"),Ee(this,"ptr"),!De)throw new Ja("Must invoke loadWasm first.");this._onigBinding=De,this.content=t;let a=new so(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!ft._sharedPtrInUse?(ft._sharedPtr||(ft._sharedPtr=De.omalloc(1e4)),ft._sharedPtrInUse=!0,De.HEAPU8.set(a.utf8Value,ft._sharedPtr),this.ptr=ft._sharedPtr):this.ptr=a.createString(De)}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===ft._sharedPtr?ft._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Ee(io,"LAST_ID",0);Ee(io,"_sharedPtr",0);Ee(io,"_sharedPtrInUse",!1);var ud=io,Gn=class{constructor(t){if(Ee(this,"_onigBinding"),Ee(this,"_ptr"),!De)throw new Ja("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new so(t[i]);a[i]=u.createString(De),r[i]=u.utf8Length}let o=De.omalloc(4*t.length);De.HEAPU32.set(a,o/4);let n=De.omalloc(4*t.length);De.HEAPU32.set(r,n/4);let s=De.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)De.ofree(a[i]);De.ofree(n),De.ofree(o),s===0&&Yw(De),this._onigBinding=De,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new ud(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function Zw(e){return typeof e.instantiator=="function"}function eI(e){return typeof e.default=="function"}function tI(e){return typeof e.data<"u"}function aI(e){return typeof Response<"u"&&e instanceof Response}function rI(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 no;function oI(e){if(no)return no;async function t(){De=await Xw(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Zw(r)?r=await r.instantiator(a):eI(r)?r=await r.default(a):(tI(r)&&(r=r.data),aI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await nI(r)(a):r=await sI(r)(a):rI(r)?r=await Vn(r)(a):r instanceof WebAssembly.Module?r=await Vn(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Vn(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return no=t(),no}function Vn(e){return t=>WebAssembly.instantiate(e,t)}function nI(e){return t=>WebAssembly.instantiateStreaming(e,t)}function sI(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function dd(e){return e&&await oI(e),{createScanner(t){return new Gn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ud(t)}}}var lo=od({langs:Qa,themes:ld,engine:()=>dd(import("../wasm-EOPKAILK.js"))}),{codeToHtml:iI,codeToHast:lI,codeToTokens:uI,codeToTokensBase:dI,codeToTokensWithThemes:cI,getSingletonHighlighter:fI,getLastGrammarState:pI}=nd(lo,{guessEmbeddedLanguages:Ju});var cd=new Set(Object.keys(Qa)),Kn=new Map,Xn=new Map,ca=new Map,mI=(e,t)=>`${e}-${t[0]}-${t[1]}`,hI=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},gI=(e,t)=>{let a=mI(e,t);if(Kn.has(a))return Kn.get(a);let r=lo({themes:t,langs:[e]});return Kn.set(a,r),r};function wI(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return cd.has(r)},getSupportedLanguages(){return Array.from(cd)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=hI(r,o,n);return Xn.has(i)?Xn.get(i):(s&&(ca.has(i)||ca.set(i,new Set),ca.get(i).add(s)),gI(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Xn.set(i,d);let c=ca.get(i);if(c){for(let f of c)f(d);ca.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),ca.delete(i)}),null)}}}var fd=wI();import{memo as LI}from"react";import{useEffect as II,useRef as uo,useState as xI}from"react";var yI=5,pd=400;function md(e,t,a={}){let{msPerChar:r=yI}=a,[o,n]=xI(t?"":e),s=uo(e),i=uo(t?0:e.length),l=uo(0),u=uo(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,II(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>pd&&(i.current=s.current.length-pd),u.current!==null)return;let c=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as co}from"react/jsx-runtime";var Qn=({className:e,from:t,children:a,...r})=>co("div",{className:A("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:co("div",{className:A("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Jn=({children:e,className:t,...a})=>co("div",{className:A("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),CI={cjk:xn,code:fd},SI={cjk:xn},bI={enabled:!1};function vI({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=md(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return co(wa,{className:A("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??bI,plugins:a?SI:CI,...o,children:i})}var fo=LI(vI,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);fo.displayName="MessageResponse";import{jsx as hd,jsxs as kI}from"react/jsx-runtime";function gd(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function wd(e){return e.parts.some(gd)}function Id(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!gd(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function xd({className:e,...t}){let{t:a}=se();return kI("div",{"aria-live":"polite",className:A("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[hd(Aa,{className:"ww:size-4 ww:shrink-0"}),hd(tt,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as Ya,jsxs as TI}from"react/jsx-runtime";function yd({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return TI("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&&Ya("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}),Ya("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ya("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&Ya("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>Ya("button",{type:"button",onClick:()=>o?.(n),className:A("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:`${s*50}ms`},children:n},n))})]})}import{Component as AI}from"react";import{jsx as Yn,jsxs as RI}from"react/jsx-runtime";function PI({onRetry:e}){let{t}=se();return RI("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:[Yn("span",{children:t.widgetErrorBoundary.failedToLoad}),Yn("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var po=class extends AI{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Yn(PI,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as EI,jsx as we,jsxs as Mt}from"react/jsx-runtime";function Zn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Ld(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?ba:qt}function Cd({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:C}=se(),y=e[e.length-1],S=e.length>0,I=c!=null,x=!I&&Id(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Mt(EI,{children:[!I&&(!S&&r?we(yd,{...r,onSuggestionSelect:o}):a&&we(Qn,{from:"assistant",children:we(Jn,{children:we(fo,{children:a})})})),e.map(b=>{let N=b.parts.filter(E=>E.type==="text"),U=b.parts.filter(E=>E.type==="reasoning"),j=b.parts.filter(E=>E.type==="file"),ie=sl(b.metadata),z=b.parts.filter(E=>"toolCallId"in E),G=b.parts.filter(E=>E.type==="reasoning"||"toolCallId"in E),q=b===y&&b.role==="assistant",ee=N.length>0,W=I?z.some(E=>E.toolCallId===c):!1,Q=p!==!1&&!W&&G.length>=2;return I&&!W?we("div",{style:{display:"none"}},b.id):b.role==="assistant"&&!wd(b)?we("div",{style:{display:"none"}},b.id):p===!1&&b.role==="assistant"&&!ee&&j.length===0&&z.every(E=>{let v="output"in E?E.output:void 0;return v===void 0||!n||!Ra(E.toolName,v,m)})?we("div",{style:{display:"none"}},b.id):Mt(Qn,{from:b.role,className:L?.message,children:[p!==!1&&!W&&!Q&&U.map((E,v)=>Mt(Ba,{isStreaming:E.state==="streaming",children:[we(Oa,{}),we(Ua,{children:E.text})]},`reasoning-${b.id}-${v}`)),Q&&(()=>{let E=G[G.length-1],v=E.type==="reasoning"?{icon:gt,label:C.reasoning.thinking}:{icon:Ld(E.toolName),label:E.title??Zn(E.toolName)};return Mt(Ml,{isWorking:q&&(t==="streaming"||t==="submitted"),activeStep:v,children:[we(Fl,{workingLabel:C.chainOfThought.working,label:C.chainOfThought.done}),we(_l,{children:G.map((_,re)=>{let oe=re===G.length-1;if(_.type==="reasoning")return we(Bl,{isStreaming:_.state==="streaming",isLast:oe,children:_.text},`reasoning-${b.id}-${re}`);let Pe=_.title??Zn(_.toolName),Ne=Ld(_.toolName);if(p==="titles-only")return we(gn,{icon:Ne,title:Pe,state:_.state,isLast:oe},_.toolCallId);let k="output"in _?_.output:void 0;return Mt(gn,{icon:Ne,title:Pe,state:_.state,isLast:oe,children:[we(Xo,{input:_.input,debug:f}),k!==void 0&&we(Qo,{output:k,errorText:"errorText"in _?_.errorText:void 0,debug:f})]},_.toolCallId)})})]})})(),p!==!1&&!W&&!Q&&z.length===1&&(()=>{let E=z[0],v=E.title??Zn(E.toolName);if(p==="titles-only")return we(Di,{title:v,state:E.state});let _="output"in E?E.output:void 0;return Mt(Fi,{children:[we(_i,{title:v,state:E.state}),Mt(Bi,{children:[we(Xo,{input:E.input,debug:f}),_!==void 0&&we(Qo,{output:_,errorText:"errorText"in E?E.errorText:void 0,debug:f})]})]})})(),z.map(E=>{let v="output"in E?E.output:void 0,_=Ra(E.toolName,v,m),re=Oi(E.toolName,v,m),oe=E.toolCallId===c;return _&&n&&v!==void 0?we("div",{style:oe?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:_&&n&&v!==void 0&&we(po,{children:we(Fa,{isFullscreen:oe,resourceUri:_,toolInput:E.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:re,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Pe=>d(Pe,{toolCallId:E.toolCallId,resourceUri:_,toolInput:E.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},autoHeight:re}):void 0})})},E.toolCallId):null}),!W&&ie.length>0&&we(il,{documents:ie}),!W&&we("div",{children:Mt(Jn,{className:A(b.role==="user"?L?.userBubble:L?.assistantBubble),children:[j.length>0&&we(ol,{files:j}),ee?N.map((E,v)=>{let _=q&&t==="streaming"&&v===N.length-1;return we(fo,{isStreaming:_,children:E.type==="text"?E.text:""},`${b.id}-${v}`)}):null]})})]},b.id)}),x&&we(xd,{})]})}import{jsx as Sd,jsxs as _I}from"react/jsx-runtime";var MI="https://app.waniwani.ai/assets/waniwani-logo.svg",FI="https://waniwani.ai";function bd(){let{t:e}=se();return _I("a",{href:FI,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Sd("span",{children:e.poweredBy.label}),Sd("img",{src:MI,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as mo}from"react/jsx-runtime";function vd({suggestions:e,isLoading:t,onSelect:a,align:r="start",className:o,...n}){return e.length===0&&!t?null:mo("div",{className:A("ww:px-4 ww:py-2",o),...n,children:mo("div",{className:A("ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",r==="center"&&"ww:justify-center"),children:t?[0,1,2].map(s=>mo("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,i)=>mo("button",{type:"button",onClick:()=>a(s),className:A("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border 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:`${i*50}ms`},children:s},s))})})}import{useEffect as DI,useRef as BI,useState as OI}from"react";import{jsx as be,jsxs as Kt}from"react/jsx-runtime";var kd=20;function UI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),be("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function NI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),be("polyline",{points:"3 4 3 9 8 9"}),be("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),be("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function qI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("polyline",{points:"3 6 5 6 21 6"}),be("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),be("path",{d:"M10 11v6"}),be("path",{d:"M14 11v6"})]})}function Td({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=se(),[i,l]=OI(!1),u=BI(null);DI(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let d=e.slice(0,kd),c=Math.max(0,e.length-kd);return Kt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[be("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:be(UI,{label:s.threadMenu.newChat})}),be("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:be(NI,{label:s.threadMenu.threadHistory})}),i&&Kt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[d.length===0&&be("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return Kt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[Kt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[be("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),be("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":zo(m,n)})]}),be("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:be(qI,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&be("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(c)})]})]})}import{createContext as HI,useContext as $I}from"react";function Ad(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function Pd(){return{subscribe(){return()=>{}},emit(){}}}var Rd=HI(Pd());function ho(){return $I(Rd)}var Ed=Rd.Provider;import{useCallback as WI,useRef as jI}from"react";function Md(e){let t=jI(e);return t.current=e,WI(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=at(r??"/api/waniwani","/tool"),l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as tx}from"@ai-sdk/react";import{useCallback as ye,useEffect as je,useRef as Le,useState as Ft}from"react";var zI="/api/mcp/modules/documents",VI=2e4,GI=3e5,Ze=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function Fd(e,t){return br(e,`${zI}${t}`)}function KI(e){return Fd(e,"/upload-url")}function _d(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function XI(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function QI(e){return e===403?new Ze("upload_disabled","This agent does not accept document uploads."):e===413?new Ze("max_file_size","That file is too large."):e===422||e===400?new Ze("accept","That file type is not accepted."):new Ze("upload_failed",`The upload could not be started (${e}).`)}function JI(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=GI;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new Ze("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new Ze("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new Ze("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function go(e){let t=Fd(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:_d(e.headers,e.uploadHeaders)})}catch{}}async function Dd(e){e.signal.throwIfAborted();let t=KI(e.api);if(!t)throw new Ze("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),VI),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=_d(e.headers,e.uploadHeaders);i.set("Content-Type","application/json"),n=await fetch(t,{method:"POST",headers:i,signal:a.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(i){throw e.signal.aborted?i:new Ze("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw QI(n.status);let s=XI(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Ze("upload_failed","The upload could not be started.");return await JI({url:s.uploadUrl,headers:s.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:s.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as YI,uiMessageChunkSchema as ZI}from"ai";function ex(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var wo=class extends YI{processResponseStream(t){let a="",r=ZI(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
|
|
16
|
-
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=ex(f.error);if(p?.length){let m={...c};for(let C of p)delete m[C];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var Bd=50,Od=1e3;function Io(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function xo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await an(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function es(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function ts(e){return await xo(async a=>{let n=a.transaction(Ke,"readonly").objectStore(Ke).index(vr),i=(await es(n.getAll(e))??[]).filter(Io);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function yo(e){return await xo(async a=>{let o=a.transaction(Ke,"readonly").objectStore(Ke),n=await es(o.get(e));return Io(n)?n:null})??null}async function as(e){if(!Io(e))return;let t=e.messages.length>Od?{...e,messages:e.messages.slice(e.messages.length-Od)}:e;await xo(async a=>{await new Promise((l,u)=>{let d=a.transaction(Ke,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Ke).put(t)});let r=a.transaction(Ke,"readwrite"),o=r.objectStore(Ke),n=o.index(vr),i=(await es(n.getAll(t.memoryUserId))??[]).filter(Io);if(i.length>Bd){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Bd);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Ud(e){await xo(async t=>(await new Promise((a,r)=>{let o=t.transaction(Ke,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Ke).delete(e)}),null))}async function rs(e){return(await ts(e))[0]?.threadId??null}function Nd(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var ax="x-session-id",rx=250,ox=200;function qd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():_a()}function Lo(){return new Date().toISOString()}function Hd(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function nx(e,t){let a=at(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function $d(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,d=e.visitorId;je(()=>Zo(d),[d]);let c=ho(),f=Le(a),p=Le(r),m=Le(o),L=Le(i);je(()=>{L.current=i},[i]);let C=Le(void 0),y=Le(void 0),S=Le(null),[I,x]=Ft(void 0),b=Le(I),[N,U]=Ft(l),j=Le(N),[ie,z]=Ft([]),[G,q]=Ft(!i),ee=Le(void 0),W=Le(void 0),Q=Le(void 0),E=Le(void 0),v=Le(0),_=Le(u);je(()=>{_.current=u},[u]);let re=ye(g=>{j.current=g,U(g),g&&(_.current?.(g),c.emit({name:"thread.changed",sessionId:b.current,properties:{threadId:g}}))},[c]),oe=ye(async()=>{if(!i)return;let g=S.current?.memoryUserId;if(!g)return;let O=await ts(g);z(O)},[i]),Pe=ye(()=>b.current,[]),Ne=ye(g=>{let O=Hd(g);if(!O||b.current===O)return;let V=b.current===void 0;b.current=O,x(O),V&&c.emit({name:"session.started",properties:{sessionId:O}})},[c]),k=ye(()=>{b.current=void 0,x(void 0)},[]);je(()=>{f.current=a,p.current=r},[a,r]),je(()=>{m.current=o},[o]),je(()=>{let g=!1,O=v.current;return(async()=>{try{let fe=await Ea();if(g)return;S.current=fe}catch{}if(!i)return;let V=S.current?.memoryUserId;if(!V){q(!0);return}try{let fe=l??await rs(V);if(g||O!==v.current)return;if(fe){let Me=await yo(fe);if(g||O!==v.current)return;Me&&Me.memoryUserId===V&&(j.current=Me.threadId,U(Me.threadId),ee.current=Me.createdAt,W.current=Me.title,Me.sessionId&&(b.current=Me.sessionId,x(Me.sessionId)),me(Me.messages))}await oe()}finally{g||q(!0)}})(),()=>{g=!0}},[]);let H=Le(null),$=ye(g=>{let O=m.current?.[g];return typeof O=="string"?O:void 0},[]),ne=ye(()=>({api:t,token:Tr(f.current),channelId:$("channelId"),sessionId:b.current}),[t,$]),he=ye(g=>{let O=H.current;H.current=null,O?.report(ne(),{mode:$("mode"),outcome:g})},[ne,$]),Ie=Le(new wo({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},O=Object.hasOwn(g,"sessionId"),V=Hd(g.sessionId);if(V)Ne(V),g.sessionId=V;else if(O)k(),delete g.sessionId;else{let Bo=Pe();Bo&&(g.sessionId=Bo)}Nt(C.current)&&(g.modelContext=C.current),y.current?.length&&(g.documents=y.current);let fe=S.current,Me=Ge();fe&&(g.visitorContext={timezone:fe.timezone,language:fe.language,languages:fe.languages,deviceType:fe.deviceType,referrer:fe.referrer,visitorId:Me});let Te=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},ap=typeof Te.client=="object"&&Te.client!==null?Te.client:{};g.visitor={...Te,id:Me,client:{...ap,...fe&&{memoryUserId:fe.memoryUserId}}};let oi=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,ni=S.current?.memoryUserId,si=S.current?.language,Ir={};if(ni&&(Ir.memoryUserId=ni),si&&(Ir.locale=si),(Object.keys(Ir).length>0||oi)&&(g.extra={...Ir,...oi??{}}),L.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(j.current=g.threadId);else{let xr=j.current;xr||(xr=qd(),ee.current=Lo(),W.current=void 0,re(xr)),g.threadId=xr}return g},fetch:(async(g,O)=>{let V=H.current;V?.mark("requestStart");try{let fe=await fetch(g,O);return C.current=void 0,Ne(fe.headers.get(ax)),V?V.instrument(fe):fe}finally{y.current=void 0}})})),ce=Le(e.transport?.({fallback:Ie.current,headers:()=>f.current,body:()=>({channelId:$("channelId"),visitor:{id:Ge()}}),needsFallback:()=>L.current||!!y.current?.length||Nt(C.current),onSession:Ne})??Ie.current),K=Le(null),X=Le(null),pe=Le({}),[Ce,le]=Ft(0),ae=e.skipRemoteConfig===!0,te=ye(async()=>{if(!ae)try{let g=await nx(t,f.current);pe.current=g,le(O=>O+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,ae]);je(()=>{te()},[te]);let{messages:Z,sendMessage:J,setMessages:me,status:T,stop:Be}=tx({messages:e.initialMessages,transport:ce.current,onFinish({message:g,isAbort:O,isDisconnect:V,isError:fe}){H.current?.mark("streamEnd"),he(O||V||fe?"error":"ok"),s?.(),!O&&!V&&!fe&&c.emit({name:"message.received"}),K.current&&(X.current=g)},onError(g){he("error"),console.warn("[Waniwani] Chat error:",g.message),c.emit({name:"chat.error",properties:{message:g.message.slice(0,ox)}}),K.current&&(K.current.reject(g),K.current=null)}}),D=Le(Z);je(()=>{D.current=Z},[Z]),je(()=>{let g=ce.current;return g.restore?.().then(O=>{O.length>0&&D.current.length===0&&me(O)}).catch(()=>{}),()=>g.dispose?.()},[]);let R=ye(()=>{H.current=Vi(D.current.filter(g=>g.role==="user").length+1)},[]),[Y,M]=Ft(!1),w=ye(async()=>{M(!0);try{await Be();let g=b.current;if(!g)return;await fetch(at(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...f.current},body:JSON.stringify({sessionId:g})})}catch{}finally{M(!1)}},[t,Be]),P=Le(i);je(()=>{if(!i||P.current||(P.current=!0,D.current.length>0))return;let g=!1,O=v.current;return q(!1),(async()=>{try{let V=S.current;if(!V)try{V=await Ea(),S.current=V}catch{}let fe=V?.memoryUserId;if(!fe||g||O!==v.current){g||q(!0);return}let Me=l??await rs(fe);if(g||O!==v.current)return;if(Me){let Te=await yo(Me);if(g||O!==v.current)return;Te&&Te.memoryUserId===fe&&(j.current=Te.threadId,U(Te.threadId),ee.current=Te.createdAt,W.current=Te.title,Te.sessionId&&(b.current=Te.sessionId,x(Te.sessionId)),me(Te.messages))}await oe()}finally{g||q(!0)}})(),()=>{g=!0}},[i]),je(()=>{if(T==="ready"&&K.current&&X.current){let g=K.current,O=X.current;K.current=null,X.current=null,g.resolve(O)}},[T]);let[F,ue]=Ft(""),et=typeof d!="function",st=F.length>0;je(()=>{et&&st&&ce.current.prepare?.()},[et,st]);let[it,mr]=Ft([]),_o=Le([]);_o.current=it;let ga=T==="submitted"||T==="streaming",hr=ye(g=>{for(let O of g)for(let V of O.documents??[])go({documentId:V.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),St=ye(()=>{hr(_o.current),mr([])},[hr]),Vf=ye(g=>{let O=_o.current.find(V=>V.id===g);O&&hr([O]),mr(V=>V.filter(fe=>fe.id!==g))},[hr]),Gf=ga&&it.length>0,Kf=ye(g=>{let O=!!g.text?.trim(),V=!!(g.files?.length||g.documents?.length);if(O||V){if(ga){if(it.length>0)return;mr(fe=>[...fe,{id:_a(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),ue("");return}R(),C.current=g.modelContext,y.current=g.documents,J({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),n?.(g.text||""),c.emit({name:"message.sent"}),ue("")}},[J,n,ga,it.length,c,R]),Xf=ye(g=>new Promise((O,V)=>{K.current={resolve:O,reject:V},R(),J({text:g}),n?.(g),c.emit({name:"message.sent"})}),[J,n,c,R]);je(()=>{if(T!=="ready"||Y||it.length===0)return;let[g,...O]=it;mr(O),R(),C.current=g.modelContext,y.current=g.documents,J({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),n?.(g.text),c.emit({name:"message.sent"})},[T,Y,J,n,it,c,R]);let Qf=ye(()=>{ce.current.reset?.(),me([]),St(),k(),ue(""),pe.current={},le(g=>g+1),te()},[me,k,te,St]),gr=ye(()=>{if(!L.current)return;let g=S.current?.memoryUserId,O=j.current,V=D.current;if(!(!g||!O||V.length===0)){if(ee.current||(ee.current=Lo()),!W.current){let fe=V.find(Te=>Te.role==="user"),Me=fe?fe.parts.map(Te=>"text"in Te&&typeof Te.text=="string"?Te.text:"").join(" "):"";W.current=Nd(Me)}return{threadId:O,memoryUserId:g,title:W.current,messages:V,sessionId:b.current,createdAt:ee.current,updatedAt:Lo()}}},[]),ti=ye(async()=>{let g=gr();g&&(await as(g),await oe())},[gr,oe]);je(()=>{if(i&&G&&!(T==="submitted"||T==="streaming")&&Z.length!==0)return Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{Q.current=void 0;let g=ti().finally(()=>{E.current===g&&(E.current=void 0)});E.current=g},rx),()=>{Q.current&&clearTimeout(Q.current)}},[i,G,Z,T,ti]);let wr=ye(()=>{let g=E.current,O=Q.current,V=O?gr():void 0;return O&&(clearTimeout(O),Q.current=void 0),(async()=>{g&&await g,V&&(await as(V),await oe())})()},[gr,oe]),Jf=ye(()=>{v.current+=1,wr(),ce.current.reset?.(),me([]),St(),k(),ue("");let g=qd();return ee.current=Lo(),W.current=void 0,re(g),oe(),g},[me,k,re,oe,wr,St]),Do=ye(async g=>{v.current+=1;let O=v.current;if(await wr(),O!==v.current)return;let V=await yo(g);O===v.current&&V&&(V.sessionId?(b.current=V.sessionId,x(V.sessionId)):k(),re(V.threadId),ee.current=V.createdAt,W.current=V.title,me(V.messages),St(),ue(""))},[me,k,re,wr,St]),Yf=ye(async g=>{if(j.current===g){v.current+=1,Q.current&&(clearTimeout(Q.current),Q.current=void 0);let O=E.current;O&&await O}await Ud(g),await oe(),j.current===g&&(me([]),St(),k(),ue(""),j.current=void 0,U(void 0),ee.current=void 0,W.current=void 0)},[me,k,oe,St]);je(()=>{i&&G&&l!==void 0&&l!==j.current&&Do(l)},[l,i,G,Do]);let Zf=ye(g=>{ue(g.target.value)},[]),ai=Z[Z.length-1],ri=Z.length>0,ep=ga&&(!ri||ai.role==="user"),tp=pe.current;return{messages:Z,status:T,text:F,setText:ue,handleSubmit:Kf,handleTextChange:Zf,isLoading:ga,showLoaderBubble:ep,lastMessage:ai,hasMessages:ri,sendMessage:J,sendMessageAndWait:Xf,stop:w,reset:Qf,queuedMessages:it,queueFull:Gf,removeQueuedMessage:Vf,sessionId:I,toolDefinitions:tp,refreshToolDefinitions:te,threads:ie,activeThreadId:N,isThreadHistoryReady:G,startNewThread:Jf,switchThread:Do,deleteThread:Yf}}import{useCallback as Wd,useEffect as sx,useState as ix}from"react";var lx=6e3;function jd(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=ix(null),u=Wd((f,p,m)=>Dd({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=Wd(f=>{go({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);sx(()=>{if(!i)return;let f=setTimeout(()=>l(null),lx);return()=>clearTimeout(f)},[i]);let c=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:c?u:void 0,onDiscard:c?d:void 0,error:i,reportError:l}}import{useCallback as dx,useEffect as ss,useMemo as is,useRef as cx,useState as Kd}from"react";function fa(e){return e.map(t=>({id:null,text:t}))}function os(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var ns="waniwani/suggestions";function pa(e){return typeof e=="object"&&e!==null}function zd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ux(e){if(!pa(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!pa(t)||!pa(t._meta))return null;let a=t._meta[ns];return!pa(a)||!zd(a.suggestions)?null:a.suggestions}function Vd(e){let t=null;for(let a of e.parts){let r=ux(a);r!==null&&(t=r)}return t}function Gd(e){for(let t of e.parts){if(!pa(t)||t.type!=="data-suggestions")continue;let a=t.data;if(pa(a)&&zd(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function fx(e){return"page"in e||"channel"in e}function px(e){return typeof e!="object"||e===null?{}:fx(e)?{rungs:e}:{initial:e.initial}}function Xd(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=px(r),i=is(()=>({page:null,channel:fa(s??[])}),[s]),l=n??i,u=is(()=>o?os({flow:null,followup:null,...l}):null,[o,l]),d=is(()=>u?.suggestions.map(I=>I.text)??[],[u]),[c,f]=Kd(d),[p,m]=Kd(u?.origin??"channel"),L=cx(a),C=dx(()=>{f([])},[]),y=t.length>0;ss(()=>{y||(f(d),m(u?.origin??"channel"))},[d,u,y]);let S=t[t.length-1];return ss(()=>{S?.role==="user"&&C()},[S,C]),ss(()=>{let I=L.current;if(L.current=a,I!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(j=>j.role==="assistant");if(!x)return;let b=Vd(x),N=Gd(x),U=os({flow:b===null?null:fa(b),followup:N===null?null:fa(N),page:null,channel:null});f(U?U.suggestions.map(j=>j.text):[]),m(U?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:C}}import{useEffect as mx,useRef as hx,useState as gx}from"react";var wx=80,Ix=50,xx=15e3,Qd=500;function Jd(e,t=!0){let[a,r]=gx(""),o=hx(void 0);return mx(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Qd)):o.current=setTimeout(l,Ix)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,xx)):o.current=setTimeout(l,wx)))};return o.current=setTimeout(l,Qd),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Yd(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return at(e,"/resource",r?{token:r}:void 0)}var Zd={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},yx={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Lx={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Cx(e){return{...Zd,...e}}function ls(e){let t={};for(let[a,r]of Object.entries(Lx)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as ke,jsxs as yt}from"react/jsx-runtime";var us=ec(function(t,a){let{locale:r,messages:o}=t;return ke(jo,{locale:r,messages:o,children:ke(bx,{...t,ref:a})})}),bx=ec(function(t,a){let{t:r,ready:o}=se(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:L,debug:C=!1,readOnly:y=!1,title:S,headerActions:I,hideHeader:x=!1,enableThreadHistory:b=!1,showToolCalls:N=!0,initializing:U=!1,onScreen:j=!0,disclaimer:ie}=t,z=n?.theme,G=n?.variables,q=n?.assistantBubble??!1,ee=G?ls(G):{},[W,Q]=Co(!1);xt(()=>{if(z!=="auto"||typeof window>"u")return;let w=window.matchMedia("(prefers-color-scheme: dark)");Q(w.matches);let P=()=>Q(w.matches);return w.addEventListener("change",P),()=>w.removeEventListener("change",P)},[z]);let E=z==="dark"||z==="auto"&&W,v=$d({...t,api:m}),_=ho(),re=Md({...t,api:m,sessionId:v.sessionId,onCallTool:L?.onCallTool}),oe=L?.resourceEndpoint??Yd(m,t.headers),Pe=_t({});Pe.current={api:m,token:Tr(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:v.sessionId};let Ne=Za(w=>{Pr("widget",Pe.current,{widget:w.widget,outcome:w.outcome},w.metrics)},[]),k=Jd(f,!v.text),H=jd({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:v.sessionId,documentUpload:u,allowAttachments:l}),[$,ne]=Co(null),[he,Ie]=Co(null),ce=_t(null),K=_t(null),X=_t(null),pe=_t(null),[Ce,le]=Co(!0),ae=_t(Ce);ae.current=Ce;let te=Za(()=>{let w=ce.current;if(!w)return;let P=w.querySelector("textarea");P&&P.focus()},[]),Z=Za((w="smooth")=>{let P=K.current;P&&P.scrollTo({top:P.scrollHeight,behavior:w})},[]);xt(()=>{let w=pe.current,P=K.current;if(!w||!P)return;let F=new IntersectionObserver(([ue])=>le(ue.isIntersecting),{root:P,rootMargin:"0px 0px 200px 0px",threshold:0});return F.observe(w),()=>F.disconnect()},[]),xt(()=>{let w=K.current;if(!w)return;let P=F=>{let et=(F.target instanceof Element?F.target:null)?.closest("a");et?.href&&_.emit({name:"link.clicked",properties:{url:et.href}})};return w.addEventListener("click",P),()=>w.removeEventListener("click",P)},[_]),xt(()=>{(v.messages[v.messages.length-1]?.role==="user"||ae.current)&&Z("smooth")},[v.messages.length,v.messages[v.messages.length-1]]),xt(()=>{Z("auto")},[Z]),xt(()=>{if(typeof ResizeObserver>"u")return;let w=K.current,P=X.current;if(!w&&!P)return;let F=w?.scrollHeight??0,ue=w?.clientHeight??0,et=new ResizeObserver(()=>{let st=K.current;if(!st)return;let it=st.scrollTop+ue>=F-5;F=st.scrollHeight,ue=st.clientHeight,it&&Z("auto")});return w&&et.observe(w),P&&et.observe(P),()=>et.disconnect()},[Z]);let J=Xd({messages:v.messages,status:v.status,suggestions:t.suggestions}),me=_t(null);xt(()=>{let w=J.suggestions;!j||w.length===0||me.current===w||(me.current=w,_.emit({name:"suggestions.shown",properties:{texts:w,origin:J.source}}))},[J.suggestions,J.source,_,j]);let T=c?.suggestions,Be=_t(null);xt(()=>{!j||v.messages.length>0||!T?.length||Be.current===T||(Be.current=T,_.emit({name:"suggestions.shown",properties:{texts:T,origin:"channel"}}))},[T,v.messages.length,_,j]);let D=Za(w=>{let P=w.content.map(F=>F.text??"").join("").trim();P&&v.handleSubmit({text:P,files:[],modelContext:w.modelContext})},[v.handleSubmit]),R=Za(w=>{let P=J.suggestions.indexOf(w),F=P>=0?P:c?.suggestions?.indexOf(w)??-1,ue=P>=0?J.source:"channel";_.emit({name:"suggestion.clicked",properties:{text:w,index:F,origin:ue}}),J.clear(),v.handleSubmit({text:w,files:[]})},[J.suggestions,J.source,J.clear,v.handleSubmit,c,_]);Sx(a,()=>({sendMessage:w=>{v.handleSubmit({text:w,files:[]}),te()},sendMessageAndWait:w=>v.sendMessageAndWait(w),reset:v.reset,focus:te,get messages(){return v.messages},get sessionId(){return v.sessionId}}),[v.handleSubmit,v.sendMessageAndWait,v.reset,v.messages,v.sessionId,te]),xt(()=>{if(!p)return;let w=P=>{let F=P.detail,ue=typeof F?.message=="string"?F.message:void 0;ue&&v.handleSubmit({text:ue,files:[]}),te()};return window.addEventListener(p,w),()=>window.removeEventListener(p,w)},[p,v.handleSubmit,te]);let Y=!x&&!!(S||b||I),M=U||!o;return yt("div",{ref:ce,style:{...ee,maxHeight:"inherit",...$&&he?{height:he}:{},opacity:M?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":q?"true":void 0,"data-color-scheme":z==="auto"?"auto":void 0,...M?{"data-waniwani-initializing":""}:{},...E?{"data-waniwani-dark":""}:{},className:A("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",z==="dark"&&"dark",s,i?.root),children:[Y&&yt("div",{className:A("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[S&&ke("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:S}),!S&&ke("div",{className:"ww:flex-1"}),b&&ke(Td,{threads:v.threads,activeThreadId:v.activeThreadId,onNewThread:v.startNewThread,onSelectThread:w=>{v.switchThread(w)},onDeleteThread:w=>{v.deleteThread(w)}}),I]}),yt("div",{ref:K,className:A("ww:relative ww:flex-1 ww:min-h-0",$?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[yt("div",{ref:X,className:A("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",$&&"ww:!py-0"),children:[ke(Ji,{value:Ne,children:ke(Cd,{messages:v.messages,status:v.status,welcomeMessage:d,welcome:c,onSuggestionSelect:R,resourceEndpoint:oe,chatSessionId:v.sessionId,isDark:E,onFollowUp:D,onCallTool:re,fullscreenToolCallId:$,debug:C,showToolCalls:N,toolDefinitions:v.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(w,P)=>{if(w==="fullscreen"){let F=ce.current?.getBoundingClientRect().height??0;Ie(F>0?F:null),ne(P.toolCallId)}else Ie(null),ne(null)}})}),ke("div",{ref:pe,"aria-hidden":!0,style:{height:1}})]}),!Ce&&!$&&ke("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ke(lt,{type:"button",onClick:()=>Z("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ke(Ia,{className:"ww:size-4"})})})]}),!y&&yt("div",{className:"ww:shrink-0 ww:bg-background",style:$?{display:"none"}:void 0,children:[ke(vd,{suggestions:J.suggestions,isLoading:J.isLoading,onSelect:R}),ke(vl,{queuedMessages:v.queuedMessages,onRemove:v.removeQueuedMessage}),ke("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:yt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[yt(dl,{onSubmit:v.handleSubmit,attachmentsEnabled:H.enabled,globalDrop:H.enabled,multiple:H.enabled,accept:H.accept,maxFileSize:H.maxFileSize,maxPdfPages:H.maxPdfPages,maxFiles:H.maxFiles,upload:H.upload,onDiscard:H.onDiscard,onError:H.reportError,className:A("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[ke(gl,{enabled:H.enabled}),H.enabled&&ke(hl,{className:"ww:px-4 ww:pt-3"}),yt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[H.enabled&&ke(ml,{}),ke(fl,{onChange:v.handleTextChange,value:v.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ke(pl,{status:v.status,disabled:v.queueFull,onStop:v.stop})]})]}),H.error&&ke("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:H.error.message}),yt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ke(bd,{}),ke(wl,{text:ie})]})]})})]})]})});import{forwardRef as TC,useEffect as Mo,useImperativeHandle as AC,useMemo as Fo,useRef as ei,useState as Wf}from"react";var vx="https://app.waniwani.ai/api/mcp/chat",kx={api:vx};function Tx(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Ax(){let e=Tx();if(!e)return{};let t=_=>e.getAttribute(_)??void 0,a=_=>{let re=e.getAttribute(_);if(re==null)return;let oe=re.trim().toLowerCase();if(oe==="true"||oe==="1"||oe==="")return!0;if(oe==="false"||oe==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let _=a("data-show-tool-calls");_!==void 0&&(r.showToolCalls=_)}let m=t("data-css");m&&(r.css=m);let L=t("data-suggestions");L&&(r.suggestions=L.split(",").map(_=>_.trim()).filter(Boolean));let C=a("data-enable-thread-history");C!==void 0&&(r.enableThreadHistory=C);let y=a("data-disable-page-view");y!==void 0&&(r.disablePageView=y);let S=a("data-hide-header");S!==void 0&&(r.hideHeader=S);let I=t("data-theme");(I==="light"||I==="dark"||I==="auto")&&(r.appearance={...r.appearance,theme:I});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let b=t("data-locale");(b==="en"||b==="fr"||b==="es")&&(r.locale=b);let N=t("data-mode");(N==="inline"||N==="floating"||N==="composer"||N==="off")&&(r.mode=N);let U={},j=t("data-composer-variant")?.trim().toLowerCase();(j==="glow"||j==="outline")&&(U.variant=j);let ie=t("data-composer-size")?.trim().toLowerCase();(ie==="sm"||ie==="md"||ie==="lg")&&(U.size=ie);let z=a("data-composer-suggestions");z!==void 0&&(U.showSuggestions=z);let G=t("data-composer-align")?.trim().toLowerCase();(G==="start"||G==="center")&&(U.align=G);let q=a("data-composer-trigger");q!==void 0&&(U.trigger=q);let ee=a("data-composer-mobile-trigger");ee!==void 0&&(U.mobileTrigger=ee),Object.keys(U).length>0&&(r.composer=U);let W=t("data-height");W&&(r.height=W);let Q=t("data-launcher-text");Q&&(r.launcherText=Q);let E=t("data-appear-delay");if(E!==void 0){let _=Number.parseInt(E.trim(),10);Number.isFinite(_)&&_>=0&&(r.appearDelay=_)}let v=t("data-disclaimer");if(v!==void 0){let _=v.trim(),re=_.toLowerCase();re==="false"||re==="0"?r.disclaimer=!1:_&&(r.disclaimer=_)}return r}function er(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ds(e,t,a){let r=a??Ax(),o=Px(t,r,e),n={...t?.composer??{},...er(r.composer),...er(e?.composer)},s=Object.keys(n).length>0,i={token:"",...kx,...er(t),...er(r),...er(e),...o?{appearance:o}:{},...s?{composer:n}:{}};if(!i.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return i}function Px(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as TR,useState as AR}from"react";var Rx="/api/mcp/events/v2/batch",cs=new Set;function Ex(e,t,a){return`${e}|${t}|${a??""}`}function tr(e){return br(e,Rx)}async function fs(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=tr(t);if(!s){ut("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){ut("page.viewed skipped: no channelId or source to attribute it");return}let i=Ex(t,a,r);if(!cs.has(i)){cs.add(i);try{let l=await Ea(),u=new Date().toISOString(),d=JSON.stringify({sentAt:u,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:u,correlation:{visitorId:l.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:l.referrer,deviceType:l.deviceType,language:l.language,timezone:l.timezone},metadata:{}}]}),c=fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:d,keepalive:!0});$t("pageViewSent"),await c}catch{cs.delete(i)}}}import{useMemo as Hx}from"react";import{useEffect as Dx,useSyncExternalStore as Bx}from"react";function Mx(e){return e?.patterns??e?.rules??[]}var tc="\0\0";function Fx(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,tc).replace(/\\\*/g,"[^/]*").split(tc).join(".*");return new RegExp(`^${a}$`)}function _x(e,t){try{return Fx(e).test(t)}catch{return!1}}function ac(e,t){if(!e)return!0;let a=!1;for(let r of Mx(e))if(_x(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var ps="waniwani:locationchange",rc=!1;function Ox(){if(!(rc||typeof history>"u")){rc=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(ps)),o}}}}function Ux(e){return Ox(),window.addEventListener(ps,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(ps,e),window.removeEventListener("popstate",e)}}function Nx(){return window.location.pathname}function qx(){return"/"}function ms(){return Bx(Ux,Nx,qx)}function oc(e,t){let a=ms(),r=t&&ac(e,a);return Dx(()=>{ut("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var $x=3,Wx=["low","medium","high"];function hs(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function jx(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of Wx){let s=hs(t.get(n)??[])??hs(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min($x,e.length);){let n=hs(o);if(!n)break;r.push(n)}return r}function nc(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function sc(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function ic(e){let{pageSuggestions:t,suggestions:a}=e,r=ms();return Hx(()=>{let o=nc(r),n=t?.find(i=>nc(i.url)===o),s=n?jx(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ut("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:fa(a??[])}},[r,t,a])}var zx="waniwani:config:";function lc(e,t,a){return`${zx}${e}|${t}|${a??""}`}function So(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(lc(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function uc(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(lc(e,t,a),JSON.stringify(r))}catch{}}function Vx(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function dc(e,t,a,r){$t("configStart");let o=await Gx(e,t,a,r);return $t("configEnd"),a?.aborted||Ar(o.metadata),o}async function Gx(e,t,a,r){try{let o=at(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?Kx(i):{}}catch{return{}}}function Kx(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions);let a=sc(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility);let r=Vx(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as Xx,useRef as Qx}from"react";function gs(e,t){return e.find(a=>a.text===t)?.id??null}async function cc(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=tr(t);if(i)try{let l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:l,correlation:{visitorId:Ge(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{}}async function fc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await cc({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function pc(e,t){return t.map(a=>({id:gs(e,a),text:a}))}async function mc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await cc({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function hc(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=Qx(e.getSessionId);l.current=e.getSessionId,Xx(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;fc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:gs(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;mc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:pc(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function ma(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Jx=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Yx=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Zx=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],ey=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],ty=["waniwani/visitorId","visitorId"],ay=["correlationId","openai/requestId"];function gc(e){return e?ma(e,Jx):void 0}function wc(e){return e?ma(e,Yx):void 0}function Ic(e){return e?ma(e,Zx):void 0}function xc(e){return e?ma(e,ey):void 0}function yc(e){return e?ma(e,ty):void 0}function Lc(e){return e?ma(e,ay):void 0}var ry=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],oy=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Cc(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of ry){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of oy)if(r.includes(o))return n}}var ny="@waniwani/sdk";function Sc(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??sy,o=uy(e),n=bo(e.meta),s=bo(e.metadata),i=dy(e,n),l=ot(e.eventId)??r(),u=cy(e.timestamp,a),d=ot(e.source)??Cc(n)??t.source??ny,c=ws(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:iy(e,o),metadata:f,rawLegacy:c}}function sy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function iy(e,t){if(!ws(e))return bo(e.properties);let a=ly(e,t),r=bo(e.properties);return{...a,...r}}function ly(e,t){switch(t){case"tool.called":{let a={};return ot(e.toolName)&&(a.name=e.toolName),ot(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return ot(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function uy(e){return ws(e)?e.eventType:e.event}function dy(e,t){let a=ot(e.requestId)??wc(t),r=ot(e.sessionId)??gc(t),o=ot(e.traceId)??Ic(t),n=ot(e.externalUserId)??xc(t),s=ot(e.visitorId)??yc(t),i=ot(e.correlationId)??Lc(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function cy(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function bo(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ot(e){if(typeof e=="string"&&e.trim().length!==0)return e}function ws(e){return"eventType"in e}function bc(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var fy="/api/mcp/events/v2/batch";var vc="@waniwani/sdk";var py=new Set([401,403]),my=new Set([408,425,429,500,502,503,504]),hy=(e,t)=>globalThis.fetch(e,t);function kc(e){return new Is(e)}var Is=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Iy(t.apiUrl,t.endpointPath??fy),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??hy,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":vc};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:xy(n)}}if(py.has(a.status))return{kind:"auth",status:a.status};if(my.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await wy(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:vc,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(gy(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function gy(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function wy(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Iy(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function xy(e){return e instanceof Error?e.message:String(e)}function Tc(e){let{apiUrl:t,endpointPath:a}=yy(e.endpoint),r=kc({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),d=u===void 0?i.properties:{channelId:u,...i.properties},c=Sc({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,bc(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function yy(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Ac(e){let t=tr(e.api);return t?Tc({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ge()})}):xs("the chat api does not point at a Waniwani event ingest")}function xs(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{readUIMessageStream as Ly}from"ai";function vo(){let e=new Set,t=new Map,a,r=0,o=!1,n=!1,s=d=>(a||(a=`text-${++r}`,d.enqueue({type:"text-start",id:a})),a),i=d=>{a&&(d.enqueue({type:"text-end",id:a}),a=void 0)},l=(d,c)=>{d.enqueue({type:"text-delta",id:s(d),delta:c})},u=(d,c,f)=>{!c.callId||e.has(c.callId)||(e.add(c.callId),d.enqueue({type:"tool-input-available",toolCallId:c.callId,toolName:c.toolName??c.kind??"tool",input:f,dynamic:!0}))};return new TransformStream({start(d){d.enqueue({type:"start",messageId:crypto.randomUUID()})},transform(d,c){switch(d.type){case"step.started":{let{modelId:f,stepIndex:p}=d.data;typeof p=="number"&&f&&t.set(p,f),c.enqueue({type:"start-step"}),o=!0;break}case"message.appended":{let{messageDelta:f}=d.data;f&&l(c,f);break}case"message.completed":{let{message:f}=d.data;!a&&f&&l(c,f),i(c);break}case"actions.requested":{i(c);let{actions:f}=d.data;for(let p of f??[])u(c,p,p.input);break}case"action.result":{let{result:f,status:p,error:m}=d.data;if(f?.kind!=="tool-result"||!f.callId)break;if(u(c,f,{}),f.isError===!0||p&&p!=="completed"){c.enqueue({type:"tool-output-error",toolCallId:f.callId,errorText:m?.message??"The tool call failed.",dynamic:!0});break}c.enqueue({type:"tool-output-available",toolCallId:f.callId,output:f.output,dynamic:!0});break}case"step.completed":{let{stepIndex:f,usage:p}=d.data;i(c),o&&(c.enqueue({type:"finish-step"}),o=!1);let m=typeof f=="number"?t.get(f):void 0;c.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:f,modelId:m,usage:p}}});break}case"turn.failed":case"session.failed":{let{message:f}=d.data;n=!0,c.enqueue({type:"error",errorText:f??"The agent could not answer."});break}}},flush(d){i(d),o&&d.enqueue({type:"finish-step"}),d.enqueue({type:"finish",finishReason:n?"error":"stop"})}})}function Cy(e){if(!(typeof e!="object"||e===null||"kind"in e))return"message"in e&&typeof e.message=="string"?e.message:void 0}async function Sy(e){let t=new ReadableStream({start(r){for(let o of e)r.enqueue(o);r.close()}}).pipeThrough(vo()),a;for await(let r of Ly({stream:t}))a=r;return a?.parts.length?a:void 0}async function Pc(e){let t=[];for(let r of e){let o=r.type==="message.received"?Cy(r.data):void 0;o!==void 0?t.push({visitor:{id:r.meta?.id??crypto.randomUUID(),role:"user",parts:[{type:"text",text:o}]},events:[]}):t.at(-1)?.events.push(r)}let a=[];for(let r of t){a.push(r.visitor);let o=await Sy(r.events);o&&a.push(o)}return a}import{z as He}from"zod";import{z as B}from"zod";import{z as ko}from"zod";var Xt=Symbol("invalid-json-value-candidate");function Ls(e){let t=ys(e);if(t===Xt)throw TypeError("Expected a JSON-serializable value.");return t}function ar(e){let t=Ls(e);if(!by(t))throw TypeError("Expected a JSON-serializable object.");return t}function ys(e,t=new WeakSet){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number")return Number.isFinite(e)?e:Xt;if(Array.isArray(e)){let r=[];for(let o of e){let n=ys(o,t);if(n===Xt)return Xt;r.push(n)}return r}if(typeof e!="object"||e===void 0||!vy(e)||t.has(e))return Xt;t.add(e);let a={};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let n=ys(o,t);if(n===Xt)return Xt;a[r]=n}return t.delete(e),a}function by(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function vy(e){let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var rr=ko.unknown().transform((e,t)=>{try{return Ls(e)}catch(a){return t.addIssue({code:"custom",message:Rc(a,"Expected a JSON-serializable value.")}),ko.NEVER}}),Lt=ko.unknown().transform((e,t)=>{try{return ar(e)}catch(a){return t.addIssue({code:"custom",message:Rc(a,"Expected a JSON-serializable object.")}),ko.NEVER}});function Rc(e,t){return e instanceof Error?e.message:t}var Ec=B.object({callId:B.string(),input:Lt,kind:B.literal("tool-call"),toolName:B.string()}).strict();B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),B.object({callId:B.string(),input:Lt,kind:B.literal("workflow-tool-call"),toolName:B.string(),workflowId:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict();var hE=B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),gE=B.object({callId:B.string(),executeInput:rr.optional(),input:Lt,kind:B.literal("workflow-task"),nodeId:B.string().optional(),toolName:B.string(),workflowId:B.string()}).strict();B.object({callId:B.string(),input:Lt,kind:B.literal("load-skill")}).strict();B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("tool-result"),output:rr,toolName:B.string()}).strict(),B.object({callId:B.string(),isError:B.literal(!0),kind:B.literal("subagent-result"),origin:B.literal("dispatch"),output:rr,subagentName:B.string()}).strict(),B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("load-skill-result"),output:rr,name:B.string().optional()}).strict();var ky=He.object({description:He.string().describe("Optional additional context for this option.").optional(),id:He.string().describe("Stable identifier for the option."),label:He.string().describe("User-facing label for the option."),style:He.enum(["primary","danger","default"]).describe("Visual treatment hint for the option.").optional()}).strict(),Ty=He.enum(["question","session-limit","tool-approval"]),yE=He.object({action:Ec,allowFreeform:He.boolean().describe("Whether the user may answer with freeform text instead of selecting one of the provided options.").optional(),display:He.enum(["confirmation","select","text"]).describe("Rendering hint: the channel uses this to pick a UX treatment.").optional(),kind:Ty.describe("Framework-owned request source used to resolve, route, and render the response."),options:He.array(ky).describe("Selectable answer options to present to the user.").optional(),prompt:He.string().describe("The prompt to present to the user."),requestId:He.string().describe("Stable identifier for this request.")}).strict(),LE=He.object({optionId:He.string().optional(),requestId:He.string(),text:He.string().optional()}).strict();var ze="/eve/v1",SE=`${ze}/cron/:token`,Mc=`${ze}/health`,Fc=`${ze}/info`,$e=`${ze}/session`,bE=`${$e}/:sessionId`,vE=`${$e}/:sessionId/cancel`,kE=`${$e}/:sessionId/compact`,TE=`${$e}/:sessionId/clear`,AE=`${$e}/:sessionId/reset`,PE=`${$e}/:sessionId/stream`,RE=`${$e}/:parentSessionId/subagents/:callId/:childSessionId/stream`,EE=`${ze}/dev/schedules/:scheduleId`,Cs=`${ze}/dev/runtime-artifacts`,ME=`${Cs}/rebuild`,FE=`${Cs}/suspend`,_E=`${Cs}/resume`;var DE=`${ze}/connections/:name/callback/:attemptId/:token`,BE=`${ze}/callback/:token`,OE=`${ze}/task-input/:token`,UE=`${ze}/activity/:token`;function _c(e){return`${$e}/${encodeURIComponent(e)}`}function Dc(e){return`${$e}/${encodeURIComponent(e)}/cancel`}function Bc(e){return`${$e}/${encodeURIComponent(e)}/compact`}function Oc(e){return`${$e}/${encodeURIComponent(e)}/clear`}function Uc(e){return`${$e}/${encodeURIComponent(e)}/reset`}function Ss(e){return`${$e}/${encodeURIComponent(e)}/stream`}function pt(e){return typeof e=="object"&&!!e&&!Array.isArray(e)}function or(e){return e instanceof Error?e.message:typeof e=="string"?e:e==null?String(e):pt(e)?typeof e.message=="string"&&e.message.length>0?e.message:Ay(e):String(e)}function Qt(e){if(e instanceof Error)return e;let t=Error(or(e));return pt(e)&&(typeof e.name=="string"&&e.name.length>0&&(t.name=e.name),typeof e.stack=="string"&&e.stack.length>0&&(t.stack=e.stack),"cause"in e&&e.cause!==void 0&&e.cause!==e&&(t.cause=e.cause)),t}function Ay(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var qc="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function Py(){let e=-1,t=new Uint8Array(10);return function(){let a=Date.now();if(!Number.isInteger(a)||a<0||a>0xffffffffffff)throw Error(`Cannot mint a ULID: timestamp must be an integer from 0 to ${0xffffffffffff}.`);if(a>e)e=a,Nc(t);else if(!Fy(t)){if(e===0xffffffffffff)throw Error("Cannot mint a ULID: random component overflowed at the maximum timestamp.");e+=1,Nc(t)}return`${Ey(e)}${My(t)}`}}var Ry=Py();function Nc(e){let t=globalThis.crypto;if(typeof t?.getRandomValues!="function")throw Error("Cannot mint a ULID: globalThis.crypto.getRandomValues is unavailable.");t.getRandomValues(e)}function Ey(e){let t=e,a="";for(let r=0;r<10;r+=1)a=qc[t%32]+a,t=Math.floor(t/32);return a}function My(e){let t=0,a=0,r="";for(let o of e){for(t=t<<8|o,a+=8;a>=5;)a-=5,r+=qc[t>>>a&31];t&=(1<<a)-1}return r}function Fy(e){for(let t=e.length-1;t>=0;--t){let a=e[t]??0;if(a<255)return e[t]=a+1,e.fill(0,t+1),!0}return!1}var Hc="x-eve-session-id";var bs="x-eve-stream-tail-index",vs="x-eve-stream-version";var $c="1",Wc="streamControlVersion",ks={$eve:"stream.lease-ended",version:1},mM=new TextEncoder;function Je(e){return e.type==="session.completed"||e.type==="session.failed"||e.type==="session.waiting"}function Ts(e){return e.type==="session.failed"||e.type==="step.failed"||e.type==="turn.failed"}var To=class extends Error{issues;constructor(e=[]){let t=e.length===0?"":` (${e.join("; ")})`;super(`The server returned an unrecognized response from the eve agent info route.${t}`),this.name="AgentInfoResponseError",this.issues=e}};var Ao=class extends Error{issues;constructor(e=[]){let t=e.length===0?"":` (${e.join("; ")})`;super(`The server returned an unrecognized eve health response.${t}`),this.name="HealthResponseError",this.issues=e}};var Ve=class extends Error{code;status;body;headers;constructor(e,t,a){let r=Object.freeze(Object.fromEntries(new Headers(a).entries())),o=r["content-type"]?.toLowerCase(),n=t||`Server returned ${e}.`,s;try{let i=JSON.parse(t);pt(i)&&(typeof i.error=="string"&&(n=i.error),typeof i.code=="string"&&(s=i.code))}catch{o?.includes("text/html")&&(n=`Server returned ${e} with an HTML response. Check the eve route and development server configuration.`)}super(n),this.name="ClientError",this.code=s,this.status=e,this.body=t,this.headers=r}};function jc(e){let t,a,r,o=[],n=new Map;for(let s of e)Je(s)&&(t=s),Ts(s)&&(a=s),_y(s)&&(r=s.data.message??void 0),s.type==="input.requested"&&o.push(...s.data.requests),s.type==="authorization.required"&&n.set(s.data.name,s.data),s.type==="authorization.completed"&&n.delete(s.data.name);return{boundary:t,failure:a,inputRequests:o,message:r,pendingAuthorizations:[...n.values()],status:t?.type==="session.waiting"?"waiting":t?.type==="session.failed"?"failed":"completed"}}function _y(e){return e.type==="message.completed"&&e.data.finishReason!=="tool-calls"}function Jt(e,t){t.type==="authorization.required"&&t.data.webhookUrl!==void 0?e.add(t.data.name):t.type==="authorization.completed"&&e.delete(t.data.name)}var Dy=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,By=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function As(e,t){let a=Oy(e),r=t.startsWith("/")?t:`/${t}`;if(r===ze||r.startsWith(`${ze}/`)){if(Dy.test(a))return`${a}${r.slice(4)}`;if(By.test(a))return`${a}${r.slice(ze.length)}`}return`${a}${r}`}function Oy(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function mt(e,t,a){let r=t.indexOf("?"),o=r===-1?t:t.slice(0,r),n=r===-1?"":t.slice(r+1),s=o.startsWith("/")?o:`/${o}`;if(Uy(e)){let u=new URL(e),d=Vc(u.pathname);return u.pathname=As(d,s),zc(u.searchParams,n),Gc(u.searchParams,a),u.hash="",u.toString()}let i=new URL(e,"http://eve.local"),l=Vc(i.pathname);return zc(i.searchParams,n),Gc(i.searchParams,a),`${As(l,s)}${Ny(i.searchParams)}`}function zc(e,t){if(t.length!==0)for(let[a,r]of new URLSearchParams(t))e.append(a,r)}function Uy(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function Vc(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function Gc(e,t){if(t!==void 0)for(let[a,r]of Object.entries(t))e.set(a,r)}function Ny(e){let t=e.toString();return t.length===0?"":`?${t}`}function Kc(e){let t;for(let a of e)qy(a)&&(t=a.data.result);return t}function qy(e){return e.type==="result.completed"}var Ps=Symbol("consumeMessageResponse"),Rs=Symbol("acceptedDeliveryId"),Es=class{sessionId;[Rs];#t;#e;#a=!1;#r;#n=!1;#u=Promise.withResolvers();constructor(e){this.#t=e.cancelTurn,this.sessionId=e.sessionId,this[Rs]=e.deliveryId,this.#r=e.createStream}cancel(){if(this.#n)return Promise.resolve({status:"no_active_turn"});if(this.#e!==void 0)return this.#e;let e=this.#u.promise.then(t=>t===void 0?{status:"no_active_turn"}:this.#t(t));return this.#e=e,e.catch(()=>{!this.#n&&this.#e===e&&(this.#e=void 0)}),e}async result(){let e=[];for await(let a of this)e.push(a);let t=jc(e);return{data:Kc(e),events:e,inputRequests:t.inputRequests,message:t.message,sessionId:this.sessionId,status:t.status}}[Symbol.asyncIterator](){return this[Ps]()}[Ps](e){if(this.#a)throw Error("MessageResponse has already been consumed.");return this.#a=!0,this.#g(e)}async*#g(e){try{for await(let t of this.#r(e))t.type==="turn.started"?this.#u.resolve(t.data.turnId):Je(t)&&(this.#n=!0,this.#u.resolve(void 0)),yield t}finally{this.#u.resolve(void 0)}}};function Ms(e){return e[Rs]}function Xc(e,t){return e[Ps](t)}function Jc(e,t){switch(e){case"21":case"22":case"23":case"24":return Hy(e,t);case"25":return $y(t);default:return Wy(e)}}function Hy(e,t){if(t.type==="message.appended")return Qc(t.data.messageSoFar,t.data.messageDelta,"message",e),{data:{messageDelta:t.data.messageDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,turnId:t.data.turnId},meta:t.meta,type:"message.appended"};if(t.type==="reasoning.appended")return Qc(t.data.reasoningSoFar,t.data.reasoningDelta,"reasoning",e),{data:{reasoningDelta:t.data.reasoningDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,turnId:t.data.turnId},meta:t.meta,type:"reasoning.appended"};if(t.type==="action.input.appended"){if(e!==void 0&&e!=="24")throw TypeError(`Invalid action input append for stream version ${e}.`);return jy(t.data.inputTextOffset,e),{data:{callId:t.data.callId,inputTextDelta:t.data.inputTextDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,toolName:t.data.toolName,turnId:t.data.turnId},meta:t.meta,type:"action.input.appended"}}return t}function $y(e){return e.type==="message.appended"?(Fs(e.data.messageDelta,"message"),nr(e.data,"messageOffset","message"),nr(e.data,"messageSoFar","message")):e.type==="reasoning.appended"?(Fs(e.data.reasoningDelta,"reasoning"),nr(e.data,"reasoningOffset","reasoning"),nr(e.data,"reasoningSoFar","reasoning")):e.type==="action.input.appended"&&(Fs(e.data.inputTextDelta,"action input"),nr(e.data,"inputTextOffset","action input")),e}function Fs(e,t){if(typeof e!="string")throw TypeError(`Invalid ${t} append delta for stream version 25.`)}function nr(e,t,a){if(t in e)throw TypeError(`Invalid ${a} append shape for stream version 25.`)}function Wy(e){throw TypeError(`Unsupported message stream version: ${String(e)}.`)}function jy(e,t){if(!Number.isSafeInteger(e)||e<0){let a=t===void 0?"persisted stream":`stream version ${t}`;throw TypeError(`Invalid action input append offset for ${a}.`)}}function Qc(e,t,a,r){let o=e.length-t.length;if(o<0||e.slice(o)!==t){let n=r===void 0?"persisted stream":`stream version ${r}`;throw TypeError(`Invalid cumulative ${a} append for ${n}.`)}}function _s(e){if(e instanceof DOMException)return e.name==="AbortError";if(!(e instanceof Error))return!1;let t="code"in e&&typeof e.code=="string"?e.code:void 0;return e.name==="AbortError"||e.message==="terminated"||t==="UND_ERR_SOCKET"||e instanceof TypeError&&/^(?:failed to fetch|fetch failed)$/i.test(e.message)||/abort|cancel|disconnect|premature close|socket|terminated/i.test(e.message)}async function*ef(e,t){let a=e.getReader(),r=new TextDecoder,o="",n=!1,s=()=>{a.cancel().catch(()=>{})};t.signal?.addEventListener("abort",s,{once:!0});try{for(;;){t.signal?.throwIfAborted();let l=await zy(a,t?.idleTimeoutMs);if(t.signal?.throwIfAborted(),l.done){n=!0,o+=r.decode();break}l.value&&(o+=r.decode(l.value,{stream:!0}));let u=o.indexOf(`
|
|
17
|
-
`);for(;u!==-1;){let d=o.slice(0,u).trim();if(o=o.slice(u+1),d.length>0){let c=JSON.parse(d);t.controlVersion==="1"&&
|
|
18
|
-
`)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&Yc(l)?t.onLeaseEnded?.():yield Zc(l,t.streamVersion)}}finally{t.signal?.removeEventListener("abort",s),n||a.cancel().catch(()=>{}),a.releaseLock()}}function Yc(e){if(typeof e!="object"||!e)return!1;let t=e;return t.$eve===ks.$eve&&t.version===ks.version}function Zc(e,t){return Jc(t,e)}async function zy(e,t){let a;try{return t===void 0?await e.read():await Promise.race([e.read(),new Promise((r,o)=>{a=setTimeout(()=>o(new DOMException("Session stream was idle.","AbortError")),t)})])}catch(r){throw r instanceof TypeError?Error("Session stream disconnected.",{cause:r}):r}finally{a!==void 0&&clearTimeout(a)}}var Vy={21:!0,22:!0,23:!0,24:!0,25:!0};function tf(e){let t=e.get(vs);if(t!==null&&Object.hasOwn(Vy,t))return t;throw TypeError(t===null?`Missing ${vs} response header.`:`Unsupported message stream version: ${t}.`)}var Yt={retryableErrorStatuses:new Set([404,409,425,500,502,503,504]),streamIdleReconnectPolicy:{baseDelayMs:250,maxAttempts:5,maxDelayMs:4e3},streamOpenReconnectPolicy:{baseDelayMs:250,maxAttempts:12,maxDelayMs:5e3}},Gy={...Yt,streamIdleReconnectPolicy:{...Yt.streamIdleReconnectPolicy,maxAttempts:0},streamOpenReconnectPolicy:{...Yt.streamOpenReconnectPolicy,maxAttempts:1}};function af(e,t){return{...t,...e}}function rf(e,t=!1){if(e&&"reconnect"in e&&e.reconnect===!1)return Gy;let a=e;return{retryableErrorStatuses:a?.retryableErrorStatuses?new Set(a.retryableErrorStatuses):Yt.retryableErrorStatuses,streamIdleReconnectPolicy:af(a?.streamIdleReconnectPolicy,{...Yt.streamIdleReconnectPolicy,maxAttempts:t?1/0:Yt.streamIdleReconnectPolicy.maxAttempts}),streamOpenReconnectPolicy:af(a?.streamOpenReconnectPolicy,Yt.streamOpenReconnectPolicy)}}async function*Ds(e){if(e.follow===!1&&e.startIndex<0)throw Error("stream({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");let t=()=>rf(e.resolveReconnectPolicy===void 0?e.streamReconnectPolicy:e.resolveReconnectPolicy(),e.keepAlive),a=t(),r=a.streamIdleReconnectPolicy,o=e.startIndex,n=r.baseDelayMs,s=0,i=!0,l,u=!1;for(;;){a=t(),r=a.streamIdleReconnectPolicy;let d;try{d=await Ky({...e,retryPolicy:a,startIndex:o,requestTailIndex:(e.follow===!1||e.onCaughtUp!==void 0)&&l===void 0})}catch(p){if(e.signal?.aborted)return;throw p}if((e.follow===!1||e.onCaughtUp!==void 0)&&l===void 0&&(l=d.tailIndex,l===void 0))throw d.close(),Error(`stream({ follow: false }) requires the server to report the ${bs} header. The agent may be running an older eve version.`);if(!u&&l!==void 0&&o>l&&(u=!0,e.onCaughtUp?.()),e.follow===!1&&l!==void 0&&o>l){d.close();return}let c=!1,f=!1;try{for await(let p of ef(d.body,{signal:e.signal,controlVersion:d.controlVersion,idleTimeoutMs:e.streamReadIdleTimeoutMs??15e3,onLeaseEnded:()=>{f=!0},streamVersion:d.streamVersion}))if(o+=1,c=!0,n=r.baseDelayMs,s=0,yield p,!u&&l!==void 0&&o>l&&(u=!0,e.onCaughtUp?.()),e.follow===!1&&l!==void 0&&o>l)return}catch(p){if(!_s(p))throw p}finally{d.close()}if(r=t().streamIdleReconnectPolicy,e.signal?.aborted||e.startIndex<0||r.maxAttempts===0)return;if(!f){if(!c&&!i&&(s+=1)>=r.maxAttempts||(i=!1,await sr(n,e.signal),e.signal?.aborted))return;n=Math.min(n*2,r.maxDelayMs)}}}async function Ky(e){let t=e.retryPolicy??rf(e.streamReconnectPolicy,e.keepAlive),a=t.streamOpenReconnectPolicy,r,o,n,s=a.baseDelayMs,i=e.startIndex>=0&&t.streamIdleReconnectPolicy.maxAttempts>0?$c:void 0,l={};i!==void 0&&(l[Wc]=i),e.startIndex!==0&&(l.startIndex=String(e.startIndex)),e.requestTailIndex===!0&&(l.includeTailIndex="1");for(let u=0;u<a.maxAttempts;u+=1){e.signal?.throwIfAborted();let d=mt(e.host,e.path,Object.keys(l).length>0?l:void 0),c=await e.resolveHeaders();e.signal?.throwIfAborted();let f=new AbortController,p=e.signal?AbortSignal.any([e.signal,f.signal]):f.signal,m;try{m=await fetch(d,{cache:"no-store",headers:c,redirect:e.redirect,signal:p})}catch(L){if(e.signal?.aborted||!_s(L)||u===a.maxAttempts-1)throw L;await sr(s,e.signal),s=Math.min(s*2,a.maxDelayMs);continue}if(m.ok){if(!m.body)throw new Ve(m.status,"Response body is null.",m.headers);let L=!1;return{body:m.body,close:()=>{L||(L=!0,m.body?.cancel().catch(()=>{}),f.abort())},controlVersion:i,streamVersion:tf(m.headers),tailIndex:Xy(m.headers)}}if(r=m.status,o=await m.text(),n=m.headers,!t.retryableErrorStatuses.has(m.status))throw new Ve(m.status,o,m.headers);u<a.maxAttempts-1&&(await sr(s,e.signal),s=Math.min(s*2,a.maxDelayMs))}throw new Ve(r??0,o??"Failed to open message stream.",n)}function Xy(e){let t=e.get(bs);if(t===null||!/^-?\d+$/.test(t))return;let a=Number(t);return Number.isSafeInteger(a)?a:void 0}async function sr(e,t){t?.aborted||await new Promise(a=>{let r=()=>{clearTimeout(o),a()},o=setTimeout(()=>{t?.removeEventListener("abort",r),a()},e);t?.addEventListener("abort",r,{once:!0})})}import{z as Dt}from"zod";var of=Dt.discriminatedUnion("status",[Dt.strictObject({ok:Dt.literal(!0),sessionId:Dt.string().min(1),status:Dt.literal("accepted")}),Dt.strictObject({ok:Dt.literal(!0),status:Dt.literal("no_active_turn")})]);import{z as Bt}from"zod";var nf=Bt.discriminatedUnion("status",[Bt.object({ok:Bt.literal(!0),sessionId:Bt.string().min(1),status:Bt.literal("accepted")}),Bt.object({ok:Bt.literal(!0),status:Bt.literal("no_active_session")})]);import{z as Ot}from"zod";var sf=Ot.discriminatedUnion("status",[Ot.object({ok:Ot.literal(!0),sessionId:Ot.string().min(1),status:Ot.literal("accepted")}),Ot.object({ok:Ot.literal(!0),status:Ot.literal("no_active_session")})]);import{z as Ut}from"zod";var lf=Ut.discriminatedUnion("status",[Ut.object({ok:Ut.literal(!0),previousSessionId:Ut.string().min(1),status:Ut.literal("reset")}),Ut.object({ok:Ut.literal(!0),status:Ut.literal("no_active_session")})]);async function uf(e){let{signal:t,...a}=e.options??{},{payload:r,response:o}=await Po({body:a,context:e.context,operation:"Cancel",path:Dc(e.sessionId),signal:t}),n=of.safeParse(r);if(!n.success||n.data.status==="accepted"&&n.data.sessionId!==e.sessionId)throw Error(`Cancel route returned an invalid response (${o.status}).`);return n.data.status==="accepted"?{sessionId:n.data.sessionId,status:"accepted"}:{status:"no_active_turn"}}async function df(e){let{payload:t}=await Po({context:e.context,operation:"Clear",path:Oc(e.sessionId)}),a=nf.safeParse(t);if(!a.success||a.data.status==="accepted"&&a.data.sessionId!==e.sessionId)throw Error("Clear route returned an invalid response.");return a.data.status==="accepted"?{sessionId:a.data.sessionId,status:"accepted"}:{status:"no_active_session"}}async function cf(e){let{payload:t}=await Po({context:e.context,operation:"Compact",path:Bc(e.sessionId)}),a=sf.safeParse(t);if(!a.success||a.data.status==="accepted"&&a.data.sessionId!==e.sessionId)throw Error("Compact route returned an invalid response.");return a.data.status==="accepted"?{sessionId:a.data.sessionId,status:"accepted"}:{status:"no_active_session"}}async function ff(e){let{signal:t,...a}=e.options??{},{payload:r}=await Po({body:a,context:e.context,operation:"Reset",path:Uc(e.sessionId),signal:t}),o=lf.safeParse(r);if(!o.success||o.data.status==="reset"&&o.data.previousSessionId!==e.sessionId)throw Error("Reset route returned an invalid response.");return o.data.status==="reset"?{previousSessionId:o.data.previousSessionId,status:"reset"}:{status:"no_active_session"}}async function Po(e){let t=await e.context.resolveHeaders();t.set("content-type","application/json");let a=await fetch(mt(e.context.host,e.path),Qy({body:e.body===void 0?void 0:JSON.stringify(e.body),headers:t,method:"POST",signal:e.signal},e.context.redirect)),r=await a.text();if(!a.ok)throw new Ve(a.status,r,a.headers);try{return{payload:JSON.parse(r),response:a}}catch{throw Error(`${e.operation} route returned invalid JSON (${a.status}).`)}}function Qy(e,t){return t===void 0?e:{...e,redirect:t}}import{TypeValidationError as m1,asSchema as TL,jsonSchema as h1}from"ai";function ir(e,t){let a=typeof e;if(a!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let o=0;o<r;o++)if(!ir(e[o],t[o]))return!1;return!0}if(a==="object"){if(!e||!t)return e===t;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!ir(e[n],t[n]))return!1;return!0}return e===t}function nt(e){return encodeURI(Jy(e))}function Jy(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var Yy={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},Zy={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},eL={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},tL=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function Zt(e,t=Object.create(null),a=tL,r=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let n=e.$id||e.id;if(n){let s=new URL(n,a.href);s.hash.length>1?t[s.href]=e:(s.hash="",r===""?a=s:Zt(e,t,a))}}else if(e!==!0&&e!==!1)return t;let o=a.href+(r?"#"+r:"");if(t[o]!==void 0)throw Error(`Duplicate schema URI "${o}".`);if(t[o]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:o}),e.$ref&&e.__absolute_ref__===void 0){let n=new URL(e.$ref,a.href);n.hash=n.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:n.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let n=new URL(e.$recursiveRef,a.href);n.hash=n.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:n.href})}if(e.$anchor){let n=new URL("#"+e.$anchor,a.href);t[n.href]=e}for(let n in e){if(eL[n])continue;let s=`${r}/${nt(n)}`,i=e[n];if(Array.isArray(i)){if(Yy[n]){let l=i.length;for(let u=0;u<l;u++)Zt(i[u],t,a,`${s}/${u}`)}}else if(Zy[n])for(let l in i)Zt(i[l],t,a,`${s}/${nt(l)}`);else Zt(i,t,a,s)}return t}var aL=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,rL=[0,31,28,31,30,31,30,31,31,30,31,30,31],oL=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,nL=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,sL=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,iL=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,lL=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,uL=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,dL=/^(?:\/(?:[^~/]|~0|~1)*)*$/,cL=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,fL=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,pL=e=>{if(e[0]==='"')return!1;let[t,a,...r]=e.split("@");return!t||!a||r.length!==0||t.length>64||a.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(a)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:a.split(".").every(o=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(o))},mL=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,hL=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,gL=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function ht(e){return e.test.bind(e)}var pf={date:mf,time:hf.bind(void 0,!1),"date-time":xL,duration:gL,uri:CL,"uri-reference":ht(sL),"uri-template":ht(iL),url:ht(lL),email:pL,hostname:ht(nL),ipv4:ht(mL),ipv6:ht(hL),regex:bL,uuid:ht(uL),"json-pointer":ht(dL),"json-pointer-uri-fragment":ht(cL),"relative-json-pointer":ht(fL)};function wL(e){return e%4==0&&(e%100!=0||e%400==0)}function mf(e){let t=e.match(aL);if(!t)return!1;let a=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&wL(a)?29:rL[r])}function hf(e,t){let a=t.match(oL);if(!a)return!1;let r=+a[1],o=+a[2],n=+a[3],s=!!a[5];return(r<=23&&o<=59&&n<=59||r==23&&o==59&&n==60)&&(!e||s)}var IL=/t|\s/i;function xL(e){let t=e.split(IL);return t.length==2&&mf(t[0])&&hf(!0,t[1])}var yL=/\/|:/,LL=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function CL(e){return yL.test(e)&&LL.test(e)}var SL=/[^\\]\\Z/;function bL(e){if(SL.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var vL;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(vL||={});function kL(e){let t=0,a=e.length,r=0,o;for(;r<a;)t++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<a&&(o=e.charCodeAt(r),(o&64512)==56320&&r++);return t}function ve(e,t,a="2019-09",r=Zt(t),o=!0,n=null,s="#",i="#",l=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:s,keyword:"false",keywordLocation:s,error:"False boolean schema."}]};let u=typeof e,d;switch(u){case"boolean":case"number":case"string":d=u;break;case"object":d=e===null?"null":Array.isArray(e)?"array":"object";break;default:throw Error(`Instances of "${u}" type are not supported.`)}let{$ref:c,$recursiveRef:f,$recursiveAnchor:p,type:m,const:L,enum:C,required:y,not:S,anyOf:I,allOf:x,oneOf:b,if:N,then:U,else:j,format:ie,properties:z,patternProperties:G,additionalProperties:q,unevaluatedProperties:ee,minProperties:W,maxProperties:Q,propertyNames:E,dependentRequired:v,dependentSchemas:_,dependencies:re,prefixItems:oe,items:Pe,additionalItems:Ne,unevaluatedItems:k,contains:H,minContains:$,maxContains:ne,minItems:he,maxItems:Ie,uniqueItems:ce,minimum:K,maximum:X,exclusiveMinimum:pe,exclusiveMaximum:Ce,multipleOf:le,minLength:ae,maxLength:te,pattern:Z,__absolute_ref__:J,__absolute_recursive_ref__:me}=t,T=[];if(p===!0&&n===null&&(n=t),f==="#"){let D=n===null?r[me]:n,R=`${i}/$recursiveRef`,Y=ve(e,n===null?t:n,a,r,o,D,s,R,l);Y.valid||T.push({instanceLocation:s,keyword:"$recursiveRef",keywordLocation:R,error:"A subschema had errors."},...Y.errors)}if(c!==void 0){let D=r[J||c];if(D===void 0){let M=`Unresolved $ref "${c}".`;throw J&&J!==c&&(M+=` Absolute URI "${J}".`),M+=`
|
|
14
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Bu(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=yr);let u=Qg(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Du(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(d),!s&&(!n||!Ga(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Qg(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Jg(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Jg(e,t,a){let r=ui(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=It(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?ci:fi)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=It(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Uo(a,s)>Uo(a,e.alternative)&&(s=e.alternative),i=s+It(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qr.single:Qr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Yg=["<","&"];function Jr(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:It(e.value,Object.assign({},r.settings.characterReferences,{subset:Yg}))}function Ou(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Jr(e,t,a,r)}function Uu(e,t,a,r){return r.all(e)}var Nu=pi("type",{invalid:Zg,unknown:ew,handlers:{comment:Ru,doctype:Eu,element:Bu,raw:Ou,root:Uu,text:Jr}});function Zg(e){throw new Error("Expected node, not `"+e+"`")}function ew(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var tw={},aw={},rw=[];function _n(e,t){let a=t||tw,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:ow,all:nw,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||mi,characterReferences:a.characterReferences||aw,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?yr:di,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function ow(e,t,a){return Nu(e,t,a,this)}function nw(e){let t=[],a=e&&e.children||rw,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Yr(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Et(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function sw(e){return Array.isArray(e)?e:[e]}async function Vu(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function qn(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Gu(e){return e==="ansi"||qn(e)}function Hn(e){return e==="none"}function Ku(e){return Hn(e)}function Xu(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ro(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function iw(e){let t=ro(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Qu(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var $n="light-dark()",lw=["color","background-color"];function uw(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function dw(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?uw(o,n):o})):e}function cw(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Zr(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&lw.includes(f))if(r===$n&&s.length>1){let m=t.findIndex(S=>S==="light"),L=t.findIndex(S=>S==="dark");if(m===-1||L===-1)throw new Se('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let C=s[m][f]||"inherit",y=s[L][f]||"inherit";l[f]=`light-dark(${C}, ${y})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,f)]=p)}}),n.htmlStyle=l,n}function Zr(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ue.Italic&&(t["font-style"]="italic"),e.fontStyle&Ue.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ue.Underline&&a.push("underline"),e.fontStyle&Ue.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function On(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Ju=new WeakMap;function oo(e,t){Ju.set(e,t)}function Xa(e){return Ju.get(e)}var da=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(sw(a).map(r=>[r,Vr])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return fw(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function fw(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function pw(e,t){if(!(e instanceof da))throw new Se("Invalid grammar state");return e.getInternalStack(t)}function mw(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new Se(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new Se(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new Se(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=iw(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));hw(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return dw(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new Se(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(d,c,f,p){let m=o[d],L="",C=-1,y=-1;if(c===0&&(C=0),f===0&&(y=0),f===Number.POSITIVE_INFINITY&&(y=m.children.length),C===-1||y===-1)for(let I=0;I<m.children.length;I++)L+=Yu(m.children[I]),C===-1&&L.length===c&&(C=I+1),y===-1&&L.length===f&&(y=I+1);if(C===-1)throw new Se(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(y===-1)throw new Se(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let S=m.children.slice(C,y);if(!p.alwaysWrap&&S.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&S.length===1&&S[0].type==="element")i(S[0],p,"token");else{let I={type:"element",tagName:"span",properties:{},children:S};i(I,p,"wrapper"),m.children.splice(C,S.length,I)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(L=>L);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Xu(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function hw(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Se(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new Se(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Yu(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Yu).join(""):""}var gw=[mw()];function eo(e){let t=ww(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...gw]}function ww(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var Gt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Dn={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Iw(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function qu(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function xw(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)Dn[r]&&t.push({type:"setDecoration",value:Dn[r]});else if(r<=29){let o=Dn[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Gt[r-30]}});else if(r===38){let o=qu(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:Gt[r-40]}});else if(r===48){let o=qu(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:Gt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Gt[r-100+8]}})}return t}function yw(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Iw(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=xw(s.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)}n=s.position}while(n<r.length);return o}}}var Lw={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 Cw(e=Lw){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 r;function o(){if(r)return r;r=[];for(let u=0;u<Gt.length;u++)r.push(t(Gt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Sw={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 bw(e,t,a){let r=Yr(e,a),o=ro(t),n=Object.fromEntries(Gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Sw[l]]})),s=Cw(n),i=yw();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=Et(d,r),c=Et(c,r),u.decorations.has("dim")&&(d=vw(d));let f=Ue.None;return u.decorations.has("bold")&&(f|=Ue.Bold),u.decorations.has("italic")&&(f|=Ue.Italic),u.decorations.has("underline")&&(f|=Ue.Underline),u.decorations.has("strikethrough")&&(f|=Ue.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function vw(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Wn(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(qn(o)||Hn(r))return ro(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return bw(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Se(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new Se(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Tw(t,i,n,s,a)}function kw(...e){if(e.length===2)return Xa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(qn(o)||Hn(n))throw new Se("Plain language does not have grammar state");if(o==="ansi")throw new Se("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new da(jn(a,l,s,i,r).stateStack,l.name,s.name)}function Tw(e,t,a,r,o){let n=jn(e,t,a,r,o),s=new da(n.stateStack,t.name,a.name);return oo(n.tokens,s),n.tokens}function jn(e,t,a,r,o){let n=Yr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=ro(e),u=o.grammarState?pw(o.grammarState,a.name)??Vr:o.grammarContextCode!=null?jn(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Vr,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let C,y,S;o.includeExplanation&&(C=t.tokenizeLine(m,u,i),y=C.tokens,S=0);let I=t.tokenizeLine2(m,u,i),x=I.tokens.length/2;for(let b=0;b<x;b++){let N=I.tokens[2*b],U=b+1<x?I.tokens[2*b+2]:m.length;if(N===U)continue;let j=I.tokens[2*b+1],ie=Et(r[Vt.getForeground(j)],n),z=Vt.getFontStyle(j),G={content:m.substring(N,U),offset:L+N,color:ie,fontStyle:z};if(o.includeExplanation){let q=[];if(o.includeExplanation!=="scopeName")for(let W of a.settings){let Q;switch(typeof W.scope){case"string":Q=W.scope.split(/,/).map(E=>E.trim());break;case"object":Q=W.scope;break;default:continue}q.push({settings:W,selectors:Q.map(E=>E.split(/ /))})}G.explanation=[];let ee=0;for(;N+ee<U;){let W=y[S],Q=m.substring(W.startIndex,W.endIndex);ee+=Q.length,G.explanation.push({content:Q,scopes:o.includeExplanation==="scopeName"?Aw(W.scopes):Pw(q,W.scopes)}),S+=1}}d.push(G)}c.push(d),d=[],u=I.ruleStack}return{tokens:c,stateStack:u}}function Aw(e){return e.map(t=>({scopeName:t}))}function Pw(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Ew(e,n,t.slice(0,r))}}return a}function Hu(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Rw(e,t,a){if(!Hu(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Hu(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Ew(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Rw(s,t,a)){r.push(n);break}return r}function Zu(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=Wn(e,t,{...a,theme:l.theme}),d=Xa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Mw(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:L,explanation:C,offset:y,...S}=p[u][c];f.variants[r[m].color]=S}),f})),i=o[0].state?new da(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&oo(s,i),s}function Mw(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function to(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(y=>y[1]).map(y=>({color:y[0],theme:y[1]})).sort((y,S)=>y.color===u?-1:S.color===u?1:0);if(f.length===0)throw new Se("`themes` option must not be empty");let p=Zu(e,t,a);if(l=Xa(p),u&&$n!==u&&!f.find(y=>y.color===u))throw new Se(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(y=>e.getTheme(y.theme)),L=f.map(y=>y.color);n=p.map(y=>y.map(S=>cw(S,L,d,u,c))),l&&oo(n,l);let C=f.map(y=>Yr(y.theme,a));o=$u(f,m,C,d,u,"fg",c),r=$u(f,m,C,d,u,"bg",c),s=`shiki-themes ${m.map(y=>y.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Yr(a.theme,a);n=Wn(e,t,a);let d=e.getTheme(a.theme);r=Et(d.bg,u),o=Et(d.fg,u),s=d.name,l=Xa(n)}else throw new Se("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function $u(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Et(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===$n&&e.length>1){let c=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(c===-1||f===-1)throw new Se('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Et(t[c][n],a[c])||"inherit",m=Et(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function ao(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ao(e,o,n),codeToTokens:(o,n)=>to(e,o,n)}){let o=t;for(let m of eo(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=to(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=_w(n):c==="never"&&(n=Dw(n)),f&&(n=Bw(n));let p={...r,get source(){return o}};for(let m of eo(a))n=m.tokens?.call(p,n)||n;return Fw(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Fw(e,t,a,r=Xa(e)){let o=eo(t),n=[],s={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[L,C]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=C);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Xu,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return f}};if(e.forEach((L,C)=>{C&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
15
|
+
`}));let y={type:"element",tagName:"span",properties:{class:"line"},children:[]},S=0;for(let I of L){let x={type:"element",tagName:"span",properties:{...I.htmlAttrs},children:[{type:"text",value:I.content}]},b=On(I.htmlStyle||Zr(I));b&&(x.properties.style=b);for(let N of o)x=N?.span?.call(p,x,C+1,S,y,I)||x;i==="inline"?s.children.push(x):i==="classic"&&y.children.push(x),S+=I.content.length}if(i==="classic"){for(let I of o)y=I?.line?.call(p,y,C+1)||y;f.push(y),n.push(y)}else i==="inline"&&f.push(y)}),i==="classic"){for(let L of o)c=L?.code?.call(p,c)||c;d.children.push(c);for(let L of o)d=L?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let L=[],C={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let I of s.children)I.type==="element"&&I.tagName==="br"?(L.push(C),C={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(I.type==="element"||I.type==="text")&&C.children.push(I);L.push(C);let S={type:"element",tagName:"code",properties:{},children:L};for(let I of o)S=I?.code?.call(p,S)||S;s.children=[];for(let I=0;I<S.children.length;I++){I>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=S.children[I];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&oo(m,r),m}function _w(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ue.Underline||n.fontStyle&Ue.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function Dw(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function Bw(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=On(o.htmlStyle||Zr(o)),s=On(r.htmlStyle||Zr(r)),i=o.fontStyle&&(o.fontStyle&Ue.Underline||o.fontStyle&Ue.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ue.Underline||r.fontStyle&Ue.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Ow=_n;function Uw(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ao(e,n,s),codeToTokens:(n,s)=>to(e,n,s)},o=Ow(ao(e,t,a,r));for(let n of eo(a))o=n.postprocess?.call(r,o,a)||o;return o}var Wu={light:"#333333",dark:"#bbbbbb"},ju={light:"#fffffe",dark:"#1e1e1e"},zu="__shiki_resolved";function zn(e){if(e?.[zu])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Wu.light:Wu.dark),a||(a=t.type==="light"?ju.light:ju.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,zu,{enumerable:!1,writable:!1,value:!0}),t}async function ed(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Gu(t)).map(async t=>await Vu(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function td(e){return(await Promise.all(e.map(async a=>Ku(a)?null:zn(await Vu(a))))).filter(a=>!!a)}var Bn=3,Nw=!1;function qw(e,t=3){if(Bn&&!(typeof Bn=="number"&&t>Bn)){if(Nw)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Rt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function ad(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 Rt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Un=class extends yu{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),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=zn(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=$a.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=ad(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Rt(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}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 r of a)this._langGraph.set(r,this._langMap.get(r))}},Nn=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},Ka=0;function Hw(e){Ka+=1,e.warnings!==!1&&Ka>=10&&Ka%10===0&&console.warn(`[Shiki] ${Ka} 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 Rt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(zn),o=new Nn(e.engine,a),n=new Un(o,r,a,e.langAlias),s;function i(I){return ad(I,e.langAlias)}function l(I){y();let x=n.getGrammar(typeof I=="string"?I:I.name);if(!x)throw new Rt(`Language \`${I}\` not found, you may need to load it first`);return x}function u(I){if(I==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};y();let x=n.getTheme(I);if(!x)throw new Rt(`Theme \`${I}\` not found, you may need to load it first`);return x}function d(I){y();let x=u(I);s!==I&&(n.setTheme(x),s=I);let b=n.getColorMap();return{theme:x,colorMap:b}}function c(){return y(),n.getLoadedThemes()}function f(){return y(),n.getLoadedLanguages()}function p(...I){y(),n.loadLanguages(I.flat(1))}async function m(...I){return p(await ed(I))}function L(...I){y();for(let x of I.flat(1))n.loadTheme(x)}async function C(...I){return y(),L(await td(I))}function y(){if(t)throw new Rt("Shiki instance has been disposed")}function S(){t||(t=!0,n.dispose(),Ka-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:C,loadThemeSync:L,dispose:S,[Symbol.dispose]:S}}async function $w(e){e.engine||qw("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([td(e.themes||[]),ed(e.langs||[]),e.engine]);return Hw({...e,themes:t,langs:a,engine:r})}async function Ww(e){let t=await $w(e);return{getLastGrammarState:(...a)=>kw(t,...a),codeToTokensBase:(a,r)=>Wn(t,a,r),codeToTokensWithThemes:(a,r)=>Zu(t,a,r),codeToTokens:(a,r)=>to(t,a,r),codeToHast:(a,r)=>ao(t,a,r),codeToHtml:(a,r)=>Uw(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function rd(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,Gu(c))return[];let f=t[c];if(!f)throw new Se(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if(Ku(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new Se(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Ww({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function jw(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function od(e,t){let a=jw(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var Vn=[{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-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.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-YU3KF3Y6.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-BMSTTQT4.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-YKL22AM4.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-YD3RINFS.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-AUUIRTAZ.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-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.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-ZF7YKJP7.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-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.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-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.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-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-K2EDFFOP.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-CPV3A4MM.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-YEOV5OY7.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-I5IJFJ2O.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-JXWLGPJS.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-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.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-3YFWZUJ6.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-7T4OK2LD.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-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.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-WHPD3NJL.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-VI6LYHRW.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-MU4UAPH3.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-OY2C64LG.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-M6XWA362.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"))}],nd=Object.fromEntries(Vn.map(e=>[e.id,e.import])),sd=Object.fromEntries(Vn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Qa={...nd,...sd};var zw=[{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"))}],id=Object.fromEntries(zw.map(e=>[e.id,e.import]));var Ja=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Vw(){return 2147483648}function Gw(){return typeof performance<"u"?performance.now():Date.now()}var Kw=(e,t)=>e+(t-e%t)%t;async function Xw(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Vw();if(p>L)return!1;for(let C=1;C<=4;C*=2){let y=m*(1+.2/C);y=Math.min(y,p+100663296);let S=Math.min(L,Kw(Math.max(p,y),65536));if(s(S))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let C=m+L,y=m;for(;p[y]&&!(y>=C);)++y;if(y-m>16&&p.buffer&&l)return l.decode(p.subarray(m,y));let S="";for(;m<y;){let I=p[m++];if(!(I&128)){S+=String.fromCharCode(I);continue}let x=p[m++]&63;if((I&224)===192){S+=String.fromCharCode((I&31)<<6|x);continue}let b=p[m++]&63;if((I&240)===224?I=(I&15)<<12|x<<6|b:I=(I&7)<<18|x<<12|b<<6|p[m++]&63,I<65536)S+=String.fromCharCode(I);else{let N=I-65536;S+=String.fromCharCode(55296|N>>10,56320|N&1023)}}return S}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:Gw,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var Qw=Object.defineProperty,Jw=(e,t,a)=>t in e?Qw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ee=(e,t,a)=>Jw(e,typeof t!="symbol"?t+"":t,a),De=null;function Yw(e){throw new Ja(e.UTF8ToString(e.getLastOnigError()))}var so=class e{constructor(t){Ee(this,"utf16Length"),Ee(this,"utf8Length"),Ee(this,"utf16Value"),Ee(this,"utf8Value"),Ee(this,"utf16OffsetToUtf8"),Ee(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},io=class ft{constructor(t){if(Ee(this,"id",++ft.LAST_ID),Ee(this,"_onigBinding"),Ee(this,"content"),Ee(this,"utf16Length"),Ee(this,"utf8Length"),Ee(this,"utf16OffsetToUtf8"),Ee(this,"utf8OffsetToUtf16"),Ee(this,"ptr"),!De)throw new Ja("Must invoke loadWasm first.");this._onigBinding=De,this.content=t;let a=new so(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!ft._sharedPtrInUse?(ft._sharedPtr||(ft._sharedPtr=De.omalloc(1e4)),ft._sharedPtrInUse=!0,De.HEAPU8.set(a.utf8Value,ft._sharedPtr),this.ptr=ft._sharedPtr):this.ptr=a.createString(De)}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===ft._sharedPtr?ft._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Ee(io,"LAST_ID",0);Ee(io,"_sharedPtr",0);Ee(io,"_sharedPtrInUse",!1);var ld=io,Kn=class{constructor(t){if(Ee(this,"_onigBinding"),Ee(this,"_ptr"),!De)throw new Ja("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new so(t[i]);a[i]=u.createString(De),r[i]=u.utf8Length}let o=De.omalloc(4*t.length);De.HEAPU32.set(a,o/4);let n=De.omalloc(4*t.length);De.HEAPU32.set(r,n/4);let s=De.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)De.ofree(a[i]);De.ofree(n),De.ofree(o),s===0&&Yw(De),this._onigBinding=De,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new ld(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function Zw(e){return typeof e.instantiator=="function"}function eI(e){return typeof e.default=="function"}function tI(e){return typeof e.data<"u"}function aI(e){return typeof Response<"u"&&e instanceof Response}function rI(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 no;function oI(e){if(no)return no;async function t(){De=await Xw(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Zw(r)?r=await r.instantiator(a):eI(r)?r=await r.default(a):(tI(r)&&(r=r.data),aI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await nI(r)(a):r=await sI(r)(a):rI(r)?r=await Gn(r)(a):r instanceof WebAssembly.Module?r=await Gn(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Gn(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return no=t(),no}function Gn(e){return t=>WebAssembly.instantiate(e,t)}function nI(e){return t=>WebAssembly.instantiateStreaming(e,t)}function sI(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ud(e){return e&&await oI(e),{createScanner(t){return new Kn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ld(t)}}}var lo=rd({langs:Qa,themes:id,engine:()=>ud(import("../wasm-EOPKAILK.js"))}),{codeToHtml:iI,codeToHast:lI,codeToTokens:uI,codeToTokensBase:dI,codeToTokensWithThemes:cI,getSingletonHighlighter:fI,getLastGrammarState:pI}=od(lo,{guessEmbeddedLanguages:Qu});var dd=new Set(Object.keys(Qa)),Xn=new Map,Qn=new Map,ca=new Map,mI=(e,t)=>`${e}-${t[0]}-${t[1]}`,hI=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},gI=(e,t)=>{let a=mI(e,t);if(Xn.has(a))return Xn.get(a);let r=lo({themes:t,langs:[e]});return Xn.set(a,r),r};function wI(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return dd.has(r)},getSupportedLanguages(){return Array.from(dd)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=hI(r,o,n);return Qn.has(i)?Qn.get(i):(s&&(ca.has(i)||ca.set(i,new Set),ca.get(i).add(s)),gI(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Qn.set(i,d);let c=ca.get(i);if(c){for(let f of c)f(d);ca.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),ca.delete(i)}),null)}}}var cd=wI();import{memo as LI}from"react";import{useEffect as II,useRef as uo,useState as xI}from"react";var yI=5,fd=400;function pd(e,t,a={}){let{msPerChar:r=yI}=a,[o,n]=xI(t?"":e),s=uo(e),i=uo(t?0:e.length),l=uo(0),u=uo(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,II(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>fd&&(i.current=s.current.length-fd),u.current!==null)return;let c=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as co}from"react/jsx-runtime";var Jn=({className:e,from:t,children:a,...r})=>co("div",{className:A("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:co("div",{className:A("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Yn=({children:e,className:t,...a})=>co("div",{className:A("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),CI={cjk:yn,code:cd},SI={cjk:yn},bI={enabled:!1};function vI({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=pd(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return co(wa,{className:A("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??bI,plugins:a?SI:CI,...o,children:i})}var fo=LI(vI,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);fo.displayName="MessageResponse";import{jsx as md,jsxs as kI}from"react/jsx-runtime";function hd(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function gd(e){return e.parts.some(hd)}function wd(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!hd(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Id({className:e,...t}){let{t:a}=se();return kI("div",{"aria-live":"polite",className:A("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[md(Aa,{className:"ww:size-4 ww:shrink-0"}),md(tt,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as Ya,jsxs as TI}from"react/jsx-runtime";function xd({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return TI("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&&Ya("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}),Ya("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ya("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&Ya("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>Ya("button",{type:"button",onClick:()=>o?.(n),className:A("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:`${s*50}ms`},children:n},n))})]})}import{Component as AI}from"react";import{jsx as Zn,jsxs as RI}from"react/jsx-runtime";function PI({onRetry:e}){let{t}=se();return RI("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:[Zn("span",{children:t.widgetErrorBoundary.failedToLoad}),Zn("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var po=class extends AI{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Zn(PI,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as EI,jsx as we,jsxs as Mt}from"react/jsx-runtime";function es(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function yd(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?ba:qt}function Ld({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:C}=se(),y=e[e.length-1],S=e.length>0,I=c!=null,x=!I&&wd(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Mt(EI,{children:[!I&&(!S&&r?we(xd,{...r,onSuggestionSelect:o}):a&&we(Jn,{from:"assistant",children:we(Yn,{children:we(fo,{children:a})})})),e.map(b=>{let N=b.parts.filter(E=>E.type==="text"),U=b.parts.filter(E=>E.type==="reasoning"),j=b.parts.filter(E=>E.type==="file"),ie=nl(b.metadata),z=b.parts.filter(E=>"toolCallId"in E),G=b.parts.filter(E=>E.type==="reasoning"||"toolCallId"in E),q=b===y&&b.role==="assistant",ee=N.length>0,W=I?z.some(E=>E.toolCallId===c):!1,Q=p!==!1&&!W&&G.length>=2;return I&&!W?we("div",{style:{display:"none"}},b.id):b.role==="assistant"&&!gd(b)?we("div",{style:{display:"none"}},b.id):p===!1&&b.role==="assistant"&&!ee&&j.length===0&&z.every(E=>{let v="output"in E?E.output:void 0;return v===void 0||!n||!Ra(E.toolName,v,m)})?we("div",{style:{display:"none"}},b.id):Mt(Jn,{from:b.role,className:L?.message,children:[p!==!1&&!W&&!Q&&U.map((E,v)=>Mt(Ba,{isStreaming:E.state==="streaming",children:[we(Oa,{}),we(Ua,{children:E.text})]},`reasoning-${b.id}-${v}`)),Q&&(()=>{let E=G[G.length-1],v=E.type==="reasoning"?{icon:gt,label:C.reasoning.thinking}:{icon:yd(E.toolName),label:E.title??es(E.toolName)};return Mt(El,{isWorking:q&&(t==="streaming"||t==="submitted"),activeStep:v,children:[we(Ml,{workingLabel:C.chainOfThought.working,label:C.chainOfThought.done}),we(Fl,{children:G.map((_,re)=>{let oe=re===G.length-1;if(_.type==="reasoning")return we(Dl,{isStreaming:_.state==="streaming",isLast:oe,children:_.text},`reasoning-${b.id}-${re}`);let Pe=_.title??es(_.toolName),Ne=yd(_.toolName);if(p==="titles-only")return we(wn,{icon:Ne,title:Pe,state:_.state,isLast:oe},_.toolCallId);let k="output"in _?_.output:void 0;return Mt(wn,{icon:Ne,title:Pe,state:_.state,isLast:oe,children:[we(Qo,{input:_.input,debug:f}),k!==void 0&&we(Jo,{output:k,errorText:"errorText"in _?_.errorText:void 0,debug:f})]},_.toolCallId)})})]})})(),p!==!1&&!W&&!Q&&z.length===1&&(()=>{let E=z[0],v=E.title??es(E.toolName);if(p==="titles-only")return we(_i,{title:v,state:E.state});let _="output"in E?E.output:void 0;return Mt(Mi,{children:[we(Fi,{title:v,state:E.state}),Mt(Di,{children:[we(Qo,{input:E.input,debug:f}),_!==void 0&&we(Jo,{output:_,errorText:"errorText"in E?E.errorText:void 0,debug:f})]})]})})(),z.map(E=>{let v="output"in E?E.output:void 0,_=Ra(E.toolName,v,m),re=Bi(E.toolName,v,m),oe=E.toolCallId===c;return _&&n&&v!==void 0?we("div",{style:oe?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:_&&n&&v!==void 0&&we(po,{children:we(Fa,{isFullscreen:oe,resourceUri:_,toolInput:E.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:re,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Pe=>d(Pe,{toolCallId:E.toolCallId,resourceUri:_,toolInput:E.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},autoHeight:re}):void 0})})},E.toolCallId):null}),!W&&ie.length>0&&we(sl,{documents:ie}),!W&&we("div",{children:Mt(Yn,{className:A(b.role==="user"?L?.userBubble:L?.assistantBubble),children:[j.length>0&&we(rl,{files:j}),ee?N.map((E,v)=>{let _=q&&t==="streaming"&&v===N.length-1;return we(fo,{isStreaming:_,children:E.type==="text"?E.text:""},`${b.id}-${v}`)}):null]})})]},b.id)}),x&&we(Id,{})]})}import{jsx as Cd,jsxs as _I}from"react/jsx-runtime";var MI="https://app.waniwani.ai/assets/waniwani-logo.svg",FI="https://waniwani.ai";function Sd(){let{t:e}=se();return _I("a",{href:FI,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Cd("span",{children:e.poweredBy.label}),Cd("img",{src:MI,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as mo}from"react/jsx-runtime";function bd({suggestions:e,isLoading:t,onSelect:a,align:r="start",className:o,...n}){return e.length===0&&!t?null:mo("div",{className:A("ww:px-4 ww:py-2",o),...n,children:mo("div",{className:A("ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",r==="center"&&"ww:justify-center"),children:t?[0,1,2].map(s=>mo("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,i)=>mo("button",{type:"button",onClick:()=>a(s),className:A("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border 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:`${i*50}ms`},children:s},s))})})}import{useEffect as DI,useRef as BI,useState as OI}from"react";import{jsx as be,jsxs as Kt}from"react/jsx-runtime";var vd=20;function UI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),be("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function NI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),be("polyline",{points:"3 4 3 9 8 9"}),be("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),be("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function qI({label:e}){return Kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[be("title",{children:e}),be("polyline",{points:"3 6 5 6 21 6"}),be("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),be("path",{d:"M10 11v6"}),be("path",{d:"M14 11v6"})]})}function kd({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=se(),[i,l]=OI(!1),u=BI(null);DI(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let d=e.slice(0,vd),c=Math.max(0,e.length-vd);return Kt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[be("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:be(UI,{label:s.threadMenu.newChat})}),be("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:be(NI,{label:s.threadMenu.threadHistory})}),i&&Kt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[d.length===0&&be("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return Kt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[Kt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[be("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),be("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Vo(m,n)})]}),be("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:be(qI,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&be("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(c)})]})]})}import{createContext as HI,useContext as $I}from"react";function Td(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function Ad(){return{subscribe(){return()=>{}},emit(){}}}var Pd=HI(Ad());function ho(){return $I(Pd)}var Rd=Pd.Provider;import{useCallback as WI,useRef as jI}from"react";function Ed(e){let t=jI(e);return t.current=e,WI(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=at(r??"/api/waniwani","/tool"),l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as tx}from"@ai-sdk/react";import{useCallback as ye,useEffect as je,useRef as Le,useState as Ft}from"react";var zI="/api/mcp/modules/documents",VI=2e4,GI=3e5,Ze=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function Md(e,t){return br(e,`${zI}${t}`)}function KI(e){return Md(e,"/upload-url")}function Fd(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function XI(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function QI(e){return e===403?new Ze("upload_disabled","This agent does not accept document uploads."):e===413?new Ze("max_file_size","That file is too large."):e===422||e===400?new Ze("accept","That file type is not accepted."):new Ze("upload_failed",`The upload could not be started (${e}).`)}function JI(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=GI;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new Ze("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new Ze("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new Ze("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function go(e){let t=Md(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:Fd(e.headers,e.uploadHeaders)})}catch{}}async function _d(e){e.signal.throwIfAborted();let t=KI(e.api);if(!t)throw new Ze("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),VI),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=Fd(e.headers,e.uploadHeaders);i.set("Content-Type","application/json"),n=await fetch(t,{method:"POST",headers:i,signal:a.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(i){throw e.signal.aborted?i:new Ze("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw QI(n.status);let s=XI(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Ze("upload_failed","The upload could not be started.");return await JI({url:s.uploadUrl,headers:s.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:s.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as YI,uiMessageChunkSchema as ZI}from"ai";function ex(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var wo=class extends YI{processResponseStream(t){let a="",r=ZI(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
|
|
16
|
+
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=ex(f.error);if(p?.length){let m={...c};for(let C of p)delete m[C];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var Dd=50,Bd=1e3;function Io(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function xo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await rn(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ts(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function as(e){return await xo(async a=>{let n=a.transaction(Ke,"readonly").objectStore(Ke).index(vr),i=(await ts(n.getAll(e))??[]).filter(Io);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function yo(e){return await xo(async a=>{let o=a.transaction(Ke,"readonly").objectStore(Ke),n=await ts(o.get(e));return Io(n)?n:null})??null}async function rs(e){if(!Io(e))return;let t=e.messages.length>Bd?{...e,messages:e.messages.slice(e.messages.length-Bd)}:e;await xo(async a=>{await new Promise((l,u)=>{let d=a.transaction(Ke,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Ke).put(t)});let r=a.transaction(Ke,"readwrite"),o=r.objectStore(Ke),n=o.index(vr),i=(await ts(n.getAll(t.memoryUserId))??[]).filter(Io);if(i.length>Dd){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Dd);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Od(e){await xo(async t=>(await new Promise((a,r)=>{let o=t.transaction(Ke,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Ke).delete(e)}),null))}async function os(e){return(await as(e))[0]?.threadId??null}function Ud(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var ax="x-session-id",rx=250,ox=200;function Nd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():_a()}function Lo(){return new Date().toISOString()}function qd(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function nx(e,t){let a=at(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function Hd(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,d=e.visitorId;je(()=>en(d),[d]);let c=ho(),f=Le(a),p=Le(r),m=Le(o),L=Le(i);je(()=>{L.current=i},[i]);let C=Le(void 0),y=Le(void 0),S=Le(null),[I,x]=Ft(void 0),b=Le(I),[N,U]=Ft(l),j=Le(N),[ie,z]=Ft([]),[G,q]=Ft(!i),ee=Le(void 0),W=Le(void 0),Q=Le(void 0),E=Le(void 0),v=Le(0),_=Le(u);je(()=>{_.current=u},[u]);let re=ye(g=>{j.current=g,U(g),g&&(_.current?.(g),c.emit({name:"thread.changed",sessionId:b.current,properties:{threadId:g}}))},[c]),oe=ye(async()=>{if(!i)return;let g=S.current?.memoryUserId;if(!g)return;let O=await as(g);z(O)},[i]),Pe=ye(()=>b.current,[]),Ne=ye(g=>{let O=qd(g);if(!O||b.current===O)return;let V=b.current===void 0;b.current=O,x(O),V&&c.emit({name:"session.started",properties:{sessionId:O}})},[c]),k=ye(()=>{b.current=void 0,x(void 0)},[]);je(()=>{f.current=a,p.current=r},[a,r]),je(()=>{m.current=o},[o]),je(()=>{let g=!1,O=v.current;return(async()=>{try{let fe=await Ea();if(g)return;S.current=fe}catch{}if(!i)return;let V=S.current?.memoryUserId;if(!V){q(!0);return}try{let fe=l??await os(V);if(g||O!==v.current)return;if(fe){let Me=await yo(fe);if(g||O!==v.current)return;Me&&Me.memoryUserId===V&&(j.current=Me.threadId,U(Me.threadId),ee.current=Me.createdAt,W.current=Me.title,Me.sessionId&&(b.current=Me.sessionId,x(Me.sessionId)),me(Me.messages))}await oe()}finally{g||q(!0)}})(),()=>{g=!0}},[]);let H=Le(null),$=ye(g=>{let O=m.current?.[g];return typeof O=="string"?O:void 0},[]),ne=ye(()=>({api:t,token:Tr(f.current),channelId:$("channelId"),sessionId:b.current}),[t,$]),he=ye(g=>{let O=H.current;H.current=null,O?.report(ne(),{mode:$("mode"),outcome:g})},[ne,$]),Ie=Le(new wo({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},O=Object.hasOwn(g,"sessionId"),V=qd(g.sessionId);if(V)Ne(V),g.sessionId=V;else if(O)k(),delete g.sessionId;else{let Oo=Pe();Oo&&(g.sessionId=Oo)}Nt(C.current)&&(g.modelContext=C.current),y.current?.length&&(g.documents=y.current);let fe=S.current,Me=Ge();fe&&(g.visitorContext={timezone:fe.timezone,language:fe.language,languages:fe.languages,deviceType:fe.deviceType,referrer:fe.referrer,visitorId:Me});let Te=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},ap=typeof Te.client=="object"&&Te.client!==null?Te.client:{};g.visitor={...Te,id:Me,client:{...ap,...fe&&{memoryUserId:fe.memoryUserId}}};let ri=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,oi=S.current?.memoryUserId,ni=S.current?.language,Ir={};if(oi&&(Ir.memoryUserId=oi),ni&&(Ir.locale=ni),(Object.keys(Ir).length>0||ri)&&(g.extra={...Ir,...ri??{}}),L.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(j.current=g.threadId);else{let xr=j.current;xr||(xr=Nd(),ee.current=Lo(),W.current=void 0,re(xr)),g.threadId=xr}return g},fetch:(async(g,O)=>{let V=H.current;V?.mark("requestStart");try{let fe=await fetch(g,O);return C.current=void 0,Ne(fe.headers.get(ax)),V?V.instrument(fe):fe}finally{y.current=void 0}})})),ce=Le(e.transport?.({fallback:Ie.current,headers:()=>f.current,body:()=>({channelId:$("channelId"),visitor:{id:Ge()}}),needsFallback:()=>L.current||!!y.current?.length||Nt(C.current),onSession:Ne})??Ie.current),K=Le(null),X=Le(null),pe=Le({}),[Ce,le]=Ft(0),ae=e.skipRemoteConfig===!0,te=ye(async()=>{if(!ae)try{let g=await nx(t,f.current);pe.current=g,le(O=>O+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,ae]);je(()=>{te()},[te]);let{messages:Z,sendMessage:J,setMessages:me,status:T,stop:Be}=tx({messages:e.initialMessages,transport:ce.current,onFinish({message:g,isAbort:O,isDisconnect:V,isError:fe}){H.current?.mark("streamEnd"),he(O||V||fe?"error":"ok"),s?.(),!O&&!V&&!fe&&c.emit({name:"message.received"}),K.current&&(X.current=g)},onError(g){he("error"),console.warn("[Waniwani] Chat error:",g.message),c.emit({name:"chat.error",properties:{message:g.message.slice(0,ox)}}),K.current&&(K.current.reject(g),K.current=null)}}),D=Le(Z);je(()=>{D.current=Z},[Z]),je(()=>{let g=ce.current;return g.restore?.().then(O=>{O.length>0&&D.current.length===0&&me(O)}).catch(()=>{}),()=>g.dispose?.()},[]);let R=ye(()=>{H.current=zi(D.current.filter(g=>g.role==="user").length+1)},[]),[Y,M]=Ft(!1),w=ye(async()=>{M(!0);try{await Be();let g=b.current;if(!g)return;await fetch(at(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...f.current},body:JSON.stringify({sessionId:g})})}catch{}finally{M(!1)}},[t,Be]),P=Le(i);je(()=>{if(!i||P.current||(P.current=!0,D.current.length>0))return;let g=!1,O=v.current;return q(!1),(async()=>{try{let V=S.current;if(!V)try{V=await Ea(),S.current=V}catch{}let fe=V?.memoryUserId;if(!fe||g||O!==v.current){g||q(!0);return}let Me=l??await os(fe);if(g||O!==v.current)return;if(Me){let Te=await yo(Me);if(g||O!==v.current)return;Te&&Te.memoryUserId===fe&&(j.current=Te.threadId,U(Te.threadId),ee.current=Te.createdAt,W.current=Te.title,Te.sessionId&&(b.current=Te.sessionId,x(Te.sessionId)),me(Te.messages))}await oe()}finally{g||q(!0)}})(),()=>{g=!0}},[i]),je(()=>{if(T==="ready"&&K.current&&X.current){let g=K.current,O=X.current;K.current=null,X.current=null,g.resolve(O)}},[T]);let[F,ue]=Ft(""),et=typeof d!="function",st=F.length>0;je(()=>{et&&st&&ce.current.prepare?.()},[et,st]);let[it,mr]=Ft([]),Do=Le([]);Do.current=it;let ga=T==="submitted"||T==="streaming",hr=ye(g=>{for(let O of g)for(let V of O.documents??[])go({documentId:V.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),St=ye(()=>{hr(Do.current),mr([])},[hr]),Vf=ye(g=>{let O=Do.current.find(V=>V.id===g);O&&hr([O]),mr(V=>V.filter(fe=>fe.id!==g))},[hr]),Gf=ga&&it.length>0,Kf=ye(g=>{let O=!!g.text?.trim(),V=!!(g.files?.length||g.documents?.length);if(O||V){if(ga){if(it.length>0)return;mr(fe=>[...fe,{id:_a(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),ue("");return}R(),C.current=g.modelContext,y.current=g.documents,J({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),n?.(g.text||""),c.emit({name:"message.sent"}),ue("")}},[J,n,ga,it.length,c,R]),Xf=ye(g=>new Promise((O,V)=>{K.current={resolve:O,reject:V},R(),J({text:g}),n?.(g),c.emit({name:"message.sent"})}),[J,n,c,R]);je(()=>{if(T!=="ready"||Y||it.length===0)return;let[g,...O]=it;mr(O),R(),C.current=g.modelContext,y.current=g.documents,J({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),n?.(g.text),c.emit({name:"message.sent"})},[T,Y,J,n,it,c,R]);let Qf=ye(()=>{ce.current.reset?.(),me([]),St(),k(),ue(""),pe.current={},le(g=>g+1),te()},[me,k,te,St]),gr=ye(()=>{if(!L.current)return;let g=S.current?.memoryUserId,O=j.current,V=D.current;if(!(!g||!O||V.length===0)){if(ee.current||(ee.current=Lo()),!W.current){let fe=V.find(Te=>Te.role==="user"),Me=fe?fe.parts.map(Te=>"text"in Te&&typeof Te.text=="string"?Te.text:"").join(" "):"";W.current=Ud(Me)}return{threadId:O,memoryUserId:g,title:W.current,messages:V,sessionId:b.current,createdAt:ee.current,updatedAt:Lo()}}},[]),ei=ye(async()=>{let g=gr();g&&(await rs(g),await oe())},[gr,oe]);je(()=>{if(i&&G&&!(T==="submitted"||T==="streaming")&&Z.length!==0)return Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{Q.current=void 0;let g=ei().finally(()=>{E.current===g&&(E.current=void 0)});E.current=g},rx),()=>{Q.current&&clearTimeout(Q.current)}},[i,G,Z,T,ei]);let wr=ye(()=>{let g=E.current,O=Q.current,V=O?gr():void 0;return O&&(clearTimeout(O),Q.current=void 0),(async()=>{g&&await g,V&&(await rs(V),await oe())})()},[gr,oe]),Jf=ye(()=>{v.current+=1,wr(),ce.current.reset?.(),me([]),St(),k(),ue("");let g=Nd();return ee.current=Lo(),W.current=void 0,re(g),oe(),g},[me,k,re,oe,wr,St]),Bo=ye(async g=>{v.current+=1;let O=v.current;if(await wr(),O!==v.current)return;let V=await yo(g);O===v.current&&V&&(V.sessionId?(b.current=V.sessionId,x(V.sessionId)):k(),re(V.threadId),ee.current=V.createdAt,W.current=V.title,me(V.messages),St(),ue(""))},[me,k,re,wr,St]),Yf=ye(async g=>{if(j.current===g){v.current+=1,Q.current&&(clearTimeout(Q.current),Q.current=void 0);let O=E.current;O&&await O}await Od(g),await oe(),j.current===g&&(me([]),St(),k(),ue(""),j.current=void 0,U(void 0),ee.current=void 0,W.current=void 0)},[me,k,oe,St]);je(()=>{i&&G&&l!==void 0&&l!==j.current&&Bo(l)},[l,i,G,Bo]);let Zf=ye(g=>{ue(g.target.value)},[]),ti=Z[Z.length-1],ai=Z.length>0,ep=ga&&(!ai||ti.role==="user"),tp=pe.current;return{messages:Z,status:T,text:F,setText:ue,handleSubmit:Kf,handleTextChange:Zf,isLoading:ga,showLoaderBubble:ep,lastMessage:ti,hasMessages:ai,sendMessage:J,sendMessageAndWait:Xf,stop:w,reset:Qf,queuedMessages:it,queueFull:Gf,removeQueuedMessage:Vf,sessionId:I,toolDefinitions:tp,refreshToolDefinitions:te,threads:ie,activeThreadId:N,isThreadHistoryReady:G,startNewThread:Jf,switchThread:Bo,deleteThread:Yf}}import{useCallback as $d,useEffect as sx,useState as ix}from"react";var lx=6e3;function Wd(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=ix(null),u=$d((f,p,m)=>_d({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=$d(f=>{go({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);sx(()=>{if(!i)return;let f=setTimeout(()=>l(null),lx);return()=>clearTimeout(f)},[i]);let c=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:c?u:void 0,onDiscard:c?d:void 0,error:i,reportError:l}}import{useCallback as dx,useEffect as is,useMemo as ls,useRef as cx,useState as Gd}from"react";function fa(e){return e.map(t=>({id:null,text:t}))}function ns(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var ss="waniwani/suggestions";function pa(e){return typeof e=="object"&&e!==null}function jd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ux(e){if(!pa(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!pa(t)||!pa(t._meta))return null;let a=t._meta[ss];return!pa(a)||!jd(a.suggestions)?null:a.suggestions}function zd(e){let t=null;for(let a of e.parts){let r=ux(a);r!==null&&(t=r)}return t}function Vd(e){for(let t of e.parts){if(!pa(t)||t.type!=="data-suggestions")continue;let a=t.data;if(pa(a)&&jd(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function fx(e){return"page"in e||"channel"in e}function px(e){return typeof e!="object"||e===null?{}:fx(e)?{rungs:e}:{initial:e.initial}}function Kd(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=px(r),i=ls(()=>({page:null,channel:fa(s??[])}),[s]),l=n??i,u=ls(()=>o?ns({flow:null,followup:null,...l}):null,[o,l]),d=ls(()=>u?.suggestions.map(I=>I.text)??[],[u]),[c,f]=Gd(d),[p,m]=Gd(u?.origin??"channel"),L=cx(a),C=dx(()=>{f([])},[]),y=t.length>0;is(()=>{y||(f(d),m(u?.origin??"channel"))},[d,u,y]);let S=t[t.length-1];return is(()=>{S?.role==="user"&&C()},[S,C]),is(()=>{let I=L.current;if(L.current=a,I!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(j=>j.role==="assistant");if(!x)return;let b=zd(x),N=Vd(x),U=ns({flow:b===null?null:fa(b),followup:N===null?null:fa(N),page:null,channel:null});f(U?U.suggestions.map(j=>j.text):[]),m(U?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:C}}import{useEffect as mx,useRef as hx,useState as gx}from"react";var wx=80,Ix=50,xx=15e3,Xd=500;function Qd(e,t=!0){let[a,r]=gx(""),o=hx(void 0);return mx(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Xd)):o.current=setTimeout(l,Ix)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,xx)):o.current=setTimeout(l,wx)))};return o.current=setTimeout(l,Xd),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Jd(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return at(e,"/resource",r?{token:r}:void 0)}var Yd={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},yx={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Lx={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Cx(e){return{...Yd,...e}}function us(e){let t={};for(let[a,r]of Object.entries(Lx)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as ke,jsxs as yt}from"react/jsx-runtime";var ds=Zd(function(t,a){let{locale:r,messages:o}=t;return ke(zo,{locale:r,messages:o,children:ke(bx,{...t,ref:a})})}),bx=Zd(function(t,a){let{t:r,ready:o}=se(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:L,debug:C=!1,readOnly:y=!1,title:S,headerActions:I,hideHeader:x=!1,enableThreadHistory:b=!1,showToolCalls:N=!0,initializing:U=!1,onScreen:j=!0,disclaimer:ie}=t,z=n?.theme,G=n?.variables,q=n?.assistantBubble??!1,ee=G?us(G):{},[W,Q]=Co(!1);xt(()=>{if(z!=="auto"||typeof window>"u")return;let w=window.matchMedia("(prefers-color-scheme: dark)");Q(w.matches);let P=()=>Q(w.matches);return w.addEventListener("change",P),()=>w.removeEventListener("change",P)},[z]);let E=z==="dark"||z==="auto"&&W,v=Hd({...t,api:m}),_=ho(),re=Ed({...t,api:m,sessionId:v.sessionId,onCallTool:L?.onCallTool}),oe=L?.resourceEndpoint??Jd(m,t.headers),Pe=_t({});Pe.current={api:m,token:Tr(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:v.sessionId};let Ne=Za(w=>{Pr("widget",Pe.current,{widget:w.widget,outcome:w.outcome},w.metrics)},[]),k=Qd(f,!v.text),H=Wd({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:v.sessionId,documentUpload:u,allowAttachments:l}),[$,ne]=Co(null),[he,Ie]=Co(null),ce=_t(null),K=_t(null),X=_t(null),pe=_t(null),[Ce,le]=Co(!0),ae=_t(Ce);ae.current=Ce;let te=Za(()=>{let w=ce.current;if(!w)return;let P=w.querySelector("textarea");P&&P.focus()},[]),Z=Za((w="smooth")=>{let P=K.current;P&&P.scrollTo({top:P.scrollHeight,behavior:w})},[]);xt(()=>{let w=pe.current,P=K.current;if(!w||!P)return;let F=new IntersectionObserver(([ue])=>le(ue.isIntersecting),{root:P,rootMargin:"0px 0px 200px 0px",threshold:0});return F.observe(w),()=>F.disconnect()},[]),xt(()=>{let w=K.current;if(!w)return;let P=F=>{let et=(F.target instanceof Element?F.target:null)?.closest("a");et?.href&&_.emit({name:"link.clicked",properties:{url:et.href}})};return w.addEventListener("click",P),()=>w.removeEventListener("click",P)},[_]),xt(()=>{(v.messages[v.messages.length-1]?.role==="user"||ae.current)&&Z("smooth")},[v.messages.length,v.messages[v.messages.length-1]]),xt(()=>{Z("auto")},[Z]),xt(()=>{if(typeof ResizeObserver>"u")return;let w=K.current,P=X.current;if(!w&&!P)return;let F=w?.scrollHeight??0,ue=w?.clientHeight??0,et=new ResizeObserver(()=>{let st=K.current;if(!st)return;let it=st.scrollTop+ue>=F-5;F=st.scrollHeight,ue=st.clientHeight,it&&Z("auto")});return w&&et.observe(w),P&&et.observe(P),()=>et.disconnect()},[Z]);let J=Kd({messages:v.messages,status:v.status,suggestions:t.suggestions}),me=_t(null);xt(()=>{let w=J.suggestions;!j||w.length===0||me.current===w||(me.current=w,_.emit({name:"suggestions.shown",properties:{texts:w,origin:J.source}}))},[J.suggestions,J.source,_,j]);let T=c?.suggestions,Be=_t(null);xt(()=>{!j||v.messages.length>0||!T?.length||Be.current===T||(Be.current=T,_.emit({name:"suggestions.shown",properties:{texts:T,origin:"channel"}}))},[T,v.messages.length,_,j]);let D=Za(w=>{let P=w.content.map(F=>F.text??"").join("").trim();P&&v.handleSubmit({text:P,files:[],modelContext:w.modelContext})},[v.handleSubmit]),R=Za(w=>{let P=J.suggestions.indexOf(w),F=P>=0?P:c?.suggestions?.indexOf(w)??-1,ue=P>=0?J.source:"channel";_.emit({name:"suggestion.clicked",properties:{text:w,index:F,origin:ue}}),J.clear(),v.handleSubmit({text:w,files:[]})},[J.suggestions,J.source,J.clear,v.handleSubmit,c,_]);Sx(a,()=>({sendMessage:w=>{v.handleSubmit({text:w,files:[]}),te()},sendMessageAndWait:w=>v.sendMessageAndWait(w),reset:v.reset,focus:te,get messages(){return v.messages},get sessionId(){return v.sessionId}}),[v.handleSubmit,v.sendMessageAndWait,v.reset,v.messages,v.sessionId,te]),xt(()=>{if(!p)return;let w=P=>{let F=P.detail,ue=typeof F?.message=="string"?F.message:void 0;ue&&v.handleSubmit({text:ue,files:[]}),te()};return window.addEventListener(p,w),()=>window.removeEventListener(p,w)},[p,v.handleSubmit,te]);let Y=!x&&!!(S||b||I),M=U||!o;return yt("div",{ref:ce,style:{...ee,maxHeight:"inherit",...$&&he?{height:he}:{},opacity:M?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":q?"true":void 0,"data-color-scheme":z==="auto"?"auto":void 0,...M?{"data-waniwani-initializing":""}:{},...E?{"data-waniwani-dark":""}:{},className:A("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",z==="dark"&&"dark",s,i?.root),children:[Y&&yt("div",{className:A("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[S&&ke("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:S}),!S&&ke("div",{className:"ww:flex-1"}),b&&ke(kd,{threads:v.threads,activeThreadId:v.activeThreadId,onNewThread:v.startNewThread,onSelectThread:w=>{v.switchThread(w)},onDeleteThread:w=>{v.deleteThread(w)}}),I]}),yt("div",{ref:K,className:A("ww:relative ww:flex-1 ww:min-h-0",$?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[yt("div",{ref:X,className:A("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",$&&"ww:!py-0"),children:[ke(Qi,{value:Ne,children:ke(Ld,{messages:v.messages,status:v.status,welcomeMessage:d,welcome:c,onSuggestionSelect:R,resourceEndpoint:oe,chatSessionId:v.sessionId,isDark:E,onFollowUp:D,onCallTool:re,fullscreenToolCallId:$,debug:C,showToolCalls:N,toolDefinitions:v.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(w,P)=>{if(w==="fullscreen"){let F=ce.current?.getBoundingClientRect().height??0;Ie(F>0?F:null),ne(P.toolCallId)}else Ie(null),ne(null)}})}),ke("div",{ref:pe,"aria-hidden":!0,style:{height:1}})]}),!Ce&&!$&&ke("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ke(lt,{type:"button",onClick:()=>Z("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ke(Ia,{className:"ww:size-4"})})})]}),!y&&yt("div",{className:"ww:shrink-0 ww:bg-background",style:$?{display:"none"}:void 0,children:[ke(bd,{suggestions:J.suggestions,isLoading:J.isLoading,onSelect:R}),ke(bl,{queuedMessages:v.queuedMessages,onRemove:v.removeQueuedMessage}),ke("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:yt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[yt(ul,{onSubmit:v.handleSubmit,attachmentsEnabled:H.enabled,globalDrop:H.enabled,multiple:H.enabled,accept:H.accept,maxFileSize:H.maxFileSize,maxPdfPages:H.maxPdfPages,maxFiles:H.maxFiles,upload:H.upload,onDiscard:H.onDiscard,onError:H.reportError,className:A("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[ke(hl,{enabled:H.enabled}),H.enabled&&ke(ml,{className:"ww:px-4 ww:pt-3"}),yt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[H.enabled&&ke(pl,{}),ke(cl,{onChange:v.handleTextChange,value:v.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ke(fl,{status:v.status,disabled:v.queueFull,onStop:v.stop})]})]}),H.error&&ke("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:H.error.message}),yt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ke(Sd,{}),ke(gl,{text:ie})]})]})})]})]})});import{forwardRef as TC,useEffect as Fo,useImperativeHandle as AC,useMemo as _o,useRef as Zs,useState as Wf}from"react";var vx="https://app.waniwani.ai/api/mcp/chat",kx={api:vx};function Tx(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Ax(){let e=Tx();if(!e)return{};let t=_=>e.getAttribute(_)??void 0,a=_=>{let re=e.getAttribute(_);if(re==null)return;let oe=re.trim().toLowerCase();if(oe==="true"||oe==="1"||oe==="")return!0;if(oe==="false"||oe==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let _=a("data-show-tool-calls");_!==void 0&&(r.showToolCalls=_)}let m=t("data-css");m&&(r.css=m);let L=t("data-suggestions");L&&(r.suggestions=L.split(",").map(_=>_.trim()).filter(Boolean));let C=a("data-enable-thread-history");C!==void 0&&(r.enableThreadHistory=C);let y=a("data-disable-page-view");y!==void 0&&(r.disablePageView=y);let S=a("data-hide-header");S!==void 0&&(r.hideHeader=S);let I=t("data-theme");(I==="light"||I==="dark"||I==="auto")&&(r.appearance={...r.appearance,theme:I});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let b=t("data-locale");(b==="en"||b==="fr"||b==="es")&&(r.locale=b);let N=t("data-mode");(N==="inline"||N==="floating"||N==="composer"||N==="off")&&(r.mode=N);let U={},j=t("data-composer-variant")?.trim().toLowerCase();(j==="glow"||j==="outline")&&(U.variant=j);let ie=t("data-composer-size")?.trim().toLowerCase();(ie==="sm"||ie==="md"||ie==="lg")&&(U.size=ie);let z=a("data-composer-suggestions");z!==void 0&&(U.showSuggestions=z);let G=t("data-composer-align")?.trim().toLowerCase();(G==="start"||G==="center")&&(U.align=G);let q=a("data-composer-trigger");q!==void 0&&(U.trigger=q);let ee=a("data-composer-mobile-trigger");ee!==void 0&&(U.mobileTrigger=ee),Object.keys(U).length>0&&(r.composer=U);let W=t("data-height");W&&(r.height=W);let Q=t("data-launcher-text");Q&&(r.launcherText=Q);let E=t("data-appear-delay");if(E!==void 0){let _=Number.parseInt(E.trim(),10);Number.isFinite(_)&&_>=0&&(r.appearDelay=_)}let v=t("data-disclaimer");if(v!==void 0){let _=v.trim(),re=_.toLowerCase();re==="false"||re==="0"?r.disclaimer=!1:_&&(r.disclaimer=_)}return r}function er(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function cs(e,t,a){let r=a??Ax(),o=Px(t,r,e),n={...t?.composer??{},...er(r.composer),...er(e?.composer)},s=Object.keys(n).length>0,i={token:"",...kx,...er(t),...er(r),...er(e),...o?{appearance:o}:{},...s?{composer:n}:{}};if(!i.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return i}function Px(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as TR,useState as AR}from"react";var Rx="/api/mcp/events/v2/batch",fs=new Set;function Ex(e,t,a){return`${e}|${t}|${a??""}`}function tr(e){return br(e,Rx)}async function ps(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=tr(t);if(!s){ut("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){ut("page.viewed skipped: no channelId or source to attribute it");return}let i=Ex(t,a,r);if(!fs.has(i)){fs.add(i);try{let l=await Ea(),u=new Date().toISOString(),d=JSON.stringify({sentAt:u,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:u,correlation:{visitorId:l.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:l.referrer,deviceType:l.deviceType,language:l.language,timezone:l.timezone},metadata:{}}]}),c=fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:d,keepalive:!0});$t("pageViewSent"),await c}catch{fs.delete(i)}}}import{useMemo as Hx}from"react";import{useEffect as Dx,useSyncExternalStore as Bx}from"react";function Mx(e){return e?.patterns??e?.rules??[]}var ec="\0\0";function Fx(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ec).replace(/\\\*/g,"[^/]*").split(ec).join(".*");return new RegExp(`^${a}$`)}function _x(e,t){try{return Fx(e).test(t)}catch{return!1}}function tc(e,t){if(!e)return!0;let a=!1;for(let r of Mx(e))if(_x(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var ms="waniwani:locationchange",ac=!1;function Ox(){if(!(ac||typeof history>"u")){ac=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(ms)),o}}}}function Ux(e){return Ox(),window.addEventListener(ms,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(ms,e),window.removeEventListener("popstate",e)}}function Nx(){return window.location.pathname}function qx(){return"/"}function hs(){return Bx(Ux,Nx,qx)}function rc(e,t){let a=hs(),r=t&&tc(e,a);return Dx(()=>{ut("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var $x=3,Wx=["low","medium","high"];function gs(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function jx(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of Wx){let s=gs(t.get(n)??[])??gs(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min($x,e.length);){let n=gs(o);if(!n)break;r.push(n)}return r}function oc(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function nc(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function sc(e){let{pageSuggestions:t,suggestions:a}=e,r=hs();return Hx(()=>{let o=oc(r),n=t?.find(i=>oc(i.url)===o),s=n?jx(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ut("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:fa(a??[])}},[r,t,a])}var zx="waniwani:config:";function ic(e,t,a){return`${zx}${e}|${t}|${a??""}`}function So(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(ic(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function lc(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(ic(e,t,a),JSON.stringify(r))}catch{}}function Vx(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function uc(e,t,a,r){$t("configStart");let o=await Gx(e,t,a,r);return $t("configEnd"),a?.aborted||Ar(o.metadata),o}async function Gx(e,t,a,r){try{let o=at(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?Kx(i):{}}catch{return{}}}function Kx(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions);let a=nc(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility);let r=Vx(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as Xx,useRef as Qx}from"react";function ws(e,t){return e.find(a=>a.text===t)?.id??null}async function dc(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=tr(t);if(i)try{let l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:l,correlation:{visitorId:Ge(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{}}async function cc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await dc({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function fc(e,t){return t.map(a=>({id:ws(e,a),text:a}))}async function pc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await dc({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function mc(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=Qx(e.getSessionId);l.current=e.getSessionId,Xx(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;cc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:ws(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;pc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:fc(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function ma(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Jx=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Yx=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Zx=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],ey=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],ty=["waniwani/visitorId","visitorId"],ay=["correlationId","openai/requestId"];function hc(e){return e?ma(e,Jx):void 0}function gc(e){return e?ma(e,Yx):void 0}function wc(e){return e?ma(e,Zx):void 0}function Ic(e){return e?ma(e,ey):void 0}function xc(e){return e?ma(e,ty):void 0}function yc(e){return e?ma(e,ay):void 0}var ry=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],oy=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Lc(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of ry){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of oy)if(r.includes(o))return n}}var ny="@waniwani/sdk";function Cc(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??sy,o=uy(e),n=bo(e.meta),s=bo(e.metadata),i=dy(e,n),l=ot(e.eventId)??r(),u=cy(e.timestamp,a),d=ot(e.source)??Lc(n)??t.source??ny,c=Is(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:iy(e,o),metadata:f,rawLegacy:c}}function sy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function iy(e,t){if(!Is(e))return bo(e.properties);let a=ly(e,t),r=bo(e.properties);return{...a,...r}}function ly(e,t){switch(t){case"tool.called":{let a={};return ot(e.toolName)&&(a.name=e.toolName),ot(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return ot(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function uy(e){return Is(e)?e.eventType:e.event}function dy(e,t){let a=ot(e.requestId)??gc(t),r=ot(e.sessionId)??hc(t),o=ot(e.traceId)??wc(t),n=ot(e.externalUserId)??Ic(t),s=ot(e.visitorId)??xc(t),i=ot(e.correlationId)??yc(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function cy(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function bo(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ot(e){if(typeof e=="string"&&e.trim().length!==0)return e}function Is(e){return"eventType"in e}function Sc(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var fy="/api/mcp/events/v2/batch";var bc="@waniwani/sdk";var py=new Set([401,403]),my=new Set([408,425,429,500,502,503,504]),hy=(e,t)=>globalThis.fetch(e,t);function vc(e){return new xs(e)}var xs=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Iy(t.apiUrl,t.endpointPath??fy),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??hy,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":bc};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:xy(n)}}if(py.has(a.status))return{kind:"auth",status:a.status};if(my.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await wy(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:bc,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(gy(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function gy(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function wy(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Iy(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function xy(e){return e instanceof Error?e.message:String(e)}function kc(e){let{apiUrl:t,endpointPath:a}=yy(e.endpoint),r=vc({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),d=u===void 0?i.properties:{channelId:u,...i.properties},c=Cc({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,Sc(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function yy(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Tc(e){let t=tr(e.api);return t?kc({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ge()})}):ys("the chat api does not point at a Waniwani event ingest")}function ys(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{readUIMessageStream as Ly}from"ai";function vo(){let e=new Set,t=new Map,a,r=0,o=!1,n=!1,s=d=>(a||(a=`text-${++r}`,d.enqueue({type:"text-start",id:a})),a),i=d=>{a&&(d.enqueue({type:"text-end",id:a}),a=void 0)},l=(d,c)=>{d.enqueue({type:"text-delta",id:s(d),delta:c})},u=(d,c,f)=>{!c.callId||e.has(c.callId)||(e.add(c.callId),d.enqueue({type:"tool-input-available",toolCallId:c.callId,toolName:c.toolName??c.kind??"tool",input:f,dynamic:!0}))};return new TransformStream({start(d){d.enqueue({type:"start",messageId:crypto.randomUUID()})},transform(d,c){switch(d.type){case"step.started":{let{modelId:f,stepIndex:p}=d.data;typeof p=="number"&&f&&t.set(p,f),c.enqueue({type:"start-step"}),o=!0;break}case"message.appended":{let{messageDelta:f}=d.data;f&&l(c,f);break}case"message.completed":{let{message:f}=d.data;!a&&f&&l(c,f),i(c);break}case"actions.requested":{i(c);let{actions:f}=d.data;for(let p of f??[])u(c,p,p.input);break}case"action.result":{let{result:f,status:p,error:m}=d.data;if(f?.kind!=="tool-result"||!f.callId)break;if(u(c,f,{}),f.isError===!0||p&&p!=="completed"){c.enqueue({type:"tool-output-error",toolCallId:f.callId,errorText:m?.message??"The tool call failed.",dynamic:!0});break}c.enqueue({type:"tool-output-available",toolCallId:f.callId,output:f.output,dynamic:!0});break}case"step.completed":{let{stepIndex:f,usage:p}=d.data;i(c),o&&(c.enqueue({type:"finish-step"}),o=!1);let m=typeof f=="number"?t.get(f):void 0;c.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:f,modelId:m,usage:p}}});break}case"turn.failed":case"session.failed":{let{message:f}=d.data;n=!0,c.enqueue({type:"error",errorText:f??"The agent could not answer."});break}}},flush(d){i(d),o&&d.enqueue({type:"finish-step"}),d.enqueue({type:"finish",finishReason:n?"error":"stop"})}})}function Cy(e){if(!(typeof e!="object"||e===null||"kind"in e))return"message"in e&&typeof e.message=="string"?e.message:void 0}async function Sy(e){let t=new ReadableStream({start(r){for(let o of e)r.enqueue(o);r.close()}}).pipeThrough(vo()),a;for await(let r of Ly({stream:t}))a=r;return a?.parts.length?a:void 0}async function Ac(e){let t=[];for(let r of e){let o=r.type==="message.received"?Cy(r.data):void 0;o!==void 0?t.push({visitor:{id:r.meta?.id??crypto.randomUUID(),role:"user",parts:[{type:"text",text:o}]},events:[]}):t.at(-1)?.events.push(r)}let a=[];for(let r of t){a.push(r.visitor);let o=await Sy(r.events);o&&a.push(o)}return a}import{z as He}from"zod";import{z as B}from"zod";import{z as ko}from"zod";var Xt=Symbol("invalid-json-value-candidate");function Cs(e){let t=Ls(e);if(t===Xt)throw TypeError("Expected a JSON-serializable value.");return t}function ar(e){let t=Cs(e);if(!by(t))throw TypeError("Expected a JSON-serializable object.");return t}function Ls(e,t=new WeakSet){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number")return Number.isFinite(e)?e:Xt;if(Array.isArray(e)){let r=[];for(let o of e){let n=Ls(o,t);if(n===Xt)return Xt;r.push(n)}return r}if(typeof e!="object"||e===void 0||!vy(e)||t.has(e))return Xt;t.add(e);let a={};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let n=Ls(o,t);if(n===Xt)return Xt;a[r]=n}return t.delete(e),a}function by(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function vy(e){let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var rr=ko.unknown().transform((e,t)=>{try{return Cs(e)}catch(a){return t.addIssue({code:"custom",message:Pc(a,"Expected a JSON-serializable value.")}),ko.NEVER}}),Lt=ko.unknown().transform((e,t)=>{try{return ar(e)}catch(a){return t.addIssue({code:"custom",message:Pc(a,"Expected a JSON-serializable object.")}),ko.NEVER}});function Pc(e,t){return e instanceof Error?e.message:t}var Rc=B.object({callId:B.string(),input:Lt,kind:B.literal("tool-call"),toolName:B.string()}).strict();B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),B.object({callId:B.string(),input:Lt,kind:B.literal("workflow-tool-call"),toolName:B.string(),workflowId:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict();var hE=B.object({callId:B.string(),description:B.string(),input:Lt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),gE=B.object({callId:B.string(),executeInput:rr.optional(),input:Lt,kind:B.literal("workflow-task"),nodeId:B.string().optional(),toolName:B.string(),workflowId:B.string()}).strict();B.object({callId:B.string(),input:Lt,kind:B.literal("load-skill")}).strict();B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("tool-result"),output:rr,toolName:B.string()}).strict(),B.object({callId:B.string(),isError:B.literal(!0),kind:B.literal("subagent-result"),origin:B.literal("dispatch"),output:rr,subagentName:B.string()}).strict(),B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("load-skill-result"),output:rr,name:B.string().optional()}).strict();var ky=He.object({description:He.string().describe("Optional additional context for this option.").optional(),id:He.string().describe("Stable identifier for the option."),label:He.string().describe("User-facing label for the option."),style:He.enum(["primary","danger","default"]).describe("Visual treatment hint for the option.").optional()}).strict(),Ty=He.enum(["question","session-limit","tool-approval"]),yE=He.object({action:Rc,allowFreeform:He.boolean().describe("Whether the user may answer with freeform text instead of selecting one of the provided options.").optional(),display:He.enum(["confirmation","select","text"]).describe("Rendering hint: the channel uses this to pick a UX treatment.").optional(),kind:Ty.describe("Framework-owned request source used to resolve, route, and render the response."),options:He.array(ky).describe("Selectable answer options to present to the user.").optional(),prompt:He.string().describe("The prompt to present to the user."),requestId:He.string().describe("Stable identifier for this request.")}).strict(),LE=He.object({optionId:He.string().optional(),requestId:He.string(),text:He.string().optional()}).strict();var ze="/eve/v1",SE=`${ze}/cron/:token`,Ec=`${ze}/health`,Mc=`${ze}/info`,$e=`${ze}/session`,bE=`${$e}/:sessionId`,vE=`${$e}/:sessionId/cancel`,kE=`${$e}/:sessionId/compact`,TE=`${$e}/:sessionId/clear`,AE=`${$e}/:sessionId/reset`,PE=`${$e}/:sessionId/stream`,RE=`${$e}/:parentSessionId/subagents/:callId/:childSessionId/stream`,EE=`${ze}/dev/schedules/:scheduleId`,Ss=`${ze}/dev/runtime-artifacts`,ME=`${Ss}/rebuild`,FE=`${Ss}/suspend`,_E=`${Ss}/resume`;var DE=`${ze}/connections/:name/callback/:attemptId/:token`,BE=`${ze}/callback/:token`,OE=`${ze}/task-input/:token`,UE=`${ze}/activity/:token`;function Fc(e){return`${$e}/${encodeURIComponent(e)}`}function _c(e){return`${$e}/${encodeURIComponent(e)}/cancel`}function Dc(e){return`${$e}/${encodeURIComponent(e)}/compact`}function Bc(e){return`${$e}/${encodeURIComponent(e)}/clear`}function Oc(e){return`${$e}/${encodeURIComponent(e)}/reset`}function bs(e){return`${$e}/${encodeURIComponent(e)}/stream`}function pt(e){return typeof e=="object"&&!!e&&!Array.isArray(e)}function or(e){return e instanceof Error?e.message:typeof e=="string"?e:e==null?String(e):pt(e)?typeof e.message=="string"&&e.message.length>0?e.message:Ay(e):String(e)}function Qt(e){if(e instanceof Error)return e;let t=Error(or(e));return pt(e)&&(typeof e.name=="string"&&e.name.length>0&&(t.name=e.name),typeof e.stack=="string"&&e.stack.length>0&&(t.stack=e.stack),"cause"in e&&e.cause!==void 0&&e.cause!==e&&(t.cause=e.cause)),t}function Ay(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var Nc="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function Py(){let e=-1,t=new Uint8Array(10);return function(){let a=Date.now();if(!Number.isInteger(a)||a<0||a>0xffffffffffff)throw Error(`Cannot mint a ULID: timestamp must be an integer from 0 to ${0xffffffffffff}.`);if(a>e)e=a,Uc(t);else if(!Fy(t)){if(e===0xffffffffffff)throw Error("Cannot mint a ULID: random component overflowed at the maximum timestamp.");e+=1,Uc(t)}return`${Ey(e)}${My(t)}`}}var Ry=Py();function Uc(e){let t=globalThis.crypto;if(typeof t?.getRandomValues!="function")throw Error("Cannot mint a ULID: globalThis.crypto.getRandomValues is unavailable.");t.getRandomValues(e)}function Ey(e){let t=e,a="";for(let r=0;r<10;r+=1)a=Nc[t%32]+a,t=Math.floor(t/32);return a}function My(e){let t=0,a=0,r="";for(let o of e){for(t=t<<8|o,a+=8;a>=5;)a-=5,r+=Nc[t>>>a&31];t&=(1<<a)-1}return r}function Fy(e){for(let t=e.length-1;t>=0;--t){let a=e[t]??0;if(a<255)return e[t]=a+1,e.fill(0,t+1),!0}return!1}var qc="x-eve-session-id";var vs="x-eve-stream-tail-index",ks="x-eve-stream-version";var Hc="1",$c="streamControlVersion",Ts={$eve:"stream.lease-ended",version:1},mM=new TextEncoder;function Je(e){return e.type==="session.completed"||e.type==="session.failed"||e.type==="session.waiting"}function As(e){return e.type==="session.failed"||e.type==="step.failed"||e.type==="turn.failed"}var To=class extends Error{issues;constructor(e=[]){let t=e.length===0?"":` (${e.join("; ")})`;super(`The server returned an unrecognized response from the eve agent info route.${t}`),this.name="AgentInfoResponseError",this.issues=e}};var Ao=class extends Error{issues;constructor(e=[]){let t=e.length===0?"":` (${e.join("; ")})`;super(`The server returned an unrecognized eve health response.${t}`),this.name="HealthResponseError",this.issues=e}};var Ve=class extends Error{code;status;body;headers;constructor(e,t,a){let r=Object.freeze(Object.fromEntries(new Headers(a).entries())),o=r["content-type"]?.toLowerCase(),n=t||`Server returned ${e}.`,s;try{let i=JSON.parse(t);pt(i)&&(typeof i.error=="string"&&(n=i.error),typeof i.code=="string"&&(s=i.code))}catch{o?.includes("text/html")&&(n=`Server returned ${e} with an HTML response. Check the eve route and development server configuration.`)}super(n),this.name="ClientError",this.code=s,this.status=e,this.body=t,this.headers=r}};function Wc(e){let t,a,r,o=[],n=new Map;for(let s of e)Je(s)&&(t=s),As(s)&&(a=s),_y(s)&&(r=s.data.message??void 0),s.type==="input.requested"&&o.push(...s.data.requests),s.type==="authorization.required"&&n.set(s.data.name,s.data),s.type==="authorization.completed"&&n.delete(s.data.name);return{boundary:t,failure:a,inputRequests:o,message:r,pendingAuthorizations:[...n.values()],status:t?.type==="session.waiting"?"waiting":t?.type==="session.failed"?"failed":"completed"}}function _y(e){return e.type==="message.completed"&&e.data.finishReason!=="tool-calls"}function Jt(e,t){t.type==="authorization.required"&&t.data.webhookUrl!==void 0?e.add(t.data.name):t.type==="authorization.completed"&&e.delete(t.data.name)}var Dy=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,By=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function Ps(e,t){let a=Oy(e),r=t.startsWith("/")?t:`/${t}`;if(r===ze||r.startsWith(`${ze}/`)){if(Dy.test(a))return`${a}${r.slice(4)}`;if(By.test(a))return`${a}${r.slice(ze.length)}`}return`${a}${r}`}function Oy(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function mt(e,t,a){let r=t.indexOf("?"),o=r===-1?t:t.slice(0,r),n=r===-1?"":t.slice(r+1),s=o.startsWith("/")?o:`/${o}`;if(Uy(e)){let u=new URL(e),d=zc(u.pathname);return u.pathname=Ps(d,s),jc(u.searchParams,n),Vc(u.searchParams,a),u.hash="",u.toString()}let i=new URL(e,"http://eve.local"),l=zc(i.pathname);return jc(i.searchParams,n),Vc(i.searchParams,a),`${Ps(l,s)}${Ny(i.searchParams)}`}function jc(e,t){if(t.length!==0)for(let[a,r]of new URLSearchParams(t))e.append(a,r)}function Uy(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function zc(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function Vc(e,t){if(t!==void 0)for(let[a,r]of Object.entries(t))e.set(a,r)}function Ny(e){let t=e.toString();return t.length===0?"":`?${t}`}function Gc(e){let t;for(let a of e)qy(a)&&(t=a.data.result);return t}function qy(e){return e.type==="result.completed"}var Rs=Symbol("consumeMessageResponse"),Es=Symbol("acceptedDeliveryId"),Ms=class{sessionId;[Es];#t;#e;#a=!1;#r;#n=!1;#u=Promise.withResolvers();constructor(e){this.#t=e.cancelTurn,this.sessionId=e.sessionId,this[Es]=e.deliveryId,this.#r=e.createStream}cancel(){if(this.#n)return Promise.resolve({status:"no_active_turn"});if(this.#e!==void 0)return this.#e;let e=this.#u.promise.then(t=>t===void 0?{status:"no_active_turn"}:this.#t(t));return this.#e=e,e.catch(()=>{!this.#n&&this.#e===e&&(this.#e=void 0)}),e}async result(){let e=[];for await(let a of this)e.push(a);let t=Wc(e);return{data:Gc(e),events:e,inputRequests:t.inputRequests,message:t.message,sessionId:this.sessionId,status:t.status}}[Symbol.asyncIterator](){return this[Rs]()}[Rs](e){if(this.#a)throw Error("MessageResponse has already been consumed.");return this.#a=!0,this.#g(e)}async*#g(e){try{for await(let t of this.#r(e))t.type==="turn.started"?this.#u.resolve(t.data.turnId):Je(t)&&(this.#n=!0,this.#u.resolve(void 0)),yield t}finally{this.#u.resolve(void 0)}}};function Fs(e){return e[Es]}function Kc(e,t){return e[Rs](t)}function Qc(e,t){switch(e){case"21":case"22":case"23":case"24":return Hy(e,t);case"25":return $y(t);default:return Wy(e)}}function Hy(e,t){if(t.type==="message.appended")return Xc(t.data.messageSoFar,t.data.messageDelta,"message",e),{data:{messageDelta:t.data.messageDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,turnId:t.data.turnId},meta:t.meta,type:"message.appended"};if(t.type==="reasoning.appended")return Xc(t.data.reasoningSoFar,t.data.reasoningDelta,"reasoning",e),{data:{reasoningDelta:t.data.reasoningDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,turnId:t.data.turnId},meta:t.meta,type:"reasoning.appended"};if(t.type==="action.input.appended"){if(e!==void 0&&e!=="24")throw TypeError(`Invalid action input append for stream version ${e}.`);return jy(t.data.inputTextOffset,e),{data:{callId:t.data.callId,inputTextDelta:t.data.inputTextDelta,sequence:t.data.sequence,stepIndex:t.data.stepIndex,toolName:t.data.toolName,turnId:t.data.turnId},meta:t.meta,type:"action.input.appended"}}return t}function $y(e){return e.type==="message.appended"?(_s(e.data.messageDelta,"message"),nr(e.data,"messageOffset","message"),nr(e.data,"messageSoFar","message")):e.type==="reasoning.appended"?(_s(e.data.reasoningDelta,"reasoning"),nr(e.data,"reasoningOffset","reasoning"),nr(e.data,"reasoningSoFar","reasoning")):e.type==="action.input.appended"&&(_s(e.data.inputTextDelta,"action input"),nr(e.data,"inputTextOffset","action input")),e}function _s(e,t){if(typeof e!="string")throw TypeError(`Invalid ${t} append delta for stream version 25.`)}function nr(e,t,a){if(t in e)throw TypeError(`Invalid ${a} append shape for stream version 25.`)}function Wy(e){throw TypeError(`Unsupported message stream version: ${String(e)}.`)}function jy(e,t){if(!Number.isSafeInteger(e)||e<0){let a=t===void 0?"persisted stream":`stream version ${t}`;throw TypeError(`Invalid action input append offset for ${a}.`)}}function Xc(e,t,a,r){let o=e.length-t.length;if(o<0||e.slice(o)!==t){let n=r===void 0?"persisted stream":`stream version ${r}`;throw TypeError(`Invalid cumulative ${a} append for ${n}.`)}}function Ds(e){if(e instanceof DOMException)return e.name==="AbortError";if(!(e instanceof Error))return!1;let t="code"in e&&typeof e.code=="string"?e.code:void 0;return e.name==="AbortError"||e.message==="terminated"||t==="UND_ERR_SOCKET"||e instanceof TypeError&&/^(?:failed to fetch|fetch failed)$/i.test(e.message)||/abort|cancel|disconnect|premature close|socket|terminated/i.test(e.message)}async function*Zc(e,t){let a=e.getReader(),r=new TextDecoder,o="",n=!1,s=()=>{a.cancel().catch(()=>{})};t.signal?.addEventListener("abort",s,{once:!0});try{for(;;){t.signal?.throwIfAborted();let l=await zy(a,t?.idleTimeoutMs);if(t.signal?.throwIfAborted(),l.done){n=!0,o+=r.decode();break}l.value&&(o+=r.decode(l.value,{stream:!0}));let u=o.indexOf(`
|
|
17
|
+
`);for(;u!==-1;){let d=o.slice(0,u).trim();if(o=o.slice(u+1),d.length>0){let c=JSON.parse(d);t.controlVersion==="1"&&Jc(c)?t.onLeaseEnded?.():yield Yc(c,t.streamVersion)}u=o.indexOf(`
|
|
18
|
+
`)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&Jc(l)?t.onLeaseEnded?.():yield Yc(l,t.streamVersion)}}finally{t.signal?.removeEventListener("abort",s),n||a.cancel().catch(()=>{}),a.releaseLock()}}function Jc(e){if(typeof e!="object"||!e)return!1;let t=e;return t.$eve===Ts.$eve&&t.version===Ts.version}function Yc(e,t){return Qc(t,e)}async function zy(e,t){let a;try{return t===void 0?await e.read():await Promise.race([e.read(),new Promise((r,o)=>{a=setTimeout(()=>o(new DOMException("Session stream was idle.","AbortError")),t)})])}catch(r){throw r instanceof TypeError?Error("Session stream disconnected.",{cause:r}):r}finally{a!==void 0&&clearTimeout(a)}}var Vy={21:!0,22:!0,23:!0,24:!0,25:!0};function ef(e){let t=e.get(ks);if(t!==null&&Object.hasOwn(Vy,t))return t;throw TypeError(t===null?`Missing ${ks} response header.`:`Unsupported message stream version: ${t}.`)}var Yt={retryableErrorStatuses:new Set([404,409,425,500,502,503,504]),streamIdleReconnectPolicy:{baseDelayMs:250,maxAttempts:5,maxDelayMs:4e3},streamOpenReconnectPolicy:{baseDelayMs:250,maxAttempts:12,maxDelayMs:5e3}},Gy={...Yt,streamIdleReconnectPolicy:{...Yt.streamIdleReconnectPolicy,maxAttempts:0},streamOpenReconnectPolicy:{...Yt.streamOpenReconnectPolicy,maxAttempts:1}};function tf(e,t){return{...t,...e}}function af(e,t=!1){if(e&&"reconnect"in e&&e.reconnect===!1)return Gy;let a=e;return{retryableErrorStatuses:a?.retryableErrorStatuses?new Set(a.retryableErrorStatuses):Yt.retryableErrorStatuses,streamIdleReconnectPolicy:tf(a?.streamIdleReconnectPolicy,{...Yt.streamIdleReconnectPolicy,maxAttempts:t?1/0:Yt.streamIdleReconnectPolicy.maxAttempts}),streamOpenReconnectPolicy:tf(a?.streamOpenReconnectPolicy,Yt.streamOpenReconnectPolicy)}}async function*Bs(e){if(e.follow===!1&&e.startIndex<0)throw Error("stream({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");let t=()=>af(e.resolveReconnectPolicy===void 0?e.streamReconnectPolicy:e.resolveReconnectPolicy(),e.keepAlive),a=t(),r=a.streamIdleReconnectPolicy,o=e.startIndex,n=r.baseDelayMs,s=0,i=!0,l,u=!1;for(;;){a=t(),r=a.streamIdleReconnectPolicy;let d;try{d=await Ky({...e,retryPolicy:a,startIndex:o,requestTailIndex:(e.follow===!1||e.onCaughtUp!==void 0)&&l===void 0})}catch(p){if(e.signal?.aborted)return;throw p}if((e.follow===!1||e.onCaughtUp!==void 0)&&l===void 0&&(l=d.tailIndex,l===void 0))throw d.close(),Error(`stream({ follow: false }) requires the server to report the ${vs} header. The agent may be running an older eve version.`);if(!u&&l!==void 0&&o>l&&(u=!0,e.onCaughtUp?.()),e.follow===!1&&l!==void 0&&o>l){d.close();return}let c=!1,f=!1;try{for await(let p of Zc(d.body,{signal:e.signal,controlVersion:d.controlVersion,idleTimeoutMs:e.streamReadIdleTimeoutMs??15e3,onLeaseEnded:()=>{f=!0},streamVersion:d.streamVersion}))if(o+=1,c=!0,n=r.baseDelayMs,s=0,yield p,!u&&l!==void 0&&o>l&&(u=!0,e.onCaughtUp?.()),e.follow===!1&&l!==void 0&&o>l)return}catch(p){if(!Ds(p))throw p}finally{d.close()}if(r=t().streamIdleReconnectPolicy,e.signal?.aborted||e.startIndex<0||r.maxAttempts===0)return;if(!f){if(!c&&!i&&(s+=1)>=r.maxAttempts||(i=!1,await sr(n,e.signal),e.signal?.aborted))return;n=Math.min(n*2,r.maxDelayMs)}}}async function Ky(e){let t=e.retryPolicy??af(e.streamReconnectPolicy,e.keepAlive),a=t.streamOpenReconnectPolicy,r,o,n,s=a.baseDelayMs,i=e.startIndex>=0&&t.streamIdleReconnectPolicy.maxAttempts>0?Hc:void 0,l={};i!==void 0&&(l[$c]=i),e.startIndex!==0&&(l.startIndex=String(e.startIndex)),e.requestTailIndex===!0&&(l.includeTailIndex="1");for(let u=0;u<a.maxAttempts;u+=1){e.signal?.throwIfAborted();let d=mt(e.host,e.path,Object.keys(l).length>0?l:void 0),c=await e.resolveHeaders();e.signal?.throwIfAborted();let f=new AbortController,p=e.signal?AbortSignal.any([e.signal,f.signal]):f.signal,m;try{m=await fetch(d,{cache:"no-store",headers:c,redirect:e.redirect,signal:p})}catch(L){if(e.signal?.aborted||!Ds(L)||u===a.maxAttempts-1)throw L;await sr(s,e.signal),s=Math.min(s*2,a.maxDelayMs);continue}if(m.ok){if(!m.body)throw new Ve(m.status,"Response body is null.",m.headers);let L=!1;return{body:m.body,close:()=>{L||(L=!0,m.body?.cancel().catch(()=>{}),f.abort())},controlVersion:i,streamVersion:ef(m.headers),tailIndex:Xy(m.headers)}}if(r=m.status,o=await m.text(),n=m.headers,!t.retryableErrorStatuses.has(m.status))throw new Ve(m.status,o,m.headers);u<a.maxAttempts-1&&(await sr(s,e.signal),s=Math.min(s*2,a.maxDelayMs))}throw new Ve(r??0,o??"Failed to open message stream.",n)}function Xy(e){let t=e.get(vs);if(t===null||!/^-?\d+$/.test(t))return;let a=Number(t);return Number.isSafeInteger(a)?a:void 0}async function sr(e,t){t?.aborted||await new Promise(a=>{let r=()=>{clearTimeout(o),a()},o=setTimeout(()=>{t?.removeEventListener("abort",r),a()},e);t?.addEventListener("abort",r,{once:!0})})}import{z as Dt}from"zod";var rf=Dt.discriminatedUnion("status",[Dt.strictObject({ok:Dt.literal(!0),sessionId:Dt.string().min(1),status:Dt.literal("accepted")}),Dt.strictObject({ok:Dt.literal(!0),status:Dt.literal("no_active_turn")})]);import{z as Bt}from"zod";var of=Bt.discriminatedUnion("status",[Bt.object({ok:Bt.literal(!0),sessionId:Bt.string().min(1),status:Bt.literal("accepted")}),Bt.object({ok:Bt.literal(!0),status:Bt.literal("no_active_session")})]);import{z as Ot}from"zod";var nf=Ot.discriminatedUnion("status",[Ot.object({ok:Ot.literal(!0),sessionId:Ot.string().min(1),status:Ot.literal("accepted")}),Ot.object({ok:Ot.literal(!0),status:Ot.literal("no_active_session")})]);import{z as Ut}from"zod";var sf=Ut.discriminatedUnion("status",[Ut.object({ok:Ut.literal(!0),previousSessionId:Ut.string().min(1),status:Ut.literal("reset")}),Ut.object({ok:Ut.literal(!0),status:Ut.literal("no_active_session")})]);async function lf(e){let{signal:t,...a}=e.options??{},{payload:r,response:o}=await Po({body:a,context:e.context,operation:"Cancel",path:_c(e.sessionId),signal:t}),n=rf.safeParse(r);if(!n.success||n.data.status==="accepted"&&n.data.sessionId!==e.sessionId)throw Error(`Cancel route returned an invalid response (${o.status}).`);return n.data.status==="accepted"?{sessionId:n.data.sessionId,status:"accepted"}:{status:"no_active_turn"}}async function uf(e){let{payload:t}=await Po({context:e.context,operation:"Clear",path:Bc(e.sessionId)}),a=of.safeParse(t);if(!a.success||a.data.status==="accepted"&&a.data.sessionId!==e.sessionId)throw Error("Clear route returned an invalid response.");return a.data.status==="accepted"?{sessionId:a.data.sessionId,status:"accepted"}:{status:"no_active_session"}}async function df(e){let{payload:t}=await Po({context:e.context,operation:"Compact",path:Dc(e.sessionId)}),a=nf.safeParse(t);if(!a.success||a.data.status==="accepted"&&a.data.sessionId!==e.sessionId)throw Error("Compact route returned an invalid response.");return a.data.status==="accepted"?{sessionId:a.data.sessionId,status:"accepted"}:{status:"no_active_session"}}async function cf(e){let{signal:t,...a}=e.options??{},{payload:r}=await Po({body:a,context:e.context,operation:"Reset",path:Oc(e.sessionId),signal:t}),o=sf.safeParse(r);if(!o.success||o.data.status==="reset"&&o.data.previousSessionId!==e.sessionId)throw Error("Reset route returned an invalid response.");return o.data.status==="reset"?{previousSessionId:o.data.previousSessionId,status:"reset"}:{status:"no_active_session"}}async function Po(e){let t=await e.context.resolveHeaders();t.set("content-type","application/json");let a=await fetch(mt(e.context.host,e.path),Qy({body:e.body===void 0?void 0:JSON.stringify(e.body),headers:t,method:"POST",signal:e.signal},e.context.redirect)),r=await a.text();if(!a.ok)throw new Ve(a.status,r,a.headers);try{return{payload:JSON.parse(r),response:a}}catch{throw Error(`${e.operation} route returned invalid JSON (${a.status}).`)}}function Qy(e,t){return t===void 0?e:{...e,redirect:t}}import{TypeValidationError as m1,asSchema as TL,jsonSchema as h1}from"ai";function ir(e,t){let a=typeof e;if(a!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let o=0;o<r;o++)if(!ir(e[o],t[o]))return!1;return!0}if(a==="object"){if(!e||!t)return e===t;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!ir(e[n],t[n]))return!1;return!0}return e===t}function nt(e){return encodeURI(Jy(e))}function Jy(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var Yy={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},Zy={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},eL={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},tL=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function Zt(e,t=Object.create(null),a=tL,r=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let n=e.$id||e.id;if(n){let s=new URL(n,a.href);s.hash.length>1?t[s.href]=e:(s.hash="",r===""?a=s:Zt(e,t,a))}}else if(e!==!0&&e!==!1)return t;let o=a.href+(r?"#"+r:"");if(t[o]!==void 0)throw Error(`Duplicate schema URI "${o}".`);if(t[o]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:o}),e.$ref&&e.__absolute_ref__===void 0){let n=new URL(e.$ref,a.href);n.hash=n.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:n.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let n=new URL(e.$recursiveRef,a.href);n.hash=n.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:n.href})}if(e.$anchor){let n=new URL("#"+e.$anchor,a.href);t[n.href]=e}for(let n in e){if(eL[n])continue;let s=`${r}/${nt(n)}`,i=e[n];if(Array.isArray(i)){if(Yy[n]){let l=i.length;for(let u=0;u<l;u++)Zt(i[u],t,a,`${s}/${u}`)}}else if(Zy[n])for(let l in i)Zt(i[l],t,a,`${s}/${nt(l)}`);else Zt(i,t,a,s)}return t}var aL=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,rL=[0,31,28,31,30,31,30,31,31,30,31,30,31],oL=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,nL=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,sL=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,iL=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,lL=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,uL=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,dL=/^(?:\/(?:[^~/]|~0|~1)*)*$/,cL=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,fL=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,pL=e=>{if(e[0]==='"')return!1;let[t,a,...r]=e.split("@");return!t||!a||r.length!==0||t.length>64||a.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(a)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:a.split(".").every(o=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(o))},mL=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,hL=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,gL=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function ht(e){return e.test.bind(e)}var ff={date:pf,time:mf.bind(void 0,!1),"date-time":xL,duration:gL,uri:CL,"uri-reference":ht(sL),"uri-template":ht(iL),url:ht(lL),email:pL,hostname:ht(nL),ipv4:ht(mL),ipv6:ht(hL),regex:bL,uuid:ht(uL),"json-pointer":ht(dL),"json-pointer-uri-fragment":ht(cL),"relative-json-pointer":ht(fL)};function wL(e){return e%4==0&&(e%100!=0||e%400==0)}function pf(e){let t=e.match(aL);if(!t)return!1;let a=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&wL(a)?29:rL[r])}function mf(e,t){let a=t.match(oL);if(!a)return!1;let r=+a[1],o=+a[2],n=+a[3],s=!!a[5];return(r<=23&&o<=59&&n<=59||r==23&&o==59&&n==60)&&(!e||s)}var IL=/t|\s/i;function xL(e){let t=e.split(IL);return t.length==2&&pf(t[0])&&mf(!0,t[1])}var yL=/\/|:/,LL=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function CL(e){return yL.test(e)&&LL.test(e)}var SL=/[^\\]\\Z/;function bL(e){if(SL.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var vL;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(vL||={});function kL(e){let t=0,a=e.length,r=0,o;for(;r<a;)t++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<a&&(o=e.charCodeAt(r),(o&64512)==56320&&r++);return t}function ve(e,t,a="2019-09",r=Zt(t),o=!0,n=null,s="#",i="#",l=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:s,keyword:"false",keywordLocation:s,error:"False boolean schema."}]};let u=typeof e,d;switch(u){case"boolean":case"number":case"string":d=u;break;case"object":d=e===null?"null":Array.isArray(e)?"array":"object";break;default:throw Error(`Instances of "${u}" type are not supported.`)}let{$ref:c,$recursiveRef:f,$recursiveAnchor:p,type:m,const:L,enum:C,required:y,not:S,anyOf:I,allOf:x,oneOf:b,if:N,then:U,else:j,format:ie,properties:z,patternProperties:G,additionalProperties:q,unevaluatedProperties:ee,minProperties:W,maxProperties:Q,propertyNames:E,dependentRequired:v,dependentSchemas:_,dependencies:re,prefixItems:oe,items:Pe,additionalItems:Ne,unevaluatedItems:k,contains:H,minContains:$,maxContains:ne,minItems:he,maxItems:Ie,uniqueItems:ce,minimum:K,maximum:X,exclusiveMinimum:pe,exclusiveMaximum:Ce,multipleOf:le,minLength:ae,maxLength:te,pattern:Z,__absolute_ref__:J,__absolute_recursive_ref__:me}=t,T=[];if(p===!0&&n===null&&(n=t),f==="#"){let D=n===null?r[me]:n,R=`${i}/$recursiveRef`,Y=ve(e,n===null?t:n,a,r,o,D,s,R,l);Y.valid||T.push({instanceLocation:s,keyword:"$recursiveRef",keywordLocation:R,error:"A subschema had errors."},...Y.errors)}if(c!==void 0){let D=r[J||c];if(D===void 0){let M=`Unresolved $ref "${c}".`;throw J&&J!==c&&(M+=` Absolute URI "${J}".`),M+=`
|
|
19
19
|
Known schemas:
|
|
20
20
|
- ${Object.keys(r).join(`
|
|
21
|
-
- `)}`,Error(M)}let R=`${i}/$ref`,Y=ve(e,D,a,r,o,n,s,R,l);if(Y.valid||T.push({instanceLocation:s,keyword:"$ref",keywordLocation:R,error:"A subschema had errors."},...Y.errors),a==="4"||a==="7")return{valid:T.length===0,errors:T}}if(Array.isArray(m)){let D=m.length,R=!1;for(let Y=0;Y<D;Y++)if(d===m[Y]||m[Y]==="integer"&&d==="number"&&e%1==0&&e===e){R=!0;break}R||T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m.join('", "')}".`})}else m==="integer"?(d!=="number"||e%1||e!==e)&&T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m}".`}):m!==void 0&&d!==m&&T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m}".`});if(L!==void 0&&(d==="object"||d==="array"?ir(e,L)||T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(L)}.`}):e!==L&&T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(L)}.`})),C!==void 0&&(d==="object"||d==="array"?C.some(D=>ir(e,D))||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`}):C.some(D=>e===D)||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`})),S!==void 0){let D=`${i}/not`;ve(e,S,a,r,o,n,s,D).valid&&T.push({instanceLocation:s,keyword:"not",keywordLocation:D,error:'Instance matched "not" schema.'})}let Be=[];if(I!==void 0){let D=`${i}/anyOf`,R=T.length,Y=!1;for(let M=0;M<I.length;M++){let w=I[M],P=Object.create(l),F=ve(e,w,a,r,o,p===!0?n:null,s,`${D}/${M}`,P);T.push(...F.errors),Y||=F.valid,F.valid&&Be.push(P)}Y?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"anyOf",keywordLocation:D,error:"Instance does not match any subschemas."})}if(x!==void 0){let D=`${i}/allOf`,R=T.length,Y=!0;for(let M=0;M<x.length;M++){let w=x[M],P=Object.create(l),F=ve(e,w,a,r,o,p===!0?n:null,s,`${D}/${M}`,P);T.push(...F.errors),Y&&=F.valid,F.valid&&Be.push(P)}Y?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"allOf",keywordLocation:D,error:"Instance does not match every subschema."})}if(b!==void 0){let D=`${i}/oneOf`,R=T.length,Y=b.filter((M,w)=>{let P=Object.create(l),F=ve(e,M,a,r,o,p===!0?n:null,s,`${D}/${w}`,P);return T.push(...F.errors),F.valid&&Be.push(P),F.valid}).length;Y===1?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"oneOf",keywordLocation:D,error:`Instance does not match exactly one subschema (${Y} matches).`})}if((d==="object"||d==="array")&&Object.assign(l,...Be),N!==void 0){let D=`${i}/if`;if(ve(e,N,a,r,o,n,s,D,l).valid){if(U!==void 0){let R=ve(e,U,a,r,o,n,s,`${i}/then`,l);R.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:D,error:'Instance does not match "then" schema.'},...R.errors)}}else if(j!==void 0){let R=ve(e,j,a,r,o,n,s,`${i}/else`,l);R.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:D,error:'Instance does not match "else" schema.'},...R.errors)}}if(d==="object"){if(y!==void 0)for(let M of y)M in e||T.push({instanceLocation:s,keyword:"required",keywordLocation:`${i}/required`,error:`Instance does not have required property "${M}".`});let D=Object.keys(e);if(W!==void 0&&D.length<W&&T.push({instanceLocation:s,keyword:"minProperties",keywordLocation:`${i}/minProperties`,error:`Instance does not have at least ${W} properties.`}),Q!==void 0&&D.length>Q&&T.push({instanceLocation:s,keyword:"maxProperties",keywordLocation:`${i}/maxProperties`,error:`Instance does not have at least ${Q} properties.`}),E!==void 0){let M=`${i}/propertyNames`;for(let w in e){let P=`${s}/${nt(w)}`,F=ve(w,E,a,r,o,n,P,M);F.valid||T.push({instanceLocation:s,keyword:"propertyNames",keywordLocation:M,error:`Property name "${w}" does not match schema.`},...F.errors)}}if(v!==void 0){let M=`${i}/dependantRequired`;for(let w in v)if(w in e){let P=v[w];for(let F of P)F in e||T.push({instanceLocation:s,keyword:"dependentRequired",keywordLocation:M,error:`Instance has "${w}" but does not have "${F}".`})}}if(_!==void 0)for(let M in _){let w=`${i}/dependentSchemas`;if(M in e){let P=ve(e,_[M],a,r,o,n,s,`${w}/${nt(M)}`,l);P.valid||T.push({instanceLocation:s,keyword:"dependentSchemas",keywordLocation:w,error:`Instance has "${M}" but does not match dependant schema.`},...P.errors)}}if(re!==void 0){let M=`${i}/dependencies`;for(let w in re)if(w in e){let P=re[w];if(Array.isArray(P))for(let F of P)F in e||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:M,error:`Instance has "${w}" but does not have "${F}".`});else{let F=ve(e,P,a,r,o,n,s,`${M}/${nt(w)}`);F.valid||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:M,error:`Instance has "${w}" but does not match dependant schema.`},...F.errors)}}}let R=Object.create(null),Y=!1;if(z!==void 0){let M=`${i}/properties`;for(let w in z){if(!(w in e))continue;let P=`${s}/${nt(w)}`,F=ve(e[w],z[w],a,r,o,n,P,`${M}/${nt(w)}`);if(F.valid)l[w]=R[w]=!0;else if(Y=o,T.push({instanceLocation:s,keyword:"properties",keywordLocation:M,error:`Property "${w}" does not match schema.`},...F.errors),Y)break}}if(!Y&&G!==void 0){let M=`${i}/patternProperties`;for(let w in G){let P=new RegExp(w,"u"),F=G[w];for(let ue in e){if(!P.test(ue))continue;let et=`${s}/${nt(ue)}`,st=ve(e[ue],F,a,r,o,n,et,`${M}/${nt(w)}`);st.valid?l[ue]=R[ue]=!0:(Y=o,T.push({instanceLocation:s,keyword:"patternProperties",keywordLocation:M,error:`Property "${ue}" matches pattern "${w}" but does not match associated schema.`},...st.errors))}}}if(!Y&&q!==void 0){let M=`${i}/additionalProperties`;for(let w in e){if(R[w])continue;let P=`${s}/${nt(w)}`,F=ve(e[w],q,a,r,o,n,P,M);F.valid?l[w]=!0:(Y=o,T.push({instanceLocation:s,keyword:"additionalProperties",keywordLocation:M,error:`Property "${w}" does not match additional properties schema.`},...F.errors))}}else if(!Y&&ee!==void 0){let M=`${i}/unevaluatedProperties`;for(let w in e)if(!l[w]){let P=`${s}/${nt(w)}`,F=ve(e[w],ee,a,r,o,n,P,M);F.valid?l[w]=!0:T.push({instanceLocation:s,keyword:"unevaluatedProperties",keywordLocation:M,error:`Property "${w}" does not match unevaluated properties schema.`},...F.errors)}}}else if(d==="array"){Ie!==void 0&&e.length>Ie&&T.push({instanceLocation:s,keyword:"maxItems",keywordLocation:`${i}/maxItems`,error:`Array has too many items (${e.length} > ${Ie}).`}),he!==void 0&&e.length<he&&T.push({instanceLocation:s,keyword:"minItems",keywordLocation:`${i}/minItems`,error:`Array has too few items (${e.length} < ${he}).`});let D=e.length,R=0,Y=!1;if(oe!==void 0){let M=`${i}/prefixItems`,w=Math.min(oe.length,D);for(;R<w;R++){let P=ve(e[R],oe[R],a,r,o,n,`${s}/${R}`,`${M}/${R}`);if(l[R]=!0,!P.valid&&(Y=o,T.push({instanceLocation:s,keyword:"prefixItems",keywordLocation:M,error:"Items did not match schema."},...P.errors),Y))break}}if(Pe!==void 0){let M=`${i}/items`;if(Array.isArray(Pe)){let w=Math.min(Pe.length,D);for(;R<w;R++){let P=ve(e[R],Pe[R],a,r,o,n,`${s}/${R}`,`${M}/${R}`);if(l[R]=!0,!P.valid&&(Y=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:M,error:"Items did not match schema."},...P.errors),Y))break}}else for(;R<D;R++){let w=ve(e[R],Pe,a,r,o,n,`${s}/${R}`,M);if(l[R]=!0,!w.valid&&(Y=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:M,error:"Items did not match schema."},...w.errors),Y))break}if(!Y&&Ne!==void 0){let w=`${i}/additionalItems`;for(;R<D;R++){let P=ve(e[R],Ne,a,r,o,n,`${s}/${R}`,w);l[R]=!0,P.valid||(Y=o,T.push({instanceLocation:s,keyword:"additionalItems",keywordLocation:w,error:"Items did not match additional items schema."},...P.errors))}}}if(H!==void 0)if(D===0&&$===void 0)T.push({instanceLocation:s,keyword:"contains",keywordLocation:`${i}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if($!==void 0&&D<$)T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array has less items (${D}) than minContains (${$}).`});else{let M=`${i}/contains`,w=T.length,P=0;for(let F=0;F<D;F++){let ue=ve(e[F],H,a,r,o,n,`${s}/${F}`,M);ue.valid?(l[F]=!0,P++):T.push(...ue.errors)}P>=($||0)&&(T.length=w),$===void 0&&ne===void 0&&P===0?T.splice(w,0,{instanceLocation:s,keyword:"contains",keywordLocation:M,error:"Array does not contain item matching schema."}):$!==void 0&&P<$?T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array must contain at least ${$} items matching schema. Only ${P} items were found.`}):ne!==void 0&&P>ne&&T.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${i}/maxContains`,error:`Array may contain at most ${ne} items matching schema. ${P} items were found.`})}if(!Y&&k!==void 0){let M=`${i}/unevaluatedItems`;for(;R<D;R++){if(l[R])continue;let w=ve(e[R],k,a,r,o,n,`${s}/${R}`,M);l[R]=!0,w.valid||T.push({instanceLocation:s,keyword:"unevaluatedItems",keywordLocation:M,error:"Items did not match unevaluated items schema."},...w.errors)}}if(ce)for(let M=0;M<D;M++){let w=e[M],P=typeof w=="object"&&!!w;for(let F=0;F<D;F++){if(M===F)continue;let ue=e[F];(w===ue||P&&typeof ue=="object"&&ue&&ir(w,ue))&&(T.push({instanceLocation:s,keyword:"uniqueItems",keywordLocation:`${i}/uniqueItems`,error:`Duplicate items at indexes ${M} and ${F}.`}),M=2**53-1,F=2**53-1)}}}else if(d==="number"){if(a==="4"?(K!==void 0&&(pe===!0&&e<=K||e<K)&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${pe?"or equal to ":""} ${K}.`}),X!==void 0&&(Ce===!0&&e>=X||e>X)&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${Ce?"or equal to ":""} ${X}.`})):(K!==void 0&&e<K&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${K}.`}),X!==void 0&&e>X&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${X}.`}),pe!==void 0&&e<=pe&&T.push({instanceLocation:s,keyword:"exclusiveMinimum",keywordLocation:`${i}/exclusiveMinimum`,error:`${e} is less than ${pe}.`}),Ce!==void 0&&e>=Ce&&T.push({instanceLocation:s,keyword:"exclusiveMaximum",keywordLocation:`${i}/exclusiveMaximum`,error:`${e} is greater than or equal to ${Ce}.`})),le!==void 0){let D=e%le;Math.abs(0-D)>=11920929e-14&&Math.abs(le-D)>=11920929e-14&&T.push({instanceLocation:s,keyword:"multipleOf",keywordLocation:`${i}/multipleOf`,error:`${e} is not a multiple of ${le}.`})}}else if(d==="string"){let D=ae===void 0&&te===void 0?0:kL(e);ae!==void 0&&D<ae&&T.push({instanceLocation:s,keyword:"minLength",keywordLocation:`${i}/minLength`,error:`String is too short (${D} < ${ae}).`}),te!==void 0&&D>te&&T.push({instanceLocation:s,keyword:"maxLength",keywordLocation:`${i}/maxLength`,error:`String is too long (${D} > ${te}).`}),Z!==void 0&&!new RegExp(Z,"u").test(e)&&T.push({instanceLocation:s,keyword:"pattern",keywordLocation:`${i}/pattern`,error:"String does not match pattern."}),ie!==void 0&&pf[ie]&&!pf[ie](e)&&T.push({instanceLocation:s,keyword:"format",keywordLocation:`${i}/format`,error:`String does not match format "${ie}".`})}return{valid:T.length===0,errors:T}}var gf=class{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",a=!0){this.schema=e,this.draft=t,this.shortCircuit=a,this.lookup=Zt(e)}validate(e){return ve(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),Zt(e,this.lookup)}};function xf(e){return RL(e,"output")}function AL(e,t){let a=()=>structuredClone(e),r={"~standard":{version:1,vendor:"eve",validate:FL(e,t),jsonSchema:{input:a,output:a}}};return PL.add(r),r}var PL=new WeakSet,y1=AL({});function RL(e,t){return e==null?e:EL(e,t)}function EL(e,t){let a=ML(e),r=a?.jsonSchema,o=typeof r=="object"&&r?r[t]:void 0,n=typeof a?.vendor=="string"?a.vendor:"unknown";if(a!==void 0&&typeof o!="function"&&n==="zod"){if(t==="input"){let l=TL(e),{$schema:u,...d}=ar(l.jsonSchema);return d}throw Error("Zod 3 cannot emit an output JSON Schema. Upgrade to Zod 4 or provide a plain JSON Schema object.")}if(a!==void 0&&typeof o!="function")throw Error(`Standard Schema vendor "${n}" does not support JSON Schema conversion. Provide a Standard Schema implementation with JSON Schema conversion or a plain JSON Schema object.`);let{$schema:s,...i}=ar(a===void 0?e:o({target:"draft-07"}));return i}function ML(e){if(typeof e!="object"||!e||!("~standard"in e))return;let t=e["~standard"];return typeof t=="object"&&t?t:void 0}function FL(e,t){let a,r=!1,o=(n,s)=>(r||(r=!0,console.warn(`[eve] Tool schema cannot validate values locally; passing them through unvalidated: ${s}`)),{value:n});return n=>{if(a===void 0){let u=OL(e);if(typeof u=="string")return a=null,o(n,u);a=u}if(a===null)return{value:n};let s;try{s=a.validate(n)}catch(u){return n===void 0?{issues:[{message:"Expected a JSON value."}]}:o(n,or(u))}if(!s.valid)return{issues:jL(s.errors)};let i=Os(e,e,n),l=t?.(i);return l===void 0?{value:i}:{issues:[{message:l}]}}}function Os(e,t,a){let r=a;for(let o of yf(e,t)){let{items:n,properties:s}=o;if(pt(r)&&pt(s))r=_L(e,s,r);else if(Array.isArray(r)&&pt(n)){let i=r,l=i.map(u=>Os(e,n,u));l.some((u,d)=>u!==i[d])&&(r=l)}}return r}function _L(e,t,a){let r=a;for(let[o,n]of Object.entries(t)){let s=Object.hasOwn(a,o)?a[o]:void 0,i=s===void 0?DL(e,n):Os(e,n,s);i!==s&&(r===a&&(r={...a}),r[o]=i)}return r}function DL(e,t){for(let a of yf(e,t))if("default"in a)return structuredClone(a.default)}function*yf(e,t){let a=new Set,r=t;for(;pt(r)&&!a.has(r);)a.add(r),yield r,r=BL(e,r.$ref)}function BL(e,t){if(typeof t!="string"||t!=="#"&&!t.startsWith("#/"))return;let a=e;for(let r of Bs(t)){if(typeof a!="object"||!a||!Object.hasOwn(a,r))return;a=a[r]}return a}function OL(e){try{let t=structuredClone(e);return lr(t)??new gf(t,"2020-12",!1)}catch(t){return or(t)}}var UL=new Set(["array","boolean","integer","null","number","object","string"]),NL=[["exclusiveMinimum","minimum"],["exclusiveMaximum","maximum"]],qL=["additionalItems","additionalProperties","contains","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],HL=["allOf","anyOf","oneOf","prefixItems"],$L=["$defs","definitions","dependencies","dependentSchemas","patternProperties","properties"];function lr(e){if(typeof e=="boolean")return;if(typeof e!="object"||!e||Array.isArray(e))return"a subschema is neither an object nor a boolean";let t=e;delete t.format;for(let[i,l]of NL)typeof t[i]=="boolean"&&(t[i]&&typeof t[l]=="number"?(t[i]=t[l],delete t[l]):delete t[i]);let{enum:a,pattern:r,required:o,type:n}=t;if(n!==void 0&&!(Array.isArray(n)?n.every(wf):wf(n)))return`unsupported type ${JSON.stringify(n)}`;if(a!==void 0&&!Array.isArray(a))return"`enum` is not an array";if(o!==void 0&&!(Array.isArray(o)&&o.every(i=>typeof i=="string")))return"`required` is not an array of strings";if(r!==void 0&&!If(r))return`invalid pattern ${JSON.stringify(r)}`;for(let i of qL)if(i in t){let l=lr(t[i]);if(l!==void 0)return l}let s=t.items;for(let i of Array.isArray(s)?s:s===void 0?[]:[s]){let l=lr(i);if(l!==void 0)return l}for(let i of HL){let l=t[i];if(l!==void 0){if(!Array.isArray(l))return`\`${i}\` is not an array`;for(let u of l){let d=lr(u);if(d!==void 0)return d}}}for(let i of $L){let l=t[i];if(l!==void 0){if(typeof l!="object"||!l||Array.isArray(l))return`\`${i}\` is not an object`;for(let[u,d]of Object.entries(l)){if(i==="patternProperties"&&!If(u))return`invalid pattern ${JSON.stringify(u)}`;if(i==="dependencies"&&Array.isArray(d))continue;let c=lr(d);if(c!==void 0)return c}}}}function wf(e){return typeof e=="string"&&UL.has(e)}function If(e){if(typeof e!="string")return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var WL=/\/(?:additional|unevaluated)Properties$/;function jL(e){let t=[];for(let r=0;r<e.length;r++){let o=e[r],n=e[r+1];if(WL.test(o.keywordLocation)&&n?.keyword==="false"){let s=Bs(n.instanceLocation).at(-1);t.push({keyword:"false",location:n.instanceLocation,message:`Unrecognized key: ${JSON.stringify(s)}`,object:o.instanceLocation}),r++}else t.push({keyword:o.keyword,location:o.instanceLocation,message:o.error})}let a=t.filter(r=>r.object===void 0||!t.some(o=>o.object===void 0&&(o.location===r.location||o.location.startsWith(`${r.location}/`))));return a.filter((r,o)=>{let n=a[o+1];return n===void 0?!0:n.location.startsWith(`${r.location}/`)?!1:r.keyword!=="$ref"||n.location!==r.location}).map(({location:r,message:o,object:n})=>{let s=Bs(n??r);return s.length===0?{message:o}:{message:o,path:s}})}function Bs(e){return e.split("/").slice(1).map(t=>{let a=t;try{a=decodeURIComponent(t)}catch{}return a.replaceAll("~1","/").replaceAll("~0","~")})}var Lf=Symbol("followClientSession"),ur=class Ns{#t;#e;constructor(t,a){this.#t=t,this.#e=a}static async create(t,a){let r=await qs(t,$e,a,!0),{sessionId:o}=await Us(r),n=new Ns(t,{sessionId:o,streamIndex:0});return{response:n.#r(r,a,0),session:n}}static async prewarm(t,a={}){let{sessionId:r}=await Us(await VL(t,a));return new Ns(t,{sessionId:r,streamIndex:0})}get state(){return this.#e}async snapshot(t){t?.signal?.throwIfAborted();let a=[];for await(let r of this.#p({follow:!1,signal:t?.signal,startIndex:0}))a.push(r);return t?.signal?.throwIfAborted(),{events:a,session:{sessionId:this.#e.sessionId,streamIndex:a.length}}}async send(t,a={}){return await this.#a({...a,message:t},!0)}async respond(t,a={}){if(t.length===0)throw Error("ClientSession.respond() requires at least one input response.");return await this.#a({...a,inputResponses:t},!1)}async#a(t,a){let r=this.#e.streamIndex,o=_c(this.#e.sessionId),n=a?await zL(this.#t,o,t):await qs(this.#t,o,t,!1),{sessionId:s,deliveryId:i}=await Us(n,this.#e.sessionId);if(s!==this.#e.sessionId)throw Error("Message route returned a different session id.");if(t.message!==void 0&&i===void 0)throw Error("Message route did not return a delivery id. Update the server before sending with this client.");return this.#r(n,t,r,t.message===void 0?void 0:i)}async cancel(t){return await uf({context:this.#t,options:t,sessionId:this.#e.sessionId})}async clear(){return await df({context:this.#t,sessionId:this.#e.sessionId})}async compact(){return await cf({context:this.#t,sessionId:this.#e.sessionId})}async reset(t){return await ff({context:this.#t,options:t,sessionId:this.#e.sessionId})}stream(t){if(t?.follow===!1&&(t.startIndex??this.#e.streamIndex)<0)throw Error("stream({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");return this.#u(t)}streamSubagent(t,a){if(t.data.sessionId!==this.#e.sessionId)throw Error(`streamSubagent() requires a subagent.called event from session ${this.#e.sessionId}, but it came from session ${t.data.sessionId}.`);if(typeof t.data.childStreamPath!="string")throw Error(`streamSubagent() requires a subagent.called event with childStreamPath, but call ${t.data.callId} has none. The event was recorded by an older eve version.`);let r=a?.startIndex??0;if(a?.follow===!1&&r<0)throw Error("streamSubagent({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");return Ds({follow:a?.follow,host:this.#t.host,path:t.data.childStreamPath,redirect:this.#t.redirect,resolveHeaders:()=>this.#t.resolveHeaders(),signal:a?.signal,startIndex:r,streamReconnectPolicy:a?.streamReconnectPolicy})}[Lf](t){return this.#u({...t,keepAlive:!0})}#r(t,a,r,o){return t.body?.cancel().catch(()=>{}),new Es({cancelTurn:async n=>await this.cancel({turnId:n}),createStream:n=>this.#n(r,a,o,n),deliveryId:o,sessionId:this.#e.sessionId})}async*#n(t,a,r,o){let n=0,s=r===void 0,i=!1,l=new Set;try{for await(let u of o??this.#p({headers:a.headers,keepAlive:!0,signal:a.signal,startIndex:t,streamReconnectPolicy:a.streamReconnectPolicy})){if(n+=1,r!==void 0){let d=u.meta?.deliveryIds?.includes(r)===!0,c=u.type==="session.failed"||u.type==="session.completed";if(!d&&c&&(!s||u.type==="session.completed"))throw Error("The session ended before the accepted message reached its turn boundary.");if(!s&&!d||!c&&u.meta?.deliveryIds!==void 0&&!d)continue;s=!0}if(Jt(l,u),i=Je(u)&&(u.type!=="session.waiting"||l.size===0),yield u,i)break}if(r!==void 0&&!i&&!a.signal?.aborted)throw Error("The response stream ended before the accepted message reached its turn boundary.")}finally{this.#g(t+n)}}async*#u(t){let a=t?.startIndex??this.#e.streamIndex,r=0;for await(let o of this.#p({follow:t?.follow,headers:t?.headers,keepAlive:t?.keepAlive,onCaughtUp:t?.onCaughtUp,resolveHeaders:t?.resolveHeaders,resolveReconnectPolicy:t?.resolveReconnectPolicy,signal:t?.signal,startIndex:a,streamReconnectPolicy:t?.streamReconnectPolicy}))r+=1,a>=0&&this.#g(a+r),yield o}#g(t){this.#e={sessionId:this.#e.sessionId,streamIndex:Math.max(this.#e.streamIndex,t)}}#p(t){return Ds({onCaughtUp:t.onCaughtUp,follow:t.follow,host:this.#t.host,keepAlive:t.keepAlive,resolveHeaders:()=>this.#t.resolveHeaders(t.resolveHeaders?.()??t.headers),path:Ss(this.#e.sessionId),redirect:this.#t.redirect,signal:t.signal,startIndex:t.startIndex,streamReconnectPolicy:t.streamReconnectPolicy,resolveReconnectPolicy:t.resolveReconnectPolicy})}};function Cf(e,t){return e[Lf](t)}async function zL(e,t,a){let r=Date.now()+2e4,o=250;for(;;){try{return await qs(e,t,a,!1)}catch(n){if(!GL(n))throw n;let s=r-Date.now();if(s<=0)throw n;await sr(Math.min(o,s),a.signal)}a.signal?.throwIfAborted(),o=Math.min(o*2,2e3)}}async function VL(e,t){let a=await e.resolveHeaders(t.headers),r=await fetch(mt(e.host,$e),{headers:a,method:"POST",redirect:e.redirect,signal:t.signal??null});if(!r.ok){let o=await r.text();throw new Ve(r.status,o,r.headers)}return r}function GL(e){return e instanceof Ve&&e.status===409&&e.code==="session_not_ready"}async function qs(e,t,a,r){let o=KL(a,r);if(o===null)throw Error(r?"Creating a session requires a non-empty message.":"A session turn requires a non-empty message or inputResponses.");let n=await e.resolveHeaders(a.headers);n.set("content-type","application/json");let s=await fetch(mt(e.host,t),{body:JSON.stringify(o),headers:n,method:"POST",redirect:e.redirect,signal:a.signal??null});if(!s.ok){let i=await s.text();throw new Ve(s.status,i,s.headers)}return s}async function Us(e,t){let a=await e.json(),r=(typeof a.sessionId=="string"?a.sessionId:void 0)??e.headers.get(Hc)?.trim()??t;if(!r)throw Error("Message route did not return a session id.");return{sessionId:r,deliveryId:typeof a.deliveryId=="string"&&a.deliveryId.length>0?a.deliveryId:void 0}}function KL(e,t){let a={};e.message!==void 0&&(a.message=e.message),e.inputResponses!==void 0&&e.inputResponses.length>0&&(a.inputResponses=e.inputResponses),!t&&e.message!==void 0&&e.turnPolicy!==void 0&&(a.turnPolicy=e.turnPolicy),e.message!==void 0&&e.taskDeliveryPolicy!==void 0&&(a.taskDeliveryPolicy=e.taskDeliveryPolicy),e.clientContext!==void 0&&(a.clientContext=e.clientContext);let r=xf(e.outputSchema);return r!==void 0&&(a.outputSchema=r),t&&a.message===void 0||a.message===void 0&&a.inputResponses===void 0?null:a}var Hs=class{#t;constructor(e){this.#t=e}async create(e={}){return"message"in e?await ur.create(this.#t,e):{session:await ur.prewarm(this.#t,e)}}attach(e,t){if(e.length===0)throw Error("sessionId must be a non-empty string.");return new ur(this.#t,{sessionId:e,streamIndex:t?.streamIndex??0})}};function Sf(e,t){let a=new TextEncoder().encode(`${e}:${t}`),r=Array.from(a,o=>String.fromCodePoint(o)).join("");return btoa(r)}import{z as Ro}from"zod";var bf=Ro.object({ok:Ro.literal(!0),status:Ro.literal("ready"),workflowId:Ro.string().min(1)}).strict();import{z as h}from"zod";var Eo=h.discriminatedUnion("kind",[h.object({kind:h.literal("application")}).strict(),h.object({feature:h.string(),kind:h.literal("framework")}).strict(),h.object({kind:h.literal("extension"),namespace:h.string(),packageName:h.string()}).strict()]),Tf=h.discriminatedUnion("kind",[h.object({externalDependencies:h.array(h.string()),extensionScope:h.object({namespace:h.string(),sourceRoot:h.string()}).strict().optional(),kind:h.literal("filesystem"),sourcePath:h.string()}).strict(),h.object({dependencies:h.record(h.string(),h.string()).optional(),kind:h.literal("programmatic"),moduleId:h.string(),parameters:h.record(h.string(),h.unknown()).optional(),registryId:h.string(),revision:h.string(),semanticRevision:h.string().optional()}).strict()]),Af=h.object({backing:Tf,logicalPath:h.string(),owner:Eo}).strict(),Ct=h.object({binding:Af.optional(),exportName:h.string().optional(),logicalPath:h.string(),owner:Eo,sourceId:h.string(),sourceKind:h.enum(["markdown","module","skill-package"])}).strict(),ea=Ct.extend({name:h.string()}).strict(),dr=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),XL=h.discriminatedUnion("kind",[h.object({kind:h.literal("gateway"),target:h.string(),byok:h.string().optional()}).strict(),h.object({kind:h.literal("external"),provider:h.string()}).strict()]),QL=h.union([h.object({kind:h.literal("external"),provider:h.string()}).strict(),h.object({kind:h.literal("chatgpt"),state:h.enum(["checking","ready","signed-out","reauth-required","unavailable"]),accountLabel:h.string().optional()}).strict(),h.object({kind:h.literal("gateway"),connected:h.literal(!0),credential:h.enum(["api-key","oidc","oauth"]),team:h.optional(h.string())}).strict(),h.object({kind:h.literal("gateway"),connected:h.literal(!1)}).strict()]),vf={contextWindowTokens:h.number().optional(),providerOptions:h.unknown().optional(),reasoning:h.enum(["provider-default","none","minimal","low","medium","high","xhigh"]).optional().catch(void 0),source:Ct.optional()},JL=h.union([h.object({...vf,endpoint:QL.optional(),id:h.string(),routing:XL}).strict(),h.object({...vf,endpoint:h.never().optional(),id:h.never().optional(),routing:h.object({kind:h.literal("dynamic"),resolver:dr}).strict()}).strict()]),YL=ea.extend({description:h.string(),hasAuth:h.boolean(),hasExecute:h.boolean(),hasModelOutputProjection:h.boolean(),hasOutputSchema:h.boolean(),inputSchema:h.unknown(),outputSchema:h.unknown().optional(),requiresApproval:h.boolean()}).strict(),ZL=ea.extend({description:h.string(),license:h.string().optional(),markdown:h.string(),metadata:h.record(h.string(),h.string()).optional()}).strict(),eC=ea.extend({content:h.string(),role:h.enum(["system","user"])}).strict(),tC=ea.extend({cron:h.string(),hasRun:h.boolean(),markdown:h.string().optional()}).strict(),Pf=h.enum(["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","WEBSOCKET"]),aC=ea.extend({adapterKind:h.string().optional(),method:Pf,urlPath:h.string()}).strict(),rC=h.object({backing:h.union([Tf,h.object({kind:h.literal("resource"),sourcePath:h.string()}).strict()]),form:h.enum(["derived","direct"]),layer:h.enum(["framework-default","extension-package","extension-override","application"]),logicalPath:h.string(),owner:Eo,sourceId:h.string()}).strict(),oC=h.object({method:Pf,source:rC,urlPath:h.string(),winnerSourceId:h.string()}).strict(),nC=Ct.extend({connectionName:h.string(),description:h.string(),hasApproval:h.boolean(),hasAuthorization:h.boolean(),hasHeaders:h.boolean(),protocol:h.string(),toolFilter:h.unknown().optional(),url:h.string()}).strict(),sC=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),iC=Ct.extend({description:h.string().optional(),slot:h.string(),visibility:h.enum(["scope","session"])}).strict(),lC=Ct.extend({provider:h.string().optional(),environmentExportName:h.string().optional(),revisionHash:h.string()}).strict(),uC=ea.extend({configResolver:dr.optional(),description:h.string().optional(),entryPath:h.string(),nodeId:h.string(),parentNodeId:h.string(),rootPath:h.string(),summary:h.object({channels:h.number(),connections:h.number(),hooks:h.number(),instructions:h.number(),memories:h.number(),schedules:h.number(),skills:h.number(),tools:h.number()}).strict()}).strict(),dC=ea.extend({description:h.string(),nodeId:h.string(),parentNodeId:h.string(),url:h.string().optional()}).strict(),cC=h.object({action:h.enum(["subagent-call","task-cancel","workflow-tool-call"]).optional(),audience:h.array(h.enum(["root-session","delegated-task-child"])),kind:h.enum(["dispatch","provider-tool"]),sourceId:h.string()}).strict(),kf=h.object({kind:h.enum(["disabled","shadowed"]),logicalPath:h.string(),owner:Eo,sourceId:h.string(),winnerSourceId:h.string().optional()}).strict(),Rf=h.object({agent:h.object({agentRoot:h.string(),appRoot:h.string(),config:Ct.extend({binding:Af}).strict(),description:h.string().optional(),model:JL,name:h.string(),nodeId:h.string(),outputSchema:h.unknown().optional()}).strict(),capabilities:h.object({devRoutes:h.boolean()}).strict(),channels:h.object({routes:h.array(aC),shadowed:h.array(oC)}).strict(),composition:h.object({disabled:h.array(kf),shadowed:h.array(kf)}).strict(),connections:h.array(nC),diagnostics:h.object({discoveryErrors:h.number(),discoveryWarnings:h.number()}).strict(),hooks:h.array(sC),instructions:h.object({dynamic:h.array(dr),static:h.array(eC)}).strict(),instrumentation:Ct.optional(),kernelEffects:h.array(cC),kind:h.literal("eve-agent-info"),memories:h.array(iC),mode:h.enum(["development","production"]),remoteAgents:h.object({entries:h.array(dC),total:h.number()}).strict(),sandbox:lC,schedules:h.array(tC),skills:h.object({dynamic:h.array(dr),static:h.array(ZL)}).strict(),subagents:h.object({local:h.array(uC),total:h.number()}).strict(),tools:h.object({dynamic:h.array(dr),static:h.array(YL)}).strict(),version:h.literal(5),workspace:h.object({resourceRoot:h.unknown(),rootEntries:h.array(h.string())}).strict()}).strict().superRefine((e,t)=>{let a=(n,s,i)=>{let l=new Set;n.forEach((u,d)=>{let c=s(u);l.has(c)&&t.addIssue({code:"custom",message:`Duplicate public identity "${c}".`,path:[...i,d]}),l.add(c)})},r=(n,s,i)=>{(!Number.isSafeInteger(n)||n<0||n!==s.length)&&t.addIssue({code:"custom",message:`Expected total ${s.length}, received ${n}.`,path:[...i]})};a(e.tools.static,n=>n.name,["tools","static"]),a(e.tools.dynamic,n=>n.slug,["tools","dynamic"]),a(e.skills.static,n=>n.name,["skills","static"]),a(e.skills.dynamic,n=>n.slug,["skills","dynamic"]),a(e.instructions.static,n=>n.name,["instructions","static"]),a(e.instructions.dynamic,n=>n.slug,["instructions","dynamic"]),a(e.schedules,n=>n.name,["schedules"]),a(e.connections,n=>n.connectionName,["connections"]),a(e.hooks,n=>n.slug,["hooks"]),a(e.memories,n=>n.slot,["memories"]),a(e.channels.routes,n=>`${n.method} ${fC(n.urlPath)}`,["channels","routes"]),a(e.subagents.local,n=>n.nodeId,["subagents","local"]),a(e.remoteAgents.entries,n=>n.nodeId,["remoteAgents","entries"]),r(e.subagents.total,e.subagents.local,["subagents","total"]),r(e.remoteAgents.total,e.remoteAgents.entries,["remoteAgents","total"]);let o=[[e.agent.config,["agent","config"]],...e.agent.model.source===void 0?[]:[[e.agent.model.source,["agent","model","source"]]],...e.agent.model.routing.kind==="dynamic"?[[e.agent.model.routing.resolver,["agent","model","routing","resolver"]]]:[],...e.channels.routes.map((n,s)=>[n,["channels","routes",s]]),...e.connections.map((n,s)=>[n,["connections",s]]),...e.hooks.map((n,s)=>[n,["hooks",s]]),...e.instructions.dynamic.map((n,s)=>[n,["instructions","dynamic",s]]),...e.instructions.static.map((n,s)=>[n,["instructions","static",s]]),...e.memories.map((n,s)=>[n,["memories",s]]),...e.instrumentation===void 0?[]:[[e.instrumentation,["instrumentation"]]],...e.remoteAgents.entries.map((n,s)=>[n,["remoteAgents","entries",s]]),...e.schedules.map((n,s)=>[n,["schedules",s]]),...e.skills.dynamic.map((n,s)=>[n,["skills","dynamic",s]]),...e.skills.static.map((n,s)=>[n,["skills","static",s]]),...e.subagents.local.flatMap((n,s)=>n.configResolver===void 0?[]:[[n.configResolver,["subagents","local",s,"configResolver"]]]),...e.tools.dynamic.map((n,s)=>[n,["tools","dynamic",s]]),...e.tools.static.map((n,s)=>[n,["tools","static",s]]),[e.sandbox,["sandbox"]]];for(let[n,s]of o){if(n.sourceKind==="module"&&n.binding===void 0){t.addIssue({code:"custom",message:"Module source is missing its compiled binding.",path:[...s,"binding"]});continue}if(n.sourceKind!=="module"&&n.binding!==void 0){t.addIssue({code:"custom",message:`${n.sourceKind} source cannot carry a module binding.`,path:[...s,"binding"]});continue}n.binding!==void 0&&(n.binding.logicalPath!==n.logicalPath&&t.addIssue({code:"custom",message:"Source and binding logical paths do not match.",path:[...s,"binding","logicalPath"]}),JSON.stringify(n.binding.owner)!==JSON.stringify(n.owner)&&t.addIssue({code:"custom",message:"Source and binding owners do not match.",path:[...s,"binding","owner"]}))}});function fC(e){return e.replace(/^\/+|\/+$/g,"").split("/").map(t=>t.startsWith(":")||/^\[[^\]]+\]$/.test(t)?":":t).join("/")}var Ef="x-vercel-trusted-oidc-idp-token";var Ws=class{#t;#e;#a;#r;sessions;constructor(e){this.#a=e.host,this.#t=e.auth,this.#e=e.headers,this.#r=e.redirect,this.sessions=new Hs({host:this.#a,redirect:this.#r,resolveHeaders:t=>this.#n(t)})}async health(){let e=mt(this.#a,Mc),t=await this.#n(),a=await fetch(e,Mf({headers:t},this.#r));if(!a.ok){let n=await a.text();throw new Ve(a.status,n,a.headers)}let r;try{r=await a.json()}catch{throw new Ao}let o=bf.safeParse(r);if(!o.success)throw new Ao(o.error.issues.slice(0,5).map(n=>{let s=n.path.join(".");return s.length===0?n.message:`${s}: ${n.message}`}));return o.data}async info(e={}){let t=await this.fetch(Fc,e);if(!t.ok){let o=await t.text();throw new Ve(t.status,o,t.headers)}let a;try{a=await t.json()}catch{throw new To}let r=Rf.safeParse(a);if(!r.success)throw new To(r.error.issues.slice(0,5).map(o=>{let n=o.path.join(".");return n.length===0?o.message:`${n}: ${o.message}`}));return r.data}async fetch(e,t={}){let a=mt(this.#a,e),r=await this.#n(mC(t.headers));return await fetch(a,Mf({...t,headers:r},this.#r))}async#n(e){let t=new Headers,[a,r]=await Promise.all([pC(this.#e),this.#u()]);for(let[o,n]of Object.entries(a))t.set(o,n);for(let[o,n]of Object.entries(r))t.set(o,n);if(e)for(let[o,n]of Object.entries(e))t.set(o,n);return t}async#u(){let e=this.#t;if(!e)return{};if("vercelOidc"in e){let t=(await $s(e.vercelOidc.token)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`,[Ef]:t}}if("bearer"in e){let t=(await $s(e.bearer)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`}}if("basic"in e){let t=await $s(e.basic.password);return{authorization:`Basic ${Sf(e.basic.username,t)}`}}return{}}};async function $s(e){return typeof e=="function"?e():e}async function pC(e){return e===void 0?{}:typeof e=="function"?await e():e}function mC(e){return e===void 0?{}:Object.fromEntries(new Headers(e).entries())}function Mf(e,t){return t===void 0?e:{...e,redirect:t}}function js(){let e=new Set;return{admit(t){let a=t.meta?.id;return a===void 0||!e.has(a)&&(e.add(a),!0)},get size(){return e.size}}}var Ff=class{#t=new AbortController;#e=new Set;#a=Promise.withResolvers();caughtUp=this.#a.promise;#r=!1;#n;#u;#g;constructor(e,t){this.setOptions(t),this.caughtUp.catch(()=>{}),t.catchUp||this.#a.resolve(),(async()=>{try{for await(let a of Cf(e,{signal:this.#t.signal,resolveHeaders:()=>this.#u,resolveReconnectPolicy:()=>this.#g,startIndex:t.startIndex,onCaughtUp:t.catchUp?()=>this.#a.resolve():void 0})){if(this.#t.signal.aborted)return;t.onEvent(a);for(let r of this.#e)r.push(a);if(a.type==="session.completed"||a.type==="session.failed")break}this.#a.resolve(),this.#p()}catch(a){this.#a.reject(a),this.#p(a),this.#t.signal.aborted||t.onError(a)}})()}subscribe(e){let t=new hC(()=>this.#e.delete(t),e);return this.#r?t.end(this.#n):this.#e.add(t),t}get ended(){return this.#r}setOptions(e){"headers"in e&&(this.#u=e.headers),"streamReconnectPolicy"in e&&(this.#g=e.streamReconnectPolicy)}close(){let e=new DOMException("Session stream was detached.","AbortError");this.#t.abort(e),this.#a.reject(e),this.#p(e)}#p(e){if(!this.#r){this.#r=!0,this.#n=e;for(let t of this.#e)t.end(e)}}},hC=class{#t=[];#e=Promise.withResolvers();#a=!1;#r;#n;constructor(e,t){let a=()=>this.end(t?.reason);t?.addEventListener("abort",a,{once:!0}),this.#n=()=>{t?.removeEventListener("abort",a),e()},t?.aborted&&a()}push(e){this.#a||(this.#t.push(e),this.#e.resolve())}end(e){this.#a||(this.#a=!0,this.#r=e,this.#e.resolve())}[Symbol.dispose](){this.end(),this.#t=[],this.#n()}discard(){this.#t=[]}async*[Symbol.asyncIterator](){for(;;){for(;this.#t.length>0;)yield this.#t.shift();if(this.#a){if(this.#r!==void 0)throw this.#r;return}this.#e=Promise.withResolvers(),await this.#e.promise}}};var _f=class{#t;#e;#a;constructor(e,t){this.#t=e,this.#e=t,this.#a=this.#r()}get data(){return this.#a}reset(){this.#e=[],this.#a=this.#t.initial()}append(e){this.#e=[...this.#e,e],this.#a=this.#t.reduce(this.#a,e)}remove(e){this.#e=this.#e.filter(t=>!e(t)),this.#a=this.#r()}replace(e,t){let a=this.#e.findIndex(e);this.#e=a===-1?[...this.#e,t]:this.#e.map((r,o)=>o===a?t:r),this.#a=this.#r()}#r(){let e=this.#t.initial();for(let t of this.#e)e=this.#t.reduce(e,t);return e}};function Bf(e){let t=e.at(-1);return t!==void 0&&Je(t)&&(t.type!=="session.waiting"||gC(e).size===0)}function gC(e){let t=new Set;for(let a of e)Jt(t,a);return t}function zs(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error("A turn requires exactly one of message or inputResponses.")}var Df=0;function Of(){let e=globalThis.crypto?.randomUUID;return e===void 0?(Df+=1,`submission_${Df.toString()}`):e.call(globalThis.crypto)}function cr(e,t){return e?AbortSignal.any([e,t]):t}function Uf(e){if(typeof e=="string")return e;let t=[];for(let a of e)a.type==="text"?t.push(a.text):a.type==="file"&&t.push(a.filename?`[file: ${a.filename}]`:"[file]");return t.join(`
|
|
22
|
-
`)}function Vs(e){return e instanceof Error&&e.name==="AbortError"}function Nf(e){if(e.type!=="session.failed")return;let t=Error(e.data.message);return t.name=e.data.code,t}function Gs(e){let t=Promise.withResolvers(),a=Promise.withResolvers(),r={abortController:new AbortController,acceptedFollowUps:0,cancel:()=>e(r),completion:a.promise,followUpDispatches:new Set,receivedFollowUps:0,receivedFollowUpEvents:new Map,followUpSubmissionIds:new Set,resolveCompletion:a.resolve,response:t.promise,resolveResponse:t.resolve};return r}async function Ks(e,t,a){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(!(e.receivedFollowUps>=e.acceptedFollowUps))for await(let r of t){if(!a())return;if(e.receivedFollowUps+=e.receivedFollowUpEvents.get(r)??0,e.receivedFollowUpEvents.delete(r),Je(r)){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(e.receivedFollowUps>=e.acceptedFollowUps)return}}}async function fr(e,t){if(t===void 0)return await e;let a=Promise.withResolvers(),r=()=>a.reject(t.reason);t.addEventListener("abort",r,{once:!0}),t.aborted&&r();try{return await Promise.race([a.promise,e])}finally{t.removeEventListener("abort",r)}}var qf=class{#t;#e;#a=[];constructor(e,t){this.#e=e,this.#t=t}reset(){this.#a=[]}submit(e,t){if(e.message===void 0)return;let a={createdAt:Date.now(),eventStartIndex:t,id:Of(),message:Uf(e.message),requiresDeliveryId:!0};return this.#a=[...this.#a,a],this.#t&&this.#e.append({data:{createdAt:a.createdAt,message:a.message,submissionId:a.id},type:"client.message.submitted"}),a.id}apply(e){if(e.type!=="message.received"){this.#e.append(e);return}if(e.data.kind==="execution.background_task"){this.#e.append(e);return}let t=this.#r(e);if(t.length===0){this.#e.append(e);return}return this.#n(t,e,!1)}correlate(e,t,a){if(e===void 0)return;this.#a=this.#a.map(o=>o.id===e?{...o,deliveryId:t,requiresDeliveryId:t!==void 0}:o);let r=this.#a.find(o=>o.id===e);if(r!==void 0)for(let o of a.slice(r.eventStartIndex)){if(o.type!=="message.received"||o.data.kind==="execution.background_task")continue;let n=this.#r(o);if(n.some(s=>s.id===e))return this.#n(n,o,!0)}}fail(e,t){let a=t===void 0?this.#a[0]:this.#a.find(r=>r.id===t);a!==void 0&&(this.#a=this.#a.filter(r=>r.id!==a.id),this.#e.replace(r=>r.type==="client.message.submitted"&&r.data.submissionId===a.id,{data:{createdAt:a.createdAt,error:{message:e.message},message:a.message,submissionId:a.id},type:"client.message.failed"}))}failAll(e){for(let t of this.#a)this.fail(e,t.id)}#r(e){return this.#a.filter(t=>t.deliveryId===void 0?!t.requiresDeliveryId:e.meta.deliveryIds?.includes(t.deliveryId)===!0)}#n(e,t,a){let r=e.map(n=>n.id),o=new Set(r);return this.#a=this.#a.filter(n=>!o.has(n.id)),a||this.#e.replace(n=>n.type==="client.message.submitted"&&n.data.submissionId===r[0],t),this.#e.remove(n=>n.type==="client.message.submitted"&&o.has(n.data.submissionId)),{alreadyProjected:a,event:t,ids:r}}};var wC=Symbol("detachEveAgentStore"),IC=Symbol("attachEveAgentStore"),Xs=class{#t;#e;#a=!1;#r;#n=new Set;#u;#g;#p;#S=new Set;#b=js();#l;#c={};#i;#m;#h;#w=0;#I;#C;#x;#s;#y;#o="ready";constructor(e){this.#e=e.prewarm??!1,this.#u=e.session!==void 0,this.#t=this.#u?void 0:new Ws({auth:e.auth,headers:e.headers,host:e.host??""});let t=[];for(let a of e.initialEvents??[])this.#b.admit(a)&&t.push(a),Jt(this.#n,a);this.#m=t,this.#p=new _f(e.reducer,this.#m),this.#g=e.optimistic??!0,this.#h=new qf(this.#p,this.#g),this.#s=e.session??(e.initialSession===void 0?void 0:this.#t?.sessions.attach(e.initialSession.sessionId,{streamIndex:e.initialSession.streamIndex})),this.#y=this.#R()}get snapshot(){return this.#y}setCallbacks(e){this.#c=e}subscribe(e){return this.#S.add(e),()=>{this.#S.delete(e)}}prewarm(){if(this.#I!==void 0)return this.#I;if(this.#s!==void 0||this.#u)return Promise.resolve();if(this.#l!==void 0)return this.#l.response.then(n=>{if(n===void 0)throw this.#i??new DOMException("Session creation was aborted.","AbortError")});let e=this.#t;if(e===void 0)return Promise.reject(Error("This eve agent store does not own a session client."));let t=this.#w,a=new AbortController;this.#C=a;let r=(async()=>{try{let n=await e.sessions.create({signal:a.signal});if(t!==this.#w)return;this.#s=n.session,this.#i=void 0,this.#o==="error"&&(this.#o="ready"),this.#c.onSessionChange?.(n.session.state),this.#f(),this.#L()}catch(n){throw t===this.#w&&this.#l===void 0&&this.#i===void 0&&(this.#i=Qt(n),this.#o="error",this.#c.onError?.(this.#i),this.#f()),n}})();this.#I=r;let o=()=>{this.#I===r&&(this.#I=void 0,this.#C=void 0)};return r.then(o,o),r}async send(e){return await this.#k(e,this.#c.prepareSend)}async#k(e,t){if(this.#l!==void 0){if(this.#o==="resuming")throw Error("eve session is resuming.");return await this.#M(this.#l,e,t)}let a=Gs(o=>o.acceptedFollowUps>0&&this.#s!==void 0?this.#s.cancel():o.response.then(n=>n===void 0?{status:"no_active_turn"}:n.cancel()));this.#l=a,this.#i=void 0,this.#o="submitted",this.#f();let r;try{let o=await(t===void 0?e:fr(Promise.resolve(t(e)),cr(e.signal,a.abortController.signal)));if(zs(o),!this.#d(a))return;let n=this.#h.submit(o,this.#m.length);this.#_(o),this.#f();let s={...o,signal:cr(o.signal,a.abortController.signal)},i=await this.#F(s),l=i.response;if(r=i.reader,!this.#d(a))return;a.resolveResponse(l),this.#v(this.#h.correlate(n,Ms(l),this.#m))&&this.#f();for await(let u of Xc(l,r)){if(!this.#d(a))return;a.receivedFollowUps+=a.receivedFollowUpEvents.get(u)??0,a.receivedFollowUpEvents.delete(u)}if(!this.#d(a)||(await Ks(a,r,()=>this.#d(a)),!this.#d(a)))return;this.#o=this.#i===void 0?"ready":"error"}catch(o){if(!this.#d(a))return;if(Vs(o))this.#o="ready",this.#h.fail(Qt(o));else{let n=this.#i!==void 0;this.#i??=Qt(o),this.#o="error",this.#h.fail(this.#i),n||this.#c.onError?.(this.#i)}}finally{r?.[Symbol.dispose](),this.#A(a)}}resume(){if(this.#x!==void 0)return this.#x;let e=this.#E();this.#x=e;let t=()=>{this.#x===e&&(this.#x=void 0)};return e.then(t,t),e}async#E(){if(this.#o==="resuming"||this.#o==="streaming"||this.#o==="submitted")throw Error("eve session is already processing a turn.");if(this.#s===void 0)throw Error("An eve session is required before resuming.");let e=this.#s,t=Gs(()=>e.cancel());this.#l=t,t.resolveResponse(void 0),this.#i=void 0,this.#o="resuming",this.#f();let a;try{let r=this.#L({catchUp:!0,startIndex:this.#m.length===e.state.streamIndex?e.state.streamIndex:0});if(a=r.subscribe(t.abortController.signal),await r.caughtUp,!this.#d(t))return;a.discard();let o=this.#m.at(-1);if(o!==void 0&&this.#P(o),o!==void 0&&this.#i===void 0&&!Bf(this.#m)){this.#o="streaming",this.#f();for await(let n of a){if(!this.#d(t))return;if(t.receivedFollowUps+=t.receivedFollowUpEvents.get(n)??0,t.receivedFollowUpEvents.delete(n),Je(n)&&this.#n.size===0)break}}await Ks(t,a,()=>this.#d(t)),this.#d(t)&&(this.#o=this.#i===void 0?"ready":"error")}catch(r){if(!this.#d(t))return;Vs(r)?this.#o="ready":(this.#i=Qt(r),this.#o="error",this.#c.onError?.(this.#i))}finally{a?.[Symbol.dispose](),this.#A(t)}}cancel(){let e=this.#l;return e===void 0?this.#o==="streaming"&&this.#s!==void 0?this.#s.cancel():Promise.resolve({status:"no_active_turn"}):e.cancel()}[IC](){this.#a=!0,this.#e&&this.#s===void 0&&this.prewarm().catch(()=>{})}[wC](){this.#a=!1,this.#r?.close(),this.#r=void 0,this.#l?.abortController.abort(),this.#T(),this.#x=void 0}reset(){this.#r?.close(),this.#r=void 0,this.#n.clear();let e=this.#l;this.#l=void 0,e?.resolveResponse(void 0),e?.resolveCompletion(),e?.abortController.abort(),this.#T(),this.#x=void 0,this.#u||(this.#s=void 0),this.#m=[],this.#b=js(),this.#h.reset(),this.#p.reset(),this.#i=void 0,this.#o="ready",this.#c.onSessionChange?.(this.#s?.state),this.#f(),this.#e&&this.#a&&this.prewarm().catch(()=>{})}async#M(e,t,a){if(t.message===void 0||t.turnPolicy!=="steer")throw Error('eve session is already processing a turn. Send a message with turnPolicy: "steer" to guide it at the next boundary.');let r=this.#w,o=cr(t.signal,e.abortController.signal),n=await fr(Promise.resolve(a?.(t)),o)??t;if(r!==this.#w)return;if(zs(n),n.message===void 0||n.turnPolicy!=="steer")throw Error('An in-flight follow-up requires a message with turnPolicy: "steer".');if(!this.#d(e))return await this.#k(n);let s=this.#h.submit(n,this.#m.length);s!==void 0&&e.followUpSubmissionIds.add(s),this.#f(),this.#L({headers:n.headers,streamReconnectPolicy:n.streamReconnectPolicy});let i;i=(async()=>{try{let l=cr(n.signal,e.abortController.signal);if(await fr(e.response,l),!this.#d(e)||this.#s===void 0)throw Error("The active eve turn ended before the follow-up could be sent.");let{message:u,...d}=n,c=await this.#s.send(u,{...d,signal:l});e.acceptedFollowUps+=1,this.#v(this.#h.correlate(s,Ms(c),this.#m))&&this.#f()}catch(l){throw this.#d(e)&&(this.#h.fail(Qt(l),s),this.#f()),l}finally{e.followUpDispatches.delete(i)}})(),e.followUpDispatches.add(i),await i,await e.completion}async#F(e){let t={headers:e.headers,streamReconnectPolicy:e.streamReconnectPolicy};if(this.#I!==void 0&&(await fr(this.#I.catch(r=>{if(this.#s!==void 0)throw r}),e.signal),e.signal?.throwIfAborted()),this.#s===void 0){if(this.#t===void 0)throw Error("An external eve session is required before sending.");if(e.message===void 0)throw Error("Cannot answer an input request before the session starts.");let r=await this.#t.sessions.create({...e,message:e.message});return e.signal?.throwIfAborted(),this.#s=r.session,this.#c.onSessionChange?.(r.session.state),this.#f(),{response:r.response,reader:this.#L(t).subscribe(e.signal)}}let a=this.#L(t).subscribe(e.signal);try{if(e.inputResponses===void 0){let{message:n,...s}=e;return{response:await this.#s.send(n,s),reader:a}}let{inputResponses:r,...o}=e;return{response:await this.#s.respond(r,o),reader:a}}catch(r){throw a[Symbol.dispose](),r}}#L(e={}){if(this.#r!==void 0&&!this.#r.ended)return this.#r.setOptions(e),this.#r;if(this.#s===void 0)throw Error("A session is required before opening its stream.");let t=this.#s,a=this.#w;return this.#r=new Ff(t,{...e,onEvent:r=>{a===this.#w&&this.#D(r)},onError:r=>{a===this.#w&&(this.#r=void 0,this.#l===void 0&&(this.#i=Qt(r),this.#o="error",this.#c.onError?.(this.#i),this.#f()))}}),this.#r}#T(){this.#w+=1,this.#C?.abort(),this.#C=void 0,this.#I=void 0}#A(e){if(this.#d(e)){e.resolveResponse(void 0),this.#l=void 0;try{this.#c.onSessionChange?.(this.#s?.state),this.#f(),this.#c.onFinish?.(this.#y)}finally{e.resolveCompletion()}}}#d(e){return this.#l===e}#_(e){e.inputResponses!==void 0&&e.inputResponses.length!==0&&this.#p.append({data:{createdAt:Date.now(),responses:e.inputResponses},type:"client.input.responded"})}#D(e){if(!this.#b.admit(e))return;let t=this.#o==="streaming";Jt(this.#n,e),this.#m=[...this.#m,e],this.#v(this.#h.apply(e)),this.#c.onEvent?.(e),this.#P(e);let a=Je(e)&&this.#n.size===0;this.#o!=="resuming"&&this.#i===void 0&&("data"in e&&"turnId"in e.data&&(this.#o="streaming"),this.#l===void 0&&a&&(this.#o="ready")),this.#c.onSessionChange?.(this.#s?.state),this.#o!=="resuming"&&this.#f(),this.#l===void 0&&t&&a&&this.#c.onFinish?.(this.#y)}#v(e){if(e===void 0)return!1;let t=0;for(let a of e.ids)this.#l?.followUpSubmissionIds.delete(a)&&(t+=1);if(t>0&&this.#l!==void 0)if(e.alreadyProjected)this.#l.receivedFollowUps+=t;else{let a=this.#l.receivedFollowUpEvents.get(e.event)??0;this.#l.receivedFollowUpEvents.set(e.event,a+t)}return!0}#P(e){let t=Nf(e);t!==void 0&&(this.#o="error",this.#h.failAll(t),this.#i===void 0&&(this.#i=t,this.#c.onError?.(t)))}#R(){return{data:this.#p.data,error:this.#i,events:this.#m,session:this.#s?.state,status:this.#o}}#f(){this.#y=this.#R();for(let e of this.#S)e()}};var xC=3e4;function yC(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function Qs(e){return`waniwani:eve-conversation:${e??""}`}function Js(e){try{let t=JSON.parse(localStorage.getItem(Qs(e))??"null");return typeof t=="object"&&t!==null&&"conversationId"in t&&typeof t.conversationId=="string"&&"ownerSecret"in t&&typeof t.ownerSecret=="string"?{conversationId:t.conversationId,ownerSecret:t.ownerSecret}:null}catch{return null}}function Ys(e,t){try{t?localStorage.setItem(Qs(e),JSON.stringify(t)):localStorage.removeItem(Qs(e))}catch{}}var LC={initial:()=>{},reduce:()=>{}},pr=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,this.store=new Xs({host:r.eveHost,auth:{bearer:()=>this.bearer()},initialSession:{sessionId:r.sessionId,streamIndex:0},optimistic:!1,reducer:LC}),this.store.setCallbacks({onEvent:o=>this.forward?.(o)}),this.caughtUp=this.store.resume().catch(()=>{})}grant;refreshing=null;store;forward;caughtUp;used=!1;static async create(t){let a=yC(),r=await t.open({operation:"create",requestId:crypto.randomUUID(),ownerSecret:a,channelId:t.channelId,visitorId:t.visitorId});return r?new e(t.open,a,r):null}static async resume(t){let a=await t.open({operation:"resume",...t.saved});return a?new e(t.open,t.saved.ownerSecret,a):null}get sessionId(){return this.grant.sessionId}get saved(){return{conversationId:this.grant.conversationId,ownerSecret:this.secret}}get followups(){return this.grant.followups}async history(){await this.caughtUp;let{events:t}=this.store.snapshot;return this.used||=t.some(a=>a.type==="message.received"),t}async bearer(){return this.grant.expiresAt-xC>Date.now()?this.grant.accessToken:(this.refreshing??=this.open({operation:"refresh",conversationId:this.grant.conversationId,ownerSecret:this.secret}).then(t=>{if(!t)throw new Error("The conversation left the direct runtime");return this.grant=t,t.accessToken}).finally(()=>{this.refreshing=null}),await this.refreshing)}turn(t,a){return this.used=!0,a?.addEventListener("abort",()=>{this.store.cancel()},{once:!0}),new ReadableStream({start:async o=>{let n=!1;this.forward=i=>{n||=i.type==="turn.failed"||i.type==="session.failed",o.enqueue(i)},await this.caughtUp;let s=await this.store.send({message:t,signal:a}).then(()=>this.store.snapshot.error,i=>i instanceof Error?i:new Error(String(i)));this.forward=void 0,s&&!n&&!a?.aborted&&o.enqueue({type:"session.failed",data:{message:s.message}}),o.close()}}).pipeThrough(vo())}close(){this.forward=void 0,this.store.reset()}};function ha(e,t){let a=e[t];return typeof a=="string"&&a?a:void 0}function CC(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function SC(e){return e.filter(t=>t.role==="user").map(t=>t.parts.flatMap(a=>a.type==="text"?[a.text]:[]).join(`
|
|
23
|
-
`))}function Hf(e){return fetch(new URL(e.path,new URL(e.sessionApi,location.href)),{method:"POST",headers:{...e.headers(),"content-type":"application/json"},body:JSON.stringify(e.body),cache:"no-store",signal:e.signal})}function bC(e){return async t=>{let a=await Hf({...e,path:"followups",body:t,signal:AbortSignal.timeout(8e3)}),r=a.ok?await a.json():null,o=typeof r=="object"&&r!==null&&"data"in r?r.data:null,n=typeof o=="object"&&o!==null&&"suggestions"in o?o.suggestions:null;return Array.isArray(n)?n.filter(s=>typeof s=="string"):[]}}function vC(e){let t="",a=!1,r=new Set;return new TransformStream({async transform(o,n){if(o.type==="text-delta"&&(t+=o.delta),o.type==="tool-input-available"&&r.add(o.toolName),o.type==="error"&&(a=!0),o.type==="finish"&&!a&&!e.signal?.aborted&&t.trim()){let s=await e.suggest(t,[...r]).catch(()=>[]);s.length>0&&n.enqueue({type:"data-suggestions",data:{suggestions:s}})}n.enqueue(o)}})}function kC(e){return async t=>{let a=await Hf({...e,path:e.sessionApi,body:t});if(!a.ok)throw new Error(`Opening the chat failed (${a.status})`);let r=await a.json(),o=typeof r=="object"&&r!==null&&"data"in r?r.data:null;if(typeof o!="object"||o===null||!("transport"in o))throw new Error("The session route answered no transport");if(o.transport!=="eve-native")return null;let n={...o},s=n.session,i=typeof s=="object"&&s!==null&&"sessionId"in s?s.sessionId:void 0,l=ha(n,"conversationId"),u=ha(n,"eveHost"),d=ha(n,"accessToken"),c=Date.parse(ha(n,"expiresAt")??"");if(!l||!u||!d||typeof i!="string"||Number.isNaN(c))throw new Error("The session route answered an incomplete session");return{conversationId:l,eveHost:u,sessionId:i,accessToken:d,expiresAt:c,followups:n.followups===!0}}}var
|
|
21
|
+
- `)}`,Error(M)}let R=`${i}/$ref`,Y=ve(e,D,a,r,o,n,s,R,l);if(Y.valid||T.push({instanceLocation:s,keyword:"$ref",keywordLocation:R,error:"A subschema had errors."},...Y.errors),a==="4"||a==="7")return{valid:T.length===0,errors:T}}if(Array.isArray(m)){let D=m.length,R=!1;for(let Y=0;Y<D;Y++)if(d===m[Y]||m[Y]==="integer"&&d==="number"&&e%1==0&&e===e){R=!0;break}R||T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m.join('", "')}".`})}else m==="integer"?(d!=="number"||e%1||e!==e)&&T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m}".`}):m!==void 0&&d!==m&&T.push({instanceLocation:s,keyword:"type",keywordLocation:`${i}/type`,error:`Instance type "${d}" is invalid. Expected "${m}".`});if(L!==void 0&&(d==="object"||d==="array"?ir(e,L)||T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(L)}.`}):e!==L&&T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(L)}.`})),C!==void 0&&(d==="object"||d==="array"?C.some(D=>ir(e,D))||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`}):C.some(D=>e===D)||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(C)}.`})),S!==void 0){let D=`${i}/not`;ve(e,S,a,r,o,n,s,D).valid&&T.push({instanceLocation:s,keyword:"not",keywordLocation:D,error:'Instance matched "not" schema.'})}let Be=[];if(I!==void 0){let D=`${i}/anyOf`,R=T.length,Y=!1;for(let M=0;M<I.length;M++){let w=I[M],P=Object.create(l),F=ve(e,w,a,r,o,p===!0?n:null,s,`${D}/${M}`,P);T.push(...F.errors),Y||=F.valid,F.valid&&Be.push(P)}Y?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"anyOf",keywordLocation:D,error:"Instance does not match any subschemas."})}if(x!==void 0){let D=`${i}/allOf`,R=T.length,Y=!0;for(let M=0;M<x.length;M++){let w=x[M],P=Object.create(l),F=ve(e,w,a,r,o,p===!0?n:null,s,`${D}/${M}`,P);T.push(...F.errors),Y&&=F.valid,F.valid&&Be.push(P)}Y?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"allOf",keywordLocation:D,error:"Instance does not match every subschema."})}if(b!==void 0){let D=`${i}/oneOf`,R=T.length,Y=b.filter((M,w)=>{let P=Object.create(l),F=ve(e,M,a,r,o,p===!0?n:null,s,`${D}/${w}`,P);return T.push(...F.errors),F.valid&&Be.push(P),F.valid}).length;Y===1?T.length=R:T.splice(R,0,{instanceLocation:s,keyword:"oneOf",keywordLocation:D,error:`Instance does not match exactly one subschema (${Y} matches).`})}if((d==="object"||d==="array")&&Object.assign(l,...Be),N!==void 0){let D=`${i}/if`;if(ve(e,N,a,r,o,n,s,D,l).valid){if(U!==void 0){let R=ve(e,U,a,r,o,n,s,`${i}/then`,l);R.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:D,error:'Instance does not match "then" schema.'},...R.errors)}}else if(j!==void 0){let R=ve(e,j,a,r,o,n,s,`${i}/else`,l);R.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:D,error:'Instance does not match "else" schema.'},...R.errors)}}if(d==="object"){if(y!==void 0)for(let M of y)M in e||T.push({instanceLocation:s,keyword:"required",keywordLocation:`${i}/required`,error:`Instance does not have required property "${M}".`});let D=Object.keys(e);if(W!==void 0&&D.length<W&&T.push({instanceLocation:s,keyword:"minProperties",keywordLocation:`${i}/minProperties`,error:`Instance does not have at least ${W} properties.`}),Q!==void 0&&D.length>Q&&T.push({instanceLocation:s,keyword:"maxProperties",keywordLocation:`${i}/maxProperties`,error:`Instance does not have at least ${Q} properties.`}),E!==void 0){let M=`${i}/propertyNames`;for(let w in e){let P=`${s}/${nt(w)}`,F=ve(w,E,a,r,o,n,P,M);F.valid||T.push({instanceLocation:s,keyword:"propertyNames",keywordLocation:M,error:`Property name "${w}" does not match schema.`},...F.errors)}}if(v!==void 0){let M=`${i}/dependantRequired`;for(let w in v)if(w in e){let P=v[w];for(let F of P)F in e||T.push({instanceLocation:s,keyword:"dependentRequired",keywordLocation:M,error:`Instance has "${w}" but does not have "${F}".`})}}if(_!==void 0)for(let M in _){let w=`${i}/dependentSchemas`;if(M in e){let P=ve(e,_[M],a,r,o,n,s,`${w}/${nt(M)}`,l);P.valid||T.push({instanceLocation:s,keyword:"dependentSchemas",keywordLocation:w,error:`Instance has "${M}" but does not match dependant schema.`},...P.errors)}}if(re!==void 0){let M=`${i}/dependencies`;for(let w in re)if(w in e){let P=re[w];if(Array.isArray(P))for(let F of P)F in e||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:M,error:`Instance has "${w}" but does not have "${F}".`});else{let F=ve(e,P,a,r,o,n,s,`${M}/${nt(w)}`);F.valid||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:M,error:`Instance has "${w}" but does not match dependant schema.`},...F.errors)}}}let R=Object.create(null),Y=!1;if(z!==void 0){let M=`${i}/properties`;for(let w in z){if(!(w in e))continue;let P=`${s}/${nt(w)}`,F=ve(e[w],z[w],a,r,o,n,P,`${M}/${nt(w)}`);if(F.valid)l[w]=R[w]=!0;else if(Y=o,T.push({instanceLocation:s,keyword:"properties",keywordLocation:M,error:`Property "${w}" does not match schema.`},...F.errors),Y)break}}if(!Y&&G!==void 0){let M=`${i}/patternProperties`;for(let w in G){let P=new RegExp(w,"u"),F=G[w];for(let ue in e){if(!P.test(ue))continue;let et=`${s}/${nt(ue)}`,st=ve(e[ue],F,a,r,o,n,et,`${M}/${nt(w)}`);st.valid?l[ue]=R[ue]=!0:(Y=o,T.push({instanceLocation:s,keyword:"patternProperties",keywordLocation:M,error:`Property "${ue}" matches pattern "${w}" but does not match associated schema.`},...st.errors))}}}if(!Y&&q!==void 0){let M=`${i}/additionalProperties`;for(let w in e){if(R[w])continue;let P=`${s}/${nt(w)}`,F=ve(e[w],q,a,r,o,n,P,M);F.valid?l[w]=!0:(Y=o,T.push({instanceLocation:s,keyword:"additionalProperties",keywordLocation:M,error:`Property "${w}" does not match additional properties schema.`},...F.errors))}}else if(!Y&&ee!==void 0){let M=`${i}/unevaluatedProperties`;for(let w in e)if(!l[w]){let P=`${s}/${nt(w)}`,F=ve(e[w],ee,a,r,o,n,P,M);F.valid?l[w]=!0:T.push({instanceLocation:s,keyword:"unevaluatedProperties",keywordLocation:M,error:`Property "${w}" does not match unevaluated properties schema.`},...F.errors)}}}else if(d==="array"){Ie!==void 0&&e.length>Ie&&T.push({instanceLocation:s,keyword:"maxItems",keywordLocation:`${i}/maxItems`,error:`Array has too many items (${e.length} > ${Ie}).`}),he!==void 0&&e.length<he&&T.push({instanceLocation:s,keyword:"minItems",keywordLocation:`${i}/minItems`,error:`Array has too few items (${e.length} < ${he}).`});let D=e.length,R=0,Y=!1;if(oe!==void 0){let M=`${i}/prefixItems`,w=Math.min(oe.length,D);for(;R<w;R++){let P=ve(e[R],oe[R],a,r,o,n,`${s}/${R}`,`${M}/${R}`);if(l[R]=!0,!P.valid&&(Y=o,T.push({instanceLocation:s,keyword:"prefixItems",keywordLocation:M,error:"Items did not match schema."},...P.errors),Y))break}}if(Pe!==void 0){let M=`${i}/items`;if(Array.isArray(Pe)){let w=Math.min(Pe.length,D);for(;R<w;R++){let P=ve(e[R],Pe[R],a,r,o,n,`${s}/${R}`,`${M}/${R}`);if(l[R]=!0,!P.valid&&(Y=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:M,error:"Items did not match schema."},...P.errors),Y))break}}else for(;R<D;R++){let w=ve(e[R],Pe,a,r,o,n,`${s}/${R}`,M);if(l[R]=!0,!w.valid&&(Y=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:M,error:"Items did not match schema."},...w.errors),Y))break}if(!Y&&Ne!==void 0){let w=`${i}/additionalItems`;for(;R<D;R++){let P=ve(e[R],Ne,a,r,o,n,`${s}/${R}`,w);l[R]=!0,P.valid||(Y=o,T.push({instanceLocation:s,keyword:"additionalItems",keywordLocation:w,error:"Items did not match additional items schema."},...P.errors))}}}if(H!==void 0)if(D===0&&$===void 0)T.push({instanceLocation:s,keyword:"contains",keywordLocation:`${i}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if($!==void 0&&D<$)T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array has less items (${D}) than minContains (${$}).`});else{let M=`${i}/contains`,w=T.length,P=0;for(let F=0;F<D;F++){let ue=ve(e[F],H,a,r,o,n,`${s}/${F}`,M);ue.valid?(l[F]=!0,P++):T.push(...ue.errors)}P>=($||0)&&(T.length=w),$===void 0&&ne===void 0&&P===0?T.splice(w,0,{instanceLocation:s,keyword:"contains",keywordLocation:M,error:"Array does not contain item matching schema."}):$!==void 0&&P<$?T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array must contain at least ${$} items matching schema. Only ${P} items were found.`}):ne!==void 0&&P>ne&&T.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${i}/maxContains`,error:`Array may contain at most ${ne} items matching schema. ${P} items were found.`})}if(!Y&&k!==void 0){let M=`${i}/unevaluatedItems`;for(;R<D;R++){if(l[R])continue;let w=ve(e[R],k,a,r,o,n,`${s}/${R}`,M);l[R]=!0,w.valid||T.push({instanceLocation:s,keyword:"unevaluatedItems",keywordLocation:M,error:"Items did not match unevaluated items schema."},...w.errors)}}if(ce)for(let M=0;M<D;M++){let w=e[M],P=typeof w=="object"&&!!w;for(let F=0;F<D;F++){if(M===F)continue;let ue=e[F];(w===ue||P&&typeof ue=="object"&&ue&&ir(w,ue))&&(T.push({instanceLocation:s,keyword:"uniqueItems",keywordLocation:`${i}/uniqueItems`,error:`Duplicate items at indexes ${M} and ${F}.`}),M=2**53-1,F=2**53-1)}}}else if(d==="number"){if(a==="4"?(K!==void 0&&(pe===!0&&e<=K||e<K)&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${pe?"or equal to ":""} ${K}.`}),X!==void 0&&(Ce===!0&&e>=X||e>X)&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${Ce?"or equal to ":""} ${X}.`})):(K!==void 0&&e<K&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${K}.`}),X!==void 0&&e>X&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${X}.`}),pe!==void 0&&e<=pe&&T.push({instanceLocation:s,keyword:"exclusiveMinimum",keywordLocation:`${i}/exclusiveMinimum`,error:`${e} is less than ${pe}.`}),Ce!==void 0&&e>=Ce&&T.push({instanceLocation:s,keyword:"exclusiveMaximum",keywordLocation:`${i}/exclusiveMaximum`,error:`${e} is greater than or equal to ${Ce}.`})),le!==void 0){let D=e%le;Math.abs(0-D)>=11920929e-14&&Math.abs(le-D)>=11920929e-14&&T.push({instanceLocation:s,keyword:"multipleOf",keywordLocation:`${i}/multipleOf`,error:`${e} is not a multiple of ${le}.`})}}else if(d==="string"){let D=ae===void 0&&te===void 0?0:kL(e);ae!==void 0&&D<ae&&T.push({instanceLocation:s,keyword:"minLength",keywordLocation:`${i}/minLength`,error:`String is too short (${D} < ${ae}).`}),te!==void 0&&D>te&&T.push({instanceLocation:s,keyword:"maxLength",keywordLocation:`${i}/maxLength`,error:`String is too long (${D} > ${te}).`}),Z!==void 0&&!new RegExp(Z,"u").test(e)&&T.push({instanceLocation:s,keyword:"pattern",keywordLocation:`${i}/pattern`,error:"String does not match pattern."}),ie!==void 0&&ff[ie]&&!ff[ie](e)&&T.push({instanceLocation:s,keyword:"format",keywordLocation:`${i}/format`,error:`String does not match format "${ie}".`})}return{valid:T.length===0,errors:T}}var hf=class{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",a=!0){this.schema=e,this.draft=t,this.shortCircuit=a,this.lookup=Zt(e)}validate(e){return ve(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),Zt(e,this.lookup)}};function If(e){return RL(e,"output")}function AL(e,t){let a=()=>structuredClone(e),r={"~standard":{version:1,vendor:"eve",validate:FL(e,t),jsonSchema:{input:a,output:a}}};return PL.add(r),r}var PL=new WeakSet,y1=AL({});function RL(e,t){return e==null?e:EL(e,t)}function EL(e,t){let a=ML(e),r=a?.jsonSchema,o=typeof r=="object"&&r?r[t]:void 0,n=typeof a?.vendor=="string"?a.vendor:"unknown";if(a!==void 0&&typeof o!="function"&&n==="zod"){if(t==="input"){let l=TL(e),{$schema:u,...d}=ar(l.jsonSchema);return d}throw Error("Zod 3 cannot emit an output JSON Schema. Upgrade to Zod 4 or provide a plain JSON Schema object.")}if(a!==void 0&&typeof o!="function")throw Error(`Standard Schema vendor "${n}" does not support JSON Schema conversion. Provide a Standard Schema implementation with JSON Schema conversion or a plain JSON Schema object.`);let{$schema:s,...i}=ar(a===void 0?e:o({target:"draft-07"}));return i}function ML(e){if(typeof e!="object"||!e||!("~standard"in e))return;let t=e["~standard"];return typeof t=="object"&&t?t:void 0}function FL(e,t){let a,r=!1,o=(n,s)=>(r||(r=!0,console.warn(`[eve] Tool schema cannot validate values locally; passing them through unvalidated: ${s}`)),{value:n});return n=>{if(a===void 0){let u=OL(e);if(typeof u=="string")return a=null,o(n,u);a=u}if(a===null)return{value:n};let s;try{s=a.validate(n)}catch(u){return n===void 0?{issues:[{message:"Expected a JSON value."}]}:o(n,or(u))}if(!s.valid)return{issues:jL(s.errors)};let i=Us(e,e,n),l=t?.(i);return l===void 0?{value:i}:{issues:[{message:l}]}}}function Us(e,t,a){let r=a;for(let o of xf(e,t)){let{items:n,properties:s}=o;if(pt(r)&&pt(s))r=_L(e,s,r);else if(Array.isArray(r)&&pt(n)){let i=r,l=i.map(u=>Us(e,n,u));l.some((u,d)=>u!==i[d])&&(r=l)}}return r}function _L(e,t,a){let r=a;for(let[o,n]of Object.entries(t)){let s=Object.hasOwn(a,o)?a[o]:void 0,i=s===void 0?DL(e,n):Us(e,n,s);i!==s&&(r===a&&(r={...a}),r[o]=i)}return r}function DL(e,t){for(let a of xf(e,t))if("default"in a)return structuredClone(a.default)}function*xf(e,t){let a=new Set,r=t;for(;pt(r)&&!a.has(r);)a.add(r),yield r,r=BL(e,r.$ref)}function BL(e,t){if(typeof t!="string"||t!=="#"&&!t.startsWith("#/"))return;let a=e;for(let r of Os(t)){if(typeof a!="object"||!a||!Object.hasOwn(a,r))return;a=a[r]}return a}function OL(e){try{let t=structuredClone(e);return lr(t)??new hf(t,"2020-12",!1)}catch(t){return or(t)}}var UL=new Set(["array","boolean","integer","null","number","object","string"]),NL=[["exclusiveMinimum","minimum"],["exclusiveMaximum","maximum"]],qL=["additionalItems","additionalProperties","contains","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],HL=["allOf","anyOf","oneOf","prefixItems"],$L=["$defs","definitions","dependencies","dependentSchemas","patternProperties","properties"];function lr(e){if(typeof e=="boolean")return;if(typeof e!="object"||!e||Array.isArray(e))return"a subschema is neither an object nor a boolean";let t=e;delete t.format;for(let[i,l]of NL)typeof t[i]=="boolean"&&(t[i]&&typeof t[l]=="number"?(t[i]=t[l],delete t[l]):delete t[i]);let{enum:a,pattern:r,required:o,type:n}=t;if(n!==void 0&&!(Array.isArray(n)?n.every(gf):gf(n)))return`unsupported type ${JSON.stringify(n)}`;if(a!==void 0&&!Array.isArray(a))return"`enum` is not an array";if(o!==void 0&&!(Array.isArray(o)&&o.every(i=>typeof i=="string")))return"`required` is not an array of strings";if(r!==void 0&&!wf(r))return`invalid pattern ${JSON.stringify(r)}`;for(let i of qL)if(i in t){let l=lr(t[i]);if(l!==void 0)return l}let s=t.items;for(let i of Array.isArray(s)?s:s===void 0?[]:[s]){let l=lr(i);if(l!==void 0)return l}for(let i of HL){let l=t[i];if(l!==void 0){if(!Array.isArray(l))return`\`${i}\` is not an array`;for(let u of l){let d=lr(u);if(d!==void 0)return d}}}for(let i of $L){let l=t[i];if(l!==void 0){if(typeof l!="object"||!l||Array.isArray(l))return`\`${i}\` is not an object`;for(let[u,d]of Object.entries(l)){if(i==="patternProperties"&&!wf(u))return`invalid pattern ${JSON.stringify(u)}`;if(i==="dependencies"&&Array.isArray(d))continue;let c=lr(d);if(c!==void 0)return c}}}}function gf(e){return typeof e=="string"&&UL.has(e)}function wf(e){if(typeof e!="string")return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var WL=/\/(?:additional|unevaluated)Properties$/;function jL(e){let t=[];for(let r=0;r<e.length;r++){let o=e[r],n=e[r+1];if(WL.test(o.keywordLocation)&&n?.keyword==="false"){let s=Os(n.instanceLocation).at(-1);t.push({keyword:"false",location:n.instanceLocation,message:`Unrecognized key: ${JSON.stringify(s)}`,object:o.instanceLocation}),r++}else t.push({keyword:o.keyword,location:o.instanceLocation,message:o.error})}let a=t.filter(r=>r.object===void 0||!t.some(o=>o.object===void 0&&(o.location===r.location||o.location.startsWith(`${r.location}/`))));return a.filter((r,o)=>{let n=a[o+1];return n===void 0?!0:n.location.startsWith(`${r.location}/`)?!1:r.keyword!=="$ref"||n.location!==r.location}).map(({location:r,message:o,object:n})=>{let s=Os(n??r);return s.length===0?{message:o}:{message:o,path:s}})}function Os(e){return e.split("/").slice(1).map(t=>{let a=t;try{a=decodeURIComponent(t)}catch{}return a.replaceAll("~1","/").replaceAll("~0","~")})}var yf=Symbol("followClientSession"),ur=class qs{#t;#e;constructor(t,a){this.#t=t,this.#e=a}static async create(t,a){let r=await Hs(t,$e,a,!0),{sessionId:o}=await Ns(r),n=new qs(t,{sessionId:o,streamIndex:0});return{response:n.#r(r,a,0),session:n}}static async prewarm(t,a={}){let{sessionId:r}=await Ns(await VL(t,a));return new qs(t,{sessionId:r,streamIndex:0})}get state(){return this.#e}async snapshot(t){t?.signal?.throwIfAborted();let a=[];for await(let r of this.#p({follow:!1,signal:t?.signal,startIndex:0}))a.push(r);return t?.signal?.throwIfAborted(),{events:a,session:{sessionId:this.#e.sessionId,streamIndex:a.length}}}async send(t,a={}){return await this.#a({...a,message:t},!0)}async respond(t,a={}){if(t.length===0)throw Error("ClientSession.respond() requires at least one input response.");return await this.#a({...a,inputResponses:t},!1)}async#a(t,a){let r=this.#e.streamIndex,o=Fc(this.#e.sessionId),n=a?await zL(this.#t,o,t):await Hs(this.#t,o,t,!1),{sessionId:s,deliveryId:i}=await Ns(n,this.#e.sessionId);if(s!==this.#e.sessionId)throw Error("Message route returned a different session id.");if(t.message!==void 0&&i===void 0)throw Error("Message route did not return a delivery id. Update the server before sending with this client.");return this.#r(n,t,r,t.message===void 0?void 0:i)}async cancel(t){return await lf({context:this.#t,options:t,sessionId:this.#e.sessionId})}async clear(){return await uf({context:this.#t,sessionId:this.#e.sessionId})}async compact(){return await df({context:this.#t,sessionId:this.#e.sessionId})}async reset(t){return await cf({context:this.#t,options:t,sessionId:this.#e.sessionId})}stream(t){if(t?.follow===!1&&(t.startIndex??this.#e.streamIndex)<0)throw Error("stream({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");return this.#u(t)}streamSubagent(t,a){if(t.data.sessionId!==this.#e.sessionId)throw Error(`streamSubagent() requires a subagent.called event from session ${this.#e.sessionId}, but it came from session ${t.data.sessionId}.`);if(typeof t.data.childStreamPath!="string")throw Error(`streamSubagent() requires a subagent.called event with childStreamPath, but call ${t.data.callId} has none. The event was recorded by an older eve version.`);let r=a?.startIndex??0;if(a?.follow===!1&&r<0)throw Error("streamSubagent({ follow: false }) requires a nonnegative startIndex; a tail-relative cursor cannot be bounded.");return Bs({follow:a?.follow,host:this.#t.host,path:t.data.childStreamPath,redirect:this.#t.redirect,resolveHeaders:()=>this.#t.resolveHeaders(),signal:a?.signal,startIndex:r,streamReconnectPolicy:a?.streamReconnectPolicy})}[yf](t){return this.#u({...t,keepAlive:!0})}#r(t,a,r,o){return t.body?.cancel().catch(()=>{}),new Ms({cancelTurn:async n=>await this.cancel({turnId:n}),createStream:n=>this.#n(r,a,o,n),deliveryId:o,sessionId:this.#e.sessionId})}async*#n(t,a,r,o){let n=0,s=r===void 0,i=!1,l=new Set;try{for await(let u of o??this.#p({headers:a.headers,keepAlive:!0,signal:a.signal,startIndex:t,streamReconnectPolicy:a.streamReconnectPolicy})){if(n+=1,r!==void 0){let d=u.meta?.deliveryIds?.includes(r)===!0,c=u.type==="session.failed"||u.type==="session.completed";if(!d&&c&&(!s||u.type==="session.completed"))throw Error("The session ended before the accepted message reached its turn boundary.");if(!s&&!d||!c&&u.meta?.deliveryIds!==void 0&&!d)continue;s=!0}if(Jt(l,u),i=Je(u)&&(u.type!=="session.waiting"||l.size===0),yield u,i)break}if(r!==void 0&&!i&&!a.signal?.aborted)throw Error("The response stream ended before the accepted message reached its turn boundary.")}finally{this.#g(t+n)}}async*#u(t){let a=t?.startIndex??this.#e.streamIndex,r=0;for await(let o of this.#p({follow:t?.follow,headers:t?.headers,keepAlive:t?.keepAlive,onCaughtUp:t?.onCaughtUp,resolveHeaders:t?.resolveHeaders,resolveReconnectPolicy:t?.resolveReconnectPolicy,signal:t?.signal,startIndex:a,streamReconnectPolicy:t?.streamReconnectPolicy}))r+=1,a>=0&&this.#g(a+r),yield o}#g(t){this.#e={sessionId:this.#e.sessionId,streamIndex:Math.max(this.#e.streamIndex,t)}}#p(t){return Bs({onCaughtUp:t.onCaughtUp,follow:t.follow,host:this.#t.host,keepAlive:t.keepAlive,resolveHeaders:()=>this.#t.resolveHeaders(t.resolveHeaders?.()??t.headers),path:bs(this.#e.sessionId),redirect:this.#t.redirect,signal:t.signal,startIndex:t.startIndex,streamReconnectPolicy:t.streamReconnectPolicy,resolveReconnectPolicy:t.resolveReconnectPolicy})}};function Lf(e,t){return e[yf](t)}async function zL(e,t,a){let r=Date.now()+2e4,o=250;for(;;){try{return await Hs(e,t,a,!1)}catch(n){if(!GL(n))throw n;let s=r-Date.now();if(s<=0)throw n;await sr(Math.min(o,s),a.signal)}a.signal?.throwIfAborted(),o=Math.min(o*2,2e3)}}async function VL(e,t){let a=await e.resolveHeaders(t.headers),r=await fetch(mt(e.host,$e),{headers:a,method:"POST",redirect:e.redirect,signal:t.signal??null});if(!r.ok){let o=await r.text();throw new Ve(r.status,o,r.headers)}return r}function GL(e){return e instanceof Ve&&e.status===409&&e.code==="session_not_ready"}async function Hs(e,t,a,r){let o=KL(a,r);if(o===null)throw Error(r?"Creating a session requires a non-empty message.":"A session turn requires a non-empty message or inputResponses.");let n=await e.resolveHeaders(a.headers);n.set("content-type","application/json");let s=await fetch(mt(e.host,t),{body:JSON.stringify(o),headers:n,method:"POST",redirect:e.redirect,signal:a.signal??null});if(!s.ok){let i=await s.text();throw new Ve(s.status,i,s.headers)}return s}async function Ns(e,t){let a=await e.json(),r=(typeof a.sessionId=="string"?a.sessionId:void 0)??e.headers.get(qc)?.trim()??t;if(!r)throw Error("Message route did not return a session id.");return{sessionId:r,deliveryId:typeof a.deliveryId=="string"&&a.deliveryId.length>0?a.deliveryId:void 0}}function KL(e,t){let a={};e.message!==void 0&&(a.message=e.message),e.inputResponses!==void 0&&e.inputResponses.length>0&&(a.inputResponses=e.inputResponses),!t&&e.message!==void 0&&e.turnPolicy!==void 0&&(a.turnPolicy=e.turnPolicy),e.message!==void 0&&e.taskDeliveryPolicy!==void 0&&(a.taskDeliveryPolicy=e.taskDeliveryPolicy),e.clientContext!==void 0&&(a.clientContext=e.clientContext);let r=If(e.outputSchema);return r!==void 0&&(a.outputSchema=r),t&&a.message===void 0||a.message===void 0&&a.inputResponses===void 0?null:a}var $s=class{#t;constructor(e){this.#t=e}async create(e={}){return"message"in e?await ur.create(this.#t,e):{session:await ur.prewarm(this.#t,e)}}attach(e,t){if(e.length===0)throw Error("sessionId must be a non-empty string.");return new ur(this.#t,{sessionId:e,streamIndex:t?.streamIndex??0})}};function Cf(e,t){let a=new TextEncoder().encode(`${e}:${t}`),r=Array.from(a,o=>String.fromCodePoint(o)).join("");return btoa(r)}import{z as Ro}from"zod";var Sf=Ro.object({ok:Ro.literal(!0),status:Ro.literal("ready"),workflowId:Ro.string().min(1)}).strict();import{z as h}from"zod";var Eo=h.discriminatedUnion("kind",[h.object({kind:h.literal("application")}).strict(),h.object({feature:h.string(),kind:h.literal("framework")}).strict(),h.object({kind:h.literal("extension"),namespace:h.string(),packageName:h.string()}).strict()]),kf=h.discriminatedUnion("kind",[h.object({externalDependencies:h.array(h.string()),extensionScope:h.object({namespace:h.string(),sourceRoot:h.string()}).strict().optional(),kind:h.literal("filesystem"),sourcePath:h.string()}).strict(),h.object({dependencies:h.record(h.string(),h.string()).optional(),kind:h.literal("programmatic"),moduleId:h.string(),parameters:h.record(h.string(),h.unknown()).optional(),registryId:h.string(),revision:h.string(),semanticRevision:h.string().optional()}).strict()]),Tf=h.object({backing:kf,logicalPath:h.string(),owner:Eo}).strict(),Ct=h.object({binding:Tf.optional(),exportName:h.string().optional(),logicalPath:h.string(),owner:Eo,sourceId:h.string(),sourceKind:h.enum(["markdown","module","skill-package"])}).strict(),ea=Ct.extend({name:h.string()}).strict(),dr=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),XL=h.discriminatedUnion("kind",[h.object({kind:h.literal("gateway"),target:h.string(),byok:h.string().optional()}).strict(),h.object({kind:h.literal("external"),provider:h.string()}).strict()]),QL=h.union([h.object({kind:h.literal("external"),provider:h.string()}).strict(),h.object({kind:h.literal("chatgpt"),state:h.enum(["checking","ready","signed-out","reauth-required","unavailable"]),accountLabel:h.string().optional()}).strict(),h.object({kind:h.literal("gateway"),connected:h.literal(!0),credential:h.enum(["api-key","oidc","oauth"]),team:h.optional(h.string())}).strict(),h.object({kind:h.literal("gateway"),connected:h.literal(!1)}).strict()]),bf={contextWindowTokens:h.number().optional(),providerOptions:h.unknown().optional(),reasoning:h.enum(["provider-default","none","minimal","low","medium","high","xhigh"]).optional().catch(void 0),source:Ct.optional()},JL=h.union([h.object({...bf,endpoint:QL.optional(),id:h.string(),routing:XL}).strict(),h.object({...bf,endpoint:h.never().optional(),id:h.never().optional(),routing:h.object({kind:h.literal("dynamic"),resolver:dr}).strict()}).strict()]),YL=ea.extend({description:h.string(),hasAuth:h.boolean(),hasExecute:h.boolean(),hasModelOutputProjection:h.boolean(),hasOutputSchema:h.boolean(),inputSchema:h.unknown(),outputSchema:h.unknown().optional(),requiresApproval:h.boolean()}).strict(),ZL=ea.extend({description:h.string(),license:h.string().optional(),markdown:h.string(),metadata:h.record(h.string(),h.string()).optional()}).strict(),eC=ea.extend({content:h.string(),role:h.enum(["system","user"])}).strict(),tC=ea.extend({cron:h.string(),hasRun:h.boolean(),markdown:h.string().optional()}).strict(),Af=h.enum(["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","WEBSOCKET"]),aC=ea.extend({adapterKind:h.string().optional(),method:Af,urlPath:h.string()}).strict(),rC=h.object({backing:h.union([kf,h.object({kind:h.literal("resource"),sourcePath:h.string()}).strict()]),form:h.enum(["derived","direct"]),layer:h.enum(["framework-default","extension-package","extension-override","application"]),logicalPath:h.string(),owner:Eo,sourceId:h.string()}).strict(),oC=h.object({method:Af,source:rC,urlPath:h.string(),winnerSourceId:h.string()}).strict(),nC=Ct.extend({connectionName:h.string(),description:h.string(),hasApproval:h.boolean(),hasAuthorization:h.boolean(),hasHeaders:h.boolean(),protocol:h.string(),toolFilter:h.unknown().optional(),url:h.string()}).strict(),sC=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),iC=Ct.extend({description:h.string().optional(),slot:h.string(),visibility:h.enum(["scope","session"])}).strict(),lC=Ct.extend({provider:h.string().optional(),environmentExportName:h.string().optional(),revisionHash:h.string()}).strict(),uC=ea.extend({configResolver:dr.optional(),description:h.string().optional(),entryPath:h.string(),nodeId:h.string(),parentNodeId:h.string(),rootPath:h.string(),summary:h.object({channels:h.number(),connections:h.number(),hooks:h.number(),instructions:h.number(),memories:h.number(),schedules:h.number(),skills:h.number(),tools:h.number()}).strict()}).strict(),dC=ea.extend({description:h.string(),nodeId:h.string(),parentNodeId:h.string(),url:h.string().optional()}).strict(),cC=h.object({action:h.enum(["subagent-call","task-cancel","workflow-tool-call"]).optional(),audience:h.array(h.enum(["root-session","delegated-task-child"])),kind:h.enum(["dispatch","provider-tool"]),sourceId:h.string()}).strict(),vf=h.object({kind:h.enum(["disabled","shadowed"]),logicalPath:h.string(),owner:Eo,sourceId:h.string(),winnerSourceId:h.string().optional()}).strict(),Pf=h.object({agent:h.object({agentRoot:h.string(),appRoot:h.string(),config:Ct.extend({binding:Tf}).strict(),description:h.string().optional(),model:JL,name:h.string(),nodeId:h.string(),outputSchema:h.unknown().optional()}).strict(),capabilities:h.object({devRoutes:h.boolean()}).strict(),channels:h.object({routes:h.array(aC),shadowed:h.array(oC)}).strict(),composition:h.object({disabled:h.array(vf),shadowed:h.array(vf)}).strict(),connections:h.array(nC),diagnostics:h.object({discoveryErrors:h.number(),discoveryWarnings:h.number()}).strict(),hooks:h.array(sC),instructions:h.object({dynamic:h.array(dr),static:h.array(eC)}).strict(),instrumentation:Ct.optional(),kernelEffects:h.array(cC),kind:h.literal("eve-agent-info"),memories:h.array(iC),mode:h.enum(["development","production"]),remoteAgents:h.object({entries:h.array(dC),total:h.number()}).strict(),sandbox:lC,schedules:h.array(tC),skills:h.object({dynamic:h.array(dr),static:h.array(ZL)}).strict(),subagents:h.object({local:h.array(uC),total:h.number()}).strict(),tools:h.object({dynamic:h.array(dr),static:h.array(YL)}).strict(),version:h.literal(5),workspace:h.object({resourceRoot:h.unknown(),rootEntries:h.array(h.string())}).strict()}).strict().superRefine((e,t)=>{let a=(n,s,i)=>{let l=new Set;n.forEach((u,d)=>{let c=s(u);l.has(c)&&t.addIssue({code:"custom",message:`Duplicate public identity "${c}".`,path:[...i,d]}),l.add(c)})},r=(n,s,i)=>{(!Number.isSafeInteger(n)||n<0||n!==s.length)&&t.addIssue({code:"custom",message:`Expected total ${s.length}, received ${n}.`,path:[...i]})};a(e.tools.static,n=>n.name,["tools","static"]),a(e.tools.dynamic,n=>n.slug,["tools","dynamic"]),a(e.skills.static,n=>n.name,["skills","static"]),a(e.skills.dynamic,n=>n.slug,["skills","dynamic"]),a(e.instructions.static,n=>n.name,["instructions","static"]),a(e.instructions.dynamic,n=>n.slug,["instructions","dynamic"]),a(e.schedules,n=>n.name,["schedules"]),a(e.connections,n=>n.connectionName,["connections"]),a(e.hooks,n=>n.slug,["hooks"]),a(e.memories,n=>n.slot,["memories"]),a(e.channels.routes,n=>`${n.method} ${fC(n.urlPath)}`,["channels","routes"]),a(e.subagents.local,n=>n.nodeId,["subagents","local"]),a(e.remoteAgents.entries,n=>n.nodeId,["remoteAgents","entries"]),r(e.subagents.total,e.subagents.local,["subagents","total"]),r(e.remoteAgents.total,e.remoteAgents.entries,["remoteAgents","total"]);let o=[[e.agent.config,["agent","config"]],...e.agent.model.source===void 0?[]:[[e.agent.model.source,["agent","model","source"]]],...e.agent.model.routing.kind==="dynamic"?[[e.agent.model.routing.resolver,["agent","model","routing","resolver"]]]:[],...e.channels.routes.map((n,s)=>[n,["channels","routes",s]]),...e.connections.map((n,s)=>[n,["connections",s]]),...e.hooks.map((n,s)=>[n,["hooks",s]]),...e.instructions.dynamic.map((n,s)=>[n,["instructions","dynamic",s]]),...e.instructions.static.map((n,s)=>[n,["instructions","static",s]]),...e.memories.map((n,s)=>[n,["memories",s]]),...e.instrumentation===void 0?[]:[[e.instrumentation,["instrumentation"]]],...e.remoteAgents.entries.map((n,s)=>[n,["remoteAgents","entries",s]]),...e.schedules.map((n,s)=>[n,["schedules",s]]),...e.skills.dynamic.map((n,s)=>[n,["skills","dynamic",s]]),...e.skills.static.map((n,s)=>[n,["skills","static",s]]),...e.subagents.local.flatMap((n,s)=>n.configResolver===void 0?[]:[[n.configResolver,["subagents","local",s,"configResolver"]]]),...e.tools.dynamic.map((n,s)=>[n,["tools","dynamic",s]]),...e.tools.static.map((n,s)=>[n,["tools","static",s]]),[e.sandbox,["sandbox"]]];for(let[n,s]of o){if(n.sourceKind==="module"&&n.binding===void 0){t.addIssue({code:"custom",message:"Module source is missing its compiled binding.",path:[...s,"binding"]});continue}if(n.sourceKind!=="module"&&n.binding!==void 0){t.addIssue({code:"custom",message:`${n.sourceKind} source cannot carry a module binding.`,path:[...s,"binding"]});continue}n.binding!==void 0&&(n.binding.logicalPath!==n.logicalPath&&t.addIssue({code:"custom",message:"Source and binding logical paths do not match.",path:[...s,"binding","logicalPath"]}),JSON.stringify(n.binding.owner)!==JSON.stringify(n.owner)&&t.addIssue({code:"custom",message:"Source and binding owners do not match.",path:[...s,"binding","owner"]}))}});function fC(e){return e.replace(/^\/+|\/+$/g,"").split("/").map(t=>t.startsWith(":")||/^\[[^\]]+\]$/.test(t)?":":t).join("/")}var Rf="x-vercel-trusted-oidc-idp-token";var js=class{#t;#e;#a;#r;sessions;constructor(e){this.#a=e.host,this.#t=e.auth,this.#e=e.headers,this.#r=e.redirect,this.sessions=new $s({host:this.#a,redirect:this.#r,resolveHeaders:t=>this.#n(t)})}async health(){let e=mt(this.#a,Ec),t=await this.#n(),a=await fetch(e,Ef({headers:t},this.#r));if(!a.ok){let n=await a.text();throw new Ve(a.status,n,a.headers)}let r;try{r=await a.json()}catch{throw new Ao}let o=Sf.safeParse(r);if(!o.success)throw new Ao(o.error.issues.slice(0,5).map(n=>{let s=n.path.join(".");return s.length===0?n.message:`${s}: ${n.message}`}));return o.data}async info(e={}){let t=await this.fetch(Mc,e);if(!t.ok){let o=await t.text();throw new Ve(t.status,o,t.headers)}let a;try{a=await t.json()}catch{throw new To}let r=Pf.safeParse(a);if(!r.success)throw new To(r.error.issues.slice(0,5).map(o=>{let n=o.path.join(".");return n.length===0?o.message:`${n}: ${o.message}`}));return r.data}async fetch(e,t={}){let a=mt(this.#a,e),r=await this.#n(mC(t.headers));return await fetch(a,Ef({...t,headers:r},this.#r))}async#n(e){let t=new Headers,[a,r]=await Promise.all([pC(this.#e),this.#u()]);for(let[o,n]of Object.entries(a))t.set(o,n);for(let[o,n]of Object.entries(r))t.set(o,n);if(e)for(let[o,n]of Object.entries(e))t.set(o,n);return t}async#u(){let e=this.#t;if(!e)return{};if("vercelOidc"in e){let t=(await Ws(e.vercelOidc.token)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`,[Rf]:t}}if("bearer"in e){let t=(await Ws(e.bearer)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`}}if("basic"in e){let t=await Ws(e.basic.password);return{authorization:`Basic ${Cf(e.basic.username,t)}`}}return{}}};async function Ws(e){return typeof e=="function"?e():e}async function pC(e){return e===void 0?{}:typeof e=="function"?await e():e}function mC(e){return e===void 0?{}:Object.fromEntries(new Headers(e).entries())}function Ef(e,t){return t===void 0?e:{...e,redirect:t}}function zs(){let e=new Set;return{admit(t){let a=t.meta?.id;return a===void 0||!e.has(a)&&(e.add(a),!0)},get size(){return e.size}}}var Mf=class{#t=new AbortController;#e=new Set;#a=Promise.withResolvers();caughtUp=this.#a.promise;#r=!1;#n;#u;#g;constructor(e,t){this.setOptions(t),this.caughtUp.catch(()=>{}),t.catchUp||this.#a.resolve(),(async()=>{try{for await(let a of Lf(e,{signal:this.#t.signal,resolveHeaders:()=>this.#u,resolveReconnectPolicy:()=>this.#g,startIndex:t.startIndex,onCaughtUp:t.catchUp?()=>this.#a.resolve():void 0})){if(this.#t.signal.aborted)return;t.onEvent(a);for(let r of this.#e)r.push(a);if(a.type==="session.completed"||a.type==="session.failed")break}this.#a.resolve(),this.#p()}catch(a){this.#a.reject(a),this.#p(a),this.#t.signal.aborted||t.onError(a)}})()}subscribe(e){let t=new hC(()=>this.#e.delete(t),e);return this.#r?t.end(this.#n):this.#e.add(t),t}get ended(){return this.#r}setOptions(e){"headers"in e&&(this.#u=e.headers),"streamReconnectPolicy"in e&&(this.#g=e.streamReconnectPolicy)}close(){let e=new DOMException("Session stream was detached.","AbortError");this.#t.abort(e),this.#a.reject(e),this.#p(e)}#p(e){if(!this.#r){this.#r=!0,this.#n=e;for(let t of this.#e)t.end(e)}}},hC=class{#t=[];#e=Promise.withResolvers();#a=!1;#r;#n;constructor(e,t){let a=()=>this.end(t?.reason);t?.addEventListener("abort",a,{once:!0}),this.#n=()=>{t?.removeEventListener("abort",a),e()},t?.aborted&&a()}push(e){this.#a||(this.#t.push(e),this.#e.resolve())}end(e){this.#a||(this.#a=!0,this.#r=e,this.#e.resolve())}[Symbol.dispose](){this.end(),this.#t=[],this.#n()}discard(){this.#t=[]}async*[Symbol.asyncIterator](){for(;;){for(;this.#t.length>0;)yield this.#t.shift();if(this.#a){if(this.#r!==void 0)throw this.#r;return}this.#e=Promise.withResolvers(),await this.#e.promise}}};var Ff=class{#t;#e;#a;constructor(e,t){this.#t=e,this.#e=t,this.#a=this.#r()}get data(){return this.#a}reset(){this.#e=[],this.#a=this.#t.initial()}append(e){this.#e=[...this.#e,e],this.#a=this.#t.reduce(this.#a,e)}remove(e){this.#e=this.#e.filter(t=>!e(t)),this.#a=this.#r()}replace(e,t){let a=this.#e.findIndex(e);this.#e=a===-1?[...this.#e,t]:this.#e.map((r,o)=>o===a?t:r),this.#a=this.#r()}#r(){let e=this.#t.initial();for(let t of this.#e)e=this.#t.reduce(e,t);return e}};function Df(e){let t=e.at(-1);return t!==void 0&&Je(t)&&(t.type!=="session.waiting"||gC(e).size===0)}function gC(e){let t=new Set;for(let a of e)Jt(t,a);return t}function Vs(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error("A turn requires exactly one of message or inputResponses.")}var _f=0;function Bf(){let e=globalThis.crypto?.randomUUID;return e===void 0?(_f+=1,`submission_${_f.toString()}`):e.call(globalThis.crypto)}function cr(e,t){return e?AbortSignal.any([e,t]):t}function Of(e){if(typeof e=="string")return e;let t=[];for(let a of e)a.type==="text"?t.push(a.text):a.type==="file"&&t.push(a.filename?`[file: ${a.filename}]`:"[file]");return t.join(`
|
|
22
|
+
`)}function Gs(e){return e instanceof Error&&e.name==="AbortError"}function Uf(e){if(e.type!=="session.failed")return;let t=Error(e.data.message);return t.name=e.data.code,t}function Ks(e){let t=Promise.withResolvers(),a=Promise.withResolvers(),r={abortController:new AbortController,acceptedFollowUps:0,cancel:()=>e(r),completion:a.promise,followUpDispatches:new Set,receivedFollowUps:0,receivedFollowUpEvents:new Map,followUpSubmissionIds:new Set,resolveCompletion:a.resolve,response:t.promise,resolveResponse:t.resolve};return r}async function Xs(e,t,a){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(!(e.receivedFollowUps>=e.acceptedFollowUps))for await(let r of t){if(!a())return;if(e.receivedFollowUps+=e.receivedFollowUpEvents.get(r)??0,e.receivedFollowUpEvents.delete(r),Je(r)){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(e.receivedFollowUps>=e.acceptedFollowUps)return}}}async function fr(e,t){if(t===void 0)return await e;let a=Promise.withResolvers(),r=()=>a.reject(t.reason);t.addEventListener("abort",r,{once:!0}),t.aborted&&r();try{return await Promise.race([a.promise,e])}finally{t.removeEventListener("abort",r)}}var Nf=class{#t;#e;#a=[];constructor(e,t){this.#e=e,this.#t=t}reset(){this.#a=[]}submit(e,t){if(e.message===void 0)return;let a={createdAt:Date.now(),eventStartIndex:t,id:Bf(),message:Of(e.message),requiresDeliveryId:!0};return this.#a=[...this.#a,a],this.#t&&this.#e.append({data:{createdAt:a.createdAt,message:a.message,submissionId:a.id},type:"client.message.submitted"}),a.id}apply(e){if(e.type!=="message.received"){this.#e.append(e);return}if(e.data.kind==="execution.background_task"){this.#e.append(e);return}let t=this.#r(e);if(t.length===0){this.#e.append(e);return}return this.#n(t,e,!1)}correlate(e,t,a){if(e===void 0)return;this.#a=this.#a.map(o=>o.id===e?{...o,deliveryId:t,requiresDeliveryId:t!==void 0}:o);let r=this.#a.find(o=>o.id===e);if(r!==void 0)for(let o of a.slice(r.eventStartIndex)){if(o.type!=="message.received"||o.data.kind==="execution.background_task")continue;let n=this.#r(o);if(n.some(s=>s.id===e))return this.#n(n,o,!0)}}fail(e,t){let a=t===void 0?this.#a[0]:this.#a.find(r=>r.id===t);a!==void 0&&(this.#a=this.#a.filter(r=>r.id!==a.id),this.#e.replace(r=>r.type==="client.message.submitted"&&r.data.submissionId===a.id,{data:{createdAt:a.createdAt,error:{message:e.message},message:a.message,submissionId:a.id},type:"client.message.failed"}))}failAll(e){for(let t of this.#a)this.fail(e,t.id)}#r(e){return this.#a.filter(t=>t.deliveryId===void 0?!t.requiresDeliveryId:e.meta.deliveryIds?.includes(t.deliveryId)===!0)}#n(e,t,a){let r=e.map(n=>n.id),o=new Set(r);return this.#a=this.#a.filter(n=>!o.has(n.id)),a||this.#e.replace(n=>n.type==="client.message.submitted"&&n.data.submissionId===r[0],t),this.#e.remove(n=>n.type==="client.message.submitted"&&o.has(n.data.submissionId)),{alreadyProjected:a,event:t,ids:r}}};var wC=Symbol("detachEveAgentStore"),IC=Symbol("attachEveAgentStore"),Qs=class{#t;#e;#a=!1;#r;#n=new Set;#u;#g;#p;#S=new Set;#b=zs();#l;#c={};#i;#m;#h;#w=0;#I;#C;#x;#s;#y;#o="ready";constructor(e){this.#e=e.prewarm??!1,this.#u=e.session!==void 0,this.#t=this.#u?void 0:new js({auth:e.auth,headers:e.headers,host:e.host??""});let t=[];for(let a of e.initialEvents??[])this.#b.admit(a)&&t.push(a),Jt(this.#n,a);this.#m=t,this.#p=new Ff(e.reducer,this.#m),this.#g=e.optimistic??!0,this.#h=new Nf(this.#p,this.#g),this.#s=e.session??(e.initialSession===void 0?void 0:this.#t?.sessions.attach(e.initialSession.sessionId,{streamIndex:e.initialSession.streamIndex})),this.#y=this.#R()}get snapshot(){return this.#y}setCallbacks(e){this.#c=e}subscribe(e){return this.#S.add(e),()=>{this.#S.delete(e)}}prewarm(){if(this.#I!==void 0)return this.#I;if(this.#s!==void 0||this.#u)return Promise.resolve();if(this.#l!==void 0)return this.#l.response.then(n=>{if(n===void 0)throw this.#i??new DOMException("Session creation was aborted.","AbortError")});let e=this.#t;if(e===void 0)return Promise.reject(Error("This eve agent store does not own a session client."));let t=this.#w,a=new AbortController;this.#C=a;let r=(async()=>{try{let n=await e.sessions.create({signal:a.signal});if(t!==this.#w)return;this.#s=n.session,this.#i=void 0,this.#o==="error"&&(this.#o="ready"),this.#c.onSessionChange?.(n.session.state),this.#f(),this.#L()}catch(n){throw t===this.#w&&this.#l===void 0&&this.#i===void 0&&(this.#i=Qt(n),this.#o="error",this.#c.onError?.(this.#i),this.#f()),n}})();this.#I=r;let o=()=>{this.#I===r&&(this.#I=void 0,this.#C=void 0)};return r.then(o,o),r}async send(e){return await this.#k(e,this.#c.prepareSend)}async#k(e,t){if(this.#l!==void 0){if(this.#o==="resuming")throw Error("eve session is resuming.");return await this.#M(this.#l,e,t)}let a=Ks(o=>o.acceptedFollowUps>0&&this.#s!==void 0?this.#s.cancel():o.response.then(n=>n===void 0?{status:"no_active_turn"}:n.cancel()));this.#l=a,this.#i=void 0,this.#o="submitted",this.#f();let r;try{let o=await(t===void 0?e:fr(Promise.resolve(t(e)),cr(e.signal,a.abortController.signal)));if(Vs(o),!this.#d(a))return;let n=this.#h.submit(o,this.#m.length);this.#_(o),this.#f();let s={...o,signal:cr(o.signal,a.abortController.signal)},i=await this.#F(s),l=i.response;if(r=i.reader,!this.#d(a))return;a.resolveResponse(l),this.#v(this.#h.correlate(n,Fs(l),this.#m))&&this.#f();for await(let u of Kc(l,r)){if(!this.#d(a))return;a.receivedFollowUps+=a.receivedFollowUpEvents.get(u)??0,a.receivedFollowUpEvents.delete(u)}if(!this.#d(a)||(await Xs(a,r,()=>this.#d(a)),!this.#d(a)))return;this.#o=this.#i===void 0?"ready":"error"}catch(o){if(!this.#d(a))return;if(Gs(o))this.#o="ready",this.#h.fail(Qt(o));else{let n=this.#i!==void 0;this.#i??=Qt(o),this.#o="error",this.#h.fail(this.#i),n||this.#c.onError?.(this.#i)}}finally{r?.[Symbol.dispose](),this.#A(a)}}resume(){if(this.#x!==void 0)return this.#x;let e=this.#E();this.#x=e;let t=()=>{this.#x===e&&(this.#x=void 0)};return e.then(t,t),e}async#E(){if(this.#o==="resuming"||this.#o==="streaming"||this.#o==="submitted")throw Error("eve session is already processing a turn.");if(this.#s===void 0)throw Error("An eve session is required before resuming.");let e=this.#s,t=Ks(()=>e.cancel());this.#l=t,t.resolveResponse(void 0),this.#i=void 0,this.#o="resuming",this.#f();let a;try{let r=this.#L({catchUp:!0,startIndex:this.#m.length===e.state.streamIndex?e.state.streamIndex:0});if(a=r.subscribe(t.abortController.signal),await r.caughtUp,!this.#d(t))return;a.discard();let o=this.#m.at(-1);if(o!==void 0&&this.#P(o),o!==void 0&&this.#i===void 0&&!Df(this.#m)){this.#o="streaming",this.#f();for await(let n of a){if(!this.#d(t))return;if(t.receivedFollowUps+=t.receivedFollowUpEvents.get(n)??0,t.receivedFollowUpEvents.delete(n),Je(n)&&this.#n.size===0)break}}await Xs(t,a,()=>this.#d(t)),this.#d(t)&&(this.#o=this.#i===void 0?"ready":"error")}catch(r){if(!this.#d(t))return;Gs(r)?this.#o="ready":(this.#i=Qt(r),this.#o="error",this.#c.onError?.(this.#i))}finally{a?.[Symbol.dispose](),this.#A(t)}}cancel(){let e=this.#l;return e===void 0?this.#o==="streaming"&&this.#s!==void 0?this.#s.cancel():Promise.resolve({status:"no_active_turn"}):e.cancel()}[IC](){this.#a=!0,this.#e&&this.#s===void 0&&this.prewarm().catch(()=>{})}[wC](){this.#a=!1,this.#r?.close(),this.#r=void 0,this.#l?.abortController.abort(),this.#T(),this.#x=void 0}reset(){this.#r?.close(),this.#r=void 0,this.#n.clear();let e=this.#l;this.#l=void 0,e?.resolveResponse(void 0),e?.resolveCompletion(),e?.abortController.abort(),this.#T(),this.#x=void 0,this.#u||(this.#s=void 0),this.#m=[],this.#b=zs(),this.#h.reset(),this.#p.reset(),this.#i=void 0,this.#o="ready",this.#c.onSessionChange?.(this.#s?.state),this.#f(),this.#e&&this.#a&&this.prewarm().catch(()=>{})}async#M(e,t,a){if(t.message===void 0||t.turnPolicy!=="steer")throw Error('eve session is already processing a turn. Send a message with turnPolicy: "steer" to guide it at the next boundary.');let r=this.#w,o=cr(t.signal,e.abortController.signal),n=await fr(Promise.resolve(a?.(t)),o)??t;if(r!==this.#w)return;if(Vs(n),n.message===void 0||n.turnPolicy!=="steer")throw Error('An in-flight follow-up requires a message with turnPolicy: "steer".');if(!this.#d(e))return await this.#k(n);let s=this.#h.submit(n,this.#m.length);s!==void 0&&e.followUpSubmissionIds.add(s),this.#f(),this.#L({headers:n.headers,streamReconnectPolicy:n.streamReconnectPolicy});let i;i=(async()=>{try{let l=cr(n.signal,e.abortController.signal);if(await fr(e.response,l),!this.#d(e)||this.#s===void 0)throw Error("The active eve turn ended before the follow-up could be sent.");let{message:u,...d}=n,c=await this.#s.send(u,{...d,signal:l});e.acceptedFollowUps+=1,this.#v(this.#h.correlate(s,Fs(c),this.#m))&&this.#f()}catch(l){throw this.#d(e)&&(this.#h.fail(Qt(l),s),this.#f()),l}finally{e.followUpDispatches.delete(i)}})(),e.followUpDispatches.add(i),await i,await e.completion}async#F(e){let t={headers:e.headers,streamReconnectPolicy:e.streamReconnectPolicy};if(this.#I!==void 0&&(await fr(this.#I.catch(r=>{if(this.#s!==void 0)throw r}),e.signal),e.signal?.throwIfAborted()),this.#s===void 0){if(this.#t===void 0)throw Error("An external eve session is required before sending.");if(e.message===void 0)throw Error("Cannot answer an input request before the session starts.");let r=await this.#t.sessions.create({...e,message:e.message});return e.signal?.throwIfAborted(),this.#s=r.session,this.#c.onSessionChange?.(r.session.state),this.#f(),{response:r.response,reader:this.#L(t).subscribe(e.signal)}}let a=this.#L(t).subscribe(e.signal);try{if(e.inputResponses===void 0){let{message:n,...s}=e;return{response:await this.#s.send(n,s),reader:a}}let{inputResponses:r,...o}=e;return{response:await this.#s.respond(r,o),reader:a}}catch(r){throw a[Symbol.dispose](),r}}#L(e={}){if(this.#r!==void 0&&!this.#r.ended)return this.#r.setOptions(e),this.#r;if(this.#s===void 0)throw Error("A session is required before opening its stream.");let t=this.#s,a=this.#w;return this.#r=new Mf(t,{...e,onEvent:r=>{a===this.#w&&this.#D(r)},onError:r=>{a===this.#w&&(this.#r=void 0,this.#l===void 0&&(this.#i=Qt(r),this.#o="error",this.#c.onError?.(this.#i),this.#f()))}}),this.#r}#T(){this.#w+=1,this.#C?.abort(),this.#C=void 0,this.#I=void 0}#A(e){if(this.#d(e)){e.resolveResponse(void 0),this.#l=void 0;try{this.#c.onSessionChange?.(this.#s?.state),this.#f(),this.#c.onFinish?.(this.#y)}finally{e.resolveCompletion()}}}#d(e){return this.#l===e}#_(e){e.inputResponses!==void 0&&e.inputResponses.length!==0&&this.#p.append({data:{createdAt:Date.now(),responses:e.inputResponses},type:"client.input.responded"})}#D(e){if(!this.#b.admit(e))return;let t=this.#o==="streaming";Jt(this.#n,e),this.#m=[...this.#m,e],this.#v(this.#h.apply(e)),this.#c.onEvent?.(e),this.#P(e);let a=Je(e)&&this.#n.size===0;this.#o!=="resuming"&&this.#i===void 0&&("data"in e&&"turnId"in e.data&&(this.#o="streaming"),this.#l===void 0&&a&&(this.#o="ready")),this.#c.onSessionChange?.(this.#s?.state),this.#o!=="resuming"&&this.#f(),this.#l===void 0&&t&&a&&this.#c.onFinish?.(this.#y)}#v(e){if(e===void 0)return!1;let t=0;for(let a of e.ids)this.#l?.followUpSubmissionIds.delete(a)&&(t+=1);if(t>0&&this.#l!==void 0)if(e.alreadyProjected)this.#l.receivedFollowUps+=t;else{let a=this.#l.receivedFollowUpEvents.get(e.event)??0;this.#l.receivedFollowUpEvents.set(e.event,a+t)}return!0}#P(e){let t=Uf(e);t!==void 0&&(this.#o="error",this.#h.failAll(t),this.#i===void 0&&(this.#i=t,this.#c.onError?.(t)))}#R(){return{data:this.#p.data,error:this.#i,events:this.#m,session:this.#s?.state,status:this.#o}}#f(){this.#y=this.#R();for(let e of this.#S)e()}};var xC=3e4;function yC(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function Js(e){return`waniwani:eve-conversation:${e??""}`}function qf(e){try{let t=JSON.parse(localStorage.getItem(Js(e))??"null");return typeof t=="object"&&t!==null&&"conversationId"in t&&typeof t.conversationId=="string"&&"ownerSecret"in t&&typeof t.ownerSecret=="string"?{conversationId:t.conversationId,ownerSecret:t.ownerSecret}:null}catch{return null}}function Mo(e,t){try{t?localStorage.setItem(Js(e),JSON.stringify(t)):localStorage.removeItem(Js(e))}catch{}}var LC={initial:()=>{},reduce:()=>{}},pr=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,this.store=new Qs({host:r.eveHost,auth:{bearer:()=>this.bearer()},initialSession:{sessionId:r.sessionId,streamIndex:0},optimistic:!1,reducer:LC}),this.store.setCallbacks({onEvent:o=>this.forward?.(o)}),this.caughtUp=this.store.resume().catch(()=>{})}grant;refreshing=null;store;forward;caughtUp;used=!1;static async create(t){let a=yC(),r=await t.open({operation:"create",requestId:crypto.randomUUID(),ownerSecret:a,channelId:t.channelId,visitorId:t.visitorId});return r?new e(t.open,a,r):null}static async resume(t){let a=await t.open({operation:"resume",...t.saved});return a?new e(t.open,t.saved.ownerSecret,a):null}get sessionId(){return this.grant.sessionId}get saved(){return{conversationId:this.grant.conversationId,ownerSecret:this.secret}}get followups(){return this.grant.followups}async history(){await this.caughtUp;let{events:t}=this.store.snapshot;return this.used||=t.some(a=>a.type==="message.received"),t}async bearer(){return this.grant.expiresAt-xC>Date.now()?this.grant.accessToken:(this.refreshing??=this.open({operation:"refresh",conversationId:this.grant.conversationId,ownerSecret:this.secret}).then(t=>{if(!t)throw new Error("The conversation left the direct runtime");return this.grant=t,t.accessToken}).finally(()=>{this.refreshing=null}),await this.refreshing)}turn(t,a){this.used=!0;let r=()=>{this.store.cancel()};return a?.addEventListener("abort",r,{once:!0}),new ReadableStream({start:async n=>{let s=!1;this.forward=l=>{s||=l.type==="turn.failed"||l.type==="session.failed",n.enqueue(l)},await this.caughtUp;let i=await this.store.send({message:t,signal:a}).then(()=>this.store.snapshot.error,l=>l instanceof Error?l:new Error(String(l)));this.forward=void 0,a?.removeEventListener("abort",r),i&&!s&&!a?.aborted&&n.enqueue({type:"session.failed",data:{message:i.message}}),n.close()}}).pipeThrough(vo())}close(){this.forward=void 0,this.store.reset()}};function ha(e,t){let a=e[t];return typeof a=="string"&&a?a:void 0}function CC(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function SC(e){return e.filter(t=>t.role==="user").map(t=>t.parts.flatMap(a=>a.type==="text"?[a.text]:[]).join(`
|
|
23
|
+
`))}function Hf(e){return fetch(new URL(e.path,new URL(e.sessionApi,location.href)),{method:"POST",headers:{...e.headers(),"content-type":"application/json"},body:JSON.stringify(e.body),cache:"no-store",signal:e.signal})}function bC(e){return async t=>{let a=await Hf({...e,path:"followups",body:t,signal:AbortSignal.timeout(8e3)}),r=a.ok?await a.json():null,o=typeof r=="object"&&r!==null&&"data"in r?r.data:null,n=typeof o=="object"&&o!==null&&"suggestions"in o?o.suggestions:null;return Array.isArray(n)?n.filter(s=>typeof s=="string"):[]}}function vC(e){let t="",a=!1,r=new Set;return new TransformStream({async transform(o,n){if(o.type==="text-delta"&&(t+=o.delta),o.type==="tool-input-available"&&r.add(o.toolName),o.type==="error"&&(a=!0),o.type==="finish"&&!a&&!e.signal?.aborted&&t.trim()){let s=await e.suggest(t,[...r]).catch(()=>[]);s.length>0&&n.enqueue({type:"data-suggestions",data:{suggestions:s}})}n.enqueue(o)}})}function kC(e){return async t=>{let a=await Hf({...e,path:e.sessionApi,body:t});if(!a.ok)throw new Error(`Opening the chat failed (${a.status})`);let r=await a.json(),o=typeof r=="object"&&r!==null&&"data"in r?r.data:null;if(typeof o!="object"||o===null||!("transport"in o))throw new Error("The session route answered no transport");if(o.transport!=="eve-native")return null;let n={...o},s=n.session,i=typeof s=="object"&&s!==null&&"sessionId"in s?s.sessionId:void 0,l=ha(n,"conversationId"),u=ha(n,"eveHost"),d=ha(n,"accessToken"),c=Date.parse(ha(n,"expiresAt")??"");if(!l||!u||!d||typeof i!="string"||Number.isNaN(c))throw new Error("The session route answered an incomplete session");return{conversationId:l,eveHost:u,sessionId:i,accessToken:d,expiresAt:c,followups:n.followups===!0}}}var Ys=class{constructor(t){this.options=t}session;threadOnFallback=!1;disposed=!1;get channelId(){return ha(this.options.body(),"channelId")}prepare(){this.disposed=!1,this.session??=this.start()}async restore(){let t=qf(this.channelId);if(this.options.needsFallback()||!("withResolvers"in Promise)||!t)return[];this.disposed=!1;let a=pr.resume({open:this.options.open,saved:t}).catch(()=>null);this.session=a;let r=await a;return r?await Ac(await r.history()):(Mo(this.channelId,null),this.session===a&&(this.session=void 0),[])}reset(){Mo(this.channelId,null),this.dispose()}dispose(){this.disposed=!0,this.session?.then(t=>t?.close()).catch(()=>{}),this.session=void 0}async start(){let t=this.options.body(),a=ha(t,"channelId"),r=await pr.create({open:this.options.open,channelId:a,visitorId:CC(t)});return Mo(a,r?.saved??null),r&&this.disposed?(r.close(),null):r}async sendMessages(t){let a=t.messages.filter(u=>u.role==="user").length<=1;a&&(this.threadOnFallback=!1);let o=[...t.messages].reverse().find(u=>u.role==="user")?.parts.some(u=>u.type==="file")??!1;if(this.threadOnFallback||o||this.options.needsFallback()||!("withResolvers"in Promise))return this.threadOnFallback=!0,await this.options.fallback.sendMessages(t);this.prepare();let n=await this.session?.catch(()=>null);if(n?.used&&a&&(this.reset(),this.prepare(),n=await this.session?.catch(()=>null)),!n)return this.threadOnFallback=!0,await this.options.fallback.sendMessages(t);this.options.onSession(n.sessionId);let s=SC(t.messages),i=n.turn(s.at(-1)??"",t.abortSignal);if(!n.followups)return i;let{saved:l}=n;return i.pipeThrough(vC({suggest:(u,d)=>this.options.suggest({...l,answerText:u.slice(-8e3),recentUserMessages:s.slice(-3).map(c=>c.slice(-2e3)),toolNames:d.slice(0,20)}),signal:t.abortSignal}))}async reconnectToStream(t){return await this.session?.catch(()=>null)?null:await this.options.fallback.reconnectToStream(t)}};function $f(e){return t=>new Ys({...t,open:kC({sessionApi:e,headers:t.headers}),suggest:bC({sessionApi:e,headers:t.headers})})}import{jsx as zf}from"react/jsx-runtime";var PC=600,jf="https://app.waniwani.ai/api/mcp/chat",RC=TC(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=Zs(null),d=Zs(null),c=_o(()=>Td({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Fo(()=>{if(l)return c.subscribe(l)},[l,c]);let f=_o(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??jf,[m,L]=Wf({}),[C,y]=Wf(!1),S=Zs(!1);Fo(()=>{C&&!S.current&&(S.current=!0,c.emit({name:"chat.ready"}))},[C,c]);let I=i?.disablePageView;Fo(()=>{if(!r){y(!0);return}let z=W=>{I||ps({api:p,token:r,channelId:o??W.channelId,mode:"inline",source:W.source})},G=So(p,r,o);G&&(L(G),Ma("cache"),Ar(G.metadata),y(!0),z(G));let q=new AbortController,ee=setTimeout(()=>{Ma("timeout"),y(!0)},PC);return uc(p,r,q.signal,o).then(W=>{q.signal.aborted||(Object.keys(W).length>0&&(lc(p,r,o,W),L(W)),Ma("remote"),y(!0),z(W))}).catch(W=>{console.error("[Waniwani] Remote config fetch failed:",W),y(!0)}).finally(()=>clearTimeout(ee)),()=>{q.abort(),clearTimeout(ee)}},[p,r,o,I]);let x=_o(()=>cs(f,m,void 0),[f,m]),b=sc(x);mc({widgetEvents:c,api:x.api??p,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:b.page,getSessionId:()=>u.current?.sessionId}),Fo(()=>{if(!r)return;let z=Tc({api:p,token:r,channelId:()=>o??So(p,r,o)?.channelId,getSource:()=>So(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=z,()=>{d.current=null,z.shutdown()}},[p,r,o]),AC(a,()=>{let z=()=>d.current??ys("no public token configured"),G=Object.assign(q=>z().track(q),{priceShown:q=>z().track.priceShown(q),pricesCompared:q=>z().track.pricesCompared(q),optionSelected:q=>z().track.optionSelected(q),leadQualified:q=>z().track.leadQualified(q),converted:q=>z().track.converted(q)});return{sendMessage:q=>u.current?.sendMessage(q),sendMessageAndWait:q=>u.current?u.current.sendMessageAndWait(q):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:G,identify:(q,ee)=>z().identify(q,ee)}},[]);let N=rc(x.visibility,C);Ji({api:x.api??p,token:x.token??r,channelId:x.channelId??o,mode:"inline",paintMark:"chatVisible",painted:C&&N});let U={mode:"inline"};x.mcpServerUrl&&(U.mcpServerUrl=x.mcpServerUrl),x.channelId&&(U.channelId=x.channelId);let j=i?.sessionApi,ie=_o(()=>j?$f(j):void 0,[j]);return N?zf(Rd,{value:c,children:zf(ds,{ref:u,api:x.api??jf,transport:ie,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:U,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:b,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,documentUpload:x.documentUpload,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!C})}):null});export{ds as ChatEmbed,yx as DARK_THEME,Yd as DEFAULT_THEME,Fa as McpAppFrame,RC as WaniwaniChat,Bm as WebMcpOverlay,Cx as mergeTheme,us as themeToCSSProperties};
|
|
24
24
|
/*! Bundled license information:
|
|
25
25
|
|
|
26
26
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|