@waniwani/sdk 0.4.3-beta.2 → 0.4.3-beta.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.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import{a as Mo,b as Ro,c as Bo,d as _e,e as Ee,f as St,g as vo,h as Do,i as _o,j as Eo,k as yt,l as No,m as Aa,n as Oo,o as qo,p as Ne,u as Fa}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as sf,useCallback as Pa,useEffect as cn,useImperativeHandle as nf,useRef as pn,useState as ko}from"react";import{forwardRef as Ln,createElement as xn}from"react";var kt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var Ho=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Uo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Ma=e=>{let t=Uo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as gn,createElement as zo}from"react";var Go={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 Wo=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Vo=gn(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>zo("svg",{ref:l,...Go,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:kt("lucide",r),...!s&&!Wo(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>zo(u,f)),...Array.isArray(s)?s:[s]]));var E=(e,t)=>{let a=Ln(({className:o,...r},s)=>xn(Vo,{ref:s,iconNode:t,className:kt(`lucide-${Ho(Ma(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Ma(e),a};var Cn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],$e=E("arrow-down",Cn);var wn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Xe=E("arrow-up",wn);var In=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Le=E("braces",In);var Sn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Qe=E("check",Sn);var yn=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ke=E("chevron-down",yn);var kn=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Je=E("chevron-right",kn);var bn=[["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"}]],Ze=E("clipboard-copy",bn);var Pn=[["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"}]],Ye=E("file",Pn);var Tn=[["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"}]],et=E("loader",Tn);var An=[["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"}]],tt=E("paperclip",An);var Fn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],at=E("square",Fn);var Mn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],be=E("x",Mn);import{useCallback as $n}from"react";import{useCallback as xe,useMemo as Rn,useRef as Bn,useState as Ra}from"react";var vn={damping:.7,stiffness:.05,mass:1.25},Dn=70,_n=1e3/60,En=350,bt=!1;globalThis.document?.addEventListener("mousedown",()=>{bt=!0});globalThis.document?.addEventListener("mouseup",()=>{bt=!1});globalThis.document?.addEventListener("click",()=>{bt=!1});var $o=(e={})=>{let[t,a]=Ra(!1),[o,r]=Ra(e.initial!==!1),[s,n]=Ra(!1),i=Bn(null);i.current=e;let l=xe(()=>{if(!bt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let m=g.getRangeAt(0);return m.commonAncestorContainer.contains(x.current)||x.current?.contains(m.commonAncestorContainer)},[]),u=xe(g=>{d.isAtBottom=g,r(g)},[]),f=xe(g=>{d.escapedFromLock=g,a(g)},[]),d=Rn(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(m){x.current&&(x.current.scrollTop=m,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!L.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!L.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(g?.targetScrollTop===m)return g.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:x.current,contentElement:L.current}),m),0);return g={targetScrollTop:m,calculatedScrollTop:w},requestAnimationFrame(()=>{g=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Dn}}},[]),p=xe((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let m=Date.now()+(Number(g.wait)||0),w=va(i.current,g.animation),{ignoreEscapes:y=!1}=g,I,S=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{I=Date.now()}):I=m+(g.duration??0);let A=async()=>{let B=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:M}=d,R=performance.now(),v=(R-(d.lastTick??R))/_n;if(d.animation||(d.animation={behavior:w,promise:B,ignoreEscapes:y}),d.animation.behavior===w&&(d.lastTick=R),l()||m>Date.now())return A();if(M<Math.min(S,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*v,d.scrollTop+=d.accumulated,d.scrollTop!==M&&(d.accumulated=0)}return A()}return I>Date.now()?(S=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:va(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,I-Date.now())||void 0}):d.isAtBottom)});return B.then(M=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),M))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:A()},[u,l,d]),c=xe(()=>{f(!0),u(!1)},[f,u]),h=xe(({target:g})=>{if(g!==x.current)return;let{scrollTop:m,ignoreScrollToTop:w}=d,{lastScrollTop:y=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,w&&w>m&&(y=w),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===w)return;if(l()){f(!0),u(!1);return}let I=m>y,S=m<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}S&&(f(!0),u(!1)),I&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=xe(({target:g,deltaY:m})=>{let w=g;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===x.current&&m<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),x=jo(g=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",C),g?.addEventListener("scroll",h,{passive:!0}),g?.addEventListener("wheel",C,{passive:!0})},[]),L=jo(g=>{if(d.resizeObserver?.disconnect(),!g)return;let m;d.resizeObserver=new ResizeObserver(([w])=>{let{height:y}=w.contentRect,I=y-(m??y);if(d.resizeDifference=I,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),I>=0){let S=va(i.current,m?i.current.resize:i.current.initial);p({animation:S,wait:!0,preserveScrollPosition:!0,duration:S==="instant"?void 0:En})}else d.isNearBottom&&(f(!1),u(!0));m=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===I&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:L,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function jo(e,t){let a=xe(o=>(a.current=o,e(o)),t);return a}var Ba=new Map;function va(...e){let t={...vn},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Ba.has(o)||Ba.set(o,Object.freeze(t)),a?"instant":Ba.get(o)}import*as Pe from"react";import{createContext as Nn,useContext as On,useEffect as qn,useImperativeHandle as Hn,useLayoutEffect as Un,useMemo as Gn,useRef as Wn}from"react";var Xo=Nn(null),zn=typeof window<"u"?Un:qn;function ot({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=Wn(null),d=Pe.useCallback((y,I)=>(w?.targetScrollTop??i)?.(y,I)??y,[i]),p=$o({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:C,stopScroll:x,isAtBottom:L,escapedFromLock:g,state:m}=e??p,w=Gn(()=>({scrollToBottom:C,stopScroll:x,scrollRef:c,isAtBottom:L,escapedFromLock:g,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(y){f.current=y}}),[C,L,h,c,x,g,m]);return Hn(l,()=>w,[w]),zn(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),Pe.createElement(Xo.Provider,{value:w},Pe.createElement("div",{...u},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Da();return Pe.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},Pe.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(ot||(ot={}));function Da(){let e=On(Xo);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Vn=Ro({prefix:"ww"});function k(...e){return Vn(Mo(e))}import{jsx as jn}from"react/jsx-runtime";var fe=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>jn("button",{type:o,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),...r});import{jsx as Pt}from"react/jsx-runtime";var Tt=({className:e,...t})=>Pt(ot,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),At=({className:e,...t})=>Pt(ot.Content,{className:k("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),Ft=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Da(),r=$n(()=>{o()},[o]);return!a&&Pt(fe,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Pt($e,{className:"ww:size-4"})})};import Ko from"crypto";var Qo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Xn=128,Te,Oe,Qn=e=>{!Te||Te.length<e?(Te=Buffer.allocUnsafe(e*Xn),Ko.randomFillSync(Te),Oe=0):Oe+e>Te.length&&(Ko.randomFillSync(Te),Oe=0),Oe+=e};var Mt=(e=21)=>{Qn(e|=0);let t="";for(let a=Oe-e;a<Oe;a++)t+=Qo[Te[a]&63];return t};import{createContext as Kn,useCallback as he,useContext as Jn,useEffect as _a,useMemo as Zn,useRef as Ea,useState as Jo}from"react";import{jsx as ue,jsxs as er}from"react/jsx-runtime";var Yn=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},Zo=Kn(null),Yo=()=>{let e=Jn(Zo);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Rt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=Ea(null),f=Ea(null),[d,p]=Jo([]),c=Ea(d);_a(()=>{c.current=d},[d]);let h=he(()=>{u.current?.click()},[]),C=he(y=>{let I=[...y];if(I.length===0)return;let S=B=>s?B.size<=s:!0,A=I.filter(S);p(B=>{let M=typeof r=="number"?Math.max(0,r-B.length):void 0,R=typeof M=="number"?A.slice(0,M):A;return[...B,...R.map(v=>({filename:v.name,id:Mt(),mediaType:v.type,type:"file",url:URL.createObjectURL(v)}))]})},[r,s]),x=he(y=>{p(I=>{let S=I.find(A=>A.id===y);return S?.url&&URL.revokeObjectURL(S.url),I.filter(A=>A.id!==y)})},[]),L=he(()=>{p(y=>{for(let I of y)I.url&&URL.revokeObjectURL(I.url);return[]})},[]);_a(()=>()=>{for(let y of c.current)y.url&&URL.revokeObjectURL(y.url)},[]);let g=he(y=>{y.currentTarget.files&&C(y.currentTarget.files),y.currentTarget.value=""},[C]);_a(()=>{if(!o)return;let y=S=>{S.dataTransfer?.types?.includes("Files")&&S.preventDefault()},I=S=>{S.dataTransfer?.types?.includes("Files")&&S.preventDefault(),S.dataTransfer?.files&&S.dataTransfer.files.length>0&&C(S.dataTransfer.files)};return document.addEventListener("dragover",y),document.addEventListener("drop",I),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",I)}},[C,o]);let m=he(async y=>{y.preventDefault();let I=y.currentTarget,A=new FormData(I).get("message")||"";I.reset();let B=await Promise.all(d.map(async({id:M,...R})=>{if(R.url?.startsWith("blob:")){let v=await Yn(R.url);return{...R,url:v??R.url}}return R}));try{let M=n({files:B,text:A},y);M instanceof Promise&&await M,L()}catch{}},[d,n,L]),w=Zn(()=>({add:C,clear:L,files:d,openFileDialog:h,remove:x}),[d,C,x,L,h]);return er(Zo.Provider,{value:w,children:[ue("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),ue("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:m,ref:f,...l,children:i})]})};var Bt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Yo(),[n,i]=Jo(!1),l=he(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=he(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let h=c.getAsFile();h&&p.push(h)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return ue("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-16 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-3 ww:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},vt=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=ue(Xe,{className:"ww:size-4"});t==="submitted"?i=ue(et,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=ue(at,{className:"ww:size-4"}));let l=he(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return ue(fe,{"aria-label":n?"Stop":"Submit",className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},Dt=({className:e,children:t,...a})=>{let o=Yo();return o.files.length>0?er(fe,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[ue("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:o.files.length}),ue(be,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):ue(fe,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??ue(tt,{className:"ww:size-4"})})};import{memo as el,useCallback as tl}from"react";import{jsx as qe}from"react/jsx-runtime";var tr=({className:e,...t})=>qe("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ar=({className:e,...t})=>qe("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}),or=({className:e,...t})=>qe("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),rr=({className:e,...t})=>qe("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),sr=({className:e,...t})=>qe("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),nr=({className:e,...t})=>qe(fe,{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 Ae,jsxs as Na}from"react/jsx-runtime";var lr=el(({message:e,onRemove:t})=>{let a=tl(()=>t(e.id),[t,e.id]);return Na(ar,{children:[Ae(or,{}),Ae(rr,{children:e.text||"(attachment)"}),Ae(sr,{children:Ae(nr,{"aria-label":"Remove from queue",onClick:a,children:Ae(be,{className:"ww:size-3"})})})]})});lr.displayName="ChatQueueItem";function _t({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Na(tr,{className:k("ww:border-t ww:border-border",a),children:[Na("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Ae("ul",{children:e.map(o=>Ae(lr,{message:o,onRemove:t},o.id))})]})}import{jsx as rt,jsxs as ol}from"react/jsx-runtime";var ir=({files:e,className:t,...a})=>e.length===0?null:rt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>rt(al,{file:o},r))});function al({file:e}){return e.mediaType?.startsWith("image/")&&e.url?rt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):ol("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:[rt(Ye,{className:"ww:size-3 ww:shrink-0"}),rt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as ur}from"react/jsx-runtime";var Oa=({className:e,size:t=5,...a})=>ur("div",{className:k("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>ur("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var K={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 ce={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 se={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 dr(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 fr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function cr(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 pr(e){return dr(e)?"ambiguous":fr(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":cr(e)?"wide":"neutral"}function rl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function mr(e){return rl(e),pr(e)}var sl=Object.defineProperty,nl=(e,t,a)=>t in e?sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ll=(e,t,a)=>nl(e,typeof t!="symbol"?t+"":t,a);function il(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function ul(e){if(!e||e<4352)return!1;switch(mr(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!il(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 dl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function fl(e){return e!==null&&e>=65024&&e<=65038}var cl=hr(/\p{P}|\p{S}/u),pl=hr(/\s/);function hr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var ne;(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})(ne||(ne={}));function Ce(e){if(e===K.eof||Bo(e)||pl(e))return ce.characterGroupWhitespace;let t=0;if(e>=4352){if(fl(e))return ne.nonEmojiGeneralUseVS;switch(ul(e)){case null:return ne.ivs;case!0:t|=ne.cjk;break}}return cl(e)&&(t|=ce.characterGroupPunctuation),t}function Et(e,t,a){if(!hl(e))return e;let o=t(),r=Ce(o);return!o||Fe(r)?e:dl(o,a)?ne.cjkPunctuation:ml(r)}function ml(e){return e&~ne.ivs}function Fe(e){return!!(e&ce.characterGroupWhitespace)}function He(e){return(e&ne.cjkPunctuation)===ce.characterGroupPunctuation}function st(e){return!!(e&ne.cjk)}function gr(e){return e===ne.ivs}function Lr(e){return!!(e&ne.cjkOrIvs)}function hl(e){return e===ne.nonEmojiGeneralUseVS}function qa(e){return!!(e&ne.spaceOrPunctuation)}function Nt(e){return!!(e&&e>=55296&&e<=56319)}function Ot(e){return!!(e&&e>=56320&&e<=57343)}function qt(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function gl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let i=s.codePointAt(0);return i&&i>=65536?i:n}var Ht=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,ll(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=gl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ut(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Ha={name:"attention",resolveAll:Ll,tokenize:xl};function Ll(e,t){let a=-1,o,r,s,n,i,l,u,f;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};xr(d,-l),xr(p,l),n={type:l>1?se.strongSequence:se.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?se.strongSequence:se.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?se.strongText:se.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?se.strong:se.emphasis,start:{...n.start},end:{...i.end}},e[o][1].end={...n.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=Ee(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=Ee(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=Ee(u,St(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=Ee(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=Ee(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,_e(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function xl(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=Ot(s)?qt(s,o(),r):s,i=Ce(n),l=new Ht(n,o(),r),u=Et(i,l.value.bind(l),n),f;return d;function d(c){return c===K.asterisk||K.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let h=e.exit("attentionSequence"),C=Nt(c)?Ut(c,o(),r):c,x=Ce(C);let L=He(u),g=L||Fe(u),m=He(x),w=m||Fe(x),y=Lr(u),I=!w||m&&(g||y)||a.includes(c),S=!g||L&&(w||st(x))||a.includes(n);return h._open=!!(f===K.asterisk?I:I&&(qa(u)||!S)),h._close=!!(f===K.asterisk?S:S&&(qa(x)||!I)),t(c)}}function xr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Cr(){return{text:{[K.asterisk]:Ha,[K.underscore]:Ha},insideSpan:{null:[Ha]}}}function wr(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Cr())}function Ir(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[K.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[K.tilde]}};function r(n,i){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let u=l;for(;u--;)if(n[u][0]==="exit"&&n[u][1].type==="strikethroughSequenceTemporary"&&n[u][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[u][1].end.offset-n[u][1].start.offset){n[l][1].type="strikethroughSequence",n[u][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[u][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[u][1].end),end:Object.assign({},n[l][1].start)},p=[["enter",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],c=i.parser.constructs.insideSpan.null;c&&_e(p,p.length,0,St(c,n.slice(u+1,l),i)),_e(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),_e(n,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=se.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=Ot(d)?qt(d,u(),f):d,c=Ce(p),h=new Ht(p,u(),f),C=Et(c,h.value.bind(h),p),x=this.events,L=0;return g;function g(w){return K.tilde,p===K.tilde&&x[x.length-1][1].type!==se.characterEscape?l(w):(n.enter("strikethroughSequenceTemporary"),m(w))}function m(w){let y=Ce(p);if(w===K.tilde)return L>1?l(w):(n.consume(w),L++,m);if(L<2&&!a)return l(w);let I=n.exit("strikethroughSequenceTemporary"),S=Nt(w)?Ut(w,u(),f):w,A=Ce(S),M=He(C)||Fe(C),v=He(A)||Fe(A),V=st(C)||gr(y);return I._open=!v||A===ce.attentionSideAfter&&(M||V),I._close=!M||y===ce.attentionSideAfter&&(v||st(A)),i(w)}}}function Sr(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ir(e))}var Cl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),wl=/^(https?:\/\/|mailto:|www\.)/i,Il=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Sl=e=>{let t=0;for(let a of e){if(Cl.has(a))return t;t+=a.length}return null},yl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),kl=e=>({type:"text",value:e}),bl=()=>e=>{vo(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Il(t)||!wl.test(t.url))return;let r=Sl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=yl(s,t),l=kl(n);return o.children.splice(a,1,i,l),a+1})};function Pl(){let e=[wr],t=[bl,Sr],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var yr=Pl();var q=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Tl(e){return Ka(e)}function Ka(e){return Array.isArray(e)?Al(e):e instanceof RegExp?e:typeof e=="object"?Fl(e):e}function Al(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=Ka(e[a]);return t}function Fl(e){let t={};for(let a in e)t[a]=Ka(e[a]);return t}function Br(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function vr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?vr(e.substring(0,e.length-1)):e.substr(~t+1)}var Ua=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Gt=class{static hasCaptures(e){return e===null?!1:(Ua.lastIndex=0,Ua.test(e))}static replaceCaptures(e,t,a){return e.replace(Ua,(o,r,s,n)=>{let i=a[parseInt(r||s,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function Dr(e,t){return e<t?-1:e>t?1:0}function _r(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let s=Dr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function kr(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 Er(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Nr=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}},it=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Bl(e),t)}static createFromParsedTheme(e,t){return Dl(e,t)}_cachedMatchRoot=new Nr(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,o=this._cachedMatchRoot.get(t).find(r=>Ml(e.parent,r.parentScopes));return o?new Or(o.fontStyle,o.foreground,o.background):null}},Ga=class Wt{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Wt(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Wt(a,t[o]);return a}push(t){return new Wt(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=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function Ml(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!Rl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Rl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Or=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Bl(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let i;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(n.scope)?i=n.scope:i=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let p=0,c=d.length;p<c;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof n.settings.foreground=="string"&&kr(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&kr(n.settings.background)&&(f=n.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),C=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new vl(C,x,r,l,u,f)}}return a}var vl=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},J=(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))(J||{});function Dl(e,t){e.sort((l,u)=>{let f=Dr(l.scope,u.scope);return f!==0||(f=_r(l.parentScopes,u.parentScopes),f!==0)?f:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let s=new _l(t),n=new Or(a,s.getId(o),s.getId(r)),i=new Nl(new za(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new it(s,n,i)}var _l=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)}},El=Object.freeze([]),za=class qr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||El,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new qr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},Nl=class Va{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Va._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Va(this._mainRule.clone(),za.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,u,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,i=this._rulesWithParentScopes.length;n<i;n++){let l=this._rulesWithParentScopes[n];if(_r(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new za(t,a,o,r,s))}},Re=class ie{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=ie.getLanguageId(t),o=ie.getTokenType(t),r=ie.getFontStyle(t),s=ie.getForeground(t),n=ie.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}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,o,r,s,n,i){let l=ie.getLanguageId(t),u=ie.getTokenType(t),f=ie.containsBalancedBrackets(t)?1:0,d=ie.getFontStyle(t),p=ie.getForeground(t),c=ie.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),i!==0&&(c=i),(l<<0|u<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function Vt(e,t){let a=[],o=Ol(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=n();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(br(r)){let l=[];do l.push(r),r=o.next();while(br(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function br(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ol(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function Hr(e){typeof e.dispose=="function"&&e.dispose()}var ut=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},ql=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Hl=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))}},Ul=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ut(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Hl;for(let a of e)Gl(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ut){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 Gl(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=a.lookup(t);e instanceof ut?zt({baseGrammar:s,selfGrammar:r},o):ja(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let i of n)o.add(new ut(i))}function ja(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];jt([o],t,a)}}function zt(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&jt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&jt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function jt(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Br({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&jt(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Ur(s);switch(n.kind){case 0:zt({...t,selfGrammar:t.baseGrammar},a);break;case 1:zt(t,a);break;case 2:ja(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};n.kind===4?ja(n.ruleName,l,a):zt(l,a)}else n.kind===4?a.add(new ql(n.scopeName,n.ruleName)):a.add(new ut(n.scopeName));break}}}var Wl=class{kind=0},zl=class{kind=1},Vl=class{constructor(e){this.ruleName=e}kind=2},jl=class{constructor(e){this.scopeName=e}kind=3},$l=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ur(e){if(e==="$base")return new Wl;if(e==="$self")return new zl;let t=e.indexOf("#");if(t===-1)return new jl(e);if(t===0)return new Vl(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new $l(a,o)}}var Xl=/\\(\d+)/,Pr=/\\(\d+)/g;var Ql=-1,Gr=-2;var ct=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Gt.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Gt.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${vr(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:Gt.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Gt.replaceCaptures(this._contentName,e,t)}},Kl=class extends ct{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Jl=class extends ct{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new dt(o,this.id),this.captures=r,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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Tr=class extends ct{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},$a=class extends ct{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,i,l,u){super(e,t,a,o),this._begin=new dt(r,this.id),this.beginCaptures=s,this._end=new dt(n||"\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,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ft;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}},$t=class extends ct{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,i,l){super(e,t,a,o),this._begin=new dt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new dt(n,Gr),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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ft;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,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ft,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Wr=class Y{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new Kl(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Jl(t.$vscodeTextmateLocation,t.id,t.name,t.match,Y._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Br({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Tr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Y._compilePatterns(s,a,o))}return t.while?new $t(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Y._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Y._compileCaptures(t.whileCaptures||t.captures,a,o),Y._compilePatterns(t.patterns,a,o)):new $a(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Y._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Y._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Y._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10);i>s&&(s=i)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10),l=0;t[n].patterns&&(l=Y.getCompiledRuleId(t[n],a,o)),r[i]=Y.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let i=t[s],l=-1;if(i.include){let u=Ur(i.include);switch(u.kind){case 0:case 1:l=Y.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=Y.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let h=c.repository[p];h&&(l=Y.getCompiledRuleId(h,a,c.repository))}else l=Y.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=Y.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof Tr||u instanceof $a||u instanceof $t)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},dt=class zr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(s.push(t.substring(r,i)),s.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(n=!0),i++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.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=Xl.test(this.source):this.hasBackReferences=!1}clone(){return new zr(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 o=a.map(r=>t.substring(r.start,r.end));return Pr.lastIndex=0,this.source.replace(Pr,(r,s)=>Er(o[parseInt(s,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=[],o=[],r=[],s,n,i,l;for(s=0,n=this.source.length;s<n;s++)i=this.source.charAt(s),t[s]=i,a[s]=i,o[s]=i,r[s]=i,i==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.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}},ft=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 Ar(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 o=this._items.map(r=>r.resolveAnchors(t,a));return new Ar(e,o,this._items.map(r=>r.ruleId))}},Ar=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(`
2
+ import{a as Mo,b as Ro,c as Bo,d as _e,e as Ee,f as St,g as vo,h as Do,i as _o,j as Eo,k as yt,l as No,m as Aa,n as Oo,o as qo,p as Ne,u as Fa}from"../chunk-HVAT4SNH.js";import"../chunk-V3ZDECK5.js";import{forwardRef as sf,useCallback as Pa,useEffect as cn,useImperativeHandle as nf,useRef as pn,useState as ko}from"react";import{forwardRef as Ln,createElement as xn}from"react";var kt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var Ho=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Uo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Ma=e=>{let t=Uo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as gn,createElement as zo}from"react";var Go={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 Wo=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Vo=gn(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>zo("svg",{ref:l,...Go,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:kt("lucide",r),...!s&&!Wo(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>zo(u,f)),...Array.isArray(s)?s:[s]]));var E=(e,t)=>{let a=Ln(({className:o,...r},s)=>xn(Vo,{ref:s,iconNode:t,className:kt(`lucide-${Ho(Ma(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Ma(e),a};var Cn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],$e=E("arrow-down",Cn);var wn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Xe=E("arrow-up",wn);var In=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Le=E("braces",In);var Sn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Qe=E("check",Sn);var yn=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ke=E("chevron-down",yn);var kn=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Je=E("chevron-right",kn);var bn=[["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"}]],Ze=E("clipboard-copy",bn);var Pn=[["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"}]],Ye=E("file",Pn);var Tn=[["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"}]],et=E("loader",Tn);var An=[["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"}]],tt=E("paperclip",An);var Fn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],at=E("square",Fn);var Mn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],be=E("x",Mn);import{useCallback as $n}from"react";import{useCallback as xe,useMemo as Rn,useRef as Bn,useState as Ra}from"react";var vn={damping:.7,stiffness:.05,mass:1.25},Dn=70,_n=1e3/60,En=350,bt=!1;globalThis.document?.addEventListener("mousedown",()=>{bt=!0});globalThis.document?.addEventListener("mouseup",()=>{bt=!1});globalThis.document?.addEventListener("click",()=>{bt=!1});var $o=(e={})=>{let[t,a]=Ra(!1),[o,r]=Ra(e.initial!==!1),[s,n]=Ra(!1),i=Bn(null);i.current=e;let l=xe(()=>{if(!bt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let m=g.getRangeAt(0);return m.commonAncestorContainer.contains(x.current)||x.current?.contains(m.commonAncestorContainer)},[]),u=xe(g=>{d.isAtBottom=g,r(g)},[]),f=xe(g=>{d.escapedFromLock=g,a(g)},[]),d=Rn(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(m){x.current&&(x.current.scrollTop=m,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!L.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!L.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(g?.targetScrollTop===m)return g.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:x.current,contentElement:L.current}),m),0);return g={targetScrollTop:m,calculatedScrollTop:w},requestAnimationFrame(()=>{g=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Dn}}},[]),p=xe((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let m=Date.now()+(Number(g.wait)||0),w=va(i.current,g.animation),{ignoreEscapes:y=!1}=g,I,S=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{I=Date.now()}):I=m+(g.duration??0);let A=async()=>{let B=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:M}=d,R=performance.now(),v=(R-(d.lastTick??R))/_n;if(d.animation||(d.animation={behavior:w,promise:B,ignoreEscapes:y}),d.animation.behavior===w&&(d.lastTick=R),l()||m>Date.now())return A();if(M<Math.min(S,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*v,d.scrollTop+=d.accumulated,d.scrollTop!==M&&(d.accumulated=0)}return A()}return I>Date.now()?(S=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:va(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,I-Date.now())||void 0}):d.isAtBottom)});return B.then(M=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),M))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:A()},[u,l,d]),c=xe(()=>{f(!0),u(!1)},[f,u]),h=xe(({target:g})=>{if(g!==x.current)return;let{scrollTop:m,ignoreScrollToTop:w}=d,{lastScrollTop:y=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,w&&w>m&&(y=w),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===w)return;if(l()){f(!0),u(!1);return}let I=m>y,S=m<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}S&&(f(!0),u(!1)),I&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=xe(({target:g,deltaY:m})=>{let w=g;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===x.current&&m<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),x=jo(g=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",C),g?.addEventListener("scroll",h,{passive:!0}),g?.addEventListener("wheel",C,{passive:!0})},[]),L=jo(g=>{if(d.resizeObserver?.disconnect(),!g)return;let m;d.resizeObserver=new ResizeObserver(([w])=>{let{height:y}=w.contentRect,I=y-(m??y);if(d.resizeDifference=I,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),I>=0){let S=va(i.current,m?i.current.resize:i.current.initial);p({animation:S,wait:!0,preserveScrollPosition:!0,duration:S==="instant"?void 0:En})}else d.isNearBottom&&(f(!1),u(!0));m=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===I&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:L,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function jo(e,t){let a=xe(o=>(a.current=o,e(o)),t);return a}var Ba=new Map;function va(...e){let t={...vn},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Ba.has(o)||Ba.set(o,Object.freeze(t)),a?"instant":Ba.get(o)}import*as Pe from"react";import{createContext as Nn,useContext as On,useEffect as qn,useImperativeHandle as Hn,useLayoutEffect as Un,useMemo as Gn,useRef as Wn}from"react";var Xo=Nn(null),zn=typeof window<"u"?Un:qn;function ot({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=Wn(null),d=Pe.useCallback((y,I)=>(w?.targetScrollTop??i)?.(y,I)??y,[i]),p=$o({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:C,stopScroll:x,isAtBottom:L,escapedFromLock:g,state:m}=e??p,w=Gn(()=>({scrollToBottom:C,stopScroll:x,scrollRef:c,isAtBottom:L,escapedFromLock:g,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(y){f.current=y}}),[C,L,h,c,x,g,m]);return Hn(l,()=>w,[w]),zn(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),Pe.createElement(Xo.Provider,{value:w},Pe.createElement("div",{...u},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Da();return Pe.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},Pe.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(ot||(ot={}));function Da(){let e=On(Xo);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Vn=Ro({prefix:"ww"});function k(...e){return Vn(Mo(e))}import{jsx as jn}from"react/jsx-runtime";var fe=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>jn("button",{type:o,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),...r});import{jsx as Pt}from"react/jsx-runtime";var Tt=({className:e,...t})=>Pt(ot,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),At=({className:e,...t})=>Pt(ot.Content,{className:k("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),Ft=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Da(),r=$n(()=>{o()},[o]);return!a&&Pt(fe,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Pt($e,{className:"ww:size-4"})})};import Ko from"crypto";var Qo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Xn=128,Te,Oe,Qn=e=>{!Te||Te.length<e?(Te=Buffer.allocUnsafe(e*Xn),Ko.randomFillSync(Te),Oe=0):Oe+e>Te.length&&(Ko.randomFillSync(Te),Oe=0),Oe+=e};var Mt=(e=21)=>{Qn(e|=0);let t="";for(let a=Oe-e;a<Oe;a++)t+=Qo[Te[a]&63];return t};import{createContext as Kn,useCallback as he,useContext as Jn,useEffect as _a,useMemo as Zn,useRef as Ea,useState as Jo}from"react";import{jsx as ue,jsxs as er}from"react/jsx-runtime";var Yn=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},Zo=Kn(null),Yo=()=>{let e=Jn(Zo);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Rt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=Ea(null),f=Ea(null),[d,p]=Jo([]),c=Ea(d);_a(()=>{c.current=d},[d]);let h=he(()=>{u.current?.click()},[]),C=he(y=>{let I=[...y];if(I.length===0)return;let S=B=>s?B.size<=s:!0,A=I.filter(S);p(B=>{let M=typeof r=="number"?Math.max(0,r-B.length):void 0,R=typeof M=="number"?A.slice(0,M):A;return[...B,...R.map(v=>({filename:v.name,id:Mt(),mediaType:v.type,type:"file",url:URL.createObjectURL(v)}))]})},[r,s]),x=he(y=>{p(I=>{let S=I.find(A=>A.id===y);return S?.url&&URL.revokeObjectURL(S.url),I.filter(A=>A.id!==y)})},[]),L=he(()=>{p(y=>{for(let I of y)I.url&&URL.revokeObjectURL(I.url);return[]})},[]);_a(()=>()=>{for(let y of c.current)y.url&&URL.revokeObjectURL(y.url)},[]);let g=he(y=>{y.currentTarget.files&&C(y.currentTarget.files),y.currentTarget.value=""},[C]);_a(()=>{if(!o)return;let y=S=>{S.dataTransfer?.types?.includes("Files")&&S.preventDefault()},I=S=>{S.dataTransfer?.types?.includes("Files")&&S.preventDefault(),S.dataTransfer?.files&&S.dataTransfer.files.length>0&&C(S.dataTransfer.files)};return document.addEventListener("dragover",y),document.addEventListener("drop",I),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",I)}},[C,o]);let m=he(async y=>{y.preventDefault();let I=y.currentTarget,A=new FormData(I).get("message")||"";I.reset();let B=await Promise.all(d.map(async({id:M,...R})=>{if(R.url?.startsWith("blob:")){let v=await Yn(R.url);return{...R,url:v??R.url}}return R}));try{let M=n({files:B,text:A},y);M instanceof Promise&&await M,L()}catch{}},[d,n,L]),w=Zn(()=>({add:C,clear:L,files:d,openFileDialog:h,remove:x}),[d,C,x,L,h]);return er(Zo.Provider,{value:w,children:[ue("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),ue("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:m,ref:f,...l,children:i})]})};var Bt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Yo(),[n,i]=Jo(!1),l=he(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=he(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let h=c.getAsFile();h&&p.push(h)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return ue("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-16 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-3 ww:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},vt=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=ue(Xe,{className:"ww:size-4"});t==="submitted"?i=ue(et,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=ue(at,{className:"ww:size-4"}));let l=he(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return ue(fe,{"aria-label":n?"Stop":"Submit",className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},Dt=({className:e,children:t,...a})=>{let o=Yo();return o.files.length>0?er(fe,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[ue("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:o.files.length}),ue(be,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):ue(fe,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??ue(tt,{className:"ww:size-4"})})};import{memo as el,useCallback as tl}from"react";import{jsx as qe}from"react/jsx-runtime";var tr=({className:e,...t})=>qe("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ar=({className:e,...t})=>qe("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}),or=({className:e,...t})=>qe("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),rr=({className:e,...t})=>qe("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),sr=({className:e,...t})=>qe("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),nr=({className:e,...t})=>qe(fe,{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 Ae,jsxs as Na}from"react/jsx-runtime";var lr=el(({message:e,onRemove:t})=>{let a=tl(()=>t(e.id),[t,e.id]);return Na(ar,{children:[Ae(or,{}),Ae(rr,{children:e.text||"(attachment)"}),Ae(sr,{children:Ae(nr,{"aria-label":"Remove from queue",onClick:a,children:Ae(be,{className:"ww:size-3"})})})]})});lr.displayName="ChatQueueItem";function _t({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Na(tr,{className:k("ww:border-t ww:border-border",a),children:[Na("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Ae("ul",{children:e.map(o=>Ae(lr,{message:o,onRemove:t},o.id))})]})}import{jsx as rt,jsxs as ol}from"react/jsx-runtime";var ir=({files:e,className:t,...a})=>e.length===0?null:rt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>rt(al,{file:o},r))});function al({file:e}){return e.mediaType?.startsWith("image/")&&e.url?rt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):ol("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:[rt(Ye,{className:"ww:size-3 ww:shrink-0"}),rt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as ur}from"react/jsx-runtime";var Oa=({className:e,size:t=5,...a})=>ur("div",{className:k("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>ur("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var K={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 ce={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 se={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 dr(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 fr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function cr(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 pr(e){return dr(e)?"ambiguous":fr(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":cr(e)?"wide":"neutral"}function rl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function mr(e){return rl(e),pr(e)}var sl=Object.defineProperty,nl=(e,t,a)=>t in e?sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ll=(e,t,a)=>nl(e,typeof t!="symbol"?t+"":t,a);function il(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function ul(e){if(!e||e<4352)return!1;switch(mr(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!il(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 dl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function fl(e){return e!==null&&e>=65024&&e<=65038}var cl=hr(/\p{P}|\p{S}/u),pl=hr(/\s/);function hr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var ne;(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})(ne||(ne={}));function Ce(e){if(e===K.eof||Bo(e)||pl(e))return ce.characterGroupWhitespace;let t=0;if(e>=4352){if(fl(e))return ne.nonEmojiGeneralUseVS;switch(ul(e)){case null:return ne.ivs;case!0:t|=ne.cjk;break}}return cl(e)&&(t|=ce.characterGroupPunctuation),t}function Et(e,t,a){if(!hl(e))return e;let o=t(),r=Ce(o);return!o||Fe(r)?e:dl(o,a)?ne.cjkPunctuation:ml(r)}function ml(e){return e&~ne.ivs}function Fe(e){return!!(e&ce.characterGroupWhitespace)}function He(e){return(e&ne.cjkPunctuation)===ce.characterGroupPunctuation}function st(e){return!!(e&ne.cjk)}function gr(e){return e===ne.ivs}function Lr(e){return!!(e&ne.cjkOrIvs)}function hl(e){return e===ne.nonEmojiGeneralUseVS}function qa(e){return!!(e&ne.spaceOrPunctuation)}function Nt(e){return!!(e&&e>=55296&&e<=56319)}function Ot(e){return!!(e&&e>=56320&&e<=57343)}function qt(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function gl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let i=s.codePointAt(0);return i&&i>=65536?i:n}var Ht=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,ll(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=gl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ut(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Ha={name:"attention",resolveAll:Ll,tokenize:xl};function Ll(e,t){let a=-1,o,r,s,n,i,l,u,f;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};xr(d,-l),xr(p,l),n={type:l>1?se.strongSequence:se.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?se.strongSequence:se.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?se.strongText:se.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?se.strong:se.emphasis,start:{...n.start},end:{...i.end}},e[o][1].end={...n.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=Ee(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=Ee(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=Ee(u,St(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=Ee(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=Ee(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,_e(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function xl(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=Ot(s)?qt(s,o(),r):s,i=Ce(n),l=new Ht(n,o(),r),u=Et(i,l.value.bind(l),n),f;return d;function d(c){return c===K.asterisk||K.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let h=e.exit("attentionSequence"),C=Nt(c)?Ut(c,o(),r):c,x=Ce(C);let L=He(u),g=L||Fe(u),m=He(x),w=m||Fe(x),y=Lr(u),I=!w||m&&(g||y)||a.includes(c),S=!g||L&&(w||st(x))||a.includes(n);return h._open=!!(f===K.asterisk?I:I&&(qa(u)||!S)),h._close=!!(f===K.asterisk?S:S&&(qa(x)||!I)),t(c)}}function xr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Cr(){return{text:{[K.asterisk]:Ha,[K.underscore]:Ha},insideSpan:{null:[Ha]}}}function wr(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Cr())}function Ir(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[K.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[K.tilde]}};function r(n,i){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let u=l;for(;u--;)if(n[u][0]==="exit"&&n[u][1].type==="strikethroughSequenceTemporary"&&n[u][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[u][1].end.offset-n[u][1].start.offset){n[l][1].type="strikethroughSequence",n[u][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[u][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[u][1].end),end:Object.assign({},n[l][1].start)},p=[["enter",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],c=i.parser.constructs.insideSpan.null;c&&_e(p,p.length,0,St(c,n.slice(u+1,l),i)),_e(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),_e(n,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=se.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=Ot(d)?qt(d,u(),f):d,c=Ce(p),h=new Ht(p,u(),f),C=Et(c,h.value.bind(h),p),x=this.events,L=0;return g;function g(w){return K.tilde,p===K.tilde&&x[x.length-1][1].type!==se.characterEscape?l(w):(n.enter("strikethroughSequenceTemporary"),m(w))}function m(w){let y=Ce(p);if(w===K.tilde)return L>1?l(w):(n.consume(w),L++,m);if(L<2&&!a)return l(w);let I=n.exit("strikethroughSequenceTemporary"),S=Nt(w)?Ut(w,u(),f):w,A=Ce(S),M=He(C)||Fe(C),v=He(A)||Fe(A),V=st(C)||gr(y);return I._open=!v||A===ce.attentionSideAfter&&(M||V),I._close=!M||y===ce.attentionSideAfter&&(v||st(A)),i(w)}}}function Sr(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ir(e))}var Cl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),wl=/^(https?:\/\/|mailto:|www\.)/i,Il=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Sl=e=>{let t=0;for(let a of e){if(Cl.has(a))return t;t+=a.length}return null},yl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),kl=e=>({type:"text",value:e}),bl=()=>e=>{vo(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Il(t)||!wl.test(t.url))return;let r=Sl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=yl(s,t),l=kl(n);return o.children.splice(a,1,i,l),a+1})};function Pl(){let e=[wr],t=[bl,Sr],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var yr=Pl();var q=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Tl(e){return Ka(e)}function Ka(e){return Array.isArray(e)?Al(e):e instanceof RegExp?e:typeof e=="object"?Fl(e):e}function Al(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=Ka(e[a]);return t}function Fl(e){let t={};for(let a in e)t[a]=Ka(e[a]);return t}function Br(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function vr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?vr(e.substring(0,e.length-1)):e.substr(~t+1)}var Ua=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Gt=class{static hasCaptures(e){return e===null?!1:(Ua.lastIndex=0,Ua.test(e))}static replaceCaptures(e,t,a){return e.replace(Ua,(o,r,s,n)=>{let i=a[parseInt(r||s,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function Dr(e,t){return e<t?-1:e>t?1:0}function _r(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let s=Dr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function kr(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 Er(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Nr=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}},it=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Bl(e),t)}static createFromParsedTheme(e,t){return Dl(e,t)}_cachedMatchRoot=new Nr(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,o=this._cachedMatchRoot.get(t).find(r=>Ml(e.parent,r.parentScopes));return o?new Or(o.fontStyle,o.foreground,o.background):null}},Ga=class Wt{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Wt(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Wt(a,t[o]);return a}push(t){return new Wt(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=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function Ml(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!Rl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Rl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Or=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Bl(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let i;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(n.scope)?i=n.scope:i=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let p=0,c=d.length;p<c;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof n.settings.foreground=="string"&&kr(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&kr(n.settings.background)&&(f=n.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),C=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new vl(C,x,r,l,u,f)}}return a}var vl=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},J=(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))(J||{});function Dl(e,t){e.sort((l,u)=>{let f=Dr(l.scope,u.scope);return f!==0||(f=_r(l.parentScopes,u.parentScopes),f!==0)?f:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let s=new _l(t),n=new Or(a,s.getId(o),s.getId(r)),i=new Nl(new za(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new it(s,n,i)}var _l=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)}},El=Object.freeze([]),za=class qr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||El,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new qr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},Nl=class Va{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Va._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Va(this._mainRule.clone(),za.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,u,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,i=this._rulesWithParentScopes.length;n<i;n++){let l=this._rulesWithParentScopes[n];if(_r(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new za(t,a,o,r,s))}},Re=class ie{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=ie.getLanguageId(t),o=ie.getTokenType(t),r=ie.getFontStyle(t),s=ie.getForeground(t),n=ie.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}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,o,r,s,n,i){let l=ie.getLanguageId(t),u=ie.getTokenType(t),f=ie.containsBalancedBrackets(t)?1:0,d=ie.getFontStyle(t),p=ie.getForeground(t),c=ie.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),i!==0&&(c=i),(l<<0|u<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function Vt(e,t){let a=[],o=Ol(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=n();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(br(r)){let l=[];do l.push(r),r=o.next();while(br(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function br(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ol(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function Hr(e){typeof e.dispose=="function"&&e.dispose()}var ut=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},ql=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Hl=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))}},Ul=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ut(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Hl;for(let a of e)Gl(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ut){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 Gl(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=a.lookup(t);e instanceof ut?zt({baseGrammar:s,selfGrammar:r},o):ja(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let i of n)o.add(new ut(i))}function ja(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];jt([o],t,a)}}function zt(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&jt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&jt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function jt(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Br({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&jt(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Ur(s);switch(n.kind){case 0:zt({...t,selfGrammar:t.baseGrammar},a);break;case 1:zt(t,a);break;case 2:ja(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};n.kind===4?ja(n.ruleName,l,a):zt(l,a)}else n.kind===4?a.add(new ql(n.scopeName,n.ruleName)):a.add(new ut(n.scopeName));break}}}var Wl=class{kind=0},zl=class{kind=1},Vl=class{constructor(e){this.ruleName=e}kind=2},jl=class{constructor(e){this.scopeName=e}kind=3},$l=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ur(e){if(e==="$base")return new Wl;if(e==="$self")return new zl;let t=e.indexOf("#");if(t===-1)return new jl(e);if(t===0)return new Vl(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new $l(a,o)}}var Xl=/\\(\d+)/,Pr=/\\(\d+)/g;var Ql=-1,Gr=-2;var ct=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Gt.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Gt.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${vr(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:Gt.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Gt.replaceCaptures(this._contentName,e,t)}},Kl=class extends ct{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Jl=class extends ct{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new dt(o,this.id),this.captures=r,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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Tr=class extends ct{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},$a=class extends ct{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,i,l,u){super(e,t,a,o),this._begin=new dt(r,this.id),this.beginCaptures=s,this._end=new dt(n||"\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,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ft;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}},$t=class extends ct{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,i,l){super(e,t,a,o),this._begin=new dt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new dt(n,Gr),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,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ft;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,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ft,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Wr=class Y{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new Kl(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Jl(t.$vscodeTextmateLocation,t.id,t.name,t.match,Y._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Br({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Tr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Y._compilePatterns(s,a,o))}return t.while?new $t(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Y._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Y._compileCaptures(t.whileCaptures||t.captures,a,o),Y._compilePatterns(t.patterns,a,o)):new $a(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Y._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Y._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Y._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10);i>s&&(s=i)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10),l=0;t[n].patterns&&(l=Y.getCompiledRuleId(t[n],a,o)),r[i]=Y.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let i=t[s],l=-1;if(i.include){let u=Ur(i.include);switch(u.kind){case 0:case 1:l=Y.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=Y.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let h=c.repository[p];h&&(l=Y.getCompiledRuleId(h,a,c.repository))}else l=Y.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=Y.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof Tr||u instanceof $a||u instanceof $t)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},dt=class zr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(s.push(t.substring(r,i)),s.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(n=!0),i++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.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=Xl.test(this.source):this.hasBackReferences=!1}clone(){return new zr(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 o=a.map(r=>t.substring(r.start,r.end));return Pr.lastIndex=0,this.source.replace(Pr,(r,s)=>Er(o[parseInt(s,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=[],o=[],r=[],s,n,i,l;for(s=0,n=this.source.length;s<n;s++)i=this.source.charAt(s),t[s]=i,a[s]=i,o[s]=i,r[s]=i,i==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.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}},ft=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 Ar(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 o=this._items.map(r=>r.resolveAnchors(t,a));return new Ar(e,o,this._items.map(r=>r.ruleId))}},Ar=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(`
3
3
  `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Wa=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Zl=class Xa{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Wa(t,8),this._embeddedLanguagesMatcher=new Yl(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Xa._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Wa(0,0);_getBasicScopeAttributes=new Nr(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Wa(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Xa.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/},Yl=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,o])=>Er(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])}},Hp={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Vr=!1,Fr=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function jr(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let c=ei(e,t,a,o,r,s);r=c.stack,o=c.linePos,a=c.isFirstLine,f=c.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Fr(r,!0);p()}return new Fr(r,!1);function p(){let c=ti(e,t,a,o,r,f);if(!c){s.produce(r,l),u=!0;return}let h=c.captureIndices,C=c.matchedRuleId,x=h&&h.length>0?h[0].end>o:!1;if(C===Ql){let L=r.getRule(e);s.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),nt(e,t,a,r,s,L.endCaptures,h),s.produce(r,h[0].end);let g=r;if(r=r.parent,f=g.getAnchorPos(),!x&&g.getEnterPos()===o){r=g,s.produce(r,l),u=!0;return}}else{let L=e.getRule(C);s.produce(r,h[0].start);let g=r,m=L.getName(t.content,h),w=r.contentNameScopesList.pushAttributed(m,e);if(r=r.push(C,o,f,h[0].end===l,null,w,w),L instanceof $a){let y=L;nt(e,t,a,r,s,y.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let I=y.getContentName(t.content,h),S=w.pushAttributed(I,e);if(r=r.withContentNameScopesList(S),y.endHasBackReferences&&(r=r.withEndRule(y.getEndWithResolvedBackReferences(t.content,h))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(L instanceof $t){let y=L;nt(e,t,a,r,s,y.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let I=y.getContentName(t.content,h),S=w.pushAttributed(I,e);if(r=r.withContentNameScopesList(S),y.whileHasBackReferences&&(r=r.withEndRule(y.getWhileWithResolvedBackReferences(t.content,h))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(nt(e,t,a,r,s,L.captures,h),s.produce(r,h[0].end),r=r.pop(),!x){r=r.safePop(),s.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function ei(e,t,a,o,r,s){let n=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof $t&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=ri(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Gr){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),nt(e,t,a,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),n=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:n,isFirstLine:a}}function ti(e,t,a,o,r,s){let n=ai(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=oi(i,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let u=n.captureIndices[0].start,f=l.captureIndices[0].start;return f<u||l.priorityMatch&&f===u?l:n}function ai(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=$r(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function oi(e,t,a,o,r,s,n){let i=Number.MAX_VALUE,l=null,u,f=0,d=s.contentNameScopesList.getScopeNames();for(let p=0,c=e.length;p<c;p++){let h=e[p];if(!h.matcher(d))continue;let C=t.getRule(h.ruleId),{ruleScanner:x,findOptions:L}=$r(C,t,null,o,r===n),g=x.findNextMatchSync(a,r,L);if(!g)continue;let m=g.captureIndices[0].start;if(!(m>=i)&&(i=m,l=g.captureIndices,u=g.ruleId,f=h.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function $r(e,t,a,o,r){if(Vr){let n=e.compile(t,a),i=Xr(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function ri(e,t,a,o,r){if(Vr){let n=e.compileWhile(t,a),i=Xr(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function Xr(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function nt(e,t,a,o,r,s,n){if(s.length===0)return;let i=t.content,l=Math.min(s.length,n.length),u=[],f=n[0].end;for(let d=0;d<l;d++){let p=s[d];if(p===null)continue;let c=n[d];if(c.length===0)continue;if(c.start>f)break;for(;u.length>0&&u[u.length-1].endPos<=c.start;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?r.produceFromScopes(u[u.length-1].scopes,c.start):r.produce(o,c.start),p.retokenizeCapturedWithRuleId){let C=p.getName(i,n),x=o.contentNameScopesList.pushAttributed(C,e),L=p.getContentName(i,n),g=x.pushAttributed(L,e),m=o.push(p.retokenizeCapturedWithRuleId,c.start,-1,!1,null,x,g),w=e.createOnigString(i.substring(0,c.end));jr(e,w,a&&c.start===0,c.start,m,r,!1,0),Hr(w);continue}let h=p.getName(i,n);if(h!==null){let x=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new si(x,c.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var si=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function ni(e,t,a,o,r,s,n,i){return new ii(e,t,a,o,r,s,n,i)}function Mr(e,t,a,o,r){let s=Vt(t,Xt),n=Wr.getCompiledRuleId(a,o,r.repository);for(let i of s)e.push({debugSelector:t,matcher:i.matcher,ruleId:n,grammar:r,priority:i.priority})}function Xt(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(li(t[r],o))return a=r+1,!0;return!1})}function li(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 ii=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new Zl(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Rr(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=Vt(l,Xt);for(let f of u)this._tokenTypeMatchers.push({matcher:f.matcher,type:r[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:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let n in r)Mr(t,n,r[n],this,o);let s=this._grammarRepository.injections(a);s&&s.forEach(n=>{let i=this.getExternalGrammar(n);if(i){let l=i.injectionSelector;l&&Mr(t,l,i,this,i)}})}return t.sort((r,s)=>r.priority-s.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]=Rr(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=Wr.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===Qa.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Re.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),p=this.getRule(this._rootId).getName(null,null),c;p?c=lt.createRootAndLookUpScopeName(p,d,this):c=lt.createRoot("unknown",d),t=new Qa(null,this._rootId,-1,-1,!1,null,c,c)}else r=!1,t.reset();e=e+`
4
4
  `;let s=this.createOnigString(e),n=s.content.length,i=new di(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=jr(this,s,r,0,t,i,!0,o);return Hr(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Rr(e,t){return e=Tl(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var lt=class pe{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let s of a)r=Ga.push(r,s.scopeNames),o=new pe(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new pe(null,new Ga(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new Ga(null,t),n=o.themeProvider.themeMatch(s),i=pe.mergeAttributes(a,r,n);return new pe(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return pe.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,s=0,n=0;return o!==null&&(r=o.fontStyle,s=o.foregroundId,n=o.backgroundId),Re.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return pe._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=pe._pushAttributed(r,s,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),s=t.scopePath.push(a),n=o.themeProvider.themeMatch(s),i=pe.mergeAttributes(t.tokenAttributes,r,n);return new pe(t,s,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},Qa=class Me{constructor(t,a,o,r,s,n,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=s,this.endRule=n,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new Me(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Me._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?lt.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){Me._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Me(this,t,a,o,r,s,n,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new Me(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=lt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Me(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,lt.fromExtension(o,a.contentNameScopesList))}},ui=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Vt(a,Xt).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Vt(a,Xt).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},di=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let s=e?.getScopeNames()??[];for(let n of this._tokenTypeOverrides)n.matcher(s)&&(o=Re.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Re.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},fi=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,ni(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Qr=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new fi(it.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(it.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new ui(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new Ul(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(n=>this._loadSingleGrammar(n.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},Qt=Qa.NULL;var ci=/["&'<>`]/g,pi=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,mi=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,hi=/[|\\{}()[\]^$+*?.]/g,Kr=new WeakMap;function Jr(e,t){if(e=e.replace(t.subset?gi(t.subset):ci,o),t.subset||t.escapeOnly)return e;return e.replace(pi,a).replace(mi,o);function a(r,s,n){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,n.charCodeAt(s+2),t)}function o(r,s,n){return t.format(r.charCodeAt(0),n.charCodeAt(s+1),t)}}function gi(e){let t=Kr.get(e);return t||(t=Li(e),Kr.set(e,t)),t}function Li(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(hi,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var xi=/[\dA-Fa-f]/;function Zr(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!xi.test(String.fromCharCode(t))?o:o+";"}var Ci=/\d/;function Yr(e,t,a){let o="&#"+String(e);return a&&t&&!Ci.test(String.fromCharCode(t))?o:o+";"}var es=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Kt={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var ts=["cent","copy","divide","gt","lt","not","para","times"];var as={}.hasOwnProperty,Ja={},Jt;for(Jt in Kt)as.call(Kt,Jt)&&(Ja[Kt[Jt]]=Jt);var wi=/[^\dA-Za-z]/;function os(e,t,a,o){let r=String.fromCharCode(e);if(as.call(Ja,r)){let s=Ja[r],n="&"+s;return a&&es.includes(s)&&!ts.includes(s)&&(!o||t&&t!==61&&wi.test(String.fromCharCode(t)))?n:n+";"}return""}function rs(e,t,a){let o=Zr(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=os(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=Yr(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function ge(e,t){return Jr(e,Object.assign({format:rs},t))}var Ii=/^>|^->|<!--|-->|--!>|<!-$/g,Si=[">"],yi=["<",">"];function ss(e,t,a,o){return o.settings.bogusComments?"<?"+ge(e.value,Object.assign({},o.settings.characterReferences,{subset:Si}))+">":"<!--"+e.value.replace(Ii,r)+"-->";function r(s){return ge(s,Object.assign({},o.settings.characterReferences,{subset:yi}))}}function ns(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var H=ls(1),Za=ls(-1),ki=[];function ls(e){return t;function t(a,o,r){let s=a?a.children:ki,n=(o||0)+e,i=s[n];if(!r)for(;i&&Ne(i);)n+=e,i=s[n];return i}}var bi={}.hasOwnProperty;function Zt(e){return t;function t(a,o,r){return bi.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var pt=Zt({body:Ti,caption:Ya,colgroup:Ya,dd:Ri,dt:Mi,head:Ya,html:Pi,li:Fi,optgroup:Bi,option:vi,p:Ai,rp:is,rt:is,tbody:_i,td:us,tfoot:Ei,th:us,thead:Di,tr:Ni});function Ya(e,t,a){let o=H(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&Ne(o.value.charAt(0)))}function Pi(e,t,a){let o=H(a,t);return!o||o.type!=="comment"}function Ti(e,t,a){let o=H(a,t);return!o||o.type!=="comment"}function Ai(e,t,a){let o=H(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function Fi(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Mi(e,t,a){let o=H(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Ri(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function is(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Bi(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function vi(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function Di(e,t,a){let o=H(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function _i(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Ei(e,t,a){return!H(a,t)}function Ni(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function us(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var ds=Zt({body:Hi,colgroup:Ui,head:qi,html:Oi,tbody:Gi});function Oi(e){let t=H(e,-1);return!t||t.type!=="comment"}function qi(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function Hi(e){let t=H(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Ne(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Ui(e,t,a){let o=Za(a,t),r=H(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&pt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Gi(e,t,a){let o=Za(a,t),r=H(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&pt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Yt={name:[[`
5
5
  \f\r &/=>`.split(""),`
@@ -1,10 +1,10 @@
1
- function U(t,e){return e?(...o)=>console.log(`[waniwani:${t}]`,...o):()=>{}}var x=class extends Error{constructor(o,a){super(o);this.status=a;this.name="WaniWaniError"}};function A(t){let e=t.headers,o=e.get("x-vercel-ip-city")??e.get("cf-ipcity")??void 0,a=o?$(o):void 0,n=e.get("x-vercel-ip-country")??e.get("cf-ipcountry")??void 0,d=e.get("x-vercel-ip-country-region")??void 0,m=e.get("x-vercel-ip-latitude")??e.get("cf-iplatitude")??void 0,s=e.get("x-vercel-ip-longitude")??e.get("cf-iplongitude")??void 0,r=e.get("x-vercel-ip-timezone")??e.get("cf-iptimezone")??void 0,i=e.get("x-real-ip")??e.get("x-forwarded-for")?.split(",")[0]?.trim()??e.get("cf-connecting-ip")??void 0;return{city:a,country:n,countryRegion:d,latitude:m,longitude:s,timezone:r,ip:i}}function $(t){try{return decodeURIComponent(t)}catch{return t}}function T(t){if(!t)return!1;let e=Array.isArray(t.content)&&t.content.length>0,o=typeof t.structuredContent=="object"&&t.structuredContent!==null&&Object.keys(t.structuredContent).length>0;return e||o}function O(t){if(!T(t))return"";let e=["## Widget Model Context","This hidden context was supplied by an MCP App via `ui/update-model-context`.","Use it for the next assistant turn only. If it includes flow continuation or tool-call instructions, follow them exactly."];if(t.content?.length){let o=t.content.map(a=>a.type==="text"&&typeof a.text=="string"?a.text.trim():JSON.stringify(a,null,2)).filter(Boolean).join(`
1
+ function S(t,e){return e?(...o)=>console.log(`[waniwani:${t}]`,...o):()=>{}}var x=class extends Error{constructor(o,a){super(o);this.status=a;this.name="WaniWaniError"}};function O(t){let e=t.headers,o=e.get("x-vercel-ip-city")??e.get("cf-ipcity")??void 0,a=o?D(o):void 0,n=e.get("x-vercel-ip-country")??e.get("cf-ipcountry")??void 0,d=e.get("x-vercel-ip-country-region")??void 0,m=e.get("x-vercel-ip-latitude")??e.get("cf-iplatitude")??void 0,s=e.get("x-vercel-ip-longitude")??e.get("cf-iplongitude")??void 0,r=e.get("x-vercel-ip-timezone")??e.get("cf-iptimezone")??void 0,i=e.get("x-real-ip")??e.get("x-forwarded-for")?.split(",")[0]?.trim()??e.get("cf-connecting-ip")??void 0;return{city:a,country:n,countryRegion:d,latitude:m,longitude:s,timezone:r,ip:i}}function D(t){try{return decodeURIComponent(t)}catch{return t}}function T(t){if(!t)return!1;let e=Array.isArray(t.content)&&t.content.length>0,o=typeof t.structuredContent=="object"&&t.structuredContent!==null&&Object.keys(t.structuredContent).length>0;return e||o}function N(t){if(!T(t))return"";let e=["## Widget Model Context","This hidden context was supplied by an MCP App via `ui/update-model-context`.","Use it for the next assistant turn only. If it includes flow continuation or tool-call instructions, follow them exactly."];if(t.content?.length){let o=t.content.map(a=>a.type==="text"&&typeof a.text=="string"?a.text.trim():JSON.stringify(a,null,2)).filter(Boolean).join(`
2
2
 
3
3
  `);o&&e.push(`Content blocks:
4
4
  ${o}`)}return t.structuredContent&&Object.keys(t.structuredContent).length>0&&e.push(`Structured content JSON:
5
5
  ${JSON.stringify(t.structuredContent,null,2)}`),e.join(`
6
6
 
7
- `)}function N(t,e){if(!T(e))return t;let o=O(e);return o?[t,o].filter(Boolean).join(`
7
+ `)}function I(t,e){if(!T(e))return t;let o=N(e);return o?[t,o].filter(Boolean).join(`
8
8
 
9
- `):t}function I(t){let{apiKey:e,baseUrl:o,systemPrompt:a,maxSteps:n,beforeRequest:d,mcpServerUrl:m,resolveConfig:s,debug:r}=t,i=U("chat",r);return async function(g){i("\u2192 POST",g.url);try{let c=await g.json(),l=c.messages??[],u=c.sessionId,h=c.modelContext,C=a,f=c.visitorContext??null,S=A(g),b={geo:S,client:f};if(i("body parsed \u2014 messages:",l.length,"sessionId:",u??"(none)","geo:",JSON.stringify(S)),d){i("running beforeRequest hook");try{let p=await d({messages:l,sessionId:u,modelContext:h,request:g,visitor:b});p&&(p.messages&&(l=p.messages),p.systemPrompt!==void 0&&(C=p.systemPrompt),p.sessionId!==void 0&&(u=p.sessionId),p.modelContext!==void 0&&(h=p.modelContext)),i("beforeRequest hook done \u2014 messages:",l.length,"sessionId:",u??"(none)")}catch(p){console.error("[waniwani:chat] beforeRequest hook error:",p);let E=p instanceof x?p.status:400,G=p instanceof Error?p.message:"Request rejected";return i("\u2190 returning",E,"from hook error"),Response.json({error:G},{status:E})}}let w=m??(await s()).mcpServerUrl;i("mcpServerUrl:",w),C=N(C,h);let H=`${o}/api/mcp/chat`;i("forwarding to",H);let y=await fetch(H,{method:"POST",headers:{"Content-Type":"application/json",...e?{Authorization:`Bearer ${e}`}:{}},body:JSON.stringify({messages:l,mcpServerUrl:w,sessionId:u,systemPrompt:C,maxSteps:n,visitor:b}),signal:g.signal});if(i("upstream response status:",y.status),!y.ok){let p=await y.text().catch(()=>"");return i("\u2190 returning",y.status,"upstream error:",p),new Response(p,{status:y.status,headers:{"Content-Type":y.headers.get("Content-Type")??"application/json"}})}let j=new Headers({"Content-Type":y.headers.get("Content-Type")??"text/event-stream"}),k=y.headers.get("x-session-id");return k&&j.set("x-session-id",k),i("\u2190 streaming response",y.status,"body null?",y.body===null),new Response(y.body,{status:y.status,headers:j})}catch(c){console.error("[waniwani:chat] handler error:",c);let l=c instanceof Error?c.message:"Unknown error occurred",u=c instanceof x?c.status:500;return i("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}function W(t){let{mcpServerUrl:e,resolveConfig:o,debug:a}=t,n=U("resource",a);return async function(m){n("\u2192 GET",m.toString());try{let s=m.searchParams.get("uri");if(n("uri:",s??"(missing)"),!s)return n("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let r=e??(await o()).mcpServerUrl;n("mcpServerUrl:",r);let i,R;try{[{createMCPClient:i},{StreamableHTTPClientTransport:R}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(c){return console.error("[waniwani:resource] MCP deps import failed:",c),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}n("creating MCP client for",r);let g=await i({transport:new R(new URL(r))});try{n("reading resource:",s);let c=await g.readResource({uri:s});n("resource contents count:",c.contents.length);let l=c.contents[0];if(!l)return n("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let u;return"text"in l&&typeof l.text=="string"?u=l.text:"blob"in l&&typeof l.blob=="string"&&(u=atob(l.blob)),u?(n("\u2190 200 HTML length:",u.length),new Response(u,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(n("\u2190 404 resource has no content, keys:",Object.keys(l)),Response.json({error:"Resource has no content"},{status:404}))}finally{await g.close(),n("MCP client closed")}}catch(s){console.error("[waniwani:resource] handler error:",s);let r=s instanceof Error?s.message:"Unknown error occurred",i=s instanceof x?s.status:500;return n("\u2190 returning",i,"from caught error"),Response.json({error:r},{status:i})}}}function J(t){let{mcpServerUrl:e,resolveConfig:o,debug:a}=t,n=U("tool",a);return async function(m){n("\u2192 POST",m.url);try{let s=await m.json(),{name:r,arguments:i}=s;if(!r||typeof r!="string")return n("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});n("tool:",r,"args:",JSON.stringify(i));let R=e??(await o()).mcpServerUrl;n("mcpServerUrl:",R);let g,c;try{[{Client:g},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(h){return console.error("[waniwani:tool] MCP deps import failed:",h),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}n("creating MCP client for",R);let l=new c(new URL(R)),u=new g({name:"waniwani-tool-caller",version:"1.0.0"});await u.connect(l);try{n("calling tool:",r);let h=await u.callTool({name:r,arguments:i??{}});return n("tool result received"),Response.json({content:h.content,structuredContent:h.structuredContent,_meta:h._meta,isError:h.isError})}finally{await u.close(),n("MCP client closed")}}catch(s){console.error("[waniwani:tool] handler error:",s);let r=s instanceof Error?s.message:"Unknown error occurred",i=s instanceof x?s.status:500;return n("\u2190 returning",i,"from caught error"),Response.json({error:r},{status:i})}}}var D=300*1e3;function L(t,e){let o=null,a=null;return async function(){if(o&&Date.now()<o.expiresAt)return o.config;if(a)return a;a=(async()=>{if(!e)throw new x("WANIWANI_API_KEY is required for createChatHandler",401);let d=await fetch(`${t}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});if(!d.ok){let s=await d.text().catch(()=>"");throw new x(`Failed to resolve MCP environment config: ${d.status} ${s}`,d.status)}let m=await d.json();return o={config:m,expiresAt:Date.now()+D},m})();try{return await a}finally{a=null}}}function v(t,e){return new Response(JSON.stringify(t),{headers:{"Content-Type":"application/json"},status:e})}function B(t={}){let{apiKey:e=process.env.WANIWANI_API_KEY,baseUrl:o="https://app.waniwani.ai",systemPrompt:a,maxSteps:n=5,beforeRequest:d,mcpServerUrl:m,debug:s=!1}=t,r=U("router",s),i=L(o,e),R=I({apiKey:e,baseUrl:o,systemPrompt:a,maxSteps:n,beforeRequest:d,mcpServerUrl:m,resolveConfig:i,debug:s}),g=W({mcpServerUrl:m,resolveConfig:i,debug:s}),c=J({mcpServerUrl:m,resolveConfig:i,debug:s});async function l(){return v({debug:s},200)}async function u(C){r("\u2192 GET",C.url);try{let f=new URL(C.url),b=f.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",f.pathname,"subRoute:",b),b==="resource"){r("dispatching to resource handler");let w=await g(f);return r("\u2190 resource handler returned",w.status),w}if(b==="config"){r("dispatching to config handler");let w=await l();return r("\u2190 config handler returned",w.status),w}return r("\u2190 404 no matching sub-route for",b),v({error:"Not found"},404)}catch(f){console.error("[waniwani:router] GET handler error:",f);let S=f instanceof Error?f.message:"Unknown error occurred";return r("\u2190 500 from caught error"),v({error:S},500)}}async function h(C){r("\u2192 POST",C.url);try{let f=new URL(C.url),b=f.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",f.pathname,"subRoute:",b),b==="tool"){r("dispatching to tool handler");let w=await c(C);return r("\u2190 tool handler returned",w.status),w}return r("dispatching to chat handler"),R(C)}catch(f){console.error("[waniwani:router] POST handler error:",f);let S=f instanceof Error?f.message:"Unknown error occurred";return r("\u2190 500 from caught error"),v({error:S},500)}}return{handleChat:R,handleResource:g,handleTool:c,routeGet:u,routePost:h}}function Ue(t,e){let{apiKey:o,baseUrl:a}=t._config,n=e?.debug??process.env.WANIWANI_DEBUG==="1",d=B({...e?.chat,apiKey:o,baseUrl:a,debug:n});return{POST:d.routePost,GET:d.routeGet}}export{Ue as toNextJsHandler};
9
+ `):t}function W(t){let{apiKey:e,baseUrl:o,systemPrompt:a,maxSteps:n,beforeRequest:d,mcpServerUrl:m,resolveConfig:s,debug:r}=t,i=S("chat",r);return async function(g){i("\u2192 POST",g.url);try{let c=await g.json(),l=c.messages??[],u=c.sessionId,h=c.modelContext,C=a,f=c.visitorContext??null,U=O(g),b={geo:U,client:f};if(i("body parsed \u2014 messages:",l.length,"sessionId:",u??"(none)","geo:",JSON.stringify(U)),d){i("running beforeRequest hook");try{let p=await d({messages:l,sessionId:u,modelContext:h,request:g,visitor:b});p&&(p.messages&&(l=p.messages),p.systemPrompt!==void 0&&(C=p.systemPrompt),p.sessionId!==void 0&&(u=p.sessionId),p.modelContext!==void 0&&(h=p.modelContext)),i("beforeRequest hook done \u2014 messages:",l.length,"sessionId:",u??"(none)")}catch(p){console.error("[waniwani:chat] beforeRequest hook error:",p);let A=p instanceof x?p.status:400,$=p instanceof Error?p.message:"Request rejected";return i("\u2190 returning",A,"from hook error"),Response.json({error:$},{status:A})}}let w=m??(await s()).mcpServerUrl;i("mcpServerUrl:",w),C=I(C,h);let H=`${o}/api/mcp/chat`;i("forwarding to",H);let j=g.headers.get("user-agent"),y=await fetch(H,{method:"POST",headers:{"Content-Type":"application/json",...e?{Authorization:`Bearer ${e}`}:{},...j?{"X-Client-User-Agent":j}:{}},body:JSON.stringify({messages:l,mcpServerUrl:w,sessionId:u,systemPrompt:C,maxSteps:n,visitor:b}),signal:g.signal});if(i("upstream response status:",y.status),!y.ok){let p=await y.text().catch(()=>"");return i("\u2190 returning",y.status,"upstream error:",p),new Response(p,{status:y.status,headers:{"Content-Type":y.headers.get("Content-Type")??"application/json"}})}let k=new Headers({"Content-Type":y.headers.get("Content-Type")??"text/event-stream"}),E=y.headers.get("x-session-id");return E&&k.set("x-session-id",E),i("\u2190 streaming response",y.status,"body null?",y.body===null),new Response(y.body,{status:y.status,headers:k})}catch(c){console.error("[waniwani:chat] handler error:",c);let l=c instanceof Error?c.message:"Unknown error occurred",u=c instanceof x?c.status:500;return i("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}function J(t){let{mcpServerUrl:e,resolveConfig:o,debug:a}=t,n=S("resource",a);return async function(m){n("\u2192 GET",m.toString());try{let s=m.searchParams.get("uri");if(n("uri:",s??"(missing)"),!s)return n("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let r=e??(await o()).mcpServerUrl;n("mcpServerUrl:",r);let i,R;try{[{createMCPClient:i},{StreamableHTTPClientTransport:R}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(c){return console.error("[waniwani:resource] MCP deps import failed:",c),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}n("creating MCP client for",r);let g=await i({transport:new R(new URL(r))});try{n("reading resource:",s);let c=await g.readResource({uri:s});n("resource contents count:",c.contents.length);let l=c.contents[0];if(!l)return n("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let u;return"text"in l&&typeof l.text=="string"?u=l.text:"blob"in l&&typeof l.blob=="string"&&(u=atob(l.blob)),u?(n("\u2190 200 HTML length:",u.length),new Response(u,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(n("\u2190 404 resource has no content, keys:",Object.keys(l)),Response.json({error:"Resource has no content"},{status:404}))}finally{await g.close(),n("MCP client closed")}}catch(s){console.error("[waniwani:resource] handler error:",s);let r=s instanceof Error?s.message:"Unknown error occurred",i=s instanceof x?s.status:500;return n("\u2190 returning",i,"from caught error"),Response.json({error:r},{status:i})}}}function L(t){let{mcpServerUrl:e,resolveConfig:o,debug:a}=t,n=S("tool",a);return async function(m){n("\u2192 POST",m.url);try{let s=await m.json(),{name:r,arguments:i}=s;if(!r||typeof r!="string")return n("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});n("tool:",r,"args:",JSON.stringify(i));let R=e??(await o()).mcpServerUrl;n("mcpServerUrl:",R);let g,c;try{[{Client:g},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(h){return console.error("[waniwani:tool] MCP deps import failed:",h),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}n("creating MCP client for",R);let l=new c(new URL(R)),u=new g({name:"waniwani-tool-caller",version:"1.0.0"});await u.connect(l);try{n("calling tool:",r);let h=await u.callTool({name:r,arguments:i??{}});return n("tool result received"),Response.json({content:h.content,structuredContent:h.structuredContent,_meta:h._meta,isError:h.isError})}finally{await u.close(),n("MCP client closed")}}catch(s){console.error("[waniwani:tool] handler error:",s);let r=s instanceof Error?s.message:"Unknown error occurred",i=s instanceof x?s.status:500;return n("\u2190 returning",i,"from caught error"),Response.json({error:r},{status:i})}}}var _=300*1e3;function B(t,e){let o=null,a=null;return async function(){if(o&&Date.now()<o.expiresAt)return o.config;if(a)return a;a=(async()=>{if(!e)throw new x("WANIWANI_API_KEY is required for createChatHandler",401);let d=await fetch(`${t}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});if(!d.ok){let s=await d.text().catch(()=>"");throw new x(`Failed to resolve MCP environment config: ${d.status} ${s}`,d.status)}let m=await d.json();return o={config:m,expiresAt:Date.now()+_},m})();try{return await a}finally{a=null}}}function v(t,e){return new Response(JSON.stringify(t),{headers:{"Content-Type":"application/json"},status:e})}function G(t={}){let{apiKey:e=process.env.WANIWANI_API_KEY,baseUrl:o="https://app.waniwani.ai",systemPrompt:a,maxSteps:n=5,beforeRequest:d,mcpServerUrl:m,debug:s=!1}=t,r=S("router",s),i=B(o,e),R=W({apiKey:e,baseUrl:o,systemPrompt:a,maxSteps:n,beforeRequest:d,mcpServerUrl:m,resolveConfig:i,debug:s}),g=J({mcpServerUrl:m,resolveConfig:i,debug:s}),c=L({mcpServerUrl:m,resolveConfig:i,debug:s});async function l(){return v({debug:s},200)}async function u(C){r("\u2192 GET",C.url);try{let f=new URL(C.url),b=f.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",f.pathname,"subRoute:",b),b==="resource"){r("dispatching to resource handler");let w=await g(f);return r("\u2190 resource handler returned",w.status),w}if(b==="config"){r("dispatching to config handler");let w=await l();return r("\u2190 config handler returned",w.status),w}return r("\u2190 404 no matching sub-route for",b),v({error:"Not found"},404)}catch(f){console.error("[waniwani:router] GET handler error:",f);let U=f instanceof Error?f.message:"Unknown error occurred";return r("\u2190 500 from caught error"),v({error:U},500)}}async function h(C){r("\u2192 POST",C.url);try{let f=new URL(C.url),b=f.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",f.pathname,"subRoute:",b),b==="tool"){r("dispatching to tool handler");let w=await c(C);return r("\u2190 tool handler returned",w.status),w}return r("dispatching to chat handler"),R(C)}catch(f){console.error("[waniwani:router] POST handler error:",f);let U=f instanceof Error?f.message:"Unknown error occurred";return r("\u2190 500 from caught error"),v({error:U},500)}}return{handleChat:R,handleResource:g,handleTool:c,routeGet:u,routePost:h}}function ve(t,e){let{apiKey:o,baseUrl:a}=t._config,n=e?.debug??process.env.WANIWANI_DEBUG==="1",d=G({...e?.chat,apiKey:o,baseUrl:a,debug:n});return{POST:d.routePost,GET:d.routeGet}}export{ve as toNextJsHandler};
10
10
  //# sourceMappingURL=index.js.map