@easbot/utils 0.3.16 → 0.3.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,29 +1,29 @@
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}
1
+ 'use strict';var chunkIVVWAT7R_cjs=require('./chunks/chunk-IVVWAT7R.cjs'),chunkKKCFNFFR_cjs=require('./chunks/chunk-KKCFNFFR.cjs'),chunkGVXRTRAT_cjs=require('./chunks/chunk-GVXRTRAT.cjs'),chunk5XHOPT4Y_cjs=require('./chunks/chunk-5XHOPT4Y.cjs'),chunkK7PV4FXJ_cjs=require('./chunks/chunk-K7PV4FXJ.cjs'),le=require('fs/promises'),U=require('zod'),crypto$1=require('crypto'),dotenv=require('dotenv'),Re=require('path'),xdgBasedir=require('xdg-basedir'),vt=require('os'),fs=require('fs'),url=require('url'),me=require('gray-matter'),undici=require('undici'),async_hooks=require('async_hooks');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var U__default=/*#__PURE__*/_interopDefault(U);var Re__default=/*#__PURE__*/_interopDefault(Re);var vt__default=/*#__PURE__*/_interopDefault(vt);var me__default=/*#__PURE__*/_interopDefault(me);chunkK7PV4FXJ_cjs.e();chunkK7PV4FXJ_cjs.e();function wt(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 m=0,i=o.length-1;for(;m<=i;){let u=Math.floor((m+i)/2),x=o[u];if(x===void 0)break;let b=c(x);if(b===a)return {found:true,index:u};b<a?m=u+1:i=u-1;}return {found:false,index:m}}n.search=r;function t(o,a,c){let m=c(a),i=0,u=o.length;for(;i<u;){let x=Math.floor((i+u)/2),b=o[x];if(b===void 0)break;c(b)<m?i=x+1:u=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(m){let i=new TextEncoder().encode(m),u=Array.from(i,x=>String.fromCharCode(x)).join("");return btoa(u).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}c.base64Encode=r;function t(m){let i=atob(m.replace(/-/g,"+").replace(/_/g,"/")),u=Uint8Array.from(i,x=>x.charCodeAt(0));return new TextDecoder().decode(u)}c.base64Decode=t;async function n(m,i="SHA-256"){let x=new TextEncoder().encode(m),b=await crypto.subtle.digest(i,x);return Array.from(new Uint8Array(b)).map(h=>h.toString(16).padStart(2,"0")).join("")}c.hash=n;function o(m){if(!m)return;let i=2166136261;for(let u=0;u<m.length;u++)i^=m.charCodeAt(u),i=Math.imul(i,16777619);return (i>>>0).toString(36)}c.checksum=o;function a(m,i=5e5){if(!m)return;if(m.length<=i)return o(m);let u=4096,b=[0,Math.floor(m.length*.25),Math.floor(m.length*.5),Math.floor(m.length*.75),m.length-u].map(S=>{let P=Math.max(0,Math.min(m.length-u,S-Math.floor(u/2)));return o(m.slice(P,P+u))??""}).join(":");return `${m.length}:${b}`}c.sampledChecksum=a;})(exports.Encode||(exports.Encode={}));chunkK7PV4FXJ_cjs.e();chunkK7PV4FXJ_cjs.e();exports.Identifier=void 0;(S=>{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(P){return U__default.default.string().startsWith(r[P])}S.schema=t;let n=26,o=0,a=0;function c(P,h){return i(P,false,h)}S.ascending=c;function m(P,h){return i(P,true,h)}S.descending=m;function i(P,h,T){if(!T)return x(P,h);if(!T.startsWith(r[P]))throw new Error(`ID ${T} does not start with ${r[P]}`);return T}function u(P){let h="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",T="",E=crypto$1.randomBytes(P);for(let k=0;k<P;k++){let N=E[k];N!==void 0&&(T+=h[N%62]);}return T}function x(P,h,T){let E=T??Date.now();E!==o&&(o=E,a=0),a++;let k=BigInt(E)*BigInt(4096)+BigInt(a);k=h?~k:k;let N=Buffer.alloc(6);for(let j=0;j<6;j++)N[j]=Number(k>>BigInt(40-8*j)&BigInt(255));return r[P]+"_"+N.toString("hex")+u(n-12)}S.create=x;function b(P){let h=P.split("_")[0];if(!h)return 0;let T=P.slice(h.length+1,h.length+13),E=BigInt("0x"+T);return Number(E/BigInt(4096))}S.timestamp=b;})(exports.Identifier||(exports.Identifier={}));exports.TruncateContent=void 0;(x=>{x.DEFAULT_MAX_CHARS=4e3,x.DIRECTION="head",x.DIR=chunkGVXRTRAT_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),x.GLOB=chunkGVXRTRAT_cjs.d.join(x.DIR,"*");let a=10080*60*1e3;function c(b,S,P){return P?`[Content truncated. Source: ${P}
2
+ Full ${S} saved to: ${b}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${S} saved to: ${b}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}async function m(b,S={}){let P=S.maxChars??4e3,h=S.direction??x.DIRECTION,T=S.label??"content",E=S.sourcePath,k=chunkGVXRTRAT_cjs.d.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),N=S.dir??k;if(b.length<=P)return {content:b,truncated:false};let j=exports.Identifier.ascending("context"),C=chunkGVXRTRAT_cjs.d.join(N,j);await le__default.default.mkdir(N,{recursive:true}).catch(()=>{}),await le__default.default.writeFile(C,b,"utf-8");let B=b.length-P,H;h==="head"?H=b.slice(0,P):H=b.slice(-P);let W=c(C,T,E),e=`${B} characters truncated`;return {content:h==="head"?`${H}
5
5
 
6
6
  ...${e}...
7
7
 
8
- ${G}`:`...${e}...
8
+ ${W}`:`...${e}...
9
9
 
10
- ${G}
10
+ ${W}
11
11
 
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(", ")}.
12
+ ${H}`,truncated:true,outputPath:C,originalLength:b.length,removedLength:B,label:T}}x.truncate=m;function i(b){return b.truncated?c(b.outputPath,b.label):""}x.formatHint=i;async function u(){let b=exports.Identifier.timestamp(exports.Identifier.create("context",false,Date.now()-a)),P=(await le__default.default.readdir(x.DIR).catch(()=>[])).filter(h=>h.startsWith("context_"));for(let h of P)exports.Identifier.timestamp(h)>=b||await le__default.default.unlink(chunkGVXRTRAT_cjs.d.join(x.DIR,h)).catch(()=>{});}x.cleanup=u;})(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(u=false){return (u?t:r)+chunk5XHOPT4Y_cjs.b(new Date)}i.createDefault=a;function c(u){return new RegExp(`^(${r}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(u)}i.isDefault=c;function m(u){let x=u.match(/^(.+) \(fork #(\d+)\)$/);if(x){let b=x[1]??"",S=parseInt(x[2]??"0",10);return `${b} (fork #${S+1})`}return `${u} (fork #1)`}i.getForked=m;})(exports.SessionTitle||(exports.SessionTitle={}));chunkK7PV4FXJ_cjs.e();var ie=class ie extends Error{static create(t,n){var c;let o=U__default.default.object({name:U__default.default.literal(t),data:n}).meta({ref:t}),a=(c=class extends ie{constructor(i,u){super(t,u);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(ie,"Unknown",ie.create("UnknownError",U__default.default.object({message:U__default.default.string()})));var ae=ie;chunkK7PV4FXJ_cjs.e();exports.Ignore=void 0;(t=>{function r(n){return new Pe(n)}t.create=r;})(exports.Ignore||(exports.Ignore={}));var Pe=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 m=o.startsWith("/");m&&(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:m,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 chunkGVXRTRAT_cjs.a.match(o,c);if(c.includes("/"))return chunkGVXRTRAT_cjs.a.match(o,c);let m=o.split("/");for(let i of m)if(chunkGVXRTRAT_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 Be(r,t){let n=o=>{let a;try{a=r.parse(o);}catch(c){throw console.trace("schema validation failure stack trace:"),c instanceof U.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 Rt=Be;exports.Fn=void 0;(t=>t.fn=Be)(exports.Fn||(exports.Fn={}));chunkK7PV4FXJ_cjs.e();var St=chunk5XHOPT4Y_cjs.m.create({service:"env"});function kt(r={}){let t=r.isDevelopment??false,n=t?".env.dev":".env",o=r.globalConfigPath??(xdgBasedir.xdgConfig?Re__default.default.join(xdgBasedir.xdgConfig,"easbot"):void 0),a=r.projectRoot??process.cwd(),c=a?Re__default.default.join(a,".easbot"):void 0,m=[{root:o,label:"global"},{root:a,label:"project"},{root:c,label:"workspace"}],i=["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"];for(let{root:u,label:x}of m){if(!u)continue;let b=Re__default.default.join(u,n),P=dotenv.config({path:b,override:true,debug:false,encoding:"utf-8",quiet:true}).parsed;if(P&&(t&&St.debug("loadEnv: loaded env file",{layer:x,path:b,keyCount:Object.keys(P).length}),t)){let h=i.filter(T=>T in P);h.length>0&&console.warn(`[loadEnv] ${b} contains keys that have no effect: ${h.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.`);}}}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,`---
15
+ How to override: export them in the shell before loadEnv() runs, or set process.env directly.`);}}}exports.Env=void 0;(m=>{let r=chunkKKCFNFFR_cjs.a(()=>({...process.env}));function t(){r.reset();}m.reset=t;async function n(i){return r()[i]}m.get=n;async function o(){return r()}m.all=o;async function a(i,u){r()[i]=u;}m.set=a;async function c(i){delete r()[i];}m.remove=c;})(exports.Env||(exports.Env={}));chunkK7PV4FXJ_cjs.e();var Dt="easbot-oauth-dummy-key",Nt=chunk5XHOPT4Y_cjs.m.create({service:"auth"});exports.Auth=void 0;(T=>{T.Oauth=U__default.default.object({type:U__default.default.literal("oauth"),refresh:U__default.default.string(),access:U__default.default.string(),expires:U__default.default.number(),accountId:U__default.default.string().optional(),enterpriseUrl:U__default.default.string().optional()}).meta({ref:"OAuth"}),T.Api=U__default.default.object({type:U__default.default.literal("api"),key:U__default.default.string()}).meta({ref:"ApiAuth"}),T.WellKnown=U__default.default.object({type:U__default.default.literal("wellknown"),key:U__default.default.string(),token:U__default.default.string()}).meta({ref:"WellKnownAuth"}),T.Info=U__default.default.discriminatedUnion("type",[T.Oauth,T.Api,T.WellKnown]).meta({ref:"Auth"});function a(){let E=process.env.EASBOT_DATA_PATH??(xdgBasedir.xdgData?Re__default.default.join(xdgBasedir.xdgData,"easbot"):vt__default.default.tmpdir());return Re__default.default.join(E,"auth.json")}let c=chunkKKCFNFFR_cjs.b(async()=>{let k=await chunkKKCFNFFR_cjs.D.file(a()).json().catch(()=>({})),N={};for(let[j,C]of Object.entries(k)){let B=T.Info.safeParse(C);if(B.success){N[j]=B.data;continue}Nt.warn("auth.json entry skipped: schema validation failed",{providerId:j,issues:B.error.issues.map(H=>({path:H.path,message:H.message}))});}return N}),m=Promise.resolve(),i=E=>{let k=m.then(E,E);return m=k.catch(()=>{}),k};async function u(E,k){let N=Re__default.default.dirname(E);fs.existsSync(N)||fs.mkdirSync(N,{recursive:true});let j=`${E}.${process.pid}.${Date.now()}.tmp`;await le.writeFile(j,JSON.stringify(k,null,2),{mode:384});try{await le.rename(j,E);}catch(C){try{let{unlink:B}=await import('fs/promises');await B(j);}catch{}throw await chunkKKCFNFFR_cjs.D.write(E,JSON.stringify(k,null,2)),C}}function x(){c.reset();}T.reset=x;async function b(E){return (await c())[E]}T.get=b;async function S(){return c()}T.all=S;async function P(E,k){await i(async()=>{let N=a(),j=await chunkKKCFNFFR_cjs.D.file(N).json().catch(()=>({})),C={};for(let[B,H]of Object.entries(j)){let W=T.Info.safeParse(H);W.success&&(C[B]=W.data);}C[E]=k,await u(N,C),c.reset();});}T.set=P;async function h(E){await i(async()=>{let k=a(),N=await chunkKKCFNFFR_cjs.D.file(k).json().catch(()=>({}));if(!(E in N)){c.reset();return}let j={};for(let[C,B]of Object.entries(N)){if(C===E)continue;let H=T.Info.safeParse(B);H.success&&(j[C]=H.data);}await u(k,j),c.reset();});}T.remove=h;})(exports.Auth||(exports.Auth={}));chunkK7PV4FXJ_cjs.e();async function Ft(r,t){if(process.env.EASBOT_CLIENT==="acp")try{let c=process.platform==="win32"?"cmd":void 0,m=chunkKKCFNFFR_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,u,x]=await Promise.all([m.exited,new Response(m.stdout).arrayBuffer(),new Response(m.stderr).arrayBuffer()]),b=Buffer.from(u),S=Buffer.from(x);return {exitCode:i,text:()=>b.toString(),stdout:b,stderr:S}}catch(c){let m=Buffer.from(c instanceof Error?c.message:String(c));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:m}}let n=t.env?{...process.env,...t.env}:void 0,o=chunkKKCFNFFR_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 qe(r){return r?Re.dirname(url.fileURLToPath(r)):typeof __dirname<"u"?__dirname:process.cwd()}function We(r,t,n=3){function o(a,c){if(c>n||!fs.existsSync(a))return null;try{let m=fs.readdirSync(a);for(let i of m){let u=Re.join(a,i);try{let x=fs.statSync(u);if(x.isFile()&&u.endsWith(t))return u;if(x.isDirectory()&&c<n){let b=o(u,c+1);if(b)return b}}catch{}}}catch{}return null}return o(r,0)}function Xe(r,t){let n=Re.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 m=Re.join(a,"assets","txt");if(fs.existsSync(m)){let x=We(m,o,5);if(x)return x}let i=Re.join(a,"dist","assets","txt");if(fs.existsSync(i)){let x=We(i,o,5);if(x)return x}let u=Re.join(a,"..");if(u===a)break;a=u;}return n}function zt(r,t){return chunkKKCFNFFR_cjs.c.lazy(()=>{try{let n=qe(t),o=Xe(n,r);return chunkKKCFNFFR_cjs.D.file(o).textSync()}catch(n){throw console.error(`Failed to load text file: ${r}`,n),n}})}function Ut(r,t){return chunkKKCFNFFR_cjs.c.lazy(async()=>{try{let n=qe(t),o=Xe(n,r);return await chunkKKCFNFFR_cjs.D.file(o).text()}catch(n){throw console.error(`Failed to load text file: ${r}`,n),n}})}chunkK7PV4FXJ_cjs.e();function Bt(r){return r()}chunkK7PV4FXJ_cjs.e();function Ht(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;(W=>{W.FILE_REGEX=/(?<![\w`])#(\S+)/g,W.SHELL_REGEX=/!`([^`]+)`/g;function n(e){return Array.from(e.matchAll(W.FILE_REGEX))}W.files=n;function o(e){return Array.from(e.matchAll(W.SHELL_REGEX))}W.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 d=s[0],l=(s[1]??"").split(`
16
+ `),p=[];for(let w of l){if(w.trim().startsWith("#")||w.trim()===""){p.push(w);continue}if(w.match(/^\s+/)){p.push(w);continue}let F=w.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/);if(!F){p.push(w);continue}let R=F[1],v=F?.[2]?.trim();if(v===""||v===">"||v==="|"||v?.startsWith('"')||v?.startsWith("'")){p.push(w);continue}if(v?.includes(":")){p.push(`${R}: |-`),p.push(` ${v}`);continue}p.push(w);}let y=p.join(`
17
+ `);return e.replace(d,`---
18
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
19
+ ---`)}W.fallbackSanitization=a;function c(e){if(typeof e!="string")return null;if(!e)return {data:{},content:""};try{let s=me__default.default(e);return {data:s.data??{},content:s.content??""}}catch{try{let s=me__default.default(a(e));return {data:s.data??{},content:s.content??""}}catch{return null}}}async function m(e){let s=await le.readFile(e,"utf-8"),d=c(s);if(!d){let f=`${e}: Failed to parse YAML frontmatter`;throw new W.FrontmatterError({path:e,message:f},{cause:new Error(f)})}return d}W.parse=m;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}}W.extractFrontmatter=i;function u(e,s){let d=e??"";return !s||Object.keys(s).length===0?me__default.default.stringify(d,void 0):me__default.default.stringify(d,s)}W.format=u,W.FrontmatterError=ae.create("ConfigFrontmatterError",U.z.object({path:U.z.string(),message:U.z.string()}));function b(e,s){return S(e,s)}W.replaceVariables=b;function S(e,s){return P(e,s)}W.renderTemplate=S;function P(e,s){let d=e;return d=h(d,s),d=k(d,s),d=C(d,s),d=j(d,s),d=d.replace(/\{\{([^}]*)\}\}/g,(f,l)=>{let p=l.trim();if(!p)return "";let y=ge(p,s);return y!==void 0?String(H(y)):""}),d}function h(e,s){let d=e.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(f,l,p,y,w)=>{if(!l||!p||!y||!w)return f;let{a:F,b:R}=T(p,s);return F===void 0||R===void 0?f:E(l,F,R)?y:w});return d=d.replace(/\{\{#if\s+\((eq|ne|gt|lt|gte|lte)\s+([^)]+)\)\}\}([\s\S]*?)\{\{\/if\}\}/g,(f,l,p,y)=>{if(!l||!p||!y)return f;let{a:w,b:F}=T(p,s);return w===void 0||F===void 0?f:E(l,w,F)?y:""}),d}function T(e,s){let d=/"([^"]*)"|(\w+(?:\.\w+|\[\d+\])*)/g,f=[],l;for(;(l=d.exec(e))!==null;)l[1]!==void 0?f.push(l[1]):l[2]!==void 0&&f.push(l[2]);if(f.length<2)return {a:void 0,b:void 0};let p=ge(f[0],s),y=ge(f[1],s);return {a:p,b:y}}function E(e,s,d){switch(e){case "eq":return s===d;case "ne":return s!==d;case "gt":return Number(s)>Number(d);case "lt":return Number(s)<Number(d);case "gte":return Number(s)>=Number(d);case "lte":return Number(s)<=Number(d);default:return false}}function k(e,s){let d=e.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(f,l,p,y)=>{if(!l||!p||!y)return f;let w=s[l];return N(w)?p:y});return d=d.replace(/\{\{#unless\s+(\w+)\}\}([\s\S]*?)\{\{\/unless\}\}/g,(f,l,p)=>{if(!l||!p)return f;let y=s[l];return N(y)?p:""}),d}function N(e){return e==null||e===false||e===""}function j(e,s){let d=e.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{(?:else)\}\}([\s\S]*?)\{\{\/if\}\}/g,(f,l,p,y)=>{if(!l||!p||!y)return f;let w=l in s?s[l]:void 0;return N(w)?y:p});return d=d.replace(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{\/if\}\}/g,(f,l,p)=>{if(!l||!p)return f;let y=l in s?s[l]:void 0;return N(y)?"":p}),d}function C(e,s){let d=e.match(/\{\{#each\s+([\w.]+)\}\}/);if(!d?.[1])return e;let f=d[1],l=ge(f,s),p=d[0],y=d.index,w=e.slice(y+p.length),F;if(Array.isArray(l))F=l.map((A,O)=>({key:String(O),value:A}));else if(l!==null&&typeof l=="object")F=Object.entries(l).map(([A,O])=>({key:A,value:O}));else return B(e,y,p,w);let R=1,v=-1,I=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,D;for(I.lastIndex=0;(D=I.exec(w))!==null;)if(D[0].startsWith("{{#each"))R++;else if(R--,R===0){v=D.index;break}if(v===-1)return e;let M=w.slice(0,v),q=e.slice(y,y+p.length+v+"{{/each}}".length);if(F.length===0)return e.replace(q,"");let _=F.map(({key:A,value:O},z)=>{let L={...s};return typeof O=="object"&&O!==null?(Object.assign(L,O),L.this=O,L["@value"]=O,L["@index"]=z,L["@key"]=A):(L.this=O,L["@value"]=O,L["@index"]=z,L["@key"]=A),P(M,L)});return e.replace(q,_.join(""))}function B(e,s,d,f,l){let p=/\{\{#each\s+[\w.]+\}\}|\{\{\/each\}\}/g,y=1,w=-1,F;for(p.lastIndex=0;(F=p.exec(f))!==null;)if(F[0].startsWith("{{#each"))y++;else if(y--,y===0){w=F.index;break}if(w===-1)return e;let v=e.slice(s,s+d.length+w+"{{/each}}".length);return e.replace(v,"")}function H(e){return e instanceof Date?chunk5XHOPT4Y_cjs.b(e):Array.isArray(e)?e.map(H).join(", "):e!==null&&typeof e=="object"?JSON.stringify(e,null,2):String(e)}W.formatVariableValue=H;})(exports.Markdown||(exports.Markdown={}));function ge(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 Je(r){if(!r)return "";let n=r.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Wt(r){if(!r)return "";let n=r.replace(/[/\\]+$/,"").split(/[/\\]/);return n.slice(0,n.length-1).join("/")+"/"}function qt(r){if(!r)return "";let t=r.split(".");return t[t.length-1]}function Xt(r,t=20){let n=Je(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 Jt(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 Yt=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Kt(r){if(!r)return false;let t=String(r instanceof Error?r.message:r).toLowerCase();return Yt.some(n=>t.includes(n))}async function Ie(r,t={}){let{attempts:n=3,delay:o=500,factor:a=2,maxDelay:c=1e4,retryIf:m=Kt}=t,i;for(let u=0;u<n;u++)try{return await r()}catch(x){if(i=x,u===n-1||!m(x))throw x;let b=Math.min(o*a**u,c);await new Promise(S=>setTimeout(S,b));}throw i}chunkK7PV4FXJ_cjs.e();exports.Fetch=void 0;(d=>{let r=chunk5XHOPT4Y_cjs.m.create({service:"fetch"}),t=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],n=false,o=null;function a(){return t.some(f=>{let l=process.env[f];return typeof l=="string"&&l.trim().length>0})}d.hasProxyConfigured=a;function c(){let f=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||f}d.getProxyUrl=c;function m(f={}){let l=f.httpProxy||f.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:f.connectTimeout||1e4,keepAliveTimeout:f.keepAliveTimeout||3e4});o=undici.getGlobalDispatcher(),undici.setGlobalDispatcher(p),n=true,r.info(`[Fetch] Global proxy enabled: ${l}`);}d.enableProxy=m;function i(){!n||!o||(undici.setGlobalDispatcher(o),n=false,o=null,r.info("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}d.disableProxy=i;function u(){return n}d.isProxyEnabled=u;async function x(f,l){let p=l?.timeout||3e4,y=l?.responseType||"json",{timeout:w,responseType:F,...R}=l||{},v=null,I=null;try{R.signal||(v=new AbortController,I=setTimeout(()=>v.abort(),p));let D=await fetch(f,{...R,signal:R.signal||v.signal});I&&clearTimeout(I);let M;switch(y){case "arrayBuffer":M=await D.arrayBuffer();break;case "blob":M=await D.blob();break;case "buffer":{let G=await D.arrayBuffer();M=Buffer.from(G);break}case "text":M=await D.text();break;default:{let G=await D.text();try{M=JSON.parse(G);}catch{M=G;}break}}return {ok:D.ok,status:D.status,statusText:D.statusText,headers:D.headers,data:M,url:D.url}}catch(D){throw I&&clearTimeout(I),D}}async function b(f,l){let p=l?.retries??0,y=l?.retryDelay??1e3,{retries:w,retryDelay:F,responseType:R,...v}=l||{};return Ie(()=>x(f,{...v,responseType:l?.responseType}),{attempts:p+1,delay:y,maxDelay:y*2**(p+1)})}async function S(f,l){return b(f,{method:"GET",...l})}d.get=S;async function P(f,l,p){return b(f,{method:"POST",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}d.post=P;async function h(f,l,p){return b(f,{method:"PUT",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}d.put=h;async function T(f,l,p){return b(f,{method:"DELETE",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}d.del=T;async function E(f,l,p){return b(f,{method:"PATCH",headers:{"Content-Type":"application/json",...p?.headers},body:l?JSON.stringify(l):void 0,...p})}d.patch=E;async function k(f,l){return b(f,l)}d.request=k;function N(f={}){return a()?(m(f),true):false}d.autoProxy=N;let j=5*1024*1024;function C(f){return new TextEncoder().encode(f)}function B(f){return chunkGVXRTRAT_cjs.d.mimeType(f)}function H(f){return f.startsWith("file://")}async function W(f){let l=url.fileURLToPath(f);return await chunkKKCFNFFR_cjs.D.file(l).bytes()}async function e(f,l,p){let y=`----FetchFormBoundary${Date.now()}`,w=[],R=l.some(_=>_.filename||_.value instanceof Uint8Array||Buffer.isBuffer(_.value))&&!p?.timeout?3e5:p?.timeout;for(let _ of l){let A=_.maxSize??j,O=_.filename,z=`Content-Disposition: form-data; name="${_.name}"${O?`; filename="${O}"`:""}`;O&&(z+=`\r
20
+ Content-Type: ${B(O)}`),z+=`\r
21
21
  \r
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
22
+ `,w.push(C(z));let L=_.value;if(typeof L=="string")if(H(L)){let he=await W(L);if(O||(O=L.split("/").pop()||"file"),he.byteLength>A)throw new Error(`File size ${he.byteLength} exceeds limit ${A} bytes: ${O}`);w.push(he);}else w.push(C(L));else if(Buffer.isBuffer(L)){if(L.byteLength>A)throw new Error(`Buffer size ${L.byteLength} exceeds limit ${A} bytes: ${_.name}`);w.push(new Uint8Array(L.buffer,L.byteOffset,L.byteLength));}else if(L instanceof Uint8Array){if(L.byteLength>A)throw new Error(`File size ${L.byteLength} exceeds limit ${A} bytes: ${_.name}`);w.push(L);}}let v=C(`\r
23
+ --${y}--`),I=C(`\r
24
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;
25
+ `),D=[];D.push(C(`--${y}\r
26
+ `));for(let _=0;_<w.length;_++)D.push(w[_]),_%2===1&&_<w.length-1&&(D.push(I),D.push(C(`--${y}\r
27
+ `)));D.push(v);let M=D.reduce((_,A)=>_+A.length,0),G=new Uint8Array(M),q=0;for(let _ of D)G.set(_,q),q+=_.length;return b(f,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${y}`,...p?.headers},body:G,timeout:R,...p})}d.postForm=e;function s(f,l,p){let y=new AbortController,w=y.signal;return (async()=>{try{let R={Accept:"text/event-stream",...p?.headers||{}},v=await fetch(f,{...p,headers:R,signal:w});if(!v.ok)throw new Error(`SSE connection failed: ${v.status}`);let I=v.body?.getReader();if(!I)throw new Error("SSE stream not available");let D=new TextDecoder("utf-8"),M="";for(;!w.aborted;){let{done:G,value:q}=await I.read();if(G)break;let _=D.decode(q,{stream:!0});M+=_;let A=M.split(`
28
+ `);M=A.pop()??"";for(let O of A)if(O.startsWith("data: ")){let z=O.slice(6);if(z==="[DONE]"){l.onComplete?.();return}l.onMessage?.(z);}}l.onComplete?.();}catch(R){R.name!=="AbortError"&&l.onError?.(R);}})(),()=>{y.abort();}}d.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=U__default.default.union([U__default.default.number(),U__default.default.string().regex(/^\d+$/,"must be a positive integer (digits only)")]).transform(c=>typeof c=="number"?c:Number.parseInt(c,10)).pipe(U__default.default.number().int().positive()),a.nonNegativeInt=U__default.default.union([U__default.default.number(),U__default.default.string().regex(/^\d+$/,"must be a non-negative integer (digits only)")]).transform(c=>typeof c=="number"?c:Number.parseInt(c,10)).pipe(U__default.default.number().int().nonnegative()),a.booleanLike=U__default.default.union([U__default.default.boolean(),U__default.default.string()]).transform((c,m)=>{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:(m.addIssue({code:"custom",message:`invalid boolean string: ${JSON.stringify(c)}`}),U__default.default.NEVER)}).pipe(U__default.default.boolean()),a.stringArray=(c=",")=>U__default.default.union([U__default.default.array(U__default.default.string()),U__default.default.string()]).transform(m=>Array.isArray(m)?m:m.split(c).map(u=>u.trim()).filter(u=>u.length>0)).pipe(U__default.default.array(U__default.default.string()))))(exports.Schema||(exports.Schema={}));chunkK7PV4FXJ_cjs.e();function Ke(r){let t=new AbortController,n=setTimeout(t.abort.bind(t),r);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(n)}}function er(r,...t){let n=Ke(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=Re__default.default.resolve(n),c=Re__default.default.resolve(o),m=`Expand-Archive -Path '${a}' -DestinationPath '${c}' -Force`,i=await chunkKKCFNFFR_cjs.G.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${m}"`);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 chunkKKCFNFFR_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),m=parseInt(a.slice(3,5),16),i=parseInt(a.slice(5,7),16);return {r:c,g:m,b:i}}o.hexToRgb=t;function n(a){if(!r(a))return;let{r:c,g:m,b:i}=t(a);return `\x1B[38;2;${c};${m};${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,m){return a.run(c,m)}}}n.create=t;})(exports.Context||(exports.Context={}));chunkK7PV4FXJ_cjs.e();function rr(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 nr(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;(W=>{let r=chunk5XHOPT4Y_cjs.m.create({service:"grep"});async function t(){return n()}W.filepath=t;let n=chunkKKCFNFFR_cjs.b(async()=>{let e=await chunkKKCFNFFR_cjs.D.which("rg");if(!e)return null;try{if(!(await le__default.default.stat(e)).isFile())return null}catch{return null}try{let s=await chunkKKCFNFFR_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}W.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*m(e));}W.files=a;async function*c(e,s){s.signal?.throwIfAborted();let d=["--files","--glob=!.git/*"];s.follow&&d.push("--follow");let f=s.hidden!==false;if(s.maxDepth!==void 0&&d.push(`--max-depth=${s.maxDepth}`),s.glob)for(let y of s.glob)d.push(`--glob=${y}`);try{if(!(await le__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 chunkKKCFNFFR_cjs.D.run([e,...d],{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 w=y.trim();if(!w)continue;let F=chunkGVXRTRAT_cjs.d.toUnixPath(w);!f&&F.split("/").some(R=>R.startsWith("."))||(yield F);}}async function*m(e){e.signal?.throwIfAborted();try{if(!(await le__default.default.stat(e.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${e.cwd}'`),{code:"ENOTDIR",errno:-20,path:e.cwd})}catch(R){throw R.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${e.cwd}'`),{code:"ENOENT",errno:-2,path:e.cwd}):R}let s=[],d=[];if(e.glob)for(let R of e.glob)R.startsWith("!")?d.push(R.slice(1)):s.push(R);let f=s.length>0?T(s):["**/*"],l=e.hidden!==false,p=new Set,y=chunkGVXRTRAT_cjs.b.DEFAULT_MAX_DEPTH,w;e.maxDepth===void 0?w=y:e.maxDepth<0?w=1:w=e.maxDepth+1;let F=Math.min(Math.max(w,1),y);for(let R of f){e.signal?.throwIfAborted();let v=await chunkGVXRTRAT_cjs.b.scan(R,{cwd:e.cwd,absolute:false,include:"file",dot:l,symlink:e.follow??false,maxDepth:F,ignore:d});for(let I of v)!l&&I.split("/").some(D=>D.startsWith("."))||p.add(I);}for(let R of Array.from(p).sort())e.signal?.throwIfAborted(),yield R;e.signal?.throwIfAborted();}async function i(e){r.debug("tree",{cwd:e.cwd}),e.signal?.throwIfAborted();let s=e.hidden!==false,d=e.glob??[],f=d.filter(A=>!A.startsWith("!")),l=d.filter(A=>A.startsWith("!")).map(A=>A.slice(1)),p=f.length>0?f:["**/*"],y=new Set,w=[];for(let A of p){e.signal?.throwIfAborted();let O=await chunkGVXRTRAT_cjs.b.scan(A,{cwd:e.cwd,absolute:false,include:"file",dot:s,symlink:false,maxDepth:chunkGVXRTRAT_cjs.b.DEFAULT_MAX_DEPTH});for(let z of O)y.has(z)||(y.add(z),w.push(z));}let F=w.filter(A=>{for(let O of l)if(chunkGVXRTRAT_cjs.b.match(O,A))return false;return true});function R(A,O){let z=A.children.get(O);if(z)return z;let L={name:O,children:new Map};return A.children.set(O,L),L}let v={children:new Map};for(let A of F){let O=A.split("/");if(O.length<2)continue;let z=v;for(let L of O.slice(0,-1))z=R(z,L);}let I=Array.from(v.children.values()).sort((A,O)=>A.name.localeCompare(O.name)),D=e.limit??Number.POSITIVE_INFINITY,M=[],G=I.map(A=>({node:A,path:A.name})),q=0,_=0;for(;G.length>0;){let A=G.shift();if(!A)break;if(q++,_<D){M.push(A.path),_++;for(let O of Array.from(A.node.children.values()).sort((z,L)=>z.name.localeCompare(L.name))){if(_>=D)break;G.push({node:O,path:`${A.path}/${O.name}`});}}}return q>_&&M.push(`[${_}/${q} shown, ${q-_} truncated]`),M.join(`
29
+ `)}W.tree=i;async function u(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}),b(e))}W.search=u;async function x(e,s){let d=["--json","--glob=!.git/*"];if(s.follow&&d.push("--follow"),s.glob)for(let w of s.glob)d.push(`--glob=${w}`);s.limit&&d.push(`--max-count=${s.limit}`),d.push("--"),d.push(s.pattern);let f=await chunkKKCFNFFR_cjs.D.run([e,...d],{cwd:s.cwd});if(f.code!==0)return [];let l=s.hidden!==false,p=f.stdout.split(/\r?\n/).filter(Boolean),y=[];for(let w of p)try{let F=JSON.parse(w);if(F?.type!=="match")continue;let R=F.data;if(!R?.path?.text||!R?.lines?.text)continue;let v=chunkGVXRTRAT_cjs.d.toUnixPath(R.path.text);if(!l&&v.split("/").some(I=>I.startsWith(".")))continue;if(y.push({path:v,lines:R.lines.text,line_number:R.line_number,absolute_offset:R.absolute_offset??0}),s.limit&&y.length>=s.limit)break}catch{}return y}async function b(e){let s;try{s=new RegExp(e.pattern);}catch{return []}try{if(!(await le__default.default.stat(e.cwd)).isDirectory())throw Object.assign(new Error(`Not a directory: '${e.cwd}'`),{code:"ENOTDIR",errno:-20,path:e.cwd})}catch(I){throw I.code==="ENOENT"?Object.assign(new Error(`No such file or directory: '${e.cwd}'`),{code:"ENOENT",errno:-2,path:e.cwd}):I}let d=[],f=[];if(e.glob)for(let I of e.glob)I.startsWith("!")?f.push(I):d.push(I);let p=T(f).map(I=>I.startsWith("!")?I.slice(1):I),y=e.hidden!==false,w=[],F=d.length>0?T(d):["**/*"],R=new Set,v=[];for(let I of F){e.signal?.throwIfAborted();let D=await chunkGVXRTRAT_cjs.b.scan(I,{cwd:e.cwd,absolute:false,include:"file",dot:y,symlink:e.follow??false,maxDepth:void 0,ignore:p});for(let M of D)R.has(M)||(R.add(M),v.push(M));}for(let I of v){if(e.signal?.throwIfAborted(),e.limit&&w.length>=e.limit)break;let D=chunkGVXRTRAT_cjs.d.join(e.cwd,I),M;try{M=await le__default.default.readFile(D,"utf-8");}catch{continue}let G=M.split(/\r?\n/),q=0;for(let _=0;_<G.length;_++){let A=G[_]??"";if(s.test(A)&&(w.push({path:I,lines:A,line_number:_+1,absolute_offset:q}),e.limit&&w.length>=e.limit))break;q+=Buffer.byteLength(A,"utf-8")+1;}}return w}function S(e,s){return chunkGVXRTRAT_cjs.a.match(e,s)}W.match=S;let P=chunkKKCFNFFR_cjs.a(async()=>await t());async function h(){return await P()}W.filepathCached=h;function T(e){let s=[];for(let d of e){if(d.startsWith("!")){let l=d.slice(1);s.push(`!${E(l)}`);continue}let f=k(d);for(let l of f)s.push(N(l));}return s}function E(e){return !e||e.startsWith("**")||e.includes("/")?e:/[*?[\]]/.test(e)?`**/${e}`:`**/${e}/**`}function k(e){let s=j(e);if(s===-1)return [e];let d=C(e,s);if(d===-1)return [e];let f=e.slice(s+1,d),l=B(f);if(!l||l.length<=1)return [e];let p=e.slice(0,s),y=e.slice(d+1);return l.map(w=>p+w+y)}function N(e){return !e||e.includes("/")||e.startsWith("**")?e:`**/${e}`}function j(e){for(let d=0;d<e.length;d++){let f=e[d];if(f==="\\"){d++;continue}if(f==="{"){return d;}}return -1}function C(e,s){for(let d=s+1;d<e.length;d++){let f=e[d];if(f==="\\"){d++;continue}if(f==="}")return d}return -1}function B(e){return e?e.split(","):null}W._ready=chunkKKCFNFFR_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;(m=>{function r(i,u){if(i===u)return true;if(typeof i!="object"||typeof u!="object"||i===null||u===null)return false;let x=Object.keys(i),b=Object.keys(u);if(x.length!==b.length)return false;for(let S of x)if(!b.includes(S)||!r(i[S],u[S]))return false;return true}function t(i){return {...i,super:i.super??false}}function n(i,u){return i?r(t(i),t(u)):false}m.match=n;function o(i,u=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:u}}m.fromParsedKey=o;function a(i){if(!i)return "";let u=[];i.ctrl&&u.push("ctrl"),i.meta&&u.push("alt"),i.super&&u.push("super"),i.shift&&u.push("shift"),i.name&&(i.name==="delete"?u.push("del"):u.push(i.name));let x=u.join("+");return i.leader&&(x=x?`<leader> ${x}`:"<leader>"),x}m.keyToString=a;function c(i){return i==="none"?[]:i.split(",").map(u=>{let b=u.replace(/<leader>/g,"leader+").toLowerCase().split("+"),S={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let P of b)switch(P){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=P;break}return S})}m.parse=c;})(exports.Keybind||(exports.Keybind={}));chunkK7PV4FXJ_cjs.e();exports.Locale=void 0;(P=>{P.SUPPORTED_LANGS=["zh-CN","en-US"],P.DEFAULT_LANG="zh-CN";function n(h,T="EASBOT_LANG"){let E=[h,process.env[T]?.trim()];for(let k of E)if(k&&P.SUPPORTED_LANGS.includes(k))return k;return P.DEFAULT_LANG}P.resolveLocaleLang=n;function o(h){return h.replace(/\b\w/g,T=>T.toUpperCase())}P.titlecase=o;function a(h){return new Date(h).toLocaleTimeString(void 0,{timeStyle:"short"})}P.time=a;function c(h){let T=new Date(h),E=a(h),k=T.toLocaleDateString();return `${E} \xB7 ${k}`}P.datetime=c;function m(h){let T=new Date(h),E=new Date;return T.getFullYear()===E.getFullYear()&&T.getMonth()===E.getMonth()&&T.getDate()===E.getDate()?a(h):c(h)}P.todayTimeOrDateTime=m;function i(h){return h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":h.toString()}P.number=i;function u(h){if(h<1e3)return `${h}ms`;if(h<6e4)return `${(h/1e3).toFixed(1)}s`;if(h<36e5){let k=Math.floor(h/6e4),N=Math.floor(h%6e4/1e3);return `${k}m ${N}s`}if(h<864e5){let k=Math.floor(h/36e5),N=Math.floor(h%36e5/6e4);return `${k}h ${N}m`}let T=Math.floor(h/36e5);return `${Math.floor(h%36e5/864e5)}d ${T}h`}P.duration=u;function x(h,T){return h.length<=T?h:h.slice(0,T-1)+"\u2026"}P.truncate=x;function b(h,T=35){if(h.length<=T)return h;let E="\u2026",k=Math.ceil((T-E.length)/2),N=Math.floor((T-E.length)/2);return h.slice(0,k)+E+h.slice(-N)}P.truncateMiddle=b;function S(h,T,E){return (h===1?T:E).replace("{}",h.toString())}P.pluralize=S;})(exports.Locale||(exports.Locale={}));var or=exports.Locale.resolveLocaleLang,sr=exports.Locale.SUPPORTED_LANGS,ir=exports.Locale.DEFAULT_LANG;chunkK7PV4FXJ_cjs.e();var ar=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"];function cr(){return ar.some(r=>process.env[r])}function lr(){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy}function ur(){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 ze=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 fr(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 dr(){let r,t=new Promise(n=>r=n);return {trigger(){return r()},wait(){return t}}}chunkK7PV4FXJ_cjs.e();function pr(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;(m=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function o(i){if(!i)return 0;let u=String(i),x=(u.match(n)||[]).length,b=u.length-x,S=Math.round(x/1.5),P=Math.round(b/4);return Math.max(0,S+P)}m.estimate=o;function a(i){if(i==null)return 0;try{let u=typeof i=="string"?i:JSON.stringify(i);return o(u)}catch{return 0}}m.estimateObject=a;function c(i){if(i.total!==void 0&&i.total>0)return i.total;let u=i.input??0,x=i.output??0,b=i.cache?.read??0,S=i.cache?.write??0;return u+x+b+S}m.total=c;})(exports.Token||(exports.Token={}));chunkK7PV4FXJ_cjs.e();function gr(r){let t={},n=r.shape??r.required().shape;for(let[o,a]of Object.entries(n))t[o]=a.nullable().optional();return U__default.default.object(t)}Object.defineProperty(exports,"Lock",{enumerable:true,get:function(){return chunkIVVWAT7R_cjs.a}});Object.defineProperty(exports,"$",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.H}});Object.defineProperty(exports,"HTTPException",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.j}});Object.defineProperty(exports,"Hono",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.d}});Object.defineProperty(exports,"Lazy",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.c}});Object.defineProperty(exports,"PKG",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.D}});Object.defineProperty(exports,"PkgShell",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.A}});Object.defineProperty(exports,"Shell",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.G}});Object.defineProperty(exports,"compress",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.g}});Object.defineProperty(exports,"cors",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.e}});Object.defineProperty(exports,"createNodeWebSocket",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.s}});Object.defineProperty(exports,"createPkgShell",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.B}});Object.defineProperty(exports,"createRESTServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.p}});Object.defineProperty(exports,"createRPCServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.n}});Object.defineProperty(exports,"createServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.m}});Object.defineProperty(exports,"createStreamingServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.r}});Object.defineProperty(exports,"createWebSocketServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.q}});Object.defineProperty(exports,"detectPlatform",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.y}});Object.defineProperty(exports,"escapeCommandArg",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.w}});Object.defineProperty(exports,"escapeCommandArgSafe",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.x}});Object.defineProperty(exports,"joinCommandArgs",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.z}});Object.defineProperty(exports,"lazy",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.a}});Object.defineProperty(exports,"lazyAsync",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.b}});Object.defineProperty(exports,"logger",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.f}});Object.defineProperty(exports,"needsShellExecution",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.u}});Object.defineProperty(exports,"parseCommand",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.t}});Object.defineProperty(exports,"parseCommandWithOptions",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.v}});Object.defineProperty(exports,"readableStreamToText",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.E}});Object.defineProperty(exports,"secureHeaders",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.h}});Object.defineProperty(exports,"shell",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.C}});Object.defineProperty(exports,"startServer",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.o}});Object.defineProperty(exports,"timeout",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.i}});Object.defineProperty(exports,"validator",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.k}});Object.defineProperty(exports,"whichSync",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.F}});Object.defineProperty(exports,"zValidator",{enumerable:true,get:function(){return chunkKKCFNFFR_cjs.l}});Object.defineProperty(exports,"Filesystem",{enumerable:true,get:function(){return chunkGVXRTRAT_cjs.d}});Object.defineProperty(exports,"Glob",{enumerable:true,get:function(){return chunkGVXRTRAT_cjs.b}});Object.defineProperty(exports,"MIME_TYPES",{enumerable:true,get:function(){return chunkGVXRTRAT_cjs.c}});Object.defineProperty(exports,"Wildcard",{enumerable:true,get:function(){return chunkGVXRTRAT_cjs.a}});Object.defineProperty(exports,"Log",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.m}});Object.defineProperty(exports,"PackageRegistry",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.o}});Object.defineProperty(exports,"Semver",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.n}});Object.defineProperty(exports,"addMinutesInTimezone",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.l}});Object.defineProperty(exports,"formatLocalISO",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.a}});Object.defineProperty(exports,"formatLocalISOCompact",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.b}});Object.defineProperty(exports,"formatLogTime",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.f}});Object.defineProperty(exports,"formatLogTimeMs",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.g}});Object.defineProperty(exports,"getTimezoneOffset",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.h}});Object.defineProperty(exports,"getTimezoneParts",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.i}});Object.defineProperty(exports,"isValidTimezone",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.j}});Object.defineProperty(exports,"normalizeTimezone",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.k}});Object.defineProperty(exports,"now",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.c}});Object.defineProperty(exports,"nowLocalISO",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.d}});Object.defineProperty(exports,"parseLocalISO",{enumerable:true,get:function(){return chunk5XHOPT4Y_cjs.e}});exports.AsyncQueue=ze;exports.DEFAULT_LANG=ir;exports.NamedError=ae;exports.OAUTH_DUMMY_KEY=Dt;exports.SUPPORTED_LANGS=sr;exports.abortAfter=Ke;exports.abortAfterAny=er;exports.defer=rr;exports.findLast=wt;exports.fn=Rt;exports.formatDuration=nr;exports.getDirectory=Wt;exports.getFileExtension=qt;exports.getFilename=Je;exports.getFilenameTruncated=Xt;exports.getProxyConfig=ur;exports.getProxyUrl=lr;exports.git=Ft;exports.iife=Bt;exports.loadEnv=kt;exports.loadTextFile=zt;exports.loadTextFileAsync=Ut;exports.parseModelId=Ht;exports.proxied=cr;exports.resolveLocaleLang=or;exports.retry=Ie;exports.signal=dr;exports.truncateMiddle=Jt;exports.updateSchema=gr;exports.withTimeout=pr;exports.work=fr;
package/dist/index.d.cts CHANGED
@@ -483,6 +483,71 @@ interface LoadEnvOptions {
483
483
  isDevelopment?: boolean;
484
484
  }
485
485
  declare function loadEnv(options?: LoadEnvOptions): void;
486
+ declare namespace Env {
487
+ type StateResult = Record<string, string | undefined>;
488
+ export function reset(): void;
489
+ export function get(key: string): Promise<string | undefined>;
490
+ export function all(): Promise<StateResult>;
491
+ export function set(key: string, value: string): Promise<void>;
492
+ export function remove(key: string): Promise<void>;
493
+ export { };
494
+ }
495
+
496
+ declare const OAUTH_DUMMY_KEY = "easbot-oauth-dummy-key";
497
+ declare namespace Auth {
498
+ const Oauth: z.ZodObject<{
499
+ type: z.ZodLiteral<"oauth">;
500
+ refresh: z.ZodString;
501
+ access: z.ZodString;
502
+ expires: z.ZodNumber;
503
+ accountId: z.ZodOptional<z.ZodString>;
504
+ enterpriseUrl: z.ZodOptional<z.ZodString>;
505
+ }, z.core.$strip>;
506
+ const Api: z.ZodObject<{
507
+ type: z.ZodLiteral<"api">;
508
+ key: z.ZodString;
509
+ }, z.core.$strip>;
510
+ const WellKnown: z.ZodObject<{
511
+ type: z.ZodLiteral<"wellknown">;
512
+ key: z.ZodString;
513
+ token: z.ZodString;
514
+ }, z.core.$strip>;
515
+ const Info: z.ZodDiscriminatedUnion<[z.ZodObject<{
516
+ type: z.ZodLiteral<"oauth">;
517
+ refresh: z.ZodString;
518
+ access: z.ZodString;
519
+ expires: z.ZodNumber;
520
+ accountId: z.ZodOptional<z.ZodString>;
521
+ enterpriseUrl: z.ZodOptional<z.ZodString>;
522
+ }, z.core.$strip>, z.ZodObject<{
523
+ type: z.ZodLiteral<"api">;
524
+ key: z.ZodString;
525
+ }, z.core.$strip>, z.ZodObject<{
526
+ type: z.ZodLiteral<"wellknown">;
527
+ key: z.ZodString;
528
+ token: z.ZodString;
529
+ }, z.core.$strip>], "type">;
530
+ type Info = z.infer<typeof Info>;
531
+ function reset(): void;
532
+ function get(providerId: string): Promise<{
533
+ type: "oauth";
534
+ refresh: string;
535
+ access: string;
536
+ expires: number;
537
+ accountId?: string | undefined;
538
+ enterpriseUrl?: string | undefined;
539
+ } | {
540
+ type: "api";
541
+ key: string;
542
+ } | {
543
+ type: "wellknown";
544
+ key: string;
545
+ token: string;
546
+ } | undefined>;
547
+ function all(): Promise<Record<string, Info>>;
548
+ function set(key: string, info: Info): Promise<void>;
549
+ function remove(key: string): Promise<void>;
550
+ }
486
551
 
487
552
  interface GitResult {
488
553
  exitCode: number;
@@ -1487,4 +1552,4 @@ declare namespace Log {
1487
1552
  function create(tags?: Record<string, any>): Logger;
1488
1553
  }
1489
1554
 
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 };
1555
+ export { $, Archive, AsyncQueue, Auth, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, Env, 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, OAUTH_DUMMY_KEY, 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
@@ -483,6 +483,71 @@ interface LoadEnvOptions {
483
483
  isDevelopment?: boolean;
484
484
  }
485
485
  declare function loadEnv(options?: LoadEnvOptions): void;
486
+ declare namespace Env {
487
+ type StateResult = Record<string, string | undefined>;
488
+ export function reset(): void;
489
+ export function get(key: string): Promise<string | undefined>;
490
+ export function all(): Promise<StateResult>;
491
+ export function set(key: string, value: string): Promise<void>;
492
+ export function remove(key: string): Promise<void>;
493
+ export { };
494
+ }
495
+
496
+ declare const OAUTH_DUMMY_KEY = "easbot-oauth-dummy-key";
497
+ declare namespace Auth {
498
+ const Oauth: z.ZodObject<{
499
+ type: z.ZodLiteral<"oauth">;
500
+ refresh: z.ZodString;
501
+ access: z.ZodString;
502
+ expires: z.ZodNumber;
503
+ accountId: z.ZodOptional<z.ZodString>;
504
+ enterpriseUrl: z.ZodOptional<z.ZodString>;
505
+ }, z.core.$strip>;
506
+ const Api: z.ZodObject<{
507
+ type: z.ZodLiteral<"api">;
508
+ key: z.ZodString;
509
+ }, z.core.$strip>;
510
+ const WellKnown: z.ZodObject<{
511
+ type: z.ZodLiteral<"wellknown">;
512
+ key: z.ZodString;
513
+ token: z.ZodString;
514
+ }, z.core.$strip>;
515
+ const Info: z.ZodDiscriminatedUnion<[z.ZodObject<{
516
+ type: z.ZodLiteral<"oauth">;
517
+ refresh: z.ZodString;
518
+ access: z.ZodString;
519
+ expires: z.ZodNumber;
520
+ accountId: z.ZodOptional<z.ZodString>;
521
+ enterpriseUrl: z.ZodOptional<z.ZodString>;
522
+ }, z.core.$strip>, z.ZodObject<{
523
+ type: z.ZodLiteral<"api">;
524
+ key: z.ZodString;
525
+ }, z.core.$strip>, z.ZodObject<{
526
+ type: z.ZodLiteral<"wellknown">;
527
+ key: z.ZodString;
528
+ token: z.ZodString;
529
+ }, z.core.$strip>], "type">;
530
+ type Info = z.infer<typeof Info>;
531
+ function reset(): void;
532
+ function get(providerId: string): Promise<{
533
+ type: "oauth";
534
+ refresh: string;
535
+ access: string;
536
+ expires: number;
537
+ accountId?: string | undefined;
538
+ enterpriseUrl?: string | undefined;
539
+ } | {
540
+ type: "api";
541
+ key: string;
542
+ } | {
543
+ type: "wellknown";
544
+ key: string;
545
+ token: string;
546
+ } | undefined>;
547
+ function all(): Promise<Record<string, Info>>;
548
+ function set(key: string, info: Info): Promise<void>;
549
+ function remove(key: string): Promise<void>;
550
+ }
486
551
 
487
552
  interface GitResult {
488
553
  exitCode: number;
@@ -1487,4 +1552,4 @@ declare namespace Log {
1487
1552
  function create(tags?: Record<string, any>): Logger;
1488
1553
  }
1489
1554
 
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 };
1555
+ export { $, Archive, AsyncQueue, Auth, Binary, Color, Context, DEFAULT_LANG, type EasServer, Encode, Env, 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, OAUTH_DUMMY_KEY, 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 };