@easbot/utils 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,73 +1,69 @@
1
- import {c as c$1,b,a}from'./chunks/chunk-LYQR4HCW.mjs';import {k,c,e,f,d,i}from'./chunks/chunk-MNR22ADH.mjs';import J,{mkdir,readFile,writeFile,chmod}from'fs/promises';import me,{dirname,extname,join,isAbsolute,resolve,relative,sep}from'path';import Xe,{z as z$1}from'zod';export{z}from'zod';import {randomBytes,createHash}from'crypto';import xe,{existsSync,statSync,createWriteStream,realpathSync,readdirSync}from'fs';import {Readable}from'stream';import {pipeline}from'stream/promises';import {minimatch}from'minimatch';import jr from'os';import {config}from'dotenv';import {spawn,execSync}from'child_process';import {createRequire}from'module';import {Hono}from'hono';export{Hono}from'hono';import {createServer,STATUS_CODES}from'http';import {Http2ServerRequest,constants}from'http2';import {defineWebSocketHelper}from'hono/ws';import {createNodeWebSocket}from'@hono/node-ws';export{createNodeWebSocket}from'@hono/node-ws';import {streamSSE}from'hono/streaming';import {cors}from'hono/cors';export{cors}from'hono/cors';import {logger}from'hono/logger';export{logger}from'hono/logger';import {compress}from'hono/compress';export{compress}from'hono/compress';import {secureHeaders}from'hono/secure-headers';export{secureHeaders}from'hono/secure-headers';import {timeout}from'hono/timeout';export{timeout}from'hono/timeout';import {HTTPException}from'hono/http-exception';export{HTTPException}from'hono/http-exception';import {validator}from'hono/validator';export{validator}from'hono/validator';import {fileURLToPath}from'url';import ri from'markdown-it';import Wn from'yaml';import {AsyncLocalStorage}from'async_hooks';import Ji from'cross-spawn';import {buffer}from'stream/consumers';k();k();function Zn(e,t){for(let n=e.length-1;n>=0;n-=1){let r=e[n];if(r!==void 0&&t(r,n,e))return r}}k();var Bt;(n=>{function e(r,o,i){let a=0,s=r.length-1;for(;a<=s;){let c=Math.floor((a+s)/2),u=r[c];if(u===void 0)break;let l=i(u);if(l===o)return {found:true,index:c};l<o?a=c+1:s=c-1;}return {found:false,index:a}}n.search=e;function t(r,o,i){let a=i(o),s=0,c=r.length;for(;s<c;){let u=Math.floor((s+c)/2),l=r[u];if(l===void 0)break;i(l)<a?s=u+1:c=u;}return r.splice(s,0,o),r}n.insert=t;})(Bt||(Bt={}));k();var At;(i=>{function e(a){let s=new TextEncoder().encode(a),c=Array.from(s,u=>String.fromCharCode(u)).join("");return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}i.base64Encode=e;function t(a){let s=atob(a.replace(/-/g,"+").replace(/_/g,"/")),c=Uint8Array.from(s,u=>u.charCodeAt(0));return new TextDecoder().decode(c)}i.base64Decode=t;async function n(a,s="SHA-256"){let u=new TextEncoder().encode(a),l=await crypto.subtle.digest(s,u);return Array.from(new Uint8Array(l)).map(h=>h.toString(16).padStart(2,"0")).join("")}i.hash=n;function r(a){if(!a)return;let s=2166136261;for(let c=0;c<a.length;c++)s^=a.charCodeAt(c),s=Math.imul(s,16777619);return (s>>>0).toString(36)}i.checksum=r;function o(a,s=5e5){if(!a)return;if(a.length<=s)return r(a);let c=4096,l=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-c].map(d=>{let f=Math.max(0,Math.min(a.length-c,d-Math.floor(c/2)));return r(a.slice(f,f+c))??""}).join(":");return `${a.length}:${l}`}i.sampledChecksum=o;})(At||(At={}));k();k();var _e;(d=>{let e={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",command:"cmd",task:"task",heartbeat:"hb",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(f){return Xe.string().startsWith(e[f])}d.schema=t;let n=26,r=0,o=0;function i(f,h){return s(f,false,h)}d.ascending=i;function a(f,h){return s(f,true,h)}d.descending=a;function s(f,h,w){if(!w)return u(f,h);if(!w.startsWith(e[f]))throw new Error(`ID ${w} does not start with ${e[f]}`);return w}function c(f){let h="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",w="",y=randomBytes(f);for(let v=0;v<f;v++){let L=y[v];L!==void 0&&(w+=h[L%62]);}return w}function u(f,h,w){let y=w??Date.now();y!==r&&(r=y,o=0),o++;let v=BigInt(y)*BigInt(4096)+BigInt(o);v=h?~v:v;let L=Buffer.alloc(6);for(let N=0;N<6;N++)L[N]=Number(v>>BigInt(40-8*N)&BigInt(255));return e[f]+"_"+L.toString("hex")+c(n-12)}d.create=u;function l(f){let h=f.split("_")[0];if(!h)return 0;let w=f.slice(h.length+1,h.length+13),y=BigInt("0x"+w);return Number(y/BigInt(4096))}d.timestamp=l;})(_e||(_e={}));var Lt;(s=>{s.DIR=me.join("data","context-truncate"),s.DEFAULT_MAX_CHARS=4e3,s.DIRECTION="head";function r(c,u,l){return l?`[Content truncated. Source: ${l}
2
- Full ${u} saved to: ${c}
3
- Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${u} saved to: ${c}
4
- Use Read tool with offset/limit parameters to view specific sections.]`}function o(c,u={}){let l=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",h=u.sourcePath;if(c.length<=l)return {content:c,truncated:false};let w=c.length-l,y;d==="head"?y=c.slice(0,l):y=c.slice(-l);let v=r("[save-path]",f,h),L=d==="head"?`
1
+ import {c as c$1,b,a}from'./chunks/chunk-LYQR4HCW.mjs';import {k,c,i}from'./chunks/chunk-MNR22ADH.mjs';import Y,{mkdir,readFile,writeFile,chmod}from'fs/promises';import oe,{dirname,extname,join,isAbsolute,resolve,relative,sep}from'path';import Pe,{z as z$1}from'zod';export{z}from'zod';import {randomBytes,createHash}from'crypto';import le,{existsSync,statSync,createWriteStream,realpathSync,readdirSync}from'fs';import {Readable}from'stream';import {pipeline}from'stream/promises';import {minimatch}from'minimatch';import er from'os';import {config}from'dotenv';import {spawn,execSync}from'child_process';import {createRequire}from'module';import {Hono}from'hono';export{Hono}from'hono';import {serve}from'@hono/node-server';import {createNodeWebSocket}from'@hono/node-ws';export{createNodeWebSocket}from'@hono/node-ws';import {streamSSE}from'hono/streaming';import {cors}from'hono/cors';export{cors}from'hono/cors';import {logger}from'hono/logger';export{logger}from'hono/logger';import {compress}from'hono/compress';export{compress}from'hono/compress';import {secureHeaders}from'hono/secure-headers';export{secureHeaders}from'hono/secure-headers';import {timeout}from'hono/timeout';export{timeout}from'hono/timeout';import {HTTPException}from'hono/http-exception';export{HTTPException}from'hono/http-exception';export{validator}from'hono/validator';import {zValidator}from'@hono/zod-validator';export{zValidator}from'@hono/zod-validator';import {fileURLToPath}from'url';import ho from'markdown-it';import Nr from'yaml';import {AsyncLocalStorage}from'async_hooks';import us from'cross-spawn';import {buffer}from'stream/consumers';k();k();function Gr(e,t){for(let r=e.length-1;r>=0;r-=1){let n=e[r];if(n!==void 0&&t(n,r,e))return n}}k();var nt;(r=>{function e(n,o,i){let l=0,s=n.length-1;for(;l<=s;){let a=Math.floor((l+s)/2),u=n[a];if(u===void 0)break;let c=i(u);if(c===o)return {found:true,index:a};c<o?l=a+1:s=a-1;}return {found:false,index:l}}r.search=e;function t(n,o,i){let l=i(o),s=0,a=n.length;for(;s<a;){let u=Math.floor((s+a)/2),c=n[u];if(c===void 0)break;i(c)<l?s=u+1:a=u;}return n.splice(s,0,o),n}r.insert=t;})(nt||(nt={}));k();var ot;(i=>{function e(l){let s=new TextEncoder().encode(l),a=Array.from(s,u=>String.fromCharCode(u)).join("");return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}i.base64Encode=e;function t(l){let s=atob(l.replace(/-/g,"+").replace(/_/g,"/")),a=Uint8Array.from(s,u=>u.charCodeAt(0));return new TextDecoder().decode(a)}i.base64Decode=t;async function r(l,s="SHA-256"){let u=new TextEncoder().encode(l),c=await crypto.subtle.digest(s,u);return Array.from(new Uint8Array(c)).map(y=>y.toString(16).padStart(2,"0")).join("")}i.hash=r;function n(l){if(!l)return;let s=2166136261;for(let a=0;a<l.length;a++)s^=l.charCodeAt(a),s=Math.imul(s,16777619);return (s>>>0).toString(36)}i.checksum=n;function o(l,s=5e5){if(!l)return;if(l.length<=s)return n(l);let a=4096,c=[0,Math.floor(l.length*.25),Math.floor(l.length*.5),Math.floor(l.length*.75),l.length-a].map(d=>{let f=Math.max(0,Math.min(l.length-a,d-Math.floor(a/2)));return n(l.slice(f,f+a))??""}).join(":");return `${l.length}:${c}`}i.sampledChecksum=o;})(ot||(ot={}));k();k();var ye;(d=>{let e={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",command:"cmd",task:"task",heartbeat:"hb",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(f){return Pe.string().startsWith(e[f])}d.schema=t;let r=26,n=0,o=0;function i(f,y){return s(f,false,y)}d.ascending=i;function l(f,y){return s(f,true,y)}d.descending=l;function s(f,y,S){if(!S)return u(f,y);if(!S.startsWith(e[f]))throw new Error(`ID ${S} does not start with ${e[f]}`);return S}function a(f){let y="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",S="",b=randomBytes(f);for(let k=0;k<f;k++){let L=b[k];L!==void 0&&(S+=y[L%62]);}return S}function u(f,y,S){let b=S??Date.now();b!==n&&(n=b,o=0),o++;let k=BigInt(b)*BigInt(4096)+BigInt(o);k=y?~k:k;let L=Buffer.alloc(6);for(let N=0;N<6;N++)L[N]=Number(k>>BigInt(40-8*N)&BigInt(255));return e[f]+"_"+L.toString("hex")+a(r-12)}d.create=u;function c(f){let y=f.split("_")[0];if(!y)return 0;let S=f.slice(y.length+1,y.length+13),b=BigInt("0x"+S);return Number(b/BigInt(4096))}d.timestamp=c;})(ye||(ye={}));var st;(s=>{s.DIR=oe.join("data","context-truncate"),s.DEFAULT_MAX_CHARS=4e3,s.DIRECTION="head";function n(a,u,c){return c?`[Content truncated. Source: ${c}
2
+ Full ${u} saved to: ${a}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${u} saved to: ${a}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}function o(a,u={}){let c=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",y=u.sourcePath;if(a.length<=c)return {content:a,truncated:false};let S=a.length-c,b;d==="head"?b=a.slice(0,c):b=a.slice(-c);let k=n("[save-path]",f,y),L=d==="head"?`
5
5
 
6
- ...${w} characters truncated...
6
+ ...${S} characters truncated...
7
7
 
8
- ${v}`:`
8
+ ${k}`:`
9
9
 
10
- ...${w} characters truncated...
10
+ ...${S} characters truncated...
11
11
 
12
- ${v}`;return {content:y+L,truncated:true,outputPath:"[save-path]",originalLength:c.length,removedLength:w,label:f}}s.truncate=o;async function i(c,u={}){let l=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",h=u.dir??s.DIR,w=u.sourcePath;if(c.length<=l)return {content:c,truncated:false};let y=_e.ascending("context"),v=me.join(h,y);await J.mkdir(h,{recursive:true}).catch(()=>{}),await J.writeFile(v,c,"utf-8");let L=c.length-l,N;d==="head"?N=c.slice(0,l):N=c.slice(-l);let ae=r(v,f,w),Ot=d==="head"?`
12
+ ${k}`;return {content:b+L,truncated:true,outputPath:"[save-path]",originalLength:a.length,removedLength:S,label:f}}s.truncate=o;async function i(a,u={}){let c=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",y=u.dir??s.DIR,S=u.sourcePath;if(a.length<=c)return {content:a,truncated:false};let b=ye.ascending("context"),k=oe.join(y,b);await Y.mkdir(y,{recursive:true}).catch(()=>{}),await Y.writeFile(k,a,"utf-8");let L=a.length-c,N;d==="head"?N=a.slice(0,c):N=a.slice(-c);let te=n(k,f,S),tt=d==="head"?`
13
13
 
14
14
  ...${L} characters truncated...
15
15
 
16
- ${ae}`:`
16
+ ${te}`:`
17
17
 
18
18
  ...${L} characters truncated...
19
19
 
20
- ${ae}`;return {content:N+Ot,truncated:true,outputPath:v,originalLength:c.length,removedLength:L,label:f}}s.truncateAndSave=i;function a(c){return c.truncated?r(c.outputPath,c.label):""}s.formatHint=a;})(Lt||(Lt={}));k();function Ft(e,t=true){let n=typeof e=="number"?new Date(e):e,r=n.getTimezoneOffset(),o=Math.floor(Math.abs(r)/60),i=Math.abs(r)%60,s=`${r<=0?"+":"-"}${String(o).padStart(2,"0")}:${String(i).padStart(2,"0")}`,c=n.getFullYear(),u=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),d=String(n.getHours()).padStart(2,"0"),f=String(n.getMinutes()).padStart(2,"0"),h=String(n.getSeconds()).padStart(2,"0"),w=`${c}-${u}-${l}T${d}:${f}:${h}`;if(t){let y=String(n.getMilliseconds()).padStart(3,"0");w+=`.${y}`;}return w+=s,w}function eo(e){return Ft(e,false)}function Br(){return Date.now()}function to(e=true){return Ft(Br(),e)}function ro(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function no(e){let t=typeof e=="number"?new Date(e):e,n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return `${n}-${r}-${o}T${i}:${a}:${s}`}function oo(e=new Date){let t=e.getTimezoneOffset(),n=Math.floor(Math.abs(t)/60),r=Math.abs(t)%60;return `${t<=0?"+":"-"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`}k();var Ne=class Ne extends Error{static create(t,n){var i;let r=Xe.object({name:Xe.literal(t),data:n}).meta({ref:t}),o=(i=class extends Ne{constructor(s,c$1){super(t,c$1);c(this,"data",s);c(this,"name",t);this.name=t;}static isInstance(s){return typeof s=="object"&&"name"in s&&s.name===t}schema(){return r}toObject(){return {name:t,data:this.data}}},c(i,"Schema",r),i);return Object.defineProperty(o,"name",{value:t}),o}};c(Ne,"Unknown",Ne.create("UnknownError",Xe.object({message:Xe.string()})));var De=Ne;k();k();var We;(c=>{function e(u){return {...u,follow:u.symlink??false,nodir:u.include!=="all",maxDepth:u.maxDepth??20}}async function t(u,l={}){return b(u,e(l))}c.scan=t;function n(u,l={}){return a(u,e(l))}c.scanSync=n;function r(u,l){return minimatch(l,u,{dot:true})}c.match=r;async function o(u){try{let l=await J.readFile(u,"utf-8");return i(l)}catch{return []}}c.parseGitignore=o;function i(u){let l=[],d=u.split(/\r?\n/);for(let f of d){let h=f.trim();if(!h||h.startsWith("#")||h.startsWith("!"))continue;let w=h;w.endsWith("/")&&(w=w+"**"),!w.includes("*")&&!w.includes("?")&&(w="**/"+w+"/**"),l.push(w);}return l}c.parseGitignoreContent=i;function a$1(u,l){for(let d of l)if(minimatch(u,d,{dot:true})||minimatch(u,d+"/**",{dot:true}))return true;return false}c.isIgnored=a$1,c.DEFAULT_IGNORE_PATTERNS=["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/__pycache__/**","**/*.min.js","**/*.min.ts","**/coverage/**","**/data/**","**/*.db","**/logs/**","**/*.log","**/.DS_Store","**/Thumbs.db"];})(We||(We={}));var mo=sep,Nt=mo==="\\";var ho={".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".mjs":"application/javascript",".json":"application/json",".xml":"application/xml",".txt":"text/plain",".md":"text/markdown",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".mp3":"audio/mpeg",".mp4":"video/mp4",".wasm":"application/wasm",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".eot":"application/vnd.ms-fontobject"},Re;(Cr=>{async function e(g,I){await mkdir(g,{recursive:I?.recursive??true});}Cr.mkdir=e;async function t(g){return existsSync(g)}Cr.exists=t;async function n(g){try{return statSync(g).isDirectory()}catch{return false}}Cr.isDir=n;function r(g){return statSync(g,{throwIfNoEntry:false})??void 0}Cr.stat=r;async function o(g){let I=r(g)?.size??0;return typeof I=="bigint"?Number(I):I}Cr.size=o;async function i(g){return readFile(g,"utf-8")}Cr.readText=i;async function a(g){return JSON.parse(await readFile(g,"utf-8"))}Cr.readJson=a;async function s(g){return readFile(g)}Cr.readBytes=s;async function c(g){let I=await readFile(g);return I.buffer.slice(I.byteOffset,I.byteOffset+I.byteLength)}Cr.readArrayBuffer=c;function u(g){return typeof g=="object"&&g!==null&&"code"in g&&g.code==="ENOENT"}async function l(g,I,F){try{F?await writeFile(g,I,{mode:F}):await writeFile(g,I);}catch(j){if(u(j)){await mkdir(dirname(g),{recursive:true}),F?await writeFile(g,I,{mode:F}):await writeFile(g,I);return}throw j}}Cr.write=l;async function d(g,I,F){return l(g,JSON.stringify(I,null,2),F)}Cr.writeJson=d;async function f(g,I,F){let j=dirname(g);existsSync(j)||await mkdir(j,{recursive:true});let q=I instanceof ReadableStream?Readable.fromWeb(I):I,Y=createWriteStream(g);await pipeline(q,Y),F&&await chmod(g,F);}Cr.writeStream=f;function h(g){let I=extname(g).toLowerCase();return ho[I]||"application/octet-stream"}Cr.mimeType=h;function w(g){return g.replace(/\\/g,"/")}Cr.toUnixPath=w;function y(g){if(g.startsWith("~/")||g==="~"?g=join(jr.homedir(),g.slice(1)):isAbsolute(g)||(g=resolve(g)),Nt&&(g=N(g)),g=w(g),Nt)try{g=realpathSync.native(g),g=w(g);}catch{}return g}Cr.normalize=y,Cr.normalizePath=y;function L(g){return g.startsWith("~/")||g==="~"?g=join(jr.homedir(),g.slice(1)):isAbsolute(g)||(g=resolve(g)),Nt&&(g=N(g)),w(g)}Cr.resolve=L;function N(g){return process.platform!=="win32"?g:g.replace(/^\/([a-zA-Z]):(?:[\\/]|$)/,(I,F)=>`${F.toUpperCase()}:/`).replace(/^\/([a-zA-Z])(?:\/|$)/,(I,F)=>`${F.toUpperCase()}:/`).replace(/^\/cygdrive\/([a-zA-Z])(?:\/|$)/,(I,F)=>`${F.toUpperCase()}:/`).replace(/^\/mnt\/([a-zA-Z])(?:\/|$)/,(I,F)=>`${F.toUpperCase()}:/`)}Cr.windowsPath=N;function ae(g,I){let F=y(g),j=y(I),q=relative(F,j),Y=relative(j,F);return !q?.startsWith("..")||!Y?.startsWith("..")}Cr.overlaps=ae;function Ot(g,I){let F=y(g),j=y(I);return !relative(F,j).startsWith("..")}Cr.contains=Ot;async function Gn(g,I,F){let j=y(I),q=F?y(F):void 0,Y=[];for(;;){let re=join(j,g);if(await t(re)&&Y.push(re),q&&j===q)break;let he=w(dirname(j));if(he===j)break;j=he;}return Y}Cr.findUp=Gn;async function*Yn(g){let{targets:I,start:F,stop:j}=g,q=y(F),Y=j?y(j):void 0;for(;;){for(let he of I){let It=join(q,he);await t(It)&&(yield It);}if(Y&&q===Y)break;let re=w(dirname(q));if(re===q)break;q=re;}}Cr.up=Yn;async function Kn(g,I,F){let j=y(I),q=F?y(F):void 0,Y=[];for(;;){try{let he=await We.scan(g,{cwd:j,absolute:!0,include:"file",dot:!0});Y.push(...he);}catch{}if(q&&j===q)break;let re=w(dirname(j));if(re===j)break;j=re;}return Y}Cr.globUp=Kn;})(Re||(Re={}));k();var Dt;(t=>{function e(n){return new Wt(n)}t.create=e;})(Dt||(Dt={}));var Wt=class{constructor(t){c(this,"rules",[]);c(this,"ignorecase");c(this,"debug");this.ignorecase=t?.ignorecase??false,this.debug=t?.debug??false;}add(t){let n=typeof t=="string"?t.split(`
21
- `):t;for(let r=0;r<n.length;r++){let o=n[r];this.parseRule(o,r+1);}return this}parseRule(t,n){let r=t;if(r.length===0||r.startsWith("#"))return;let i=r.startsWith("!");if(i&&(r=r.slice(1)),r=r.trimEnd(),r.length===0)return;if(r.startsWith("\\#")){r=r.slice(1);return}if(r.startsWith("#"))return;let s=r.endsWith("/");if(s&&(r=r.slice(0,-1)),r.length===0)return;let c=this.patternToRegex(r);c&&this.rules.push({pattern:r,regex:c,negative:i,isDirectory:s,original:t,lineNumber:n});}ignores(t,n){let r=this.normalizePath(t),o=n??t.endsWith("/"),i=this.checkIgnore(r,o);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${o}) => ${i}`),i}checkIgnore(t,n){let r=false;for(let o of this.rules)o.isDirectory&&!n||o.regex.test(t)&&(o.negative?r=false:r=true);return r}filter(t){return t.filter(n=>!this.ignores(n))}createFilter(){return t=>!this.ignores(t)}patternToRegex(t){let n=[],r=0,o=t.length;for(;r<o;){let u=t[r];if(u==="\\")if(r+1<o){let l=t[r+1];n.push(this.escapeRegexChar(l)),r+=2;continue}else {n.push("\\\\"),r++;continue}if(u==="*")if(r+1<o&&t[r+1]==="*")if(r+2<o&&t[r+2]==="/")if(r===0||t[r-1]==="/")if(r+3>=o){n.push(".*"),r+=3;continue}else {n.push(".*"),r+=3;continue}else {n.push(".*"),r+=3;continue}else if(r===0||t[r-1]==="/")if(r+2>=o){n.push(".*"),r+=2;continue}else {n.push("(?:/.*)*"),r+=2;continue}else {n.push(".*"),r+=2;continue}else {n.push("[^/]*"),r++;continue}if(u==="?"){n.push("[^/]"),r++;continue}if(u==="["){let l=this.findMatchingBracket(t,r);if(l!==-1){let d=t.slice(r,l+1);(d.startsWith("[!")||d.startsWith("[^"))&&(d="[^"+d.slice(2)),this.ignorecase&&(d=d.toLowerCase()),n.push(d),r=l+1;continue}}if(u==="/"){n.push("/"),r++;continue}if(".+$^{}|()".includes(u)){n.push("\\"+u),r++;continue}if(this.ignorecase&&u>="A"&&u<="Z"){n.push("["+u.toLowerCase()+u+"]"),r++;continue}n.push(u),r++;}let i=n.join(""),a=i.startsWith("/"),s=i.endsWith("/")&&!i.endsWith("\\/");a||(i="(?:.*/)?"+i),s&&(i=i.slice(0,-1)),!s&&!i.endsWith("(?:/.*)*")&&(i="(?:"+i+")(?:/.*)?");let c=this.ignorecase?"i":"";try{return new RegExp("^"+i+"$",c)}catch(u){return this.debug&&console.error(`Failed to create regex for pattern "${t}":`,u),null}}escapeRegexChar(t){return "\\[]{}().+^$|".includes(t)?"\\"+t:t}findMatchingBracket(t,n){let r=n+1,o=t.length;for((r>=o||t[r]==="!"||t[r]==="^")&&r++;r<o;){let i=t[r];if(i==="\\"&&r+1<o){r+=2;continue}if(i==="]")return r;if(r+2<o&&t[r+1]==="-"&&t[r+2]!=="]"){r+=3;continue}r++;}return -1}normalizePath(t){let n=t.replace(/\\/g,"/");if(n==="/")return "";for(;n.startsWith("./");)n=n.slice(2);return n}};k();function _r(e,t){let n=r=>{let o;try{o=e.parse(r);}catch(i){throw console.trace("schema validation failure stack trace:"),i instanceof z$1.ZodError&&console.error("schema validation issues:",JSON.stringify(i.issues,null,2)),i}return t(o)};return n.force=r=>t(r),n.schema=e,n}var bo=_r,zt;(t=>t.fn=_r)(zt||(zt={}));k();function So(){let n=me.join(process.cwd(),".env");existsSync(n)&&config({path:n,override:true,debug:false,encoding:"utf-8",quiet:true});}k();k();k();k();k();k();var Nr="x-hono-already-sent";var Q=class extends Error{constructor(e,t){super(e,t),this.name="RequestError";}},Eo=/^\/[!#$&-;=?-\[\]_a-z~]*$/,Po=/\/\.\.?(?:[/?#]|$)/,Mo=/^[a-z0-9._-]+(?::(?:[1-5]\d{3,4}|[6-9]\d{3}))?$/,Co=(e,t,n)=>{let r=`${e}://${t}${n}`;if(Mo.test(t)){if(n.length===0)return r+"/";if(n.charCodeAt(0)!==47)throw new Q("Invalid URL");return !Eo.test(n)||Po.test(n)?new URL(r).href:r}else {let o=new URL(r);if(o.hostname.length!==t.length&&o.hostname!==(t.includes(":")?t.replace(/:\d+$/,""):t).toLowerCase())throw new Q("Invalid host header");return o.href}},Oo=e=>e instanceof Q?e:new Q(e.message,{cause:e}),Io=global.Request,Ce=class extends Io{constructor(e,t){if(typeof e=="object"&&fe in e){let n=t!==void 0&&"body"in t&&t.body!=null;if(e[se]&&!n)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");e=e[fe]();}typeof t?.body?.getReader<"u"&&(t.duplex??(t.duplex="half")),super(e,t);}},qr=e=>{let t=[],n=e.rawHeaders;for(let r=0,o=n.length;r<o;r+=2){let i=n[r];i.charCodeAt(0)!==58&&t.push([i,n[r+1]]);}return new Headers(t)},Vr=Symbol("wrapBodyStream"),Bo=(e,t,n,r,o)=>{let i={method:e,headers:n,signal:o.signal};if(e==="TRACE"){i.method="GET";let a=new Ce(t,i);return Object.defineProperty(a,"method",{get(){return "TRACE"}}),a}if(!(e==="GET"||e==="HEAD"))if("rawBody"in r&&r.rawBody instanceof Buffer)i.body=new ReadableStream({start(a){a.enqueue(r.rawBody),a.close();}});else if(r[Vr]){let a;i.body=new ReadableStream({async pull(s){try{a||(a=Readable.toWeb(r).getReader());let{done:c,value:u}=await a.read();c?s.close():s.enqueue(u);}catch(c){s.error(c);}}});}else i.body=Readable.toWeb(r);return new Ce(t,i)},fe=Symbol("getRequestCache"),ne=Symbol("requestCache"),Oe=Symbol("incomingKey"),Ve=Symbol("urlKey"),Gr=Symbol("methodKey"),Ee=Symbol("headersKey"),ge=Symbol("abortControllerKey"),Ut=Symbol("getAbortController"),qt=Symbol("abortRequest"),Pe=Symbol("bodyBuffer"),pt=Symbol("bodyReadPromise"),se=Symbol("bodyConsumedDirectly"),Dr=Symbol("bodyLockReader"),He=Symbol("abortReason"),Yr=()=>new TypeError("Body is unusable"),Ye=()=>Promise.reject(Yr()),Ao=new TextDecoder,Lo=e=>{if(e[se])return Ye();e[se]=true;},Fo=e=>e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),$o=e=>(e[Ee]||(e[Ee]=qr(e[Oe]))).get("content-type")||"",jo=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,_o=e=>{if(typeof e!="string"||e.length===0)return "GET";switch(e){case "DELETE":case "GET":case "HEAD":case "OPTIONS":case "POST":case "PUT":return e}let t=e.toUpperCase();switch(t){case "DELETE":case "GET":case "HEAD":case "OPTIONS":case "POST":case "PUT":return t;default:return e}},No=e=>{if(!jo.test(e))return new TypeError(`'${e}' is not a valid HTTP method.`);let t=e.toUpperCase();if(t==="CONNECT"||t==="TRACK"||t==="TRACE"&&e!=="TRACE")return new TypeError(`'${e}' HTTP method is unsupported.`)},Yt=(e,t,n)=>{if(e[se])return Ye();let r=e.method;if(r==="GET"||r==="HEAD")return e[fe]()[t]();let o=No(r);if(o)return Promise.reject(o);if(e[ne]&&r!=="TRACE")return e[ne][t]();let i=Lo(e);if(i)return i;let a=Do(e);if(a){let s=Promise.resolve(n(a,e));return e[Pe]=void 0,s}return Wo(e).then(s=>{let c=n(s,e);return e[Pe]=void 0,c})},Do=e=>{let t=e[Oe];if("rawBody"in t&&t.rawBody instanceof Buffer)return t.rawBody},Wo=e=>{if(e[Pe])return Promise.resolve(e[Pe]);if(e[pt])return e[pt];let t=e[Oe];if(Readable.isDisturbed(t))return Ye();let n=new Promise((r,o)=>{let i=[],a=false,s=h=>{a||(a=true,f(),h());},c=h=>{i.push(Buffer.isBuffer(h)?h:Buffer.from(h));},u=()=>{s(()=>{let h=i.length===1?i[0]:Buffer.concat(i);e[Pe]=h,r(h);});},l=h=>{s(()=>{o(h);});},d=()=>{if(t.readableEnded){u();return}s(()=>{if(t.errored){o(t.errored);return}let h=e[He];if(h!==void 0){o(h instanceof Error?h:new Error(String(h)));return}o(new Error("Client connection prematurely closed."));});},f=()=>{t.off("data",c),t.off("end",u),t.off("error",l),t.off("close",d),e[pt]=void 0;};t.on("data",c),t.on("end",u),t.on("error",l),t.on("close",d),queueMicrotask(()=>{a||(t.readableEnded?u():t.errored?l(t.errored):t.destroyed&&d());});});return e[pt]=n,n},te={get method(){return this[Gr]},get url(){return this[Ve]},get headers(){return this[Ee]||(this[Ee]=qr(this[Oe]))},[qt](e){this[He]===void 0&&(this[He]=e);let t=this[ge];t&&!t.signal.aborted&&t.abort(e);},[Ut](){return this[ge]||(this[ge]=new AbortController),this[He]!==void 0&&!this[ge].signal.aborted&&this[ge].abort(this[He]),this[ge]},[fe](){let e=this[Ut]();if(this[ne])return this[ne];let t=this.method;if(this[se]&&!(t==="GET"||t==="HEAD")){this[Pe]=void 0;let n={method:t==="TRACE"?"GET":t,headers:this.headers,signal:e.signal};t!=="TRACE"&&(n.body=new ReadableStream({start(o){o.close();}}),n.duplex="half");let r=new Ce(this[Ve],n);return t==="TRACE"&&Object.defineProperty(r,"method",{get(){return "TRACE"}}),this[ne]=r}return this[ne]=Bo(this.method,this[Ve],this.headers,this[Oe],e)},get body(){if(!this[se])return this[fe]().body;let e=this[fe]();return !this[Dr]&&e.body&&(this[Dr]=e.body.getReader()),e.body},get bodyUsed(){return this[se]?true:this[ne]?this[ne].bodyUsed:false}};Object.defineProperty(te,"signal",{get(){return this[Ut]().signal}});["cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","keepalive"].forEach(e=>{Object.defineProperty(te,e,{get(){return this[fe]()[e]}});});["clone","formData"].forEach(e=>{Object.defineProperty(te,e,{value:function(){if(this[se]){if(e==="clone")throw Yr();return Ye()}return this[fe]()[e]()}});});Object.defineProperty(te,"text",{value:function(){return Yt(this,"text",e=>Ao.decode(e))}});Object.defineProperty(te,"arrayBuffer",{value:function(){return Yt(this,"arrayBuffer",e=>Fo(e))}});Object.defineProperty(te,"blob",{value:function(){return Yt(this,"blob",(e,t)=>{let n=$o(t),r=n?{headers:{"content-type":n}}:void 0;return new Response(e,r).blob()})}});Object.defineProperty(te,"json",{value:function(){return this[se]?Ye():this.text().then(JSON.parse)}});Object.defineProperty(te,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,t,n){return `Request (lightweight) ${n({method:this.method,url:this.url,headers:this.headers,nativeRequest:this[ne]},{...t,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(te,Ce.prototype);var zo=(e,t)=>{let n=Object.create(te);n[Oe]=e,n[Gr]=_o(e.method);let r=e.url||"";if(r[0]!=="/"&&(r.startsWith("http://")||r.startsWith("https://"))){if(e instanceof Http2ServerRequest)throw new Q("Absolute URL for :path is not allowed in HTTP/2");try{n[Ve]=new URL(r).href;}catch(a){throw new Q("Invalid absolute URL",{cause:a})}return n}let o=(e instanceof Http2ServerRequest?e.authority:e.headers.host)||t;if(!o)throw new Q("Missing host header");let i;if(e instanceof Http2ServerRequest){if(i=e.scheme,!(i==="http"||i==="https"))throw new Q("Unsupported scheme")}else i=e.socket&&e.socket.encrypted?"https":"http";try{n[Ve]=Co(i,o,r);}catch(a){throw a instanceof Q?a:new Q("Invalid URL",{cause:a})}return n},ue="text/plain; charset=UTF-8",Ue=Symbol("responseCache"),Te=Symbol("getResponseCache"),de=Symbol("cache"),Kt=global.Response,Ge,oe,Me,ee=(Me=class{constructor(t,n){e(this,Ge);e(this,oe);let r;if(f(this,Ge,t),n instanceof Me){let o=n[Ue];if(o){f(this,oe,o),this[Te]();return}else f(this,oe,d(n,oe)),r=new Headers(d(n,oe).headers);}else f(this,oe,n);(t==null||typeof t=="string"||typeof t?.getReader<"u"||t instanceof Blob||t instanceof Uint8Array)&&(this[de]=[n?.status||200,t??null,r||n?.headers]);}[Te](){return delete this[de],this[Ue]||(this[Ue]=new Kt(d(this,Ge),d(this,oe)))}get headers(){let t=this[de];return t?(t[2]instanceof Headers||(t[2]=new Headers(t[2]||(t[1]===null?void 0:{"content-type":ue}))),t[2]):this[Te]().headers}get status(){return this[de]?.[0]??this[Te]().status}get ok(){let t=this.status;return t>=200&&t<300}},Ge=new WeakMap,oe=new WeakMap,Me);["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(e=>{Object.defineProperty(ee.prototype,e,{get(){return this[Te]()[e]}});});["arrayBuffer","blob","clone","formData","json","text"].forEach(e=>{Object.defineProperty(ee.prototype,e,{value:function(){return this[Te]()[e]()}});});Object.defineProperty(ee.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(e,t,n){return `Response (lightweight) ${n({status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[Ue]},{...t,depth:e==null?null:e-1})}`}});Object.setPrototypeOf(ee,Kt);Object.setPrototypeOf(ee.prototype,Kt.prototype);var Ho=/^https?:\/\/[!#-;=?-[\]_a-z~A-Z]+$/,Uo=e=>e instanceof URL?e.href:Ho.test(e)?e:new URL(e).href,qo=new Set([301,302,303,307,308]);Object.defineProperty(ee,"redirect",{value:function(t,n=302){if(!qo.has(n))throw new RangeError("Invalid status code");return new ee(null,{status:n,headers:{location:Uo(t)}})},writable:true,configurable:true});Object.defineProperty(ee,"json",{value:function(t,n){let r=JSON.stringify(t);if(r===void 0)throw new TypeError("The data is not JSON serializable");let o=n?.headers,i;return o?(i=new Headers(o),i.has("content-type")||i.set("content-type","application/json")):i={"content-type":"application/json"},new ee(r,{status:n?.status??200,statusText:n?.statusText,headers:i})},writable:true,configurable:true});async function Vo(e){return Promise.race([e,Promise.resolve().then(()=>Promise.resolve(void 0))])}function Kr(e,t,n){let r=s=>{e.cancel(s).catch(()=>{});};return t.on("close",r),t.on("error",r),(n??e.read()).then(a,o),e.closed.finally(()=>{t.off("close",r),t.off("error",r);});function o(s){s&&t.destroy(s);}function i(){e.read().then(a,o);}function a({done:s,value:c}){try{if(s)t.end();else if(!t.write(c))t.once("drain",i);else return e.read().then(a,o)}catch(u){o(u);}}}function Wr(e,t){if(e.locked)throw new TypeError("ReadableStream is locked.");return t.destroyed?void 0:Kr(e.getReader(),t)}var Vt=(e,t)=>{let n={};if(e instanceof Headers||(e=new Headers(e??void 0)),e.has("set-cookie")){let r=[];for(let[o,i]of e)o==="set-cookie"?r.push(i):n[o]=i;r.length>0&&(n["set-cookie"]=r);}else for(let[r,o]of e)n[r]=o;return t&&(n["content-type"]??(n["content-type"]=t)),n},mt=Symbol("outgoingEnded"),zr=Symbol("incomingDraining"),Go=500,Yo=64*1024*1024,Jr=e=>{let t=e;if(e.destroyed||t[zr])return;if(t[zr]=true,e instanceof Http2ServerRequest){try{e.stream?.close?.(constants.NGHTTP2_NO_ERROR);}catch{}return}let n=0,r=()=>{clearTimeout(i),e.off("data",a),e.off("end",r),e.off("error",r);},o=()=>{r();let s=e.socket;s&&!s.destroyed&&s.destroySoon();},i=setTimeout(o,Go);i.unref?.();let a=s=>{n+=s.length,n>Yo&&o();};e.on("data",a),e.on("end",r),e.on("error",r),e.resume();},Ko=(e,t,n,r)=>()=>{t.errored?e[qt](t.errored.toString()):n.writableFinished||e[qt]("Client connection prematurely closed."),r&&!t.readableEnded&&setTimeout(()=>{t.readableEnded||setTimeout(()=>{Jr(t);});});},Jo=e=>{if(!(de in e))return false;let t=e[de][1];return t===null||typeof t=="string"||t instanceof Uint8Array},Zo=()=>new Response(null,{status:400}),Zr=e=>new Response(null,{status:e instanceof Error&&(e.name==="TimeoutError"||e.constructor.name==="TimeoutError")?504:500}),ht=(e,t)=>{let n=e instanceof Error?e:new Error("unknown error",{cause:e});n.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(e),t.headersSent||t.writeHead(500,{"Content-Type":"text/plain"}),t.end(`Error: ${n.message}`),t.destroy(n));},Gt=e=>{"flushHeaders"in e&&e.writable&&e.flushHeaders();},Xr=async(e,t)=>{let[n,r,o]=e[de];if(!o){r===null?(t.writeHead(n),t.end()):typeof r=="string"?(t.writeHead(n,{"Content-Type":ue,"Content-Length":Buffer.byteLength(r)}),t.end(r)):r instanceof Uint8Array?(t.writeHead(n,{"Content-Type":ue,"Content-Length":r.byteLength}),t.end(r)):r instanceof Blob?(t.writeHead(n,{"Content-Type":ue,"Content-Length":r.size}),t.end(new Uint8Array(await r.arrayBuffer()))):(t.writeHead(n,{"Content-Type":ue}),Gt(t),await Wr(r,t)?.catch(a=>ht(a,t))),t[mt]?.();return}let i=false;if(o instanceof Headers)i=o.has("content-length"),o=Vt(o,r===null?void 0:ue);else if(Array.isArray(o)){let a=new Headers(o);i=a.has("content-length"),o=Vt(a,r===null?void 0:ue);}else for(let a in o)if(a.length===14&&a.toLowerCase()==="content-length"){i=true;break}i||(typeof r=="string"?o["Content-Length"]=Buffer.byteLength(r):r instanceof Uint8Array?o["Content-Length"]=r.byteLength:r instanceof Blob&&(o["Content-Length"]=r.size)),t.writeHead(n,o),r==null?t.end():typeof r=="string"||r instanceof Uint8Array?t.end(r):r instanceof Blob?t.end(new Uint8Array(await r.arrayBuffer())):(Gt(t),await Wr(r,t)?.catch(a=>ht(a,t))),t[mt]?.();},Qr=e=>typeof e.then=="function",Xo=async(e,t,n={})=>{if(Qr(e))if(n.errorHandler)try{e=await e;}catch(o){let i=await n.errorHandler(o);if(!i)return;e=i;}else e=await e.catch(Zr);if(de in e)return Xr(e,t);let r=Vt(e.headers,e.body===null?void 0:ue);if(e.body){let o=e.body.getReader(),i=[],a=false,s;if(r["transfer-encoding"]!=="chunked"){let c=2;for(let u=0;u<c;u++){s||(s=o.read());let l=await Vo(s).catch(d=>{console.error(d),a=true;});if(!l){if(u===1){await new Promise(d=>setTimeout(d)),c=3;continue}break}if(s=void 0,l.value&&i.push(l.value),l.done){a=true;break}}a&&!("content-length"in r)&&(r["content-length"]=i.reduce((u,l)=>u+l.length,0));}t.writeHead(e.status,r),i.forEach(c=>{t.write(c);}),a?t.end():(i.length===0&&Gt(t),await Kr(o,t,s));}else r[Nr]||(t.writeHead(e.status,r),t.end());t[mt]?.();},Qo=(e,t={})=>{let n=t.autoCleanupIncoming??true;return t.overrideGlobalObjects!==false&&global.Request!==Ce&&(Object.defineProperty(global,"Request",{value:Ce}),Object.defineProperty(global,"Response",{value:ee})),async(r,o)=>{let i,a,s=false,c=false,u=()=>{!a||c||(c=true,o.on("close",Ko(a,r,o,s)));};try{if(a=zo(r,t.hostname),s=n&&!(r.method==="GET"||r.method==="HEAD"),s&&(r[Vr]=!0,r instanceof Http2ServerRequest&&(o[mt]=()=>{r.readableEnded||setTimeout(()=>{r.readableEnded||setTimeout(()=>{r.destroy(),o.destroy();});});})),i=e(a,{incoming:r,outgoing:o}),!Qr(i)&&Jo(i))return s&&!r.readableEnded&&o.once("finish",()=>{r.readableEnded||Jr(r);}),Xr(i,o);u();}catch(l){if(i)return ht(l,o);if(t.errorHandler){if(u(),i=await t.errorHandler(a?l:Oo(l)),!i)return}else a?i=Zr(l):i=Zo();}try{return await Xo(i,o,t)}catch(l){return ht(l,o)}}},be,Ur,es=globalThis.CloseEvent??(Ur=class extends Event{constructor(t,n={}){super(t,n);e(this,be);f(this,be,n);}get wasClean(){return d(this,be).wasClean??false}get code(){return d(this,be).code??0}get reason(){return d(this,be).reason??""}},be=new WeakMap,Ur),ts=()=>Symbol("connection"),en=Symbol("CONNECTION_SYMBOL_KEY"),tn=Symbol("WAIT_FOR_WEBSOCKET_SYMBOL"),rs=new Set(["connection","content-length","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade","sec-websocket-accept","sec-websocket-extensions","sec-websocket-protocol"]),rn=(e,t)=>{t&&t.forEach((n,r)=>{rs.has(r.toLowerCase())||e.push(`${r}: ${n}`);});},Hr=(e,t,n)=>{let r=["Connection: close","Content-Length: 0"];rn(r,n),e.end(`HTTP/1.1 ${t.toString()} ${STATUS_CODES[t]??""}\r
22
- ${r.join(`\r
23
- `)}\r
24
- \r
25
- `);},ns=e=>{let t=e.socket.encrypted?"https":"http",n=new URL(e.url??"/",`${t}://${e.headers.host??"localhost"}`),r=new Headers;for(let o in e.headers){let i=e.headers[o];i&&r.append(o,Array.isArray(i)?i[0]:i);}return new Request(n,{headers:r})},os=e=>{let{server:t,fetchCallback:n,wss:r}=e,o=new Map;r.on("connection",(a,s)=>{let c=o.get(s);c&&(c.resolve(a),o.delete(s));});let i=(a,s)=>new Promise(c=>{o.set(a,{resolve:c,connectionSymbol:s});});t.on("upgrade",async(a,s,c)=>{if(a.headers.upgrade?.toLowerCase()!=="websocket")return;let u={incoming:a,outgoing:void 0,wss:r,[tn]:i},l=400,d;try{let w=await n(ns(a),u);w instanceof Response&&(l=w.status,d=w.headers);}catch{t.listenerCount("upgrade")===1&&Hr(s,500);return}let f=o.get(a);if(!f||f.connectionSymbol!==u[en]){o.delete(a),t.listenerCount("upgrade")===1&&Hr(s,l,d);return}let h=w=>{rn(w,d);};r.on("headers",h);try{r.handleUpgrade(a,s,c,w=>{r.emit("connection",w,a);});}finally{r.off("headers",h);}}),t.on("close",()=>{r.close();});};defineWebSocketHelper(async(e,t,n)=>{if(e.req.header("upgrade")?.toLowerCase()!=="websocket")return;let r=e.env,o=r[tn];if(!o||!r.incoming)return new Response(null,{status:500});let i=ts();return r[en]=i,(async()=>{let a=await o(r.incoming,i),s=[],c=(d,f)=>{s.push([d,f]);};a.on("message",c);let u={binaryType:"arraybuffer",close(d,f){a.close(d,f);},protocol:a.protocol,raw:a,get readyState(){return a.readyState},send(d,f){a.send(d,{compress:f?.compress});},url:new URL(e.req.url)};try{t?.onOpen?.(new Event("open"),u);}catch(d){(n?.onError??console.error)(d);}let l=(d,f)=>{let h=Array.isArray(d)?d:[d];for(let w of h)try{t?.onMessage?.(new MessageEvent("message",{data:f?w instanceof ArrayBuffer?w:w.buffer.slice(w.byteOffset,w.byteOffset+w.byteLength):w.toString("utf-8")}),u);}catch(y){(n?.onError??console.error)(y);}};a.off("message",c);for(let d of s)l(...d);a.on("message",(d,f)=>{l(d,f);}),a.on("close",(d,f)=>{try{t?.onClose?.(new es("close",{code:d,reason:f.toString()}),u);}catch(h){(n?.onError??console.error)(h);}}),a.on("error",d=>{try{t?.onError?.(new ErrorEvent("error",{error:d}),u);}catch(f){(n?.onError??console.error)(f);}});})(),new Response});var ss=e=>{let t=e.fetch,n=Qo(t,{hostname:e.hostname,overrideGlobalObjects:e.overrideGlobalObjects,autoCleanupIncoming:e.autoCleanupIncoming}),r=(e.createServer||createServer)(e.serverOptions||{},n);if(e.websocket&&e.websocket.server){if(e.websocket.server.options.noServer!==true)throw new Error("WebSocket server must be created with { noServer: true } option");os({server:r,fetchCallback:t,wss:e.websocket.server});}return r},nn=(e,t)=>{let n=ss(e);return n.listen(e?.port??3e3,e.hostname,()=>{n.address();}),n};k();function as(e,t,n,r){return validator(e,async(o,i)=>{let a=o;if(e==="header"&&"_def"in t||e==="header"&&"_zod"in t){let c=Object.keys("in"in t?t.in.shape:t.shape),u=Object.fromEntries(c.map(l=>[l.toLowerCase(),l]));a=Object.fromEntries(Object.entries(o).map(([l,d])=>[u[l]||l,d]));}let s=r&&r.validationFunction?await r.validationFunction(t,a):await t.safeParseAsync(a);if(n){let c=await n({data:a,...s,target:e},i);if(c){if(c instanceof Response)return c;if("response"in c)return c.response}}return s.success?s.data:i.json(s,400)})}var Jt=as;var ie=c$1.create({service:"server"});function pe(e={}){let t=e.port??3e3,n=e.hostname??"0.0.0.0",r=new Hono({strict:true,getPath:a=>{try{return new URL(a.url).pathname}catch{return a.url}}});if(e.onError?r.onError(e.onError):r.onError((a,s)=>(ie.error("Server error",{error:a.message,stack:a.stack}),a instanceof HTTPException?a.getResponse():s.json({error:"Internal Server Error",message:a.message},500))),e.onNotFound?r.notFound(e.onNotFound):r.notFound(a=>a.json({error:"Not Found",path:a.req.path},404)),!e.websockets&&e.cors&&r.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),r.use(logger((a,...s)=>ie.info(a,s))),!e.websockets&&e.secureHeaders&&r.use(secureHeaders()),!e.websockets&&e.compression&&r.use(compress({encoding:"gzip"})),!e.websockets&&e.timeout&&r.use(timeout(e.timeout)),e.middlewares)for(let a of e.middlewares)a.path?r.use(a.path,a.handler):r.use(a.handler);if(e.routes)for(let a of e.routes){let s=a.middlewares||[],c=a.method.toUpperCase();a.validation?r.on(c,a.path,Jt("json",a.validation),...s,a.handler):r.on(c,a.path,...s,a.handler);}e.rpc&&r.post("/rpc/:method",async a=>{let s=a.req.param("method"),c=e.rpc?.[s];if(!c)return a.json({error:"RPC method not found"},404);try{let u=await a.req.json(),l=await c(u,a);return a.json({result:l})}catch(u){return ie.error("RPC error",{method:s,error:u.message}),a.json({error:"RPC execution failed",message:u.message},500)}}),e.fetch&&r.all("*",async a=>await e.fetch(a.req.raw));let o=null,i={url:new URL(`http://${n}:${t}`),port:t,hostname:n,hono:r,async stop(a=false){return o?new Promise((s,c)=>{a&&o.closeAllConnections?.(),o.close(u=>{u?(ie.error("Error closing server",{error:u.message}),c(u)):(o=null,ie.info(`Server on port ${t} stopped`),s());}),setTimeout(()=>{ie.warn(`Server shutdown timeout on port ${t}`),o=null,s();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return ie.debug("createServer: calling serve()",{port:t,hostname:n}),o=nn({fetch:r.fetch,port:t,hostname:n}),ie.debug("createServer: serve() returned, server created"),ie.info(`Server running on http://${n}:${t}`),i}function Zt(e){return pe({rpc:e,port:3e3})}function ds(e,t=3e3,n="0.0.0.0"){return pe({fetch:e,port:t,hostname:n})}function Xt(e,t={}){return pe({...t,routes:e})}function Qt(e,t={}){return pe({...t,websockets:e})}function er(e,t={}){let n=Object.entries(e).map(([r,o])=>({method:"get",path:`/stream/${r}`,handler:i=>streamSSE(i,async a=>{for await(let s of o(i))await a.writeSSE(s);})}));return pe({...t,routes:n,streaming:true})}k();var Ke;(i=>{let e=new Map;function t(a){return e.has(a)||e.set(a,{readers:0,writer:false,waitingReaders:[],waitingWriters:[]}),e.get(a)}function n(a){let s=e.get(a);if(!(!s||s.writer||s.readers>0)){if(s.waitingWriters.length>0){s.waitingWriters.shift()();return}for(;s.waitingReaders.length>0;)s.waitingReaders.shift()();s.readers===0&&!s.writer&&s.waitingReaders.length===0&&s.waitingWriters.length===0&&e.delete(a);}}async function r(a){let s=t(a);return new Promise(c=>{!s.writer&&s.waitingWriters.length===0?(s.readers++,c({[Symbol.dispose]:()=>{s.readers--,n(a);}})):s.waitingReaders.push(()=>{s.readers++,c({[Symbol.dispose]:()=>{s.readers--,n(a);}});});})}i.read=r;async function o(a){let s=t(a);return new Promise(c=>{!s.writer&&s.readers===0?(s.writer=true,c({[Symbol.dispose]:()=>{s.writer=false,n(a);}})):s.waitingWriters.push(()=>{s.writer=true,c({[Symbol.dispose]:()=>{s.writer=false,n(a);}});});})}i.write=o;})(Ke||(Ke={}));k();k();var G;(w=>{function e(y){return /^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?(?:\+[a-zA-Z0-9.-]+)?$/.test(y)}w.isValid=e;function t(y){let v=y.match(/^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9.-]+))?(?:\+([a-zA-Z0-9.-]+))?$/);if(!v)throw new Error(`\u65E0\u6548\u7684\u7248\u672C\u683C\u5F0F: ${y}`);return new rr(parseInt(v[1],10),parseInt(v[2],10),parseInt(v[3],10),v[4]?v[4].split(".").filter(Boolean):[],v[5]?v[5].split(".").filter(Boolean):[])}w.parse=t;function n(y){let v=`${y.major}.${y.minor}.${y.patch}`;return y.prerelease.length>0&&(v+=`-${y.prerelease.join(".")}`),y.build.length>0&&(v+=`+${y.build.join(".")}`),v}w.format=n;function r(y,v){let L=t(y),N=t(v);return L.compare(N)}w.compare=r;function o(y,v){return fs(t(y),v)}w.satisfies=o;function i(y,v){return r(y,v)>0}w.gt=i;function a(y,v){return r(y,v)>=0}w.gte=a;function s(y,v){return r(y,v)<0}w.lt=s;function c(y,v){return r(y,v)<=0}w.lte=c;function u(y,v){return r(y,v)===0}w.eq=u;function l(y){return [...y].sort((v,L)=>r(v,L))}w.sort=l;function d(y){return y.length===0?null:y.reduce((v,L)=>r(L,v)>0?L:v)}w.max=d;function f(y){return y.length===0?null:y.reduce((v,L)=>r(L,v)<0?L:v)}w.min=f;function h(y,v,L){return a(y,v)&&c(y,L)}w.inRange=h;})(G||(G={}));var rr=class{constructor(t,n,r,o=[],i=[]){c(this,"major");c(this,"minor");c(this,"patch");c(this,"prerelease");c(this,"build");this.major=t,this.minor=n,this.patch=r,this.prerelease=o,this.build=i;}compare(t){return this.major!==t.major?this.major<t.major?-1:1:this.minor!==t.minor?this.minor<t.minor?-1:1:this.patch!==t.patch?this.patch<t.patch?-1:1:this.comparePrerelease(t)}comparePrerelease(t){if(this.prerelease.length===0&&t.prerelease.length>0)return 1;if(this.prerelease.length>0&&t.prerelease.length===0)return -1;if(this.prerelease.length===0&&t.prerelease.length===0)return 0;let n=Math.min(this.prerelease.length,t.prerelease.length);for(let r=0;r<n;r++){let o=this.prerelease[r],i=t.prerelease[r],a=/^\d+$/.test(o),s=/^\d+$/.test(i);if(a&&s){let c=parseInt(o,10),u=parseInt(i,10);if(c!==u)return c<u?-1:1}else {if(a)return -1;if(s)return 1;{let c=o.localeCompare(i);if(c!==0)return c<0?-1:1}}}return this.prerelease.length!==t.prerelease.length?this.prerelease.length<t.prerelease.length?-1:1:0}};function fs(e,t){return ps(t).some(r=>fn(e,r))}function ps(e){let t=[],n="",r=0;for(let o=0;o<e.length;o++){let i=e[o];i==="("||i==="["?(r++,n+=i):i===")"||i==="]"?(r--,n+=i):i==="|"&&r===0?(n.trim()&&t.push(n.trim()),n=""):n+=i;}return n.trim()&&t.push(n.trim()),t}function fn(e,t){return t=t.trim(),t.includes("-")&&!t.startsWith("[")&&!t.startsWith("(")?hs(e,t):t.startsWith("[")||t.startsWith("(")?ms(e,t):t.includes("||")?t.split("||").some(n=>fn(e,n.trim())):nr(e,t)}function ms(e,t){let r=t.replace(/^\[|\]$/g,"").split(/\s+-\s+/);if(r.length!==2)return nr(e,t);let[o,i]=r,a=G.parse(o),s=G.parse(i),c=t.startsWith("["),u=t.endsWith("]");if(c){if(e.compare(a)<0)return false}else if(e.compare(a)<=0)return false;if(u){if(e.compare(s)>0)return false}else if(e.compare(s)>=0)return false;return true}function hs(e,t){return t.split(/\s+/).every(r=>nr(e,r))}function nr(e,t){if(t=t.trim(),t.startsWith("^")){let n=G.parse(t.slice(1));return e.major!==n.major||e.minor<n.minor?false:e.patch>=n.patch}if(t.startsWith("~")){let n=G.parse(t.slice(1));return e.major!==n.major||e.minor!==n.minor?false:e.patch>=n.patch}return t==="*"?true:t.endsWith(".x")||t.endsWith(".*")?gs(e,t):t.startsWith(">=")?e.compare(G.parse(t.slice(2)))>=0:t.startsWith("<=")?e.compare(G.parse(t.slice(2)))<=0:t.startsWith(">")?e.compare(G.parse(t.slice(1)))>0:t.startsWith("<")?e.compare(G.parse(t.slice(1)))<0:t.startsWith("=")?e.compare(G.parse(t.slice(1).trim()))===0:e.compare(G.parse(t))===0}function gs(e,t){let r=t.replace(/\.x|\.\*/g,".0").replace(/^\*$/,"0.0.0").split(".");for(let o=0;o<r.length;o++){let i=r[o],a=o===0?e.major:o===1?e.minor:e.patch,s=String(a);if(i==="0")continue;let c=parseInt(i,10);if(Number.isNaN(c)){if(i!==s&&i!=="*")return false}else if(c!==a)return false}return true}var or=c$1.create({service:"pkg-registry"}),Je;(r=>{function e(){return process.platform==="win32"?"cmd":"npm"}async function t(o,i,a){return new Promise(s=>{let c=process.platform==="win32"?["/c","npm","view",o,i]:["view",o,i],u=spawn(e(),c,{cwd:a,env:{...process.env}}),l="",d="";u.stdout?.on("data",f=>{l+=f.toString();}),u.stderr?.on("data",f=>{d+=f.toString();}),u.on("close",f=>{f!==0?(or.warn("npm view failed",{pkg:o,field:i,code:f,stderr:d}),s(null)):s(l.trim());}),u.on("error",()=>{or.error("npm view error",{pkg:o,field:i,error:"unknown"}),s(null);});})}r.info=t;async function n(o,i,a){let s=await t(o,"version",a);return s?/[\s^~*xX<>|=]/.test(i)?!G.satisfies(s,i):G.compare(i,s)===-1:(or.warn("Failed to resolve latest version, using cached",{pkg:o,cachedVersion:i}),false)}r.isOutdated=n;})(Je||(Je={}));k();var ye=c$1.create({service:"build-api"});async function bn(){try{return {available:!0,version:(await import('./chunks/main-SIKGRMGH.mjs')).version||"unknown"}}catch(e){return ye.warn("esbuild not available",{error:e.message}),{available:false}}}async function bt(){let e=await bn();if(!e.available)throw new Error("esbuild is required but not installed. Please install it using: pnpm add -D esbuild");e.version&&e.version<"0.17.0"&&ye.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function Ss(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function yn(e){let t=Ss(e.compile);t&&ye.warn("compile option is no longer supported (Bun runtime removed). The option will be ignored.");let n={entryPoints:e.entrypoints,outdir:e.outdir,bundle:e.bundle??true,conditions:e.conditions,external:e.external,format:e.format??"esm",platform:e.platform??(e.target==="browser"?"browser":"node"),minify:e.minify??false,treeShaking:true,splitting:e.splitting,sourcemap:ks(e.sourcemap),sourcesContent:true,define:e.define,inject:e.inject,legalComments:"eof",loader:e.loader,entryNames:e.entryNames,chunkNames:e.chunkNames,assetNames:e.assetNames,publicPath:e.publicPath,tsconfig:e.tsconfig,charset:"utf8",color:true,logLevel:"info",logLimit:50,plugins:e.plugins??[],metafile:true,write:e.write??true};return t?.outfile&&!e.outdir&&(n.outfile=t.outfile,delete n.outdir),e.target&&(n.target=vs(e.target)),e.minify===true&&(n.minifyWhitespace=true,n.minifyIdentifiers=true,n.minifySyntax=true),Rs(n)}function ks(e){return !e||e==="none"?false:e}function vs(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function Rs(e){let t={};for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t}function gt(e){if(e!==void 0)return e.replace(/\\/g,"/")}function pn(e,t,n){let r=[];if(e.outputFiles)for(let i of e.outputFiles)r.push({path:gt(i.path)||i.path,size:i.contents?.length||0});if(e.metafile?.outputs)for(let[i,a]of Object.entries(e.metafile.outputs)){let s=a;r.some(c=>c.path===i||c.path===gt(i))||r.push({path:gt(i)||i,size:s.bytes||0});}let o=[];if(e.errors?.length>0)for(let i of e.errors)o.push({level:"error",message:i.text||String(i),path:i.location?.file,position:i.location?{line:i.location.line,column:i.location.column}:void 0});if(e.warnings?.length>0)for(let i of e.warnings)o.push({level:"warning",message:i.text||String(i),path:i.location?.file,position:i.location?{line:i.location.line,column:i.location.column}:void 0});return {outputs:r,success:e.errors?.length===0,logs:o,metafile:e.metafile}}async function sr(e){ye.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await bt();let t=await import('./chunks/main-SIKGRMGH.mjs'),n=Date.now();try{let r=yn(e);ye.debug("esbuild options",r);let o=await t.build(r),i=Date.now();return ye.info("Build completed",{duration:i-n,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),pn(o,n,i)}catch(r){let o=Date.now(),i=r.message;return ye.error("Build failed",{error:i,duration:o-n}),r&&typeof r=="object"&&"errors"in r?pn(r):{outputs:[],success:false,logs:[{level:"error",message:i}],metafile:void 0}}}var Os={build:sr},wn=Os;k();function xn(e){if(typeof e=="string")return e;if(Array.isArray(e))return e.map(xn).join(" ");if(e&&typeof e=="object"){if("raw"in e)return String(e.raw);if("toString"in e&&typeof e.toString=="function")return e.toString();if(e instanceof ReadableStream)throw new Error("ReadableStream expressions are not yet supported")}return String(e)}function Is(e){return e.trim().split(/\s+/).filter(Boolean)}function Bs(e,t,n){return {stdout:e,stderr:t,exitCode:n,text(r="utf-8"){return e.toString(r)},json(){let r=e.toString("utf-8");return JSON.parse(r)},arrayBuffer(){let r=e.buffer;if(r instanceof ArrayBuffer)return r.slice(e.byteOffset,e.byteOffset+e.byteLength);let o=new ArrayBuffer(e.byteLength),i=new Uint8Array(o),a=new Uint8Array(r,e.byteOffset,e.byteLength);return i.set(a),o},bytes(){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},blob(){let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return new Blob([r])}}}function Ie(e,t={}){let n=Is(e);if(n.length===0)throw new Error("Empty shell command");let r=async()=>{let i=await z.run(n,{cwd:t.cwd,env:t.env}),a=Bs(Buffer.from(i.stdout,"utf-8"),Buffer.from(i.stderr,"utf-8"),i.code);if(i.code!==0&&!t.nothrow)throw Object.assign(new Error(`Command failed with exit code ${i.code}: ${e}
26
- ${i.stderr}`),{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode});return a},o=r();return Object.defineProperty(o,"stdin",{get(){throw new Error("stdin is not yet supported in EasbotShell. Use PKG.spawn for interactive commands.")},enumerable:true}),o.cwd=function(i){return Ie(e,{...t,cwd:i})},o.env=function(i){return Ie(e,{...t,env:i})},o.quiet=function(){return Ie(e,{...t,quiet:true})},o.lines=async function*(){let s=(await r()).text().split(/\r?\n/);for(let c of s)c.trim()&&(yield c);},o.text=async function(i="utf-8"){return (await r()).text(i)},o.json=async function(){return (await r()).json()},o.arrayBuffer=async function(){return (await r()).arrayBuffer()},o.blob=async function(){return (await r()).blob()},o.nothrow=function(){return Ie(e,{...t,nothrow:true})},o.throws=function(i){return Ie(e,{...t,nothrow:!i})},o}var Ze=class{constructor(t={}){c(this,"options");this.options=t;}call(t,...n){let r="";for(let o=0;o<t.length;o++)r+=t[o],o<n.length&&n[o]!==void 0&&(r+=xn(n[o]));return Ie(r,this.options)}braces(t){let n=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!n)return [t];let[,r="",o="",i=""]=n,a=o.split(",").map(c=>c.trim()),s=[];for(let c of a){let u=`${r}${c}${i}`;u.includes("{")?s.push(...this.braces(u)):s.push(u);}return s}escape(t){return process.platform==="win32"?t.replace(/([&|<>^"%])/g,"^$1"):t.replace(/(["\s'$`\\!*?#&;()<>|])/g,"\\$1")}env(t){return we({...this.options,env:t})}cwd(t){return we({...this.options,cwd:t})}nothrow(){return we({...this.options,nothrow:true})}throws(t){return we({...this.options,nothrow:!t})}};function we(e={}){let t=new Ze(e);return new Proxy(t,{apply(n,r,o){return t.call(o[0],...o.slice(1))}})}var Sn=we();function kn(e){return e.replace(/\\/g,"/")}function vn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var X=new Map,z;(V=>{let e=c$1.create({service:"pkg"});async function t(x,m){if(!x)return process.execPath;let S=m?.PATH||process.env.PATH||process.env.Path||"",b=process.env.EASBOT_BIN_PATH,T=b?S+me.delimiter+b:S,A=vn(T),E=`${x}:${A}`;if(X.has(E))return X.get(E);let O=process.platform==="win32"?"where":"which";try{let{spawn:D}=await import('child_process');return new Promise(B=>{let M=D(O,[x],{env:{...process.env,PATH:T},stdio:["pipe","pipe","ignore"]}),K="",H="";M.stdout?.on("data",U=>{K+=U.toString();}),M.stderr?.on("data",U=>{H+=U.toString();}),M.on("close",U=>{if(U===0&&K.trim()){let C=K.trim().split(`
27
- `),W=C.length>0?C[0]?.trim():null;if(W){X.set(E,W),B(W);return}}X.set(E,null),B(null);}),setTimeout(()=>{M.kill(),X.set(E,null),B(null);},5e3);})}catch{return X.set(E,null),null}}V.which=t;function n(x,m){if(!x)return process.execPath;let S=m?.PATH||process.env.PATH||process.env.Path||"",b=process.env.EASBOT_BIN_PATH,T=b?S+me.delimiter+b:S,A=vn(T),E=`${x}:${A}`;if(X.has(E))return X.get(E);let O=process.platform==="win32"?"where":"which";try{let D=execSync(`${O} ${x}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:T},timeout:5e3});if(D.trim()){let B=D.trim().split(`
28
- `),M=B.length>0?B[0]?.trim():null;if(M)return X.set(E,M),M}}catch{}return X.set(E,null),null}V.whichSync=n;function r(){X.clear();}V.clearWhichCache=r;let o=createRequire(import.meta.url);async function i(x,m){try{return m?o.resolve(x,{paths:[m]}):o.resolve(x)}catch(S){throw new Error(`Cannot resolve module "${x}"${m?` from "${m}"`:""}: ${S instanceof Error?S.message:String(S)}`)}}V.resolve=i;function a$1(x){return {get name(){return me.basename(x)},async exists(){try{return await J.access(x),!0}catch{return false}},async getSize(){try{return (await J.stat(x)).size}catch{return}},async text(){return await J.readFile(x,"utf-8")},textSync(){return xe.readFileSync(x,"utf-8")},jsonSync(){let m=xe.readFileSync(x,"utf-8");return JSON.parse(m)},async bytes(){let m=await J.readFile(x);return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)},async arrayBuffer(){let m=await J.readFile(x);return m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)},get type(){let m=me.extname(x).toLowerCase();return {".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".xml":"application/xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".pdf":"application/pdf",".zip":"application/zip",".wav":"audio/wav",".mp3":"audio/mpeg",".mp4":"video/mp4",".webm":"video/webm"}[m]||"application/octet-stream"},async write(m){let S;if(m instanceof Response){let b=await m.arrayBuffer();S=new Uint8Array(b);}else S=m;await J.writeFile(x,S);},async json(){let m=await J.readFile(x,"utf-8");return JSON.parse(m)},async stat(){return await J.stat(x)}}}V.file=a$1;async function s(x,m,S){let b;if(m instanceof Response){let T=await m.arrayBuffer();b=new Uint8Array(T);}else b=m;await J.writeFile(x,b,S?{mode:S.mode}:void 0);}V.write=s;function c$2(x,m,S){xe.writeFileSync(x,m,S?{mode:S.mode}:void 0);}V.writeSync=c$2;function u(x,m="utf-8"){return xe.readFileSync(x,m)}V.readSync=u;function l(x,m){let S,b;if(typeof x=="object"&&"cmd"in x){let M=x;S=M.cmd,b={cwd:M.cwd,env:M.env,stdout:M.stdout,stderr:M.stderr,stdin:M.stdin,signal:M.signal};}else S=Array.isArray(x)?x:[x],b=m||{};if(!S||S.length===0||!S[0])throw new Error("Spawn command cannot be empty");let T=[b.stdin==="inherit"?"inherit":b.stdin==="null"?"ignore":"pipe",b.stdout==="inherit"?"inherit":b.stdout==="null"?"ignore":"pipe",b.stderr==="inherit"?"inherit":b.stderr==="null"?"ignore":"pipe"],A=process.platform==="win32",E=S[0];if(A&&E)if(xe.existsSync(E)){let M=E+".cmd";xe.existsSync(M)&&(E=M);}else {let M=E+".cmd";xe.existsSync(M)&&(E=M);}let _=A&&E?.match(/\.(cmd|bat)$/i),O=spawn(E,S.slice(1),{cwd:b.cwd,env:b.env?{...process.env,...b.env}:process.env,stdio:T,..._?{shell:true,windowsHide:true}:{}}),D;if(b.signal){D=()=>{O.kill();},b.signal.addEventListener("abort",D,{once:true});let M=()=>{D&&(b.signal?.removeEventListener("abort",D),D=void 0);};O.on("close",M),O.on("error",M);}let B=new Promise((M,K)=>{let H=false,U=()=>{H||(H=true,O.removeAllListeners());};if(O.on("close",C=>{U(),M(C??0);}),O.on("error",C=>{U(),K(C);}),b.timeout!==false){let C=b.timeout||3e5;setTimeout(()=>{H||(U(),O.kill("SIGTERM"),K(new Error(`Process timeout after ${C}ms: ${S.join(" ")}`)));},C);}});return {stdout:O.stdout,stderr:O.stderr,stdin:O.stdin,pid:O.pid,exited:B,exitCode:O.exitCode,kill:M=>O.kill(M)}}V.spawn=l;async function d(x,m){let S=l(x,{cwd:m?.cwd,env:m?.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),b=[],T=[];S.stdout?.on("data",E=>{b.push(E);}),S.stderr?.on("data",E=>{T.push(E);});let A=m?.timeout&&m.timeout>0?setTimeout(()=>{S.kill("SIGTERM");},m.timeout):void 0;try{let E=await S.exited;return clearTimeout(A),{code:E,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(T).toString("utf-8")}}catch(E){return clearTimeout(A),{code:-1,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(T).toString("utf-8")||(E instanceof Error?E.message:String(E))}}}V.run=d;async function f(x,m={},S={}){let b=l(x,{cwd:m.cwd,env:m.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),T="",A="";b.stdout?.on("data",_=>{let O=_.toString("utf-8");T+=O,S.onStdout?.(O);}),b.stderr?.on("data",_=>{let O=_.toString("utf-8");A+=O,S.onStderr?.(O);});let E=m.timeout&&m.timeout>0?setTimeout(()=>{b.kill("SIGTERM");},m.timeout):void 0;try{let _=await b.exited;return clearTimeout(E),S.onExit?.(_),{code:_,stdout:T,stderr:A}}catch(_){clearTimeout(E);let O=_ instanceof Error?_.message:String(_);return {code:-1,stdout:T,stderr:A||O}}}V.runWithStream=f;function h(x,...m){let S=x.reduce((T,A,E)=>T+A+(m[E]??""),""),b=(T={})=>({quiet:()=>b({...T,quiet:true}),nothrow:()=>b({...T,nothrow:true}),cwd:A=>b({...T,cwd:A}),env:A=>b({...T,env:A}),text:async()=>{let A=S.trim().split(/\s+/).filter(Boolean);if(A.length===0)throw new Error("Empty command");let E=await d(A,{cwd:T.cwd,env:T.env});if(E.code!==0&&!T.nothrow)throw new Error(`Command failed with exit code ${E.code}: ${S}
29
- ${E.stderr}`);return E.stdout},lines:async()=>(await b(T).text()).split(`
30
- `).filter(E=>E.trim()),then:(A,E)=>d(S.trim().split(/\s+/).filter(Boolean),{cwd:T.cwd,env:T.env}).then(_=>A({exitCode:_.code,stdout:new TextEncoder().encode(_.stdout),stderr:new TextEncoder().encode(_.stderr),text:()=>_.stdout,lines:()=>_.stdout.split(`
31
- `).filter(O=>O.trim())}),E)});return b()}V.$=h;async function w(x){if(typeof x.pipeThrough=="function")try{let T=new TextDecoderStream("utf-8"),E=x.pipeThrough(T).getReader(),_="";try{for(;;){let{done:O,value:D}=await E.read();if(O)break;_+=D;}return _}finally{E.releaseLock();}}catch{}let m=x.getReader(),S=new TextDecoder("utf-8"),b=[];try{for(;;){let{done:T,value:A}=await m.read();if(T)break;b.push(S.decode(A,{stream:!0}));}return b.push(S.decode()),b.join("")}finally{m.releaseLock();}}V.readableStreamToText=w;async function y(x){let m=[];return new Promise((S,b)=>{x.on("data",T=>{typeof T=="string"?m.push(Buffer.from(T)):m.push(T);}),x.on("end",()=>{try{let A=Buffer.concat(m).toString("utf-8");S(A);}catch(T){b(T);}}),x.on("error",T=>{b(T);});})}V.nodeReadableStreamToText=y;function v(x,m=0){let O=new TextEncoder().encode(x),D=O.length,B,M=0;if(D>=16){let C=D-16,W=m+2654435761+2246822519|0,Z=m+2246822519|0,ke=m+0|0,st=m-2654435761|0;for(;M<=C;)W=K(W,U(O,M)),M+=4,Z=K(Z,U(O,M)),M+=4,ke=K(ke,U(O,M)),M+=4,st=K(st,U(O,M)),M+=4;B=H(W,1)+H(Z,7)+H(ke,12)+H(st,18)|0;}else B=m+374761393|0;for(B=B+D|0;M+4<=D;)B=B+U(O,M)*3266489917|0,B=H(B,17)*668265263|0,M+=4;for(;M<D;)B=B+O[M]*374761393|0,B=H(B,11)*2654435761|0,M++;return B^=B>>>15,B=B*2246822519|0,B^=B>>>13,B=B*3266489917|0,B^=B>>>16,B>>>0;function K(C,W){return C=C+W*2246822519|0,C=H(C,13),C=C*2654435761|0,C}function H(C,W){return C<<W|C>>>32-W|0}function U(C,W){return (C[W]|C[W+1]<<8|C[W+2]<<16|C[W+3]<<24)>>>0}}V.xxHash32=v;function L(x){let m=0;for(let S of x){let b=S.codePointAt(0)||S.charCodeAt(0);b<127?m+=1:b>=4352&&b<=4447||b>=9001&&b<=9002||b>=11904&&b<=42191&&b!==12351||b>=44032&&b<=55203||b>=63744&&b<=64255||b>=65040&&b<=65049||b>=65072&&b<=65135||b>=65280&&b<=65376||b>=65504&&b<=65510?m+=2:m+=1;}return m}V.stringWidth=L;class N{constructor(m){c(this,"pattern");this.pattern=m;}async*scan(m){let S=b.stream(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for await(let b of S)yield kn(b);}*scanSync(m){let S=a(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for(let b of S)yield kn(b);}match(m){return minimatch(m,this.pattern)}}V.Glob=N,V.InstallFailedError=De.create("PKGInstallFailedError",Xe.object({message:Xe.string(),pkg:Xe.string(),version:Xe.string(),originalError:Xe.string().optional()}));async function Ot(x,m="latest",S){S=S??process.env.EASBOT_CACHE_PATH??me.join(".easbot","cache");let b=await Ke.write("pkg-install");try{let T=me.join(S,"node_modules",x),A=me.join(S,"package.json"),E=await J.readFile(A,"utf-8").then(C=>JSON.parse(C)).catch(async()=>{let C={dependencies:{}};return await J.writeFile(A,JSON.stringify(C,null,2)),C}),_=E.dependencies??{},O=await Re.exists(T),D=_[x],B=!1;if(!O||!D)B=!0;else {if(m!=="latest"&&D===m)return T;if(m==="latest"){if(!await Je.isOutdated(x,D,S))return T;e.info("Cached version is outdated, proceeding with install",{pkg:x,cachedVersion:D}),B=!0;}}if(!B)return T;e.info("installing package",{pkg:x,version:m,cache:S});let M=process.platform==="win32",K=[{name:"npm",cmd:["npm","install","--save-exact",`${x}@${m}`]},{name:"pnpm",cmd:["pnpm","add","--save-exact",`${x}@${m}`]}],H=null;for(let C of K){let W=await t(C.name);if(!W){e.info(`Package manager ${C.name} not found, skipping`);continue}try{e.info(`Using ${C.name} to install package`,{pkg:x,version:m,pmPath:W});let Z=M?["cmd","/c",...C.cmd]:C.cmd,{code:ke,stdout:st,stderr:Jn}=await d(Z,{cwd:S,timeout:600*1e3});if(ke!==0)throw new Error(`Package manager exited with code ${ke}: ${Jn}`);e.info(`Successfully installed ${x}@${m} with ${C.name}`);break}catch(Z){H=Z instanceof Error?Z:new Error(String(Z)),e.warn(`Failed to install with ${C.name}, trying next package manager`,{error:H.message});}}if(H&&!await Re.exists(T))throw new V.InstallFailedError({message:`Failed to install ${x}@${m}`,pkg:x,version:m,originalError:H.message});let U=m;if(m==="latest")try{let C=me.join(T,"package.json"),W=await J.readFile(C,"utf-8").then(Z=>JSON.parse(Z));W?.version&&(U=W.version);}catch{e.warn("Could not resolve installed version",{pkg:x});}return E.dependencies[x]=U,await J.writeFile(A,JSON.stringify(E,null,2)),T}finally{b[Symbol.dispose]();}}V.install=Ot,V.stdin=process.stdin,V.stdout=process.stdout,V.stderr=process.stderr,V.sleep=x=>new Promise(m=>setTimeout(m,x)),V.color=(x,m)=>({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",blink:"\x1B[5m",inverse:"\x1B[7m",hidden:"\x1B[8m",strikethrough:"\x1B[9m",reset:"\x1B[0m"})[x.toLowerCase()]||null,V.hash={xxHash32:V.xxHash32},V.build=wn.build,V.server=pe,V.nodeWebSocket=createNodeWebSocket,V.restServer=Xt,V.rpcServer=Zt,V.streamingServer=er,V.webSocketServer=Qt;})(z||(z={}));var ir=z.$,_s=z.readableStreamToText;z.nodeReadableStreamToText;z.which;var Ns=z.whichSync;z.spawn;z.run;async function Ds(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let i=z.spawn(["git",...e],{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[a,s,c]=await Promise.all([i.exited,new Response(i.stdout).arrayBuffer(),new Response(i.stderr).arrayBuffer()]),u=Buffer.from(s),l=Buffer.from(c);return {exitCode:a,text:()=>u.toString(),stdout:u,stderr:l}}catch(i){let a=Buffer.from(i instanceof Error?i.message:String(i));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:a}}let n=t.env?{...process.env,...t.env}:void 0,r=ir`git ${e.join(" ")}`.quiet().nothrow().cwd(t.cwd);n&&(r=r.env(n));let o=await r;return {exitCode:o.exitCode,text:()=>o.text(),stdout:o.stdout,stderr:o.stderr}}k();k();function Rn(e){let t,n=false,r=()=>(n||(t=e(),n=true),t);return r.reset=()=>{n=false,t=void 0;},r}var Ws=Rn;function Tn(e){let t,n=()=>(t||(t=e()),t);return n.reset=()=>{t=void 0;},n}var zs=Tn,Be;(n=>(n.lazy=Rn,n.lazyAsync=Tn))(Be||(Be={}));function Pn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function En(e,t,n=3){function r(o,i){if(i>n||!existsSync(o))return null;try{let a=readdirSync(o);for(let s of a){let c=join(o,s);try{let u=statSync(c);if(u.isFile()&&c.endsWith(t))return c;if(u.isDirectory()&&i<n){let l=r(c,i+1);if(l)return l}}catch{}}}catch{}return null}return r(e,0)}function Mn(e,t){let n=join(e,t);if(existsSync(n))return n;let r=t.split("/").pop()||t,o=e;for(let i=0;i<5;i++){let a=join(o,"assets","txt");if(existsSync(a)){let u=En(a,r,5);if(u)return u}let s=join(o,"dist","assets","txt");if(existsSync(s)){let u=En(s,r,5);if(u)return u}let c=join(o,"..");if(c===o)break;o=c;}return n}function Gs(e,t){return Be.lazy(()=>{try{let n=Pn(t),r=Mn(n,e);return z.file(r).textSync()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}function Ys(e,t){return Be.lazy(async()=>{try{let n=Pn(t),r=Mn(n,e);return await z.file(r).text()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}k();function Ks(e){return e()}k();function Js(e){if(!e||typeof e!="string")return {provider:"",model:""};let t=e.indexOf("/");return t===-1?{provider:"",model:e}:{provider:e.substring(0,t),model:e.substring(t+1)}}k();k();k();function ar(e,t,n,r=()=>true){let o=-1,i=-1,a=0;for(let s=t;s<n;s++){if(!r(s))continue;let c=e[s];if(c){if(c==="("){a+=1;continue}if(c===")"&&a>0){a-=1;continue}a===0&&(c===`
32
- `?o=s:/\s/.test(c)&&(i=s));}}return {lastNewline:o,lastWhitespace:i}}function Zs(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function Ae(e,t,n){try{let r=z$1.string().parse(e),o=z$1.number().int().parse(t),i=Zs(r,o);if(i)return i;let a=cr(r,o,s=>{let{lastNewline:c,lastWhitespace:u}=ar(s,0,s.length);return c>0?c:u});return n?.minLength&&n.minLength>0&&(a=On(a,n.minLength)),a}catch(r){return console.warn("Invalid input for chunkText:",r),typeof e=="string"&&e.length>0?[e]:[]}}function On(e,t){if(e.length<=1||t<=0)return e;let n=[],r=e[0]??"";for(let o=1;o<e.length;o++){let i=e[o]??"";r.length<t?r=r+`
20
+ ${te}`;return {content:N+tt,truncated:true,outputPath:k,originalLength:a.length,removedLength:L,label:f}}s.truncateAndSave=i;function l(a){return a.truncated?n(a.outputPath,a.label):""}s.formatHint=l;})(st||(st={}));k();function it(e,t=true){let r=typeof e=="number"?new Date(e):e,n=r.getTimezoneOffset(),o=Math.floor(Math.abs(n)/60),i=Math.abs(n)%60,s=`${n<=0?"+":"-"}${String(o).padStart(2,"0")}:${String(i).padStart(2,"0")}`,a=r.getFullYear(),u=String(r.getMonth()+1).padStart(2,"0"),c=String(r.getDate()).padStart(2,"0"),d=String(r.getHours()).padStart(2,"0"),f=String(r.getMinutes()).padStart(2,"0"),y=String(r.getSeconds()).padStart(2,"0"),S=`${a}-${u}-${c}T${d}:${f}:${y}`;if(t){let b=String(r.getMilliseconds()).padStart(3,"0");S+=`.${b}`;}return S+=s,S}function Xr(e){return it(e,false)}function Gt(){return Date.now()}function Qr(e=true){return it(Gt(),e)}function en(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function tn(e){let t=typeof e=="number"?new Date(e):e,r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return `${r}-${n}-${o}T${i}:${l}:${s}`}function rn(e=new Date){let t=e.getTimezoneOffset(),r=Math.floor(Math.abs(t)/60),n=Math.abs(t)%60;return `${t<=0?"+":"-"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`}k();var we=class we extends Error{static create(t,r){var i;let n=Pe.object({name:Pe.literal(t),data:r}).meta({ref:t}),o=(i=class extends we{constructor(s,a){super(t,a);c(this,"data",s);c(this,"name",t);this.name=t;}static isInstance(s){return typeof s=="object"&&"name"in s&&s.name===t}schema(){return n}toObject(){return {name:t,data:this.data}}},c(i,"Schema",n),i);return Object.defineProperty(o,"name",{value:t}),o}};c(we,"Unknown",we.create("UnknownError",Pe.object({message:Pe.string()})));var Se=we;k();k();var ke;(a$1=>{function e(u){return {...u,follow:u.symlink??false,nodir:u.include!=="all",maxDepth:u.maxDepth??20}}async function t(u,c={}){return b(u,e(c))}a$1.scan=t;function r(u,c={}){return a(u,e(c))}a$1.scanSync=r;function n(u,c){return minimatch(c,u,{dot:true})}a$1.match=n;async function o(u){try{let c=await Y.readFile(u,"utf-8");return i(c)}catch{return []}}a$1.parseGitignore=o;function i(u){let c=[],d=u.split(/\r?\n/);for(let f of d){let y=f.trim();if(!y||y.startsWith("#")||y.startsWith("!"))continue;let S=y;S.endsWith("/")&&(S=S+"**"),!S.includes("*")&&!S.includes("?")&&(S="**/"+S+"/**"),c.push(S);}return c}a$1.parseGitignoreContent=i;function l(u,c){for(let d of c)if(minimatch(u,d,{dot:true})||minimatch(u,d+"/**",{dot:true}))return true;return false}a$1.isIgnored=l,a$1.DEFAULT_IGNORE_PATTERNS=["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/__pycache__/**","**/*.min.js","**/*.min.ts","**/coverage/**","**/data/**","**/*.db","**/logs/**","**/*.log","**/.DS_Store","**/Thumbs.db"];})(ke||(ke={}));var fn=sep,ut=fn==="\\";var pn={".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".mjs":"application/javascript",".json":"application/json",".xml":"application/xml",".txt":"text/plain",".md":"text/markdown",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".pdf":"application/pdf",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".mp3":"audio/mpeg",".mp4":"video/mp4",".wasm":"application/wasm",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".eot":"application/vnd.ms-fontobject"},de;(Vt=>{async function e(g,O){await mkdir(g,{recursive:O?.recursive??true});}Vt.mkdir=e;async function t(g){return existsSync(g)}Vt.exists=t;async function r(g){try{return statSync(g).isDirectory()}catch{return false}}Vt.isDir=r;function n(g){return statSync(g,{throwIfNoEntry:false})??void 0}Vt.stat=n;async function o(g){let O=n(g)?.size??0;return typeof O=="bigint"?Number(O):O}Vt.size=o;async function i(g){return readFile(g,"utf-8")}Vt.readText=i;async function l(g){return JSON.parse(await readFile(g,"utf-8"))}Vt.readJson=l;async function s(g){return readFile(g)}Vt.readBytes=s;async function a(g){let O=await readFile(g);return O.buffer.slice(O.byteOffset,O.byteOffset+O.byteLength)}Vt.readArrayBuffer=a;function u(g){return typeof g=="object"&&g!==null&&"code"in g&&g.code==="ENOENT"}async function c(g,O,A){try{A?await writeFile(g,O,{mode:A}):await writeFile(g,O);}catch(j){if(u(j)){await mkdir(dirname(g),{recursive:true}),A?await writeFile(g,O,{mode:A}):await writeFile(g,O);return}throw j}}Vt.write=c;async function d(g,O,A){return c(g,JSON.stringify(O,null,2),A)}Vt.writeJson=d;async function f(g,O,A){let j=dirname(g);existsSync(j)||await mkdir(j,{recursive:true});let q=O instanceof ReadableStream?Readable.fromWeb(O):O,J=createWriteStream(g);await pipeline(q,J),A&&await chmod(g,A);}Vt.writeStream=f;function y(g){let O=extname(g).toLowerCase();return pn[O]||"application/octet-stream"}Vt.mimeType=y;function S(g){return g.replace(/\\/g,"/")}Vt.toUnixPath=S;function b(g){if(g.startsWith("~/")||g==="~"?g=join(er.homedir(),g.slice(1)):isAbsolute(g)||(g=resolve(g)),ut&&(g=N(g)),g=S(g),ut)try{g=realpathSync.native(g),g=S(g);}catch{}return g}Vt.normalize=b,Vt.normalizePath=b;function L(g){return g.startsWith("~/")||g==="~"?g=join(er.homedir(),g.slice(1)):isAbsolute(g)||(g=resolve(g)),ut&&(g=N(g)),S(g)}Vt.resolve=L;function N(g){return process.platform!=="win32"?g:g.replace(/^\/([a-zA-Z]):(?:[\\/]|$)/,(O,A)=>`${A.toUpperCase()}:/`).replace(/^\/([a-zA-Z])(?:\/|$)/,(O,A)=>`${A.toUpperCase()}:/`).replace(/^\/cygdrive\/([a-zA-Z])(?:\/|$)/,(O,A)=>`${A.toUpperCase()}:/`).replace(/^\/mnt\/([a-zA-Z])(?:\/|$)/,(O,A)=>`${A.toUpperCase()}:/`)}Vt.windowsPath=N;function te(g,O){let A=b(g),j=b(O),q=relative(A,j),J=relative(j,A);return !q?.startsWith("..")||!J?.startsWith("..")}Vt.overlaps=te;function tt(g,O){let A=b(g),j=b(O);return !relative(A,j).startsWith("..")}Vt.contains=tt;async function qr(g,O,A){let j=b(O),q=A?b(A):void 0,J=[];for(;;){let Q=join(j,g);if(await t(Q)&&J.push(Q),q&&j===q)break;let se=S(dirname(j));if(se===j)break;j=se;}return J}Vt.findUp=qr;async function*Vr(g){let{targets:O,start:A,stop:j}=g,q=b(A),J=j?b(j):void 0;for(;;){for(let se of O){let rt=join(q,se);await t(rt)&&(yield rt);}if(J&&q===J)break;let Q=S(dirname(q));if(Q===q)break;q=Q;}}Vt.up=Vr;async function Zr(g,O,A){let j=b(O),q=A?b(A):void 0,J=[];for(;;){try{let se=await ke.scan(g,{cwd:j,absolute:!0,include:"file",dot:!0});J.push(...se);}catch{}if(q&&j===q)break;let Q=S(dirname(j));if(Q===j)break;j=Q;}return J}Vt.globUp=Zr;})(de||(de={}));k();var dt;(t=>{function e(r){return new ft(r)}t.create=e;})(dt||(dt={}));var ft=class{constructor(t){c(this,"rules",[]);c(this,"ignorecase");c(this,"debug");this.ignorecase=t?.ignorecase??false,this.debug=t?.debug??false;}add(t){let r=typeof t=="string"?t.split(`
21
+ `):t;for(let n=0;n<r.length;n++){let o=r[n];this.parseRule(o,n+1);}return this}parseRule(t,r){let n=t;if(n.length===0||n.startsWith("#"))return;let i=n.startsWith("!");if(i&&(n=n.slice(1)),n=n.trimEnd(),n.length===0)return;if(n.startsWith("\\#")){n=n.slice(1);return}if(n.startsWith("#"))return;let s=n.endsWith("/");if(s&&(n=n.slice(0,-1)),n.length===0)return;let a=this.patternToRegex(n);a&&this.rules.push({pattern:n,regex:a,negative:i,isDirectory:s,original:t,lineNumber:r});}ignores(t,r){let n=this.normalizePath(t),o=r??t.endsWith("/"),i=this.checkIgnore(n,o);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${o}) => ${i}`),i}checkIgnore(t,r){let n=false;for(let o of this.rules)o.isDirectory&&!r||o.regex.test(t)&&(o.negative?n=false:n=true);return n}filter(t){return t.filter(r=>!this.ignores(r))}createFilter(){return t=>!this.ignores(t)}patternToRegex(t){let r=[],n=0,o=t.length;for(;n<o;){let u=t[n];if(u==="\\")if(n+1<o){let c=t[n+1];r.push(this.escapeRegexChar(c)),n+=2;continue}else {r.push("\\\\"),n++;continue}if(u==="*")if(n+1<o&&t[n+1]==="*")if(n+2<o&&t[n+2]==="/")if(n===0||t[n-1]==="/")if(n+3>=o){r.push(".*"),n+=3;continue}else {r.push(".*"),n+=3;continue}else {r.push(".*"),n+=3;continue}else if(n===0||t[n-1]==="/")if(n+2>=o){r.push(".*"),n+=2;continue}else {r.push("(?:/.*)*"),n+=2;continue}else {r.push(".*"),n+=2;continue}else {r.push("[^/]*"),n++;continue}if(u==="?"){r.push("[^/]"),n++;continue}if(u==="["){let c=this.findMatchingBracket(t,n);if(c!==-1){let d=t.slice(n,c+1);(d.startsWith("[!")||d.startsWith("[^"))&&(d="[^"+d.slice(2)),this.ignorecase&&(d=d.toLowerCase()),r.push(d),n=c+1;continue}}if(u==="/"){r.push("/"),n++;continue}if(".+$^{}|()".includes(u)){r.push("\\"+u),n++;continue}if(this.ignorecase&&u>="A"&&u<="Z"){r.push("["+u.toLowerCase()+u+"]"),n++;continue}r.push(u),n++;}let i=r.join(""),l=i.startsWith("/"),s=i.endsWith("/")&&!i.endsWith("\\/");l||(i="(?:.*/)?"+i),s&&(i=i.slice(0,-1)),!s&&!i.endsWith("(?:/.*)*")&&(i="(?:"+i+")(?:/.*)?");let a=this.ignorecase?"i":"";try{return new RegExp("^"+i+"$",a)}catch(u){return this.debug&&console.error(`Failed to create regex for pattern "${t}":`,u),null}}escapeRegexChar(t){return "\\[]{}().+^$|".includes(t)?"\\"+t:t}findMatchingBracket(t,r){let n=r+1,o=t.length;for((n>=o||t[n]==="!"||t[n]==="^")&&n++;n<o;){let i=t[n];if(i==="\\"&&n+1<o){n+=2;continue}if(i==="]")return n;if(n+2<o&&t[n+1]==="-"&&t[n+2]!=="]"){n+=3;continue}n++;}return -1}normalizePath(t){let r=t.replace(/\\/g,"/");if(r==="/")return "";for(;r.startsWith("./");)r=r.slice(2);return r}};k();function tr(e,t){let r=n=>{let o;try{o=e.parse(n);}catch(i){throw console.trace("schema validation failure stack trace:"),i instanceof z$1.ZodError&&console.error("schema validation issues:",JSON.stringify(i.issues,null,2)),i}return t(o)};return r.force=n=>t(n),r.schema=e,r}var gn=tr,pt;(t=>t.fn=tr)(pt||(pt={}));k();function yn(){let r=oe.join(process.cwd(),".env");existsSync(r)&&config({path:r,override:true,debug:false,encoding:"utf-8",quiet:true});}k();k();k();k();var ee=c$1.create({service:"server"});function ne(e={}){let t=e.port??3e3,r=e.hostname??"0.0.0.0",n=new Hono({strict:true,getPath:l=>{try{return new URL(l.url).pathname}catch{return l.url}}});if(e.onError?n.onError(e.onError):n.onError((l,s)=>(ee.error("Server error",{error:l.message,stack:l.stack}),l instanceof HTTPException?l.getResponse():s.json({error:"Internal Server Error",message:l.message},500))),e.onNotFound?n.notFound(e.onNotFound):n.notFound(l=>l.json({error:"Not Found",path:l.req.path},404)),!e.websockets&&e.cors&&n.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),n.use(logger((l,...s)=>ee.info(l,s))),!e.websockets&&e.secureHeaders&&n.use(secureHeaders()),!e.websockets&&e.compression&&n.use(compress({encoding:"gzip"})),!e.websockets&&e.timeout&&n.use(timeout(e.timeout)),e.middlewares)for(let l of e.middlewares)l.path?n.use(l.path,l.handler):n.use(l.handler);if(e.routes)for(let l of e.routes){let s=l.middlewares||[],a=l.method.toUpperCase();l.validation?n.on(a,l.path,zValidator("json",l.validation),...s,l.handler):n.on(a,l.path,...s,l.handler);}e.rpc&&n.post("/rpc/:method",async l=>{let s=l.req.param("method"),a=e.rpc?.[s];if(!a)return l.json({error:"RPC method not found"},404);try{let u=await l.req.json(),c=await a(u,l);return l.json({result:c})}catch(u){return ee.error("RPC error",{method:s,error:u.message}),l.json({error:"RPC execution failed",message:u.message},500)}}),e.fetch&&n.all("*",async l=>await e.fetch(l.req.raw));let o=null,i={url:new URL(`http://${r}:${t}`),port:t,hostname:r,hono:n,async stop(l=false){return o?new Promise((s,a)=>{l&&o.closeAllConnections?.(),o.close(u=>{u?(ee.error("Error closing server",{error:u.message}),a(u)):(o=null,ee.info(`Server on port ${t} stopped`),s());}),setTimeout(()=>{ee.warn(`Server shutdown timeout on port ${t}`),o=null,s();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return ee.debug("createServer: calling serve()",{port:t,hostname:r}),o=serve({fetch:n.fetch,port:t,hostname:r}),ee.debug("createServer: serve() returned, server created"),ee.info(`Server running on http://${r}:${t}`),i}function mt(e){return ne({rpc:e,port:3e3})}function Tn(e,t=3e3,r="0.0.0.0"){return ne({fetch:e,port:t,hostname:r})}function gt(e,t={}){return ne({...t,routes:e})}function ht(e,t={}){return ne({...t,websockets:e})}function bt(e,t={}){let r=Object.entries(e).map(([n,o])=>({method:"get",path:`/stream/${n}`,handler:i=>streamSSE(i,async l=>{for await(let s of o(i))await l.writeSSE(s);})}));return ne({...t,routes:r,streaming:true})}k();var Te;(i=>{let e=new Map;function t(l){return e.has(l)||e.set(l,{readers:0,writer:false,waitingReaders:[],waitingWriters:[]}),e.get(l)}function r(l){let s=e.get(l);if(!(!s||s.writer||s.readers>0)){if(s.waitingWriters.length>0){s.waitingWriters.shift()();return}for(;s.waitingReaders.length>0;)s.waitingReaders.shift()();s.readers===0&&!s.writer&&s.waitingReaders.length===0&&s.waitingWriters.length===0&&e.delete(l);}}async function n(l){let s=t(l);return new Promise(a=>{!s.writer&&s.waitingWriters.length===0?(s.readers++,a({[Symbol.dispose]:()=>{s.readers--,r(l);}})):s.waitingReaders.push(()=>{s.readers++,a({[Symbol.dispose]:()=>{s.readers--,r(l);}});});})}i.read=n;async function o(l){let s=t(l);return new Promise(a=>{!s.writer&&s.readers===0?(s.writer=true,a({[Symbol.dispose]:()=>{s.writer=false,r(l);}})):s.waitingWriters.push(()=>{s.writer=true,a({[Symbol.dispose]:()=>{s.writer=false,r(l);}});});})}i.write=o;})(Te||(Te={}));k();k();var Z;(S=>{function e(b){return /^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?(?:\+[a-zA-Z0-9.-]+)?$/.test(b)}S.isValid=e;function t(b){let k=b.match(/^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9.-]+))?(?:\+([a-zA-Z0-9.-]+))?$/);if(!k)throw new Error(`\u65E0\u6548\u7684\u7248\u672C\u683C\u5F0F: ${b}`);return new yt(parseInt(k[1],10),parseInt(k[2],10),parseInt(k[3],10),k[4]?k[4].split(".").filter(Boolean):[],k[5]?k[5].split(".").filter(Boolean):[])}S.parse=t;function r(b){let k=`${b.major}.${b.minor}.${b.patch}`;return b.prerelease.length>0&&(k+=`-${b.prerelease.join(".")}`),b.build.length>0&&(k+=`+${b.build.join(".")}`),k}S.format=r;function n(b,k){let L=t(b),N=t(k);return L.compare(N)}S.compare=n;function o(b,k){return Mn(t(b),k)}S.satisfies=o;function i(b,k){return n(b,k)>0}S.gt=i;function l(b,k){return n(b,k)>=0}S.gte=l;function s(b,k){return n(b,k)<0}S.lt=s;function a(b,k){return n(b,k)<=0}S.lte=a;function u(b,k){return n(b,k)===0}S.eq=u;function c(b){return [...b].sort((k,L)=>n(k,L))}S.sort=c;function d(b){return b.length===0?null:b.reduce((k,L)=>n(L,k)>0?L:k)}S.max=d;function f(b){return b.length===0?null:b.reduce((k,L)=>n(L,k)<0?L:k)}S.min=f;function y(b,k,L){return l(b,k)&&a(b,L)}S.inRange=y;})(Z||(Z={}));var yt=class{constructor(t,r,n,o=[],i=[]){c(this,"major");c(this,"minor");c(this,"patch");c(this,"prerelease");c(this,"build");this.major=t,this.minor=r,this.patch=n,this.prerelease=o,this.build=i;}compare(t){return this.major!==t.major?this.major<t.major?-1:1:this.minor!==t.minor?this.minor<t.minor?-1:1:this.patch!==t.patch?this.patch<t.patch?-1:1:this.comparePrerelease(t)}comparePrerelease(t){if(this.prerelease.length===0&&t.prerelease.length>0)return 1;if(this.prerelease.length>0&&t.prerelease.length===0)return -1;if(this.prerelease.length===0&&t.prerelease.length===0)return 0;let r=Math.min(this.prerelease.length,t.prerelease.length);for(let n=0;n<r;n++){let o=this.prerelease[n],i=t.prerelease[n],l=/^\d+$/.test(o),s=/^\d+$/.test(i);if(l&&s){let a=parseInt(o,10),u=parseInt(i,10);if(a!==u)return a<u?-1:1}else {if(l)return -1;if(s)return 1;{let a=o.localeCompare(i);if(a!==0)return a<0?-1:1}}}return this.prerelease.length!==t.prerelease.length?this.prerelease.length<t.prerelease.length?-1:1:0}};function Mn(e,t){return Rn(t).some(n=>ur(e,n))}function Rn(e){let t=[],r="",n=0;for(let o=0;o<e.length;o++){let i=e[o];i==="("||i==="["?(n++,r+=i):i===")"||i==="]"?(n--,r+=i):i==="|"&&n===0?(r.trim()&&t.push(r.trim()),r=""):r+=i;}return r.trim()&&t.push(r.trim()),t}function ur(e,t){return t=t.trim(),t.includes("-")&&!t.startsWith("[")&&!t.startsWith("(")?En(e,t):t.startsWith("[")||t.startsWith("(")?Pn(e,t):t.includes("||")?t.split("||").some(r=>ur(e,r.trim())):wt(e,t)}function Pn(e,t){let n=t.replace(/^\[|\]$/g,"").split(/\s+-\s+/);if(n.length!==2)return wt(e,t);let[o,i]=n,l=Z.parse(o),s=Z.parse(i),a=t.startsWith("["),u=t.endsWith("]");if(a){if(e.compare(l)<0)return false}else if(e.compare(l)<=0)return false;if(u){if(e.compare(s)>0)return false}else if(e.compare(s)>=0)return false;return true}function En(e,t){return t.split(/\s+/).every(n=>wt(e,n))}function wt(e,t){if(t=t.trim(),t.startsWith("^")){let r=Z.parse(t.slice(1));return e.major!==r.major||e.minor<r.minor?false:e.patch>=r.patch}if(t.startsWith("~")){let r=Z.parse(t.slice(1));return e.major!==r.major||e.minor!==r.minor?false:e.patch>=r.patch}return t==="*"?true:t.endsWith(".x")||t.endsWith(".*")?Cn(e,t):t.startsWith(">=")?e.compare(Z.parse(t.slice(2)))>=0:t.startsWith("<=")?e.compare(Z.parse(t.slice(2)))<=0:t.startsWith(">")?e.compare(Z.parse(t.slice(1)))>0:t.startsWith("<")?e.compare(Z.parse(t.slice(1)))<0:t.startsWith("=")?e.compare(Z.parse(t.slice(1).trim()))===0:e.compare(Z.parse(t))===0}function Cn(e,t){let n=t.replace(/\.x|\.\*/g,".0").replace(/^\*$/,"0.0.0").split(".");for(let o=0;o<n.length;o++){let i=n[o],l=o===0?e.major:o===1?e.minor:e.patch,s=String(l);if(i==="0")continue;let a=parseInt(i,10);if(Number.isNaN(a)){if(i!==s&&i!=="*")return false}else if(a!==l)return false}return true}var St=c$1.create({service:"pkg-registry"}),Me;(n=>{function e(){return process.platform==="win32"?"cmd":"npm"}async function t(o,i,l){return new Promise(s=>{let a=process.platform==="win32"?["/c","npm","view",o,i]:["view",o,i],u=spawn(e(),a,{cwd:l,env:{...process.env}}),c="",d="";u.stdout?.on("data",f=>{c+=f.toString();}),u.stderr?.on("data",f=>{d+=f.toString();}),u.on("close",f=>{f!==0?(St.warn("npm view failed",{pkg:o,field:i,code:f,stderr:d}),s(null)):s(c.trim());}),u.on("error",()=>{St.error("npm view error",{pkg:o,field:i,error:"unknown"}),s(null);});})}n.info=t;async function r(o,i,l){let s=await t(o,"version",l);return s?/[\s^~*xX<>|=]/.test(i)?!Z.satisfies(s,i):Z.compare(i,s)===-1:(St.warn("Failed to resolve latest version, using cached",{pkg:o,cachedVersion:i}),false)}n.isOutdated=r;})(Me||(Me={}));k();var ie=c$1.create({service:"build-api"});async function gr(){try{return {available:!0,version:(await import('./chunks/main-SIKGRMGH.mjs')).version||"unknown"}}catch(e){return ie.warn("esbuild not available",{error:e.message}),{available:false}}}async function ze(){let e=await gr();if(!e.available)throw new Error("esbuild is required but not installed. Please install it using: pnpm add -D esbuild");e.version&&e.version<"0.17.0"&&ie.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function Ln(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function hr(e){let t=Ln(e.compile);t&&ie.warn("compile option is no longer supported (Bun runtime removed). The option will be ignored.");let r={entryPoints:e.entrypoints,outdir:e.outdir,bundle:e.bundle??true,conditions:e.conditions,external:e.external,format:e.format??"esm",platform:e.platform??(e.target==="browser"?"browser":"node"),minify:e.minify??false,treeShaking:true,splitting:e.splitting,sourcemap:An(e.sourcemap),sourcesContent:true,define:e.define,inject:e.inject,legalComments:"eof",loader:e.loader,entryNames:e.entryNames,chunkNames:e.chunkNames,assetNames:e.assetNames,publicPath:e.publicPath,tsconfig:e.tsconfig,charset:"utf8",color:true,logLevel:"info",logLimit:50,plugins:e.plugins??[],metafile:true,write:e.write??true};return t?.outfile&&!e.outdir&&(r.outfile=t.outfile,delete r.outdir),e.target&&(r.target=$n(e.target)),e.minify===true&&(r.minifyWhitespace=true,r.minifyIdentifiers=true,r.minifySyntax=true),jn(r)}function An(e){return !e||e==="none"?false:e}function $n(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function jn(e){let t={};for(let r of Object.keys(e))e[r]!==void 0&&(t[r]=e[r]);return t}function De(e){if(e!==void 0)return e.replace(/\\/g,"/")}function dr(e,t,r){let n=[];if(e.outputFiles)for(let i of e.outputFiles)n.push({path:De(i.path)||i.path,size:i.contents?.length||0});if(e.metafile?.outputs)for(let[i,l]of Object.entries(e.metafile.outputs)){let s=l;n.some(a=>a.path===i||a.path===De(i))||n.push({path:De(i)||i,size:s.bytes||0});}let o=[];if(e.errors?.length>0)for(let i of e.errors)o.push({level:"error",message:i.text||String(i),path:i.location?.file,position:i.location?{line:i.location.line,column:i.location.column}:void 0});if(e.warnings?.length>0)for(let i of e.warnings)o.push({level:"warning",message:i.text||String(i),path:i.location?.file,position:i.location?{line:i.location.line,column:i.location.column}:void 0});return {outputs:n,success:e.errors?.length===0,logs:o,metafile:e.metafile}}async function kt(e){ie.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await ze();let t=await import('./chunks/main-SIKGRMGH.mjs'),r=Date.now();try{let n=hr(e);ie.debug("esbuild options",n);let o=await t.build(n),i=Date.now();return ie.info("Build completed",{duration:i-r,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),dr(o,r,i)}catch(n){let o=Date.now(),i=n.message;return ie.error("Build failed",{error:i,duration:o-r}),n&&typeof n=="object"&&"errors"in n?dr(n):{outputs:[],success:false,logs:[{level:"error",message:i}],metafile:void 0}}}var Hn={build:kt},br=Hn;k();function xr(e){if(typeof e=="string")return e;if(Array.isArray(e))return e.map(xr).join(" ");if(e&&typeof e=="object"){if("raw"in e)return String(e.raw);if("toString"in e&&typeof e.toString=="function")return e.toString();if(e instanceof ReadableStream)throw new Error("ReadableStream expressions are not yet supported")}return String(e)}function Un(e){return e.trim().split(/\s+/).filter(Boolean)}function qn(e,t,r){return {stdout:e,stderr:t,exitCode:r,text(n="utf-8"){return e.toString(n)},json(){let n=e.toString("utf-8");return JSON.parse(n)},arrayBuffer(){let n=e.buffer;if(n instanceof ArrayBuffer)return n.slice(e.byteOffset,e.byteOffset+e.byteLength);let o=new ArrayBuffer(e.byteLength),i=new Uint8Array(o),l=new Uint8Array(n,e.byteOffset,e.byteLength);return i.set(l),o},bytes(){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},blob(){let n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return new Blob([n])}}}function fe(e,t={}){let r=Un(e);if(r.length===0)throw new Error("Empty shell command");let n=async()=>{let i=await z.run(r,{cwd:t.cwd,env:t.env}),l=qn(Buffer.from(i.stdout,"utf-8"),Buffer.from(i.stderr,"utf-8"),i.code);if(i.code!==0&&!t.nothrow)throw Object.assign(new Error(`Command failed with exit code ${i.code}: ${e}
22
+ ${i.stderr}`),{stdout:l.stdout,stderr:l.stderr,exitCode:l.exitCode});return l},o=n();return Object.defineProperty(o,"stdin",{get(){throw new Error("stdin is not yet supported in EasbotShell. Use PKG.spawn for interactive commands.")},enumerable:true}),o.cwd=function(i){return fe(e,{...t,cwd:i})},o.env=function(i){return fe(e,{...t,env:i})},o.quiet=function(){return fe(e,{...t,quiet:true})},o.lines=async function*(){let s=(await n()).text().split(/\r?\n/);for(let a of s)a.trim()&&(yield a);},o.text=async function(i="utf-8"){return (await n()).text(i)},o.json=async function(){return (await n()).json()},o.arrayBuffer=async function(){return (await n()).arrayBuffer()},o.blob=async function(){return (await n()).blob()},o.nothrow=function(){return fe(e,{...t,nothrow:true})},o.throws=function(i){return fe(e,{...t,nothrow:!i})},o}var Re=class{constructor(t={}){c(this,"options");this.options=t;}call(t,...r){let n="";for(let o=0;o<t.length;o++)n+=t[o],o<r.length&&r[o]!==void 0&&(n+=xr(r[o]));return fe(n,this.options)}braces(t){let r=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!r)return [t];let[,n="",o="",i=""]=r,l=o.split(",").map(a=>a.trim()),s=[];for(let a of l){let u=`${n}${a}${i}`;u.includes("{")?s.push(...this.braces(u)):s.push(u);}return s}escape(t){return process.platform==="win32"?t.replace(/([&|<>^"%])/g,"^$1"):t.replace(/(["\s'$`\\!*?#&;()<>|])/g,"\\$1")}env(t){return ae({...this.options,env:t})}cwd(t){return ae({...this.options,cwd:t})}nothrow(){return ae({...this.options,nothrow:true})}throws(t){return ae({...this.options,nothrow:!t})}};function ae(e={}){let t=new Re(e);return new Proxy(t,{apply(r,n,o){return t.call(o[0],...o.slice(1))}})}var yr=ae();function wr(e){return e.replace(/\\/g,"/")}function Sr(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var X=new Map,z;(V=>{let e=c$1.create({service:"pkg"});async function t(x,m){if(!x)return process.execPath;let w=m?.PATH||process.env.PATH||process.env.Path||"",h=process.env.EASBOT_BIN_PATH,M=h?w+oe.delimiter+h:w,F=Sr(M),R=`${x}:${F}`;if(X.has(R))return X.get(R);let I=process.platform==="win32"?"where":"which";try{let{spawn:W}=await import('child_process');return new Promise(B=>{let E=W(I,[x],{env:{...process.env,PATH:M},stdio:["pipe","pipe","ignore"]}),G="",H="";E.stdout?.on("data",U=>{G+=U.toString();}),E.stderr?.on("data",U=>{H+=U.toString();}),E.on("close",U=>{if(U===0&&G.trim()){let C=G.trim().split(`
23
+ `),D=C.length>0?C[0]?.trim():null;if(D){X.set(R,D),B(D);return}}X.set(R,null),B(null);}),setTimeout(()=>{E.kill(),X.set(R,null),B(null);},5e3);})}catch{return X.set(R,null),null}}V.which=t;function r(x,m){if(!x)return process.execPath;let w=m?.PATH||process.env.PATH||process.env.Path||"",h=process.env.EASBOT_BIN_PATH,M=h?w+oe.delimiter+h:w,F=Sr(M),R=`${x}:${F}`;if(X.has(R))return X.get(R);let I=process.platform==="win32"?"where":"which";try{let W=execSync(`${I} ${x}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:M},timeout:5e3});if(W.trim()){let B=W.trim().split(`
24
+ `),E=B.length>0?B[0]?.trim():null;if(E)return X.set(R,E),E}}catch{}return X.set(R,null),null}V.whichSync=r;function n(){X.clear();}V.clearWhichCache=n;let o=createRequire(import.meta.url);async function i(x,m){try{return m?o.resolve(x,{paths:[m]}):o.resolve(x)}catch(w){throw new Error(`Cannot resolve module "${x}"${m?` from "${m}"`:""}: ${w instanceof Error?w.message:String(w)}`)}}V.resolve=i;function l(x){return {get name(){return oe.basename(x)},async exists(){try{return await Y.access(x),!0}catch{return false}},async getSize(){try{return (await Y.stat(x)).size}catch{return}},async text(){return await Y.readFile(x,"utf-8")},textSync(){return le.readFileSync(x,"utf-8")},jsonSync(){let m=le.readFileSync(x,"utf-8");return JSON.parse(m)},async bytes(){let m=await Y.readFile(x);return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)},async arrayBuffer(){let m=await Y.readFile(x);return m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)},get type(){let m=oe.extname(x).toLowerCase();return {".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".xml":"application/xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".pdf":"application/pdf",".zip":"application/zip",".wav":"audio/wav",".mp3":"audio/mpeg",".mp4":"video/mp4",".webm":"video/webm"}[m]||"application/octet-stream"},async write(m){let w;if(m instanceof Response){let h=await m.arrayBuffer();w=new Uint8Array(h);}else w=m;await Y.writeFile(x,w);},async json(){let m=await Y.readFile(x,"utf-8");return JSON.parse(m)},async stat(){return await Y.stat(x)}}}V.file=l;async function s(x,m,w){let h;if(m instanceof Response){let M=await m.arrayBuffer();h=new Uint8Array(M);}else h=m;await Y.writeFile(x,h,w?{mode:w.mode}:void 0);}V.write=s;function a$1(x,m,w){le.writeFileSync(x,m,w?{mode:w.mode}:void 0);}V.writeSync=a$1;function u(x,m="utf-8"){return le.readFileSync(x,m)}V.readSync=u;function c$2(x,m){let w,h;if(typeof x=="object"&&"cmd"in x){let E=x;w=E.cmd,h={cwd:E.cwd,env:E.env,stdout:E.stdout,stderr:E.stderr,stdin:E.stdin,signal:E.signal};}else w=Array.isArray(x)?x:[x],h=m||{};if(!w||w.length===0||!w[0])throw new Error("Spawn command cannot be empty");let M=[h.stdin==="inherit"?"inherit":h.stdin==="null"?"ignore":"pipe",h.stdout==="inherit"?"inherit":h.stdout==="null"?"ignore":"pipe",h.stderr==="inherit"?"inherit":h.stderr==="null"?"ignore":"pipe"],F=process.platform==="win32",R=w[0];if(F&&R)if(le.existsSync(R)){let E=R+".cmd";le.existsSync(E)&&(R=E);}else {let E=R+".cmd";le.existsSync(E)&&(R=E);}let _=F&&R?.match(/\.(cmd|bat)$/i),I=spawn(R,w.slice(1),{cwd:h.cwd,env:h.env?{...process.env,...h.env}:process.env,stdio:M,..._?{shell:true,windowsHide:true}:{}}),W;if(h.signal){W=()=>{I.kill();},h.signal.addEventListener("abort",W,{once:true});let E=()=>{W&&(h.signal?.removeEventListener("abort",W),W=void 0);};I.on("close",E),I.on("error",E);}let B=new Promise((E,G)=>{let H=false,U=()=>{H||(H=true,I.removeAllListeners());};if(I.on("close",C=>{U(),E(C??0);}),I.on("error",C=>{U(),G(C);}),h.timeout!==false){let C=h.timeout||3e5;setTimeout(()=>{H||(U(),I.kill("SIGTERM"),G(new Error(`Process timeout after ${C}ms: ${w.join(" ")}`)));},C);}});return {stdout:I.stdout,stderr:I.stderr,stdin:I.stdin,pid:I.pid,exited:B,exitCode:I.exitCode,kill:E=>I.kill(E)}}V.spawn=c$2;async function d(x,m){let w=c$2(x,{cwd:m?.cwd,env:m?.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),h=[],M=[];w.stdout?.on("data",R=>{h.push(R);}),w.stderr?.on("data",R=>{M.push(R);});let F=m?.timeout&&m.timeout>0?setTimeout(()=>{w.kill("SIGTERM");},m.timeout):void 0;try{let R=await w.exited;return clearTimeout(F),{code:R,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(M).toString("utf-8")}}catch(R){return clearTimeout(F),{code:-1,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(M).toString("utf-8")||(R instanceof Error?R.message:String(R))}}}V.run=d;async function f(x,m={},w={}){let h=c$2(x,{cwd:m.cwd,env:m.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),M="",F="";h.stdout?.on("data",_=>{let I=_.toString("utf-8");M+=I,w.onStdout?.(I);}),h.stderr?.on("data",_=>{let I=_.toString("utf-8");F+=I,w.onStderr?.(I);});let R=m.timeout&&m.timeout>0?setTimeout(()=>{h.kill("SIGTERM");},m.timeout):void 0;try{let _=await h.exited;return clearTimeout(R),w.onExit?.(_),{code:_,stdout:M,stderr:F}}catch(_){clearTimeout(R);let I=_ instanceof Error?_.message:String(_);return {code:-1,stdout:M,stderr:F||I}}}V.runWithStream=f;function y(x,...m){let w=x.reduce((M,F,R)=>M+F+(m[R]??""),""),h=(M={})=>({quiet:()=>h({...M,quiet:true}),nothrow:()=>h({...M,nothrow:true}),cwd:F=>h({...M,cwd:F}),env:F=>h({...M,env:F}),text:async()=>{let F=w.trim().split(/\s+/).filter(Boolean);if(F.length===0)throw new Error("Empty command");let R=await d(F,{cwd:M.cwd,env:M.env});if(R.code!==0&&!M.nothrow)throw new Error(`Command failed with exit code ${R.code}: ${w}
25
+ ${R.stderr}`);return R.stdout},lines:async()=>(await h(M).text()).split(`
26
+ `).filter(R=>R.trim()),then:(F,R)=>d(w.trim().split(/\s+/).filter(Boolean),{cwd:M.cwd,env:M.env}).then(_=>F({exitCode:_.code,stdout:new TextEncoder().encode(_.stdout),stderr:new TextEncoder().encode(_.stderr),text:()=>_.stdout,lines:()=>_.stdout.split(`
27
+ `).filter(I=>I.trim())}),R)});return h()}V.$=y;async function S(x){if(typeof x.pipeThrough=="function")try{let M=new TextDecoderStream("utf-8"),R=x.pipeThrough(M).getReader(),_="";try{for(;;){let{done:I,value:W}=await R.read();if(I)break;_+=W;}return _}finally{R.releaseLock();}}catch{}let m=x.getReader(),w=new TextDecoder("utf-8"),h=[];try{for(;;){let{done:M,value:F}=await m.read();if(M)break;h.push(w.decode(F,{stream:!0}));}return h.push(w.decode()),h.join("")}finally{m.releaseLock();}}V.readableStreamToText=S;async function b$1(x){let m=[];return new Promise((w,h)=>{x.on("data",M=>{typeof M=="string"?m.push(Buffer.from(M)):m.push(M);}),x.on("end",()=>{try{let F=Buffer.concat(m).toString("utf-8");w(F);}catch(M){h(M);}}),x.on("error",M=>{h(M);});})}V.nodeReadableStreamToText=b$1;function k(x,m=0){let I=new TextEncoder().encode(x),W=I.length,B,E=0;if(W>=16){let C=W-16,D=m+2654435761+2246822519|0,K=m+2246822519|0,ue=m+0|0,Le=m-2654435761|0;for(;E<=C;)D=G(D,U(I,E)),E+=4,K=G(K,U(I,E)),E+=4,ue=G(ue,U(I,E)),E+=4,Le=G(Le,U(I,E)),E+=4;B=H(D,1)+H(K,7)+H(ue,12)+H(Le,18)|0;}else B=m+374761393|0;for(B=B+W|0;E+4<=W;)B=B+U(I,E)*3266489917|0,B=H(B,17)*668265263|0,E+=4;for(;E<W;)B=B+I[E]*374761393|0,B=H(B,11)*2654435761|0,E++;return B^=B>>>15,B=B*2246822519|0,B^=B>>>13,B=B*3266489917|0,B^=B>>>16,B>>>0;function G(C,D){return C=C+D*2246822519|0,C=H(C,13),C=C*2654435761|0,C}function H(C,D){return C<<D|C>>>32-D|0}function U(C,D){return (C[D]|C[D+1]<<8|C[D+2]<<16|C[D+3]<<24)>>>0}}V.xxHash32=k;function L(x){let m=0;for(let w of x){let h=w.codePointAt(0)||w.charCodeAt(0);h<127?m+=1:h>=4352&&h<=4447||h>=9001&&h<=9002||h>=11904&&h<=42191&&h!==12351||h>=44032&&h<=55203||h>=63744&&h<=64255||h>=65040&&h<=65049||h>=65072&&h<=65135||h>=65280&&h<=65376||h>=65504&&h<=65510?m+=2:m+=1;}return m}V.stringWidth=L;class N{constructor(m){c(this,"pattern");this.pattern=m;}async*scan(m){let w=b.stream(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for await(let h of w)yield wr(h);}*scanSync(m){let w=a(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for(let h of w)yield wr(h);}match(m){return minimatch(m,this.pattern)}}V.Glob=N,V.InstallFailedError=Se.create("PKGInstallFailedError",Pe.object({message:Pe.string(),pkg:Pe.string(),version:Pe.string(),originalError:Pe.string().optional()}));async function tt(x,m="latest",w){w=w??process.env.EASBOT_CACHE_PATH??oe.join(".easbot","cache");let h=await Te.write("pkg-install");try{let M=oe.join(w,"node_modules",x),F=oe.join(w,"package.json"),R=await Y.readFile(F,"utf-8").then(C=>JSON.parse(C)).catch(async()=>{let C={dependencies:{}};return await Y.writeFile(F,JSON.stringify(C,null,2)),C}),_=R.dependencies??{},I=await de.exists(M),W=_[x],B=!1;if(!I||!W)B=!0;else {if(m!=="latest"&&W===m)return M;if(m==="latest"){if(!await Me.isOutdated(x,W,w))return M;e.info("Cached version is outdated, proceeding with install",{pkg:x,cachedVersion:W}),B=!0;}}if(!B)return M;e.info("installing package",{pkg:x,version:m,cache:w});let E=process.platform==="win32",G=[{name:"npm",cmd:["npm","install","--save-exact",`${x}@${m}`]},{name:"pnpm",cmd:["pnpm","add","--save-exact",`${x}@${m}`]}],H=null;for(let C of G){let D=await t(C.name);if(!D){e.info(`Package manager ${C.name} not found, skipping`);continue}try{e.info(`Using ${C.name} to install package`,{pkg:x,version:m,pmPath:D});let K=E?["cmd","/c",...C.cmd]:C.cmd,{code:ue,stdout:Le,stderr:Jr}=await d(K,{cwd:w,timeout:600*1e3});if(ue!==0)throw new Error(`Package manager exited with code ${ue}: ${Jr}`);e.info(`Successfully installed ${x}@${m} with ${C.name}`);break}catch(K){H=K instanceof Error?K:new Error(String(K)),e.warn(`Failed to install with ${C.name}, trying next package manager`,{error:H.message});}}if(H&&!await de.exists(M))throw new V.InstallFailedError({message:`Failed to install ${x}@${m}`,pkg:x,version:m,originalError:H.message});let U=m;if(m==="latest")try{let C=oe.join(M,"package.json"),D=await Y.readFile(C,"utf-8").then(K=>JSON.parse(K));D?.version&&(U=D.version);}catch{e.warn("Could not resolve installed version",{pkg:x});}return R.dependencies[x]=U,await Y.writeFile(F,JSON.stringify(R,null,2)),M}finally{h[Symbol.dispose]();}}V.install=tt,V.stdin=process.stdin,V.stdout=process.stdout,V.stderr=process.stderr,V.sleep=x=>new Promise(m=>setTimeout(m,x)),V.color=(x,m)=>({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",blink:"\x1B[5m",inverse:"\x1B[7m",hidden:"\x1B[8m",strikethrough:"\x1B[9m",reset:"\x1B[0m"})[x.toLowerCase()]||null,V.hash={xxHash32:V.xxHash32},V.build=br.build,V.server=ne,V.nodeWebSocket=createNodeWebSocket,V.restServer=gt,V.rpcServer=mt,V.streamingServer=bt,V.webSocketServer=ht;})(z||(z={}));var vt=z.$,Kn=z.readableStreamToText;z.nodeReadableStreamToText;z.which;var Xn=z.whichSync;z.spawn;z.run;async function Qn(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let i=z.spawn(["git",...e],{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[l,s,a]=await Promise.all([i.exited,new Response(i.stdout).arrayBuffer(),new Response(i.stderr).arrayBuffer()]),u=Buffer.from(s),c=Buffer.from(a);return {exitCode:l,text:()=>u.toString(),stdout:u,stderr:c}}catch(i){let l=Buffer.from(i instanceof Error?i.message:String(i));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:l}}let r=t.env?{...process.env,...t.env}:void 0,n=vt`git ${e.join(" ")}`.quiet().nothrow().cwd(t.cwd);r&&(n=n.env(r));let o=await n;return {exitCode:o.exitCode,text:()=>o.text(),stdout:o.stdout,stderr:o.stderr}}k();k();function kr(e){let t,r=false,n=()=>(r||(t=e(),r=true),t);return n.reset=()=>{r=false,t=void 0;},n}var eo=kr;function vr(e){let t,r=()=>(t||(t=e()),t);return r.reset=()=>{t=void 0;},r}var to=vr,pe;(r=>(r.lazy=kr,r.lazyAsync=vr))(pe||(pe={}));function Mr(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function Tr(e,t,r=3){function n(o,i){if(i>r||!existsSync(o))return null;try{let l=readdirSync(o);for(let s of l){let a=join(o,s);try{let u=statSync(a);if(u.isFile()&&a.endsWith(t))return a;if(u.isDirectory()&&i<r){let c=n(a,i+1);if(c)return c}}catch{}}}catch{}return null}return n(e,0)}function Rr(e,t){let r=join(e,t);if(existsSync(r))return r;let n=t.split("/").pop()||t,o=e;for(let i=0;i<5;i++){let l=join(o,"assets","txt");if(existsSync(l)){let u=Tr(l,n,5);if(u)return u}let s=join(o,"dist","assets","txt");if(existsSync(s)){let u=Tr(s,n,5);if(u)return u}let a=join(o,"..");if(a===o)break;o=a;}return r}function io(e,t){return pe.lazy(()=>{try{let r=Mr(t),n=Rr(r,e);return z.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}function ao(e,t){return pe.lazy(async()=>{try{let r=Mr(t),n=Rr(r,e);return await z.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}k();function lo(e){return e()}k();function co(e){if(!e||typeof e!="string")return {provider:"",model:""};let t=e.indexOf("/");return t===-1?{provider:"",model:e}:{provider:e.substring(0,t),model:e.substring(t+1)}}k();k();k();function Tt(e,t,r,n=()=>true){let o=-1,i=-1,l=0;for(let s=t;s<r;s++){if(!n(s))continue;let a=e[s];if(a){if(a==="("){l+=1;continue}if(a===")"&&l>0){l-=1;continue}l===0&&(a===`
28
+ `?o=s:/\s/.test(a)&&(i=s));}}return {lastNewline:o,lastWhitespace:i}}function uo(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function me(e,t,r){try{let n=z$1.string().parse(e),o=z$1.number().int().parse(t),i=uo(n,o);if(i)return i;let l=Mt(n,o,s=>{let{lastNewline:a,lastWhitespace:u}=Tt(s,0,s.length);return a>0?a:u});return r?.minLength&&r.minLength>0&&(l=Er(l,r.minLength)),l}catch(n){return console.warn("Invalid input for chunkText:",n),typeof e=="string"&&e.length>0?[e]:[]}}function Er(e,t){if(e.length<=1||t<=0)return e;let r=[],n=e[0]??"";for(let o=1;o<e.length;o++){let i=e[o]??"";n.length<t?n=n+`
33
29
 
34
- `+i:(n.push(r),r=i);}if(r.length>0)if(r.length<t&&n.length>0){let o=n.pop();n.push(o+`
30
+ `+i:(r.push(n),n=i);}if(n.length>0)if(n.length<t&&r.length>0){let o=r.pop();r.push(o+`
35
31
 
36
- `+r);}else n.push(r);return n}function cr(e,t,n){if(!e)return [];if(t<=0||e.length<=t)return [e];let r=[],o=e;for(;o.length>t;){let i=o.slice(0,t),a=n(i),s=Number.isFinite(a)&&a>0&&a<=t?a:t,u=o.slice(0,s).trimEnd();u.length>0&&r.push(u);let l=s<o.length&&o[s]!==void 0&&/\s/.test(o[s]),d=Math.min(o.length,s+(l?1:0));o=o.slice(d).trimStart();}return o.length>0&&r.push(o),r}k();var lr=z$1.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),In=z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),style:lr}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Bn=z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),href:z$1.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),et=z$1.object({text:z$1.string(),styles:z$1.array(In),links:z$1.array(Bn)}).strict(),tt=z$1.enum(["off","bullets","code"]),wt=z$1.object({linkify:z$1.boolean().default(true),enableSpoilers:z$1.boolean().default(false),headingStyle:z$1.enum(["none","bold"]).default("none"),blockquotePrefix:z$1.string().default(""),autolink:z$1.boolean().default(true),tableMode:tt.default("off")}).partial().default({}),An=z$1.object({open:z$1.string(),close:z$1.string()}).strict(),ur=z$1.object({styleMarkers:z$1.record(lr,An).optional(),escapeText:z$1.any().optional(),buildLink:z$1.any().optional()}).strict();z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),open:z$1.string(),close:z$1.string()}).strict();var dr=z$1.object({indentSize:z$1.number().int().min(1).default(2),listMarker:z$1.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z$1.enum(["```","~~~"]).default("```"),preserveFrontmatter:z$1.boolean().default(true)}).strict(),fr=z$1.record(z$1.string(),z$1.string()),xt=z$1.object({open:z$1.boolean(),ticks:z$1.number().int().min(0)}).strict();z$1.object({inlineState:xt,isInside:z$1.any()}).strict();z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),openLine:z$1.string(),marker:z$1.string(),indent:z$1.string()}).strict();z$1.object({tables:tt.optional()}).strict();function ni(e){let t=new ri({html:false,linkify:e.linkify??true,breaks:false,typographer:false});return t.enable("strikethrough"),e.tableMode&&e.tableMode!=="off"?t.enable("table"):t.disable("table"),e.autolink===false&&t.disable("autolink"),t}function Ln(e,t){if(e.attrGet)return e.attrGet(t);if(e.attrs){for(let[n,r]of e.attrs)if(n===t)return r}return null}function pr(e,t){return {...e,type:"text",content:t,children:void 0}}function oi(e){for(let t of e)t.children&&t.children.length>0&&(t.children=si(t.children));}function si(e){let t=0;for(let a of e){if(a.type!=="text")continue;let s=a.content??"",c=0;for(;c<s.length;){let u=s.indexOf("||",c);if(u===-1)break;t+=1,c=u+2;}}if(t<2)return e;let n=t-t%2,r=[],o={spoilerOpen:false},i=0;for(let a of e){if(a.type!=="text"){r.push(a);continue}let s=a.content??"";if(!s.includes("||")){r.push(a);continue}let c=0;for(;c<s.length;){let u=s.indexOf("||",c);if(u===-1){c<s.length&&r.push(pr(a,s.slice(c)));break}if(i>=n){r.push(pr(a,s.slice(c)));break}u>c&&r.push(pr(a,s.slice(c,u))),i+=1,o.spoilerOpen=!o.spoilerOpen,r.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),c=u+2;}}return r}function ii(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function Se(e){return e.table?.currentCell??e}function St(e,t){if(!t)return;let n=Se(e);n.text+=t;}function Le(e,t){let n=Se(e);n.openStyles.push({style:t,start:n.text.length});}function Fe(e,t){let n=Se(e);for(let r=n.openStyles.length-1;r>=0;r-=1){let o=n.openStyles[r];if(o?.style===t){let i=o.start;n.openStyles.splice(r,1);let a=n.text.length;a>i&&n.styles.push({start:i,end:a,style:t});return}}}function Fn(e){e.env.listStack.length>0||e.table||(e.text+=`
32
+ `+n);}else r.push(n);return r}function Mt(e,t,r){if(!e)return [];if(t<=0||e.length<=t)return [e];let n=[],o=e;for(;o.length>t;){let i=o.slice(0,t),l=r(i),s=Number.isFinite(l)&&l>0&&l<=t?l:t,u=o.slice(0,s).trimEnd();u.length>0&&n.push(u);let c=s<o.length&&o[s]!==void 0&&/\s/.test(o[s]),d=Math.min(o.length,s+(c?1:0));o=o.slice(d).trimStart();}return o.length>0&&n.push(o),n}k();var Rt=z$1.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),Cr=z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),style:Rt}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Ir=z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),href:z$1.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Ce=z$1.object({text:z$1.string(),styles:z$1.array(Cr),links:z$1.array(Ir)}).strict(),Ie=z$1.enum(["off","bullets","code"]),Ue=z$1.object({linkify:z$1.boolean().default(true),enableSpoilers:z$1.boolean().default(false),headingStyle:z$1.enum(["none","bold"]).default("none"),blockquotePrefix:z$1.string().default(""),autolink:z$1.boolean().default(true),tableMode:Ie.default("off")}).partial().default({}),Or=z$1.object({open:z$1.string(),close:z$1.string()}).strict(),Pt=z$1.object({styleMarkers:z$1.record(Rt,Or).optional(),escapeText:z$1.any().optional(),buildLink:z$1.any().optional()}).strict();z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),open:z$1.string(),close:z$1.string()}).strict();var Et=z$1.object({indentSize:z$1.number().int().min(1).default(2),listMarker:z$1.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z$1.enum(["```","~~~"]).default("```"),preserveFrontmatter:z$1.boolean().default(true)}).strict(),Ct=z$1.record(z$1.string(),z$1.string()),qe=z$1.object({open:z$1.boolean(),ticks:z$1.number().int().min(0)}).strict();z$1.object({inlineState:qe,isInside:z$1.any()}).strict();z$1.object({start:z$1.number().int().min(0),end:z$1.number().int().min(0),openLine:z$1.string(),marker:z$1.string(),indent:z$1.string()}).strict();z$1.object({tables:Ie.optional()}).strict();function bo(e){let t=new ho({html:false,linkify:e.linkify??true,breaks:false,typographer:false});return t.enable("strikethrough"),e.tableMode&&e.tableMode!=="off"?t.enable("table"):t.disable("table"),e.autolink===false&&t.disable("autolink"),t}function Br(e,t){if(e.attrGet)return e.attrGet(t);if(e.attrs){for(let[r,n]of e.attrs)if(r===t)return n}return null}function It(e,t){return {...e,type:"text",content:t,children:void 0}}function xo(e){for(let t of e)t.children&&t.children.length>0&&(t.children=yo(t.children));}function yo(e){let t=0;for(let l of e){if(l.type!=="text")continue;let s=l.content??"",a=0;for(;a<s.length;){let u=s.indexOf("||",a);if(u===-1)break;t+=1,a=u+2;}}if(t<2)return e;let r=t-t%2,n=[],o={spoilerOpen:false},i=0;for(let l of e){if(l.type!=="text"){n.push(l);continue}let s=l.content??"";if(!s.includes("||")){n.push(l);continue}let a=0;for(;a<s.length;){let u=s.indexOf("||",a);if(u===-1){a<s.length&&n.push(It(l,s.slice(a)));break}if(i>=r){n.push(It(l,s.slice(a)));break}u>a&&n.push(It(l,s.slice(a,u))),i+=1,o.spoilerOpen=!o.spoilerOpen,n.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),a=u+2;}}return n}function wo(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function ce(e){return e.table?.currentCell??e}function Ve(e,t){if(!t)return;let r=ce(e);r.text+=t;}function ge(e,t){let r=ce(e);r.openStyles.push({style:t,start:r.text.length});}function he(e,t){let r=ce(e);for(let n=r.openStyles.length-1;n>=0;n-=1){let o=r.openStyles[n];if(o?.style===t){let i=o.start;r.openStyles.splice(n,1);let l=r.text.length;l>i&&r.styles.push({start:i,end:l,style:t});return}}}function Fr(e){e.env.listStack.length>0||e.table||(e.text+=`
37
33
 
38
- `);}function ai(e){let t=e.env.listStack,n=t[t.length-1];if(!n)return;n.index+=1;let r=" ".repeat(Math.max(0,t.length-1)),o=n.type==="ordered"?`${n.index}. `:"\u2022 ";e.text+=`${r}${o}`;}function ci(e,t){if(!t)return;let n=Se(e),r=n.text.length;n.text+=t,n.styles.push({start:r,end:r+t.length,style:"code"});}function li(e,t){let n=t??"",r=Se(e),o=r.text.length;r.text+=n,r.styles.push({start:o,end:o+n.length,style:"code_block"});}function ui(e){let t=Se(e),n=t.linkStack.pop();if(!n?.href)return;let r=n.href.trim();if(!r)return;let o=n.labelStart,i=t.text.length;if(i<=o){t.links.push({start:o,end:i,href:r});return}t.links.push({start:o,end:i,href:r});}function di(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function fi(e){return jn(e),{text:e.text,styles:e.styles,links:e.links}}function kt(e){let t=e.text,n=0,r=t.length;for(;n<r&&/\s/.test(t[n]??"");)n+=1;for(;r>n&&/\s/.test(t[r-1]??"");)r-=1;if(n===0&&r===t.length)return e;let o=t.slice(n,r),i=o.length,a=[];for(let c of e.styles){let u=Math.max(0,c.start-n),l=Math.min(i,c.end-n);l>u&&a.push({start:u,end:l,style:c.style});}let s=[];for(let c of e.links){let u=Math.max(0,c.start-n),l=Math.min(i,c.end-n);l>u&&s.push({start:u,end:l,href:c.href});}return {text:o,styles:a,links:s}}function mr(e,t){if(!t.text)return;let n=e.text.length;e.text+=t.text;for(let r of t.styles)e.styles.push({start:n+r.start,end:n+r.end,style:r.style});for(let r of t.links)e.links.push({start:n+r.start,end:n+r.end,href:r.href});}function pi(e,t){t.text&&(e.text+=t.text);}function $n(e,t){let{header:n,value:r,columnIndex:o,includeColumnFallback:i}=t;r?.text&&(e.text+="\u2022 ",n?.text?(mr(e,n),e.text+=": "):i&&(e.text+=`Column ${o}: `),mr(e,r),e.text+=`
39
- `);}function mi(e){if(!e.table)return;let t=e.table.headers.map(kt),n=e.table.rows.map(o=>o.map(kt));if(t.length===0&&n.length===0)return;if(t.length>1&&n.length>0)for(let o of n){if(o.length===0)continue;let i=o[0];if(i?.text){let a=e.text.length;mr(e,i);let s=e.text.length;s>a&&e.styles.push({start:a,end:s,style:"bold"}),e.text+=`
40
- `;}for(let a=1;a<o.length;a++)$n(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
41
- `;}else for(let o of n){for(let i=0;i<o.length;i++)$n(e,{header:t[i],value:o[i],columnIndex:i,includeColumnFallback:false});e.text+=`
42
- `;}}function hi(e){if(!e.table)return;let t=e.table.headers.map(kt),n=e.table.rows.map(l=>l.map(kt)),r=Math.max(t.length,...n.map(l=>l.length));if(r===0)return;let o=Array.from({length:r},()=>0),i=l=>{for(let d=0;d<r;d+=1){let h=l[d]?.text.length??0;(o[d]??0)<h&&(o[d]=h);}};i(t);for(let l of n)i(l);let a=e.text.length,s=l=>{e.text+="|";for(let d=0;d<r;d+=1){e.text+=" ";let f=l[d];f&&pi(e,f);let h=f?.text.length??0,y=(o[d]??0)-h;y>0&&(e.text+=" ".repeat(y)),e.text+=" |";}e.text+=`
43
- `;},c=()=>{e.text+="|";for(let l=0;l<r;l+=1){let d=o[l]??0,f=Math.max(3,d);e.text+=` ${"-".repeat(f)} |`;}e.text+=`
44
- `;};s(t),c();for(let l of n)s(l);let u=e.text.length;u>a&&e.styles.push({start:a,end:u,style:"code_block"});}function hr(e,t){for(let n of e)switch(n.type){case "inline":n.children&&hr(n.children,t);break;case "text":St(t,n.content??"");break;case "em_open":Le(t,"italic");break;case "em_close":Fe(t,"italic");break;case "strong_open":Le(t,"bold");break;case "strong_close":Fe(t,"bold");break;case "s_open":Le(t,"strikethrough");break;case "s_close":Fe(t,"strikethrough");break;case "code_inline":ci(t,n.content??"");break;case "spoiler_open":t.enableSpoilers&&Le(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&Fe(t,"spoiler");break;case "link_open":{let r=Ln(n,"href")??"",o=Se(t);o.linkStack.push({href:r,labelStart:o.text.length});break}case "link_close":ui(t);break;case "image":St(t,n.content??"");break;case "softbreak":case "hardbreak":St(t,`
45
- `);break;case "paragraph_close":Fn(t);break;case "heading_open":t.headingStyle==="bold"&&Le(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&Fe(t,"bold"),Fn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),Le(t,"blockquote");break;case "blockquote_close":Fe(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
34
+ `);}function So(e){let t=e.env.listStack,r=t[t.length-1];if(!r)return;r.index+=1;let n=" ".repeat(Math.max(0,t.length-1)),o=r.type==="ordered"?`${r.index}. `:"\u2022 ";e.text+=`${n}${o}`;}function ko(e,t){if(!t)return;let r=ce(e),n=r.text.length;r.text+=t,r.styles.push({start:n,end:n+t.length,style:"code"});}function vo(e,t){let r=t??"",n=ce(e),o=n.text.length;n.text+=r,n.styles.push({start:o,end:o+r.length,style:"code_block"});}function To(e){let t=ce(e),r=t.linkStack.pop();if(!r?.href)return;let n=r.href.trim();if(!n)return;let o=r.labelStart,i=t.text.length;if(i<=o){t.links.push({start:o,end:i,href:n});return}t.links.push({start:o,end:i,href:n});}function Mo(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function Ro(e){return Ar(e),{text:e.text,styles:e.styles,links:e.links}}function Ze(e){let t=e.text,r=0,n=t.length;for(;r<n&&/\s/.test(t[r]??"");)r+=1;for(;n>r&&/\s/.test(t[n-1]??"");)n-=1;if(r===0&&n===t.length)return e;let o=t.slice(r,n),i=o.length,l=[];for(let a of e.styles){let u=Math.max(0,a.start-r),c=Math.min(i,a.end-r);c>u&&l.push({start:u,end:c,style:a.style});}let s=[];for(let a of e.links){let u=Math.max(0,a.start-r),c=Math.min(i,a.end-r);c>u&&s.push({start:u,end:c,href:a.href});}return {text:o,styles:l,links:s}}function Ot(e,t){if(!t.text)return;let r=e.text.length;e.text+=t.text;for(let n of t.styles)e.styles.push({start:r+n.start,end:r+n.end,style:n.style});for(let n of t.links)e.links.push({start:r+n.start,end:r+n.end,href:n.href});}function Po(e,t){t.text&&(e.text+=t.text);}function Lr(e,t){let{header:r,value:n,columnIndex:o,includeColumnFallback:i}=t;n?.text&&(e.text+="\u2022 ",r?.text?(Ot(e,r),e.text+=": "):i&&(e.text+=`Column ${o}: `),Ot(e,n),e.text+=`
35
+ `);}function Eo(e){if(!e.table)return;let t=e.table.headers.map(Ze),r=e.table.rows.map(o=>o.map(Ze));if(t.length===0&&r.length===0)return;if(t.length>1&&r.length>0)for(let o of r){if(o.length===0)continue;let i=o[0];if(i?.text){let l=e.text.length;Ot(e,i);let s=e.text.length;s>l&&e.styles.push({start:l,end:s,style:"bold"}),e.text+=`
36
+ `;}for(let l=1;l<o.length;l++)Lr(e,{header:t[l],value:o[l],columnIndex:l,includeColumnFallback:true});e.text+=`
37
+ `;}else for(let o of r){for(let i=0;i<o.length;i++)Lr(e,{header:t[i],value:o[i],columnIndex:i,includeColumnFallback:false});e.text+=`
38
+ `;}}function Co(e){if(!e.table)return;let t=e.table.headers.map(Ze),r=e.table.rows.map(c=>c.map(Ze)),n=Math.max(t.length,...r.map(c=>c.length));if(n===0)return;let o=Array.from({length:n},()=>0),i=c=>{for(let d=0;d<n;d+=1){let y=c[d]?.text.length??0;(o[d]??0)<y&&(o[d]=y);}};i(t);for(let c of r)i(c);let l=e.text.length,s=c=>{e.text+="|";for(let d=0;d<n;d+=1){e.text+=" ";let f=c[d];f&&Po(e,f);let y=f?.text.length??0,b=(o[d]??0)-y;b>0&&(e.text+=" ".repeat(b)),e.text+=" |";}e.text+=`
39
+ `;},a=()=>{e.text+="|";for(let c=0;c<n;c+=1){let d=o[c]??0,f=Math.max(3,d);e.text+=` ${"-".repeat(f)} |`;}e.text+=`
40
+ `;};s(t),a();for(let c of r)s(c);let u=e.text.length;u>l&&e.styles.push({start:l,end:u,style:"code_block"});}function Bt(e,t){for(let r of e)switch(r.type){case "inline":r.children&&Bt(r.children,t);break;case "text":Ve(t,r.content??"");break;case "em_open":ge(t,"italic");break;case "em_close":he(t,"italic");break;case "strong_open":ge(t,"bold");break;case "strong_close":he(t,"bold");break;case "s_open":ge(t,"strikethrough");break;case "s_close":he(t,"strikethrough");break;case "code_inline":ko(t,r.content??"");break;case "spoiler_open":t.enableSpoilers&&ge(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&he(t,"spoiler");break;case "link_open":{let n=Br(r,"href")??"",o=ce(t);o.linkStack.push({href:n,labelStart:o.text.length});break}case "link_close":To(t);break;case "image":Ve(t,r.content??"");break;case "softbreak":case "hardbreak":Ve(t,`
41
+ `);break;case "paragraph_close":Fr(t);break;case "heading_open":t.headingStyle==="bold"&&ge(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&he(t,"bold"),Fr(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),ge(t,"blockquote");break;case "blockquote_close":he(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
46
42
  `),t.env.listStack.push({type:"bullet",index:0});break;case "bullet_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
47
43
  `);break;case "ordered_list_open":{t.env.listStack.length>0&&(t.text+=`
48
- `);let r=Number(Ln(n,"start")??"1");t.env.listStack.push({type:"ordered",index:r-1});break}case "ordered_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
49
- `);break;case "list_item_open":ai(t);break;case "list_item_close":t.text.endsWith(`
44
+ `);let n=Number(Br(r,"start")??"1");t.env.listStack.push({type:"ordered",index:n-1});break}case "ordered_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
45
+ `);break;case "list_item_open":So(t);break;case "list_item_close":t.text.endsWith(`
50
46
  `)||(t.text+=`
51
- `);break;case "code_block":case "fence":li(t,n.content??"");break;case "html_block":case "html_inline":St(t,n.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=di(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?mi(t):t.tableMode==="code"&&hi(t)),t.table=null;break;case "thead_open":t.table&&(t.table.inHeader=true);break;case "thead_close":t.table&&(t.table.inHeader=false);break;case "tbody_open":case "tbody_close":break;case "tr_open":t.table&&(t.table.currentRow=[]);break;case "tr_close":t.table&&(t.table.inHeader?t.table.headers=t.table.currentRow:t.table.rows.push(t.table.currentRow),t.table.currentRow=[]);break;case "th_open":case "td_open":t.table&&(t.table.currentCell=ii());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(fi(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
47
+ `);break;case "code_block":case "fence":vo(t,r.content??"");break;case "html_block":case "html_inline":Ve(t,r.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=Mo(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?Eo(t):t.tableMode==="code"&&Co(t)),t.table=null;break;case "thead_open":t.table&&(t.table.inHeader=true);break;case "thead_close":t.table&&(t.table.inHeader=false);break;case "tbody_open":case "tbody_close":break;case "tr_open":t.table&&(t.table.currentRow=[]);break;case "tr_close":t.table&&(t.table.inHeader?t.table.headers=t.table.currentRow:t.table.rows.push(t.table.currentRow),t.table.currentRow=[]);break;case "th_open":case "td_open":t.table&&(t.table.currentCell=wo());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(Ro(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
52
48
 
53
- `;break;default:n.children&&hr(n.children,t);break}}function jn(e){for(let t=e.openStyles.length-1;t>=0;t-=1){let n=e.openStyles[t];if(!n)continue;let r=e.text.length;r>n.start&&e.styles.push({start:n.start,end:r,style:n.style});}e.openStyles=[];}function gi(e,t){let n=[];for(let r of e){let o=Math.max(0,Math.min(r.start,t)),i=Math.max(o,Math.min(r.end,t));i>o&&n.push({start:o,end:i,style:r.style});}return n}function bi(e,t){let n=[];for(let r of e){let o=Math.max(0,Math.min(r.start,t)),i=Math.max(o,Math.min(r.end,t));i>o&&n.push({start:o,end:i,href:r.href});}return n}function _n(e){let t=[...e].toSorted((r,o)=>r.start!==o.start?r.start-o.start:r.end!==o.end?r.end-o.end:r.style.localeCompare(o.style)),n=[];for(let r of t){let o=n[n.length-1];if(o&&o.style===r.style&&(r.start<o.end||r.start===o.end&&r.style!=="blockquote")){o.end=Math.max(o.end,r.end);continue}n.push({...r});}return n}function Nn(e,t,n){let r=Math.max(e.start,t),o=Math.min(e.end,n);return o<=r?null:{start:r,end:o}}function yi(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let i=Nn(o,t,n);i&&r.push({start:i.start-t,end:i.end-t,style:o.style});}return _n(r)}function wi(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let i=Nn(o,t,n);i&&r.push({start:i.start-t,end:i.end-t,href:o.href});}return r}function $e(e,t){try{let n=typeof e=="string"?e:"",r=wt.parse(t??{});return rt(n,r).ir}catch(n){return console.error("Markdown parse error:",n),{text:"",styles:[],links:[]}}}function rt(e,t){try{let n=typeof e=="string"?e:"",r=wt.parse(t),o={listStack:[]},a=ni(r).parse(n||"",o);r.enableSpoilers&&oi(a);let s=r.tableMode??"off",c={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:r.headingStyle??"none",blockquotePrefix:r.blockquotePrefix??"",enableSpoilers:r.enableSpoilers??!1,tableMode:s,table:null,hasTables:!1};hr(a,c),jn(c);let l=c.text.trimEnd().length,d=0;for(let w of c.styles)w.style==="code_block"&&w.end>d&&(d=w.end);let f=Math.max(l,d);return {ir:{text:f===c.text.length?c.text:c.text.slice(0,f),styles:_n(gi(c.styles,f)),links:bi(c.links,f)},hasTables:c.hasTables}}catch(n){return console.error("Markdown parse error:",n),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function Dn(e,t){try{let n=et.parse(e),r=typeof t=="number"&&t>0?t:0;if(!n.text)return [];if(r<=0||n.text.length<=r)return [n];let o=Ae(n.text,r),i=[],a=0;return o.forEach((s,c)=>{if(!s)return;if(c>0)for(;a<n.text.length&&/\s/.test(n.text[a]??"");)a+=1;let u=a,l=Math.min(n.text.length,u+s.length);i.push({text:s,styles:yi(n.styles,u,l),links:wi(n.links,u,l)}),a=l;}),i}catch(n){return console.error("Chunk IR error:",n),[]}}k();var xi={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function nt(e,t){try{let n=et.parse(e),r=ur.parse(t??{});if(!n.text)return "";let o=r.styleMarkers??xi,i=r.escapeText??(d=>d),a=r.buildLink,s=[];for(let d=0;d<n.styles.length;d++){let f=n.styles[d];f&&(s.push({position:f.start,type:"open",style:f.style,spanIndex:d}),s.push({position:f.end,type:"close",style:f.style,spanIndex:d}));}for(let d=0;d<n.links.length;d++){let f=n.links[d];f&&(s.push({position:f.start,type:"link_open",spanIndex:d,href:f.href}),s.push({position:f.end,type:"link_close",spanIndex:d,href:f.href}));}s.sort((d,f)=>{if(d.position!==f.position)return d.position-f.position;let h=(N,ae)=>N==="link_open"?0:N==="open"?1:N==="close"?2:N==="link_close"?3:4,w=d.type==="close"||d.type==="link_close",y=f.type==="close"||f.type==="link_close",v=h(d.type,w),L=h(f.type,y);return v!==L?v-L:d.type==="open"&&f.type==="open"?d.spanIndex-f.spanIndex:d.type==="close"&&f.type==="close"?f.spanIndex-d.spanIndex:d.spanIndex-f.spanIndex});let c="",u=0,l=[];for(let d of s){if(d.position>u){let f=n.text.slice(u,d.position);c+=i?i(f):f;}if(d.type==="open"||d.type==="close"){let f=o[d.style];if(f)if(d.type==="open")c+=f.open,l.push(d);else {c+=f.close,d.style==="code_block"&&d.position<n.text.length&&(c+=`
54
- `);let h=l.findIndex(w=>w.spanIndex===d.spanIndex&&w.type==="open");h!==-1&&l.splice(h,1);}}else if(d.type==="link_open")c+="[",l.push(d);else if(d.type==="link_close"){c+="]("+d.href+")";let f=l.findIndex(h=>h.spanIndex===d.spanIndex&&h.type==="link_open");f!==-1&&l.splice(f,1);}u=d.position;}if(u<n.text.length){let d=n.text.slice(u);c+=i?i(d):d;}return c}catch(n){return console.error("Markdown render error:",n),""}}function je(e,t){return nt(e,t)}k();function Si(e){let t=e.replace(/\r\n/g,`
49
+ `;break;default:r.children&&Bt(r.children,t);break}}function Ar(e){for(let t=e.openStyles.length-1;t>=0;t-=1){let r=e.openStyles[t];if(!r)continue;let n=e.text.length;n>r.start&&e.styles.push({start:r.start,end:n,style:r.style});}e.openStyles=[];}function Io(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),i=Math.max(o,Math.min(n.end,t));i>o&&r.push({start:o,end:i,style:n.style});}return r}function Oo(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),i=Math.max(o,Math.min(n.end,t));i>o&&r.push({start:o,end:i,href:n.href});}return r}function $r(e){let t=[...e].toSorted((n,o)=>n.start!==o.start?n.start-o.start:n.end!==o.end?n.end-o.end:n.style.localeCompare(o.style)),r=[];for(let n of t){let o=r[r.length-1];if(o&&o.style===n.style&&(n.start<o.end||n.start===o.end&&n.style!=="blockquote")){o.end=Math.max(o.end,n.end);continue}r.push({...n});}return r}function jr(e,t,r){let n=Math.max(e.start,t),o=Math.min(e.end,r);return o<=n?null:{start:n,end:o}}function Bo(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let i=jr(o,t,r);i&&n.push({start:i.start-t,end:i.end-t,style:o.style});}return $r(n)}function Fo(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let i=jr(o,t,r);i&&n.push({start:i.start-t,end:i.end-t,href:o.href});}return n}function be(e,t){try{let r=typeof e=="string"?e:"",n=Ue.parse(t??{});return Oe(r,n).ir}catch(r){return console.error("Markdown parse error:",r),{text:"",styles:[],links:[]}}}function Oe(e,t){try{let r=typeof e=="string"?e:"",n=Ue.parse(t),o={listStack:[]},l=bo(n).parse(r||"",o);n.enableSpoilers&&xo(l);let s=n.tableMode??"off",a={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:n.headingStyle??"none",blockquotePrefix:n.blockquotePrefix??"",enableSpoilers:n.enableSpoilers??!1,tableMode:s,table:null,hasTables:!1};Bt(l,a),Ar(a);let c=a.text.trimEnd().length,d=0;for(let S of a.styles)S.style==="code_block"&&S.end>d&&(d=S.end);let f=Math.max(c,d);return {ir:{text:f===a.text.length?a.text:a.text.slice(0,f),styles:$r(Io(a.styles,f)),links:Oo(a.links,f)},hasTables:a.hasTables}}catch(r){return console.error("Markdown parse error:",r),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function _r(e,t){try{let r=Ce.parse(e),n=typeof t=="number"&&t>0?t:0;if(!r.text)return [];if(n<=0||r.text.length<=n)return [r];let o=me(r.text,n),i=[],l=0;return o.forEach((s,a)=>{if(!s)return;if(a>0)for(;l<r.text.length&&/\s/.test(r.text[l]??"");)l+=1;let u=l,c=Math.min(r.text.length,u+s.length);i.push({text:s,styles:Bo(r.styles,u,c),links:Fo(r.links,u,c)}),l=c;}),i}catch(r){return console.error("Chunk IR error:",r),[]}}k();var Lo={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Be(e,t){try{let r=Ce.parse(e),n=Pt.parse(t??{});if(!r.text)return "";let o=n.styleMarkers??Lo,i=n.escapeText??(d=>d),l=n.buildLink,s=[];for(let d=0;d<r.styles.length;d++){let f=r.styles[d];f&&(s.push({position:f.start,type:"open",style:f.style,spanIndex:d}),s.push({position:f.end,type:"close",style:f.style,spanIndex:d}));}for(let d=0;d<r.links.length;d++){let f=r.links[d];f&&(s.push({position:f.start,type:"link_open",spanIndex:d,href:f.href}),s.push({position:f.end,type:"link_close",spanIndex:d,href:f.href}));}s.sort((d,f)=>{if(d.position!==f.position)return d.position-f.position;let y=(N,te)=>N==="link_open"?0:N==="open"?1:N==="close"?2:N==="link_close"?3:4,S=d.type==="close"||d.type==="link_close",b=f.type==="close"||f.type==="link_close",k=y(d.type,S),L=y(f.type,b);return k!==L?k-L:d.type==="open"&&f.type==="open"?d.spanIndex-f.spanIndex:d.type==="close"&&f.type==="close"?f.spanIndex-d.spanIndex:d.spanIndex-f.spanIndex});let a="",u=0,c=[];for(let d of s){if(d.position>u){let f=r.text.slice(u,d.position);a+=i?i(f):f;}if(d.type==="open"||d.type==="close"){let f=o[d.style];if(f)if(d.type==="open")a+=f.open,c.push(d);else {a+=f.close,d.style==="code_block"&&d.position<r.text.length&&(a+=`
50
+ `);let y=c.findIndex(S=>S.spanIndex===d.spanIndex&&S.type==="open");y!==-1&&c.splice(y,1);}}else if(d.type==="link_open")a+="[",c.push(d);else if(d.type==="link_close"){a+="]("+d.href+")";let f=c.findIndex(y=>y.spanIndex===d.spanIndex&&y.type==="link_open");f!==-1&&c.splice(f,1);}u=d.position;}if(u<r.text.length){let d=r.text.slice(u);a+=i?i(d):d;}return a}catch(r){return console.error("Markdown render error:",r),""}}function xe(e,t){return Be(e,t)}k();function Ao(e){let t=e.replace(/\r\n/g,`
55
51
  `).replace(/\r/g,`
56
- `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let n=t.indexOf(`
57
- ---`,3);if(n===-1)return {frontmatter:"",content:e};let r=t.slice(0,n+4),o=t.slice(n+4).trimStart();return {frontmatter:r,content:o}}function vt(e,t){try{let n=typeof e=="string"?e:"",r=dr.parse(t??{});if(!n)return "";let{frontmatter:o,content:i}=Si(n),a=$e(i,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),s=je(a);return s=s.replace(/\n{3,}/g,`
52
+ `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let r=t.indexOf(`
53
+ ---`,3);if(r===-1)return {frontmatter:"",content:e};let n=t.slice(0,r+4),o=t.slice(r+4).trimStart();return {frontmatter:n,content:o}}function Je(e,t){try{let r=typeof e=="string"?e:"",n=Et.parse(t??{});if(!r)return "";let{frontmatter:o,content:i}=Ao(r),l=be(i,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),s=xe(l);return s=s.replace(/\n{3,}/g,`
58
54
 
59
55
  `),s=s.trimEnd()+`
60
- `,r.preserveFrontmatter&&o&&(s=o+`
61
- `+s),s}catch(n){return console.error("Markdown format error:",n),e}}k();function ki(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function vi(e){if(e!=null){if(typeof e=="string")return {value:e.trim(),kind:"scalar"};if(typeof e=="number"||typeof e=="boolean")return {value:String(e),kind:"scalar"};if(typeof e=="object")try{return {value:JSON.stringify(e),kind:"structured"}}catch{return}}}function Ri(e){try{let t=Wn.parse(e,{schema:"core"});if(!t||typeof t!="object"||Array.isArray(t))return null;let n={};for(let[r,o]of Object.entries(t)){let i=r.trim();if(!i)continue;let a=vi(o);a&&(n[i]=a);}return n}catch{return null}}function Ti(e,t){let n=[],r=t+1;for(;r<e.length;){let i=e[r];if(!i){r+=1;continue}if(i.length>0&&!i.startsWith(" ")&&!i.startsWith(" "))break;n.push(i),r+=1;}return {value:n.join(`
62
- `).trim(),linesConsumed:r-t}}function Ei(e){let t={},n=e.split(`
63
- `),r=0;for(;r<n.length;){let o=n[r];if(!o){r+=1;continue}let i=o.match(/^([\w-]+):\s*(.*)$/);if(!i?.[1]||!i[2]){r+=1;continue}let a=i[1],s=i[2].trim();if(!a){r+=1;continue}if(!s&&r+1<n.length){let u=n[r+1];if(u&&(u.startsWith(" ")||u.startsWith(" "))){let{value:l,linesConsumed:d}=Ti(n,r);l&&(t[a]={value:l,kind:"multiline",rawInline:s}),r+=d;continue}}let c=ki(s);c&&(t[a]={value:c,kind:"inline",rawInline:s}),r+=1;}return t}function Pi(e){let t={};for(let[n,r]of Object.entries(e))t[n]=r.value;return t}function Mi(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Ci(e){let{lineEntry:t,yamlValue:n}=e;return n.kind!=="structured"||t.kind!=="inline"||Mi(t.rawInline)?false:t.value.includes(":")}function Oi(e){let t=e.replace(/\r\n/g,`
56
+ `,n.preserveFrontmatter&&o&&(s=o+`
57
+ `+s),s}catch(r){return console.error("Markdown format error:",r),e}}k();function $o(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function jo(e){if(e!=null){if(typeof e=="string")return {value:e.trim(),kind:"scalar"};if(typeof e=="number"||typeof e=="boolean")return {value:String(e),kind:"scalar"};if(typeof e=="object")try{return {value:JSON.stringify(e),kind:"structured"}}catch{return}}}function _o(e){try{let t=Nr.parse(e,{schema:"core"});if(!t||typeof t!="object"||Array.isArray(t))return null;let r={};for(let[n,o]of Object.entries(t)){let i=n.trim();if(!i)continue;let l=jo(o);l&&(r[i]=l);}return r}catch{return null}}function No(e,t){let r=[],n=t+1;for(;n<e.length;){let i=e[n];if(!i){n+=1;continue}if(i.length>0&&!i.startsWith(" ")&&!i.startsWith(" "))break;r.push(i),n+=1;}return {value:r.join(`
58
+ `).trim(),linesConsumed:n-t}}function Wo(e){let t={},r=e.split(`
59
+ `),n=0;for(;n<r.length;){let o=r[n];if(!o){n+=1;continue}let i=o.match(/^([\w-]+):\s*(.*)$/);if(!i?.[1]||!i[2]){n+=1;continue}let l=i[1],s=i[2].trim();if(!l){n+=1;continue}if(!s&&n+1<r.length){let u=r[n+1];if(u&&(u.startsWith(" ")||u.startsWith(" "))){let{value:c,linesConsumed:d}=No(r,n);c&&(t[l]={value:c,kind:"multiline",rawInline:s}),n+=d;continue}}let a=$o(s);a&&(t[l]={value:a,kind:"inline",rawInline:s}),n+=1;}return t}function Do(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.value;return t}function zo(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Ho(e){let{lineEntry:t,yamlValue:r}=e;return r.kind!=="structured"||t.kind!=="inline"||zo(t.rawInline)?false:t.value.includes(":")}function Uo(e){let t=e.replace(/\r\n/g,`
64
60
  `).replace(/\r/g,`
65
- `);if(!t.startsWith("---"))return;let n=t.indexOf(`
66
- ---`,3);if(n!==-1)return t.slice(4,n)}function ot(e){try{if(typeof e!="string")return {};let t=Oi(e);if(!t)return {};let n=Ei(t),r=Ri(t);if(r===null)return Pi(n);let o={};for(let[i,a]of Object.entries(r)){o[i]=a.value;let s=n[i];s&&Ci({lineEntry:s,yamlValue:a})&&(o[i]=s.value);}for(let[i,a]of Object.entries(n))i in o||(o[i]=a.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function Rt(e){try{let t=fr.parse(e);if(Object.keys(t).length===0)return "";let n={};for(let[o,i]of Object.entries(t))try{let a=JSON.parse(i);n[o]=a;}catch{n[o]=i;}return `---
67
- ${Wn.stringify(n,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
68
- ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Tt(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
61
+ `);if(!t.startsWith("---"))return;let r=t.indexOf(`
62
+ ---`,3);if(r!==-1)return t.slice(4,r)}function Fe(e){try{if(typeof e!="string")return {};let t=Uo(e);if(!t)return {};let r=Wo(t),n=_o(t);if(n===null)return Do(r);let o={};for(let[i,l]of Object.entries(n)){o[i]=l.value;let s=r[i];s&&Ho({lineEntry:s,yamlValue:l})&&(o[i]=s.value);}for(let[i,l]of Object.entries(r))i in o||(o[i]=l.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function Ge(e){try{let t=Ct.parse(e);if(Object.keys(t).length===0)return "";let r={};for(let[o,i]of Object.entries(t))try{let l=JSON.parse(i);r[o]=l;}catch{r[o]=i;}return `---
63
+ ${Nr.stringify(r,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
64
+ ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Ye(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
69
65
  `).replace(/\r/g,`
70
- `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let n=t.indexOf(`
71
- ---`,3);if(n===-1)return {frontmatter:{},content:e};let r=t.slice(4,n),o=t.slice(n+4).trimStart();return {frontmatter:ot(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Et(e){try{let t=z$1.string().parse(e),n=[],r,o=0;for(;o<=t.length;){let i=t.indexOf(`
72
- `,o),a=i===-1?t.length:i,s=t.slice(o,a),c=s.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(c){let u=c[1],l=c[2];if(!u||!l){o=a+1;continue}let d=l[0];if(!d){o=a+1;continue}let f=l.length;if(!r)r={start:o,markerChar:d,markerLen:f,openLine:s,marker:l,indent:u};else if(r.markerChar===d&&f>=r.markerLen){let h=a;n.push({start:r.start,end:h,openLine:r.openLine,marker:r.marker,indent:r.indent}),r=void 0;}}if(i===-1)break;o=i+1;}return r&&n.push({start:r.start,end:t.length,openLine:r.openLine,marker:r.marker,indent:r.indent}),n}catch(t){return console.warn("Invalid input for parseFenceSpans:",t),[]}}function gr(e,t){let n=0,r=e.length-1;for(;n<=r;){let o=Math.floor((n+r)/2),i=e[o];if(!i)break;if(t<=i.start){r=o-1;continue}if(t>=i.end){n=o+1;continue}return i}}function zn(e,t){return !gr(e,t)}function Pt(){return {open:false,ticks:0}}function Mt(e,t){try{let n=z$1.string().parse(e),r=t?xt.parse(t):Pt(),o=Et(n),i={open:r.open,ticks:r.ticks},{spans:a,state:s}=Ai(n,o,i);return {inlineState:s,isInside:c=>Fi(c,o)||$i(c,a)}}catch(n){return console.warn("Invalid input for buildCodeSpanIndex:",n),{inlineState:Pt(),isInside:()=>false}}}function Ai(e,t,n){let r=[],o=n.open,i=n.ticks,a=o?0:-1,s=0;for(;s<e.length;){let c=Li(t,s);if(c){s=c.end;continue}if(e[s]!=="`"){s+=1;continue}let u=s,l=0;for(;s<e.length&&e[s]==="`";)l+=1,s+=1;if(!o){o=true,i=l,a=u;continue}l===i&&(r.push([a,s]),o=false,i=0,a=-1);}return o&&r.push([a,e.length]),{spans:r,state:{open:o,ticks:i}}}function Li(e,t){return e.find(n=>t>=n.start&&t<n.end)}function Fi(e,t){return t.some(n=>e>=n.start&&e<n.end)}function $i(e,t){return t.some(([n,r])=>e>=n&&e<r)}k();var _i={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Ct(e,t){try{let n=z$1.string().parse(e),r=tt.parse(t);if(!n||r==="off")return n;let{ir:o,hasTables:i}=rt(n,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:r});return i?nt(o,{styleMarkers:_i,escapeText:a=>a,buildLink:(a,s)=>{let c=a.href.trim();return !c||!s.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${c})`}}}):n}catch(n){return console.warn("Invalid input for convertMarkdownTables:",n),typeof e=="string"?e:""}}var br;(u=>{function e(l,d){try{return $e(l,d)}catch(f){return console.warn("Markdown.parse error:",f),{text:"",styles:[],links:[]}}}u.parse=e;function t(l,d){try{return je(l,d)}catch(f){return console.warn("Markdown.render error:",f),""}}u.render=t;function n(l,d){try{return vt(l,d)}catch(f){return console.warn("Markdown.format error:",f),typeof l=="string"?l:""}}u.format=n;function r(l){try{return ot(l)}catch(d){return console.warn("Markdown.parseFrontmatter error:",d),{}}}u.parseFrontmatter=r;function o(l){try{return Rt(l)}catch(d){return console.warn("Markdown.serializeFrontmatter error:",d),""}}u.serializeFrontmatter=o;function i(l){try{return Tt(l)}catch(d){return console.warn("Markdown.extractFrontmatter error:",d),{frontmatter:{},content:typeof l=="string"?l:""}}}u.extractFrontmatter=i;function a(l,d,f){try{return Ae(l,d,f)}catch(h){return console.warn("Markdown.chunk error:",h),typeof l=="string"&&l.length>0?[l]:[]}}u.chunk=a;function s(l,d){try{return Mt(l,d)}catch(f){return console.warn("Markdown.buildCodeIndex error:",f),{inlineState:{open:false,ticks:0},isInside:()=>false}}}u.buildCodeIndex=s;function c(l,d){try{return Ct(l,d)}catch(f){return console.warn("Markdown.convertTables error:",f),typeof l=="string"?l:""}}u.convertTables=c;})(br||(br={}));k();function Hn(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Ni(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n.slice(0,n.length-1).join("/")+"/"}function Di(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function Wi(e,t=20){let n=Hn(e);if(n.length<=t)return n;let r=n.lastIndexOf("."),o=r<=0?"":n.slice(r),i=t-o.length-1;return i<=0?n.slice(0,t-1)+"\u2026":n.slice(0,i)+"\u2026"+o}function zi(e,t=20){if(e.length<=t)return e;let n=t-1,r=Math.ceil(n/2),o=Math.floor(n/2);return e.slice(0,r)+"\u2026"+e.slice(-o)}k();var Hi=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Ui(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return Hi.some(n=>t.includes(n))}async function qi(e,t={}){let{attempts:n=3,delay:r=500,factor:o=2,maxDelay:i=1e4,retryIf:a=Ui}=t,s;for(let c=0;c<n;c++)try{return await e()}catch(u){if(s=u,c===n-1||!a(u))throw u;let l=Math.min(r*o**c,i);await new Promise(d=>setTimeout(d,l));}throw s}k();var yr;(r=>{let e=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],t=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function n(){return [e[Math.floor(Math.random()*e.length)],t[Math.floor(Math.random()*t.length)]].join("-")}r.create=n;})(yr||(yr={}));k();function Un(e){let t=new AbortController,n=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(n)}}function Vi(e,...t){let n=Un(e);return {signal:AbortSignal.any([n.signal,...t]),clearTimeout:n.clearTimeout}}k();var wr;(t=>{async function e(n,r){let o={LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8"};if(process.platform==="win32"){o.LC_CTYPE="en_US.UTF-8";let i=me.resolve(n),a=me.resolve(r),s=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${i}' -DestinationPath '${a}' -Force`,u=await z.spawn(["powershell","-NoProfile","-NonInteractive","-Command",s],{stdin:"null",stdout:"pipe",stderr:"pipe",env:{...process.env,...o}}).exited;if(u!==0)throw new Error(`PowerShell exited with code ${u}`)}else {let a=await z.spawn(["unzip","-o","-q",n,"-d",r],{stdin:"null",stdout:"pipe",stderr:"pipe",env:{...process.env,...o}}).exited;if(a!==0)throw new Error(`unzip exited with code ${a}`)}}t.extractZip=e;})(wr||(wr={}));k();var xr;(r=>{function e(o){return o?/^#[0-9a-fA-F]{6}$/.test(o):false}r.isValidHex=e;function t(o){let i=parseInt(o.slice(1,3),16),a=parseInt(o.slice(3,5),16),s=parseInt(o.slice(5,7),16);return {r:i,g:a,b:s}}r.hexToRgb=t;function n(o){if(!e(o))return;let{r:i,g:a,b:s}=t(o);return `\x1B[38;2;${i};${a};${s}m\x1B[1m`}r.hexToAnsiBold=n;})(xr||(xr={}));k();var Sr;(n=>{class e extends Error{constructor(i){super(`No context found for ${i}`);c(this,"name",i);}}n.NotFound=e;function t(r){let o=new AsyncLocalStorage;return {use(){let i=o.getStore();if(!i)throw new e(r);return i},provide(i,a){return o.run(i,a)}}}n.create=t;})(Sr||(Sr={}));k();function Yi(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var kr;(t=>{async function e(){return new Promise(n=>{let r=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?n():setImmediate(r);};r();})}t.wait=e;})(kr||(kr={}));k();function Ki(e){if(e<=0)return "";if(e<60)return `${e}s`;if(e<3600){let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}if(e<86400){let n=Math.floor(e/3600),r=Math.floor(e%3600/60);return r>0?`${n}h ${r}m`:`${n}h`}if(e<604800){let n=Math.floor(e/86400);return n===1?"~1 day":`~${n} days`}let t=Math.floor(e/604800);return t===1?"~1 week":`~${t} weeks`}k();var vr;(a=>{function e(s,c){if(s===c)return true;if(typeof s!="object"||typeof c!="object"||s===null||c===null)return false;let u=Object.keys(s),l=Object.keys(c);if(u.length!==l.length)return false;for(let d of u)if(!l.includes(d)||!e(s[d],c[d]))return false;return true}function t(s){return {...s,super:s.super??false}}function n(s,c){return s?e(t(s),t(c)):false}a.match=n;function r(s,c=false){return {name:s.name,ctrl:s.ctrl,meta:s.meta,shift:s.shift,super:s.super??false,leader:c}}a.fromParsedKey=r;function o(s){if(!s)return "";let c=[];s.ctrl&&c.push("ctrl"),s.meta&&c.push("alt"),s.super&&c.push("super"),s.shift&&c.push("shift"),s.name&&(s.name==="delete"?c.push("del"):c.push(s.name));let u=c.join("+");return s.leader&&(u=u?`<leader> ${u}`:"<leader>"),u}a.keyToString=o;function i(s){return s==="none"?[]:s.split(",").map(c=>{let l=c.replace(/<leader>/g,"leader+").toLowerCase().split("+"),d={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let f of l)switch(f){case "ctrl":d.ctrl=true;break;case "alt":case "meta":case "option":d.meta=true;break;case "super":d.super=true;break;case "shift":d.shift=true;break;case "leader":d.leader=true;break;case "esc":d.name="escape";break;default:d.name=f;break}return d})}a.parse=i;})(vr||(vr={}));k();var Rr;(u=>{function e(l){return l.replace(/\b\w/g,d=>d.toUpperCase())}u.titlecase=e;function t(l){return new Date(l).toLocaleTimeString(void 0,{timeStyle:"short"})}u.time=t;function n(l){let d=new Date(l),f=t(l),h=d.toLocaleDateString();return `${f} \xB7 ${h}`}u.datetime=n;function r(l){let d=new Date(l),f=new Date;return d.getFullYear()===f.getFullYear()&&d.getMonth()===f.getMonth()&&d.getDate()===f.getDate()?t(l):n(l)}u.todayTimeOrDateTime=r;function o(l){return l>=1e6?(l/1e6).toFixed(1)+"M":l>=1e3?(l/1e3).toFixed(1)+"K":l.toString()}u.number=o;function i(l){if(l<1e3)return `${l}ms`;if(l<6e4)return `${(l/1e3).toFixed(1)}s`;if(l<36e5){let h=Math.floor(l/6e4),w=Math.floor(l%6e4/1e3);return `${h}m ${w}s`}if(l<864e5){let h=Math.floor(l/36e5),w=Math.floor(l%36e5/6e4);return `${h}h ${w}m`}let d=Math.floor(l/36e5);return `${Math.floor(l%36e5/864e5)}d ${d}h`}u.duration=i;function a(l,d){return l.length<=d?l:l.slice(0,d-1)+"\u2026"}u.truncate=a;function s(l,d=35){if(l.length<=d)return l;let f="\u2026",h=Math.ceil((d-f.length)/2),w=Math.floor((d-f.length)/2);return l.slice(0,h)+f+l.slice(-w)}u.truncateMiddle=s;function c(l,d,f){return (l===1?d:f).replace("{}",l.toString())}u.pluralize=c;})(Rr||(Rr={}));k();var Tr;(a=>{class e extends Error{constructor(u,l,d,f){let h=f.toString().trim();super(h?`Command failed with code ${l}: ${u.join(" ")}
73
- ${h}`:`Command failed with code ${l}: ${u.join(" ")}`);c(this,"cmd");c(this,"code");c(this,"stdout");c(this,"stderr");this.name="ProcessRunFailedError",this.cmd=[...u],this.code=l,this.stdout=d,this.stderr=f;}}a.RunFailedError=e;function t(s,c={}){if(s.length===0)throw new Error("Command is required");c.abort?.throwIfAborted();let u=Ji(s[0],s.slice(1),{cwd:c.cwd,shell:c.shell,env:c.env===null?{}:c.env?{...process.env,...c.env}:void 0,stdio:[c.stdin??"ignore",c.stdout??"ignore",c.stderr??"ignore"],windowsHide:process.platform==="win32"}),l=false,d,f=()=>{if(l||u.exitCode!==null||u.signalCode!==null)return;l=true,u.kill(c.kill??"SIGTERM");let y=c.timeout??5e3;y<=0||(d=setTimeout(()=>u.kill("SIGKILL"),y));},h=new Promise((y,v)=>{let L=()=>{c.abort?.removeEventListener("abort",f),d&&clearTimeout(d);};u.once("exit",(N,ae)=>{L(),y(N??(ae?1:0));}),u.once("error",N=>{L(),v(N);});});h.catch(()=>{}),c.abort&&(c.abort.addEventListener("abort",f,{once:true}),c.abort.aborted&&f());let w=u;return w.exited=h,w}a.spawn=t;async function n(s,c={}){let u=t(s,{cwd:c.cwd,env:c.env,stdin:c.stdin,shell:c.shell,abort:c.abort,kill:c.kill,timeout:c.timeout,stdout:"pipe",stderr:"pipe"});if(!u.stdout||!u.stderr)throw new Error("Process output not available");let l=await Promise.all([u.exited,buffer(u.stdout),buffer(u.stderr)]).then(([d,f,h])=>({code:d,stdout:f,stderr:h})).catch(d=>{if(!c.nothrow)throw d;return {code:1,stdout:Buffer.alloc(0),stderr:Buffer.from(d instanceof Error?d.message:String(d))}});if(l.code===0||c.nothrow)return l;throw new e(s,l.code,l.stdout,l.stderr)}a.run=n;async function r(s){if(process.platform!=="win32"||!s.pid){s.kill();return}(await n(["taskkill","/pid",String(s.pid),"/T","/F"],{nothrow:true})).code!==0&&s.kill();}a.stop=r;async function o(s,c={}){let u=await n(s,c);return {...u,text:u.stdout.toString()}}a.text=o;async function i(s,c={}){return (await o(s,c)).text.split(/\r?\n/).filter(Boolean)}a.lines=i;})(Tr||(Tr={}));k();function Zi(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var Er=class{constructor(){c(this,"queue",[]);c(this,"resolvers",[]);}push(t){let n=this.resolvers.shift();n?n(t):this.queue.push(t);}async next(){return this.queue.length>0?this.queue.shift():new Promise(t=>this.resolvers.push(t))}async*[Symbol.asyncIterator](){for(;;)yield await this.next();}};async function Xi(e,t,n){let r=[...t];await Promise.all(Array.from({length:e},async()=>{for(;;){let o=r.pop();if(o===void 0)return;await n(o);}}));}k();function Qi(){let e,t=new Promise(n=>e=n);return {trigger(){return e()},wait(){return t}}}k();function ea(e,t){let n;return Promise.race([e.then(r=>(clearTimeout(n),r)),new Promise((r,o)=>{n=setTimeout(()=>{o(new Error(`Operation timed out after ${t}ms`));},t);})])}k();var Pr;(a=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function r(s){if(!s)return 0;let c=String(s),u=(c.match(n)||[]).length,l=c.length-u,d=Math.round(u/1.5),f=Math.round(l/4);return Math.max(0,d+f)}a.estimate=r;function o(s){if(s==null)return 0;try{let c=typeof s=="string"?s:JSON.stringify(s);return r(c)}catch{return 0}}a.estimateObject=o;function i(s){if(s.total!==void 0&&s.total>0)return s.total;let c=s.input??0,u=s.output??0,l=s.cache?.read??0,d=s.cache?.write??0;return c+u+l+d}a.total=i;})(Pr||(Pr={}));k();function ra(e){let t={};for(let[n,r]of Object.entries(e.required().shape))t[n]=r.nullable();return Xe.object(t)}k();var Mr;(i=>{function e(a,s){let c=s.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return c.endsWith(" .*")&&(c=c.slice(0,-3)+"( .*)?"),new RegExp("^"+c+"$","s").test(a)}i.match=e;function t(a){return a.sort((s,c)=>{let u=s[0].length-c[0].length;return u!==0?u:s[0].localeCompare(c[0])})}function n(a,s){let c=Object.entries(s),u=t(c),l;for(let[d,f]of u)e(a,d)&&(l=f);return l}i.all=n;function r(a,s){let c=Object.entries(s),u=t(c),l;for(let[d,f]of u){let h=d.split(/\s+/);e(a.head,h[0])&&(h.length===1||o(a.tail,h.slice(1)))&&(l=f);}return l}i.allStructured=r;function o(a,s){if(s.length===0)return true;if(a.length<s.length)return false;for(let c=0;c<s.length;c++)if(!e(a[c],s[c]))return false;return true}})(Mr||(Mr={}));async function Hd(e){let{Log:t}=await import('./chunks/log-Q2I6CRPH.mjs'),n=false;await t.init({logDir:e.logDir??process.env.EASBOT_LOG_PATH??process.cwd(),print:e.print??false,dev:e.dev??n,level:e.level??("INFO")});}export{ir as $,wr as Archive,Er as AsyncQueue,Bt as Binary,xr as Color,Sr as Context,At as Encode,kr as EventLoop,Re as Filesystem,zt as Fn,We as Glob,_e as Identifier,Dt as Ignore,vr as Keybind,Be as Lazy,Rr as Locale,Ke as Lock,br as Markdown,De as NamedError,z as PKG,Je as PackageRegistry,Ze as PkgShell,Tr as Process,G as Semver,yr as Slug,Pr as Token,Lt as TruncateContent,Mr as Wildcard,Un as abortAfter,Vi as abortAfterAny,Mt as buildCodeSpanIndex,Dn as chunkMarkdownIR,Ae as chunkText,cr as chunkTextByBreakResolver,Ct as convertMarkdownTables,Pt as createInlineCodeState,we as createPkgShell,Xt as createRESTServer,Zt as createRPCServer,pe as createServer,er as createStreamingServer,Qt as createWebSocketServer,Yi as defer,Tt as extractFrontmatter,gr as findFenceSpanAt,Zn as findLast,bo as fn,Ki as formatDuration,Ft as formatLocalISO,eo as formatLocalISOCompact,no as formatLogTime,vt as formatMarkdown,Ni as getDirectory,Di as getFileExtension,Hn as getFilename,Wi as getFilenameTruncated,oo as getTimezoneOffset,Ds as git,Ks as iife,Hd as initLog,zn as isSafeFenceBreak,Ws as lazy,zs as lazyAsync,So as loadEnv,Gs as loadTextFile,Ys as loadTextFileAsync,$e as markdownToIR,rt as markdownToIRWithMeta,Br as now,to as nowLocalISO,Et as parseFenceSpans,ot as parseFrontmatterBlock,ro as parseLocalISO,Js as parseModelId,Zi as proxied,_s as readableStreamToText,je as renderMarkdown,nt as renderMarkdownWithMarkers,qi as retry,ar as scanParenAwareBreakpoints,Rt as serializeFrontmatter,Sn as shell,Qi as signal,ds as startServer,zi as truncateMiddle,ra as updateSchema,Ns as whichSync,ea as withTimeout,Xi as work,Jt as zValidator};
66
+ `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let r=t.indexOf(`
67
+ ---`,3);if(r===-1)return {frontmatter:{},content:e};let n=t.slice(4,r),o=t.slice(r+4).trimStart();return {frontmatter:Fe(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Ke(e){try{let t=z$1.string().parse(e),r=[],n,o=0;for(;o<=t.length;){let i=t.indexOf(`
68
+ `,o),l=i===-1?t.length:i,s=t.slice(o,l),a=s.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(a){let u=a[1],c=a[2];if(!u||!c){o=l+1;continue}let d=c[0];if(!d){o=l+1;continue}let f=c.length;if(!n)n={start:o,markerChar:d,markerLen:f,openLine:s,marker:c,indent:u};else if(n.markerChar===d&&f>=n.markerLen){let y=l;r.push({start:n.start,end:y,openLine:n.openLine,marker:n.marker,indent:n.indent}),n=void 0;}}if(i===-1)break;o=i+1;}return n&&r.push({start:n.start,end:t.length,openLine:n.openLine,marker:n.marker,indent:n.indent}),r}catch(t){return console.warn("Invalid input for parseFenceSpans:",t),[]}}function Ft(e,t){let r=0,n=e.length-1;for(;r<=n;){let o=Math.floor((r+n)/2),i=e[o];if(!i)break;if(t<=i.start){n=o-1;continue}if(t>=i.end){r=o+1;continue}return i}}function Wr(e,t){return !Ft(e,t)}function Xe(){return {open:false,ticks:0}}function Qe(e,t){try{let r=z$1.string().parse(e),n=t?qe.parse(t):Xe(),o=Ke(r),i={open:n.open,ticks:n.ticks},{spans:l,state:s}=Zo(r,o,i);return {inlineState:s,isInside:a=>Go(a,o)||Yo(a,l)}}catch(r){return console.warn("Invalid input for buildCodeSpanIndex:",r),{inlineState:Xe(),isInside:()=>false}}}function Zo(e,t,r){let n=[],o=r.open,i=r.ticks,l=o?0:-1,s=0;for(;s<e.length;){let a=Jo(t,s);if(a){s=a.end;continue}if(e[s]!=="`"){s+=1;continue}let u=s,c=0;for(;s<e.length&&e[s]==="`";)c+=1,s+=1;if(!o){o=true,i=c,l=u;continue}c===i&&(n.push([l,s]),o=false,i=0,l=-1);}return o&&n.push([l,e.length]),{spans:n,state:{open:o,ticks:i}}}function Jo(e,t){return e.find(r=>t>=r.start&&t<r.end)}function Go(e,t){return t.some(r=>e>=r.start&&e<r.end)}function Yo(e,t){return t.some(([r,n])=>e>=r&&e<n)}k();var Xo={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function et(e,t){try{let r=z$1.string().parse(e),n=Ie.parse(t);if(!r||n==="off")return r;let{ir:o,hasTables:i}=Oe(r,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:n});return i?Be(o,{styleMarkers:Xo,escapeText:l=>l,buildLink:(l,s)=>{let a=l.href.trim();return !a||!s.slice(l.start,l.end)?null:{start:l.start,end:l.end,open:"[",close:`](${a})`}}}):r}catch(r){return console.warn("Invalid input for convertMarkdownTables:",r),typeof e=="string"?e:""}}var Lt;(u=>{function e(c,d){try{return be(c,d)}catch(f){return console.warn("Markdown.parse error:",f),{text:"",styles:[],links:[]}}}u.parse=e;function t(c,d){try{return xe(c,d)}catch(f){return console.warn("Markdown.render error:",f),""}}u.render=t;function r(c,d){try{return Je(c,d)}catch(f){return console.warn("Markdown.format error:",f),typeof c=="string"?c:""}}u.format=r;function n(c){try{return Fe(c)}catch(d){return console.warn("Markdown.parseFrontmatter error:",d),{}}}u.parseFrontmatter=n;function o(c){try{return Ge(c)}catch(d){return console.warn("Markdown.serializeFrontmatter error:",d),""}}u.serializeFrontmatter=o;function i(c){try{return Ye(c)}catch(d){return console.warn("Markdown.extractFrontmatter error:",d),{frontmatter:{},content:typeof c=="string"?c:""}}}u.extractFrontmatter=i;function l(c,d,f){try{return me(c,d,f)}catch(y){return console.warn("Markdown.chunk error:",y),typeof c=="string"&&c.length>0?[c]:[]}}u.chunk=l;function s(c,d){try{return Qe(c,d)}catch(f){return console.warn("Markdown.buildCodeIndex error:",f),{inlineState:{open:false,ticks:0},isInside:()=>false}}}u.buildCodeIndex=s;function a(c,d){try{return et(c,d)}catch(f){return console.warn("Markdown.convertTables error:",f),typeof c=="string"?c:""}}u.convertTables=a;})(Lt||(Lt={}));k();function Dr(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function Qo(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function es(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function ts(e,t=20){let r=Dr(e);if(r.length<=t)return r;let n=r.lastIndexOf("."),o=n<=0?"":r.slice(n),i=t-o.length-1;return i<=0?r.slice(0,t-1)+"\u2026":r.slice(0,i)+"\u2026"+o}function rs(e,t=20){if(e.length<=t)return e;let r=t-1,n=Math.ceil(r/2),o=Math.floor(r/2);return e.slice(0,n)+"\u2026"+e.slice(-o)}k();var ns=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function os(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return ns.some(r=>t.includes(r))}async function ss(e,t={}){let{attempts:r=3,delay:n=500,factor:o=2,maxDelay:i=1e4,retryIf:l=os}=t,s;for(let a=0;a<r;a++)try{return await e()}catch(u){if(s=u,a===r-1||!l(u))throw u;let c=Math.min(n*o**a,i);await new Promise(d=>setTimeout(d,c));}throw s}k();var At;(n=>{let e=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],t=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function r(){return [e[Math.floor(Math.random()*e.length)],t[Math.floor(Math.random()*t.length)]].join("-")}n.create=r;})(At||(At={}));k();function zr(e){let t=new AbortController,r=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function is(e,...t){let r=zr(e);return {signal:AbortSignal.any([r.signal,...t]),clearTimeout:r.clearTimeout}}k();var $t;(t=>{async function e(r,n){let o={LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8"};if(process.platform==="win32"){o.LC_CTYPE="en_US.UTF-8";let i=oe.resolve(r),l=oe.resolve(n),s=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${i}' -DestinationPath '${l}' -Force`,u=await z.spawn(["powershell","-NoProfile","-NonInteractive","-Command",s],{stdin:"null",stdout:"pipe",stderr:"pipe",env:{...process.env,...o}}).exited;if(u!==0)throw new Error(`PowerShell exited with code ${u}`)}else {let l=await z.spawn(["unzip","-o","-q",r,"-d",n],{stdin:"null",stdout:"pipe",stderr:"pipe",env:{...process.env,...o}}).exited;if(l!==0)throw new Error(`unzip exited with code ${l}`)}}t.extractZip=e;})($t||($t={}));k();var jt;(n=>{function e(o){return o?/^#[0-9a-fA-F]{6}$/.test(o):false}n.isValidHex=e;function t(o){let i=parseInt(o.slice(1,3),16),l=parseInt(o.slice(3,5),16),s=parseInt(o.slice(5,7),16);return {r:i,g:l,b:s}}n.hexToRgb=t;function r(o){if(!e(o))return;let{r:i,g:l,b:s}=t(o);return `\x1B[38;2;${i};${l};${s}m\x1B[1m`}n.hexToAnsiBold=r;})(jt||(jt={}));k();var _t;(r=>{class e extends Error{constructor(i){super(`No context found for ${i}`);c(this,"name",i);}}r.NotFound=e;function t(n){let o=new AsyncLocalStorage;return {use(){let i=o.getStore();if(!i)throw new e(n);return i},provide(i,l){return o.run(i,l)}}}r.create=t;})(_t||(_t={}));k();function ls(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var Nt;(t=>{async function e(){return new Promise(r=>{let n=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?r():setImmediate(n);};n();})}t.wait=e;})(Nt||(Nt={}));k();function cs(e){if(e<=0)return "";if(e<60)return `${e}s`;if(e<3600){let r=Math.floor(e/60),n=e%60;return n>0?`${r}m ${n}s`:`${r}m`}if(e<86400){let r=Math.floor(e/3600),n=Math.floor(e%3600/60);return n>0?`${r}h ${n}m`:`${r}h`}if(e<604800){let r=Math.floor(e/86400);return r===1?"~1 day":`~${r} days`}let t=Math.floor(e/604800);return t===1?"~1 week":`~${t} weeks`}k();var Wt;(l=>{function e(s,a){if(s===a)return true;if(typeof s!="object"||typeof a!="object"||s===null||a===null)return false;let u=Object.keys(s),c=Object.keys(a);if(u.length!==c.length)return false;for(let d of u)if(!c.includes(d)||!e(s[d],a[d]))return false;return true}function t(s){return {...s,super:s.super??false}}function r(s,a){return s?e(t(s),t(a)):false}l.match=r;function n(s,a=false){return {name:s.name,ctrl:s.ctrl,meta:s.meta,shift:s.shift,super:s.super??false,leader:a}}l.fromParsedKey=n;function o(s){if(!s)return "";let a=[];s.ctrl&&a.push("ctrl"),s.meta&&a.push("alt"),s.super&&a.push("super"),s.shift&&a.push("shift"),s.name&&(s.name==="delete"?a.push("del"):a.push(s.name));let u=a.join("+");return s.leader&&(u=u?`<leader> ${u}`:"<leader>"),u}l.keyToString=o;function i(s){return s==="none"?[]:s.split(",").map(a=>{let c=a.replace(/<leader>/g,"leader+").toLowerCase().split("+"),d={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let f of c)switch(f){case "ctrl":d.ctrl=true;break;case "alt":case "meta":case "option":d.meta=true;break;case "super":d.super=true;break;case "shift":d.shift=true;break;case "leader":d.leader=true;break;case "esc":d.name="escape";break;default:d.name=f;break}return d})}l.parse=i;})(Wt||(Wt={}));k();var Dt;(u=>{function e(c){return c.replace(/\b\w/g,d=>d.toUpperCase())}u.titlecase=e;function t(c){return new Date(c).toLocaleTimeString(void 0,{timeStyle:"short"})}u.time=t;function r(c){let d=new Date(c),f=t(c),y=d.toLocaleDateString();return `${f} \xB7 ${y}`}u.datetime=r;function n(c){let d=new Date(c),f=new Date;return d.getFullYear()===f.getFullYear()&&d.getMonth()===f.getMonth()&&d.getDate()===f.getDate()?t(c):r(c)}u.todayTimeOrDateTime=n;function o(c){return c>=1e6?(c/1e6).toFixed(1)+"M":c>=1e3?(c/1e3).toFixed(1)+"K":c.toString()}u.number=o;function i(c){if(c<1e3)return `${c}ms`;if(c<6e4)return `${(c/1e3).toFixed(1)}s`;if(c<36e5){let y=Math.floor(c/6e4),S=Math.floor(c%6e4/1e3);return `${y}m ${S}s`}if(c<864e5){let y=Math.floor(c/36e5),S=Math.floor(c%36e5/6e4);return `${y}h ${S}m`}let d=Math.floor(c/36e5);return `${Math.floor(c%36e5/864e5)}d ${d}h`}u.duration=i;function l(c,d){return c.length<=d?c:c.slice(0,d-1)+"\u2026"}u.truncate=l;function s(c,d=35){if(c.length<=d)return c;let f="\u2026",y=Math.ceil((d-f.length)/2),S=Math.floor((d-f.length)/2);return c.slice(0,y)+f+c.slice(-S)}u.truncateMiddle=s;function a(c,d,f){return (c===1?d:f).replace("{}",c.toString())}u.pluralize=a;})(Dt||(Dt={}));k();var zt;(l=>{class e extends Error{constructor(u,c$1,d,f){let y=f.toString().trim();super(y?`Command failed with code ${c$1}: ${u.join(" ")}
69
+ ${y}`:`Command failed with code ${c$1}: ${u.join(" ")}`);c(this,"cmd");c(this,"code");c(this,"stdout");c(this,"stderr");this.name="ProcessRunFailedError",this.cmd=[...u],this.code=c$1,this.stdout=d,this.stderr=f;}}l.RunFailedError=e;function t(s,a={}){if(s.length===0)throw new Error("Command is required");a.abort?.throwIfAborted();let u=us(s[0],s.slice(1),{cwd:a.cwd,shell:a.shell,env:a.env===null?{}:a.env?{...process.env,...a.env}:void 0,stdio:[a.stdin??"ignore",a.stdout??"ignore",a.stderr??"ignore"],windowsHide:process.platform==="win32"}),c=false,d,f=()=>{if(c||u.exitCode!==null||u.signalCode!==null)return;c=true,u.kill(a.kill??"SIGTERM");let b=a.timeout??5e3;b<=0||(d=setTimeout(()=>u.kill("SIGKILL"),b));},y=new Promise((b,k)=>{let L=()=>{a.abort?.removeEventListener("abort",f),d&&clearTimeout(d);};u.once("exit",(N,te)=>{L(),b(N??(te?1:0));}),u.once("error",N=>{L(),k(N);});});y.catch(()=>{}),a.abort&&(a.abort.addEventListener("abort",f,{once:true}),a.abort.aborted&&f());let S=u;return S.exited=y,S}l.spawn=t;async function r(s,a={}){let u=t(s,{cwd:a.cwd,env:a.env,stdin:a.stdin,shell:a.shell,abort:a.abort,kill:a.kill,timeout:a.timeout,stdout:"pipe",stderr:"pipe"});if(!u.stdout||!u.stderr)throw new Error("Process output not available");let c=await Promise.all([u.exited,buffer(u.stdout),buffer(u.stderr)]).then(([d,f,y])=>({code:d,stdout:f,stderr:y})).catch(d=>{if(!a.nothrow)throw d;return {code:1,stdout:Buffer.alloc(0),stderr:Buffer.from(d instanceof Error?d.message:String(d))}});if(c.code===0||a.nothrow)return c;throw new e(s,c.code,c.stdout,c.stderr)}l.run=r;async function n(s){if(process.platform!=="win32"||!s.pid){s.kill();return}(await r(["taskkill","/pid",String(s.pid),"/T","/F"],{nothrow:true})).code!==0&&s.kill();}l.stop=n;async function o(s,a={}){let u=await r(s,a);return {...u,text:u.stdout.toString()}}l.text=o;async function i(s,a={}){return (await o(s,a)).text.split(/\r?\n/).filter(Boolean)}l.lines=i;})(zt||(zt={}));k();function ds(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var Ht=class{constructor(){c(this,"queue",[]);c(this,"resolvers",[]);}push(t){let r=this.resolvers.shift();r?r(t):this.queue.push(t);}async next(){return this.queue.length>0?this.queue.shift():new Promise(t=>this.resolvers.push(t))}async*[Symbol.asyncIterator](){for(;;)yield await this.next();}};async function fs(e,t,r){let n=[...t];await Promise.all(Array.from({length:e},async()=>{for(;;){let o=n.pop();if(o===void 0)return;await r(o);}}));}k();function ps(){let e,t=new Promise(r=>e=r);return {trigger(){return e()},wait(){return t}}}k();function ms(e,t){let r;return Promise.race([e.then(n=>(clearTimeout(r),n)),new Promise((n,o)=>{r=setTimeout(()=>{o(new Error(`Operation timed out after ${t}ms`));},t);})])}k();var Ut;(l=>{let r=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function n(s){if(!s)return 0;let a=String(s),u=(a.match(r)||[]).length,c=a.length-u,d=Math.round(u/1.5),f=Math.round(c/4);return Math.max(0,d+f)}l.estimate=n;function o(s){if(s==null)return 0;try{let a=typeof s=="string"?s:JSON.stringify(s);return n(a)}catch{return 0}}l.estimateObject=o;function i(s){if(s.total!==void 0&&s.total>0)return s.total;let a=s.input??0,u=s.output??0,c=s.cache?.read??0,d=s.cache?.write??0;return a+u+c+d}l.total=i;})(Ut||(Ut={}));k();function hs(e){let t={};for(let[r,n]of Object.entries(e.required().shape))t[r]=n.nullable();return Pe.object(t)}k();var qt;(i=>{function e(l,s){let a=s.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return a.endsWith(" .*")&&(a=a.slice(0,-3)+"( .*)?"),new RegExp("^"+a+"$","s").test(l)}i.match=e;function t(l){return l.sort((s,a)=>{let u=s[0].length-a[0].length;return u!==0?u:s[0].localeCompare(a[0])})}function r(l,s){let a=Object.entries(s),u=t(a),c;for(let[d,f]of u)e(l,d)&&(c=f);return c}i.all=r;function n(l,s){let a=Object.entries(s),u=t(a),c;for(let[d,f]of u){let y=d.split(/\s+/);e(l.head,y[0])&&(y.length===1||o(l.tail,y.slice(1)))&&(c=f);}return c}i.allStructured=n;function o(l,s){if(s.length===0)return true;if(l.length<s.length)return false;for(let a=0;a<s.length;a++)if(!e(l[a],s[a]))return false;return true}})(qt||(qt={}));async function Wc(e){let{Log:t}=await import('./chunks/log-Q2I6CRPH.mjs'),r=false;await t.init({logDir:e.logDir??process.env.EASBOT_LOG_PATH??process.cwd(),print:e.print??false,dev:e.dev??r,level:e.level??("INFO")});}export{vt as $,$t as Archive,Ht as AsyncQueue,nt as Binary,jt as Color,_t as Context,ot as Encode,Nt as EventLoop,de as Filesystem,pt as Fn,ke as Glob,ye as Identifier,dt as Ignore,Wt as Keybind,pe as Lazy,Dt as Locale,Te as Lock,Lt as Markdown,Se as NamedError,z as PKG,Me as PackageRegistry,Re as PkgShell,zt as Process,Z as Semver,At as Slug,Ut as Token,st as TruncateContent,qt as Wildcard,zr as abortAfter,is as abortAfterAny,Qe as buildCodeSpanIndex,_r as chunkMarkdownIR,me as chunkText,Mt as chunkTextByBreakResolver,et as convertMarkdownTables,Xe as createInlineCodeState,ae as createPkgShell,gt as createRESTServer,mt as createRPCServer,ne as createServer,bt as createStreamingServer,ht as createWebSocketServer,ls as defer,Ye as extractFrontmatter,Ft as findFenceSpanAt,Gr as findLast,gn as fn,cs as formatDuration,it as formatLocalISO,Xr as formatLocalISOCompact,tn as formatLogTime,Je as formatMarkdown,Qo as getDirectory,es as getFileExtension,Dr as getFilename,ts as getFilenameTruncated,rn as getTimezoneOffset,Qn as git,lo as iife,Wc as initLog,Wr as isSafeFenceBreak,eo as lazy,to as lazyAsync,yn as loadEnv,io as loadTextFile,ao as loadTextFileAsync,be as markdownToIR,Oe as markdownToIRWithMeta,Gt as now,Qr as nowLocalISO,Ke as parseFenceSpans,Fe as parseFrontmatterBlock,en as parseLocalISO,co as parseModelId,ds as proxied,Kn as readableStreamToText,xe as renderMarkdown,Be as renderMarkdownWithMarkers,ss as retry,Tt as scanParenAwareBreakpoints,Ge as serializeFrontmatter,yr as shell,ps as signal,Tn as startServer,rs as truncateMiddle,hs as updateSchema,Xn as whichSync,ms as withTimeout,fs as work};