@waniwani/sdk 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import{a as di,b as ci,c as fi,d as pi,e as mi,f as Sr,g as hi,h as gi,i as wi,j as Ii,k as No,l as xi,m as ea,n as ta,o as Cr,p as aa,u as ya}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Tm,useEffect as Mr,useMemo as Am,useRef as _e,useState as al}from"react";function ra(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 yi(e,t){return!ra(e)&&!ra(t)?null:ra(e)?ra(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 dp,createElement as cp}from"react";var br=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Li=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Si=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var qo=e=>{let t=Si(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as up,createElement as vi}from"react";var Ci={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 bi=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var ki=up(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>vi("svg",{ref:l,...Ci,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:br("lucide",o),...!n&&!bi(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>vi(u,d)),...Array.isArray(n)?n:[n]]));var ce=(e,t)=>{let a=dp(({className:r,...o},n)=>cp(ki,{ref:n,iconNode:t,className:br(`lucide-${Li(qo(e))}`,`lucide-${e}`,r),...o}));return a.displayName=qo(e),a};var fp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],La=ce("arrow-down",fp);var pp=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Sa=ce("arrow-up",pp);var mp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ca=ce("check",mp);var hp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],vt=ce("chevron-down",hp);var gp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ba=ce("chevron-right",gp);var wp=[["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"}]],va=ce("clipboard-copy",wp);var Ip=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ht=ce("clock",Ip);var xp=[["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"}]],ka=ce("file-text",xp);var yp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],oa=ce("file",yp);var Lp=[["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"}]],Ta=ce("globe",Lp);var Sp=[["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"}]],Aa=ce("image",Sp);var Cp=[["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"}]],Pa=ce("loader",Cp);var bp=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],na=ce("paperclip",bp);var vp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ra=ce("square",vp);var kp=[["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=ce("wrench",kp);var Tp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],kt=ce("x",Tp);var Ap=[["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"}]],Ea=ce("zap",Ap);import{createContext as Hp,useCallback as $p,useContext as _i,useEffect as Wp,useMemo as Ko,useRef as jp,useState as Xo}from"react";function Ho(e){if(!(typeof e!="object"||e===null))return e}function Ti(e){return Ho(e?.ui)}function $o(e){if(!e)return;let t=Ti(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 Ma(e){return Ti(e)?.autoHeight===!0}function Wo(e){return Ho(Ho(e)?._meta)}import{createContext as Pp,useContext as Rp,useEffect as Ep,useMemo as Mp,useState as Ei}from"react";var Ai=["en","fr","es"];function sa(e){return Ai.includes(e)}function jo(e){if(e&&sa(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&sa(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(sa(r))return r;let o=r.split("-")[0];if(o&&sa(o))return o}return"en"}var vr={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 Pi={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 Ri={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 zo={en:vr,fr:Ri,es:Pi};import{jsx as Dp}from"react/jsx-runtime";var Mi=Pp(null);function Fp(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 Vo({children:e,locale:t,messages:a}){let r=!!(t&&_p(t)),o=r?t:"en",[n,s]=Ei(o),[i,l]=Ei(r);Ep(()=>{s(jo(t)),l(!0)},[t]);let u=Mp(()=>{let d=zo[n]??zo["en"];return{locale:n,t:Fp(d,a),ready:i}},[n,a,i]);return Dp(Mi.Provider,{value:u,children:e})}function _p(e){return e==="en"||e==="fr"||e==="es"}function te(){let e=Rp(Mi);return e||{locale:"en",t:vr,ready:!0}}function Go(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 Bp=ci({prefix:"ww"});function P(...e){return Bp(di(e))}import{jsx as Op}from"react/jsx-runtime";var it=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Op("button",{type:r,className:P("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 Up}from"react";import{jsx as qp}from"react/jsx-runtime";var Np=({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 qp(e,{"data-waniwani-shimmer":"",className:P("ww:inline-block",t),style:s,...n,children:o})},et=Up(Np);et.displayName="Shimmer";import{Fragment as Fi,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function zp(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 Vp({text:e,className:t}){let{t:a}=te(),[r,o]=Xo(!1),n=jp(null);Wp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=$p(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:P("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(Fi,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Fi,{children:[ge(va,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Di({data:e,label:t,className:a,...r}){let[o,n]=Xo(!1),s=Ko(()=>JSON.stringify(e,null,2),[e]),i=zp(e);return Ht("div",{className:P("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(Vp,{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(ba,{className:P("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=Hp({open:!1,toggle:()=>{}});function Bi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Xo(t);return ge(Jo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ge("div",{className:P("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 Oi({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=_i(Jo),s=a==="input-available"||a==="input-streaming",i=t??"";return Ht("button",{type:"button",onClick:n,className:P("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(et,{duration:1.6,children:i}):i}),ge(vt,{className:P("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Ui({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ge("div",{className:P("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(et,{duration:1.6,children:n}):n})})}function Ni({className:e,children:t,...a}){let{open:r}=_i(Jo);return ge("div",{className:P("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:P("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 Gp(e,t){if(t||typeof e!="object"||e===null||Array.isArray(e))return e;let{_meta:a,...r}=e;return r}function Qo({className:e,input:t,debug:a,...r}){let{t:o}=te(),n=Ko(()=>Gp(t,a),[t,a]);return ge(Di,{data:n,label:o.tool.request,className:e,...r})}function Fa(e,t,a){if(e){let r=$o(a?.[e]?._meta);if(r)return r}return $o(Wo(t))}function qi(e,t,a){return e&&Ma(a?.[e]?._meta)?!0:Ma(Wo(t))}function Yo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=te(),s=Ko(()=>{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:P("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(Di,{data:s,label:n.tool.response,className:e,...o}):null}var Hi=typeof performance>"u"?0:performance.now(),$i=typeof window<"u"&&!!window.WaniWani?.chat;function tt(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 Kp="/api/mcp/";function kr(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(Kp)?`${r}${t}`:null}function Xp(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function lt(...e){Xp()&&console.log("[Waniwani]",...e)}var Zo="waniwani-visitor-id";function Jp(){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(Zo);if(t)return t}catch{}let e=Jp();try{localStorage.setItem(Zo,e)}catch{}return e}function en(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(Zo,t)}catch{}return t}function Qp(e){return e!=null&&typeof e.then=="function"}function tn(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 Qp(r)?r.then(o=>{t||en(o??"")},()=>{}):en(r??""),a}var Yp="waniwani-memory";var Ke="threads",Tr="by_memoryUserId",Zp="by_updatedAt";var ji="memoryUserId",Wi="waniwani-memory-user-id",an=null;function rn(){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 em(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(Tr,"memoryUserId",{unique:!1}),a.createIndex(Zp,"updatedAt",{unique:!1})}}async function on(){return new Promise((e,t)=>{let a=indexedDB.open(Yp,2);a.onupgradeneeded=r=>{em(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function tm(){return on()}async function am(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(ji);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function rm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,ji);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function om(){if(typeof indexedDB>"u")return null;try{let e=await tm();try{let t=await am(e);if(t)return t;let a=rn();return await rm(e,a),a}finally{e.close()}}catch{return null}}function nm(){try{let e=localStorage.getItem(Wi);if(e)return e;let t=rn();return localStorage.setItem(Wi,t),t}catch{return null}}async function zi(){let e=await om();if(e)return e;let t=nm();return t||(an||(an=rn()),an)}function Vi(e,t){return e.match(t)?.[1]??null}function sm(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=Vi(e,r);if(o)return{name:a,version:o}}return null}function im(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=Vi(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function lm(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 _a(){let e=navigator.userAgent,t=Ge(),a=await zi();return{userAgent:e,browser:sm(e),os:im(e),deviceType:lm(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 um="0.23.0",dm=40,cm=10,fm=6e5;function sn(){return typeof performance>"u"?0:performance.now()}function ln(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=sn()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function pm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=dm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>fm||(t[a]=o)}return t}function mm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=cm)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function hm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Pr(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function gm(e,t,a,r){return{kind:e,sdkVersion:um,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:hm(),tags:mm(a),metrics:pm(r)}}var nn,Ar=[];function Rr(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";nn=t;let a=Ar;if(Ar=[],t)for(let r of a)r()}function Er(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||nn===!1))try{let s=gm(e,t,a,r),i=()=>{lt("timing",s),fetch(tt(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};nn?i():Ar.length<20&&Ar.push(i)}catch{}}var gt=ln("boot",0),Gi;function $t(e,t){gt.mark(e,t)}function Da(e){Gi??=e}var wm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,Im=/\/embed\.js(\?|$)/;function xm(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&gt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&gt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)wm.test(a.name)?(gt.mark("bundleStart",a.startTime),gt.mark("bundleEnd",a.responseEnd)):Im.test(a.name)&&(gt.mark("loaderStart",a.startTime),gt.mark("loaderEnd",a.responseEnd))}function ym(){if($i)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Ki(e){xm(),gt.mark("bundleExecuted",Hi),Er("boot",e,{configSource:Gi,mode:e.mode,secondSdk:ym()},gt.metrics)}var Lm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Xi(e){let t=ln("turn",sn());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 Lm)!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,Er("turn",r,o,t.metrics))}}}function Sm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ji(e,t){let a=ln("widget",sn()),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:Sm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Cm,useContext as bm,useEffect as vm,useRef as Qi}from"react";var Yi=Cm(()=>{});function Zi(){return bm(Yi)}var el=Yi.Provider;function km(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function tl(e){let t=Qi(e);t.current=e;let a=Qi(!1);vm(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),km(()=>Ki(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as qm}from"react/jsx-runtime";var Pm="/api/mcp/resource",Rm=500,Em=0,Mm=16,Fm="2026-01-26",_m=300,Dm=3e3,Bm=3,Om=2e3;function Um(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Nm(e,t,a){return Fa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ba({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Pm,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]=al(Em),[V,G]=al(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 R=Tm(k=>i?Math.max(k+Mm,0):Math.min(Math.max(k,50),Rm),[i]),b=Am(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),D=Zi(),ae=_e(null),oe=_e(void 0);Mr(()=>{let k=Ji(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 Mr(()=>{Ne.current=p,L.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[p]),Mr(()=>{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]),Mr(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,ne=null,me=null,Ie=setTimeout(()=>{if(H||$||x.current>=Bm)return;x.current+=1;let W=new URL(k.src);W.searchParams.set("_retry",String(x.current)),k.src=W.toString()},Dm),fe=W=>{k.contentWindow?.postMessage(W,"*")},Z=W=>{if(H||W.source!==k.contentWindow)return;let se=W.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??Fm,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),Om);let le=y.current,ee=S.current,ue=ee._meta&&typeof ee._meta=="object"?ee._meta:null,Y=Um(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=R(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:_m,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,G(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}
2
+ import{a as di,b as ci,c as fi,d as pi,e as mi,f as Sr,g as hi,h as gi,i as wi,j as Ii,k as No,l as xi,m as ea,n as ta,o as Cr,p as aa,u as ya}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Tm,useEffect as Mr,useMemo as Am,useRef as _e,useState as al}from"react";function ra(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 yi(e,t){return!ra(e)&&!ra(t)?null:ra(e)?ra(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 dp,createElement as cp}from"react";var br=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Li=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Si=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var qo=e=>{let t=Si(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as up,createElement as vi}from"react";var Ci={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 bi=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var ki=up(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>vi("svg",{ref:l,...Ci,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:br("lucide",o),...!n&&!bi(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>vi(u,d)),...Array.isArray(n)?n:[n]]));var ce=(e,t)=>{let a=dp(({className:r,...o},n)=>cp(ki,{ref:n,iconNode:t,className:br(`lucide-${Li(qo(e))}`,`lucide-${e}`,r),...o}));return a.displayName=qo(e),a};var fp=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],La=ce("arrow-down",fp);var pp=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Sa=ce("arrow-up",pp);var mp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ca=ce("check",mp);var hp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],vt=ce("chevron-down",hp);var gp=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ba=ce("chevron-right",gp);var wp=[["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"}]],va=ce("clipboard-copy",wp);var Ip=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ht=ce("clock",Ip);var xp=[["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"}]],ka=ce("file-text",xp);var yp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],oa=ce("file",yp);var Lp=[["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"}]],Ta=ce("globe",Lp);var Sp=[["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"}]],Aa=ce("image",Sp);var Cp=[["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"}]],Pa=ce("loader",Cp);var bp=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],na=ce("paperclip",bp);var vp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ra=ce("square",vp);var kp=[["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=ce("wrench",kp);var Tp=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],kt=ce("x",Tp);var Ap=[["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"}]],Ea=ce("zap",Ap);import{createContext as Hp,useCallback as $p,useContext as _i,useEffect as Wp,useMemo as Ko,useRef as jp,useState as Xo}from"react";function Ho(e){if(!(typeof e!="object"||e===null))return e}function Ti(e){return Ho(e?.ui)}function $o(e){if(!e)return;let t=Ti(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 Ma(e){return Ti(e)?.autoHeight===!0}function Wo(e){return Ho(Ho(e)?._meta)}import{createContext as Pp,useContext as Rp,useEffect as Ep,useMemo as Mp,useState as Ei}from"react";var Ai=["en","fr","es"];function sa(e){return Ai.includes(e)}function jo(e){if(e&&sa(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&sa(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(sa(r))return r;let o=r.split("-")[0];if(o&&sa(o))return o}return"en"}var vr={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 Pi={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 Ri={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 zo={en:vr,fr:Ri,es:Pi};import{jsx as Dp}from"react/jsx-runtime";var Mi=Pp(null);function Fp(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 Vo({children:e,locale:t,messages:a}){let r=!!(t&&_p(t)),o=r?t:"en",[n,s]=Ei(o),[i,l]=Ei(r);Ep(()=>{s(jo(t)),l(!0)},[t]);let u=Mp(()=>{let d=zo[n]??zo["en"];return{locale:n,t:Fp(d,a),ready:i}},[n,a,i]);return Dp(Mi.Provider,{value:u,children:e})}function _p(e){return e==="en"||e==="fr"||e==="es"}function te(){let e=Rp(Mi);return e||{locale:"en",t:vr,ready:!0}}function Go(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 Bp=ci({prefix:"ww"});function P(...e){return Bp(di(e))}import{jsx as Op}from"react/jsx-runtime";var it=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Op("button",{type:r,className:P("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 Up}from"react";import{jsx as qp}from"react/jsx-runtime";var Np=({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 qp(e,{"data-waniwani-shimmer":"",className:P("ww:inline-block",t),style:s,...n,children:o})},et=Up(Np);et.displayName="Shimmer";import{Fragment as Fi,jsx as ge,jsxs as Ht}from"react/jsx-runtime";function zp(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 Vp({text:e,className:t}){let{t:a}=te(),[r,o]=Xo(!1),n=jp(null);Wp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=$p(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:P("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(Fi,{children:[ge(Ca,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copied})]}):Ht(Fi,{children:[ge(va,{className:"ww:size-3.5"}),ge("span",{children:a.tool.copy})]})})}function Di({data:e,label:t,className:a,...r}){let[o,n]=Xo(!1),s=Ko(()=>JSON.stringify(e,null,2),[e]),i=zp(e);return Ht("div",{className:P("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(Vp,{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(ba,{className:P("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=Hp({open:!1,toggle:()=>{}});function Bi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Xo(t);return ge(Jo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ge("div",{className:P("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 Oi({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=_i(Jo),s=a==="input-available"||a==="input-streaming",i=t??"";return Ht("button",{type:"button",onClick:n,className:P("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(et,{duration:1.6,children:i}):i}),ge(vt,{className:P("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Ui({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ge("div",{className:P("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(et,{duration:1.6,children:n}):n})})}function Ni({className:e,children:t,...a}){let{open:r}=_i(Jo);return ge("div",{className:P("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:P("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 Gp(e,t){if(t||typeof e!="object"||e===null||Array.isArray(e))return e;let{_meta:a,...r}=e;return r}function Qo({className:e,input:t,debug:a,...r}){let{t:o}=te(),n=Ko(()=>Gp(t,a),[t,a]);return ge(Di,{data:n,label:o.tool.request,className:e,...r})}function Fa(e,t,a){if(e){let r=$o(a?.[e]?._meta);if(r)return r}return $o(Wo(t))}function qi(e,t,a){return e&&Ma(a?.[e]?._meta)?!0:Ma(Wo(t))}function Yo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=te(),s=Ko(()=>{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:P("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(Di,{data:s,label:n.tool.response,className:e,...o}):null}var Hi=typeof performance>"u"?0:performance.now(),$i=typeof window<"u"&&!!window.WaniWani?.chat;function tt(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 Kp="/api/mcp/";function kr(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(Kp)?`${r}${t}`:null}function Xp(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function lt(...e){Xp()&&console.log("[Waniwani]",...e)}var Zo="waniwani-visitor-id";function Jp(){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(Zo);if(t)return t}catch{}let e=Jp();try{localStorage.setItem(Zo,e)}catch{}return e}function en(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ge();try{localStorage.setItem(Zo,t)}catch{}return t}function Qp(e){return e!=null&&typeof e.then=="function"}function tn(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 Qp(r)?r.then(o=>{t||en(o??"")},()=>{}):en(r??""),a}var Yp="waniwani-memory";var Ke="threads",Tr="by_memoryUserId",Zp="by_updatedAt";var ji="memoryUserId",Wi="waniwani-memory-user-id",an=null;function rn(){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 em(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(Tr,"memoryUserId",{unique:!1}),a.createIndex(Zp,"updatedAt",{unique:!1})}}async function on(){return new Promise((e,t)=>{let a=indexedDB.open(Yp,2);a.onupgradeneeded=r=>{em(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function tm(){return on()}async function am(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(ji);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function rm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,ji);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function om(){if(typeof indexedDB>"u")return null;try{let e=await tm();try{let t=await am(e);if(t)return t;let a=rn();return await rm(e,a),a}finally{e.close()}}catch{return null}}function nm(){try{let e=localStorage.getItem(Wi);if(e)return e;let t=rn();return localStorage.setItem(Wi,t),t}catch{return null}}async function zi(){let e=await om();if(e)return e;let t=nm();return t||(an||(an=rn()),an)}function Vi(e,t){return e.match(t)?.[1]??null}function sm(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=Vi(e,r);if(o)return{name:a,version:o}}return null}function im(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=Vi(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function lm(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 _a(){let e=navigator.userAgent,t=Ge(),a=await zi();return{userAgent:e,browser:sm(e),os:im(e),deviceType:lm(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 um="0.24.0",dm=40,cm=10,fm=6e5;function sn(){return typeof performance>"u"?0:performance.now()}function ln(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=sn()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function pm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=dm)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>fm||(t[a]=o)}return t}function mm(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=cm)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function hm(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Pr(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function gm(e,t,a,r){return{kind:e,sdkVersion:um,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Ge(),pageHost:window.location.hostname,connection:hm(),tags:mm(a),metrics:pm(r)}}var nn,Ar=[];function Rr(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";nn=t;let a=Ar;if(Ar=[],t)for(let r of a)r()}function Er(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||nn===!1))try{let s=gm(e,t,a,r),i=()=>{lt("timing",s),fetch(tt(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};nn?i():Ar.length<20&&Ar.push(i)}catch{}}var gt=ln("boot",0),Gi;function $t(e,t){gt.mark(e,t)}function Da(e){Gi??=e}var wm=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,Im=/\/embed\.js(\?|$)/;function xm(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&gt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&gt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)wm.test(a.name)?(gt.mark("bundleStart",a.startTime),gt.mark("bundleEnd",a.responseEnd)):Im.test(a.name)&&(gt.mark("loaderStart",a.startTime),gt.mark("loaderEnd",a.responseEnd))}function ym(){if($i)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Ki(e){xm(),gt.mark("bundleExecuted",Hi),Er("boot",e,{configSource:Gi,mode:e.mode,secondSdk:ym()},gt.metrics)}var Lm=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Xi(e){let t=ln("turn",sn());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 Lm)!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,Er("turn",r,o,t.metrics))}}}function Sm(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ji(e,t){let a=ln("widget",sn()),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:Sm(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Cm,useContext as bm,useEffect as vm,useRef as Qi}from"react";var Yi=Cm(()=>{});function Zi(){return bm(Yi)}var el=Yi.Provider;function km(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function tl(e){let t=Qi(e);t.current=e;let a=Qi(!1);vm(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;$t(o.paintMark),km(()=>Ki(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as qm}from"react/jsx-runtime";var Pm="/api/mcp/resource",Rm=500,Em=0,Mm=16,Fm="2026-01-26",_m=300,Dm=3e3,Bm=3,Om=2e3;function Um(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Nm(e,t,a){return Fa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ba({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Pm,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]=al(Em),[V,G]=al(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 R=Tm(k=>i?Math.max(k+Mm,0):Math.min(Math.max(k,50),Rm),[i]),b=Am(()=>{let k=r.includes("?")?"&":"?";return`${r}${k}uri=${encodeURIComponent(e)}`},[r,e]),D=Zi(),ae=_e(null),oe=_e(void 0);Mr(()=>{let k=Ji(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 Mr(()=>{Ne.current=p,L.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[p]),Mr(()=>{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]),Mr(()=>{let k=m.current;if(!k)return;let H=!1,$=!1,ne=null,me=null,Ie=setTimeout(()=>{if(H||$||x.current>=Bm)return;x.current+=1;let W=new URL(k.src);W.searchParams.set("_retry",String(x.current)),k.src=W.toString()},Dm),fe=W=>{k.contentWindow?.postMessage(W,"*")},Z=W=>{if(H||W.source!==k.contentWindow)return;let se=W.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??Fm,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),Om);let le=y.current,ee=S.current,ue=ee._meta&&typeof ee._meta=="object"?ee._meta:null,Y=Um(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=R(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:_m,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,G(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
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=yi(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&&Nm(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,R]),qm("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:P(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":q,minWidth:p||!V?void 0:`min(${V}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as Hm,useEffect as un,useState as $m}from"react";import{jsx as dn,jsxs as jm}from"react/jsx-runtime";var rl=672,ol=32;function Wm({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=$m(null);un(()=>{let f=()=>l({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let u=e?.preview===!0;un(()=>{if(!e||!u)return;let f=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,u,n]),un(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let d=Hm(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(rl,i.width-ol):rl,p=i?i.height-ol:void 0;return jm("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:P("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&&dn("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"}),dn("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:c,maxHeight:p},children:dn(Ba,{resourceUri:e.viewUri,resourceEndpoint:o,toolInput:e.data,toolResult:e.result,autoHeight:Ma(e.result._meta),isDark:s,onCallTool:d,onOpenLink:f=>window.open(f,"_blank","noopener")},`${o}|${e.viewUri}`)})]})}import{forwardRef as rc,useCallback as rr,useEffect as It,useImperativeHandle as Ex,useRef as Dt,useState as vo}from"react";var Oa=(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 Xm,useCallback as je,useContext as Jm,useEffect as Ua,useMemo as Qm,useRef as Tt,useState as pn}from"react";var Wt=new Map;function nl(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 sl(e){return Wt.get(e)}import{useState as zm}from"react";import{jsx as De,jsxs as cn}from"react/jsx-runtime";var il=({files:e,className:t,...a})=>e.length===0?null:De("div",{className:P("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>De(Vm,{file:r},o))});function Vm({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"}):cn("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(oa,{className:"ww:size-3 ww:shrink-0"}),De("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function ll(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function Gm({mediaType:e}){return e.startsWith("image/")?De(Aa,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?De(ka,{className:"ww:size-5 ww:text-muted-foreground"}):De(oa,{className:"ww:size-5 ww:text-muted-foreground"})}function fn({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=te(),l=ll(t,i);return cn("li",{"aria-label":`${e}, ${l}`,className:P("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(Gm,{mediaType:t})}),cn("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:P("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function ul(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 dl=({documents:e,className:t,...a})=>e.length===0?null:De("ul",{className:P("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(Km,{document:r},`${r.documentId}-${o}`))});function Km({document:e}){let{t}=te(),[a,r]=zm(!1),o=e.mediaType.startsWith("image/")?sl(e.documentId):void 0;return o&&!a?De("li",{children:De("img",{alt:`${e.filename}, ${ll(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(fn,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Ee,jsxs as _r}from"react/jsx-runtime";var Ym=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}},Zm=(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)},fl=Xm(null),Fr=()=>{let e=Jm(fl);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},pl=({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=Tt(null),L=Tt(null),[C,I]=pn([]),x=Tt(C),v=Tt(new Map),q=Tt(l),N=Tt(d),V=Tt(u);Ua(()=>{q.current=l,N.current=d,V.current=u},[l,d,u]);let G=je(k=>{x.current=k,I(k)},[]),Q=je(()=>{S.current?.click()},[]),O=je((k,H)=>{G(x.current.map($=>$.id===k?{...$,...H}:$))},[G]),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 $=(W,se)=>N.current?.({code:W,message:se}),ne=[];for(let W of H){if(!Zm(W,t)){$("accept",m.promptInput.errorAccept.replace("{name}",W.name));continue}if(n&&W.size>n){$("max_file_size",m.promptInput.errorTooLarge.replace("{name}",W.name).replace("{limit}",ml(n,y)));continue}ne.push(W)}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(W=>({file:W,item:{filename:W.name,id:Oa(),mediaType:W.type,type:"file",url:URL.createObjectURL(W),status:fe?"uploading":"ready",progress:0}}));G([...x.current,...Z.map(W=>W.item)]);for(let W of Z)re(W.item.id,W.file)},[o,n,t,i,re,G,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?nl(k.documentId,k.url):URL.revokeObjectURL(k.url)),H&&k.documentId&&V.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),R=je(k=>{let H=x.current.find($=>$.id===k);H&&X(H,!0),G(x.current.filter($=>$.id!==k))},[X,G]),b=je(()=>{for(let k of x.current)X(k,!0);G([])},[X,G]),D=Tt(i);Ua(()=>{let k=D.current;D.current=i,k&&!i&&b()},[i,b]);let ae=je(()=>{for(let k of x.current)X(k,!1);G([])},[X,G]);Ua(()=>()=>{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]);Ua(()=>{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,W])=>{ne.set(Z,await W.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:W,progress:se,error:xe,...ie})=>{if(ie.url?.startsWith("blob:")){let le=await Ym(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=Qm(()=>({add:K,clear:b,files:C,openFileDialog:Q,remove:R,retry:J,maxFileSize:n,maxPdfPages:s}),[C,K,R,J,b,Q,n,s]);return _r(fl.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:P("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})]})},cl=1024*1024;function ml(e,t){let a=e>=cl;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/cl:Math.max(1,e/1024))}var hl=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=te(),s=Fr(),[i,l]=pn(!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:P("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})},gl=({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(Sa,{className:"ww:size-4"});t==="submitted"?d=Ee(Pa,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Ee(Ra,{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:P("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})},wl=({className:e,children:t,...a})=>{let{t:r,locale:o}=te(),n=Fr();if(n.files.length>0)return _r(it,{className:P("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(kt,{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}",ml(n.maxFileSize,o)):r.promptInput.uploadFiles;return Ee(it,{"aria-label":i,className:P(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(na,{className:"ww:size-4"})})},Il=({className:e,...t})=>{let a=Fr();return a.files.length===0?null:Ee("ul",{className:P("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Ee(eh,{file:r},r.id))})};function eh({file:e}){let{t}=te(),a=Fr(),r=e.status==="failed",o=e.status==="uploading";return _r(fn,{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:P("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(kt,{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 xl=({enabled:e=!0})=>{let{t}=te(),[a,r]=pn(!1);return Ua(()=>{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:_r("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Ee(na,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as th}from"react/jsx-runtime";function yl({text:e}){let{t}=te();return e===!1?null:th("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 ah,useCallback as rh}from"react";import{jsx as la}from"react/jsx-runtime";var Ll=({className:e,...t})=>la("div",{className:P("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Sl=({className:e,...t})=>la("li",{className:P("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}),Cl=({className:e,...t})=>la("span",{className:P("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),bl=({className:e,...t})=>la("span",{className:P("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),vl=({className:e,...t})=>la("div",{className:P("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),kl=({className:e,...t})=>la(it,{className:P("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 At,jsxs as Pl}from"react/jsx-runtime";var Tl=ah(({message:e,onRemove:t})=>{let{t:a}=te(),r=rh(()=>t(e.id),[t,e.id]);return Pl(Sl,{children:[At(Cl,{}),At(bl,{children:e.text||a.chatQueue.attachmentFallback}),At(vl,{children:At(kl,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:At(kt,{className:"ww:size-3"})})})]})});Tl.displayName="ChatQueueItem";function Al({queuedMessages:e,onRemove:t,className:a}){let{t:r}=te();return e.length===0?null:Pl(Ll,{className:P("ww:border-t ww:border-border",a),children:[At("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),At("ul",{children:e.map(o=>At(Tl,{message:o,onRemove:t},o.id))})]})}import{createContext as fh,useCallback as ph,useContext as mh,useEffect as hh,useMemo as gh,useState as wn}from"react";import{createContext as oh,memo as gn,useCallback as nh,useContext as sh,useEffect as mn,useMemo as ih,useRef as Rl,useState as hn}from"react";import{Fragment as dh,jsx as at,jsxs as ch}from"react/jsx-runtime";var El=oh(null);function Ml(){let e=sh(El);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var lh=1e3,uh=1e3,Na=gn(({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]=hn(l),f=d?a:c,m=nh(N=>{d||p(N),o?.(N)},[d,o]),[y,S]=hn(void 0),L=n??y,C=Rl(t),[I,x]=hn(!1),v=Rl(null);mn(()=>{t?(C.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(S(Math.ceil((Date.now()-v.current)/uh)),v.current=null)},[t]),mn(()=>{t&&!f&&!u&&m(!0)},[t,f,u,m]),mn(()=>{if(C.current&&!t&&f&&!I){let N=setTimeout(()=>{m(!1),x(!0)},lh);return()=>clearTimeout(N)}},[t,f,I,m]);let q=ih(()=>({isStreaming:t,isOpen:f,setIsOpen:m,duration:L}),[t,f,m,L]);return at(El.Provider,{value:q,children:at("div",{className:P("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})})});Na.displayName="Reasoning";var qa=gn(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=te(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=Ml(),p=a??((f,m)=>f||m===0?at(et,{duration:1.6,children:s.reasoning.thinking}):m===void 0?at("span",{children:s.reasoning.thoughtBrief}):at("span",{children:s.reasoning.thoughtForSeconds(m)}));return at("button",{type:"button","aria-expanded":l,onClick:f=>{d(!l),o?.(f)},className:P("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??ch(dh,{children:[!r&&at(ht,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});qa.displayName="ReasoningTrigger";var Ha=gn(({className:e,children:t,...a})=>{let{isOpen:r}=Ml();return at("div",{className:P("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:at("div",{className:"ww:min-h-0 ww:overflow-hidden",children:at("div",{className:P("ww:text-sm ww:text-muted-foreground",e),...a,children:at(ya,{children:t})})})})});Ha.displayName="ReasoningContent";import{jsx as Le,jsxs as Pt}from"react/jsx-runtime";var wh=500,Fl=fh(null);function _l(){let e=mh(Fl);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Dl({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=wn(o),c=l?r:u,p=ph(S=>{l||d(S),n?.(S)},[l,n]),[f,m]=wn(!t);hh(()=>{if(t){m(!1);return}let S=setTimeout(()=>m(!0),wh);return()=>clearTimeout(S)},[t]);let y=gh(()=>({open:c,setOpen:p,isWorking:t,settled:f,activeStep:a}),[c,p,t,f,a]);return Le(Fl.Provider,{value:y,children:Le("div",{className:P("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 Bl({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=_l();if(!l){let d=u?.icon,c=u?.label??a??t??"";return Le("div",{className:P("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:Pt("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:P("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Le("span",{className:"ww:truncate",children:i?Le(et,{duration:2.6,children:c}):c})]},c)})}return Pt("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:P("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(vt,{className:P("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Ol({className:e,children:t,...a}){let{open:r}=_l();return Le("div",{className:P("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:P("ww:flex ww:flex-col",e),...a,children:t})})})}function Ul({icon:e,isLast:t,running:a,error:r}){return Pt("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:P("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 In({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]=wn(!1),p=a??"",f=i?Le(et,{duration:1.6,children:p}):Le("span",{className:"ww:truncate",children:p});return Pt("div",{className:P("ww:flex ww:gap-2",e),...s,children:[Le(Ul,{icon:t,isLast:o,running:i,error:l}),Pt("div",{className:P("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Pt("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(vt,{className:P("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:P("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 Nl({isStreaming:e=!1,isLast:t=!1,children:a}){return Pt("div",{className:"ww:flex ww:gap-2",children:[Le(Ul,{icon:ht,isLast:t,running:e}),Le("div",{className:P("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Pt(Na,{isStreaming:e,className:"ww:mb-0",children:[Le(qa,{hideIcon:!0}),Le(Ha,{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 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 ql(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 Hl(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function $l(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 Wl(e){return ql(e)?"ambiguous":Hl(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":$l(e)?"wide":"neutral"}function Ih(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function jl(e){return Ih(e),Wl(e)}var xh=Object.defineProperty,yh=(e,t,a)=>t in e?xh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lh=(e,t,a)=>yh(e,typeof t!="symbol"?t+"":t,a);function Sh(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ch(e){if(!e||e<4352)return!1;switch(jl(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Sh(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 bh(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function vh(e){return e!==null&&e>=65024&&e<=65038}var kh=zl(/\p{P}|\p{S}/u),Th=zl(/\s/);function zl(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Je;(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})(Je||(Je={}));function Rt(e){if(e===Oe.eof||xi(e)||Th(e))return ut.characterGroupWhitespace;let t=0;if(e>=4352){if(vh(e))return Je.nonEmojiGeneralUseVS;switch(Ch(e)){case null:return Je.ivs;case!0:t|=Je.cjk;break}}return kh(e)&&(t|=ut.characterGroupPunctuation),t}function Dr(e,t,a){if(!Ph(e))return e;let r=t(),o=Rt(r);return!r||jt(o)?e:bh(r,a)?Je.cjkPunctuation:Ah(o)}function Ah(e){return e&~Je.ivs}function jt(e){return!!(e&ut.characterGroupWhitespace)}function ua(e){return(e&Je.cjkPunctuation)===ut.characterGroupPunctuation}function $a(e){return!!(e&Je.cjk)}function Vl(e){return e===Je.ivs}function Gl(e){return!!(e&Je.cjkOrIvs)}function Ph(e){return e===Je.nonEmojiGeneralUseVS}function xn(e){return!!(e&Je.spaceOrPunctuation)}function Br(e){return!!(e&&e>=55296&&e<=56319)}function Or(e){return!!(e&&e>=56320&&e<=57343)}function Ur(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 Rh(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 Nr=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Lh(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Rh(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function qr(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var yn={name:"attention",resolveAll:Eh,tokenize:Mh};function Eh(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};Kl(c,-l),Kl(p,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:p},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 Mh(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Or(n)?Ur(n,r(),o):n,i=Rt(s),l=new Nr(s,r(),o),u=Dr(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=Br(f)?qr(f,r(),o):f,S=Rt(y);let L=ua(u),C=L||jt(u),I=ua(S),x=I||jt(S),v=Gl(u),q=!x||I&&(C||v)||a.includes(f),N=!C||L&&(x||$a(S))||a.includes(s);return m._open=!!(d===Oe.asterisk?q:q&&(xn(u)||!N)),m._close=!!(d===Oe.asterisk?N:N&&(xn(S)||!q)),t(f)}}function Kl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Xl(){return{text:{[Oe.asterisk]:yn,[Oe.underscore]:yn},insideSpan:{null:[yn]}}}function Jl(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Xl())}function Ql(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&&ea(p,p.length,0,Cr(f,s.slice(u+1,l),i)),ea(p,p.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,p),l=u+p.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,p=Or(c)?Ur(c,u(),d):c,f=Rt(p),m=new Nr(p,u(),d),y=Dr(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!==Xe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),I(x))}function I(x){let v=Rt(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=Br(x)?qr(x,u(),d):x,V=Rt(N),Q=ua(y)||jt(y),re=ua(V)||jt(V),K=$a(y)||Vl(v);return q._open=!re||V===ut.attentionSideAfter&&(Q||K),q._close=!Q||v===ut.attentionSideAfter&&(re||$a(V)),i(x)}}}function Yl(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ql(e))}var Fh=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),_h=/^(https?:\/\/|mailto:|www\.)/i,Dh=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Bh=e=>{let t=0;for(let a of e){if(Fh.has(a))return t;t+=a.length}return null},Oh=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Uh=e=>({type:"text",value:e}),Nh=()=>e=>{fi(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Dh(t)||!_h.test(t.url))return;let o=Bh(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Oh(n,t),l=Uh(s);return r.children.splice(a,1,i,l),a+1})};function qh(){let e=[Jl],t=[Nh,Yl],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Ln=qh();var ve=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hh(e){return En(e)}function En(e){return Array.isArray(e)?$h(e):e instanceof RegExp?e:typeof e=="object"?Wh(e):e}function $h(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=En(e[a]);return t}function Wh(e){let t={};for(let a in e)t[a]=En(e[a]);return t}function iu(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function lu(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?lu(e.substring(0,e.length-1)):e.substr(~t+1)}var Sn=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Hr=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 uu(e,t){return e<t?-1:e>t?1:0}function du(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=uu(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Zl(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 cu(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var fu=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}},za=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Vh(e),t)}static createFromParsedTheme(e,t){return Kh(e,t)}_cachedMatchRoot=new fu(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=>jh(e.parent,o.parentScopes));return r?new pu(r.fontStyle,r.foreground,r.background):null}},Cn=class $r{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new $r(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new $r(a,t[r]);return a}push(t){return new $r(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 jh(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&&!zh(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function zh(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var pu=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Vh(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"&&Zl(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Zl(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 Gh(y,S,o,l,u,d)}}return a}var Gh=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 Kh(e,t){e.sort((l,u)=>{let d=uu(l.scope,u.scope);return d!==0||(d=du(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 Xh(t),s=new pu(a,n.getId(r),n.getId(o)),i=new Qh(new vn(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 za(n,s,i)}var Xh=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)}},Jh=Object.freeze([]),vn=class mu{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Jh,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new mu(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)}},Qh=class kn{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(kn._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 kn(this._mainRule.clone(),vn.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(du(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 vn(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),p=Ye.getForeground(t),f=Ye.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 jr(e,t){let a=[],r=Yh(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(eu(o)){let l=[];do l.push(o),o=r.next();while(eu(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 eu(e){return!!e&&!!e.match(/[\w\.:]+/)}function Yh(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 hu(e){typeof e.dispose=="function"&&e.dispose()}var Va=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Zh=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},eg=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))}},tg=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Va(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new eg;for(let a of e)ag(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Va){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 ag(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 Va?Wr({baseGrammar:n,selfGrammar:o},r):Tn(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 Va(i))}function Tn(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];zr([r],t,a)}}function Wr(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&zr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&zr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function zr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?iu({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&zr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=gu(n);switch(s.kind){case 0:Wr({...t,selfGrammar:t.baseGrammar},a);break;case 1:Wr(t,a);break;case 2:Tn(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?Tn(s.ruleName,l,a):Wr(l,a)}else s.kind===4?a.add(new Zh(s.scopeName,s.ruleName)):a.add(new Va(s.scopeName));break}}}var rg=class{kind=0},og=class{kind=1},ng=class{constructor(e){this.ruleName=e}kind=2},sg=class{constructor(e){this.scopeName=e}kind=3},ig=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function gu(e){if(e==="$base")return new rg;if(e==="$self")return new og;let t=e.indexOf("#");if(t===-1)return new sg(e);if(t===0)return new ng(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new ig(a,r)}}var lg=/\\(\d+)/,tu=/\\(\d+)/g;var ug=-1,wu=-2;var Xa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Hr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Hr.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${lu(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:Hr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Hr.replaceCaptures(this._contentName,e,t)}},dg=class extends Xa{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!")}},cg=class extends Xa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Ga(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 Ka,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},au=class extends Xa{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 Ka,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},An=class extends Xa{_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 Ga(o,this.id),this.beginCaptures=n,this._end=new Ga(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 Ka;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}},Vr=class extends Xa{_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 Ga(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Ga(s,wu),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 Ka;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 Ka,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Iu=class qe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new dg(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new cg(t.$vscodeTextmateLocation,t.id,t.name,t.match,qe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=iu({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new au(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,qe._compilePatterns(n,a,r))}return t.while?new Vr(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 An(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=gu(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,p=u.kind===4?u.ruleName:null,f=a.getExternalGrammar(c,r);if(f)if(p){let m=f.repository[p];m&&(l=qe.getCompiledRuleId(m,a,f.repository))}else l=qe.getCompiledRuleId(f.repository.$self,a,f.repository);break}}else l=qe.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof au||u instanceof An||u instanceof Vr)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Ga=class xu{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=lg.test(this.source):this.hasBackReferences=!1}clone(){return new xu(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 tu.lastIndex=0,this.source.replace(tu,(o,n)=>cu(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}},Ka=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 ru(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 ru(e,r,this._items.map(o=>o.ruleId))}},ru=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
5
  `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},bn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},fg=class Pn{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new bn(t,8),this._embeddedLanguagesMatcher=new pg(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Pn._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new bn(0,0);_getBasicScopeAttributes=new fu(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new bn(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Pn.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/},pg=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])=>cu(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])}},mk={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},yu=!1,ou=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Lu(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let f=mg(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 ou(o,!0);p()}return new ou(o,!1);function p(){let f=hg(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===ug){let L=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),Wa(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 An){let v=L;Wa(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 Vr){let v=L;Wa(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(Wa(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 mg(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 Vr&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=Ig(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==wu){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),Wa(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 hg(e,t,a,r,o,n){let s=gg(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=wg(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 gg(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Su(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function wg(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}=Su(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 Su(e,t,a,r,o){if(yu){let s=e.compile(t,a),i=Cu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Ig(e,t,a,r,o){if(yu){let s=e.compileWhile(t,a),i=Cu(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Cu(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Wa(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));Lu(e,x,a&&f.start===0,f.start,I,o,!1,0),hu(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 xg(S,f.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var xg=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function yg(e,t,a,r,o,n,s,i){return new Sg(e,t,a,r,o,n,s,i)}function nu(e,t,a,r,o){let n=jr(t,Gr),s=Iu.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 Gr(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(Lg(t[o],r))return a=o+1,!0;return!1})}function Lg(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 Sg=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new fg(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=su(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=jr(l,Gr);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)nu(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&&nu(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]=su(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=Iu.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Rn.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=Vt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),p=this.getRule(this._rootId).getName(null,null),f;p?f=ja.createRootAndLookUpScopeName(p,c,this):f=ja.createRoot("unknown",c),t=new Rn(null,this._rootId,-1,-1,!1,null,f,f)}else o=!1,t.reset();e=e+`
@@ -1301,14 +1301,12 @@ type RegisteredFlow = {
1301
1301
  outputSchema: FlowOutputSchema;
1302
1302
  annotations?: ToolAnnotations;
1303
1303
  /**
1304
- * Definition metadata. Carries `_flowGraph`, which `withWaniwani` reads to
1305
- * recognize the tool as a flow (funnel sync, telemetry capture), so
1304
+ * Definition metadata. Carries the flow graph, which `withWaniwani` reads
1305
+ * to recognize the tool as a flow (funnel sync, telemetry capture), so
1306
1306
  * registering this config directly behaves exactly like `register()`.
1307
+ * The entry is server-only: `tools/list` never sends it.
1307
1308
  */
1308
- _meta: {
1309
- _flowGraph: FlowGraph;
1310
- [key: string]: unknown;
1311
- };
1309
+ _meta: Record<string, unknown>;
1312
1310
  };
1313
1311
  /** Tool callback — pass to `server.registerTool(flow.name, flow.config, flow.handler)`. */
1314
1312
  handler: FlowToolHandler;
@@ -1345,6 +1343,12 @@ type FlowTokenContent = {
1345
1343
  state: Record<string, unknown>;
1346
1344
  field?: string;
1347
1345
  widgetId?: string;
1346
+ /**
1347
+ * Every field this run has asked for, through an interrupt question or a
1348
+ * widget's `field`. `continue` and `reset` merge `stateUpdates` only for
1349
+ * these, so the conversation cannot write a field the flow computes itself.
1350
+ */
1351
+ asked?: string[];
1348
1352
  /** The engine's own state for this session. Never flow state. */
1349
1353
  internal?: FlowInternalState;
1350
1354
  };
@@ -1634,7 +1638,12 @@ type FlowTestResult = (FlowInterruptContent & WithDecodedState) | (FlowWidgetCon
1634
1638
  declare function createFlowTestHarness(flow: RegisteredFlow, options?: {
1635
1639
  stateStore?: FlowStore;
1636
1640
  }): Promise<{
1637
- start(intent: string, stateUpdates?: Record<string, unknown>, context?: string): Promise<FlowTestResult>;
1641
+ /**
1642
+ * Start the flow. `known` stands for what the user already said: every
1643
+ * question whose field it holds is answered from it, and the result is
1644
+ * the response the flow stops on.
1645
+ */
1646
+ start(intent: string, known?: Record<string, unknown>, context?: string): Promise<FlowTestResult>;
1638
1647
  continueWith(stateUpdates?: Record<string, unknown>): Promise<FlowTestResult>;
1639
1648
  resetWith(stateUpdates: Record<string, unknown>): Promise<FlowTestResult>;
1640
1649
  lastState(): Promise<FlowTokenContent | null>;