@waniwani/sdk 0.22.0-beta.5 → 0.22.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/embed.js +101 -94
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/index.d.ts +25 -3
- package/dist/chat/index.js +12 -12
- package/dist/chat/index.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -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 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}
|
|
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 Uo,l as wi,m as Zt,n as ea,o as Sr,p as ta,u as xa}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as bm,useEffect as Er,useMemo as vm,useRef as _e,useState as el}from"react";function aa(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!aa(e)&&!aa(t)?null:aa(e)?aa(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 lp,createElement as up}from"react";var Cr=(...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 No=e=>{let t=yi(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as ip,createElement as Ci}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 Si=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var bi=ip(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Ci("svg",{ref:l,...Li,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Cr("lucide",o),...!n&&!Si(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Ci(u,d)),...Array.isArray(n)?n:[n]]));var ce=(e,t)=>{let a=lp(({className:r,...o},n)=>up(bi,{ref:n,iconNode:t,className:Cr(`lucide-${xi(No(e))}`,`lucide-${e}`,r),...o}));return a.displayName=No(e),a};var dp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ya=ce("arrow-down",dp);var cp=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],La=ce("arrow-up",cp);var fp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Sa=ce("check",fp);var pp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],bt=ce("chevron-down",pp);var mp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ca=ce("chevron-right",mp);var hp=[["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"}]],ba=ce("clipboard-copy",hp);var gp=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ht=ce("clock",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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],va=ce("file-text",wp);var Ip=[["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=ce("file",Ip);var xp=[["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"}]],ka=ce("globe",xp);var yp=[["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"}]],Ta=ce("image",yp);var Lp=[["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"}]],Aa=ce("loader",Lp);var Sp=[["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=ce("paperclip",Sp);var Cp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Pa=ce("square",Cp);var bp=[["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"}]],Nt=ce("wrench",bp);var vp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vt=ce("x",vp);var kp=[["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"}]],Ra=ce("zap",kp);import{createContext as Np,useCallback as qp,useContext as Mi,useEffect as Hp,useMemo as Go,useRef as $p,useState as Ko}from"react";function qo(e){if(!(typeof e!="object"||e===null))return e}function vi(e){return qo(e?.ui)}function Ho(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 Ea(e){return vi(e)?.autoHeight===!0}function $o(e){return qo(qo(e)?._meta)}import{createContext as Tp,useContext as Ap,useEffect as Pp,useMemo as Rp,useState as Pi}from"react";var ki=["en","fr","es"];function na(e){return ki.includes(e)}function Wo(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 jo={en:br,fr:Ai,es:Ti};import{jsx as Fp}from"react/jsx-runtime";var Ri=Tp(null);function Ep(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function zo({children:e,locale:t,messages:a}){let r=!!(t&&Mp(t)),o=r?t:"en",[n,s]=Pi(o),[i,l]=Pi(r);Pp(()=>{s(Wo(t)),l(!0)},[t]);let u=Rp(()=>{let d=jo[n]??jo["en"];return{locale:n,t:Ep(d,a),ready:i}},[n,a,i]);return Fp(Ri.Provider,{value:u,children:e})}function Mp(e){return e==="en"||e==="fr"||e==="es"}function te(){let e=Ap(Ri);return e||{locale:"en",t:br,ready:!0}}function Vo(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}var _p=ui({prefix:"ww"});function A(...e){return _p(li(e))}import{jsx as Dp}from"react/jsx-runtime";var it=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Dp("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 Bp}from"react";import{jsx as Up}from"react/jsx-runtime";var Op=({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 Up(e,{"data-waniwani-shimmer":"",className:A("ww:inline-block",t),style:s,...n,children:o})},at=Bp(Op);at.displayName="Shimmer";import{Fragment as Ei,jsx as ge,jsxs as qt}from"react/jsx-runtime";function Wp(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 jp({text:e,className:t}){let{t:a}=te(),[r,o]=Ko(!1),n=$p(null);Hp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=qp(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(it,{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?qt(Ei,{children:[ge(Sa,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):qt(Ei,{children:[ge(ba,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Fi({data:e,label:t,className:a,...r}){let[o,n]=Ko(!1),s=Go(()=>JSON.stringify(e,null,2),[e]),i=Wp(e);return qt("div",{className:A("ww:rounded-lg ww:bg-tool-card",a),...r,children:[qt("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(jp,{text:s})]}),qt("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(Ca,{className:A("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?ge("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ge("code",{children:s})}):ge("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Xo=Np({open:!1,toggle:()=>{}});function _i({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Ko(t);return ge(Xo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ge("div",{className:A("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function Di({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Mi(Xo),s=a==="input-available"||a==="input-streaming",i=t??"";return qt("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(Nt,{className:"ww:size-4 ww:shrink-0"}),ge("span",{className:"ww:truncate",children:s?ge(at,{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(at,{duration:1.6,children:n}):n})})}function Oi({className:e,children:t,...a}){let{open:r}=Mi(Xo);return ge("div",{className:A("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ge("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ge("div",{className:A("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Jo({className:e,input:t,debug:a,...r}){let{t:o}=te(),n=Go(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ge(Fi,{data:n,label:o.tool.request,className:e,...r})}function Ma(e,t,a){if(e){let r=Ho(a?.[e]?._meta);if(r)return r}return Ho($o(t))}function Ui(e,t,a){return e&&Ea(a?.[e]?._meta)?!0:Ea($o(t))}function Qo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=te(),s=Go(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?qt("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 rt(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 zp="/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(zp)?`${r}${t}`:null}function Vp(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function lt(...e){Vp()&&console.log("[Waniwani]",...e)}var Yo="waniwani-visitor-id";function Gp(){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 Ke(){try{let t=localStorage.getItem(Yo);if(t)return t}catch{}let e=Gp();try{localStorage.setItem(Yo,e)}catch{}return e}function Zo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ke();try{localStorage.setItem(Yo,t)}catch{}return t}function Kp(e){return e!=null&&typeof e.then=="function"}function en(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return Kp(r)?r.then(o=>{t||Zo(o??"")},()=>{}):Zo(r??""),a}var Xp="waniwani-memory";var Xe="threads",kr="by_memoryUserId",Jp="by_updatedAt";var $i="memoryUserId",Hi="waniwani-memory-user-id",tn=null;function an(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Qp(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Xe)){let a=e.createObjectStore(Xe,{keyPath:"threadId"});a.createIndex(kr,"memoryUserId",{unique:!1}),a.createIndex(Jp,"updatedAt",{unique:!1})}}async function rn(){return new Promise((e,t)=>{let a=indexedDB.open(Xp,2);a.onupgradeneeded=r=>{Qp(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Yp(){return rn()}async function Zp(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 em(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 tm(){if(typeof indexedDB>"u")return null;try{let e=await Yp();try{let t=await Zp(e);if(t)return t;let a=an();return await em(e,a),a}finally{e.close()}}catch{return null}}function am(){try{let e=localStorage.getItem(Hi);if(e)return e;let t=an();return localStorage.setItem(Hi,t),t}catch{return null}}async function Wi(){let e=await tm();if(e)return e;let t=am();return t||(tn||(tn=an()),tn)}function ji(e,t){return e.match(t)?.[1]??null}function rm(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 om(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 nm(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 Fa(){let e=navigator.userAgent,t=Ke(),a=await Wi();return{userAgent:e,browser:rm(e),os:om(e),deviceType:nm(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 sm="0.22.0-beta.6",im=40,lm=10,um=6e5;function nn(){return typeof performance>"u"?0:performance.now()}function sn(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=nn()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function dm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=im)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>um||(t[a]=o)}return t}function cm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=lm)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function fm(){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 pm(e,t,a,r){return{kind:e,sdkVersion:sm,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ke(),pageHost:window.location.hostname,connection:fm(),tags:cm(a),metrics:dm(r)}}var on,Tr=[];function Pr(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";on=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||on===!1))try{let s=pm(e,t,a,r),i=()=>{lt("timing",s),fetch(rt(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};on?i():Tr.length<20&&Tr.push(i)}catch{}}var gt=sn("boot",0),zi;function Ht(e,t){gt.mark(e,t)}function _a(e){zi??=e}var mm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,hm=/\/embed\.js(\?|$)/;function gm(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&>.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&>.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)mm.test(a.name)?(gt.mark("bundleStart",a.startTime),gt.mark("bundleEnd",a.responseEnd)):hm.test(a.name)&&(gt.mark("loaderStart",a.startTime),gt.mark("loaderEnd",a.responseEnd))}function wm(){if(qi)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Vi(e){gm(),gt.mark("bundleExecuted",Ni),Rr("boot",e,{configSource:zi,mode:e.mode,secondSdk:wm()},gt.metrics)}var Im=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Gi(e){let t=sn("turn",nn());t.set("turnIndex",e);let a=!1;return{mark:r=>t.mark(r),instrument(r){if(!r.ok||!r.body||typeof TransformStream>"u")return r;try{let o=new TextDecoder,n=r.body.pipeThrough(new TransformStream({transform(s,i){t.mark("firstChunk");let l=o.decode(s,{stream:!0});for(let[u,d]of Im)!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 xm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ki(e,t){let a=sn("widget",nn()),r=!1;return{mark:o=>a.mark(o),has:o=>a.has(o),report(o,n){r||(r=!0,a.set("retries",n),t({widget:xm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as ym,useContext as Lm,useEffect as Sm,useRef as Xi}from"react";var Ji=ym(()=>{});function Qi(){return Lm(Ji)}var Yi=Ji.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);Sm(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;Ht(o.paintMark),Cm(()=>Vi(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as Om}from"react/jsx-runtime";var km="/api/mcp/resource",Tm=500,Am=0,Pm=16,Rm="2026-01-26",Em=300,Mm=3e3,Fm=3,_m=2e3;function Dm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Bm(e,t,a){return Ma(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Da({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=km,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:p=!1,toolDefinitions:f}){let m=_e(null),y=_e(t),S=_e(a),L=_e({width:0,height:0}),C=_e(null),I=_e(!1),x=_e(0),v=_e("inline"),[q,N]=el(Am),[z,V]=el(void 0),Q=_e(l),O=_e(u),re=_e(d),K=_e(c),J=_e(o),X=_e(f);y.current=t,S.current=a,Q.current=l,O.current=u,re.current=d,K.current=c,J.current=o,X.current=f;let E=bm(k=>i?Math.max(k+Pm,0):Math.min(Math.max(k,50),Tm),[i]),b=vm(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),D=Qi(),ae=_e(null),oe=_e(void 0);Er(()=>{let k=Ki(e,D);return ae.current=k,()=>{clearTimeout(oe.current),k.has("initialized")||k.report("timeout",x.current),ae.current=null}},[e,D]);let Re=_e(n);Re.current=n;let Ne=_e(p);return Er(()=>{Ne.current=p,L.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[p]),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,ne=null,me=null,Ie=setTimeout(()=>{if(H||$||x.current>=Fm)return;x.current+=1;let j=new URL(k.src);j.searchParams.set("_retry",String(x.current)),k.src=j.toString()},Mm),fe=j=>{k.contentWindow?.postMessage(j,"*")},Z=j=>{if(H||j.source!==k.contentWindow)return;let se=j.data;if(!se||typeof se!="object"||se.jsonrpc!=="2.0")return;let xe=se.method,ie=se.id;if(xe==="ui/initialize"&&ie!=null){$=!0,ae.current?.mark("initialize"),clearTimeout(Ie),fe({jsonrpc:"2.0",id:ie,result:{protocolVersion:se.params?.protocolVersion??Rm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Re.current?"dark":"light",displayMode:v.current}}});return}if(xe==="ui/notifications/initialized"){I.current=!0,ae.current?.mark("initialized"),oe.current=setTimeout(()=>ae.current?.report("ok",x.current),_m);let le=y.current,ee=S.current,ue=ee._meta&&typeof ee._meta=="object"?ee._meta:null,Y=Dm(J.current),he=ue&&typeof ue.waniwani=="object"&&ue.waniwani!==null?ue.waniwani:null,T=he||Y?{...he??{},...Y?{sessionId:Y}:{}}:void 0,ye=ue||T?{...ue??{},...T?{waniwani:T}:{}}:void 0;fe({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:le}});let _=ee.content??[{type:"text",text:JSON.stringify(ee)}];fe({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:_,structuredContent:ee.structuredContent,_meta:ye,meta:ye}});return}if(xe==="ui/notifications/size-changed"){clearTimeout(oe.current),ae.current?.mark("firstSize"),ae.current?.report("ok",x.current);let le=se.params,ee=typeof le?.height=="number"?le.height:void 0,ue=typeof le?.width=="number"?le.width:void 0,Y=L.current,he=ee!==void 0&&ee!==Y.height,T=ue!==void 0&&ue!==Y.width;if(!he&&!T)return;if(he&&ee!==void 0){if(Y.height=ee,Ne.current)return;let ye=E(ee),_=k.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),N(ye),k.animate&&Math.abs(_-ye)>2){let M=k.animate([{height:`${_}px`},{height:`${ye}px`}],{duration:Em,easing:"ease-out",fill:"forwards"});C.current=M,M.onfinish=()=>{C.current===M&&(M.cancel(),C.current=null)}}}T&&i&&ue!==void 0&&(Y.width=ue,V(ue));return}if(xe==="ui/open-link"&&ie!=null){let le=se.params?.url;typeof le=="string"&&(Q.current?Q.current(le):window.open(le,"_blank","noopener,noreferrer")),fe({jsonrpc:"2.0",id:ie,result:{}});return}if(xe==="ui/message"&&ie!=null){if(O.current&&se.params){let le=se.params,ee=ne;if(ne=null,me){clearTimeout(me.timer);let ue=me.text;me=null;let Y=(le.content??[]).map(he=>he.text??"").join("").trim();le={...le,content:[{type:"text",text:`${Y}
|
|
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&&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}},
|
|
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:[[`
|
|
4
|
+
${ue}`}]}}O.current({...le,...ee?{modelContext:ee}:{}})}fe({jsonrpc:"2.0",id:ie,result:{}});return}if(xe==="ui/update-model-context"&&ie!=null){ne=Ii(ne,se.params),fe({jsonrpc:"2.0",id:ie,result:{}});return}if(xe==="tools/call"&&ie!=null){let le=re.current;if(!le){fe({jsonrpc:"2.0",id:ie,error:{code:-32601,message:"tools/call not supported"}});return}let ee=se.params?.name;le({name:ee,arguments:se.params?.arguments??{}}).then(ue=>{fe({jsonrpc:"2.0",id:ie,result:ue});let Y=ue.content?.map(he=>he.text??"").join("").trim();Y&&Bm(ee,ue,X.current)&&(me&&clearTimeout(me.timer),me={text:Y,timer:setTimeout(()=>{if(H)return;let he=ne;ne=null,me=null,O.current?.({role:"user",content:[{type:"text",text:Y}],...he?{modelContext:he}:{}})},500)})}).catch(ue=>{let Y=ue instanceof Error?ue.message:"Tool call failed";fe({jsonrpc:"2.0",id:ie,error:{code:-32e3,message:Y}})});return}if(xe==="ui/request-display-mode"&&ie!=null){let le=se.params?.mode,ee=le==="fullscreen"||le==="inline"||le==="pip"?le:"inline";v.current=ee,fe({jsonrpc:"2.0",id:ie,result:{mode:ee}}),fe({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:ee}}),K.current?.(ee);return}if(xe==="ui/resource-teardown"&&ie!=null){fe({jsonrpc:"2.0",id:ie,result:{}});return}xe==="ping"&&ie!=null&&fe({jsonrpc:"2.0",id:ie,result:{}})};return window.addEventListener("message",Z),()=>{H=!0,clearTimeout(Ie),me&&clearTimeout(me.timer),window.removeEventListener("message",Z)}},[i,E]),Om("iframe",{ref:m,src:b,onLoad:()=>ae.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:A(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":q,minWidth:p||!z?void 0:`min(${z}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as Um,useEffect as ln,useState as Nm}from"react";import{jsx as un,jsxs as Hm}from"react/jsx-runtime";var tl=672,al=32;function qm({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=Nm(null);ln(()=>{let f=()=>l({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let u=e?.preview===!0;ln(()=>{if(!e||!u)return;let f=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,u,n]),ln(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let d=Um(async f=>{if(t)return t(f);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",...f})});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,p=i?i.height-al:void 0;return Hm("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:A("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",s&&"dark"),children:[u&&un("button",{type:"button","aria-label":"Close",onClick:n,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),un("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:p},children:un(Da,{resourceUri:e.viewUri,resourceEndpoint:o,toolInput:e.data,toolResult:e.result,autoHeight:Ea(e.result._meta),isDark:s,onCallTool:d,onOpenLink:f=>window.open(f,"_blank","noopener")},`${o}|${e.viewUri}`)})]})}import{forwardRef as tc,useCallback as ar,useEffect as It,useImperativeHandle as Ax,useRef as _t,useState as bo}from"react";var Ba=(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 Vm,useCallback as je,useContext as Gm,useEffect as Oa,useMemo as Km,useRef as kt,useState as fn}from"react";var $t=new Map;function rl(e,t){if($t.has(e)){URL.revokeObjectURL(t);return}for($t.set(e,t);$t.size>20;){let a=$t.keys().next();if(a.done)return;let r=$t.get(a.value);$t.delete(a.value),r&&URL.revokeObjectURL(r)}}function ol(e){return $t.get(e)}import{useState as $m}from"react";import{jsx as De,jsxs as dn}from"react/jsx-runtime";var nl=({files:e,className:t,...a})=>e.length===0?null:De("div",{className:A("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>De(Wm,{file:r},o))});function Wm({file:e}){let{t}=te();return e.mediaType?.startsWith("image/")&&e.url?De("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):dn("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[De(ra,{className:"ww:size-3 ww:shrink-0"}),De("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 jm({mediaType:e}){return e.startsWith("image/")?De(Ta,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?De(va,{className:"ww:size-5 ww:text-muted-foreground"}):De(ra,{className:"ww:size-5 ww:text-muted-foreground"})}function cn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=te(),l=sl(t,i);return dn("li",{"aria-label":`${e}, ${l}`,className:A("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[De("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?De("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):De(jm,{mediaType:t})}),dn("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[De("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),De("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:De("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)=>De(zm,{document:r},`${r.documentId}-${o}`))});function zm({document:e}){let{t}=te(),[a,r]=$m(!1),o=e.mediaType.startsWith("image/")?ol(e.documentId):void 0;return o&&!a?De("li",{children:De("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})}):De(cn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Ee,jsxs as Fr}from"react/jsx-runtime";var Xm=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}},Jm=(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=Vm(null),Mr=()=>{let e=Gm(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:p,...f})=>{let{t:m,locale:y}=te(),S=kt(null),L=kt(null),[C,I]=fn([]),x=kt(C),v=kt(new Map),q=kt(l),N=kt(d),z=kt(u);Oa(()=>{q.current=l,N.current=d,z.current=u},[l,d,u]);let V=je(k=>{x.current=k,I(k)},[]),Q=je(()=>{S.current?.click()},[]),O=je((k,H)=>{V(x.current.map($=>$.id===k?{...$,...H}:$))},[V]),re=je((k,H)=>{let $=q.current;if(!$)return;let ne=new AbortController,me=$(H,ne.signal,Ie=>{O(k,{progress:Ie})}).then(Ie=>(O(k,{status:"ready",progress:1,documentId:Ie.documentId,error:void 0}),Ie)).catch(Ie=>{if(ne.signal.aborted)return null;let fe=Ie instanceof Error?Ie.message:m.promptInput.uploadFailed;return O(k,{status:"failed",error:fe}),N.current?.({code:"upload_failed",message:fe}),null});v.current.set(k,{file:H,controller:ne,done:me})},[O,m]),K=je(k=>{let H=[...k];if(!i||H.length===0)return;let $=(j,se)=>N.current?.({code:j,message:se}),ne=[];for(let j of H){if(!Jm(j,t)){$("accept",m.promptInput.errorAccept.replace("{name}",j.name));continue}if(n&&j.size>n){$("max_file_size",m.promptInput.errorTooLarge.replace("{name}",j.name).replace("{limit}",fl(n,y)));continue}ne.push(j)}if(ne.length===0)return;let me=typeof o=="number"?Math.max(0,o-x.current.length):void 0,Ie=typeof me=="number"?ne.slice(0,me):ne;if(Ie.length<ne.length&&$("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),Ie.length===0)return;let fe=!!q.current,Z=Ie.map(j=>({file:j,item:{filename:j.name,id:Ba(),mediaType:j.type,type:"file",url:URL.createObjectURL(j),status:fe?"uploading":"ready",progress:0}}));V([...x.current,...Z.map(j=>j.item)]);for(let j of Z)re(j.item.id,j.file)},[o,n,t,i,re,V,m,y]),J=je(k=>{let H=v.current.get(k);H&&(O(k,{status:"uploading",progress:0,error:void 0}),re(k,H.file))},[O,re]),X=je((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&&z.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),E=je(k=>{let H=x.current.find($=>$.id===k);H&&X(H,!0),V(x.current.filter($=>$.id!==k))},[X,V]),b=je(()=>{for(let k of x.current)X(k,!0);V([])},[X,V]),D=kt(i);Oa(()=>{let k=D.current;D.current=i,k&&!i&&b()},[i,b]);let ae=je(()=>{for(let k of x.current)X(k,!1);V([])},[X,V]);Oa(()=>()=>{for(let k of x.current)v.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let oe=je(k=>{k.currentTarget.files&&K(k.currentTarget.files),k.currentTarget.value=""},[K]);Oa(()=>{if(!r)return;let k=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault()},H=$=>{$.dataTransfer?.types?.includes("Files")&&$.preventDefault(),$.dataTransfer?.files&&$.dataTransfer.files.length>0&&K($.dataTransfer.files)};return document.addEventListener("dragover",k),document.addEventListener("drop",H),()=>{document.removeEventListener("dragover",k),document.removeEventListener("drop",H)}},[K,r]);let Re=je(async k=>{k.preventDefault();let H=k.currentTarget,$=new FormData(H).get("message")||"",ne=new Map;for(;ne.size<v.current.size;)await Promise.all([...v.current.entries()].filter(([Z])=>!ne.has(Z)).map(async([Z,j])=>{ne.set(Z,await j.done)}));for(let Z of ne.keys())v.current.has(Z)||ne.delete(Z);if([...ne.values()].some(Z=>Z===null)){N.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let me=[...ne.values()].filter(Z=>Z!==null),Ie=q.current?[]:x.current,fe=await Promise.all(Ie.map(async({id:Z,status:j,progress:se,error:xe,...ie})=>{if(ie.url?.startsWith("blob:")){let le=await Xm(ie.url);return{...ie,url:le??ie.url}}return ie}));try{let Z=c({documents:me,files:fe,text:$},k);Z instanceof Promise&&await Z,H.reset(),ae()}catch{}},[c,ae,m]),Ne=Km(()=>({add:K,clear:b,files:C,openFileDialog:Q,remove:E,retry:J,maxFileSize:n,maxPdfPages:s}),[C,K,E,J,b,Q,n,s]);return Fr(dl.Provider,{value:Ne,children:[Ee("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:oe,ref:S,title:m.promptInput.uploadFiles,type:"file"}),Ee("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:Re,ref:L,...f,children:p})]})},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}=te(),s=Mr(),[i,l]=fn(!1),u=r??n.promptInput.placeholder,d=je(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:f}=p.currentTarget;if(f?.querySelector('[data-submit-blocked="true"]')||f?.querySelector('button[type="submit"]')?.disabled)return;f?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let f=s.files.at(-1);f&&s.remove(f.id)}}},[t,i,s]),c=je(p=>{let f=p.clipboardData?.items;if(!f)return;let m=[];for(let y of f)if(y.kind==="file"){let S=y.getAsFile();S&&m.push(S)}m.length>0&&(p.preventDefault(),s.add(m))},[s]);return Ee("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}=te(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Ee(La,{className:"ww:size-4"});t==="submitted"?d=Ee(Aa,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Ee(Pa,{className:"ww:size-4"}));let c=je(p=>{if(l&&a){p.preventDefault(),a();return}r?.(p)},[l,a,r]);return Ee(it,{"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}=te(),n=Mr();if(n.files.length>0)return Fr(it,{className:A("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Ee("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}),Ee(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 Ee(it,{"aria-label":i,className:A(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(oa,{className:"ww:size-4"})})},gl=({className:e,...t})=>{let a=Mr();return a.files.length===0?null:Ee("ul",{className:A("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Ee(Qm,{file:r},r.id))})};function Qm({file:e}){let{t}=te(),a=Mr(),r=e.status==="failed",o=e.status==="uploading";return Fr(cn,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?Ee("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,Ee("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:Ee(vt,{className:"ww:size-3.5"})}),o?Ee("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}=te(),[a,r]=fn(!1);return Oa(()=>{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?Ee("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:[Ee(oa,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as Ym}from"react/jsx-runtime";function Il({text:e}){let{t}=te();return e===!1?null:Ym("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 Zm,useCallback as eh}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}),Sl=({className:e,...t})=>ia("span",{className:A("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Cl=({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(it,{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=Zm(({message:e,onRemove:t})=>{let{t:a}=te(),r=eh(()=>t(e.id),[t,e.id]);return Tl(yl,{children:[Tt(Ll,{}),Tt(Sl,{children:e.text||a.chatQueue.attachmentFallback}),Tt(Cl,{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}=te();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 uh,useCallback as dh,useContext as ch,useEffect as fh,useMemo as ph,useState as gn}from"react";import{createContext as th,memo as hn,useCallback as ah,useContext as rh,useEffect as pn,useMemo as oh,useRef as Al,useState as mn}from"react";import{Fragment as ih,jsx as ot,jsxs as lh}from"react/jsx-runtime";var Pl=th(null);function Rl(){let e=rh(Pl);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var nh=1e3,sh=1e3,Ua=hn(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,p]=mn(l),f=d?a:c,m=ah(N=>{d||p(N),o?.(N)},[d,o]),[y,S]=mn(void 0),L=n??y,C=Al(t),[I,x]=mn(!1),v=Al(null);pn(()=>{t?(C.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(S(Math.ceil((Date.now()-v.current)/sh)),v.current=null)},[t]),pn(()=>{t&&!f&&!u&&m(!0)},[t,f,u,m]),pn(()=>{if(C.current&&!t&&f&&!I){let N=setTimeout(()=>{m(!1),x(!0)},nh);return()=>clearTimeout(N)}},[t,f,I,m]);let q=oh(()=>({isStreaming:t,isOpen:f,setIsOpen:m,duration:L}),[t,f,m,L]);return ot(Pl.Provider,{value:q,children:ot("div",{className:A("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":f?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Ua.displayName="Reasoning";var Na=hn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=te(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Rl(),p=a??((f,m)=>f||m===0?ot(at,{duration:1.6,children:s.reasoning.thinking}):m===void 0?ot("span",{children:s.reasoning.thoughtBrief}):ot("span",{children:s.reasoning.thoughtForSeconds(m)}));return ot("button",{type:"button","aria-expanded":l,onClick:f=>{d(!l),o?.(f)},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??lh(ih,{children:[!r&&ot(ht,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});Na.displayName="ReasoningTrigger";var qa=hn(({className:e,children:t,...a})=>{let{isOpen:r}=Rl();return ot("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:ot("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ot("div",{className:A("ww:text-sm ww:text-muted-foreground",e),...a,children:ot(xa,{children:t})})})})});qa.displayName="ReasoningContent";import{jsx as Le,jsxs as At}from"react/jsx-runtime";var mh=500,El=uh(null);function Ml(){let e=ch(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]=gn(o),c=l?r:u,p=dh(S=>{l||d(S),n?.(S)},[l,n]),[f,m]=gn(!t);fh(()=>{if(t){m(!1);return}let S=setTimeout(()=>m(!0),mh);return()=>clearTimeout(S)},[t]);let y=ph(()=>({open:c,setOpen:p,isWorking:t,settled:f,activeStep:a}),[c,p,t,f,a]);return Le(El.Provider,{value:y,children:Le("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 Le("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&&Le(d,{className:A("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Le("span",{className:"ww:truncate",children:i?Le(at,{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:[Le("span",{className:"ww:truncate",children:r??t}),Le(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 Le("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:Le("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Le("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:[Le("span",{className:"ww:flex ww:h-5 ww:items-center",children:Le(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&&Le("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function wn({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[d,c]=gn(!1),p=a??"",f=i?Le(at,{duration:1.6,children:p}):Le("span",{className:"ww:truncate",children:p});return At("div",{className:A("ww:flex ww:gap-2",e),...s,children:[Le(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:[f,Le(bt,{className:A("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):Le("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:f}),u&&Le("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:Le("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Le("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:[Le(Bl,{icon:ht,isLast:t,running:e}),Le("div",{className:A("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:At(Ua,{isStreaming:e,className:"ww:mb-0",children:[Le(Na,{hideIcon:!0}),Le(qa,{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 ut={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 Je={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 hh(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function $l(e){return hh(e),Hl(e)}var gh=Object.defineProperty,wh=(e,t,a)=>t in e?gh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ih=(e,t,a)=>wh(e,typeof t!="symbol"?t+"":t,a);function xh(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function yh(e){if(!e||e<4352)return!1;switch($l(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!xh(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 Lh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Sh(e){return e!==null&&e>=65024&&e<=65038}var Ch=Wl(/\p{P}|\p{S}/u),bh=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)||bh(e))return ut.characterGroupWhitespace;let t=0;if(e>=4352){if(Sh(e))return Qe.nonEmojiGeneralUseVS;switch(yh(e)){case null:return Qe.ivs;case!0:t|=Qe.cjk;break}}return Ch(e)&&(t|=ut.characterGroupPunctuation),t}function _r(e,t,a){if(!kh(e))return e;let r=t(),o=Pt(r);return!r||Wt(o)?e:Lh(r,a)?Qe.cjkPunctuation:vh(o)}function vh(e){return e&~Qe.ivs}function Wt(e){return!!(e&ut.characterGroupWhitespace)}function la(e){return(e&Qe.cjkPunctuation)===ut.characterGroupPunctuation}function Ha(e){return!!(e&Qe.cjk)}function jl(e){return e===Qe.ivs}function zl(e){return!!(e&Qe.cjkOrIvs)}function kh(e){return e===Qe.nonEmojiGeneralUseVS}function In(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 Th(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,Ih(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Th(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 xn={name:"attention",resolveAll:Ah,tokenize:Ph};function Ah(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},p={...e[a][1].start};Vl(c,-l),Vl(p,l),s={type:l>1?Je.strongSequence:Je.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Je.strongSequence:Je.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?Je.strongText:Je.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Je.strong:Je.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=ea(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=ea(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=ea(u,Sr(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=ea(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=ea(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,Zt(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 Ph(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(f){return f===Oe.asterisk||Oe.underscore,d=f,e.enter("attentionSequence"),p(f)}function p(f){if(f===d)return e.consume(f),p;let m=e.exit("attentionSequence"),y=Dr(f)?Nr(f,r(),o):f,S=Pt(y);let L=la(u),C=L||Wt(u),I=la(S),x=I||Wt(S),v=zl(u),q=!x||I&&(C||v)||a.includes(f),N=!C||L&&(x||Ha(S))||a.includes(s);return m._open=!!(d===Oe.asterisk?q:q&&(In(u)||!N)),m._close=!!(d===Oe.asterisk?N:N&&(In(S)||!q)),t(f)}}function Vl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Gl(){return{text:{[Oe.asterisk]:xn,[Oe.underscore]:xn},insideSpan:{null:[xn]}}}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)},p=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],f=i.parser.constructs.insideSpan.null;f&&Zt(p,p.length,0,Sr(f,s.slice(u+1,l),i)),Zt(p,p.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),Zt(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Je.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,p=Br(c)?Or(c,u(),d):c,f=Pt(p),m=new Ur(p,u(),d),y=_r(f,m.value.bind(m),p),S=this.events,L=0;return C;function C(x){return Oe.tilde,p===Oe.tilde&&S[S.length-1][1].type!==Je.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),I(x))}function I(x){let v=Pt(p);if(x===Oe.tilde)return L>1?l(x):(s.consume(x),L++,I);if(L<2&&!a)return l(x);let q=s.exit("strikethroughSequenceTemporary"),N=Dr(x)?Nr(x,u(),d):x,z=Pt(N),Q=la(y)||Wt(y),re=la(z)||Wt(z),K=Ha(y)||jl(v);return q._open=!re||z===ut.attentionSideAfter&&(Q||K),q._close=!Q||v===ut.attentionSideAfter&&(re||Ha(z)),i(x)}}}function Jl(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Xl(e))}var Rh=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Eh=/^(https?:\/\/|mailto:|www\.)/i,Mh=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Fh=e=>{let t=0;for(let a of e){if(Rh.has(a))return t;t+=a.length}return null},_h=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Dh=e=>({type:"text",value:e}),Bh=()=>e=>{di(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Mh(t)||!Eh.test(t.url))return;let o=Fh(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=_h(n,t),l=Dh(s);return r.children.splice(a,1,i,l),a+1})};function Oh(){let e=[Kl],t=[Bh,Jl],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var yn=Oh();var ve=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Uh(e){return Rn(e)}function Rn(e){return Array.isArray(e)?Nh(e):e instanceof RegExp?e:typeof e=="object"?qh(e):e}function Nh(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Rn(e[a]);return t}function qh(e){let t={};for(let a in e)t[a]=Rn(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 Ln=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,qr=class{static hasCaptures(e){return e===null?!1:(Ln.lastIndex=0,Ln.test(e))}static replaceCaptures(e,t,a){return e.replace(Ln,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function 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 Ql(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function 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}},ja=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Wh(e),t)}static createFromParsedTheme(e,t){return zh(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=>Hh(e.parent,o.parentScopes));return r?new cu(r.fontStyle,r.foreground,r.background):null}},Sn=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 Hh(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&&!$h(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function $h(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 Wh(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 p=0,f=c.length;p<f;p++)switch(c[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ql(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Ql(s.settings.background)&&(d=s.settings.background);for(let c=0,p=i.length;c<p;c++){let m=i[c].trim().split(" "),y=m[m.length-1],S=null;m.length>1&&(S=m.slice(0,m.length-1),S.reverse()),a[r++]=new jh(y,S,o,l,u,d)}}return a}var jh=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 zh(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 Vh(t),s=new cu(a,n.getId(r),n.getId(o)),i=new Kh(new bn(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new ja(n,s,i)}var Vh=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)}},Gh=Object.freeze([]),bn=class fu{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Gh,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)}},Kh=class vn{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(vn._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new vn(this._mainRule.clone(),bn.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(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 bn(t,a,r,o,n))}},zt=class Ze{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ze.getLanguageId(t),r=Ze.getTokenType(t),o=Ze.getFontStyle(t),n=Ze.getForeground(t),s=Ze.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=Ze.getLanguageId(t),u=Ze.getTokenType(t),d=Ze.containsBalancedBrackets(t)?1:0,c=Ze.getFontStyle(t),p=Ze.getForeground(t),f=Ze.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(p=s),i!==0&&(f=i),(l<<0|u<<8|d<<10|c<<11|p<<15|f<<24)>>>0}};function Wr(e,t){let a=[],r=Xh(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 Xh(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 za=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Jh=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))}},Yh=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new za(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)Zh(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof za){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 Zh(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 za?$r({baseGrammar:n,selfGrammar:o},r):kn(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new za(i))}function kn(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:kn(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?kn(s.ruleName,l,a):$r(l,a)}else s.kind===4?a.add(new Jh(s.scopeName,s.ruleName)):a.add(new za(s.scopeName));break}}}var eg=class{kind=0},tg=class{kind=1},ag=class{constructor(e){this.ruleName=e}kind=2},rg=class{constructor(e){this.scopeName=e}kind=3},og=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function mu(e){if(e==="$base")return new eg;if(e==="$self")return new tg;let t=e.indexOf("#");if(t===-1)return new rg(e);if(t===0)return new ag(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new og(a,r)}}var ng=/\\(\d+)/,Zl=/\\(\d+)/g;var sg=-1,hu=-2;var Ka=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)}},ig=class extends Ka{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!")}},lg=class extends Ka{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Va(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 Ga,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},eu=class extends Ka{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 Ga,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Tn=class extends Ka{_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 Va(o,this.id),this.beginCaptures=n,this._end=new Va(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 Ga;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 Ka{_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 Va(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Va(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 Ga;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 Ga,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},gu=class He{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new ig(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new lg(t.$vscodeTextmateLocation,t.id,t.name,t.match,He._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,He._compilePatterns(n,a,r))}return t.while?new zr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,He._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,He._compileCaptures(t.whileCaptures||t.captures,a,r),He._compilePatterns(t.patterns,a,r)):new Tn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,He._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,He._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,He._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=He.getCompiledRuleId(t[s],a,r)),o[i]=He.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=He.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=He.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,p=u.kind===4?u.ruleName:null,f=a.getExternalGrammar(c,r);if(f)if(p){let m=f.repository[p];m&&(l=He.getCompiledRuleId(m,a,f.repository))}else l=He.getCompiledRuleId(f.repository.$self,a,f.repository);break}}else l=He.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof eu||u instanceof Tn||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}}},Va=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=ng.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}},Ga=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}},Cn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ug=class An{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Cn(t,8),this._embeddedLanguagesMatcher=new dg(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?An._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Cn(0,0);_getBasicScopeAttributes=new du(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Cn(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(An.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},dg=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])}},ck={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 f=cg(e,t,a,r,o,n);o=f.stack,r=f.linePos,a=f.isFirstLine,d=f.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new au(o,!0);p()}return new au(o,!1);function p(){let f=fg(e,t,a,r,o,d);if(!f){n.produce(o,l),u=!0;return}let m=f.captureIndices,y=f.matchedRuleId,S=m&&m.length>0?m[0].end>r:!1;if(y===sg){let L=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),$a(e,t,a,o,n,L.endCaptures,m),n.produce(o,m[0].end);let C=o;if(o=o.parent,d=C.getAnchorPos(),!S&&C.getEnterPos()===r){o=C,n.produce(o,l),u=!0;return}}else{let L=e.getRule(y);n.produce(o,m[0].start);let C=o,I=L.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(I,e);if(o=o.push(y,r,d,m[0].end===l,null,x,x),L instanceof Tn){let v=L;$a(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let q=v.getContentName(t.content,m),N=x.pushAttributed(q,e);if(o=o.withContentNameScopesList(N),v.endHasBackReferences&&(o=o.withEndRule(v.getEndWithResolvedBackReferences(t.content,m))),!S&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(L instanceof zr){let v=L;$a(e,t,a,o,n,v.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let q=v.getContentName(t.content,m),N=x.pushAttributed(q,e);if(o=o.withContentNameScopesList(N),v.whileHasBackReferences&&(o=o.withEndRule(v.getWhileWithResolvedBackReferences(t.content,m))),!S&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if($a(e,t,a,o,n,L.captures,m),n.produce(o,m[0].end),o=o.pop(),!S){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function cg(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}=hg(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),$a(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 fg(e,t,a,r,o,n){let s=pg(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=mg(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 pg(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 mg(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let p=0,f=e.length;p<f;p++){let m=e[p];if(!m.matcher(c))continue;let y=t.getRule(m.ruleId),{ruleScanner:S,findOptions:L}=yu(y,t,null,r,o===s),C=S.findNextMatchSync(a,o,L);if(!C)continue;let I=C.captureIndices[0].start;if(!(I>=i)&&(i=I,l=C.captureIndices,u=C.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 hg(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 $a(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 p=n[c];if(p===null)continue;let f=s[c];if(f.length===0)continue;if(f.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=f.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,f.start):o.produce(r,f.start),p.retokenizeCapturedWithRuleId){let y=p.getName(i,s),S=r.contentNameScopesList.pushAttributed(y,e),L=p.getContentName(i,s),C=S.pushAttributed(L,e),I=r.push(p.retokenizeCapturedWithRuleId,f.start,-1,!1,null,S,C),x=e.createOnigString(i.substring(0,f.end));xu(e,x,a&&f.start===0,f.start,I,o,!1,0),pu(x);continue}let m=p.getName(i,s);if(m!==null){let S=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new gg(S,f.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var gg=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function wg(e,t,a,r,o,n,s,i){return new xg(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(Ig(t[o],r))return a=o+1,!0;return!1})}function Ig(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 xg=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new ug(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===Pn.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=zt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),p=this.getRule(this._rootId).getName(null,null),f;p?f=Wa.createRootAndLookUpScopeName(p,c,this):f=Wa.createRoot("unknown",c),t=new Pn(null,this._rootId,-1,-1,!1,null,f,f)}else o=!1,t.reset();e=e+`
|
|
6
|
+
`;let n=this.createOnigString(e),s=n.content.length,i=new Lg(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=Uh(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 Wa=class dt{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=Sn.push(o,n.scopeNames),r=new dt(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new dt(null,new Sn(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Sn(null,t),s=r.themeProvider.themeMatch(n),i=dt.mergeAttributes(a,o,s);return new dt(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return dt.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),zt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return dt._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=dt._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=dt.mergeAttributes(t.tokenAttributes,o,s);return new dt(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},Pn=class jt{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 jt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:jt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Wa.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(){jt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new jt(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 jt(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=Wa.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new jt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Wa.fromExtension(r,a.contentNameScopesList))}},yg=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}},Lg=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=zt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=zt.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}},Sg=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,wg(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Su=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Sg(ja.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ja.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 yg(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Yh(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=Pn.NULL;var Cg=/["&'<>`]/g,bg=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,vg=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,kg=/[|\\{}()[\]^$+*?.]/g,Cu=new WeakMap;function bu(e,t){if(e=e.replace(t.subset?Tg(t.subset):Cg,r),t.subset||t.escapeOnly)return e;return e.replace(bg,a).replace(vg,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 Tg(e){let t=Cu.get(e);return t||(t=Ag(e),Cu.set(e,t)),t}function Ag(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(kg,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Pg=/[\dA-Fa-f]/;function vu(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Pg.test(String.fromCharCode(t))?r:r+";"}var Rg=/\d/;function ku(e,t,a){let r="&#"+String(e);return a&&t&&!Rg.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,En={},Xr;for(Xr in Kr)Pu.call(Kr,Xr)&&(En[Kr[Xr]]=Xr);var Eg=/[^\dA-Za-z]/;function Ru(e,t,a,r){let o=String.fromCharCode(e);if(Pu.call(En,o)){let n=En[o],s="&"+n;return a&&Tu.includes(n)&&!Au.includes(n)&&(!r||t&&t!==61&&Eg.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 wt(e,t){return bu(e,Object.assign({format:Eu},t))}var Mg=/^>|^->|<!--|-->|--!>|<!-$/g,Fg=[">"],_g=["<",">"];function Mu(e,t,a,r){return r.settings.bogusComments?"<?"+wt(e.value,Object.assign({},r.settings.characterReferences,{subset:Fg}))+">":"<!--"+e.value.replace(Mg,o)+"-->";function o(n){return wt(n,Object.assign({},r.settings.characterReferences,{subset:_g}))}}function Fu(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Pe=_u(1),Mn=_u(-1),Dg=[];function _u(e){return t;function t(a,r,o){let n=a?a.children:Dg,s=(r||0)+e,i=n[s];if(!o)for(;i&&ta(i);)s+=e,i=n[s];return i}}var Bg={}.hasOwnProperty;function Jr(e){return t;function t(a,r,o){return Bg.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Xa=Jr({body:Ug,caption:Fn,colgroup:Fn,dd:$g,dt:Hg,head:Fn,html:Og,li:qg,optgroup:Wg,option:jg,p:Ng,rp:Du,rt:Du,tbody:Vg,td:Bu,tfoot:Gg,th:Bu,thead:zg,tr:Kg});function Fn(e,t,a){let r=Pe(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ta(r.value.charAt(0)))}function Og(e,t,a){let r=Pe(a,t);return!r||r.type!=="comment"}function Ug(e,t,a){let r=Pe(a,t);return!r||r.type!=="comment"}function Ng(e,t,a){let r=Pe(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 qg(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Hg(e,t,a){let r=Pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function $g(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Du(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Wg(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function jg(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function zg(e,t,a){let r=Pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Vg(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Gg(e,t,a){return!Pe(a,t)}function Kg(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Bu(e,t,a){let r=Pe(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Ou=Jr({body:Qg,colgroup:Yg,head:Jg,html:Xg,tbody:Zg});function Xg(e){let t=Pe(e,-1);return!t||t.type!=="comment"}function Jg(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=Pe(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ta(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Yg(e,t,a){let r=Mn(a,t),o=Pe(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Xa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Zg(e,t,a){let r=Mn(a,t),o=Pe(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Xa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Qr={name:[[`
|
|
7
7
|
\f\r &/=>`.split(""),`
|
|
8
8
|
\f\r "&'/=>\``.split("")],[`\0
|
|
9
9
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -11,16 +11,16 @@ ${Z}`}]}}G.current({...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=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
|
-
`);for(;u!==-1;){let d=o.slice(0,u).trim();if(o=o.slice(u+1),d.length>0){let c=JSON.parse(d);t.controlVersion==="1"&&
|
|
18
|
-
`)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&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+=`
|
|
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=ew(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||!Xa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function ew(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=tw(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 tw(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=wt(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qr.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=wt(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Uo(a,s)>Uo(a,e.alternative)&&(s=e.alternative),i=s+wt(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qr.single:Qr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var aw=["<","&"];function Yr(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:wt(e.value,Object.assign({},r.settings.characterReferences,{subset:aw}))}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:rw,unknown:ow,handlers:{comment:Mu,doctype:Fu,element:Uu,raw:Nu,root:qu,text:Yr}});function rw(e){throw new Error("Expected node, not `"+e+"`")}function ow(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var nw={},sw={},iw=[];function _n(e,t){let a=t||nw,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:lw,all:uw,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||sw,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 lw(e,t,a){return Hu(e,t,a,this)}function uw(e){let t=[],a=e&&e.children||iw,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 dw(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 qn(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Xu(e){return e==="ansi"||qn(e)}function Hn(e){return e==="none"}function Ju(e){return Hn(e)}function Qu(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function 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 cw(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 $n="light-dark()",fw=["color","background-color"];function pw(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 mw(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?pw(o,n):o})):e}function hw(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 p=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":p)};return s.forEach((d,c)=>{for(let p of i){let f=d[p]||"inherit";if(c===0&&r&&fw.includes(p))if(r===$n&&s.length>1){let m=t.findIndex(C=>C==="light"),y=t.findIndex(C=>C==="dark");if(m===-1||y===-1)throw new ve('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let S=s[m][p]||"inherit",L=s[y][p]||"inherit";l[p]=`light-dark(${S}, ${L})`,o==="css-vars"&&(l[u(c,p)]=f)}else l[p]=f;else o==="css-vars"&&(l[u(c,p)]=f)}}),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 On(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 Qa(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(dw(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 gw(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function gw(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 ww(e,t){if(!(e instanceof ua))throw new ve("Invalid grammar state");return e.getInternalStack(t)}function Iw(){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 ve(`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 ve(`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 ve(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=cw(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));xw(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 mw(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 ve(`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,p,f){let m=o[d],y="",S=-1,L=-1;if(c===0&&(S=0),p===0&&(L=0),p===Number.POSITIVE_INFINITY&&(L=m.children.length),S===-1||L===-1)for(let I=0;I<m.children.length;I++)y+=ed(m.children[I]),S===-1&&y.length===c&&(S=I+1),L===-1&&y.length===p&&(L=I+1);if(S===-1)throw new ve(`Failed to find start index for decoration ${JSON.stringify(f.start)}`);if(L===-1)throw new ve(`Failed to find end index for decoration ${JSON.stringify(f.end)}`);let C=m.children.slice(S,L);if(!f.alwaysWrap&&C.length===m.children.length)i(m,f,"line");else if(!f.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],f,"token");else{let I={type:"element",tagName:"span",properties:{},children:C};i(I,f,"wrapper"),m.children.splice(S,C.length,I)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,p){let f=c.properties||{},m=c.transform||(y=>y);return d.tagName=c.tagName||"span",d.properties={...d.properties,...f,class:d.properties.class},c.properties?.class&&Qu(d,c.properties.class),d=m(d,p)||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:p}=d;if(c.line===p.line)n(c.line,c.character,p.character,d);else if(c.line<p.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let f=c.line+1;f<p.line;f++)l.unshift(()=>s(f,d));n(p.line,0,p.character,d)}}l.forEach(d=>d())}}}function xw(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ve(`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 ve(`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 yw=[Iw()];function to(e){let t=Lw(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...yw]}function Lw(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 Vt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Dn={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Sw(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)Dn[r]&&t.push({type:"setDecoration",value:Dn[r]});else if(r<=29){let o=Dn[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Vt[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:Vt[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:Vt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Vt[r-100+8]}})}return t}function bw(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Sw(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 vw={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 kw(e=vw){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<Vt.length;u++)r.push(t(Vt[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 Tw={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 Aw(e,t,a){let r=Zr(e,a),o=oo(t),n=Object.fromEntries(Vt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Tw[l]]})),s=kw(n),i=bw();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=Pw(d));let p=Ue.None;return u.decorations.has("bold")&&(p|=Ue.Bold),u.decorations.has("italic")&&(p|=Ue.Italic),u.decorations.has("underline")&&(p|=Ue.Underline),u.decorations.has("strikethrough")&&(p|=Ue.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:p}}))}function Pw(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Wn(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(qn(o)||Hn(r))return oo(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Aw(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ve(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ve(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Ew(t,i,n,s,a)}function Rw(...e){if(e.length===2)return Qa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(qn(o)||Hn(n))throw new ve("Plain language does not have grammar state");if(o==="ansi")throw new ve("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new ua(jn(a,l,s,i,r).stateStack,l.name,s.name)}function Ew(e,t,a,r,o){let n=jn(e,t,a,r,o),s=new ua(n.stateStack,t.name,a.name);return no(n.tokens,s),n.tokens}function jn(e,t,a,r,o){let n=Zr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=oo(e),u=o.grammarState?ww(o.grammarState,a.name)??Gr:o.grammarContextCode!=null?jn(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Gr,d=[],c=[];for(let p=0,f=l.length;p<f;p++){let[m,y]=l[p];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:y,color:"",fontStyle:0}]);continue}let S,L,C;o.includeExplanation&&(S=t.tokenizeLine(m,u,i),L=S.tokens,C=0);let I=t.tokenizeLine2(m,u,i),x=I.tokens.length/2;for(let v=0;v<x;v++){let q=I.tokens[2*v],N=v+1<x?I.tokens[2*v+2]:m.length;if(q===N)continue;let z=I.tokens[2*v+1],V=Et(r[zt.getForeground(z)],n),Q=zt.getFontStyle(z),O={content:m.substring(q,N),offset:y+q,color:V,fontStyle:Q};if(o.includeExplanation){let re=[];if(o.includeExplanation!=="scopeName")for(let J of a.settings){let X;switch(typeof J.scope){case"string":X=J.scope.split(/,/).map(E=>E.trim());break;case"object":X=J.scope;break;default:continue}re.push({settings:J,selectors:X.map(E=>E.split(/ /))})}O.explanation=[];let K=0;for(;q+K<N;){let J=L[C],X=m.substring(J.startIndex,J.endIndex);K+=X.length,O.explanation.push({content:X,scopes:o.includeExplanation==="scopeName"?Mw(J.scopes):Fw(re,J.scopes)}),C+=1}}d.push(O)}c.push(d),d=[],u=I.ruleStack}return{tokens:c,stateStack:u}}function Mw(e){return e.map(t=>({scopeName:t}))}function Fw(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Dw(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 _w(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 Dw(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(_w(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=Wn(e,t,{...a,theme:l.theme}),d=Qa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Bw(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let p={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=d.explanation),n.forEach((f,m)=>{let{content:y,explanation:S,offset:L,...C}=f[u][c];p.variants[r[m].color]=C}),p})),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 Bw(...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,p=Object.entries(a.themes).filter(L=>L[1]).map(L=>({color:L[0],theme:L[1]})).sort((L,C)=>L.color===u?-1:C.color===u?1:0);if(p.length===0)throw new ve("`themes` option must not be empty");let f=td(e,t,a);if(l=Qa(f),u&&$n!==u&&!p.find(L=>L.color===u))throw new ve(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=p.map(L=>e.getTheme(L.theme)),y=p.map(L=>L.color);n=f.map(L=>L.map(C=>hw(C,y,d,u,c))),l&&no(n,l);let S=p.map(L=>Zr(L.theme,a));o=ju(p,m,S,d,u,"fg",c),r=ju(p,m,S,d,u,"bg",c),s=`shiki-themes ${m.map(L=>L.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Zr(a.theme,a);n=Wn(e,t,a);let d=e.getTheme(a.theme);r=Et(d.bg,u),o=Et(d.fg,u),s=d.name,l=Qa(n)}else throw new ve("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===$n&&e.length>1){let c=e.findIndex(y=>y.color==="light"),p=e.findIndex(y=>y.color==="dark");if(c===-1||p===-1)throw new ve('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let f=Et(t[c][n],a[c])||"inherit",m=Et(t[p][n],a[p])||"inherit";return`light-dark(${f}, ${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:p=!1}=a;c===!0?n=Uw(n):c==="never"&&(n=Nw(n)),p&&(n=qw(n));let f={...r,get source(){return o}};for(let m of to(a))n=m.tokens?.call(f,n)||n;return Ow(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},f,d)}function Ow(e,t,a,r=Qa(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[y,S]of Object.entries(t.meta||{}))y.startsWith("_")||(u[y]=S);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},p=[],f={...a,structure:i,addClassToHast:Qu,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return p}};if(e.forEach((y,S)=>{S&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
15
|
+
`}));let L={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let I of y){let x={type:"element",tagName:"span",properties:{...I.htmlAttrs},children:[{type:"text",value:I.content}]},v=On(I.htmlStyle||eo(I));v&&(x.properties.style=v);for(let q of o)x=q?.span?.call(f,x,S+1,C,L,I)||x;i==="inline"?s.children.push(x):i==="classic"&&L.children.push(x),C+=I.content.length}if(i==="classic"){for(let I of o)L=I?.line?.call(f,L,S+1)||L;p.push(L),n.push(L)}else i==="inline"&&p.push(L)}),i==="classic"){for(let y of o)c=y?.code?.call(f,c)||c;d.children.push(c);for(let y of o)d=y?.pre?.call(f,d)||d;s.children.push(d)}else if(i==="inline"){let y=[],S={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let I of s.children)I.type==="element"&&I.tagName==="br"?(y.push(S),S={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(I.type==="element"||I.type==="text")&&S.children.push(I);y.push(S);let C={type:"element",tagName:"code",properties:{},children:y};for(let I of o)C=I?.code?.call(f,C)||C;s.children=[];for(let I=0;I<C.children.length;I++){I>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=C.children[I];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let y of o)m=y?.root?.call(f,m)||m;return r&&no(m,r),m}function Uw(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 Nw(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 qw(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=On(o.htmlStyle||eo(o)),s=On(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 Hw=_n;function $w(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ro(e,n,s),codeToTokens:(n,s)=>ao(e,n,s)},o=Hw(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 zn(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=>Ju(a)?null:zn(await Ku(a))))).filter(a=>!!a)}var Bn=3,Ww=!1;function jw(e,t=3){if(Bn&&!(typeof Bn=="number"&&t>Bn)){if(Ww)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 Un=class extends Su{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=zn(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=ja.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))}},Nn=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},Ja=0;function zw(e){Ja+=1,e.warnings!==!1&&Ja>=10&&Ja%10===0&&console.warn(`[Shiki] ${Ja} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Rt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(zn),o=new Nn(e.engine,a),n=new Un(o,r,a,e.langAlias),s;function i(I){return od(I,e.langAlias)}function l(I){L();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"};L();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){L();let x=u(I);s!==I&&(n.setTheme(x),s=I);let v=n.getColorMap();return{theme:x,colorMap:v}}function c(){return L(),n.getLoadedThemes()}function p(){return L(),n.getLoadedLanguages()}function f(...I){L(),n.loadLanguages(I.flat(1))}async function m(...I){return f(await ad(I))}function y(...I){L();for(let x of I.flat(1))n.loadTheme(x)}async function S(...I){return L(),y(await rd(I))}function L(){if(t)throw new Rt("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),Ja-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:f,loadTheme:S,loadThemeSync:y,dispose:C,[Symbol.dispose]:C}}async function Vw(e){e.engine||jw("`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 zw({...e,themes:t,langs:a,engine:r})}async function Gw(e){let t=await Vw(e);return{getLastGrammarState:(...a)=>Rw(t,...a),codeToTokensBase:(a,r)=>Wn(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)=>$w(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 p=t[c];if(!p)throw new ve(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return p}return c}function i(c){if(Ju(c))return"none";if(typeof c=="string"){let p=a[c];if(!p)throw new ve(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return p}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Gw({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 Kw(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=Kw(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var Vn=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-YU3KF3Y6.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-BMSTTQT4.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-YKL22AM4.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-YD3RINFS.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-AUUIRTAZ.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-ZF7YKJP7.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-K2EDFFOP.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-CPV3A4MM.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-YEOV5OY7.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-I5IJFJ2O.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JXWLGPJS.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-3YFWZUJ6.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-7T4OK2LD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-WHPD3NJL.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-VI6LYHRW.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-MU4UAPH3.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-OY2C64LG.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-M6XWA362.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],id=Object.fromEntries(Vn.map(e=>[e.id,e.import])),ld=Object.fromEntries(Vn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Ya={...id,...ld};var Xw=[{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(Xw.map(e=>[e.id,e.import]));var Za=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Jw(){return 2147483648}function Qw(){return typeof performance<"u"?performance.now():Date.now()}var Yw=(e,t)=>e+(t-e%t)%t;async function Zw(e){let t,a,r={};function o(f){a=f,r.HEAPU8=new Uint8Array(f),r.HEAPU32=new Uint32Array(f)}function n(f,m,y){r.HEAPU8.copyWithin(f,m,m+y)}function s(f){try{return t.grow(f-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(f){let m=r.HEAPU8.length;f=f>>>0;let y=Jw();if(f>y)return!1;for(let S=1;S<=4;S*=2){let L=m*(1+.2/S);L=Math.min(L,f+100663296);let C=Math.min(y,Yw(Math.max(f,L),65536));if(s(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(f,m,y=1024){let S=m+y,L=m;for(;f[L]&&!(L>=S);)++L;if(L-m>16&&f.buffer&&l)return l.decode(f.subarray(m,L));let C="";for(;m<L;){let I=f[m++];if(!(I&128)){C+=String.fromCharCode(I);continue}let x=f[m++]&63;if((I&224)===192){C+=String.fromCharCode((I&31)<<6|x);continue}let v=f[m++]&63;if((I&240)===224?I=(I&15)<<12|x<<6|v:I=(I&7)<<18|x<<12|v<<6|f[m++]&63,I<65536)C+=String.fromCharCode(I);else{let q=I-65536;C+=String.fromCharCode(55296|q>>10,56320|q&1023)}}return C}function d(f,m){return f?u(r.HEAPU8,f,m):""}let c={emscripten_get_now:Qw,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){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 p(),r}var eI=Object.defineProperty,tI=(e,t,a)=>t in e?eI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Me=(e,t,a)=>tI(e,typeof t!="symbol"?t+"":t,a),Be=null;function aI(e){throw new Za(e.UTF8ToString(e.getLastOnigError()))}var io=class e{constructor(t){Me(this,"utf16Length"),Me(this,"utf8Length"),Me(this,"utf16Value"),Me(this,"utf8Value"),Me(this,"utf16OffsetToUtf8"),Me(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,p=!1;if(d>=55296&&d<=56319&&u+1<a){let f=t.charCodeAt(u+1);f>=56320&&f<=57343&&(c=(d-55296<<10)+65536|f-56320,p=!0)}o&&(n[u]=l,p&&(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),p&&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 ct{constructor(t){if(Me(this,"id",++ct.LAST_ID),Me(this,"_onigBinding"),Me(this,"content"),Me(this,"utf16Length"),Me(this,"utf8Length"),Me(this,"utf16OffsetToUtf8"),Me(this,"utf8OffsetToUtf16"),Me(this,"ptr"),!Be)throw new Za("Must invoke loadWasm first.");this._onigBinding=Be,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&&!ct._sharedPtrInUse?(ct._sharedPtr||(ct._sharedPtr=Be.omalloc(1e4)),ct._sharedPtrInUse=!0,Be.HEAPU8.set(a.utf8Value,ct._sharedPtr),this.ptr=ct._sharedPtr):this.ptr=a.createString(Be)}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===ct._sharedPtr?ct._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Me(lo,"LAST_ID",0);Me(lo,"_sharedPtr",0);Me(lo,"_sharedPtrInUse",!1);var dd=lo,Kn=class{constructor(t){if(Me(this,"_onigBinding"),Me(this,"_ptr"),!Be)throw new Za("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(Be),r[i]=u.utf8Length}let o=Be.omalloc(4*t.length);Be.HEAPU32.set(a,o/4);let n=Be.omalloc(4*t.length);Be.HEAPU32.set(r,n/4);let s=Be.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)Be.ofree(a[i]);Be.ofree(n),Be.ofree(o),s===0&&aI(Be),this._onigBinding=Be,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 p=0;p<d;p++){let f=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[p]={start:f,end:m,length:m-f}}return{index:u,captureIndices:c}}};function rI(e){return typeof e.instantiator=="function"}function oI(e){return typeof e.default=="function"}function nI(e){return typeof e.data<"u"}function sI(e){return typeof Response<"u"&&e instanceof Response}function iI(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 lI(e){if(so)return so;async function t(){Be=await Zw(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),rI(r)?r=await r.instantiator(a):oI(r)?r=await r.default(a):(nI(r)&&(r=r.data),sI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await uI(r)(a):r=await dI(r)(a):iI(r)?r=await Gn(r)(a):r instanceof WebAssembly.Module?r=await Gn(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Gn(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return so=t(),so}function Gn(e){return t=>WebAssembly.instantiate(e,t)}function uI(e){return t=>WebAssembly.instantiateStreaming(e,t)}function dI(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function cd(e){return e&&await lI(e),{createScanner(t){return new Kn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new dd(t)}}}var uo=nd({langs:Ya,themes:ud,engine:()=>cd(import("../wasm-EOPKAILK.js"))}),{codeToHtml:cI,codeToHast:fI,codeToTokens:pI,codeToTokensBase:mI,codeToTokensWithThemes:hI,getSingletonHighlighter:gI,getLastGrammarState:wI}=sd(uo,{guessEmbeddedLanguages:Yu});var fd=new Set(Object.keys(Ya)),Xn=new Map,Jn=new Map,da=new Map,II=(e,t)=>`${e}-${t[0]}-${t[1]}`,xI=(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}`},yI=(e,t)=>{let a=II(e,t);if(Xn.has(a))return Xn.get(a);let r=uo({themes:t,langs:[e]});return Xn.set(a,r),r};function LI(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=xI(r,o,n);return Jn.has(i)?Jn.get(i):(s&&(da.has(i)||da.set(i,new Set),da.get(i).add(s)),yI(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]}});Jn.set(i,d);let c=da.get(i);if(c){for(let p of c)p(d);da.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),da.delete(i)}),null)}}}var pd=LI();import{memo as vI}from"react";import{useEffect as SI,useRef as co,useState as CI}from"react";var bI=5,md=400;function hd(e,t,a={}){let{msPerChar:r=bI}=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,SI(()=>{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=p=>{let f=s.current;if(i.current>=f.length){u.current=null;return}l.current===0&&(l.current=p);let m=p-l.current;if(m>=r){let y=Math.min(Math.floor(m/r),f.length-i.current);i.current+=y,n(f.slice(0,i.current)),l.current=p}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 Qn=({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})}),Yn=({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}),kI={cjk:yn,code:pd},TI={cjk:yn},AI={enabled:!1};function PI({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(xa,{className:A("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??AI,plugins:a?TI:kI,...o,children:i})}var po=vI(PI,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);po.displayName="MessageResponse";import{jsx as gd,jsxs as RI}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}=te();return RI("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(Ra,{className:"ww:size-4 ww:shrink-0"}),gd(at,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as er,jsxs as EI}from"react/jsx-runtime";function Ld({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return EI("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&&er("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}),er("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&er("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&er("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)=>er("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 MI}from"react";import{jsx as Zn,jsxs as _I}from"react/jsx-runtime";function FI({onRetry:e}){let{t}=te();return _I("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Zn("span",{children:t.widgetErrorBoundary.failedToLoad}),Zn("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var mo=class extends MI{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Zn(FI,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as DI,jsx as we,jsxs as Mt}from"react/jsx-runtime";function es(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Sd(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?ka:Nt}function Cd({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:p,showToolCalls:f=!0,toolDefinitions:m,messageClassNames:y}){let{t:S}=te(),L=e[e.length-1],C=e.length>0,I=c!=null,x=!I&&xd(e,t,{ignoreToolParts:f===!1,ignoreReasoningParts:f===!1});return Mt(DI,{children:[!I&&(!C&&r?we(Ld,{...r,onSuggestionSelect:o}):a&&we(Qn,{from:"assistant",children:we(Yn,{children:we(po,{children:a})})})),e.map(v=>{let q=v.parts.filter(E=>E.type==="text"),N=v.parts.filter(E=>E.type==="reasoning"),z=v.parts.filter(E=>E.type==="file"),V=il(v.metadata),Q=v.parts.filter(E=>"toolCallId"in E),O=v.parts.filter(E=>E.type==="reasoning"||"toolCallId"in E),re=v===L&&v.role==="assistant",K=q.length>0,J=I?Q.some(E=>E.toolCallId===c):!1,X=f!==!1&&!J&&O.length>=2;return I&&!J?we("div",{style:{display:"none"}},v.id):v.role==="assistant"&&!Id(v)?we("div",{style:{display:"none"}},v.id):f===!1&&v.role==="assistant"&&!K&&z.length===0&&Q.every(E=>{let b="output"in E?E.output:void 0;return b===void 0||!n||!Ma(E.toolName,b,m)})?we("div",{style:{display:"none"}},v.id):Mt(Qn,{from:v.role,className:y?.message,children:[f!==!1&&!J&&!X&&N.map((E,b)=>Mt(Ua,{isStreaming:E.state==="streaming",children:[we(Na,{}),we(qa,{children:E.text})]},`reasoning-${v.id}-${b}`)),X&&(()=>{let E=O[O.length-1],b=E.type==="reasoning"?{icon:ht,label:S.reasoning.thinking}:{icon:Sd(E.toolName),label:E.title??es(E.toolName)};return Mt(Fl,{isWorking:re&&(t==="streaming"||t==="submitted"),activeStep:b,children:[we(_l,{workingLabel:S.chainOfThought.working,label:S.chainOfThought.done}),we(Dl,{children:O.map((D,ae)=>{let oe=ae===O.length-1;if(D.type==="reasoning")return we(Ol,{isStreaming:D.state==="streaming",isLast:oe,children:D.text},`reasoning-${v.id}-${ae}`);let Re=D.title??es(D.toolName),Ne=Sd(D.toolName);if(f==="titles-only")return we(wn,{icon:Ne,title:Re,state:D.state,isLast:oe},D.toolCallId);let k="output"in D?D.output:void 0;return Mt(wn,{icon:Ne,title:Re,state:D.state,isLast:oe,children:[we(Jo,{input:D.input,debug:p}),k!==void 0&&we(Qo,{output:k,errorText:"errorText"in D?D.errorText:void 0,debug:p})]},D.toolCallId)})})]})})(),f!==!1&&!J&&!X&&Q.length===1&&(()=>{let E=Q[0],b=E.title??es(E.toolName);if(f==="titles-only")return we(Bi,{title:b,state:E.state});let D="output"in E?E.output:void 0;return Mt(_i,{children:[we(Di,{title:b,state:E.state}),Mt(Oi,{children:[we(Jo,{input:E.input,debug:p}),D!==void 0&&we(Qo,{output:D,errorText:"errorText"in E?E.errorText:void 0,debug:p})]})]})})(),Q.map(E=>{let b="output"in E?E.output:void 0,D=Ma(E.toolName,b,m),ae=Ui(E.toolName,b,m),oe=E.toolCallId===c;return D&&n&&b!==void 0?we("div",{style:oe?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:D&&n&&b!==void 0&&we(mo,{children:we(Da,{isFullscreen:oe,resourceUri:D,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ae,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Re=>d(Re,{toolCallId:E.toolCallId,resourceUri:D,toolInput:E.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:ae}):void 0})})},E.toolCallId):null}),!J&&V.length>0&&we(ll,{documents:V}),!J&&we("div",{children:Mt(Yn,{className:A(v.role==="user"?y?.userBubble:y?.assistantBubble),children:[z.length>0&&we(nl,{files:z}),K?q.map((E,b)=>{let D=re&&t==="streaming"&&b===q.length-1;return we(po,{isStreaming:D,children:E.type==="text"?E.text:""},`${v.id}-${b}`)}):null]})})]},v.id)}),x&&we(yd,{})]})}import{jsx as tr,jsxs as OI}from"react/jsx-runtime";function BI({label:e}){return OI("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:[tr("title",{children:e}),tr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),tr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function ho({onClick:e}){let{t}=te();return tr("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:tr(BI,{label:t.threadMenu.newChat})})}import{jsx as bd,jsxs as qI}from"react/jsx-runtime";var UI="https://app.waniwani.ai/assets/waniwani-logo.svg",NI="https://waniwani.ai";function vd(){let{t:e}=te();return qI("a",{href:NI,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:UI,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 HI,useRef as $I,useState as WI}from"react";import{jsx as Fe,jsxs as ca}from"react/jsx-runtime";var Td=20;function jI({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:[Fe("title",{children:e}),Fe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Fe("polyline",{points:"3 4 3 9 8 9"}),Fe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Fe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function zI({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:[Fe("title",{children:e}),Fe("polyline",{points:"3 6 5 6 21 6"}),Fe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Fe("path",{d:"M10 11v6"}),Fe("path",{d:"M14 11v6"})]})}function Ad({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=te(),[i,l]=WI(!1),u=$I(null);HI(()=>{if(!i)return;let p=f=>{let m=u.current;m&&(f.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[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:[Fe(ho,{onClick:a}),Fe("button",{type:"button",onClick:()=>l(p=>!p),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:Fe(jI,{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&&Fe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(p=>{let f=p.threadId===t,m=Date.parse(p.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 ${f?"ww:bg-foreground/5":""}`,children:[ca("button",{type:"button",onClick:()=>{r(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Fe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),Fe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Vo(m,n)})]}),Fe("button",{type:"button",onClick:y=>{y.stopPropagation(),o(p.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:Fe(zI,{label:s.threadMenu.deleteThread})})]},p.threadId)}),c>0&&Fe("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 VI,useContext as GI}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=VI(Rd());function wo(){return GI(Ed)}var Md=Ed.Provider;import{useCallback as KI,useRef as XI}from"react";function Fd(e){let t=XI(e);return t.current=e,KI(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=rt(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 sx}from"@ai-sdk/react";import{useCallback as Se,useEffect as ze,useRef as Ce,useState as Ft}from"react";var JI="/api/mcp/modules/documents",QI=2e4,YI=3e5,et=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function _d(e,t){return vr(e,`${JI}${t}`)}function ZI(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 ex(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 tx(e){return e===403?new et("upload_disabled","This agent does not accept document uploads."):e===413?new et("max_file_size","That file is too large."):e===422||e===400?new et("accept","That file type is not accepted."):new et("upload_failed",`The upload could not be started (${e}).`)}function ax(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=YI;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 et("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new et("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new et("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=ZI(e.api);if(!t)throw new et("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 et("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw tx(n.status);let s=ex(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new et("upload_failed","The upload could not be started.");return await ax({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 rx,uiMessageChunkSchema as ox}from"ai";function nx(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 rx{processResponseStream(t){let a="",r=ox(),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 p=await o(c);if(p.success){s.enqueue(p.value);continue}let f=nx(p.error);if(f?.length){let m={...c};for(let S of f)delete m[S];let y=await o(m);y.success&&s.enqueue(y.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 rn(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ts(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function as(e){return await Lo(async a=>{let n=a.transaction(Xe,"readonly").objectStore(Xe).index(kr),i=(await ts(n.getAll(e))??[]).filter(yo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function So(e){return await Lo(async a=>{let o=a.transaction(Xe,"readonly").objectStore(Xe),n=await ts(o.get(e));return yo(n)?n:null})??null}async function rs(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(Xe,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Xe).put(t)});let r=a.transaction(Xe,"readwrite"),o=r.objectStore(Xe),n=o.index(kr),i=(await ts(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(Xe,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Xe).delete(e)}),null))}async function os(e){return(await as(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 ix="x-session-id",lx=250,ux=200;function Hd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Ba()}function Co(){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 dx(e,t){let a=rt(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;ze(()=>en(d),[d]);let c=wo(),p=Ce(a),f=Ce(r),m=Ce(o),y=Ce(i);ze(()=>{y.current=i},[i]);let S=Ce(void 0),L=Ce(void 0),C=Ce(null),[I,x]=Ft(void 0),v=Ce(I),[q,N]=Ft(l),z=Ce(q),[V,Q]=Ft([]),[O,re]=Ft(!i),K=Ce(void 0),J=Ce(void 0),X=Ce(void 0),E=Ce(void 0),b=Ce(0),D=Ce(u);ze(()=>{D.current=u},[u]);let ae=Se(g=>{z.current=g,N(g),g&&(D.current?.(g),c.emit({name:"thread.changed",sessionId:v.current,properties:{threadId:g}}))},[c]),oe=Se(async()=>{if(!i)return;let g=C.current?.memoryUserId;if(!g)return;let U=await as(g);Q(U)},[i]),Re=Se(()=>v.current,[]),Ne=Se(g=>{let U=$d(g);if(!U||v.current===U)return;let W=v.current===void 0;v.current=U,x(U),W&&c.emit({name:"session.started",properties:{sessionId:U}})},[c]),k=Se(()=>{v.current=void 0,x(void 0)},[]);ze(()=>{p.current=a,f.current=r},[a,r]),ze(()=>{m.current=o},[o]),ze(()=>{let g=!1,U=b.current;return(async()=>{try{let de=await Fa();if(g)return;C.current=de}catch{}if(!i)return;let W=C.current?.memoryUserId;if(!W){re(!0);return}try{let de=l??await os(W);if(g||U!==b.current)return;if(de){let be=await So(de);if(g||U!==b.current)return;be&&be.memoryUserId===W&&(z.current=be.threadId,N(be.threadId),K.current=be.createdAt,J.current=be.title,be.sessionId&&(v.current=be.sessionId,x(be.sessionId)),ye(be.messages))}await oe()}finally{g||re(!0)}})(),()=>{g=!0}},[]);let H=Ce(null),$=Se(g=>{let U=m.current?.[g];return typeof U=="string"?U:void 0},[]),ne=Se(()=>({api:t,token:Ar(p.current),channelId:$("channelId"),sessionId:v.current}),[t,$]),me=Se(g=>{let U=H.current;H.current=null,U?.report(ne(),{mode:$("mode"),outcome:g})},[ne,$]),Ie=Se(g=>{let U=typeof g=="object"&&g!==null&&!Array.isArray(g)?g:void 0,W=C.current?.memoryUserId,de=C.current?.language,be={};return W&&(be.memoryUserId=W),de&&(be.locale=de),Object.keys(be).length>0||U?{...be,...U??{}}:void 0},[]),fe=Se(()=>{let g=z.current;return g||(g=Hd(),K.current=Co(),J.current=void 0,ae(g)),g},[ae]),Z=Ce(new xo({api:t,headers:()=>({...p.current}),body:()=>{let g={...m.current??{}},U=Object.hasOwn(g,"sessionId"),W=$d(g.sessionId);if(W)Ne(W),g.sessionId=W;else if(U)k(),delete g.sessionId;else{let Oo=Re();Oo&&(g.sessionId=Oo)}aa(S.current)&&(g.modelContext=S.current),L.current?.length&&(g.documents=L.current);let de=C.current,be=Ke();de&&(g.visitorContext={timezone:de.timezone,language:de.language,languages:de.languages,deviceType:de.deviceType,referrer:de.referrer,visitorId:be});let Ae=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},sp=typeof Ae.client=="object"&&Ae.client!==null?Ae.client:{};g.visitor={...Ae,id:be,client:{...sp,...de&&{memoryUserId:de.memoryUserId}}};let ii=Ie(g.extra);return ii&&(g.extra=ii),y.current&&(Object.hasOwn(g,"threadId")?typeof g.threadId=="string"&&(z.current=g.threadId):g.threadId=fe()),g},fetch:(async(g,U)=>{let W=H.current;W?.mark("requestStart");try{let de=await fetch(g,U);return S.current=void 0,Ne(de.headers.get(ix)),W?W.instrument(de):de}finally{L.current=void 0}})})),j=Ce(e.transport?.({fallback:Z.current,headers:()=>p.current,body:()=>{let g=Ie(m.current?.extra);return{channelId:$("channelId"),visitor:{id:Ke()},...g?{extra:g}:{}}},threadHistory:()=>y.current,threadId:()=>y.current?fe():void 0,hasMessages:()=>G.current.length>0,takeTurnInput:()=>{let g=L.current;return L.current=void 0,S.current=void 0,g?.length?{documents:g}:{}},onSession:Ne})??Z.current),se=Ce(null),xe=Ce(null),ie=Ce({}),[le,ee]=Ft(0),ue=e.skipRemoteConfig===!0,Y=Se(async()=>{if(!ue)try{let g=await dx(t,p.current);ie.current=g,ee(U=>U+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,ue]);ze(()=>{Y()},[Y]);let{messages:he,sendMessage:T,setMessages:ye,status:_,stop:M}=sx({messages:e.initialMessages,transport:j.current,onFinish({message:g,isAbort:U,isDisconnect:W,isError:de}){H.current?.mark("streamEnd"),me(U||W||de?"error":"ok"),s?.(),!U&&!W&&!de&&c.emit({name:"message.received"}),se.current&&(xe.current=g)},onError(g){me("error"),console.warn("[Waniwani] Chat error:",g.message),c.emit({name:"chat.error",properties:{message:g.message.slice(0,ux)}}),se.current&&(se.current.reject(g),se.current=null)}}),G=Ce(he);ze(()=>{G.current=he},[he]),ze(()=>{let g=j.current;return g.restore?.().then(U=>{U.length>0&&G.current.length===0&&ye(U)}).catch(()=>{}),()=>g.dispose?.()},[]);let R=Se(()=>{H.current=Gi(G.current.filter(g=>g.role==="user").length+1)},[]),[w,P]=Ft(!1),F=Se(async()=>{P(!0);try{await M();let g=v.current;if(!g)return;await fetch(rt(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...p.current},body:JSON.stringify({sessionId:g})})}catch{}finally{P(!1)}},[t,M]),pe=Ce(i);ze(()=>{if(!i||pe.current||(pe.current=!0,G.current.length>0))return;let g=!1,U=b.current;return re(!1),(async()=>{try{let W=C.current;if(!W)try{W=await Fa(),C.current=W}catch{}let de=W?.memoryUserId;if(!de||g||U!==b.current){g||re(!0);return}let be=l??await os(de);if(g||U!==b.current)return;if(be){let Ae=await So(be);if(g||U!==b.current)return;Ae&&Ae.memoryUserId===de&&(z.current=Ae.threadId,N(Ae.threadId),K.current=Ae.createdAt,J.current=Ae.title,Ae.sessionId&&(v.current=Ae.sessionId,x(Ae.sessionId)),ye(Ae.messages))}await oe()}finally{g||re(!0)}})(),()=>{g=!0}},[i]),ze(()=>{if(_==="ready"&&se.current&&xe.current){let g=se.current,U=xe.current;se.current=null,xe.current=null,g.resolve(U)}},[_]);let[tt,qe]=Ft(""),gr=typeof d!="function",ri=tt.length>0;ze(()=>{gr&&ri&&j.current.prepare?.()},[gr,ri]);let[St,wr]=Ft([]),Do=Ce([]);Do.current=St;let Ia=_==="submitted"||_==="streaming",Ir=Se(g=>{for(let U of g)for(let W of U.documents??[])Io({documentId:W.documentId,api:t,headers:p.current,uploadHeaders:f.current})},[t]),Ct=Se(()=>{Ir(Do.current),wr([])},[Ir]),Jf=Se(g=>{let U=Do.current.find(W=>W.id===g);U&&Ir([U]),wr(W=>W.filter(de=>de.id!==g))},[Ir]),Qf=Ia&&St.length>0,Yf=Se(g=>{let U=!!g.text?.trim(),W=!!(g.files?.length||g.documents?.length);if(U||W){if(Ia){if(St.length>0)return;wr(de=>[...de,{id:Ba(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),qe("");return}R(),S.current=g.modelContext,L.current=g.documents,T({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),n?.(g.text||""),c.emit({name:"message.sent"}),qe("")}},[T,n,Ia,St.length,c,R]),Zf=Se(g=>new Promise((U,W)=>{se.current={resolve:U,reject:W},R(),T({text:g}),n?.(g),c.emit({name:"message.sent"})}),[T,n,c,R]);ze(()=>{if(_!=="ready"||w||St.length===0)return;let[g,...U]=St;wr(U),R(),S.current=g.modelContext,L.current=g.documents,T({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"})},[_,w,T,n,St,c,R]);let ep=Se(()=>{j.current.reset?.(),ye([]),Ct(),k(),qe(""),ie.current={},ee(g=>g+1),Y()},[ye,k,Y,Ct]),xr=Se(()=>{if(!y.current)return;let g=C.current?.memoryUserId,U=z.current,W=G.current;if(!(!g||!U||W.length===0)){if(K.current||(K.current=Co()),!J.current){let de=W.find(Ae=>Ae.role==="user"),be=de?de.parts.map(Ae=>"text"in Ae&&typeof Ae.text=="string"?Ae.text:"").join(" "):"";J.current=qd(be)}return{threadId:U,memoryUserId:g,title:J.current,messages:W,sessionId:v.current,createdAt:K.current,updatedAt:Co()}}},[]),oi=Se(async()=>{let g=xr();g&&(await rs(g),await oe())},[xr,oe]);ze(()=>{if(i&&O&&!(_==="submitted"||_==="streaming")&&he.length!==0)return X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{X.current=void 0;let g=oi().finally(()=>{E.current===g&&(E.current=void 0)});E.current=g},lx),()=>{X.current&&clearTimeout(X.current)}},[i,O,he,_,oi]);let yr=Se(()=>{let g=E.current,U=X.current,W=U?xr():void 0;return U&&(clearTimeout(U),X.current=void 0),(async()=>{g&&await g,W&&(await rs(W),await oe())})()},[xr,oe]),tp=Se(()=>{b.current+=1,yr(),j.current.dispose?.(),ye([]),Ct(),k(),qe("");let g=Hd();return K.current=Co(),J.current=void 0,ae(g),oe(),g},[ye,k,ae,oe,yr,Ct]),Bo=Se(async g=>{b.current+=1;let U=b.current;if(await yr(),U!==b.current)return;let W=await So(g);U===b.current&&W&&(j.current.dispose?.(),W.sessionId?(v.current=W.sessionId,x(W.sessionId)):k(),ae(W.threadId),K.current=W.createdAt,J.current=W.title,ye(W.messages),Ct(),qe(""))},[ye,k,ae,yr,Ct]),ap=Se(async g=>{if(z.current===g){b.current+=1,X.current&&(clearTimeout(X.current),X.current=void 0);let U=E.current;U&&await U}await Nd(g),j.current.forget?.(g),await oe(),z.current===g&&(j.current.dispose?.(),ye([]),Ct(),k(),qe(""),z.current=void 0,N(void 0),K.current=void 0,J.current=void 0)},[ye,k,oe,Ct]);ze(()=>{i&&O&&l!==void 0&&l!==z.current&&Bo(l)},[l,i,O,Bo]);let rp=Se(g=>{qe(g.target.value)},[]),ni=he[he.length-1],si=he.length>0,op=Ia&&(!si||ni.role==="user"),np=ie.current;return{messages:he,status:_,text:tt,setText:qe,handleSubmit:Yf,handleTextChange:rp,isLoading:Ia,showLoaderBubble:op,lastMessage:ni,hasMessages:si,sendMessage:T,sendMessageAndWait:Zf,stop:F,reset:ep,queuedMessages:St,queueFull:Qf,removeQueuedMessage:Jf,sessionId:I,toolDefinitions:np,refreshToolDefinitions:Y,threads:V,activeThreadId:q,isThreadHistoryReady:O,startNewThread:tp,switchThread:Bo,deleteThread:ap,keepsSession:j.current.keepsSession?.()??!1}}import{useCallback as jd,useEffect as cx,useState as fx}from"react";var px=6e3;function zd(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=fx(null),u=jd((p,f,m)=>Bd({file:p,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:f,onProgress:m}),[t,a,r,o]),d=jd(p=>{Io({documentId:p.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);cx(()=>{if(!i)return;let p=setTimeout(()=>l(null),px);return()=>clearTimeout(p)},[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 hx,useEffect as is,useMemo as ls,useRef as gx,useState as Xd}from"react";function fa(e){return e.map(t=>({id:null,text:t}))}function ns(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var ss="waniwani/suggestions";function pa(e){return typeof e=="object"&&e!==null}function Vd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function mx(e){if(!pa(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!pa(t)||!pa(t._meta))return null;let a=t._meta[ss];return!pa(a)||!Vd(a.suggestions)?null:a.suggestions}function Gd(e){let t=null;for(let a of e.parts){let r=mx(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 wx(e){return"page"in e||"channel"in e}function Ix(e){return typeof e!="object"||e===null?{}:wx(e)?{rungs:e}:{initial:e.initial}}function Jd(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Ix(r),i=ls(()=>({page:null,channel:fa(s??[])}),[s]),l=n??i,u=ls(()=>o?ns({flow:null,followup:null,...l}):null,[o,l]),d=ls(()=>u?.suggestions.map(I=>I.text)??[],[u]),[c,p]=Xd(d),[f,m]=Xd(u?.origin??"channel"),y=gx(a),S=hx(()=>{p([])},[]),L=t.length>0;is(()=>{L||(p(d),m(u?.origin??"channel"))},[d,u,L]);let C=t[t.length-1];return is(()=>{C?.role==="user"&&S()},[C,S]),is(()=>{let I=y.current;if(y.current=a,I!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(z=>z.role==="assistant");if(!x)return;let v=Gd(x),q=Kd(x),N=ns({flow:v===null?null:fa(v),followup:q===null?null:fa(q),page:null,channel:null});p(N?N.suggestions.map(z=>z.text):[]),m(N?.origin??"channel")},[a,o,t]),{suggestions:c,source:f,isLoading:!1,clear:S}}import{useEffect as xx,useRef as yx,useState as Lx}from"react";var Sx=80,Cx=50,bx=15e3,Qd=500;function Yd(e,t=!0){let[a,r]=Lx(""),o=yx(void 0);return xx(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Qd)):o.current=setTimeout(l,Cx)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,bx)):o.current=setTimeout(l,Sx)))};return o.current=setTimeout(l,Qd),()=>{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 rt(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"},vx={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"},kx={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 Tx(e){return{...ec,...e}}function us(e){let t={};for(let[a,r]of Object.entries(kx)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as ke,jsxs as xt}from"react/jsx-runtime";var ds=tc(function(t,a){let{locale:r,messages:o}=t;return ke(zo,{locale:r,messages:o,children:ke(Px,{...t,ref:a})})}),Px=tc(function(t,a){let{t:r,ready:o}=te(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:p=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:m,mcp:y,debug:S=!1,readOnly:L=!1,title:C,headerActions:I,hideHeader:x=!1,enableThreadHistory:v=!1,showToolCalls:q=!0,initializing:N=!1,onScreen:z=!0,disclaimer:V}=t,Q=n?.theme,O=n?.variables,re=n?.assistantBubble??!1,K=O?us(O):{},[J,X]=bo(!1);It(()=>{if(Q!=="auto"||typeof window>"u")return;let w=window.matchMedia("(prefers-color-scheme: dark)");X(w.matches);let P=()=>X(w.matches);return w.addEventListener("change",P),()=>w.removeEventListener("change",P)},[Q]);let E=Q==="dark"||Q==="auto"&&J,b=Wd({...t,api:m}),D=wo(),ae=Fd({...t,api:m,sessionId:b.sessionId,onCallTool:y?.onCallTool}),oe=y?.resourceEndpoint??Zd(m,t.headers),Re=_t({});Re.current={api:m,token:Ar(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:b.sessionId};let Ne=ar(w=>{Rr("widget",Re.current,{widget:w.widget,outcome:w.outcome},w.metrics)},[]),k=Yd(p,!b.text),H=zd({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:b.sessionId,documentUpload:u,allowAttachments:l}),[$,ne]=bo(null),[me,Ie]=bo(null),fe=_t(null),Z=_t(null),j=_t(null),se=_t(null),[xe,ie]=bo(!0),le=_t(xe);le.current=xe;let ee=ar(()=>{let w=fe.current;if(!w)return;let P=w.querySelector("textarea");P&&P.focus()},[]),ue=ar((w="smooth")=>{let P=Z.current;P&&P.scrollTo({top:P.scrollHeight,behavior:w})},[]);It(()=>{let w=se.current,P=Z.current;if(!w||!P)return;let F=new IntersectionObserver(([pe])=>ie(pe.isIntersecting),{root:P,rootMargin:"0px 0px 200px 0px",threshold:0});return F.observe(w),()=>F.disconnect()},[]),It(()=>{let w=Z.current;if(!w)return;let P=F=>{let tt=(F.target instanceof Element?F.target:null)?.closest("a");tt?.href&&D.emit({name:"link.clicked",properties:{url:tt.href}})};return w.addEventListener("click",P),()=>w.removeEventListener("click",P)},[D]),It(()=>{(b.messages[b.messages.length-1]?.role==="user"||le.current)&&ue("smooth")},[b.messages.length,b.messages[b.messages.length-1]]),It(()=>{ue("auto")},[ue]),It(()=>{if(typeof ResizeObserver>"u")return;let w=Z.current,P=j.current;if(!w&&!P)return;let F=w?.scrollHeight??0,pe=w?.clientHeight??0,tt=new ResizeObserver(()=>{let qe=Z.current;if(!qe)return;let gr=qe.scrollTop+pe>=F-5;F=qe.scrollHeight,pe=qe.clientHeight,gr&&ue("auto")});return w&&tt.observe(w),P&&tt.observe(P),()=>tt.disconnect()},[ue]);let Y=Jd({messages:b.messages,status:b.status,suggestions:t.suggestions}),he=_t(null);It(()=>{let w=Y.suggestions;!z||w.length===0||he.current===w||(he.current=w,D.emit({name:"suggestions.shown",properties:{texts:w,origin:Y.source}}))},[Y.suggestions,Y.source,D,z]);let T=c?.suggestions,ye=_t(null);It(()=>{!z||b.messages.length>0||!T?.length||ye.current===T||(ye.current=T,D.emit({name:"suggestions.shown",properties:{texts:T,origin:"channel"}}))},[T,b.messages.length,D,z]);let _=ar(w=>{let P=w.content.map(F=>F.text??"").join("").trim();P&&b.handleSubmit({text:P,files:[],modelContext:w.modelContext})},[b.handleSubmit]),M=ar(w=>{let P=Y.suggestions.indexOf(w),F=P>=0?P:c?.suggestions?.indexOf(w)??-1,pe=P>=0?Y.source:"channel";D.emit({name:"suggestion.clicked",properties:{text:w,index:F,origin:pe}}),Y.clear(),b.handleSubmit({text:w,files:[]})},[Y.suggestions,Y.source,Y.clear,b.handleSubmit,c,D]);Ax(a,()=>({sendMessage:w=>{b.handleSubmit({text:w,files:[]}),ee()},sendMessageAndWait:w=>b.sendMessageAndWait(w),reset:b.reset,focus:ee,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,ee]),It(()=>{if(!f)return;let w=P=>{let F=P.detail,pe=typeof F?.message=="string"?F.message:void 0;pe&&b.handleSubmit({text:pe,files:[]}),ee()};return window.addEventListener(f,w),()=>window.removeEventListener(f,w)},[f,b.handleSubmit,ee]);let G=!x&&!!(C||v||b.keepsSession||I),R=N||!o;return xt("div",{ref:fe,style:{...K,maxHeight:"inherit",...$&&me?{height:me}:{},opacity:R?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":re?"true":void 0,"data-color-scheme":Q==="auto"?"auto":void 0,...R?{"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",Q==="dark"&&"dark",s,i?.root),children:[G&&xt("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:[C&&ke("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:C}),!C&&ke("div",{className:"ww:flex-1"}),!v&&b.keepsSession&&ke(ho,{onClick:b.reset}),v&&ke(Ad,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:w=>{b.switchThread(w)},onDeleteThread:w=>{b.deleteThread(w)}}),I]}),xt("div",{ref:Z,className:A("ww:relative ww:flex-1 ww:min-h-0",$?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[xt("div",{ref:j,className:A("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",$&&"ww:!py-0"),children:[ke(Yi,{value:Ne,children:ke(Cd,{messages:b.messages,status:b.status,welcomeMessage:d,welcome:c,onSuggestionSelect:M,resourceEndpoint:oe,chatSessionId:b.sessionId,isDark:E,onFollowUp:_,onCallTool:ae,fullscreenToolCallId:$,debug:S,showToolCalls:q,toolDefinitions:b.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(w,P)=>{if(w==="fullscreen"){let F=fe.current?.getBoundingClientRect().height??0;Ie(F>0?F:null),ne(P.toolCallId)}else Ie(null),ne(null)}})}),ke("div",{ref:se,"aria-hidden":!0,style:{height:1}})]}),!xe&&!$&&ke("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ke(it,{type:"button",onClick:()=>ue("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ke(ya,{className:"ww:size-4"})})})]}),!L&&xt("div",{className:"ww:shrink-0 ww:bg-background",style:$?{display:"none"}:void 0,children:[ke(kd,{suggestions:Y.suggestions,isLoading:Y.isLoading,onSelect:M}),ke(kl,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),ke("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:xt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[xt(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:[ke(wl,{enabled:H.enabled}),H.enabled&&ke(gl,{className:"ww:px-4 ww:pt-3"}),xt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[H.enabled&&ke(hl,{}),ke(pl,{onChange:b.handleTextChange,value:b.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ke(ml,{status:b.status,disabled:b.queueFull,onStop:b.stop})]})]}),H.error&&ke("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:H.error.message}),xt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ke(vd,{}),ke(Il,{text:V})]})]})})]})]})});import{forwardRef as OS,useEffect as _o,useImperativeHandle as US,useMemo as ti,useRef as ai,useState as Gf}from"react";var Rx="https://app.waniwani.ai/api/mcp/chat",Ex={api:Rx};function Mx(){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 Fx(){let e=Mx();if(!e)return{};let t=D=>e.getAttribute(D)??void 0,a=D=>{let ae=e.getAttribute(D);if(ae==null)return;let oe=ae.trim().toLowerCase();if(oe==="true"||oe==="1"||oe==="")return!0;if(oe==="false"||oe==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let p=t("data-channel-id");if(p&&(r.channelId=p),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let D=a("data-show-tool-calls");D!==void 0&&(r.showToolCalls=D)}let m=t("data-css");m&&(r.css=m);let y=t("data-suggestions");y&&(r.suggestions=y.split(",").map(D=>D.trim()).filter(Boolean));let S=a("data-enable-thread-history");S!==void 0&&(r.enableThreadHistory=S);let L=a("data-disable-page-view");L!==void 0&&(r.disablePageView=L);let C=a("data-hide-header");C!==void 0&&(r.hideHeader=C);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 q=t("data-mode");(q==="inline"||q==="floating"||q==="composer"||q==="off")&&(r.mode=q);let N={},z=t("data-composer-variant")?.trim().toLowerCase();(z==="glow"||z==="outline")&&(N.variant=z);let V=t("data-composer-size")?.trim().toLowerCase();(V==="sm"||V==="md"||V==="lg")&&(N.size=V);let Q=a("data-composer-suggestions");Q!==void 0&&(N.showSuggestions=Q);let O=t("data-composer-align")?.trim().toLowerCase();(O==="start"||O==="center")&&(N.align=O);let re=a("data-composer-trigger");re!==void 0&&(N.trigger=re);let K=a("data-composer-mobile-trigger");K!==void 0&&(N.mobileTrigger=K),Object.keys(N).length>0&&(r.composer=N);let J=t("data-height");J&&(r.height=J);let X=t("data-launcher-text");X&&(r.launcherText=X);let E=t("data-appear-delay");if(E!==void 0){let D=Number.parseInt(E.trim(),10);Number.isFinite(D)&&D>=0&&(r.appearDelay=D)}let b=t("data-disclaimer");if(b!==void 0){let D=b.trim(),ae=D.toLowerCase();ae==="false"||ae==="0"?r.disclaimer=!1:D&&(r.disclaimer=D)}return r}function rr(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function cs(e,t,a){let r=a??Fx(),o=_x(t,r,e),n={...t?.composer??{},...rr(r.composer),...rr(e?.composer)},s=Object.keys(n).length>0,i={token:"",...Ex,...rr(t),...rr(r),...rr(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 _x(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 WR}from"react";var Dx="/api/mcp/events/v2/batch",fs=new Set;function Bx(e,t,a){return`${e}|${t}|${a??""}`}function or(e){return vr(e,Dx)}async function ps(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=or(t);if(!s){lt("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){lt("page.viewed skipped: no channelId or source to attribute it");return}let i=Bx(t,a,r);if(!fs.has(i)){fs.add(i);try{let l=await Fa(),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});Ht("pageViewSent"),await c}catch{fs.delete(i)}}}import{useMemo as Vx}from"react";import{useEffect as qx,useSyncExternalStore as Hx}from"react";function Ox(e){return e?.patterns??e?.rules??[]}var ac="\0\0";function Ux(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ac).replace(/\\\*/g,"[^/]*").split(ac).join(".*");return new RegExp(`^${a}$`)}function Nx(e,t){try{return Ux(e).test(t)}catch{return!1}}function rc(e,t){if(!e)return!0;let a=!1;for(let r of Ox(e))if(Nx(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var ms="waniwani:locationchange",oc=!1;function $x(){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(ms)),o}}}}function Wx(e){return $x(),window.addEventListener(ms,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(ms,e),window.removeEventListener("popstate",e)}}function jx(){return window.location.pathname}function zx(){return"/"}function hs(){return Hx(Wx,jx,zx)}function nc(e,t){let a=hs(),r=t&&rc(e,a);return qx(()=>{lt("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var Gx=3,Kx=["low","medium","high"];function gs(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function Xx(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 Kx){let s=gs(t.get(n)??[])??gs(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(Gx,e.length);){let n=gs(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=hs();return Vx(()=>{let o=sc(r),n=t?.find(i=>sc(i.url)===o),s=n?Xx(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return lt("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:fa(a??[])}},[r,t,a])}var Jx="waniwani:config:";function uc(e,t,a){return`${Jx}${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){Ht("configStart");let o=await Yx(e,t,a,r);return Ht("configEnd"),a?.aborted||Pr(o.metadata),o}async function Yx(e,t,a,r){try{let o=rt(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?Zx(i):{}}catch{return{}}}function Zx(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.sessionApi=="string"&&e.sessionApi&&(t.sessionApi=e.sessionApi),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{useRef as uS,useState as dS}from"react";import{readUIMessageStream as ey}from"ai";function ko(){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,p)=>{e.has(c.callId)||(e.add(c.callId),d.enqueue({type:"tool-input-available",toolCallId:c.callId,toolName:c.toolName??c.kind,input:p,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 p of d.data.actions)u(c,p,p.input);break}case"action.result":{let{result:p,status:f,error:m}=d.data;if(p.kind!=="tool-result")break;if(u(c,p,{}),p.isError===!0||f!=="completed"){c.enqueue({type:"tool-output-error",toolCallId:p.callId,errorText:m?.message??"The tool call failed.",dynamic:!0});break}c.enqueue({type:"tool-output-available",toolCallId:p.callId,output:p.output,dynamic:!0});break}case"step.completed":{let{stepIndex:p,usage:f}=d.data;i(c),o&&(c.enqueue({type:"finish-step"}),o=!1),c.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:p,modelId:t.get(p),usage:f}}});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 ty(e){let t=new ReadableStream({start(r){for(let o of e)r.enqueue(o);r.close()}}).pipeThrough(ko()),a;for await(let r of ey({stream:t}))a=r;return a?.parts.length?a:void 0}async function fc(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 ty(r.events);o&&a.push(o)}return a}import{z as $e}from"zod";import{z as B}from"zod";import{z as To}from"zod";var Gt=Symbol("invalid-json-value-candidate");function Is(e){let t=ws(e);if(t===Gt)throw TypeError("Expected a JSON-serializable value.");return t}function nr(e){let t=Is(e);if(!ay(t))throw TypeError("Expected a JSON-serializable object.");return t}function ws(e,t=new WeakSet){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number")return Number.isFinite(e)?e:Gt;if(Array.isArray(e)){let r=[];for(let o of e){let n=ws(o,t);if(n===Gt)return Gt;r.push(n)}return r}if(typeof e!="object"||e===void 0||!ry(e)||t.has(e))return Gt;t.add(e);let a={};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let n=ws(o,t);if(n===Gt)return Gt;a[r]=n}return t.delete(e),a}function ay(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function ry(e){let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var sr=To.unknown().transform((e,t)=>{try{return Is(e)}catch(a){return t.addIssue({code:"custom",message:pc(a,"Expected a JSON-serializable value.")}),To.NEVER}}),yt=To.unknown().transform((e,t)=>{try{return nr(e)}catch(a){return t.addIssue({code:"custom",message:pc(a,"Expected a JSON-serializable object.")}),To.NEVER}});function pc(e,t){return e instanceof Error?e.message:t}var mc=B.object({callId:B.string(),input:yt,kind:B.literal("tool-call"),toolName:B.string()}).strict();B.object({callId:B.string(),description:B.string(),input:yt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:yt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),B.object({callId:B.string(),input:yt,kind:B.literal("workflow-tool-call"),toolName:B.string(),workflowId:B.string()}).strict(),B.object({callId:B.string(),description:B.string(),input:yt,kind:B.literal("subagent-call"),name:B.string(),nodeId:B.string(),subagentName:B.string()}).strict();var iE=B.object({callId:B.string(),description:B.string(),input:yt,kind:B.literal("remote-agent-call"),name:B.string(),nodeId:B.string(),remoteAgentName:B.string()}).strict(),lE=B.object({callId:B.string(),executeInput:sr.optional(),input:yt,kind:B.literal("workflow-task"),nodeId:B.string().optional(),toolName:B.string(),workflowId:B.string()}).strict();B.object({callId:B.string(),input:yt,kind:B.literal("load-skill")}).strict();B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("tool-result"),output:sr,toolName:B.string()}).strict(),B.object({callId:B.string(),isError:B.literal(!0),kind:B.literal("subagent-result"),origin:B.literal("dispatch"),output:sr,subagentName:B.string()}).strict(),B.object({callId:B.string(),isError:B.boolean().optional(),kind:B.literal("load-skill-result"),output:sr,name:B.string().optional()}).strict();var oy=$e.object({description:$e.string().describe("Optional additional context for this option.").optional(),id:$e.string().describe("Stable identifier for the option."),label:$e.string().describe("User-facing label for the option."),style:$e.enum(["primary","danger","default"]).describe("Visual treatment hint for the option.").optional()}).strict(),ny=$e.enum(["question","session-limit","tool-approval"]),fE=$e.object({action:mc,allowFreeform:$e.boolean().describe("Whether the user may answer with freeform text instead of selecting one of the provided options.").optional(),display:$e.enum(["confirmation","select","text"]).describe("Rendering hint: the channel uses this to pick a UX treatment.").optional(),kind:ny.describe("Framework-owned request source used to resolve, route, and render the response."),options:$e.array(oy).describe("Selectable answer options to present to the user.").optional(),prompt:$e.string().describe("The prompt to present to the user."),requestId:$e.string().describe("Stable identifier for this request.")}).strict(),pE=$e.object({optionId:$e.string().optional(),requestId:$e.string(),text:$e.string().optional()}).strict();var Ve="/eve/v1",hE=`${Ve}/cron/:token`,hc=`${Ve}/health`,gc=`${Ve}/info`,We=`${Ve}/session`,gE=`${We}/:sessionId`,wE=`${We}/:sessionId/cancel`,IE=`${We}/:sessionId/compact`,xE=`${We}/:sessionId/clear`,yE=`${We}/:sessionId/reset`,LE=`${We}/:sessionId/stream`,SE=`${We}/:parentSessionId/subagents/:callId/:childSessionId/stream`,CE=`${Ve}/dev/schedules/:scheduleId`,xs=`${Ve}/dev/runtime-artifacts`,bE=`${xs}/rebuild`,vE=`${xs}/suspend`,kE=`${xs}/resume`;var TE=`${Ve}/connections/:name/callback/:attemptId/:token`,AE=`${Ve}/callback/:token`,PE=`${Ve}/task-input/:token`,RE=`${Ve}/activity/:token`;function wc(e){return`${We}/${encodeURIComponent(e)}`}function Ic(e){return`${We}/${encodeURIComponent(e)}/cancel`}function xc(e){return`${We}/${encodeURIComponent(e)}/compact`}function yc(e){return`${We}/${encodeURIComponent(e)}/clear`}function Lc(e){return`${We}/${encodeURIComponent(e)}/reset`}function ys(e){return`${We}/${encodeURIComponent(e)}/stream`}function ft(e){return typeof e=="object"&&!!e&&!Array.isArray(e)}function ir(e){return e instanceof Error?e.message:typeof e=="string"?e:e==null?String(e):ft(e)?typeof e.message=="string"&&e.message.length>0?e.message:sy(e):String(e)}function Kt(e){if(e instanceof Error)return e;let t=Error(ir(e));return ft(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 sy(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var Cc="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function iy(){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,Sc(t);else if(!cy(t)){if(e===0xffffffffffff)throw Error("Cannot mint a ULID: random component overflowed at the maximum timestamp.");e+=1,Sc(t)}return`${uy(e)}${dy(t)}`}}var ly=iy();function Sc(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 uy(e){let t=e,a="";for(let r=0;r<10;r+=1)a=Cc[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+=Cc[t>>>a&31];t&=(1<<a)-1}return r}function cy(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 bc="x-eve-session-id";var Ls="x-eve-stream-tail-index",Ss="x-eve-stream-version";var vc="1",kc="streamControlVersion",Cs={$eve:"stream.lease-ended",version:1},sM=new TextEncoder;function Ye(e){return e.type==="session.completed"||e.type==="session.failed"||e.type==="session.waiting"}function bs(e){return e.type==="session.failed"||e.type==="step.failed"||e.type==="turn.failed"}var Ao=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 Po=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 Ge=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);ft(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 Tc(e){let t,a,r,o=[],n=new Map;for(let s of e)Ye(s)&&(t=s),bs(s)&&(a=s),fy(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 fy(e){return e.type==="message.completed"&&e.data.finishReason!=="tool-calls"}function Xt(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 py=/^\/eve\/[a-z0-9][a-z0-9_-]*$/,my=/^\/eve\/[a-z0-9][a-z0-9_-]*\/v1$/;function vs(e,t){let a=hy(e),r=t.startsWith("/")?t:`/${t}`;if(r===Ve||r.startsWith(`${Ve}/`)){if(py.test(a))return`${a}${r.slice(4)}`;if(my.test(a))return`${a}${r.slice(Ve.length)}`}return`${a}${r}`}function hy(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function pt(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(gy(e)){let u=new URL(e),d=Pc(u.pathname);return u.pathname=vs(d,s),Ac(u.searchParams,n),Rc(u.searchParams,a),u.hash="",u.toString()}let i=new URL(e,"http://eve.local"),l=Pc(i.pathname);return Ac(i.searchParams,n),Rc(i.searchParams,a),`${vs(l,s)}${wy(i.searchParams)}`}function Ac(e,t){if(t.length!==0)for(let[a,r]of new URLSearchParams(t))e.append(a,r)}function gy(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function Pc(e){return e==="/"?"":e.endsWith("/")?e.slice(0,-1):e}function Rc(e,t){if(t!==void 0)for(let[a,r]of Object.entries(t))e.set(a,r)}function wy(e){let t=e.toString();return t.length===0?"":`?${t}`}function Ec(e){let t;for(let a of e)Iy(a)&&(t=a.data.result);return t}function Iy(e){return e.type==="result.completed"}var ks=Symbol("consumeMessageResponse"),Ts=Symbol("acceptedDeliveryId"),As=class{sessionId;[Ts];#t;#e;#a=!1;#r;#n=!1;#u=Promise.withResolvers();constructor(e){this.#t=e.cancelTurn,this.sessionId=e.sessionId,this[Ts]=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=Tc(e);return{data:Ec(e),events:e,inputRequests:t.inputRequests,message:t.message,sessionId:this.sessionId,status:t.status}}[Symbol.asyncIterator](){return this[ks]()}[ks](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):Ye(t)&&(this.#n=!0,this.#u.resolve(void 0)),yield t}finally{this.#u.resolve(void 0)}}};function Ps(e){return e[Ts]}function Mc(e,t){return e[ks](t)}function _c(e,t){switch(e){case"21":case"22":case"23":case"24":return xy(e,t);case"25":return yy(t);default:return Ly(e)}}function xy(e,t){if(t.type==="message.appended")return Fc(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 Fc(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 Sy(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 yy(e){return e.type==="message.appended"?(Rs(e.data.messageDelta,"message"),lr(e.data,"messageOffset","message"),lr(e.data,"messageSoFar","message")):e.type==="reasoning.appended"?(Rs(e.data.reasoningDelta,"reasoning"),lr(e.data,"reasoningOffset","reasoning"),lr(e.data,"reasoningSoFar","reasoning")):e.type==="action.input.appended"&&(Rs(e.data.inputTextDelta,"action input"),lr(e.data,"inputTextOffset","action input")),e}function Rs(e,t){if(typeof e!="string")throw TypeError(`Invalid ${t} append delta for stream version 25.`)}function lr(e,t,a){if(t in e)throw TypeError(`Invalid ${a} append shape for stream version 25.`)}function Ly(e){throw TypeError(`Unsupported message stream version: ${String(e)}.`)}function Sy(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 Fc(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 Es(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*Oc(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 Cy(a,t?.idleTimeoutMs);if(t.signal?.throwIfAborted(),l.done){n=!0,o+=r.decode();break}l.value&&(o+=r.decode(l.value,{stream:!0}));let u=o.indexOf(`
|
|
17
|
+
`);for(;u!==-1;){let d=o.slice(0,u).trim();if(o=o.slice(u+1),d.length>0){let c=JSON.parse(d);t.controlVersion==="1"&&Dc(c)?t.onLeaseEnded?.():yield Bc(c,t.streamVersion)}u=o.indexOf(`
|
|
18
|
+
`)}}let i=o.trim();if(i.length>0){let l=JSON.parse(i);t.controlVersion==="1"&&Dc(l)?t.onLeaseEnded?.():yield Bc(l,t.streamVersion)}}finally{t.signal?.removeEventListener("abort",s),n||a.cancel().catch(()=>{}),a.releaseLock()}}function Dc(e){if(typeof e!="object"||!e)return!1;let t=e;return t.$eve===Cs.$eve&&t.version===Cs.version}function Bc(e,t){return _c(t,e)}async function Cy(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 by={21:!0,22:!0,23:!0,24:!0,25:!0};function Uc(e){let t=e.get(Ss);if(t!==null&&Object.hasOwn(by,t))return t;throw TypeError(t===null?`Missing ${Ss} 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}},vy={...Jt,streamIdleReconnectPolicy:{...Jt.streamIdleReconnectPolicy,maxAttempts:0},streamOpenReconnectPolicy:{...Jt.streamOpenReconnectPolicy,maxAttempts:1}};function Nc(e,t){return{...t,...e}}function qc(e,t=!1){if(e&&"reconnect"in e&&e.reconnect===!1)return vy;let a=e;return{retryableErrorStatuses:a?.retryableErrorStatuses?new Set(a.retryableErrorStatuses):Jt.retryableErrorStatuses,streamIdleReconnectPolicy:Nc(a?.streamIdleReconnectPolicy,{...Jt.streamIdleReconnectPolicy,maxAttempts:t?1/0:Jt.streamIdleReconnectPolicy.maxAttempts}),streamOpenReconnectPolicy:Nc(a?.streamOpenReconnectPolicy,Jt.streamOpenReconnectPolicy)}}async function*Ms(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=()=>qc(e.resolveReconnectPolicy===void 0?e.streamReconnectPolicy:e.resolveReconnectPolicy(),e.keepAlive),a=t(),r=a.streamIdleReconnectPolicy,o=e.startIndex,n=r.baseDelayMs,s=0,i=!0,l,u=!1;for(;;){a=t(),r=a.streamIdleReconnectPolicy;let d;try{d=await ky({...e,retryPolicy:a,startIndex:o,requestTailIndex:(e.follow===!1||e.onCaughtUp!==void 0)&&l===void 0})}catch(f){if(e.signal?.aborted)return;throw f}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 ${Ls} 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,p=!1;try{for await(let f of Oc(d.body,{signal:e.signal,controlVersion:d.controlVersion,idleTimeoutMs:e.streamReadIdleTimeoutMs??15e3,onLeaseEnded:()=>{p=!0},streamVersion:d.streamVersion}))if(o+=1,c=!0,n=r.baseDelayMs,s=0,yield f,!u&&l!==void 0&&o>l&&(u=!0,e.onCaughtUp?.()),e.follow===!1&&l!==void 0&&o>l)return}catch(f){if(!Es(f))throw f}finally{d.close()}if(r=t().streamIdleReconnectPolicy,e.signal?.aborted||e.startIndex<0||r.maxAttempts===0)return;if(!p){if(!c&&!i&&(s+=1)>=r.maxAttempts||(i=!1,await ur(n,e.signal),e.signal?.aborted))return;n=Math.min(n*2,r.maxDelayMs)}}}async function ky(e){let t=e.retryPolicy??qc(e.streamReconnectPolicy,e.keepAlive),a=t.streamOpenReconnectPolicy,r,o,n,s=a.baseDelayMs,i=e.startIndex>=0&&t.streamIdleReconnectPolicy.maxAttempts>0?vc:void 0,l={};i!==void 0&&(l[kc]=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=pt(e.host,e.path,Object.keys(l).length>0?l:void 0),c=await e.resolveHeaders();e.signal?.throwIfAborted();let p=new AbortController,f=e.signal?AbortSignal.any([e.signal,p.signal]):p.signal,m;try{m=await fetch(d,{cache:"no-store",headers:c,redirect:e.redirect,signal:f})}catch(y){if(e.signal?.aborted||!Es(y)||u===a.maxAttempts-1)throw y;await ur(s,e.signal),s=Math.min(s*2,a.maxDelayMs);continue}if(m.ok){if(!m.body)throw new Ge(m.status,"Response body is null.",m.headers);let y=!1;return{body:m.body,close:()=>{y||(y=!0,m.body?.cancel().catch(()=>{}),p.abort())},controlVersion:i,streamVersion:Uc(m.headers),tailIndex:Ty(m.headers)}}if(r=m.status,o=await m.text(),n=m.headers,!t.retryableErrorStatuses.has(m.status))throw new Ge(m.status,o,m.headers);u<a.maxAttempts-1&&(await ur(s,e.signal),s=Math.min(s*2,a.maxDelayMs))}throw new Ge(r??0,o??"Failed to open message stream.",n)}function Ty(e){let t=e.get(Ls);if(t===null||!/^-?\d+$/.test(t))return;let a=Number(t);return Number.isSafeInteger(a)?a:void 0}async function ur(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 Hc=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 $c=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 Wc=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 jc=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 zc(e){let{signal:t,...a}=e.options??{},{payload:r,response:o}=await Ro({body:a,context:e.context,operation:"Cancel",path:Ic(e.sessionId),signal:t}),n=Hc.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 Vc(e){let{payload:t}=await Ro({context:e.context,operation:"Clear",path:yc(e.sessionId)}),a=$c.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 Gc(e){let{payload:t}=await Ro({context:e.context,operation:"Compact",path:xc(e.sessionId)}),a=Wc.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 Kc(e){let{signal:t,...a}=e.options??{},{payload:r}=await Ro({body:a,context:e.context,operation:"Reset",path:Lc(e.sessionId),signal:t}),o=jc.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 Ro(e){let t=await e.context.resolveHeaders();t.set("content-type","application/json");let a=await fetch(pt(e.context.host,e.path),Ay({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 Ge(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 Ay(e,t){return t===void 0?e:{...e,redirect:t}}import{TypeValidationError as s1,asSchema as nL,jsonSchema as i1}from"ai";function dr(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(!dr(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(!dr(e[n],t[n]))return!1;return!0}return e===t}function nt(e){return encodeURI(Py(e))}function Py(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var Ry={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},Ey={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},My={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},Fy=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 Qt(e,t=Object.create(null),a=Fy,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:Qt(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(My[n])continue;let s=`${r}/${nt(n)}`,i=e[n];if(Array.isArray(i)){if(Ry[n]){let l=i.length;for(let u=0;u<l;u++)Qt(i[u],t,a,`${s}/${u}`)}}else if(Ey[n])for(let l in i)Qt(i[l],t,a,`${s}/${nt(l)}`);else Qt(i,t,a,s)}return t}var _y=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Dy=[0,31,28,31,30,31,30,31,31,30,31,30,31],By=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Oy=/^(?=.{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,Uy=/^(?:[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,Ny=/^(?:(?:[^\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,qy=/^(?:(?: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,Hy=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,$y=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Wy=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,jy=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,zy=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))},Vy=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,Gy=/^((([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,Ky=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 mt(e){return e.test.bind(e)}var Xc={date:Jc,time:Qc.bind(void 0,!1),"date-time":Qy,duration:Ky,uri:eL,"uri-reference":mt(Uy),"uri-template":mt(Ny),url:mt(qy),email:zy,hostname:mt(Oy),ipv4:mt(Vy),ipv6:mt(Gy),regex:aL,uuid:mt(Hy),"json-pointer":mt($y),"json-pointer-uri-fragment":mt(Wy),"relative-json-pointer":mt(jy)};function Xy(e){return e%4==0&&(e%100!=0||e%400==0)}function Jc(e){let t=e.match(_y);if(!t)return!1;let a=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&Xy(a)?29:Dy[r])}function Qc(e,t){let a=t.match(By);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 Jy=/t|\s/i;function Qy(e){let t=e.split(Jy);return t.length==2&&Jc(t[0])&&Qc(!0,t[1])}var Yy=/\/|:/,Zy=/^(?:[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 eL(e){return Yy.test(e)&&Zy.test(e)}var tL=/[^\\]\\Z/;function aL(e){if(tL.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var rL;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(rL||={});function oL(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 Te(e,t,a="2019-09",r=Qt(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:p,$recursiveAnchor:f,type:m,const:y,enum:S,required:L,not:C,anyOf:I,allOf:x,oneOf:v,if:q,then:N,else:z,format:V,properties:Q,patternProperties:O,additionalProperties:re,unevaluatedProperties:K,minProperties:J,maxProperties:X,propertyNames:E,dependentRequired:b,dependentSchemas:D,dependencies:ae,prefixItems:oe,items:Re,additionalItems:Ne,unevaluatedItems:k,contains:H,minContains:$,maxContains:ne,minItems:me,maxItems:Ie,uniqueItems:fe,minimum:Z,maximum:j,exclusiveMinimum:se,exclusiveMaximum:xe,multipleOf:ie,minLength:le,maxLength:ee,pattern:ue,__absolute_ref__:Y,__absolute_recursive_ref__:he}=t,T=[];if(f===!0&&n===null&&(n=t),p==="#"){let _=n===null?r[he]:n,M=`${i}/$recursiveRef`,G=Te(e,n===null?t:n,a,r,o,_,s,M,l);G.valid||T.push({instanceLocation:s,keyword:"$recursiveRef",keywordLocation:M,error:"A subschema had errors."},...G.errors)}if(c!==void 0){let _=r[Y||c];if(_===void 0){let R=`Unresolved $ref "${c}".`;throw Y&&Y!==c&&(R+=` Absolute URI "${Y}".`),R+=`
|
|
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: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};
|
|
21
|
+
- `)}`,Error(R)}let M=`${i}/$ref`,G=Te(e,_,a,r,o,n,s,M,l);if(G.valid||T.push({instanceLocation:s,keyword:"$ref",keywordLocation:M,error:"A subschema had errors."},...G.errors),a==="4"||a==="7")return{valid:T.length===0,errors:T}}if(Array.isArray(m)){let _=m.length,M=!1;for(let G=0;G<_;G++)if(d===m[G]||m[G]==="integer"&&d==="number"&&e%1==0&&e===e){M=!0;break}M||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(y!==void 0&&(d==="object"||d==="array"?dr(e,y)||T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(y)}.`}):e!==y&&T.push({instanceLocation:s,keyword:"const",keywordLocation:`${i}/const`,error:`Instance does not match ${JSON.stringify(y)}.`})),S!==void 0&&(d==="object"||d==="array"?S.some(_=>dr(e,_))||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(S)}.`}):S.some(_=>e===_)||T.push({instanceLocation:s,keyword:"enum",keywordLocation:`${i}/enum`,error:`Instance does not match any of ${JSON.stringify(S)}.`})),C!==void 0){let _=`${i}/not`;Te(e,C,a,r,o,n,s,_).valid&&T.push({instanceLocation:s,keyword:"not",keywordLocation:_,error:'Instance matched "not" schema.'})}let ye=[];if(I!==void 0){let _=`${i}/anyOf`,M=T.length,G=!1;for(let R=0;R<I.length;R++){let w=I[R],P=Object.create(l),F=Te(e,w,a,r,o,f===!0?n:null,s,`${_}/${R}`,P);T.push(...F.errors),G||=F.valid,F.valid&&ye.push(P)}G?T.length=M:T.splice(M,0,{instanceLocation:s,keyword:"anyOf",keywordLocation:_,error:"Instance does not match any subschemas."})}if(x!==void 0){let _=`${i}/allOf`,M=T.length,G=!0;for(let R=0;R<x.length;R++){let w=x[R],P=Object.create(l),F=Te(e,w,a,r,o,f===!0?n:null,s,`${_}/${R}`,P);T.push(...F.errors),G&&=F.valid,F.valid&&ye.push(P)}G?T.length=M:T.splice(M,0,{instanceLocation:s,keyword:"allOf",keywordLocation:_,error:"Instance does not match every subschema."})}if(v!==void 0){let _=`${i}/oneOf`,M=T.length,G=v.filter((R,w)=>{let P=Object.create(l),F=Te(e,R,a,r,o,f===!0?n:null,s,`${_}/${w}`,P);return T.push(...F.errors),F.valid&&ye.push(P),F.valid}).length;G===1?T.length=M:T.splice(M,0,{instanceLocation:s,keyword:"oneOf",keywordLocation:_,error:`Instance does not match exactly one subschema (${G} matches).`})}if((d==="object"||d==="array")&&Object.assign(l,...ye),q!==void 0){let _=`${i}/if`;if(Te(e,q,a,r,o,n,s,_,l).valid){if(N!==void 0){let M=Te(e,N,a,r,o,n,s,`${i}/then`,l);M.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:_,error:'Instance does not match "then" schema.'},...M.errors)}}else if(z!==void 0){let M=Te(e,z,a,r,o,n,s,`${i}/else`,l);M.valid||T.push({instanceLocation:s,keyword:"if",keywordLocation:_,error:'Instance does not match "else" schema.'},...M.errors)}}if(d==="object"){if(L!==void 0)for(let R of L)R in e||T.push({instanceLocation:s,keyword:"required",keywordLocation:`${i}/required`,error:`Instance does not have required property "${R}".`});let _=Object.keys(e);if(J!==void 0&&_.length<J&&T.push({instanceLocation:s,keyword:"minProperties",keywordLocation:`${i}/minProperties`,error:`Instance does not have at least ${J} properties.`}),X!==void 0&&_.length>X&&T.push({instanceLocation:s,keyword:"maxProperties",keywordLocation:`${i}/maxProperties`,error:`Instance does not have at least ${X} properties.`}),E!==void 0){let R=`${i}/propertyNames`;for(let w in e){let P=`${s}/${nt(w)}`,F=Te(w,E,a,r,o,n,P,R);F.valid||T.push({instanceLocation:s,keyword:"propertyNames",keywordLocation:R,error:`Property name "${w}" does not match schema.`},...F.errors)}}if(b!==void 0){let R=`${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:R,error:`Instance has "${w}" but does not have "${F}".`})}}if(D!==void 0)for(let R in D){let w=`${i}/dependentSchemas`;if(R in e){let P=Te(e,D[R],a,r,o,n,s,`${w}/${nt(R)}`,l);P.valid||T.push({instanceLocation:s,keyword:"dependentSchemas",keywordLocation:w,error:`Instance has "${R}" but does not match dependant schema.`},...P.errors)}}if(ae!==void 0){let R=`${i}/dependencies`;for(let w in ae)if(w in e){let P=ae[w];if(Array.isArray(P))for(let F of P)F in e||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:R,error:`Instance has "${w}" but does not have "${F}".`});else{let F=Te(e,P,a,r,o,n,s,`${R}/${nt(w)}`);F.valid||T.push({instanceLocation:s,keyword:"dependencies",keywordLocation:R,error:`Instance has "${w}" but does not match dependant schema.`},...F.errors)}}}let M=Object.create(null),G=!1;if(Q!==void 0){let R=`${i}/properties`;for(let w in Q){if(!(w in e))continue;let P=`${s}/${nt(w)}`,F=Te(e[w],Q[w],a,r,o,n,P,`${R}/${nt(w)}`);if(F.valid)l[w]=M[w]=!0;else if(G=o,T.push({instanceLocation:s,keyword:"properties",keywordLocation:R,error:`Property "${w}" does not match schema.`},...F.errors),G)break}}if(!G&&O!==void 0){let R=`${i}/patternProperties`;for(let w in O){let P=new RegExp(w,"u"),F=O[w];for(let pe in e){if(!P.test(pe))continue;let tt=`${s}/${nt(pe)}`,qe=Te(e[pe],F,a,r,o,n,tt,`${R}/${nt(w)}`);qe.valid?l[pe]=M[pe]=!0:(G=o,T.push({instanceLocation:s,keyword:"patternProperties",keywordLocation:R,error:`Property "${pe}" matches pattern "${w}" but does not match associated schema.`},...qe.errors))}}}if(!G&&re!==void 0){let R=`${i}/additionalProperties`;for(let w in e){if(M[w])continue;let P=`${s}/${nt(w)}`,F=Te(e[w],re,a,r,o,n,P,R);F.valid?l[w]=!0:(G=o,T.push({instanceLocation:s,keyword:"additionalProperties",keywordLocation:R,error:`Property "${w}" does not match additional properties schema.`},...F.errors))}}else if(!G&&K!==void 0){let R=`${i}/unevaluatedProperties`;for(let w in e)if(!l[w]){let P=`${s}/${nt(w)}`,F=Te(e[w],K,a,r,o,n,P,R);F.valid?l[w]=!0:T.push({instanceLocation:s,keyword:"unevaluatedProperties",keywordLocation:R,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}).`}),me!==void 0&&e.length<me&&T.push({instanceLocation:s,keyword:"minItems",keywordLocation:`${i}/minItems`,error:`Array has too few items (${e.length} < ${me}).`});let _=e.length,M=0,G=!1;if(oe!==void 0){let R=`${i}/prefixItems`,w=Math.min(oe.length,_);for(;M<w;M++){let P=Te(e[M],oe[M],a,r,o,n,`${s}/${M}`,`${R}/${M}`);if(l[M]=!0,!P.valid&&(G=o,T.push({instanceLocation:s,keyword:"prefixItems",keywordLocation:R,error:"Items did not match schema."},...P.errors),G))break}}if(Re!==void 0){let R=`${i}/items`;if(Array.isArray(Re)){let w=Math.min(Re.length,_);for(;M<w;M++){let P=Te(e[M],Re[M],a,r,o,n,`${s}/${M}`,`${R}/${M}`);if(l[M]=!0,!P.valid&&(G=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:R,error:"Items did not match schema."},...P.errors),G))break}}else for(;M<_;M++){let w=Te(e[M],Re,a,r,o,n,`${s}/${M}`,R);if(l[M]=!0,!w.valid&&(G=o,T.push({instanceLocation:s,keyword:"items",keywordLocation:R,error:"Items did not match schema."},...w.errors),G))break}if(!G&&Ne!==void 0){let w=`${i}/additionalItems`;for(;M<_;M++){let P=Te(e[M],Ne,a,r,o,n,`${s}/${M}`,w);l[M]=!0,P.valid||(G=o,T.push({instanceLocation:s,keyword:"additionalItems",keywordLocation:w,error:"Items did not match additional items schema."},...P.errors))}}}if(H!==void 0)if(_===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&&_<$)T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array has less items (${_}) than minContains (${$}).`});else{let R=`${i}/contains`,w=T.length,P=0;for(let F=0;F<_;F++){let pe=Te(e[F],H,a,r,o,n,`${s}/${F}`,R);pe.valid?(l[F]=!0,P++):T.push(...pe.errors)}P>=($||0)&&(T.length=w),$===void 0&&ne===void 0&&P===0?T.splice(w,0,{instanceLocation:s,keyword:"contains",keywordLocation:R,error:"Array does not contain item matching schema."}):$!==void 0&&P<$?T.push({instanceLocation:s,keyword:"minContains",keywordLocation:`${i}/minContains`,error:`Array must contain at least ${$} items matching schema. Only ${P} items were found.`}):ne!==void 0&&P>ne&&T.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${i}/maxContains`,error:`Array may contain at most ${ne} items matching schema. ${P} items were found.`})}if(!G&&k!==void 0){let R=`${i}/unevaluatedItems`;for(;M<_;M++){if(l[M])continue;let w=Te(e[M],k,a,r,o,n,`${s}/${M}`,R);l[M]=!0,w.valid||T.push({instanceLocation:s,keyword:"unevaluatedItems",keywordLocation:R,error:"Items did not match unevaluated items schema."},...w.errors)}}if(fe)for(let R=0;R<_;R++){let w=e[R],P=typeof w=="object"&&!!w;for(let F=0;F<_;F++){if(R===F)continue;let pe=e[F];(w===pe||P&&typeof pe=="object"&&pe&&dr(w,pe))&&(T.push({instanceLocation:s,keyword:"uniqueItems",keywordLocation:`${i}/uniqueItems`,error:`Duplicate items at indexes ${R} and ${F}.`}),R=2**53-1,F=2**53-1)}}}else if(d==="number"){if(a==="4"?(Z!==void 0&&(se===!0&&e<=Z||e<Z)&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${se?"or equal to ":""} ${Z}.`}),j!==void 0&&(xe===!0&&e>=j||e>j)&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${xe?"or equal to ":""} ${j}.`})):(Z!==void 0&&e<Z&&T.push({instanceLocation:s,keyword:"minimum",keywordLocation:`${i}/minimum`,error:`${e} is less than ${Z}.`}),j!==void 0&&e>j&&T.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${i}/maximum`,error:`${e} is greater than ${j}.`}),se!==void 0&&e<=se&&T.push({instanceLocation:s,keyword:"exclusiveMinimum",keywordLocation:`${i}/exclusiveMinimum`,error:`${e} is less than ${se}.`}),xe!==void 0&&e>=xe&&T.push({instanceLocation:s,keyword:"exclusiveMaximum",keywordLocation:`${i}/exclusiveMaximum`,error:`${e} is greater than or equal to ${xe}.`})),ie!==void 0){let _=e%ie;Math.abs(0-_)>=11920929e-14&&Math.abs(ie-_)>=11920929e-14&&T.push({instanceLocation:s,keyword:"multipleOf",keywordLocation:`${i}/multipleOf`,error:`${e} is not a multiple of ${ie}.`})}}else if(d==="string"){let _=le===void 0&&ee===void 0?0:oL(e);le!==void 0&&_<le&&T.push({instanceLocation:s,keyword:"minLength",keywordLocation:`${i}/minLength`,error:`String is too short (${_} < ${le}).`}),ee!==void 0&&_>ee&&T.push({instanceLocation:s,keyword:"maxLength",keywordLocation:`${i}/maxLength`,error:`String is too long (${_} > ${ee}).`}),ue!==void 0&&!new RegExp(ue,"u").test(e)&&T.push({instanceLocation:s,keyword:"pattern",keywordLocation:`${i}/pattern`,error:"String does not match pattern."}),V!==void 0&&Xc[V]&&!Xc[V](e)&&T.push({instanceLocation:s,keyword:"format",keywordLocation:`${i}/format`,error:`String does not match format "${V}".`})}return{valid:T.length===0,errors:T}}var Yc=class{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",a=!0){this.schema=e,this.draft=t,this.shortCircuit=a,this.lookup=Qt(e)}validate(e){return Te(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),Qt(e,this.lookup)}};function tf(e){return lL(e,"output")}function sL(e,t){let a=()=>structuredClone(e),r={"~standard":{version:1,vendor:"eve",validate:cL(e,t),jsonSchema:{input:a,output:a}}};return iL.add(r),r}var iL=new WeakSet,f1=sL({});function lL(e,t){return e==null?e:uL(e,t)}function uL(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=nL(e),{$schema:u,...d}=nr(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}=nr(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 cL(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=hL(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,ir(u))}if(!s.valid)return{issues:SL(s.errors)};let i=_s(e,e,n),l=t?.(i);return l===void 0?{value:i}:{issues:[{message:l}]}}}function _s(e,t,a){let r=a;for(let o of af(e,t)){let{items:n,properties:s}=o;if(ft(r)&&ft(s))r=fL(e,s,r);else if(Array.isArray(r)&&ft(n)){let i=r,l=i.map(u=>_s(e,n,u));l.some((u,d)=>u!==i[d])&&(r=l)}}return r}function fL(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?pL(e,n):_s(e,n,s);i!==s&&(r===a&&(r={...a}),r[o]=i)}return r}function pL(e,t){for(let a of af(e,t))if("default"in a)return structuredClone(a.default)}function*af(e,t){let a=new Set,r=t;for(;ft(r)&&!a.has(r);)a.add(r),yield r,r=mL(e,r.$ref)}function mL(e,t){if(typeof t!="string"||t!=="#"&&!t.startsWith("#/"))return;let a=e;for(let r of Fs(t)){if(typeof a!="object"||!a||!Object.hasOwn(a,r))return;a=a[r]}return a}function hL(e){try{let t=structuredClone(e);return cr(t)??new Yc(t,"2020-12",!1)}catch(t){return ir(t)}}var gL=new Set(["array","boolean","integer","null","number","object","string"]),wL=[["exclusiveMinimum","minimum"],["exclusiveMaximum","maximum"]],IL=["additionalItems","additionalProperties","contains","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],xL=["allOf","anyOf","oneOf","prefixItems"],yL=["$defs","definitions","dependencies","dependentSchemas","patternProperties","properties"];function cr(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 wL)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(Zc):Zc(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&&!ef(r))return`invalid pattern ${JSON.stringify(r)}`;for(let i of IL)if(i in t){let l=cr(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=cr(i);if(l!==void 0)return l}for(let i of xL){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=cr(u);if(d!==void 0)return d}}}for(let i of yL){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"&&!ef(u))return`invalid pattern ${JSON.stringify(u)}`;if(i==="dependencies"&&Array.isArray(d))continue;let c=cr(d);if(c!==void 0)return c}}}}function Zc(e){return typeof e=="string"&&gL.has(e)}function ef(e){if(typeof e!="string")return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var LL=/\/(?:additional|unevaluated)Properties$/;function SL(e){let t=[];for(let r=0;r<e.length;r++){let o=e[r],n=e[r+1];if(LL.test(o.keywordLocation)&&n?.keyword==="false"){let s=Fs(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=Fs(n??r);return s.length===0?{message:o}:{message:o,path:s}})}function Fs(e){return e.split("/").slice(1).map(t=>{let a=t;try{a=decodeURIComponent(t)}catch{}return a.replaceAll("~1","/").replaceAll("~0","~")})}var rf=Symbol("followClientSession"),fr=class Bs{#t;#e;constructor(t,a){this.#t=t,this.#e=a}static async create(t,a){let r=await Os(t,We,a,!0),{sessionId:o}=await Ds(r),n=new Bs(t,{sessionId:o,streamIndex:0});return{response:n.#r(r,a,0),session:n}}static async prewarm(t,a={}){let{sessionId:r}=await Ds(await bL(t,a));return new Bs(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=wc(this.#e.sessionId),n=a?await CL(this.#t,o,t):await Os(this.#t,o,t,!1),{sessionId:s,deliveryId:i}=await Ds(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 zc({context:this.#t,options:t,sessionId:this.#e.sessionId})}async clear(){return await Vc({context:this.#t,sessionId:this.#e.sessionId})}async compact(){return await Gc({context:this.#t,sessionId:this.#e.sessionId})}async reset(t){return await Kc({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 Ms({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})}[rf](t){return this.#u({...t,keepAlive:!0})}#r(t,a,r,o){return t.body?.cancel().catch(()=>{}),new As({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(Xt(l,u),i=Ye(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 Ms({onCaughtUp:t.onCaughtUp,follow:t.follow,host:this.#t.host,keepAlive:t.keepAlive,resolveHeaders:()=>this.#t.resolveHeaders(t.resolveHeaders?.()??t.headers),path:ys(this.#e.sessionId),redirect:this.#t.redirect,signal:t.signal,startIndex:t.startIndex,streamReconnectPolicy:t.streamReconnectPolicy,resolveReconnectPolicy:t.resolveReconnectPolicy})}};function of(e,t){return e[rf](t)}async function CL(e,t,a){let r=Date.now()+2e4,o=250;for(;;){try{return await Os(e,t,a,!1)}catch(n){if(!vL(n))throw n;let s=r-Date.now();if(s<=0)throw n;await ur(Math.min(o,s),a.signal)}a.signal?.throwIfAborted(),o=Math.min(o*2,2e3)}}async function bL(e,t){let a=await e.resolveHeaders(t.headers),r=await fetch(pt(e.host,We),{headers:a,method:"POST",redirect:e.redirect,signal:t.signal??null});if(!r.ok){let o=await r.text();throw new Ge(r.status,o,r.headers)}return r}function vL(e){return e instanceof Ge&&e.status===409&&e.code==="session_not_ready"}async function Os(e,t,a,r){let o=kL(a,r);if(o===null)throw Error(r?"Creating a session requires a non-empty message.":"A session turn requires a non-empty message or inputResponses.");let n=await e.resolveHeaders(a.headers);n.set("content-type","application/json");let s=await fetch(pt(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 Ge(s.status,i,s.headers)}return s}async function Ds(e,t){let a=await e.json(),r=(typeof a.sessionId=="string"?a.sessionId:void 0)??e.headers.get(bc)?.trim()??t;if(!r)throw Error("Message route did not return a session id.");return{sessionId:r,deliveryId:typeof a.deliveryId=="string"&&a.deliveryId.length>0?a.deliveryId:void 0}}function kL(e,t){let a={};e.message!==void 0&&(a.message=e.message),e.inputResponses!==void 0&&e.inputResponses.length>0&&(a.inputResponses=e.inputResponses),!t&&e.message!==void 0&&e.turnPolicy!==void 0&&(a.turnPolicy=e.turnPolicy),e.message!==void 0&&e.taskDeliveryPolicy!==void 0&&(a.taskDeliveryPolicy=e.taskDeliveryPolicy),e.clientContext!==void 0&&(a.clientContext=e.clientContext);let r=tf(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 Us=class{#t;constructor(e){this.#t=e}async create(e={}){return"message"in e?await fr.create(this.#t,e):{session:await fr.prewarm(this.#t,e)}}attach(e,t){if(e.length===0)throw Error("sessionId must be a non-empty string.");return new fr(this.#t,{sessionId:e,streamIndex:t?.streamIndex??0})}};function nf(e,t){let a=new TextEncoder().encode(`${e}:${t}`),r=Array.from(a,o=>String.fromCodePoint(o)).join("");return btoa(r)}import{z as Eo}from"zod";var sf=Eo.object({ok:Eo.literal(!0),status:Eo.literal("ready"),workflowId:Eo.string().min(1)}).strict();import{z as h}from"zod";var Mo=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()]),df=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()]),cf=h.object({backing:df,logicalPath:h.string(),owner:Mo}).strict(),Lt=h.object({binding:cf.optional(),exportName:h.string().optional(),logicalPath:h.string(),owner:Mo,sourceId:h.string(),sourceKind:h.enum(["markdown","module","skill-package"])}).strict(),Yt=Lt.extend({name:h.string()}).strict(),pr=Lt.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),TL=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()]),AL=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()]),lf={contextWindowTokens:h.number().optional(),providerOptions:h.unknown().optional(),reasoning:h.enum(["provider-default","none","minimal","low","medium","high","xhigh"]).optional().catch(void 0),source:Lt.optional()},PL=h.union([h.object({...lf,endpoint:AL.optional(),id:h.string(),routing:TL}).strict(),h.object({...lf,endpoint:h.never().optional(),id:h.never().optional(),routing:h.object({kind:h.literal("dynamic"),resolver:pr}).strict()}).strict()]),RL=Yt.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(),EL=Yt.extend({description:h.string(),license:h.string().optional(),markdown:h.string(),metadata:h.record(h.string(),h.string()).optional()}).strict(),ML=Yt.extend({content:h.string(),role:h.enum(["system","user"])}).strict(),FL=Yt.extend({cron:h.string(),hasRun:h.boolean(),markdown:h.string().optional()}).strict(),ff=h.enum(["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","WEBSOCKET"]),_L=Yt.extend({adapterKind:h.string().optional(),method:ff,urlPath:h.string()}).strict(),DL=h.object({backing:h.union([df,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:Mo,sourceId:h.string()}).strict(),BL=h.object({method:ff,source:DL,urlPath:h.string(),winnerSourceId:h.string()}).strict(),OL=Lt.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(),UL=Lt.extend({eventNames:h.array(h.string()),slug:h.string()}).strict(),NL=Lt.extend({description:h.string().optional(),slot:h.string(),visibility:h.enum(["scope","session"])}).strict(),qL=Lt.extend({provider:h.string().optional(),environmentExportName:h.string().optional(),revisionHash:h.string()}).strict(),HL=Yt.extend({configResolver:pr.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(),$L=Yt.extend({description:h.string(),nodeId:h.string(),parentNodeId:h.string(),url:h.string().optional()}).strict(),WL=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(),uf=h.object({kind:h.enum(["disabled","shadowed"]),logicalPath:h.string(),owner:Mo,sourceId:h.string(),winnerSourceId:h.string().optional()}).strict(),pf=h.object({agent:h.object({agentRoot:h.string(),appRoot:h.string(),config:Lt.extend({binding:cf}).strict(),description:h.string().optional(),model:PL,name:h.string(),nodeId:h.string(),outputSchema:h.unknown().optional()}).strict(),capabilities:h.object({devRoutes:h.boolean()}).strict(),channels:h.object({routes:h.array(_L),shadowed:h.array(BL)}).strict(),composition:h.object({disabled:h.array(uf),shadowed:h.array(uf)}).strict(),connections:h.array(OL),diagnostics:h.object({discoveryErrors:h.number(),discoveryWarnings:h.number()}).strict(),hooks:h.array(UL),instructions:h.object({dynamic:h.array(pr),static:h.array(ML)}).strict(),instrumentation:Lt.optional(),kernelEffects:h.array(WL),kind:h.literal("eve-agent-info"),memories:h.array(NL),mode:h.enum(["development","production"]),remoteAgents:h.object({entries:h.array($L),total:h.number()}).strict(),sandbox:qL,schedules:h.array(FL),skills:h.object({dynamic:h.array(pr),static:h.array(EL)}).strict(),subagents:h.object({local:h.array(HL),total:h.number()}).strict(),tools:h.object({dynamic:h.array(pr),static:h.array(RL)}).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} ${jL(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 jL(e){return e.replace(/^\/+|\/+$/g,"").split("/").map(t=>t.startsWith(":")||/^\[[^\]]+\]$/.test(t)?":":t).join("/")}var mf="x-vercel-trusted-oidc-idp-token";var qs=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 Us({host:this.#a,redirect:this.#r,resolveHeaders:t=>this.#n(t)})}async health(){let e=pt(this.#a,hc),t=await this.#n(),a=await fetch(e,hf({headers:t},this.#r));if(!a.ok){let n=await a.text();throw new Ge(a.status,n,a.headers)}let r;try{r=await a.json()}catch{throw new Po}let o=sf.safeParse(r);if(!o.success)throw new Po(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(gc,e);if(!t.ok){let o=await t.text();throw new Ge(t.status,o,t.headers)}let a;try{a=await t.json()}catch{throw new Ao}let r=pf.safeParse(a);if(!r.success)throw new Ao(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=pt(this.#a,e),r=await this.#n(VL(t.headers));return await fetch(a,hf({...t,headers:r},this.#r))}async#n(e){let t=new Headers,[a,r]=await Promise.all([zL(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 Ns(e.vercelOidc.token)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`,[mf]:t}}if("bearer"in e){let t=(await Ns(e.bearer)).trim();return t.length===0?{}:{authorization:`Bearer ${t}`}}if("basic"in e){let t=await Ns(e.basic.password);return{authorization:`Basic ${nf(e.basic.username,t)}`}}return{}}};async function Ns(e){return typeof e=="function"?e():e}async function zL(e){return e===void 0?{}:typeof e=="function"?await e():e}function VL(e){return e===void 0?{}:Object.fromEntries(new Headers(e).entries())}function hf(e,t){return t===void 0?e:{...e,redirect:t}}function Hs(){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 gf=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 of(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 GL(()=>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)}}},GL=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 wf=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 xf(e){let t=e.at(-1);return t!==void 0&&Ye(t)&&(t.type!=="session.waiting"||KL(e).size===0)}function KL(e){let t=new Set;for(let a of e)Xt(t,a);return t}function $s(e){if(e.message!==void 0==(e.inputResponses!==void 0))throw Error("A turn requires exactly one of message or inputResponses.")}var If=0;function yf(){let e=globalThis.crypto?.randomUUID;return e===void 0?(If+=1,`submission_${If.toString()}`):e.call(globalThis.crypto)}function mr(e,t){return e?AbortSignal.any([e,t]):t}function Lf(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 Ws(e){return e instanceof Error&&e.name==="AbortError"}function Sf(e){if(e.type!=="session.failed")return;let t=Error(e.data.message);return t.name=e.data.code,t}function js(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 zs(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),Ye(r)){for(;e.followUpDispatches.size>0;)await Promise.allSettled(e.followUpDispatches);if(e.receivedFollowUps>=e.acceptedFollowUps)return}}}async function hr(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 Cf=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:yf(),message:Lf(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 XL=Symbol("detachEveAgentStore"),JL=Symbol("attachEveAgentStore"),Vs=class{#t;#e;#a=!1;#r;#n=new Set;#u;#g;#p;#C=new Set;#b=Hs();#l;#c={};#i;#m;#h;#w=0;#I;#S;#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 qs({auth:e.auth,headers:e.headers,host:e.host??""});let t=[];for(let a of e.initialEvents??[])this.#b.admit(a)&&t.push(a),Xt(this.#n,a);this.#m=t,this.#p=new wf(e.reducer,this.#m),this.#g=e.optimistic??!0,this.#h=new Cf(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.#C.add(e),()=>{this.#C.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.#S=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=Kt(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.#S=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=js(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:hr(Promise.resolve(t(e)),mr(e.signal,a.abortController.signal)));if($s(o),!this.#d(a))return;let n=this.#h.submit(o,this.#m.length);this.#_(o),this.#f();let s={...o,signal:mr(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,Ps(l),this.#m))&&this.#f();for await(let u of Mc(l,r)){if(!this.#d(a))return;a.receivedFollowUps+=a.receivedFollowUpEvents.get(u)??0,a.receivedFollowUpEvents.delete(u)}if(!this.#d(a)||(await zs(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(Ws(o))this.#o="ready",this.#h.fail(Kt(o));else{let n=this.#i!==void 0;this.#i??=Kt(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=js(()=>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&&!xf(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),Ye(n)&&this.#n.size===0)break}}await zs(t,a,()=>this.#d(t)),this.#d(t)&&(this.#o=this.#i===void 0?"ready":"error")}catch(r){if(!this.#d(t))return;Ws(r)?this.#o="ready":(this.#i=Kt(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()}[JL](){this.#a=!0,this.#e&&this.#s===void 0&&this.prewarm().catch(()=>{})}[XL](){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=Hs(),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=mr(t.signal,e.abortController.signal),n=await hr(Promise.resolve(a?.(t)),o)??t;if(r!==this.#w)return;if($s(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=mr(n.signal,e.abortController.signal);if(await hr(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,Ps(c),this.#m))&&this.#f()}catch(l){throw this.#d(e)&&(this.#h.fail(Kt(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 hr(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 gf(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=Kt(r),this.#o="error",this.#c.onError?.(this.#i),this.#f()))}}),this.#r}#T(){this.#w+=1,this.#S?.abort(),this.#S=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";Xt(this.#n,e),this.#m=[...this.#m,e],this.#v(this.#h.apply(e)),this.#c.onEvent?.(e),this.#P(e);let a=Ye(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=Sf(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.#C)e()}};function QL(){let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}function YL(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 bf(){"withResolvers"in Promise||Object.defineProperty(Promise,"withResolvers",{value:QL,configurable:!0,writable:!0}),"any"in AbortSignal||Object.defineProperty(AbortSignal,"any",{value:YL,configurable:!0,writable:!0})}var ZL=3e4;function eS(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function Ks(e){let t=e.channelId??"";return e.threadId===void 0?t:`${t}:${e.threadId}`}function Gs(e){return`waniwani:eve-conversation:${e}`}function Xs(e){try{let t=JSON.parse(localStorage.getItem(Gs(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 ha(e,t){try{t?localStorage.setItem(Gs(e),JSON.stringify(t)):localStorage.removeItem(Gs(e))}catch{}}function vf(e){return JSON.stringify(e).replace(/[\u007f-\uffff]/g,t=>`\\u${t.charCodeAt(0).toString(16).padStart(4,"0")}`)}function tS(e){return{...e.documents?.length?{"x-waniwani-documents":vf(e.documents)}:{},...e.extra&&Object.keys(e.extra).length>0?{"x-waniwani-extra":vf(e.extra)}:{}}}var aS={initial:()=>{},reduce:()=>{}},ma=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,bf(),this.store=new Vs({host:r.eveHost,auth:{bearer:()=>this.bearer()},initialSession:{sessionId:r.sessionId,streamIndex:0},optimistic:!1,reducer:aS}),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=eS(),r=await t.open({operation:"create",requestId:crypto.randomUUID(),ownerSecret:a,channelId:t.channelId,visitorId:t.visitorId});return r?await new e(t.open,a,r).reachable():null}static async resume(t){let a=await t.open({operation:"resume",...t.saved});return a?await new e(t.open,t.saved.ownerSecret,a).reachable():null}async reachable(){return await this.caughtUp,this.store.snapshot.error===void 0?this:(this.close(),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-ZL>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,r){this.used=!0;let o=()=>{this.store.cancel()};return r?.addEventListener("abort",o,{once:!0}),new ReadableStream({start:async s=>{let i=!1;this.forward=u=>{i||=u.type==="turn.failed"||u.type==="session.failed",s.enqueue(u)},await this.caughtUp;let l=await this.store.send({message:t,signal:r,headers:tS(a)}).then(()=>this.store.snapshot.error,u=>u instanceof Error?u:new Error(String(u)));this.forward=void 0,r?.removeEventListener("abort",o),l&&!i&&!r?.aborted&&s.enqueue({type:"session.failed",data:{code:"transport_failed",message:l.message,sessionId:this.sessionId}}),s.close()}}).pipeThrough(ko())}close(){this.forward=void 0,this.store.reset()}};function ga(e,t){let a=e[t];return typeof a=="string"&&a?a:void 0}function rS(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function oS(e){return e.filter(t=>t.role==="user").map(t=>t.parts.flatMap(a=>a.type==="text"?[a.text]:[]).join(`
|
|
23
|
+
`))}function kf(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 nS(e){return async t=>{let a=await kf({...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 sS(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 iS(e){return async t=>{let a=await kf({...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=ga(n,"conversationId"),u=ga(n,"eveHost"),d=ga(n,"accessToken"),c=Date.parse(ga(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}}}function lS(e){let t=e.extra;return typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.fromEntries(Object.entries(t)):void 0}var Js=class{constructor(t){this.options=t}pending;threadOnFallback=!1;generation=0;get channelId(){return ga(this.options.body(),"channelId")}key(){return Ks({channelId:this.channelId,threadId:this.options.threadId()})}keepsSession(){return this.options.open!==void 0}prepare(){this.open(this.options.hasMessages())}open(t){this.options.open&&(this.pending??=this.start(this.options.open,t))}async restore(){let{open:t}=this.options;if(!t||this.options.threadHistory())return[];let a=this.key(),r=Xs(a);if(!r)return[];let o=this.generation,n=ma.resume({open:t,saved:r}).catch(()=>null).then(i=>this.kept(i,o));this.pending=n;let s=await n;return s?await fc(await s.history()):(ha(a,null),this.pending===n&&(this.pending=void 0),[])}reset(){ha(this.key(),null),this.dispose()}forget(t){ha(Ks({channelId:this.channelId,threadId:t}),null)}dispose(){this.generation+=1,this.threadOnFallback=!1,this.pending?.then(t=>t?.close()).catch(()=>{}),this.pending=void 0}async start(t,a){let r=this.generation,o=this.key(),n=Xs(o);if(n){let u=await ma.resume({open:t,saved:n}).catch(()=>null);return!u&&r===this.generation&&ha(o,null),this.kept(u,r)}if(a)return null;let s=this.options.body(),i=await ma.create({open:t,channelId:ga(s,"channelId"),visitorId:rS(s)}),l=this.kept(i,r);return r===this.generation&&ha(o,l?.saved??null),l}kept(t,a){return t&&a!==this.generation?(t.close(),null):t}async sendMessages(t){let a=t.messages.filter(f=>f.role==="user").length<=1;a&&(this.threadOnFallback=!1);let o=[...t.messages].reverse().find(f=>f.role==="user")?.parts.some(f=>f.type==="file")??!1;if(this.threadOnFallback||o||!this.options.open)return this.threadOnFallback=!0,await this.options.fallback.sendMessages(t);this.open(!a);let n=await this.pending?.catch(()=>null);if(n?.used&&a&&(this.reset(),this.open(!1),n=await this.pending?.catch(()=>null)),!n)return this.threadOnFallback=!0,await this.options.fallback.sendMessages(t);this.options.onSession(n.sessionId);let{documents:s}=this.options.takeTurnInput(),i=oS(t.messages),l=i.at(-1)??"",u=l.trim()?l:s?.map(f=>f.filename).join(", ")??l,d=n.turn(u,{documents:s,extra:lS(this.options.body())},t.abortSignal),{suggest:c}=this.options;if(!n.followups||!c)return d;let{saved:p}=n;return d.pipeThrough(sS({suggest:(f,m)=>c({...p,answerText:f.slice(-8e3),recentUserMessages:i.slice(-3).map(y=>y.slice(-2e3)),toolNames:m.slice(0,20)}),signal:t.abortSignal}))}async reconnectToStream(t){return await this.pending?.catch(()=>null)?null:await this.options.fallback.reconnectToStream(t)}};function Tf(e){let t=typeof e=="string"?()=>e:e;return a=>{let r=o=>{let n=t();return n?o(n):void 0};return new Js({...a,get open(){return r(o=>iS({sessionApi:o,headers:a.headers}))},get suggest(){return r(o=>nS({sessionApi:o,headers:a.headers}))}})}}function Af(e){let t=uS(e);t.current=e;let[a]=dS(()=>Tf(()=>t.current));return a}import{useEffect as cS,useRef as fS}from"react";function Qs(e,t){return e.find(a=>a.text===t)?.id??null}async function Pf(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=or(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:Ke(),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 Rf(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await Pf({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 Ef(e,t){return t.map(a=>({id:Qs(e,a),text:a}))}async function Mf(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await Pf({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function Ff(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fS(e.getSessionId);l.current=e.getSessionId,cS(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:p}=u.properties;Rf({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:Qs(i??[],d),origin:c,text:d,index:p});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;Mf({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:Ef(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function wa(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pS=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mS=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hS=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gS=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wS=["waniwani/visitorId","visitorId"],IS=["correlationId","openai/requestId"];function _f(e){return e?wa(e,pS):void 0}function Df(e){return e?wa(e,mS):void 0}function Bf(e){return e?wa(e,hS):void 0}function Of(e){return e?wa(e,gS):void 0}function Uf(e){return e?wa(e,wS):void 0}function Nf(e){return e?wa(e,IS):void 0}var xS=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],yS=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function qf(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 xS){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 yS)if(r.includes(o))return n}}var LS="@waniwani/sdk";function Hf(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??SS,o=vS(e),n=Fo(e.meta),s=Fo(e.metadata),i=kS(e,n),l=st(e.eventId)??r(),u=TS(e.timestamp,a),d=st(e.source)??qf(n)??t.source??LS,c=Ys(e)?{...e}:void 0,p={...s};return Object.keys(n).length>0&&(p.meta=n),c&&(p.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:CS(e,o),metadata:p,rawLegacy:c}}function SS(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function CS(e,t){if(!Ys(e))return Fo(e.properties);let a=bS(e,t),r=Fo(e.properties);return{...a,...r}}function bS(e,t){switch(t){case"tool.called":{let a={};return st(e.toolName)&&(a.name=e.toolName),st(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return st(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function vS(e){return Ys(e)?e.eventType:e.event}function kS(e,t){let a=st(e.requestId)??Df(t),r=st(e.sessionId)??_f(t),o=st(e.traceId)??Bf(t),n=st(e.externalUserId)??Of(t),s=st(e.visitorId)??Uf(t),i=st(e.correlationId)??Nf(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 TS(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 Fo(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function st(e){if(typeof e=="string"&&e.trim().length!==0)return e}function Ys(e){return"eventType"in e}function $f(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 AS="/api/mcp/events/v2/batch";var Wf="@waniwani/sdk";var PS=new Set([401,403]),RS=new Set([408,425,429,500,502,503,504]),ES=(e,t)=>globalThis.fetch(e,t);function jf(e){return new Zs(e)}var Zs=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=_S(t.apiUrl,t.endpointPath??AS),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??ES,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":Wf};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:DS(n)}}if(PS.has(a.status))return{kind:"auth",status:a.status};if(RS.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await FS(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:Wf,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(MS(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 MS(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 FS(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function _S(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function DS(e){return e instanceof Error?e.message:String(e)}function zf(e){let{apiUrl:t,endpointPath:a}=BS(e.endpoint),r=jf({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=Hf({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,$f(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function BS(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Vf(e){let t=or(e.api);return t?zf({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ke()})}):ei("the chat api does not point at a Waniwani event ingest")}function ei(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{jsx as Xf}from"react/jsx-runtime";var NS=600,Kf="https://app.waniwani.ai/api/mcp/chat",qS=OS(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=ai(null),d=ai(null),c=ti(()=>Pd({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);_o(()=>{if(l)return c.subscribe(l)},[l,c]);let p=ti(()=>({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]),f=i?.api??Kf,[m,y]=Gf({}),[S,L]=Gf(!1),C=ai(!1);_o(()=>{S&&!C.current&&(C.current=!0,c.emit({name:"chat.ready"}))},[S,c]);let I=i?.disablePageView;_o(()=>{if(!r){L(!0);return}let V=K=>{I||ps({api:f,token:r,channelId:o??K.channelId,mode:"inline",source:K.source})},Q=vo(f,r,o);Q&&(y(Q),_a("cache"),Pr(Q.metadata),L(!0),V(Q));let O=new AbortController,re=setTimeout(()=>{_a("timeout"),L(!0)},NS);return cc(f,r,O.signal,o).then(K=>{O.signal.aborted||(Object.keys(K).length>0&&(dc(f,r,o,K),y(K)),_a("remote"),L(!0),V(K))}).catch(K=>{console.error("[Waniwani] Remote config fetch failed:",K),L(!0)}).finally(()=>clearTimeout(re)),()=>{O.abort(),clearTimeout(re)}},[f,r,o,I]);let x=ti(()=>cs(p,m,void 0),[p,m]),v=lc(x);Ff({widgetEvents:c,api:x.api??f,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:v.page,getSessionId:()=>u.current?.sessionId}),_o(()=>{if(!r)return;let V=Vf({api:f,token:r,channelId:()=>o??vo(f,r,o)?.channelId,getSource:()=>vo(f,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=V,()=>{d.current=null,V.shutdown()}},[f,r,o]),US(a,()=>{let V=()=>d.current??ei("no public token configured"),Q=Object.assign(O=>V().track(O),{priceShown:O=>V().track.priceShown(O),pricesCompared:O=>V().track.pricesCompared(O),optionSelected:O=>V().track.optionSelected(O),leadQualified:O=>V().track.leadQualified(O),converted:O=>V().track.converted(O)});return{sendMessage:O=>u.current?.sendMessage(O),sendMessageAndWait:O=>u.current?u.current.sendMessageAndWait(O):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:Q,identify:(O,re)=>V().identify(O,re)}},[]);let q=nc(x.visibility,S);Zi({api:x.api??f,token:x.token??r,channelId:x.channelId??o,mode:"inline",paintMark:"chatVisible",painted:S&&q});let N={mode:"inline"};x.mcpServerUrl&&(N.mcpServerUrl=x.mcpServerUrl),x.channelId&&(N.channelId=x.channelId);let z=Af(i?.sessionApi??x.sessionApi);return q?Xf(Md,{value:c,children:Xf(ds,{ref:u,api:x.api??Kf,transport:z,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:N,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:!S})}):null});export{ds as ChatEmbed,vx as DARK_THEME,ec as DEFAULT_THEME,Da as McpAppFrame,qS as WaniwaniChat,qm as WebMcpOverlay,Tx as mergeTheme,us as themeToCSSProperties};
|
|
24
24
|
/*! Bundled license information:
|
|
25
25
|
|
|
26
26
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|