@waniwani/sdk 0.22.0-beta.3 → 0.22.0-beta.5

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.
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import{a as li,b as ui,c as di,d as ci,e as fi,f as Lr,g as pi,h as mi,i as hi,j as gi,k as qo,l as wi,m as ea,n as ta,o as Cr,p as aa,u as wa}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Cm,useEffect as Er,useMemo as Sm,useRef as Fe,useState as el}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 Ii(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 sp,createElement as ip}from"react";var Sr=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var xi=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var yi=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Ho=e=>{let t=yi(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as np,createElement as Si}from"react";var Li={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 Ci=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var bi=np(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Si("svg",{ref:l,...Li,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Sr("lucide",o),...!n&&!Ci(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Si(u,d)),...Array.isArray(n)?n:[n]]));var de=(e,t)=>{let a=sp(({className:r,...o},n)=>ip(bi,{ref:n,iconNode:t,className:Sr(`lucide-${xi(Ho(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Ho(e),a};var lp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ia=de("arrow-down",lp);var up=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],xa=de("arrow-up",up);var dp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ya=de("check",dp);var cp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bt=de("chevron-down",cp);var fp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],La=de("chevron-right",fp);var pp=[["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",pp);var mp=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gt=de("clock",mp);var hp=[["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",hp);var gp=[["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"}]],ra=de("file",gp);var wp=[["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",wp);var Ip=[["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",Ip);var xp=[["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",xp);var yp=[["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"}]],oa=de("paperclip",yp);var Lp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ta=de("square",Lp);var Cp=[["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",Cp);var Sp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vt=de("x",Sp);var bp=[["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",bp);import{createContext as Op,useCallback as Up,useContext as Mi,useEffect as Np,useMemo as Xo,useRef as qp,useState as Qo}from"react";function $o(e){if(!(typeof e!="object"||e===null))return e}function vi(e){return $o(e?.ui)}function Wo(e){if(!e)return;let t=vi(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 vi(e)?.autoHeight===!0}function jo(e){return $o($o(e)?._meta)}import{createContext as vp,useContext as kp,useEffect as Tp,useMemo as Ap,useState as Pi}from"react";var ki=["en","fr","es"];function na(e){return ki.includes(e)}function zo(e){if(e&&na(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&na(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(na(r))return r;let o=r.split("-")[0];if(o&&na(o))return o}return"en"}var br={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 Ti={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 Ai={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 Vo={en:br,fr:Ai,es:Ti};import{jsx as Ep}from"react/jsx-runtime";var Ri=vp(null);function Pp(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 Go({children:e,locale:t,messages:a}){let r=!!(t&&Rp(t)),o=r?t:"en",[n,s]=Pi(o),[i,l]=Pi(r);Tp(()=>{s(zo(t)),l(!0)},[t]);let u=Ap(()=>{let d=Vo[n]??Vo["en"];return{locale:n,t:Pp(d,a),ready:i}},[n,a,i]);return Ep(Ri.Provider,{value:u,children:e})}function Rp(e){return e==="en"||e==="fr"||e==="es"}function ae(){let e=kp(Ri);return e||{locale:"en",t:br,ready:!0}}function Ko(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 Mp=ui({prefix:"ww"});function A(...e){return Mp(li(e))}import{jsx as Fp}from"react/jsx-runtime";var lt=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Fp("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 _p}from"react";import{jsx as Bp}from"react/jsx-runtime";var Dp=({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 Bp(e,{"data-waniwani-shimmer":"",className:A("ww:inline-block",t),style:s,...n,children:o})},tt=_p(Dp);tt.displayName="Shimmer";import{Fragment as Ei,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function Hp(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 $p({text:e,className:t}){let{t:a}=ae(),[r,o]=Qo(!1),n=qp(null);Np(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Up(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(Ei,{children:[ge(ya,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Ei,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Fi({data:e,label:t,className:a,...r}){let[o,n]=Qo(!1),s=Xo(()=>JSON.stringify(e,null,2),[e]),i=Hp(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($p,{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 Jo=Op({open:!1,toggle:()=>{}});function _i({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Qo(t);return ge(Jo.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 Di({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Mi(Jo),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 Bi({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 Oi({className:e,children:t,...a}){let{open:r}=Mi(Jo);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 Yo({className:e,input:t,debug:a,...r}){let{t:o}=ae(),n=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ge(Fi,{data:n,label:o.tool.request,className:e,...r})}function Ra(e,t,a){if(e){let r=Wo(a?.[e]?._meta);if(r)return r}return Wo(jo(t))}function Ui(e,t,a){return e&&Pa(a?.[e]?._meta)?!0:Pa(jo(t))}function Zo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=ae(),s=Xo(()=>{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(Fi,{data:s,label:n.tool.response,className:e,...o}):null}var Ni=typeof performance>"u"?0:performance.now(),qi=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 Wp="/api/mcp/";function vr(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(Wp)?`${r}${t}`:null}function jp(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ut(...e){jp()&&console.log("[Waniwani]",...e)}var en="waniwani-visitor-id";function zp(){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(en);if(t)return t}catch{}let e=zp();try{localStorage.setItem(en,e)}catch{}return e}function tn(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(en,t)}catch{}return t}function Vp(e){return e!=null&&typeof e.then=="function"}function an(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 Vp(r)?r.then(o=>{t||tn(o??"")},()=>{}):tn(r??""),a}var Gp="waniwani-memory";var Ke="threads",kr="by_memoryUserId",Kp="by_updatedAt";var $i="memoryUserId",Hi="waniwani-memory-user-id",rn=null;function on(){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 Xp(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(kr,"memoryUserId",{unique:!1}),a.createIndex(Kp,"updatedAt",{unique:!1})}}async function nn(){return new Promise((e,t)=>{let a=indexedDB.open(Gp,2);a.onupgradeneeded=r=>{Xp(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Qp(){return nn()}async function Jp(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get($i);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Yp(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,$i);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Zp(){if(typeof indexedDB>"u")return null;try{let e=await Qp();try{let t=await Jp(e);if(t)return t;let a=on();return await Yp(e,a),a}finally{e.close()}}catch{return null}}function em(){try{let e=localStorage.getItem(Hi);if(e)return e;let t=on();return localStorage.setItem(Hi,t),t}catch{return null}}async function Wi(){let e=await Zp();if(e)return e;let t=em();return t||(rn||(rn=on()),rn)}function ji(e,t){return e.match(t)?.[1]??null}function tm(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=ji(e,r);if(o)return{name:a,version:o}}return null}function am(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=ji(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function rm(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 Wi();return{userAgent:e,browser:tm(e),os:am(e),deviceType:rm(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 om="0.22.0-beta.3",nm=40,sm=10,im=6e5;function ln(){return typeof performance>"u"?0:performance.now()}function un(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=ln()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function lm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=nm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>im||(t[a]=o)}return t}function um(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=sm)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function dm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Ar(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function cm(e,t,a,r){return{kind:e,sdkVersion:om,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:dm(),tags:um(a),metrics:lm(r)}}var sn,Tr=[];function Pr(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";sn=t;let a=Tr;if(Tr=[],t)for(let r of a)r()}function Rr(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||sn===!1))try{let s=cm(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(()=>{})};sn?i():Tr.length<20&&Tr.push(i)}catch{}}var wt=un("boot",0),zi;function $t(e,t){wt.mark(e,t)}function Ma(e){zi??=e}var fm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,pm=/\/embed\.js(\?|$)/;function mm(){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)fm.test(a.name)?(wt.mark("bundleStart",a.startTime),wt.mark("bundleEnd",a.responseEnd)):pm.test(a.name)&&(wt.mark("loaderStart",a.startTime),wt.mark("loaderEnd",a.responseEnd))}function hm(){if(qi)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Vi(e){mm(),wt.mark("bundleExecuted",Ni),Rr("boot",e,{configSource:zi,mode:e.mode,secondSdk:hm()},wt.metrics)}var gm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Gi(e){let t=un("turn",ln());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 gm)!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,Rr("turn",r,o,t.metrics))}}}function wm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ki(e,t){let a=un("widget",ln()),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:wm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Im,useContext as xm,useEffect as ym,useRef as Xi}from"react";var Qi=Im(()=>{});function Ji(){return xm(Qi)}var Yi=Qi.Provider;function Lm(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function Zi(e){let t=Xi(e);t.current=e;let a=Xi(!1);ym(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),Lm(()=>Vi(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as Dm}from"react/jsx-runtime";var bm="/api/mcp/resource",vm=500,km=0,Tm=16,Am="2026-01-26",Pm=300,Rm=3e3,Em=3,Mm=2e3;function Fm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _m(e,t,a){return Ra(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fa({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=bm,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),v=Fe("inline"),[N,U]=el(km),[j,ie]=el(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=Cm(k=>i?Math.max(k+Tm,0):Math.min(Math.max(k,50),vm),[i]),b=Sm(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),_=Ji(),oe=Fe(null),ne=Fe(void 0);Er(()=>{let k=Ki(e,_);return oe.current=k,()=>{clearTimeout(ne.current),k.has("initialized")||k.report("timeout",x.current),oe.current=null}},[e,_]);let Ae=Fe(n);Ae.current=n;let Ne=Fe(f);return Er(()=>{Ne.current=f,y.current.height=-1,S.current&&(S.current.cancel(),S.current=null)},[f]),Er(()=>{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]),Er(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,se=null,he=null,Ie=setTimeout(()=>{if(H||$||x.current>=Em)return;x.current+=1;let X=new URL(k.src);X.searchParams.set("_retry",String(x.current)),k.src=X.toString()},Rm),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,oe.current?.mark("initialize"),clearTimeout(Ie),ce({jsonrpc:"2.0",id:le,result:{protocolVersion:pe.params?.protocolVersion??Am,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Ae.current?"dark":"light",displayMode:v.current}}});return}if(Ce==="ui/notifications/initialized"){I.current=!0,oe.current?.mark("initialized"),ne.current=setTimeout(()=>oe.current?.report("ok",x.current),Mm);let re=L.current,te=C.current,Z=te._meta&&typeof te._meta=="object"?te._meta:null,J=Fm(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:re}});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(ne.current),oe.current?.mark("firstSize"),oe.current?.report("ok",x.current);let re=pe.params,te=typeof re?.height=="number"?re.height:void 0,Z=typeof re?.width=="number"?re.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:Pm,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 re=pe.params?.url;typeof re=="string"&&(z.current?z.current(re):window.open(re,"_blank","noopener,noreferrer")),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/message"&&le!=null){if(G.current&&pe.params){let re=pe.params,te=se;if(se=null,he){clearTimeout(he.timer);let Z=he.text;he=null;let J=(re.content??[]).map(me=>me.text??"").join("").trim();re={...re,content:[{type:"text",text:`${J}
2
+ import{a as li,b as ui,c as di,d as ci,e as fi,f as Lr,g as pi,h as mi,i as hi,j as gi,k as qo,l as wi,m as ea,n as ta,o as Cr,p as aa,u as wa}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Sm,useEffect as Er,useMemo as bm,useRef as Fe,useState as el}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 Ii(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 ip,createElement as lp}from"react";var Sr=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var xi=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var yi=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Ho=e=>{let t=yi(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as sp,createElement as Si}from"react";var Li={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 Ci=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var bi=sp(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Si("svg",{ref:l,...Li,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Sr("lucide",o),...!n&&!Ci(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Si(u,d)),...Array.isArray(n)?n:[n]]));var de=(e,t)=>{let a=ip(({className:r,...o},n)=>lp(bi,{ref:n,iconNode:t,className:Sr(`lucide-${xi(Ho(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Ho(e),a};var up=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Ia=de("arrow-down",up);var dp=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],xa=de("arrow-up",dp);var cp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ya=de("check",cp);var fp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bt=de("chevron-down",fp);var pp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],La=de("chevron-right",pp);var mp=[["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",mp);var hp=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gt=de("clock",hp);var gp=[["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",gp);var wp=[["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"}]],ra=de("file",wp);var Ip=[["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",Ip);var xp=[["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",xp);var yp=[["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",yp);var Lp=[["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"}]],oa=de("paperclip",Lp);var Cp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ta=de("square",Cp);var Sp=[["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",Sp);var bp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vt=de("x",bp);var vp=[["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",vp);import{createContext as Up,useCallback as Np,useContext as Mi,useEffect as qp,useMemo as Xo,useRef as Hp,useState as Qo}from"react";function $o(e){if(!(typeof e!="object"||e===null))return e}function vi(e){return $o(e?.ui)}function Wo(e){if(!e)return;let t=vi(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 vi(e)?.autoHeight===!0}function jo(e){return $o($o(e)?._meta)}import{createContext as kp,useContext as Tp,useEffect as Ap,useMemo as Pp,useState as Pi}from"react";var ki=["en","fr","es"];function na(e){return ki.includes(e)}function zo(e){if(e&&na(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&na(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(na(r))return r;let o=r.split("-")[0];if(o&&na(o))return o}return"en"}var br={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 Ti={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 Ai={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 Vo={en:br,fr:Ai,es:Ti};import{jsx as Mp}from"react/jsx-runtime";var Ri=kp(null);function Rp(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 Go({children:e,locale:t,messages:a}){let r=!!(t&&Ep(t)),o=r?t:"en",[n,s]=Pi(o),[i,l]=Pi(r);Ap(()=>{s(zo(t)),l(!0)},[t]);let u=Pp(()=>{let d=Vo[n]??Vo["en"];return{locale:n,t:Rp(d,a),ready:i}},[n,a,i]);return Mp(Ri.Provider,{value:u,children:e})}function Ep(e){return e==="en"||e==="fr"||e==="es"}function ae(){let e=Tp(Ri);return e||{locale:"en",t:br,ready:!0}}function Ko(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 Fp=ui({prefix:"ww"});function A(...e){return Fp(li(e))}import{jsx as _p}from"react/jsx-runtime";var lt=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>_p("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 Dp}from"react";import{jsx as Op}from"react/jsx-runtime";var Bp=({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 Op(e,{"data-waniwani-shimmer":"",className:A("ww:inline-block",t),style:s,...n,children:o})},tt=Dp(Bp);tt.displayName="Shimmer";import{Fragment as Ei,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function $p(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 Wp({text:e,className:t}){let{t:a}=ae(),[r,o]=Qo(!1),n=Hp(null);qp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Np(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(Ei,{children:[ge(ya,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Ei,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Fi({data:e,label:t,className:a,...r}){let[o,n]=Qo(!1),s=Xo(()=>JSON.stringify(e,null,2),[e]),i=$p(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(Wp,{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 Jo=Up({open:!1,toggle:()=>{}});function _i({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Qo(t);return ge(Jo.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 Di({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Mi(Jo),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 Bi({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 Oi({className:e,children:t,...a}){let{open:r}=Mi(Jo);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 Yo({className:e,input:t,debug:a,...r}){let{t:o}=ae(),n=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ge(Fi,{data:n,label:o.tool.request,className:e,...r})}function Ra(e,t,a){if(e){let r=Wo(a?.[e]?._meta);if(r)return r}return Wo(jo(t))}function Ui(e,t,a){return e&&Pa(a?.[e]?._meta)?!0:Pa(jo(t))}function Zo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=ae(),s=Xo(()=>{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(Fi,{data:s,label:n.tool.response,className:e,...o}):null}var Ni=typeof performance>"u"?0:performance.now(),qi=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 jp="/api/mcp/";function vr(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(jp)?`${r}${t}`:null}function zp(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ut(...e){zp()&&console.log("[Waniwani]",...e)}var en="waniwani-visitor-id";function Vp(){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(en);if(t)return t}catch{}let e=Vp();try{localStorage.setItem(en,e)}catch{}return e}function tn(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(en,t)}catch{}return t}function Gp(e){return e!=null&&typeof e.then=="function"}function an(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 Gp(r)?r.then(o=>{t||tn(o??"")},()=>{}):tn(r??""),a}var Kp="waniwani-memory";var Ke="threads",kr="by_memoryUserId",Xp="by_updatedAt";var $i="memoryUserId",Hi="waniwani-memory-user-id",rn=null;function on(){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 Qp(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(kr,"memoryUserId",{unique:!1}),a.createIndex(Xp,"updatedAt",{unique:!1})}}async function nn(){return new Promise((e,t)=>{let a=indexedDB.open(Kp,2);a.onupgradeneeded=r=>{Qp(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Jp(){return nn()}async function Yp(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get($i);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Zp(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,$i);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function em(){if(typeof indexedDB>"u")return null;try{let e=await Jp();try{let t=await Yp(e);if(t)return t;let a=on();return await Zp(e,a),a}finally{e.close()}}catch{return null}}function tm(){try{let e=localStorage.getItem(Hi);if(e)return e;let t=on();return localStorage.setItem(Hi,t),t}catch{return null}}async function Wi(){let e=await em();if(e)return e;let t=tm();return t||(rn||(rn=on()),rn)}function ji(e,t){return e.match(t)?.[1]??null}function am(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=ji(e,r);if(o)return{name:a,version:o}}return null}function rm(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=ji(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function om(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 Wi();return{userAgent:e,browser:am(e),os:rm(e),deviceType:om(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 nm="0.22.0-beta.5",sm=40,im=10,lm=6e5;function ln(){return typeof performance>"u"?0:performance.now()}function un(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=ln()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function um(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=sm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>lm||(t[a]=o)}return t}function dm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=im)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function cm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Ar(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function fm(e,t,a,r){return{kind:e,sdkVersion:nm,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:cm(),tags:dm(a),metrics:um(r)}}var sn,Tr=[];function Pr(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";sn=t;let a=Tr;if(Tr=[],t)for(let r of a)r()}function Rr(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||sn===!1))try{let s=fm(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(()=>{})};sn?i():Tr.length<20&&Tr.push(i)}catch{}}var wt=un("boot",0),zi;function $t(e,t){wt.mark(e,t)}function Ma(e){zi??=e}var pm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,mm=/\/embed\.js(\?|$)/;function hm(){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)pm.test(a.name)?(wt.mark("bundleStart",a.startTime),wt.mark("bundleEnd",a.responseEnd)):mm.test(a.name)&&(wt.mark("loaderStart",a.startTime),wt.mark("loaderEnd",a.responseEnd))}function gm(){if(qi)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Vi(e){hm(),wt.mark("bundleExecuted",Ni),Rr("boot",e,{configSource:zi,mode:e.mode,secondSdk:gm()},wt.metrics)}var wm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Gi(e){let t=un("turn",ln());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 wm)!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,Rr("turn",r,o,t.metrics))}}}function Im(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ki(e,t){let a=un("widget",ln()),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:Im(e),outcome:o,metrics:a.metrics}))}}}import{createContext as xm,useContext as ym,useEffect as Lm,useRef as Xi}from"react";var Qi=xm(()=>{});function Ji(){return ym(Qi)}var Yi=Qi.Provider;function Cm(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function Zi(e){let t=Xi(e);t.current=e;let a=Xi(!1);Lm(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),Cm(()=>Vi(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as Bm}from"react/jsx-runtime";var vm="/api/mcp/resource",km=500,Tm=0,Am=16,Pm="2026-01-26",Rm=300,Em=3e3,Mm=3,Fm=2e3;function _m(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Dm(e,t,a){return Ra(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fa({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=vm,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),v=Fe("inline"),[N,U]=el(Tm),[j,ie]=el(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=Sm(k=>i?Math.max(k+Am,0):Math.min(Math.max(k,50),km),[i]),b=bm(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),_=Ji(),oe=Fe(null),ne=Fe(void 0);Er(()=>{let k=Ki(e,_);return oe.current=k,()=>{clearTimeout(ne.current),k.has("initialized")||k.report("timeout",x.current),oe.current=null}},[e,_]);let Ae=Fe(n);Ae.current=n;let Ne=Fe(f);return Er(()=>{Ne.current=f,y.current.height=-1,S.current&&(S.current.cancel(),S.current=null)},[f]),Er(()=>{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]),Er(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,se=null,he=null,Ie=setTimeout(()=>{if(H||$||x.current>=Mm)return;x.current+=1;let X=new URL(k.src);X.searchParams.set("_retry",String(x.current)),k.src=X.toString()},Em),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,oe.current?.mark("initialize"),clearTimeout(Ie),ce({jsonrpc:"2.0",id:le,result:{protocolVersion:pe.params?.protocolVersion??Pm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Ae.current?"dark":"light",displayMode:v.current}}});return}if(Ce==="ui/notifications/initialized"){I.current=!0,oe.current?.mark("initialized"),ne.current=setTimeout(()=>oe.current?.report("ok",x.current),Fm);let re=L.current,te=C.current,Z=te._meta&&typeof te._meta=="object"?te._meta:null,J=_m(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:re}});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(ne.current),oe.current?.mark("firstSize"),oe.current?.report("ok",x.current);let re=pe.params,te=typeof re?.height=="number"?re.height:void 0,Z=typeof re?.width=="number"?re.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:Rm,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 re=pe.params?.url;typeof re=="string"&&(z.current?z.current(re):window.open(re,"_blank","noopener,noreferrer")),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/message"&&le!=null){if(G.current&&pe.params){let re=pe.params,te=se;if(se=null,he){clearTimeout(he.timer);let Z=he.text;he=null;let J=(re.content??[]).map(me=>me.text??"").join("").trim();re={...re,content:[{type:"text",text:`${J}
3
3
 
4
- ${Z}`}]}}G.current({...re,...te?{modelContext:te}:{}})}ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/update-model-context"&&le!=null){se=Ii(se,pe.params),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="tools/call"&&le!=null){let re=q.current;if(!re){ce({jsonrpc:"2.0",id:le,error:{code:-32601,message:"tools/call not supported"}});return}let te=pe.params?.name;re({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&&_m(te,Z,Q.current)&&(he&&clearTimeout(he.timer),he={text:J,timer:setTimeout(()=>{if(H)return;let me=se;se=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 re=pe.params?.mode,te=re==="fullscreen"||re==="inline"||re==="pip"?re:"inline";v.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]),Dm("iframe",{ref:m,src:b,onLoad:()=>oe.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 Bm,useEffect as dn,useState as Om}from"react";import{jsx as cn,jsxs as Nm}from"react/jsx-runtime";var tl=672,al=32;function Um({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=Om(null);dn(()=>{let p=()=>l({width:window.innerWidth,height:window.innerHeight});return p(),window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);let u=e?.preview===!0;dn(()=>{if(!e||!u)return;let p=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,u,n]),dn(()=>{if(!e)return;let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p}},[e]);let d=Bm(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(tl,i.width-al):tl,f=i?i.height-al:void 0;return Nm("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&&cn("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"}),cn("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:f},children:cn(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 tc,useCallback as er,useEffect as xt,useImperativeHandle as kx,useRef as _t,useState as bo}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 jm,useCallback as We,useContext as zm,useEffect as Da,useMemo as Vm,useRef as kt,useState as mn}from"react";var Wt=new Map;function rl(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 ol(e){return Wt.get(e)}import{useState as qm}from"react";import{jsx as _e,jsxs as fn}from"react/jsx-runtime";var nl=({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(Hm,{file:r},o))});function Hm({file:e}){let{t}=ae();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"}):fn("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(ra,{className:"ww:size-3 ww:shrink-0"}),_e("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function sl(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function $m({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(ra,{className:"ww:size-5 ww:text-muted-foreground"})}function pn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=ae(),l=sl(t,i);return fn("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($m,{mediaType:t})}),fn("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 il(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 ll=({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(Wm,{document:r},`${r.documentId}-${o}`))});function Wm({document:e}){let{t}=ae(),[a,r]=qm(!1),o=e.mediaType.startsWith("image/")?ol(e.documentId):void 0;return o&&!a?_e("li",{children:_e("img",{alt:`${e.filename}, ${sl(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(pn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Pe,jsxs as Fr}from"react/jsx-runtime";var Gm=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}},Km=(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)},dl=jm(null),Mr=()=>{let e=zm(dl);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},cl=({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}=ae(),C=kt(null),y=kt(null),[S,I]=mn([]),x=kt(S),v=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 se=new AbortController,he=$(H,se.signal,Ie=>{G(k,{progress:Ie})}).then(Ie=>(G(k,{status:"ready",progress:1,documentId:Ie.documentId,error:void 0}),Ie)).catch(Ie=>{if(se.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});v.current.set(k,{file:H,controller:se,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}),se=[];for(let X of H){if(!Km(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}",fl(n,L)));continue}se.push(X)}if(se.length===0)return;let he=typeof o=="number"?Math.max(0,o-x.current.length):void 0,Ie=typeof he=="number"?se.slice(0,he):se;if(Ie.length<se.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=v.current.get(k);H&&(G(k,{status:"uploading",progress:0,error:void 0}),q(k,H.file))},[G,q]),Q=We((k,H)=>{v.current.get(k.id)?.controller.abort(),v.current.delete(k.id),k.url&&(!H&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?rl(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]),b=We(()=>{for(let k of x.current)Q(k,!0);ie([])},[Q,ie]),_=kt(i);Da(()=>{let k=_.current;_.current=i,k&&!i&&b()},[i,b]);let oe=We(()=>{for(let k of x.current)Q(k,!1);ie([])},[Q,ie]);Da(()=>()=>{for(let k of x.current)v.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let ne=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 Ae=We(async k=>{k.preventDefault();let H=k.currentTarget,$=new FormData(H).get("message")||"",se=new Map;for(;se.size<v.current.size;)await Promise.all([...v.current.entries()].filter(([K])=>!se.has(K)).map(async([K,X])=>{se.set(K,await X.done)}));for(let K of se.keys())v.current.has(K)||se.delete(K);if([...se.values()].some(K=>K===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let he=[...se.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 re=await Gm(le.url);return{...le,url:re??le.url}}return le}));try{let K=c({documents:he,files:ce,text:$},k);K instanceof Promise&&await K,H.reset(),oe()}catch{}},[c,oe,m]),Ne=Vm(()=>({add:ee,clear:b,files:S,openFileDialog:z,remove:E,retry:W,maxFileSize:n,maxPdfPages:s}),[S,ee,E,W,b,z,n,s]);return Fr(dl.Provider,{value:Ne,children:[Pe("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:ne,ref:C,title:m.promptInput.uploadFiles,type:"file"}),Pe("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:Ae,ref:y,...p,children:f})]})},ul=1024*1024;function fl(e,t){let a=e>=ul;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ul:Math.max(1,e/1024))}var pl=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=ae(),s=Mr(),[i,l]=mn(!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 Pe("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})},ml=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=ae(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Pe(xa,{className:"ww:size-4"});t==="submitted"?d=Pe(ka,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Pe(Ta,{className:"ww:size-4"}));let c=We(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Pe(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})},hl=({className:e,children:t,...a})=>{let{t:r,locale:o}=ae(),n=Mr();if(n.files.length>0)return Fr(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:[Pe("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}),Pe(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}",fl(n.maxFileSize,o)):r.promptInput.uploadFiles;return Pe(lt,{"aria-label":i,className:A(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(oa,{className:"ww:size-4"})})},gl=({className:e,...t})=>{let a=Mr();return a.files.length===0?null:Pe("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Pe(Xm,{file:r},r.id))})};function Xm({file:e}){let{t}=ae(),a=Mr(),r=e.status==="failed",o=e.status==="uploading";return Fr(pn,{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?Pe("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,Pe("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:Pe(vt,{className:"ww:size-3.5"})}),o?Pe("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 wl=({enabled:e=!0})=>{let{t}=ae(),[a,r]=mn(!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?Pe("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:Fr("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Pe(oa,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as Qm}from"react/jsx-runtime";function Il({text:e}){let{t}=ae();return e===!1?null:Qm("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 Jm,useCallback as Ym}from"react";import{jsx as ia}from"react/jsx-runtime";var xl=({className:e,...t})=>ia("div",{className:A("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),yl=({className:e,...t})=>ia("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}),Ll=({className:e,...t})=>ia("span",{className:A("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Cl=({className:e,...t})=>ia("span",{className:A("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Sl=({className:e,...t})=>ia("div",{className:A("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),bl=({className:e,...t})=>ia(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 Tl}from"react/jsx-runtime";var vl=Jm(({message:e,onRemove:t})=>{let{t:a}=ae(),r=Ym(()=>t(e.id),[t,e.id]);return Tl(yl,{children:[Tt(Ll,{}),Tt(Cl,{children:e.text||a.chatQueue.attachmentFallback}),Tt(Sl,{children:Tt(bl,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Tt(vt,{className:"ww:size-3"})})})]})});vl.displayName="ChatQueueItem";function kl({queuedMessages:e,onRemove:t,className:a}){let{t:r}=ae();return e.length===0?null:Tl(xl,{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(vl,{message:o,onRemove:t},o.id))})]})}import{createContext as ih,useCallback as lh,useContext as uh,useEffect as dh,useMemo as ch,useState as In}from"react";import{createContext as Zm,memo as wn,useCallback as eh,useContext as th,useEffect as hn,useMemo as ah,useRef as Al,useState as gn}from"react";import{Fragment as nh,jsx as rt,jsxs as sh}from"react/jsx-runtime";var Pl=Zm(null);function Rl(){let e=th(Pl);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var rh=1e3,oh=1e3,Ba=wn(({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]=gn(l),p=d?a:c,m=eh(U=>{d||f(U),o?.(U)},[d,o]),[L,C]=gn(void 0),y=n??L,S=Al(t),[I,x]=gn(!1),v=Al(null);hn(()=>{t?(S.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(C(Math.ceil((Date.now()-v.current)/oh)),v.current=null)},[t]),hn(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),hn(()=>{if(S.current&&!t&&p&&!I){let U=setTimeout(()=>{m(!1),x(!0)},rh);return()=>clearTimeout(U)}},[t,p,I,m]);let N=ah(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:y}),[t,p,m,y]);return rt(Pl.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=wn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=ae(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Rl(),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??sh(nh,{children:[!r&&rt(gt,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Oa.displayName="ReasoningTrigger";var Ua=wn(({className:e,children:t,...a})=>{let{isOpen:r}=Rl();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 fh=500,El=ih(null);function Ml(){let e=uh(El);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Fl({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=In(o),c=l?r:u,f=lh(C=>{l||d(C),n?.(C)},[l,n]),[p,m]=In(!t);dh(()=>{if(t){m(!1);return}let C=setTimeout(()=>m(!0),fh);return()=>clearTimeout(C)},[t]);let L=ch(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return xe(El.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 _l({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Ml();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 Dl({className:e,children:t,...a}){let{open:r}=Ml();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 Bl({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 xn({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]=In(!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(Bl,{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 Ol({isStreaming:e=!1,isLast:t=!1,children:a}){return At("div",{className:"ww:flex ww:gap-2",children:[xe(Bl,{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 Ul(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 Nl(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ql(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 Hl(e){return Ul(e)?"ambiguous":Nl(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":ql(e)?"wide":"neutral"}function ph(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function $l(e){return ph(e),Hl(e)}var mh=Object.defineProperty,hh=(e,t,a)=>t in e?mh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,gh=(e,t,a)=>hh(e,typeof t!="symbol"?t+"":t,a);function wh(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ih(e){if(!e||e<4352)return!1;switch($l(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!wh(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 xh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function yh(e){return e!==null&&e>=65024&&e<=65038}var Lh=Wl(/\p{P}|\p{S}/u),Ch=Wl(/\s/);function Wl(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||wi(e)||Ch(e))return dt.characterGroupWhitespace;let t=0;if(e>=4352){if(yh(e))return Qe.nonEmojiGeneralUseVS;switch(Ih(e)){case null:return Qe.ivs;case!0:t|=Qe.cjk;break}}return Lh(e)&&(t|=dt.characterGroupPunctuation),t}function _r(e,t,a){if(!bh(e))return e;let r=t(),o=Pt(r);return!r||jt(o)?e:xh(r,a)?Qe.cjkPunctuation:Sh(o)}function Sh(e){return e&~Qe.ivs}function jt(e){return!!(e&dt.characterGroupWhitespace)}function la(e){return(e&Qe.cjkPunctuation)===dt.characterGroupPunctuation}function Na(e){return!!(e&Qe.cjk)}function jl(e){return e===Qe.ivs}function zl(e){return!!(e&Qe.cjkOrIvs)}function bh(e){return e===Qe.nonEmojiGeneralUseVS}function yn(e){return!!(e&Qe.spaceOrPunctuation)}function Dr(e){return!!(e&&e>=55296&&e<=56319)}function Br(e){return!!(e&&e>=56320&&e<=57343)}function Or(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 vh(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 Ur=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,gh(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=vh(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Nr(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Ln={name:"attention",resolveAll:kh,tokenize:Th};function kh(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};Vl(c,-l),Vl(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=ta(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=ta(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=ta(u,Cr(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=ta(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=ta(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,ea(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 Th(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Br(n)?Or(n,r(),o):n,i=Pt(s),l=new Ur(s,r(),o),u=_r(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=Dr(p)?Nr(p,r(),o):p,C=Pt(L);let y=la(u),S=y||jt(u),I=la(C),x=I||jt(C),v=zl(u),N=!x||I&&(S||v)||a.includes(p),U=!S||y&&(x||Na(C))||a.includes(s);return m._open=!!(d===Oe.asterisk?N:N&&(yn(u)||!U)),m._close=!!(d===Oe.asterisk?U:U&&(yn(C)||!N)),t(p)}}function Vl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Gl(){return{text:{[Oe.asterisk]:Ln,[Oe.underscore]:Ln},insideSpan:{null:[Ln]}}}function Kl(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Gl())}function Xl(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&&ea(f,f.length,0,Cr(p,s.slice(u+1,l),i)),ea(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),ea(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=Br(c)?Or(c,u(),d):c,p=Pt(f),m=new Ur(f,u(),d),L=_r(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 v=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=Dr(x)?Nr(x,u(),d):x,j=Pt(U),z=la(L)||jt(L),q=la(j)||jt(j),ee=Na(L)||jl(v);return N._open=!q||j===dt.attentionSideAfter&&(z||ee),N._close=!z||v===dt.attentionSideAfter&&(q||Na(j)),i(x)}}}function Ql(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Xl(e))}var Ah=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Ph=/^(https?:\/\/|mailto:|www\.)/i,Rh=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Eh=e=>{let t=0;for(let a of e){if(Ah.has(a))return t;t+=a.length}return null},Mh=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Fh=e=>({type:"text",value:e}),_h=()=>e=>{di(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Rh(t)||!Ph.test(t.url))return;let o=Eh(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Mh(n,t),l=Fh(s);return r.children.splice(a,1,i,l),a+1})};function Dh(){let e=[Kl],t=[_h,Ql],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Cn=Dh();var Se=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Bh(e){return Mn(e)}function Mn(e){return Array.isArray(e)?Oh(e):e instanceof RegExp?e:typeof e=="object"?Uh(e):e}function Oh(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Mn(e[a]);return t}function Uh(e){let t={};for(let a in e)t[a]=Mn(e[a]);return t}function nu(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function su(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?su(e.substring(0,e.length-1)):e.substr(~t+1)}var Sn=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,qr=class{static hasCaptures(e){return e===null?!1:(Sn.lastIndex=0,Sn.test(e))}static replaceCaptures(e,t,a){return e.replace(Sn,(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 iu(e,t){return e<t?-1:e>t?1:0}function lu(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=iu(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Jl(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 uu(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var du=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(Hh(e),t)}static createFromParsedTheme(e,t){return Wh(e,t)}_cachedMatchRoot=new du(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=>Nh(e.parent,o.parentScopes));return r?new cu(r.fontStyle,r.foreground,r.background):null}},bn=class Hr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Hr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Hr(a,t[r]);return a}push(t){return new Hr(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 Nh(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&&!qh(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function qh(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var cu=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Hh(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"&&Jl(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Jl(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 $h(L,C,o,l,u,d)}}return a}var $h=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 Wh(e,t){e.sort((l,u)=>{let d=iu(l.scope,u.scope);return d!==0||(d=lu(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 jh(t),s=new cu(a,n.getId(r),n.getId(o)),i=new Vh(new kn(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 jh=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)}},zh=Object.freeze([]),kn=class fu{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||zh,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new fu(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)}},Vh=class Tn{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(Tn._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 Tn(this._mainRule.clone(),kn.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(lu(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 kn(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 Wr(e,t){let a=[],r=Gh(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(Yl(o)){let l=[];do l.push(o),o=r.next();while(Yl(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 Yl(e){return!!e&&!!e.match(/[\w\.:]+/)}function Gh(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 pu(e){typeof e.dispose=="function"&&e.dispose()}var Wa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Kh=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Xh=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))}},Qh=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 Xh;for(let a of e)Jh(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 Jh(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?$r({baseGrammar:n,selfGrammar:o},r):An(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 An(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];jr([r],t,a)}}function $r(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&jr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&jr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function jr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?nu({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&jr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=mu(n);switch(s.kind){case 0:$r({...t,selfGrammar:t.baseGrammar},a);break;case 1:$r(t,a);break;case 2:An(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?An(s.ruleName,l,a):$r(l,a)}else s.kind===4?a.add(new Kh(s.scopeName,s.ruleName)):a.add(new Wa(s.scopeName));break}}}var Yh=class{kind=0},Zh=class{kind=1},eg=class{constructor(e){this.ruleName=e}kind=2},tg=class{constructor(e){this.scopeName=e}kind=3},ag=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function mu(e){if(e==="$base")return new Yh;if(e==="$self")return new Zh;let t=e.indexOf("#");if(t===-1)return new tg(e);if(t===0)return new eg(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new ag(a,r)}}var rg=/\\(\d+)/,Zl=/\\(\d+)/g;var og=-1,hu=-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=qr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=qr.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${su(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:qr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:qr.replaceCaptures(this._contentName,e,t)}},ng=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!")}},sg=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}},eu=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}},Pn=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}},zr=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,hu),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}},gu=class qe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new ng(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new sg(t.$vscodeTextmateLocation,t.id,t.name,t.match,qe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=nu({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new eu(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,qe._compilePatterns(n,a,r))}return t.while?new zr(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 Pn(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=mu(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 eu||u instanceof Pn||u instanceof zr)&&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 wu{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=rg.test(this.source):this.hasBackReferences=!1}clone(){return new wu(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 Zl.lastIndex=0,this.source.replace(Zl,(o,n)=>uu(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 tu(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 tu(e,r,this._items.map(o=>o.ruleId))}},tu=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}},vn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ig=class Rn{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new vn(t,8),this._embeddedLanguagesMatcher=new lg(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Rn._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new vn(0,0);_getBasicScopeAttributes=new du(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new vn(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Rn.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/},lg=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])=>uu(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])}},rk={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Iu=!1,au=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function xu(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=ug(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 au(o,!0);f()}return new au(o,!1);function f(){let p=dg(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===og){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 Pn){let v=y;qa(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=v.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),v.endHasBackReferences&&(o=o.withEndRule(v.getEndWithResolvedBackReferences(t.content,m))),!C&&S.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(y instanceof zr){let v=y;qa(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=v.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),v.whileHasBackReferences&&(o=o.withEndRule(v.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 ug(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 zr&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=pg(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==hu){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 dg(e,t,a,r,o,n){let s=cg(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=fg(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 cg(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=yu(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function fg(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}=yu(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 yu(e,t,a,r,o){if(Iu){let s=e.compile(t,a),i=Lu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function pg(e,t,a,r,o){if(Iu){let s=e.compileWhile(t,a),i=Lu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Lu(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));xu(e,x,a&&p.start===0,p.start,I,o,!1,0),pu(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 mg(C,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var mg=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function hg(e,t,a,r,o,n,s,i){return new wg(e,t,a,r,o,n,s,i)}function ru(e,t,a,r,o){let n=Wr(t,Vr),s=gu.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 Vr(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(gg(t[o],r))return a=o+1,!0;return!1})}function gg(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 wg=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new ig(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ou(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Wr(l,Vr);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)ru(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&&ru(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]=ou(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=gu.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===En.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 En(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 xg(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=xu(this,n,o,0,t,i,!0,r);return pu(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ou(e,t){return e=Bh(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=bn.push(o,n.scopeNames),r=new ct(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new ct(null,new bn(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new bn(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}},En=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))}},Ig=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Wr(a,Vr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Wr(a,Vr).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}},xg=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}},yg=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,hg(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Cu=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new yg($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 Ig(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Qh(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)}},Gr=En.NULL;var Lg=/["&'<>`]/g,Cg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sg=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,bg=/[|\\{}()[\]^$+*?.]/g,Su=new WeakMap;function bu(e,t){if(e=e.replace(t.subset?vg(t.subset):Lg,r),t.subset||t.escapeOnly)return e;return e.replace(Cg,a).replace(Sg,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 vg(e){let t=Su.get(e);return t||(t=kg(e),Su.set(e,t)),t}function kg(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(bg,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Tg=/[\dA-Fa-f]/;function vu(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Tg.test(String.fromCharCode(t))?r:r+";"}var Ag=/\d/;function ku(e,t,a){let r="&#"+String(e);return a&&t&&!Ag.test(String.fromCharCode(t))?r:r+";"}var Tu=["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 Kr={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 Au=["cent","copy","divide","gt","lt","not","para","times"];var Pu={}.hasOwnProperty,Fn={},Xr;for(Xr in Kr)Pu.call(Kr,Xr)&&(Fn[Kr[Xr]]=Xr);var Pg=/[^\dA-Za-z]/;function Ru(e,t,a,r){let o=String.fromCharCode(e);if(Pu.call(Fn,o)){let n=Fn[o],s="&"+n;return a&&Tu.includes(n)&&!Au.includes(n)&&(!r||t&&t!==61&&Pg.test(String.fromCharCode(t)))?s:s+";"}return""}function Eu(e,t,a){let r=vu(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Ru(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ku(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 bu(e,Object.assign({format:Eu},t))}var Rg=/^>|^->|<!--|-->|--!>|<!-$/g,Eg=[">"],Mg=["<",">"];function Mu(e,t,a,r){return r.settings.bogusComments?"<?"+It(e.value,Object.assign({},r.settings.characterReferences,{subset:Eg}))+">":"<!--"+e.value.replace(Rg,o)+"-->";function o(n){return It(n,Object.assign({},r.settings.characterReferences,{subset:Mg}))}}function Fu(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Te=_u(1),_n=_u(-1),Fg=[];function _u(e){return t;function t(a,r,o){let n=a?a.children:Fg,s=(r||0)+e,i=n[s];if(!o)for(;i&&aa(i);)s+=e,i=n[s];return i}}var _g={}.hasOwnProperty;function Qr(e){return t;function t(a,r,o){return _g.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Ga=Qr({body:Bg,caption:Dn,colgroup:Dn,dd:qg,dt:Ng,head:Dn,html:Dg,li:Ug,optgroup:Hg,option:$g,p:Og,rp:Du,rt:Du,tbody:jg,td:Bu,tfoot:zg,th:Bu,thead:Wg,tr:Vg});function Dn(e,t,a){let r=Te(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&aa(r.value.charAt(0)))}function Dg(e,t,a){let r=Te(a,t);return!r||r.type!=="comment"}function Bg(e,t,a){let r=Te(a,t);return!r||r.type!=="comment"}function Og(e,t,a){let r=Te(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 Ug(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Ng(e,t,a){let r=Te(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function qg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Du(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Hg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function $g(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Wg(e,t,a){let r=Te(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function jg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function zg(e,t,a){return!Te(a,t)}function Vg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Bu(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Ou=Qr({body:Xg,colgroup:Qg,head:Kg,html:Gg,tbody:Jg});function Gg(e){let t=Te(e,-1);return!t||t.type!=="comment"}function Kg(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 Xg(e){let t=Te(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&aa(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Qg(e,t,a){let r=_n(a,t),o=Te(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 Jg(e,t,a){let r=_n(a,t),o=Te(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 Jr={name:[[`
4
+ ${Z}`}]}}G.current({...re,...te?{modelContext:te}:{}})}ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="ui/update-model-context"&&le!=null){se=Ii(se,pe.params),ce({jsonrpc:"2.0",id:le,result:{}});return}if(Ce==="tools/call"&&le!=null){let re=q.current;if(!re){ce({jsonrpc:"2.0",id:le,error:{code:-32601,message:"tools/call not supported"}});return}let te=pe.params?.name;re({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&&Dm(te,Z,Q.current)&&(he&&clearTimeout(he.timer),he={text:J,timer:setTimeout(()=>{if(H)return;let me=se;se=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 re=pe.params?.mode,te=re==="fullscreen"||re==="inline"||re==="pip"?re:"inline";v.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]),Bm("iframe",{ref:m,src:b,onLoad:()=>oe.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 Om,useEffect as dn,useState as Um}from"react";import{jsx as cn,jsxs as qm}from"react/jsx-runtime";var tl=672,al=32;function Nm({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=Um(null);dn(()=>{let p=()=>l({width:window.innerWidth,height:window.innerHeight});return p(),window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);let u=e?.preview===!0;dn(()=>{if(!e||!u)return;let p=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,u,n]),dn(()=>{if(!e)return;let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p}},[e]);let d=Om(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(tl,i.width-al):tl,f=i?i.height-al:void 0;return qm("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&&cn("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"}),cn("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:f},children:cn(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 tc,useCallback as er,useEffect as xt,useImperativeHandle as Tx,useRef as _t,useState as bo}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 zm,useCallback as We,useContext as Vm,useEffect as Da,useMemo as Gm,useRef as kt,useState as mn}from"react";var Wt=new Map;function rl(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 ol(e){return Wt.get(e)}import{useState as Hm}from"react";import{jsx as _e,jsxs as fn}from"react/jsx-runtime";var nl=({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($m,{file:r},o))});function $m({file:e}){let{t}=ae();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"}):fn("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(ra,{className:"ww:size-3 ww:shrink-0"}),_e("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function sl(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function Wm({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(ra,{className:"ww:size-5 ww:text-muted-foreground"})}function pn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=ae(),l=sl(t,i);return fn("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(Wm,{mediaType:t})}),fn("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 il(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 ll=({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(jm,{document:r},`${r.documentId}-${o}`))});function jm({document:e}){let{t}=ae(),[a,r]=Hm(!1),o=e.mediaType.startsWith("image/")?ol(e.documentId):void 0;return o&&!a?_e("li",{children:_e("img",{alt:`${e.filename}, ${sl(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(pn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Pe,jsxs as Fr}from"react/jsx-runtime";var Km=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}},Xm=(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)},dl=zm(null),Mr=()=>{let e=Vm(dl);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},cl=({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}=ae(),C=kt(null),y=kt(null),[S,I]=mn([]),x=kt(S),v=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 se=new AbortController,he=$(H,se.signal,Ie=>{G(k,{progress:Ie})}).then(Ie=>(G(k,{status:"ready",progress:1,documentId:Ie.documentId,error:void 0}),Ie)).catch(Ie=>{if(se.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});v.current.set(k,{file:H,controller:se,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}),se=[];for(let X of H){if(!Xm(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}",fl(n,L)));continue}se.push(X)}if(se.length===0)return;let he=typeof o=="number"?Math.max(0,o-x.current.length):void 0,Ie=typeof he=="number"?se.slice(0,he):se;if(Ie.length<se.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=v.current.get(k);H&&(G(k,{status:"uploading",progress:0,error:void 0}),q(k,H.file))},[G,q]),Q=We((k,H)=>{v.current.get(k.id)?.controller.abort(),v.current.delete(k.id),k.url&&(!H&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?rl(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]),b=We(()=>{for(let k of x.current)Q(k,!0);ie([])},[Q,ie]),_=kt(i);Da(()=>{let k=_.current;_.current=i,k&&!i&&b()},[i,b]);let oe=We(()=>{for(let k of x.current)Q(k,!1);ie([])},[Q,ie]);Da(()=>()=>{for(let k of x.current)v.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let ne=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 Ae=We(async k=>{k.preventDefault();let H=k.currentTarget,$=new FormData(H).get("message")||"",se=new Map;for(;se.size<v.current.size;)await Promise.all([...v.current.entries()].filter(([K])=>!se.has(K)).map(async([K,X])=>{se.set(K,await X.done)}));for(let K of se.keys())v.current.has(K)||se.delete(K);if([...se.values()].some(K=>K===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let he=[...se.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 re=await Km(le.url);return{...le,url:re??le.url}}return le}));try{let K=c({documents:he,files:ce,text:$},k);K instanceof Promise&&await K,H.reset(),oe()}catch{}},[c,oe,m]),Ne=Gm(()=>({add:ee,clear:b,files:S,openFileDialog:z,remove:E,retry:W,maxFileSize:n,maxPdfPages:s}),[S,ee,E,W,b,z,n,s]);return Fr(dl.Provider,{value:Ne,children:[Pe("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:ne,ref:C,title:m.promptInput.uploadFiles,type:"file"}),Pe("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:Ae,ref:y,...p,children:f})]})},ul=1024*1024;function fl(e,t){let a=e>=ul;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ul:Math.max(1,e/1024))}var pl=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=ae(),s=Mr(),[i,l]=mn(!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 Pe("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})},ml=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=ae(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Pe(xa,{className:"ww:size-4"});t==="submitted"?d=Pe(ka,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Pe(Ta,{className:"ww:size-4"}));let c=We(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Pe(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})},hl=({className:e,children:t,...a})=>{let{t:r,locale:o}=ae(),n=Mr();if(n.files.length>0)return Fr(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:[Pe("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}),Pe(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}",fl(n.maxFileSize,o)):r.promptInput.uploadFiles;return Pe(lt,{"aria-label":i,className:A(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(oa,{className:"ww:size-4"})})},gl=({className:e,...t})=>{let a=Mr();return a.files.length===0?null:Pe("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Pe(Qm,{file:r},r.id))})};function Qm({file:e}){let{t}=ae(),a=Mr(),r=e.status==="failed",o=e.status==="uploading";return Fr(pn,{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?Pe("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,Pe("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:Pe(vt,{className:"ww:size-3.5"})}),o?Pe("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 wl=({enabled:e=!0})=>{let{t}=ae(),[a,r]=mn(!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?Pe("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:Fr("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Pe(oa,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as Jm}from"react/jsx-runtime";function Il({text:e}){let{t}=ae();return e===!1?null:Jm("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 Ym,useCallback as Zm}from"react";import{jsx as ia}from"react/jsx-runtime";var xl=({className:e,...t})=>ia("div",{className:A("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),yl=({className:e,...t})=>ia("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}),Ll=({className:e,...t})=>ia("span",{className:A("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Cl=({className:e,...t})=>ia("span",{className:A("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Sl=({className:e,...t})=>ia("div",{className:A("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),bl=({className:e,...t})=>ia(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 Tl}from"react/jsx-runtime";var vl=Ym(({message:e,onRemove:t})=>{let{t:a}=ae(),r=Zm(()=>t(e.id),[t,e.id]);return Tl(yl,{children:[Tt(Ll,{}),Tt(Cl,{children:e.text||a.chatQueue.attachmentFallback}),Tt(Sl,{children:Tt(bl,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Tt(vt,{className:"ww:size-3"})})})]})});vl.displayName="ChatQueueItem";function kl({queuedMessages:e,onRemove:t,className:a}){let{t:r}=ae();return e.length===0?null:Tl(xl,{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(vl,{message:o,onRemove:t},o.id))})]})}import{createContext as lh,useCallback as uh,useContext as dh,useEffect as ch,useMemo as fh,useState as In}from"react";import{createContext as eh,memo as wn,useCallback as th,useContext as ah,useEffect as hn,useMemo as rh,useRef as Al,useState as gn}from"react";import{Fragment as sh,jsx as rt,jsxs as ih}from"react/jsx-runtime";var Pl=eh(null);function Rl(){let e=ah(Pl);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var oh=1e3,nh=1e3,Ba=wn(({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]=gn(l),p=d?a:c,m=th(U=>{d||f(U),o?.(U)},[d,o]),[L,C]=gn(void 0),y=n??L,S=Al(t),[I,x]=gn(!1),v=Al(null);hn(()=>{t?(S.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(C(Math.ceil((Date.now()-v.current)/nh)),v.current=null)},[t]),hn(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),hn(()=>{if(S.current&&!t&&p&&!I){let U=setTimeout(()=>{m(!1),x(!0)},oh);return()=>clearTimeout(U)}},[t,p,I,m]);let N=rh(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:y}),[t,p,m,y]);return rt(Pl.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=wn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=ae(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Rl(),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??ih(sh,{children:[!r&&rt(gt,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Oa.displayName="ReasoningTrigger";var Ua=wn(({className:e,children:t,...a})=>{let{isOpen:r}=Rl();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 ph=500,El=lh(null);function Ml(){let e=dh(El);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Fl({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=In(o),c=l?r:u,f=uh(C=>{l||d(C),n?.(C)},[l,n]),[p,m]=In(!t);ch(()=>{if(t){m(!1);return}let C=setTimeout(()=>m(!0),ph);return()=>clearTimeout(C)},[t]);let L=fh(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return xe(El.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 _l({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Ml();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 Dl({className:e,children:t,...a}){let{open:r}=Ml();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 Bl({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 xn({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]=In(!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(Bl,{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 Ol({isStreaming:e=!1,isLast:t=!1,children:a}){return At("div",{className:"ww:flex ww:gap-2",children:[xe(Bl,{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 Ul(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 Nl(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ql(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 Hl(e){return Ul(e)?"ambiguous":Nl(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":ql(e)?"wide":"neutral"}function mh(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function $l(e){return mh(e),Hl(e)}var hh=Object.defineProperty,gh=(e,t,a)=>t in e?hh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,wh=(e,t,a)=>gh(e,typeof t!="symbol"?t+"":t,a);function Ih(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function xh(e){if(!e||e<4352)return!1;switch($l(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Ih(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 yh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Lh(e){return e!==null&&e>=65024&&e<=65038}var Ch=Wl(/\p{P}|\p{S}/u),Sh=Wl(/\s/);function Wl(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||wi(e)||Sh(e))return dt.characterGroupWhitespace;let t=0;if(e>=4352){if(Lh(e))return Qe.nonEmojiGeneralUseVS;switch(xh(e)){case null:return Qe.ivs;case!0:t|=Qe.cjk;break}}return Ch(e)&&(t|=dt.characterGroupPunctuation),t}function _r(e,t,a){if(!vh(e))return e;let r=t(),o=Pt(r);return!r||jt(o)?e:yh(r,a)?Qe.cjkPunctuation:bh(o)}function bh(e){return e&~Qe.ivs}function jt(e){return!!(e&dt.characterGroupWhitespace)}function la(e){return(e&Qe.cjkPunctuation)===dt.characterGroupPunctuation}function Na(e){return!!(e&Qe.cjk)}function jl(e){return e===Qe.ivs}function zl(e){return!!(e&Qe.cjkOrIvs)}function vh(e){return e===Qe.nonEmojiGeneralUseVS}function yn(e){return!!(e&Qe.spaceOrPunctuation)}function Dr(e){return!!(e&&e>=55296&&e<=56319)}function Br(e){return!!(e&&e>=56320&&e<=57343)}function Or(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 kh(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 Ur=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,wh(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=kh(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Nr(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Ln={name:"attention",resolveAll:Th,tokenize:Ah};function Th(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};Vl(c,-l),Vl(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=ta(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=ta(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=ta(u,Cr(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=ta(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=ta(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,ea(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 Ah(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Br(n)?Or(n,r(),o):n,i=Pt(s),l=new Ur(s,r(),o),u=_r(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=Dr(p)?Nr(p,r(),o):p,C=Pt(L);let y=la(u),S=y||jt(u),I=la(C),x=I||jt(C),v=zl(u),N=!x||I&&(S||v)||a.includes(p),U=!S||y&&(x||Na(C))||a.includes(s);return m._open=!!(d===Oe.asterisk?N:N&&(yn(u)||!U)),m._close=!!(d===Oe.asterisk?U:U&&(yn(C)||!N)),t(p)}}function Vl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Gl(){return{text:{[Oe.asterisk]:Ln,[Oe.underscore]:Ln},insideSpan:{null:[Ln]}}}function Kl(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Gl())}function Xl(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&&ea(f,f.length,0,Cr(p,s.slice(u+1,l),i)),ea(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),ea(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=Br(c)?Or(c,u(),d):c,p=Pt(f),m=new Ur(f,u(),d),L=_r(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 v=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=Dr(x)?Nr(x,u(),d):x,j=Pt(U),z=la(L)||jt(L),q=la(j)||jt(j),ee=Na(L)||jl(v);return N._open=!q||j===dt.attentionSideAfter&&(z||ee),N._close=!z||v===dt.attentionSideAfter&&(q||Na(j)),i(x)}}}function Ql(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Xl(e))}var Ph=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Rh=/^(https?:\/\/|mailto:|www\.)/i,Eh=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Mh=e=>{let t=0;for(let a of e){if(Ph.has(a))return t;t+=a.length}return null},Fh=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),_h=e=>({type:"text",value:e}),Dh=()=>e=>{di(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Eh(t)||!Rh.test(t.url))return;let o=Mh(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Fh(n,t),l=_h(s);return r.children.splice(a,1,i,l),a+1})};function Bh(){let e=[Kl],t=[Dh,Ql],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Cn=Bh();var Se=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Oh(e){return Mn(e)}function Mn(e){return Array.isArray(e)?Uh(e):e instanceof RegExp?e:typeof e=="object"?Nh(e):e}function Uh(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Mn(e[a]);return t}function Nh(e){let t={};for(let a in e)t[a]=Mn(e[a]);return t}function nu(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function su(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?su(e.substring(0,e.length-1)):e.substr(~t+1)}var Sn=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,qr=class{static hasCaptures(e){return e===null?!1:(Sn.lastIndex=0,Sn.test(e))}static replaceCaptures(e,t,a){return e.replace(Sn,(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 iu(e,t){return e<t?-1:e>t?1:0}function lu(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=iu(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Jl(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 uu(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var du=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($h(e),t)}static createFromParsedTheme(e,t){return jh(e,t)}_cachedMatchRoot=new du(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=>qh(e.parent,o.parentScopes));return r?new cu(r.fontStyle,r.foreground,r.background):null}},bn=class Hr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Hr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Hr(a,t[r]);return a}push(t){return new Hr(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 qh(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&&!Hh(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Hh(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var cu=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function $h(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"&&Jl(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Jl(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 Wh(L,C,o,l,u,d)}}return a}var Wh=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 jh(e,t){e.sort((l,u)=>{let d=iu(l.scope,u.scope);return d!==0||(d=lu(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 zh(t),s=new cu(a,n.getId(r),n.getId(o)),i=new Gh(new kn(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 zh=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)}},Vh=Object.freeze([]),kn=class fu{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Vh,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new fu(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)}},Gh=class Tn{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(Tn._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 Tn(this._mainRule.clone(),kn.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(lu(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 kn(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 Wr(e,t){let a=[],r=Kh(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(Yl(o)){let l=[];do l.push(o),o=r.next();while(Yl(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 Yl(e){return!!e&&!!e.match(/[\w\.:]+/)}function Kh(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 pu(e){typeof e.dispose=="function"&&e.dispose()}var Wa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Xh=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Qh=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))}},Jh=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 Qh;for(let a of e)Yh(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 Yh(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?$r({baseGrammar:n,selfGrammar:o},r):An(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 An(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];jr([r],t,a)}}function $r(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&jr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&jr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function jr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?nu({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&jr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=mu(n);switch(s.kind){case 0:$r({...t,selfGrammar:t.baseGrammar},a);break;case 1:$r(t,a);break;case 2:An(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?An(s.ruleName,l,a):$r(l,a)}else s.kind===4?a.add(new Xh(s.scopeName,s.ruleName)):a.add(new Wa(s.scopeName));break}}}var Zh=class{kind=0},eg=class{kind=1},tg=class{constructor(e){this.ruleName=e}kind=2},ag=class{constructor(e){this.scopeName=e}kind=3},rg=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function mu(e){if(e==="$base")return new Zh;if(e==="$self")return new eg;let t=e.indexOf("#");if(t===-1)return new ag(e);if(t===0)return new tg(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new rg(a,r)}}var og=/\\(\d+)/,Zl=/\\(\d+)/g;var ng=-1,hu=-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=qr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=qr.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${su(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:qr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:qr.replaceCaptures(this._contentName,e,t)}},sg=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!")}},ig=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}},eu=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}},Pn=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}},zr=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,hu),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}},gu=class qe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new sg(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new ig(t.$vscodeTextmateLocation,t.id,t.name,t.match,qe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=nu({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new eu(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,qe._compilePatterns(n,a,r))}return t.while?new zr(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 Pn(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=mu(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 eu||u instanceof Pn||u instanceof zr)&&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 wu{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=og.test(this.source):this.hasBackReferences=!1}clone(){return new wu(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 Zl.lastIndex=0,this.source.replace(Zl,(o,n)=>uu(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 tu(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 tu(e,r,this._items.map(o=>o.ruleId))}},tu=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}},vn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},lg=class Rn{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new vn(t,8),this._embeddedLanguagesMatcher=new ug(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Rn._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new vn(0,0);_getBasicScopeAttributes=new du(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new vn(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Rn.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/},ug=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])=>uu(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])}},sk={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Iu=!1,au=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function xu(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=dg(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 au(o,!0);f()}return new au(o,!1);function f(){let p=cg(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===ng){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 Pn){let v=y;qa(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=v.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),v.endHasBackReferences&&(o=o.withEndRule(v.getEndWithResolvedBackReferences(t.content,m))),!C&&S.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(y instanceof zr){let v=y;qa(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let N=v.getContentName(t.content,m),U=x.pushAttributed(N,e);if(o=o.withContentNameScopesList(U),v.whileHasBackReferences&&(o=o.withEndRule(v.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 dg(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 zr&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=mg(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==hu){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 cg(e,t,a,r,o,n){let s=fg(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=pg(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 fg(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=yu(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function pg(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}=yu(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 yu(e,t,a,r,o){if(Iu){let s=e.compile(t,a),i=Lu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function mg(e,t,a,r,o){if(Iu){let s=e.compileWhile(t,a),i=Lu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Lu(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));xu(e,x,a&&p.start===0,p.start,I,o,!1,0),pu(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 hg(C,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var hg=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function gg(e,t,a,r,o,n,s,i){return new Ig(e,t,a,r,o,n,s,i)}function ru(e,t,a,r,o){let n=Wr(t,Vr),s=gu.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 Vr(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(wg(t[o],r))return a=o+1,!0;return!1})}function wg(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 Ig=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new lg(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ou(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Wr(l,Vr);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)ru(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&&ru(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]=ou(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=gu.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===En.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 En(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 yg(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=xu(this,n,o,0,t,i,!0,r);return pu(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ou(e,t){return e=Oh(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=bn.push(o,n.scopeNames),r=new ct(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new ct(null,new bn(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new bn(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}},En=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))}},xg=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Wr(a,Vr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Wr(a,Vr).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}},yg=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}},Lg=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,gg(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Cu=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Lg($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 xg(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Jh(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)}},Gr=En.NULL;var Cg=/["&'<>`]/g,Sg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,bg=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,vg=/[|\\{}()[\]^$+*?.]/g,Su=new WeakMap;function bu(e,t){if(e=e.replace(t.subset?kg(t.subset):Cg,r),t.subset||t.escapeOnly)return e;return e.replace(Sg,a).replace(bg,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 kg(e){let t=Su.get(e);return t||(t=Tg(e),Su.set(e,t)),t}function Tg(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(vg,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Ag=/[\dA-Fa-f]/;function vu(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Ag.test(String.fromCharCode(t))?r:r+";"}var Pg=/\d/;function ku(e,t,a){let r="&#"+String(e);return a&&t&&!Pg.test(String.fromCharCode(t))?r:r+";"}var Tu=["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 Kr={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 Au=["cent","copy","divide","gt","lt","not","para","times"];var Pu={}.hasOwnProperty,Fn={},Xr;for(Xr in Kr)Pu.call(Kr,Xr)&&(Fn[Kr[Xr]]=Xr);var Rg=/[^\dA-Za-z]/;function Ru(e,t,a,r){let o=String.fromCharCode(e);if(Pu.call(Fn,o)){let n=Fn[o],s="&"+n;return a&&Tu.includes(n)&&!Au.includes(n)&&(!r||t&&t!==61&&Rg.test(String.fromCharCode(t)))?s:s+";"}return""}function Eu(e,t,a){let r=vu(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Ru(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ku(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 bu(e,Object.assign({format:Eu},t))}var Eg=/^>|^->|<!--|-->|--!>|<!-$/g,Mg=[">"],Fg=["<",">"];function Mu(e,t,a,r){return r.settings.bogusComments?"<?"+It(e.value,Object.assign({},r.settings.characterReferences,{subset:Mg}))+">":"<!--"+e.value.replace(Eg,o)+"-->";function o(n){return It(n,Object.assign({},r.settings.characterReferences,{subset:Fg}))}}function Fu(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Te=_u(1),_n=_u(-1),_g=[];function _u(e){return t;function t(a,r,o){let n=a?a.children:_g,s=(r||0)+e,i=n[s];if(!o)for(;i&&aa(i);)s+=e,i=n[s];return i}}var Dg={}.hasOwnProperty;function Qr(e){return t;function t(a,r,o){return Dg.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Ga=Qr({body:Og,caption:Dn,colgroup:Dn,dd:Hg,dt:qg,head:Dn,html:Bg,li:Ng,optgroup:$g,option:Wg,p:Ug,rp:Du,rt:Du,tbody:zg,td:Bu,tfoot:Vg,th:Bu,thead:jg,tr:Gg});function Dn(e,t,a){let r=Te(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&aa(r.value.charAt(0)))}function Bg(e,t,a){let r=Te(a,t);return!r||r.type!=="comment"}function Og(e,t,a){let r=Te(a,t);return!r||r.type!=="comment"}function Ug(e,t,a){let r=Te(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 Ng(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="li"}function qg(e,t,a){let r=Te(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Hg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Du(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function $g(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Wg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function jg(e,t,a){let r=Te(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function zg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Vg(e,t,a){return!Te(a,t)}function Gg(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Bu(e,t,a){let r=Te(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Ou=Qr({body:Qg,colgroup:Jg,head:Xg,html:Kg,tbody:Yg});function Kg(e){let t=Te(e,-1);return!t||t.type!=="comment"}function Xg(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 Qg(e){let t=Te(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&aa(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Jg(e,t,a){let r=_n(a,t),o=Te(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 Yg(e,t,a){let r=_n(a,t),o=Te(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 Jr={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({...re,...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 Uu(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=Lr);let u=Yg(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Ou(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 Yg(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Zg(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 Zg(e,t,a){let r=ci(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:Jr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?pi:mi)(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:Jr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&qo(a,s)>qo(a,e.alternative)&&(s=e.alternative),i=s+It(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Jr.single:Jr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var ew=["<","&"];function Yr(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:ew}))}function Nu(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Yr(e,t,a,r)}function qu(e,t,a,r){return r.all(e)}var Hu=hi("type",{invalid:tw,unknown:aw,handlers:{comment:Mu,doctype:Fu,element:Uu,raw:Nu,root:qu,text:Yr}});function tw(e){throw new Error("Expected node, not `"+e+"`")}function aw(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var rw={},ow={},nw=[];function Bn(e,t){let a=t||rw,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:sw,all:iw,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||gi,characterReferences:a.characterReferences||ow,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Lr:fi,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function sw(e,t,a){return Hu(e,t,a,this)}function iw(e){let t=[],a=e&&e.children||nw,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Zr(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 lw(e){return Array.isArray(e)?e:[e]}async function Ku(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function $n(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Xu(e){return e==="ansi"||$n(e)}function Wn(e){return e==="none"}function Qu(e){return Wn(e)}function Ju(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 oo(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 uw(e){let t=oo(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 Yu(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 jn="light-dark()",dw=["color","background-color"];function cw(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 fw(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?cw(o,n):o})):e}function pw(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>eo(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&&dw.includes(f))if(r===jn&&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 eo(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 Nn(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Zu=new WeakMap;function no(e,t){Zu.set(e,t)}function Xa(e){return Zu.get(e)}var ua=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(lw(a).map(r=>[r,Gr])),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 mw(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function mw(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 hw(e,t){if(!(e instanceof ua))throw new Se("Invalid grammar state");return e.getInternalStack(t)}function gw(){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=uw(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));ww(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 fw(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+=ed(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&&Ju(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 ww(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 ed(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(ed).join(""):""}var Iw=[gw()];function to(e){let t=xw(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Iw]}function xw(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"],On={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function yw(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 $u(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 Lw(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)On[r]&&t.push({type:"setDecoration",value:On[r]});else if(r<=29){let o=On[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=$u(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=$u(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 Cw(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=yw(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=Lw(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 Sw={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 bw(e=Sw){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 vw={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 kw(e,t,a){let r=Zr(e,a),o=oo(t),n=Object.fromEntries(Gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||vw[l]]})),s=bw(n),i=Cw();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=Tw(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 Tw(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 zn(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if($n(o)||Wn(r))return oo(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return kw(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 Pw(t,i,n,s,a)}function Aw(...e){if(e.length===2)return Xa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if($n(o)||Wn(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 ua(Vn(a,l,s,i,r).stateStack,l.name,s.name)}function Pw(e,t,a,r,o){let n=Vn(e,t,a,r,o),s=new ua(n.stateStack,t.name,a.name);return no(n.tokens,s),n.tokens}function Vn(e,t,a,r,o){let n=Zr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=oo(e),u=o.grammarState?hw(o.grammarState,a.name)??Gr:o.grammarContextCode!=null?Vn(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Gr,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 v=0;v<x;v++){let N=I.tokens[2*v],U=v+1<x?I.tokens[2*v+2]:m.length;if(N===U)continue;let j=I.tokens[2*v+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"?Rw(W.scopes):Ew(q,W.scopes)}),S+=1}}d.push(G)}c.push(d),d=[],u=I.ruleStack}return{tokens:c,stateStack:u}}function Rw(e){return e.map(t=>({scopeName:t}))}function Ew(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Fw(e,n,t.slice(0,r))}}return a}function Wu(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Mw(e,t,a){if(!Wu(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Wu(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Fw(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Mw(s,t,a)){r.push(n);break}return r}function td(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=zn(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=_w(...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 ua(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&no(s,i),s}function _w(...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 ao(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=td(e,t,a);if(l=Xa(p),u&&jn!==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=>pw(S,L,d,u,c))),l&&no(n,l);let C=f.map(y=>Zr(y.theme,a));o=ju(f,m,C,d,u,"fg",c),r=ju(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=Zr(a.theme,a);n=zn(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 ju(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===jn&&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 ro(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ro(e,o,n),codeToTokens:(o,n)=>ao(e,o,n)}){let o=t;for(let m of to(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=ao(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=Bw(n):c==="never"&&(n=Ow(n)),f&&(n=Uw(n));let p={...r,get source(){return o}};for(let m of to(a))n=m.tokens?.call(p,n)||n;return Dw(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Dw(e,t,a,r=Xa(e)){let o=to(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:Ju,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}]},v=Nn(I.htmlStyle||eo(I));v&&(x.properties.style=v);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&&no(m,r),m}function Bw(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 Ow(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 Uw(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=Nn(o.htmlStyle||eo(o)),s=Nn(r.htmlStyle||eo(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 Nw=Bn;function qw(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ro(e,n,s),codeToTokens:(n,s)=>ao(e,n,s)},o=Nw(ro(e,t,a,r));for(let n of to(a))o=n.postprocess?.call(r,o,a)||o;return o}var zu={light:"#333333",dark:"#bbbbbb"},Vu={light:"#fffffe",dark:"#1e1e1e"},Gu="__shiki_resolved";function Gn(e){if(e?.[Gu])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"?zu.light:zu.dark),a||(a=t.type==="light"?Vu.light:Vu.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,Gu,{enumerable:!1,writable:!1,value:!0}),t}async function ad(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Xu(t)).map(async t=>await Ku(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function rd(e){return(await Promise.all(e.map(async a=>Qu(a)?null:Gn(await Ku(a))))).filter(a=>!!a)}var Un=3,Hw=!1;function $w(e,t=3){if(Un&&!(typeof Un=="number"&&t>Un)){if(Hw)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Rt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function od(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 qn=class extends Cu{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=Gn(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=od(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))}},Hn=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 Ww(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(Gn),o=new Hn(e.engine,a),n=new qn(o,r,a,e.langAlias),s;function i(I){return od(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 v=n.getColorMap();return{theme:x,colorMap:v}}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 ad(I))}function L(...I){y();for(let x of I.flat(1))n.loadTheme(x)}async function C(...I){return y(),L(await rd(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 jw(e){e.engine||$w("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([rd(e.themes||[]),ad(e.langs||[]),e.engine]);return Ww({...e,themes:t,langs:a,engine:r})}async function zw(e){let t=await jw(e);return{getLastGrammarState:(...a)=>Aw(t,...a),codeToTokensBase:(a,r)=>zn(t,a,r),codeToTokensWithThemes:(a,r)=>td(t,a,r),codeToTokens:(a,r)=>ao(t,a,r),codeToHast:(a,r)=>ro(t,a,r),codeToHtml:(a,r)=>qw(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function nd(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,Xu(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(Qu(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 zw({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 Vw(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 sd(e,t){let a=Vw(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 Kn=[{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"))}],id=Object.fromEntries(Kn.map(e=>[e.id,e.import])),ld=Object.fromEntries(Kn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Qa={...id,...ld};var Gw=[{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"))}],ud=Object.fromEntries(Gw.map(e=>[e.id,e.import]));var Ja=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Kw(){return 2147483648}function Xw(){return typeof performance<"u"?performance.now():Date.now()}var Qw=(e,t)=>e+(t-e%t)%t;async function Jw(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=Kw();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,Qw(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 v=p[m++]&63;if((I&240)===224?I=(I&15)<<12|x<<6|v:I=(I&7)<<18|x<<12|v<<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:Xw,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 Yw=Object.defineProperty,Zw=(e,t,a)=>t in e?Yw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Re=(e,t,a)=>Zw(e,typeof t!="symbol"?t+"":t,a),De=null;function eI(e){throw new Ja(e.UTF8ToString(e.getLastOnigError()))}var io=class e{constructor(t){Re(this,"utf16Length"),Re(this,"utf8Length"),Re(this,"utf16Value"),Re(this,"utf8Value"),Re(this,"utf16OffsetToUtf8"),Re(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}},lo=class ft{constructor(t){if(Re(this,"id",++ft.LAST_ID),Re(this,"_onigBinding"),Re(this,"content"),Re(this,"utf16Length"),Re(this,"utf8Length"),Re(this,"utf16OffsetToUtf8"),Re(this,"utf8OffsetToUtf16"),Re(this,"ptr"),!De)throw new Ja("Must invoke loadWasm first.");this._onigBinding=De,this.content=t;let a=new io(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)}};Re(lo,"LAST_ID",0);Re(lo,"_sharedPtr",0);Re(lo,"_sharedPtrInUse",!1);var dd=lo,Qn=class{constructor(t){if(Re(this,"_onigBinding"),Re(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 io(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&&eI(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 dd(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 tI(e){return typeof e.instantiator=="function"}function aI(e){return typeof e.default=="function"}function rI(e){return typeof e.data<"u"}function oI(e){return typeof Response<"u"&&e instanceof Response}function nI(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 so;function sI(e){if(so)return so;async function t(){De=await Jw(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),tI(r)?r=await r.instantiator(a):aI(r)?r=await r.default(a):(rI(r)&&(r=r.data),oI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await iI(r)(a):r=await lI(r)(a):nI(r)?r=await Xn(r)(a):r instanceof WebAssembly.Module?r=await Xn(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Xn(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return so=t(),so}function Xn(e){return t=>WebAssembly.instantiate(e,t)}function iI(e){return t=>WebAssembly.instantiateStreaming(e,t)}function lI(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function cd(e){return e&&await sI(e),{createScanner(t){return new Qn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new dd(t)}}}var uo=nd({langs:Qa,themes:ud,engine:()=>cd(import("../wasm-EOPKAILK.js"))}),{codeToHtml:uI,codeToHast:dI,codeToTokens:cI,codeToTokensBase:fI,codeToTokensWithThemes:pI,getSingletonHighlighter:mI,getLastGrammarState:hI}=sd(uo,{guessEmbeddedLanguages:Yu});var fd=new Set(Object.keys(Qa)),Jn=new Map,Yn=new Map,da=new Map,gI=(e,t)=>`${e}-${t[0]}-${t[1]}`,wI=(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}`},II=(e,t)=>{let a=gI(e,t);if(Jn.has(a))return Jn.get(a);let r=uo({themes:t,langs:[e]});return Jn.set(a,r),r};function xI(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return fd.has(r)},getSupportedLanguages(){return Array.from(fd)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=wI(r,o,n);return Yn.has(i)?Yn.get(i):(s&&(da.has(i)||da.set(i,new Set),da.get(i).add(s)),II(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]}});Yn.set(i,d);let c=da.get(i);if(c){for(let f of c)f(d);da.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),da.delete(i)}),null)}}}var pd=xI();import{memo as SI}from"react";import{useEffect as yI,useRef as co,useState as LI}from"react";var CI=5,md=400;function hd(e,t,a={}){let{msPerChar:r=CI}=a,[o,n]=LI(t?"":e),s=co(e),i=co(t?0:e.length),l=co(0),u=co(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,yI(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>md&&(i.current=s.current.length-md),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 fo}from"react/jsx-runtime";var Zn=({className:e,from:t,children:a,...r})=>fo("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:fo("div",{className:A("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),es=({children:e,className:t,...a})=>fo("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}),bI={cjk:Cn,code:pd},vI={cjk:Cn},kI={enabled:!1};function TI({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=hd(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return fo(wa,{className:A("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??kI,plugins:a?vI:bI,...o,children:i})}var po=SI(TI,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);po.displayName="MessageResponse";import{jsx as gd,jsxs as AI}from"react/jsx-runtime";function wd(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Id(e){return e.parts.some(wd)}function xd(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=>!(!wd(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function yd({className:e,...t}){let{t:a}=ae();return AI("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:[gd(Aa,{className:"ww:size-4 ww:shrink-0"}),gd(tt,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as Ya,jsxs as PI}from"react/jsx-runtime";function Ld({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return PI("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 RI}from"react";import{jsx as ts,jsxs as MI}from"react/jsx-runtime";function EI({onRetry:e}){let{t}=ae();return MI("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:[ts("span",{children:t.widgetErrorBoundary.failedToLoad}),ts("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var mo=class extends RI{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?ts(EI,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as FI,jsx as we,jsxs as Mt}from"react/jsx-runtime";function as(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Cd(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?ba:qt}function Sd({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}=ae(),y=e[e.length-1],S=e.length>0,I=c!=null,x=!I&&xd(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Mt(FI,{children:[!I&&(!S&&r?we(Ld,{...r,onSuggestionSelect:o}):a&&we(Zn,{from:"assistant",children:we(es,{children:we(po,{children:a})})})),e.map(v=>{let N=v.parts.filter(E=>E.type==="text"),U=v.parts.filter(E=>E.type==="reasoning"),j=v.parts.filter(E=>E.type==="file"),ie=il(v.metadata),z=v.parts.filter(E=>"toolCallId"in E),G=v.parts.filter(E=>E.type==="reasoning"||"toolCallId"in E),q=v===y&&v.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"}},v.id):v.role==="assistant"&&!Id(v)?we("div",{style:{display:"none"}},v.id):p===!1&&v.role==="assistant"&&!ee&&j.length===0&&z.every(E=>{let b="output"in E?E.output:void 0;return b===void 0||!n||!Ra(E.toolName,b,m)})?we("div",{style:{display:"none"}},v.id):Mt(Zn,{from:v.role,className:L?.message,children:[p!==!1&&!W&&!Q&&U.map((E,b)=>Mt(Ba,{isStreaming:E.state==="streaming",children:[we(Oa,{}),we(Ua,{children:E.text})]},`reasoning-${v.id}-${b}`)),Q&&(()=>{let E=G[G.length-1],b=E.type==="reasoning"?{icon:gt,label:C.reasoning.thinking}:{icon:Cd(E.toolName),label:E.title??as(E.toolName)};return Mt(Fl,{isWorking:q&&(t==="streaming"||t==="submitted"),activeStep:b,children:[we(_l,{workingLabel:C.chainOfThought.working,label:C.chainOfThought.done}),we(Dl,{children:G.map((_,oe)=>{let ne=oe===G.length-1;if(_.type==="reasoning")return we(Ol,{isStreaming:_.state==="streaming",isLast:ne,children:_.text},`reasoning-${v.id}-${oe}`);let Ae=_.title??as(_.toolName),Ne=Cd(_.toolName);if(p==="titles-only")return we(xn,{icon:Ne,title:Ae,state:_.state,isLast:ne},_.toolCallId);let k="output"in _?_.output:void 0;return Mt(xn,{icon:Ne,title:Ae,state:_.state,isLast:ne,children:[we(Yo,{input:_.input,debug:f}),k!==void 0&&we(Zo,{output:k,errorText:"errorText"in _?_.errorText:void 0,debug:f})]},_.toolCallId)})})]})})(),p!==!1&&!W&&!Q&&z.length===1&&(()=>{let E=z[0],b=E.title??as(E.toolName);if(p==="titles-only")return we(Bi,{title:b,state:E.state});let _="output"in E?E.output:void 0;return Mt(_i,{children:[we(Di,{title:b,state:E.state}),Mt(Oi,{children:[we(Yo,{input:E.input,debug:f}),_!==void 0&&we(Zo,{output:_,errorText:"errorText"in E?E.errorText:void 0,debug:f})]})]})})(),z.map(E=>{let b="output"in E?E.output:void 0,_=Ra(E.toolName,b,m),oe=Ui(E.toolName,b,m),ne=E.toolCallId===c;return _&&n&&b!==void 0?we("div",{style:ne?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:_&&n&&b!==void 0&&we(mo,{children:we(Fa,{isFullscreen:ne,resourceUri:_,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:oe,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Ae=>d(Ae,{toolCallId:E.toolCallId,resourceUri:_,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:oe}):void 0})})},E.toolCallId):null}),!W&&ie.length>0&&we(ll,{documents:ie}),!W&&we("div",{children:Mt(es,{className:A(v.role==="user"?L?.userBubble:L?.assistantBubble),children:[j.length>0&&we(nl,{files:j}),ee?N.map((E,b)=>{let _=q&&t==="streaming"&&b===N.length-1;return we(po,{isStreaming:_,children:E.type==="text"?E.text:""},`${v.id}-${b}`)}):null]})})]},v.id)}),x&&we(yd,{})]})}import{jsx as Za,jsxs as DI}from"react/jsx-runtime";function _I({label:e}){return DI("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:[Za("title",{children:e}),Za("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Za("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function ho({onClick:e}){let{t}=ae();return Za("button",{type:"button",onClick:e,title:t.threadMenu.newChat,"aria-label":t.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:Za(_I,{label:t.threadMenu.newChat})})}import{jsx as bd,jsxs as UI}from"react/jsx-runtime";var BI="https://app.waniwani.ai/assets/waniwani-logo.svg",OI="https://waniwani.ai";function vd(){let{t:e}=ae();return UI("a",{href:OI,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:[bd("span",{children:e.poweredBy.label}),bd("img",{src:BI,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as go}from"react/jsx-runtime";function kd({suggestions:e,isLoading:t,onSelect:a,align:r="start",className:o,...n}){return e.length===0&&!t?null:go("div",{className:A("ww:px-4 ww:py-2",o),...n,children:go("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=>go("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)=>go("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 NI,useRef as qI,useState as HI}from"react";import{jsx as Ee,jsxs as ca}from"react/jsx-runtime";var Td=20;function $I({label:e}){return ca("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:[Ee("title",{children:e}),Ee("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Ee("polyline",{points:"3 4 3 9 8 9"}),Ee("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Ee("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function WI({label:e}){return ca("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:[Ee("title",{children:e}),Ee("polyline",{points:"3 6 5 6 21 6"}),Ee("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Ee("path",{d:"M10 11v6"}),Ee("path",{d:"M14 11v6"})]})}function Ad({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=ae(),[i,l]=HI(!1),u=qI(null);NI(()=>{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,Td),c=Math.max(0,e.length-Td);return ca("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Ee(ho,{onClick:a}),Ee("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:Ee($I,{label:s.threadMenu.threadHistory})}),i&&ca("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&&Ee("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 ca("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:[ca("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Ee("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Ee("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ko(m,n)})]}),Ee("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:Ee(WI,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&Ee("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 jI,useContext as zI}from"react";function Pd(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 Rd(){return{subscribe(){return()=>{}},emit(){}}}var Ed=jI(Rd());function wo(){return zI(Ed)}var Md=Ed.Provider;import{useCallback as VI,useRef as GI}from"react";function Fd(e){let t=GI(e);return t.current=e,VI(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 ox}from"@ai-sdk/react";import{useCallback as ye,useEffect as je,useRef as Le,useState as Ft}from"react";var KI="/api/mcp/modules/documents",XI=2e4,QI=3e5,Ze=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function _d(e,t){return vr(e,`${KI}${t}`)}function JI(e){return _d(e,"/upload-url")}function Dd(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function YI(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 ZI(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 ex(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=QI;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 Io(e){let t=_d(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:Dd(e.headers,e.uploadHeaders)})}catch{}}async function Bd(e){e.signal.throwIfAborted();let t=JI(e.api);if(!t)throw new Ze("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),XI),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=Dd(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 ZI(n.status);let s=YI(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Ze("upload_failed","The upload could not be started.");return await ex({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 tx,uiMessageChunkSchema as ax}from"ai";function rx(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 xo=class extends tx{processResponseStream(t){let a="",r=ax(),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=rx(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 Od=50,Ud=1e3;function yo(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 Lo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await nn(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function rs(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function os(e){return await Lo(async a=>{let n=a.transaction(Ke,"readonly").objectStore(Ke).index(kr),i=(await rs(n.getAll(e))??[]).filter(yo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Co(e){return await Lo(async a=>{let o=a.transaction(Ke,"readonly").objectStore(Ke),n=await rs(o.get(e));return yo(n)?n:null})??null}async function ns(e){if(!yo(e))return;let t=e.messages.length>Ud?{...e,messages:e.messages.slice(e.messages.length-Ud)}:e;await Lo(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(kr),i=(await rs(n.getAll(t.memoryUserId))??[]).filter(yo);if(i.length>Od){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Od);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 Nd(e){await Lo(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 ss(e){return(await os(e))[0]?.threadId??null}function qd(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 nx="x-session-id",sx=250,ix=200;function Hd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():_a()}function So(){return new Date().toISOString()}function $d(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function lx(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 Wd(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(()=>an(d),[d]);let c=wo(),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),v=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),b=Le(0),_=Le(u);je(()=>{_.current=u},[u]);let oe=ye(g=>{j.current=g,U(g),g&&(_.current?.(g),c.emit({name:"thread.changed",sessionId:v.current,properties:{threadId:g}}))},[c]),ne=ye(async()=>{if(!i)return;let g=S.current?.memoryUserId;if(!g)return;let O=await os(g);z(O)},[i]),Ae=ye(()=>v.current,[]),Ne=ye(g=>{let O=$d(g);if(!O||v.current===O)return;let V=v.current===void 0;v.current=O,x(O),V&&c.emit({name:"session.started",properties:{sessionId:O}})},[c]),k=ye(()=>{v.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=b.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 ss(V);if(g||O!==b.current)return;if(fe){let Me=await Co(fe);if(g||O!==b.current)return;Me&&Me.memoryUserId===V&&(j.current=Me.threadId,U(Me.threadId),ee.current=Me.createdAt,W.current=Me.title,Me.sessionId&&(v.current=Me.sessionId,x(Me.sessionId)),me(Me.messages))}await ne()}finally{g||q(!0)}})(),()=>{g=!0}},[]);let H=Le(null),$=ye(g=>{let O=m.current?.[g];return typeof O=="string"?O:void 0},[]),se=ye(()=>({api:t,token:Ar(f.current),channelId:$("channelId"),sessionId:v.current}),[t,$]),he=ye(g=>{let O=H.current;H.current=null,O?.report(se(),{mode:$("mode"),outcome:g})},[se,$]),Ie=Le(new xo({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},O=Object.hasOwn(g,"sessionId"),V=$d(g.sessionId);if(V)Ne(V),g.sessionId=V;else if(O)k(),delete g.sessionId;else{let No=Ae();No&&(g.sessionId=No)}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 ke=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},op=typeof ke.client=="object"&&ke.client!==null?ke.client:{};g.visitor={...ke,id:Me,client:{...op,...fe&&{memoryUserId:fe.memoryUserId}}};let ni=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,si=S.current?.memoryUserId,ii=S.current?.language,xr={};if(si&&(xr.memoryUserId=si),ii&&(xr.locale=ii),(Object.keys(xr).length>0||ni)&&(g.extra={...xr,...ni??{}}),L.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(j.current=g.threadId);else{let yr=j.current;yr||(yr=Hd(),ee.current=So(),W.current=void 0,oe(yr)),g.threadId=yr}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(nx)),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),re=e.skipRemoteConfig===!0,te=ye(async()=>{if(!re)try{let g=await lx(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,re]);je(()=>{te()},[te]);let{messages:Z,sendMessage:J,setMessages:me,status:T,stop:Be}=ox({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,ix)}}),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=Gi(D.current.filter(g=>g.role==="user").length+1)},[]),[Y,M]=Ft(!1),w=ye(async()=>{M(!0);try{await Be();let g=v.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=b.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!==b.current){g||q(!0);return}let Me=l??await ss(fe);if(g||O!==b.current)return;if(Me){let ke=await Co(Me);if(g||O!==b.current)return;ke&&ke.memoryUserId===fe&&(j.current=ke.threadId,U(ke.threadId),ee.current=ke.createdAt,W.current=ke.title,ke.sessionId&&(v.current=ke.sessionId,x(ke.sessionId)),me(ke.messages))}await ne()}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,hr]=Ft([]),Oo=Le([]);Oo.current=it;let ga=T==="submitted"||T==="streaming",gr=ye(g=>{for(let O of g)for(let V of O.documents??[])Io({documentId:V.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),St=ye(()=>{gr(Oo.current),hr([])},[gr]),Kf=ye(g=>{let O=Oo.current.find(V=>V.id===g);O&&gr([O]),hr(V=>V.filter(fe=>fe.id!==g))},[gr]),Xf=ga&&it.length>0,Qf=ye(g=>{let O=!!g.text?.trim(),V=!!(g.files?.length||g.documents?.length);if(O||V){if(ga){if(it.length>0)return;hr(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]),Jf=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;hr(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 Yf=ye(()=>{ce.current.reset?.(),me([]),St(),k(),ue(""),pe.current={},le(g=>g+1),te()},[me,k,te,St]),wr=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=So()),!W.current){let fe=V.find(ke=>ke.role==="user"),Me=fe?fe.parts.map(ke=>"text"in ke&&typeof ke.text=="string"?ke.text:"").join(" "):"";W.current=qd(Me)}return{threadId:O,memoryUserId:g,title:W.current,messages:V,sessionId:v.current,createdAt:ee.current,updatedAt:So()}}},[]),ai=ye(async()=>{let g=wr();g&&(await ns(g),await ne())},[wr,ne]);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=ai().finally(()=>{E.current===g&&(E.current=void 0)});E.current=g},sx),()=>{Q.current&&clearTimeout(Q.current)}},[i,G,Z,T,ai]);let Ir=ye(()=>{let g=E.current,O=Q.current,V=O?wr():void 0;return O&&(clearTimeout(O),Q.current=void 0),(async()=>{g&&await g,V&&(await ns(V),await ne())})()},[wr,ne]),Zf=ye(()=>{b.current+=1,Ir(),ce.current.reset?.(),me([]),St(),k(),ue("");let g=Hd();return ee.current=So(),W.current=void 0,oe(g),ne(),g},[me,k,oe,ne,Ir,St]),Uo=ye(async g=>{b.current+=1;let O=b.current;if(await Ir(),O!==b.current)return;let V=await Co(g);O===b.current&&V&&(V.sessionId?(v.current=V.sessionId,x(V.sessionId)):k(),oe(V.threadId),ee.current=V.createdAt,W.current=V.title,me(V.messages),St(),ue(""))},[me,k,oe,Ir,St]),ep=ye(async g=>{if(j.current===g){b.current+=1,Q.current&&(clearTimeout(Q.current),Q.current=void 0);let O=E.current;O&&await O}await Nd(g),await ne(),j.current===g&&(me([]),St(),k(),ue(""),j.current=void 0,U(void 0),ee.current=void 0,W.current=void 0)},[me,k,ne,St]);je(()=>{i&&G&&l!==void 0&&l!==j.current&&Uo(l)},[l,i,G,Uo]);let tp=ye(g=>{ue(g.target.value)},[]),ri=Z[Z.length-1],oi=Z.length>0,ap=ga&&(!oi||ri.role==="user"),rp=pe.current;return{messages:Z,status:T,text:F,setText:ue,handleSubmit:Qf,handleTextChange:tp,isLoading:ga,showLoaderBubble:ap,lastMessage:ri,hasMessages:oi,sendMessage:J,sendMessageAndWait:Jf,stop:w,reset:Yf,queuedMessages:it,queueFull:Xf,removeQueuedMessage:Kf,sessionId:I,toolDefinitions:rp,refreshToolDefinitions:te,threads:ie,activeThreadId:N,isThreadHistoryReady:G,startNewThread:Zf,switchThread:Uo,deleteThread:ep,keepsConversation:!!ce.current.restore}}import{useCallback as jd,useEffect as ux,useState as dx}from"react";var cx=6e3;function zd(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=dx(null),u=jd((f,p,m)=>Bd({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=jd(f=>{Io({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);ux(()=>{if(!i)return;let f=setTimeout(()=>l(null),cx);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 px,useEffect as us,useMemo as ds,useRef as mx,useState as Xd}from"react";function fa(e){return e.map(t=>({id:null,text:t}))}function is(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 ls="waniwani/suggestions";function pa(e){return typeof e=="object"&&e!==null}function Vd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function fx(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[ls];return!pa(a)||!Vd(a.suggestions)?null:a.suggestions}function Gd(e){let t=null;for(let a of e.parts){let r=fx(a);r!==null&&(t=r)}return t}function Kd(e){for(let t of e.parts){if(!pa(t)||t.type!=="data-suggestions")continue;let a=t.data;if(pa(a)&&Vd(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function hx(e){return"page"in e||"channel"in e}function gx(e){return typeof e!="object"||e===null?{}:hx(e)?{rungs:e}:{initial:e.initial}}function Qd(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=gx(r),i=ds(()=>({page:null,channel:fa(s??[])}),[s]),l=n??i,u=ds(()=>o?is({flow:null,followup:null,...l}):null,[o,l]),d=ds(()=>u?.suggestions.map(I=>I.text)??[],[u]),[c,f]=Xd(d),[p,m]=Xd(u?.origin??"channel"),L=mx(a),C=px(()=>{f([])},[]),y=t.length>0;us(()=>{y||(f(d),m(u?.origin??"channel"))},[d,u,y]);let S=t[t.length-1];return us(()=>{S?.role==="user"&&C()},[S,C]),us(()=>{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 v=Gd(x),N=Kd(x),U=is({flow:v===null?null:fa(v),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 wx,useRef as Ix,useState as xx}from"react";var yx=80,Lx=50,Cx=15e3,Jd=500;function Yd(e,t=!0){let[a,r]=xx(""),o=Ix(void 0);return wx(()=>{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,Jd)):o.current=setTimeout(l,Lx)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Cx)):o.current=setTimeout(l,yx)))};return o.current=setTimeout(l,Jd),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Zd(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 ec={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"},Sx={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"},bx={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 vx(e){return{...ec,...e}}function cs(e){let t={};for(let[a,r]of Object.entries(bx)){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 be,jsxs as yt}from"react/jsx-runtime";var fs=tc(function(t,a){let{locale:r,messages:o}=t;return be(Go,{locale:r,messages:o,children:be(Tx,{...t,ref:a})})}),Tx=tc(function(t,a){let{t:r,ready:o}=ae(),{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:v=!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?cs(G):{},[W,Q]=bo(!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,b=Wd({...t,api:m}),_=wo(),oe=Fd({...t,api:m,sessionId:b.sessionId,onCallTool:L?.onCallTool}),ne=L?.resourceEndpoint??Zd(m,t.headers),Ae=_t({});Ae.current={api:m,token:Ar(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:b.sessionId};let Ne=er(w=>{Rr("widget",Ae.current,{widget:w.widget,outcome:w.outcome},w.metrics)},[]),k=Yd(f,!b.text),H=zd({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:b.sessionId,documentUpload:u,allowAttachments:l}),[$,se]=bo(null),[he,Ie]=bo(null),ce=_t(null),K=_t(null),X=_t(null),pe=_t(null),[Ce,le]=bo(!0),re=_t(Ce);re.current=Ce;let te=er(()=>{let w=ce.current;if(!w)return;let P=w.querySelector("textarea");P&&P.focus()},[]),Z=er((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(()=>{(b.messages[b.messages.length-1]?.role==="user"||re.current)&&Z("smooth")},[b.messages.length,b.messages[b.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=Qd({messages:b.messages,status:b.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||b.messages.length>0||!T?.length||Be.current===T||(Be.current=T,_.emit({name:"suggestions.shown",properties:{texts:T,origin:"channel"}}))},[T,b.messages.length,_,j]);let D=er(w=>{let P=w.content.map(F=>F.text??"").join("").trim();P&&b.handleSubmit({text:P,files:[],modelContext:w.modelContext})},[b.handleSubmit]),R=er(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(),b.handleSubmit({text:w,files:[]})},[J.suggestions,J.source,J.clear,b.handleSubmit,c,_]);kx(a,()=>({sendMessage:w=>{b.handleSubmit({text:w,files:[]}),te()},sendMessageAndWait:w=>b.sendMessageAndWait(w),reset:b.reset,focus:te,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,te]),xt(()=>{if(!p)return;let w=P=>{let F=P.detail,ue=typeof F?.message=="string"?F.message:void 0;ue&&b.handleSubmit({text:ue,files:[]}),te()};return window.addEventListener(p,w),()=>window.removeEventListener(p,w)},[p,b.handleSubmit,te]);let Y=!x&&!!(S||v||b.keepsConversation||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&&be("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:S}),!S&&be("div",{className:"ww:flex-1"}),!v&&b.keepsConversation&&be(ho,{onClick:b.reset}),v&&be(Ad,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:w=>{b.switchThread(w)},onDeleteThread:w=>{b.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:[be(Yi,{value:Ne,children:be(Sd,{messages:b.messages,status:b.status,welcomeMessage:d,welcome:c,onSuggestionSelect:R,resourceEndpoint:ne,chatSessionId:b.sessionId,isDark:E,onFollowUp:D,onCallTool:oe,fullscreenToolCallId:$,debug:C,showToolCalls:N,toolDefinitions:b.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),se(P.toolCallId)}else Ie(null),se(null)}})}),be("div",{ref:pe,"aria-hidden":!0,style:{height:1}})]}),!Ce&&!$&&be("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:be(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:be(Ia,{className:"ww:size-4"})})})]}),!y&&yt("div",{className:"ww:shrink-0 ww:bg-background",style:$?{display:"none"}:void 0,children:[be(kd,{suggestions:J.suggestions,isLoading:J.isLoading,onSelect:R}),be(kl,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),be("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(cl,{onSubmit:b.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:[be(wl,{enabled:H.enabled}),H.enabled&&be(gl,{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&&be(hl,{}),be(pl,{onChange:b.handleTextChange,value:b.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),be(ml,{status:b.status,disabled:b.queueFull,onStop:b.stop})]})]}),H.error&&be("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:[be(vd,{}),be(Il,{text:ie})]})]})})]})]})});import{forwardRef as PC,useEffect as Do,useImperativeHandle as RC,useMemo as Bo,useRef as ti,useState as zf}from"react";var Ax="https://app.waniwani.ai/api/mcp/chat",Px={api:Ax};function Rx(){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 Ex(){let e=Rx();if(!e)return{};let t=_=>e.getAttribute(_)??void 0,a=_=>{let oe=e.getAttribute(_);if(oe==null)return;let ne=oe.trim().toLowerCase();if(ne==="true"||ne==="1"||ne==="")return!0;if(ne==="false"||ne==="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 v=t("data-locale");(v==="en"||v==="fr"||v==="es")&&(r.locale=v);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 b=t("data-disclaimer");if(b!==void 0){let _=b.trim(),oe=_.toLowerCase();oe==="false"||oe==="0"?r.disclaimer=!1:_&&(r.disclaimer=_)}return r}function tr(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ps(e,t,a){let r=a??Ex(),o=Mx(t,r,e),n={...t?.composer??{},...tr(r.composer),...tr(e?.composer)},s=Object.keys(n).length>0,i={token:"",...Px,...tr(t),...tr(r),...tr(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 Mx(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 _R,useState as DR}from"react";var Fx="/api/mcp/events/v2/batch",ms=new Set;function _x(e,t,a){return`${e}|${t}|${a??""}`}function ar(e){return vr(e,Fx)}async function hs(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=ar(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=_x(t,a,r);if(!ms.has(i)){ms.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{ms.delete(i)}}}import{useMemo as jx}from"react";import{useEffect as Ux,useSyncExternalStore as Nx}from"react";function Dx(e){return e?.patterns??e?.rules??[]}var ac="\0\0";function Bx(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ac).replace(/\\\*/g,"[^/]*").split(ac).join(".*");return new RegExp(`^${a}$`)}function Ox(e,t){try{return Bx(e).test(t)}catch{return!1}}function rc(e,t){if(!e)return!0;let a=!1;for(let r of Dx(e))if(Ox(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var gs="waniwani:locationchange",oc=!1;function qx(){if(!(oc||typeof history>"u")){oc=!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(gs)),o}}}}function Hx(e){return qx(),window.addEventListener(gs,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(gs,e),window.removeEventListener("popstate",e)}}function $x(){return window.location.pathname}function Wx(){return"/"}function ws(){return Nx(Hx,$x,Wx)}function nc(e,t){let a=ws(),r=t&&rc(e,a);return Ux(()=>{ut("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var zx=3,Vx=["low","medium","high"];function Is(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function Gx(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 Vx){let s=Is(t.get(n)??[])??Is(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(zx,e.length);){let n=Is(o);if(!n)break;r.push(n)}return r}function sc(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function ic(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 lc(e){let{pageSuggestions:t,suggestions:a}=e,r=ws();return jx(()=>{let o=sc(r),n=t?.find(i=>sc(i.url)===o),s=n?Gx(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 Kx="waniwani:config:";function uc(e,t,a){return`${Kx}${e}|${t}|${a??""}`}function vo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(uc(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function dc(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(uc(e,t,a),JSON.stringify(r))}catch{}}function Xx(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 cc(e,t,a,r){$t("configStart");let o=await Qx(e,t,a,r);return $t("configEnd"),a?.aborted||Pr(o.metadata),o}async function Qx(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?Jx(i):{}}catch{return{}}}function Jx(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=ic(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=Xx(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as Yx,useRef as Zx}from"react";function xs(e,t){return e.find(a=>a.text===t)?.id??null}async function fc(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=ar(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 pc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await fc({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 mc(e,t){return t.map(a=>({id:xs(e,a),text:a}))}async function hc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await fc({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function gc(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=Zx(e.getSessionId);l.current=e.getSessionId,Yx(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;pc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:xs(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;hc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:mc(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 ey=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],ty=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],ay=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],ry=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],oy=["waniwani/visitorId","visitorId"],ny=["correlationId","openai/requestId"];function wc(e){return e?ma(e,ey):void 0}function Ic(e){return e?ma(e,ty):void 0}function xc(e){return e?ma(e,ay):void 0}function yc(e){return e?ma(e,ry):void 0}function Lc(e){return e?ma(e,oy):void 0}function Cc(e){return e?ma(e,ny):void 0}var sy=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],iy=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Sc(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 sy){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 iy)if(r.includes(o))return n}}var ly="@waniwani/sdk";function bc(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??uy,o=fy(e),n=ko(e.meta),s=ko(e.metadata),i=py(e,n),l=ot(e.eventId)??r(),u=my(e.timestamp,a),d=ot(e.source)??Sc(n)??t.source??ly,c=ys(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:dy(e,o),metadata:f,rawLegacy:c}}function uy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function dy(e,t){if(!ys(e))return ko(e.properties);let a=cy(e,t),r=ko(e.properties);return{...a,...r}}function cy(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 fy(e){return ys(e)?e.eventType:e.event}function py(e,t){let a=ot(e.requestId)??Ic(t),r=ot(e.sessionId)??wc(t),o=ot(e.traceId)??xc(t),n=ot(e.externalUserId)??yc(t),s=ot(e.visitorId)??Lc(t),i=ot(e.correlationId)??Cc(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 my(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 ko(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ot(e){if(typeof e=="string"&&e.trim().length!==0)return e}function ys(e){return"eventType"in e}function vc(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 hy="/api/mcp/events/v2/batch";var kc="@waniwani/sdk";var gy=new Set([401,403]),wy=new Set([408,425,429,500,502,503,504]),Iy=(e,t)=>globalThis.fetch(e,t);function Tc(e){return new Ls(e)}var Ls=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=Ly(t.apiUrl,t.endpointPath??hy),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??Iy,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":kc};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:Cy(n)}}if(gy.has(a.status))return{kind:"auth",status:a.status};if(wy.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await yy(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:kc,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(xy(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 xy(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 yy(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Ly(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Cy(e){return e instanceof Error?e.message:String(e)}function Ac(e){let{apiUrl:t,endpointPath:a}=Sy(e.endpoint),r=Tc({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=bc({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,vc(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Sy(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Pc(e){let t=ar(e.api);return t?Ac({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ge()})}):Cs("the chat api does not point at a Waniwani event ingest")}function Cs(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 by}from"ai";function To(){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)=>{e.has(c.callId)||(e.add(c.callId),d.enqueue({type:"tool-input-available",toolCallId:c.callId,toolName:c.toolName??c.kind,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":{t.set(d.data.stepIndex,d.data.modelId),c.enqueue({type:"start-step"}),o=!0;break}case"message.appended":{d.data.messageDelta&&l(c,d.data.messageDelta);break}case"message.completed":{!a&&d.data.message&&l(c,d.data.message),i(c);break}case"actions.requested":{i(c);for(let f of d.data.actions)u(c,f,f.input);break}case"action.result":{let{result:f,status:p,error:m}=d.data;if(f.kind!=="tool-result")break;if(u(c,f,{}),f.isError===!0||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),c.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:f,modelId:t.get(f),usage:p}}});break}case"turn.failed":case"session.failed":{n=!0,c.enqueue({type:"error",errorText:d.data.message||"The agent could not answer."});break}}},flush(d){i(d),o&&d.enqueue({type:"finish-step"}),d.enqueue({type:"finish",finishReason:n?"error":"stop"})}})}async function vy(e){let t=new ReadableStream({start(r){for(let o of e)r.enqueue(o);r.close()}}).pipeThrough(To()),a;for await(let r of by({stream:t}))a=r;return a?.parts.length?a:void 0}async function Rc(e){let t=[];for(let r of e){let o=r.type==="message.received"&&!r.data.kind?r.data.message: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 vy(r.events);o&&a.push(o)}return a}import{z as He}from"zod";import{z as B}from"zod";import{z as Ao}from"zod";var Kt=Symbol("invalid-json-value-candidate");function bs(e){let t=Ss(e);if(t===Kt)throw TypeError("Expected a JSON-serializable value.");return t}function rr(e){let t=bs(e);if(!ky(t))throw TypeError("Expected a JSON-serializable object.");return t}function Ss(e,t=new WeakSet){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number")return Number.isFinite(e)?e:Kt;if(Array.isArray(e)){let r=[];for(let o of e){let n=Ss(o,t);if(n===Kt)return Kt;r.push(n)}return r}if(typeof e!="object"||e===void 0||!Ty(e)||t.has(e))return Kt;t.add(e);let a={};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let n=Ss(o,t);if(n===Kt)return Kt;a[r]=n}return t.delete(e),a}function ky(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function Ty(e){let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var or=Ao.unknown().transform((e,t)=>{try{return bs(e)}catch(a){return t.addIssue({code:"custom",message:Ec(a,"Expected a JSON-serializable value.")}),Ao.NEVER}}),Lt=Ao.unknown().transform((e,t)=>{try{return rr(e)}catch(a){return t.addIssue({code:"custom",message:Ec(a,"Expected a JSON-serializable object.")}),Ao.NEVER}});function Ec(e,t){return e instanceof Error?e.message:t}var Mc=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 CE=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(),SE=B.object({callId:B.string(),executeInput:or.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:or,toolName:B.string()}).strict(),B.object({callId:B.string(),isError:B.literal(!0),kind:B.literal("subagent-result"),origin:B.literal("dispatch"),output:or,subagentName:B.string()}).strict(),B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("load-skill-result"),output:or,name:B.string().optional()}).strict();var Ay=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(),Py=He.enum(["question","session-limit","tool-approval"]),TE=He.object({action:Mc,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:Py.describe("Framework-owned request source used to resolve, route, and render the response."),options:He.array(Ay).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(),AE=He.object({optionId:He.string().optional(),requestId:He.string(),text:He.string().optional()}).strict();var ze="/eve/v1",RE=`${ze}/cron/:token`,Fc=`${ze}/health`,_c=`${ze}/info`,$e=`${ze}/session`,EE=`${$e}/:sessionId`,ME=`${$e}/:sessionId/cancel`,FE=`${$e}/:sessionId/compact`,_E=`${$e}/:sessionId/clear`,DE=`${$e}/:sessionId/reset`,BE=`${$e}/:sessionId/stream`,OE=`${$e}/:parentSessionId/subagents/:callId/:childSessionId/stream`,UE=`${ze}/dev/schedules/:scheduleId`,vs=`${ze}/dev/runtime-artifacts`,NE=`${vs}/rebuild`,qE=`${vs}/suspend`,HE=`${vs}/resume`;var $E=`${ze}/connections/:name/callback/:attemptId/:token`,WE=`${ze}/callback/:token`,jE=`${ze}/task-input/:token`,zE=`${ze}/activity/:token`;function Dc(e){return`${$e}/${encodeURIComponent(e)}`}function Bc(e){return`${$e}/${encodeURIComponent(e)}/cancel`}function Oc(e){return`${$e}/${encodeURIComponent(e)}/compact`}function Uc(e){return`${$e}/${encodeURIComponent(e)}/clear`}function Nc(e){return`${$e}/${encodeURIComponent(e)}/reset`}function ks(e){return`${$e}/${encodeURIComponent(e)}/stream`}function pt(e){return typeof e=="object"&&!!e&&!Array.isArray(e)}function nr(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:Ry(e):String(e)}function Xt(e){if(e instanceof Error)return e;let t=Error(nr(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 Ry(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var Hc="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function Ey(){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,qc(t);else if(!Dy(t)){if(e===0xffffffffffff)throw Error("Cannot mint a ULID: random component overflowed at the maximum timestamp.");e+=1,qc(t)}return`${Fy(e)}${_y(t)}`}}var My=Ey();function qc(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 Fy(e){let t=e,a="";for(let r=0;r<10;r+=1)a=Hc[t%32]+a,t=Math.floor(t/32);return a}function _y(e){let t=0,a=0,r="";for(let o of e){for(t=t<<8|o,a+=8;a>=5;)a-=5,r+=Hc[t>>>a&31];t&=(1<<a)-1}return r}function Dy(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 $c="x-eve-session-id";var Ts="x-eve-stream-tail-index",As="x-eve-stream-version";var Wc="1",jc="streamControlVersion",Ps={$eve:"stream.lease-ended",version:1},LM=new TextEncoder;function Je(e){return e.type==="session.completed"||e.type==="session.failed"||e.type==="session.waiting"}function Rs(e){return e.type==="session.failed"||e.type==="step.failed"||e.type==="turn.failed"}var Po=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 Ro=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 zc(e){let t,a,r,o=[],n=new Map;for(let s of e)Je(s)&&(t=s),Rs(s)&&(a=s),By(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 By(e){return e.type==="message.completed"&&e.data.finishReason!=="tool-calls"}function Qt(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 Oy=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,Uy=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function Es(e,t){let a=Ny(e),r=t.startsWith("/")?t:`/${t}`;if(r===ze||r.startsWith(`${ze}/`)){if(Oy.test(a))return`${a}${r.slice(4)}`;if(Uy.test(a))return`${a}${r.slice(ze.length)}`}return`${a}${r}`}function Ny(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(qy(e)){let u=new URL(e),d=Gc(u.pathname);return u.pathname=Es(d,s),Vc(u.searchParams,n),Kc(u.searchParams,a),u.hash="",u.toString()}let i=new URL(e,"http://eve.local"),l=Gc(i.pathname);return Vc(i.searchParams,n),Kc(i.searchParams,a),`${Es(l,s)}${Hy(i.searchParams)}`}function Vc(e,t){if(t.length!==0)for(let[a,r]of new URLSearchParams(t))e.append(a,r)}function qy(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function Gc(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function Kc(e,t){if(t!==void 0)for(let[a,r]of Object.entries(t))e.set(a,r)}function Hy(e){let t=e.toString();return t.length===0?"":`?${t}`}function Xc(e){let t;for(let a of e)$y(a)&&(t=a.data.result);return t}function $y(e){return e.type==="result.completed"}var Ms=Symbol("consumeMessageResponse"),Fs=Symbol("acceptedDeliveryId"),_s=class{sessionId;[Fs];#t;#e;#a=!1;#r;#n=!1;#u=Promise.withResolvers();constructor(e){this.#t=e.cancelTurn,this.sessionId=e.sessionId,this[Fs]=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=zc(e);return{data:Xc(e),events:e,inputRequests:t.inputRequests,message:t.message,sessionId:this.sessionId,status:t.status}}[Symbol.asyncIterator](){return this[Ms]()}[Ms](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 Ds(e){return e[Fs]}function Qc(e,t){return e[Ms](t)}function Yc(e,t){switch(e){case"21":case"22":case"23":case"24":return Wy(e,t);case"25":return jy(t);default:return zy(e)}}function Wy(e,t){if(t.type==="message.appended")return Jc(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 Jc(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 Vy(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 jy(e){return e.type==="message.appended"?(Bs(e.data.messageDelta,"message"),sr(e.data,"messageOffset","message"),sr(e.data,"messageSoFar","message")):e.type==="reasoning.appended"?(Bs(e.data.reasoningDelta,"reasoning"),sr(e.data,"reasoningOffset","reasoning"),sr(e.data,"reasoningSoFar","reasoning")):e.type==="action.input.appended"&&(Bs(e.data.inputTextDelta,"action input"),sr(e.data,"inputTextOffset","action input")),e}function Bs(e,t){if(typeof e!="string")throw TypeError(`Invalid ${t} append delta for stream version 25.`)}function sr(e,t,a){if(t in e)throw TypeError(`Invalid ${a} append shape for stream version 25.`)}function zy(e){throw TypeError(`Unsupported message stream version: ${String(e)}.`)}function Vy(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 Jc(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 Os(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*tf(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 Gy(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(`
14
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Uu(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=Lr);let u=Zg(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Ou(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 Zg(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=ew(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 ew(e,t,a){let r=ci(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:Jr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?pi:mi)(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:Jr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&qo(a,s)>qo(a,e.alternative)&&(s=e.alternative),i=s+It(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Jr.single:Jr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var tw=["<","&"];function Yr(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:tw}))}function Nu(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Yr(e,t,a,r)}function qu(e,t,a,r){return r.all(e)}var Hu=hi("type",{invalid:aw,unknown:rw,handlers:{comment:Mu,doctype:Fu,element:Uu,raw:Nu,root:qu,text:Yr}});function aw(e){throw new Error("Expected node, not `"+e+"`")}function rw(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var ow={},nw={},sw=[];function Bn(e,t){let a=t||ow,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:iw,all:lw,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||gi,characterReferences:a.characterReferences||nw,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Lr:fi,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function iw(e,t,a){return Hu(e,t,a,this)}function lw(e){let t=[],a=e&&e.children||sw,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Zr(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 uw(e){return Array.isArray(e)?e:[e]}async function Ku(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function $n(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Xu(e){return e==="ansi"||$n(e)}function Wn(e){return e==="none"}function Qu(e){return Wn(e)}function Ju(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 oo(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 dw(e){let t=oo(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 Yu(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 jn="light-dark()",cw=["color","background-color"];function fw(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 pw(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?fw(o,n):o})):e}function mw(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>eo(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&&cw.includes(f))if(r===jn&&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 eo(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 Nn(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Zu=new WeakMap;function no(e,t){Zu.set(e,t)}function Xa(e){return Zu.get(e)}var ua=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(uw(a).map(r=>[r,Gr])),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 hw(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function hw(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 gw(e,t){if(!(e instanceof ua))throw new Se("Invalid grammar state");return e.getInternalStack(t)}function ww(){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=dw(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Iw(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 pw(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+=ed(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&&Ju(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 Iw(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 ed(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(ed).join(""):""}var xw=[ww()];function to(e){let t=yw(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...xw]}function yw(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"],On={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Lw(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 $u(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 Cw(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)On[r]&&t.push({type:"setDecoration",value:On[r]});else if(r<=29){let o=On[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=$u(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=$u(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 Sw(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Lw(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=Cw(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 bw={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 vw(e=bw){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 kw={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 Tw(e,t,a){let r=Zr(e,a),o=oo(t),n=Object.fromEntries(Gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||kw[l]]})),s=vw(n),i=Sw();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=Aw(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 Aw(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 zn(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if($n(o)||Wn(r))return oo(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Tw(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 Rw(t,i,n,s,a)}function Pw(...e){if(e.length===2)return Xa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if($n(o)||Wn(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 ua(Vn(a,l,s,i,r).stateStack,l.name,s.name)}function Rw(e,t,a,r,o){let n=Vn(e,t,a,r,o),s=new ua(n.stateStack,t.name,a.name);return no(n.tokens,s),n.tokens}function Vn(e,t,a,r,o){let n=Zr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=oo(e),u=o.grammarState?gw(o.grammarState,a.name)??Gr:o.grammarContextCode!=null?Vn(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Gr,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 v=0;v<x;v++){let N=I.tokens[2*v],U=v+1<x?I.tokens[2*v+2]:m.length;if(N===U)continue;let j=I.tokens[2*v+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"?Ew(W.scopes):Mw(q,W.scopes)}),S+=1}}d.push(G)}c.push(d),d=[],u=I.ruleStack}return{tokens:c,stateStack:u}}function Ew(e){return e.map(t=>({scopeName:t}))}function Mw(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:_w(e,n,t.slice(0,r))}}return a}function Wu(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Fw(e,t,a){if(!Wu(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Wu(e[r],a[o])&&(r-=1),o-=1;return r===-1}function _w(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Fw(s,t,a)){r.push(n);break}return r}function td(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=zn(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=Dw(...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 ua(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&no(s,i),s}function Dw(...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 ao(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=td(e,t,a);if(l=Xa(p),u&&jn!==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=>mw(S,L,d,u,c))),l&&no(n,l);let C=f.map(y=>Zr(y.theme,a));o=ju(f,m,C,d,u,"fg",c),r=ju(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=Zr(a.theme,a);n=zn(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 ju(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===jn&&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 ro(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ro(e,o,n),codeToTokens:(o,n)=>ao(e,o,n)}){let o=t;for(let m of to(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=ao(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=Ow(n):c==="never"&&(n=Uw(n)),f&&(n=Nw(n));let p={...r,get source(){return o}};for(let m of to(a))n=m.tokens?.call(p,n)||n;return Bw(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Bw(e,t,a,r=Xa(e)){let o=to(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:Ju,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}]},v=Nn(I.htmlStyle||eo(I));v&&(x.properties.style=v);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&&no(m,r),m}function Ow(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 Uw(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 Nw(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=Nn(o.htmlStyle||eo(o)),s=Nn(r.htmlStyle||eo(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 qw=Bn;function Hw(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ro(e,n,s),codeToTokens:(n,s)=>ao(e,n,s)},o=qw(ro(e,t,a,r));for(let n of to(a))o=n.postprocess?.call(r,o,a)||o;return o}var zu={light:"#333333",dark:"#bbbbbb"},Vu={light:"#fffffe",dark:"#1e1e1e"},Gu="__shiki_resolved";function Gn(e){if(e?.[Gu])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"?zu.light:zu.dark),a||(a=t.type==="light"?Vu.light:Vu.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,Gu,{enumerable:!1,writable:!1,value:!0}),t}async function ad(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Xu(t)).map(async t=>await Ku(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function rd(e){return(await Promise.all(e.map(async a=>Qu(a)?null:Gn(await Ku(a))))).filter(a=>!!a)}var Un=3,$w=!1;function Ww(e,t=3){if(Un&&!(typeof Un=="number"&&t>Un)){if($w)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Rt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function od(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 qn=class extends Cu{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=Gn(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=od(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))}},Hn=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 jw(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(Gn),o=new Hn(e.engine,a),n=new qn(o,r,a,e.langAlias),s;function i(I){return od(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 v=n.getColorMap();return{theme:x,colorMap:v}}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 ad(I))}function L(...I){y();for(let x of I.flat(1))n.loadTheme(x)}async function C(...I){return y(),L(await rd(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 zw(e){e.engine||Ww("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([rd(e.themes||[]),ad(e.langs||[]),e.engine]);return jw({...e,themes:t,langs:a,engine:r})}async function Vw(e){let t=await zw(e);return{getLastGrammarState:(...a)=>Pw(t,...a),codeToTokensBase:(a,r)=>zn(t,a,r),codeToTokensWithThemes:(a,r)=>td(t,a,r),codeToTokens:(a,r)=>ao(t,a,r),codeToHast:(a,r)=>ro(t,a,r),codeToHtml:(a,r)=>Hw(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function nd(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,Xu(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(Qu(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 Vw({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 Gw(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 sd(e,t){let a=Gw(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 Kn=[{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"))}],id=Object.fromEntries(Kn.map(e=>[e.id,e.import])),ld=Object.fromEntries(Kn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Qa={...id,...ld};var Kw=[{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"))}],ud=Object.fromEntries(Kw.map(e=>[e.id,e.import]));var Ja=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Xw(){return 2147483648}function Qw(){return typeof performance<"u"?performance.now():Date.now()}var Jw=(e,t)=>e+(t-e%t)%t;async function Yw(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=Xw();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,Jw(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 v=p[m++]&63;if((I&240)===224?I=(I&15)<<12|x<<6|v:I=(I&7)<<18|x<<12|v<<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:Qw,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 Zw=Object.defineProperty,eI=(e,t,a)=>t in e?Zw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Re=(e,t,a)=>eI(e,typeof t!="symbol"?t+"":t,a),De=null;function tI(e){throw new Ja(e.UTF8ToString(e.getLastOnigError()))}var io=class e{constructor(t){Re(this,"utf16Length"),Re(this,"utf8Length"),Re(this,"utf16Value"),Re(this,"utf8Value"),Re(this,"utf16OffsetToUtf8"),Re(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}},lo=class ft{constructor(t){if(Re(this,"id",++ft.LAST_ID),Re(this,"_onigBinding"),Re(this,"content"),Re(this,"utf16Length"),Re(this,"utf8Length"),Re(this,"utf16OffsetToUtf8"),Re(this,"utf8OffsetToUtf16"),Re(this,"ptr"),!De)throw new Ja("Must invoke loadWasm first.");this._onigBinding=De,this.content=t;let a=new io(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)}};Re(lo,"LAST_ID",0);Re(lo,"_sharedPtr",0);Re(lo,"_sharedPtrInUse",!1);var dd=lo,Qn=class{constructor(t){if(Re(this,"_onigBinding"),Re(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 io(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&&tI(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 dd(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 aI(e){return typeof e.instantiator=="function"}function rI(e){return typeof e.default=="function"}function oI(e){return typeof e.data<"u"}function nI(e){return typeof Response<"u"&&e instanceof Response}function sI(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 so;function iI(e){if(so)return so;async function t(){De=await Yw(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),aI(r)?r=await r.instantiator(a):rI(r)?r=await r.default(a):(oI(r)&&(r=r.data),nI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await lI(r)(a):r=await uI(r)(a):sI(r)?r=await Xn(r)(a):r instanceof WebAssembly.Module?r=await Xn(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Xn(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return so=t(),so}function Xn(e){return t=>WebAssembly.instantiate(e,t)}function lI(e){return t=>WebAssembly.instantiateStreaming(e,t)}function uI(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function cd(e){return e&&await iI(e),{createScanner(t){return new Qn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new dd(t)}}}var uo=nd({langs:Qa,themes:ud,engine:()=>cd(import("../wasm-EOPKAILK.js"))}),{codeToHtml:dI,codeToHast:cI,codeToTokens:fI,codeToTokensBase:pI,codeToTokensWithThemes:mI,getSingletonHighlighter:hI,getLastGrammarState:gI}=sd(uo,{guessEmbeddedLanguages:Yu});var fd=new Set(Object.keys(Qa)),Jn=new Map,Yn=new Map,da=new Map,wI=(e,t)=>`${e}-${t[0]}-${t[1]}`,II=(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}`},xI=(e,t)=>{let a=wI(e,t);if(Jn.has(a))return Jn.get(a);let r=uo({themes:t,langs:[e]});return Jn.set(a,r),r};function yI(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return fd.has(r)},getSupportedLanguages(){return Array.from(fd)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=II(r,o,n);return Yn.has(i)?Yn.get(i):(s&&(da.has(i)||da.set(i,new Set),da.get(i).add(s)),xI(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]}});Yn.set(i,d);let c=da.get(i);if(c){for(let f of c)f(d);da.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),da.delete(i)}),null)}}}var pd=yI();import{memo as bI}from"react";import{useEffect as LI,useRef as co,useState as CI}from"react";var SI=5,md=400;function hd(e,t,a={}){let{msPerChar:r=SI}=a,[o,n]=CI(t?"":e),s=co(e),i=co(t?0:e.length),l=co(0),u=co(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,LI(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>md&&(i.current=s.current.length-md),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 fo}from"react/jsx-runtime";var Zn=({className:e,from:t,children:a,...r})=>fo("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:fo("div",{className:A("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),es=({children:e,className:t,...a})=>fo("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}),vI={cjk:Cn,code:pd},kI={cjk:Cn},TI={enabled:!1};function AI({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=hd(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return fo(wa,{className:A("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??TI,plugins:a?kI:vI,...o,children:i})}var po=bI(AI,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);po.displayName="MessageResponse";import{jsx as gd,jsxs as PI}from"react/jsx-runtime";function wd(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Id(e){return e.parts.some(wd)}function xd(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=>!(!wd(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function yd({className:e,...t}){let{t:a}=ae();return PI("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:[gd(Aa,{className:"ww:size-4 ww:shrink-0"}),gd(tt,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as Ya,jsxs as RI}from"react/jsx-runtime";function Ld({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return RI("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 EI}from"react";import{jsx as ts,jsxs as FI}from"react/jsx-runtime";function MI({onRetry:e}){let{t}=ae();return FI("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:[ts("span",{children:t.widgetErrorBoundary.failedToLoad}),ts("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var mo=class extends EI{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?ts(MI,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as _I,jsx as we,jsxs as Mt}from"react/jsx-runtime";function as(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Cd(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?ba:qt}function Sd({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}=ae(),y=e[e.length-1],S=e.length>0,I=c!=null,x=!I&&xd(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Mt(_I,{children:[!I&&(!S&&r?we(Ld,{...r,onSuggestionSelect:o}):a&&we(Zn,{from:"assistant",children:we(es,{children:we(po,{children:a})})})),e.map(v=>{let N=v.parts.filter(E=>E.type==="text"),U=v.parts.filter(E=>E.type==="reasoning"),j=v.parts.filter(E=>E.type==="file"),ie=il(v.metadata),z=v.parts.filter(E=>"toolCallId"in E),G=v.parts.filter(E=>E.type==="reasoning"||"toolCallId"in E),q=v===y&&v.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"}},v.id):v.role==="assistant"&&!Id(v)?we("div",{style:{display:"none"}},v.id):p===!1&&v.role==="assistant"&&!ee&&j.length===0&&z.every(E=>{let b="output"in E?E.output:void 0;return b===void 0||!n||!Ra(E.toolName,b,m)})?we("div",{style:{display:"none"}},v.id):Mt(Zn,{from:v.role,className:L?.message,children:[p!==!1&&!W&&!Q&&U.map((E,b)=>Mt(Ba,{isStreaming:E.state==="streaming",children:[we(Oa,{}),we(Ua,{children:E.text})]},`reasoning-${v.id}-${b}`)),Q&&(()=>{let E=G[G.length-1],b=E.type==="reasoning"?{icon:gt,label:C.reasoning.thinking}:{icon:Cd(E.toolName),label:E.title??as(E.toolName)};return Mt(Fl,{isWorking:q&&(t==="streaming"||t==="submitted"),activeStep:b,children:[we(_l,{workingLabel:C.chainOfThought.working,label:C.chainOfThought.done}),we(Dl,{children:G.map((_,oe)=>{let ne=oe===G.length-1;if(_.type==="reasoning")return we(Ol,{isStreaming:_.state==="streaming",isLast:ne,children:_.text},`reasoning-${v.id}-${oe}`);let Ae=_.title??as(_.toolName),Ne=Cd(_.toolName);if(p==="titles-only")return we(xn,{icon:Ne,title:Ae,state:_.state,isLast:ne},_.toolCallId);let k="output"in _?_.output:void 0;return Mt(xn,{icon:Ne,title:Ae,state:_.state,isLast:ne,children:[we(Yo,{input:_.input,debug:f}),k!==void 0&&we(Zo,{output:k,errorText:"errorText"in _?_.errorText:void 0,debug:f})]},_.toolCallId)})})]})})(),p!==!1&&!W&&!Q&&z.length===1&&(()=>{let E=z[0],b=E.title??as(E.toolName);if(p==="titles-only")return we(Bi,{title:b,state:E.state});let _="output"in E?E.output:void 0;return Mt(_i,{children:[we(Di,{title:b,state:E.state}),Mt(Oi,{children:[we(Yo,{input:E.input,debug:f}),_!==void 0&&we(Zo,{output:_,errorText:"errorText"in E?E.errorText:void 0,debug:f})]})]})})(),z.map(E=>{let b="output"in E?E.output:void 0,_=Ra(E.toolName,b,m),oe=Ui(E.toolName,b,m),ne=E.toolCallId===c;return _&&n&&b!==void 0?we("div",{style:ne?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:_&&n&&b!==void 0&&we(mo,{children:we(Fa,{isFullscreen:ne,resourceUri:_,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:oe,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Ae=>d(Ae,{toolCallId:E.toolCallId,resourceUri:_,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:oe}):void 0})})},E.toolCallId):null}),!W&&ie.length>0&&we(ll,{documents:ie}),!W&&we("div",{children:Mt(es,{className:A(v.role==="user"?L?.userBubble:L?.assistantBubble),children:[j.length>0&&we(nl,{files:j}),ee?N.map((E,b)=>{let _=q&&t==="streaming"&&b===N.length-1;return we(po,{isStreaming:_,children:E.type==="text"?E.text:""},`${v.id}-${b}`)}):null]})})]},v.id)}),x&&we(yd,{})]})}import{jsx as Za,jsxs as BI}from"react/jsx-runtime";function DI({label:e}){return BI("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:[Za("title",{children:e}),Za("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Za("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function ho({onClick:e}){let{t}=ae();return Za("button",{type:"button",onClick:e,title:t.threadMenu.newChat,"aria-label":t.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:Za(DI,{label:t.threadMenu.newChat})})}import{jsx as bd,jsxs as NI}from"react/jsx-runtime";var OI="https://app.waniwani.ai/assets/waniwani-logo.svg",UI="https://waniwani.ai";function vd(){let{t:e}=ae();return NI("a",{href:UI,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:[bd("span",{children:e.poweredBy.label}),bd("img",{src:OI,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as go}from"react/jsx-runtime";function kd({suggestions:e,isLoading:t,onSelect:a,align:r="start",className:o,...n}){return e.length===0&&!t?null:go("div",{className:A("ww:px-4 ww:py-2",o),...n,children:go("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=>go("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)=>go("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 qI,useRef as HI,useState as $I}from"react";import{jsx as Ee,jsxs as ca}from"react/jsx-runtime";var Td=20;function WI({label:e}){return ca("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:[Ee("title",{children:e}),Ee("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Ee("polyline",{points:"3 4 3 9 8 9"}),Ee("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Ee("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function jI({label:e}){return ca("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:[Ee("title",{children:e}),Ee("polyline",{points:"3 6 5 6 21 6"}),Ee("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Ee("path",{d:"M10 11v6"}),Ee("path",{d:"M14 11v6"})]})}function Ad({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=ae(),[i,l]=$I(!1),u=HI(null);qI(()=>{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,Td),c=Math.max(0,e.length-Td);return ca("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Ee(ho,{onClick:a}),Ee("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:Ee(WI,{label:s.threadMenu.threadHistory})}),i&&ca("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&&Ee("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 ca("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:[ca("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Ee("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Ee("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ko(m,n)})]}),Ee("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:Ee(jI,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&Ee("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 zI,useContext as VI}from"react";function Pd(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 Rd(){return{subscribe(){return()=>{}},emit(){}}}var Ed=zI(Rd());function wo(){return VI(Ed)}var Md=Ed.Provider;import{useCallback as GI,useRef as KI}from"react";function Fd(e){let t=KI(e);return t.current=e,GI(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 nx}from"@ai-sdk/react";import{useCallback as ye,useEffect as je,useRef as Le,useState as Ft}from"react";var XI="/api/mcp/modules/documents",QI=2e4,JI=3e5,Ze=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function _d(e,t){return vr(e,`${XI}${t}`)}function YI(e){return _d(e,"/upload-url")}function Dd(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function ZI(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 ex(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 tx(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=JI;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 Io(e){let t=_d(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:Dd(e.headers,e.uploadHeaders)})}catch{}}async function Bd(e){e.signal.throwIfAborted();let t=YI(e.api);if(!t)throw new Ze("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),QI),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=Dd(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 ex(n.status);let s=ZI(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Ze("upload_failed","The upload could not be started.");return await tx({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 ax,uiMessageChunkSchema as rx}from"ai";function ox(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 xo=class extends ax{processResponseStream(t){let a="",r=rx(),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=ox(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 Od=50,Ud=1e3;function yo(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 Lo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await nn(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function rs(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function os(e){return await Lo(async a=>{let n=a.transaction(Ke,"readonly").objectStore(Ke).index(kr),i=(await rs(n.getAll(e))??[]).filter(yo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Co(e){return await Lo(async a=>{let o=a.transaction(Ke,"readonly").objectStore(Ke),n=await rs(o.get(e));return yo(n)?n:null})??null}async function ns(e){if(!yo(e))return;let t=e.messages.length>Ud?{...e,messages:e.messages.slice(e.messages.length-Ud)}:e;await Lo(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(kr),i=(await rs(n.getAll(t.memoryUserId))??[]).filter(yo);if(i.length>Od){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Od);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 Nd(e){await Lo(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 ss(e){return(await os(e))[0]?.threadId??null}function qd(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 sx="x-session-id",ix=250,lx=200;function Hd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():_a()}function So(){return new Date().toISOString()}function $d(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function ux(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 Wd(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(()=>an(d),[d]);let c=wo(),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),v=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),b=Le(0),_=Le(u);je(()=>{_.current=u},[u]);let oe=ye(g=>{j.current=g,U(g),g&&(_.current?.(g),c.emit({name:"thread.changed",sessionId:v.current,properties:{threadId:g}}))},[c]),ne=ye(async()=>{if(!i)return;let g=S.current?.memoryUserId;if(!g)return;let O=await os(g);z(O)},[i]),Ae=ye(()=>v.current,[]),Ne=ye(g=>{let O=$d(g);if(!O||v.current===O)return;let V=v.current===void 0;v.current=O,x(O),V&&c.emit({name:"session.started",properties:{sessionId:O}})},[c]),k=ye(()=>{v.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=b.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 ss(V);if(g||O!==b.current)return;if(fe){let Me=await Co(fe);if(g||O!==b.current)return;Me&&Me.memoryUserId===V&&(j.current=Me.threadId,U(Me.threadId),ee.current=Me.createdAt,W.current=Me.title,Me.sessionId&&(v.current=Me.sessionId,x(Me.sessionId)),me(Me.messages))}await ne()}finally{g||q(!0)}})(),()=>{g=!0}},[]);let H=Le(null),$=ye(g=>{let O=m.current?.[g];return typeof O=="string"?O:void 0},[]),se=ye(()=>({api:t,token:Ar(f.current),channelId:$("channelId"),sessionId:v.current}),[t,$]),he=ye(g=>{let O=H.current;H.current=null,O?.report(se(),{mode:$("mode"),outcome:g})},[se,$]),Ie=Le(new xo({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},O=Object.hasOwn(g,"sessionId"),V=$d(g.sessionId);if(V)Ne(V),g.sessionId=V;else if(O)k(),delete g.sessionId;else{let No=Ae();No&&(g.sessionId=No)}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 ke=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},np=typeof ke.client=="object"&&ke.client!==null?ke.client:{};g.visitor={...ke,id:Me,client:{...np,...fe&&{memoryUserId:fe.memoryUserId}}};let ni=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,si=S.current?.memoryUserId,ii=S.current?.language,xr={};if(si&&(xr.memoryUserId=si),ii&&(xr.locale=ii),(Object.keys(xr).length>0||ni)&&(g.extra={...xr,...ni??{}}),L.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(j.current=g.threadId);else{let yr=j.current;yr||(yr=Hd(),ee.current=So(),W.current=void 0,oe(yr)),g.threadId=yr}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(sx)),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),re=e.skipRemoteConfig===!0,te=ye(async()=>{if(!re)try{let g=await ux(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,re]);je(()=>{te()},[te]);let{messages:Z,sendMessage:J,setMessages:me,status:T,stop:Be}=nx({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,lx)}}),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=Gi(D.current.filter(g=>g.role==="user").length+1)},[]),[Y,M]=Ft(!1),w=ye(async()=>{M(!0);try{await Be();let g=v.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=b.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!==b.current){g||q(!0);return}let Me=l??await ss(fe);if(g||O!==b.current)return;if(Me){let ke=await Co(Me);if(g||O!==b.current)return;ke&&ke.memoryUserId===fe&&(j.current=ke.threadId,U(ke.threadId),ee.current=ke.createdAt,W.current=ke.title,ke.sessionId&&(v.current=ke.sessionId,x(ke.sessionId)),me(ke.messages))}await ne()}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,hr]=Ft([]),Oo=Le([]);Oo.current=it;let ga=T==="submitted"||T==="streaming",gr=ye(g=>{for(let O of g)for(let V of O.documents??[])Io({documentId:V.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),St=ye(()=>{gr(Oo.current),hr([])},[gr]),Xf=ye(g=>{let O=Oo.current.find(V=>V.id===g);O&&gr([O]),hr(V=>V.filter(fe=>fe.id!==g))},[gr]),Qf=ga&&it.length>0,Jf=ye(g=>{let O=!!g.text?.trim(),V=!!(g.files?.length||g.documents?.length);if(O||V){if(ga){if(it.length>0)return;hr(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]),Yf=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;hr(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 Zf=ye(()=>{ce.current.reset?.(),me([]),St(),k(),ue(""),pe.current={},le(g=>g+1),te()},[me,k,te,St]),wr=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=So()),!W.current){let fe=V.find(ke=>ke.role==="user"),Me=fe?fe.parts.map(ke=>"text"in ke&&typeof ke.text=="string"?ke.text:"").join(" "):"";W.current=qd(Me)}return{threadId:O,memoryUserId:g,title:W.current,messages:V,sessionId:v.current,createdAt:ee.current,updatedAt:So()}}},[]),ai=ye(async()=>{let g=wr();g&&(await ns(g),await ne())},[wr,ne]);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=ai().finally(()=>{E.current===g&&(E.current=void 0)});E.current=g},ix),()=>{Q.current&&clearTimeout(Q.current)}},[i,G,Z,T,ai]);let Ir=ye(()=>{let g=E.current,O=Q.current,V=O?wr():void 0;return O&&(clearTimeout(O),Q.current=void 0),(async()=>{g&&await g,V&&(await ns(V),await ne())})()},[wr,ne]),ep=ye(()=>{b.current+=1,Ir(),ce.current.reset?.(),me([]),St(),k(),ue("");let g=Hd();return ee.current=So(),W.current=void 0,oe(g),ne(),g},[me,k,oe,ne,Ir,St]),Uo=ye(async g=>{b.current+=1;let O=b.current;if(await Ir(),O!==b.current)return;let V=await Co(g);O===b.current&&V&&(V.sessionId?(v.current=V.sessionId,x(V.sessionId)):k(),oe(V.threadId),ee.current=V.createdAt,W.current=V.title,me(V.messages),St(),ue(""))},[me,k,oe,Ir,St]),tp=ye(async g=>{if(j.current===g){b.current+=1,Q.current&&(clearTimeout(Q.current),Q.current=void 0);let O=E.current;O&&await O}await Nd(g),await ne(),j.current===g&&(me([]),St(),k(),ue(""),j.current=void 0,U(void 0),ee.current=void 0,W.current=void 0)},[me,k,ne,St]);je(()=>{i&&G&&l!==void 0&&l!==j.current&&Uo(l)},[l,i,G,Uo]);let ap=ye(g=>{ue(g.target.value)},[]),ri=Z[Z.length-1],oi=Z.length>0,rp=ga&&(!oi||ri.role==="user"),op=pe.current;return{messages:Z,status:T,text:F,setText:ue,handleSubmit:Jf,handleTextChange:ap,isLoading:ga,showLoaderBubble:rp,lastMessage:ri,hasMessages:oi,sendMessage:J,sendMessageAndWait:Yf,stop:w,reset:Zf,queuedMessages:it,queueFull:Qf,removeQueuedMessage:Xf,sessionId:I,toolDefinitions:op,refreshToolDefinitions:te,threads:ie,activeThreadId:N,isThreadHistoryReady:G,startNewThread:ep,switchThread:Uo,deleteThread:tp,keepsConversation:!!ce.current.restore}}import{useCallback as jd,useEffect as dx,useState as cx}from"react";var fx=6e3;function zd(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=cx(null),u=jd((f,p,m)=>Bd({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=jd(f=>{Io({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);dx(()=>{if(!i)return;let f=setTimeout(()=>l(null),fx);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 mx,useEffect as us,useMemo as ds,useRef as hx,useState as Xd}from"react";function fa(e){return e.map(t=>({id:null,text:t}))}function is(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 ls="waniwani/suggestions";function pa(e){return typeof e=="object"&&e!==null}function Vd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function px(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[ls];return!pa(a)||!Vd(a.suggestions)?null:a.suggestions}function Gd(e){let t=null;for(let a of e.parts){let r=px(a);r!==null&&(t=r)}return t}function Kd(e){for(let t of e.parts){if(!pa(t)||t.type!=="data-suggestions")continue;let a=t.data;if(pa(a)&&Vd(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function gx(e){return"page"in e||"channel"in e}function wx(e){return typeof e!="object"||e===null?{}:gx(e)?{rungs:e}:{initial:e.initial}}function Qd(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=wx(r),i=ds(()=>({page:null,channel:fa(s??[])}),[s]),l=n??i,u=ds(()=>o?is({flow:null,followup:null,...l}):null,[o,l]),d=ds(()=>u?.suggestions.map(I=>I.text)??[],[u]),[c,f]=Xd(d),[p,m]=Xd(u?.origin??"channel"),L=hx(a),C=mx(()=>{f([])},[]),y=t.length>0;us(()=>{y||(f(d),m(u?.origin??"channel"))},[d,u,y]);let S=t[t.length-1];return us(()=>{S?.role==="user"&&C()},[S,C]),us(()=>{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 v=Gd(x),N=Kd(x),U=is({flow:v===null?null:fa(v),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 Ix,useRef as xx,useState as yx}from"react";var Lx=80,Cx=50,Sx=15e3,Jd=500;function Yd(e,t=!0){let[a,r]=yx(""),o=xx(void 0);return Ix(()=>{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,Jd)):o.current=setTimeout(l,Cx)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Sx)):o.current=setTimeout(l,Lx)))};return o.current=setTimeout(l,Jd),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Zd(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 ec={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"},bx={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"},vx={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 kx(e){return{...ec,...e}}function cs(e){let t={};for(let[a,r]of Object.entries(vx)){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 be,jsxs as yt}from"react/jsx-runtime";var fs=tc(function(t,a){let{locale:r,messages:o}=t;return be(Go,{locale:r,messages:o,children:be(Ax,{...t,ref:a})})}),Ax=tc(function(t,a){let{t:r,ready:o}=ae(),{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:v=!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?cs(G):{},[W,Q]=bo(!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,b=Wd({...t,api:m}),_=wo(),oe=Fd({...t,api:m,sessionId:b.sessionId,onCallTool:L?.onCallTool}),ne=L?.resourceEndpoint??Zd(m,t.headers),Ae=_t({});Ae.current={api:m,token:Ar(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:b.sessionId};let Ne=er(w=>{Rr("widget",Ae.current,{widget:w.widget,outcome:w.outcome},w.metrics)},[]),k=Yd(f,!b.text),H=zd({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:b.sessionId,documentUpload:u,allowAttachments:l}),[$,se]=bo(null),[he,Ie]=bo(null),ce=_t(null),K=_t(null),X=_t(null),pe=_t(null),[Ce,le]=bo(!0),re=_t(Ce);re.current=Ce;let te=er(()=>{let w=ce.current;if(!w)return;let P=w.querySelector("textarea");P&&P.focus()},[]),Z=er((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(()=>{(b.messages[b.messages.length-1]?.role==="user"||re.current)&&Z("smooth")},[b.messages.length,b.messages[b.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=Qd({messages:b.messages,status:b.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||b.messages.length>0||!T?.length||Be.current===T||(Be.current=T,_.emit({name:"suggestions.shown",properties:{texts:T,origin:"channel"}}))},[T,b.messages.length,_,j]);let D=er(w=>{let P=w.content.map(F=>F.text??"").join("").trim();P&&b.handleSubmit({text:P,files:[],modelContext:w.modelContext})},[b.handleSubmit]),R=er(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(),b.handleSubmit({text:w,files:[]})},[J.suggestions,J.source,J.clear,b.handleSubmit,c,_]);Tx(a,()=>({sendMessage:w=>{b.handleSubmit({text:w,files:[]}),te()},sendMessageAndWait:w=>b.sendMessageAndWait(w),reset:b.reset,focus:te,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,te]),xt(()=>{if(!p)return;let w=P=>{let F=P.detail,ue=typeof F?.message=="string"?F.message:void 0;ue&&b.handleSubmit({text:ue,files:[]}),te()};return window.addEventListener(p,w),()=>window.removeEventListener(p,w)},[p,b.handleSubmit,te]);let Y=!x&&!!(S||v||b.keepsConversation||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&&be("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:S}),!S&&be("div",{className:"ww:flex-1"}),!v&&b.keepsConversation&&be(ho,{onClick:b.reset}),v&&be(Ad,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:w=>{b.switchThread(w)},onDeleteThread:w=>{b.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:[be(Yi,{value:Ne,children:be(Sd,{messages:b.messages,status:b.status,welcomeMessage:d,welcome:c,onSuggestionSelect:R,resourceEndpoint:ne,chatSessionId:b.sessionId,isDark:E,onFollowUp:D,onCallTool:oe,fullscreenToolCallId:$,debug:C,showToolCalls:N,toolDefinitions:b.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),se(P.toolCallId)}else Ie(null),se(null)}})}),be("div",{ref:pe,"aria-hidden":!0,style:{height:1}})]}),!Ce&&!$&&be("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:be(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:be(Ia,{className:"ww:size-4"})})})]}),!y&&yt("div",{className:"ww:shrink-0 ww:bg-background",style:$?{display:"none"}:void 0,children:[be(kd,{suggestions:J.suggestions,isLoading:J.isLoading,onSelect:R}),be(kl,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),be("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(cl,{onSubmit:b.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:[be(wl,{enabled:H.enabled}),H.enabled&&be(gl,{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&&be(hl,{}),be(pl,{onChange:b.handleTextChange,value:b.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),be(ml,{status:b.status,disabled:b.queueFull,onStop:b.stop})]})]}),H.error&&be("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:[be(vd,{}),be(Il,{text:ie})]})]})})]})]})});import{forwardRef as MC,useEffect as Do,useImperativeHandle as FC,useMemo as Bo,useRef as ti,useState as Vf}from"react";var Px="https://app.waniwani.ai/api/mcp/chat",Rx={api:Px};function Ex(){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 Mx(){let e=Ex();if(!e)return{};let t=_=>e.getAttribute(_)??void 0,a=_=>{let oe=e.getAttribute(_);if(oe==null)return;let ne=oe.trim().toLowerCase();if(ne==="true"||ne==="1"||ne==="")return!0;if(ne==="false"||ne==="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 v=t("data-locale");(v==="en"||v==="fr"||v==="es")&&(r.locale=v);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 b=t("data-disclaimer");if(b!==void 0){let _=b.trim(),oe=_.toLowerCase();oe==="false"||oe==="0"?r.disclaimer=!1:_&&(r.disclaimer=_)}return r}function tr(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ps(e,t,a){let r=a??Mx(),o=Fx(t,r,e),n={...t?.composer??{},...tr(r.composer),...tr(e?.composer)},s=Object.keys(n).length>0,i={token:"",...Rx,...tr(t),...tr(r),...tr(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 Fx(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 OR,useState as UR}from"react";var _x="/api/mcp/events/v2/batch",ms=new Set;function Dx(e,t,a){return`${e}|${t}|${a??""}`}function ar(e){return vr(e,_x)}async function hs(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=ar(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=Dx(t,a,r);if(!ms.has(i)){ms.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{ms.delete(i)}}}import{useMemo as zx}from"react";import{useEffect as Nx,useSyncExternalStore as qx}from"react";function Bx(e){return e?.patterns??e?.rules??[]}var ac="\0\0";function Ox(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ac).replace(/\\\*/g,"[^/]*").split(ac).join(".*");return new RegExp(`^${a}$`)}function Ux(e,t){try{return Ox(e).test(t)}catch{return!1}}function rc(e,t){if(!e)return!0;let a=!1;for(let r of Bx(e))if(Ux(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var gs="waniwani:locationchange",oc=!1;function Hx(){if(!(oc||typeof history>"u")){oc=!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(gs)),o}}}}function $x(e){return Hx(),window.addEventListener(gs,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(gs,e),window.removeEventListener("popstate",e)}}function Wx(){return window.location.pathname}function jx(){return"/"}function ws(){return qx($x,Wx,jx)}function nc(e,t){let a=ws(),r=t&&rc(e,a);return Nx(()=>{ut("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var Vx=3,Gx=["low","medium","high"];function Is(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function Kx(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 Gx){let s=Is(t.get(n)??[])??Is(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(Vx,e.length);){let n=Is(o);if(!n)break;r.push(n)}return r}function sc(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function ic(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 lc(e){let{pageSuggestions:t,suggestions:a}=e,r=ws();return zx(()=>{let o=sc(r),n=t?.find(i=>sc(i.url)===o),s=n?Kx(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 Xx="waniwani:config:";function uc(e,t,a){return`${Xx}${e}|${t}|${a??""}`}function vo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(uc(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function dc(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(uc(e,t,a),JSON.stringify(r))}catch{}}function Qx(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 cc(e,t,a,r){$t("configStart");let o=await Jx(e,t,a,r);return $t("configEnd"),a?.aborted||Pr(o.metadata),o}async function Jx(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?Yx(i):{}}catch{return{}}}function Yx(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=ic(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=Qx(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as Zx,useRef as ey}from"react";function xs(e,t){return e.find(a=>a.text===t)?.id??null}async function fc(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=ar(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 pc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await fc({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 mc(e,t){return t.map(a=>({id:xs(e,a),text:a}))}async function hc(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await fc({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function gc(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=ey(e.getSessionId);l.current=e.getSessionId,Zx(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;pc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:xs(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;hc({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:mc(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 ty=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],ay=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],ry=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],oy=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],ny=["waniwani/visitorId","visitorId"],sy=["correlationId","openai/requestId"];function wc(e){return e?ma(e,ty):void 0}function Ic(e){return e?ma(e,ay):void 0}function xc(e){return e?ma(e,ry):void 0}function yc(e){return e?ma(e,oy):void 0}function Lc(e){return e?ma(e,ny):void 0}function Cc(e){return e?ma(e,sy):void 0}var iy=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],ly=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Sc(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 iy){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 ly)if(r.includes(o))return n}}var uy="@waniwani/sdk";function bc(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??dy,o=py(e),n=ko(e.meta),s=ko(e.metadata),i=my(e,n),l=ot(e.eventId)??r(),u=hy(e.timestamp,a),d=ot(e.source)??Sc(n)??t.source??uy,c=ys(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:cy(e,o),metadata:f,rawLegacy:c}}function dy(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function cy(e,t){if(!ys(e))return ko(e.properties);let a=fy(e,t),r=ko(e.properties);return{...a,...r}}function fy(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 py(e){return ys(e)?e.eventType:e.event}function my(e,t){let a=ot(e.requestId)??Ic(t),r=ot(e.sessionId)??wc(t),o=ot(e.traceId)??xc(t),n=ot(e.externalUserId)??yc(t),s=ot(e.visitorId)??Lc(t),i=ot(e.correlationId)??Cc(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 hy(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 ko(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ot(e){if(typeof e=="string"&&e.trim().length!==0)return e}function ys(e){return"eventType"in e}function vc(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 gy="/api/mcp/events/v2/batch";var kc="@waniwani/sdk";var wy=new Set([401,403]),Iy=new Set([408,425,429,500,502,503,504]),xy=(e,t)=>globalThis.fetch(e,t);function Tc(e){return new Ls(e)}var Ls=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=Cy(t.apiUrl,t.endpointPath??gy),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??xy,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":kc};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:Sy(n)}}if(wy.has(a.status))return{kind:"auth",status:a.status};if(Iy.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Ly(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:kc,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(yy(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 yy(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 Ly(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Cy(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Sy(e){return e instanceof Error?e.message:String(e)}function Ac(e){let{apiUrl:t,endpointPath:a}=by(e.endpoint),r=Tc({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=bc({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,vc(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function by(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Pc(e){let t=ar(e.api);return t?Ac({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ge()})}):Cs("the chat api does not point at a Waniwani event ingest")}function Cs(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 vy}from"ai";function To(){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)=>{e.has(c.callId)||(e.add(c.callId),d.enqueue({type:"tool-input-available",toolCallId:c.callId,toolName:c.toolName??c.kind,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":{t.set(d.data.stepIndex,d.data.modelId),c.enqueue({type:"start-step"}),o=!0;break}case"message.appended":{d.data.messageDelta&&l(c,d.data.messageDelta);break}case"message.completed":{!a&&d.data.message&&l(c,d.data.message),i(c);break}case"actions.requested":{i(c);for(let f of d.data.actions)u(c,f,f.input);break}case"action.result":{let{result:f,status:p,error:m}=d.data;if(f.kind!=="tool-result")break;if(u(c,f,{}),f.isError===!0||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),c.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:f,modelId:t.get(f),usage:p}}});break}case"turn.failed":case"session.failed":{n=!0,c.enqueue({type:"error",errorText:d.data.message||"The agent could not answer."});break}}},flush(d){i(d),o&&d.enqueue({type:"finish-step"}),d.enqueue({type:"finish",finishReason:n?"error":"stop"})}})}async function ky(e){let t=new ReadableStream({start(r){for(let o of e)r.enqueue(o);r.close()}}).pipeThrough(To()),a;for await(let r of vy({stream:t}))a=r;return a?.parts.length?a:void 0}async function Rc(e){let t=[];for(let r of e){let o=r.type==="message.received"&&!r.data.kind?r.data.message: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 ky(r.events);o&&a.push(o)}return a}import{z as He}from"zod";import{z as B}from"zod";import{z as Ao}from"zod";var Kt=Symbol("invalid-json-value-candidate");function bs(e){let t=Ss(e);if(t===Kt)throw TypeError("Expected a JSON-serializable value.");return t}function rr(e){let t=bs(e);if(!Ty(t))throw TypeError("Expected a JSON-serializable object.");return t}function Ss(e,t=new WeakSet){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number")return Number.isFinite(e)?e:Kt;if(Array.isArray(e)){let r=[];for(let o of e){let n=Ss(o,t);if(n===Kt)return Kt;r.push(n)}return r}if(typeof e!="object"||e===void 0||!Ay(e)||t.has(e))return Kt;t.add(e);let a={};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let n=Ss(o,t);if(n===Kt)return Kt;a[r]=n}return t.delete(e),a}function Ty(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function Ay(e){let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var or=Ao.unknown().transform((e,t)=>{try{return bs(e)}catch(a){return t.addIssue({code:"custom",message:Ec(a,"Expected a JSON-serializable value.")}),Ao.NEVER}}),Lt=Ao.unknown().transform((e,t)=>{try{return rr(e)}catch(a){return t.addIssue({code:"custom",message:Ec(a,"Expected a JSON-serializable object.")}),Ao.NEVER}});function Ec(e,t){return e instanceof Error?e.message:t}var Mc=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 vE=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(),kE=B.object({callId:B.string(),executeInput:or.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:or,toolName:B.string()}).strict(),B.object({callId:B.string(),isError:B.literal(!0),kind:B.literal("subagent-result"),origin:B.literal("dispatch"),output:or,subagentName:B.string()}).strict(),B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("load-skill-result"),output:or,name:B.string().optional()}).strict();var Py=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(),Ry=He.enum(["question","session-limit","tool-approval"]),RE=He.object({action:Mc,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:Ry.describe("Framework-owned request source used to resolve, route, and render the response."),options:He.array(Py).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(),EE=He.object({optionId:He.string().optional(),requestId:He.string(),text:He.string().optional()}).strict();var ze="/eve/v1",FE=`${ze}/cron/:token`,Fc=`${ze}/health`,_c=`${ze}/info`,$e=`${ze}/session`,_E=`${$e}/:sessionId`,DE=`${$e}/:sessionId/cancel`,BE=`${$e}/:sessionId/compact`,OE=`${$e}/:sessionId/clear`,UE=`${$e}/:sessionId/reset`,NE=`${$e}/:sessionId/stream`,qE=`${$e}/:parentSessionId/subagents/:callId/:childSessionId/stream`,HE=`${ze}/dev/schedules/:scheduleId`,vs=`${ze}/dev/runtime-artifacts`,$E=`${vs}/rebuild`,WE=`${vs}/suspend`,jE=`${vs}/resume`;var zE=`${ze}/connections/:name/callback/:attemptId/:token`,VE=`${ze}/callback/:token`,GE=`${ze}/task-input/:token`,KE=`${ze}/activity/:token`;function Dc(e){return`${$e}/${encodeURIComponent(e)}`}function Bc(e){return`${$e}/${encodeURIComponent(e)}/cancel`}function Oc(e){return`${$e}/${encodeURIComponent(e)}/compact`}function Uc(e){return`${$e}/${encodeURIComponent(e)}/clear`}function Nc(e){return`${$e}/${encodeURIComponent(e)}/reset`}function ks(e){return`${$e}/${encodeURIComponent(e)}/stream`}function pt(e){return typeof e=="object"&&!!e&&!Array.isArray(e)}function nr(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:Ey(e):String(e)}function Xt(e){if(e instanceof Error)return e;let t=Error(nr(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 Ey(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var Hc="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function My(){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,qc(t);else if(!By(t)){if(e===0xffffffffffff)throw Error("Cannot mint a ULID: random component overflowed at the maximum timestamp.");e+=1,qc(t)}return`${_y(e)}${Dy(t)}`}}var Fy=My();function qc(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 _y(e){let t=e,a="";for(let r=0;r<10;r+=1)a=Hc[t%32]+a,t=Math.floor(t/32);return a}function Dy(e){let t=0,a=0,r="";for(let o of e){for(t=t<<8|o,a+=8;a>=5;)a-=5,r+=Hc[t>>>a&31];t&=(1<<a)-1}return r}function By(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 $c="x-eve-session-id";var Ts="x-eve-stream-tail-index",As="x-eve-stream-version";var Wc="1",jc="streamControlVersion",Ps={$eve:"stream.lease-ended",version:1},bM=new TextEncoder;function Je(e){return e.type==="session.completed"||e.type==="session.failed"||e.type==="session.waiting"}function Rs(e){return e.type==="session.failed"||e.type==="step.failed"||e.type==="turn.failed"}var Po=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 Ro=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 zc(e){let t,a,r,o=[],n=new Map;for(let s of e)Je(s)&&(t=s),Rs(s)&&(a=s),Oy(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 Oy(e){return e.type==="message.completed"&&e.data.finishReason!=="tool-calls"}function Qt(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 Uy=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,Ny=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function Es(e,t){let a=qy(e),r=t.startsWith("/")?t:`/${t}`;if(r===ze||r.startsWith(`${ze}/`)){if(Uy.test(a))return`${a}${r.slice(4)}`;if(Ny.test(a))return`${a}${r.slice(ze.length)}`}return`${a}${r}`}function qy(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(Hy(e)){let u=new URL(e),d=Gc(u.pathname);return u.pathname=Es(d,s),Vc(u.searchParams,n),Kc(u.searchParams,a),u.hash="",u.toString()}let i=new URL(e,"http://eve.local"),l=Gc(i.pathname);return Vc(i.searchParams,n),Kc(i.searchParams,a),`${Es(l,s)}${$y(i.searchParams)}`}function Vc(e,t){if(t.length!==0)for(let[a,r]of new URLSearchParams(t))e.append(a,r)}function Hy(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function Gc(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function Kc(e,t){if(t!==void 0)for(let[a,r]of Object.entries(t))e.set(a,r)}function $y(e){let t=e.toString();return t.length===0?"":`?${t}`}function Xc(e){let t;for(let a of e)Wy(a)&&(t=a.data.result);return t}function Wy(e){return e.type==="result.completed"}var Ms=Symbol("consumeMessageResponse"),Fs=Symbol("acceptedDeliveryId"),_s=class{sessionId;[Fs];#t;#e;#a=!1;#r;#n=!1;#u=Promise.withResolvers();constructor(e){this.#t=e.cancelTurn,this.sessionId=e.sessionId,this[Fs]=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=zc(e);return{data:Xc(e),events:e,inputRequests:t.inputRequests,message:t.message,sessionId:this.sessionId,status:t.status}}[Symbol.asyncIterator](){return this[Ms]()}[Ms](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 Ds(e){return e[Fs]}function Qc(e,t){return e[Ms](t)}function Yc(e,t){switch(e){case"21":case"22":case"23":case"24":return jy(e,t);case"25":return zy(t);default:return Vy(e)}}function jy(e,t){if(t.type==="message.appended")return Jc(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 Jc(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 Gy(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 zy(e){return e.type==="message.appended"?(Bs(e.data.messageDelta,"message"),sr(e.data,"messageOffset","message"),sr(e.data,"messageSoFar","message")):e.type==="reasoning.appended"?(Bs(e.data.reasoningDelta,"reasoning"),sr(e.data,"reasoningOffset","reasoning"),sr(e.data,"reasoningSoFar","reasoning")):e.type==="action.input.appended"&&(Bs(e.data.inputTextDelta,"action input"),sr(e.data,"inputTextOffset","action input")),e}function Bs(e,t){if(typeof e!="string")throw TypeError(`Invalid ${t} append delta for stream version 25.`)}function sr(e,t,a){if(t in e)throw TypeError(`Invalid ${a} append shape for stream version 25.`)}function Vy(e){throw TypeError(`Unsupported message stream version: ${String(e)}.`)}function Gy(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 Jc(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 Os(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*tf(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 Ky(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
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"&&Zc(c)?t.onLeaseEnded?.():yield ef(c,t.streamVersion)}u=o.indexOf(`
18
- `)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&Zc(l)?t.onLeaseEnded?.():yield ef(l,t.streamVersion)}}finally{t.signal?.removeEventListener("abort",s),n||a.cancel().catch(()=>{}),a.releaseLock()}}function Zc(e){if(typeof e!="object"||!e)return!1;let t=e;return t.$eve===Ps.$eve&&t.version===Ps.version}function ef(e,t){return Yc(t,e)}async function Gy(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 Ky={21:!0,22:!0,23:!0,24:!0,25:!0};function af(e){let t=e.get(As);if(t!==null&&Object.hasOwn(Ky,t))return t;throw TypeError(t===null?`Missing ${As} response header.`:`Unsupported message stream version: ${t}.`)}var Jt={retryableErrorStatuses:new Set([404,409,425,500,502,503,504]),streamIdleReconnectPolicy:{baseDelayMs:250,maxAttempts:5,maxDelayMs:4e3},streamOpenReconnectPolicy:{baseDelayMs:250,maxAttempts:12,maxDelayMs:5e3}},Xy={...Jt,streamIdleReconnectPolicy:{...Jt.streamIdleReconnectPolicy,maxAttempts:0},streamOpenReconnectPolicy:{...Jt.streamOpenReconnectPolicy,maxAttempts:1}};function rf(e,t){return{...t,...e}}function of(e,t=!1){if(e&&"reconnect"in e&&e.reconnect===!1)return Xy;let a=e;return{retryableErrorStatuses:a?.retryableErrorStatuses?new Set(a.retryableErrorStatuses):Jt.retryableErrorStatuses,streamIdleReconnectPolicy:rf(a?.streamIdleReconnectPolicy,{...Jt.streamIdleReconnectPolicy,maxAttempts:t?1/0:Jt.streamIdleReconnectPolicy.maxAttempts}),streamOpenReconnectPolicy:rf(a?.streamOpenReconnectPolicy,Jt.streamOpenReconnectPolicy)}}async function*Us(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=()=>of(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 Qy({...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 ${Ts} 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 tf(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(!Os(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 ir(n,e.signal),e.signal?.aborted))return;n=Math.min(n*2,r.maxDelayMs)}}}async function Qy(e){let t=e.retryPolicy??of(e.streamReconnectPolicy,e.keepAlive),a=t.streamOpenReconnectPolicy,r,o,n,s=a.baseDelayMs,i=e.startIndex>=0&&t.streamIdleReconnectPolicy.maxAttempts>0?Wc:void 0,l={};i!==void 0&&(l[jc]=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||!Os(L)||u===a.maxAttempts-1)throw L;await ir(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:af(m.headers),tailIndex:Jy(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 ir(s,e.signal),s=Math.min(s*2,a.maxDelayMs))}throw new Ve(r??0,o??"Failed to open message stream.",n)}function Jy(e){let t=e.get(Ts);if(t===null||!/^-?\d+$/.test(t))return;let a=Number(t);return Number.isSafeInteger(a)?a:void 0}async function ir(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 nf=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 sf=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 lf=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 uf=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 df(e){let{signal:t,...a}=e.options??{},{payload:r,response:o}=await Eo({body:a,context:e.context,operation:"Cancel",path:Bc(e.sessionId),signal:t}),n=nf.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 cf(e){let{payload:t}=await Eo({context:e.context,operation:"Clear",path:Uc(e.sessionId)}),a=sf.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 ff(e){let{payload:t}=await Eo({context:e.context,operation:"Compact",path:Oc(e.sessionId)}),a=lf.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 pf(e){let{signal:t,...a}=e.options??{},{payload:r}=await Eo({body:a,context:e.context,operation:"Reset",path:Nc(e.sessionId),signal:t}),o=uf.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 Eo(e){let t=await e.context.resolveHeaders();t.set("content-type","application/json");let a=await fetch(mt(e.context.host,e.path),Yy({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 Yy(e,t){return t===void 0?e:{...e,redirect:t}}import{TypeValidationError as L1,asSchema as PL,jsonSchema as C1}from"ai";function lr(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(!lr(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(!lr(e[n],t[n]))return!1;return!0}return e===t}function nt(e){return encodeURI(Zy(e))}function Zy(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var eL={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},tL={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},aL={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},rL=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 Yt(e,t=Object.create(null),a=rL,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:Yt(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(aL[n])continue;let s=`${r}/${nt(n)}`,i=e[n];if(Array.isArray(i)){if(eL[n]){let l=i.length;for(let u=0;u<l;u++)Yt(i[u],t,a,`${s}/${u}`)}}else if(tL[n])for(let l in i)Yt(i[l],t,a,`${s}/${nt(l)}`);else Yt(i,t,a,s)}return t}var oL=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nL=[0,31,28,31,30,31,30,31,31,30,31,30,31],sL=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,iL=/^(?=.{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,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,uL=/^(?:(?:[^\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,dL=/^(?:(?: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,cL=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,fL=/^(?:\/(?:[^~/]|~0|~1)*)*$/,pL=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,mL=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,hL=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))},gL=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,wL=/^((([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,IL=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 mf={date:hf,time:gf.bind(void 0,!1),"date-time":LL,duration:IL,uri:bL,"uri-reference":ht(lL),"uri-template":ht(uL),url:ht(dL),email:hL,hostname:ht(iL),ipv4:ht(gL),ipv6:ht(wL),regex:kL,uuid:ht(cL),"json-pointer":ht(fL),"json-pointer-uri-fragment":ht(pL),"relative-json-pointer":ht(mL)};function xL(e){return e%4==0&&(e%100!=0||e%400==0)}function hf(e){let t=e.match(oL);if(!t)return!1;let a=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&xL(a)?29:nL[r])}function gf(e,t){let a=t.match(sL);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 yL=/t|\s/i;function LL(e){let t=e.split(yL);return t.length==2&&hf(t[0])&&gf(!0,t[1])}var CL=/\/|:/,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;function bL(e){return CL.test(e)&&SL.test(e)}var vL=/[^\\]\\Z/;function kL(e){if(vL.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var TL;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(TL||={});function AL(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=Yt(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:v,if:N,then:U,else:j,format:ie,properties:z,patternProperties:G,additionalProperties:q,unevaluatedProperties:ee,minProperties:W,maxProperties:Q,propertyNames:E,dependentRequired:b,dependentSchemas:_,dependencies:oe,prefixItems:ne,items:Ae,additionalItems:Ne,unevaluatedItems:k,contains:H,minContains:$,maxContains:se,minItems:he,maxItems:Ie,uniqueItems:ce,minimum:K,maximum:X,exclusiveMinimum:pe,exclusiveMaximum:Ce,multipleOf:le,minLength:re,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+=`
18
+ `)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&Zc(l)?t.onLeaseEnded?.():yield ef(l,t.streamVersion)}}finally{t.signal?.removeEventListener("abort",s),n||a.cancel().catch(()=>{}),a.releaseLock()}}function Zc(e){if(typeof e!="object"||!e)return!1;let t=e;return t.$eve===Ps.$eve&&t.version===Ps.version}function ef(e,t){return Yc(t,e)}async function Ky(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 Xy={21:!0,22:!0,23:!0,24:!0,25:!0};function af(e){let t=e.get(As);if(t!==null&&Object.hasOwn(Xy,t))return t;throw TypeError(t===null?`Missing ${As} response header.`:`Unsupported message stream version: ${t}.`)}var Jt={retryableErrorStatuses:new Set([404,409,425,500,502,503,504]),streamIdleReconnectPolicy:{baseDelayMs:250,maxAttempts:5,maxDelayMs:4e3},streamOpenReconnectPolicy:{baseDelayMs:250,maxAttempts:12,maxDelayMs:5e3}},Qy={...Jt,streamIdleReconnectPolicy:{...Jt.streamIdleReconnectPolicy,maxAttempts:0},streamOpenReconnectPolicy:{...Jt.streamOpenReconnectPolicy,maxAttempts:1}};function rf(e,t){return{...t,...e}}function of(e,t=!1){if(e&&"reconnect"in e&&e.reconnect===!1)return Qy;let a=e;return{retryableErrorStatuses:a?.retryableErrorStatuses?new Set(a.retryableErrorStatuses):Jt.retryableErrorStatuses,streamIdleReconnectPolicy:rf(a?.streamIdleReconnectPolicy,{...Jt.streamIdleReconnectPolicy,maxAttempts:t?1/0:Jt.streamIdleReconnectPolicy.maxAttempts}),streamOpenReconnectPolicy:rf(a?.streamOpenReconnectPolicy,Jt.streamOpenReconnectPolicy)}}async function*Us(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=()=>of(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 Jy({...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 ${Ts} 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 tf(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(!Os(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 ir(n,e.signal),e.signal?.aborted))return;n=Math.min(n*2,r.maxDelayMs)}}}async function Jy(e){let t=e.retryPolicy??of(e.streamReconnectPolicy,e.keepAlive),a=t.streamOpenReconnectPolicy,r,o,n,s=a.baseDelayMs,i=e.startIndex>=0&&t.streamIdleReconnectPolicy.maxAttempts>0?Wc:void 0,l={};i!==void 0&&(l[jc]=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||!Os(L)||u===a.maxAttempts-1)throw L;await ir(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:af(m.headers),tailIndex:Yy(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 ir(s,e.signal),s=Math.min(s*2,a.maxDelayMs))}throw new Ve(r??0,o??"Failed to open message stream.",n)}function Yy(e){let t=e.get(Ts);if(t===null||!/^-?\d+$/.test(t))return;let a=Number(t);return Number.isSafeInteger(a)?a:void 0}async function ir(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 nf=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 sf=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 lf=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 uf=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 df(e){let{signal:t,...a}=e.options??{},{payload:r,response:o}=await Eo({body:a,context:e.context,operation:"Cancel",path:Bc(e.sessionId),signal:t}),n=nf.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 cf(e){let{payload:t}=await Eo({context:e.context,operation:"Clear",path:Uc(e.sessionId)}),a=sf.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 ff(e){let{payload:t}=await Eo({context:e.context,operation:"Compact",path:Oc(e.sessionId)}),a=lf.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 pf(e){let{signal:t,...a}=e.options??{},{payload:r}=await Eo({body:a,context:e.context,operation:"Reset",path:Nc(e.sessionId),signal:t}),o=uf.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 Eo(e){let t=await e.context.resolveHeaders();t.set("content-type","application/json");let a=await fetch(mt(e.context.host,e.path),Zy({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 Zy(e,t){return t===void 0?e:{...e,redirect:t}}import{TypeValidationError as b1,asSchema as RL,jsonSchema as v1}from"ai";function lr(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(!lr(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(!lr(e[n],t[n]))return!1;return!0}return e===t}function nt(e){return encodeURI(eL(e))}function eL(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var tL={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},aL={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},rL={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},oL=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 Yt(e,t=Object.create(null),a=oL,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:Yt(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(rL[n])continue;let s=`${r}/${nt(n)}`,i=e[n];if(Array.isArray(i)){if(tL[n]){let l=i.length;for(let u=0;u<l;u++)Yt(i[u],t,a,`${s}/${u}`)}}else if(aL[n])for(let l in i)Yt(i[l],t,a,`${s}/${nt(l)}`);else Yt(i,t,a,s)}return t}var nL=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,sL=[0,31,28,31,30,31,30,31,31,30,31,30,31],iL=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,lL=/^(?=.{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,uL=/^(?:[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,dL=/^(?:(?:[^\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,cL=/^(?:(?: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,fL=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,pL=/^(?:\/(?:[^~/]|~0|~1)*)*$/,mL=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,hL=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,gL=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))},wL=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,IL=/^((([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,xL=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 mf={date:hf,time:gf.bind(void 0,!1),"date-time":CL,duration:xL,uri:vL,"uri-reference":ht(uL),"uri-template":ht(dL),url:ht(cL),email:gL,hostname:ht(lL),ipv4:ht(wL),ipv6:ht(IL),regex:TL,uuid:ht(fL),"json-pointer":ht(pL),"json-pointer-uri-fragment":ht(mL),"relative-json-pointer":ht(hL)};function yL(e){return e%4==0&&(e%100!=0||e%400==0)}function hf(e){let t=e.match(nL);if(!t)return!1;let a=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&yL(a)?29:sL[r])}function gf(e,t){let a=t.match(iL);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 LL=/t|\s/i;function CL(e){let t=e.split(LL);return t.length==2&&hf(t[0])&&gf(!0,t[1])}var SL=/\/|:/,bL=/^(?:[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 vL(e){return SL.test(e)&&bL.test(e)}var kL=/[^\\]\\Z/;function TL(e){if(kL.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var AL;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(AL||={});function PL(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=Yt(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:v,if:N,then:U,else:j,format:ie,properties:z,patternProperties:G,additionalProperties:q,unevaluatedProperties:ee,minProperties:W,maxProperties:Q,propertyNames:E,dependentRequired:b,dependentSchemas:_,dependencies:oe,prefixItems:ne,items:Ae,additionalItems:Ne,unevaluatedItems:k,contains:H,minContains:$,maxContains:se,minItems:he,maxItems:Ie,uniqueItems:ce,minimum:K,maximum:X,exclusiveMinimum:pe,exclusiveMaximum:Ce,multipleOf:le,minLength:re,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"?lr(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=>lr(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(v!==void 0){let D=`${i}/oneOf`,R=T.length,Y=v.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(b!==void 0){let M=`${i}/dependantRequired`;for(let w in b)if(w in e){let P=b[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(oe!==void 0){let M=`${i}/dependencies`;for(let w in oe)if(w in e){let P=oe[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(ne!==void 0){let M=`${i}/prefixItems`,w=Math.min(ne.length,D);for(;R<w;R++){let P=ve(e[R],ne[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(Ae!==void 0){let M=`${i}/items`;if(Array.isArray(Ae)){let w=Math.min(Ae.length,D);for(;R<w;R++){let P=ve(e[R],Ae[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],Ae,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&&se===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.`}):se!==void 0&&P>se&&T.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${i}/maxContains`,error:`Array may contain at most ${se} 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&&lr(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=re===void 0&&te===void 0?0:AL(e);re!==void 0&&D<re&&T.push({instanceLocation:s,keyword:"minLength",keywordLocation:`${i}/minLength`,error:`String is too short (${D} < ${re}).`}),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&&mf[ie]&&!mf[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 wf=class{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",a=!0){this.schema=e,this.draft=t,this.shortCircuit=a,this.lookup=Yt(e)}validate(e){return ve(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),Yt(e,this.lookup)}};function yf(e){return ML(e,"output")}function RL(e,t){let a=()=>structuredClone(e),r={"~standard":{version:1,vendor:"eve",validate:DL(e,t),jsonSchema:{input:a,output:a}}};return EL.add(r),r}var EL=new WeakSet,T1=RL({});function ML(e,t){return e==null?e:FL(e,t)}function FL(e,t){let a=_L(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=PL(e),{$schema:u,...d}=rr(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}=rr(a===void 0?e:o({target:"draft-07"}));return i}function _L(e){if(typeof e!="object"||!e||!("~standard"in e))return;let t=e["~standard"];return typeof t=="object"&&t?t:void 0}function DL(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=NL(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,nr(u))}if(!s.valid)return{issues:VL(s.errors)};let i=qs(e,e,n),l=t?.(i);return l===void 0?{value:i}:{issues:[{message:l}]}}}function qs(e,t,a){let r=a;for(let o of Lf(e,t)){let{items:n,properties:s}=o;if(pt(r)&&pt(s))r=BL(e,s,r);else if(Array.isArray(r)&&pt(n)){let i=r,l=i.map(u=>qs(e,n,u));l.some((u,d)=>u!==i[d])&&(r=l)}}return r}function BL(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?OL(e,n):qs(e,n,s);i!==s&&(r===a&&(r={...a}),r[o]=i)}return r}function OL(e,t){for(let a of Lf(e,t))if("default"in a)return structuredClone(a.default)}function*Lf(e,t){let a=new Set,r=t;for(;pt(r)&&!a.has(r);)a.add(r),yield r,r=UL(e,r.$ref)}function UL(e,t){if(typeof t!="string"||t!=="#"&&!t.startsWith("#/"))return;let a=e;for(let r of Ns(t)){if(typeof a!="object"||!a||!Object.hasOwn(a,r))return;a=a[r]}return a}function NL(e){try{let t=structuredClone(e);return ur(t)??new wf(t,"2020-12",!1)}catch(t){return nr(t)}}var qL=new Set(["array","boolean","integer","null","number","object","string"]),HL=[["exclusiveMinimum","minimum"],["exclusiveMaximum","maximum"]],$L=["additionalItems","additionalProperties","contains","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],WL=["allOf","anyOf","oneOf","prefixItems"],jL=["$defs","definitions","dependencies","dependentSchemas","patternProperties","properties"];function ur(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 HL)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(If):If(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&&!xf(r))return`invalid pattern ${JSON.stringify(r)}`;for(let i of $L)if(i in t){let l=ur(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=ur(i);if(l!==void 0)return l}for(let i of WL){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=ur(u);if(d!==void 0)return d}}}for(let i of jL){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"&&!xf(u))return`invalid pattern ${JSON.stringify(u)}`;if(i==="dependencies"&&Array.isArray(d))continue;let c=ur(d);if(c!==void 0)return c}}}}function If(e){return typeof e=="string"&&qL.has(e)}function xf(e){if(typeof e!="string")return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var zL=/\/(?:additional|unevaluated)Properties$/;function VL(e){let t=[];for(let r=0;r<e.length;r++){let o=e[r],n=e[r+1];if(zL.test(o.keywordLocation)&&n?.keyword==="false"){let s=Ns(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=Ns(n??r);return s.length===0?{message:o}:{message:o,path:s}})}function Ns(e){return e.split("/").slice(1).map(t=>{let a=t;try{a=decodeURIComponent(t)}catch{}return a.replaceAll("~1","/").replaceAll("~0","~")})}var Cf=Symbol("followClientSession"),dr=class $s{#t;#e;constructor(t,a){this.#t=t,this.#e=a}static async create(t,a){let r=await Ws(t,$e,a,!0),{sessionId:o}=await Hs(r),n=new $s(t,{sessionId:o,streamIndex:0});return{response:n.#r(r,a,0),session:n}}static async prewarm(t,a={}){let{sessionId:r}=await Hs(await KL(t,a));return new $s(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=Dc(this.#e.sessionId),n=a?await GL(this.#t,o,t):await Ws(this.#t,o,t,!1),{sessionId:s,deliveryId:i}=await Hs(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 df({context:this.#t,options:t,sessionId:this.#e.sessionId})}async clear(){return await cf({context:this.#t,sessionId:this.#e.sessionId})}async compact(){return await ff({context:this.#t,sessionId:this.#e.sessionId})}async reset(t){return await pf({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 Us({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})}[Cf](t){return this.#u({...t,keepAlive:!0})}#r(t,a,r,o){return t.body?.cancel().catch(()=>{}),new _s({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(Qt(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 Us({onCaughtUp:t.onCaughtUp,follow:t.follow,host:this.#t.host,keepAlive:t.keepAlive,resolveHeaders:()=>this.#t.resolveHeaders(t.resolveHeaders?.()??t.headers),path:ks(this.#e.sessionId),redirect:this.#t.redirect,signal:t.signal,startIndex:t.startIndex,streamReconnectPolicy:t.streamReconnectPolicy,resolveReconnectPolicy:t.resolveReconnectPolicy})}};function Sf(e,t){return e[Cf](t)}async function GL(e,t,a){let r=Date.now()+2e4,o=250;for(;;){try{return await Ws(e,t,a,!1)}catch(n){if(!XL(n))throw n;let s=r-Date.now();if(s<=0)throw n;await ir(Math.min(o,s),a.signal)}a.signal?.throwIfAborted(),o=Math.min(o*2,2e3)}}async function KL(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 XL(e){return e instanceof Ve&&e.status===409&&e.code==="session_not_ready"}async function Ws(e,t,a,r){let o=QL(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 Hs(e,t){let a=await e.json(),r=(typeof a.sessionId=="string"?a.sessionId:void 0)??e.headers.get($c)?.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 QL(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=yf(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 js=class{#t;constructor(e){this.#t=e}async create(e={}){return"message"in e?await dr.create(this.#t,e):{session:await dr.prewarm(this.#t,e)}}attach(e,t){if(e.length===0)throw Error("sessionId must be a non-empty string.");return new dr(this.#t,{sessionId:e,streamIndex:t?.streamIndex??0})}};function bf(e,t){let a=new TextEncoder().encode(`${e}:${t}`),r=Array.from(a,o=>String.fromCodePoint(o)).join("");return btoa(r)}import{z as Mo}from"zod";var vf=Mo.object({ok:Mo.literal(!0),status:Mo.literal("ready"),workflowId:Mo.string().min(1)}).strict();import{z as h}from"zod";var Fo=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()]),Af=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()]),Pf=h.object({backing:Af,logicalPath:h.string(),owner:Fo}).strict(),Ct=h.object({binding:Pf.optional(),exportName:h.string().optional(),logicalPath:h.string(),owner:Fo,sourceId:h.string(),sourceKind:h.enum(["markdown","module","skill-package"])}).strict(),Zt=Ct.extend({name:h.string()}).strict(),cr=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),JL=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()]),YL=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()]),kf={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()},ZL=h.union([h.object({...kf,endpoint:YL.optional(),id:h.string(),routing:JL}).strict(),h.object({...kf,endpoint:h.never().optional(),id:h.never().optional(),routing:h.object({kind:h.literal("dynamic"),resolver:cr}).strict()}).strict()]),eC=Zt.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(),tC=Zt.extend({description:h.string(),license:h.string().optional(),markdown:h.string(),metadata:h.record(h.string(),h.string()).optional()}).strict(),aC=Zt.extend({content:h.string(),role:h.enum(["system","user"])}).strict(),rC=Zt.extend({cron:h.string(),hasRun:h.boolean(),markdown:h.string().optional()}).strict(),Rf=h.enum(["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","WEBSOCKET"]),oC=Zt.extend({adapterKind:h.string().optional(),method:Rf,urlPath:h.string()}).strict(),nC=h.object({backing:h.union([Af,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:Fo,sourceId:h.string()}).strict(),sC=h.object({method:Rf,source:nC,urlPath:h.string(),winnerSourceId:h.string()}).strict(),iC=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(),lC=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),uC=Ct.extend({description:h.string().optional(),slot:h.string(),visibility:h.enum(["scope","session"])}).strict(),dC=Ct.extend({provider:h.string().optional(),environmentExportName:h.string().optional(),revisionHash:h.string()}).strict(),cC=Zt.extend({configResolver:cr.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(),fC=Zt.extend({description:h.string(),nodeId:h.string(),parentNodeId:h.string(),url:h.string().optional()}).strict(),pC=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(),Tf=h.object({kind:h.enum(["disabled","shadowed"]),logicalPath:h.string(),owner:Fo,sourceId:h.string(),winnerSourceId:h.string().optional()}).strict(),Ef=h.object({agent:h.object({agentRoot:h.string(),appRoot:h.string(),config:Ct.extend({binding:Pf}).strict(),description:h.string().optional(),model:ZL,name:h.string(),nodeId:h.string(),outputSchema:h.unknown().optional()}).strict(),capabilities:h.object({devRoutes:h.boolean()}).strict(),channels:h.object({routes:h.array(oC),shadowed:h.array(sC)}).strict(),composition:h.object({disabled:h.array(Tf),shadowed:h.array(Tf)}).strict(),connections:h.array(iC),diagnostics:h.object({discoveryErrors:h.number(),discoveryWarnings:h.number()}).strict(),hooks:h.array(lC),instructions:h.object({dynamic:h.array(cr),static:h.array(aC)}).strict(),instrumentation:Ct.optional(),kernelEffects:h.array(pC),kind:h.literal("eve-agent-info"),memories:h.array(uC),mode:h.enum(["development","production"]),remoteAgents:h.object({entries:h.array(fC),total:h.number()}).strict(),sandbox:dC,schedules:h.array(rC),skills:h.object({dynamic:h.array(cr),static:h.array(tC)}).strict(),subagents:h.object({local:h.array(cC),total:h.number()}).strict(),tools:h.object({dynamic:h.array(cr),static:h.array(eC)}).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} ${mC(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 mC(e){return e.replace(/^\/+|\/+$/g,"").split("/").map(t=>t.startsWith(":")||/^\[[^\]]+\]$/.test(t)?":":t).join("/")}var Mf="x-vercel-trusted-oidc-idp-token";var Vs=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 js({host:this.#a,redirect:this.#r,resolveHeaders:t=>this.#n(t)})}async health(){let e=mt(this.#a,Fc),t=await this.#n(),a=await fetch(e,Ff({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 Ro}let o=vf.safeParse(r);if(!o.success)throw new Ro(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(_c,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 Po}let r=Ef.safeParse(a);if(!r.success)throw new Po(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(gC(t.headers));return await fetch(a,Ff({...t,headers:r},this.#r))}async#n(e){let t=new Headers,[a,r]=await Promise.all([hC(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 zs(e.vercelOidc.token)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`,[Mf]:t}}if("bearer"in e){let t=(await zs(e.bearer)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`}}if("basic"in e){let t=await zs(e.basic.password);return{authorization:`Basic ${bf(e.basic.username,t)}`}}return{}}};async function zs(e){return typeof e=="function"?e():e}async function hC(e){return e===void 0?{}:typeof e=="function"?await e():e}function gC(e){return e===void 0?{}:Object.fromEntries(new Headers(e).entries())}function Ff(e,t){return t===void 0?e:{...e,redirect:t}}function Gs(){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 _f=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 Sf(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 wC(()=>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)}}},wC=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 Df=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 Of(e){let t=e.at(-1);return t!==void 0&&Je(t)&&(t.type!=="session.waiting"||IC(e).size===0)}function IC(e){let t=new Set;for(let a of e)Qt(t,a);return t}function Ks(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error("A turn requires exactly one of message or inputResponses.")}var Bf=0;function Uf(){let e=globalThis.crypto?.randomUUID;return e===void 0?(Bf+=1,`submission_${Bf.toString()}`):e.call(globalThis.crypto)}function fr(e,t){return e?AbortSignal.any([e,t]):t}function Nf(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 Xs(e){return e instanceof Error&&e.name==="AbortError"}function qf(e){if(e.type!=="session.failed")return;let t=Error(e.data.message);return t.name=e.data.code,t}function Qs(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 Js(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 pr(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 Hf=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:Uf(),message:Nf(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 xC=Symbol("detachEveAgentStore"),yC=Symbol("attachEveAgentStore"),Ys=class{#t;#e;#a=!1;#r;#n=new Set;#u;#g;#p;#S=new Set;#b=Gs();#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 Vs({auth:e.auth,headers:e.headers,host:e.host??""});let t=[];for(let a of e.initialEvents??[])this.#b.admit(a)&&t.push(a),Qt(this.#n,a);this.#m=t,this.#p=new Df(e.reducer,this.#m),this.#g=e.optimistic??!0,this.#h=new Hf(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=Xt(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=Qs(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:pr(Promise.resolve(t(e)),fr(e.signal,a.abortController.signal)));if(Ks(o),!this.#d(a))return;let n=this.#h.submit(o,this.#m.length);this.#_(o),this.#f();let s={...o,signal:fr(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,Ds(l),this.#m))&&this.#f();for await(let u of Qc(l,r)){if(!this.#d(a))return;a.receivedFollowUps+=a.receivedFollowUpEvents.get(u)??0,a.receivedFollowUpEvents.delete(u)}if(!this.#d(a)||(await Js(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(Xs(o))this.#o="ready",this.#h.fail(Xt(o));else{let n=this.#i!==void 0;this.#i??=Xt(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=Qs(()=>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&&!Of(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 Js(t,a,()=>this.#d(t)),this.#d(t)&&(this.#o=this.#i===void 0?"ready":"error")}catch(r){if(!this.#d(t))return;Xs(r)?this.#o="ready":(this.#i=Xt(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()}[yC](){this.#a=!0,this.#e&&this.#s===void 0&&this.prewarm().catch(()=>{})}[xC](){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=Gs(),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=fr(t.signal,e.abortController.signal),n=await pr(Promise.resolve(a?.(t)),o)??t;if(r!==this.#w)return;if(Ks(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=fr(n.signal,e.abortController.signal);if(await pr(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,Ds(c),this.#m))&&this.#f()}catch(l){throw this.#d(e)&&(this.#h.fail(Xt(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 pr(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 _f(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=Xt(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";Qt(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=qf(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 LC=3e4;function CC(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function Zs(e){return`waniwani:eve-conversation:${e??""}`}function $f(e){try{let t=JSON.parse(localStorage.getItem(Zs(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 _o(e,t){try{t?localStorage.setItem(Zs(e),JSON.stringify(t)):localStorage.removeItem(Zs(e))}catch{}}var SC={initial:()=>{},reduce:()=>{}},mr=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,this.store=new Ys({host:r.eveHost,auth:{bearer:()=>this.bearer()},initialSession:{sessionId:r.sessionId,streamIndex:0},optimistic:!1,reducer:SC}),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=CC(),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-LC>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:{code:"transport_failed",message:i.message,sessionId:this.sessionId}}),n.close()}}).pipeThrough(To())}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 bC(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function vC(e){return e.filter(t=>t.role==="user").map(t=>t.parts.flatMap(a=>a.type==="text"?[a.text]:[]).join(`
23
- `))}function Wf(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 kC(e){return async t=>{let a=await Wf({...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 TC(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 AC(e){return async t=>{let a=await Wf({...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 ei=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=$f(this.channelId);if(this.options.needsFallback()||!("withResolvers"in Promise)||!t)return[];this.disposed=!1;let a=mr.resume({open:this.options.open,saved:t}).catch(()=>null);this.session=a;let r=await a;return r?await Rc(await r.history()):(_o(this.channelId,null),this.session===a&&(this.session=void 0),[])}reset(){_o(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 mr.create({open:this.options.open,channelId:a,visitorId:bC(t)});return _o(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=vC(t.messages),i=n.turn(s.at(-1)??"",t.abortSignal);if(!n.followups)return i;let{saved:l}=n;return i.pipeThrough(TC({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 jf(e){return t=>new ei({...t,open:AC({sessionApi:e,headers:t.headers}),suggest:kC({sessionApi:e,headers:t.headers})})}import{jsx as Gf}from"react/jsx-runtime";var EC=600,Vf="https://app.waniwani.ai/api/mcp/chat",MC=PC(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=ti(null),d=ti(null),c=Bo(()=>Pd({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Do(()=>{if(l)return c.subscribe(l)},[l,c]);let f=Bo(()=>({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??Vf,[m,L]=zf({}),[C,y]=zf(!1),S=ti(!1);Do(()=>{C&&!S.current&&(S.current=!0,c.emit({name:"chat.ready"}))},[C,c]);let I=i?.disablePageView;Do(()=>{if(!r){y(!0);return}let z=W=>{I||hs({api:p,token:r,channelId:o??W.channelId,mode:"inline",source:W.source})},G=vo(p,r,o);G&&(L(G),Ma("cache"),Pr(G.metadata),y(!0),z(G));let q=new AbortController,ee=setTimeout(()=>{Ma("timeout"),y(!0)},EC);return cc(p,r,q.signal,o).then(W=>{q.signal.aborted||(Object.keys(W).length>0&&(dc(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=Bo(()=>ps(f,m,void 0),[f,m]),v=lc(x);gc({widgetEvents:c,api:x.api??p,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:v.page,getSessionId:()=>u.current?.sessionId}),Do(()=>{if(!r)return;let z=Pc({api:p,token:r,channelId:()=>o??vo(p,r,o)?.channelId,getSource:()=>vo(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=z,()=>{d.current=null,z.shutdown()}},[p,r,o]),RC(a,()=>{let z=()=>d.current??Cs("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=nc(x.visibility,C);Zi({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=Bo(()=>j?jf(j):void 0,[j]);return N?Gf(Md,{value:c,children:Gf(fs,{ref:u,api:x.api??Vf,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:v,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{fs as ChatEmbed,Sx as DARK_THEME,ec as DEFAULT_THEME,Fa as McpAppFrame,MC as WaniwaniChat,Um as WebMcpOverlay,vx as mergeTheme,cs as themeToCSSProperties};
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"?lr(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=>lr(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(v!==void 0){let D=`${i}/oneOf`,R=T.length,Y=v.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(b!==void 0){let M=`${i}/dependantRequired`;for(let w in b)if(w in e){let P=b[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(oe!==void 0){let M=`${i}/dependencies`;for(let w in oe)if(w in e){let P=oe[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(ne!==void 0){let M=`${i}/prefixItems`,w=Math.min(ne.length,D);for(;R<w;R++){let P=ve(e[R],ne[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(Ae!==void 0){let M=`${i}/items`;if(Array.isArray(Ae)){let w=Math.min(Ae.length,D);for(;R<w;R++){let P=ve(e[R],Ae[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],Ae,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&&se===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.`}):se!==void 0&&P>se&&T.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${i}/maxContains`,error:`Array may contain at most ${se} 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&&lr(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=re===void 0&&te===void 0?0:PL(e);re!==void 0&&D<re&&T.push({instanceLocation:s,keyword:"minLength",keywordLocation:`${i}/minLength`,error:`String is too short (${D} < ${re}).`}),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&&mf[ie]&&!mf[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 wf=class{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",a=!0){this.schema=e,this.draft=t,this.shortCircuit=a,this.lookup=Yt(e)}validate(e){return ve(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),Yt(e,this.lookup)}};function yf(e){return FL(e,"output")}function EL(e,t){let a=()=>structuredClone(e),r={"~standard":{version:1,vendor:"eve",validate:BL(e,t),jsonSchema:{input:a,output:a}}};return ML.add(r),r}var ML=new WeakSet,R1=EL({});function FL(e,t){return e==null?e:_L(e,t)}function _L(e,t){let a=DL(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=RL(e),{$schema:u,...d}=rr(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}=rr(a===void 0?e:o({target:"draft-07"}));return i}function DL(e){if(typeof e!="object"||!e||!("~standard"in e))return;let t=e["~standard"];return typeof t=="object"&&t?t:void 0}function BL(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=qL(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,nr(u))}if(!s.valid)return{issues:GL(s.errors)};let i=qs(e,e,n),l=t?.(i);return l===void 0?{value:i}:{issues:[{message:l}]}}}function qs(e,t,a){let r=a;for(let o of Lf(e,t)){let{items:n,properties:s}=o;if(pt(r)&&pt(s))r=OL(e,s,r);else if(Array.isArray(r)&&pt(n)){let i=r,l=i.map(u=>qs(e,n,u));l.some((u,d)=>u!==i[d])&&(r=l)}}return r}function OL(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?UL(e,n):qs(e,n,s);i!==s&&(r===a&&(r={...a}),r[o]=i)}return r}function UL(e,t){for(let a of Lf(e,t))if("default"in a)return structuredClone(a.default)}function*Lf(e,t){let a=new Set,r=t;for(;pt(r)&&!a.has(r);)a.add(r),yield r,r=NL(e,r.$ref)}function NL(e,t){if(typeof t!="string"||t!=="#"&&!t.startsWith("#/"))return;let a=e;for(let r of Ns(t)){if(typeof a!="object"||!a||!Object.hasOwn(a,r))return;a=a[r]}return a}function qL(e){try{let t=structuredClone(e);return ur(t)??new wf(t,"2020-12",!1)}catch(t){return nr(t)}}var HL=new Set(["array","boolean","integer","null","number","object","string"]),$L=[["exclusiveMinimum","minimum"],["exclusiveMaximum","maximum"]],WL=["additionalItems","additionalProperties","contains","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],jL=["allOf","anyOf","oneOf","prefixItems"],zL=["$defs","definitions","dependencies","dependentSchemas","patternProperties","properties"];function ur(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 $L)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(If):If(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&&!xf(r))return`invalid pattern ${JSON.stringify(r)}`;for(let i of WL)if(i in t){let l=ur(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=ur(i);if(l!==void 0)return l}for(let i of jL){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=ur(u);if(d!==void 0)return d}}}for(let i of zL){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"&&!xf(u))return`invalid pattern ${JSON.stringify(u)}`;if(i==="dependencies"&&Array.isArray(d))continue;let c=ur(d);if(c!==void 0)return c}}}}function If(e){return typeof e=="string"&&HL.has(e)}function xf(e){if(typeof e!="string")return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var VL=/\/(?:additional|unevaluated)Properties$/;function GL(e){let t=[];for(let r=0;r<e.length;r++){let o=e[r],n=e[r+1];if(VL.test(o.keywordLocation)&&n?.keyword==="false"){let s=Ns(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=Ns(n??r);return s.length===0?{message:o}:{message:o,path:s}})}function Ns(e){return e.split("/").slice(1).map(t=>{let a=t;try{a=decodeURIComponent(t)}catch{}return a.replaceAll("~1","/").replaceAll("~0","~")})}var Cf=Symbol("followClientSession"),dr=class $s{#t;#e;constructor(t,a){this.#t=t,this.#e=a}static async create(t,a){let r=await Ws(t,$e,a,!0),{sessionId:o}=await Hs(r),n=new $s(t,{sessionId:o,streamIndex:0});return{response:n.#r(r,a,0),session:n}}static async prewarm(t,a={}){let{sessionId:r}=await Hs(await XL(t,a));return new $s(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=Dc(this.#e.sessionId),n=a?await KL(this.#t,o,t):await Ws(this.#t,o,t,!1),{sessionId:s,deliveryId:i}=await Hs(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 df({context:this.#t,options:t,sessionId:this.#e.sessionId})}async clear(){return await cf({context:this.#t,sessionId:this.#e.sessionId})}async compact(){return await ff({context:this.#t,sessionId:this.#e.sessionId})}async reset(t){return await pf({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 Us({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})}[Cf](t){return this.#u({...t,keepAlive:!0})}#r(t,a,r,o){return t.body?.cancel().catch(()=>{}),new _s({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(Qt(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 Us({onCaughtUp:t.onCaughtUp,follow:t.follow,host:this.#t.host,keepAlive:t.keepAlive,resolveHeaders:()=>this.#t.resolveHeaders(t.resolveHeaders?.()??t.headers),path:ks(this.#e.sessionId),redirect:this.#t.redirect,signal:t.signal,startIndex:t.startIndex,streamReconnectPolicy:t.streamReconnectPolicy,resolveReconnectPolicy:t.resolveReconnectPolicy})}};function Sf(e,t){return e[Cf](t)}async function KL(e,t,a){let r=Date.now()+2e4,o=250;for(;;){try{return await Ws(e,t,a,!1)}catch(n){if(!QL(n))throw n;let s=r-Date.now();if(s<=0)throw n;await ir(Math.min(o,s),a.signal)}a.signal?.throwIfAborted(),o=Math.min(o*2,2e3)}}async function XL(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 QL(e){return e instanceof Ve&&e.status===409&&e.code==="session_not_ready"}async function Ws(e,t,a,r){let o=JL(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 Hs(e,t){let a=await e.json(),r=(typeof a.sessionId=="string"?a.sessionId:void 0)??e.headers.get($c)?.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 JL(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=yf(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 js=class{#t;constructor(e){this.#t=e}async create(e={}){return"message"in e?await dr.create(this.#t,e):{session:await dr.prewarm(this.#t,e)}}attach(e,t){if(e.length===0)throw Error("sessionId must be a non-empty string.");return new dr(this.#t,{sessionId:e,streamIndex:t?.streamIndex??0})}};function bf(e,t){let a=new TextEncoder().encode(`${e}:${t}`),r=Array.from(a,o=>String.fromCodePoint(o)).join("");return btoa(r)}import{z as Mo}from"zod";var vf=Mo.object({ok:Mo.literal(!0),status:Mo.literal("ready"),workflowId:Mo.string().min(1)}).strict();import{z as h}from"zod";var Fo=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()]),Af=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()]),Pf=h.object({backing:Af,logicalPath:h.string(),owner:Fo}).strict(),Ct=h.object({binding:Pf.optional(),exportName:h.string().optional(),logicalPath:h.string(),owner:Fo,sourceId:h.string(),sourceKind:h.enum(["markdown","module","skill-package"])}).strict(),Zt=Ct.extend({name:h.string()}).strict(),cr=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),YL=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()]),ZL=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()]),kf={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()},eC=h.union([h.object({...kf,endpoint:ZL.optional(),id:h.string(),routing:YL}).strict(),h.object({...kf,endpoint:h.never().optional(),id:h.never().optional(),routing:h.object({kind:h.literal("dynamic"),resolver:cr}).strict()}).strict()]),tC=Zt.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(),aC=Zt.extend({description:h.string(),license:h.string().optional(),markdown:h.string(),metadata:h.record(h.string(),h.string()).optional()}).strict(),rC=Zt.extend({content:h.string(),role:h.enum(["system","user"])}).strict(),oC=Zt.extend({cron:h.string(),hasRun:h.boolean(),markdown:h.string().optional()}).strict(),Rf=h.enum(["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","WEBSOCKET"]),nC=Zt.extend({adapterKind:h.string().optional(),method:Rf,urlPath:h.string()}).strict(),sC=h.object({backing:h.union([Af,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:Fo,sourceId:h.string()}).strict(),iC=h.object({method:Rf,source:sC,urlPath:h.string(),winnerSourceId:h.string()}).strict(),lC=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(),uC=Ct.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),dC=Ct.extend({description:h.string().optional(),slot:h.string(),visibility:h.enum(["scope","session"])}).strict(),cC=Ct.extend({provider:h.string().optional(),environmentExportName:h.string().optional(),revisionHash:h.string()}).strict(),fC=Zt.extend({configResolver:cr.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(),pC=Zt.extend({description:h.string(),nodeId:h.string(),parentNodeId:h.string(),url:h.string().optional()}).strict(),mC=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(),Tf=h.object({kind:h.enum(["disabled","shadowed"]),logicalPath:h.string(),owner:Fo,sourceId:h.string(),winnerSourceId:h.string().optional()}).strict(),Ef=h.object({agent:h.object({agentRoot:h.string(),appRoot:h.string(),config:Ct.extend({binding:Pf}).strict(),description:h.string().optional(),model:eC,name:h.string(),nodeId:h.string(),outputSchema:h.unknown().optional()}).strict(),capabilities:h.object({devRoutes:h.boolean()}).strict(),channels:h.object({routes:h.array(nC),shadowed:h.array(iC)}).strict(),composition:h.object({disabled:h.array(Tf),shadowed:h.array(Tf)}).strict(),connections:h.array(lC),diagnostics:h.object({discoveryErrors:h.number(),discoveryWarnings:h.number()}).strict(),hooks:h.array(uC),instructions:h.object({dynamic:h.array(cr),static:h.array(rC)}).strict(),instrumentation:Ct.optional(),kernelEffects:h.array(mC),kind:h.literal("eve-agent-info"),memories:h.array(dC),mode:h.enum(["development","production"]),remoteAgents:h.object({entries:h.array(pC),total:h.number()}).strict(),sandbox:cC,schedules:h.array(oC),skills:h.object({dynamic:h.array(cr),static:h.array(aC)}).strict(),subagents:h.object({local:h.array(fC),total:h.number()}).strict(),tools:h.object({dynamic:h.array(cr),static:h.array(tC)}).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} ${hC(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 hC(e){return e.replace(/^\/+|\/+$/g,"").split("/").map(t=>t.startsWith(":")||/^\[[^\]]+\]$/.test(t)?":":t).join("/")}var Mf="x-vercel-trusted-oidc-idp-token";var Vs=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 js({host:this.#a,redirect:this.#r,resolveHeaders:t=>this.#n(t)})}async health(){let e=mt(this.#a,Fc),t=await this.#n(),a=await fetch(e,Ff({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 Ro}let o=vf.safeParse(r);if(!o.success)throw new Ro(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(_c,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 Po}let r=Ef.safeParse(a);if(!r.success)throw new Po(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(wC(t.headers));return await fetch(a,Ff({...t,headers:r},this.#r))}async#n(e){let t=new Headers,[a,r]=await Promise.all([gC(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 zs(e.vercelOidc.token)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`,[Mf]:t}}if("bearer"in e){let t=(await zs(e.bearer)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`}}if("basic"in e){let t=await zs(e.basic.password);return{authorization:`Basic ${bf(e.basic.username,t)}`}}return{}}};async function zs(e){return typeof e=="function"?e():e}async function gC(e){return e===void 0?{}:typeof e=="function"?await e():e}function wC(e){return e===void 0?{}:Object.fromEntries(new Headers(e).entries())}function Ff(e,t){return t===void 0?e:{...e,redirect:t}}function Gs(){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 _f=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 Sf(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 IC(()=>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)}}},IC=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 Df=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 Of(e){let t=e.at(-1);return t!==void 0&&Je(t)&&(t.type!=="session.waiting"||xC(e).size===0)}function xC(e){let t=new Set;for(let a of e)Qt(t,a);return t}function Ks(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error("A turn requires exactly one of message or inputResponses.")}var Bf=0;function Uf(){let e=globalThis.crypto?.randomUUID;return e===void 0?(Bf+=1,`submission_${Bf.toString()}`):e.call(globalThis.crypto)}function fr(e,t){return e?AbortSignal.any([e,t]):t}function Nf(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 Xs(e){return e instanceof Error&&e.name==="AbortError"}function qf(e){if(e.type!=="session.failed")return;let t=Error(e.data.message);return t.name=e.data.code,t}function Qs(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 Js(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 pr(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 Hf=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:Uf(),message:Nf(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 yC=Symbol("detachEveAgentStore"),LC=Symbol("attachEveAgentStore"),Ys=class{#t;#e;#a=!1;#r;#n=new Set;#u;#g;#p;#S=new Set;#b=Gs();#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 Vs({auth:e.auth,headers:e.headers,host:e.host??""});let t=[];for(let a of e.initialEvents??[])this.#b.admit(a)&&t.push(a),Qt(this.#n,a);this.#m=t,this.#p=new Df(e.reducer,this.#m),this.#g=e.optimistic??!0,this.#h=new Hf(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=Xt(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=Qs(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:pr(Promise.resolve(t(e)),fr(e.signal,a.abortController.signal)));if(Ks(o),!this.#d(a))return;let n=this.#h.submit(o,this.#m.length);this.#_(o),this.#f();let s={...o,signal:fr(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,Ds(l),this.#m))&&this.#f();for await(let u of Qc(l,r)){if(!this.#d(a))return;a.receivedFollowUps+=a.receivedFollowUpEvents.get(u)??0,a.receivedFollowUpEvents.delete(u)}if(!this.#d(a)||(await Js(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(Xs(o))this.#o="ready",this.#h.fail(Xt(o));else{let n=this.#i!==void 0;this.#i??=Xt(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=Qs(()=>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&&!Of(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 Js(t,a,()=>this.#d(t)),this.#d(t)&&(this.#o=this.#i===void 0?"ready":"error")}catch(r){if(!this.#d(t))return;Xs(r)?this.#o="ready":(this.#i=Xt(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()}[LC](){this.#a=!0,this.#e&&this.#s===void 0&&this.prewarm().catch(()=>{})}[yC](){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=Gs(),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=fr(t.signal,e.abortController.signal),n=await pr(Promise.resolve(a?.(t)),o)??t;if(r!==this.#w)return;if(Ks(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=fr(n.signal,e.abortController.signal);if(await pr(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,Ds(c),this.#m))&&this.#f()}catch(l){throw this.#d(e)&&(this.#h.fail(Xt(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 pr(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 _f(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=Xt(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";Qt(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=qf(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()}};function CC(){let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}function SC(e){let t=new AbortController;for(let a of e){if(a.aborted)return t.abort(a.reason),t.signal;a.addEventListener("abort",()=>t.abort(a.reason),{once:!0,signal:t.signal})}return t.signal}function $f(){"withResolvers"in Promise||Object.defineProperty(Promise,"withResolvers",{value:CC,configurable:!0,writable:!0}),"any"in AbortSignal||Object.defineProperty(AbortSignal,"any",{value:SC,configurable:!0,writable:!0})}var bC=3e4;function vC(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function Zs(e){return`waniwani:eve-conversation:${e??""}`}function Wf(e){try{let t=JSON.parse(localStorage.getItem(Zs(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 _o(e,t){try{t?localStorage.setItem(Zs(e),JSON.stringify(t)):localStorage.removeItem(Zs(e))}catch{}}var kC={initial:()=>{},reduce:()=>{}},mr=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,$f(),this.store=new Ys({host:r.eveHost,auth:{bearer:()=>this.bearer()},initialSession:{sessionId:r.sessionId,streamIndex:0},optimistic:!1,reducer:kC}),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=vC(),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-bC>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:{code:"transport_failed",message:i.message,sessionId:this.sessionId}}),n.close()}}).pipeThrough(To())}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 TC(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function AC(e){return e.filter(t=>t.role==="user").map(t=>t.parts.flatMap(a=>a.type==="text"?[a.text]:[]).join(`
23
+ `))}function jf(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 PC(e){return async t=>{let a=await jf({...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 RC(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 EC(e){return async t=>{let a=await jf({...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 ei=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=Wf(this.channelId);if(this.options.needsFallback()||!t)return[];this.disposed=!1;let a=mr.resume({open:this.options.open,saved:t}).catch(()=>null);this.session=a;let r=await a;return r?await Rc(await r.history()):(_o(this.channelId,null),this.session===a&&(this.session=void 0),[])}reset(){_o(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 mr.create({open:this.options.open,channelId:a,visitorId:TC(t)});return _o(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())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=AC(t.messages),i=n.turn(s.at(-1)??"",t.abortSignal);if(!n.followups)return i;let{saved:l}=n;return i.pipeThrough(RC({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 zf(e){return t=>new ei({...t,open:EC({sessionApi:e,headers:t.headers}),suggest:PC({sessionApi:e,headers:t.headers})})}import{jsx as Kf}from"react/jsx-runtime";var _C=600,Gf="https://app.waniwani.ai/api/mcp/chat",DC=MC(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=ti(null),d=ti(null),c=Bo(()=>Pd({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Do(()=>{if(l)return c.subscribe(l)},[l,c]);let f=Bo(()=>({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??Gf,[m,L]=Vf({}),[C,y]=Vf(!1),S=ti(!1);Do(()=>{C&&!S.current&&(S.current=!0,c.emit({name:"chat.ready"}))},[C,c]);let I=i?.disablePageView;Do(()=>{if(!r){y(!0);return}let z=W=>{I||hs({api:p,token:r,channelId:o??W.channelId,mode:"inline",source:W.source})},G=vo(p,r,o);G&&(L(G),Ma("cache"),Pr(G.metadata),y(!0),z(G));let q=new AbortController,ee=setTimeout(()=>{Ma("timeout"),y(!0)},_C);return cc(p,r,q.signal,o).then(W=>{q.signal.aborted||(Object.keys(W).length>0&&(dc(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=Bo(()=>ps(f,m,void 0),[f,m]),v=lc(x);gc({widgetEvents:c,api:x.api??p,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:v.page,getSessionId:()=>u.current?.sessionId}),Do(()=>{if(!r)return;let z=Pc({api:p,token:r,channelId:()=>o??vo(p,r,o)?.channelId,getSource:()=>vo(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=z,()=>{d.current=null,z.shutdown()}},[p,r,o]),FC(a,()=>{let z=()=>d.current??Cs("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=nc(x.visibility,C);Zi({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=Bo(()=>j?zf(j):void 0,[j]);return N?Kf(Md,{value:c,children:Kf(fs,{ref:u,api:x.api??Gf,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:v,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{fs as ChatEmbed,bx as DARK_THEME,ec as DEFAULT_THEME,Fa as McpAppFrame,DC as WaniwaniChat,Nm as WebMcpOverlay,kx as mergeTheme,cs as themeToCSSProperties};
24
24
  /*! Bundled license information:
25
25
 
26
26
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: