@easbot/utils 0.2.6 → 0.2.9

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,4 +1,4 @@
1
- import {c as c$1,b,a}from'./chunks/chunk-5WE7YHVK.mjs';import {k,c,i}from'./chunks/chunk-SOVDCHON.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}
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
2
  Full ${u} saved to: ${l}
3
3
  Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${u} saved to: ${l}
4
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"?`
@@ -17,7 +17,7 @@ ${ae}`:`
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-NR2RC5BC.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-NR2RC5BC.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}
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
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
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
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}
@@ -78,4 +78,4 @@ ${tr.stringify(r,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
78
78
  `).replace(/\r/g,`
79
79
  `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let r=t.indexOf(`
80
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-XZMXOVEC.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};
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easbot/utils",
3
- "version": "0.2.6",
3
+ "version": "0.2.9",
4
4
  "description": "Shared utilities library for EASBOT ecosystem",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -55,21 +55,21 @@
55
55
  "zod": "^4.4.3",
56
56
  "hono": "^4.12.18",
57
57
  "hono-openapi": "^1.3.0",
58
+ "@hono/node-server": "^2.0.2",
59
+ "@hono/node-ws": "^1.3.0",
60
+ "@hono/standard-validator": "^0.2.2",
61
+ "@hono/zod-validator": "^0.7.6",
58
62
  "ws": "^8.20.0",
59
63
  "markdown-it": "^14.1.1",
60
64
  "minimatch": "^10.2.5",
61
65
  "yaml": "^2.8.4",
62
- "@easbot/types": "0.2.6"
66
+ "@easbot/types": "0.2.9"
63
67
  },
64
68
  "devDependencies": {
65
69
  "@biomejs/biome": "^2.4.14",
66
70
  "@types/node": "^25.6.2",
67
71
  "@types/ws": "^8.18.1",
68
72
  "@types/markdown-it": "^14.1.2",
69
- "@hono/node-server": "^2.0.2",
70
- "@hono/node-ws": "^1.3.0",
71
- "@hono/standard-validator": "^0.2.2",
72
- "@hono/zod-validator": "^0.7.6",
73
73
  "tsup": "^8.5.1",
74
74
  "typescript": "^6.0.3",
75
75
  "vitest": "^4.1.5"
@@ -1 +0,0 @@
1
- 'use strict';var chunkZOB2VAGM_cjs=require('./chunk-ZOB2VAGM.cjs');require('./chunk-JFAKFWSO.cjs');Object.defineProperty(exports,"Log",{enumerable:true,get:function(){return chunkZOB2VAGM_cjs.c}});
@@ -1 +0,0 @@
1
- export{c as Log}from'./chunk-5WE7YHVK.mjs';import'./chunk-SOVDCHON.mjs';