@waniwani/sdk 0.7.3 → 0.7.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/index.js +1 -1
- package/dist/chat/next-js/index.d.ts +7 -0
- package/dist/chat/next-js/index.js +5 -5
- package/dist/chat/next-js/index.js.map +1 -1
- package/dist/chat/server/index.d.ts +7 -0
- package/dist/{chunk-HVAT4SNH.js → chunk-5JBHQYU5.js} +2 -2
- package/dist/chunk-5JBHQYU5.js.map +1 -0
- package/dist/{code-block-37QAKDTI-M2QCKVTI.js → code-block-37QAKDTI-IIYKFI5S.js} +2 -2
- package/dist/mcp/index.js +4 -4
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/react.js +1 -1
- package/dist/mermaid-4DMBBIKO-PAA57QRQ.js +3 -0
- package/dist/openai-client-VPL3Z3ZD.js +5 -0
- package/dist/openai-client-VPL3Z3ZD.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-HVAT4SNH.js.map +0 -1
- package/dist/mermaid-4DMBBIKO-NR6M3PLG.js +0 -3
- package/dist/openai-client-Q6DRRFMS.js +0 -5
- package/dist/openai-client-Q6DRRFMS.js.map +0 -1
- /package/dist/{code-block-37QAKDTI-M2QCKVTI.js.map → code-block-37QAKDTI-IIYKFI5S.js.map} +0 -0
- /package/dist/{mermaid-4DMBBIKO-NR6M3PLG.js.map → mermaid-4DMBBIKO-PAA57QRQ.js.map} +0 -0
package/dist/chat/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as No,b as Oo,c as qo,d as Ge,e as We,f as Wt,g as Ho,h as Uo,i as Go,j as Wo,k as zt,l as zo,m as Ea,n as Vo,o as jo,p as ze,u as Na}from"../chunk-HVAT4SNH.js";import"../chunk-V3ZDECK5.js";import{forwardRef as yf,useCallback as Ba,useEffect as In,useImperativeHandle as kf,useRef as Sn,useState as Ro}from"react";import{forwardRef as Fn,createElement as vn}from"react";var Vt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var $o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Xo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Oa=e=>{let t=Xo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as An,createElement as Jo}from"react";var Qo={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 Ko=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Zo=An(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Jo("svg",{ref:l,...Qo,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Vt("lucide",r),...!s&&!Ko(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Jo(u,f)),...Array.isArray(s)?s:[s]]));var q=(e,t)=>{let a=Fn(({className:o,...r},s)=>vn(Zo,{ref:s,iconNode:t,className:Vt(`lucide-${$o(Oa(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Oa(e),a};var Mn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],mt=q("arrow-down",Mn);var Rn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],ht=q("arrow-up",Rn);var Bn=[["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"}]],Ce=q("braces",Bn);var Dn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],gt=q("check",Dn);var _n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],wt=q("chevron-down",_n);var En=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Lt=q("chevron-right",En);var Nn=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],xt=q("clipboard-copy",Nn);var On=[["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"}]],Ct=q("file",On);var qn=[["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"}]],It=q("loader",qn);var Hn=[["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"}]],St=q("paperclip",Hn);var Un=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],yt=q("square",Un);var Gn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Fe=q("x",Gn);import{useCallback as sl}from"react";import{useCallback as Ie,useMemo as Wn,useRef as zn,useState as qa}from"react";var Vn={damping:.7,stiffness:.05,mass:1.25},jn=70,$n=1e3/60,Xn=350,jt=!1;globalThis.document?.addEventListener("mousedown",()=>{jt=!0});globalThis.document?.addEventListener("mouseup",()=>{jt=!1});globalThis.document?.addEventListener("click",()=>{jt=!1});var er=(e={})=>{let[t,a]=qa(!1),[o,r]=qa(e.initial!==!1),[s,n]=qa(!1),i=zn(null);i.current=e;let l=Ie(()=>{if(!jt)return!1;let w=window.getSelection();if(!w||!w.rangeCount)return!1;let m=w.getRangeAt(0);return m.commonAncestorContainer.contains(L.current)||L.current?.contains(m.commonAncestorContainer)},[]),u=Ie(w=>{d.isAtBottom=w,r(w)},[]),f=Ie(w=>{d.escapedFromLock=w,a(w)},[]),d=Wn(()=>{let w;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(m){L.current&&(L.current.scrollTop=m,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!g.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!g.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(w?.targetScrollTop===m)return w.calculatedScrollTop;let I=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:L.current,contentElement:g.current}),m),0);return w={targetScrollTop:m,calculatedScrollTop:I},requestAnimationFrame(()=>{w=void 0}),I},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=jn}}},[]),p=Ie((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let m=Date.now()+(Number(w.wait)||0),I=Ua(i.current,w.animation),{ignoreEscapes:x=!1}=w,S,b=d.calculatedTargetScrollTop;w.duration instanceof Promise?w.duration.finally(()=>{S=Date.now()}):S=m+(w.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:y}=d,P=performance.now(),B=(P-(d.lastTick??P))/$n;if(d.animation||(d.animation={behavior:I,promise:R,ignoreEscapes:x}),d.animation.behavior===I&&(d.lastTick=P),l()||m>Date.now())return A();if(y<Math.min(b,d.calculatedTargetScrollTop)){if(d.animation?.behavior===I){if(I==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(I.damping*d.velocity+I.stiffness*d.scrollDifference)/I.mass,d.accumulated+=d.velocity*B,d.scrollTop+=d.accumulated,d.scrollTop!==y&&(d.accumulated=0)}return A()}return S>Date.now()?(b=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Ua(i.current,i.current.resize),ignoreEscapes:x,duration:Math.max(0,S-Date.now())||void 0}):d.isAtBottom)});return R.then(y=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),y))};return w.wait!==!0&&(d.animation=void 0),d.animation?.behavior===I?d.animation.promise:A()},[u,l,d]),c=Ie(()=>{f(!0),u(!1)},[f,u]),h=Ie(({target:w})=>{if(w!==L.current)return;let{scrollTop:m,ignoreScrollToTop:I}=d,{lastScrollTop:x=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,I&&I>m&&(x=I),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===I)return;if(l()){f(!0),u(!1);return}let S=m>x,b=m<x;if(d.animation?.ignoreEscapes){d.scrollTop=x;return}b&&(f(!0),u(!1)),S&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=Ie(({target:w,deltaY:m})=>{let I=w;for(;!["scroll","auto"].includes(getComputedStyle(I).overflow);){if(!I.parentElement)return;I=I.parentElement}I===L.current&&m<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),L=Yo(w=>{L.current?.removeEventListener("scroll",h),L.current?.removeEventListener("wheel",C),w?.addEventListener("scroll",h,{passive:!0}),w?.addEventListener("wheel",C,{passive:!0})},[]),g=Yo(w=>{if(d.resizeObserver?.disconnect(),!w)return;let m;d.resizeObserver=new ResizeObserver(([I])=>{let{height:x}=I.contentRect,S=x-(m??x);if(d.resizeDifference=S,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),S>=0){let b=Ua(i.current,m?i.current.resize:i.current.initial);p({animation:b,wait:!0,preserveScrollPosition:!0,duration:b==="instant"?void 0:Xn})}else d.isNearBottom&&(f(!1),u(!0));m=x,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===S&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(w)},[]);return{contentRef:g,scrollRef:L,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function Yo(e,t){let a=Ie(o=>(a.current=o,e(o)),t);return a}var Ha=new Map;function Ua(...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 Ha.has(o)||Ha.set(o,Object.freeze(t)),a?"instant":Ha.get(o)}import*as ve from"react";import{createContext as Qn,useContext as Kn,useEffect as Jn,useImperativeHandle as Zn,useLayoutEffect as Yn,useMemo as el,useRef as tl}from"react";var tr=Qn(null),al=typeof window<"u"?Yn:Jn;function kt({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=tl(null),d=ve.useCallback((x,S)=>(I?.targetScrollTop??i)?.(x,S)??x,[i]),p=er({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:C,stopScroll:L,isAtBottom:g,escapedFromLock:w,state:m}=e??p,I=el(()=>({scrollToBottom:C,stopScroll:L,scrollRef:c,isAtBottom:g,escapedFromLock:w,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(x){f.current=x}}),[C,g,h,c,L,w,m]);return Zn(l,()=>I,[I]),al(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),ve.createElement(tr.Provider,{value:I},ve.createElement("div",{...u},typeof t=="function"?t(I):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Ga();return ve.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},ve.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(kt||(kt={}));function Ga(){let e=Kn(tr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var ol=Oo({prefix:"ww"});function T(...e){return ol(No(e))}import{jsx as rl}from"react/jsx-runtime";var me=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>rl("button",{type:o,className:T("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 $t}from"react/jsx-runtime";var Ve=({className:e,...t})=>$t(kt,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),je=({className:e,...t})=>$t(kt.Content,{className:T("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}),$e=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Ga(),r=sl(()=>{o()},[o]);return!a&&$t(me,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:$t(mt,{className:"ww:size-4"})})};import or from"crypto";var ar="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var nl=128,Me,Xe,ll=e=>{!Me||Me.length<e?(Me=Buffer.allocUnsafe(e*nl),or.randomFillSync(Me),Xe=0):Xe+e>Me.length&&(or.randomFillSync(Me),Xe=0),Xe+=e};var Xt=(e=21)=>{ll(e|=0);let t="";for(let a=Xe-e;a<Xe;a++)t+=ar[Me[a]&63];return t};import{createContext as il,useCallback as Le,useContext as ul,useEffect as Wa,useMemo as dl,useRef as za,useState as rr}from"react";import{jsx as fe,jsxs as lr}from"react/jsx-runtime";var fl=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}},sr=il(null),nr=()=>{let e=ul(sr);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Qe=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=za(null),f=za(null),[d,p]=rr([]),c=za(d);Wa(()=>{c.current=d},[d]);let h=Le(()=>{u.current?.click()},[]),C=Le(x=>{let S=[...x];if(S.length===0)return;let b=R=>s?R.size<=s:!0,A=S.filter(b);p(R=>{let y=typeof r=="number"?Math.max(0,r-R.length):void 0,P=typeof y=="number"?A.slice(0,y):A;return[...R,...P.map(B=>({filename:B.name,id:Xt(),mediaType:B.type,type:"file",url:URL.createObjectURL(B)}))]})},[r,s]),L=Le(x=>{p(S=>{let b=S.find(A=>A.id===x);return b?.url&&URL.revokeObjectURL(b.url),S.filter(A=>A.id!==x)})},[]),g=Le(()=>{p(x=>{for(let S of x)S.url&&URL.revokeObjectURL(S.url);return[]})},[]);Wa(()=>()=>{for(let x of c.current)x.url&&URL.revokeObjectURL(x.url)},[]);let w=Le(x=>{x.currentTarget.files&&C(x.currentTarget.files),x.currentTarget.value=""},[C]);Wa(()=>{if(!o)return;let x=b=>{b.dataTransfer?.types?.includes("Files")&&b.preventDefault()},S=b=>{b.dataTransfer?.types?.includes("Files")&&b.preventDefault(),b.dataTransfer?.files&&b.dataTransfer.files.length>0&&C(b.dataTransfer.files)};return document.addEventListener("dragover",x),document.addEventListener("drop",S),()=>{document.removeEventListener("dragover",x),document.removeEventListener("drop",S)}},[C,o]);let m=Le(async x=>{x.preventDefault();let S=x.currentTarget,A=new FormData(S).get("message")||"";S.reset();let R=await Promise.all(d.map(async({id:y,...P})=>{if(P.url?.startsWith("blob:")){let B=await fl(P.url);return{...P,url:B??P.url}}return P}));try{let y=n({files:R,text:A},x);y instanceof Promise&&await y,g()}catch{}},[d,n,g]),I=dl(()=>({add:C,clear:g,files:d,openFileDialog:h,remove:L}),[d,C,L,g,h]);return lr(sr.Provider,{value:I,children:[fe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:w,ref:u,title:"Upload files",type:"file"}),fe("form",{className:T("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 Ke=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=nr(),[n,i]=rr(!1),l=Le(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=Le(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 fe("textarea",{className:T("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})},Je=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=fe(ht,{className:"ww:size-4"});t==="submitted"?i=fe(It,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=fe(yt,{className:"ww:size-4"}));let l=Le(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return fe(me,{"aria-label":n?"Stop":"Submit",className:T("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})},Ze=({className:e,children:t,...a})=>{let o=nr();return o.files.length>0?lr(me,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[fe("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}),fe(Fe,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):fe(me,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??fe(St,{className:"ww:size-4"})})};import{memo as cl,useCallback as pl}from"react";import{jsx as Ye}from"react/jsx-runtime";var ir=({className:e,...t})=>Ye("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ur=({className:e,...t})=>Ye("li",{className:T("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}),dr=({className:e,...t})=>Ye("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),fr=({className:e,...t})=>Ye("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),cr=({className:e,...t})=>Ye("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),pr=({className:e,...t})=>Ye(me,{className:T("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 Re,jsxs as Va}from"react/jsx-runtime";var mr=cl(({message:e,onRemove:t})=>{let a=pl(()=>t(e.id),[t,e.id]);return Va(ur,{children:[Re(dr,{}),Re(fr,{children:e.text||"(attachment)"}),Re(cr,{children:Re(pr,{"aria-label":"Remove from queue",onClick:a,children:Re(Fe,{className:"ww:size-3"})})})]})});mr.displayName="ChatQueueItem";function et({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Va(ir,{className:T("ww:border-t ww:border-border",a),children:[Va("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Re("ul",{children:e.map(o=>Re(mr,{message:o,onRemove:t},o.id))})]})}import{useState as hr}from"react";import{jsx as ml}from"react/jsx-runtime";function Qt({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=hr(!1),[s,n]=hr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:ml("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as bt,jsxs as gl}from"react/jsx-runtime";var gr=({files:e,className:t,...a})=>e.length===0?null:bt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>bt(hl,{file:o},r))});function hl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?bt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):gl("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:[bt(Ct,{className:"ww:size-3 ww:shrink-0"}),bt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as wr}from"react/jsx-runtime";var ja=({className:e,size:t=5,...a})=>wr("div",{className:T("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>wr("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 he={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 ie={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 Lr(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 xr(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 Ir(e){return Lr(e)?"ambiguous":xr(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 wl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Sr(e){return wl(e),Ir(e)}var Ll=Object.defineProperty,xl=(e,t,a)=>t in e?Ll(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Cl=(e,t,a)=>xl(e,typeof t!="symbol"?t+"":t,a);function Il(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Sl(e){if(!e||e<4352)return!1;switch(Sr(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 yl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function kl(e){return e!==null&&e>=65024&&e<=65038}var bl=yr(/\p{P}|\p{S}/u),Pl=yr(/\s/);function yr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var ue;(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})(ue||(ue={}));function Se(e){if(e===K.eof||qo(e)||Pl(e))return he.characterGroupWhitespace;let t=0;if(e>=4352){if(kl(e))return ue.nonEmojiGeneralUseVS;switch(Sl(e)){case null:return ue.ivs;case!0:t|=ue.cjk;break}}return bl(e)&&(t|=he.characterGroupPunctuation),t}function Kt(e,t,a){if(!Al(e))return e;let o=t(),r=Se(o);return!o||Be(r)?e:yl(o,a)?ue.cjkPunctuation:Tl(r)}function Tl(e){return e&~ue.ivs}function Be(e){return!!(e&he.characterGroupWhitespace)}function tt(e){return(e&ue.cjkPunctuation)===he.characterGroupPunctuation}function Pt(e){return!!(e&ue.cjk)}function kr(e){return e===ue.ivs}function br(e){return!!(e&ue.cjkOrIvs)}function Al(e){return e===ue.nonEmojiGeneralUseVS}function $a(e){return!!(e&ue.spaceOrPunctuation)}function Jt(e){return!!(e&&e>=55296&&e<=56319)}function Zt(e){return!!(e&&e>=56320&&e<=57343)}function Yt(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 Fl(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 ea=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Cl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Fl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function ta(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Xa={name:"attention",resolveAll:vl,tokenize:Ml};function vl(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};Pr(d,-l),Pr(p,l),n={type:l>1?ie.strongSequence:ie.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?ie.strongSequence:ie.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?ie.strongText:ie.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?ie.strong:ie.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=We(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=We(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=We(u,Wt(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=We(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=We(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,Ge(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 Ml(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=Zt(s)?Yt(s,o(),r):s,i=Se(n),l=new ea(n,o(),r),u=Kt(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=Jt(c)?ta(c,o(),r):c,L=Se(C);let g=tt(u),w=g||Be(u),m=tt(L),I=m||Be(L),x=br(u),S=!I||m&&(w||x)||a.includes(c),b=!w||g&&(I||Pt(L))||a.includes(n);return h._open=!!(f===K.asterisk?S:S&&($a(u)||!b)),h._close=!!(f===K.asterisk?b:b&&($a(L)||!S)),t(c)}}function Pr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Tr(){return{text:{[K.asterisk]:Xa,[K.underscore]:Xa},insideSpan:{null:[Xa]}}}function Ar(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Tr())}function Fr(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&&Ge(p,p.length,0,Wt(c,n.slice(u+1,l),i)),Ge(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),Ge(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=ie.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=Zt(d)?Yt(d,u(),f):d,c=Se(p),h=new ea(p,u(),f),C=Kt(c,h.value.bind(h),p),L=this.events,g=0;return w;function w(I){return K.tilde,p===K.tilde&&L[L.length-1][1].type!==ie.characterEscape?l(I):(n.enter("strikethroughSequenceTemporary"),m(I))}function m(I){let x=Se(p);if(I===K.tilde)return g>1?l(I):(n.consume(I),g++,m);if(g<2&&!a)return l(I);let S=n.exit("strikethroughSequenceTemporary"),b=Jt(I)?ta(I,u(),f):I,A=Se(b),y=tt(C)||Be(C),B=tt(A)||Be(A),z=Pt(C)||kr(x);return S._open=!B||A===he.attentionSideAfter&&(y||z),S._close=!y||x===he.attentionSideAfter&&(B||Pt(A)),i(I)}}}function vr(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Fr(e))}var Rl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Bl=/^(https?:\/\/|mailto:|www\.)/i,Dl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},_l=e=>{let t=0;for(let a of e){if(Rl.has(a))return t;t+=a.length}return null},El=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Nl=e=>({type:"text",value:e}),Ol=()=>e=>{Ho(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Dl(t)||!Bl.test(t.url))return;let r=_l(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=El(s,t),l=Nl(n);return o.children.splice(a,1,i,l),a+1})};function ql(){let e=[Ar],t=[Ol,vr],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Mr=ql();var G=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hl(e){return ro(e)}function ro(e){return Array.isArray(e)?Ul(e):e instanceof RegExp?e:typeof e=="object"?Gl(e):e}function Ul(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=ro(e[a]);return t}function Gl(e){let t={};for(let a in e)t[a]=ro(e[a]);return t}function Hr(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Ur(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ur(e.substring(0,e.length-1)):e.substr(~t+1)}var Qa=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,aa=class{static hasCaptures(e){return e===null?!1:(Qa.lastIndex=0,Qa.test(e))}static replaceCaptures(e,t,a){return e.replace(Qa,(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 Gr(e,t){return e<t?-1:e>t?1:0}function Wr(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=Gr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function Rr(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 zr(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Vr=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}},Ft=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Vl(e),t)}static createFromParsedTheme(e,t){return $l(e,t)}_cachedMatchRoot=new Vr(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=>Wl(e.parent,r.parentScopes));return o?new jr(o.fontStyle,o.foreground,o.background):null}},Ka=class oa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new oa(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new oa(a,t[o]);return a}push(t){return new oa(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 Wl(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&&!zl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function zl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var jr=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Vl(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"&&Rr(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&Rr(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],L=null;h.length>1&&(L=h.slice(0,h.length-1),L.reverse()),a[o++]=new jl(C,L,r,l,u,f)}}return a}var jl=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 $l(e,t){e.sort((l,u)=>{let f=Gr(l.scope,u.scope);return f!==0||(f=Wr(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 Xl(t),n=new jr(a,s.getId(o),s.getId(r)),i=new Kl(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 Ft(s,n,i)}var Xl=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)}},Ql=Object.freeze([]),Za=class $r{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Ql,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new $r(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)}},Kl=class Ya{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(Ya._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 Ya(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(Wr(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))}},_e=class de{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=de.getLanguageId(t),o=de.getTokenType(t),r=de.getFontStyle(t),s=de.getForeground(t),n=de.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=de.getLanguageId(t),u=de.getTokenType(t),f=de.containsBalancedBrackets(t)?1:0,d=de.getFontStyle(t),p=de.getForeground(t),c=de.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 sa(e,t){let a=[],o=Jl(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 Jl(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 Xr(e){typeof e.dispose=="function"&&e.dispose()}var vt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Zl=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Yl=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))}},ei=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new vt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Yl;for(let a of e)ti(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof vt){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 ti(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 vt?ra({baseGrammar:s,selfGrammar:r},o):eo(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 vt(i))}function eo(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];na([o],t,a)}}function ra(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&na(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&na(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function na(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Hr({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&na(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Qr(s);switch(n.kind){case 0:ra({...t,selfGrammar:t.baseGrammar},a);break;case 1:ra(t,a);break;case 2:eo(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?eo(n.ruleName,l,a):ra(l,a)}else n.kind===4?a.add(new Zl(n.scopeName,n.ruleName)):a.add(new vt(n.scopeName));break}}}var ai=class{kind=0},oi=class{kind=1},ri=class{constructor(e){this.ruleName=e}kind=2},si=class{constructor(e){this.scopeName=e}kind=3},ni=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Qr(e){if(e==="$base")return new ai;if(e==="$self")return new oi;let t=e.indexOf("#");if(t===-1)return new si(e);if(t===0)return new ri(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new ni(a,o)}}var li=/\\(\d+)/,Dr=/\\(\d+)/g;var ii=-1,Kr=-2;var Bt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=aa.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=aa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ur(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:aa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:aa.replaceCaptures(this._contentName,e,t)}},ui=class extends Bt{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!")}},di=class extends Bt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Mt(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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},_r=class extends Bt{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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},to=class extends Bt{_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 Mt(r,this.id),this.beginCaptures=s,this._end=new Mt(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 Rt;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}},la=class extends Bt{_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 Mt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Mt(n,Kr),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 Rt;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 Rt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Jr=class Z{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new ui(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new di(t.$vscodeTextmateLocation,t.id,t.name,t.match,Z._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Hr({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new _r(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Z._compilePatterns(s,a,o))}return t.while?new la(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Z._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Z._compileCaptures(t.whileCaptures||t.captures,a,o),Z._compilePatterns(t.patterns,a,o)):new to(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Z._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Z._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Z._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=Z.getCompiledRuleId(t[n],a,o)),r[i]=Z.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=Qr(i.include);switch(u.kind){case 0:case 1:l=Z.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=Z.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=Z.getCompiledRuleId(h,a,c.repository))}else l=Z.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=Z.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof _r||u instanceof to||u instanceof la)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Mt=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=li.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 Dr.lastIndex=0,this.source.replace(Dr,(r,s)=>zr(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}},Rt=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 Er(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 Er(e,o,this._items.map(r=>r.ruleId))}},Er=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 No,b as Oo,c as qo,d as Ge,e as We,f as Wt,g as Ho,h as Uo,i as Go,j as Wo,k as zt,l as zo,m as Ea,n as Vo,o as jo,p as ze,u as Na}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as yf,useCallback as Ba,useEffect as In,useImperativeHandle as kf,useRef as Sn,useState as Ro}from"react";import{forwardRef as Fn,createElement as vn}from"react";var Vt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var $o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Xo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Oa=e=>{let t=Xo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as An,createElement as Jo}from"react";var Qo={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 Ko=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Zo=An(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Jo("svg",{ref:l,...Qo,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Vt("lucide",r),...!s&&!Ko(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Jo(u,f)),...Array.isArray(s)?s:[s]]));var q=(e,t)=>{let a=Fn(({className:o,...r},s)=>vn(Zo,{ref:s,iconNode:t,className:Vt(`lucide-${$o(Oa(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Oa(e),a};var Mn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],mt=q("arrow-down",Mn);var Rn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],ht=q("arrow-up",Rn);var Bn=[["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"}]],Ce=q("braces",Bn);var Dn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],gt=q("check",Dn);var _n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],wt=q("chevron-down",_n);var En=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Lt=q("chevron-right",En);var Nn=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],xt=q("clipboard-copy",Nn);var On=[["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"}]],Ct=q("file",On);var qn=[["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"}]],It=q("loader",qn);var Hn=[["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"}]],St=q("paperclip",Hn);var Un=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],yt=q("square",Un);var Gn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Fe=q("x",Gn);import{useCallback as sl}from"react";import{useCallback as Ie,useMemo as Wn,useRef as zn,useState as qa}from"react";var Vn={damping:.7,stiffness:.05,mass:1.25},jn=70,$n=1e3/60,Xn=350,jt=!1;globalThis.document?.addEventListener("mousedown",()=>{jt=!0});globalThis.document?.addEventListener("mouseup",()=>{jt=!1});globalThis.document?.addEventListener("click",()=>{jt=!1});var er=(e={})=>{let[t,a]=qa(!1),[o,r]=qa(e.initial!==!1),[s,n]=qa(!1),i=zn(null);i.current=e;let l=Ie(()=>{if(!jt)return!1;let w=window.getSelection();if(!w||!w.rangeCount)return!1;let m=w.getRangeAt(0);return m.commonAncestorContainer.contains(L.current)||L.current?.contains(m.commonAncestorContainer)},[]),u=Ie(w=>{d.isAtBottom=w,r(w)},[]),f=Ie(w=>{d.escapedFromLock=w,a(w)},[]),d=Wn(()=>{let w;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(m){L.current&&(L.current.scrollTop=m,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!g.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!g.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(w?.targetScrollTop===m)return w.calculatedScrollTop;let I=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:L.current,contentElement:g.current}),m),0);return w={targetScrollTop:m,calculatedScrollTop:I},requestAnimationFrame(()=>{w=void 0}),I},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=jn}}},[]),p=Ie((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let m=Date.now()+(Number(w.wait)||0),I=Ua(i.current,w.animation),{ignoreEscapes:x=!1}=w,S,b=d.calculatedTargetScrollTop;w.duration instanceof Promise?w.duration.finally(()=>{S=Date.now()}):S=m+(w.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:y}=d,P=performance.now(),B=(P-(d.lastTick??P))/$n;if(d.animation||(d.animation={behavior:I,promise:R,ignoreEscapes:x}),d.animation.behavior===I&&(d.lastTick=P),l()||m>Date.now())return A();if(y<Math.min(b,d.calculatedTargetScrollTop)){if(d.animation?.behavior===I){if(I==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(I.damping*d.velocity+I.stiffness*d.scrollDifference)/I.mass,d.accumulated+=d.velocity*B,d.scrollTop+=d.accumulated,d.scrollTop!==y&&(d.accumulated=0)}return A()}return S>Date.now()?(b=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Ua(i.current,i.current.resize),ignoreEscapes:x,duration:Math.max(0,S-Date.now())||void 0}):d.isAtBottom)});return R.then(y=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),y))};return w.wait!==!0&&(d.animation=void 0),d.animation?.behavior===I?d.animation.promise:A()},[u,l,d]),c=Ie(()=>{f(!0),u(!1)},[f,u]),h=Ie(({target:w})=>{if(w!==L.current)return;let{scrollTop:m,ignoreScrollToTop:I}=d,{lastScrollTop:x=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,I&&I>m&&(x=I),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===I)return;if(l()){f(!0),u(!1);return}let S=m>x,b=m<x;if(d.animation?.ignoreEscapes){d.scrollTop=x;return}b&&(f(!0),u(!1)),S&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=Ie(({target:w,deltaY:m})=>{let I=w;for(;!["scroll","auto"].includes(getComputedStyle(I).overflow);){if(!I.parentElement)return;I=I.parentElement}I===L.current&&m<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),L=Yo(w=>{L.current?.removeEventListener("scroll",h),L.current?.removeEventListener("wheel",C),w?.addEventListener("scroll",h,{passive:!0}),w?.addEventListener("wheel",C,{passive:!0})},[]),g=Yo(w=>{if(d.resizeObserver?.disconnect(),!w)return;let m;d.resizeObserver=new ResizeObserver(([I])=>{let{height:x}=I.contentRect,S=x-(m??x);if(d.resizeDifference=S,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),S>=0){let b=Ua(i.current,m?i.current.resize:i.current.initial);p({animation:b,wait:!0,preserveScrollPosition:!0,duration:b==="instant"?void 0:Xn})}else d.isNearBottom&&(f(!1),u(!0));m=x,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===S&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(w)},[]);return{contentRef:g,scrollRef:L,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function Yo(e,t){let a=Ie(o=>(a.current=o,e(o)),t);return a}var Ha=new Map;function Ua(...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 Ha.has(o)||Ha.set(o,Object.freeze(t)),a?"instant":Ha.get(o)}import*as ve from"react";import{createContext as Qn,useContext as Kn,useEffect as Jn,useImperativeHandle as Zn,useLayoutEffect as Yn,useMemo as el,useRef as tl}from"react";var tr=Qn(null),al=typeof window<"u"?Yn:Jn;function kt({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=tl(null),d=ve.useCallback((x,S)=>(I?.targetScrollTop??i)?.(x,S)??x,[i]),p=er({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:C,stopScroll:L,isAtBottom:g,escapedFromLock:w,state:m}=e??p,I=el(()=>({scrollToBottom:C,stopScroll:L,scrollRef:c,isAtBottom:g,escapedFromLock:w,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(x){f.current=x}}),[C,g,h,c,L,w,m]);return Zn(l,()=>I,[I]),al(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),ve.createElement(tr.Provider,{value:I},ve.createElement("div",{...u},typeof t=="function"?t(I):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Ga();return ve.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},ve.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(kt||(kt={}));function Ga(){let e=Kn(tr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var ol=Oo({prefix:"ww"});function T(...e){return ol(No(e))}import{jsx as rl}from"react/jsx-runtime";var me=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>rl("button",{type:o,className:T("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 $t}from"react/jsx-runtime";var Ve=({className:e,...t})=>$t(kt,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),je=({className:e,...t})=>$t(kt.Content,{className:T("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}),$e=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Ga(),r=sl(()=>{o()},[o]);return!a&&$t(me,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:$t(mt,{className:"ww:size-4"})})};import or from"crypto";var ar="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var nl=128,Me,Xe,ll=e=>{!Me||Me.length<e?(Me=Buffer.allocUnsafe(e*nl),or.randomFillSync(Me),Xe=0):Xe+e>Me.length&&(or.randomFillSync(Me),Xe=0),Xe+=e};var Xt=(e=21)=>{ll(e|=0);let t="";for(let a=Xe-e;a<Xe;a++)t+=ar[Me[a]&63];return t};import{createContext as il,useCallback as Le,useContext as ul,useEffect as Wa,useMemo as dl,useRef as za,useState as rr}from"react";import{jsx as fe,jsxs as lr}from"react/jsx-runtime";var fl=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}},sr=il(null),nr=()=>{let e=ul(sr);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Qe=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=za(null),f=za(null),[d,p]=rr([]),c=za(d);Wa(()=>{c.current=d},[d]);let h=Le(()=>{u.current?.click()},[]),C=Le(x=>{let S=[...x];if(S.length===0)return;let b=R=>s?R.size<=s:!0,A=S.filter(b);p(R=>{let y=typeof r=="number"?Math.max(0,r-R.length):void 0,P=typeof y=="number"?A.slice(0,y):A;return[...R,...P.map(B=>({filename:B.name,id:Xt(),mediaType:B.type,type:"file",url:URL.createObjectURL(B)}))]})},[r,s]),L=Le(x=>{p(S=>{let b=S.find(A=>A.id===x);return b?.url&&URL.revokeObjectURL(b.url),S.filter(A=>A.id!==x)})},[]),g=Le(()=>{p(x=>{for(let S of x)S.url&&URL.revokeObjectURL(S.url);return[]})},[]);Wa(()=>()=>{for(let x of c.current)x.url&&URL.revokeObjectURL(x.url)},[]);let w=Le(x=>{x.currentTarget.files&&C(x.currentTarget.files),x.currentTarget.value=""},[C]);Wa(()=>{if(!o)return;let x=b=>{b.dataTransfer?.types?.includes("Files")&&b.preventDefault()},S=b=>{b.dataTransfer?.types?.includes("Files")&&b.preventDefault(),b.dataTransfer?.files&&b.dataTransfer.files.length>0&&C(b.dataTransfer.files)};return document.addEventListener("dragover",x),document.addEventListener("drop",S),()=>{document.removeEventListener("dragover",x),document.removeEventListener("drop",S)}},[C,o]);let m=Le(async x=>{x.preventDefault();let S=x.currentTarget,A=new FormData(S).get("message")||"";S.reset();let R=await Promise.all(d.map(async({id:y,...P})=>{if(P.url?.startsWith("blob:")){let B=await fl(P.url);return{...P,url:B??P.url}}return P}));try{let y=n({files:R,text:A},x);y instanceof Promise&&await y,g()}catch{}},[d,n,g]),I=dl(()=>({add:C,clear:g,files:d,openFileDialog:h,remove:L}),[d,C,L,g,h]);return lr(sr.Provider,{value:I,children:[fe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:w,ref:u,title:"Upload files",type:"file"}),fe("form",{className:T("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 Ke=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=nr(),[n,i]=rr(!1),l=Le(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=Le(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 fe("textarea",{className:T("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})},Je=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=fe(ht,{className:"ww:size-4"});t==="submitted"?i=fe(It,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=fe(yt,{className:"ww:size-4"}));let l=Le(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return fe(me,{"aria-label":n?"Stop":"Submit",className:T("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})},Ze=({className:e,children:t,...a})=>{let o=nr();return o.files.length>0?lr(me,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[fe("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}),fe(Fe,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):fe(me,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??fe(St,{className:"ww:size-4"})})};import{memo as cl,useCallback as pl}from"react";import{jsx as Ye}from"react/jsx-runtime";var ir=({className:e,...t})=>Ye("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ur=({className:e,...t})=>Ye("li",{className:T("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}),dr=({className:e,...t})=>Ye("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),fr=({className:e,...t})=>Ye("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),cr=({className:e,...t})=>Ye("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),pr=({className:e,...t})=>Ye(me,{className:T("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 Re,jsxs as Va}from"react/jsx-runtime";var mr=cl(({message:e,onRemove:t})=>{let a=pl(()=>t(e.id),[t,e.id]);return Va(ur,{children:[Re(dr,{}),Re(fr,{children:e.text||"(attachment)"}),Re(cr,{children:Re(pr,{"aria-label":"Remove from queue",onClick:a,children:Re(Fe,{className:"ww:size-3"})})})]})});mr.displayName="ChatQueueItem";function et({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Va(ir,{className:T("ww:border-t ww:border-border",a),children:[Va("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Re("ul",{children:e.map(o=>Re(mr,{message:o,onRemove:t},o.id))})]})}import{useState as hr}from"react";import{jsx as ml}from"react/jsx-runtime";function Qt({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=hr(!1),[s,n]=hr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:ml("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as bt,jsxs as gl}from"react/jsx-runtime";var gr=({files:e,className:t,...a})=>e.length===0?null:bt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>bt(hl,{file:o},r))});function hl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?bt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):gl("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:[bt(Ct,{className:"ww:size-3 ww:shrink-0"}),bt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as wr}from"react/jsx-runtime";var ja=({className:e,size:t=5,...a})=>wr("div",{className:T("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>wr("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 he={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 ie={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 Lr(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 xr(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 Ir(e){return Lr(e)?"ambiguous":xr(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 wl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Sr(e){return wl(e),Ir(e)}var Ll=Object.defineProperty,xl=(e,t,a)=>t in e?Ll(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Cl=(e,t,a)=>xl(e,typeof t!="symbol"?t+"":t,a);function Il(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Sl(e){if(!e||e<4352)return!1;switch(Sr(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 yl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function kl(e){return e!==null&&e>=65024&&e<=65038}var bl=yr(/\p{P}|\p{S}/u),Pl=yr(/\s/);function yr(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var ue;(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})(ue||(ue={}));function Se(e){if(e===K.eof||qo(e)||Pl(e))return he.characterGroupWhitespace;let t=0;if(e>=4352){if(kl(e))return ue.nonEmojiGeneralUseVS;switch(Sl(e)){case null:return ue.ivs;case!0:t|=ue.cjk;break}}return bl(e)&&(t|=he.characterGroupPunctuation),t}function Kt(e,t,a){if(!Al(e))return e;let o=t(),r=Se(o);return!o||Be(r)?e:yl(o,a)?ue.cjkPunctuation:Tl(r)}function Tl(e){return e&~ue.ivs}function Be(e){return!!(e&he.characterGroupWhitespace)}function tt(e){return(e&ue.cjkPunctuation)===he.characterGroupPunctuation}function Pt(e){return!!(e&ue.cjk)}function kr(e){return e===ue.ivs}function br(e){return!!(e&ue.cjkOrIvs)}function Al(e){return e===ue.nonEmojiGeneralUseVS}function $a(e){return!!(e&ue.spaceOrPunctuation)}function Jt(e){return!!(e&&e>=55296&&e<=56319)}function Zt(e){return!!(e&&e>=56320&&e<=57343)}function Yt(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 Fl(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 ea=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Cl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Fl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function ta(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Xa={name:"attention",resolveAll:vl,tokenize:Ml};function vl(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};Pr(d,-l),Pr(p,l),n={type:l>1?ie.strongSequence:ie.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?ie.strongSequence:ie.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?ie.strongText:ie.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?ie.strong:ie.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=We(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=We(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=We(u,Wt(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=We(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=We(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,Ge(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 Ml(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=Zt(s)?Yt(s,o(),r):s,i=Se(n),l=new ea(n,o(),r),u=Kt(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=Jt(c)?ta(c,o(),r):c,L=Se(C);let g=tt(u),w=g||Be(u),m=tt(L),I=m||Be(L),x=br(u),S=!I||m&&(w||x)||a.includes(c),b=!w||g&&(I||Pt(L))||a.includes(n);return h._open=!!(f===K.asterisk?S:S&&($a(u)||!b)),h._close=!!(f===K.asterisk?b:b&&($a(L)||!S)),t(c)}}function Pr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Tr(){return{text:{[K.asterisk]:Xa,[K.underscore]:Xa},insideSpan:{null:[Xa]}}}function Ar(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Tr())}function Fr(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&&Ge(p,p.length,0,Wt(c,n.slice(u+1,l),i)),Ge(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),Ge(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=ie.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=Zt(d)?Yt(d,u(),f):d,c=Se(p),h=new ea(p,u(),f),C=Kt(c,h.value.bind(h),p),L=this.events,g=0;return w;function w(I){return K.tilde,p===K.tilde&&L[L.length-1][1].type!==ie.characterEscape?l(I):(n.enter("strikethroughSequenceTemporary"),m(I))}function m(I){let x=Se(p);if(I===K.tilde)return g>1?l(I):(n.consume(I),g++,m);if(g<2&&!a)return l(I);let S=n.exit("strikethroughSequenceTemporary"),b=Jt(I)?ta(I,u(),f):I,A=Se(b),y=tt(C)||Be(C),B=tt(A)||Be(A),z=Pt(C)||kr(x);return S._open=!B||A===he.attentionSideAfter&&(y||z),S._close=!y||x===he.attentionSideAfter&&(B||Pt(A)),i(I)}}}function vr(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Fr(e))}var Rl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Bl=/^(https?:\/\/|mailto:|www\.)/i,Dl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},_l=e=>{let t=0;for(let a of e){if(Rl.has(a))return t;t+=a.length}return null},El=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Nl=e=>({type:"text",value:e}),Ol=()=>e=>{Ho(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Dl(t)||!Bl.test(t.url))return;let r=_l(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=El(s,t),l=Nl(n);return o.children.splice(a,1,i,l),a+1})};function ql(){let e=[Ar],t=[Ol,vr],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Mr=ql();var G=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hl(e){return ro(e)}function ro(e){return Array.isArray(e)?Ul(e):e instanceof RegExp?e:typeof e=="object"?Gl(e):e}function Ul(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=ro(e[a]);return t}function Gl(e){let t={};for(let a in e)t[a]=ro(e[a]);return t}function Hr(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Ur(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ur(e.substring(0,e.length-1)):e.substr(~t+1)}var Qa=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,aa=class{static hasCaptures(e){return e===null?!1:(Qa.lastIndex=0,Qa.test(e))}static replaceCaptures(e,t,a){return e.replace(Qa,(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 Gr(e,t){return e<t?-1:e>t?1:0}function Wr(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=Gr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function Rr(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 zr(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Vr=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}},Ft=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Vl(e),t)}static createFromParsedTheme(e,t){return $l(e,t)}_cachedMatchRoot=new Vr(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=>Wl(e.parent,r.parentScopes));return o?new jr(o.fontStyle,o.foreground,o.background):null}},Ka=class oa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new oa(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new oa(a,t[o]);return a}push(t){return new oa(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 Wl(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&&!zl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function zl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var jr=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Vl(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"&&Rr(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&Rr(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],L=null;h.length>1&&(L=h.slice(0,h.length-1),L.reverse()),a[o++]=new jl(C,L,r,l,u,f)}}return a}var jl=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 $l(e,t){e.sort((l,u)=>{let f=Gr(l.scope,u.scope);return f!==0||(f=Wr(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 Xl(t),n=new jr(a,s.getId(o),s.getId(r)),i=new Kl(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 Ft(s,n,i)}var Xl=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)}},Ql=Object.freeze([]),Za=class $r{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Ql,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new $r(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)}},Kl=class Ya{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(Ya._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 Ya(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(Wr(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))}},_e=class de{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=de.getLanguageId(t),o=de.getTokenType(t),r=de.getFontStyle(t),s=de.getForeground(t),n=de.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=de.getLanguageId(t),u=de.getTokenType(t),f=de.containsBalancedBrackets(t)?1:0,d=de.getFontStyle(t),p=de.getForeground(t),c=de.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 sa(e,t){let a=[],o=Jl(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 Jl(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 Xr(e){typeof e.dispose=="function"&&e.dispose()}var vt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Zl=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Yl=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))}},ei=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new vt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Yl;for(let a of e)ti(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof vt){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 ti(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 vt?ra({baseGrammar:s,selfGrammar:r},o):eo(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 vt(i))}function eo(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];na([o],t,a)}}function ra(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&na(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&na(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function na(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Hr({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&na(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Qr(s);switch(n.kind){case 0:ra({...t,selfGrammar:t.baseGrammar},a);break;case 1:ra(t,a);break;case 2:eo(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?eo(n.ruleName,l,a):ra(l,a)}else n.kind===4?a.add(new Zl(n.scopeName,n.ruleName)):a.add(new vt(n.scopeName));break}}}var ai=class{kind=0},oi=class{kind=1},ri=class{constructor(e){this.ruleName=e}kind=2},si=class{constructor(e){this.scopeName=e}kind=3},ni=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Qr(e){if(e==="$base")return new ai;if(e==="$self")return new oi;let t=e.indexOf("#");if(t===-1)return new si(e);if(t===0)return new ri(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new ni(a,o)}}var li=/\\(\d+)/,Dr=/\\(\d+)/g;var ii=-1,Kr=-2;var Bt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=aa.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=aa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ur(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:aa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:aa.replaceCaptures(this._contentName,e,t)}},ui=class extends Bt{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!")}},di=class extends Bt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Mt(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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},_r=class extends Bt{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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},to=class extends Bt{_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 Mt(r,this.id),this.beginCaptures=s,this._end=new Mt(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 Rt;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}},la=class extends Bt{_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 Mt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Mt(n,Kr),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 Rt;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 Rt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Jr=class Z{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new ui(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new di(t.$vscodeTextmateLocation,t.id,t.name,t.match,Z._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Hr({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new _r(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Z._compilePatterns(s,a,o))}return t.while?new la(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Z._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Z._compileCaptures(t.whileCaptures||t.captures,a,o),Z._compilePatterns(t.patterns,a,o)):new to(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Z._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Z._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Z._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=Z.getCompiledRuleId(t[n],a,o)),r[i]=Z.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=Qr(i.include);switch(u.kind){case 0:case 1:l=Z.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=Z.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=Z.getCompiledRuleId(h,a,c.repository))}else l=Z.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=Z.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof _r||u instanceof to||u instanceof la)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Mt=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=li.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 Dr.lastIndex=0,this.source.replace(Dr,(r,s)=>zr(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}},Rt=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 Er(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 Er(e,o,this._items.map(r=>r.ruleId))}},Er=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}},Ja=class{constructor(e,t){this.languageId=e,this.tokenType=t}},fi=class ao{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Ja(t,8),this._embeddedLanguagesMatcher=new ci(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ao._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Ja(0,0);_getBasicScopeAttributes=new Vr(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Ja(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ao.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/},ci=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])=>zr(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])}},Cm={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Yr=!1,Nr=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function es(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let c=pi(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 Nr(r,!0);p()}return new Nr(r,!1);function p(){let c=mi(e,t,a,o,r,f);if(!c){s.produce(r,l),u=!0;return}let h=c.captureIndices,C=c.matchedRuleId,L=h&&h.length>0?h[0].end>o:!1;if(C===ii){let g=r.getRule(e);s.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),Tt(e,t,a,r,s,g.endCaptures,h),s.produce(r,h[0].end);let w=r;if(r=r.parent,f=w.getAnchorPos(),!L&&w.getEnterPos()===o){r=w,s.produce(r,l),u=!0;return}}else{let g=e.getRule(C);s.produce(r,h[0].start);let w=r,m=g.getName(t.content,h),I=r.contentNameScopesList.pushAttributed(m,e);if(r=r.push(C,o,f,h[0].end===l,null,I,I),g instanceof to){let x=g;Tt(e,t,a,r,s,x.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let S=x.getContentName(t.content,h),b=I.pushAttributed(S,e);if(r=r.withContentNameScopesList(b),x.endHasBackReferences&&(r=r.withEndRule(x.getEndWithResolvedBackReferences(t.content,h))),!L&&w.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(g instanceof la){let x=g;Tt(e,t,a,r,s,x.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let S=x.getContentName(t.content,h),b=I.pushAttributed(S,e);if(r=r.withContentNameScopesList(b),x.whileHasBackReferences&&(r=r.withEndRule(x.getWhileWithResolvedBackReferences(t.content,h))),!L&&w.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Tt(e,t,a,r,s,g.captures,h),s.produce(r,h[0].end),r=r.pop(),!L){r=r.safePop(),s.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function pi(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 la&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=wi(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Kr){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Tt(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 mi(e,t,a,o,r,s){let n=hi(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=gi(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 hi(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=ts(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function gi(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:L,findOptions:g}=ts(C,t,null,o,r===n),w=L.findNextMatchSync(a,r,g);if(!w)continue;let m=w.captureIndices[0].start;if(!(m>=i)&&(i=m,l=w.captureIndices,u=w.ruleId,f=h.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function ts(e,t,a,o,r){if(Yr){let n=e.compile(t,a),i=as(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function wi(e,t,a,o,r){if(Yr){let n=e.compileWhile(t,a),i=as(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function as(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Tt(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),L=o.contentNameScopesList.pushAttributed(C,e),g=p.getContentName(i,n),w=L.pushAttributed(g,e),m=o.push(p.retokenizeCapturedWithRuleId,c.start,-1,!1,null,L,w),I=e.createOnigString(i.substring(0,c.end));es(e,I,a&&c.start===0,c.start,m,r,!1,0),Xr(I);continue}let h=p.getName(i,n);if(h!==null){let L=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new Li(L,c.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Li=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function xi(e,t,a,o,r,s,n,i){return new Ii(e,t,a,o,r,s,n,i)}function Or(e,t,a,o,r){let s=sa(t,ia),n=Jr.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 ia(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(Ci(t[r],o))return a=r+1,!0;return!1})}function Ci(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 fi(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=qr(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=sa(l,ia);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)Or(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&&Or(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]=qr(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=Jr.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===oo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=_e.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),p=this.getRule(this._rootId).getName(null,null),c;p?c=At.createRootAndLookUpScopeName(p,d,this):c=At.createRoot("unknown",d),t=new oo(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 yi(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=es(this,s,r,0,t,i,!0,o);return Xr(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function qr(e,t){return e=Hl(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 At=class ge{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=Ka.push(r,s.scopeNames),o=new ge(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new ge(null,new Ka(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new Ka(null,t),n=o.themeProvider.themeMatch(s),i=ge.mergeAttributes(a,r,n);return new ge(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return ge.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),_e.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return ge._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=ge._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=ge.mergeAttributes(t.tokenAttributes,r,n);return new ge(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}},oo=class De{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 De(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:De._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?At.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(){De._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new De(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 De(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=At.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new De(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,At.fromExtension(o,a.contentNameScopesList))}},Si=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):sa(a,ia).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>sa(a,ia).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}},yi=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=_e.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=_e.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}},ki=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,xi(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},os=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new ki(Ft.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Ft.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 Si(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new ei(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)}},ua=oo.NULL;var bi=/["&'<>`]/g,Pi=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ai=/[|\\{}()[\]^$+*?.]/g,rs=new WeakMap;function ss(e,t){if(e=e.replace(t.subset?Fi(t.subset):bi,o),t.subset||t.escapeOnly)return e;return e.replace(Pi,a).replace(Ti,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 Fi(e){let t=rs.get(e);return t||(t=vi(e),rs.set(e,t)),t}function vi(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Ai,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Mi=/[\dA-Fa-f]/;function ns(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Mi.test(String.fromCharCode(t))?o:o+";"}var Ri=/\d/;function ls(e,t,a){let o="&#"+String(e);return a&&t&&!Ri.test(String.fromCharCode(t))?o:o+";"}var is=["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 da={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 us=["cent","copy","divide","gt","lt","not","para","times"];var ds={}.hasOwnProperty,so={},fa;for(fa in da)ds.call(da,fa)&&(so[da[fa]]=fa);var Bi=/[^\dA-Za-z]/;function fs(e,t,a,o){let r=String.fromCharCode(e);if(ds.call(so,r)){let s=so[r],n="&"+s;return a&&is.includes(s)&&!us.includes(s)&&(!o||t&&t!==61&&Bi.test(String.fromCharCode(t)))?n:n+";"}return""}function cs(e,t,a){let o=ns(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=fs(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=ls(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function xe(e,t){return ss(e,Object.assign({format:cs},t))}var Di=/^>|^->|<!--|-->|--!>|<!-$/g,_i=[">"],Ei=["<",">"];function ps(e,t,a,o){return o.settings.bogusComments?"<?"+xe(e.value,Object.assign({},o.settings.characterReferences,{subset:_i}))+">":"<!--"+e.value.replace(Di,r)+"-->";function r(s){return xe(s,Object.assign({},o.settings.characterReferences,{subset:Ei}))}}function ms(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var W=hs(1),no=hs(-1),Ni=[];function hs(e){return t;function t(a,o,r){let s=a?a.children:Ni,n=(o||0)+e,i=s[n];if(!r)for(;i&&ze(i);)n+=e,i=s[n];return i}}var Oi={}.hasOwnProperty;function ca(e){return t;function t(a,o,r){return Oi.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Dt=ca({body:Hi,caption:lo,colgroup:lo,dd:zi,dt:Wi,head:lo,html:qi,li:Gi,optgroup:Vi,option:ji,p:Ui,rp:gs,rt:gs,tbody:Xi,td:ws,tfoot:Qi,th:ws,thead:$i,tr:Ki});function lo(e,t,a){let o=W(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&ze(o.value.charAt(0)))}function qi(e,t,a){let o=W(a,t);return!o||o.type!=="comment"}function Hi(e,t,a){let o=W(a,t);return!o||o.type!=="comment"}function Ui(e,t,a){let o=W(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 Gi(e,t,a){let o=W(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Wi(e,t,a){let o=W(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function zi(e,t,a){let o=W(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function gs(e,t,a){let o=W(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Vi(e,t,a){let o=W(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function ji(e,t,a){let o=W(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function $i(e,t,a){let o=W(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function Xi(e,t,a){let o=W(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Qi(e,t,a){return!W(a,t)}function Ki(e,t,a){let o=W(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function ws(e,t,a){let o=W(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Ls=ca({body:Yi,colgroup:eu,head:Zi,html:Ji,tbody:tu});function Ji(e){let t=W(e,-1);return!t||t.type!=="comment"}function Zi(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 Yi(e){let t=W(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ze(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function eu(e,t,a){let o=no(a,t),r=W(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function tu(e,t,a){let o=no(a,t),r=W(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var pa={name:[[`
|
|
5
5
|
\f\r &/=>`.split(""),`
|
|
@@ -309,12 +309,19 @@ interface NextJsHandlerOptions {
|
|
|
309
309
|
* Logs request details, response codes, resolved URLs, and caught errors.
|
|
310
310
|
*/
|
|
311
311
|
debug?: boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Additional origins allowed for cross-origin requests.
|
|
314
|
+
* The WaniWani platform URL is always included by default.
|
|
315
|
+
*/
|
|
316
|
+
allowedOrigins?: string[];
|
|
312
317
|
}
|
|
313
318
|
interface NextJsHandlerResult {
|
|
314
319
|
/** GET handler: routes sub-paths (e.g. /resource for MCP widget content) */
|
|
315
320
|
GET: (request: Request) => Promise<Response>;
|
|
316
321
|
/** POST handler: proxies chat messages to the WaniWani API */
|
|
317
322
|
POST: (request: Request) => Promise<Response>;
|
|
323
|
+
/** OPTIONS handler: CORS preflight */
|
|
324
|
+
OPTIONS: (request: Request) => Response;
|
|
318
325
|
}
|
|
319
326
|
|
|
320
327
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function
|
|
1
|
+
function A(t,e){return e?(...n)=>console.log(`[waniwani:${t}]`,...n):()=>{}}function E(t){let e=new Set(t.map(n=>n.replace(/\/$/,"").toLowerCase()));return function(o,i){let s=i?.headers.get("origin"),h=s?.toLowerCase(),a=h&&e.has(h)?s??"":"";return o.headers.set("Access-Control-Allow-Origin",a),o.headers.set("Access-Control-Allow-Methods","GET, POST, OPTIONS"),o.headers.set("Access-Control-Allow-Headers","Content-Type, Authorization, X-Session-Id, X-Client-User-Agent"),o.headers.set("Access-Control-Expose-Headers","X-Session-Id"),o.headers.set("Vary","Origin"),o}}function I(t){return function(n,o,i){return t(new Response(JSON.stringify(n),{headers:{"Content-Type":"application/json"},status:o}),i)}}var b=class extends Error{constructor(n,o){super(n);this.status=o;this.name="WaniWaniError"}};function N(t){let e=t.headers,n=e.get("x-vercel-ip-city")??e.get("cf-ipcity")??void 0,o=n?F(n):void 0,i=e.get("x-vercel-ip-country")??e.get("cf-ipcountry")??void 0,s=e.get("x-vercel-ip-country-region")??void 0,h=e.get("x-vercel-ip-latitude")??e.get("cf-iplatitude")??void 0,a=e.get("x-vercel-ip-longitude")??e.get("cf-iplongitude")??void 0,f=e.get("x-vercel-ip-timezone")??e.get("cf-iptimezone")??void 0,p=e.get("x-real-ip")??e.get("x-forwarded-for")?.split(",")[0]?.trim()??e.get("cf-connecting-ip")??void 0;return{city:o,country:i,countryRegion:s,latitude:h,longitude:a,timezone:f,ip:p}}function F(t){try{return decodeURIComponent(t)}catch{return t}}function k(t){if(!t)return!1;let e=Array.isArray(t.content)&&t.content.length>0,n=typeof t.structuredContent=="object"&&t.structuredContent!==null&&Object.keys(t.structuredContent).length>0;return e||n}function W(t){if(!k(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 n=t.content.map(o=>o.type==="text"&&typeof o.text=="string"?o.text.trim():JSON.stringify(o,null,2)).filter(Boolean).join(`
|
|
2
2
|
|
|
3
|
-
`);
|
|
4
|
-
${
|
|
3
|
+
`);n&&e.push(`Content blocks:
|
|
4
|
+
${n}`)}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
|
|
7
|
+
`)}function L(t,e){if(!k(e))return t;let n=W(e);return n?[t,n].filter(Boolean).join(`
|
|
8
8
|
|
|
9
|
-
`):t}function
|
|
9
|
+
`):t}function J(t){let{apiKey:e,apiUrl:n,source:o,systemPrompt:i,maxSteps:s,beforeRequest:h,mcpServerUrl:a,resolveConfig:f,debug:p}=t,r=A("chat",p);return async function(l){r("\u2192 POST",l.url);try{let c=await l.json(),g=c.messages??[],x=c.sessionId,T=c.modelContext,y=i,v=c.visitorContext??null,O=N(l),H={geo:O,client:v};if(r("body parsed \u2014 messages:",g.length,"sessionId:",x??"(none)","geo:",JSON.stringify(O)),h){r("running beforeRequest hook");try{let d=await h({messages:g,sessionId:x,modelContext:T,request:l,visitor:H});d&&(d.messages&&(g=d.messages),d.systemPrompt!==void 0&&(y=d.systemPrompt),d.sessionId!==void 0&&(x=d.sessionId),d.modelContext!==void 0&&(T=d.modelContext)),r("beforeRequest hook done \u2014 messages:",g.length,"sessionId:",x??"(none)")}catch(d){console.error("[waniwani:chat] beforeRequest hook error:",d);let j=d instanceof b?d.status:400,D=d instanceof Error?d.message:"Request rejected";return r("\u2190 returning",j,"from hook error"),Response.json({error:D},{status:j})}}let u=a??(await f()).mcpServerUrl;r("mcpServerUrl:",u),y=L(y,T);let C=`${n}/api/mcp/chat`;r("forwarding to",C);let U=l.headers.get("user-agent"),m=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json",...e?{Authorization:`Bearer ${e}`}:{},...U?{"X-Client-User-Agent":U}:{}},body:JSON.stringify({messages:g,mcpServerUrl:u,sessionId:x,source:o,systemPrompt:y,maxSteps:s,visitor:H}),signal:l.signal});if(r("upstream response status:",m.status),!m.ok){let d=await m.text().catch(()=>"");return r("\u2190 returning",m.status,"upstream error:",d),new Response(d,{status:m.status,headers:{"Content-Type":m.headers.get("Content-Type")??"application/json"}})}let M=new Headers({"Content-Type":m.headers.get("Content-Type")??"text/event-stream"}),R=m.headers.get("x-session-id");return R&&M.set("x-session-id",R),r("\u2190 streaming response",m.status,"body null?",m.body===null),new Response(m.body,{status:m.status,headers:M})}catch(c){console.error("[waniwani:chat] handler error:",c);let g=c instanceof Error?c.message:"Unknown error occurred",x=c instanceof b?c.status:500;return r("\u2190 returning",x,"from caught error"),Response.json({error:g},{status:x})}}}function $(t){let{mcpServerUrl:e,resolveConfig:n,debug:o}=t,i=A("resource",o);return async function(h){i("\u2192 GET",h.toString());try{let a=h.searchParams.get("uri");if(i("uri:",a??"(missing)"),!a)return i("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let f=e??(await n()).mcpServerUrl;i("mcpServerUrl:",f);let p,r;try{[{createMCPClient:p},{StreamableHTTPClientTransport:r}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),i("MCP deps loaded")}catch(l){return console.error("[waniwani:resource] MCP deps import failed:",l),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}i("creating MCP client for",f);let w=await p({transport:new r(new URL(f))});try{i("reading resource:",a);let l=await w.readResource({uri:a});i("resource contents count:",l.contents.length);let c=l.contents[0];if(!c)return i("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let g;return"text"in c&&typeof c.text=="string"?g=c.text:"blob"in c&&typeof c.blob=="string"&&(g=atob(c.blob)),g?(i("\u2190 200 HTML length:",g.length),new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(i("\u2190 404 resource has no content, keys:",Object.keys(c)),Response.json({error:"Resource has no content"},{status:404}))}finally{await w.close(),i("MCP client closed")}}catch(a){console.error("[waniwani:resource] handler error:",a);let f=a instanceof Error?a.message:"Unknown error occurred",p=a instanceof b?a.status:500;return i("\u2190 returning",p,"from caught error"),Response.json({error:f},{status:p})}}}function B(t){let{mcpServerUrl:e,resolveConfig:n,debug:o,source:i}=t,s=A("tool",o);return async function(a){s("\u2192 POST",a.url);try{let f=await a.json(),{name:p,arguments:r}=f,w=a.headers.get("x-session-id")?.trim();if(!p||typeof p!="string")return s("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});s("tool:",p,"args:",JSON.stringify(r),"sessionId:",w||"(none)");let l=e??(await n()).mcpServerUrl;s("mcpServerUrl:",l);let c,g;try{[{Client:c},{StreamableHTTPClientTransport:g}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),s("MCP deps loaded")}catch(y){return console.error("[waniwani:tool] MCP deps import failed:",y),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}s("creating MCP client for",l);let x=new g(new URL(l)),T=new c({name:"waniwani-tool-caller",version:"1.0.0"});await T.connect(x);try{s("calling tool:",p);let y={};w&&(y["waniwani/sessionId"]=w),i&&(y["waniwani/source"]=i);let v=await T.callTool({name:p,arguments:r??{},...Object.keys(y).length>0?{_meta:y}:{}});return s("tool result received"),Response.json({content:v.content,structuredContent:v.structuredContent,_meta:v._meta,isError:v.isError})}finally{await T.close(),s("MCP client closed")}}catch(f){console.error("[waniwani:tool] handler error:",f);let p=f instanceof Error?f.message:"Unknown error occurred",r=f instanceof b?f.status:500;return s("\u2190 returning",r,"from caught error"),Response.json({error:p},{status:r})}}}var z=300*1e3;function _(t,e){let n=null,o=null;return async function(){if(n&&Date.now()<n.expiresAt)return n.config;if(o)return o;o=(async()=>{if(!e)throw new b("WANIWANI_API_KEY is required for createChatHandler",401);let s=await fetch(`${t}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});if(!s.ok){let a=await s.text().catch(()=>"");throw new b(`Failed to resolve MCP environment config: ${s.status} ${a}`,s.status)}let h=await s.json();return n={config:h,expiresAt:Date.now()+z},h})();try{return await o}finally{o=null}}}var V="https://app.waniwani.ai";function G(t={}){let{apiKey:e=process.env.WANIWANI_API_KEY,apiUrl:n=V,source:o,systemPrompt:i,maxSteps:s=5,beforeRequest:h,mcpServerUrl:a,allowedOrigins:f,debug:p=!1}=t,r=A("router",p),w=E([n,...f??[]]),l=I(w),c=_(n,e),g=J({apiKey:e,apiUrl:n,source:o,systemPrompt:i,maxSteps:s,beforeRequest:h,mcpServerUrl:a,resolveConfig:c,debug:p}),x=$({mcpServerUrl:a,resolveConfig:c,debug:p}),T=B({mcpServerUrl:a,resolveConfig:c,debug:p,source:o}),y=process.env.WANIWANI_EVAL==="1";async function v(u){r("\u2192 GET",u.url);try{let C=new URL(u.url),m=C.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",C.pathname,"subRoute:",m),y&&m==="scenarios"){r("dispatching to scenarios handler (proxy to app API)");try{let R=await(await fetch(`${n}/api/mcp/scenarios`,{headers:{...e?{Authorization:`Bearer ${e}`}:{}}})).json();return l(R.data??R,200,u)}catch{return l([],200,u)}}if(m==="resource"){r("dispatching to resource handler");let M=await x(C);return r("\u2190 resource handler returned",M.status),w(M,u)}return m==="config"?(r("dispatching to config handler"),l({debug:p,eval:y},200,u)):(r("\u2190 404 no matching sub-route for",m),l({error:"Not found"},404,u))}catch(C){console.error("[waniwani:router] GET handler error:",C);let U=C instanceof Error?C.message:"Unknown error occurred";return r("\u2190 500 from caught error"),l({error:U},500,u)}}async function O(u){r("\u2192 POST",u.url);try{let C=new URL(u.url),m=C.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(r("pathname:",C.pathname,"subRoute:",m),y&&m==="scenarios"){r("dispatching to save-scenario handler (proxy to app API)");try{let R=await u.json(),d=await fetch(`${n}/api/mcp/scenarios`,{method:"POST",headers:{"Content-Type":"application/json",...e?{Authorization:`Bearer ${e}`}:{}},body:JSON.stringify(R)}),j=await d.json();return d.ok?l({ok:!0,scenario:j.data},200,u):l({error:j.message??"Failed to save scenario"},d.status,u)}catch(R){let d=R instanceof Error?R.message:"Failed to save scenario";return l({error:d},400,u)}}if(m==="tool"){r("dispatching to tool handler");let R=await T(u);return r("\u2190 tool handler returned",R.status),w(R,u)}r("dispatching to chat handler");let M=await g(u);return w(M,u)}catch(C){console.error("[waniwani:router] POST handler error:",C);let U=C instanceof Error?C.message:"Unknown error occurred";return r("\u2190 500 from caught error"),l({error:U},500,u)}}function H(u){return w(new Response(null,{status:204}),u)}return{handleChat:g,handleResource:x,handleTool:T,routeGet:v,routePost:O,handleOptions:H}}function ke(t,e){let{apiKey:n,apiUrl:o}=t._config,i=e?.debug??process.env.WANIWANI_DEBUG==="1",s=G({...e?.chat,apiKey:n,apiUrl:o,source:e?.source,allowedOrigins:e?.allowedOrigins,debug:i});return{POST:s.routePost,GET:s.routeGet,OPTIONS:h=>s.handleOptions(h)}}export{ke as toNextJsHandler};
|
|
10
10
|
//# sourceMappingURL=index.js.map
|