@waniwani/sdk 0.21.3 → 0.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/embed.js +60 -61
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/index.js +1 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/documents/index.js +1 -1
- package/dist/documents/index.js.map +1 -1
- package/dist/index.d.ts +40 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +41 -0
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/index.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as Dn,b as Bn,c as _n,d as On,e as Un,f as Ba,g as Nn,h as Hn,i as qn,j as Wn,k as Wr,l as Gn,m as Pt,n as At,o as _a,p as Rt,u as Gt}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Ec,useEffect as za,useMemo as Dc,useRef as be,useState as Ts}from"react";function Mt(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 Vn(e,t){return!Mt(e)&&!Mt(t)?null:Mt(e)?Mt(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 wd,createElement as xd}from"react";var Oa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var zn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var jn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Gr=e=>{let t=jn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as hd,createElement as Kn}from"react";var $n={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 Xn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Qn=hd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Kn("svg",{ref:l,...$n,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Oa("lucide",o),...!n&&!Xn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Kn(u,d)),...Array.isArray(n)?n:[n]]));var X=(e,t)=>{let a=wd(({className:r,...o},n)=>xd(Qn,{ref:n,iconNode:t,className:Oa(`lucide-${zn(Gr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Gr(e),a};var Id=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Vt=X("arrow-down",Id);var Ld=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],zt=X("arrow-up",Ld);var Cd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],jt=X("check",Cd);var Sd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],it=X("chevron-down",Sd);var yd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],$t=X("chevron-right",yd);var bd=[["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"}]],Xt=X("clipboard-copy",bd);var kd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],et=X("clock",kd);var Td=[["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"}]],Kt=X("file-text",Td);var vd=[["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"}]],Ft=X("file",vd);var Pd=[["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"}]],Qt=X("globe",Pd);var Ad=[["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"}]],Jt=X("image",Ad);var Rd=[["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"}]],Yt=X("loader",Rd);var Md=[["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"}]],Et=X("paperclip",Md);var Fd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Zt=X("square",Fd);var Ed=[["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"}]],It=X("wrench",Ed);var Dd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lt=X("x",Dd);var Bd=[["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=X("zap",Bd);import{createContext as Xd,useCallback as Kd,useContext as os,useEffect as Qd,useMemo as Jr,useRef as Jd,useState as Yr}from"react";function Vr(e){if(!(typeof e!="object"||e===null))return e}function Jn(e){return Vr(e?.ui)}function zr(e){if(!e)return;let t=Jn(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 ta(e){return Jn(e)?.autoHeight===!0}function jr(e){return Vr(Vr(e)?._meta)}import{createContext as _d,useContext as Od,useEffect as Ud,useMemo as Nd,useState as ts}from"react";var Yn=["en","fr","es"];function Dt(e){return Yn.includes(e)}function $r(e){if(e&&Dt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Dt(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(Dt(r))return r;let o=r.split("-")[0];if(o&&Dt(o))return o}return"en"}var Ua={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 Zn={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 es={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 Xr={en:Ua,fr:es,es:Zn};import{jsx as Wd}from"react/jsx-runtime";var as=_d(null);function Hd(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 Kr({children:e,locale:t,messages:a}){let r=!!(t&&qd(t)),o=r?t:"en",[n,s]=ts(o),[i,l]=ts(r);Ud(()=>{s($r(t)),l(!0)},[t]);let u=Nd(()=>{let d=Xr[n]??Xr["en"];return{locale:n,t:Hd(d,a),ready:i}},[n,a,i]);return Wd(as.Provider,{value:u,children:e})}function qd(e){return e==="en"||e==="fr"||e==="es"}function z(){let e=Od(as);return e||{locale:"en",t:Ua,ready:!0}}function Qr(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 Gd=Bn({prefix:"ww"});function k(...e){return Gd(Dn(e))}import{jsx as Vd}from"react/jsx-runtime";var Ke=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Vd("button",{type:r,className:k("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 zd}from"react";import{jsx as $d}from"react/jsx-runtime";var jd=({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 $d(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},Ve=zd(jd);Ve.displayName="Shimmer";import{Fragment as rs,jsx as ne,jsxs as Lt}from"react/jsx-runtime";function Yd(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 Zd({text:e,className:t}){let{t:a}=z(),[r,o]=Yr(!1),n=Jd(null);Qd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Kd(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 ne(Ke,{variant:"ghost",size:"sm",onClick:s,className:k("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?Lt(rs,{children:[ne(jt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copied})]}):Lt(rs,{children:[ne(Xt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copy})]})})}function ns({data:e,label:t,className:a,...r}){let[o,n]=Yr(!1),s=Jr(()=>JSON.stringify(e,null,2),[e]),i=Yd(e);return Lt("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Lt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[ne("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),ne(Zd,{text:s})]}),Lt("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:[ne($t,{className:k("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?ne("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ne("code",{children:s})}):ne("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Zr=Xd({open:!1,toggle:()=>{}});function ss({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Yr(t);return ne(Zr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ne("div",{className:k("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 is({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=os(Zr),s=a==="input-available"||a==="input-streaming",i=t??"";return Lt("button",{type:"button",onClick:n,className:k("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:[ne(It,{className:"ww:size-4 ww:shrink-0"}),ne("span",{className:"ww:truncate",children:s?ne(Ve,{duration:1.6,children:i}):i}),ne(it,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ls({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ne("div",{className:k("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:ne("span",{className:"ww:truncate",children:o?ne(Ve,{duration:1.6,children:n}):n})})}function us({className:e,children:t,...a}){let{open:r}=os(Zr);return ne("div",{className:k("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:ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ne("div",{className:k("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 eo({className:e,input:t,debug:a,...r}){let{t:o}=z(),n=Jr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ne(ns,{data:n,label:o.tool.request,className:e,...r})}function aa(e,t,a){if(e){let r=zr(a?.[e]?._meta);if(r)return r}return zr(jr(t))}function ds(e,t,a){return e&&ta(a?.[e]?._meta)?!0:ta(jr(t))}function to({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=z(),s=Jr(()=>{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?Lt("div",{className:k("ww:space-y-2",e),...o,children:[ne("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),ne("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):ne(ns,{data:s,label:n.tool.response,className:e,...o}):null}var cs=typeof performance>"u"?0:performance.now(),fs=typeof window<"u"&&!!window.WaniWani?.chat;function ze(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 ec="/api/mcp/";function Na(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(ec)?`${r}${t}`:null}function tc(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Qe(...e){tc()&&console.log("[Waniwani]",...e)}var ao="waniwani-visitor-id";function ac(){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 He(){try{let t=localStorage.getItem(ao);if(t)return t}catch{}let e=ac();try{localStorage.setItem(ao,e)}catch{}return e}function ro(e){let t=typeof e=="string"?e.trim():"";if(!t)return He();try{localStorage.setItem(ao,t)}catch{}return t}function rc(e){return e!=null&&typeof e.then=="function"}function oo(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 rc(r)?r.then(o=>{t||ro(o??"")},()=>{}):ro(r??""),a}var oc="waniwani-memory";var Be="threads",Ha="by_memoryUserId",nc="by_updatedAt";var ms="memoryUserId",ps="waniwani-memory-user-id",no=null;function so(){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 sc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Ha,"memoryUserId",{unique:!1}),a.createIndex(nc,"updatedAt",{unique:!1})}}async function io(){return new Promise((e,t)=>{let a=indexedDB.open(oc,2);a.onupgradeneeded=r=>{sc(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function ic(){return io()}async function lc(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(ms);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function uc(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,ms);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function dc(){if(typeof indexedDB>"u")return null;try{let e=await ic();try{let t=await lc(e);if(t)return t;let a=so();return await uc(e,a),a}finally{e.close()}}catch{return null}}function cc(){try{let e=localStorage.getItem(ps);if(e)return e;let t=so();return localStorage.setItem(ps,t),t}catch{return null}}async function gs(){let e=await dc();if(e)return e;let t=cc();return t||(no||(no=so()),no)}function hs(e,t){return e.match(t)?.[1]??null}function fc(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=hs(e,r);if(o)return{name:a,version:o}}return null}function pc(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=hs(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function mc(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 ra(){let e=navigator.userAgent,t=He(),a=await gs();return{userAgent:e,browser:fc(e),os:pc(e),deviceType:mc(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 gc="0.21.3",hc=40,wc=10,xc=6e5;function uo(){return typeof performance>"u"?0:performance.now()}function co(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=uo()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function Ic(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=hc)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>xc||(t[a]=o)}return t}function Lc(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=wc)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function Cc(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Wa(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function Sc(e,t,a,r){return{kind:e,sdkVersion:gc,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:He(),pageHost:window.location.hostname,connection:Cc(),tags:Lc(a),metrics:Ic(r)}}var lo,qa=[];function Ga(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";lo=t;let a=qa;if(qa=[],t)for(let r of a)r()}function Va(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||lo===!1))try{let s=Sc(e,t,a,r),i=()=>{Qe("timing",s),fetch(ze(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};lo?i():qa.length<20&&qa.push(i)}catch{}}var tt=co("boot",0),ws;function Ct(e,t){tt.mark(e,t)}function oa(e){ws??=e}var yc=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,bc=/\/embed\.js(\?|$)/;function kc(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&tt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&tt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)yc.test(a.name)?(tt.mark("bundleStart",a.startTime),tt.mark("bundleEnd",a.responseEnd)):bc.test(a.name)&&(tt.mark("loaderStart",a.startTime),tt.mark("loaderEnd",a.responseEnd))}function Tc(){if(fs)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function xs(e){kc(),tt.mark("bundleExecuted",cs),Va("boot",e,{configSource:ws,mode:e.mode,secondSdk:Tc()},tt.metrics)}var vc=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Is(e){let t=co("turn",uo());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 vc)!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,Va("turn",r,o,t.metrics))}}}function Pc(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ls(e,t){let a=co("widget",uo()),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:Pc(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Ac,useContext as Rc,useEffect as Mc,useRef as Cs}from"react";var Ss=Ac(()=>{});function ys(){return Rc(Ss)}var bs=Ss.Provider;function Fc(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function ks(e){let t=Cs(e);t.current=e;let a=Cs(!1);Mc(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;Ct(o.paintMark),Fc(()=>xs(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as jc}from"react/jsx-runtime";var Bc="/api/mcp/resource",_c=500,Oc=0,Uc=16,Nc="2026-01-26",Hc=300,qc=3e3,Wc=3,Gc=2e3;function Vc(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function zc(e,t,a){return aa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function na({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Bc,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=be(null),C=be(t),I=be(a),x=be({width:0,height:0}),L=be(null),h=be(!1),w=be(0),S=be("inline"),[E,M]=Ts(Oc),[A,j]=Ts(void 0),F=be(l),O=be(u),q=be(d),Q=be(c),W=be(o),H=be(p);C.current=t,I.current=a,F.current=l,O.current=u,q.current=d,Q.current=c,W.current=o,H.current=p;let T=Ec(b=>i?Math.max(b+Uc,0):Math.min(Math.max(b,50),_c),[i]),y=Dc(()=>{let b=r.includes("?")?"&":"?";return`${r}${b}uri=${encodeURIComponent(e)}`},[r,e]),v=ys(),Z=be(null),ee=be(void 0);za(()=>{let b=Ls(e,v);return Z.current=b,()=>{clearTimeout(ee.current),b.has("initialized")||b.report("timeout",w.current),Z.current=null}},[e,v]);let Fe=be(n);Fe.current=n;let Ne=be(f);return za(()=>{Ne.current=f,x.current.height=-1,L.current&&(L.current.cancel(),L.current=null)},[f]),za(()=>{if(!h.current)return;let b=m.current;b?.contentWindow&&b.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),za(()=>{let b=m.current;if(!b)return;let D=!1,_=!1,ae=null,de=null,he=setTimeout(()=>{if(D||_||w.current>=Wc)return;w.current+=1;let V=new URL(b.src);V.searchParams.set("_retry",String(w.current)),b.src=V.toString()},qc),K=V=>{b.contentWindow?.postMessage(V,"*")},J=V=>{if(D||V.source!==b.contentWindow)return;let me=V.data;if(!me||typeof me!="object"||me.jsonrpc!=="2.0")return;let Se=me.method,re=me.id;if(Se==="ui/initialize"&&re!=null){_=!0,Z.current?.mark("initialize"),clearTimeout(he),K({jsonrpc:"2.0",id:re,result:{protocolVersion:me.params?.protocolVersion??Nc,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Fe.current?"dark":"light",displayMode:S.current}}});return}if(Se==="ui/notifications/initialized"){h.current=!0,Z.current?.mark("initialized"),ee.current=setTimeout(()=>Z.current?.report("ok",w.current),Gc);let $=C.current,N=I.current,G=N._meta&&typeof N._meta=="object"?N._meta:null,U=Vc(W.current),ie=G&&typeof G.waniwani=="object"&&G.waniwani!==null?G.waniwani:null,Re=ie||U?{...ie??{},...U?{sessionId:U}:{}}:void 0,Ee=G||Re?{...G??{},...Re?{waniwani:Re}:{}}:void 0;K({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:$}});let De=N.content??[{type:"text",text:JSON.stringify(N)}];K({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:De,structuredContent:N.structuredContent,_meta:Ee,meta:Ee}});return}if(Se==="ui/notifications/size-changed"){clearTimeout(ee.current),Z.current?.mark("firstSize"),Z.current?.report("ok",w.current);let $=me.params,N=typeof $?.height=="number"?$.height:void 0,G=typeof $?.width=="number"?$.width:void 0,U=x.current,ie=N!==void 0&&N!==U.height,Re=G!==void 0&&G!==U.width;if(!ie&&!Re)return;if(ie&&N!==void 0){if(U.height=N,Ne.current)return;let Ee=T(N),De=b.getBoundingClientRect().height;if(L.current&&(L.current.cancel(),L.current=null),M(Ee),b.animate&&Math.abs(De-Ee)>2){let Xe=b.animate([{height:`${De}px`},{height:`${Ee}px`}],{duration:Hc,easing:"ease-out",fill:"forwards"});L.current=Xe,Xe.onfinish=()=>{L.current===Xe&&(Xe.cancel(),L.current=null)}}}Re&&i&&G!==void 0&&(U.width=G,j(G));return}if(Se==="ui/open-link"&&re!=null){let $=me.params?.url;typeof $=="string"&&(F.current?F.current($):window.open($,"_blank","noopener,noreferrer")),K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="ui/message"&&re!=null){if(O.current&&me.params){let $=me.params,N=ae;if(ae=null,de){clearTimeout(de.timer);let G=de.text;de=null;let U=($.content??[]).map(ie=>ie.text??"").join("").trim();$={...$,content:[{type:"text",text:`${U}
|
|
2
|
+
import{a as Dn,b as Bn,c as _n,d as On,e as Un,f as Ba,g as Nn,h as Hn,i as qn,j as Wn,k as Wr,l as Gn,m as Pt,n as At,o as _a,p as Rt,u as Gt}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Ec,useEffect as za,useMemo as Dc,useRef as be,useState as Ts}from"react";function Mt(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 Vn(e,t){return!Mt(e)&&!Mt(t)?null:Mt(e)?Mt(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 wd,createElement as xd}from"react";var Oa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var zn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var jn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Gr=e=>{let t=jn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as hd,createElement as Kn}from"react";var $n={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 Xn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Qn=hd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Kn("svg",{ref:l,...$n,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Oa("lucide",o),...!n&&!Xn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Kn(u,d)),...Array.isArray(n)?n:[n]]));var X=(e,t)=>{let a=wd(({className:r,...o},n)=>xd(Qn,{ref:n,iconNode:t,className:Oa(`lucide-${zn(Gr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Gr(e),a};var Id=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Vt=X("arrow-down",Id);var Ld=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],zt=X("arrow-up",Ld);var Cd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],jt=X("check",Cd);var Sd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],it=X("chevron-down",Sd);var yd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],$t=X("chevron-right",yd);var bd=[["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"}]],Xt=X("clipboard-copy",bd);var kd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],et=X("clock",kd);var Td=[["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"}]],Kt=X("file-text",Td);var vd=[["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"}]],Ft=X("file",vd);var Pd=[["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"}]],Qt=X("globe",Pd);var Ad=[["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"}]],Jt=X("image",Ad);var Rd=[["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"}]],Yt=X("loader",Rd);var Md=[["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"}]],Et=X("paperclip",Md);var Fd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Zt=X("square",Fd);var Ed=[["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"}]],It=X("wrench",Ed);var Dd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lt=X("x",Dd);var Bd=[["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=X("zap",Bd);import{createContext as Xd,useCallback as Kd,useContext as os,useEffect as Qd,useMemo as Jr,useRef as Jd,useState as Yr}from"react";function Vr(e){if(!(typeof e!="object"||e===null))return e}function Jn(e){return Vr(e?.ui)}function zr(e){if(!e)return;let t=Jn(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 ta(e){return Jn(e)?.autoHeight===!0}function jr(e){return Vr(Vr(e)?._meta)}import{createContext as _d,useContext as Od,useEffect as Ud,useMemo as Nd,useState as ts}from"react";var Yn=["en","fr","es"];function Dt(e){return Yn.includes(e)}function $r(e){if(e&&Dt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Dt(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(Dt(r))return r;let o=r.split("-")[0];if(o&&Dt(o))return o}return"en"}var Ua={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 Zn={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 es={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 Xr={en:Ua,fr:es,es:Zn};import{jsx as Wd}from"react/jsx-runtime";var as=_d(null);function Hd(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 Kr({children:e,locale:t,messages:a}){let r=!!(t&&qd(t)),o=r?t:"en",[n,s]=ts(o),[i,l]=ts(r);Ud(()=>{s($r(t)),l(!0)},[t]);let u=Nd(()=>{let d=Xr[n]??Xr["en"];return{locale:n,t:Hd(d,a),ready:i}},[n,a,i]);return Wd(as.Provider,{value:u,children:e})}function qd(e){return e==="en"||e==="fr"||e==="es"}function z(){let e=Od(as);return e||{locale:"en",t:Ua,ready:!0}}function Qr(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 Gd=Bn({prefix:"ww"});function k(...e){return Gd(Dn(e))}import{jsx as Vd}from"react/jsx-runtime";var Ke=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Vd("button",{type:r,className:k("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 zd}from"react";import{jsx as $d}from"react/jsx-runtime";var jd=({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 $d(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},Ve=zd(jd);Ve.displayName="Shimmer";import{Fragment as rs,jsx as ne,jsxs as Lt}from"react/jsx-runtime";function Yd(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 Zd({text:e,className:t}){let{t:a}=z(),[r,o]=Yr(!1),n=Jd(null);Qd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Kd(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 ne(Ke,{variant:"ghost",size:"sm",onClick:s,className:k("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?Lt(rs,{children:[ne(jt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copied})]}):Lt(rs,{children:[ne(Xt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copy})]})})}function ns({data:e,label:t,className:a,...r}){let[o,n]=Yr(!1),s=Jr(()=>JSON.stringify(e,null,2),[e]),i=Yd(e);return Lt("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Lt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[ne("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),ne(Zd,{text:s})]}),Lt("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:[ne($t,{className:k("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?ne("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ne("code",{children:s})}):ne("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Zr=Xd({open:!1,toggle:()=>{}});function ss({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Yr(t);return ne(Zr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ne("div",{className:k("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 is({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=os(Zr),s=a==="input-available"||a==="input-streaming",i=t??"";return Lt("button",{type:"button",onClick:n,className:k("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:[ne(It,{className:"ww:size-4 ww:shrink-0"}),ne("span",{className:"ww:truncate",children:s?ne(Ve,{duration:1.6,children:i}):i}),ne(it,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ls({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ne("div",{className:k("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:ne("span",{className:"ww:truncate",children:o?ne(Ve,{duration:1.6,children:n}):n})})}function us({className:e,children:t,...a}){let{open:r}=os(Zr);return ne("div",{className:k("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:ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ne("div",{className:k("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 eo({className:e,input:t,debug:a,...r}){let{t:o}=z(),n=Jr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ne(ns,{data:n,label:o.tool.request,className:e,...r})}function aa(e,t,a){if(e){let r=zr(a?.[e]?._meta);if(r)return r}return zr(jr(t))}function ds(e,t,a){return e&&ta(a?.[e]?._meta)?!0:ta(jr(t))}function to({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=z(),s=Jr(()=>{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?Lt("div",{className:k("ww:space-y-2",e),...o,children:[ne("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),ne("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):ne(ns,{data:s,label:n.tool.response,className:e,...o}):null}var cs=typeof performance>"u"?0:performance.now(),fs=typeof window<"u"&&!!window.WaniWani?.chat;function ze(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 ec="/api/mcp/";function Na(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(ec)?`${r}${t}`:null}function tc(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Qe(...e){tc()&&console.log("[Waniwani]",...e)}var ao="waniwani-visitor-id";function ac(){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 He(){try{let t=localStorage.getItem(ao);if(t)return t}catch{}let e=ac();try{localStorage.setItem(ao,e)}catch{}return e}function ro(e){let t=typeof e=="string"?e.trim():"";if(!t)return He();try{localStorage.setItem(ao,t)}catch{}return t}function rc(e){return e!=null&&typeof e.then=="function"}function oo(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 rc(r)?r.then(o=>{t||ro(o??"")},()=>{}):ro(r??""),a}var oc="waniwani-memory";var Be="threads",Ha="by_memoryUserId",nc="by_updatedAt";var ms="memoryUserId",ps="waniwani-memory-user-id",no=null;function so(){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 sc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Ha,"memoryUserId",{unique:!1}),a.createIndex(nc,"updatedAt",{unique:!1})}}async function io(){return new Promise((e,t)=>{let a=indexedDB.open(oc,2);a.onupgradeneeded=r=>{sc(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function ic(){return io()}async function lc(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(ms);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function uc(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,ms);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function dc(){if(typeof indexedDB>"u")return null;try{let e=await ic();try{let t=await lc(e);if(t)return t;let a=so();return await uc(e,a),a}finally{e.close()}}catch{return null}}function cc(){try{let e=localStorage.getItem(ps);if(e)return e;let t=so();return localStorage.setItem(ps,t),t}catch{return null}}async function gs(){let e=await dc();if(e)return e;let t=cc();return t||(no||(no=so()),no)}function hs(e,t){return e.match(t)?.[1]??null}function fc(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=hs(e,r);if(o)return{name:a,version:o}}return null}function pc(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=hs(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function mc(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 ra(){let e=navigator.userAgent,t=He(),a=await gs();return{userAgent:e,browser:fc(e),os:pc(e),deviceType:mc(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 gc="0.21.4",hc=40,wc=10,xc=6e5;function uo(){return typeof performance>"u"?0:performance.now()}function co(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=uo()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function Ic(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=hc)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>xc||(t[a]=o)}return t}function Lc(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=wc)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function Cc(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Wa(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function Sc(e,t,a,r){return{kind:e,sdkVersion:gc,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:He(),pageHost:window.location.hostname,connection:Cc(),tags:Lc(a),metrics:Ic(r)}}var lo,qa=[];function Ga(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";lo=t;let a=qa;if(qa=[],t)for(let r of a)r()}function Va(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||lo===!1))try{let s=Sc(e,t,a,r),i=()=>{Qe("timing",s),fetch(ze(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};lo?i():qa.length<20&&qa.push(i)}catch{}}var tt=co("boot",0),ws;function Ct(e,t){tt.mark(e,t)}function oa(e){ws??=e}var yc=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,bc=/\/embed\.js(\?|$)/;function kc(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&tt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&tt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)yc.test(a.name)?(tt.mark("bundleStart",a.startTime),tt.mark("bundleEnd",a.responseEnd)):bc.test(a.name)&&(tt.mark("loaderStart",a.startTime),tt.mark("loaderEnd",a.responseEnd))}function Tc(){if(fs)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function xs(e){kc(),tt.mark("bundleExecuted",cs),Va("boot",e,{configSource:ws,mode:e.mode,secondSdk:Tc()},tt.metrics)}var vc=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Is(e){let t=co("turn",uo());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 vc)!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,Va("turn",r,o,t.metrics))}}}function Pc(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ls(e,t){let a=co("widget",uo()),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:Pc(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Ac,useContext as Rc,useEffect as Mc,useRef as Cs}from"react";var Ss=Ac(()=>{});function ys(){return Rc(Ss)}var bs=Ss.Provider;function Fc(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function ks(e){let t=Cs(e);t.current=e;let a=Cs(!1);Mc(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;Ct(o.paintMark),Fc(()=>xs(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as jc}from"react/jsx-runtime";var Bc="/api/mcp/resource",_c=500,Oc=0,Uc=16,Nc="2026-01-26",Hc=300,qc=3e3,Wc=3,Gc=2e3;function Vc(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function zc(e,t,a){return aa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function na({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Bc,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=be(null),C=be(t),I=be(a),x=be({width:0,height:0}),L=be(null),h=be(!1),w=be(0),S=be("inline"),[E,M]=Ts(Oc),[A,j]=Ts(void 0),F=be(l),O=be(u),q=be(d),Q=be(c),W=be(o),H=be(p);C.current=t,I.current=a,F.current=l,O.current=u,q.current=d,Q.current=c,W.current=o,H.current=p;let T=Ec(b=>i?Math.max(b+Uc,0):Math.min(Math.max(b,50),_c),[i]),y=Dc(()=>{let b=r.includes("?")?"&":"?";return`${r}${b}uri=${encodeURIComponent(e)}`},[r,e]),v=ys(),Z=be(null),ee=be(void 0);za(()=>{let b=Ls(e,v);return Z.current=b,()=>{clearTimeout(ee.current),b.has("initialized")||b.report("timeout",w.current),Z.current=null}},[e,v]);let Fe=be(n);Fe.current=n;let Ne=be(f);return za(()=>{Ne.current=f,x.current.height=-1,L.current&&(L.current.cancel(),L.current=null)},[f]),za(()=>{if(!h.current)return;let b=m.current;b?.contentWindow&&b.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),za(()=>{let b=m.current;if(!b)return;let D=!1,_=!1,ae=null,de=null,he=setTimeout(()=>{if(D||_||w.current>=Wc)return;w.current+=1;let V=new URL(b.src);V.searchParams.set("_retry",String(w.current)),b.src=V.toString()},qc),K=V=>{b.contentWindow?.postMessage(V,"*")},J=V=>{if(D||V.source!==b.contentWindow)return;let me=V.data;if(!me||typeof me!="object"||me.jsonrpc!=="2.0")return;let Se=me.method,re=me.id;if(Se==="ui/initialize"&&re!=null){_=!0,Z.current?.mark("initialize"),clearTimeout(he),K({jsonrpc:"2.0",id:re,result:{protocolVersion:me.params?.protocolVersion??Nc,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Fe.current?"dark":"light",displayMode:S.current}}});return}if(Se==="ui/notifications/initialized"){h.current=!0,Z.current?.mark("initialized"),ee.current=setTimeout(()=>Z.current?.report("ok",w.current),Gc);let $=C.current,N=I.current,G=N._meta&&typeof N._meta=="object"?N._meta:null,U=Vc(W.current),ie=G&&typeof G.waniwani=="object"&&G.waniwani!==null?G.waniwani:null,Re=ie||U?{...ie??{},...U?{sessionId:U}:{}}:void 0,Ee=G||Re?{...G??{},...Re?{waniwani:Re}:{}}:void 0;K({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:$}});let De=N.content??[{type:"text",text:JSON.stringify(N)}];K({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:De,structuredContent:N.structuredContent,_meta:Ee,meta:Ee}});return}if(Se==="ui/notifications/size-changed"){clearTimeout(ee.current),Z.current?.mark("firstSize"),Z.current?.report("ok",w.current);let $=me.params,N=typeof $?.height=="number"?$.height:void 0,G=typeof $?.width=="number"?$.width:void 0,U=x.current,ie=N!==void 0&&N!==U.height,Re=G!==void 0&&G!==U.width;if(!ie&&!Re)return;if(ie&&N!==void 0){if(U.height=N,Ne.current)return;let Ee=T(N),De=b.getBoundingClientRect().height;if(L.current&&(L.current.cancel(),L.current=null),M(Ee),b.animate&&Math.abs(De-Ee)>2){let Xe=b.animate([{height:`${De}px`},{height:`${Ee}px`}],{duration:Hc,easing:"ease-out",fill:"forwards"});L.current=Xe,Xe.onfinish=()=>{L.current===Xe&&(Xe.cancel(),L.current=null)}}}Re&&i&&G!==void 0&&(U.width=G,j(G));return}if(Se==="ui/open-link"&&re!=null){let $=me.params?.url;typeof $=="string"&&(F.current?F.current($):window.open($,"_blank","noopener,noreferrer")),K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="ui/message"&&re!=null){if(O.current&&me.params){let $=me.params,N=ae;if(ae=null,de){clearTimeout(de.timer);let G=de.text;de=null;let U=($.content??[]).map(ie=>ie.text??"").join("").trim();$={...$,content:[{type:"text",text:`${U}
|
|
3
3
|
|
|
4
4
|
${G}`}]}}O.current({...$,...N?{modelContext:N}:{}})}K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="ui/update-model-context"&&re!=null){ae=Vn(ae,me.params),K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="tools/call"&&re!=null){let $=q.current;if(!$){K({jsonrpc:"2.0",id:re,error:{code:-32601,message:"tools/call not supported"}});return}let N=me.params?.name;$({name:N,arguments:me.params?.arguments??{}}).then(G=>{K({jsonrpc:"2.0",id:re,result:G});let U=G.content?.map(ie=>ie.text??"").join("").trim();U&&zc(N,G,H.current)&&(de&&clearTimeout(de.timer),de={text:U,timer:setTimeout(()=>{if(D)return;let ie=ae;ae=null,de=null,O.current?.({role:"user",content:[{type:"text",text:U}],...ie?{modelContext:ie}:{}})},500)})}).catch(G=>{let U=G instanceof Error?G.message:"Tool call failed";K({jsonrpc:"2.0",id:re,error:{code:-32e3,message:U}})});return}if(Se==="ui/request-display-mode"&&re!=null){let $=me.params?.mode,N=$==="fullscreen"||$==="inline"||$==="pip"?$:"inline";S.current=N,K({jsonrpc:"2.0",id:re,result:{mode:N}}),K({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:N}}),Q.current?.(N);return}if(Se==="ui/resource-teardown"&&re!=null){K({jsonrpc:"2.0",id:re,result:{}});return}Se==="ping"&&re!=null&&K({jsonrpc:"2.0",id:re,result:{}})};return window.addEventListener("message",J),()=>{D=!0,clearTimeout(he),de&&clearTimeout(de.timer),window.removeEventListener("message",J)}},[i,T]),jc("iframe",{ref:m,src:y,onLoad:()=>Z.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":E,minWidth:f||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as $c,useEffect as fo,useState as Xc}from"react";import{jsx as po,jsxs as Qc}from"react/jsx-runtime";var vs=672,Ps=32;function Kc({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Xc(null);fo(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;fo(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),fo(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=$c(async f=>{let p=await fetch(t,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...f})});if(!p.ok)throw new Error(`webmcp tool call failed: ${p.status}`);return await p.json()},[t,r]);if(!e)return null;let d=s?Math.min(vs,s.width-Ps):vs,c=s?s.height-Ps:void 0;return Qc("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:k("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",n&&"dark"),children:[l&&po("button",{type:"button","aria-label":"Close",onClick:o,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),po("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:po(na,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:ta(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as vu,useCallback as ka,useEffect as rt,useImperativeHandle as Oh,useRef as wt,useState as _r}from"react";var sa=(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 tf,useCallback as Me,useContext as af,useEffect as ia,useMemo as rf,useRef as ut,useState as ho}from"react";var St=new Map;function As(e,t){if(St.has(e)){URL.revokeObjectURL(t);return}for(St.set(e,t);St.size>20;){let a=St.keys().next();if(a.done)return;let r=St.get(a.value);St.delete(a.value),r&&URL.revokeObjectURL(r)}}function Rs(e){return St.get(e)}import{useState as Jc}from"react";import{jsx as ke,jsxs as mo}from"react/jsx-runtime";var Ms=({files:e,className:t,...a})=>e.length===0?null:ke("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>ke(Yc,{file:r},o))});function Yc({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?ke("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):mo("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:[ke(Ft,{className:"ww:size-3 ww:shrink-0"}),ke("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function Fs(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function Zc({mediaType:e}){return e.startsWith("image/")?ke(Jt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?ke(Kt,{className:"ww:size-5 ww:text-muted-foreground"}):ke(Ft,{className:"ww:size-5 ww:text-muted-foreground"})}function go({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=z(),l=Fs(t,i);return mo("li",{"aria-label":`${e}, ${l}`,className:k("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:[ke("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?ke("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):ke(Zc,{mediaType:t})}),mo("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[ke("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),ke("span",{className:k("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function Es(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 Ds=({documents:e,className:t,...a})=>e.length===0?null:ke("ul",{className:k("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)=>ke(ef,{document:r},`${r.documentId}-${o}`))});function ef({document:e}){let{t}=z(),[a,r]=Jc(!1),o=e.mediaType.startsWith("image/")?Rs(e.documentId):void 0;return o&&!a?ke("li",{children:ke("img",{alt:`${e.filename}, ${Fs(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})}):ke(go,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Le,jsxs as $a}from"react/jsx-runtime";var of=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}},nf=(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)},_s=tf(null),ja=()=>{let e=af(_s);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Os=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:C}=z(),I=ut(null),x=ut(null),[L,h]=ho([]),w=ut(L),S=ut(new Map),E=ut(l),M=ut(d),A=ut(u);ia(()=>{E.current=l,M.current=d,A.current=u},[l,d,u]);let j=Me(b=>{w.current=b,h(b)},[]),F=Me(()=>{I.current?.click()},[]),O=Me((b,D)=>{j(w.current.map(_=>_.id===b?{..._,...D}:_))},[j]),q=Me((b,D)=>{let _=E.current;if(!_)return;let ae=new AbortController,de=_(D,ae.signal,he=>{O(b,{progress:he})}).then(he=>(O(b,{status:"ready",progress:1,documentId:he.documentId,error:void 0}),he)).catch(he=>{if(ae.signal.aborted)return null;let K=he instanceof Error?he.message:m.promptInput.uploadFailed;return O(b,{status:"failed",error:K}),M.current?.({code:"upload_failed",message:K}),null});S.current.set(b,{file:D,controller:ae,done:de})},[O,m]),Q=Me(b=>{let D=[...b];if(!i||D.length===0)return;let _=(V,me)=>M.current?.({code:V,message:me}),ae=[];for(let V of D){if(!nf(V,t)){_("accept",m.promptInput.errorAccept.replace("{name}",V.name));continue}if(n&&V.size>n){_("max_file_size",m.promptInput.errorTooLarge.replace("{name}",V.name).replace("{limit}",Us(n,C)));continue}ae.push(V)}if(ae.length===0)return;let de=typeof o=="number"?Math.max(0,o-w.current.length):void 0,he=typeof de=="number"?ae.slice(0,de):ae;if(he.length<ae.length&&_("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),he.length===0)return;let K=!!E.current,J=he.map(V=>({file:V,item:{filename:V.name,id:sa(),mediaType:V.type,type:"file",url:URL.createObjectURL(V),status:K?"uploading":"ready",progress:0}}));j([...w.current,...J.map(V=>V.item)]);for(let V of J)q(V.item.id,V.file)},[o,n,t,i,q,j,m,C]),W=Me(b=>{let D=S.current.get(b);D&&(O(b,{status:"uploading",progress:0,error:void 0}),q(b,D.file))},[O,q]),H=Me((b,D)=>{S.current.get(b.id)?.controller.abort(),S.current.delete(b.id),b.url&&(!D&&!!b.documentId&&!!b.mediaType?.startsWith("image/")&&b.documentId?As(b.documentId,b.url):URL.revokeObjectURL(b.url)),D&&b.documentId&&A.current?.({documentId:b.documentId,filename:b.filename??"",mediaType:b.mediaType??""})},[]),T=Me(b=>{let D=w.current.find(_=>_.id===b);D&&H(D,!0),j(w.current.filter(_=>_.id!==b))},[H,j]),y=Me(()=>{for(let b of w.current)H(b,!0);j([])},[H,j]),v=ut(i);ia(()=>{let b=v.current;v.current=i,b&&!i&&y()},[i,y]);let Z=Me(()=>{for(let b of w.current)H(b,!1);j([])},[H,j]);ia(()=>()=>{for(let b of w.current)S.current.get(b.id)?.controller.abort(),b.url&&URL.revokeObjectURL(b.url)},[]);let ee=Me(b=>{b.currentTarget.files&&Q(b.currentTarget.files),b.currentTarget.value=""},[Q]);ia(()=>{if(!r)return;let b=_=>{_.dataTransfer?.types?.includes("Files")&&_.preventDefault()},D=_=>{_.dataTransfer?.types?.includes("Files")&&_.preventDefault(),_.dataTransfer?.files&&_.dataTransfer.files.length>0&&Q(_.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",D),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",D)}},[Q,r]);let Fe=Me(async b=>{b.preventDefault();let D=b.currentTarget,_=new FormData(D).get("message")||"",ae=new Map;for(;ae.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([J])=>!ae.has(J)).map(async([J,V])=>{ae.set(J,await V.done)}));for(let J of ae.keys())S.current.has(J)||ae.delete(J);if([...ae.values()].some(J=>J===null)){M.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let de=[...ae.values()].filter(J=>J!==null),he=E.current?[]:w.current,K=await Promise.all(he.map(async({id:J,status:V,progress:me,error:Se,...re})=>{if(re.url?.startsWith("blob:")){let $=await of(re.url);return{...re,url:$??re.url}}return re}));try{let J=c({documents:de,files:K,text:_},b);J instanceof Promise&&await J,D.reset(),Z()}catch{}},[c,Z,m]),Ne=rf(()=>({add:Q,clear:y,files:L,openFileDialog:F,remove:T,retry:W,maxFileSize:n,maxPdfPages:s}),[L,Q,T,W,y,F,n,s]);return $a(_s.Provider,{value:Ne,children:[Le("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:ee,ref:I,title:m.promptInput.uploadFiles,type:"file"}),Le("form",{className:k("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Fe,ref:x,...p,children:f})]})},Bs=1024*1024;function Us(e,t){let a=e>=Bs;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/Bs:Math.max(1,e/1024))}var Ns=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=z(),s=ja(),[i,l]=ho(!1),u=r??n.promptInput.placeholder,d=Me(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('[data-submit-blocked="true"]')||p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),c=Me(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let C of p)if(C.kind==="file"){let I=C.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Le("textarea",{className:k("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})},Hs=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=z(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Le(zt,{className:"ww:size-4"});t==="submitted"?d=Le(Yt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Le(Zt,{className:"ww:size-4"}));let c=Me(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Le(Ke,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:k("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})},qs=({className:e,children:t,...a})=>{let{t:r,locale:o}=z(),n=ja();if(n.files.length>0)return $a(Ke,{className:k("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Le("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}),Le(lt,{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}",Us(n.maxFileSize,o)):r.promptInput.uploadFiles;return Le(Ke,{"aria-label":i,className:k(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Le(Et,{className:"ww:size-4"})})},Ws=({className:e,...t})=>{let a=ja();return a.files.length===0?null:Le("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Le(sf,{file:r},r.id))})};function sf({file:e}){let{t}=z(),a=ja(),r=e.status==="failed",o=e.status==="uploading";return $a(go,{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?Le("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,Le("button",{"aria-label":t.promptInput.removeAttachment,className:k("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:Le(lt,{className:"ww:size-3.5"})}),o?Le("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 Gs=({enabled:e=!0})=>{let{t}=z(),[a,r]=ho(!1);return ia(()=>{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?Le("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:$a("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Le(Et,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as lf}from"react/jsx-runtime";function Vs({text:e}){let{t}=z();return e===!1?null:lf("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 uf,useCallback as df}from"react";import{jsx as _t}from"react/jsx-runtime";var zs=({className:e,...t})=>_t("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),js=({className:e,...t})=>_t("li",{className:k("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}),$s=({className:e,...t})=>_t("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Xs=({className:e,...t})=>_t("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ks=({className:e,...t})=>_t("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Qs=({className:e,...t})=>_t(Ke,{className:k("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 dt,jsxs as Zs}from"react/jsx-runtime";var Js=uf(({message:e,onRemove:t})=>{let{t:a}=z(),r=df(()=>t(e.id),[t,e.id]);return Zs(js,{children:[dt($s,{}),dt(Xs,{children:e.text||a.chatQueue.attachmentFallback}),dt(Ks,{children:dt(Qs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:dt(lt,{className:"ww:size-3"})})})]})});Js.displayName="ChatQueueItem";function Ys({queuedMessages:e,onRemove:t,className:a}){let{t:r}=z();return e.length===0?null:Zs(zs,{className:k("ww:border-t ww:border-border",a),children:[dt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),dt("ul",{children:e.map(o=>dt(Js,{message:o,onRemove:t},o.id))})]})}import{createContext as If,useCallback as Lf,useContext as Cf,useEffect as Sf,useMemo as yf,useState as Lo}from"react";import{createContext as cf,memo as Io,useCallback as ff,useContext as pf,useEffect as wo,useMemo as mf,useRef as ei,useState as xo}from"react";import{Fragment as wf,jsx as je,jsxs as xf}from"react/jsx-runtime";var ti=cf(null);function ai(){let e=pf(ti);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var gf=1e3,hf=1e3,la=Io(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=xo(l),p=d?a:c,m=ff(M=>{d||f(M),o?.(M)},[d,o]),[C,I]=xo(void 0),x=n??C,L=ei(t),[h,w]=xo(!1),S=ei(null);wo(()=>{t?(L.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(I(Math.ceil((Date.now()-S.current)/hf)),S.current=null)},[t]),wo(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),wo(()=>{if(L.current&&!t&&p&&!h){let M=setTimeout(()=>{m(!1),w(!0)},gf);return()=>clearTimeout(M)}},[t,p,h,m]);let E=mf(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return je(ti.Provider,{value:E,children:je("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});la.displayName="Reasoning";var ua=Io(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=z(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=ai(),f=a??((p,m)=>p||m===0?je(Ve,{duration:1.6,children:s.reasoning.thinking}):m===void 0?je("span",{children:s.reasoning.thoughtBrief}):je("span",{children:s.reasoning.thoughtForSeconds(m)}));return je("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:k("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??xf(wf,{children:[!r&&je(et,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});ua.displayName="ReasoningTrigger";var da=Io(({className:e,children:t,...a})=>{let{isOpen:r}=ai();return je("div",{className:k("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:je("div",{className:"ww:min-h-0 ww:overflow-hidden",children:je("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:je(Gt,{children:t})})})})});da.displayName="ReasoningContent";import{jsx as le,jsxs as ct}from"react/jsx-runtime";var bf=500,ri=If(null);function oi(){let e=Cf(ri);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function ni({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Lo(o),c=l?r:u,f=Lf(I=>{l||d(I),n?.(I)},[l,n]),[p,m]=Lo(!t);Sf(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),bf);return()=>clearTimeout(I)},[t]);let C=yf(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return le(ri.Provider,{value:C,children:le("div",{className:k("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 si({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=oi();if(!l){let d=u?.icon,c=u?.label??a??t??"";return le("div",{className:k("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:ct("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:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),le("span",{className:"ww:truncate",children:i?le(Ve,{duration:2.6,children:c}):c})]},c)})}return ct("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("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(it,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ii({className:e,children:t,...a}){let{open:r}=oi();return le("div",{className:k("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:k("ww:flex ww:flex-col",e),...a,children:t})})})}function li({icon:e,isLast:t,running:a,error:r}){return ct("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:k("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 Co({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]=Lo(!1),f=a??"",p=i?le(Ve,{duration:1.6,children:f}):le("span",{className:"ww:truncate",children:f});return ct("div",{className:k("ww:flex ww:gap-2",e),...s,children:[le(li,{icon:t,isLast:o,running:i,error:l}),ct("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?ct("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,le(it,{className:k("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:p}),u&&le("div",{className:k("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 ui({isStreaming:e=!1,isLast:t=!1,children:a}){return ct("div",{className:"ww:flex ww:gap-2",children:[le(li,{icon:et,isLast:t,running:e}),le("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:ct(la,{isStreaming:e,className:"ww:mb-0",children:[le(ua,{hideIcon:!0}),le(da,{children:a})]})})]})}var ve={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 Je={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 _e={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 di(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 ci(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function fi(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 pi(e){return di(e)?"ambiguous":ci(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":fi(e)?"wide":"neutral"}function kf(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function mi(e){return kf(e),pi(e)}var Tf=Object.defineProperty,vf=(e,t,a)=>t in e?Tf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pf=(e,t,a)=>vf(e,typeof t!="symbol"?t+"":t,a);function Af(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Rf(e){if(!e||e<4352)return!1;switch(mi(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Af(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 Mf(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Ff(e){return e!==null&&e>=65024&&e<=65038}var Ef=gi(/\p{P}|\p{S}/u),Df=gi(/\s/);function gi(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Oe;(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})(Oe||(Oe={}));function ft(e){if(e===ve.eof||Gn(e)||Df(e))return Je.characterGroupWhitespace;let t=0;if(e>=4352){if(Ff(e))return Oe.nonEmojiGeneralUseVS;switch(Rf(e)){case null:return Oe.ivs;case!0:t|=Oe.cjk;break}}return Ef(e)&&(t|=Je.characterGroupPunctuation),t}function Xa(e,t,a){if(!_f(e))return e;let r=t(),o=ft(r);return!r||yt(o)?e:Mf(r,a)?Oe.cjkPunctuation:Bf(o)}function Bf(e){return e&~Oe.ivs}function yt(e){return!!(e&Je.characterGroupWhitespace)}function Ot(e){return(e&Oe.cjkPunctuation)===Je.characterGroupPunctuation}function ca(e){return!!(e&Oe.cjk)}function hi(e){return e===Oe.ivs}function wi(e){return!!(e&Oe.cjkOrIvs)}function _f(e){return e===Oe.nonEmojiGeneralUseVS}function So(e){return!!(e&Oe.spaceOrPunctuation)}function Ka(e){return!!(e&&e>=55296&&e<=56319)}function Qa(e){return!!(e&&e>=56320&&e<=57343)}function Ja(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 Of(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 Ya=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Pf(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Of(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Za(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var yo={name:"attention",resolveAll:Uf,tokenize:Nf};function Uf(e,t){let a=-1,r,o,n,s,i,l,u,d;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let c={...e[r][1].end},f={...e[a][1].start};xi(c,-l),xi(f,l),s={type:l>1?_e.strongSequence:_e.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?_e.strongSequence:_e.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?_e.strongText:_e.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?_e.strong:_e.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=At(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=At(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=At(u,_a(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=At(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=At(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,Pt(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 Nf(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Qa(n)?Ja(n,r(),o):n,i=ft(s),l=new Ya(s,r(),o),u=Xa(i,l.value.bind(l),s),d;return c;function c(p){return p===ve.asterisk||ve.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),C=Ka(p)?Za(p,r(),o):p,I=ft(C);let x=Ot(u),L=x||yt(u),h=Ot(I),w=h||yt(I),S=wi(u),E=!w||h&&(L||S)||a.includes(p),M=!L||x&&(w||ca(I))||a.includes(s);return m._open=!!(d===ve.asterisk?E:E&&(So(u)||!M)),m._close=!!(d===ve.asterisk?M:M&&(So(I)||!E)),t(p)}}function xi(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Ii(){return{text:{[ve.asterisk]:yo,[ve.underscore]:yo},insideSpan:{null:[yo]}}}function Li(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Ii())}function Ci(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[ve.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[ve.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&Pt(f,f.length,0,_a(p,s.slice(u+1,l),i)),Pt(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),Pt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=_e.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Qa(c)?Ja(c,u(),d):c,p=ft(f),m=new Ya(f,u(),d),C=Xa(p,m.value.bind(m),f),I=this.events,x=0;return L;function L(w){return ve.tilde,f===ve.tilde&&I[I.length-1][1].type!==_e.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let S=ft(f);if(w===ve.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let E=s.exit("strikethroughSequenceTemporary"),M=Ka(w)?Za(w,u(),d):w,A=ft(M),F=Ot(C)||yt(C),q=Ot(A)||yt(A),Q=ca(C)||hi(S);return E._open=!q||A===Je.attentionSideAfter&&(F||Q),E._close=!F||S===Je.attentionSideAfter&&(q||ca(A)),i(w)}}}function Si(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ci(e))}var Hf=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),qf=/^(https?:\/\/|mailto:|www\.)/i,Wf=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gf=e=>{let t=0;for(let a of e){if(Hf.has(a))return t;t+=a.length}return null},Vf=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),zf=e=>({type:"text",value:e}),jf=()=>e=>{_n(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Wf(t)||!qf.test(t.url))return;let o=Gf(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Vf(n,t),l=zf(s);return r.children.splice(a,1,i,l),a+1})};function $f(){let e=[Li],t=[jf,Si],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var bo=$f();var ce=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Xf(e){return Do(e)}function Do(e){return Array.isArray(e)?Kf(e):e instanceof RegExp?e:typeof e=="object"?Qf(e):e}function Kf(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Do(e[a]);return t}function Qf(e){let t={};for(let a in e)t[a]=Do(e[a]);return t}function Mi(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Fi(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Fi(e.substring(0,e.length-1)):e.substr(~t+1)}var ko=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,er=class{static hasCaptures(e){return e===null?!1:(ko.lastIndex=0,ko.test(e))}static replaceCaptures(e,t,a){return e.replace(ko,(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 Ei(e,t){return e<t?-1:e>t?1:0}function Di(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=Ei(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function yi(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 Bi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var _i=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}},ma=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Zf(e),t)}static createFromParsedTheme(e,t){return tp(e,t)}_cachedMatchRoot=new _i(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=>Jf(e.parent,o.parentScopes));return r?new Oi(r.fontStyle,r.foreground,r.background):null}},To=class tr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new tr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new tr(a,t[r]);return a}push(t){return new tr(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 Jf(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&&!Yf(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Yf(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Oi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Zf(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&yi(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&yi(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),C=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new ep(C,I,o,l,u,d)}}return a}var ep=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}},Pe=(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))(Pe||{});function tp(e,t){e.sort((l,u)=>{let d=Ei(l.scope,u.scope);return d!==0||(d=Di(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 ap(t),s=new Oi(a,n.getId(r),n.getId(o)),i=new op(new Po(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 ma(n,s,i)}var ap=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)}},rp=Object.freeze([]),Po=class Ui{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||rp,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Ui(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)}},op=class Ao{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(Ao._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 Ao(this._mainRule.clone(),Po.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(Di(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 Po(t,a,r,o,n))}},kt=class qe{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=qe.getLanguageId(t),r=qe.getTokenType(t),o=qe.getFontStyle(t),n=qe.getForeground(t),s=qe.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=qe.getLanguageId(t),u=qe.getTokenType(t),d=qe.containsBalancedBrackets(t)?1:0,c=qe.getFontStyle(t),f=qe.getForeground(t),p=qe.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function rr(e,t){let a=[],r=np(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(bi(o)){let l=[];do l.push(o),o=r.next();while(bi(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 bi(e){return!!e&&!!e.match(/[\w\.:]+/)}function np(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 Ni(e){typeof e.dispose=="function"&&e.dispose()}var ga=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},sp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ip=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))}},lp=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ga(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ip;for(let a of e)up(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ga){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 up(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 ga?ar({baseGrammar:n,selfGrammar:o},r):Ro(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 ga(i))}function Ro(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];or([r],t,a)}}function ar(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&or(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&or(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function or(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Mi({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&or(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Hi(n);switch(s.kind){case 0:ar({...t,selfGrammar:t.baseGrammar},a);break;case 1:ar(t,a);break;case 2:Ro(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?Ro(s.ruleName,l,a):ar(l,a)}else s.kind===4?a.add(new sp(s.scopeName,s.ruleName)):a.add(new ga(s.scopeName));break}}}var dp=class{kind=0},cp=class{kind=1},fp=class{constructor(e){this.ruleName=e}kind=2},pp=class{constructor(e){this.scopeName=e}kind=3},mp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Hi(e){if(e==="$base")return new dp;if(e==="$self")return new cp;let t=e.indexOf("#");if(t===-1)return new pp(e);if(t===0)return new fp(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new mp(a,r)}}var gp=/\\(\d+)/,ki=/\\(\d+)/g;var hp=-1,qi=-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=er.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=er.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Fi(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:er.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:er.replaceCaptures(this._contentName,e,t)}},wp=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!")}},xp=class extends xa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ha(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 wa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ti=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 wa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Mo=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 ha(o,this.id),this.beginCaptures=n,this._end=new ha(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 wa;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}},nr=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 ha(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ha(s,qi),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 wa;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 wa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Wi=class Ae{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new wp(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new xp(t.$vscodeTextmateLocation,t.id,t.name,t.match,Ae._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Mi({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Ti(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Ae._compilePatterns(n,a,r))}return t.while?new nr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ae._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Ae._compileCaptures(t.whileCaptures||t.captures,a,r),Ae._compilePatterns(t.patterns,a,r)):new Mo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ae._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Ae._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Ae._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=Ae.getCompiledRuleId(t[s],a,r)),o[i]=Ae.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=Hi(i.include);switch(u.kind){case 0:case 1:l=Ae.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=Ae.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=Ae.getCompiledRuleId(m,a,p.repository))}else l=Ae.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Ae.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Ti||u instanceof Mo||u instanceof nr)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ha=class Gi{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=gp.test(this.source):this.hasBackReferences=!1}clone(){return new Gi(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 ki.lastIndex=0,this.source.replace(ki,(o,n)=>Bi(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}},wa=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 vi(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 vi(e,r,this._items.map(o=>o.ruleId))}},vi=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}},vo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Ip=class Fo{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new vo(t,8),this._embeddedLanguagesMatcher=new Lp(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Fo._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new vo(0,0);_getBasicScopeAttributes=new _i(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new vo(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Fo.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/},Lp=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])=>Bi(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])}},uS={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Vi=!1,Pi=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function zi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=Cp(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new Pi(o,!0);f()}return new Pi(o,!1);function f(){let p=Sp(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,C=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(C===hp){let x=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),fa(e,t,a,o,n,x.endCaptures,m),n.produce(o,m[0].end);let L=o;if(o=o.parent,d=L.getAnchorPos(),!I&&L.getEnterPos()===r){o=L,n.produce(o,l),u=!0;return}}else{let x=e.getRule(C);n.produce(o,m[0].start);let L=o,h=x.getName(t.content,m),w=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(C,r,d,m[0].end===l,null,w,w),x instanceof Mo){let S=x;fa(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let E=S.getContentName(t.content,m),M=w.pushAttributed(E,e);if(o=o.withContentNameScopesList(M),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!I&&L.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(x instanceof nr){let S=x;fa(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let E=S.getContentName(t.content,m),M=w.pushAttributed(E,e);if(o=o.withContentNameScopesList(M),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!I&&L.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(fa(e,t,a,o,n,x.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Cp(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 nr&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=kp(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==qi){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),fa(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 Sp(e,t,a,r,o,n){let s=yp(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=bp(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 yp(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ji(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function bp(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let C=t.getRule(m.ruleId),{ruleScanner:I,findOptions:x}=ji(C,t,null,r,o===s),L=I.findNextMatchSync(a,o,x);if(!L)continue;let h=L.captureIndices[0].start;if(!(h>=i)&&(i=h,l=L.captureIndices,u=L.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function ji(e,t,a,r,o){if(Vi){let s=e.compile(t,a),i=$i(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function kp(e,t,a,r,o){if(Vi){let s=e.compileWhile(t,a),i=$i(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function $i(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function fa(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let C=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(C,e),x=f.getContentName(i,s),L=I.pushAttributed(x,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,L),w=e.createOnigString(i.substring(0,p.end));zi(e,w,a&&p.start===0,p.start,h,o,!1,0),Ni(w);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Tp(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Tp=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function vp(e,t,a,r,o,n,s,i){return new Ap(e,t,a,r,o,n,s,i)}function Ai(e,t,a,r,o){let n=rr(t,sr),s=Wi.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 sr(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(Pp(t[o],r))return a=o+1,!0;return!1})}function Pp(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 Ap=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Ip(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Ri(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=rr(l,sr);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)Ai(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&&Ai(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]=Ri(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=Wi.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Eo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=kt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=pa.createRootAndLookUpScopeName(f,c,this):p=pa.createRoot("unknown",c),t=new Eo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
|