@easbot/utils 0.3.13 → 0.3.16

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.
Files changed (35) hide show
  1. package/dist/chunks/chunk-6GV3NECV.mjs +1 -0
  2. package/dist/chunks/{chunk-HJFBORDG.cjs → chunk-AJU5GBQB.cjs} +1 -1
  3. package/dist/chunks/{chunk-EWRFKUXM.mjs → chunk-GOEMY5AZ.mjs} +1 -1
  4. package/dist/chunks/{chunk-PJIZPZPO.cjs → chunk-IVVWAT7R.cjs} +1 -1
  5. package/dist/chunks/{chunk-YP6ECIPQ.mjs → chunk-JI7GHGIF.mjs} +2 -2
  6. package/dist/chunks/chunk-K7PV4FXJ.cjs +1 -0
  7. package/dist/chunks/{chunk-PGUMSM7F.cjs → chunk-PVTJQVMO.cjs} +2 -2
  8. package/dist/chunks/{chunk-GJWUV3QH.cjs → chunk-QBLZGSTI.cjs} +5 -5
  9. package/dist/chunks/{chunk-6GZFOJRQ.mjs → chunk-QNKOAEBG.mjs} +1 -1
  10. package/dist/chunks/{chunk-QCS3QD2D.mjs → chunk-ZA3GGWB3.mjs} +2 -2
  11. package/dist/chunks/filesystem-TBYCQ7D2.cjs +1 -0
  12. package/dist/chunks/filesystem-WCPIBXDN.mjs +1 -0
  13. package/dist/chunks/lock-FS4EHXSK.cjs +1 -0
  14. package/dist/chunks/lock-GNVDLOKR.mjs +1 -0
  15. package/dist/chunks/{main-GVYBF75T.mjs → main-3SAATRGB.mjs} +5 -5
  16. package/dist/chunks/{main-K27GCHMT.cjs → main-AFZUDH75.cjs} +6 -6
  17. package/dist/chunks/registry-7SGIVICB.cjs +1 -0
  18. package/dist/chunks/registry-ZZW4VHED.mjs +1 -0
  19. package/dist/chunks/shell-NYVVJ4D5.mjs +1 -0
  20. package/dist/chunks/shell-XYMW3MHM.cjs +1 -0
  21. package/dist/index.cjs +23 -23
  22. package/dist/index.d.cts +8 -1
  23. package/dist/index.d.ts +8 -1
  24. package/dist/index.mjs +23 -23
  25. package/package.json +12 -13
  26. package/dist/chunks/chunk-MHARKEDN.mjs +0 -1
  27. package/dist/chunks/chunk-XBAP2B6J.cjs +0 -1
  28. package/dist/chunks/filesystem-CGAFQWRQ.cjs +0 -1
  29. package/dist/chunks/filesystem-O6RBT4K4.mjs +0 -1
  30. package/dist/chunks/lock-BQX6RGCF.mjs +0 -1
  31. package/dist/chunks/lock-RMTHF4F6.cjs +0 -1
  32. package/dist/chunks/registry-GBOWZBTS.mjs +0 -1
  33. package/dist/chunks/registry-GFAO7SFK.cjs +0 -1
  34. package/dist/chunks/shell-4YPSYLVZ.cjs +0 -1
  35. package/dist/chunks/shell-V3XGWWGO.mjs +0 -1
package/dist/index.cjs CHANGED
@@ -1,29 +1,29 @@
1
- 'use strict';var chunkPJIZPZPO_cjs=require('./chunks/chunk-PJIZPZPO.cjs'),chunkGJWUV3QH_cjs=require('./chunks/chunk-GJWUV3QH.cjs'),chunkHJFBORDG_cjs=require('./chunks/chunk-HJFBORDG.cjs'),chunkPGUMSM7F_cjs=require('./chunks/chunk-PGUMSM7F.cjs'),chunkXBAP2B6J_cjs=require('./chunks/chunk-XBAP2B6J.cjs'),se=require('fs/promises'),le=require('zod'),crypto$1=require('crypto'),dotenv=require('dotenv'),Ee=require('path'),fs=require('fs'),xdgBasedir=require('xdg-basedir'),url=require('url'),fe=require('gray-matter'),undici=require('undici'),async_hooks=require('async_hooks');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var se__default=/*#__PURE__*/_interopDefault(se);var le__default=/*#__PURE__*/_interopDefault(le);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var fe__default=/*#__PURE__*/_interopDefault(fe);chunkXBAP2B6J_cjs.e();chunkXBAP2B6J_cjs.e();function pt(t,e){for(let r=t.length-1;r>=0;r-=1){let n=t[r];if(n!==void 0&&e(n,r,t))return n}}chunkXBAP2B6J_cjs.e();exports.Binary=void 0;(r=>{function t(n,s,l){let y=0,o=n.length-1;for(;y<=o;){let u=Math.floor((y+o)/2),b=n[u];if(b===void 0)break;let w=l(b);if(w===s)return {found:true,index:u};w<s?y=u+1:o=u-1;}return {found:false,index:y}}r.search=t;function e(n,s,l){let y=l(s),o=0,u=n.length;for(;o<u;){let b=Math.floor((o+u)/2),w=n[b];if(w===void 0)break;l(w)<y?o=b+1:u=b;}return n.splice(o,0,s),n}r.insert=e;})(exports.Binary||(exports.Binary={}));chunkXBAP2B6J_cjs.e();exports.Encode=void 0;(l=>{function t(y){let o=new TextEncoder().encode(y),u=Array.from(o,b=>String.fromCharCode(b)).join("");return btoa(u).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}l.base64Encode=t;function e(y){let o=atob(y.replace(/-/g,"+").replace(/_/g,"/")),u=Uint8Array.from(o,b=>b.charCodeAt(0));return new TextDecoder().decode(u)}l.base64Decode=e;async function r(y,o="SHA-256"){let b=new TextEncoder().encode(y),w=await crypto.subtle.digest(o,b);return Array.from(new Uint8Array(w)).map(g=>g.toString(16).padStart(2,"0")).join("")}l.hash=r;function n(y){if(!y)return;let o=2166136261;for(let u=0;u<y.length;u++)o^=y.charCodeAt(u),o=Math.imul(o,16777619);return (o>>>0).toString(36)}l.checksum=n;function s(y,o=5e5){if(!y)return;if(y.length<=o)return n(y);let u=4096,w=[0,Math.floor(y.length*.25),Math.floor(y.length*.5),Math.floor(y.length*.75),y.length-u].map(S=>{let R=Math.max(0,Math.min(y.length-u,S-Math.floor(u/2)));return n(y.slice(R,R+u))??""}).join(":");return `${y.length}:${w}`}l.sampledChecksum=s;})(exports.Encode||(exports.Encode={}));chunkXBAP2B6J_cjs.e();chunkXBAP2B6J_cjs.e();exports.Identifier=void 0;(S=>{let t={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",agent:"ag",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx",experience:"exp",pattern:"pat",knowledge:"knw",evolution:"evo",result:"res"};function e(R){return le__default.default.string().startsWith(t[R])}S.schema=e;let r=26,n=0,s=0;function l(R,g){return o(R,false,g)}S.ascending=l;function y(R,g){return o(R,true,g)}S.descending=y;function o(R,g,A){if(!A)return b(R,g);if(!A.startsWith(t[R]))throw new Error(`ID ${A} does not start with ${t[R]}`);return A}function u(R){let g="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",A="",D=crypto$1.randomBytes(R);for(let i=0;i<R;i++){let h=D[i];h!==void 0&&(A+=g[h%62]);}return A}function b(R,g,A){let D=A??Date.now();D!==n&&(n=D,s=0),s++;let i=BigInt(D)*BigInt(4096)+BigInt(s);i=g?~i:i;let h=Buffer.alloc(6);for(let v=0;v<6;v++)h[v]=Number(i>>BigInt(40-8*v)&BigInt(255));return t[R]+"_"+h.toString("hex")+u(r-12)}S.create=b;function w(R){let g=R.split("_")[0];if(!g)return 0;let A=R.slice(g.length+1,g.length+13),D=BigInt("0x"+A);return Number(D/BigInt(4096))}S.timestamp=w;})(exports.Identifier||(exports.Identifier={}));exports.TruncateContent=void 0;(b=>{b.DEFAULT_MAX_CHARS=4e3,b.DIRECTION="head",b.DIR=chunkHJFBORDG_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),b.GLOB=chunkHJFBORDG_cjs.d.join(b.DIR,"*");let s=10080*60*1e3;function l(w,S,R){return R?`[Content truncated. Source: ${R}
2
- Full ${S} saved to: ${w}
3
- Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${S} saved to: ${w}
4
- Use Read tool with offset/limit parameters to view specific sections.]`}async function y(w,S={}){let R=S.maxChars??4e3,g=S.direction??b.DIRECTION,A=S.label??"content",D=S.sourcePath,i=chunkHJFBORDG_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),h=S.dir??i;if(w.length<=R)return {content:w,truncated:false};let v=exports.Identifier.ascending("context"),L=chunkHJFBORDG_cjs.d.join(h,v);await se__default.default.mkdir(h,{recursive:true}).catch(()=>{}),await se__default.default.writeFile(L,w,"utf-8");let z=w.length-R,M;g==="head"?M=w.slice(0,R):M=w.slice(-R);let _=l(L,A,D),a=`${z} characters truncated`;return {content:g==="head"?`${M}
1
+ 'use strict';var chunkIVVWAT7R_cjs=require('./chunks/chunk-IVVWAT7R.cjs'),chunkQBLZGSTI_cjs=require('./chunks/chunk-QBLZGSTI.cjs'),chunkAJU5GBQB_cjs=require('./chunks/chunk-AJU5GBQB.cjs'),chunkPVTJQVMO_cjs=require('./chunks/chunk-PVTJQVMO.cjs'),chunkK7PV4FXJ_cjs=require('./chunks/chunk-K7PV4FXJ.cjs'),ie=require('fs/promises'),z=require('zod'),crypto$1=require('crypto'),dotenv=require('dotenv'),Pe=require('path'),fs=require('fs'),xdgBasedir=require('xdg-basedir'),url=require('url'),de=require('gray-matter'),undici=require('undici'),async_hooks=require('async_hooks');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ie__default=/*#__PURE__*/_interopDefault(ie);var z__default=/*#__PURE__*/_interopDefault(z);var Pe__default=/*#__PURE__*/_interopDefault(Pe);var de__default=/*#__PURE__*/_interopDefault(de);chunkK7PV4FXJ_cjs.e();chunkK7PV4FXJ_cjs.e();function mt(r,t){for(let n=r.length-1;n>=0;n-=1){let o=r[n];if(o!==void 0&&t(o,n,r))return o}}chunkK7PV4FXJ_cjs.e();exports.Binary=void 0;(n=>{function r(o,a,c){let g=0,i=o.length-1;for(;g<=i;){let d=Math.floor((g+i)/2),x=o[d];if(x===void 0)break;let w=c(x);if(w===a)return {found:true,index:d};w<a?g=d+1:i=d-1;}return {found:false,index:g}}n.search=r;function t(o,a,c){let g=c(a),i=0,d=o.length;for(;i<d;){let x=Math.floor((i+d)/2),w=o[x];if(w===void 0)break;c(w)<g?i=x+1:d=x;}return o.splice(i,0,a),o}n.insert=t;})(exports.Binary||(exports.Binary={}));chunkK7PV4FXJ_cjs.e();exports.Encode=void 0;(c=>{function r(g){let i=new TextEncoder().encode(g),d=Array.from(i,x=>String.fromCharCode(x)).join("");return btoa(d).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}c.base64Encode=r;function t(g){let i=atob(g.replace(/-/g,"+").replace(/_/g,"/")),d=Uint8Array.from(i,x=>x.charCodeAt(0));return new TextDecoder().decode(d)}c.base64Decode=t;async function n(g,i="SHA-256"){let x=new TextEncoder().encode(g),w=await crypto.subtle.digest(i,x);return Array.from(new Uint8Array(w)).map(h=>h.toString(16).padStart(2,"0")).join("")}c.hash=n;function o(g){if(!g)return;let i=2166136261;for(let d=0;d<g.length;d++)i^=g.charCodeAt(d),i=Math.imul(i,16777619);return (i>>>0).toString(36)}c.checksum=o;function a(g,i=5e5){if(!g)return;if(g.length<=i)return o(g);let d=4096,w=[0,Math.floor(g.length*.25),Math.floor(g.length*.5),Math.floor(g.length*.75),g.length-d].map(A=>{let T=Math.max(0,Math.min(g.length-d,A-Math.floor(d/2)));return o(g.slice(T,T+d))??""}).join(":");return `${g.length}:${w}`}c.sampledChecksum=a;})(exports.Encode||(exports.Encode={}));chunkK7PV4FXJ_cjs.e();chunkK7PV4FXJ_cjs.e();exports.Identifier=void 0;(A=>{let r={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",agent:"ag",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx",experience:"exp",pattern:"pat",knowledge:"knw",evolution:"evo",result:"res"};function t(T){return z__default.default.string().startsWith(r[T])}A.schema=t;let n=26,o=0,a=0;function c(T,h){return i(T,false,h)}A.ascending=c;function g(T,h){return i(T,true,h)}A.descending=g;function i(T,h,R){if(!R)return x(T,h);if(!R.startsWith(r[T]))throw new Error(`ID ${R} does not start with ${r[T]}`);return R}function d(T){let h="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",R="",N=crypto$1.randomBytes(T);for(let F=0;F<T;F++){let C=N[F];C!==void 0&&(R+=h[C%62]);}return R}function x(T,h,R){let N=R??Date.now();N!==o&&(o=N,a=0),a++;let F=BigInt(N)*BigInt(4096)+BigInt(a);F=h?~F:F;let C=Buffer.alloc(6);for(let q=0;q<6;q++)C[q]=Number(F>>BigInt(40-8*q)&BigInt(255));return r[T]+"_"+C.toString("hex")+d(n-12)}A.create=x;function w(T){let h=T.split("_")[0];if(!h)return 0;let R=T.slice(h.length+1,h.length+13),N=BigInt("0x"+R);return Number(N/BigInt(4096))}A.timestamp=w;})(exports.Identifier||(exports.Identifier={}));exports.TruncateContent=void 0;(x=>{x.DEFAULT_MAX_CHARS=4e3,x.DIRECTION="head",x.DIR=chunkAJU5GBQB_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),x.GLOB=chunkAJU5GBQB_cjs.d.join(x.DIR,"*");let a=10080*60*1e3;function c(w,A,T){return T?`[Content truncated. Source: ${T}
2
+ Full ${A} saved to: ${w}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${A} saved to: ${w}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}async function g(w,A={}){let T=A.maxChars??4e3,h=A.direction??x.DIRECTION,R=A.label??"content",N=A.sourcePath,F=chunkAJU5GBQB_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),C=A.dir??F;if(w.length<=T)return {content:w,truncated:false};let q=exports.Identifier.ascending("context"),H=chunkAJU5GBQB_cjs.d.join(C,q);await ie__default.default.mkdir(C,{recursive:true}).catch(()=>{}),await ie__default.default.writeFile(H,w,"utf-8");let Y=w.length-T,X;h==="head"?X=w.slice(0,T):X=w.slice(-T);let G=c(H,R,N),e=`${Y} characters truncated`;return {content:h==="head"?`${X}
5
5
 
6
- ...${a}...
6
+ ...${e}...
7
7
 
8
- ${_}`:`...${a}...
8
+ ${G}`:`...${e}...
9
9
 
10
- ${_}
10
+ ${G}
11
11
 
12
- ${M}`,truncated:true,outputPath:L,originalLength:w.length,removedLength:z,label:A}}b.truncate=y;function o(w){return w.truncated?l(w.outputPath,w.label):""}b.formatHint=o;async function u(){let w=exports.Identifier.timestamp(exports.Identifier.create("context",false,Date.now()-s)),R=(await se__default.default.readdir(b.DIR).catch(()=>[])).filter(g=>g.startsWith("context_"));for(let g of R)exports.Identifier.timestamp(g)>=w||await se__default.default.unlink(chunkHJFBORDG_cjs.d.join(b.DIR,g)).catch(()=>{});}b.cleanup=u;})(exports.TruncateContent||(exports.TruncateContent={}));chunkXBAP2B6J_cjs.e();exports.SessionTitle=void 0;(o=>{let t="New session - ",e="Child session - ";o.parentTitlePrefix=t,o.childTitlePrefix=e;function s(u=false){return (u?e:t)+chunkPGUMSM7F_cjs.b(new Date)}o.createDefault=s;function l(u){return new RegExp(`^(${t}|${e})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(u)}o.isDefault=l;function y(u){let b=u.match(/^(.+) \(fork #(\d+)\)$/);if(b){let w=b[1]??"",S=parseInt(b[2]??"0",10);return `${w} (fork #${S+1})`}return `${u} (fork #1)`}o.getForked=y;})(exports.SessionTitle||(exports.SessionTitle={}));chunkXBAP2B6J_cjs.e();var re=class re extends Error{static create(e,r){var l;let n=le__default.default.object({name:le__default.default.literal(e),data:r}).meta({ref:e}),s=(l=class extends re{constructor(o,u){super(e,u);chunkXBAP2B6J_cjs.c(this,"data",o);chunkXBAP2B6J_cjs.c(this,"name",e);this.name=e;}static isInstance(o){return o!==null&&typeof o=="object"&&"name"in o&&o.name===e}schema(){return n}toObject(){return {name:e,data:this.data}}},chunkXBAP2B6J_cjs.c(l,"Schema",n),l);return Object.defineProperty(s,"name",{value:e}),s}};chunkXBAP2B6J_cjs.c(re,"Unknown",re.create("UnknownError",le__default.default.object({message:le__default.default.string()})));var ne=re;chunkXBAP2B6J_cjs.e();exports.Ignore=void 0;(e=>{function t(r){return new we(r)}e.create=t;})(exports.Ignore||(exports.Ignore={}));var we=class{constructor(e){chunkXBAP2B6J_cjs.c(this,"rules",[]);chunkXBAP2B6J_cjs.c(this,"ignorecase");chunkXBAP2B6J_cjs.c(this,"debug");this.ignorecase=e?.ignorecase??false,this.debug=e?.debug??false;}add(e){let r=typeof e=="string"?e.split(`
13
- `):e;for(let n=0;n<r.length;n++){let s=r[n];this.parseRule(s,n+1);}return this}parseRule(e,r){let n=e,s=e;if(n.length===0||n.startsWith("#"))return;let l=n.startsWith("!");if(l&&(n=n.slice(1)),n=n.trim(),n.length===0||(n.startsWith("\\#")&&(n=n.slice(1)),n.startsWith("#")))return;let y=n.startsWith("/");y&&(n=n.slice(1));let o=n.endsWith("/");o&&(n=n.slice(0,-1)),n.length!==0&&this.rules.push({pattern:n,negative:l,isDirectory:o,anchored:y,original:s,lineNumber:r});}ignores(e,r){let n=this.normalizePath(e),s=r??e.endsWith("/"),l=this.checkIgnore(n,s);return this.debug&&console.log(`Ignore.ignores("${e}", isDirectory=${s}) => ${l}`),l}checkIgnore(e,r){let n=false;for(let s of this.rules)s.isDirectory&&!r||this.matchPath(s,e)&&(s.negative?n=false:n=true);return n}matchPath(e,r){let n=this.ignorecase?r.toLowerCase():r,l=this.ignorecase?e.pattern.toLowerCase():e.pattern;if(e.anchored)return chunkHJFBORDG_cjs.a.match(n,l);if(l.includes("/"))return chunkHJFBORDG_cjs.a.match(n,l);let y=n.split("/");for(let o of y)if(chunkHJFBORDG_cjs.a.match(o,l))return true;return false}filter(e){return e.filter(r=>!this.ignores(r))}createFilter(){return e=>!this.ignores(e)}normalizePath(e){let r=e.replace(/\\/g,"/");if(r==="/")return "";for(;r.startsWith("./");)r=r.slice(2);return r.endsWith("/")&&r.length>1&&(r=r.slice(0,-1)),r}};chunkXBAP2B6J_cjs.e();function Le(t,e){let r=n=>{let s;try{s=t.parse(n);}catch(l){throw console.trace("schema validation failure stack trace:"),l instanceof le.z.ZodError&&console.error("schema validation issues:",JSON.stringify(l.issues,null,2)),l}return e(s)};return r.force=n=>e(n),r.schema=t,r}var xt=Le;exports.Fn=void 0;(e=>e.fn=Le)(exports.Fn||(exports.Fn={}));chunkXBAP2B6J_cjs.e();function wt(t={}){let e=t.isDevelopment??false,r=e?".env.dev":".env",n=t.globalConfigPath??(xdgBasedir.xdgConfig?Ee__default.default.join(xdgBasedir.xdgConfig,"easbot"):void 0),s=t.projectRoot??process.cwd(),l=s?Ee__default.default.join(s,".easbot"):void 0,y=[{root:n,label:"global"},{root:s,label:"project"},{root:l,label:"workspace"}];for(let{root:o}of y){if(!o)continue;let u=Ee__default.default.join(o,r);if(!fs.existsSync(u))continue;let b=dotenv.config({path:u,override:true,debug:e,encoding:"utf-8",quiet:!e});if(e&&b.parsed){let S=["XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_CACHE_HOME","XDG_STATE_HOME","XDG_RUNTIME_DIR","EASBOT_CONFIG_PATH","EASBOT_DATA_PATH","EASBOT_CACHE_PATH","EASBOT_STATE_PATH","EASBOT_LOG_PATH","EASBOT_BIN_PATH"].filter(R=>R in b.parsed);S.length>0&&console.warn(`[loadEnv] ${u} contains keys that have no effect: ${S.join(", ")}.
12
+ ${X}`,truncated:true,outputPath:H,originalLength:w.length,removedLength:Y,label:R}}x.truncate=g;function i(w){return w.truncated?c(w.outputPath,w.label):""}x.formatHint=i;async function d(){let w=exports.Identifier.timestamp(exports.Identifier.create("context",false,Date.now()-a)),T=(await ie__default.default.readdir(x.DIR).catch(()=>[])).filter(h=>h.startsWith("context_"));for(let h of T)exports.Identifier.timestamp(h)>=w||await ie__default.default.unlink(chunkAJU5GBQB_cjs.d.join(x.DIR,h)).catch(()=>{});}x.cleanup=d;})(exports.TruncateContent||(exports.TruncateContent={}));chunkK7PV4FXJ_cjs.e();exports.SessionTitle=void 0;(i=>{let r="New session - ",t="Child session - ";i.parentTitlePrefix=r,i.childTitlePrefix=t;function a(d=false){return (d?t:r)+chunkPVTJQVMO_cjs.b(new Date)}i.createDefault=a;function c(d){return new RegExp(`^(${r}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(d)}i.isDefault=c;function g(d){let x=d.match(/^(.+) \(fork #(\d+)\)$/);if(x){let w=x[1]??"",A=parseInt(x[2]??"0",10);return `${w} (fork #${A+1})`}return `${d} (fork #1)`}i.getForked=g;})(exports.SessionTitle||(exports.SessionTitle={}));chunkK7PV4FXJ_cjs.e();var ne=class ne extends Error{static create(t,n){var c;let o=z__default.default.object({name:z__default.default.literal(t),data:n}).meta({ref:t}),a=(c=class extends ne{constructor(i,d){super(t,d);chunkK7PV4FXJ_cjs.c(this,"data",i);chunkK7PV4FXJ_cjs.c(this,"name",t);this.name=t;}static isInstance(i){return i!==null&&typeof i=="object"&&"name"in i&&i.name===t}schema(){return o}toObject(){return {name:t,data:this.data}}},chunkK7PV4FXJ_cjs.c(c,"Schema",o),c);return Object.defineProperty(a,"name",{value:t}),a}};chunkK7PV4FXJ_cjs.c(ne,"Unknown",ne.create("UnknownError",z__default.default.object({message:z__default.default.string()})));var oe=ne;chunkK7PV4FXJ_cjs.e();exports.Ignore=void 0;(t=>{function r(n){return new Te(n)}t.create=r;})(exports.Ignore||(exports.Ignore={}));var Te=class{constructor(t){chunkK7PV4FXJ_cjs.c(this,"rules",[]);chunkK7PV4FXJ_cjs.c(this,"ignorecase");chunkK7PV4FXJ_cjs.c(this,"debug");this.ignorecase=t?.ignorecase??false,this.debug=t?.debug??false;}add(t){let n=typeof t=="string"?t.split(`
13
+ `):t;for(let o=0;o<n.length;o++){let a=n[o];this.parseRule(a,o+1);}return this}parseRule(t,n){let o=t,a=t;if(o.length===0||o.startsWith("#"))return;let c=o.startsWith("!");if(c&&(o=o.slice(1)),o=o.trim(),o.length===0||(o.startsWith("\\#")&&(o=o.slice(1)),o.startsWith("#")))return;let g=o.startsWith("/");g&&(o=o.slice(1));let i=o.endsWith("/");i&&(o=o.slice(0,-1)),o.length!==0&&this.rules.push({pattern:o,negative:c,isDirectory:i,anchored:g,original:a,lineNumber:n});}ignores(t,n){let o=this.normalizePath(t),a=n??t.endsWith("/"),c=this.checkIgnore(o,a);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${a}) => ${c}`),c}checkIgnore(t,n){let o=false;for(let a of this.rules)a.isDirectory&&!n||this.matchPath(a,t)&&(a.negative?o=false:o=true);return o}matchPath(t,n){let o=this.ignorecase?n.toLowerCase():n,c=this.ignorecase?t.pattern.toLowerCase():t.pattern;if(t.anchored)return chunkAJU5GBQB_cjs.a.match(o,c);if(c.includes("/"))return chunkAJU5GBQB_cjs.a.match(o,c);let g=o.split("/");for(let i of g)if(chunkAJU5GBQB_cjs.a.match(i,c))return true;return false}filter(t){return t.filter(n=>!this.ignores(n))}createFilter(){return t=>!this.ignores(t)}normalizePath(t){let n=t.replace(/\\/g,"/");if(n==="/")return "";for(;n.startsWith("./");)n=n.slice(2);return n.endsWith("/")&&n.length>1&&(n=n.slice(0,-1)),n}};chunkK7PV4FXJ_cjs.e();function Me(r,t){let n=o=>{let a;try{a=r.parse(o);}catch(c){throw console.trace("schema validation failure stack trace:"),c instanceof z.z.ZodError&&console.error("schema validation issues:",JSON.stringify(c.issues,null,2)),c}return t(a)};return n.force=o=>t(o),n.schema=r,n}var bt=Me;exports.Fn=void 0;(t=>t.fn=Me)(exports.Fn||(exports.Fn={}));chunkK7PV4FXJ_cjs.e();function Et(r={}){let t=r.isDevelopment??false,n=t?".env.dev":".env",o=r.globalConfigPath??(xdgBasedir.xdgConfig?Pe__default.default.join(xdgBasedir.xdgConfig,"easbot"):void 0),a=r.projectRoot??process.cwd(),c=a?Pe__default.default.join(a,".easbot"):void 0,g=[{root:o,label:"global"},{root:a,label:"project"},{root:c,label:"workspace"}];for(let{root:i}of g){if(!i)continue;let d=Pe__default.default.join(i,n);if(!fs.existsSync(d))continue;let x=dotenv.config({path:d,override:true,debug:t,encoding:"utf-8",quiet:!t});if(t&&x.parsed){let A=["XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_CACHE_HOME","XDG_STATE_HOME","XDG_RUNTIME_DIR","EASBOT_CONFIG_PATH","EASBOT_DATA_PATH","EASBOT_CACHE_PATH","EASBOT_STATE_PATH","EASBOT_LOG_PATH","EASBOT_BIN_PATH"].filter(T=>T in x.parsed);A.length>0&&console.warn(`[loadEnv] ${d} contains keys that have no effect: ${A.join(", ")}.
14
14
  Reason: xdg-basedir caches XDG_* on import, so this .env file loads too late.
15
- How to override: export them in the shell before loadEnv() runs, or set process.env directly.`);}}}chunkXBAP2B6J_cjs.e();async function Tt(t,e){if(process.env.EASBOT_CLIENT==="acp")try{let l=process.platform==="win32"?"cmd":void 0,y=chunkGJWUV3QH_cjs.G.spawn(l,`git ${t.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:e.cwd,env:e.env?{...process.env,...e.env}:process.env}),[o,u,b]=await Promise.all([y.exited,new Response(y.stdout).arrayBuffer(),new Response(y.stderr).arrayBuffer()]),w=Buffer.from(u),S=Buffer.from(b);return {exitCode:o,text:()=>w.toString(),stdout:w,stderr:S}}catch(l){let y=Buffer.from(l instanceof Error?l.message:String(l));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:y}}let r=e.env?{...process.env,...e.env}:void 0,n=chunkGJWUV3QH_cjs.G.$`git ${t.join(" ")}`.quiet().nothrow().cwd(e.cwd);r&&(n=n.env(r));let s=await n;return {exitCode:s.exitCode,text:()=>s.text(),stdout:s.stdout,stderr:s.stderr}}chunkXBAP2B6J_cjs.e();function je(t){return t?Ee.dirname(url.fileURLToPath(t)):typeof __dirname<"u"?__dirname:process.cwd()}function Me(t,e,r=3){function n(s,l){if(l>r||!fs.existsSync(s))return null;try{let y=fs.readdirSync(s);for(let o of y){let u=Ee.join(s,o);try{let b=fs.statSync(u);if(b.isFile()&&u.endsWith(e))return u;if(b.isDirectory()&&l<r){let w=n(u,l+1);if(w)return w}}catch{}}}catch{}return null}return n(t,0)}function He(t,e){let r=Ee.join(t,e);if(fs.existsSync(r))return r;let n=e.split("/").pop()||e,s=t;for(let l=0;l<5;l++){let y=Ee.join(s,"assets","txt");if(fs.existsSync(y)){let b=Me(y,n,5);if(b)return b}let o=Ee.join(s,"dist","assets","txt");if(fs.existsSync(o)){let b=Me(o,n,5);if(b)return b}let u=Ee.join(s,"..");if(u===s)break;s=u;}return r}function At(t,e){return chunkGJWUV3QH_cjs.c.lazy(()=>{try{let r=je(e),n=He(r,t);return chunkGJWUV3QH_cjs.D.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${t}`,r),r}})}function kt(t,e){return chunkGJWUV3QH_cjs.c.lazy(async()=>{try{let r=je(e),n=He(r,t);return await chunkGJWUV3QH_cjs.D.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${t}`,r),r}})}chunkXBAP2B6J_cjs.e();function Ot(t){return t()}chunkXBAP2B6J_cjs.e();function vt(t){if(!t||typeof t!="string")return {provider:"",model:""};let e=t.indexOf("/");return e===-1?{provider:"",model:t}:{provider:t.substring(0,e),model:t.substring(e+1)}}chunkXBAP2B6J_cjs.e();exports.Markdown=void 0;(_=>{_.FILE_REGEX=/(?<![\w`])#(\S+)/g,_.SHELL_REGEX=/!`([^`]+)`/g;function r(a){return Array.from(a.matchAll(_.FILE_REGEX))}_.files=r;function n(a){return Array.from(a.matchAll(_.SHELL_REGEX))}_.shell=n;function s(a){if(!a||typeof a!="string")return typeof a=="string"?a:"";let x=a.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!x)return a;let f=x[0],c=(x[1]??"").split(`
16
- `),p=[];for(let P of c){if(P.trim().startsWith("#")||P.trim()===""){p.push(P);continue}if(P.match(/^\s+/)){p.push(P);continue}let $=P.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/);if(!$){p.push(P);continue}let I=$[1],E=$?.[2]?.trim();if(E===""||E===">"||E==="|"||E?.startsWith('"')||E?.startsWith("'")){p.push(P);continue}if(E?.includes(":")){p.push(`${I}: |-`),p.push(` ${E}`);continue}p.push(P);}let T=p.join(`
17
- `);return a.replace(f,`---
18
- ${T}
19
- ---`)}_.fallbackSanitization=s;function l(a){if(typeof a!="string")return null;if(!a)return {data:{},content:""};try{let x=fe__default.default(a);return {data:x.data??{},content:x.content??""}}catch{try{let x=fe__default.default(s(a));return {data:x.data??{},content:x.content??""}}catch{return null}}}async function y(a){let x=await se.readFile(a,"utf-8"),f=l(x);if(!f){let d=`${a}: Failed to parse YAML frontmatter`;throw new _.FrontmatterError({path:a,message:d},{cause:new Error(d)})}return f}_.parse=y;function o(a){if(!a||typeof a!="string")return {frontmatter:{},content:typeof a=="string"?a:""};let x=l(a);return x?{frontmatter:x.data,content:x.content}:{frontmatter:{},content:a}}_.extractFrontmatter=o;function u(a,x){let f=a??"";return !x||Object.keys(x).length===0?fe__default.default.stringify(f,void 0):fe__default.default.stringify(f,x)}_.format=u,_.FrontmatterError=ne.create("ConfigFrontmatterError",le.z.object({path:le.z.string(),message:le.z.string()}));function w(a,x){return S(a,x)}_.replaceVariables=w;function S(a,x){return R(a,x)}_.renderTemplate=S;function R(a,x){let f=a;return f=g(f,x),f=i(f,x),f=L(f,x),f=v(f,x),f=f.replace(/\{\{([^}]*)\}\}/g,(d,c)=>{let p=c.trim();if(!p)return "";let T=de(p,x);return T!==void 0?String(M(T)):""}),f}function g(a,x){let f=a.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(d,c,p,T,P)=>{if(!c||!p||!T||!P)return d;let{a:$,b:I}=A(p,x);return $===void 0||I===void 0?d:D(c,$,I)?T:P});return f=f.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{\/if\}\}/g,(d,c,p,T)=>{if(!c||!p||!T)return d;let{a:P,b:$}=A(p,x);return P===void 0||$===void 0?d:D(c,P,$)?T:""}),f}function A(a,x){let f=/"([^"]*)"|(\w+(?:\.\w+|\[\d+\])*)/g,d=[],c;for(;(c=f.exec(a))!==null;)c[1]!==void 0?d.push(c[1]):c[2]!==void 0&&d.push(c[2]);if(d.length<2)return {a:void 0,b:void 0};let p=de(d[0],x),T=de(d[1],x);return {a:p,b:T}}function D(a,x,f){switch(a){case "eq":return x===f;case "ne":return x!==f;case "gt":return Number(x)>Number(f);case "lt":return Number(x)<Number(f);case "gte":return Number(x)>=Number(f);case "lte":return Number(x)<=Number(f);default:return false}}function i(a,x){let f=a.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(d,c,p,T)=>{if(!c||!p||!T)return d;let P=x[c];return h(P)?p:T});return f=f.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(d,c,p)=>{if(!c||!p)return d;let T=x[c];return h(T)?p:""}),f}function h(a){return a==null||a===false||a===""}function v(a,x){let f=a.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(d,c,p,T)=>{if(!c||!p||!T)return d;let P=c in x?x[c]:void 0;return h(P)?T:p});return f=f.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{\/if\}\}/g,(d,c,p)=>{if(!c||!p)return d;let T=c in x?x[c]:void 0;return h(T)?"":p}),f}function L(a,x){let f=a.match(/\{\{#each\s+([\w.]+)\}\}/);if(!f?.[1])return a;let d=f[1],c=de(d,x),p=f[0],T=f.index,P=a.slice(T+p.length),$;if(Array.isArray(c))$=c.map((U,H)=>({key:String(H),value:U}));else if(c!==null&&typeof c=="object")$=Object.entries(c).map(([U,H])=>({key:U,value:H}));else return z(a,T,p,P);let I=1,E=-1,N=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,k;for(N.lastIndex=0;(k=N.exec(P))!==null;)if(k[0].startsWith("{{#each"))I++;else if(I--,I===0){E=k.index;break}if(E===-1)return a;let j=P.slice(0,E),Z=a.slice(T,T+p.length+E+"{{/each}}".length);if($.length===0)return a.replace(Z,"");let C=$.map(({key:U,value:H},X)=>{let F={...x};return typeof H=="object"&&H!==null?(Object.assign(F,H),F.this=H,F["@value"]=H,F["@index"]=X,F["@key"]=U):(F.this=H,F["@value"]=H,F["@index"]=X,F["@key"]=U),R(j,F)});return a.replace(Z,C.join(""))}function z(a,x,f,d,c){let p=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,T=1,P=-1,$;for(p.lastIndex=0;($=p.exec(d))!==null;)if($[0].startsWith("{{#each"))T++;else if(T--,T===0){P=$.index;break}if(P===-1)return a;let E=a.slice(x,x+f.length+P+"{{/each}}".length);return a.replace(E,"")}function M(a){return a instanceof Date?chunkPGUMSM7F_cjs.b(a):Array.isArray(a)?a.map(M).join(", "):a!==null&&typeof a=="object"?JSON.stringify(a,null,2):String(a)}_.formatVariableValue=M;})(exports.Markdown||(exports.Markdown={}));function de(t,e){let r=/(@\w+)|(\w+)|\[(\d+)\]/g,n=e,s;for(;(s=r.exec(t))!==null;){if(n==null)return;if(s[1]!==void 0){let l=s[1];n=e[l];}else if(s[2]!==void 0){let l=s[2];if(typeof n=="object"&&n!==null)n=n[l];else return}else if(s[3]!==void 0){let l=Number(s[3]);if(Array.isArray(n)&&l>=0&&l<n.length)n=n[l];else return}}return n}chunkXBAP2B6J_cjs.e();function ze(t){if(!t)return "";let r=t.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function $t(t){if(!t)return "";let r=t.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function Dt(t){if(!t)return "";let e=t.split(".");return e[e.length-1]}function It(t,e=20){let r=ze(t);if(r.length<=e)return r;let n=r.lastIndexOf("."),s=n<=0?"":r.slice(n),l=e-s.length-1;return l<=0?r.slice(0,e-1)+"\u2026":r.slice(0,l)+"\u2026"+s}function Nt(t,e=20){if(t.length<=e)return t;let r=e-1,n=Math.ceil(r/2),s=Math.floor(r/2);return t.slice(0,n)+"\u2026"+t.slice(-s)}chunkXBAP2B6J_cjs.e();var Ft=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Lt(t){if(!t)return false;let e=String(t instanceof Error?t.message:t).toLowerCase();return Ft.some(r=>e.includes(r))}async function Se(t,e={}){let{attempts:r=3,delay:n=500,factor:s=2,maxDelay:l=1e4,retryIf:y=Lt}=e,o;for(let u=0;u<r;u++)try{return await t()}catch(b){if(o=b,u===r-1||!y(b))throw b;let w=Math.min(n*s**u,l);await new Promise(S=>setTimeout(S,w));}throw o}chunkXBAP2B6J_cjs.e();exports.Fetch=void 0;(f=>{let t=chunkPGUMSM7F_cjs.m.create({service:"fetch"}),e=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],r=false,n=null;function s(){return e.some(d=>{let c=process.env[d];return typeof c=="string"&&c.trim().length>0})}f.hasProxyConfigured=s;function l(){let d=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||d}f.getProxyUrl=l;function y(d={}){let c=d.httpProxy||d.httpsProxy||l();if(!c){t.warn("[Fetch] No proxy configured, HTTP_PROXY/HTTPS_PROXY environment variables not set");return}let p=new undici.ProxyAgent({uri:c,connectTimeout:d.connectTimeout||1e4,keepAliveTimeout:d.keepAliveTimeout||3e4});n=undici.getGlobalDispatcher(),undici.setGlobalDispatcher(p),r=true,t.info(`[Fetch] Global proxy enabled: ${c}`);}f.enableProxy=y;function o(){!r||!n||(undici.setGlobalDispatcher(n),r=false,n=null,t.info("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}f.disableProxy=o;function u(){return r}f.isProxyEnabled=u;async function b(d,c){let p=c?.timeout||3e4,T=c?.responseType||"json",{timeout:P,responseType:$,...I}=c||{},E=null,N=null;try{I.signal||(E=new AbortController,N=setTimeout(()=>E.abort(),p));let k=await fetch(d,{...I,signal:I.signal||E.signal});N&&clearTimeout(N);let j;switch(T){case "arrayBuffer":j=await k.arrayBuffer();break;case "blob":j=await k.blob();break;case "buffer":{let q=await k.arrayBuffer();j=Buffer.from(q);break}case "text":j=await k.text();break;default:{let q=await k.text();try{j=JSON.parse(q);}catch{j=q;}break}}return {ok:k.ok,status:k.status,statusText:k.statusText,headers:k.headers,data:j,url:k.url}}catch(k){throw N&&clearTimeout(N),k}}async function w(d,c){let p=c?.retries??0,T=c?.retryDelay??1e3,{retries:P,retryDelay:$,responseType:I,...E}=c||{};return Se(()=>b(d,{...E,responseType:c?.responseType}),{attempts:p+1,delay:T,maxDelay:T*2**(p+1)})}async function S(d,c){return w(d,{method:"GET",...c})}f.get=S;async function R(d,c,p){return w(d,{method:"POST",headers:{"Content-Type":"application/json",...p?.headers},body:c?JSON.stringify(c):void 0,...p})}f.post=R;async function g(d,c,p){return w(d,{method:"PUT",headers:{"Content-Type":"application/json",...p?.headers},body:c?JSON.stringify(c):void 0,...p})}f.put=g;async function A(d,c,p){return w(d,{method:"DELETE",headers:{"Content-Type":"application/json",...p?.headers},body:c?JSON.stringify(c):void 0,...p})}f.del=A;async function D(d,c,p){return w(d,{method:"PATCH",headers:{"Content-Type":"application/json",...p?.headers},body:c?JSON.stringify(c):void 0,...p})}f.patch=D;async function i(d,c){return w(d,c)}f.request=i;function h(d={}){return s()?(y(d),true):false}f.autoProxy=h;let v=5*1024*1024;function L(d){return new TextEncoder().encode(d)}function z(d){return chunkHJFBORDG_cjs.d.mimeType(d)}function M(d){return d.startsWith("file://")}async function _(d){let c=url.fileURLToPath(d);return await chunkGJWUV3QH_cjs.D.file(c).bytes()}async function a(d,c,p){let T=`----FetchFormBoundary${Date.now()}`,P=[],I=c.some(C=>C.filename||C.value instanceof Uint8Array||Buffer.isBuffer(C.value))&&!p?.timeout?3e5:p?.timeout;for(let C of c){let U=C.maxSize??v,H=C.filename,X=`Content-Disposition: form-data; name="${C.name}"${H?`; filename="${H}"`:""}`;H&&(X+=`\r
20
- Content-Type: ${z(H)}`),X+=`\r
15
+ How to override: export them in the shell before loadEnv() runs, or set process.env directly.`);}}}chunkK7PV4FXJ_cjs.e();async function Pt(r,t){if(process.env.EASBOT_CLIENT==="acp")try{let c=process.platform==="win32"?"cmd":void 0,g=chunkQBLZGSTI_cjs.G.spawn(c,`git ${r.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[i,d,x]=await Promise.all([g.exited,new Response(g.stdout).arrayBuffer(),new Response(g.stderr).arrayBuffer()]),w=Buffer.from(d),A=Buffer.from(x);return {exitCode:i,text:()=>w.toString(),stdout:w,stderr:A}}catch(c){let g=Buffer.from(c instanceof Error?c.message:String(c));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:g}}let n=t.env?{...process.env,...t.env}:void 0,o=chunkQBLZGSTI_cjs.G.$`git ${r.join(" ")}`.quiet().nothrow().cwd(t.cwd);n&&(o=o.env(n));let a=await o;return {exitCode:a.exitCode,text:()=>a.text(),stdout:a.stdout,stderr:a.stderr}}chunkK7PV4FXJ_cjs.e();function Be(r){return r?Pe.dirname(url.fileURLToPath(r)):typeof __dirname<"u"?__dirname:process.cwd()}function je(r,t,n=3){function o(a,c){if(c>n||!fs.existsSync(a))return null;try{let g=fs.readdirSync(a);for(let i of g){let d=Pe.join(a,i);try{let x=fs.statSync(d);if(x.isFile()&&d.endsWith(t))return d;if(x.isDirectory()&&c<n){let w=o(d,c+1);if(w)return w}}catch{}}}catch{}return null}return o(r,0)}function He(r,t){let n=Pe.join(r,t);if(fs.existsSync(n))return n;let o=t.split("/").pop()||t,a=r;for(let c=0;c<5;c++){let g=Pe.join(a,"assets","txt");if(fs.existsSync(g)){let x=je(g,o,5);if(x)return x}let i=Pe.join(a,"dist","assets","txt");if(fs.existsSync(i)){let x=je(i,o,5);if(x)return x}let d=Pe.join(a,"..");if(d===a)break;a=d;}return n}function Ot(r,t){return chunkQBLZGSTI_cjs.c.lazy(()=>{try{let n=Be(t),o=He(n,r);return chunkQBLZGSTI_cjs.D.file(o).textSync()}catch(n){throw console.error(`Failed to load text file: ${r}`,n),n}})}function vt(r,t){return chunkQBLZGSTI_cjs.c.lazy(async()=>{try{let n=Be(t),o=He(n,r);return await chunkQBLZGSTI_cjs.D.file(o).text()}catch(n){throw console.error(`Failed to load text file: ${r}`,n),n}})}chunkK7PV4FXJ_cjs.e();function _t(r){return r()}chunkK7PV4FXJ_cjs.e();function $t(r){if(!r||typeof r!="string")return {provider:"",model:""};let t=r.indexOf("/");return t===-1?{provider:"",model:r}:{provider:r.substring(0,t),model:r.substring(t+1)}}chunkK7PV4FXJ_cjs.e();exports.Markdown=void 0;(G=>{G.FILE_REGEX=/(?<![\w`])#(\S+)/g,G.SHELL_REGEX=/!`([^`]+)`/g;function n(e){return Array.from(e.matchAll(G.FILE_REGEX))}G.files=n;function o(e){return Array.from(e.matchAll(G.SHELL_REGEX))}G.shell=o;function a(e){if(!e||typeof e!="string")return typeof e=="string"?e:"";let s=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!s)return e;let f=s[0],l=(s[1]??"").split(`
16
+ `),p=[];for(let b of l){if(b.trim().startsWith("#")||b.trim()===""){p.push(b);continue}if(b.match(/^\s+/)){p.push(b);continue}let I=b.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/);if(!I){p.push(b);continue}let E=I[1],S=I?.[2]?.trim();if(S===""||S===">"||S==="|"||S?.startsWith('"')||S?.startsWith("'")){p.push(b);continue}if(S?.includes(":")){p.push(`${E}: |-`),p.push(` ${S}`);continue}p.push(b);}let y=p.join(`
17
+ `);return e.replace(f,`---
18
+ ${y}
19
+ ---`)}G.fallbackSanitization=a;function c(e){if(typeof e!="string")return null;if(!e)return {data:{},content:""};try{let s=de__default.default(e);return {data:s.data??{},content:s.content??""}}catch{try{let s=de__default.default(a(e));return {data:s.data??{},content:s.content??""}}catch{return null}}}async function g(e){let s=await ie.readFile(e,"utf-8"),f=c(s);if(!f){let u=`${e}: Failed to parse YAML frontmatter`;throw new G.FrontmatterError({path:e,message:u},{cause:new Error(u)})}return f}G.parse=g;function i(e){if(!e||typeof e!="string")return {frontmatter:{},content:typeof e=="string"?e:""};let s=c(e);return s?{frontmatter:s.data,content:s.content}:{frontmatter:{},content:e}}G.extractFrontmatter=i;function d(e,s){let f=e??"";return !s||Object.keys(s).length===0?de__default.default.stringify(f,void 0):de__default.default.stringify(f,s)}G.format=d,G.FrontmatterError=oe.create("ConfigFrontmatterError",z.z.object({path:z.z.string(),message:z.z.string()}));function w(e,s){return A(e,s)}G.replaceVariables=w;function A(e,s){return T(e,s)}G.renderTemplate=A;function T(e,s){let f=e;return f=h(f,s),f=F(f,s),f=H(f,s),f=q(f,s),f=f.replace(/\{\{([^}]*)\}\}/g,(u,l)=>{let p=l.trim();if(!p)return "";let y=pe(p,s);return y!==void 0?String(X(y)):""}),f}function h(e,s){let f=e.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(u,l,p,y,b)=>{if(!l||!p||!y||!b)return u;let{a:I,b:E}=R(p,s);return I===void 0||E===void 0?u:N(l,I,E)?y:b});return f=f.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{\/if\}\}/g,(u,l,p,y)=>{if(!l||!p||!y)return u;let{a:b,b:I}=R(p,s);return b===void 0||I===void 0?u:N(l,b,I)?y:""}),f}function R(e,s){let f=/"([^"]*)"|(\w+(?:\.\w+|\[\d+\])*)/g,u=[],l;for(;(l=f.exec(e))!==null;)l[1]!==void 0?u.push(l[1]):l[2]!==void 0&&u.push(l[2]);if(u.length<2)return {a:void 0,b:void 0};let p=pe(u[0],s),y=pe(u[1],s);return {a:p,b:y}}function N(e,s,f){switch(e){case "eq":return s===f;case "ne":return s!==f;case "gt":return Number(s)>Number(f);case "lt":return Number(s)<Number(f);case "gte":return Number(s)>=Number(f);case "lte":return Number(s)<=Number(f);default:return false}}function F(e,s){let f=e.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(u,l,p,y)=>{if(!l||!p||!y)return u;let b=s[l];return C(b)?p:y});return f=f.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(u,l,p)=>{if(!l||!p)return u;let y=s[l];return C(y)?p:""}),f}function C(e){return e==null||e===false||e===""}function q(e,s){let f=e.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(u,l,p,y)=>{if(!l||!p||!y)return u;let b=l in s?s[l]:void 0;return C(b)?y:p});return f=f.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{\/if\}\}/g,(u,l,p)=>{if(!l||!p)return u;let y=l in s?s[l]:void 0;return C(y)?"":p}),f}function H(e,s){let f=e.match(/\{\{#each\s+([\w.]+)\}\}/);if(!f?.[1])return e;let u=f[1],l=pe(u,s),p=f[0],y=f.index,b=e.slice(y+p.length),I;if(Array.isArray(l))I=l.map((P,k)=>({key:String(k),value:P}));else if(l!==null&&typeof l=="object")I=Object.entries(l).map(([P,k])=>({key:P,value:k}));else return Y(e,y,p,b);let E=1,S=-1,O=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,$;for(O.lastIndex=0;($=O.exec(b))!==null;)if($[0].startsWith("{{#each"))E++;else if(E--,E===0){S=$.index;break}if(S===-1)return e;let L=b.slice(0,S),B=e.slice(y,y+p.length+S+"{{/each}}".length);if(I.length===0)return e.replace(B,"");let v=I.map(({key:P,value:k},M)=>{let D={...s};return typeof k=="object"&&k!==null?(Object.assign(D,k),D.this=k,D["@value"]=k,D["@index"]=M,D["@key"]=P):(D.this=k,D["@value"]=k,D["@index"]=M,D["@key"]=P),T(L,D)});return e.replace(B,v.join(""))}function Y(e,s,f,u,l){let p=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,y=1,b=-1,I;for(p.lastIndex=0;(I=p.exec(u))!==null;)if(I[0].startsWith("{{#each"))y++;else if(y--,y===0){b=I.index;break}if(b===-1)return e;let S=e.slice(s,s+f.length+b+"{{/each}}".length);return e.replace(S,"")}function X(e){return e instanceof Date?chunkPVTJQVMO_cjs.b(e):Array.isArray(e)?e.map(X).join(", "):e!==null&&typeof e=="object"?JSON.stringify(e,null,2):String(e)}G.formatVariableValue=X;})(exports.Markdown||(exports.Markdown={}));function pe(r,t){let n=/(@\w+)|(\w+)|\[(\d+)\]/g,o=t,a;for(;(a=n.exec(r))!==null;){if(o==null)return;if(a[1]!==void 0){let c=a[1];o=t[c];}else if(a[2]!==void 0){let c=a[2];if(typeof o=="object"&&o!==null)o=o[c];else return}else if(a[3]!==void 0){let c=Number(a[3]);if(Array.isArray(o)&&c>=0&&c<o.length)o=o[c];else return}}return o}chunkK7PV4FXJ_cjs.e();function Ue(r){if(!r)return "";let n=r.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Dt(r){if(!r)return "";let n=r.replace(/[/\\]+$/,"").split(/[/\\]/);return n.slice(0,n.length-1).join("/")+"/"}function Nt(r){if(!r)return "";let t=r.split(".");return t[t.length-1]}function Ft(r,t=20){let n=Ue(r);if(n.length<=t)return n;let o=n.lastIndexOf("."),a=o<=0?"":n.slice(o),c=t-a.length-1;return c<=0?n.slice(0,t-1)+"\u2026":n.slice(0,c)+"\u2026"+a}function Lt(r,t=20){if(r.length<=t)return r;let n=t-1,o=Math.ceil(n/2),a=Math.floor(n/2);return r.slice(0,o)+"\u2026"+r.slice(-a)}chunkK7PV4FXJ_cjs.e();var Ct=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Mt(r){if(!r)return false;let t=String(r instanceof Error?r.message:r).toLowerCase();return Ct.some(n=>t.includes(n))}async function Se(r,t={}){let{attempts:n=3,delay:o=500,factor:a=2,maxDelay:c=1e4,retryIf:g=Mt}=t,i;for(let d=0;d<n;d++)try{return await r()}catch(x){if(i=x,d===n-1||!g(x))throw x;let w=Math.min(o*a**d,c);await new Promise(A=>setTimeout(A,w));}throw i}chunkK7PV4FXJ_cjs.e();exports.Fetch=void 0;(f=>{let r=chunkPVTJQVMO_cjs.m.create({service:"fetch"}),t=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],n=false,o=null;function a(){return t.some(u=>{let l=process.env[u];return typeof l=="string"&&l.trim().length>0})}f.hasProxyConfigured=a;function c(){let u=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||u}f.getProxyUrl=c;function g(u={}){let l=u.httpProxy||u.httpsProxy||c();if(!l){r.warn("[Fetch] No proxy configured, HTTP_PROXY/HTTPS_PROXY environment variables not set");return}let p=new undici.ProxyAgent({uri:l,connectTimeout:u.connectTimeout||1e4,keepAliveTimeout:u.keepAliveTimeout||3e4});o=undici.getGlobalDispatcher(),undici.setGlobalDispatcher(p),n=true,r.info(`[Fetch] Global proxy enabled: ${l}`);}f.enableProxy=g;function i(){!n||!o||(undici.setGlobalDispatcher(o),n=false,o=null,r.info("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}f.disableProxy=i;function d(){return n}f.isProxyEnabled=d;async function x(u,l){let p=l?.timeout||3e4,y=l?.responseType||"json",{timeout:b,responseType:I,...E}=l||{},S=null,O=null;try{E.signal||(S=new AbortController,O=setTimeout(()=>S.abort(),p));let $=await fetch(u,{...E,signal:E.signal||S.signal});O&&clearTimeout(O);let L;switch(y){case "arrayBuffer":L=await $.arrayBuffer();break;case "blob":L=await $.blob();break;case "buffer":{let j=await $.arrayBuffer();L=Buffer.from(j);break}case "text":L=await $.text();break;default:{let j=await $.text();try{L=JSON.parse(j);}catch{L=j;}break}}return {ok:$.ok,status:$.status,statusText:$.statusText,headers:$.headers,data:L,url:$.url}}catch($){throw O&&clearTimeout(O),$}}async function w(u,l){let p=l?.retries??0,y=l?.retryDelay??1e3,{retries:b,retryDelay:I,responseType:E,...S}=l||{};return Se(()=>x(u,{...S,responseType:l?.responseType}),{attempts:p+1,delay:y,maxDelay:y*2**(p+1)})}async function A(u,l){return w(u,{method:"GET",...l})}f.get=A;async function T(u,l,p){return w(u,{method:"POST",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}f.post=T;async function h(u,l,p){return w(u,{method:"PUT",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}f.put=h;async function R(u,l,p){return w(u,{method:"DELETE",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}f.del=R;async function N(u,l,p){return w(u,{method:"PATCH",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}f.patch=N;async function F(u,l){return w(u,l)}f.request=F;function C(u={}){return a()?(g(u),true):false}f.autoProxy=C;let q=5*1024*1024;function H(u){return new TextEncoder().encode(u)}function Y(u){return chunkAJU5GBQB_cjs.d.mimeType(u)}function X(u){return u.startsWith("file://")}async function G(u){let l=url.fileURLToPath(u);return await chunkQBLZGSTI_cjs.D.file(l).bytes()}async function e(u,l,p){let y=`----FetchFormBoundary${Date.now()}`,b=[],E=l.some(v=>v.filename||v.value instanceof Uint8Array||Buffer.isBuffer(v.value))&&!p?.timeout?3e5:p?.timeout;for(let v of l){let P=v.maxSize??q,k=v.filename,M=`Content-Disposition: form-data; name="${v.name}"${k?`; filename="${k}"`:""}`;k&&(M+=`\r
20
+ Content-Type: ${Y(k)}`),M+=`\r
21
21
  \r
22
- `,P.push(L(X));let F=C.value;if(typeof F=="string")if(M(F)){let pe=await _(F);if(H||(H=F.split("/").pop()||"file"),pe.byteLength>U)throw new Error(`File size ${pe.byteLength} exceeds limit ${U} bytes: ${H}`);P.push(pe);}else P.push(L(F));else if(Buffer.isBuffer(F)){if(F.byteLength>U)throw new Error(`Buffer size ${F.byteLength} exceeds limit ${U} bytes: ${C.name}`);P.push(new Uint8Array(F.buffer,F.byteOffset,F.byteLength));}else if(F instanceof Uint8Array){if(F.byteLength>U)throw new Error(`File size ${F.byteLength} exceeds limit ${U} bytes: ${C.name}`);P.push(F);}}let E=L(`\r
23
- --${T}--`),N=L(`\r
24
- --${T}\r
25
- `),k=[];k.push(L(`--${T}\r
26
- `));for(let C=0;C<P.length;C++)k.push(P[C]),C%2===1&&C<P.length-1&&(k.push(N),k.push(L(`--${T}\r
27
- `)));k.push(E);let j=k.reduce((C,U)=>C+U.length,0),q=new Uint8Array(j),Z=0;for(let C of k)q.set(C,Z),Z+=C.length;return w(d,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${T}`,...p?.headers},body:q,timeout:I,...p})}f.postForm=a;function x(d,c,p){let T=new AbortController,P=T.signal;return (async()=>{try{let I={Accept:"text/event-stream",...p?.headers||{}},E=await fetch(d,{...p,headers:I,signal:P});if(!E.ok)throw new Error(`SSE connection failed: ${E.status}`);let N=E.body?.getReader();if(!N)throw new Error("SSE stream not available");let k=new TextDecoder("utf-8"),j="";for(;!P.aborted;){let{done:q,value:Z}=await N.read();if(q)break;let C=k.decode(Z,{stream:!0});j+=C;let U=j.split(`
28
- `);j=U.pop()??"";for(let H of U)if(H.startsWith("data: ")){let X=H.slice(6);if(X==="[DONE]"){c.onComplete?.();return}c.onMessage?.(X);}}c.onComplete?.();}catch(I){I.name!=="AbortError"&&c.onError?.(I);}})(),()=>{T.abort();}}f.sse=x;})(exports.Fetch||(exports.Fetch={}));chunkXBAP2B6J_cjs.e();exports.Slug=void 0;(n=>{let t=["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"],e=["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 [t[Math.floor(Math.random()*t.length)],e[Math.floor(Math.random()*e.length)]].join("-")}n.create=r;})(exports.Slug||(exports.Slug={}));chunkXBAP2B6J_cjs.e();function Be(t){let e=new AbortController,r=setTimeout(e.abort.bind(e),t);return {controller:e,signal:e.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function Ht(t,...e){let r=Be(t);return {signal:AbortSignal.any([r.signal,...e]),clearTimeout:r.clearTimeout}}chunkXBAP2B6J_cjs.e();exports.Archive=void 0;(e=>{async function t(r,n){if(process.platform==="win32"){let s=Ee__default.default.resolve(r),l=Ee__default.default.resolve(n),y=`Expand-Archive -Path '${s}' -DestinationPath '${l}' -Force`,o=await chunkGJWUV3QH_cjs.G.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${y}"`);if(o.code!==0)throw new Error(`PowerShell exited with code ${o.code}: ${o.stderr}`)}else {let s=`unzip -o -q ${r} -d ${n}`,l=await chunkGJWUV3QH_cjs.G.run(void 0,s);if(l.code!==0)throw new Error(`unzip exited with code ${l.code}: ${l.stderr}`)}}e.extractZip=t;})(exports.Archive||(exports.Archive={}));chunkXBAP2B6J_cjs.e();exports.Color=void 0;(n=>{function t(s){return s?/^#[0-9a-fA-F]{6}$/.test(s):false}n.isValidHex=t;function e(s){let l=parseInt(s.slice(1,3),16),y=parseInt(s.slice(3,5),16),o=parseInt(s.slice(5,7),16);return {r:l,g:y,b:o}}n.hexToRgb=e;function r(s){if(!t(s))return;let{r:l,g:y,b:o}=e(s);return `\x1B[38;2;${l};${y};${o}m\x1B[1m`}n.hexToAnsiBold=r;})(exports.Color||(exports.Color={}));chunkXBAP2B6J_cjs.e();exports.Context=void 0;(r=>{class t extends Error{constructor(l){super(`No context found for ${l}`);chunkXBAP2B6J_cjs.c(this,"name",l);}}r.NotFound=t;function e(n){let s=new async_hooks.AsyncLocalStorage;return {use(){let l=s.getStore();if(!l)throw new t(n);return l},provide(l,y){return s.run(l,y)}}}r.create=e;})(exports.Context||(exports.Context={}));chunkXBAP2B6J_cjs.e();function Ut(t){return {[Symbol.dispose](){t();},[Symbol.asyncDispose](){return Promise.resolve(t())}}}chunkXBAP2B6J_cjs.e();exports.EventLoop=void 0;(e=>{async function t(){return new Promise(r=>{let n=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?r():setImmediate(n);};n();})}e.wait=t;})(exports.EventLoop||(exports.EventLoop={}));chunkXBAP2B6J_cjs.e();function Bt(t){if(t<=0)return "";if(t<60)return `${t}s`;if(t<3600){let r=Math.floor(t/60),n=t%60;return n>0?`${r}m ${n}s`:`${r}m`}if(t<86400){let r=Math.floor(t/3600),n=Math.floor(t%3600/60);return n>0?`${r}h ${n}m`:`${r}h`}if(t<604800){let r=Math.floor(t/86400);return r===1?"~1 day":`~${r} days`}let e=Math.floor(t/604800);return e===1?"~1 week":`~${e} weeks`}chunkXBAP2B6J_cjs.e();exports.Grep=void 0;(D=>{let t=chunkPGUMSM7F_cjs.m.create({service:"grep"});async function e(){return r()}D.filepath=e;let r=chunkGJWUV3QH_cjs.b(async()=>{let i=await chunkGJWUV3QH_cjs.D.which("rg");if(!i)return null;try{if(!(await se__default.default.stat(i)).isFile())return null}catch{return null}try{let h=await chunkGJWUV3QH_cjs.D.run([i,"--version"],{timeout:5e3});if(h.code!==0||!h.stdout.startsWith("ripgrep "))return t.warn("rg failed self-test, falling back to pure JS",{filepath:i,code:h.code,stderr:h.stderr.slice(0,200)}),null}catch(h){return t.warn("rg spawn failed during self-test, falling back to pure JS",{filepath:i,error:h.message.slice(0,200)}),null}return i});async function n(){return await e()!==null}D.isUsingRipgrep=n;async function*s(i){i.signal?.throwIfAborted();let h=await e();h?yield*l(h,i):(t.debug("ripgrep not available, using pure JS fallback for files()",{cwd:i.cwd}),yield*y(i));}D.files=s;async function*l(i,h){h.signal?.throwIfAborted();let v=["--files","--glob=!.git/*"];h.follow&&v.push("--follow");let L=h.hidden!==false;if(h.maxDepth!==void 0&&v.push(`--max-depth=${h.maxDepth}`),h.glob)for(let _ of h.glob)v.push(`--glob=${_}`);try{if(!(await se__default.default.stat(h.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${h.cwd}'`),{code:"ENOTDIR",errno:-20,path:h.cwd})}catch(_){throw _.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${h.cwd}'`),{code:"ENOENT",errno:-2,path:h.cwd}):_}let z=await chunkGJWUV3QH_cjs.D.run([i,...v],{cwd:h.cwd});if(z.code!==0&&z.code!==1)return;let M=z.stdout.split(/\r?\n/);for(let _ of M){h.signal?.throwIfAborted();let a=_.trim();if(!a)continue;let x=chunkHJFBORDG_cjs.d.toUnixPath(a);!L&&x.split("/").some(f=>f.startsWith("."))||(yield x);}}async function*y(i){i.signal?.throwIfAborted();try{if(!(await se__default.default.stat(i.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${i.cwd}'`),{code:"ENOTDIR",errno:-20,path:i.cwd})}catch(f){throw f.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${i.cwd}'`),{code:"ENOENT",errno:-2,path:i.cwd}):f}let h=[],v=[];if(i.glob)for(let f of i.glob)f.startsWith("!")?v.push(f.slice(1)):h.push(f);let L=h.length>0?h:["**/*"],z=i.hidden!==false,M=new Set,_=chunkHJFBORDG_cjs.b.DEFAULT_MAX_DEPTH,a;i.maxDepth===void 0?a=_:i.maxDepth<0?a=1:a=i.maxDepth+1;let x=Math.min(Math.max(a,1),_);for(let f of L){i.signal?.throwIfAborted();let d=await chunkHJFBORDG_cjs.b.scan(f,{cwd:i.cwd,absolute:false,include:"file",dot:z,symlink:i.follow??false,maxDepth:x,ignore:v});for(let c of d)!z&&c.split("/").some(p=>p.startsWith("."))||M.add(c);}for(let f of Array.from(M).sort())i.signal?.throwIfAborted(),yield f;i.signal?.throwIfAborted();}async function o(i){t.debug("tree",{cwd:i.cwd}),i.signal?.throwIfAborted();let h=i.hidden!==false,v=i.glob??[],L=v.filter(E=>!E.startsWith("!")),z=v.filter(E=>E.startsWith("!")).map(E=>E.slice(1)),M=L.length>0?L:["**/*"],_=new Set,a=[];for(let E of M){i.signal?.throwIfAborted();let N=await chunkHJFBORDG_cjs.b.scan(E,{cwd:i.cwd,absolute:false,include:"file",dot:h,symlink:false,maxDepth:chunkHJFBORDG_cjs.b.DEFAULT_MAX_DEPTH});for(let k of N)_.has(k)||(_.add(k),a.push(k));}let x=a.filter(E=>{for(let N of z)if(chunkHJFBORDG_cjs.b.match(N,E))return false;return true});function f(E,N){let k=E.children.get(N);if(k)return k;let j={name:N,children:new Map};return E.children.set(N,j),j}let d={children:new Map};for(let E of x){let N=E.split("/");if(N.length<2)continue;let k=d;for(let j of N.slice(0,-1))k=f(k,j);}let c=Array.from(d.children.values()).sort((E,N)=>E.name.localeCompare(N.name)),p=i.limit??Number.POSITIVE_INFINITY,T=[],P=c.map(E=>({node:E,path:E.name})),$=0,I=0;for(;P.length>0;){let E=P.shift();if(!E)break;if($++,I<p){T.push(E.path),I++;for(let N of Array.from(E.node.children.values()).sort((k,j)=>k.name.localeCompare(j.name))){if(I>=p)break;P.push({node:N,path:`${E.path}/${N.name}`});}}}return $>I&&T.push(`[${I}/${$} shown, ${$-I} truncated]`),T.join(`
29
- `)}D.tree=o;async function u(i){let h=await e();return h?b(h,i):(t.debug("ripgrep not available, using pure JS fallback for search()",{cwd:i.cwd,pattern:i.pattern}),w(i))}D.search=u;async function b(i,h){let v=["--json","--glob=!.git/*"];if(h.follow&&v.push("--follow"),h.glob)for(let a of h.glob)v.push(`--glob=${a}`);h.limit&&v.push(`--max-count=${h.limit}`),v.push("--"),v.push(h.pattern);let L=await chunkGJWUV3QH_cjs.D.run([i,...v],{cwd:h.cwd});if(L.code!==0)return [];let z=h.hidden!==false,M=L.stdout.split(/\r?\n/).filter(Boolean),_=[];for(let a of M)try{let x=JSON.parse(a);if(x?.type!=="match")continue;let f=x.data;if(!f?.path?.text||!f?.lines?.text)continue;let d=chunkHJFBORDG_cjs.d.toUnixPath(f.path.text);if(!z&&d.split("/").some(c=>c.startsWith(".")))continue;if(_.push({path:d,lines:f.lines.text,line_number:f.line_number,absolute_offset:f.absolute_offset??0}),h.limit&&_.length>=h.limit)break}catch{}return _}async function w(i){let h;try{h=new RegExp(i.pattern);}catch{return []}try{if(!(await se__default.default.stat(i.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${i.cwd}'`),{code:"ENOTDIR",errno:-20,path:i.cwd})}catch(f){throw f.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${i.cwd}'`),{code:"ENOENT",errno:-2,path:i.cwd}):f}let v=[],L=[];if(i.glob)for(let f of i.glob)f.startsWith("!")?L.push(f.slice(1)):v.push(f);let z=i.hidden!==false,M=[],_=v.length>0?v:["**/*"],a=new Set,x=[];for(let f of _){i.signal?.throwIfAborted();let d=await chunkHJFBORDG_cjs.b.scan(f,{cwd:i.cwd,absolute:false,include:"file",dot:z,symlink:i.follow??false,maxDepth:void 0,ignore:L});for(let c of d)a.has(c)||(a.add(c),x.push(c));}for(let f of x){if(i.signal?.throwIfAborted(),i.limit&&M.length>=i.limit)break;let d=chunkHJFBORDG_cjs.d.join(i.cwd,f),c;try{c=await se__default.default.readFile(d,"utf-8");}catch{continue}let p=c.split(/\r?\n/),T=0;for(let P=0;P<p.length;P++){let $=p[P]??"";if(h.test($)&&(M.push({path:f,lines:$,line_number:P+1,absolute_offset:T}),i.limit&&M.length>=i.limit))break;T+=Buffer.byteLength($,"utf-8")+1;}}return M}function S(i,h){return chunkHJFBORDG_cjs.a.match(i,h)}D.match=S;let R=chunkGJWUV3QH_cjs.a(async()=>await e());async function g(){return await R()}D.filepathCached=g,D._ready=chunkGJWUV3QH_cjs.a(async()=>{let i=await e();return t.debug("Grep initialized",{ripgrep:i?"available":"fallback (pure JS)"}),i});})(exports.Grep||(exports.Grep={}));chunkXBAP2B6J_cjs.e();exports.Keybind=void 0;(y=>{function t(o,u){if(o===u)return true;if(typeof o!="object"||typeof u!="object"||o===null||u===null)return false;let b=Object.keys(o),w=Object.keys(u);if(b.length!==w.length)return false;for(let S of b)if(!w.includes(S)||!t(o[S],u[S]))return false;return true}function e(o){return {...o,super:o.super??false}}function r(o,u){return o?t(e(o),e(u)):false}y.match=r;function n(o,u=false){return {name:o.name,ctrl:o.ctrl,meta:o.meta,shift:o.shift,super:o.super??false,leader:u}}y.fromParsedKey=n;function s(o){if(!o)return "";let u=[];o.ctrl&&u.push("ctrl"),o.meta&&u.push("alt"),o.super&&u.push("super"),o.shift&&u.push("shift"),o.name&&(o.name==="delete"?u.push("del"):u.push(o.name));let b=u.join("+");return o.leader&&(b=b?`<leader> ${b}`:"<leader>"),b}y.keyToString=s;function l(o){return o==="none"?[]:o.split(",").map(u=>{let w=u.replace(/<leader>/g,"leader+").toLowerCase().split("+"),S={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let R of w)switch(R){case "ctrl":S.ctrl=true;break;case "alt":case "meta":case "option":S.meta=true;break;case "super":S.super=true;break;case "shift":S.shift=true;break;case "leader":S.leader=true;break;case "esc":S.name="escape";break;default:S.name=R;break}return S})}y.parse=l;})(exports.Keybind||(exports.Keybind={}));chunkXBAP2B6J_cjs.e();exports.Locale=void 0;(R=>{R.SUPPORTED_LANGS=["zh-CN","en-US"],R.DEFAULT_LANG="zh-CN";function r(g,A="EASBOT_LANG"){let D=[g,process.env[A]?.trim()];for(let i of D)if(i&&R.SUPPORTED_LANGS.includes(i))return i;return R.DEFAULT_LANG}R.resolveLocaleLang=r;function n(g){return g.replace(/\b\w/g,A=>A.toUpperCase())}R.titlecase=n;function s(g){return new Date(g).toLocaleTimeString(void 0,{timeStyle:"short"})}R.time=s;function l(g){let A=new Date(g),D=s(g),i=A.toLocaleDateString();return `${D} \xB7 ${i}`}R.datetime=l;function y(g){let A=new Date(g),D=new Date;return A.getFullYear()===D.getFullYear()&&A.getMonth()===D.getMonth()&&A.getDate()===D.getDate()?s(g):l(g)}R.todayTimeOrDateTime=y;function o(g){return g>=1e6?(g/1e6).toFixed(1)+"M":g>=1e3?(g/1e3).toFixed(1)+"K":g.toString()}R.number=o;function u(g){if(g<1e3)return `${g}ms`;if(g<6e4)return `${(g/1e3).toFixed(1)}s`;if(g<36e5){let i=Math.floor(g/6e4),h=Math.floor(g%6e4/1e3);return `${i}m ${h}s`}if(g<864e5){let i=Math.floor(g/36e5),h=Math.floor(g%36e5/6e4);return `${i}h ${h}m`}let A=Math.floor(g/36e5);return `${Math.floor(g%36e5/864e5)}d ${A}h`}R.duration=u;function b(g,A){return g.length<=A?g:g.slice(0,A-1)+"\u2026"}R.truncate=b;function w(g,A=35){if(g.length<=A)return g;let D="\u2026",i=Math.ceil((A-D.length)/2),h=Math.floor((A-D.length)/2);return g.slice(0,i)+D+g.slice(-h)}R.truncateMiddle=w;function S(g,A,D){return (g===1?A:D).replace("{}",g.toString())}R.pluralize=S;})(exports.Locale||(exports.Locale={}));var Gt=exports.Locale.resolveLocaleLang,qt=exports.Locale.SUPPORTED_LANGS,Wt=exports.Locale.DEFAULT_LANG;chunkXBAP2B6J_cjs.e();var Xt=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"];function Jt(){return Xt.some(t=>process.env[t])}function Yt(){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy}function Zt(){let t=process.env.HTTP_PROXY||process.env.http_proxy,e=process.env.HTTPS_PROXY||process.env.https_proxy;return {http:t,https:e,enabled:!!(t||e)}}chunkXBAP2B6J_cjs.e();var Ne=class{constructor(){chunkXBAP2B6J_cjs.c(this,"queue",[]);chunkXBAP2B6J_cjs.c(this,"resolvers",[]);}push(e){let r=this.resolvers.shift();r?r(e):this.queue.push(e);}async next(){return this.queue.length>0?this.queue.shift():new Promise(e=>this.resolvers.push(e))}async*[Symbol.asyncIterator](){for(;;)yield await this.next();}};async function Vt(t,e,r){let n=[...e];await Promise.all(Array.from({length:t},async()=>{for(;;){let s=n.pop();if(s===void 0)return;await r(s);}}));}chunkXBAP2B6J_cjs.e();function Kt(){let t,e=new Promise(r=>t=r);return {trigger(){return t()},wait(){return e}}}chunkXBAP2B6J_cjs.e();function Qt(t,e){let r;return Promise.race([t.then(n=>(clearTimeout(r),n)),new Promise((n,s)=>{r=setTimeout(()=>{s(new Error(`Operation timed out after ${e}ms`));},e);})])}chunkXBAP2B6J_cjs.e();exports.Token=void 0;(y=>{let r=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function n(o){if(!o)return 0;let u=String(o),b=(u.match(r)||[]).length,w=u.length-b,S=Math.round(b/1.5),R=Math.round(w/4);return Math.max(0,S+R)}y.estimate=n;function s(o){if(o==null)return 0;try{let u=typeof o=="string"?o:JSON.stringify(o);return n(u)}catch{return 0}}y.estimateObject=s;function l(o){if(o.total!==void 0&&o.total>0)return o.total;let u=o.input??0,b=o.output??0,w=o.cache?.read??0,S=o.cache?.write??0;return u+b+w+S}y.total=l;})(exports.Token||(exports.Token={}));chunkXBAP2B6J_cjs.e();function tr(t){let e={},r=t.shape??t.required().shape;for(let[n,s]of Object.entries(r))e[n]=s.nullable().optional();return le__default.default.object(e)}Object.defineProperty(exports,"Lock",{enumerable:true,get:function(){return chunkPJIZPZPO_cjs.a}});Object.defineProperty(exports,"$",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.H}});Object.defineProperty(exports,"HTTPException",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.j}});Object.defineProperty(exports,"Hono",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.d}});Object.defineProperty(exports,"Lazy",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.c}});Object.defineProperty(exports,"PKG",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.D}});Object.defineProperty(exports,"PkgShell",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.A}});Object.defineProperty(exports,"Shell",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.G}});Object.defineProperty(exports,"compress",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.g}});Object.defineProperty(exports,"cors",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.e}});Object.defineProperty(exports,"createNodeWebSocket",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.s}});Object.defineProperty(exports,"createPkgShell",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.B}});Object.defineProperty(exports,"createRESTServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.p}});Object.defineProperty(exports,"createRPCServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.n}});Object.defineProperty(exports,"createServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.m}});Object.defineProperty(exports,"createStreamingServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.r}});Object.defineProperty(exports,"createWebSocketServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.q}});Object.defineProperty(exports,"detectPlatform",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.y}});Object.defineProperty(exports,"escapeCommandArg",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.w}});Object.defineProperty(exports,"escapeCommandArgSafe",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.x}});Object.defineProperty(exports,"joinCommandArgs",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.z}});Object.defineProperty(exports,"lazy",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.a}});Object.defineProperty(exports,"lazyAsync",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.b}});Object.defineProperty(exports,"logger",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.f}});Object.defineProperty(exports,"needsShellExecution",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.u}});Object.defineProperty(exports,"parseCommand",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.t}});Object.defineProperty(exports,"parseCommandWithOptions",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.v}});Object.defineProperty(exports,"readableStreamToText",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.E}});Object.defineProperty(exports,"secureHeaders",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.h}});Object.defineProperty(exports,"shell",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.C}});Object.defineProperty(exports,"startServer",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.o}});Object.defineProperty(exports,"timeout",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.i}});Object.defineProperty(exports,"validator",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.k}});Object.defineProperty(exports,"whichSync",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.F}});Object.defineProperty(exports,"zValidator",{enumerable:true,get:function(){return chunkGJWUV3QH_cjs.l}});Object.defineProperty(exports,"Filesystem",{enumerable:true,get:function(){return chunkHJFBORDG_cjs.d}});Object.defineProperty(exports,"Glob",{enumerable:true,get:function(){return chunkHJFBORDG_cjs.b}});Object.defineProperty(exports,"MIME_TYPES",{enumerable:true,get:function(){return chunkHJFBORDG_cjs.c}});Object.defineProperty(exports,"Wildcard",{enumerable:true,get:function(){return chunkHJFBORDG_cjs.a}});Object.defineProperty(exports,"Log",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.m}});Object.defineProperty(exports,"PackageRegistry",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.o}});Object.defineProperty(exports,"Semver",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.n}});Object.defineProperty(exports,"addMinutesInTimezone",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.l}});Object.defineProperty(exports,"formatLocalISO",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.a}});Object.defineProperty(exports,"formatLocalISOCompact",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.b}});Object.defineProperty(exports,"formatLogTime",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.f}});Object.defineProperty(exports,"formatLogTimeMs",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.g}});Object.defineProperty(exports,"getTimezoneOffset",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.h}});Object.defineProperty(exports,"getTimezoneParts",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.i}});Object.defineProperty(exports,"isValidTimezone",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.j}});Object.defineProperty(exports,"normalizeTimezone",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.k}});Object.defineProperty(exports,"now",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.c}});Object.defineProperty(exports,"nowLocalISO",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.d}});Object.defineProperty(exports,"parseLocalISO",{enumerable:true,get:function(){return chunkPGUMSM7F_cjs.e}});exports.AsyncQueue=Ne;exports.DEFAULT_LANG=Wt;exports.NamedError=ne;exports.SUPPORTED_LANGS=qt;exports.abortAfter=Be;exports.abortAfterAny=Ht;exports.defer=Ut;exports.findLast=pt;exports.fn=xt;exports.formatDuration=Bt;exports.getDirectory=$t;exports.getFileExtension=Dt;exports.getFilename=ze;exports.getFilenameTruncated=It;exports.getProxyConfig=Zt;exports.getProxyUrl=Yt;exports.git=Tt;exports.iife=Ot;exports.loadEnv=wt;exports.loadTextFile=At;exports.loadTextFileAsync=kt;exports.parseModelId=vt;exports.proxied=Jt;exports.resolveLocaleLang=Gt;exports.retry=Se;exports.signal=Kt;exports.truncateMiddle=Nt;exports.updateSchema=tr;exports.withTimeout=Qt;exports.work=Vt;
22
+ `,b.push(H(M));let D=v.value;if(typeof D=="string")if(X(D)){let ge=await G(D);if(k||(k=D.split("/").pop()||"file"),ge.byteLength>P)throw new Error(`File size ${ge.byteLength} exceeds limit ${P} bytes: ${k}`);b.push(ge);}else b.push(H(D));else if(Buffer.isBuffer(D)){if(D.byteLength>P)throw new Error(`Buffer size ${D.byteLength} exceeds limit ${P} bytes: ${v.name}`);b.push(new Uint8Array(D.buffer,D.byteOffset,D.byteLength));}else if(D instanceof Uint8Array){if(D.byteLength>P)throw new Error(`File size ${D.byteLength} exceeds limit ${P} bytes: ${v.name}`);b.push(D);}}let S=H(`\r
23
+ --${y}--`),O=H(`\r
24
+ --${y}\r
25
+ `),$=[];$.push(H(`--${y}\r
26
+ `));for(let v=0;v<b.length;v++)$.push(b[v]),v%2===1&&v<b.length-1&&($.push(O),$.push(H(`--${y}\r
27
+ `)));$.push(S);let L=$.reduce((v,P)=>v+P.length,0),j=new Uint8Array(L),B=0;for(let v of $)j.set(v,B),B+=v.length;return w(u,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${y}`,...p?.headers},body:j,timeout:E,...p})}f.postForm=e;function s(u,l,p){let y=new AbortController,b=y.signal;return (async()=>{try{let E={Accept:"text/event-stream",...p?.headers||{}},S=await fetch(u,{...p,headers:E,signal:b});if(!S.ok)throw new Error(`SSE connection failed: ${S.status}`);let O=S.body?.getReader();if(!O)throw new Error("SSE stream not available");let $=new TextDecoder("utf-8"),L="";for(;!b.aborted;){let{done:j,value:B}=await O.read();if(j)break;let v=$.decode(B,{stream:!0});L+=v;let P=L.split(`
28
+ `);L=P.pop()??"";for(let k of P)if(k.startsWith("data: ")){let M=k.slice(6);if(M==="[DONE]"){l.onComplete?.();return}l.onMessage?.(M);}}l.onComplete?.();}catch(E){E.name!=="AbortError"&&l.onError?.(E);}})(),()=>{y.abort();}}f.sse=s;})(exports.Fetch||(exports.Fetch={}));chunkK7PV4FXJ_cjs.e();exports.Slug=void 0;(o=>{let r=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],t=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function n(){return [r[Math.floor(Math.random()*r.length)],t[Math.floor(Math.random()*t.length)]].join("-")}o.create=n;})(exports.Slug||(exports.Slug={}));chunkK7PV4FXJ_cjs.e();exports.Schema=void 0;(a=>(a.positiveInt=z__default.default.union([z__default.default.number(),z__default.default.string().regex(/^\d+$/,"must be a positive integer (digits only)")]).transform(c=>typeof c=="number"?c:Number.parseInt(c,10)).pipe(z__default.default.number().int().positive()),a.nonNegativeInt=z__default.default.union([z__default.default.number(),z__default.default.string().regex(/^\d+$/,"must be a non-negative integer (digits only)")]).transform(c=>typeof c=="number"?c:Number.parseInt(c,10)).pipe(z__default.default.number().int().nonnegative()),a.booleanLike=z__default.default.union([z__default.default.boolean(),z__default.default.string()]).transform((c,g)=>{if(typeof c=="boolean")return c;let i=c.trim().toLowerCase();return ["true","1","yes","on"].includes(i)?true:["false","0","no","off"].includes(i)?false:(g.addIssue({code:"custom",message:`invalid boolean string: ${JSON.stringify(c)}`}),z__default.default.NEVER)}).pipe(z__default.default.boolean()),a.stringArray=(c=",")=>z__default.default.union([z__default.default.array(z__default.default.string()),z__default.default.string()]).transform(g=>Array.isArray(g)?g:g.split(c).map(d=>d.trim()).filter(d=>d.length>0)).pipe(z__default.default.array(z__default.default.string()))))(exports.Schema||(exports.Schema={}));chunkK7PV4FXJ_cjs.e();function We(r){let t=new AbortController,n=setTimeout(t.abort.bind(t),r);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(n)}}function Ht(r,...t){let n=We(r);return {signal:AbortSignal.any([n.signal,...t]),clearTimeout:n.clearTimeout}}chunkK7PV4FXJ_cjs.e();exports.Archive=void 0;(t=>{async function r(n,o){if(process.platform==="win32"){let a=Pe__default.default.resolve(n),c=Pe__default.default.resolve(o),g=`Expand-Archive -Path '${a}' -DestinationPath '${c}' -Force`,i=await chunkQBLZGSTI_cjs.G.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${g}"`);if(i.code!==0)throw new Error(`PowerShell exited with code ${i.code}: ${i.stderr}`)}else {let a=`unzip -o -q ${n} -d ${o}`,c=await chunkQBLZGSTI_cjs.G.run(void 0,a);if(c.code!==0)throw new Error(`unzip exited with code ${c.code}: ${c.stderr}`)}}t.extractZip=r;})(exports.Archive||(exports.Archive={}));chunkK7PV4FXJ_cjs.e();exports.Color=void 0;(o=>{function r(a){return a?/^#[0-9a-fA-F]{6}$/.test(a):false}o.isValidHex=r;function t(a){let c=parseInt(a.slice(1,3),16),g=parseInt(a.slice(3,5),16),i=parseInt(a.slice(5,7),16);return {r:c,g,b:i}}o.hexToRgb=t;function n(a){if(!r(a))return;let{r:c,g,b:i}=t(a);return `\x1B[38;2;${c};${g};${i}m\x1B[1m`}o.hexToAnsiBold=n;})(exports.Color||(exports.Color={}));chunkK7PV4FXJ_cjs.e();exports.Context=void 0;(n=>{class r extends Error{constructor(c){super(`No context found for ${c}`);chunkK7PV4FXJ_cjs.c(this,"name",c);}}n.NotFound=r;function t(o){let a=new async_hooks.AsyncLocalStorage;return {use(){let c=a.getStore();if(!c)throw new r(o);return c},provide(c,g){return a.run(c,g)}}}n.create=t;})(exports.Context||(exports.Context={}));chunkK7PV4FXJ_cjs.e();function Gt(r){return {[Symbol.dispose](){r();},[Symbol.asyncDispose](){return Promise.resolve(r())}}}chunkK7PV4FXJ_cjs.e();exports.EventLoop=void 0;(t=>{async function r(){return new Promise(n=>{let o=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?n():setImmediate(o);};o();})}t.wait=r;})(exports.EventLoop||(exports.EventLoop={}));chunkK7PV4FXJ_cjs.e();function Wt(r){if(r<=0)return "";if(r<60)return `${r}s`;if(r<3600){let n=Math.floor(r/60),o=r%60;return o>0?`${n}m ${o}s`:`${n}m`}if(r<86400){let n=Math.floor(r/3600),o=Math.floor(r%3600/60);return o>0?`${n}h ${o}m`:`${n}h`}if(r<604800){let n=Math.floor(r/86400);return n===1?"~1 day":`~${n} days`}let t=Math.floor(r/604800);return t===1?"~1 week":`~${t} weeks`}chunkK7PV4FXJ_cjs.e();exports.Grep=void 0;(G=>{let r=chunkPVTJQVMO_cjs.m.create({service:"grep"});async function t(){return n()}G.filepath=t;let n=chunkQBLZGSTI_cjs.b(async()=>{let e=await chunkQBLZGSTI_cjs.D.which("rg");if(!e)return null;try{if(!(await ie__default.default.stat(e)).isFile())return null}catch{return null}try{let s=await chunkQBLZGSTI_cjs.D.run([e,"--version"],{timeout:5e3});if(s.code!==0||!s.stdout.startsWith("ripgrep "))return r.warn("rg failed self-test, falling back to pure JS",{filepath:e,code:s.code,stderr:s.stderr.slice(0,200)}),null}catch(s){return r.warn("rg spawn failed during self-test, falling back to pure JS",{filepath:e,error:s.message.slice(0,200)}),null}return e});async function o(){return await t()!==null}G.isUsingRipgrep=o;async function*a(e){e.signal?.throwIfAborted();let s=await t();s?yield*c(s,e):(r.debug("ripgrep not available, using pure JS fallback for files()",{cwd:e.cwd}),yield*g(e));}G.files=a;async function*c(e,s){s.signal?.throwIfAborted();let f=["--files","--glob=!.git/*"];s.follow&&f.push("--follow");let u=s.hidden!==false;if(s.maxDepth!==void 0&&f.push(`--max-depth=${s.maxDepth}`),s.glob)for(let y of s.glob)f.push(`--glob=${y}`);try{if(!(await ie__default.default.stat(s.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${s.cwd}'`),{code:"ENOTDIR",errno:-20,path:s.cwd})}catch(y){throw y.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${s.cwd}'`),{code:"ENOENT",errno:-2,path:s.cwd}):y}let l=await chunkQBLZGSTI_cjs.D.run([e,...f],{cwd:s.cwd});if(l.code!==0&&l.code!==1)return;let p=l.stdout.split(/\r?\n/);for(let y of p){s.signal?.throwIfAborted();let b=y.trim();if(!b)continue;let I=chunkAJU5GBQB_cjs.d.toUnixPath(b);!u&&I.split("/").some(E=>E.startsWith("."))||(yield I);}}async function*g(e){e.signal?.throwIfAborted();try{if(!(await ie__default.default.stat(e.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${e.cwd}'`),{code:"ENOTDIR",errno:-20,path:e.cwd})}catch(E){throw E.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${e.cwd}'`),{code:"ENOENT",errno:-2,path:e.cwd}):E}let s=[],f=[];if(e.glob)for(let E of e.glob)E.startsWith("!")?f.push(E.slice(1)):s.push(E);let u=s.length>0?R(s):["**/*"],l=e.hidden!==false,p=new Set,y=chunkAJU5GBQB_cjs.b.DEFAULT_MAX_DEPTH,b;e.maxDepth===void 0?b=y:e.maxDepth<0?b=1:b=e.maxDepth+1;let I=Math.min(Math.max(b,1),y);for(let E of u){e.signal?.throwIfAborted();let S=await chunkAJU5GBQB_cjs.b.scan(E,{cwd:e.cwd,absolute:false,include:"file",dot:l,symlink:e.follow??false,maxDepth:I,ignore:f});for(let O of S)!l&&O.split("/").some($=>$.startsWith("."))||p.add(O);}for(let E of Array.from(p).sort())e.signal?.throwIfAborted(),yield E;e.signal?.throwIfAborted();}async function i(e){r.debug("tree",{cwd:e.cwd}),e.signal?.throwIfAborted();let s=e.hidden!==false,f=e.glob??[],u=f.filter(P=>!P.startsWith("!")),l=f.filter(P=>P.startsWith("!")).map(P=>P.slice(1)),p=u.length>0?u:["**/*"],y=new Set,b=[];for(let P of p){e.signal?.throwIfAborted();let k=await chunkAJU5GBQB_cjs.b.scan(P,{cwd:e.cwd,absolute:false,include:"file",dot:s,symlink:false,maxDepth:chunkAJU5GBQB_cjs.b.DEFAULT_MAX_DEPTH});for(let M of k)y.has(M)||(y.add(M),b.push(M));}let I=b.filter(P=>{for(let k of l)if(chunkAJU5GBQB_cjs.b.match(k,P))return false;return true});function E(P,k){let M=P.children.get(k);if(M)return M;let D={name:k,children:new Map};return P.children.set(k,D),D}let S={children:new Map};for(let P of I){let k=P.split("/");if(k.length<2)continue;let M=S;for(let D of k.slice(0,-1))M=E(M,D);}let O=Array.from(S.children.values()).sort((P,k)=>P.name.localeCompare(k.name)),$=e.limit??Number.POSITIVE_INFINITY,L=[],j=O.map(P=>({node:P,path:P.name})),B=0,v=0;for(;j.length>0;){let P=j.shift();if(!P)break;if(B++,v<$){L.push(P.path),v++;for(let k of Array.from(P.node.children.values()).sort((M,D)=>M.name.localeCompare(D.name))){if(v>=$)break;j.push({node:k,path:`${P.path}/${k.name}`});}}}return B>v&&L.push(`[${v}/${B} shown, ${B-v} truncated]`),L.join(`
29
+ `)}G.tree=i;async function d(e){let s=await t();return s?x(s,e):(r.debug("ripgrep not available, using pure JS fallback for search()",{cwd:e.cwd,pattern:e.pattern}),w(e))}G.search=d;async function x(e,s){let f=["--json","--glob=!.git/*"];if(s.follow&&f.push("--follow"),s.glob)for(let b of s.glob)f.push(`--glob=${b}`);s.limit&&f.push(`--max-count=${s.limit}`),f.push("--"),f.push(s.pattern);let u=await chunkQBLZGSTI_cjs.D.run([e,...f],{cwd:s.cwd});if(u.code!==0)return [];let l=s.hidden!==false,p=u.stdout.split(/\r?\n/).filter(Boolean),y=[];for(let b of p)try{let I=JSON.parse(b);if(I?.type!=="match")continue;let E=I.data;if(!E?.path?.text||!E?.lines?.text)continue;let S=chunkAJU5GBQB_cjs.d.toUnixPath(E.path.text);if(!l&&S.split("/").some(O=>O.startsWith(".")))continue;if(y.push({path:S,lines:E.lines.text,line_number:E.line_number,absolute_offset:E.absolute_offset??0}),s.limit&&y.length>=s.limit)break}catch{}return y}async function w(e){let s;try{s=new RegExp(e.pattern);}catch{return []}try{if(!(await ie__default.default.stat(e.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${e.cwd}'`),{code:"ENOTDIR",errno:-20,path:e.cwd})}catch(O){throw O.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${e.cwd}'`),{code:"ENOENT",errno:-2,path:e.cwd}):O}let f=[],u=[];if(e.glob)for(let O of e.glob)O.startsWith("!")?u.push(O):f.push(O);let p=R(u).map(O=>O.startsWith("!")?O.slice(1):O),y=e.hidden!==false,b=[],I=f.length>0?R(f):["**/*"],E=new Set,S=[];for(let O of I){e.signal?.throwIfAborted();let $=await chunkAJU5GBQB_cjs.b.scan(O,{cwd:e.cwd,absolute:false,include:"file",dot:y,symlink:e.follow??false,maxDepth:void 0,ignore:p});for(let L of $)E.has(L)||(E.add(L),S.push(L));}for(let O of S){if(e.signal?.throwIfAborted(),e.limit&&b.length>=e.limit)break;let $=chunkAJU5GBQB_cjs.d.join(e.cwd,O),L;try{L=await ie__default.default.readFile($,"utf-8");}catch{continue}let j=L.split(/\r?\n/),B=0;for(let v=0;v<j.length;v++){let P=j[v]??"";if(s.test(P)&&(b.push({path:O,lines:P,line_number:v+1,absolute_offset:B}),e.limit&&b.length>=e.limit))break;B+=Buffer.byteLength(P,"utf-8")+1;}}return b}function A(e,s){return chunkAJU5GBQB_cjs.a.match(e,s)}G.match=A;let T=chunkQBLZGSTI_cjs.a(async()=>await t());async function h(){return await T()}G.filepathCached=h;function R(e){let s=[];for(let f of e){if(f.startsWith("!")){let l=f.slice(1);s.push(`!${N(l)}`);continue}let u=F(f);for(let l of u)s.push(C(l));}return s}function N(e){return !e||e.startsWith("**")||e.includes("/")?e:/[*?[\]]/.test(e)?`**/${e}`:`**/${e}/**`}function F(e){let s=q(e);if(s===-1)return [e];let f=H(e,s);if(f===-1)return [e];let u=e.slice(s+1,f),l=Y(u);if(!l||l.length<=1)return [e];let p=e.slice(0,s),y=e.slice(f+1);return l.map(b=>p+b+y)}function C(e){return !e||e.includes("/")||e.startsWith("**")?e:`**/${e}`}function q(e){for(let f=0;f<e.length;f++){let u=e[f];if(u==="\\"){f++;continue}if(u==="{"){return f;}}return -1}function H(e,s){for(let f=s+1;f<e.length;f++){let u=e[f];if(u==="\\"){f++;continue}if(u==="}")return f}return -1}function Y(e){return e?e.split(","):null}G._ready=chunkQBLZGSTI_cjs.a(async()=>{let e=await t();return r.debug("Grep initialized",{ripgrep:e?"available":"fallback (pure JS)"}),e});})(exports.Grep||(exports.Grep={}));chunkK7PV4FXJ_cjs.e();exports.Keybind=void 0;(g=>{function r(i,d){if(i===d)return true;if(typeof i!="object"||typeof d!="object"||i===null||d===null)return false;let x=Object.keys(i),w=Object.keys(d);if(x.length!==w.length)return false;for(let A of x)if(!w.includes(A)||!r(i[A],d[A]))return false;return true}function t(i){return {...i,super:i.super??false}}function n(i,d){return i?r(t(i),t(d)):false}g.match=n;function o(i,d=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:d}}g.fromParsedKey=o;function a(i){if(!i)return "";let d=[];i.ctrl&&d.push("ctrl"),i.meta&&d.push("alt"),i.super&&d.push("super"),i.shift&&d.push("shift"),i.name&&(i.name==="delete"?d.push("del"):d.push(i.name));let x=d.join("+");return i.leader&&(x=x?`<leader> ${x}`:"<leader>"),x}g.keyToString=a;function c(i){return i==="none"?[]:i.split(",").map(d=>{let w=d.replace(/<leader>/g,"leader+").toLowerCase().split("+"),A={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let T of w)switch(T){case "ctrl":A.ctrl=true;break;case "alt":case "meta":case "option":A.meta=true;break;case "super":A.super=true;break;case "shift":A.shift=true;break;case "leader":A.leader=true;break;case "esc":A.name="escape";break;default:A.name=T;break}return A})}g.parse=c;})(exports.Keybind||(exports.Keybind={}));chunkK7PV4FXJ_cjs.e();exports.Locale=void 0;(T=>{T.SUPPORTED_LANGS=["zh-CN","en-US"],T.DEFAULT_LANG="zh-CN";function n(h,R="EASBOT_LANG"){let N=[h,process.env[R]?.trim()];for(let F of N)if(F&&T.SUPPORTED_LANGS.includes(F))return F;return T.DEFAULT_LANG}T.resolveLocaleLang=n;function o(h){return h.replace(/\b\w/g,R=>R.toUpperCase())}T.titlecase=o;function a(h){return new Date(h).toLocaleTimeString(void 0,{timeStyle:"short"})}T.time=a;function c(h){let R=new Date(h),N=a(h),F=R.toLocaleDateString();return `${N} \xB7 ${F}`}T.datetime=c;function g(h){let R=new Date(h),N=new Date;return R.getFullYear()===N.getFullYear()&&R.getMonth()===N.getMonth()&&R.getDate()===N.getDate()?a(h):c(h)}T.todayTimeOrDateTime=g;function i(h){return h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":h.toString()}T.number=i;function d(h){if(h<1e3)return `${h}ms`;if(h<6e4)return `${(h/1e3).toFixed(1)}s`;if(h<36e5){let F=Math.floor(h/6e4),C=Math.floor(h%6e4/1e3);return `${F}m ${C}s`}if(h<864e5){let F=Math.floor(h/36e5),C=Math.floor(h%36e5/6e4);return `${F}h ${C}m`}let R=Math.floor(h/36e5);return `${Math.floor(h%36e5/864e5)}d ${R}h`}T.duration=d;function x(h,R){return h.length<=R?h:h.slice(0,R-1)+"\u2026"}T.truncate=x;function w(h,R=35){if(h.length<=R)return h;let N="\u2026",F=Math.ceil((R-N.length)/2),C=Math.floor((R-N.length)/2);return h.slice(0,F)+N+h.slice(-C)}T.truncateMiddle=w;function A(h,R,N){return (h===1?R:N).replace("{}",h.toString())}T.pluralize=A;})(exports.Locale||(exports.Locale={}));var qt=exports.Locale.resolveLocaleLang,Xt=exports.Locale.SUPPORTED_LANGS,Jt=exports.Locale.DEFAULT_LANG;chunkK7PV4FXJ_cjs.e();var Yt=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"];function Vt(){return Yt.some(r=>process.env[r])}function Zt(){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy}function Kt(){let r=process.env.HTTP_PROXY||process.env.http_proxy,t=process.env.HTTPS_PROXY||process.env.https_proxy;return {http:r,https:t,enabled:!!(r||t)}}chunkK7PV4FXJ_cjs.e();var Le=class{constructor(){chunkK7PV4FXJ_cjs.c(this,"queue",[]);chunkK7PV4FXJ_cjs.c(this,"resolvers",[]);}push(t){let n=this.resolvers.shift();n?n(t):this.queue.push(t);}async next(){return this.queue.length>0?this.queue.shift():new Promise(t=>this.resolvers.push(t))}async*[Symbol.asyncIterator](){for(;;)yield await this.next();}};async function Qt(r,t,n){let o=[...t];await Promise.all(Array.from({length:r},async()=>{for(;;){let a=o.pop();if(a===void 0)return;await n(a);}}));}chunkK7PV4FXJ_cjs.e();function er(){let r,t=new Promise(n=>r=n);return {trigger(){return r()},wait(){return t}}}chunkK7PV4FXJ_cjs.e();function tr(r,t){let n;return Promise.race([r.then(o=>(clearTimeout(n),o)),new Promise((o,a)=>{n=setTimeout(()=>{a(new Error(`Operation timed out after ${t}ms`));},t);})])}chunkK7PV4FXJ_cjs.e();exports.Token=void 0;(g=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function o(i){if(!i)return 0;let d=String(i),x=(d.match(n)||[]).length,w=d.length-x,A=Math.round(x/1.5),T=Math.round(w/4);return Math.max(0,A+T)}g.estimate=o;function a(i){if(i==null)return 0;try{let d=typeof i=="string"?i:JSON.stringify(i);return o(d)}catch{return 0}}g.estimateObject=a;function c(i){if(i.total!==void 0&&i.total>0)return i.total;let d=i.input??0,x=i.output??0,w=i.cache?.read??0,A=i.cache?.write??0;return d+x+w+A}g.total=c;})(exports.Token||(exports.Token={}));chunkK7PV4FXJ_cjs.e();function nr(r){let t={},n=r.shape??r.required().shape;for(let[o,a]of Object.entries(n))t[o]=a.nullable().optional();return z__default.default.object(t)}Object.defineProperty(exports,"Lock",{enumerable:true,get:function(){return chunkIVVWAT7R_cjs.a}});Object.defineProperty(exports,"$",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.H}});Object.defineProperty(exports,"HTTPException",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.j}});Object.defineProperty(exports,"Hono",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.d}});Object.defineProperty(exports,"Lazy",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.c}});Object.defineProperty(exports,"PKG",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.D}});Object.defineProperty(exports,"PkgShell",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.A}});Object.defineProperty(exports,"Shell",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.G}});Object.defineProperty(exports,"compress",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.g}});Object.defineProperty(exports,"cors",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.e}});Object.defineProperty(exports,"createNodeWebSocket",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.s}});Object.defineProperty(exports,"createPkgShell",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.B}});Object.defineProperty(exports,"createRESTServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.p}});Object.defineProperty(exports,"createRPCServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.n}});Object.defineProperty(exports,"createServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.m}});Object.defineProperty(exports,"createStreamingServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.r}});Object.defineProperty(exports,"createWebSocketServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.q}});Object.defineProperty(exports,"detectPlatform",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.y}});Object.defineProperty(exports,"escapeCommandArg",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.w}});Object.defineProperty(exports,"escapeCommandArgSafe",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.x}});Object.defineProperty(exports,"joinCommandArgs",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.z}});Object.defineProperty(exports,"lazy",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.a}});Object.defineProperty(exports,"lazyAsync",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.b}});Object.defineProperty(exports,"logger",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.f}});Object.defineProperty(exports,"needsShellExecution",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.u}});Object.defineProperty(exports,"parseCommand",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.t}});Object.defineProperty(exports,"parseCommandWithOptions",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.v}});Object.defineProperty(exports,"readableStreamToText",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.E}});Object.defineProperty(exports,"secureHeaders",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.h}});Object.defineProperty(exports,"shell",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.C}});Object.defineProperty(exports,"startServer",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.o}});Object.defineProperty(exports,"timeout",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.i}});Object.defineProperty(exports,"validator",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.k}});Object.defineProperty(exports,"whichSync",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.F}});Object.defineProperty(exports,"zValidator",{enumerable:true,get:function(){return chunkQBLZGSTI_cjs.l}});Object.defineProperty(exports,"Filesystem",{enumerable:true,get:function(){return chunkAJU5GBQB_cjs.d}});Object.defineProperty(exports,"Glob",{enumerable:true,get:function(){return chunkAJU5GBQB_cjs.b}});Object.defineProperty(exports,"MIME_TYPES",{enumerable:true,get:function(){return chunkAJU5GBQB_cjs.c}});Object.defineProperty(exports,"Wildcard",{enumerable:true,get:function(){return chunkAJU5GBQB_cjs.a}});Object.defineProperty(exports,"Log",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.m}});Object.defineProperty(exports,"PackageRegistry",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.o}});Object.defineProperty(exports,"Semver",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.n}});Object.defineProperty(exports,"addMinutesInTimezone",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.l}});Object.defineProperty(exports,"formatLocalISO",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.a}});Object.defineProperty(exports,"formatLocalISOCompact",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.b}});Object.defineProperty(exports,"formatLogTime",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.f}});Object.defineProperty(exports,"formatLogTimeMs",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.g}});Object.defineProperty(exports,"getTimezoneOffset",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.h}});Object.defineProperty(exports,"getTimezoneParts",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.i}});Object.defineProperty(exports,"isValidTimezone",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.j}});Object.defineProperty(exports,"normalizeTimezone",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.k}});Object.defineProperty(exports,"now",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.c}});Object.defineProperty(exports,"nowLocalISO",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.d}});Object.defineProperty(exports,"parseLocalISO",{enumerable:true,get:function(){return chunkPVTJQVMO_cjs.e}});exports.AsyncQueue=Le;exports.DEFAULT_LANG=Jt;exports.NamedError=oe;exports.SUPPORTED_LANGS=Xt;exports.abortAfter=We;exports.abortAfterAny=Ht;exports.defer=Gt;exports.findLast=mt;exports.fn=bt;exports.formatDuration=Wt;exports.getDirectory=Dt;exports.getFileExtension=Nt;exports.getFilename=Ue;exports.getFilenameTruncated=Ft;exports.getProxyConfig=Kt;exports.getProxyUrl=Zt;exports.git=Pt;exports.iife=_t;exports.loadEnv=Et;exports.loadTextFile=Ot;exports.loadTextFileAsync=vt;exports.parseModelId=$t;exports.proxied=Vt;exports.resolveLocaleLang=qt;exports.retry=Se;exports.signal=er;exports.truncateMiddle=Lt;exports.updateSchema=nr;exports.withTimeout=tr;exports.work=Qt;
package/dist/index.d.cts CHANGED
@@ -1191,6 +1191,13 @@ declare function escapeCommandArgSafe(arg: string, platform?: 'windows' | 'unix'
1191
1191
  declare function detectPlatform(): 'windows' | 'unix';
1192
1192
  declare function joinCommandArgs(command: string, args: string[], platform?: 'windows' | 'unix'): string;
1193
1193
 
1194
+ declare namespace Schema {
1195
+ const positiveInt: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>;
1196
+ const nonNegativeInt: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>;
1197
+ const booleanLike: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>, z.ZodBoolean>;
1198
+ const stringArray: (separator?: string | RegExp) => z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodString]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodString>>;
1199
+ }
1200
+
1194
1201
  declare namespace Identifier {
1195
1202
  const prefixes: {
1196
1203
  readonly event: "evt";
@@ -1480,4 +1487,4 @@ declare namespace Log {
1480
1487
  function create(tags?: Record<string, any>): Logger;
1481
1488
  }
1482
1489
 
1483
- export { $, Archive, AsyncQueue, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, EventLoop, Fetch, type FetchResponse, Filesystem, Fn, type GitResult, Glob, Grep, Identifier, Ignore, Keybind, type Lang, Lazy, Locale, Lock, Log, MIME_TYPES, Markdown, type MiddlewareDefinition, NamedError, type NodeSpawnObjectArgs, type NodeSpawnOptions, type NodeSpawnResult, type NodeWhichOptions, PKG, PackageRegistry, type ParseCommandResult, type ParsedVersion, PkgShell, type ProxyOptions, type RPCMethod, type RequestOptions, type RouteDefinition, type SSEHandler, SUPPORTED_LANGS, Semver, type ServerOptions, SessionTitle, Shell, Slug, type StreamHandler, type TimezoneDateParts, Token, TruncateContent, type WebSocketHandler, type WebSocketRouteDefinition, Wildcard, abortAfter, abortAfterAny, addMinutesInTimezone, createPkgShell, createRESTServer, createRPCServer, createServer, createStreamingServer, createWebSocketServer, defer, detectPlatform, escapeCommandArg, escapeCommandArgSafe, findLast, fn, formatDuration, formatLocalISO, formatLocalISOCompact, formatLogTime, formatLogTimeMs, getDirectory, getFileExtension, getFilename, getFilenameTruncated, getProxyConfig, getProxyUrl, getTimezoneOffset, getTimezoneParts, git, iife, isValidTimezone, joinCommandArgs, lazy, lazyAsync, loadEnv, loadTextFile, loadTextFileAsync, needsShellExecution, normalizeTimezone, now, nowLocalISO, parseCommand, parseCommandWithOptions, parseLocalISO, parseModelId, proxied, readableStreamToText, resolveLocaleLang, retry, shell, signal, startServer, truncateMiddle, updateSchema, whichSync, withTimeout, work };
1490
+ export { $, Archive, AsyncQueue, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, EventLoop, Fetch, type FetchResponse, Filesystem, Fn, type GitResult, Glob, Grep, Identifier, Ignore, Keybind, type Lang, Lazy, Locale, Lock, Log, MIME_TYPES, Markdown, type MiddlewareDefinition, NamedError, type NodeSpawnObjectArgs, type NodeSpawnOptions, type NodeSpawnResult, type NodeWhichOptions, PKG, PackageRegistry, type ParseCommandResult, type ParsedVersion, PkgShell, type ProxyOptions, type RPCMethod, type RequestOptions, type RouteDefinition, type SSEHandler, SUPPORTED_LANGS, Schema, Semver, type ServerOptions, SessionTitle, Shell, Slug, type StreamHandler, type TimezoneDateParts, Token, TruncateContent, type WebSocketHandler, type WebSocketRouteDefinition, Wildcard, abortAfter, abortAfterAny, addMinutesInTimezone, createPkgShell, createRESTServer, createRPCServer, createServer, createStreamingServer, createWebSocketServer, defer, detectPlatform, escapeCommandArg, escapeCommandArgSafe, findLast, fn, formatDuration, formatLocalISO, formatLocalISOCompact, formatLogTime, formatLogTimeMs, getDirectory, getFileExtension, getFilename, getFilenameTruncated, getProxyConfig, getProxyUrl, getTimezoneOffset, getTimezoneParts, git, iife, isValidTimezone, joinCommandArgs, lazy, lazyAsync, loadEnv, loadTextFile, loadTextFileAsync, needsShellExecution, normalizeTimezone, now, nowLocalISO, parseCommand, parseCommandWithOptions, parseLocalISO, parseModelId, proxied, readableStreamToText, resolveLocaleLang, retry, shell, signal, startServer, truncateMiddle, updateSchema, whichSync, withTimeout, work };
package/dist/index.d.ts CHANGED
@@ -1191,6 +1191,13 @@ declare function escapeCommandArgSafe(arg: string, platform?: 'windows' | 'unix'
1191
1191
  declare function detectPlatform(): 'windows' | 'unix';
1192
1192
  declare function joinCommandArgs(command: string, args: string[], platform?: 'windows' | 'unix'): string;
1193
1193
 
1194
+ declare namespace Schema {
1195
+ const positiveInt: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>;
1196
+ const nonNegativeInt: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>;
1197
+ const booleanLike: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>, z.ZodBoolean>;
1198
+ const stringArray: (separator?: string | RegExp) => z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodString]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodString>>;
1199
+ }
1200
+
1194
1201
  declare namespace Identifier {
1195
1202
  const prefixes: {
1196
1203
  readonly event: "evt";
@@ -1480,4 +1487,4 @@ declare namespace Log {
1480
1487
  function create(tags?: Record<string, any>): Logger;
1481
1488
  }
1482
1489
 
1483
- export { $, Archive, AsyncQueue, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, EventLoop, Fetch, type FetchResponse, Filesystem, Fn, type GitResult, Glob, Grep, Identifier, Ignore, Keybind, type Lang, Lazy, Locale, Lock, Log, MIME_TYPES, Markdown, type MiddlewareDefinition, NamedError, type NodeSpawnObjectArgs, type NodeSpawnOptions, type NodeSpawnResult, type NodeWhichOptions, PKG, PackageRegistry, type ParseCommandResult, type ParsedVersion, PkgShell, type ProxyOptions, type RPCMethod, type RequestOptions, type RouteDefinition, type SSEHandler, SUPPORTED_LANGS, Semver, type ServerOptions, SessionTitle, Shell, Slug, type StreamHandler, type TimezoneDateParts, Token, TruncateContent, type WebSocketHandler, type WebSocketRouteDefinition, Wildcard, abortAfter, abortAfterAny, addMinutesInTimezone, createPkgShell, createRESTServer, createRPCServer, createServer, createStreamingServer, createWebSocketServer, defer, detectPlatform, escapeCommandArg, escapeCommandArgSafe, findLast, fn, formatDuration, formatLocalISO, formatLocalISOCompact, formatLogTime, formatLogTimeMs, getDirectory, getFileExtension, getFilename, getFilenameTruncated, getProxyConfig, getProxyUrl, getTimezoneOffset, getTimezoneParts, git, iife, isValidTimezone, joinCommandArgs, lazy, lazyAsync, loadEnv, loadTextFile, loadTextFileAsync, needsShellExecution, normalizeTimezone, now, nowLocalISO, parseCommand, parseCommandWithOptions, parseLocalISO, parseModelId, proxied, readableStreamToText, resolveLocaleLang, retry, shell, signal, startServer, truncateMiddle, updateSchema, whichSync, withTimeout, work };
1490
+ export { $, Archive, AsyncQueue, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, EventLoop, Fetch, type FetchResponse, Filesystem, Fn, type GitResult, Glob, Grep, Identifier, Ignore, Keybind, type Lang, Lazy, Locale, Lock, Log, MIME_TYPES, Markdown, type MiddlewareDefinition, NamedError, type NodeSpawnObjectArgs, type NodeSpawnOptions, type NodeSpawnResult, type NodeWhichOptions, PKG, PackageRegistry, type ParseCommandResult, type ParsedVersion, PkgShell, type ProxyOptions, type RPCMethod, type RequestOptions, type RouteDefinition, type SSEHandler, SUPPORTED_LANGS, Schema, Semver, type ServerOptions, SessionTitle, Shell, Slug, type StreamHandler, type TimezoneDateParts, Token, TruncateContent, type WebSocketHandler, type WebSocketRouteDefinition, Wildcard, abortAfter, abortAfterAny, addMinutesInTimezone, createPkgShell, createRESTServer, createRPCServer, createServer, createStreamingServer, createWebSocketServer, defer, detectPlatform, escapeCommandArg, escapeCommandArgSafe, findLast, fn, formatDuration, formatLocalISO, formatLocalISOCompact, formatLogTime, formatLogTimeMs, getDirectory, getFileExtension, getFilename, getFilenameTruncated, getProxyConfig, getProxyUrl, getTimezoneOffset, getTimezoneParts, git, iife, isValidTimezone, joinCommandArgs, lazy, lazyAsync, loadEnv, loadTextFile, loadTextFileAsync, needsShellExecution, normalizeTimezone, now, nowLocalISO, parseCommand, parseCommandWithOptions, parseLocalISO, parseModelId, proxied, readableStreamToText, resolveLocaleLang, retry, shell, signal, startServer, truncateMiddle, updateSchema, whichSync, withTimeout, work };