@easbot/utils 0.2.9 → 0.2.11

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 {b as b$1}from'./chunks/chunk-C4GIW5KR.mjs';export{b as Filesystem,a as Glob}from'./chunks/chunk-C4GIW5KR.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 J from'fs/promises';import Q,{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 Gr from'markdown-it';import Mn from'yaml';import {AsyncLocalStorage}from'async_hooks';k();k();function Un(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 qe;(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;})(qe||(qe={}));k();var Ve;(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(y=>y.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;})(Ve||(Ve={}));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,y){return i(m,false,y)}u.ascending=s;function a(m,y){return i(m,true,y)}u.descending=a;function i(m,y,P){if(!P)return d(m,y);if(!P.startsWith(e[m]))throw new Error(`ID ${P} does not start with ${e[m]}`);return P}function l(m){let y="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",P="",$=randomBytes(m);for(let _=0;_<m;_++){let j=$[_];j!==void 0&&(P+=y[j%62]);}return P}function d(m,y,P){let $=P??Date.now();$!==n&&(n=$,o=0),o++;let _=BigInt($)*BigInt(4096)+BigInt(o);_=y?~_:_;let j=Buffer.alloc(6);for(let N=0;N<6;N++)j[N]=Number(_>>BigInt(40-8*N)&BigInt(255));return e[m]+"_"+j.toString("hex")+l(r-12)}u.create=d;function c(m){let y=m.split("_")[0];if(!y)return 0;let P=m.slice(y.length+1,y.length+13),$=BigInt("0x"+P);return Number($/BigInt(4096))}u.timestamp=c;})(ge||(ge={}));var Ge;(i=>{i.DIR=Q.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",y=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let P=l.length-c,$;u==="head"?$=l.slice(0,c):$=l.slice(-c);let _=n("[save-path]",m,y),j=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:$+j,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",y=d.dir??i.DIR,P=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let $=ge.ascending("context"),_=Q.join(y,$);await J.mkdir(y,{recursive:true}).catch(()=>{}),await J.writeFile(_,l,"utf-8");let j=l.length-c,N;u==="head"?N=l.slice(0,c):N=l.slice(-c);let pe=n(_,m,P),He=u==="head"?`
13
13
 
14
14
  ...${j} characters truncated...
15
15
 
16
- ${ae}`:`
16
+ ${pe}`:`
17
17
 
18
18
  ...${j} 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:N+He,truncated:true,outputPath:_,originalLength:l.length,removedLength:j,label:m}}i.truncateAndSave=s;function a(l){return l.truncated?n(l.outputPath,l.label):""}i.formatHint=a;})(Ge||(Ge={}));k();k();function Bt(e){let t,r=false,n=()=>(r||(t=e(),r=true),t);return n.reset=()=>{r=false,t=void 0;},n}var Me=Bt;function $t(e){let t,r=()=>(t||(t=e()),t);return r.reset=()=>{t=void 0;},r}var Gn=$t,se;(r=>(r.lazy=Bt,r.lazyAsync=$t))(se||(se={}));k();k();k();var G=a.create({service:"server"});function X(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)=>(G.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)=>G.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 G.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?(G.error("Error closing server",{error:d.message}),l(d)):(o=null,G.info(`Server on port ${t} stopped`),i());}),setTimeout(()=>{G.warn(`Server shutdown timeout on port ${t}`),o=null,i();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return G.debug("createServer: calling serve()",{port:t,hostname:r}),o=serve({fetch:n.fetch,port:t,hostname:r}),G.debug("createServer: serve() returned, server created"),G.info(`Server running on http://${r}:${t}`),s}function Ye(e){return X({rpc:e,port:3e3})}function Kn(e,t=3e3,r="0.0.0.0"){return X({fetch:e,port:t,hostname:r})}function Je(e,t={}){return X({...t,routes:e})}function Ze(e,t={}){return X({...t,websockets:e})}function Ke(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 X({...t,routes:r,streaming:true})}k();var te=a.create({service:"build-api"});async function Gt(){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 Gt();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 tr(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function Yt(e){let t=tr(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:nr(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=rr(e.target)),e.minify===true&&(r.minifyWhitespace=true,r.minifyIdentifiers=true,r.minifySyntax=true),or(r)}function nr(e){return !e||e==="none"?false:e}function rr(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function or(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 Ht(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 Qe(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=Yt(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}),Ht(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?Ht(n):{outputs:[],success:false,logs:[{level:"error",message:s}],metafile:void 0}}}var ur={build:Qe},Jt=ur;k();k();function Y(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 Zt(e){return /[|&;<>()$`!#]/.test(e)}function Kt(e){let t=Y(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 et(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 dr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>"]);function Xt(e,t=process.platform==="win32"?"windows":"unix"){return dr.has(e)?e:et(e,t)}function Qt(){return process.platform==="win32"?"windows":"unix"}function ie(e,t,r=process.platform==="win32"?"windows":"unix"){let n=t.map(o=>Xt(o,r));return [e,...n].join(" ")}function en(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>en(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 fr(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 ae(e,t={}){let r=Y(e);if(r.length===0)throw new Error("Empty shell command");let n=async()=>{let s=await O.run(r,{cwd:t.cwd,env:t.env}),a=fr(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 ae(e,{...t,cwd:s})},o.env=function(s){return ae(e,{...t,env:s})},o.quiet=function(){return ae(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 ae(e,{...t,nothrow:true})},o.throws=function(s){return ae(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+=en(r[o]));return ae(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 tn=ne();function nn(e){return e.replace(/\\/g,"/")}function rn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var q=new Map,O;(z=>{a.create({service:"pkg"});async function t(w){let g=w?[w]:["npm","pnpm","bun"];for(let f of g){let p=await z.which(f);if(p)return {name:f,path:p}}}z.packageManager=t;async function r(w,g){if(!w)return process.execPath;let f=g?.PATH||process.env.PATH||process.env.Path||"",p=process.env.EASBOT_BIN_PATH,x=p?f+Q.delimiter+p:f,S=rn(x),b=`${w}:${S}`;if(q.has(b))return q.get(b);let C=process.platform==="win32"?"where":"which";try{let{spawn:R}=await import('child_process');return new Promise(E=>{let I=R(C,[w],{env:{...process.env,PATH:x},stdio:["pipe","pipe","ignore"],windowsHide:!0}),L="",D="";I.stdout?.on("data",W=>{L+=W.toString();}),I.stderr?.on("data",W=>{D+=W.toString();}),I.on("close",W=>{if(W===0&&L.trim()){let F=L.trim().split(`
22
+ `),A=F.length>0?F[0]?.trim():null;if(A){q.set(b,A),E(A);return}}q.set(b,null),E(null);}),setTimeout(()=>{I.kill(),q.set(b,null),E(null);},5e3);})}catch{return q.set(b,null),null}}z.which=r;function n(w,g){if(!w)return process.execPath;let f=g?.PATH||process.env.PATH||process.env.Path||"",p=process.env.EASBOT_BIN_PATH,x=p?f+Q.delimiter+p:f,S=rn(x),b=`${w}:${S}`;if(q.has(b))return q.get(b);let C=process.platform==="win32"?"where":"which";try{let R=execSync(`${C} ${w}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:x},timeout:5e3,windowsHide:!0});if(R.trim()){let E=R.trim().split(`
23
+ `),I=E.length>0?E[0]?.trim():null;if(I)return q.set(b,I),I}}catch{}return q.set(b,null),null}z.whichSync=n;function o(){q.clear();}z.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(w,g){try{return g?s.resolve(w,{paths:[g]}):s.resolve(w)}catch(f){throw new Error(`Cannot resolve module "${w}"${g?` from "${g}"`:""}: ${f instanceof Error?f.message:String(f)}`)}}z.resolve=a$2;function i(w){return {get name(){return Q.basename(w)},async exists(){try{return await J.access(w),!0}catch{return false}},async getSize(){try{return (await J.stat(w)).size}catch{return}},async text(){return await J.readFile(w,"utf-8")},textSync(){return Ce.readFileSync(w,"utf-8")},jsonSync(){let g=Ce.readFileSync(w,"utf-8");return JSON.parse(g)},async bytes(){let g=await J.readFile(w);return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)},async arrayBuffer(){let g=await J.readFile(w);return g.buffer.slice(g.byteOffset,g.byteOffset+g.byteLength)},get type(){let g=Q.extname(w).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 J.writeFile(w,f);},async json(){let g=await J.readFile(w,"utf-8");return JSON.parse(g)},async stat(){return await J.stat(w)}}}z.file=i;async function l(w,g,f){let p;if(g instanceof Response){let x=await g.arrayBuffer();p=new Uint8Array(x);}else p=g;await J.writeFile(w,p,f?{mode:f.mode}:void 0);}z.write=l;function d(w,g,f){Ce.writeFileSync(w,g,f?{mode:f.mode}:void 0);}z.writeSync=d;function c$1(w,g="utf-8"){return Ce.readFileSync(w,g)}z.readSync=c$1;function u(w,g){let f,p;if(typeof w=="object"&&"cmd"in w){let R=w;f=R.cmd,p={cwd:R.cwd,env:R.env,stdout:R.stdout,stderr:R.stderr,stdin:R.stdin,signal:R.signal,windowsHide:R.windowsHide,shell:R.shell};}else f=Array.isArray(w)?w:[w],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"],S={cwd:p.cwd,env:p.env?{...process.env,...p.env}:process.env,stdio:x};if(process.platform==="win32")if(S.windowsHide=p.windowsHide??true,p.shell!==void 0)S.shell=p.shell;else {let R=f[0]||"";/\.(bat|cmd)$/i.test(R)&&(S.shell=true);}let b=spawn(f[0],f.slice(1),S),k;if(p.signal){k=()=>{b.kill();},p.signal.addEventListener("abort",k,{once:true});let R=()=>{k&&(p.signal?.removeEventListener("abort",k),k=void 0);};b.on("close",R),b.on("error",R);}let C=new Promise((R,E)=>{let I=false,L=()=>{I||(I=true,b.removeAllListeners());};if(b.on("close",D=>{L(),R(D??0);}),b.on("error",D=>{L(),E(D);}),p.timeout!==false){let D=p.timeout||3e5;setTimeout(()=>{I||(L(),b.kill("SIGTERM"),E(new Error(`Process timeout after ${D}ms: ${f.join(" ")}`)));},D);}});return {stdout:b.stdout,stderr:b.stderr,stdin:b.stdin,pid:b.pid,exited:C,exitCode:b.exitCode,kill:R=>b.kill(R)}}z.spawn=u;async function m(w,g){let f=u(w,{cwd:g?.cwd,env:g?.env,stdout:"pipe",stderr:"pipe",stdin:"null",windowsHide:g?.windowsHide,shell:g?.shell}),p=[],x=[];f.stdout?.on("data",b=>{p.push(b);}),f.stderr?.on("data",b=>{x.push(b);});let S=g?.timeout&&g.timeout>0?setTimeout(()=>{f.kill("SIGTERM");},g.timeout):void 0;try{let b=await f.exited;return clearTimeout(S),f.stdout?.destroy(),f.stderr?.destroy(),{code:b,stdout:Buffer.concat(p).toString("utf-8"),stderr:Buffer.concat(x).toString("utf-8")}}catch(b){return clearTimeout(S),f.stdout?.destroy(),f.stderr?.destroy(),{code:-1,stdout:Buffer.concat(p).toString("utf-8"),stderr:Buffer.concat(x).toString("utf-8")||(b instanceof Error?b.message:String(b))}}}z.run=m;async function y(w,g={},f={}){let p=u(w,{cwd:g.cwd,env:g.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),x="",S="";p.stdout?.on("data",k=>{let C=k.toString("utf-8");x+=C,f.onStdout?.(C);}),p.stderr?.on("data",k=>{let C=k.toString("utf-8");S+=C,f.onStderr?.(C);});let b=g.timeout&&g.timeout>0?setTimeout(()=>{p.kill("SIGTERM");},g.timeout):void 0;try{let k=await p.exited;return clearTimeout(b),f.onExit?.(k),{code:k,stdout:x,stderr:S}}catch(k){clearTimeout(b);let C=k instanceof Error?k.message:String(k);return {code:-1,stdout:x,stderr:S||C}}}z.runWithStream=y;async function P(w){if(typeof w.pipeThrough=="function")try{let x=new TextDecoderStream("utf-8"),b=w.pipeThrough(x).getReader(),k="";try{for(;;){let{done:C,value:R}=await b.read();if(C)break;k+=R;}return k}finally{b.releaseLock();}}catch{}let g=w.getReader(),f=new TextDecoder("utf-8"),p=[];try{for(;;){let{done:x,value:S}=await g.read();if(x)break;p.push(f.decode(S,{stream:!0}));}return p.push(f.decode()),p.join("")}finally{g.releaseLock();}}z.readableStreamToText=P;async function $(w){let g=[];return new Promise((f,p)=>{w.on("data",x=>{typeof x=="string"?g.push(Buffer.from(x)):g.push(x);}),w.on("end",()=>{try{let S=Buffer.concat(g).toString("utf-8");f(S);}catch(x){p(x);}}),w.on("error",x=>{p(x);});})}z.nodeReadableStreamToText=$;function _(w,g=0){let C=new TextEncoder().encode(w),R=C.length,E,I=0;if(R>=16){let F=R-16,A=g+2654435761+2246822519|0,oe=g+2246822519|0,me=g+0|0,Z=g-2654435761|0;for(;I<=F;)A=L(A,W(C,I)),I+=4,oe=L(oe,W(C,I)),I+=4,me=L(me,W(C,I)),I+=4,Z=L(Z,W(C,I)),I+=4;E=D(A,1)+D(oe,7)+D(me,12)+D(Z,18)|0;}else E=g+374761393|0;for(E=E+R|0;I+4<=R;)E=E+W(C,I)*3266489917|0,E=D(E,17)*668265263|0,I+=4;for(;I<R;)E=E+C[I]*374761393|0,E=D(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 L(F,A){return F=F+A*2246822519|0,F=D(F,13),F=F*2654435761|0,F}function D(F,A){return F<<A|F>>>32-A|0}function W(F,A){return (F[A]|F[A+1]<<8|F[A+2]<<16|F[A+3]<<24)>>>0}}z.xxHash32=_;function j(w){let g=0;for(let f of w){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}z.stringWidth=j;class N{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 nn(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 nn(p);}match(g){return minimatch(g,this.pattern)}}z.Glob=N,z.stdin=process.stdin,z.stdout=process.stdout,z.stderr=process.stderr,z.sleep=w=>new Promise(g=>setTimeout(g,w)),z.color=(w,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"})[w.toLowerCase()]||null,z.hash={xxHash32:z.xxHash32},z.build=Jt.build,z.server=X,z.nodeWebSocket=createNodeWebSocket,z.restServer=Je,z.rpcServer=Ye,z.streamingServer=Ke,z.webSocketServer=Ze;})(O||(O={}));var xr=O.readableStreamToText;O.nodeReadableStreamToText;O.which;var yr=O.whichSync;O.spawn;O.run;var sn=200,an={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}},V;(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(S=>{let b=spawn("taskkill",["/pid",String(x),"/f","/t"],{stdio:"ignore",windowsHide:true});b.once("exit",()=>S()),b.once("error",()=>S());});return}try{process.kill(-x,"SIGTERM"),await setTimeout$1(sn),p?.exited?.()||process.kill(-x,"SIGKILL");}catch{f.kill("SIGTERM"),await setTimeout$1(sn),p?.exited?.()||f.kill("SIGKILL");}}}g.killTree=t;function r(f){if(process.platform!=="win32")return f;let p=b$1.normalize(f);return P(p)==="bash"&&m()||p}function n(f){return an[P(f)]}function o(f){return n(f)?.deny!==true}function s(f){return Q.isAbsolute(b$1.windowsPath(f))}function a$1(f){let p=r(f);if(s(p))return b$1.stat(p)?.isFile()?p:void 0;let x=O.whichSync(p);return x?b$1.normalize(x):void 0}function i(){return Array.from(new Set([O.whichSync("pwsh"),O.whichSync("powershell"),m(),process.env.COMSPEC||"cmd.exe"].filter(f=>!!f).map(r)))}async function l(){let f=await b$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]:y()}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 b$1.normalize(process.env.EASBOT_GIT_BASH_PATH);let f=O.whichSync("git");if(!f)return;let p=b$1.normalize(Q.join(f,"..","..","bin","bash.exe"));if((b$1.stat(p)?.size??0)>0)return p}g.gitbash=m;function y(){if(process.platform==="win32"){let p=m();return p||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let f=O.whichSync("bash");return f?b$1.normalize(f):"/bin/sh"}function P(f){return process.platform==="win32"?Q.win32.parse(b$1.windowsPath(f)).name.toLowerCase():Q.basename(f).toLowerCase()}g.name=P;function $(f){return n(f)?.login===true}g.login=$;function _(f){return n(f)?.posix===true}g.posix=_;function j(f){return n(f)?.ps===true}g.ps=j;function N(f){let p=r(f),x=P(p);return {path:p,name:x,acceptable:o(x)}}function pe(f,p,x){let S=P(f),b=Y(p),k=ie(b[0]??p,b.slice(1));return S==="nu"||S==="fish"?["-c",k]:S==="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
+ ${k}
29
+ `,"easbot",x]:S==="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
+ ${k}
34
+ `,"easbot",x]:/^cmd(\.exe)?$/i.test(S)?["/c",`chcp 65001 >nul 2>&1 && ${k}`]:j(S)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${k}`]:["-c",k]}g.args=pe;function He(f){return f?d(f):(0, g.defaultPreferred)()}g.preferred=He;function In(f){return f?d(f,{acceptable:true}):(0, g.defaultAcceptable)()}g.acceptable=In;function On(){g.defaultPreferred.reset(),g.defaultAcceptable.reset();}g.reset=On;async function Fn(){return (process.platform==="win32"?i():await l()).filter(p=>a$1(p)).map(N)}g.list=Fn;function Bn(f){return an[P(f)]}g.metaInfo=Bn;function $n(f){return /[|&;<>()$`!#]/.test(f)}g.needsShell=$n;function Ln(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}g.platformShells=Ln;function An(f){return f?!!a$1(f):false}g.isValid=An;async function _n(f){let p=a$1(f);if(!p)return;let x=P(p);if(!/^cmd(\.exe)?$/i.test(x))try{let S;j(x)?S=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:S=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${p}`,{shell:p,args:S});let b=await O.run([p,...S]);if(b.code===0){let k=b.stdout.trim().split(`
35
+ `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${k}`),k}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${b.code}`,{stderr:b.stderr});}catch(S){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${S}`);}}g.version=_n;class Pt extends Error{constructor(x,S,b,k){super(x);c(this,"message",x);c(this,"pkg",S);c(this,"version",b);c(this,"originalError",k);this.name="InstallFailedError";}}g.InstallFailedError=Pt;async function jn(f,p="latest",x){let{Lock:S}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:b}=await import('./chunks/filesystem-OR762OFU.mjs'),{PackageRegistry:k}=await import('./chunks/registry-QKUDHNX5.mjs');x=x??process.env.EASBOT_CACHE_PATH??Q.join(".easbot","cache");let C=await S.write("pkg-install");try{let R=Q.join(x,"node_modules",f),E=Q.join(x,"package.json"),L=(await b.readJson(E).catch(async()=>{let U={dependencies:{}};return await b.writeJson(E,U),U})).dependencies??{},D=await b.exists(R),W=L[f],F=!1;if(!D||!W)F=!0;else {if(p!=="latest"&&W===p)return R;if(p==="latest"){if(!await k.isOutdated(f,W,x))return R;e.info("Cached version is outdated, proceeding with install",{pkg:f,cachedVersion:W}),F=!0;}}if(!F)return R;let A=g.acceptable()??y(),oe=`${f}@${p}`;e.info("installing package",{pkg:f,version:p,cache:x,shell:A});let me=[{name:"npm",cmd:`npm install --save-exact ${oe}`},{name:"pnpm",cmd:`pnpm add --save-exact ${oe}`}],Z=null;for(let U of me){let Et=O.whichSync(U.name);if(!Et){e.info(`Package manager ${U.name} not found, skipping`);continue}try{e.info(`Using ${U.name} to install package`,{pkg:f,version:p,shell:A,pmPath:Et});let ee=await g.run(A,U.cmd,{cwd:x,timeout:600*1e3,windowsHide:!0});if(ee.code!==0)throw new Error(`Package manager exited with code ${ee.code}: ${ee.stderr}`);e.info(`Successfully installed ${f}@${p} with ${U.name}`);break}catch(ee){Z=ee instanceof Error?ee:new Error(String(ee)),e.warn(`Failed to install with ${U.name}, trying next package manager`,{error:Z.message});}}if(Z&&!await b.exists(R))throw new Pt(`Failed to install ${f}@${p}`,f,p,Z.message);let Ue=p;p==="latest"&&(Ue=(await b.readJson(Q.join(R,"package.json")).catch(()=>({})))?.version??"unknown");let Te=await b.readJson(E);return Te.dependencies=Te.dependencies??{},Te.dependencies[f]=Ue,await b.writeJson(E,Te),e.info("Package installation completed",{pkg:f,version:Ue,path:R}),R}finally{C[Symbol.dispose]();}}g.install=jn;async function Dn(f,p,x){let S=f?g.acceptable(f)??y():g.acceptable()??y(),b=x?.cwd??process.cwd(),k=g.args(S,p,b);e.debug(`\u6267\u884C shell \u547D\u4EE4: ${S} ${k.join(" ")}`,{command:p,cwd:b});let C={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...x?.env};return process.platform==="win32"&&(C.CHCP="65001"),O.run([S,...k],{...x,env:C})}g.run=Dn;function z(f,p,x){let S=f?g.acceptable(f)??y():g.acceptable()??y(),b=x?.cwd??process.cwd(),k=g.args(S,p,b);e.debug(`Spawn shell \u8FDB\u7A0B: ${S} ${k.join(" ")}`,{command:p,cwd:b});let{windowsHide:C,env:R,...E}=x??{},I={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...R};process.platform==="win32"&&(I.CHCP="65001");let L={...E,cwd:b,env:I,windowsHide:process.platform==="win32"?C??true:void 0};return O.spawn([S,...k],L)}g.spawn=z;function w(f,...p){let x=f.reduce((b,k,C)=>b+k+(p[C]??""),""),S=(b={})=>({quiet:()=>S({...b,quiet:true}),nothrow:()=>S({...b,nothrow:true}),cwd:k=>S({...b,cwd:k}),env:k=>S({...b,env:k}),text:async()=>{let k=Y(x.trim());if(k.length===0)throw new Error("Empty command");let C=ie(k[0]??x,k.slice(1)),R=await g.run(void 0,C,{cwd:b.cwd,env:b.env});if(R.code!==0&&!b.nothrow)throw new Error(`Command failed with exit code ${R.code}: ${x}
36
+ ${R.stderr}`);return R.stdout},lines:async()=>(await S(b).text()).split(`
37
+ `).filter(C=>C.trim()),then:(k,C)=>{let R=Y(x.trim()),E=ie(R[0]??x,R.slice(1));return g.run(void 0,E,{cwd:b.cwd,env:b.env}).then(I=>{if(I.code!==0&&!b.nothrow){let L=new Error(`Command failed with exit code ${I.code}: ${x}
38
+ ${I.stderr}`);if(C){C(L);return}throw L}return k({exitCode:I.code,stdout:new TextEncoder().encode(I.stdout),stderr:new TextEncoder().encode(I.stderr),text:()=>I.stdout,lines:()=>I.stdout.split(`
39
+ `).filter(L=>L.trim())})},C)}});return S()}g.$=w;})(V||(V={}));var Sr=V.$;k();function tt(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"),y=String(r.getSeconds()).padStart(2,"0"),P=`${l}-${d}-${c}T${u}:${m}:${y}`;if(t){let $=String(r.getMilliseconds()).padStart(3,"0");P+=`.${$}`;}return P+=i,P}function kr(e){return tt(e,false)}function ln(){return Date.now()}function vr(e=true){return tt(ln(),e)}function Tr(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function Mr(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 Rr(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 nt=be;k();var rt;(t=>{function e(r){return new ot(r)}t.create=e;})(rt||(rt={}));var ot=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 cn(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 Er=cn,st;(t=>t.fn=cn)(st||(st={}));k();function Fr(){let r=Q.join(process.cwd(),".env");existsSync(r)&&config({path:r,override:true,debug:false,encoding:"utf-8",quiet:true});}k();async function Br(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let s=V.spawn(void 0,`git ${e.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[a,i,l]=await Promise.all([s.exited,new Response(s.stdout).arrayBuffer(),new Response(s.stderr).arrayBuffer()]),d=Buffer.from(i),c=Buffer.from(l);return {exitCode:a,text:()=>d.toString(),stdout:d,stderr:c}}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=V.$`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 dn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function un(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 fn(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=un(a,n,5);if(d)return d}let i=join(o,"dist","assets","txt");if(existsSync(i)){let d=un(i,n,5);if(d)return d}let l=join(o,"..");if(l===o)break;o=l;}return r}function jr(e,t){return se.lazy(()=>{try{let r=dn(t),n=fn(r,e);return O.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}function Dr(e,t){return se.lazy(async()=>{try{let r=dn(t),n=fn(r,e);return await O.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}k();function Nr(e){return e()}k();function zr(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 it(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 Wr(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=Wr(n,o);if(s)return s;let a=at(n,o,i=>{let{lastNewline:l,lastWhitespace:d}=it(i,0,i.length);return l>0?l:d});return r?.minLength&&r.minLength>0&&(a=mn(a,r.minLength)),a}catch(n){return console.warn("Invalid input for chunkText:",n),typeof e=="string"&&e.length>0?[e]:[]}}function mn(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 at(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 lt=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),gn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:lt}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),hn=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"}),ye=z.object({text:z.string(),styles:z.array(gn),links:z.array(hn)}).strict(),we=z.enum(["off","bullets","code"]),Fe=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:we.default("off")}).partial().default({}),bn=z.object({open:z.string(),close:z.string()}).strict(),ct=z.object({styleMarkers:z.record(lt,bn).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 ut=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(),dt=z.record(z.string(),z.string()),Be=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:Be,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:we.optional()}).strict();function Yr(e){let t=new Gr({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 xn(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 ft(e,t){return {...e,type:"text",content:t,children:void 0}}function Jr(e){for(let t of e)t.children&&t.children.length>0&&(t.children=Zr(t.children));}function Zr(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(ft(a,i.slice(l)));break}if(s>=r){n.push(ft(a,i.slice(l)));break}d>l&&n.push(ft(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 Kr(){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 yn(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 Xr(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 Qr(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 eo(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 to(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 no(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function ro(e){return Sn(e),{text:e.text,styles:e.styles,links:e.links}}function Le(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 pt(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 oo(e,t){t.text&&(e.text+=t.text);}function wn(e,t){let{header:r,value:n,columnIndex:o,includeColumnFallback:s}=t;n?.text&&(e.text+="\u2022 ",r?.text?(pt(e,r),e.text+=": "):s&&(e.text+=`Column ${o}: `),pt(e,n),e.text+=`
48
+ `);}function so(e){if(!e.table)return;let t=e.table.headers.map(Le),r=e.table.rows.map(o=>o.map(Le));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;pt(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++)wn(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++)wn(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
51
+ `;}}function io(e){if(!e.table)return;let t=e.table.headers.map(Le),r=e.table.rows.map(c=>c.map(Le)),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 y=c[u]?.text.length??0;(o[u]??0)<y&&(o[u]=y);}};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&&oo(e,m);let y=m?.text.length??0,$=(o[u]??0)-y;$>0&&(e.text+=" ".repeat($)),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 mt(e,t){for(let r of e)switch(r.type){case "inline":r.children&&mt(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":Qr(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=xn(r,"href")??"",o=re(t);o.linkStack.push({href:n,labelStart:o.text.length});break}case "link_close":to(t);break;case "image":$e(t,r.content??"");break;case "softbreak":case "hardbreak":$e(t,`
54
+ `);break;case "paragraph_close":yn(t);break;case "heading_open":t.headingStyle==="bold"&&ce(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&ue(t,"bold"),yn(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(xn(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":Xr(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":eo(t,r.content??"");break;case "html_block":case "html_inline":$e(t,r.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=no(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?so(t):t.tableMode==="code"&&io(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=Kr());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(ro(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
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&&mt(r.children,t);break}}function Sn(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 ao(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 lo(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 kn(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 vn(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 co(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=vn(o,t,r);s&&n.push({start:s.start-t,end:s.end-t,style:o.style});}return kn(n)}function uo(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=vn(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=Fe.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=Fe.parse(t),o={listStack:[]},a=Yr(n).parse(r||"",o);n.enableSpoilers&&Jr(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};mt(a,l),Sn(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:kn(ao(l.styles,m)),links:lo(l.links,m)},hasTables:l.hasTables}}catch(r){return console.error("Markdown parse error:",r),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function Tn(e,t){try{let r=ye.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:co(r.styles,d,c),links:uo(r.links,d,c)}),a=c;}),s}catch(r){return console.error("Chunk IR error:",r),[]}}k();var fo={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=ye.parse(e),n=ct.parse(t??{});if(!r.text)return "";let o=n.styleMarkers??fo,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 y=(N,pe)=>N==="link_open"?0:N==="open"?1:N==="close"?2:N==="link_close"?3:4,P=u.type==="close"||u.type==="link_close",$=m.type==="close"||m.type==="link_close",_=y(u.type,P),j=y(m.type,$);return _!==j?_-j: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 y=c.findIndex(P=>P.spanIndex===u.spanIndex&&P.type==="open");y!==-1&&c.splice(y,1);}}else if(u.type==="link_open")l+="[",c.push(u);else if(u.type==="link_close"){l+="]("+u.href+")";let m=c.findIndex(y=>y.spanIndex===u.spanIndex&&y.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 po(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 Ae(e,t){try{let r=typeof e=="string"?e:"",n=ut.parse(t??{});if(!r)return "";let{frontmatter:o,content:s}=po(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 mo(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 ho(e){try{let t=Mn.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=go(o);a&&(r[s]=a);}return r}catch{return null}}function bo(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 xo(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}=bo(r,n);c&&(t[a]={value:c,kind:"multiline",rawInline:i}),n+=u;continue}}let l=mo(i);l&&(t[a]={value:l,kind:"inline",rawInline:i}),n+=1;}return t}function yo(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.value;return t}function wo(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function So(e){let{lineEntry:t,yamlValue:r}=e;return r.kind!=="structured"||t.kind!=="inline"||wo(t.rawInline)?false:t.value.includes(":")}function ko(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=ko(e);if(!t)return {};let r=xo(t),n=ho(t);if(n===null)return yo(r);let o={};for(let[s,a]of Object.entries(n)){o[s]=a.value;let i=r[s];i&&So({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=dt.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
+ ${Mn.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 De(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 y=a;r.push({start:n.start,end:y,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 gt(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 Rn(e,t){return !gt(e,t)}function Ne(){return {open:false,ticks:0}}function ze(e,t){try{let r=z.string().parse(e),n=t?Be.parse(t):Ne(),o=De(r),s={open:n.open,ticks:n.ticks},{spans:a,state:i}=Mo(r,o,s);return {inlineState:i,isInside:l=>Po(l,o)||Eo(l,a)}}catch(r){return console.warn("Invalid input for buildCodeSpanIndex:",r),{inlineState:Ne(),isInside:()=>false}}}function Mo(e,t,r){let n=[],o=r.open,s=r.ticks,a=o?0:-1,i=0;for(;i<e.length;){let l=Ro(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 Ro(e,t){return e.find(r=>t>=r.start&&t<r.end)}function Po(e,t){return t.some(r=>e>=r.start&&e<r.end)}function Eo(e,t){return t.some(([r,n])=>e>=r&&e<n)}k();var Io={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function We(e,t){try{let r=z.string().parse(e),n=we.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:Io,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 ht;(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 Ae(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(y){return console.warn("Markdown.chunk error:",y),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 We(c,u)}catch(m){return console.warn("Markdown.convertTables error:",m),typeof c=="string"?c:""}}d.convertTables=l;})(ht||(ht={}));k();function Pn(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function Oo(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function Fo(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function Bo(e,t=20){let r=Pn(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 $o(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 Lo=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Ao(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return Lo.some(r=>t.includes(r))}async function _o(e,t={}){let{attempts:r=3,delay:n=500,factor:o=2,maxDelay:s=1e4,retryIf:a=Ao}=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 bt;(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;})(bt||(bt={}));k();function En(e){let t=new AbortController,r=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function jo(e,...t){let r=En(e);return {signal:AbortSignal.any([r.signal,...t]),clearTimeout:r.clearTimeout}}k();var xt;(t=>{async function e(r,n){if(process.platform==="win32"){let o=Q.resolve(r),s=Q.resolve(n),a=`Expand-Archive -Path '${o}' -DestinationPath '${s}' -Force`,i=await V.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 V.run(void 0,o);if(s.code!==0)throw new Error(`unzip exited with code ${s.code}: ${s.stderr}`)}}t.extractZip=e;})(xt||(xt={}));k();var yt;(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;})(yt||(yt={}));k();var wt;(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;})(wt||(wt={}));k();function No(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var St;(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;})(St||(St={}));k();function zo(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 kt;(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;})(kt||(kt={}));k();var vt;(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),y=u.toLocaleDateString();return `${m} \xB7 ${y}`}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 y=Math.floor(c/6e4),P=Math.floor(c%6e4/1e3);return `${y}m ${P}s`}if(c<864e5){let y=Math.floor(c/36e5),P=Math.floor(c%36e5/6e4);return `${y}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",y=Math.ceil((u-m.length)/2),P=Math.floor((u-m.length)/2);return c.slice(0,y)+m+c.slice(-P)}d.truncateMiddle=i;function l(c,u,m){return (c===1?u:m).replace("{}",c.toString())}d.pluralize=l;})(vt||(vt={}));k();function Wo(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var Tt=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 Ho(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 Uo(){let e,t=new Promise(r=>e=r);return {trigger(){return e()},wait(){return t}}}k();function qo(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 Mt;(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;})(Mt||(Mt={}));k();function Go(e){let t={};for(let[r,n]of Object.entries(e.required().shape))t[r]=n.nullable();return Ie.object(t)}k();var Rt;(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 y=u.split(/\s+/);e(a.head,y[0])&&(y.length===1||o(a.tail,y.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}})(Rt||(Rt={}));async function Zl(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{Sr as $,xt as Archive,Tt as AsyncQueue,qe as Binary,yt as Color,wt as Context,Ve as Encode,St as EventLoop,st as Fn,ge as Identifier,rt as Ignore,kt as Keybind,se as Lazy,vt as Locale,ht as Markdown,nt as NamedError,O as PKG,he as PkgShell,V as Shell,bt as Slug,Mt as Token,Ge as TruncateContent,Rt as Wildcard,En as abortAfter,jo as abortAfterAny,ze as buildCodeSpanIndex,Tn as chunkMarkdownIR,le as chunkText,at as chunkTextByBreakResolver,We as convertMarkdownTables,Ne as createInlineCodeState,ne as createPkgShell,Je as createRESTServer,Ye as createRPCServer,X as createServer,Ke as createStreamingServer,Ze as createWebSocketServer,No as defer,Qt as detectPlatform,et as escapeCommandArg,Xt as escapeCommandArgSafe,je as extractFrontmatter,gt as findFenceSpanAt,Un as findLast,Er as fn,zo as formatDuration,tt as formatLocalISO,kr as formatLocalISOCompact,Mr as formatLogTime,Ae as formatMarkdown,Oo as getDirectory,Fo as getFileExtension,Pn as getFilename,Bo as getFilenameTruncated,Rr as getTimezoneOffset,Br as git,Nr as iife,Zl as initLog,Rn as isSafeFenceBreak,ie as joinCommandArgs,Me as lazy,Gn as lazyAsync,Fr as loadEnv,jr as loadTextFile,Dr as loadTextFileAsync,de as markdownToIR,Se as markdownToIRWithMeta,Zt as needsShellExecution,ln as now,vr as nowLocalISO,Y as parseCommand,Kt as parseCommandWithOptions,De as parseFenceSpans,ve as parseFrontmatterBlock,Tr as parseLocalISO,zr as parseModelId,Wo as proxied,xr as readableStreamToText,fe as renderMarkdown,ke as renderMarkdownWithMarkers,_o as retry,it as scanParenAwareBreakpoints,_e as serializeFrontmatter,tn as shell,Uo as signal,Kn as startServer,$o as truncateMiddle,Go as updateSchema,yr as whichSync,qo as withTimeout,Ho as work};