@easbot/utils 0.2.10 → 0.2.13

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,81 +1,81 @@
1
- import {c as c$1,b,a}from'./chunks/chunk-K627C4PG.mjs';import {k,c,i}from'./chunks/chunk-PKFYT2QD.mjs';import ee,{mkdir,readFile,writeFile,chmod}from'fs/promises';import ie,{dirname,extname,join,isAbsolute,resolve,relative,sep}from'path';import Re,{z}from'zod';export{z}from'zod';import {randomBytes,createHash}from'crypto';import Ve,{existsSync,statSync,createWriteStream,realpathSync,readdirSync}from'fs';import {Readable}from'stream';import {pipeline}from'stream/promises';import {minimatch}from'minimatch';import un from'os';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 {setTimeout as setTimeout$1}from'timers/promises';import {config}from'dotenv';import {fileURLToPath}from'url';import Po from'markdown-it';import tr from'yaml';import {AsyncLocalStorage}from'async_hooks';k();k();function ir(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 lt;(r=>{function e(n,o,i){let a=0,s=n.length-1;for(;a<=s;){let l=Math.floor((a+s)/2),u=n[l];if(u===void 0)break;let c=i(u);if(c===o)return {found:true,index:l};c<o?a=l+1:s=l-1;}return {found:false,index:a}}r.search=e;function t(n,o,i){let a=i(o),s=0,l=n.length;for(;s<l;){let u=Math.floor((s+l)/2),c=n[u];if(c===void 0)break;i(c)<a?s=u+1:l=u;}return n.splice(s,0,o),n}r.insert=t;})(lt||(lt={}));k();var ct;(i=>{function e(a){let s=new TextEncoder().encode(a),l=Array.from(s,u=>String.fromCharCode(u)).join("");return btoa(l).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}i.base64Encode=e;function t(a){let s=atob(a.replace(/-/g,"+").replace(/_/g,"/")),l=Uint8Array.from(s,u=>u.charCodeAt(0));return new TextDecoder().decode(l)}i.base64Decode=t;async function r(a,s="SHA-256"){let u=new TextEncoder().encode(a),c=await crypto.subtle.digest(s,u);return Array.from(new Uint8Array(c)).map(S=>S.toString(16).padStart(2,"0")).join("")}i.hash=r;function n(a){if(!a)return;let s=2166136261;for(let l=0;l<a.length;l++)s^=a.charCodeAt(l),s=Math.imul(s,16777619);return (s>>>0).toString(36)}i.checksum=n;function o(a,s=5e5){if(!a)return;if(a.length<=s)return n(a);let l=4096,c=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-l].map(d=>{let f=Math.max(0,Math.min(a.length-l,d-Math.floor(l/2)));return n(a.slice(f,f+l))??""}).join(":");return `${a.length}:${c}`}i.sampledChecksum=o;})(ct||(ct={}));k();k();var we;(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 Re.string().startsWith(e[f])}d.schema=t;let r=26,n=0,o=0;function i(f,S){return s(f,false,S)}d.ascending=i;function a(f,S){return s(f,true,S)}d.descending=a;function s(f,S,k){if(!k)return u(f,S);if(!k.startsWith(e[f]))throw new Error(`ID ${k} does not start with ${e[f]}`);return k}function l(f){let S="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",k="",y=randomBytes(f);for(let M=0;M<f;M++){let j=y[M];j!==void 0&&(k+=S[j%62]);}return k}function u(f,S,k){let y=k??Date.now();y!==n&&(n=y,o=0),o++;let M=BigInt(y)*BigInt(4096)+BigInt(o);M=S?~M:M;let j=Buffer.alloc(6);for(let V=0;V<6;V++)j[V]=Number(M>>BigInt(40-8*V)&BigInt(255));return e[f]+"_"+j.toString("hex")+l(r-12)}d.create=u;function c(f){let S=f.split("_")[0];if(!S)return 0;let k=f.slice(S.length+1,S.length+13),y=BigInt("0x"+k);return Number(y/BigInt(4096))}d.timestamp=c;})(we||(we={}));var ut;(s=>{s.DIR=ie.join("data","context-truncate"),s.DEFAULT_MAX_CHARS=4e3,s.DIRECTION="head";function n(l,u,c){return c?`[Content truncated. Source: ${c}
2
- Full ${u} saved to: ${l}
3
- Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${u} saved to: ${l}
4
- Use Read tool with offset/limit parameters to view specific sections.]`}function o(l,u={}){let c=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",S=u.sourcePath;if(l.length<=c)return {content:l,truncated:false};let k=l.length-c,y;d==="head"?y=l.slice(0,c):y=l.slice(-c);let M=n("[save-path]",f,S),j=d==="head"?`
1
+ import {c as c$1}from'./chunks/chunk-6FROKXK6.mjs';export{c as Filesystem,a as Glob,b as MIME_TYPES}from'./chunks/chunk-6FROKXK6.mjs';export{b as PackageRegistry,a as Semver}from'./chunks/chunk-RSXPIS2N.mjs';import {a}from'./chunks/chunk-7TNSRCET.mjs';import {b,a as a$1}from'./chunks/chunk-DAYGB2XR.mjs';export{a as Lock}from'./chunks/chunk-UZ52E7FE.mjs';import {k,c,i}from'./chunks/chunk-V6YNYGNC.mjs';import X from'fs/promises';import ae,{dirname,join}from'path';import Ie,{z}from'zod';import {randomBytes,createHash}from'crypto';import Ce,{existsSync,readdirSync,statSync}from'fs';import {execSync,spawn}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 {minimatch}from'minimatch';import {setTimeout as setTimeout$1}from'timers/promises';import {config}from'dotenv';import {fileURLToPath}from'url';import Jr from'markdown-it';import Pn from'yaml';import {AsyncLocalStorage}from'async_hooks';k();k();function Vn(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 Ye;(r=>{function e(n,o,s){let a=0,i=n.length-1;for(;a<=i;){let l=Math.floor((a+i)/2),d=n[l];if(d===void 0)break;let c=s(d);if(c===o)return {found:true,index:l};c<o?a=l+1:i=l-1;}return {found:false,index:a}}r.search=e;function t(n,o,s){let a=s(o),i=0,l=n.length;for(;i<l;){let d=Math.floor((i+l)/2),c=n[d];if(c===void 0)break;s(c)<a?i=d+1:l=d;}return n.splice(i,0,o),n}r.insert=t;})(Ye||(Ye={}));k();var Je;(s=>{function e(a){let i=new TextEncoder().encode(a),l=Array.from(i,d=>String.fromCharCode(d)).join("");return btoa(l).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}s.base64Encode=e;function t(a){let i=atob(a.replace(/-/g,"+").replace(/_/g,"/")),l=Uint8Array.from(i,d=>d.charCodeAt(0));return new TextDecoder().decode(l)}s.base64Decode=t;async function r(a,i="SHA-256"){let d=new TextEncoder().encode(a),c=await crypto.subtle.digest(i,d);return Array.from(new Uint8Array(c)).map(S=>S.toString(16).padStart(2,"0")).join("")}s.hash=r;function n(a){if(!a)return;let i=2166136261;for(let l=0;l<a.length;l++)i^=a.charCodeAt(l),i=Math.imul(i,16777619);return (i>>>0).toString(36)}s.checksum=n;function o(a,i=5e5){if(!a)return;if(a.length<=i)return n(a);let l=4096,c=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-l].map(u=>{let m=Math.max(0,Math.min(a.length-l,u-Math.floor(l/2)));return n(a.slice(m,m+l))??""}).join(":");return `${a.length}:${c}`}s.sampledChecksum=o;})(Je||(Je={}));k();k();var ge;(u=>{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(m){return Ie.string().startsWith(e[m])}u.schema=t;let r=26,n=0,o=0;function s(m,S){return i(m,false,S)}u.ascending=s;function a(m,S){return i(m,true,S)}u.descending=a;function i(m,S,P){if(!P)return d(m,S);if(!P.startsWith(e[m]))throw new Error(`ID ${P} does not start with ${e[m]}`);return P}function l(m){let S="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",P="",L=randomBytes(m);for(let _=0;_<m;_++){let D=L[_];D!==void 0&&(P+=S[D%62]);}return P}function d(m,S,P){let L=P??Date.now();L!==n&&(n=L,o=0),o++;let _=BigInt(L)*BigInt(4096)+BigInt(o);_=S?~_:_;let D=Buffer.alloc(6);for(let z=0;z<6;z++)D[z]=Number(_>>BigInt(40-8*z)&BigInt(255));return e[m]+"_"+D.toString("hex")+l(r-12)}u.create=d;function c(m){let S=m.split("_")[0];if(!S)return 0;let P=m.slice(S.length+1,S.length+13),L=BigInt("0x"+P);return Number(L/BigInt(4096))}u.timestamp=c;})(ge||(ge={}));var Ze;(i=>{i.DIR=ae.join("data","context-truncate"),i.DEFAULT_MAX_CHARS=4e3,i.DIRECTION="head";function n(l,d,c){return c?`[Content truncated. Source: ${c}
2
+ Full ${d} saved to: ${l}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${d} saved to: ${l}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}function o(l,d={}){let c=d.maxChars??i.DEFAULT_MAX_CHARS,u=d.direction??i.DIRECTION,m=d.label??"content",S=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let P=l.length-c,L;u==="head"?L=l.slice(0,c):L=l.slice(-c);let _=n("[save-path]",m,S),D=u==="head"?`
5
5
 
6
- ...${k} characters truncated...
6
+ ...${P} characters truncated...
7
7
 
8
- ${M}`:`
8
+ ${_}`:`
9
9
 
10
- ...${k} characters truncated...
10
+ ...${P} characters truncated...
11
11
 
12
- ${M}`;return {content:y+j,truncated:true,outputPath:"[save-path]",originalLength:l.length,removedLength:k,label:f}}s.truncate=o;async function i(l,u={}){let c=u.maxChars??s.DEFAULT_MAX_CHARS,d=u.direction??s.DIRECTION,f=u.label??"content",S=u.dir??s.DIR,k=u.sourcePath;if(l.length<=c)return {content:l,truncated:false};let y=we.ascending("context"),M=ie.join(S,y);await ee.mkdir(S,{recursive:true}).catch(()=>{}),await ee.writeFile(M,l,"utf-8");let j=l.length-c,V;d==="head"?V=l.slice(0,c):V=l.slice(-c);let ae=n(M,f,k),Be=d==="head"?`
12
+ ${_}`;return {content:L+D,truncated:true,outputPath:"[save-path]",originalLength:l.length,removedLength:P,label:m}}i.truncate=o;async function s(l,d={}){let c=d.maxChars??i.DEFAULT_MAX_CHARS,u=d.direction??i.DIRECTION,m=d.label??"content",S=d.dir??i.DIR,P=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let L=ge.ascending("context"),_=ae.join(S,L);await X.mkdir(S,{recursive:true}).catch(()=>{}),await X.writeFile(_,l,"utf-8");let D=l.length-c,z;u==="head"?z=l.slice(0,c):z=l.slice(-c);let pe=n(_,m,P),We=u==="head"?`
13
13
 
14
- ...${j} characters truncated...
14
+ ...${D} characters truncated...
15
15
 
16
- ${ae}`:`
16
+ ${pe}`:`
17
17
 
18
- ...${j} characters truncated...
18
+ ...${D} characters truncated...
19
19
 
20
- ${ae}`;return {content:V+Be,truncated:true,outputPath:M,originalLength:l.length,removedLength:j,label:f}}s.truncateAndSave=i;function a(l){return l.truncated?n(l.outputPath,l.label):""}s.formatHint=a;})(ut||(ut={}));k();k();function rn(e){let t,r=false,n=()=>(r||(t=e(),r=true),t);return n.reset=()=>{r=false,t=void 0;},n}var je=rn;function on(e){let t,r=()=>(t||(t=e()),t);return r.reset=()=>{t=void 0;},r}var cr=on,de;(r=>(r.lazy=rn,r.lazyAsync=on))(de||(de={}));k();k();var ye;(l=>{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))}l.scan=t;function r(u,c={}){return a(u,e(c))}l.scanSync=r;function n(u,c){return minimatch(c,u,{dot:true})}l.match=n;async function o(u){try{let c=await ee.readFile(u,"utf-8");return i(c)}catch{return []}}l.parseGitignore=o;function i(u){let c=[],d=u.split(/\r?\n/);for(let f of d){let S=f.trim();if(!S||S.startsWith("#")||S.startsWith("!"))continue;let k=S;k.endsWith("/")&&(k=k+"**"),!k.includes("*")&&!k.includes("?")&&(k="**/"+k+"/**"),c.push(k);}return c}l.parseGitignoreContent=i;function a$1(u,c){for(let d of c)if(minimatch(u,d,{dot:true})||minimatch(u,d+"/**",{dot:true}))return true;return false}l.isIgnored=a$1,l.DEFAULT_IGNORE_PATTERNS=["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/__pycache__/**","**/*.min.js","**/*.min.ts","**/coverage/**","**/data/**","**/*.db","**/logs/**","**/*.log","**/.DS_Store","**/Thumbs.db"];})(ye||(ye={}));var xr=sep,mt=xr==="\\";var wr={".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"},K;(it=>{async function e(x,F){await mkdir(x,{recursive:F?.recursive??true});}it.mkdir=e;async function t(x){return existsSync(x)}it.exists=t;async function r(x){try{return statSync(x).isDirectory()}catch{return false}}it.isDir=r;function n(x){return statSync(x,{throwIfNoEntry:false})??void 0}it.stat=n;async function o(x){let F=n(x)?.size??0;return typeof F=="bigint"?Number(F):F}it.size=o;async function i(x){return readFile(x,"utf-8")}it.readText=i;async function a(x){return JSON.parse(await readFile(x,"utf-8"))}it.readJson=a;async function s(x){return readFile(x)}it.readBytes=s;async function l(x){let F=await readFile(x);return F.buffer.slice(F.byteOffset,F.byteOffset+F.byteLength)}it.readArrayBuffer=l;function u(x){return typeof x=="object"&&x!==null&&"code"in x&&x.code==="ENOENT"}async function c(x,F,L){try{L?await writeFile(x,F,{mode:L}):await writeFile(x,F);}catch(W){if(u(W)){await mkdir(dirname(x),{recursive:true}),L?await writeFile(x,F,{mode:L}):await writeFile(x,F);return}throw W}}it.write=c;async function d(x,F,L){return c(x,JSON.stringify(F,null,2),L)}it.writeJson=d;async function f(x,F,L){let W=dirname(x);existsSync(W)||await mkdir(W,{recursive:true});let J=F instanceof ReadableStream?Readable.fromWeb(F):F,Q=createWriteStream(x);await pipeline(J,Q),L&&await chmod(x,L);}it.writeStream=f;function S(x){let F=extname(x).toLowerCase();return wr[F]||"application/octet-stream"}it.mimeType=S;function k(x){return x.replace(/\\/g,"/")}it.toUnixPath=k;function y(x){if(x.startsWith("~/")||x==="~"?x=join(un.homedir(),x.slice(1)):isAbsolute(x)||(x=resolve(x)),mt&&(x=V(x)),x=k(x),mt)try{x=realpathSync.native(x),x=k(x);}catch{}return x}it.normalize=y,it.normalizePath=y;function j(x){return x.startsWith("~/")||x==="~"?x=join(un.homedir(),x.slice(1)):isAbsolute(x)||(x=resolve(x)),mt&&(x=V(x)),k(x)}it.resolve=j;function V(x){return process.platform!=="win32"?x:x.replace(/^\/([a-zA-Z]):(?:[\\/]|$)/,(F,L)=>`${L.toUpperCase()}:/`).replace(/^\/([a-zA-Z])(?:\/|$)/,(F,L)=>`${L.toUpperCase()}:/`).replace(/^\/cygdrive\/([a-zA-Z])(?:\/|$)/,(F,L)=>`${L.toUpperCase()}:/`).replace(/^\/mnt\/([a-zA-Z])(?:\/|$)/,(F,L)=>`${L.toUpperCase()}:/`)}it.windowsPath=V;function ae(x,F){let L=y(x),W=y(F),J=relative(L,W),Q=relative(W,L);return !J?.startsWith("..")||!Q?.startsWith("..")}it.overlaps=ae;function Be(x,F){let L=y(x),W=y(F);return !relative(L,W).startsWith("..")}it.contains=Be;async function Xt(x,F,L){let W=y(F),J=L?y(L):void 0,Q=[];for(;;){let Z=join(W,x);if(await t(Z)&&Q.push(Z),J&&W===J)break;let w=k(dirname(W));if(w===W)break;W=w;}return Q}it.findUp=Xt;async function*Qt(x){let{targets:F,start:L,stop:W}=x,J=y(L),Q=W?y(W):void 0;for(;;){for(let w of F){let C=join(J,w);await t(C)&&(yield C);}if(Q&&J===Q)break;let Z=k(dirname(J));if(Z===J)break;J=Z;}}it.up=Qt;async function en(x,F,L){let W=y(F),J=L?y(L):void 0,Q=[];for(;;){try{let w=await ye.scan(x,{cwd:W,absolute:!0,include:"file",dot:!0});Q.push(...w);}catch{}if(J&&W===J)break;let Z=k(dirname(W));if(Z===W)break;W=Z;}return Q}it.globUp=en;})(K||(K={}));k();k();k();var ke=class ke extends Error{static create(t,r){var i;let n=Re.object({name:Re.literal(t),data:r}).meta({ref:t}),o=(i=class extends ke{constructor(s,l){super(t,l);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(ke,"Unknown",ke.create("UnknownError",Re.object({message:Re.string()})));var ve=ke;k();function re(e){let t=[],r="",n=0;for(;n<e.length&&(e[n]===" "||e[n]===" ");)n++;for(;n<e.length;){let o=e[n];if(o===" "||o===" "){for(r.length>0&&(t.push(r),r="");n<e.length&&(e[n]===" "||e[n]===" ");)n++;continue}if(o==='"'){for(n++;n<e.length;){let i=e[n];if(i==="\\"&&n+1<e.length){let a=e[n+1];if(a==='"'||a==="\\"||a==="$"||a==="`"){r+=a,n+=2;continue}}if(i==='"'){n++;break}r+=i,n++;}continue}if(o==="'"){for(n++;n<e.length;){let i=e[n];if(i==="'"){n++;break}r+=i,n++;}continue}r+=o,n++;}return r.length>0&&t.push(r),t}function dn(e){return /[|&;<>()$`!#]/.test(e)}function fn(e){let t=re(e);if(t.length===0)return {command:"",args:[]};let r={command:t[0],args:t.slice(1)};if(r.args.length>0){let n=r.args[r.args.length-1];try{let o=JSON.parse(n);typeof o=="object"&&o!==null&&!Array.isArray(o)&&(r.options=o,r.args=r.args.slice(0,-1));}catch{}}return r}function gt(e,t=process.platform==="win32"?"windows":"unix"){return t==="windows"?e.includes(" ")||e.includes("&")||e.includes("|")||e.includes("<>")||e.includes("^")||e.includes('"')||e.includes("%")?`"${e.replace(/%/g,"%%").replace(/"/g,'^"')}"`:e:e.includes(" ")||e.includes("'")||e.includes('"')||e.includes("$")||e.includes("`")||e.includes("\\")||e.includes("!")||e.includes("#")||e.includes("&")||e.includes("*")||e.includes("?")||e.includes("|")||e.includes("<")||e.includes(">")||e.includes("(")||e.includes(")")||e.includes(";")?`'${e.replace(/'/g,"'\\''")}'`:e}var yr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>"]);function pn(e,t=process.platform==="win32"?"windows":"unix"){return yr.has(e)?e:gt(e,t)}function mn(){return process.platform==="win32"?"windows":"unix"}function He(e,t,r=process.platform==="win32"?"windows":"unix"){let n=t.map(o=>pn(o,r));return [e,...n].join(" ")}k();var oe=c$1.create({service:"server"});function se(e={}){let t=e.port??3e3,r=e.hostname??"0.0.0.0",n=new Hono({strict:true,getPath:a=>{try{return new URL(a.url).pathname}catch{return a.url}}});if(e.onError?n.onError(e.onError):n.onError((a,s)=>(oe.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?n.notFound(e.onNotFound):n.notFound(a=>a.json({error:"Not Found",path:a.req.path},404)),!e.websockets&&e.cors&&n.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),n.use(logger((a,...s)=>oe.info(a,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 a of e.middlewares)a.path?n.use(a.path,a.handler):n.use(a.handler);if(e.routes)for(let a of e.routes){let s=a.middlewares||[],l=a.method.toUpperCase();a.validation?n.on(l,a.path,zValidator("json",a.validation),...s,a.handler):n.on(l,a.path,...s,a.handler);}e.rpc&&n.post("/rpc/:method",async a=>{let s=a.req.param("method"),l=e.rpc?.[s];if(!l)return a.json({error:"RPC method not found"},404);try{let u=await a.req.json(),c=await l(u,a);return a.json({result:c})}catch(u){return oe.error("RPC error",{method:s,error:u.message}),a.json({error:"RPC execution failed",message:u.message},500)}}),e.fetch&&n.all("*",async a=>await e.fetch(a.req.raw));let o=null,i={url:new URL(`http://${r}:${t}`),port:t,hostname:r,hono:n,async stop(a=false){return o?new Promise((s,l)=>{a&&o.closeAllConnections?.(),o.close(u=>{u?(oe.error("Error closing server",{error:u.message}),l(u)):(o=null,oe.info(`Server on port ${t} stopped`),s());}),setTimeout(()=>{oe.warn(`Server shutdown timeout on port ${t}`),o=null,s();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return oe.debug("createServer: calling serve()",{port:t,hostname:r}),o=serve({fetch:n.fetch,port:t,hostname:r}),oe.debug("createServer: serve() returned, server created"),oe.info(`Server running on http://${r}:${t}`),i}function ht(e){return se({rpc:e,port:3e3})}function Mr(e,t=3e3,r="0.0.0.0"){return se({fetch:e,port:t,hostname:r})}function bt(e,t={}){return se({...t,routes:e})}function xt(e,t={}){return se({...t,websockets:e})}function wt(e,t={}){let r=Object.entries(e).map(([n,o])=>({method:"get",path:`/stream/${n}`,handler:i=>streamSSE(i,async a=>{for await(let s of o(i))await a.writeSSE(s);})}));return se({...t,routes:r,streaming:true})}k();var Te;(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 r(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 n(a){let s=t(a);return new Promise(l=>{!s.writer&&s.waitingWriters.length===0?(s.readers++,l({[Symbol.dispose]:()=>{s.readers--,r(a);}})):s.waitingReaders.push(()=>{s.readers++,l({[Symbol.dispose]:()=>{s.readers--,r(a);}});});})}i.read=n;async function o(a){let s=t(a);return new Promise(l=>{!s.writer&&s.readers===0?(s.writer=true,l({[Symbol.dispose]:()=>{s.writer=false,r(a);}})):s.waitingWriters.push(()=>{s.writer=true,l({[Symbol.dispose]:()=>{s.writer=false,r(a);}});});})}i.write=o;})(Te||(Te={}));k();k();var X;(k=>{function e(y){return /^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?(?:\+[a-zA-Z0-9.-]+)?$/.test(y)}k.isValid=e;function t(y){let M=y.match(/^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9.-]+))?(?:\+([a-zA-Z0-9.-]+))?$/);if(!M)throw new Error(`\u65E0\u6548\u7684\u7248\u672C\u683C\u5F0F: ${y}`);return new St(parseInt(M[1],10),parseInt(M[2],10),parseInt(M[3],10),M[4]?M[4].split(".").filter(Boolean):[],M[5]?M[5].split(".").filter(Boolean):[])}k.parse=t;function r(y){let M=`${y.major}.${y.minor}.${y.patch}`;return y.prerelease.length>0&&(M+=`-${y.prerelease.join(".")}`),y.build.length>0&&(M+=`+${y.build.join(".")}`),M}k.format=r;function n(y,M){let j=t(y),V=t(M);return j.compare(V)}k.compare=n;function o(y,M){return Pr(t(y),M)}k.satisfies=o;function i(y,M){return n(y,M)>0}k.gt=i;function a(y,M){return n(y,M)>=0}k.gte=a;function s(y,M){return n(y,M)<0}k.lt=s;function l(y,M){return n(y,M)<=0}k.lte=l;function u(y,M){return n(y,M)===0}k.eq=u;function c(y){return [...y].sort((M,j)=>n(M,j))}k.sort=c;function d(y){return y.length===0?null:y.reduce((M,j)=>n(j,M)>0?j:M)}k.max=d;function f(y){return y.length===0?null:y.reduce((M,j)=>n(j,M)<0?j:M)}k.min=f;function S(y,M,j){return a(y,M)&&l(y,j)}k.inRange=S;})(X||(X={}));var St=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],a=/^\d+$/.test(o),s=/^\d+$/.test(i);if(a&&s){let l=parseInt(o,10),u=parseInt(i,10);if(l!==u)return l<u?-1:1}else {if(a)return -1;if(s)return 1;{let l=o.localeCompare(i);if(l!==0)return l<0?-1:1}}}return this.prerelease.length!==t.prerelease.length?this.prerelease.length<t.prerelease.length?-1:1:0}};function Pr(e,t){return Rr(t).some(n=>vn(e,n))}function Rr(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 vn(e,t){return t=t.trim(),t.includes("-")&&!t.startsWith("[")&&!t.startsWith("(")?Cr(e,t):t.startsWith("[")||t.startsWith("(")?Er(e,t):t.includes("||")?t.split("||").some(r=>vn(e,r.trim())):kt(e,t)}function Er(e,t){let n=t.replace(/^\[|\]$/g,"").split(/\s+-\s+/);if(n.length!==2)return kt(e,t);let[o,i]=n,a=X.parse(o),s=X.parse(i),l=t.startsWith("["),u=t.endsWith("]");if(l){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 Cr(e,t){return t.split(/\s+/).every(n=>kt(e,n))}function kt(e,t){if(t=t.trim(),t.startsWith("^")){let r=X.parse(t.slice(1));return e.major!==r.major||e.minor<r.minor?false:e.patch>=r.patch}if(t.startsWith("~")){let r=X.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(".*")?Ir(e,t):t.startsWith(">=")?e.compare(X.parse(t.slice(2)))>=0:t.startsWith("<=")?e.compare(X.parse(t.slice(2)))<=0:t.startsWith(">")?e.compare(X.parse(t.slice(1)))>0:t.startsWith("<")?e.compare(X.parse(t.slice(1)))<0:t.startsWith("=")?e.compare(X.parse(t.slice(1).trim()))===0:e.compare(X.parse(t))===0}function Ir(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],a=o===0?e.major:o===1?e.minor:e.patch,s=String(a);if(i==="0")continue;let l=parseInt(i,10);if(Number.isNaN(l)){if(i!==s&&i!=="*")return false}else if(l!==a)return false}return true}var vt=c$1.create({service:"pkg-registry"}),Me;(n=>{function e(){return process.platform==="win32"?"cmd":"npm"}async function t(o,i,a){return new Promise(s=>{let l=process.platform==="win32"?["/c","npm","view",o,i]:["view",o,i],u=spawn(e(),l,{cwd:a,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?(vt.warn("npm view failed",{pkg:o,field:i,code:f,stderr:d}),s(null)):s(c.trim());}),u.on("error",()=>{vt.error("npm view error",{pkg:o,field:i,error:"unknown"}),s(null);});})}n.info=t;async function r(o,i,a){let s=await t(o,"version",a);return s?/[\s^~*xX<>|=]/.test(i)?!X.satisfies(s,i):X.compare(i,s)===-1:(vt.warn("Failed to resolve latest version, using cached",{pkg:o,cachedVersion:i}),false)}n.isOutdated=r;})(Me||(Me={}));k();var le=c$1.create({service:"build-api"});async function En(){try{return {available:!0,version:(await import('./chunks/main-LS64TONI.mjs')).version||"unknown"}}catch(e){return le.warn("esbuild not available",{error:e.message}),{available:false}}}async function qe(){let e=await En();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"&&le.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function $r(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function Cn(e){let t=$r(e.compile);t&&le.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:Lr(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=_r(e.target)),e.minify===true&&(r.minifyWhitespace=true,r.minifyIdentifiers=true,r.minifySyntax=true),jr(r)}function Lr(e){return !e||e==="none"?false:e}function _r(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function jr(e){let t={};for(let r of Object.keys(e))e[r]!==void 0&&(t[r]=e[r]);return t}function Ue(e){if(e!==void 0)return e.replace(/\\/g,"/")}function Tn(e,t,r){let n=[];if(e.outputFiles)for(let i of e.outputFiles)n.push({path:Ue(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;n.some(l=>l.path===i||l.path===Ue(i))||n.push({path:Ue(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 Tt(e){le.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await qe();let t=await import('./chunks/main-LS64TONI.mjs'),r=Date.now();try{let n=Cn(e);le.debug("esbuild options",n);let o=await t.build(n),i=Date.now();return le.info("Build completed",{duration:i-r,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),Tn(o,r,i)}catch(n){let o=Date.now(),i=n.message;return le.error("Build failed",{error:i,duration:o-r}),n&&typeof n=="object"&&"errors"in n?Tn(n):{outputs:[],success:false,logs:[{level:"error",message:i}],metafile:void 0}}}var Ur={build:Tt},In=Ur;k();function On(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>On(t)).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 qr(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),a=new Uint8Array(n,e.byteOffset,e.byteLength);return i.set(a),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=re(e);if(r.length===0)throw new Error("Empty shell command");let n=async()=>{let i=await _.run(r,{cwd:t.cwd,env:t.env}),a=qr(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}
21
- ${i.stderr}`),{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode});return a},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 l of s)l.trim()&&(yield l);},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 Pe=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+=On(r[o]));return fe(n,this.options)}braces(t){let r=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!r)return [t];let[,n="",o="",i=""]=r,a=o.split(",").map(l=>l.trim()),s=[];for(let l of a){let u=`${n}${l}${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 ce({...this.options,env:t})}cwd(t){return ce({...this.options,cwd:t})}nothrow(){return ce({...this.options,nothrow:true})}throws(t){return ce({...this.options,nothrow:!t})}};function ce(e={}){let t=new Pe(e);return new Proxy(t,{apply(r,n,o){return t.call(o[0],...o.slice(1))}})}var Fn=ce();function An(e){return e.replace(/\\/g,"/")}function Bn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var te=new Map,_;(I=>{let e=c$1.create({service:"pkg"});async function t(g,p){if(!g)return process.execPath;let h=p?.PATH||process.env.PATH||process.env.Path||"",b=process.env.EASBOT_BIN_PATH,P=b?h+ie.delimiter+b:h,O=Bn(P),v=`${g}:${O}`;if(te.has(v))return te.get(v);let N=process.platform==="win32"?"where":"which";try{let{spawn:B}=await import('child_process');return new Promise(A=>{let z=B(N,[g],{env:{...process.env,PATH:P},stdio:["pipe","pipe","ignore"],windowsHide:!0}),Y="",G="";z.stdout?.on("data",D=>{Y+=D.toString();}),z.stderr?.on("data",D=>{G+=D.toString();}),z.on("close",D=>{if(D===0&&Y.trim()){let H=Y.trim().split(`
22
- `),U=H.length>0?H[0]?.trim():null;if(U){te.set(v,U),A(U);return}}te.set(v,null),A(null);}),setTimeout(()=>{z.kill(),te.set(v,null),A(null);},5e3);})}catch{return te.set(v,null),null}}I.which=t;function r(g,p){if(!g)return process.execPath;let h=p?.PATH||process.env.PATH||process.env.Path||"",b=process.env.EASBOT_BIN_PATH,P=b?h+ie.delimiter+b:h,O=Bn(P),v=`${g}:${O}`;if(te.has(v))return te.get(v);let N=process.platform==="win32"?"where":"which";try{let B=execSync(`${N} ${g}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:P},timeout:5e3,windowsHide:!0});if(B.trim()){let A=B.trim().split(`
23
- `),z=A.length>0?A[0]?.trim():null;if(z)return te.set(v,z),z}}catch{}return te.set(v,null),null}I.whichSync=r;function n(){te.clear();}I.clearWhichCache=n;let o=createRequire(import.meta.url);async function i(g,p){try{return p?o.resolve(g,{paths:[p]}):o.resolve(g)}catch(h){throw new Error(`Cannot resolve module "${g}"${p?` from "${p}"`:""}: ${h instanceof Error?h.message:String(h)}`)}}I.resolve=i;function a$1(g){return {get name(){return ie.basename(g)},async exists(){try{return await ee.access(g),!0}catch{return false}},async getSize(){try{return (await ee.stat(g)).size}catch{return}},async text(){return await ee.readFile(g,"utf-8")},textSync(){return Ve.readFileSync(g,"utf-8")},jsonSync(){let p=Ve.readFileSync(g,"utf-8");return JSON.parse(p)},async bytes(){let p=await ee.readFile(g);return new Uint8Array(p.buffer,p.byteOffset,p.byteLength)},async arrayBuffer(){let p=await ee.readFile(g);return p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength)},get type(){let p=ie.extname(g).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"}[p]||"application/octet-stream"},async write(p){let h;if(p instanceof Response){let b=await p.arrayBuffer();h=new Uint8Array(b);}else h=p;await ee.writeFile(g,h);},async json(){let p=await ee.readFile(g,"utf-8");return JSON.parse(p)},async stat(){return await ee.stat(g)}}}I.file=a$1;async function s(g,p,h){let b;if(p instanceof Response){let P=await p.arrayBuffer();b=new Uint8Array(P);}else b=p;await ee.writeFile(g,b,h?{mode:h.mode}:void 0);}I.write=s;function l(g,p,h){Ve.writeFileSync(g,p,h?{mode:h.mode}:void 0);}I.writeSync=l;function u(g,p="utf-8"){return Ve.readFileSync(g,p)}I.readSync=u;function c$2(g,p){let h,b;if(typeof g=="object"&&"cmd"in g){let B=g;h=B.cmd,b={cwd:B.cwd,env:B.env,stdout:B.stdout,stderr:B.stderr,stdin:B.stdin,signal:B.signal,windowsHide:B.windowsHide,shell:B.shell};}else h=Array.isArray(g)?g:[g],b=p||{};if(!h||h.length===0||!h[0])throw new Error("Spawn command cannot be empty");let P=[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"],O={cwd:b.cwd,env:b.env?{...process.env,...b.env}:process.env,stdio:P};if(process.platform==="win32")if(O.windowsHide=b.windowsHide??true,b.shell!==void 0)O.shell=b.shell;else {let B=h[0]||"";/\.(bat|cmd)$/i.test(B)&&(O.shell=true);}let v=spawn(h[0],h.slice(1),O),$;if(b.signal){$=()=>{v.kill();},b.signal.addEventListener("abort",$,{once:true});let B=()=>{$&&(b.signal?.removeEventListener("abort",$),$=void 0);};v.on("close",B),v.on("error",B);}let N=new Promise((B,A)=>{let z=false,Y=()=>{z||(z=true,v.removeAllListeners());};if(v.on("close",G=>{Y(),B(G??0);}),v.on("error",G=>{Y(),A(G);}),b.timeout!==false){let G=b.timeout||3e5;setTimeout(()=>{z||(Y(),v.kill("SIGTERM"),A(new Error(`Process timeout after ${G}ms: ${h.join(" ")}`)));},G);}});return {stdout:v.stdout,stderr:v.stderr,stdin:v.stdin,pid:v.pid,exited:N,exitCode:v.exitCode,kill:B=>v.kill(B)}}I.spawn=c$2;async function d(g,p){let h=c$2(g,{cwd:p?.cwd,env:p?.env,stdout:"pipe",stderr:"pipe",stdin:"null",windowsHide:p?.windowsHide,shell:p?.shell}),b=[],P=[];h.stdout?.on("data",v=>{b.push(v);}),h.stderr?.on("data",v=>{P.push(v);});let O=p?.timeout&&p.timeout>0?setTimeout(()=>{h.kill("SIGTERM");},p.timeout):void 0;try{let v=await h.exited;return clearTimeout(O),h.stdout?.destroy(),h.stderr?.destroy(),{code:v,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(P).toString("utf-8")}}catch(v){return clearTimeout(O),h.stdout?.destroy(),h.stderr?.destroy(),{code:-1,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(P).toString("utf-8")||(v instanceof Error?v.message:String(v))}}}I.run=d;async function f(g,p={},h={}){let b=c$2(g,{cwd:p.cwd,env:p.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),P="",O="";b.stdout?.on("data",$=>{let N=$.toString("utf-8");P+=N,h.onStdout?.(N);}),b.stderr?.on("data",$=>{let N=$.toString("utf-8");O+=N,h.onStderr?.(N);});let v=p.timeout&&p.timeout>0?setTimeout(()=>{b.kill("SIGTERM");},p.timeout):void 0;try{let $=await b.exited;return clearTimeout(v),h.onExit?.($),{code:$,stdout:P,stderr:O}}catch($){clearTimeout(v);let N=$ instanceof Error?$.message:String($);return {code:-1,stdout:P,stderr:O||N}}}I.runWithStream=f;function S(g,...p){let h=g.reduce((P,O,v)=>P+O+(p[v]??""),""),b=(P={})=>({quiet:()=>b({...P,quiet:true}),nothrow:()=>b({...P,nothrow:true}),cwd:O=>b({...P,cwd:O}),env:O=>b({...P,env:O}),text:async()=>{let O=re(h.trim());if(O.length===0)throw new Error("Empty command");let v=await d(O,{cwd:P.cwd,env:P.env});if(v.code!==0&&!P.nothrow)throw new Error(`Command failed with exit code ${v.code}: ${h}
24
- ${v.stderr}`);return v.stdout},lines:async()=>(await b(P).text()).split(`
25
- `).filter(v=>v.trim()),then:(O,v)=>d(re(h.trim()),{cwd:P.cwd,env:P.env}).then($=>{if($.code!==0&&!P.nothrow){let N=new Error(`Command failed with exit code ${$.code}: ${h}
26
- ${$.stderr}`);if(v){v(N);return}throw N}return O({exitCode:$.code,stdout:new TextEncoder().encode($.stdout),stderr:new TextEncoder().encode($.stderr),text:()=>$.stdout,lines:()=>$.stdout.split(`
27
- `).filter(N=>N.trim())})},v)});return b()}I.$=S;async function k(g){if(typeof g.pipeThrough=="function")try{let P=new TextDecoderStream("utf-8"),v=g.pipeThrough(P).getReader(),$="";try{for(;;){let{done:N,value:B}=await v.read();if(N)break;$+=B;}return $}finally{v.releaseLock();}}catch{}let p=g.getReader(),h=new TextDecoder("utf-8"),b=[];try{for(;;){let{done:P,value:O}=await p.read();if(P)break;b.push(h.decode(O,{stream:!0}));}return b.push(h.decode()),b.join("")}finally{p.releaseLock();}}I.readableStreamToText=k;async function y(g){let p=[];return new Promise((h,b)=>{g.on("data",P=>{typeof P=="string"?p.push(Buffer.from(P)):p.push(P);}),g.on("end",()=>{try{let O=Buffer.concat(p).toString("utf-8");h(O);}catch(P){b(P);}}),g.on("error",P=>{b(P);});})}I.nodeReadableStreamToText=y;function M(g,p=0){let N=new TextEncoder().encode(g),B=N.length,A,z=0;if(B>=16){let H=B-16,U=p+2654435761+2246822519|0,$e=p+2246822519|0,xe=p+0|0,at=p-2654435761|0;for(;z<=H;)U=Y(U,D(N,z)),z+=4,$e=Y($e,D(N,z)),z+=4,xe=Y(xe,D(N,z)),z+=4,at=Y(at,D(N,z)),z+=4;A=G(U,1)+G($e,7)+G(xe,12)+G(at,18)|0;}else A=p+374761393|0;for(A=A+B|0;z+4<=B;)A=A+D(N,z)*3266489917|0,A=G(A,17)*668265263|0,z+=4;for(;z<B;)A=A+N[z]*374761393|0,A=G(A,11)*2654435761|0,z++;return A^=A>>>15,A=A*2246822519|0,A^=A>>>13,A=A*3266489917|0,A^=A>>>16,A>>>0;function Y(H,U){return H=H+U*2246822519|0,H=G(H,13),H=H*2654435761|0,H}function G(H,U){return H<<U|H>>>32-U|0}function D(H,U){return (H[U]|H[U+1]<<8|H[U+2]<<16|H[U+3]<<24)>>>0}}I.xxHash32=M;function j(g){let p=0;for(let h of g){let b=h.codePointAt(0)||h.charCodeAt(0);b<127?p+=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?p+=2:p+=1;}return p}I.stringWidth=j;class V{constructor(p){c(this,"pattern");this.pattern=p;}async*scan(p){let h=b.stream(this.pattern,{cwd:p?.cwd,absolute:p?.absolute,follow:p?.followSymlinks,dot:p?.dot,nodir:p?.onlyFiles});for await(let b of h)yield An(b);}*scanSync(p){let h=a(this.pattern,{cwd:p?.cwd,absolute:p?.absolute,follow:p?.followSymlinks,dot:p?.dot,nodir:p?.onlyFiles});for(let b of h)yield An(b);}match(p){return minimatch(p,this.pattern)}}I.Glob=V,I.InstallFailedError=ve.create("PKGInstallFailedError",Re.object({message:Re.string(),pkg:Re.string(),version:Re.string(),originalError:Re.string().optional()}));async function Be(g,p="latest",h){h=h??process.env.EASBOT_CACHE_PATH??ie.join(".easbot","cache");let b=await Te.write("pkg-install");try{let P=ie.join(h,"node_modules",g),O=ie.join(h,"package.json"),v=await ee.readFile(O,"utf-8").then(D=>JSON.parse(D)).catch(async()=>{let D={dependencies:{}};return await ee.writeFile(O,JSON.stringify(D,null,2)),D}),$=v.dependencies??{},N=await K.exists(P),B=$[g],A=!1;if(!N||!B)A=!0;else {if(p!=="latest"&&B===p)return P;if(p==="latest"){if(!await Me.isOutdated(g,B,h))return P;e.info("Cached version is outdated, proceeding with install",{pkg:g,cachedVersion:B}),A=!0;}}if(!A)return P;e.info("installing package",{pkg:g,version:p,cache:h});let z=[{name:"npm",cmd:["npm","install","--save-exact",`${g}@${p}`]},{name:"pnpm",cmd:["pnpm","add","--save-exact",`${g}@${p}`]}],Y=null;for(let D of z){let H=await t(D.name);if(!H){e.info(`Package manager ${D.name} not found, skipping`);continue}try{e.info(`Using ${D.name} to install package`,{pkg:g,version:p,pmPath:H});let{code:U,stdout:$e,stderr:xe}=await d(D.cmd,{cwd:h,timeout:600*1e3,windowsHide:!0});if(U!==0)throw new Error(`Package manager exited with code ${U}: ${xe}`);e.info(`Successfully installed ${g}@${p} with ${D.name}`);break}catch(U){Y=U instanceof Error?U:new Error(String(U)),e.warn(`Failed to install with ${D.name}, trying next package manager`,{error:Y.message});}}if(Y&&!await K.exists(P))throw new I.InstallFailedError({message:`Failed to install ${g}@${p}`,pkg:g,version:p,originalError:Y.message});let G=p;if(p==="latest")try{let D=ie.join(P,"package.json"),H=await ee.readFile(D,"utf-8").then(U=>JSON.parse(U));H?.version&&(G=H.version);}catch{e.warn("Could not resolve installed version",{pkg:g});}return v.dependencies[g]=G,await ee.writeFile(O,JSON.stringify(v,null,2)),P}finally{b[Symbol.dispose]();}}I.install=Be,I.stdin=process.stdin,I.stdout=process.stdout,I.stderr=process.stderr,I.sleep=g=>new Promise(p=>setTimeout(p,g)),I.color=(g,p)=>({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"})[g.toLowerCase()]||null,I.hash={xxHash32:I.xxHash32},I.build=In.build,I.server=se,I.nodeWebSocket=createNodeWebSocket,I.restServer=bt,I.rpcServer=ht,I.streamingServer=wt,I.webSocketServer=xt;})(_||(_={}));var Mt=_.$,Kr=_.readableStreamToText;_.nodeReadableStreamToText;_.which;var Xr=_.whichSync;_.spawn;_.run;var Ln=200,_n={bash:{login:true,posix:true},dash:{login:true,posix:true},fish:{deny:true,login:true},ksh:{login:true,posix:true},nu:{deny:true},powershell:{ps:true},pwsh:{ps:true},sh:{login:true,posix:true},zsh:{login:true,posix:true}},Pt;(Z=>{let e=c$1.create({service:"shell"});async function t(w,C){let I=w.pid;if(!(!I||C?.exited?.())){if(process.platform==="win32"){await new Promise(g=>{let p=spawn("taskkill",["/pid",String(I),"/f","/t"],{stdio:"ignore",windowsHide:true});p.once("exit",()=>g()),p.once("error",()=>g());});return}try{process.kill(-I,"SIGTERM"),await setTimeout$1(Ln),C?.exited?.()||process.kill(-I,"SIGKILL");}catch{w.kill("SIGTERM"),await setTimeout$1(Ln),C?.exited?.()||w.kill("SIGKILL");}}}Z.killTree=t;function r(w){if(process.platform!=="win32")return w;let C=K.normalize(w);return k(C)==="bash"&&f()||C}function n(w){return _n[k(w)]}function o(w){return n(w)?.deny!==true}function i(w){return ie.isAbsolute(K.windowsPath(w))}function a(w){let C=r(w);if(i(C))return K.stat(C)?.isFile()?C:void 0;let I=_.whichSync(C);return I?K.normalize(I):void 0}function s(){return Array.from(new Set([_.whichSync("pwsh"),_.whichSync("powershell"),f(),process.env.COMSPEC||"cmd.exe"].filter(w=>!!w).map(r)))}async function l(){let w=await K.readText("/etc/shells").catch(()=>"");return w?Array.from(new Set(w.split(`
28
- `).filter(C=>C.trim()&&!C.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function u(w,C){if(w&&(!C?.acceptable||o(w))){let I=a(w);if(I)return I}return process.platform==="win32"?s()[0]:S()}Z.defaultPreferred=je(()=>u(process.env.SHELL)),Z.defaultAcceptable=je(()=>u(process.env.SHELL,{acceptable:true}));function f(){if(process.platform!=="win32")return;if(process.env.EASBOT_GIT_BASH_PATH)return K.normalize(process.env.EASBOT_GIT_BASH_PATH);let w=_.whichSync("git");if(!w)return;let C=K.normalize(ie.join(w,"..","..","bin","bash.exe"));if(K.stat(C)?.size)return C}Z.gitbash=f;function S(){if(process.platform==="win32"){let C=f();return C||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let w=_.whichSync("bash");return w?K.normalize(w):"/bin/sh"}function k(w){return process.platform==="win32"?ie.win32.parse(K.windowsPath(w)).name.toLowerCase():ie.basename(w).toLowerCase()}Z.name=k;function y(w){return n(w)?.login===true}Z.login=y;function M(w){return n(w)?.posix===true}Z.posix=M;function j(w){return n(w)?.ps===true}Z.ps=j;function V(w){let C=r(w),I=k(C);return {path:C,name:I,acceptable:o(I)}}function ae(w,C,I){let g=k(w),p=re(C),h=He(p[0]??C,p.slice(1));return g==="nu"||g==="fish"?["-c",h]:g==="zsh"?["-l","-c",`
20
+ ${pe}`;return {content:z+We,truncated:true,outputPath:_,originalLength:l.length,removedLength:D,label:m}}i.truncateAndSave=s;function a(l){return l.truncated?n(l.outputPath,l.label):""}i.formatHint=a;})(Ze||(Ze={}));k();k();function At(e){let t,r=false,n=()=>(r||(t=e(),r=true),t);return n.reset=()=>{r=false,t=void 0;},n}var Me=At;function Lt(e){let t,r=()=>(t||(t=e()),t);return r.reset=()=>{t=void 0;},r}var Jn=Lt,oe;(r=>(r.lazy=At,r.lazyAsync=Lt))(oe||(oe={}));k();k();k();var Z=a.create({service:"server"});function ee(e={}){let t=e.port??3e3,r=e.hostname??"0.0.0.0",n=new Hono({strict:true,getPath:a=>{try{return new URL(a.url).pathname}catch{return a.url}}});if(e.onError?n.onError(e.onError):n.onError((a,i)=>(Z.error("Server error",{error:a.message,stack:a.stack}),a instanceof HTTPException?a.getResponse():i.json({error:"Internal Server Error",message:a.message},500))),e.onNotFound?n.notFound(e.onNotFound):n.notFound(a=>a.json({error:"Not Found",path:a.req.path},404)),!e.websockets&&e.cors&&n.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),n.use(logger((a,...i)=>Z.info(a,i))),!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 a of e.middlewares)a.path?n.use(a.path,a.handler):n.use(a.handler);if(e.routes)for(let a of e.routes){let i=a.middlewares||[],l=a.method.toUpperCase();a.validation?n.on(l,a.path,zValidator("json",a.validation),...i,a.handler):n.on(l,a.path,...i,a.handler);}e.rpc&&n.post("/rpc/:method",async a=>{let i=a.req.param("method"),l=e.rpc?.[i];if(!l)return a.json({error:"RPC method not found"},404);try{let d=await a.req.json(),c=await l(d,a);return a.json({result:c})}catch(d){return Z.error("RPC error",{method:i,error:d.message}),a.json({error:"RPC execution failed",message:d.message},500)}}),e.fetch&&n.all("*",async a=>await e.fetch(a.req.raw));let o=null,s={url:new URL(`http://${r}:${t}`),port:t,hostname:r,hono:n,async stop(a=false){return o?new Promise((i,l)=>{a&&o.closeAllConnections?.(),o.close(d=>{d?(Z.error("Error closing server",{error:d.message}),l(d)):(o=null,Z.info(`Server on port ${t} stopped`),i());}),setTimeout(()=>{Z.warn(`Server shutdown timeout on port ${t}`),o=null,i();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return Z.debug("createServer: calling serve()",{port:t,hostname:r}),o=serve({fetch:n.fetch,port:t,hostname:r}),Z.debug("createServer: serve() returned, server created"),Z.info(`Server running on http://${r}:${t}`),s}function Ke(e){return ee({rpc:e,port:3e3})}function Qn(e,t=3e3,r="0.0.0.0"){return ee({fetch:e,port:t,hostname:r})}function Xe(e,t={}){return ee({...t,routes:e})}function Qe(e,t={}){return ee({...t,websockets:e})}function et(e,t={}){let r=Object.entries(e).map(([n,o])=>({method:"get",path:`/stream/${n}`,handler:s=>streamSSE(s,async a=>{for await(let i of o(s))await a.writeSSE(i);})}));return ee({...t,routes:r,streaming:true})}k();var te=a.create({service:"build-api"});async function Jt(){try{return {available:!0,version:(await import('./chunks/main-ZMRSNK7G.mjs')).version||"unknown"}}catch(e){return te.warn("esbuild not available",{error:e.message}),{available:false}}}async function Pe(){let e=await Jt();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"&&te.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function rr(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function Zt(e){let t=rr(e.compile);t&&te.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:or(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=sr(e.target)),e.minify===true&&(r.minifyWhitespace=true,r.minifyIdentifiers=true,r.minifySyntax=true),ir(r)}function or(e){return !e||e==="none"?false:e}function sr(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function ir(e){let t={};for(let r of Object.keys(e))e[r]!==void 0&&(t[r]=e[r]);return t}function Re(e){if(e!==void 0)return e.replace(/\\/g,"/")}function qt(e,t,r){let n=[];if(e.outputFiles)for(let s of e.outputFiles)n.push({path:Re(s.path)||s.path,size:s.contents?.length||0});if(e.metafile?.outputs)for(let[s,a]of Object.entries(e.metafile.outputs)){let i=a;n.some(l=>l.path===s||l.path===Re(s))||n.push({path:Re(s)||s,size:i.bytes||0});}let o=[];if(e.errors?.length>0)for(let s of e.errors)o.push({level:"error",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});if(e.warnings?.length>0)for(let s of e.warnings)o.push({level:"warning",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});return {outputs:n,success:e.errors?.length===0,logs:o,metafile:e.metafile}}async function nt(e){te.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await Pe();let t=await import('./chunks/main-ZMRSNK7G.mjs'),r=Date.now();try{let n=Zt(e);te.debug("esbuild options",n);let o=await t.build(n),s=Date.now();return te.info("Build completed",{duration:s-r,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),qt(o,r,s)}catch(n){let o=Date.now(),s=n.message;return te.error("Build failed",{error:s,duration:o-r}),n&&typeof n=="object"&&"errors"in n?qt(n):{outputs:[],success:false,logs:[{level:"error",message:s}],metafile:void 0}}}var fr={build:nt},Kt=fr;k();k();function K(e){let t=[],r="",n=0;for(;n<e.length&&(e[n]===" "||e[n]===" ");)n++;for(;n<e.length;){let o=e[n];if(o===" "||o===" "){for(r.length>0&&(t.push(r),r="");n<e.length&&(e[n]===" "||e[n]===" ");)n++;continue}if(o==='"'){for(n++;n<e.length;){let s=e[n];if(s==="\\"&&n+1<e.length){let a=e[n+1];if(a==='"'||a==="\\"||a==="$"||a==="`"){r+=a,n+=2;continue}}if(s==='"'){n++;break}r+=s,n++;}continue}if(o==="'"){for(n++;n<e.length;){let s=e[n];if(s==="'"){n++;break}r+=s,n++;}continue}r+=o,n++;}return r.length>0&&t.push(r),t}function Xt(e){return /[|&;<>()$`!#]/.test(e)}function Qt(e){let t=K(e);if(t.length===0)return {command:"",args:[]};let r={command:t[0],args:t.slice(1)};if(r.args.length>0){let n=r.args[r.args.length-1];try{let o=JSON.parse(n);typeof o=="object"&&o!==null&&!Array.isArray(o)&&(r.options=o,r.args=r.args.slice(0,-1));}catch{}}return r}function rt(e,t=process.platform==="win32"?"windows":"unix"){return t==="windows"?e.includes(" ")||e.includes("&")||e.includes("|")||e.includes("<>")||e.includes("^")||e.includes('"')||e.includes("%")?`"${e.replace(/%/g,"%%").replace(/"/g,'^"')}"`:e:e.includes(" ")||e.includes("'")||e.includes('"')||e.includes("$")||e.includes("`")||e.includes("\\")||e.includes("!")||e.includes("#")||e.includes("&")||e.includes("*")||e.includes("?")||e.includes("|")||e.includes("<")||e.includes(">")||e.includes("(")||e.includes(")")||e.includes(";")?`'${e.replace(/'/g,"'\\''")}'`:e}var pr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>"]);function en(e,t=process.platform==="win32"?"windows":"unix"){return pr.has(e)?e:rt(e,t)}function tn(){return process.platform==="win32"?"windows":"unix"}function se(e,t,r=process.platform==="win32"?"windows":"unix"){let n=t.map(o=>en(o,r));return [e,...n].join(" ")}function nn(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>nn(t)).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 mr(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),s=new Uint8Array(o),a=new Uint8Array(n,e.byteOffset,e.byteLength);return s.set(a),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 ie(e,t={}){let r=K(e);if(r.length===0)throw new Error("Empty shell command");let n=async()=>{let s=await $.run(r,{cwd:t.cwd,env:t.env}),a=mr(Buffer.from(s.stdout,"utf-8"),Buffer.from(s.stderr,"utf-8"),s.code);if(s.code!==0&&!t.nothrow)throw Object.assign(new Error(`Command failed with exit code ${s.code}: ${e}
21
+ ${s.stderr}`),{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode});return a},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(s){return ie(e,{...t,cwd:s})},o.env=function(s){return ie(e,{...t,env:s})},o.quiet=function(){return ie(e,{...t,quiet:true})},o.lines=async function*(){let i=(await n()).text().split(/\r?\n/);for(let l of i)l.trim()&&(yield l);},o.text=async function(s="utf-8"){return (await n()).text(s)},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 ie(e,{...t,nothrow:true})},o.throws=function(s){return ie(e,{...t,nothrow:!s})},o}var he=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+=nn(r[o]));return ie(n,this.options)}braces(t){let r=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!r)return [t];let[,n="",o="",s=""]=r,a=o.split(",").map(l=>l.trim()),i=[];for(let l of a){let d=`${n}${l}${s}`;d.includes("{")?i.push(...this.braces(d)):i.push(d);}return i}escape(t){return process.platform==="win32"?t.replace(/([&|<>^"%])/g,"^$1"):t.replace(/(["\s'$`\\!*?#&;()<>|])/g,"\\$1")}env(t){return ne({...this.options,env:t})}cwd(t){return ne({...this.options,cwd:t})}nothrow(){return ne({...this.options,nothrow:true})}throws(t){return ne({...this.options,nothrow:!t})}};function ne(e={}){let t=new he(e);return new Proxy(t,{apply(r,n,o){return t.call(o[0],...o.slice(1))}})}var rn=ne();function on(e){return e.replace(/\\/g,"/")}function sn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var Y=new Map,$;(H=>{a.create({service:"pkg"});async function t(k){let g=k?[k]:["npm","pnpm","bun"];for(let f of g){let p=await H.which(f);if(p)return {name:f,path:p}}}H.packageManager=t;async function r(k,g){if(!k)return process.execPath;let f=g?.PATH||process.env.PATH||process.env.Path||"",p=process.env.EASBOT_BIN_PATH,x=p?f+ae.delimiter+p:f,w=sn(x),b=`${k}:${w}`;if(Y.has(b))return Y.get(b);let C=process.platform==="win32"?"where":"which";try{let{spawn:v}=await import('child_process');return new Promise(E=>{let I=v(C,[k],{env:{...process.env,PATH:x},stdio:["pipe","pipe","ignore"],windowsHide:!0}),j="",F="";I.stdout?.on("data",N=>{j+=N.toString();}),I.stderr?.on("data",N=>{F+=N.toString();}),I.on("close",N=>{if(N===0&&j.trim()){let O=j.trim().split(`
22
+ `),B=O.length>0?O[0]?.trim():null;if(B){Y.set(b,B),E(B);return}}Y.set(b,null),E(null);}),setTimeout(()=>{I.kill(),Y.set(b,null),E(null);},5e3);})}catch{return Y.set(b,null),null}}H.which=r;function n(k,g){if(!k)return process.execPath;let f=g?.PATH||process.env.PATH||process.env.Path||"",p=process.env.EASBOT_BIN_PATH,x=p?f+ae.delimiter+p:f,w=sn(x),b=`${k}:${w}`;if(Y.has(b))return Y.get(b);let C=process.platform==="win32"?"where":"which";try{let v=execSync(`${C} ${k}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:x},timeout:5e3,windowsHide:!0});if(v.trim()){let E=v.trim().split(`
23
+ `),I=E.length>0?E[0]?.trim():null;if(I)return Y.set(b,I),I}}catch{}return Y.set(b,null),null}H.whichSync=n;function o(){Y.clear();}H.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(k,g){try{return g?s.resolve(k,{paths:[g]}):s.resolve(k)}catch(f){throw new Error(`Cannot resolve module "${k}"${g?` from "${g}"`:""}: ${f instanceof Error?f.message:String(f)}`)}}H.resolve=a$2;function i(k){return {get name(){return ae.basename(k)},async exists(){try{return await X.access(k),!0}catch{return false}},async getSize(){try{return (await X.stat(k)).size}catch{return}},async text(){return await X.readFile(k,"utf-8")},textSync(){return Ce.readFileSync(k,"utf-8")},jsonSync(){let g=Ce.readFileSync(k,"utf-8");return JSON.parse(g)},async bytes(){let g=await X.readFile(k);return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)},async arrayBuffer(){let g=await X.readFile(k);return g.buffer.slice(g.byteOffset,g.byteOffset+g.byteLength)},get type(){let g=ae.extname(k).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"}[g]||"application/octet-stream"},async write(g){let f;if(g instanceof Response){let p=await g.arrayBuffer();f=new Uint8Array(p);}else f=g;await X.writeFile(k,f);},async json(){let g=await X.readFile(k,"utf-8");return JSON.parse(g)},async stat(){return await X.stat(k)}}}H.file=i;async function l(k,g,f){let p;if(g instanceof Response){let x=await g.arrayBuffer();p=new Uint8Array(x);}else p=g;await X.writeFile(k,p,f?{mode:f.mode}:void 0);}H.write=l;function d(k,g,f){Ce.writeFileSync(k,g,f?{mode:f.mode}:void 0);}H.writeSync=d;function c$1(k,g="utf-8"){return Ce.readFileSync(k,g)}H.readSync=c$1;function u(k,g){let f,p;if(typeof k=="object"&&"cmd"in k){let v=k;f=v.cmd,p={cwd:v.cwd,env:v.env,stdout:v.stdout,stderr:v.stderr,stdin:v.stdin,signal:v.signal,windowsHide:v.windowsHide,shell:v.shell};}else f=Array.isArray(k)?k:[k],p=g||{};if(!f||f.length===0||!f[0])throw new Error("Spawn command cannot be empty");let x=[p.stdin==="inherit"?"inherit":p.stdin==="null"?"ignore":"pipe",p.stdout==="inherit"?"inherit":p.stdout==="null"?"ignore":"pipe",p.stderr==="inherit"?"inherit":p.stderr==="null"?"ignore":"pipe"],w={cwd:p.cwd,env:p.env?{...process.env,...p.env}:process.env,stdio:x};p.shell!==void 0&&(w.shell=p.shell),process.platform==="win32"&&(w.windowsHide=p.windowsHide??true);let b=spawn(f[0],f.slice(1),w),y;if(p.signal){y=()=>{b.kill();},p.signal.addEventListener("abort",y,{once:true});let v=()=>{y&&(p.signal?.removeEventListener("abort",y),y=void 0);};b.on("close",v),b.on("error",v);}let C=new Promise((v,E)=>{let I=false,j=()=>{I||(I=true,b.removeAllListeners());};if(b.on("close",F=>{j(),v(F??0);}),b.on("error",F=>{j(),E(F);}),p.timeout!==false){let F=p.timeout||3e5;setTimeout(()=>{I||(j(),b.kill("SIGTERM"),E(new Error(`Process timeout after ${F}ms: ${f.join(" ")}`)));},F);}});return {stdout:b.stdout,stderr:b.stderr,stdin:b.stdin,pid:b.pid,exited:C,exitCode:b.exitCode,kill:v=>b.kill(v)}}H.spawn=u;async function m(k,g){let f=g?.stdin??"null",p=g?.stdout??"pipe",x=g?.stderr??"pipe",w=u(k,{cwd:g?.cwd,env:g?.env,stdin:f,stdout:p,stderr:x,windowsHide:g?.windowsHide,shell:g?.shell}),b=[],y=[];p==="pipe"&&w.stdout?.on("data",v=>{b.push(v);}),x==="pipe"&&w.stderr?.on("data",v=>{y.push(v);});let C=g?.timeout&&g.timeout>0?setTimeout(()=>{w.kill("SIGTERM");},g.timeout):void 0;try{let v=await w.exited;return clearTimeout(C),p==="pipe"&&w.stdout?.destroy(),x==="pipe"&&w.stderr?.destroy(),f==="pipe"&&w.stdin?.end(),{code:v,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(y).toString("utf-8")}}catch(v){return clearTimeout(C),p==="pipe"&&w.stdout?.destroy(),x==="pipe"&&w.stderr?.destroy(),f==="pipe"&&w.stdin?.end(),{code:-1,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(y).toString("utf-8")||(v instanceof Error?v.message:String(v))}}}H.run=m;async function S(k,g={},f={}){let p=u(k,{cwd:g.cwd,env:g.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),x="",w="";p.stdout?.on("data",y=>{let C=y.toString("utf-8");x+=C,f.onStdout?.(C);}),p.stderr?.on("data",y=>{let C=y.toString("utf-8");w+=C,f.onStderr?.(C);});let b=g.timeout&&g.timeout>0?setTimeout(()=>{p.kill("SIGTERM");},g.timeout):void 0;try{let y=await p.exited;return clearTimeout(b),f.onExit?.(y),{code:y,stdout:x,stderr:w}}catch(y){clearTimeout(b);let C=y instanceof Error?y.message:String(y);return {code:-1,stdout:x,stderr:w||C}}}H.runWithStream=S;async function P(k){if(typeof k.pipeThrough=="function")try{let x=new TextDecoderStream("utf-8"),b=k.pipeThrough(x).getReader(),y="";try{for(;;){let{done:C,value:v}=await b.read();if(C)break;y+=v;}return y}finally{b.releaseLock();}}catch{}let g=k.getReader(),f=new TextDecoder("utf-8"),p=[];try{for(;;){let{done:x,value:w}=await g.read();if(x)break;p.push(f.decode(w,{stream:!0}));}return p.push(f.decode()),p.join("")}finally{g.releaseLock();}}H.readableStreamToText=P;async function L(k){let g=[];return new Promise((f,p)=>{k.on("data",x=>{typeof x=="string"?g.push(Buffer.from(x)):g.push(x);}),k.on("end",()=>{try{let w=Buffer.concat(g).toString("utf-8");f(w);}catch(x){p(x);}}),k.on("error",x=>{p(x);});})}H.nodeReadableStreamToText=L;function _(k,g=0){let C=new TextEncoder().encode(k),v=C.length,E,I=0;if(v>=16){let O=v-16,B=g+2654435761+2246822519|0,V=g+2246822519|0,W=g+0|0,G=g-2654435761|0;for(;I<=O;)B=j(B,N(C,I)),I+=4,V=j(V,N(C,I)),I+=4,W=j(W,N(C,I)),I+=4,G=j(G,N(C,I)),I+=4;E=F(B,1)+F(V,7)+F(W,12)+F(G,18)|0;}else E=g+374761393|0;for(E=E+v|0;I+4<=v;)E=E+N(C,I)*3266489917|0,E=F(E,17)*668265263|0,I+=4;for(;I<v;)E=E+C[I]*374761393|0,E=F(E,11)*2654435761|0,I++;return E^=E>>>15,E=E*2246822519|0,E^=E>>>13,E=E*3266489917|0,E^=E>>>16,E>>>0;function j(O,B){return O=O+B*2246822519|0,O=F(O,13),O=O*2654435761|0,O}function F(O,B){return O<<B|O>>>32-B|0}function N(O,B){return (O[B]|O[B+1]<<8|O[B+2]<<16|O[B+3]<<24)>>>0}}H.xxHash32=_;function D(k){let g=0;for(let f of k){let p=f.codePointAt(0)||f.charCodeAt(0);p<127?g+=1:p>=4352&&p<=4447||p>=9001&&p<=9002||p>=11904&&p<=42191&&p!==12351||p>=44032&&p<=55203||p>=63744&&p<=64255||p>=65040&&p<=65049||p>=65072&&p<=65135||p>=65280&&p<=65376||p>=65504&&p<=65510?g+=2:g+=1;}return g}H.stringWidth=D;class z{constructor(g){c(this,"pattern");this.pattern=g;}async*scan(g){let f=b.stream(this.pattern,{cwd:g?.cwd,absolute:g?.absolute,follow:g?.followSymlinks,dot:g?.dot,nodir:g?.onlyFiles});for await(let p of f)yield on(p);}*scanSync(g){let f=a$1(this.pattern,{cwd:g?.cwd,absolute:g?.absolute,follow:g?.followSymlinks,dot:g?.dot,nodir:g?.onlyFiles});for(let p of f)yield on(p);}match(g){return minimatch(g,this.pattern)}}H.Glob=z,H.stdin=process.stdin,H.stdout=process.stdout,H.stderr=process.stderr,H.sleep=k=>new Promise(g=>setTimeout(g,k)),H.color=(k,g)=>({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"})[k.toLowerCase()]||null,H.hash={xxHash32:H.xxHash32},H.build=Kt.build,H.server=ee,H.nodeWebSocket=createNodeWebSocket,H.restServer=Xe,H.rpcServer=Ke,H.streamingServer=et,H.webSocketServer=Qe;})($||($={}));var yr=$.readableStreamToText;$.nodeReadableStreamToText;$.which;var Sr=$.whichSync;$.spawn;$.run;var ln=200,cn={bash:{login:true,posix:true},dash:{login:true,posix:true},fish:{deny:true,login:true},ksh:{login:true,posix:true},nu:{deny:true},powershell:{ps:true},pwsh:{ps:true},sh:{login:true,posix:true},zsh:{login:true,posix:true}},J;(g=>{let e=a.create({service:"shell"});async function t(f,p){let x=f.pid;if(!(!x||p?.exited?.())){if(process.platform==="win32"){await new Promise(w=>{let b=spawn("taskkill",["/pid",String(x),"/f","/t"],{stdio:"ignore",windowsHide:true});b.once("exit",()=>w()),b.once("error",()=>w());});return}try{process.kill(-x,"SIGTERM"),await setTimeout$1(ln),p?.exited?.()||process.kill(-x,"SIGKILL");}catch{f.kill("SIGTERM"),await setTimeout$1(ln),p?.exited?.()||f.kill("SIGKILL");}}}g.killTree=t;function r(f){if(process.platform!=="win32"||!f.includes("/")&&!f.includes("\\")&&!f.includes(":"))return f;let p=c$1.normalize(f);return P(p)==="bash"&&m()||p}function n(f){return cn[P(f)]}function o(f){return n(f)?.deny!==true}function s(f){return c$1.isAbsolute(f)}function a$1(f){let p=r(f);if(s(p))return c$1.stat(p)?.isFile()?p:void 0;let x=$.whichSync(p);return x?c$1.normalize(x):void 0}function i(){return Array.from(new Set([$.whichSync("pwsh"),$.whichSync("powershell"),m(),process.env.COMSPEC||"cmd.exe"].filter(f=>!!f).map(r)))}async function l(){let f=await c$1.readText("/etc/shells").catch(()=>"");return f?Array.from(new Set(f.split(`
24
+ `).filter(p=>p.trim()&&!p.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function d(f,p){if(f&&(!p?.acceptable||o(f))){let x=a$1(f);if(x)return x}return process.platform==="win32"?i()[0]:S()}g.defaultPreferred=Me(()=>d(process.env.SHELL)),g.defaultAcceptable=Me(()=>d(process.env.SHELL,{acceptable:true}));function m(){if(process.platform!=="win32")return;if(process.env.EASBOT_GIT_BASH_PATH)return c$1.normalize(process.env.EASBOT_GIT_BASH_PATH);let f=$.whichSync("git");if(!f)return;let p=c$1.normalize(ae.join(f,"..","..","bin","bash.exe"));if((c$1.stat(p)?.size??0)>0)return p}g.gitbash=m;function S(){if(process.platform==="win32"){let p=m();return p||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let f=$.whichSync("bash");return f?c$1.normalize(f):"/bin/sh"}function P(f){return ae.posix.basename(c$1.toUnixPath(f)).toLowerCase()}g.name=P;function L(f){return n(f)?.login===true}g.login=L;function _(f){return n(f)?.posix===true}g.posix=_;function D(f){return n(f)?.ps===true}g.ps=D;function z(f){let p=r(f),x=P(p);return {path:p,name:x,acceptable:o(x)}}function pe(f,p,x){let w=P(f),b=K(p),y=se(b[0]??p,b.slice(1));return w==="nu"||w==="fish"?["-c",y]:w==="zsh"?["-l","-c",`
29
25
  [[ -f ~/.zshenv ]] && source ~/.zshenv >/dev/null 2>&1 || true
30
26
  [[ -f "\${ZDOTDIR:-$HOME}/.zshrc" ]] && source "\${ZDOTDIR:-$HOME}/.zshrc" >/dev/null 2>&1 || true
31
27
  cd -- "$1"
32
- ${h}
33
- `,"easbot",I]:g==="bash"?["-l","-c",`${process.platform==="win32"?`cmd /c chcp 65001 >nul 2>&1 || true
28
+ ${y}
29
+ `,"easbot",x]:w==="bash"?["-l","-c",`${process.platform==="win32"?`cmd /c chcp 65001 >nul 2>&1 || true
34
30
  `:""}shopt -s expand_aliases
35
31
  [[ -f ~/.bashrc ]] && source ~/.bashrc >/dev/null 2>&1 || true
36
32
  cd -- "$1"
37
- ${h}
38
- `,"easbot",I]:/^cmd(\.exe)?$/i.test(g)?["/c",`chcp 65001 >nul 2>&1 && ${h}`]:j(g)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${h}`]:["-c",h]}Z.args=ae;function Be(w){return w?u(w):(0, Z.defaultPreferred)()}Z.preferred=Be;function Xt(w){return w?u(w,{acceptable:true}):(0, Z.defaultAcceptable)()}Z.acceptable=Xt;function Qt(){Z.defaultPreferred.reset(),Z.defaultAcceptable.reset();}Z.reset=Qt;async function en(){return (process.platform==="win32"?s():await l()).filter(C=>a(C)).map(V)}Z.list=en;function it(w){return _n[k(w)]}Z.metaInfo=it;function x(w){return /[|&;<>()$`!#]/.test(w)}Z.needsShell=x;function F(){return process.platform==="win32"?s():["/bin/bash","/bin/zsh","/bin/sh"]}Z.platformShells=F;function L(w){return w?!!a(w):false}Z.isValid=L;async function W(w){let C=a(w);if(!C)return;let I=k(C);if(!/^cmd(\.exe)?$/i.test(I))try{let g;j(I)?g=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:g=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${C}`,{shell:C,args:g});let p=await _.run([C,...g]);if(p.code===0){let h=p.stdout.trim().split(`
39
- `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${h}`),h}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${p.code}`,{stderr:p.stderr});}catch(g){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${g}`);}}Z.version=W;async function J(w,C,I){let g=I?.cwd??process.cwd(),p=Z.args(w,C,g);e.debug(`\u6267\u884C shell \u547D\u4EE4: ${w} ${p.join(" ")}`,{command:C,cwd:g});let h={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...I?.env};return process.platform==="win32"&&(h.CHCP="65001"),_.run([w,...p],{...I,env:h})}Z.run=J;function Q(w,C,I){let g=I?.cwd??process.cwd(),p=Z.args(w,C,g);e.debug(`Spawn shell \u8FDB\u7A0B: ${w} ${p.join(" ")}`,{command:C,cwd:g});let{windowsHide:h,env:b,...P}=I??{},O={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...b};process.platform==="win32"&&(O.CHCP="65001");let v={...P,cwd:g,env:O,windowsHide:process.platform==="win32"?h??true:void 0};return _.spawn([w,...p],v)}Z.spawn=Q;})(Pt||(Pt={}));k();function Rt(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")}`,l=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"),S=String(r.getSeconds()).padStart(2,"0"),k=`${l}-${u}-${c}T${d}:${f}:${S}`;if(t){let y=String(r.getMilliseconds()).padStart(3,"0");k+=`.${y}`;}return k+=s,k}function eo(e){return Rt(e,false)}function jn(){return Date.now()}function to(e=true){return Rt(jn(),e)}function no(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function ro(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"),a=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return `${r}-${n}-${o}T${i}:${a}:${s}`}function oo(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 Et;(t=>{function e(r){return new Ct(r)}t.create=e;})(Et||(Et={}));var Ct=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(`
40
- `):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 l=this.patternToRegex(n);l&&this.rules.push({pattern:n,regex:l,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(""),a=i.startsWith("/"),s=i.endsWith("/")&&!i.endsWith("\\/");a||(i="(?:.*/)?"+i),s&&(i=i.slice(0,-1)),!s&&!i.endsWith("(?:/.*)*")&&(i="(?:"+i+")(?:/.*)?");let l=this.ignorecase?"i":"";try{return new RegExp("^"+i+"$",l)}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 Nn(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.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 io=Nn,It;(t=>t.fn=Nn)(It||(It={}));k();function uo(){let r=ie.join(process.cwd(),".env");existsSync(r)&&config({path:r,override:true,debug:false,encoding:"utf-8",quiet:true});}k();async function fo(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let i=_.spawn(["git",...e],{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[a,s,l]=await Promise.all([i.exited,new Response(i.stdout).arrayBuffer(),new Response(i.stderr).arrayBuffer()]),u=Buffer.from(s),c=Buffer.from(l);return {exitCode:a,text:()=>u.toString(),stdout:u,stderr:c}}catch(i){let a=Buffer.from(i instanceof Error?i.message:String(i));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:a}}let r=t.env?{...process.env,...t.env}:void 0,n=Mt`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();function Wn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function zn(e,t,r=3){function n(o,i){if(i>r||!existsSync(o))return null;try{let a=readdirSync(o);for(let s of a){let l=join(o,s);try{let u=statSync(l);if(u.isFile()&&l.endsWith(t))return l;if(u.isDirectory()&&i<r){let c=n(l,i+1);if(c)return c}}catch{}}}catch{}return null}return n(e,0)}function Dn(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 a=join(o,"assets","txt");if(existsSync(a)){let u=zn(a,n,5);if(u)return u}let s=join(o,"dist","assets","txt");if(existsSync(s)){let u=zn(s,n,5);if(u)return u}let l=join(o,"..");if(l===o)break;o=l;}return r}function bo(e,t){return de.lazy(()=>{try{let r=Wn(t),n=Dn(r,e);return _.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}function xo(e,t){return de.lazy(async()=>{try{let r=Wn(t),n=Dn(r,e);return await _.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}k();function wo(e){return e()}k();function yo(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 Ot(e,t,r,n=()=>true){let o=-1,i=-1,a=0;for(let s=t;s<r;s++){if(!n(s))continue;let l=e[s];if(l){if(l==="("){a+=1;continue}if(l===")"&&a>0){a-=1;continue}a===0&&(l===`
41
- `?o=s:/\s/.test(l)&&(i=s));}}return {lastNewline:o,lastWhitespace:i}}function So(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function pe(e,t,r){try{let n=z.string().parse(e),o=z.number().int().parse(t),i=So(n,o);if(i)return i;let a=Ft(n,o,s=>{let{lastNewline:l,lastWhitespace:u}=Ot(s,0,s.length);return l>0?l:u});return r?.minLength&&r.minLength>0&&(a=Un(a,r.minLength)),a}catch(n){return console.warn("Invalid input for chunkText:",n),typeof e=="string"&&e.length>0?[e]:[]}}function Un(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
+ ${y}
34
+ `,"easbot",x]:/^cmd(\.exe)?$/i.test(w)?["/c",`chcp 65001 >nul 2>&1 && ${y}`]:D(w)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${y}`]:["-c",y]}g.args=pe;function We(f){return f?d(f):(0, g.defaultPreferred)()}g.preferred=We;function Bn(f){return f?d(f,{acceptable:true}):(0, g.defaultAcceptable)()}g.acceptable=Bn;function Fn(){g.defaultPreferred.reset(),g.defaultAcceptable.reset();}g.reset=Fn;async function $n(){return (process.platform==="win32"?i():await l()).filter(p=>a$1(p)).map(z)}g.list=$n;function Ue(f){return cn[P(f)]}g.metaInfo=Ue;function An(f){return /[|&;<>()$`!#]/.test(f)}g.needsShell=An;function Ln(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}g.platformShells=Ln;function _n(f){return f?!!a$1(f):false}g.isValid=_n;async function jn(f){let p=a$1(f);if(!p)return;let x=P(p);if(!/^cmd(\.exe)?$/i.test(x))try{let w;D(x)?w=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:w=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${p}`,{shell:p,args:w});let b=await $.run([p,...w]);if(b.code===0){let y=b.stdout.trim().split(`
35
+ `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${y}`),y}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${b.code}`,{stderr:b.stderr});}catch(w){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${w}`);}}g.version=jn;class qe extends Error{constructor(x,w,b,y){super(x);c(this,"message",x);c(this,"pkg",w);c(this,"version",b);c(this,"originalError",y);this.name="InstallFailedError";}}g.InstallFailedError=qe;async function Nn(f,p="latest",x){let{Lock:w}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:b}=await import('./chunks/filesystem-IEDC2UL2.mjs'),{PackageRegistry:y}=await import('./chunks/registry-QKUDHNX5.mjs');x=x??process.env.EASBOT_CACHE_PATH??ae.join(".easbot","cache");let C=await w.write("pkg-install");try{let v=ae.posix.join(x,"node_modules",f),E=ae.posix.join(x,"package.json"),j=(await b.readJson(E).catch(async()=>{let U={dependencies:{}};return await b.writeJson(E,U),U})).dependencies??{},F=await b.exists(v),N=j[f],O=!1;if(!F||!N)O=!0;else {if(p!=="latest"&&N===p)return v;if(p==="latest"){if(!await y.isOutdated(f,N,x))return v;e.info("Cached version is outdated, proceeding with install",{pkg:f,cachedVersion:N}),O=!0;}}if(!O)return v;let B=g.acceptable(process.platform==="win32"?"cmd":void 0)??S(),V=`${f}@${p}`;e.info("installing package",{pkg:f,version:p,cache:x,shell:B});let W=await $.packageManager();if(!W)throw new qe("No package manager found (npm, pnpm, bun)",f,p,"No package manager available");let G=W.name,me=G==="pnpm"?"add":"install",Ve=`${W.name} ${me} --save-exact ${V}`;e.info(`Using ${G} to install package`,{pkg:f,version:p,shell:B,pmPath:W.path});try{let U=await g.run(B,Ve,{cwd:x,timeout:6e5,windowsHide:!0});if(U.code!==0)throw new Error(`Package manager exited with code ${U.code}: ${U.stderr}`);e.info(`Successfully installed ${f}@${p} with ${G}`);}catch(U){let It=U instanceof Error?U:new Error(String(U));if(!await b.exists(v))throw new qe(`Failed to install ${f}@${p}`,f,p,It.message);e.warn("Package install failed but module exists, continuing",{error:It.message});}let Ge=p;p==="latest"&&(Ge=(await b.readJson(ae.join(v,"package.json")).catch(()=>({})))?.version??"unknown");let Te=await b.readJson(E);return Te.dependencies=Te.dependencies??{},Te.dependencies[f]=Ge,await b.writeJson(E,Te),e.info("Package installation completed",{pkg:f,version:Ge,path:v}),v}finally{C[Symbol.dispose]();}}g.install=Nn;async function Dn(f,p,x){let w=f?g.acceptable(f)??S():g.acceptable()??S(),b=x?.cwd??process.cwd(),y=g.args(w,p,b);e.debug(`run shell process: ${w} ${y.join(" ")}`,{command:p,cwd:b});let{windowsHide:C,env:v,...E}=x??{},I={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...v};process.platform==="win32"&&(I.CHCP="65001");let{stdin:j,stdout:F,stderr:N,timeout:O,signal:B,...V}=E??{},W={...V,cwd:b,env:I,windowsHide:process.platform==="win32"?C??true:void 0,shell:V.shell},G=P(w),me=/^cmd(\.exe)?$/i.test(G),Ve=process.platform==="win32"&&me?"cmd":w;return $.run([Ve,...y],W)}g.run=Dn;function H(f,p,x){let w=f?g.acceptable(f)??S():g.acceptable()??S(),b=x?.cwd??process.cwd(),y=g.args(w,p,b);e.debug(`Spawn shell process: ${w} ${y.join(" ")}`,{command:p,cwd:b});let{windowsHide:C,env:v,...E}=x??{},I={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...v};process.platform==="win32"&&(I.CHCP="65001");let{stdin:j,stdout:F,stderr:N,timeout:O,signal:B,...V}=E??{},W=P(w),G=/^cmd(\.exe)?$/i.test(W),me={...V,cwd:b,env:I,windowsHide:process.platform==="win32"?C??true:void 0,shell:V.shell};return $.spawn([G?"cmd":w,...y],me)}g.spawn=H;function k(f,...p){let x=f.reduce((b,y,C)=>b+y+(p[C]??""),""),w=(b={})=>({quiet:()=>w({...b,quiet:true}),nothrow:()=>w({...b,nothrow:true}),cwd:y=>w({...b,cwd:y}),env:y=>w({...b,env:y}),stdin:y=>w({...b,stdin:y}),stdout:y=>w({...b,stdout:y}),stderr:y=>w({...b,stderr:y}),text:async()=>{let y=K(x.trim());if(y.length===0)throw new Error("Empty command");let C=y[0]??"",v=P(C),E=/^cmd(\.exe)?$/i.test(v),I=process.platform==="win32"&&E?"cmd":Ue(C)?C:void 0,j=se(C,y.slice(1)),F=await g.run(I,j,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell});if(F.code!==0&&!b.nothrow)throw new Error(`Command failed with exit code ${F.code}: ${x}
36
+ ${F.stderr}`);return F.stdout},lines:async()=>(await w(b).text()).split(`
37
+ `).filter(C=>C.trim()),then:(y,C)=>{let v=K(x.trim()),E=v[0]??"",I=P(E),j=/^cmd(\.exe)?$/i.test(I),F=process.platform==="win32"&&j?"cmd":Ue(E)?E:void 0,N=se(E,v.slice(1));return g.run(F,N,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell}).then(O=>{if(O.code!==0&&!b.nothrow){let B=new Error(`Command failed with exit code ${O.code}: ${x}
38
+ ${O.stderr}`);if(C){C(B);return}throw B}return y({exitCode:O.code,stdout:new TextEncoder().encode(O.stdout),stderr:new TextEncoder().encode(O.stderr),text:()=>O.stdout,lines:()=>O.stdout.split(`
39
+ `).filter(B=>B.trim())})},C)}});return w()}g.$=k;})(J||(J={}));var vr=J.$;k();function ot(e,t=true){let r=typeof e=="number"?new Date(e):e,n=r.getTimezoneOffset(),o=Math.floor(Math.abs(n)/60),s=Math.abs(n)%60,i=`${n<=0?"+":"-"}${String(o).padStart(2,"0")}:${String(s).padStart(2,"0")}`,l=r.getFullYear(),d=String(r.getMonth()+1).padStart(2,"0"),c=String(r.getDate()).padStart(2,"0"),u=String(r.getHours()).padStart(2,"0"),m=String(r.getMinutes()).padStart(2,"0"),S=String(r.getSeconds()).padStart(2,"0"),P=`${l}-${d}-${c}T${u}:${m}:${S}`;if(t){let L=String(r.getMilliseconds()).padStart(3,"0");P+=`.${L}`;}return P+=i,P}function Tr(e){return ot(e,false)}function un(){return Date.now()}function Mr(e=true){return ot(un(),e)}function Rr(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function Pr(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"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return `${r}-${n}-${o}T${s}:${a}:${i}`}function Er(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 be=class be extends Error{static create(t,r){var s;let n=Ie.object({name:Ie.literal(t),data:r}).meta({ref:t}),o=(s=class extends be{constructor(i,l){super(t,l);c(this,"data",i);c(this,"name",t);this.name=t;}static isInstance(i){return typeof i=="object"&&"name"in i&&i.name===t}schema(){return n}toObject(){return {name:t,data:this.data}}},c(s,"Schema",n),s);return Object.defineProperty(o,"name",{value:t}),o}};c(be,"Unknown",be.create("UnknownError",Ie.object({message:Ie.string()})));var st=be;k();var it;(t=>{function e(r){return new at(r)}t.create=e;})(it||(it={}));var at=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(`
40
+ `):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 s=n.startsWith("!");if(s&&(n=n.slice(1)),n=n.trimEnd(),n.length===0)return;if(n.startsWith("\\#")){n=n.slice(1);return}if(n.startsWith("#"))return;let i=n.endsWith("/");if(i&&(n=n.slice(0,-1)),n.length===0)return;let l=this.patternToRegex(n);l&&this.rules.push({pattern:n,regex:l,negative:s,isDirectory:i,original:t,lineNumber:r});}ignores(t,r){let n=this.normalizePath(t),o=r??t.endsWith("/"),s=this.checkIgnore(n,o);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${o}) => ${s}`),s}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 d=t[n];if(d==="\\")if(n+1<o){let c=t[n+1];r.push(this.escapeRegexChar(c)),n+=2;continue}else {r.push("\\\\"),n++;continue}if(d==="*")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(d==="?"){r.push("[^/]"),n++;continue}if(d==="["){let c=this.findMatchingBracket(t,n);if(c!==-1){let u=t.slice(n,c+1);(u.startsWith("[!")||u.startsWith("[^"))&&(u="[^"+u.slice(2)),this.ignorecase&&(u=u.toLowerCase()),r.push(u),n=c+1;continue}}if(d==="/"){r.push("/"),n++;continue}if(".+$^{}|()".includes(d)){r.push("\\"+d),n++;continue}if(this.ignorecase&&d>="A"&&d<="Z"){r.push("["+d.toLowerCase()+d+"]"),n++;continue}r.push(d),n++;}let s=r.join(""),a=s.startsWith("/"),i=s.endsWith("/")&&!s.endsWith("\\/");a||(s="(?:.*/)?"+s),i&&(s=s.slice(0,-1)),!i&&!s.endsWith("(?:/.*)*")&&(s="(?:"+s+")(?:/.*)?");let l=this.ignorecase?"i":"";try{return new RegExp("^"+s+"$",l)}catch(d){return this.debug&&console.error(`Failed to create regex for pattern "${t}":`,d),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 s=t[n];if(s==="\\"&&n+1<o){n+=2;continue}if(s==="]")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 dn(e,t){let r=n=>{let o;try{o=e.parse(n);}catch(s){throw console.trace("schema validation failure stack trace:"),s instanceof z.ZodError&&console.error("schema validation issues:",JSON.stringify(s.issues,null,2)),s}return t(o)};return r.force=n=>t(n),r.schema=e,r}var Ir=dn,lt;(t=>t.fn=dn)(lt||(lt={}));k();function $r(){let r=ae.join(process.cwd(),".env");existsSync(r)&&config({path:r,override:true,debug:false,encoding:"utf-8",quiet:true});}k();async function Ar(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let s=process.platform==="win32"?"cmd":void 0,a=J.spawn(s,`git ${e.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[i,l,d]=await Promise.all([a.exited,new Response(a.stdout).arrayBuffer(),new Response(a.stderr).arrayBuffer()]),c=Buffer.from(l),u=Buffer.from(d);return {exitCode:i,text:()=>c.toString(),stdout:c,stderr:u}}catch(s){let a=Buffer.from(s instanceof Error?s.message:String(s));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:a}}let r=t.env?{...process.env,...t.env}:void 0,n=J.$`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();function pn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function fn(e,t,r=3){function n(o,s){if(s>r||!existsSync(o))return null;try{let a=readdirSync(o);for(let i of a){let l=join(o,i);try{let d=statSync(l);if(d.isFile()&&l.endsWith(t))return l;if(d.isDirectory()&&s<r){let c=n(l,s+1);if(c)return c}}catch{}}}catch{}return null}return n(e,0)}function mn(e,t){let r=join(e,t);if(existsSync(r))return r;let n=t.split("/").pop()||t,o=e;for(let s=0;s<5;s++){let a=join(o,"assets","txt");if(existsSync(a)){let d=fn(a,n,5);if(d)return d}let i=join(o,"dist","assets","txt");if(existsSync(i)){let d=fn(i,n,5);if(d)return d}let l=join(o,"..");if(l===o)break;o=l;}return r}function Dr(e,t){return oe.lazy(()=>{try{let r=pn(t),n=mn(r,e);return $.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}function zr(e,t){return oe.lazy(async()=>{try{let r=pn(t),n=mn(r,e);return await $.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}k();function Hr(e){return e()}k();function Wr(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 ct(e,t,r,n=()=>true){let o=-1,s=-1,a=0;for(let i=t;i<r;i++){if(!n(i))continue;let l=e[i];if(l){if(l==="("){a+=1;continue}if(l===")"&&a>0){a-=1;continue}a===0&&(l===`
41
+ `?o=i:/\s/.test(l)&&(s=i));}}return {lastNewline:o,lastWhitespace:s}}function Ur(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function le(e,t,r){try{let n=z.string().parse(e),o=z.number().int().parse(t),s=Ur(n,o);if(s)return s;let a=ut(n,o,i=>{let{lastNewline:l,lastWhitespace:d}=ct(i,0,i.length);return l>0?l:d});return r?.minLength&&r.minLength>0&&(a=hn(a,r.minLength)),a}catch(n){return console.warn("Invalid input for chunkText:",n),typeof e=="string"&&e.length>0?[e]:[]}}function hn(e,t){if(e.length<=1||t<=0)return e;let r=[],n=e[0]??"";for(let o=1;o<e.length;o++){let s=e[o]??"";n.length<t?n=n+`
42
42
 
43
- `+i:(r.push(n),n=i);}if(n.length>0)if(n.length<t&&r.length>0){let o=r.pop();r.push(o+`
43
+ `+s:(r.push(n),n=s);}if(n.length>0)if(n.length<t&&r.length>0){let o=r.pop();r.push(o+`
44
44
 
45
- `+n);}else r.push(n);return r}function Ft(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),a=r(i),s=Number.isFinite(a)&&a>0&&a<=t?a: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 At=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),qn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:At}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Vn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),href:z.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Ce=z.object({text:z.string(),styles:z.array(qn),links:z.array(Vn)}).strict(),Ie=z.enum(["off","bullets","code"]),Je=z.object({linkify:z.boolean().default(true),enableSpoilers:z.boolean().default(false),headingStyle:z.enum(["none","bold"]).default("none"),blockquotePrefix:z.string().default(""),autolink:z.boolean().default(true),tableMode:Ie.default("off")}).partial().default({}),Gn=z.object({open:z.string(),close:z.string()}).strict(),Bt=z.object({styleMarkers:z.record(At,Gn).optional(),escapeText:z.any().optional(),buildLink:z.any().optional()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),open:z.string(),close:z.string()}).strict();var $t=z.object({indentSize:z.number().int().min(1).default(2),listMarker:z.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z.enum(["```","~~~"]).default("```"),preserveFrontmatter:z.boolean().default(true)}).strict(),Lt=z.record(z.string(),z.string()),Ye=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:Ye,isInside:z.any()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),openLine:z.string(),marker:z.string(),indent:z.string()}).strict();z.object({tables:Ie.optional()}).strict();function Ro(e){let t=new Po({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 Zn(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 _t(e,t){return {...e,type:"text",content:t,children:void 0}}function Eo(e){for(let t of e)t.children&&t.children.length>0&&(t.children=Co(t.children));}function Co(e){let t=0;for(let a of e){if(a.type!=="text")continue;let s=a.content??"",l=0;for(;l<s.length;){let u=s.indexOf("||",l);if(u===-1)break;t+=1,l=u+2;}}if(t<2)return e;let r=t-t%2,n=[],o={spoilerOpen:false},i=0;for(let a of e){if(a.type!=="text"){n.push(a);continue}let s=a.content??"";if(!s.includes("||")){n.push(a);continue}let l=0;for(;l<s.length;){let u=s.indexOf("||",l);if(u===-1){l<s.length&&n.push(_t(a,s.slice(l)));break}if(i>=r){n.push(_t(a,s.slice(l)));break}u>l&&n.push(_t(a,s.slice(l,u))),i+=1,o.spoilerOpen=!o.spoilerOpen,n.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),l=u+2;}}return n}function Io(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function ue(e){return e.table?.currentCell??e}function Ke(e,t){if(!t)return;let r=ue(e);r.text+=t;}function me(e,t){let r=ue(e);r.openStyles.push({style:t,start:r.text.length});}function ge(e,t){let r=ue(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 a=r.text.length;a>i&&r.styles.push({start:i,end:a,style:t});return}}}function Jn(e){e.env.listStack.length>0||e.table||(e.text+=`
45
+ `+n);}else r.push(n);return r}function ut(e,t,r){if(!e)return [];if(t<=0||e.length<=t)return [e];let n=[],o=e;for(;o.length>t;){let s=o.slice(0,t),a=r(s),i=Number.isFinite(a)&&a>0&&a<=t?a:t,d=o.slice(0,i).trimEnd();d.length>0&&n.push(d);let c=i<o.length&&o[i]!==void 0&&/\s/.test(o[i]),u=Math.min(o.length,i+(c?1:0));o=o.slice(u).trimStart();}return o.length>0&&n.push(o),n}k();var dt=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),bn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:dt}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),xn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),href:z.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),we=z.object({text:z.string(),styles:z.array(bn),links:z.array(xn)}).strict(),ye=z.enum(["off","bullets","code"]),Be=z.object({linkify:z.boolean().default(true),enableSpoilers:z.boolean().default(false),headingStyle:z.enum(["none","bold"]).default("none"),blockquotePrefix:z.string().default(""),autolink:z.boolean().default(true),tableMode:ye.default("off")}).partial().default({}),wn=z.object({open:z.string(),close:z.string()}).strict(),ft=z.object({styleMarkers:z.record(dt,wn).optional(),escapeText:z.any().optional(),buildLink:z.any().optional()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),open:z.string(),close:z.string()}).strict();var pt=z.object({indentSize:z.number().int().min(1).default(2),listMarker:z.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z.enum(["```","~~~"]).default("```"),preserveFrontmatter:z.boolean().default(true)}).strict(),mt=z.record(z.string(),z.string()),Fe=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:Fe,isInside:z.any()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),openLine:z.string(),marker:z.string(),indent:z.string()}).strict();z.object({tables:ye.optional()}).strict();function Zr(e){let t=new Jr({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 yn(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 gt(e,t){return {...e,type:"text",content:t,children:void 0}}function Kr(e){for(let t of e)t.children&&t.children.length>0&&(t.children=Xr(t.children));}function Xr(e){let t=0;for(let a of e){if(a.type!=="text")continue;let i=a.content??"",l=0;for(;l<i.length;){let d=i.indexOf("||",l);if(d===-1)break;t+=1,l=d+2;}}if(t<2)return e;let r=t-t%2,n=[],o={spoilerOpen:false},s=0;for(let a of e){if(a.type!=="text"){n.push(a);continue}let i=a.content??"";if(!i.includes("||")){n.push(a);continue}let l=0;for(;l<i.length;){let d=i.indexOf("||",l);if(d===-1){l<i.length&&n.push(gt(a,i.slice(l)));break}if(s>=r){n.push(gt(a,i.slice(l)));break}d>l&&n.push(gt(a,i.slice(l,d))),s+=1,o.spoilerOpen=!o.spoilerOpen,n.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),l=d+2;}}return n}function Qr(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function re(e){return e.table?.currentCell??e}function $e(e,t){if(!t)return;let r=re(e);r.text+=t;}function ce(e,t){let r=re(e);r.openStyles.push({style:t,start:r.text.length});}function ue(e,t){let r=re(e);for(let n=r.openStyles.length-1;n>=0;n-=1){let o=r.openStyles[n];if(o?.style===t){let s=o.start;r.openStyles.splice(n,1);let a=r.text.length;a>s&&r.styles.push({start:s,end:a,style:t});return}}}function Sn(e){e.env.listStack.length>0||e.table||(e.text+=`
46
46
 
47
- `);}function Oo(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 Fo(e,t){if(!t)return;let r=ue(e),n=r.text.length;r.text+=t,r.styles.push({start:n,end:n+t.length,style:"code"});}function Ao(e,t){let r=t??"",n=ue(e),o=n.text.length;n.text+=r,n.styles.push({start:o,end:o+r.length,style:"code_block"});}function Bo(e){let t=ue(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 $o(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function Lo(e){return Kn(e),{text:e.text,styles:e.styles,links:e.links}}function Xe(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,a=[];for(let l of e.styles){let u=Math.max(0,l.start-r),c=Math.min(i,l.end-r);c>u&&a.push({start:u,end:c,style:l.style});}let s=[];for(let l of e.links){let u=Math.max(0,l.start-r),c=Math.min(i,l.end-r);c>u&&s.push({start:u,end:c,href:l.href});}return {text:o,styles:a,links:s}}function jt(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 _o(e,t){t.text&&(e.text+=t.text);}function Yn(e,t){let{header:r,value:n,columnIndex:o,includeColumnFallback:i}=t;n?.text&&(e.text+="\u2022 ",r?.text?(jt(e,r),e.text+=": "):i&&(e.text+=`Column ${o}: `),jt(e,n),e.text+=`
48
- `);}function jo(e){if(!e.table)return;let t=e.table.headers.map(Xe),r=e.table.rows.map(o=>o.map(Xe));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 a=e.text.length;jt(e,i);let s=e.text.length;s>a&&e.styles.push({start:a,end:s,style:"bold"}),e.text+=`
49
- `;}for(let a=1;a<o.length;a++)Yn(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
50
- `;}else for(let o of r){for(let i=0;i<o.length;i++)Yn(e,{header:t[i],value:o[i],columnIndex:i,includeColumnFallback:false});e.text+=`
51
- `;}}function No(e){if(!e.table)return;let t=e.table.headers.map(Xe),r=e.table.rows.map(c=>c.map(Xe)),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 S=c[d]?.text.length??0;(o[d]??0)<S&&(o[d]=S);}};i(t);for(let c of r)i(c);let a=e.text.length,s=c=>{e.text+="|";for(let d=0;d<n;d+=1){e.text+=" ";let f=c[d];f&&_o(e,f);let S=f?.text.length??0,y=(o[d]??0)-S;y>0&&(e.text+=" ".repeat(y)),e.text+=" |";}e.text+=`
52
- `;},l=()=>{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+=`
53
- `;};s(t),l();for(let c of r)s(c);let u=e.text.length;u>a&&e.styles.push({start:a,end:u,style:"code_block"});}function Nt(e,t){for(let r of e)switch(r.type){case "inline":r.children&&Nt(r.children,t);break;case "text":Ke(t,r.content??"");break;case "em_open":me(t,"italic");break;case "em_close":ge(t,"italic");break;case "strong_open":me(t,"bold");break;case "strong_close":ge(t,"bold");break;case "s_open":me(t,"strikethrough");break;case "s_close":ge(t,"strikethrough");break;case "code_inline":Fo(t,r.content??"");break;case "spoiler_open":t.enableSpoilers&&me(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&ge(t,"spoiler");break;case "link_open":{let n=Zn(r,"href")??"",o=ue(t);o.linkStack.push({href:n,labelStart:o.text.length});break}case "link_close":Bo(t);break;case "image":Ke(t,r.content??"");break;case "softbreak":case "hardbreak":Ke(t,`
54
- `);break;case "paragraph_close":Jn(t);break;case "heading_open":t.headingStyle==="bold"&&me(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&ge(t,"bold"),Jn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),me(t,"blockquote");break;case "blockquote_close":ge(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
47
+ `);}function eo(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 to(e,t){if(!t)return;let r=re(e),n=r.text.length;r.text+=t,r.styles.push({start:n,end:n+t.length,style:"code"});}function no(e,t){let r=t??"",n=re(e),o=n.text.length;n.text+=r,n.styles.push({start:o,end:o+r.length,style:"code_block"});}function ro(e){let t=re(e),r=t.linkStack.pop();if(!r?.href)return;let n=r.href.trim();if(!n)return;let o=r.labelStart,s=t.text.length;if(s<=o){t.links.push({start:o,end:s,href:n});return}t.links.push({start:o,end:s,href:n});}function oo(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function so(e){return vn(e),{text:e.text,styles:e.styles,links:e.links}}function Ae(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),s=o.length,a=[];for(let l of e.styles){let d=Math.max(0,l.start-r),c=Math.min(s,l.end-r);c>d&&a.push({start:d,end:c,style:l.style});}let i=[];for(let l of e.links){let d=Math.max(0,l.start-r),c=Math.min(s,l.end-r);c>d&&i.push({start:d,end:c,href:l.href});}return {text:o,styles:a,links:i}}function ht(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 io(e,t){t.text&&(e.text+=t.text);}function kn(e,t){let{header:r,value:n,columnIndex:o,includeColumnFallback:s}=t;n?.text&&(e.text+="\u2022 ",r?.text?(ht(e,r),e.text+=": "):s&&(e.text+=`Column ${o}: `),ht(e,n),e.text+=`
48
+ `);}function ao(e){if(!e.table)return;let t=e.table.headers.map(Ae),r=e.table.rows.map(o=>o.map(Ae));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 s=o[0];if(s?.text){let a=e.text.length;ht(e,s);let i=e.text.length;i>a&&e.styles.push({start:a,end:i,style:"bold"}),e.text+=`
49
+ `;}for(let a=1;a<o.length;a++)kn(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
50
+ `;}else for(let o of r){for(let s=0;s<o.length;s++)kn(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
51
+ `;}}function lo(e){if(!e.table)return;let t=e.table.headers.map(Ae),r=e.table.rows.map(c=>c.map(Ae)),n=Math.max(t.length,...r.map(c=>c.length));if(n===0)return;let o=Array.from({length:n},()=>0),s=c=>{for(let u=0;u<n;u+=1){let S=c[u]?.text.length??0;(o[u]??0)<S&&(o[u]=S);}};s(t);for(let c of r)s(c);let a=e.text.length,i=c=>{e.text+="|";for(let u=0;u<n;u+=1){e.text+=" ";let m=c[u];m&&io(e,m);let S=m?.text.length??0,L=(o[u]??0)-S;L>0&&(e.text+=" ".repeat(L)),e.text+=" |";}e.text+=`
52
+ `;},l=()=>{e.text+="|";for(let c=0;c<n;c+=1){let u=o[c]??0,m=Math.max(3,u);e.text+=` ${"-".repeat(m)} |`;}e.text+=`
53
+ `;};i(t),l();for(let c of r)i(c);let d=e.text.length;d>a&&e.styles.push({start:a,end:d,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":$e(t,r.content??"");break;case "em_open":ce(t,"italic");break;case "em_close":ue(t,"italic");break;case "strong_open":ce(t,"bold");break;case "strong_close":ue(t,"bold");break;case "s_open":ce(t,"strikethrough");break;case "s_close":ue(t,"strikethrough");break;case "code_inline":to(t,r.content??"");break;case "spoiler_open":t.enableSpoilers&&ce(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&ue(t,"spoiler");break;case "link_open":{let n=yn(r,"href")??"",o=re(t);o.linkStack.push({href:n,labelStart:o.text.length});break}case "link_close":ro(t);break;case "image":$e(t,r.content??"");break;case "softbreak":case "hardbreak":$e(t,`
54
+ `);break;case "paragraph_close":Sn(t);break;case "heading_open":t.headingStyle==="bold"&&ce(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&ue(t,"bold"),Sn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),ce(t,"blockquote");break;case "blockquote_close":ue(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
55
55
  `),t.env.listStack.push({type:"bullet",index:0});break;case "bullet_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
56
56
  `);break;case "ordered_list_open":{t.env.listStack.length>0&&(t.text+=`
57
- `);let n=Number(Zn(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+=`
58
- `);break;case "list_item_open":Oo(t);break;case "list_item_close":t.text.endsWith(`
57
+ `);let n=Number(yn(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+=`
58
+ `);break;case "list_item_open":eo(t);break;case "list_item_close":t.text.endsWith(`
59
59
  `)||(t.text+=`
60
- `);break;case "code_block":case "fence":Ao(t,r.content??"");break;case "html_block":case "html_inline":Ke(t,r.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=$o(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?jo(t):t.tableMode==="code"&&No(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=Io());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(Lo(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
60
+ `);break;case "code_block":case "fence":no(t,r.content??"");break;case "html_block":case "html_inline":$e(t,r.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=oo(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?ao(t):t.tableMode==="code"&&lo(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=Qr());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(so(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
61
61
 
62
- `;break;default:r.children&&Nt(r.children,t);break}}function Kn(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 zo(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 Wo(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 Xn(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 Qn(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 Do(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let i=Qn(o,t,r);i&&n.push({start:i.start-t,end:i.end-t,style:o.style});}return Xn(n)}function Ho(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let i=Qn(o,t,r);i&&n.push({start:i.start-t,end:i.end-t,href:o.href});}return n}function he(e,t){try{let r=typeof e=="string"?e:"",n=Je.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=Je.parse(t),o={listStack:[]},a=Ro(n).parse(r||"",o);n.enableSpoilers&&Eo(a);let s=n.tableMode??"off",l={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:n.headingStyle??"none",blockquotePrefix:n.blockquotePrefix??"",enableSpoilers:n.enableSpoilers??!1,tableMode:s,table:null,hasTables:!1};Nt(a,l),Kn(l);let c=l.text.trimEnd().length,d=0;for(let k of l.styles)k.style==="code_block"&&k.end>d&&(d=k.end);let f=Math.max(c,d);return {ir:{text:f===l.text.length?l.text:l.text.slice(0,f),styles:Xn(zo(l.styles,f)),links:Wo(l.links,f)},hasTables:l.hasTables}}catch(r){return console.error("Markdown parse error:",r),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function er(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=pe(r.text,n),i=[],a=0;return o.forEach((s,l)=>{if(!s)return;if(l>0)for(;a<r.text.length&&/\s/.test(r.text[a]??"");)a+=1;let u=a,c=Math.min(r.text.length,u+s.length);i.push({text:s,styles:Do(r.styles,u,c),links:Ho(r.links,u,c)}),a=c;}),i}catch(r){return console.error("Chunk IR error:",r),[]}}k();var Uo={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Fe(e,t){try{let r=Ce.parse(e),n=Bt.parse(t??{});if(!r.text)return "";let o=n.styleMarkers??Uo,i=n.escapeText??(d=>d),a=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 S=(V,ae)=>V==="link_open"?0:V==="open"?1:V==="close"?2:V==="link_close"?3:4,k=d.type==="close"||d.type==="link_close",y=f.type==="close"||f.type==="link_close",M=S(d.type,k),j=S(f.type,y);return M!==j?M-j: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 l="",u=0,c=[];for(let d of s){if(d.position>u){let f=r.text.slice(u,d.position);l+=i?i(f):f;}if(d.type==="open"||d.type==="close"){let f=o[d.style];if(f)if(d.type==="open")l+=f.open,c.push(d);else {l+=f.close,d.style==="code_block"&&d.position<r.text.length&&(l+=`
63
- `);let S=c.findIndex(k=>k.spanIndex===d.spanIndex&&k.type==="open");S!==-1&&c.splice(S,1);}}else if(d.type==="link_open")l+="[",c.push(d);else if(d.type==="link_close"){l+="]("+d.href+")";let f=c.findIndex(S=>S.spanIndex===d.spanIndex&&S.type==="link_open");f!==-1&&c.splice(f,1);}u=d.position;}if(u<r.text.length){let d=r.text.slice(u);l+=i?i(d):d;}return l}catch(r){return console.error("Markdown render error:",r),""}}function be(e,t){return Fe(e,t)}k();function qo(e){let t=e.replace(/\r\n/g,`
62
+ `;break;default:r.children&&bt(r.children,t);break}}function vn(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 co(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),s=Math.max(o,Math.min(n.end,t));s>o&&r.push({start:o,end:s,style:n.style});}return r}function uo(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),s=Math.max(o,Math.min(n.end,t));s>o&&r.push({start:o,end:s,href:n.href});}return r}function Tn(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 Mn(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 fo(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=Mn(o,t,r);s&&n.push({start:s.start-t,end:s.end-t,style:o.style});}return Tn(n)}function po(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=Mn(o,t,r);s&&n.push({start:s.start-t,end:s.end-t,href:o.href});}return n}function de(e,t){try{let r=typeof e=="string"?e:"",n=Be.parse(t??{});return Se(r,n).ir}catch(r){return console.error("Markdown parse error:",r),{text:"",styles:[],links:[]}}}function Se(e,t){try{let r=typeof e=="string"?e:"",n=Be.parse(t),o={listStack:[]},a=Zr(n).parse(r||"",o);n.enableSpoilers&&Kr(a);let i=n.tableMode??"off",l={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:n.headingStyle??"none",blockquotePrefix:n.blockquotePrefix??"",enableSpoilers:n.enableSpoilers??!1,tableMode:i,table:null,hasTables:!1};bt(a,l),vn(l);let c=l.text.trimEnd().length,u=0;for(let P of l.styles)P.style==="code_block"&&P.end>u&&(u=P.end);let m=Math.max(c,u);return {ir:{text:m===l.text.length?l.text:l.text.slice(0,m),styles:Tn(co(l.styles,m)),links:uo(l.links,m)},hasTables:l.hasTables}}catch(r){return console.error("Markdown parse error:",r),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function Rn(e,t){try{let r=we.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=le(r.text,n),s=[],a=0;return o.forEach((i,l)=>{if(!i)return;if(l>0)for(;a<r.text.length&&/\s/.test(r.text[a]??"");)a+=1;let d=a,c=Math.min(r.text.length,d+i.length);s.push({text:i,styles:fo(r.styles,d,c),links:po(r.links,d,c)}),a=c;}),s}catch(r){return console.error("Chunk IR error:",r),[]}}k();var mo={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function ke(e,t){try{let r=we.parse(e),n=ft.parse(t??{});if(!r.text)return "";let o=n.styleMarkers??mo,s=n.escapeText??(u=>u),a=n.buildLink,i=[];for(let u=0;u<r.styles.length;u++){let m=r.styles[u];m&&(i.push({position:m.start,type:"open",style:m.style,spanIndex:u}),i.push({position:m.end,type:"close",style:m.style,spanIndex:u}));}for(let u=0;u<r.links.length;u++){let m=r.links[u];m&&(i.push({position:m.start,type:"link_open",spanIndex:u,href:m.href}),i.push({position:m.end,type:"link_close",spanIndex:u,href:m.href}));}i.sort((u,m)=>{if(u.position!==m.position)return u.position-m.position;let S=(z,pe)=>z==="link_open"?0:z==="open"?1:z==="close"?2:z==="link_close"?3:4,P=u.type==="close"||u.type==="link_close",L=m.type==="close"||m.type==="link_close",_=S(u.type,P),D=S(m.type,L);return _!==D?_-D:u.type==="open"&&m.type==="open"?u.spanIndex-m.spanIndex:u.type==="close"&&m.type==="close"?m.spanIndex-u.spanIndex:u.spanIndex-m.spanIndex});let l="",d=0,c=[];for(let u of i){if(u.position>d){let m=r.text.slice(d,u.position);l+=s?s(m):m;}if(u.type==="open"||u.type==="close"){let m=o[u.style];if(m)if(u.type==="open")l+=m.open,c.push(u);else {l+=m.close,u.style==="code_block"&&u.position<r.text.length&&(l+=`
63
+ `);let S=c.findIndex(P=>P.spanIndex===u.spanIndex&&P.type==="open");S!==-1&&c.splice(S,1);}}else if(u.type==="link_open")l+="[",c.push(u);else if(u.type==="link_close"){l+="]("+u.href+")";let m=c.findIndex(S=>S.spanIndex===u.spanIndex&&S.type==="link_open");m!==-1&&c.splice(m,1);}d=u.position;}if(d<r.text.length){let u=r.text.slice(d);l+=s?s(u):u;}return l}catch(r){return console.error("Markdown render error:",r),""}}function fe(e,t){return ke(e,t)}k();function go(e){let t=e.replace(/\r\n/g,`
64
64
  `).replace(/\r/g,`
65
65
  `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let r=t.indexOf(`
66
- ---`,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 Qe(e,t){try{let r=typeof e=="string"?e:"",n=$t.parse(t??{});if(!r)return "";let{frontmatter:o,content:i}=qo(r),a=he(i,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),s=be(a);return s=s.replace(/\n{3,}/g,`
66
+ ---`,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 Le(e,t){try{let r=typeof e=="string"?e:"",n=pt.parse(t??{});if(!r)return "";let{frontmatter:o,content:s}=go(r),a=de(s,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),i=fe(a);return i=i.replace(/\n{3,}/g,`
67
67
 
68
- `),s=s.trimEnd()+`
69
- `,n.preserveFrontmatter&&o&&(s=o+`
70
- `+s),s}catch(r){return console.error("Markdown format error:",r),e}}k();function Vo(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function Go(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 Zo(e){try{let t=tr.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 a=Go(o);a&&(r[i]=a);}return r}catch{return null}}function Jo(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(`
71
- `).trim(),linesConsumed:n-t}}function Yo(e){let t={},r=e.split(`
72
- `),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 a=i[1],s=i[2].trim();if(!a){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}=Jo(r,n);c&&(t[a]={value:c,kind:"multiline",rawInline:s}),n+=d;continue}}let l=Vo(s);l&&(t[a]={value:l,kind:"inline",rawInline:s}),n+=1;}return t}function Ko(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.value;return t}function Xo(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Qo(e){let{lineEntry:t,yamlValue:r}=e;return r.kind!=="structured"||t.kind!=="inline"||Xo(t.rawInline)?false:t.value.includes(":")}function es(e){let t=e.replace(/\r\n/g,`
68
+ `),i=i.trimEnd()+`
69
+ `,n.preserveFrontmatter&&o&&(i=o+`
70
+ `+i),i}catch(r){return console.error("Markdown format error:",r),e}}k();function ho(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function bo(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 xo(e){try{let t=Pn.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 s=n.trim();if(!s)continue;let a=bo(o);a&&(r[s]=a);}return r}catch{return null}}function wo(e,t){let r=[],n=t+1;for(;n<e.length;){let s=e[n];if(!s){n+=1;continue}if(s.length>0&&!s.startsWith(" ")&&!s.startsWith(" "))break;r.push(s),n+=1;}return {value:r.join(`
71
+ `).trim(),linesConsumed:n-t}}function yo(e){let t={},r=e.split(`
72
+ `),n=0;for(;n<r.length;){let o=r[n];if(!o){n+=1;continue}let s=o.match(/^([\w-]+):\s*(.*)$/);if(!s?.[1]||!s[2]){n+=1;continue}let a=s[1],i=s[2].trim();if(!a){n+=1;continue}if(!i&&n+1<r.length){let d=r[n+1];if(d&&(d.startsWith(" ")||d.startsWith(" "))){let{value:c,linesConsumed:u}=wo(r,n);c&&(t[a]={value:c,kind:"multiline",rawInline:i}),n+=u;continue}}let l=ho(i);l&&(t[a]={value:l,kind:"inline",rawInline:i}),n+=1;}return t}function So(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.value;return t}function ko(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function vo(e){let{lineEntry:t,yamlValue:r}=e;return r.kind!=="structured"||t.kind!=="inline"||ko(t.rawInline)?false:t.value.includes(":")}function To(e){let t=e.replace(/\r\n/g,`
73
73
  `).replace(/\r/g,`
74
74
  `);if(!t.startsWith("---"))return;let r=t.indexOf(`
75
- ---`,3);if(r!==-1)return t.slice(4,r)}function Ae(e){try{if(typeof e!="string")return {};let t=es(e);if(!t)return {};let r=Yo(t),n=Zo(t);if(n===null)return Ko(r);let o={};for(let[i,a]of Object.entries(n)){o[i]=a.value;let s=r[i];s&&Qo({lineEntry:s,yamlValue:a})&&(o[i]=s.value);}for(let[i,a]of Object.entries(r))i in o||(o[i]=a.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function et(e){try{let t=Lt.parse(e);if(Object.keys(t).length===0)return "";let r={};for(let[o,i]of Object.entries(t))try{let a=JSON.parse(i);r[o]=a;}catch{r[o]=i;}return `---
76
- ${tr.stringify(r,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
77
- ---`}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,`
75
+ ---`,3);if(r!==-1)return t.slice(4,r)}function ve(e){try{if(typeof e!="string")return {};let t=To(e);if(!t)return {};let r=yo(t),n=xo(t);if(n===null)return So(r);let o={};for(let[s,a]of Object.entries(n)){o[s]=a.value;let i=r[s];i&&vo({lineEntry:i,yamlValue:a})&&(o[s]=i.value);}for(let[s,a]of Object.entries(r))s in o||(o[s]=a.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function _e(e){try{let t=mt.parse(e);if(Object.keys(t).length===0)return "";let r={};for(let[o,s]of Object.entries(t))try{let a=JSON.parse(s);r[o]=a;}catch{r[o]=s;}return `---
76
+ ${Pn.stringify(r,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
77
+ ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function je(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
78
78
  `).replace(/\r/g,`
79
79
  `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let r=t.indexOf(`
80
- ---`,3);if(r===-1)return {frontmatter:{},content:e};let n=t.slice(4,r),o=t.slice(r+4).trimStart();return {frontmatter:Ae(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function nt(e){try{let t=z.string().parse(e),r=[],n,o=0;for(;o<=t.length;){let i=t.indexOf(`
81
- `,o),a=i===-1?t.length:i,s=t.slice(o,a),l=s.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(l){let u=l[1],c=l[2];if(!u||!c){o=a+1;continue}let d=c[0];if(!d){o=a+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 S=a;r.push({start:n.start,end:S,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 zt(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 nr(e,t){return !zt(e,t)}function rt(){return {open:false,ticks:0}}function ot(e,t){try{let r=z.string().parse(e),n=t?Ye.parse(t):rt(),o=nt(r),i={open:n.open,ticks:n.ticks},{spans:a,state:s}=rs(r,o,i);return {inlineState:s,isInside:l=>ss(l,o)||is(l,a)}}catch(r){return console.warn("Invalid input for buildCodeSpanIndex:",r),{inlineState:rt(),isInside:()=>false}}}function rs(e,t,r){let n=[],o=r.open,i=r.ticks,a=o?0:-1,s=0;for(;s<e.length;){let l=os(t,s);if(l){s=l.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,a=u;continue}c===i&&(n.push([a,s]),o=false,i=0,a=-1);}return o&&n.push([a,e.length]),{spans:n,state:{open:o,ticks:i}}}function os(e,t){return e.find(r=>t>=r.start&&t<r.end)}function ss(e,t){return t.some(r=>e>=r.start&&e<r.end)}function is(e,t){return t.some(([r,n])=>e>=r&&e<n)}k();var ls={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function st(e,t){try{let r=z.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?Fe(o,{styleMarkers:ls,escapeText:a=>a,buildLink:(a,s)=>{let l=a.href.trim();return !l||!s.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${l})`}}}):r}catch(r){return console.warn("Invalid input for convertMarkdownTables:",r),typeof e=="string"?e:""}}var Wt;(u=>{function e(c,d){try{return he(c,d)}catch(f){return console.warn("Markdown.parse error:",f),{text:"",styles:[],links:[]}}}u.parse=e;function t(c,d){try{return be(c,d)}catch(f){return console.warn("Markdown.render error:",f),""}}u.render=t;function r(c,d){try{return Qe(c,d)}catch(f){return console.warn("Markdown.format error:",f),typeof c=="string"?c:""}}u.format=r;function n(c){try{return Ae(c)}catch(d){return console.warn("Markdown.parseFrontmatter error:",d),{}}}u.parseFrontmatter=n;function o(c){try{return et(c)}catch(d){return console.warn("Markdown.serializeFrontmatter error:",d),""}}u.serializeFrontmatter=o;function i(c){try{return tt(c)}catch(d){return console.warn("Markdown.extractFrontmatter error:",d),{frontmatter:{},content:typeof c=="string"?c:""}}}u.extractFrontmatter=i;function a(c,d,f){try{return pe(c,d,f)}catch(S){return console.warn("Markdown.chunk error:",S),typeof c=="string"&&c.length>0?[c]:[]}}u.chunk=a;function s(c,d){try{return ot(c,d)}catch(f){return console.warn("Markdown.buildCodeIndex error:",f),{inlineState:{open:false,ticks:0},isInside:()=>false}}}u.buildCodeIndex=s;function l(c,d){try{return st(c,d)}catch(f){return console.warn("Markdown.convertTables error:",f),typeof c=="string"?c:""}}u.convertTables=l;})(Wt||(Wt={}));k();function rr(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function cs(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function us(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function ds(e,t=20){let r=rr(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 fs(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 ps=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function ms(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return ps.some(r=>t.includes(r))}async function gs(e,t={}){let{attempts:r=3,delay:n=500,factor:o=2,maxDelay:i=1e4,retryIf:a=ms}=t,s;for(let l=0;l<r;l++)try{return await e()}catch(u){if(s=u,l===r-1||!a(u))throw u;let c=Math.min(n*o**l,i);await new Promise(d=>setTimeout(d,c));}throw s}k();var Dt;(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;})(Dt||(Dt={}));k();function or(e){let t=new AbortController,r=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function hs(e,...t){let r=or(e);return {signal:AbortSignal.any([r.signal,...t]),clearTimeout:r.clearTimeout}}k();var Ht;(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=ie.resolve(r),a=ie.resolve(n),s=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${i}' -DestinationPath '${a}' -Force`,u=await _.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 _.spawn(["unzip","-o","-q",r,"-d",n],{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;})(Ht||(Ht={}));k();var Ut;(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),a=parseInt(o.slice(3,5),16),s=parseInt(o.slice(5,7),16);return {r:i,g:a,b:s}}n.hexToRgb=t;function r(o){if(!e(o))return;let{r:i,g:a,b:s}=t(o);return `\x1B[38;2;${i};${a};${s}m\x1B[1m`}n.hexToAnsiBold=r;})(Ut||(Ut={}));k();var qt;(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,a){return o.run(i,a)}}}r.create=t;})(qt||(qt={}));k();function xs(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var Vt;(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;})(Vt||(Vt={}));k();function ws(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 Gt;(a=>{function e(s,l){if(s===l)return true;if(typeof s!="object"||typeof l!="object"||s===null||l===null)return false;let u=Object.keys(s),c=Object.keys(l);if(u.length!==c.length)return false;for(let d of u)if(!c.includes(d)||!e(s[d],l[d]))return false;return true}function t(s){return {...s,super:s.super??false}}function r(s,l){return s?e(t(s),t(l)):false}a.match=r;function n(s,l=false){return {name:s.name,ctrl:s.ctrl,meta:s.meta,shift:s.shift,super:s.super??false,leader:l}}a.fromParsedKey=n;function o(s){if(!s)return "";let l=[];s.ctrl&&l.push("ctrl"),s.meta&&l.push("alt"),s.super&&l.push("super"),s.shift&&l.push("shift"),s.name&&(s.name==="delete"?l.push("del"):l.push(s.name));let u=l.join("+");return s.leader&&(u=u?`<leader> ${u}`:"<leader>"),u}a.keyToString=o;function i(s){return s==="none"?[]:s.split(",").map(l=>{let c=l.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})}a.parse=i;})(Gt||(Gt={}));k();var Zt;(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),S=d.toLocaleDateString();return `${f} \xB7 ${S}`}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 S=Math.floor(c/6e4),k=Math.floor(c%6e4/1e3);return `${S}m ${k}s`}if(c<864e5){let S=Math.floor(c/36e5),k=Math.floor(c%36e5/6e4);return `${S}h ${k}m`}let d=Math.floor(c/36e5);return `${Math.floor(c%36e5/864e5)}d ${d}h`}u.duration=i;function a(c,d){return c.length<=d?c:c.slice(0,d-1)+"\u2026"}u.truncate=a;function s(c,d=35){if(c.length<=d)return c;let f="\u2026",S=Math.ceil((d-f.length)/2),k=Math.floor((d-f.length)/2);return c.slice(0,S)+f+c.slice(-k)}u.truncateMiddle=s;function l(c,d,f){return (c===1?d:f).replace("{}",c.toString())}u.pluralize=l;})(Zt||(Zt={}));k();function ys(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var Jt=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 Ss(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 ks(){let e,t=new Promise(r=>e=r);return {trigger(){return e()},wait(){return t}}}k();function vs(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 Yt;(a=>{let r=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function n(s){if(!s)return 0;let l=String(s),u=(l.match(r)||[]).length,c=l.length-u,d=Math.round(u/1.5),f=Math.round(c/4);return Math.max(0,d+f)}a.estimate=n;function o(s){if(s==null)return 0;try{let l=typeof s=="string"?s:JSON.stringify(s);return n(l)}catch{return 0}}a.estimateObject=o;function i(s){if(s.total!==void 0&&s.total>0)return s.total;let l=s.input??0,u=s.output??0,c=s.cache?.read??0,d=s.cache?.write??0;return l+u+c+d}a.total=i;})(Yt||(Yt={}));k();function Ms(e){let t={};for(let[r,n]of Object.entries(e.required().shape))t[r]=n.nullable();return Re.object(t)}k();var Kt;(i=>{function e(a,s){let l=s.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return l.endsWith(" .*")&&(l=l.slice(0,-3)+"( .*)?"),new RegExp("^"+l+"$","s").test(a)}i.match=e;function t(a){return a.sort((s,l)=>{let u=s[0].length-l[0].length;return u!==0?u:s[0].localeCompare(l[0])})}function r(a,s){let l=Object.entries(s),u=t(l),c;for(let[d,f]of u)e(a,d)&&(c=f);return c}i.all=r;function n(a,s){let l=Object.entries(s),u=t(l),c;for(let[d,f]of u){let S=d.split(/\s+/);e(a.head,S[0])&&(S.length===1||o(a.tail,S.slice(1)))&&(c=f);}return c}i.allStructured=n;function o(a,s){if(s.length===0)return true;if(a.length<s.length)return false;for(let l=0;l<s.length;l++)if(!e(a[l],s[l]))return false;return true}})(Kt||(Kt={}));async function ou(e){let{Log:t}=await import('./chunks/log-RRRQ3MA4.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{Mt as $,Ht as Archive,Jt as AsyncQueue,lt as Binary,Ut as Color,qt as Context,ct as Encode,Vt as EventLoop,K as Filesystem,It as Fn,ye as Glob,we as Identifier,Et as Ignore,Gt as Keybind,de as Lazy,Zt as Locale,Te as Lock,Wt as Markdown,ve as NamedError,_ as PKG,Me as PackageRegistry,Pe as PkgShell,X as Semver,Pt as Shell,Dt as Slug,Yt as Token,ut as TruncateContent,Kt as Wildcard,or as abortAfter,hs as abortAfterAny,ot as buildCodeSpanIndex,er as chunkMarkdownIR,pe as chunkText,Ft as chunkTextByBreakResolver,st as convertMarkdownTables,rt as createInlineCodeState,ce as createPkgShell,bt as createRESTServer,ht as createRPCServer,se as createServer,wt as createStreamingServer,xt as createWebSocketServer,xs as defer,mn as detectPlatform,gt as escapeCommandArg,pn as escapeCommandArgSafe,tt as extractFrontmatter,zt as findFenceSpanAt,ir as findLast,io as fn,ws as formatDuration,Rt as formatLocalISO,eo as formatLocalISOCompact,ro as formatLogTime,Qe as formatMarkdown,cs as getDirectory,us as getFileExtension,rr as getFilename,ds as getFilenameTruncated,oo as getTimezoneOffset,fo as git,wo as iife,ou as initLog,nr as isSafeFenceBreak,He as joinCommandArgs,je as lazy,cr as lazyAsync,uo as loadEnv,bo as loadTextFile,xo as loadTextFileAsync,he as markdownToIR,Oe as markdownToIRWithMeta,dn as needsShellExecution,jn as now,to as nowLocalISO,re as parseCommand,fn as parseCommandWithOptions,nt as parseFenceSpans,Ae as parseFrontmatterBlock,no as parseLocalISO,yo as parseModelId,ys as proxied,Kr as readableStreamToText,be as renderMarkdown,Fe as renderMarkdownWithMarkers,gs as retry,Ot as scanParenAwareBreakpoints,et as serializeFrontmatter,Fn as shell,ks as signal,Mr as startServer,fs as truncateMiddle,Ms as updateSchema,Xr as whichSync,vs as withTimeout,Ss as work};
80
+ ---`,3);if(r===-1)return {frontmatter:{},content:e};let n=t.slice(4,r),o=t.slice(r+4).trimStart();return {frontmatter:ve(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Ne(e){try{let t=z.string().parse(e),r=[],n,o=0;for(;o<=t.length;){let s=t.indexOf(`
81
+ `,o),a=s===-1?t.length:s,i=t.slice(o,a),l=i.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(l){let d=l[1],c=l[2];if(!d||!c){o=a+1;continue}let u=c[0];if(!u){o=a+1;continue}let m=c.length;if(!n)n={start:o,markerChar:u,markerLen:m,openLine:i,marker:c,indent:d};else if(n.markerChar===u&&m>=n.markerLen){let S=a;r.push({start:n.start,end:S,openLine:n.openLine,marker:n.marker,indent:n.indent}),n=void 0;}}if(s===-1)break;o=s+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 xt(e,t){let r=0,n=e.length-1;for(;r<=n;){let o=Math.floor((r+n)/2),s=e[o];if(!s)break;if(t<=s.start){n=o-1;continue}if(t>=s.end){r=o+1;continue}return s}}function En(e,t){return !xt(e,t)}function De(){return {open:false,ticks:0}}function ze(e,t){try{let r=z.string().parse(e),n=t?Fe.parse(t):De(),o=Ne(r),s={open:n.open,ticks:n.ticks},{spans:a,state:i}=Po(r,o,s);return {inlineState:i,isInside:l=>Co(l,o)||Io(l,a)}}catch(r){return console.warn("Invalid input for buildCodeSpanIndex:",r),{inlineState:De(),isInside:()=>false}}}function Po(e,t,r){let n=[],o=r.open,s=r.ticks,a=o?0:-1,i=0;for(;i<e.length;){let l=Eo(t,i);if(l){i=l.end;continue}if(e[i]!=="`"){i+=1;continue}let d=i,c=0;for(;i<e.length&&e[i]==="`";)c+=1,i+=1;if(!o){o=true,s=c,a=d;continue}c===s&&(n.push([a,i]),o=false,s=0,a=-1);}return o&&n.push([a,e.length]),{spans:n,state:{open:o,ticks:s}}}function Eo(e,t){return e.find(r=>t>=r.start&&t<r.end)}function Co(e,t){return t.some(r=>e>=r.start&&e<r.end)}function Io(e,t){return t.some(([r,n])=>e>=r&&e<n)}k();var Bo={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function He(e,t){try{let r=z.string().parse(e),n=ye.parse(t);if(!r||n==="off")return r;let{ir:o,hasTables:s}=Se(r,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:n});return s?ke(o,{styleMarkers:Bo,escapeText:a=>a,buildLink:(a,i)=>{let l=a.href.trim();return !l||!i.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${l})`}}}):r}catch(r){return console.warn("Invalid input for convertMarkdownTables:",r),typeof e=="string"?e:""}}var wt;(d=>{function e(c,u){try{return de(c,u)}catch(m){return console.warn("Markdown.parse error:",m),{text:"",styles:[],links:[]}}}d.parse=e;function t(c,u){try{return fe(c,u)}catch(m){return console.warn("Markdown.render error:",m),""}}d.render=t;function r(c,u){try{return Le(c,u)}catch(m){return console.warn("Markdown.format error:",m),typeof c=="string"?c:""}}d.format=r;function n(c){try{return ve(c)}catch(u){return console.warn("Markdown.parseFrontmatter error:",u),{}}}d.parseFrontmatter=n;function o(c){try{return _e(c)}catch(u){return console.warn("Markdown.serializeFrontmatter error:",u),""}}d.serializeFrontmatter=o;function s(c){try{return je(c)}catch(u){return console.warn("Markdown.extractFrontmatter error:",u),{frontmatter:{},content:typeof c=="string"?c:""}}}d.extractFrontmatter=s;function a(c,u,m){try{return le(c,u,m)}catch(S){return console.warn("Markdown.chunk error:",S),typeof c=="string"&&c.length>0?[c]:[]}}d.chunk=a;function i(c,u){try{return ze(c,u)}catch(m){return console.warn("Markdown.buildCodeIndex error:",m),{inlineState:{open:false,ticks:0},isInside:()=>false}}}d.buildCodeIndex=i;function l(c,u){try{return He(c,u)}catch(m){return console.warn("Markdown.convertTables error:",m),typeof c=="string"?c:""}}d.convertTables=l;})(wt||(wt={}));k();function Cn(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function Fo(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function $o(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function Ao(e,t=20){let r=Cn(e);if(r.length<=t)return r;let n=r.lastIndexOf("."),o=n<=0?"":r.slice(n),s=t-o.length-1;return s<=0?r.slice(0,t-1)+"\u2026":r.slice(0,s)+"\u2026"+o}function Lo(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 _o=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function jo(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return _o.some(r=>t.includes(r))}async function No(e,t={}){let{attempts:r=3,delay:n=500,factor:o=2,maxDelay:s=1e4,retryIf:a=jo}=t,i;for(let l=0;l<r;l++)try{return await e()}catch(d){if(i=d,l===r-1||!a(d))throw d;let c=Math.min(n*o**l,s);await new Promise(u=>setTimeout(u,c));}throw i}k();var yt;(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;})(yt||(yt={}));k();function In(e){let t=new AbortController,r=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function Do(e,...t){let r=In(e);return {signal:AbortSignal.any([r.signal,...t]),clearTimeout:r.clearTimeout}}k();var St;(t=>{async function e(r,n){if(process.platform==="win32"){let o=ae.resolve(r),s=ae.resolve(n),a=`Expand-Archive -Path '${o}' -DestinationPath '${s}' -Force`,i=await J.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${a}"`);if(i.code!==0)throw new Error(`PowerShell exited with code ${i.code}: ${i.stderr}`)}else {let o=`unzip -o -q ${r} -d ${n}`,s=await J.run(void 0,o);if(s.code!==0)throw new Error(`unzip exited with code ${s.code}: ${s.stderr}`)}}t.extractZip=e;})(St||(St={}));k();var kt;(n=>{function e(o){return o?/^#[0-9a-fA-F]{6}$/.test(o):false}n.isValidHex=e;function t(o){let s=parseInt(o.slice(1,3),16),a=parseInt(o.slice(3,5),16),i=parseInt(o.slice(5,7),16);return {r:s,g:a,b:i}}n.hexToRgb=t;function r(o){if(!e(o))return;let{r:s,g:a,b:i}=t(o);return `\x1B[38;2;${s};${a};${i}m\x1B[1m`}n.hexToAnsiBold=r;})(kt||(kt={}));k();var vt;(r=>{class e extends Error{constructor(s){super(`No context found for ${s}`);c(this,"name",s);}}r.NotFound=e;function t(n){let o=new AsyncLocalStorage;return {use(){let s=o.getStore();if(!s)throw new e(n);return s},provide(s,a){return o.run(s,a)}}}r.create=t;})(vt||(vt={}));k();function Ho(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var Tt;(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;})(Tt||(Tt={}));k();function Wo(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 Mt;(a=>{function e(i,l){if(i===l)return true;if(typeof i!="object"||typeof l!="object"||i===null||l===null)return false;let d=Object.keys(i),c=Object.keys(l);if(d.length!==c.length)return false;for(let u of d)if(!c.includes(u)||!e(i[u],l[u]))return false;return true}function t(i){return {...i,super:i.super??false}}function r(i,l){return i?e(t(i),t(l)):false}a.match=r;function n(i,l=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:l}}a.fromParsedKey=n;function o(i){if(!i)return "";let l=[];i.ctrl&&l.push("ctrl"),i.meta&&l.push("alt"),i.super&&l.push("super"),i.shift&&l.push("shift"),i.name&&(i.name==="delete"?l.push("del"):l.push(i.name));let d=l.join("+");return i.leader&&(d=d?`<leader> ${d}`:"<leader>"),d}a.keyToString=o;function s(i){return i==="none"?[]:i.split(",").map(l=>{let c=l.replace(/<leader>/g,"leader+").toLowerCase().split("+"),u={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let m of c)switch(m){case "ctrl":u.ctrl=true;break;case "alt":case "meta":case "option":u.meta=true;break;case "super":u.super=true;break;case "shift":u.shift=true;break;case "leader":u.leader=true;break;case "esc":u.name="escape";break;default:u.name=m;break}return u})}a.parse=s;})(Mt||(Mt={}));k();var Rt;(d=>{function e(c){return c.replace(/\b\w/g,u=>u.toUpperCase())}d.titlecase=e;function t(c){return new Date(c).toLocaleTimeString(void 0,{timeStyle:"short"})}d.time=t;function r(c){let u=new Date(c),m=t(c),S=u.toLocaleDateString();return `${m} \xB7 ${S}`}d.datetime=r;function n(c){let u=new Date(c),m=new Date;return u.getFullYear()===m.getFullYear()&&u.getMonth()===m.getMonth()&&u.getDate()===m.getDate()?t(c):r(c)}d.todayTimeOrDateTime=n;function o(c){return c>=1e6?(c/1e6).toFixed(1)+"M":c>=1e3?(c/1e3).toFixed(1)+"K":c.toString()}d.number=o;function s(c){if(c<1e3)return `${c}ms`;if(c<6e4)return `${(c/1e3).toFixed(1)}s`;if(c<36e5){let S=Math.floor(c/6e4),P=Math.floor(c%6e4/1e3);return `${S}m ${P}s`}if(c<864e5){let S=Math.floor(c/36e5),P=Math.floor(c%36e5/6e4);return `${S}h ${P}m`}let u=Math.floor(c/36e5);return `${Math.floor(c%36e5/864e5)}d ${u}h`}d.duration=s;function a(c,u){return c.length<=u?c:c.slice(0,u-1)+"\u2026"}d.truncate=a;function i(c,u=35){if(c.length<=u)return c;let m="\u2026",S=Math.ceil((u-m.length)/2),P=Math.floor((u-m.length)/2);return c.slice(0,S)+m+c.slice(-P)}d.truncateMiddle=i;function l(c,u,m){return (c===1?u:m).replace("{}",c.toString())}d.pluralize=l;})(Rt||(Rt={}));k();function Uo(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var Pt=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 qo(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 Vo(){let e,t=new Promise(r=>e=r);return {trigger(){return e()},wait(){return t}}}k();function Go(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 Et;(a=>{let r=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function n(i){if(!i)return 0;let l=String(i),d=(l.match(r)||[]).length,c=l.length-d,u=Math.round(d/1.5),m=Math.round(c/4);return Math.max(0,u+m)}a.estimate=n;function o(i){if(i==null)return 0;try{let l=typeof i=="string"?i:JSON.stringify(i);return n(l)}catch{return 0}}a.estimateObject=o;function s(i){if(i.total!==void 0&&i.total>0)return i.total;let l=i.input??0,d=i.output??0,c=i.cache?.read??0,u=i.cache?.write??0;return l+d+c+u}a.total=s;})(Et||(Et={}));k();function Jo(e){let t={};for(let[r,n]of Object.entries(e.required().shape))t[r]=n.nullable();return Ie.object(t)}k();var Ct;(s=>{function e(a,i){let l=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return l.endsWith(" .*")&&(l=l.slice(0,-3)+"( .*)?"),new RegExp("^"+l+"$","s").test(a)}s.match=e;function t(a){return a.sort((i,l)=>{let d=i[0].length-l[0].length;return d!==0?d:i[0].localeCompare(l[0])})}function r(a,i){let l=Object.entries(i),d=t(l),c;for(let[u,m]of d)e(a,u)&&(c=m);return c}s.all=r;function n(a,i){let l=Object.entries(i),d=t(l),c;for(let[u,m]of d){let S=u.split(/\s+/);e(a.head,S[0])&&(S.length===1||o(a.tail,S.slice(1)))&&(c=m);}return c}s.allStructured=n;function o(a,i){if(i.length===0)return true;if(a.length<i.length)return false;for(let l=0;l<i.length;l++)if(!e(a[l],i[l]))return false;return true}})(Ct||(Ct={}));async function Xl(e){let{Log:t}=await import('./chunks/log-Q2AQE2DU.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{vr as $,St as Archive,Pt as AsyncQueue,Ye as Binary,kt as Color,vt as Context,Je as Encode,Tt as EventLoop,lt as Fn,ge as Identifier,it as Ignore,Mt as Keybind,oe as Lazy,Rt as Locale,wt as Markdown,st as NamedError,$ as PKG,he as PkgShell,J as Shell,yt as Slug,Et as Token,Ze as TruncateContent,Ct as Wildcard,In as abortAfter,Do as abortAfterAny,ze as buildCodeSpanIndex,Rn as chunkMarkdownIR,le as chunkText,ut as chunkTextByBreakResolver,He as convertMarkdownTables,De as createInlineCodeState,ne as createPkgShell,Xe as createRESTServer,Ke as createRPCServer,ee as createServer,et as createStreamingServer,Qe as createWebSocketServer,Ho as defer,tn as detectPlatform,rt as escapeCommandArg,en as escapeCommandArgSafe,je as extractFrontmatter,xt as findFenceSpanAt,Vn as findLast,Ir as fn,Wo as formatDuration,ot as formatLocalISO,Tr as formatLocalISOCompact,Pr as formatLogTime,Le as formatMarkdown,Fo as getDirectory,$o as getFileExtension,Cn as getFilename,Ao as getFilenameTruncated,Er as getTimezoneOffset,Ar as git,Hr as iife,Xl as initLog,En as isSafeFenceBreak,se as joinCommandArgs,Me as lazy,Jn as lazyAsync,$r as loadEnv,Dr as loadTextFile,zr as loadTextFileAsync,de as markdownToIR,Se as markdownToIRWithMeta,Xt as needsShellExecution,un as now,Mr as nowLocalISO,K as parseCommand,Qt as parseCommandWithOptions,Ne as parseFenceSpans,ve as parseFrontmatterBlock,Rr as parseLocalISO,Wr as parseModelId,Uo as proxied,yr as readableStreamToText,fe as renderMarkdown,ke as renderMarkdownWithMarkers,No as retry,ct as scanParenAwareBreakpoints,_e as serializeFrontmatter,rn as shell,Vo as signal,Qn as startServer,Lo as truncateMiddle,Jo as updateSchema,Sr as whichSync,Go as withTimeout,qo as work};