@easbot/utils 0.2.25 → 0.2.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,81 +1,89 @@
1
- import {c as c$1}from'./chunks/chunk-6FROKXK6.mjs';export{c as Filesystem,a as Glob,b as MIME_TYPES}from'./chunks/chunk-6FROKXK6.mjs';export{b as PackageRegistry,a as Semver}from'./chunks/chunk-7XA3MNEJ.mjs';import {a}from'./chunks/chunk-WN6DTIOU.mjs';import {b,a as a$1}from'./chunks/chunk-DAYGB2XR.mjs';export{a as Lock}from'./chunks/chunk-UZ52E7FE.mjs';import {k,c,i}from'./chunks/chunk-V6YNYGNC.mjs';import oe from'fs/promises';import ge,{dirname,join}from'path';import _e,{z}from'zod';import {randomBytes,createHash}from'crypto';import Ae,{existsSync,readdirSync,statSync}from'fs';import {execSync,spawn}from'child_process';import {createRequire}from'module';import {Hono}from'hono';export{Hono}from'hono';import {serve}from'@hono/node-server';import {createNodeWebSocket}from'@hono/node-ws';export{createNodeWebSocket}from'@hono/node-ws';import {streamSSE}from'hono/streaming';import {cors}from'hono/cors';export{cors}from'hono/cors';import {logger}from'hono/logger';export{logger}from'hono/logger';import {compress}from'hono/compress';export{compress}from'hono/compress';import {secureHeaders}from'hono/secure-headers';export{secureHeaders}from'hono/secure-headers';import {timeout}from'hono/timeout';export{timeout}from'hono/timeout';import {HTTPException}from'hono/http-exception';export{HTTPException}from'hono/http-exception';export{validator}from'hono/validator';import {zValidator}from'@hono/zod-validator';export{zValidator}from'@hono/zod-validator';import {minimatch}from'minimatch';import {setTimeout as setTimeout$1}from'timers/promises';import {config}from'dotenv';import {fileURLToPath}from'url';import Xr from'markdown-it';import jn from'yaml';import {ProxyAgent,getGlobalDispatcher,setGlobalDispatcher}from'undici';import {AsyncLocalStorage}from'async_hooks';k();k();function Kn(e,t){for(let n=e.length-1;n>=0;n-=1){let r=e[n];if(r!==void 0&&t(r,n,e))return r}}k();var nt;(n=>{function e(r,o,s){let a=0,i=r.length-1;for(;a<=i;){let l=Math.floor((a+i)/2),d=r[l];if(d===void 0)break;let c=s(d);if(c===o)return {found:true,index:l};c<o?a=l+1:i=l-1;}return {found:false,index:a}}n.search=e;function t(r,o,s){let a=s(o),i=0,l=r.length;for(;i<l;){let d=Math.floor((i+l)/2),c=r[d];if(c===void 0)break;s(c)<a?i=d+1:l=d;}return r.splice(i,0,o),r}n.insert=t;})(nt||(nt={}));k();var rt;(s=>{function e(a){let i=new TextEncoder().encode(a),l=Array.from(i,d=>String.fromCharCode(d)).join("");return btoa(l).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}s.base64Encode=e;function t(a){let i=atob(a.replace(/-/g,"+").replace(/_/g,"/")),l=Uint8Array.from(i,d=>d.charCodeAt(0));return new TextDecoder().decode(l)}s.base64Decode=t;async function n(a,i="SHA-256"){let d=new TextEncoder().encode(a),c=await crypto.subtle.digest(i,d);return Array.from(new Uint8Array(c)).map(w=>w.toString(16).padStart(2,"0")).join("")}s.hash=n;function r(a){if(!a)return;let i=2166136261;for(let l=0;l<a.length;l++)i^=a.charCodeAt(l),i=Math.imul(i,16777619);return (i>>>0).toString(36)}s.checksum=r;function o(a,i=5e5){if(!a)return;if(a.length<=i)return r(a);let l=4096,c=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-l].map(u=>{let m=Math.max(0,Math.min(a.length-l,u-Math.floor(l/2)));return r(a.slice(m,m+l))??""}).join(":");return `${a.length}:${c}`}s.sampledChecksum=o;})(rt||(rt={}));k();k();var ke;(u=>{let e={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",command:"cmd",task:"task",heartbeat:"hb",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(m){return _e.string().startsWith(e[m])}u.schema=t;let n=26,r=0,o=0;function s(m,w){return i(m,false,w)}u.ascending=s;function a(m,w){return i(m,true,w)}u.descending=a;function i(m,w,P){if(!P)return d(m,w);if(!P.startsWith(e[m]))throw new Error(`ID ${P} does not start with ${e[m]}`);return P}function l(m){let w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",P="",_=randomBytes(m);for(let D=0;D<m;D++){let W=_[D];W!==void 0&&(P+=w[W%62]);}return P}function d(m,w,P){let _=P??Date.now();_!==r&&(r=_,o=0),o++;let D=BigInt(_)*BigInt(4096)+BigInt(o);D=w?~D:D;let W=Buffer.alloc(6);for(let I=0;I<6;I++)W[I]=Number(D>>BigInt(40-8*I)&BigInt(255));return e[m]+"_"+W.toString("hex")+l(n-12)}u.create=d;function c(m){let w=m.split("_")[0];if(!w)return 0;let P=m.slice(w.length+1,w.length+13),_=BigInt("0x"+P);return Number(_/BigInt(4096))}u.timestamp=c;})(ke||(ke={}));var ot;(i=>{i.DIR=ge.join("data","context-truncate"),i.DEFAULT_MAX_CHARS=4e3,i.DIRECTION="head";function r(l,d,c){return c?`[Content truncated. Source: ${c}
2
- Full ${d} saved to: ${l}
3
- Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${d} saved to: ${l}
4
- Use Read tool with offset/limit parameters to view specific sections.]`}function o(l,d={}){let c=d.maxChars??i.DEFAULT_MAX_CHARS,u=d.direction??i.DIRECTION,m=d.label??"content",w=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let P=l.length-c,_;u==="head"?_=l.slice(0,c):_=l.slice(-c);let D=r("[save-path]",m,w),W=u==="head"?`
1
+ import {c}from'./chunks/chunk-2XMNW35H.mjs';export{c as Filesystem,a as Glob,b as MIME_TYPES}from'./chunks/chunk-2XMNW35H.mjs';export{b as PackageRegistry,a as Semver}from'./chunks/chunk-7XA3MNEJ.mjs';import {a}from'./chunks/chunk-WN6DTIOU.mjs';import {b,a as a$1}from'./chunks/chunk-DAYGB2XR.mjs';export{a as Lock}from'./chunks/chunk-UZ52E7FE.mjs';import {k,c as c$1,i}from'./chunks/chunk-V6YNYGNC.mjs';import se from'fs/promises';import je,{z}from'zod';import {randomBytes,createHash}from'crypto';import he,{dirname,join}from'path';import _e,{existsSync,readdirSync,statSync}from'fs';import {execSync,spawn}from'child_process';import {createRequire}from'module';import {Hono}from'hono';export{Hono}from'hono';import {serve}from'@hono/node-server';import {createNodeWebSocket}from'@hono/node-ws';export{createNodeWebSocket}from'@hono/node-ws';import {streamSSE}from'hono/streaming';import {cors}from'hono/cors';export{cors}from'hono/cors';import {logger}from'hono/logger';export{logger}from'hono/logger';import {compress}from'hono/compress';export{compress}from'hono/compress';import {secureHeaders}from'hono/secure-headers';export{secureHeaders}from'hono/secure-headers';import {timeout}from'hono/timeout';export{timeout}from'hono/timeout';import {HTTPException}from'hono/http-exception';export{HTTPException}from'hono/http-exception';export{validator}from'hono/validator';import {zValidator}from'@hono/zod-validator';export{zValidator}from'@hono/zod-validator';import {minimatch}from'minimatch';import {setTimeout as setTimeout$1}from'timers/promises';import {config}from'dotenv';import {fileURLToPath}from'url';import Zr from'markdown-it';import jn from'yaml';import {ProxyAgent,getGlobalDispatcher,setGlobalDispatcher}from'undici';import {AsyncLocalStorage}from'async_hooks';k();k();function Jn(e,t){for(let r=e.length-1;r>=0;r-=1){let n=e[r];if(n!==void 0&&t(n,r,e))return n}}k();var tt;(r=>{function e(n,o,s){let a=0,i=n.length-1;for(;a<=i;){let l=Math.floor((a+i)/2),p=n[l];if(p===void 0)break;let c=s(p);if(c===o)return {found:true,index:l};c<o?a=l+1:i=l-1;}return {found:false,index:a}}r.search=e;function t(n,o,s){let a=s(o),i=0,l=n.length;for(;i<l;){let p=Math.floor((i+l)/2),c=n[p];if(c===void 0)break;s(c)<a?i=p+1:l=p;}return n.splice(i,0,o),n}r.insert=t;})(tt||(tt={}));k();var nt;(s=>{function e(a){let i=new TextEncoder().encode(a),l=Array.from(i,p=>String.fromCharCode(p)).join("");return btoa(l).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}s.base64Encode=e;function t(a){let i=atob(a.replace(/-/g,"+").replace(/_/g,"/")),l=Uint8Array.from(i,p=>p.charCodeAt(0));return new TextDecoder().decode(l)}s.base64Decode=t;async function r(a,i="SHA-256"){let p=new TextEncoder().encode(a),c=await crypto.subtle.digest(i,p);return Array.from(new Uint8Array(c)).map(S=>S.toString(16).padStart(2,"0")).join("")}s.hash=r;function n(a){if(!a)return;let i=2166136261;for(let l=0;l<a.length;l++)i^=a.charCodeAt(l),i=Math.imul(i,16777619);return (i>>>0).toString(36)}s.checksum=n;function o(a,i=5e5){if(!a)return;if(a.length<=i)return n(a);let l=4096,c=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-l].map(u=>{let g=Math.max(0,Math.min(a.length-l,u-Math.floor(l/2)));return n(a.slice(g,g+l))??""}).join(":");return `${a.length}:${c}`}s.sampledChecksum=o;})(nt||(nt={}));k();k();var Te;(u=>{let e={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",command:"cmd",task:"task",heartbeat:"hb",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(g){return je.string().startsWith(e[g])}u.schema=t;let r=26,n=0,o=0;function s(g,S){return i(g,false,S)}u.ascending=s;function a(g,S){return i(g,true,S)}u.descending=a;function i(g,S,P){if(!P)return p(g,S);if(!P.startsWith(e[g]))throw new Error(`ID ${P} does not start with ${e[g]}`);return P}function l(g){let S="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",P="",D=randomBytes(g);for(let H=0;H<g;H++){let q=D[H];q!==void 0&&(P+=S[q%62]);}return P}function p(g,S,P){let D=P??Date.now();D!==n&&(n=D,o=0),o++;let H=BigInt(D)*BigInt(4096)+BigInt(o);H=S?~H:H;let q=Buffer.alloc(6);for(let N=0;N<6;N++)q[N]=Number(H>>BigInt(40-8*N)&BigInt(255));return e[g]+"_"+q.toString("hex")+l(r-12)}u.create=p;function c(g){let S=g.split("_")[0];if(!S)return 0;let P=g.slice(S.length+1,S.length+13),D=BigInt("0x"+P);return Number(D/BigInt(4096))}u.timestamp=c;})(Te||(Te={}));var rt;(i=>{i.DIR=c.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-truncate"),i.DEFAULT_MAX_CHARS=4e3,i.DIRECTION="head";function n(l,p,c){return c?`[Content truncated. Source: ${c}
2
+ Full ${p} saved to: ${l}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${p} saved to: ${l}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}function o(l,p={}){let c=p.maxChars??i.DEFAULT_MAX_CHARS,u=p.direction??i.DIRECTION,g=p.label??"content",S=p.sourcePath;if(l.length<=c)return {content:l,truncated:false};let P=l.length-c,D;u==="head"?D=l.slice(0,c):D=l.slice(-c);let H=n("[save-path]",g,S),q=u==="head"?`
5
5
 
6
6
  ...${P} characters truncated...
7
7
 
8
- ${D}`:`
8
+ ${H}`:`
9
9
 
10
10
  ...${P} characters truncated...
11
11
 
12
- ${D}`;return {content:_+W,truncated:true,outputPath:"[save-path]",originalLength:l.length,removedLength:P,label:m}}i.truncate=o;async function s(l,d={}){let c=d.maxChars??i.DEFAULT_MAX_CHARS,u=d.direction??i.DIRECTION,m=d.label??"content",w=d.dir??i.DIR,P=d.sourcePath;if(l.length<=c)return {content:l,truncated:false};let _=ke.ascending("context"),D=ge.join(w,_);await oe.mkdir(w,{recursive:true}).catch(()=>{}),await oe.writeFile(D,l,"utf-8");let W=l.length-c,I;u==="head"?I=l.slice(0,c):I=l.slice(-c);let O=r(D,m,P),N=u==="head"?`
12
+ ${H}`;return {content:D+q,truncated:true,outputPath:"[save-path]",originalLength:l.length,removedLength:P,label:g}}i.truncate=o;async function s(l,p={}){let c$1=p.maxChars??i.DEFAULT_MAX_CHARS,u=p.direction??i.DIRECTION,g=p.label??"content",S=p.dir??i.DIR,P=p.sourcePath;if(l.length<=c$1)return {content:l,truncated:false};let D=Te.ascending("context"),H=c.join(S,D);await se.mkdir(S,{recursive:true}).catch(()=>{}),await se.writeFile(H,l,"utf-8");let q=l.length-c$1,N;u==="head"?N=l.slice(0,c$1):N=l.slice(-c$1);let le=n(H,g,P),ke=u==="head"?`
13
13
 
14
- ...${W} characters truncated...
14
+ ...${q} characters truncated...
15
15
 
16
- ${O}`:`
16
+ ${le}`:`
17
17
 
18
- ...${W} characters truncated...
18
+ ...${q} characters truncated...
19
19
 
20
- ${O}`;return {content:I+N,truncated:true,outputPath:D,originalLength:l.length,removedLength:W,label:m}}i.truncateAndSave=s;function a(l){return l.truncated?r(l.outputPath,l.label):""}i.formatHint=a;})(ot||(ot={}));k();k();function st(e,t=true){let n=typeof e=="number"?new Date(e):e,r=n.getTimezoneOffset(),o=Math.floor(Math.abs(r)/60),s=Math.abs(r)%60,i=`${r<=0?"+":"-"}${String(o).padStart(2,"0")}:${String(s).padStart(2,"0")}`,l=n.getFullYear(),d=String(n.getMonth()+1).padStart(2,"0"),c=String(n.getDate()).padStart(2,"0"),u=String(n.getHours()).padStart(2,"0"),m=String(n.getMinutes()).padStart(2,"0"),w=String(n.getSeconds()).padStart(2,"0"),P=`${l}-${d}-${c}T${u}:${m}:${w}`;if(t){let _=String(n.getMilliseconds()).padStart(3,"0");P+=`.${_}`;}return P+=i,P}function it(e){return st(e,false)}function Vt(){return Date.now()}function Qn(e=true){return st(Vt(),e)}function er(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function tr(e){let t=typeof e=="number"?new Date(e):e,n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return `${n}-${r}-${o}T${s}:${a}:${i}`}function nr(e=new Date){let t=e.getTimezoneOffset(),n=Math.floor(Math.abs(t)/60),r=Math.abs(t)%60;return `${t<=0?"+":"-"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`}var at;(i=>{let e="New session - ",t="Child session - ";i.parentTitlePrefix=e,i.childTitlePrefix=t;function o(l=false){return (l?t:e)+it(new Date)}i.createDefault=o;function s(l){return new RegExp(`^(${e}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(l)}i.isDefault=s;function a(l){let d=l.match(/^(.+) \(fork #(\d+)\)$/);if(d){let c=d[1]??"",u=parseInt(d[2]??"0",10);return `${c} (fork #${u+1})`}return `${l} (fork #1)`}i.getForked=a;})(at||(at={}));k();k();function Yt(e){let t,n=false,r=()=>(n||(t=e(),n=true),t);return r.reset=()=>{n=false,t=void 0;},r}var Le=Yt;function Gt(e){let t,n=()=>(t||(t=e()),t);return n.reset=()=>{t=void 0;},n}var rr=Gt,fe;(n=>(n.lazy=Yt,n.lazyAsync=Gt))(fe||(fe={}));k();k();k();var ne=a.create({service:"server"});function ae(e={}){let t=e.port??3e3,n=e.hostname??"0.0.0.0",r=new Hono({strict:true,getPath:a=>{try{return new URL(a.url).pathname}catch{return a.url}}});if(e.onError?r.onError(e.onError):r.onError((a,i)=>(ne.error("Server error",{error:a.message,stack:a.stack}),a instanceof HTTPException?a.getResponse():i.json({error:"Internal Server Error",message:a.message},500))),e.onNotFound?r.notFound(e.onNotFound):r.notFound(a=>a.json({error:"Not Found",path:a.req.path},404)),!e.websockets&&e.cors&&r.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),r.use(logger((a,...i)=>ne.info(a,i))),!e.websockets&&e.secureHeaders&&r.use(secureHeaders()),!e.websockets&&e.compression&&r.use(compress({encoding:"gzip"})),!e.websockets&&e.timeout&&r.use(timeout(e.timeout)),e.middlewares)for(let a of e.middlewares)a.path?r.use(a.path,a.handler):r.use(a.handler);if(e.routes)for(let a of e.routes){let i=a.middlewares||[],l=a.method.toUpperCase();a.validation?r.on(l,a.path,zValidator("json",a.validation),...i,a.handler):r.on(l,a.path,...i,a.handler);}e.rpc&&r.post("/rpc/:method",async a=>{let i=a.req.param("method"),l=e.rpc?.[i];if(!l)return a.json({error:"RPC method not found"},404);try{let d=await a.req.json(),c=await l(d,a);return a.json({result:c})}catch(d){return ne.error("RPC error",{method:i,error:d.message}),a.json({error:"RPC execution failed",message:d.message},500)}}),e.fetch&&r.all("*",async a=>await e.fetch(a.req.raw));let o=null,s={url:new URL(`http://${n}:${t}`),port:t,hostname:n,hono:r,async stop(a=false){return o?new Promise((i,l)=>{a&&o.closeAllConnections?.(),o.close(d=>{d?(ne.error("Error closing server",{error:d.message}),l(d)):(o=null,ne.info(`Server on port ${t} stopped`),i());}),setTimeout(()=>{ne.warn(`Server shutdown timeout on port ${t}`),o=null,i();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return ne.debug("createServer: calling serve()",{port:t,hostname:n}),o=serve({fetch:r.fetch,port:t,hostname:n}),ne.debug("createServer: serve() returned, server created"),ne.info(`Server running on http://${n}:${t}`),s}function lt(e){return ae({rpc:e,port:3e3})}function ar(e,t=3e3,n="0.0.0.0"){return ae({fetch:e,port:t,hostname:n})}function ct(e,t={}){return ae({...t,routes:e})}function ut(e,t={}){return ae({...t,websockets:e})}function dt(e,t={}){let n=Object.entries(e).map(([r,o])=>({method:"get",path:`/stream/${r}`,handler:s=>streamSSE(s,async a=>{for await(let i of o(s))await a.writeSSE(i);})}));return ae({...t,routes:n,streaming:true})}k();var ce=a.create({service:"build-api"});async function ln(){try{return {available:!0,version:(await import('./chunks/main-ZMRSNK7G.mjs')).version||"unknown"}}catch(e){return ce.warn("esbuild not available",{error:e.message}),{available:false}}}async function $e(){let e=await ln();if(!e.available)throw new Error("esbuild is required but not installed. Please install it using: pnpm add -D esbuild");e.version&&e.version<"0.17.0"&&ce.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function dr(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function cn(e){let t=dr(e.compile);t&&ce.warn("compile option is no longer supported (Bun runtime removed). The option will be ignored.");let n={entryPoints:e.entrypoints,outdir:e.outdir,bundle:e.bundle??true,conditions:e.conditions,external:e.external,format:e.format??"esm",platform:e.platform??(e.target==="browser"?"browser":"node"),minify:e.minify??false,treeShaking:true,splitting:e.splitting,sourcemap:fr(e.sourcemap),sourcesContent:true,define:e.define,inject:e.inject,legalComments:"eof",loader:e.loader,entryNames:e.entryNames,chunkNames:e.chunkNames,assetNames:e.assetNames,publicPath:e.publicPath,tsconfig:e.tsconfig,charset:"utf8",color:true,logLevel:"info",logLimit:50,plugins:e.plugins??[],metafile:true,write:e.write??true};return t?.outfile&&!e.outdir&&(n.outfile=t.outfile,delete n.outdir),e.target&&(n.target=pr(e.target)),e.minify===true&&(n.minifyWhitespace=true,n.minifyIdentifiers=true,n.minifySyntax=true),mr(n)}function fr(e){return !e||e==="none"?false:e}function pr(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function mr(e){let t={};for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t}function Be(e){if(e!==void 0)return e.replace(/\\/g,"/")}function rn(e,t,n){let r=[];if(e.outputFiles)for(let s of e.outputFiles)r.push({path:Be(s.path)||s.path,size:s.contents?.length||0});if(e.metafile?.outputs)for(let[s,a]of Object.entries(e.metafile.outputs)){let i=a;r.some(l=>l.path===s||l.path===Be(s))||r.push({path:Be(s)||s,size:i.bytes||0});}let o=[];if(e.errors?.length>0)for(let s of e.errors)o.push({level:"error",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});if(e.warnings?.length>0)for(let s of e.warnings)o.push({level:"warning",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});return {outputs:r,success:e.errors?.length===0,logs:o,metafile:e.metafile}}async function pt(e){ce.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await $e();let t=await import('./chunks/main-ZMRSNK7G.mjs'),n=Date.now();try{let r=cn(e);ce.debug("esbuild options",r);let o=await t.build(r),s=Date.now();return ce.info("Build completed",{duration:s-n,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),rn(o,n,s)}catch(r){let o=Date.now(),s=r.message;return ce.error("Build failed",{error:s,duration:o-n}),r&&typeof r=="object"&&"errors"in r?rn(r):{outputs:[],success:false,logs:[{level:"error",message:s}],metafile:void 0}}}var wr={build:pt},un=wr;k();k();function re(e){let t=[],n="",r=0;for(;r<e.length&&(e[r]===" "||e[r]===" ");)r++;for(;r<e.length;){let o=e[r];if(o===" "||o===" "){for(n.length>0&&(t.push(n),n="");r<e.length&&(e[r]===" "||e[r]===" ");)r++;continue}if(o==='"'){for(r++;r<e.length;){let s=e[r];if(s==="\\"&&r+1<e.length){let a=e[r+1];if(a==='"'||a==="\\"||a==="$"||a==="`"){n+=a,r+=2;continue}}if(s==='"'){r++;break}n+=s,r++;}continue}if(o==="'"){for(r++;r<e.length;){let s=e[r];if(s==="'"){r++;break}n+=s,r++;}continue}n+=o,r++;}return n.length>0&&t.push(n),t}function dn(e){return /[|&;<>()$`!#]/.test(e)}function fn(e){let t=re(e);if(t.length===0)return {command:"",args:[]};let n={command:t[0],args:t.slice(1)};if(n.args.length>0){let r=n.args[n.args.length-1];try{let o=JSON.parse(r);typeof o=="object"&&o!==null&&!Array.isArray(o)&&(n.options=o,n.args=n.args.slice(0,-1));}catch{}}return n}function mt(e,t=process.platform==="win32"?"windows":"unix"){return t==="windows"?e.includes(" ")||e.includes("&")||e.includes("|")||e.includes("<>")||e.includes("^")||e.includes('"')||e.includes("%")?`"${e.replace(/%/g,"%%").replace(/"/g,'^"')}"`:e:e.includes(" ")||e.includes("'")||e.includes('"')||e.includes("$")||e.includes("`")||e.includes("\\")||e.includes("!")||e.includes("#")||e.includes("&")||e.includes("*")||e.includes("?")||e.includes("|")||e.includes("<")||e.includes(">")||e.includes("(")||e.includes(")")||e.includes(";")?`'${e.replace(/'/g,"'\\''")}'`:e}var Sr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>","2>&1","2>&2","1>&1","1>&2",">&","<&",">&1","<&1",">&2","<&2"]);function pn(e,t=process.platform==="win32"?"windows":"unix"){return Sr.has(e)?e:mt(e,t)}function mn(){return process.platform==="win32"?"windows":"unix"}function pe(e,t,n=process.platform==="win32"?"windows":"unix"){let r=t.map(o=>pn(o,n));return [e,...r].join(" ")}function gn(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>gn(t)).join(" ");if(e&&typeof e=="object"){if("raw"in e)return String(e.raw);if("toString"in e&&typeof e.toString=="function")return e.toString();if(e instanceof ReadableStream)throw new Error("ReadableStream expressions are not yet supported")}return String(e)}function kr(e,t,n){return {stdout:e,stderr:t,exitCode:n,text(r="utf-8"){return e.toString(r)},json(){let r=e.toString("utf-8");return JSON.parse(r)},arrayBuffer(){let r=e.buffer;if(r instanceof ArrayBuffer)return r.slice(e.byteOffset,e.byteOffset+e.byteLength);let o=new ArrayBuffer(e.byteLength),s=new Uint8Array(o),a=new Uint8Array(r,e.byteOffset,e.byteLength);return s.set(a),o},bytes(){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},blob(){let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return new Blob([r])}}}function me(e,t={}){let n=re(e);if(n.length===0)throw new Error("Empty shell command");let r=async()=>{let s=await A.run(n,{cwd:t.cwd,env:t.env}),a=kr(Buffer.from(s.stdout,"utf-8"),Buffer.from(s.stderr,"utf-8"),s.code);if(s.code!==0&&!t.nothrow)throw Object.assign(new Error(`Command failed with exit code ${s.code}: ${e}
21
- ${s.stderr}`),{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode});return a},o=r();return Object.defineProperty(o,"stdin",{get(){throw new Error("stdin is not yet supported in EasbotShell. Use PKG.spawn for interactive commands.")},enumerable:true}),o.cwd=function(s){return me(e,{...t,cwd:s})},o.env=function(s){return me(e,{...t,env:s})},o.quiet=function(){return me(e,{...t,quiet:true})},o.lines=async function*(){let i=(await r()).text().split(/\r?\n/);for(let l of i)l.trim()&&(yield l);},o.text=async function(s="utf-8"){return (await r()).text(s)},o.json=async function(){return (await r()).json()},o.arrayBuffer=async function(){return (await r()).arrayBuffer()},o.blob=async function(){return (await r()).blob()},o.nothrow=function(){return me(e,{...t,nothrow:true})},o.throws=function(s){return me(e,{...t,nothrow:!s})},o}var Te=class{constructor(t={}){c(this,"options");this.options=t;}call(t,...n){let r="";for(let o=0;o<t.length;o++)r+=t[o],o<n.length&&n[o]!==void 0&&(r+=gn(n[o]));return me(r,this.options)}braces(t){let n=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!n)return [t];let[,r="",o="",s=""]=n,a=o.split(",").map(l=>l.trim()),i=[];for(let l of a){let d=`${r}${l}${s}`;d.includes("{")?i.push(...this.braces(d)):i.push(d);}return i}escape(t){return process.platform==="win32"?t.replace(/([&|<>^"%])/g,"^$1"):t.replace(/(["\s'$`\\!*?#&;()<>|])/g,"\\$1")}env(t){return ue({...this.options,env:t})}cwd(t){return ue({...this.options,cwd:t})}nothrow(){return ue({...this.options,nothrow:true})}throws(t){return ue({...this.options,nothrow:!t})}};function ue(e={}){let t=new Te(e);return new Proxy(t,{apply(n,r,o){return t.call(o[0],...o.slice(1))}})}var hn=ue();function bn(e){return e.replace(/\\/g,"/")}function xn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var Z=new Map,A;(U=>{let e=a.create({service:"pkg"});async function t(k){let g=k?[k]:["npm","pnpm","bun"];for(let p of g){let f=await U.which(p);if(f)return {name:p,path:f}}}U.packageManager=t;async function n(k,g){if(!k)return process.execPath;let p=g?.PATH||process.env.PATH||process.env.Path||"",f=process.env.EASBOT_BIN_PATH,x=f?p+ge.delimiter+f:p,y=xn(x),b=`${k}:${y}`;if(Z.has(b))return Z.get(b);let C=process.platform==="win32"?"where":"which";try{let{spawn:T}=await import('child_process');return new Promise(E=>{let F=T(C,[k],{env:{...process.env,PATH:x},stdio:["pipe","pipe","ignore"],windowsHide:!0}),H="",$="";F.stdout?.on("data",z=>{H+=z.toString();}),F.stderr?.on("data",z=>{$+=z.toString();}),F.on("close",z=>{if(z===0&&H.trim()){let L=H.trim().split(`
22
- `),B=L.length>0?L[0]?.trim():null;if(B){Z.set(b,B),E(B);return}}Z.set(b,null),E(null);}),setTimeout(()=>{F.kill(),Z.set(b,null),E(null);},5e3);})}catch{return Z.set(b,null),null}}U.which=n;function r(k,g){if(!k)return process.execPath;let p=g?.PATH||process.env.PATH||process.env.Path||"",f=process.env.EASBOT_BIN_PATH,x=f?p+ge.delimiter+f:p,y=xn(x),b=`${k}:${y}`;if(Z.has(b))return Z.get(b);let C=process.platform==="win32"?"where":"which";try{let T=execSync(`${C} ${k}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:x},timeout:5e3,windowsHide:!0});if(T.trim()){let E=T.trim().split(`
23
- `),F=E.length>0?E[0]?.trim():null;if(F)return Z.set(b,F),F}}catch{}return Z.set(b,null),null}U.whichSync=r;function o(){Z.clear();}U.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(k,g,p){try{let f=[];if(p?.extraPaths)for(let x of p.extraPaths){let y=ge.join(x,"node_modules");f.push(y);}return g&&f.push(g),f.length>0?s.resolve(k,{paths:f}):s.resolve(k)}catch(f){throw new Error(`Cannot resolve module "${k}"${g?` from "${g}"`:""}: ${f instanceof Error?f.message:String(f)}`)}}U.resolve=a$2;function i(k){return {get name(){return ge.basename(k)},async exists(){try{return await oe.access(k),!0}catch{return false}},async getSize(){try{return (await oe.stat(k)).size}catch{return}},async text(){return await oe.readFile(k,"utf-8")},textSync(){return Ae.readFileSync(k,"utf-8")},jsonSync(){let g=Ae.readFileSync(k,"utf-8");return JSON.parse(g)},async bytes(){let g=await oe.readFile(k);return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)},async arrayBuffer(){let g=await oe.readFile(k);return g.buffer.slice(g.byteOffset,g.byteOffset+g.byteLength)},get type(){let g=ge.extname(k).toLowerCase();return {".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".xml":"application/xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".pdf":"application/pdf",".zip":"application/zip",".wav":"audio/wav",".mp3":"audio/mpeg",".mp4":"video/mp4",".webm":"video/webm"}[g]||"application/octet-stream"},async write(g){let p;if(g instanceof Response){let f=await g.arrayBuffer();p=new Uint8Array(f);}else p=g;await oe.writeFile(k,p);},async json(){let g=await oe.readFile(k,"utf-8");return JSON.parse(g)},async stat(){return await oe.stat(k)}}}U.file=i;async function l(k,g,p){let f;if(g instanceof Response){let x=await g.arrayBuffer();f=new Uint8Array(x);}else f=g;await oe.writeFile(k,f,p?{mode:p.mode}:void 0);}U.write=l;function d(k,g,p){Ae.writeFileSync(k,g,p?{mode:p.mode}:void 0);}U.writeSync=d;function c$1(k,g="utf-8"){return Ae.readFileSync(k,g)}U.readSync=c$1;function u(k,g){let p,f;if(typeof k=="object"&&"cmd"in k){let T=k;p=T.cmd,f={cwd:T.cwd,env:T.env,stdout:T.stdout,stderr:T.stderr,stdin:T.stdin,signal:T.signal,windowsHide:T.windowsHide,shell:T.shell};}else p=Array.isArray(k)?k:[k],f=g||{};if(!p||p.length===0||!p[0])throw new Error("Spawn command cannot be empty");let x=[f.stdin==="inherit"?"inherit":f.stdin==="null"?"ignore":"pipe",f.stdout==="inherit"?"inherit":f.stdout==="null"?"ignore":"pipe",f.stderr==="inherit"?"inherit":f.stderr==="null"?"ignore":"pipe"],y={cwd:f.cwd,env:f.env?{...process.env,...f.env}:process.env,stdio:x,timeout:f.timeout};f.shell!==void 0&&(y.shell=f.shell),process.platform==="win32"&&(y.windowsHide=f.windowsHide??true);let b=spawn(p[0],p.slice(1),y),S;if(f.signal){S=()=>{b.kill();},f.signal.addEventListener("abort",S,{once:true});let T=()=>{S&&(f.signal?.removeEventListener("abort",S),S=void 0);};b.on("close",T),b.on("error",T);}let C=new Promise((T,E)=>{let F=false,H=()=>{F||(F=true,b.removeAllListeners());};if(b.on("close",$=>{H(),T($??0);}),b.on("error",$=>{H(),E($);}),f.timeout!==false){let $=f.timeout||3e5;setTimeout(()=>{if(!F){e.debug(`Process timeout after ${$}ms, killing process`,{cmd:p.join(" ")}),H();try{b.kill("SIGKILL");}catch{}E(new Error(`Process timeout after ${$}ms: ${p.join(" ")}`));}},$);}});return {stdout:b.stdout,stderr:b.stderr,stdin:b.stdin,pid:b.pid,exited:C,exitCode:b.exitCode,kill:T=>b.kill(T)}}U.spawn=u;async function m(k,g){let p=g?.stdin??"null",f=g?.stdout??"pipe",x=g?.stderr??"pipe",y=u(k,{cwd:g?.cwd,env:g?.env,stdin:p,stdout:f,stderr:x,windowsHide:g?.windowsHide,shell:g?.shell}),b=[],S=[];f==="pipe"&&y.stdout?.on("data",T=>{b.push(T);}),x==="pipe"&&y.stderr?.on("data",T=>{S.push(T);});let C=g?.timeout&&g.timeout>0?setTimeout(()=>{try{y.kill("SIGKILL");}catch{}y.stdout?.destroy(),y.stderr?.destroy(),y.stdin?.end();},g.timeout):void 0;try{let T=await y.exited;return clearTimeout(C),f==="pipe"&&y.stdout?.destroy(),x==="pipe"&&y.stderr?.destroy(),p==="pipe"&&y.stdin?.end(),{code:T,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(S).toString("utf-8")}}catch(T){return clearTimeout(C),f==="pipe"&&y.stdout?.destroy(),x==="pipe"&&y.stderr?.destroy(),p==="pipe"&&y.stdin?.end(),{code:-1,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(S).toString("utf-8")||(T instanceof Error?T.message:String(T))}}}U.run=m;async function w(k,g={},p={}){let f=u(k,{cwd:g.cwd,env:g.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),x="",y="";f.stdout?.on("data",S=>{let C=S.toString("utf-8");x+=C,p.onStdout?.(C);}),f.stderr?.on("data",S=>{let C=S.toString("utf-8");y+=C,p.onStderr?.(C);});let b=g.timeout&&g.timeout>0?setTimeout(()=>{try{f.kill("SIGKILL");}catch{}f.stdout?.destroy(),f.stderr?.destroy();},g.timeout):void 0;try{let S=await f.exited;return clearTimeout(b),p.onExit?.(S),{code:S,stdout:x,stderr:y}}catch(S){clearTimeout(b);let C=S instanceof Error?S.message:String(S);return {code:-1,stdout:x,stderr:y||C}}}U.runWithStream=w;async function P(k){if(typeof k.pipeThrough=="function")try{let x=new TextDecoderStream("utf-8"),b=k.pipeThrough(x).getReader(),S="";try{for(;;){let{done:C,value:T}=await b.read();if(C)break;S+=T;}return S}finally{b.releaseLock();}}catch{}let g=k.getReader(),p=new TextDecoder("utf-8"),f=[];try{for(;;){let{done:x,value:y}=await g.read();if(x)break;f.push(p.decode(y,{stream:!0}));}return f.push(p.decode()),f.join("")}finally{g.releaseLock();}}U.readableStreamToText=P;async function _(k){let g=[];return new Promise((p,f)=>{k.on("data",x=>{typeof x=="string"?g.push(Buffer.from(x)):g.push(x);}),k.on("end",()=>{try{let y=Buffer.concat(g).toString("utf-8");p(y);}catch(x){f(x);}}),k.on("error",x=>{f(x);});})}U.nodeReadableStreamToText=_;function D(k,g=0){let C=new TextEncoder().encode(k),T=C.length,E,F=0;if(T>=16){let L=T-16,B=g+2654435761+2246822519|0,ee=g+2246822519|0,V=g+0|0,K=g-2654435761|0;for(;F<=L;)B=H(B,z(C,F)),F+=4,ee=H(ee,z(C,F)),F+=4,V=H(V,z(C,F)),F+=4,K=H(K,z(C,F)),F+=4;E=$(B,1)+$(ee,7)+$(V,12)+$(K,18)|0;}else E=g+374761393|0;for(E=E+T|0;F+4<=T;)E=E+z(C,F)*3266489917|0,E=$(E,17)*668265263|0,F+=4;for(;F<T;)E=E+C[F]*374761393|0,E=$(E,11)*2654435761|0,F++;return E^=E>>>15,E=E*2246822519|0,E^=E>>>13,E=E*3266489917|0,E^=E>>>16,E>>>0;function H(L,B){return L=L+B*2246822519|0,L=$(L,13),L=L*2654435761|0,L}function $(L,B){return L<<B|L>>>32-B|0}function z(L,B){return (L[B]|L[B+1]<<8|L[B+2]<<16|L[B+3]<<24)>>>0}}U.xxHash32=D;function W(k){let g=0;for(let p of k){let f=p.codePointAt(0)||p.charCodeAt(0);f<127?g+=1:f>=4352&&f<=4447||f>=9001&&f<=9002||f>=11904&&f<=42191&&f!==12351||f>=44032&&f<=55203||f>=63744&&f<=64255||f>=65040&&f<=65049||f>=65072&&f<=65135||f>=65280&&f<=65376||f>=65504&&f<=65510?g+=2:g+=1;}return g}U.stringWidth=W;class I{constructor(g){c(this,"pattern");this.pattern=g;}async*scan(g){let p=b.stream(this.pattern,{cwd:g?.cwd,absolute:g?.absolute,follow:g?.followSymlinks,dot:g?.dot,nodir:g?.onlyFiles});for await(let f of p)yield bn(f);}*scanSync(g){let p=a$1(this.pattern,{cwd:g?.cwd,absolute:g?.absolute,follow:g?.followSymlinks,dot:g?.dot,nodir:g?.onlyFiles});for(let f of p)yield bn(f);}match(g){return minimatch(g,this.pattern)}}U.Glob=I,U.stdin=process.stdin,U.stdout=process.stdout,U.stderr=process.stderr,U.sleep=k=>new Promise(g=>setTimeout(g,k)),U.color=(k,g)=>({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",blink:"\x1B[5m",inverse:"\x1B[7m",hidden:"\x1B[8m",strikethrough:"\x1B[9m",reset:"\x1B[0m"})[k.toLowerCase()]||null,U.hash={xxHash32:U.xxHash32},U.build=un.build,U.server=ae,U.nodeWebSocket=createNodeWebSocket,U.restServer=ct,U.rpcServer=lt,U.streamingServer=dt,U.webSocketServer=ut;})(A||(A={}));var Er=A.readableStreamToText;A.nodeReadableStreamToText;A.which;var Cr=A.whichSync;A.spawn;A.run;var wn=200,Sn={bash:{login:true,posix:true},dash:{login:true,posix:true},fish:{deny:true,login:true},ksh:{login:true,posix:true},nu:{deny:true},powershell:{ps:true},pwsh:{ps:true},sh:{login:true,posix:true},zsh:{login:true,posix:true}},te;(g=>{let e=a.create({service:"shell"});async function t(p,f){let x=p.pid;if(!(!x||f?.exited?.())){if(process.platform==="win32"){await new Promise(y=>{let b=spawn("taskkill",["/pid",String(x),"/f","/t"],{stdio:"ignore",windowsHide:true});b.once("exit",()=>y()),b.once("error",()=>y());});return}try{process.kill(-x,"SIGTERM"),await setTimeout$1(wn),f?.exited?.()||process.kill(-x,"SIGKILL");}catch{p.kill("SIGTERM"),await setTimeout$1(wn),f?.exited?.()||p.kill("SIGKILL");}}}g.killTree=t;function n(p){if(process.platform!=="win32"||!p.includes("/")&&!p.includes("\\")&&!p.includes(":"))return p;let f=c$1.normalize(p);return P(f)==="bash"&&m()||f}function r(p){return Sn[P(p)]}function o(p){return r(p)?.deny!==true}function s(p){return c$1.isAbsolute(p)}function a$1(p){let f=n(p);if(s(f))return c$1.stat(f)?.isFile()?f:void 0;let x=A.whichSync(f);return x?c$1.normalize(x):void 0}function i(){return Array.from(new Set([A.whichSync("pwsh"),A.whichSync("powershell"),m(),process.env.COMSPEC||"cmd.exe"].filter(p=>!!p).map(n)))}async function l(){let p=await c$1.readText("/etc/shells").catch(()=>"");return p?Array.from(new Set(p.split(`
24
- `).filter(f=>f.trim()&&!f.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function d(p,f){if(p&&(!f?.acceptable||o(p))){let x=a$1(p);if(x)return x}return process.platform==="win32"?i()[0]:w()}g.defaultPreferred=Le(()=>d(process.env.SHELL)),g.defaultAcceptable=Le(()=>d(process.env.SHELL,{acceptable:true}));function m(){if(process.platform!=="win32")return;if(process.env.EASBOT_GIT_BASH_PATH)return c$1.normalize(process.env.EASBOT_GIT_BASH_PATH);let p=A.whichSync("git");if(!p)return;let f=c$1.normalize(ge.join(p,"..","..","bin","bash.exe"));if((c$1.stat(f)?.size??0)>0)return f}g.gitbash=m;function w(){if(process.platform==="win32"){let f=m();return f||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let p=A.whichSync("bash");return p?c$1.normalize(p):"/bin/sh"}function P(p){return ge.posix.basename(c$1.toUnixPath(p)).toLowerCase()}g.name=P;function _(p){return r(p)?.login===true}g.login=_;function D(p){return r(p)?.posix===true}g.posix=D;function W(p){return r(p)?.ps===true}g.ps=W;function I(p){let f=n(p),x=P(f);return {path:f,name:x,acceptable:o(x)}}function O(p,f,x){let y=P(p),b=re(f),S=pe(b[0]??f,b.slice(1));return y==="nu"||y==="fish"?["-c",S]:y==="zsh"?["-l","-c",`
20
+ ${le}`;return {content:N+ke,truncated:true,outputPath:H,originalLength:l.length,removedLength:q,label:g}}i.truncateAndSave=s;function a(l){return l.truncated?n(l.outputPath,l.label):""}i.formatHint=a;})(rt||(rt={}));k();k();function ot(e,t=true){let r=typeof e=="number"?new Date(e):e,n=r.getTimezoneOffset(),o=Math.floor(Math.abs(n)/60),s=Math.abs(n)%60,i=`${n<=0?"+":"-"}${String(o).padStart(2,"0")}:${String(s).padStart(2,"0")}`,l=r.getFullYear(),p=String(r.getMonth()+1).padStart(2,"0"),c=String(r.getDate()).padStart(2,"0"),u=String(r.getHours()).padStart(2,"0"),g=String(r.getMinutes()).padStart(2,"0"),S=String(r.getSeconds()).padStart(2,"0"),P=`${l}-${p}-${c}T${u}:${g}:${S}`;if(t){let D=String(r.getMilliseconds()).padStart(3,"0");P+=`.${D}`;}return P+=i,P}function st(e){return ot(e,false)}function Vt(){return Date.now()}function Xn(e=true){return ot(Vt(),e)}function Qn(e){return e.includes("+")||e.includes("-")?new Date(e):new Date(e)}function er(e){let t=typeof e=="number"?new Date(e):e,r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return `${r}-${n}-${o}T${s}:${a}:${i}`}function tr(e=new Date){let t=e.getTimezoneOffset(),r=Math.floor(Math.abs(t)/60),n=Math.abs(t)%60;return `${t<=0?"+":"-"}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`}var it;(i=>{let e="New session - ",t="Child session - ";i.parentTitlePrefix=e,i.childTitlePrefix=t;function o(l=false){return (l?t:e)+st(new Date)}i.createDefault=o;function s(l){return new RegExp(`^(${e}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(l)}i.isDefault=s;function a(l){let p=l.match(/^(.+) \(fork #(\d+)\)$/);if(p){let c=p[1]??"",u=parseInt(p[2]??"0",10);return `${c} (fork #${u+1})`}return `${l} (fork #1)`}i.getForked=a;})(it||(it={}));k();k();function Gt(e){let t,r=false,n=()=>(r||(t=e(),r=true),t);return n.reset=()=>{r=false,t=void 0;},n}var Ae=Gt;function Yt(e){let t,r=()=>(t||(t=e()),t);return r.reset=()=>{t=void 0;},r}var nr=Yt,pe;(r=>(r.lazy=Gt,r.lazyAsync=Yt))(pe||(pe={}));k();k();k();var re=a.create({service:"server"});function ae(e={}){let t=e.port??3e3,r=e.hostname??"0.0.0.0",n=new Hono({strict:true,getPath:a=>{try{return new URL(a.url).pathname}catch{return a.url}}});if(e.onError?n.onError(e.onError):n.onError((a,i)=>(re.error("Server error",{error:a.message,stack:a.stack}),a instanceof HTTPException?a.getResponse():i.json({error:"Internal Server Error",message:a.message},500))),e.onNotFound?n.notFound(e.onNotFound):n.notFound(a=>a.json({error:"Not Found",path:a.req.path},404)),!e.websockets&&e.cors&&n.use(cors(typeof e.cors=="boolean"?{origin:"*"}:e.cors)),n.use(logger((a,...i)=>re.info(a,i))),!e.websockets&&e.secureHeaders&&n.use(secureHeaders()),!e.websockets&&e.compression&&n.use(compress({encoding:"gzip"})),!e.websockets&&e.timeout&&n.use(timeout(e.timeout)),e.middlewares)for(let a of e.middlewares)a.path?n.use(a.path,a.handler):n.use(a.handler);if(e.routes)for(let a of e.routes){let i=a.middlewares||[],l=a.method.toUpperCase();a.validation?n.on(l,a.path,zValidator("json",a.validation),...i,a.handler):n.on(l,a.path,...i,a.handler);}e.rpc&&n.post("/rpc/:method",async a=>{let i=a.req.param("method"),l=e.rpc?.[i];if(!l)return a.json({error:"RPC method not found"},404);try{let p=await a.req.json(),c=await l(p,a);return a.json({result:c})}catch(p){return re.error("RPC error",{method:i,error:p.message}),a.json({error:"RPC execution failed",message:p.message},500)}}),e.fetch&&n.all("*",async a=>await e.fetch(a.req.raw));let o=null,s={url:new URL(`http://${r}:${t}`),port:t,hostname:r,hono:n,async stop(a=false){return o?new Promise((i,l)=>{a&&o.closeAllConnections?.(),o.close(p=>{p?(re.error("Error closing server",{error:p.message}),l(p)):(o=null,re.info(`Server on port ${t} stopped`),i());}),setTimeout(()=>{re.warn(`Server shutdown timeout on port ${t}`),o=null,i();},5e3);}):Promise.resolve()},get raw(){return o||void 0}};return re.debug("createServer: calling serve()",{port:t,hostname:r}),o=serve({fetch:n.fetch,port:t,hostname:r}),re.debug("createServer: serve() returned, server created"),re.info(`Server running on http://${r}:${t}`),s}function at(e){return ae({rpc:e,port:3e3})}function ir(e,t=3e3,r="0.0.0.0"){return ae({fetch:e,port:t,hostname:r})}function lt(e,t={}){return ae({...t,routes:e})}function ct(e,t={}){return ae({...t,websockets:e})}function ut(e,t={}){let r=Object.entries(e).map(([n,o])=>({method:"get",path:`/stream/${n}`,handler:s=>streamSSE(s,async a=>{for await(let i of o(s))await a.writeSSE(i);})}));return ae({...t,routes:r,streaming:true})}k();var ue=a.create({service:"build-api"});async function ln(){try{return {available:!0,version:(await import('./chunks/main-ZMRSNK7G.mjs')).version||"unknown"}}catch(e){return ue.warn("esbuild not available",{error:e.message}),{available:false}}}async function Le(){let e=await ln();if(!e.available)throw new Error("esbuild is required but not installed. Please install it using: pnpm add -D esbuild");e.version&&e.version<"0.17.0"&&ue.warn(`esbuild version ${e.version} may have limited features. Consider upgrading to 0.17+`);}function ur(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function cn(e){let t=ur(e.compile);t&&ue.warn("compile option is no longer supported (Bun runtime removed). The option will be ignored.");let r={entryPoints:e.entrypoints,outdir:e.outdir,bundle:e.bundle??true,conditions:e.conditions,external:e.external,format:e.format??"esm",platform:e.platform??(e.target==="browser"?"browser":"node"),minify:e.minify??false,treeShaking:true,splitting:e.splitting,sourcemap:dr(e.sourcemap),sourcesContent:true,define:e.define,inject:e.inject,legalComments:"eof",loader:e.loader,entryNames:e.entryNames,chunkNames:e.chunkNames,assetNames:e.assetNames,publicPath:e.publicPath,tsconfig:e.tsconfig,charset:"utf8",color:true,logLevel:"info",logLimit:50,plugins:e.plugins??[],metafile:true,write:e.write??true};return t?.outfile&&!e.outdir&&(r.outfile=t.outfile,delete r.outdir),e.target&&(r.target=fr(e.target)),e.minify===true&&(r.minifyWhitespace=true,r.minifyIdentifiers=true,r.minifySyntax=true),pr(r)}function dr(e){return !e||e==="none"?false:e}function fr(e){let t={browser:"es2020",node:"node16",bun:"esnext"};return e?t[e]||e:"esnext"}function pr(e){let t={};for(let r of Object.keys(e))e[r]!==void 0&&(t[r]=e[r]);return t}function Be(e){if(e!==void 0)return e.replace(/\\/g,"/")}function rn(e,t,r){let n=[];if(e.outputFiles)for(let s of e.outputFiles)n.push({path:Be(s.path)||s.path,size:s.contents?.length||0});if(e.metafile?.outputs)for(let[s,a]of Object.entries(e.metafile.outputs)){let i=a;n.some(l=>l.path===s||l.path===Be(s))||n.push({path:Be(s)||s,size:i.bytes||0});}let o=[];if(e.errors?.length>0)for(let s of e.errors)o.push({level:"error",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});if(e.warnings?.length>0)for(let s of e.warnings)o.push({level:"warning",message:s.text||String(s),path:s.location?.file,position:s.location?{line:s.location.line,column:s.location.column}:void 0});return {outputs:n,success:e.errors?.length===0,logs:o,metafile:e.metafile}}async function ft(e){ue.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await Le();let t=await import('./chunks/main-ZMRSNK7G.mjs'),r=Date.now();try{let n=cn(e);ue.debug("esbuild options",n);let o=await t.build(n),s=Date.now();return ue.info("Build completed",{duration:s-r,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),rn(o,r,s)}catch(n){let o=Date.now(),s=n.message;return ue.error("Build failed",{error:s,duration:o-r}),n&&typeof n=="object"&&"errors"in n?rn(n):{outputs:[],success:false,logs:[{level:"error",message:s}],metafile:void 0}}}var xr={build:ft},un=xr;k();k();function oe(e){let t=[],r="",n=0;for(;n<e.length&&(e[n]===" "||e[n]===" ");)n++;for(;n<e.length;){let o=e[n];if(o===" "||o===" "){for(r.length>0&&(t.push(r),r="");n<e.length&&(e[n]===" "||e[n]===" ");)n++;continue}if(o==='"'){for(n++;n<e.length;){let s=e[n];if(s==="\\"&&n+1<e.length){let a=e[n+1];if(a==='"'||a==="\\"||a==="$"||a==="`"){r+=a,n+=2;continue}}if(s==='"'){n++;break}r+=s,n++;}continue}if(o==="'"){for(n++;n<e.length;){let s=e[n];if(s==="'"){n++;break}r+=s,n++;}continue}r+=o,n++;}return r.length>0&&t.push(r),t}function dn(e){return /[|&;<>()$`!#]/.test(e)}function fn(e){let t=oe(e);if(t.length===0)return {command:"",args:[]};let r={command:t[0],args:t.slice(1)};if(r.args.length>0){let n=r.args[r.args.length-1];try{let o=JSON.parse(n);typeof o=="object"&&o!==null&&!Array.isArray(o)&&(r.options=o,r.args=r.args.slice(0,-1));}catch{}}return r}function pt(e,t=process.platform==="win32"?"windows":"unix"){return t==="windows"?e.includes(" ")||e.includes("&")||e.includes("|")||e.includes("<>")||e.includes("^")||e.includes('"')||e.includes("%")?`"${e.replace(/%/g,"%%").replace(/"/g,'^"')}"`:e:e.includes(" ")||e.includes("'")||e.includes('"')||e.includes("$")||e.includes("`")||e.includes("\\")||e.includes("!")||e.includes("#")||e.includes("&")||e.includes("*")||e.includes("?")||e.includes("|")||e.includes("<")||e.includes(">")||e.includes("(")||e.includes(")")||e.includes(";")?`'${e.replace(/'/g,"'\\''")}'`:e}var wr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>","2>&1","2>&2","1>&1","1>&2",">&","<&",">&1","<&1",">&2","<&2"]);function pn(e,t=process.platform==="win32"?"windows":"unix"){return wr.has(e)?e:pt(e,t)}function mn(){return process.platform==="win32"?"windows":"unix"}function me(e,t,r=process.platform==="win32"?"windows":"unix"){let n=t.map(o=>pn(o,r));return [e,...n].join(" ")}function gn(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>gn(t)).join(" ");if(e&&typeof e=="object"){if("raw"in e)return String(e.raw);if("toString"in e&&typeof e.toString=="function")return e.toString();if(e instanceof ReadableStream)throw new Error("ReadableStream expressions are not yet supported")}return String(e)}function Sr(e,t,r){return {stdout:e,stderr:t,exitCode:r,text(n="utf-8"){return e.toString(n)},json(){let n=e.toString("utf-8");return JSON.parse(n)},arrayBuffer(){let n=e.buffer;if(n instanceof ArrayBuffer)return n.slice(e.byteOffset,e.byteOffset+e.byteLength);let o=new ArrayBuffer(e.byteLength),s=new Uint8Array(o),a=new Uint8Array(n,e.byteOffset,e.byteLength);return s.set(a),o},bytes(){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},blob(){let n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return new Blob([n])}}}function ge(e,t={}){let r=oe(e);if(r.length===0)throw new Error("Empty shell command");let n=async()=>{let s=await L.run(r,{cwd:t.cwd,env:t.env}),a=Sr(Buffer.from(s.stdout,"utf-8"),Buffer.from(s.stderr,"utf-8"),s.code);if(s.code!==0&&!t.nothrow)throw Object.assign(new Error(`Command failed with exit code ${s.code}: ${e}
21
+ ${s.stderr}`),{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode});return a},o=n();return Object.defineProperty(o,"stdin",{get(){throw new Error("stdin is not yet supported in EasbotShell. Use PKG.spawn for interactive commands.")},enumerable:true}),o.cwd=function(s){return ge(e,{...t,cwd:s})},o.env=function(s){return ge(e,{...t,env:s})},o.quiet=function(){return ge(e,{...t,quiet:true})},o.lines=async function*(){let i=(await n()).text().split(/\r?\n/);for(let l of i)l.trim()&&(yield l);},o.text=async function(s="utf-8"){return (await n()).text(s)},o.json=async function(){return (await n()).json()},o.arrayBuffer=async function(){return (await n()).arrayBuffer()},o.blob=async function(){return (await n()).blob()},o.nothrow=function(){return ge(e,{...t,nothrow:true})},o.throws=function(s){return ge(e,{...t,nothrow:!s})},o}var ve=class{constructor(t={}){c$1(this,"options");this.options=t;}call(t,...r){let n="";for(let o=0;o<t.length;o++)n+=t[o],o<r.length&&r[o]!==void 0&&(n+=gn(r[o]));return ge(n,this.options)}braces(t){let r=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!r)return [t];let[,n="",o="",s=""]=r,a=o.split(",").map(l=>l.trim()),i=[];for(let l of a){let p=`${n}${l}${s}`;p.includes("{")?i.push(...this.braces(p)):i.push(p);}return i}escape(t){return process.platform==="win32"?t.replace(/([&|<>^"%])/g,"^$1"):t.replace(/(["\s'$`\\!*?#&;()<>|])/g,"\\$1")}env(t){return de({...this.options,env:t})}cwd(t){return de({...this.options,cwd:t})}nothrow(){return de({...this.options,nothrow:true})}throws(t){return de({...this.options,nothrow:!t})}};function de(e={}){let t=new ve(e);return new Proxy(t,{apply(r,n,o){return t.call(o[0],...o.slice(1))}})}var hn=de();function bn(e){return e.replace(/\\/g,"/")}function yn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var Q=new Map,L;(_=>{let e=a.create({service:"pkg"});async function t(x){let m=x?[x]:["npm","pnpm","bun"];for(let f of m){let d=await _.which(f);if(d)return {name:f,path:d}}}_.packageManager=t;async function r(x,m){if(!x)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",d=process.env.EASBOT_BIN_PATH,w=d?f+he.delimiter+d:f,y=yn(w),b=`${x}:${y}`;if(Q.has(b))return Q.get(b);let C=process.platform==="win32"?"where":"which";try{let{spawn:T}=await import('child_process');return new Promise(E=>{let F=T(C,[x],{env:{...process.env,PATH:w},stdio:["pipe","pipe","ignore"],windowsHide:!0}),U="",B="";F.stdout?.on("data",W=>{U+=W.toString();}),F.stderr?.on("data",W=>{B+=W.toString();}),F.on("close",W=>{if(W===0&&U.trim()){let $=U.trim().split(`
22
+ `),A=$.length>0?$[0]?.trim():null;if(A){Q.set(b,A),E(A);return}}Q.set(b,null),E(null);}),setTimeout(()=>{F.kill(),Q.set(b,null),E(null);},5e3);})}catch{return Q.set(b,null),null}}_.which=r;function n(x,m){if(!x)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",d=process.env.EASBOT_BIN_PATH,w=d?f+he.delimiter+d:f,y=yn(w),b=`${x}:${y}`;if(Q.has(b))return Q.get(b);let C=process.platform==="win32"?"where":"which";try{let T=execSync(`${C} ${x}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:w},timeout:5e3,windowsHide:!0});if(T.trim()){let E=T.trim().split(`
23
+ `),F=E.length>0?E[0]?.trim():null;if(F)return Q.set(b,F),F}}catch{}return Q.set(b,null),null}_.whichSync=n;function o(){Q.clear();}_.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(x,m,f){try{let d=[];if(f?.extraPaths)for(let w of f.extraPaths){let y=he.join(w,"node_modules");d.push(y);}return m&&d.push(m),d.length>0?s.resolve(x,{paths:d}):s.resolve(x)}catch(d){throw new Error(`Cannot resolve module "${x}"${m?` from "${m}"`:""}: ${d instanceof Error?d.message:String(d)}`)}}_.resolve=a$2;function i(x){return {get name(){return he.basename(x)},async exists(){try{return await se.access(x),!0}catch{return false}},async getSize(){try{return (await se.stat(x)).size}catch{return}},async text(){return await se.readFile(x,"utf-8")},textSync(){return _e.readFileSync(x,"utf-8")},jsonSync(){let m=_e.readFileSync(x,"utf-8");return JSON.parse(m)},async bytes(){e.debug("[PKG.file.bytes] reading file:",{filePath:x});let m=await se.readFile(x);return e.debug("[PKG.file.bytes] read succeeded, size:",{size:m.length}),new Uint8Array(m.buffer,m.byteOffset,m.byteLength)},async arrayBuffer(){let m=await se.readFile(x);return m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)},get type(){let m=he.extname(x).toLowerCase();return {".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".xml":"application/xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".pdf":"application/pdf",".zip":"application/zip",".wav":"audio/wav",".mp3":"audio/mpeg",".mp4":"video/mp4",".webm":"video/webm"}[m]||"application/octet-stream"},async write(m){let f;if(m instanceof Response){let d=await m.arrayBuffer();f=new Uint8Array(d);}else f=m;await se.writeFile(x,f);},async json(){let m=await se.readFile(x,"utf-8");return JSON.parse(m)},async stat(){return await se.stat(x)}}}_.file=i;async function l(x,m,f){let d;if(m instanceof Response){let w=await m.arrayBuffer();d=new Uint8Array(w);}else d=m;await se.writeFile(x,d,f?{mode:f.mode}:void 0);}_.write=l;function p(x,m,f){_e.writeFileSync(x,m,f?{mode:f.mode}:void 0);}_.writeSync=p;function c(x,m="utf-8"){return _e.readFileSync(x,m)}_.readSync=c;function u(x,m){let f,d;if(typeof x=="object"&&"cmd"in x){let T=x;f=T.cmd,d={cwd:T.cwd,env:T.env,stdout:T.stdout,stderr:T.stderr,stdin:T.stdin,signal:T.signal,windowsHide:T.windowsHide,shell:T.shell};}else f=Array.isArray(x)?x:[x],d=m||{};if(!f||f.length===0||!f[0])throw new Error("Spawn command cannot be empty");let w=[d.stdin==="inherit"?"inherit":d.stdin==="null"?"ignore":"pipe",d.stdout==="inherit"?"inherit":d.stdout==="null"?"ignore":"pipe",d.stderr==="inherit"?"inherit":d.stderr==="null"?"ignore":"pipe"],y={cwd:d.cwd,env:d.env?{...process.env,...d.env}:process.env,stdio:w,timeout:d.timeout};d.shell!==void 0&&(y.shell=d.shell),process.platform==="win32"&&(y.windowsHide=d.windowsHide??true);let b=spawn(f[0],f.slice(1),y),k;if(d.signal){k=()=>{b.kill();},d.signal.addEventListener("abort",k,{once:true});let T=()=>{k&&(d.signal?.removeEventListener("abort",k),k=void 0);};b.on("close",T),b.on("error",T);}let C=new Promise((T,E)=>{let F=false,U=()=>{F||(F=true,b.removeAllListeners());};if(b.on("close",B=>{U(),T(B??0);}),b.on("error",B=>{U(),E(B);}),d.timeout!==false){let B=d.timeout||3e5;setTimeout(()=>{if(!F){e.debug(`Process timeout after ${B}ms, killing process`,{cmd:f.join(" ")}),U();try{b.kill("SIGKILL");}catch{}E(new Error(`Process timeout after ${B}ms: ${f.join(" ")}`));}},B);}});return {stdout:b.stdout,stderr:b.stderr,stdin:b.stdin,pid:b.pid,exited:C,exitCode:b.exitCode,kill:T=>b.kill(T)}}_.spawn=u;async function g(x,m){let f=m?.stdin??"null",d=m?.stdout??"pipe",w=m?.stderr??"pipe",y=u(x,{cwd:m?.cwd,env:m?.env,stdin:f,stdout:d,stderr:w,windowsHide:m?.windowsHide,shell:m?.shell}),b=[],k=[];d==="pipe"&&y.stdout?.on("data",T=>{b.push(T);}),w==="pipe"&&y.stderr?.on("data",T=>{k.push(T);});let C=m?.timeout&&m.timeout>0?setTimeout(()=>{try{y.kill("SIGKILL");}catch{}y.stdout?.destroy(),y.stderr?.destroy(),y.stdin?.end();},m.timeout):void 0;try{let T=await y.exited;return clearTimeout(C),d==="pipe"&&y.stdout?.destroy(),w==="pipe"&&y.stderr?.destroy(),f==="pipe"&&y.stdin?.end(),{code:T,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(k).toString("utf-8")}}catch(T){return clearTimeout(C),d==="pipe"&&y.stdout?.destroy(),w==="pipe"&&y.stderr?.destroy(),f==="pipe"&&y.stdin?.end(),{code:-1,stdout:Buffer.concat(b).toString("utf-8"),stderr:Buffer.concat(k).toString("utf-8")||(T instanceof Error?T.message:String(T))}}}_.run=g;async function S(x,m={},f={}){let d=u(x,{cwd:m.cwd,env:m.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),w="",y="";d.stdout?.on("data",k=>{let C=k.toString("utf-8");w+=C,f.onStdout?.(C);}),d.stderr?.on("data",k=>{let C=k.toString("utf-8");y+=C,f.onStderr?.(C);});let b=m.timeout&&m.timeout>0?setTimeout(()=>{try{d.kill("SIGKILL");}catch{}d.stdout?.destroy(),d.stderr?.destroy();},m.timeout):void 0;try{let k=await d.exited;return clearTimeout(b),f.onExit?.(k),{code:k,stdout:w,stderr:y}}catch(k){clearTimeout(b);let C=k instanceof Error?k.message:String(k);return {code:-1,stdout:w,stderr:y||C}}}_.runWithStream=S;async function P(x){if(typeof x.pipeThrough=="function")try{let w=new TextDecoderStream("utf-8"),b=x.pipeThrough(w).getReader(),k="";try{for(;;){let{done:C,value:T}=await b.read();if(C)break;k+=T;}return k}finally{b.releaseLock();}}catch{}let m=x.getReader(),f=new TextDecoder("utf-8"),d=[];try{for(;;){let{done:w,value:y}=await m.read();if(w)break;d.push(f.decode(y,{stream:!0}));}return d.push(f.decode()),d.join("")}finally{m.releaseLock();}}_.readableStreamToText=P;async function D(x){let m=[];return new Promise((f,d)=>{x.on("data",w=>{typeof w=="string"?m.push(Buffer.from(w)):m.push(w);}),x.on("end",()=>{try{let y=Buffer.concat(m).toString("utf-8");f(y);}catch(w){d(w);}}),x.on("error",w=>{d(w);});})}_.nodeReadableStreamToText=D;function H(x,m=0){let C=new TextEncoder().encode(x),T=C.length,E,F=0;if(T>=16){let $=T-16,A=m+2654435761+2246822519|0,ee=m+2246822519|0,J=m+0|0,X=m-2654435761|0;for(;F<=$;)A=U(A,W(C,F)),F+=4,ee=U(ee,W(C,F)),F+=4,J=U(J,W(C,F)),F+=4,X=U(X,W(C,F)),F+=4;E=B(A,1)+B(ee,7)+B(J,12)+B(X,18)|0;}else E=m+374761393|0;for(E=E+T|0;F+4<=T;)E=E+W(C,F)*3266489917|0,E=B(E,17)*668265263|0,F+=4;for(;F<T;)E=E+C[F]*374761393|0,E=B(E,11)*2654435761|0,F++;return E^=E>>>15,E=E*2246822519|0,E^=E>>>13,E=E*3266489917|0,E^=E>>>16,E>>>0;function U($,A){return $=$+A*2246822519|0,$=B($,13),$=$*2654435761|0,$}function B($,A){return $<<A|$>>>32-A|0}function W($,A){return ($[A]|$[A+1]<<8|$[A+2]<<16|$[A+3]<<24)>>>0}}_.xxHash32=H;function q(x){let m=0;for(let f of x){let d=f.codePointAt(0)||f.charCodeAt(0);d<127?m+=1:d>=4352&&d<=4447||d>=9001&&d<=9002||d>=11904&&d<=42191&&d!==12351||d>=44032&&d<=55203||d>=63744&&d<=64255||d>=65040&&d<=65049||d>=65072&&d<=65135||d>=65280&&d<=65376||d>=65504&&d<=65510?m+=2:m+=1;}return m}_.stringWidth=q;class N{constructor(m){c$1(this,"pattern");this.pattern=m;}async*scan(m){let f=b.stream(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for await(let d of f)yield bn(d);}*scanSync(m){let f=a$1(this.pattern,{cwd:m?.cwd,absolute:m?.absolute,follow:m?.followSymlinks,dot:m?.dot,nodir:m?.onlyFiles});for(let d of f)yield bn(d);}match(m){return minimatch(m,this.pattern)}}_.Glob=N,_.stdin=process.stdin,_.stdout=process.stdout,_.stderr=process.stderr,_.sleep=x=>new Promise(m=>setTimeout(m,x)),_.color=(x,m)=>({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",blink:"\x1B[5m",inverse:"\x1B[7m",hidden:"\x1B[8m",strikethrough:"\x1B[9m",reset:"\x1B[0m"})[x.toLowerCase()]||null,_.hash={xxHash32:_.xxHash32},_.build=un.build,_.server=ae,_.nodeWebSocket=createNodeWebSocket,_.restServer=lt,_.rpcServer=at,_.streamingServer=ut,_.webSocketServer=ct;})(L||(L={}));var Mr=L.readableStreamToText;L.nodeReadableStreamToText;L.which;var Er=L.whichSync;L.spawn;L.run;var wn=200,Sn={bash:{login:true,posix:true},dash:{login:true,posix:true},fish:{deny:true,login:true},ksh:{login:true,posix:true},nu:{deny:true},powershell:{ps:true},pwsh:{ps:true},sh:{login:true,posix:true},zsh:{login:true,posix:true}},ne;(m=>{let e=a.create({service:"shell"});async function t(f,d){let w=f.pid;if(!(!w||d?.exited?.())){if(process.platform==="win32"){await new Promise(y=>{let b=spawn("taskkill",["/pid",String(w),"/f","/t"],{stdio:"ignore",windowsHide:true});b.once("exit",()=>y()),b.once("error",()=>y());});return}try{process.kill(-w,"SIGTERM"),await setTimeout$1(wn),d?.exited?.()||process.kill(-w,"SIGKILL");}catch{f.kill("SIGTERM"),await setTimeout$1(wn),d?.exited?.()||f.kill("SIGKILL");}}}m.killTree=t;function r(f){if(process.platform!=="win32"||!f.includes("/")&&!f.includes("\\")&&!f.includes(":"))return f;let d=c.normalize(f);return P(d)==="bash"&&g()||d}function n(f){return Sn[P(f)]}function o(f){return n(f)?.deny!==true}function s(f){return c.isAbsolute(f)}function a$1(f){let d=r(f);if(s(d))return c.stat(d)?.isFile()?d:void 0;let w=L.whichSync(d);return w?c.normalize(w):void 0}function i(){return Array.from(new Set([L.whichSync("pwsh"),L.whichSync("powershell"),g(),process.env.COMSPEC||"cmd.exe"].filter(f=>!!f).map(r)))}async function l(){let f=await c.readText("/etc/shells").catch(()=>"");return f?Array.from(new Set(f.split(`
24
+ `).filter(d=>d.trim()&&!d.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function p(f,d){if(f&&(!d?.acceptable||o(f))){let w=a$1(f);if(w)return w}return process.platform==="win32"?i()[0]:S()}m.defaultPreferred=Ae(()=>p(process.env.SHELL)),m.defaultAcceptable=Ae(()=>p(process.env.SHELL,{acceptable:true}));function g(){if(process.platform!=="win32")return;if(process.env.EASBOT_GIT_BASH_PATH)return c.normalize(process.env.EASBOT_GIT_BASH_PATH);let f=L.whichSync("git");if(!f)return;let d=c.normalize(he.join(f,"..","..","bin","bash.exe"));if((c.stat(d)?.size??0)>0)return d}m.gitbash=g;function S(){if(process.platform==="win32"){let d=g();return d||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let f=L.whichSync("bash");return f?c.normalize(f):"/bin/sh"}function P(f){return he.posix.basename(c.toUnixPath(f)).toLowerCase()}m.name=P;function D(f){return n(f)?.login===true}m.login=D;function H(f){return n(f)?.posix===true}m.posix=H;function q(f){return n(f)?.ps===true}m.ps=q;function N(f){let d=r(f),w=P(d);return {path:d,name:w,acceptable:o(w)}}function le(f,d,w){let y=P(f),b=oe(d),k=me(b[0]??d,b.slice(1));return y==="nu"||y==="fish"?["-c",k]:y==="zsh"?["-l","-c",`
25
25
  [[ -f ~/.zshenv ]] && source ~/.zshenv >/dev/null 2>&1 || true
26
26
  [[ -f "\${ZDOTDIR:-$HOME}/.zshrc" ]] && source "\${ZDOTDIR:-$HOME}/.zshrc" >/dev/null 2>&1 || true
27
27
  cd -- "$1"
28
- ${S}
29
- `,"easbot",x]:y==="bash"?["-l","-c",`${process.platform==="win32"?`cmd /c chcp 65001 >nul 2>&1 || true
28
+ ${k}
29
+ `,"easbot",w]:y==="bash"?["-l","-c",`${process.platform==="win32"?`cmd /c chcp 65001 >nul 2>&1 || true
30
30
  `:""}shopt -s expand_aliases
31
31
  [[ -f ~/.bashrc ]] && source ~/.bashrc >/dev/null 2>&1 || true
32
32
  cd -- "$1"
33
- ${S}
34
- `,"easbot",x]:/^cmd(\.exe)?$/i.test(y)?["/c",`chcp 65001 >nul 2>&1 && ${S}`]:W(y)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${S}`]:["-c",S]}g.args=O;function N(p){return p?d(p):(0, g.defaultPreferred)()}g.preferred=N;function Se(p){return p?d(p,{acceptable:true}):(0, g.defaultAcceptable)()}g.acceptable=Se;function Ke(){g.defaultPreferred.reset(),g.defaultAcceptable.reset();}g.reset=Ke;async function Ze(){return (process.platform==="win32"?i():await l()).filter(f=>a$1(f)).map(I)}g.list=Ze;function se(p){return Sn[P(p)]}g.metaInfo=se;function le(p){return /[|&;<>()$`!#]/.test(p)}g.needsShell=le;function X(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}g.platformShells=X;function q(p){return p?!!a$1(p):false}g.isValid=q;async function J(p){let f=a$1(p);if(!f)return;let x=P(f);if(!/^cmd(\.exe)?$/i.test(x))try{let y;W(x)?y=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:y=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${f}`,{shell:f,args:y});let b=await A.run([f,...y]);if(b.code===0){let S=b.stdout.trim().split(`
35
- `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${S}`),S}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${b.code}`,{stderr:b.stderr});}catch(y){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${y}`);}}g.version=J;class Q extends Error{constructor(x,y,b,S){super(x);c(this,"message",x);c(this,"pkg",y);c(this,"version",b);c(this,"originalError",S);this.name="InstallFailedError";}}g.InstallFailedError=Q;async function Xe(p,f="latest",x){let{Lock:y}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:b}=await import('./chunks/filesystem-IEDC2UL2.mjs'),{PackageRegistry:S}=await import('./chunks/registry-O74JPNLS.mjs');x=x??process.env.EASBOT_CACHE_PATH??ge.join(".easbot","cache");let C=await y.write("pkg-install");try{let T=ge.posix.join(x,"node_modules",p),E=ge.posix.join(x,"package.json"),H=(await b.readJson(E).catch(async()=>{let Y={dependencies:{}};return await b.writeJson(E,Y),Y})).dependencies??{},$=await b.exists(T),z=H[p],L=!1;if(!$||!z)L=!0;else {if(f!=="latest"&&z===f)return T;if(f==="latest"){if(!await S.isOutdated(p,z,x))return T;e.info("Cached version is outdated, proceeding with install",{pkg:p,cachedVersion:z}),L=!0;}}if(!L)return T;let B=g.acceptable(process.platform==="win32"?"cmd":void 0)??w(),ee=`${p}@${f}`;e.info("installing package",{pkg:p,version:f,cache:x,shell:B});let V=await A.packageManager();if(!V)throw new Q("No package manager found (npm, pnpm, bun)",p,f,"No package manager available");let K=V.name,Qe=K==="pnpm"?"add":"install",et=`${V.name} ${Qe} --save-exact ${ee}`;e.info(`Using ${K} to install package`,{pkg:p,version:f,shell:B,pmPath:V.path});try{let Y=await g.run(B,et,{cwd:x,timeout:6e5,windowsHide:!0});if(Y.code!==0)throw new Error(`Package manager exited with code ${Y.code}: ${Y.stderr}`);e.info(`Successfully installed ${p}@${f} with ${K}`);}catch(Y){let zt=Y instanceof Error?Y:new Error(String(Y));if(!await b.exists(T))throw new Q(`Failed to install ${p}@${f}`,p,f,zt.message);e.warn("Package install failed but module exists, continuing",{error:zt.message});}let tt=f;f==="latest"&&(tt=(await b.readJson(ge.join(T,"package.json")).catch(()=>({})))?.version??"unknown");let Fe=await b.readJson(E);return Fe.dependencies=Fe.dependencies??{},Fe.dependencies[p]=tt,await b.writeJson(E,Fe),e.info("Package installation completed",{pkg:p,version:tt,path:T}),T}finally{C[Symbol.dispose]();}}g.install=Xe;async function qn(p,f,x){let y=p?g.acceptable(p)??w():g.acceptable()??w(),b=x?.cwd??process.cwd(),S=g.args(y,f,b);e.debug(`run shell process: ${y} ${S.join(" ")}`,{command:f,cwd:b});let{windowsHide:C,env:T,...E}=x??{},F={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...T};process.platform==="win32"&&(F.CHCP="65001");let{stdin:H,stdout:$,stderr:z,timeout:L,signal:B,...ee}=E??{},V={...ee,cwd:b,env:F,windowsHide:process.platform==="win32"?C??true:void 0,shell:ee.shell,timeout:L},K=P(y),Qe=/^cmd(\.exe)?$/i.test(K),et=process.platform==="win32"&&Qe?"cmd":y;return A.run([et,...S],V)}g.run=qn;function U(p,f,x){let y=p?g.acceptable(p)??w():g.acceptable()??w(),b=x?.cwd??process.cwd(),S=g.args(y,f,b);e.debug(`Spawn shell process: ${y} ${S.join(" ")}`,{command:f,cwd:b});let{stdin:C,stdout:T,stderr:E,timeout:F,signal:H,windowsHide:$,env:z,...L}=x??{},B={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...z};process.platform==="win32"&&(B.CHCP="65001");let ee=P(y),V=/^cmd(\.exe)?$/i.test(ee),K={...L,cwd:b,env:B,windowsHide:process.platform==="win32"?$??true:void 0,shell:L.shell,timeout:F};return A.spawn([V?"cmd":y,...S],K)}g.spawn=U;function k(p,...f){let x=p.reduce((b,S,C)=>b+S+(f[C]??""),""),y=(b={})=>({quiet:()=>y({...b,quiet:true}),nothrow:()=>y({...b,nothrow:true}),cwd:S=>y({...b,cwd:S}),env:S=>y({...b,env:S}),stdin:S=>y({...b,stdin:S}),stdout:S=>y({...b,stdout:S}),stderr:S=>y({...b,stderr:S}),text:async()=>{let S=re(x.trim());if(S.length===0)throw new Error("Empty command");let C=S[0]??"",T=P(C),E=/^cmd(\.exe)?$/i.test(T),F=process.platform==="win32"&&E?"cmd":se(C)?C:void 0,H=pe(C,S.slice(1)),$=await g.run(F,H,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,timeout:b.timeout,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell});if($.code!==0&&!b.nothrow)throw new Error(`Command failed with exit code ${$.code}: ${x}
36
- ${$.stderr}`);return $.stdout},lines:async()=>(await y(b).text()).split(`
37
- `).filter(C=>C.trim()),then:(S,C)=>{let T=re(x.trim()),E=T[0]??"",F=P(E),H=/^cmd(\.exe)?$/i.test(F),$=process.platform==="win32"&&H?"cmd":se(E)?E:void 0,z=pe(E,T.slice(1));return g.run($,z,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,timeout:b.timeout,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell}).then(L=>{if(L.code!==0&&!b.nothrow){let B=new Error(`Command failed with exit code ${L.code}: ${x}
38
- ${L.stderr}`);if(C){C(B);return}throw B}return S({exitCode:L.code,stdout:new TextEncoder().encode(L.stdout),stderr:new TextEncoder().encode(L.stderr),text:()=>L.stdout,lines:()=>L.stdout.split(`
39
- `).filter(B=>B.trim())})},C)}});return y()}g.$=k;})(te||(te={}));var Or=te.$;k();var Re=class Re extends Error{static create(t,n){var s;let r=_e.object({name:_e.literal(t),data:n}).meta({ref:t}),o=(s=class extends Re{constructor(i,l){super(t,l);c(this,"data",i);c(this,"name",t);this.name=t;}static isInstance(i){return typeof i=="object"&&"name"in i&&i.name===t}schema(){return r}toObject(){return {name:t,data:this.data}}},c(s,"Schema",r),s);return Object.defineProperty(o,"name",{value:t}),o}};c(Re,"Unknown",Re.create("UnknownError",_e.object({message:_e.string()})));var gt=Re;k();var ht;(t=>{function e(n){return new bt(n)}t.create=e;})(ht||(ht={}));var bt=class{constructor(t){c(this,"rules",[]);c(this,"ignorecase");c(this,"debug");this.ignorecase=t?.ignorecase??false,this.debug=t?.debug??false;}add(t){let n=typeof t=="string"?t.split(`
40
- `):t;for(let r=0;r<n.length;r++){let o=n[r];this.parseRule(o,r+1);}return this}parseRule(t,n){let r=t;if(r.length===0||r.startsWith("#"))return;let s=r.startsWith("!");if(s&&(r=r.slice(1)),r=r.trimEnd(),r.length===0)return;if(r.startsWith("\\#")){r=r.slice(1);return}if(r.startsWith("#"))return;let i=r.endsWith("/");if(i&&(r=r.slice(0,-1)),r.length===0)return;let l=this.patternToRegex(r);l&&this.rules.push({pattern:r,regex:l,negative:s,isDirectory:i,original:t,lineNumber:n});}ignores(t,n){let r=this.normalizePath(t),o=n??t.endsWith("/"),s=this.checkIgnore(r,o);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${o}) => ${s}`),s}checkIgnore(t,n){let r=false;for(let o of this.rules)o.isDirectory&&!n||o.regex.test(t)&&(o.negative?r=false:r=true);return r}filter(t){return t.filter(n=>!this.ignores(n))}createFilter(){return t=>!this.ignores(t)}patternToRegex(t){let n=[],r=0,o=t.length;for(;r<o;){let d=t[r];if(d==="\\")if(r+1<o){let c=t[r+1];n.push(this.escapeRegexChar(c)),r+=2;continue}else {n.push("\\\\"),r++;continue}if(d==="*")if(r+1<o&&t[r+1]==="*")if(r+2<o&&t[r+2]==="/")if(r===0||t[r-1]==="/")if(r+3>=o){n.push(".*"),r+=3;continue}else {n.push(".*"),r+=3;continue}else {n.push(".*"),r+=3;continue}else if(r===0||t[r-1]==="/")if(r+2>=o){n.push(".*"),r+=2;continue}else {n.push("(?:/.*)*"),r+=2;continue}else {n.push(".*"),r+=2;continue}else {n.push("[^/]*"),r++;continue}if(d==="?"){n.push("[^/]"),r++;continue}if(d==="["){let c=this.findMatchingBracket(t,r);if(c!==-1){let u=t.slice(r,c+1);(u.startsWith("[!")||u.startsWith("[^"))&&(u="[^"+u.slice(2)),this.ignorecase&&(u=u.toLowerCase()),n.push(u),r=c+1;continue}}if(d==="/"){n.push("/"),r++;continue}if(".+$^{}|()".includes(d)){n.push("\\"+d),r++;continue}if(this.ignorecase&&d>="A"&&d<="Z"){n.push("["+d.toLowerCase()+d+"]"),r++;continue}n.push(d),r++;}let s=n.join(""),a=s.startsWith("/"),i=s.endsWith("/")&&!s.endsWith("\\/");a||(s="(?:.*/)?"+s),i&&(s=s.slice(0,-1)),!i&&!s.endsWith("(?:/.*)*")&&(s="(?:"+s+")(?:/.*)?");let l=this.ignorecase?"i":"";try{return new RegExp("^"+s+"$",l)}catch(d){return this.debug&&console.error(`Failed to create regex for pattern "${t}":`,d),null}}escapeRegexChar(t){return "\\[]{}().+^$|".includes(t)?"\\"+t:t}findMatchingBracket(t,n){let r=n+1,o=t.length;for((r>=o||t[r]==="!"||t[r]==="^")&&r++;r<o;){let s=t[r];if(s==="\\"&&r+1<o){r+=2;continue}if(s==="]")return r;if(r+2<o&&t[r+1]==="-"&&t[r+2]!=="]"){r+=3;continue}r++;}return -1}normalizePath(t){let n=t.replace(/\\/g,"/");if(n==="/")return "";for(;n.startsWith("./");)n=n.slice(2);return n}};k();function kn(e,t){let n=r=>{let o;try{o=e.parse(r);}catch(s){throw console.trace("schema validation failure stack trace:"),s instanceof z.ZodError&&console.error("schema validation issues:",JSON.stringify(s.issues,null,2)),s}return t(o)};return n.force=r=>t(r),n.schema=e,n}var Lr=kn,xt;(t=>t.fn=kn)(xt||(xt={}));k();function _r(){let n=ge.join(process.cwd(),".env");existsSync(n)&&config({path:n,override:true,debug:false,encoding:"utf-8",quiet:true});}k();async function jr(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let s=process.platform==="win32"?"cmd":void 0,a=te.spawn(s,`git ${e.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[i,l,d]=await Promise.all([a.exited,new Response(a.stdout).arrayBuffer(),new Response(a.stderr).arrayBuffer()]),c=Buffer.from(l),u=Buffer.from(d);return {exitCode:i,text:()=>c.toString(),stdout:c,stderr:u}}catch(s){let a=Buffer.from(s instanceof Error?s.message:String(s));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:a}}let n=t.env?{...process.env,...t.env}:void 0,r=te.$`git ${e.join(" ")}`.quiet().nothrow().cwd(t.cwd);n&&(r=r.env(n));let o=await r;return {exitCode:o.exitCode,text:()=>o.text(),stdout:o.stdout,stderr:o.stderr}}k();function vn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function Tn(e,t,n=3){function r(o,s){if(s>n||!existsSync(o))return null;try{let a=readdirSync(o);for(let i of a){let l=join(o,i);try{let d=statSync(l);if(d.isFile()&&l.endsWith(t))return l;if(d.isDirectory()&&s<n){let c=r(l,s+1);if(c)return c}}catch{}}}catch{}return null}return r(e,0)}function Rn(e,t){let n=join(e,t);if(existsSync(n))return n;let r=t.split("/").pop()||t,o=e;for(let s=0;s<5;s++){let a=join(o,"assets","txt");if(existsSync(a)){let d=Tn(a,r,5);if(d)return d}let i=join(o,"dist","assets","txt");if(existsSync(i)){let d=Tn(i,r,5);if(d)return d}let l=join(o,"..");if(l===o)break;o=l;}return n}function Wr(e,t){return fe.lazy(()=>{try{let n=vn(t),r=Rn(n,e);return A.file(r).textSync()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}function qr(e,t){return fe.lazy(async()=>{try{let n=vn(t),r=Rn(n,e);return await A.file(r).text()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}k();function Ur(e){return e()}k();function Vr(e){if(!e||typeof e!="string")return {provider:"",model:""};let t=e.indexOf("/");return t===-1?{provider:"",model:e}:{provider:e.substring(0,t),model:e.substring(t+1)}}k();k();k();function yt(e,t,n,r=()=>true){let o=-1,s=-1,a=0;for(let i=t;i<n;i++){if(!r(i))continue;let l=e[i];if(l){if(l==="("){a+=1;continue}if(l===")"&&a>0){a-=1;continue}a===0&&(l===`
41
- `?o=i:/\s/.test(l)&&(s=i));}}return {lastNewline:o,lastWhitespace:s}}function Yr(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function he(e,t,n){try{let r=z.string().parse(e),o=z.number().int().parse(t),s=Yr(r,o);if(s)return s;let a=wt(r,o,i=>{let{lastNewline:l,lastWhitespace:d}=yt(i,0,i.length);return l>0?l:d});return n?.minLength&&n.minLength>0&&(a=Mn(a,n.minLength)),a}catch(r){return console.warn("Invalid input for chunkText:",r),typeof e=="string"&&e.length>0?[e]:[]}}function Mn(e,t){if(e.length<=1||t<=0)return e;let n=[],r=e[0]??"";for(let o=1;o<e.length;o++){let s=e[o]??"";r.length<t?r=r+`
33
+ ${k}
34
+ `,"easbot",w]:/^cmd(\.exe)?$/i.test(y)?["/c",`chcp 65001 >nul 2>&1 && ${k}`]:q(y)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${k}`]:["-c",k]}m.args=le;function ke(f){return f?p(f):(0, m.defaultPreferred)()}m.preferred=ke;function Ze(f){return f?p(f,{acceptable:true}):(0, m.defaultAcceptable)()}m.acceptable=Ze;function Nt(){m.defaultPreferred.reset(),m.defaultAcceptable.reset();}m.reset=Nt;async function zt(){return (process.platform==="win32"?i():await l()).filter(d=>a$1(d)).map(N)}m.list=zt;function I(f){return Sn[P(f)]}m.metaInfo=I;function O(f){return /[|&;<>()$`!#]/.test(f)}m.needsShell=O;function j(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}m.platformShells=j;function Z(f){return f?!!a$1(f):false}m.isValid=Z;async function Y(f){let d=a$1(f);if(!d)return;let w=P(d);if(!/^cmd(\.exe)?$/i.test(w))try{let y;q(w)?y=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:y=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${d}`,{shell:d,args:y});let b=await L.run([d,...y]);if(b.code===0){let k=b.stdout.trim().split(`
35
+ `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${k}`),k}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${b.code}`,{stderr:b.stderr});}catch(y){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${y}`);}}m.version=Y;class ce extends Error{constructor(w,y,b,k){super(w);c$1(this,"message",w);c$1(this,"pkg",y);c$1(this,"version",b);c$1(this,"originalError",k);this.name="InstallFailedError";}}m.InstallFailedError=ce;async function ie(f,d="latest",w){let{Lock:y}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:b}=await import('./chunks/filesystem-BAT2ZG5X.mjs'),{PackageRegistry:k}=await import('./chunks/registry-O74JPNLS.mjs');w=w??process.env.EASBOT_CACHE_PATH??he.join(".easbot","cache");let C=await y.write("pkg-install");try{let T=he.posix.join(w,"node_modules",f),E=he.posix.join(w,"package.json"),U=(await b.readJson(E).catch(async()=>{let K={dependencies:{}};return await b.writeJson(E,K),K})).dependencies??{},B=await b.exists(T),W=U[f],$=!1;if(!B||!W)$=!0;else {if(d!=="latest"&&W===d)return T;if(d==="latest"){if(!await k.isOutdated(f,W,w))return T;e.info("Cached version is outdated, proceeding with install",{pkg:f,cachedVersion:W}),$=!0;}}if(!$)return T;let A=m.acceptable(process.platform==="win32"?"cmd":void 0)??S(),ee=`${f}@${d}`;e.info("installing package",{pkg:f,version:d,cache:w,shell:A});let J=await L.packageManager();if(!J)throw new ce("No package manager found (npm, pnpm, bun)",f,d,"No package manager available");let X=J.name,Xe=X==="pnpm"?"add":"install",Qe=`${J.name} ${Xe} --save-exact ${ee}`;e.info(`Using ${X} to install package`,{pkg:f,version:d,shell:A,pmPath:J.path});try{let K=await m.run(A,Qe,{cwd:w,timeout:6e5,windowsHide:!0});if(K.code!==0)throw new Error(`Package manager exited with code ${K.code}: ${K.stderr}`);e.info(`Successfully installed ${f}@${d} with ${X}`);}catch(K){let Ht=K instanceof Error?K:new Error(String(K));if(!await b.exists(T))throw new ce(`Failed to install ${f}@${d}`,f,d,Ht.message);e.warn("Package install failed but module exists, continuing",{error:Ht.message});}let et=d;d==="latest"&&(et=(await b.readJson(he.join(T,"package.json")).catch(()=>({})))?.version??"unknown");let $e=await b.readJson(E);return $e.dependencies=$e.dependencies??{},$e.dependencies[f]=et,await b.writeJson(E,$e),e.info("Package installation completed",{pkg:f,version:et,path:T}),T}finally{C[Symbol.dispose]();}}m.install=ie;async function G(f,d,w){let y=f?m.acceptable(f)??S():m.acceptable()??S(),b=w?.cwd??process.cwd(),k=m.args(y,d,b);e.debug(`run shell process: ${y} ${k.join(" ")}`,{command:d,cwd:b});let{windowsHide:C,env:T,...E}=w??{},F={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...T};process.platform==="win32"&&(F.CHCP="65001");let{stdin:U,stdout:B,stderr:W,timeout:$,signal:A,...ee}=E??{},J={...ee,cwd:b,env:F,windowsHide:process.platform==="win32"?C??true:void 0,shell:ee.shell,timeout:$},X=P(y),Xe=/^cmd(\.exe)?$/i.test(X),Qe=process.platform==="win32"&&Xe?"cmd":y;return L.run([Qe,...k],J)}m.run=G;function _(f,d,w){let y=f?m.acceptable(f)??S():m.acceptable()??S(),b=w?.cwd??process.cwd(),k=m.args(y,d,b);e.debug(`Spawn shell process: ${y} ${k.join(" ")}`,{command:d,cwd:b});let{stdin:C,stdout:T,stderr:E,timeout:F,signal:U,windowsHide:B,env:W,...$}=w??{},A={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...W};process.platform==="win32"&&(A.CHCP="65001");let ee=P(y),J=/^cmd(\.exe)?$/i.test(ee),X={...$,cwd:b,env:A,windowsHide:process.platform==="win32"?B??true:void 0,shell:$.shell,timeout:F};return L.spawn([J?"cmd":y,...k],X)}m.spawn=_;function x(f,...d){let w=f.reduce((b,k,C)=>b+k+(d[C]??""),""),y=(b={})=>({quiet:()=>y({...b,quiet:true}),nothrow:()=>y({...b,nothrow:true}),cwd:k=>y({...b,cwd:k}),env:k=>y({...b,env:k}),stdin:k=>y({...b,stdin:k}),stdout:k=>y({...b,stdout:k}),stderr:k=>y({...b,stderr:k}),text:async()=>{let k=oe(w.trim());if(k.length===0)throw new Error("Empty command");let C=k[0]??"",T=P(C),E=/^cmd(\.exe)?$/i.test(T),F=process.platform==="win32"&&E?"cmd":I(C)?C:void 0,U=me(C,k.slice(1)),B=await m.run(F,U,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,timeout:b.timeout,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell});if(B.code!==0&&!b.nothrow)throw new Error(`Command failed with exit code ${B.code}: ${w}
36
+ ${B.stderr}`);return B.stdout},lines:async()=>(await y(b).text()).split(`
37
+ `).filter(C=>C.trim()),then:(k,C)=>{let T=oe(w.trim()),E=T[0]??"",F=P(E),U=/^cmd(\.exe)?$/i.test(F),B=process.platform==="win32"&&U?"cmd":I(E)?E:void 0,W=me(E,T.slice(1));return m.run(B,W,{cwd:b.cwd,env:b.env,stdin:b.stdin,stdout:b.stdout,stderr:b.stderr,timeout:b.timeout,windowsHide:process.platform==="win32"?b.windowsHide??true:void 0,shell:b.shell}).then($=>{if($.code!==0&&!b.nothrow){let A=new Error(`Command failed with exit code ${$.code}: ${w}
38
+ ${$.stderr}`);if(C){C(A);return}throw A}return k({exitCode:$.code,stdout:new TextEncoder().encode($.stdout),stderr:new TextEncoder().encode($.stderr),text:()=>$.stdout,lines:()=>$.stdout.split(`
39
+ `).filter(A=>A.trim())})},C)}});return y()}m.$=x;})(ne||(ne={}));var Ir=ne.$;k();var Pe=class Pe extends Error{static create(t,r){var s;let n=je.object({name:je.literal(t),data:r}).meta({ref:t}),o=(s=class extends Pe{constructor(i,l){super(t,l);c$1(this,"data",i);c$1(this,"name",t);this.name=t;}static isInstance(i){return typeof i=="object"&&"name"in i&&i.name===t}schema(){return n}toObject(){return {name:t,data:this.data}}},c$1(s,"Schema",n),s);return Object.defineProperty(o,"name",{value:t}),o}};c$1(Pe,"Unknown",Pe.create("UnknownError",je.object({message:je.string()})));var mt=Pe;k();var gt;(t=>{function e(r){return new ht(r)}t.create=e;})(gt||(gt={}));var ht=class{constructor(t){c$1(this,"rules",[]);c$1(this,"ignorecase");c$1(this,"debug");this.ignorecase=t?.ignorecase??false,this.debug=t?.debug??false;}add(t){let r=typeof t=="string"?t.split(`
40
+ `):t;for(let n=0;n<r.length;n++){let o=r[n];this.parseRule(o,n+1);}return this}parseRule(t,r){let n=t;if(n.length===0||n.startsWith("#"))return;let s=n.startsWith("!");if(s&&(n=n.slice(1)),n=n.trimEnd(),n.length===0)return;if(n.startsWith("\\#")){n=n.slice(1);return}if(n.startsWith("#"))return;let i=n.endsWith("/");if(i&&(n=n.slice(0,-1)),n.length===0)return;let l=this.patternToRegex(n);l&&this.rules.push({pattern:n,regex:l,negative:s,isDirectory:i,original:t,lineNumber:r});}ignores(t,r){let n=this.normalizePath(t),o=r??t.endsWith("/"),s=this.checkIgnore(n,o);return this.debug&&console.log(`Ignore.ignores("${t}", isDirectory=${o}) => ${s}`),s}checkIgnore(t,r){let n=false;for(let o of this.rules)o.isDirectory&&!r||o.regex.test(t)&&(o.negative?n=false:n=true);return n}filter(t){return t.filter(r=>!this.ignores(r))}createFilter(){return t=>!this.ignores(t)}patternToRegex(t){let r=[],n=0,o=t.length;for(;n<o;){let p=t[n];if(p==="\\")if(n+1<o){let c=t[n+1];r.push(this.escapeRegexChar(c)),n+=2;continue}else {r.push("\\\\"),n++;continue}if(p==="*")if(n+1<o&&t[n+1]==="*")if(n+2<o&&t[n+2]==="/")if(n===0||t[n-1]==="/")if(n+3>=o){r.push(".*"),n+=3;continue}else {r.push(".*"),n+=3;continue}else {r.push(".*"),n+=3;continue}else if(n===0||t[n-1]==="/")if(n+2>=o){r.push(".*"),n+=2;continue}else {r.push("(?:/.*)*"),n+=2;continue}else {r.push(".*"),n+=2;continue}else {r.push("[^/]*"),n++;continue}if(p==="?"){r.push("[^/]"),n++;continue}if(p==="["){let c=this.findMatchingBracket(t,n);if(c!==-1){let u=t.slice(n,c+1);(u.startsWith("[!")||u.startsWith("[^"))&&(u="[^"+u.slice(2)),this.ignorecase&&(u=u.toLowerCase()),r.push(u),n=c+1;continue}}if(p==="/"){r.push("/"),n++;continue}if(".+$^{}|()".includes(p)){r.push("\\"+p),n++;continue}if(this.ignorecase&&p>="A"&&p<="Z"){r.push("["+p.toLowerCase()+p+"]"),n++;continue}r.push(p),n++;}let s=r.join(""),a=s.startsWith("/"),i=s.endsWith("/")&&!s.endsWith("\\/");a||(s="(?:.*/)?"+s),i&&(s=s.slice(0,-1)),!i&&!s.endsWith("(?:/.*)*")&&(s="(?:"+s+")(?:/.*)?");let l=this.ignorecase?"i":"";try{return new RegExp("^"+s+"$",l)}catch(p){return this.debug&&console.error(`Failed to create regex for pattern "${t}":`,p),null}}escapeRegexChar(t){return "\\[]{}().+^$|".includes(t)?"\\"+t:t}findMatchingBracket(t,r){let n=r+1,o=t.length;for((n>=o||t[n]==="!"||t[n]==="^")&&n++;n<o;){let s=t[n];if(s==="\\"&&n+1<o){n+=2;continue}if(s==="]")return n;if(n+2<o&&t[n+1]==="-"&&t[n+2]!=="]"){n+=3;continue}n++;}return -1}normalizePath(t){let r=t.replace(/\\/g,"/");if(r==="/")return "";for(;r.startsWith("./");)r=r.slice(2);return r}};k();function kn(e,t){let r=n=>{let o;try{o=e.parse(n);}catch(s){throw console.trace("schema validation failure stack trace:"),s instanceof z.ZodError&&console.error("schema validation issues:",JSON.stringify(s.issues,null,2)),s}return t(o)};return r.force=n=>t(n),r.schema=e,r}var Fr=kn,bt;(t=>t.fn=kn)(bt||(bt={}));k();function Lr(){let r=he.join(process.cwd(),".env");existsSync(r)&&config({path:r,override:true,debug:false,encoding:"utf-8",quiet:true});}k();async function _r(e,t){if(process.env.EASBOT_CLIENT==="acp")try{let s=process.platform==="win32"?"cmd":void 0,a=ne.spawn(s,`git ${e.join(" ")}`,{stdin:void 0,stdout:"pipe",stderr:"pipe",cwd:t.cwd,env:t.env?{...process.env,...t.env}:process.env}),[i,l,p]=await Promise.all([a.exited,new Response(a.stdout).arrayBuffer(),new Response(a.stderr).arrayBuffer()]),c=Buffer.from(l),u=Buffer.from(p);return {exitCode:i,text:()=>c.toString(),stdout:c,stderr:u}}catch(s){let a=Buffer.from(s instanceof Error?s.message:String(s));return {exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:a}}let r=t.env?{...process.env,...t.env}:void 0,n=ne.$`git ${e.join(" ")}`.quiet().nothrow().cwd(t.cwd);r&&(n=n.env(r));let o=await n;return {exitCode:o.exitCode,text:()=>o.text(),stdout:o.stdout,stderr:o.stderr}}k();function vn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function Tn(e,t,r=3){function n(o,s){if(s>r||!existsSync(o))return null;try{let a=readdirSync(o);for(let i of a){let l=join(o,i);try{let p=statSync(l);if(p.isFile()&&l.endsWith(t))return l;if(p.isDirectory()&&s<r){let c=n(l,s+1);if(c)return c}}catch{}}}catch{}return null}return n(e,0)}function Rn(e,t){let r=join(e,t);if(existsSync(r))return r;let n=t.split("/").pop()||t,o=e;for(let s=0;s<5;s++){let a=join(o,"assets","txt");if(existsSync(a)){let p=Tn(a,n,5);if(p)return p}let i=join(o,"dist","assets","txt");if(existsSync(i)){let p=Tn(i,n,5);if(p)return p}let l=join(o,"..");if(l===o)break;o=l;}return r}function Hr(e,t){return pe.lazy(()=>{try{let r=vn(t),n=Rn(r,e);return L.file(n).textSync()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}function Wr(e,t){return pe.lazy(async()=>{try{let r=vn(t),n=Rn(r,e);return await L.file(n).text()}catch(r){throw console.error(`Failed to load text file: ${e}`,r),r}})}k();function Ur(e){return e()}k();function qr(e){if(!e||typeof e!="string")return {provider:"",model:""};let t=e.indexOf("/");return t===-1?{provider:"",model:e}:{provider:e.substring(0,t),model:e.substring(t+1)}}k();k();k();function yt(e,t,r,n=()=>true){let o=-1,s=-1,a=0;for(let i=t;i<r;i++){if(!n(i))continue;let l=e[i];if(l){if(l==="("){a+=1;continue}if(l===")"&&a>0){a-=1;continue}a===0&&(l===`
41
+ `?o=i:/\s/.test(l)&&(s=i));}}return {lastNewline:o,lastWhitespace:s}}function Vr(e,t){if(!e)return [];if(t<=0)return [e];if(e.length<=t)return [e]}function be(e,t,r){try{let n=z.string().parse(e),o=z.number().int().parse(t),s=Vr(n,o);if(s)return s;let a=xt(n,o,i=>{let{lastNewline:l,lastWhitespace:p}=yt(i,0,i.length);return l>0?l:p});return r?.minLength&&r.minLength>0&&(a=Mn(a,r.minLength)),a}catch(n){return console.warn("Invalid input for chunkText:",n),typeof e=="string"&&e.length>0?[e]:[]}}function Mn(e,t){if(e.length<=1||t<=0)return e;let r=[],n=e[0]??"";for(let o=1;o<e.length;o++){let s=e[o]??"";n.length<t?n=n+`
42
42
 
43
- `+s:(n.push(r),r=s);}if(r.length>0)if(r.length<t&&n.length>0){let o=n.pop();n.push(o+`
43
+ `+s:(r.push(n),n=s);}if(n.length>0)if(n.length<t&&r.length>0){let o=r.pop();r.push(o+`
44
44
 
45
- `+r);}else n.push(r);return n}function wt(e,t,n){if(!e)return [];if(t<=0||e.length<=t)return [e];let r=[],o=e;for(;o.length>t;){let s=o.slice(0,t),a=n(s),i=Number.isFinite(a)&&a>0&&a<=t?a:t,d=o.slice(0,i).trimEnd();d.length>0&&r.push(d);let c=i<o.length&&o[i]!==void 0&&/\s/.test(o[i]),u=Math.min(o.length,i+(c?1:0));o=o.slice(u).trimStart();}return o.length>0&&r.push(o),r}k();var St=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),En=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:St}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Cn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),href:z.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Me=z.object({text:z.string(),styles:z.array(En),links:z.array(Cn)}).strict(),Ee=z.enum(["off","bullets","code"]),Ne=z.object({linkify:z.boolean().default(true),enableSpoilers:z.boolean().default(false),headingStyle:z.enum(["none","bold"]).default("none"),blockquotePrefix:z.string().default(""),autolink:z.boolean().default(true),tableMode:Ee.default("off")}).partial().default({}),In=z.object({open:z.string(),close:z.string()}).strict(),kt=z.object({styleMarkers:z.record(St,In).optional(),escapeText:z.any().optional(),buildLink:z.any().optional()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),open:z.string(),close:z.string()}).strict();var Tt=z.object({indentSize:z.number().int().min(1).default(2),listMarker:z.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z.enum(["```","~~~"]).default("```"),preserveFrontmatter:z.boolean().default(true)}).strict(),vt=z.record(z.string(),z.string()),De=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:De,isInside:z.any()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),openLine:z.string(),marker:z.string(),indent:z.string()}).strict();z.object({tables:Ee.optional()}).strict();function Qr(e){let t=new Xr({html:false,linkify:e.linkify??true,breaks:false,typographer:false});return t.enable("strikethrough"),e.tableMode&&e.tableMode!=="off"?t.enable("table"):t.disable("table"),e.autolink===false&&t.disable("autolink"),t}function On(e,t){if(e.attrGet)return e.attrGet(t);if(e.attrs){for(let[n,r]of e.attrs)if(n===t)return r}return null}function Rt(e,t){return {...e,type:"text",content:t,children:void 0}}function eo(e){for(let t of e)t.children&&t.children.length>0&&(t.children=to(t.children));}function to(e){let t=0;for(let a of e){if(a.type!=="text")continue;let i=a.content??"",l=0;for(;l<i.length;){let d=i.indexOf("||",l);if(d===-1)break;t+=1,l=d+2;}}if(t<2)return e;let n=t-t%2,r=[],o={spoilerOpen:false},s=0;for(let a of e){if(a.type!=="text"){r.push(a);continue}let i=a.content??"";if(!i.includes("||")){r.push(a);continue}let l=0;for(;l<i.length;){let d=i.indexOf("||",l);if(d===-1){l<i.length&&r.push(Rt(a,i.slice(l)));break}if(s>=n){r.push(Rt(a,i.slice(l)));break}d>l&&r.push(Rt(a,i.slice(l,d))),s+=1,o.spoilerOpen=!o.spoilerOpen,r.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),l=d+2;}}return r}function no(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function de(e){return e.table?.currentCell??e}function ze(e,t){if(!t)return;let n=de(e);n.text+=t;}function be(e,t){let n=de(e);n.openStyles.push({style:t,start:n.text.length});}function xe(e,t){let n=de(e);for(let r=n.openStyles.length-1;r>=0;r-=1){let o=n.openStyles[r];if(o?.style===t){let s=o.start;n.openStyles.splice(r,1);let a=n.text.length;a>s&&n.styles.push({start:s,end:a,style:t});return}}}function Fn(e){e.env.listStack.length>0||e.table||(e.text+=`
45
+ `+n);}else r.push(n);return r}function xt(e,t,r){if(!e)return [];if(t<=0||e.length<=t)return [e];let n=[],o=e;for(;o.length>t;){let s=o.slice(0,t),a=r(s),i=Number.isFinite(a)&&a>0&&a<=t?a:t,p=o.slice(0,i).trimEnd();p.length>0&&n.push(p);let c=i<o.length&&o[i]!==void 0&&/\s/.test(o[i]),u=Math.min(o.length,i+(c?1:0));o=o.slice(u).trimStart();}return o.length>0&&n.push(o),n}k();var wt=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),En=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:wt}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Cn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),href:z.string().min(1)}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),Ee=z.object({text:z.string(),styles:z.array(En),links:z.array(Cn)}).strict(),Ce=z.enum(["off","bullets","code"]),Ne=z.object({linkify:z.boolean().default(true),enableSpoilers:z.boolean().default(false),headingStyle:z.enum(["none","bold"]).default("none"),blockquotePrefix:z.string().default(""),autolink:z.boolean().default(true),tableMode:Ce.default("off")}).partial().default({}),In=z.object({open:z.string(),close:z.string()}).strict(),St=z.object({styleMarkers:z.record(wt,In).optional(),escapeText:z.any().optional(),buildLink:z.any().optional()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),open:z.string(),close:z.string()}).strict();var kt=z.object({indentSize:z.number().int().min(1).default(2),listMarker:z.enum(["\u2022","-","*"]).default("\u2022"),codeBlockMarker:z.enum(["```","~~~"]).default("```"),preserveFrontmatter:z.boolean().default(true)}).strict(),Tt=z.record(z.string(),z.string()),ze=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:ze,isInside:z.any()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),openLine:z.string(),marker:z.string(),indent:z.string()}).strict();z.object({tables:Ce.optional()}).strict();function Xr(e){let t=new Zr({html:false,linkify:e.linkify??true,breaks:false,typographer:false});return t.enable("strikethrough"),e.tableMode&&e.tableMode!=="off"?t.enable("table"):t.disable("table"),e.autolink===false&&t.disable("autolink"),t}function On(e,t){if(e.attrGet)return e.attrGet(t);if(e.attrs){for(let[r,n]of e.attrs)if(r===t)return n}return null}function vt(e,t){return {...e,type:"text",content:t,children:void 0}}function Qr(e){for(let t of e)t.children&&t.children.length>0&&(t.children=eo(t.children));}function eo(e){let t=0;for(let a of e){if(a.type!=="text")continue;let i=a.content??"",l=0;for(;l<i.length;){let p=i.indexOf("||",l);if(p===-1)break;t+=1,l=p+2;}}if(t<2)return e;let r=t-t%2,n=[],o={spoilerOpen:false},s=0;for(let a of e){if(a.type!=="text"){n.push(a);continue}let i=a.content??"";if(!i.includes("||")){n.push(a);continue}let l=0;for(;l<i.length;){let p=i.indexOf("||",l);if(p===-1){l<i.length&&n.push(vt(a,i.slice(l)));break}if(s>=r){n.push(vt(a,i.slice(l)));break}p>l&&n.push(vt(a,i.slice(l,p))),s+=1,o.spoilerOpen=!o.spoilerOpen,n.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),l=p+2;}}return n}function to(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function fe(e){return e.table?.currentCell??e}function He(e,t){if(!t)return;let r=fe(e);r.text+=t;}function ye(e,t){let r=fe(e);r.openStyles.push({style:t,start:r.text.length});}function xe(e,t){let r=fe(e);for(let n=r.openStyles.length-1;n>=0;n-=1){let o=r.openStyles[n];if(o?.style===t){let s=o.start;r.openStyles.splice(n,1);let a=r.text.length;a>s&&r.styles.push({start:s,end:a,style:t});return}}}function Fn(e){e.env.listStack.length>0||e.table||(e.text+=`
46
46
 
47
- `);}function ro(e){let t=e.env.listStack,n=t[t.length-1];if(!n)return;n.index+=1;let r=" ".repeat(Math.max(0,t.length-1)),o=n.type==="ordered"?`${n.index}. `:"\u2022 ";e.text+=`${r}${o}`;}function oo(e,t){if(!t)return;let n=de(e),r=n.text.length;n.text+=t,n.styles.push({start:r,end:r+t.length,style:"code"});}function so(e,t){let n=t??"",r=de(e),o=r.text.length;r.text+=n,r.styles.push({start:o,end:o+n.length,style:"code_block"});}function io(e){let t=de(e),n=t.linkStack.pop();if(!n?.href)return;let r=n.href.trim();if(!r)return;let o=n.labelStart,s=t.text.length;if(s<=o){t.links.push({start:o,end:s,href:r});return}t.links.push({start:o,end:s,href:r});}function ao(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function lo(e){return Bn(e),{text:e.text,styles:e.styles,links:e.links}}function He(e){let t=e.text,n=0,r=t.length;for(;n<r&&/\s/.test(t[n]??"");)n+=1;for(;r>n&&/\s/.test(t[r-1]??"");)r-=1;if(n===0&&r===t.length)return e;let o=t.slice(n,r),s=o.length,a=[];for(let l of e.styles){let d=Math.max(0,l.start-n),c=Math.min(s,l.end-n);c>d&&a.push({start:d,end:c,style:l.style});}let i=[];for(let l of e.links){let d=Math.max(0,l.start-n),c=Math.min(s,l.end-n);c>d&&i.push({start:d,end:c,href:l.href});}return {text:o,styles:a,links:i}}function Pt(e,t){if(!t.text)return;let n=e.text.length;e.text+=t.text;for(let r of t.styles)e.styles.push({start:n+r.start,end:n+r.end,style:r.style});for(let r of t.links)e.links.push({start:n+r.start,end:n+r.end,href:r.href});}function co(e,t){t.text&&(e.text+=t.text);}function Ln(e,t){let{header:n,value:r,columnIndex:o,includeColumnFallback:s}=t;r?.text&&(e.text+="\u2022 ",n?.text?(Pt(e,n),e.text+=": "):s&&(e.text+=`Column ${o}: `),Pt(e,r),e.text+=`
48
- `);}function uo(e){if(!e.table)return;let t=e.table.headers.map(He),n=e.table.rows.map(o=>o.map(He));if(t.length===0&&n.length===0)return;if(t.length>1&&n.length>0)for(let o of n){if(o.length===0)continue;let s=o[0];if(s?.text){let a=e.text.length;Pt(e,s);let i=e.text.length;i>a&&e.styles.push({start:a,end:i,style:"bold"}),e.text+=`
49
- `;}for(let a=1;a<o.length;a++)Ln(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
50
- `;}else for(let o of n){for(let s=0;s<o.length;s++)Ln(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
51
- `;}}function fo(e){if(!e.table)return;let t=e.table.headers.map(He),n=e.table.rows.map(c=>c.map(He)),r=Math.max(t.length,...n.map(c=>c.length));if(r===0)return;let o=Array.from({length:r},()=>0),s=c=>{for(let u=0;u<r;u+=1){let w=c[u]?.text.length??0;(o[u]??0)<w&&(o[u]=w);}};s(t);for(let c of n)s(c);let a=e.text.length,i=c=>{e.text+="|";for(let u=0;u<r;u+=1){e.text+=" ";let m=c[u];m&&co(e,m);let w=m?.text.length??0,_=(o[u]??0)-w;_>0&&(e.text+=" ".repeat(_)),e.text+=" |";}e.text+=`
52
- `;},l=()=>{e.text+="|";for(let c=0;c<r;c+=1){let u=o[c]??0,m=Math.max(3,u);e.text+=` ${"-".repeat(m)} |`;}e.text+=`
53
- `;};i(t),l();for(let c of n)i(c);let d=e.text.length;d>a&&e.styles.push({start:a,end:d,style:"code_block"});}function Mt(e,t){for(let n of e)switch(n.type){case "inline":n.children&&Mt(n.children,t);break;case "text":ze(t,n.content??"");break;case "em_open":be(t,"italic");break;case "em_close":xe(t,"italic");break;case "strong_open":be(t,"bold");break;case "strong_close":xe(t,"bold");break;case "s_open":be(t,"strikethrough");break;case "s_close":xe(t,"strikethrough");break;case "code_inline":oo(t,n.content??"");break;case "spoiler_open":t.enableSpoilers&&be(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&xe(t,"spoiler");break;case "link_open":{let r=On(n,"href")??"",o=de(t);o.linkStack.push({href:r,labelStart:o.text.length});break}case "link_close":io(t);break;case "image":ze(t,n.content??"");break;case "softbreak":case "hardbreak":ze(t,`
54
- `);break;case "paragraph_close":Fn(t);break;case "heading_open":t.headingStyle==="bold"&&be(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&xe(t,"bold"),Fn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),be(t,"blockquote");break;case "blockquote_close":xe(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
47
+ `);}function no(e){let t=e.env.listStack,r=t[t.length-1];if(!r)return;r.index+=1;let n=" ".repeat(Math.max(0,t.length-1)),o=r.type==="ordered"?`${r.index}. `:"\u2022 ";e.text+=`${n}${o}`;}function ro(e,t){if(!t)return;let r=fe(e),n=r.text.length;r.text+=t,r.styles.push({start:n,end:n+t.length,style:"code"});}function oo(e,t){let r=t??"",n=fe(e),o=n.text.length;n.text+=r,n.styles.push({start:o,end:o+r.length,style:"code_block"});}function so(e){let t=fe(e),r=t.linkStack.pop();if(!r?.href)return;let n=r.href.trim();if(!n)return;let o=r.labelStart,s=t.text.length;if(s<=o){t.links.push({start:o,end:s,href:n});return}t.links.push({start:o,end:s,href:n});}function io(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function ao(e){return An(e),{text:e.text,styles:e.styles,links:e.links}}function We(e){let t=e.text,r=0,n=t.length;for(;r<n&&/\s/.test(t[r]??"");)r+=1;for(;n>r&&/\s/.test(t[n-1]??"");)n-=1;if(r===0&&n===t.length)return e;let o=t.slice(r,n),s=o.length,a=[];for(let l of e.styles){let p=Math.max(0,l.start-r),c=Math.min(s,l.end-r);c>p&&a.push({start:p,end:c,style:l.style});}let i=[];for(let l of e.links){let p=Math.max(0,l.start-r),c=Math.min(s,l.end-r);c>p&&i.push({start:p,end:c,href:l.href});}return {text:o,styles:a,links:i}}function Rt(e,t){if(!t.text)return;let r=e.text.length;e.text+=t.text;for(let n of t.styles)e.styles.push({start:r+n.start,end:r+n.end,style:n.style});for(let n of t.links)e.links.push({start:r+n.start,end:r+n.end,href:n.href});}function lo(e,t){t.text&&(e.text+=t.text);}function $n(e,t){let{header:r,value:n,columnIndex:o,includeColumnFallback:s}=t;n?.text&&(e.text+="\u2022 ",r?.text?(Rt(e,r),e.text+=": "):s&&(e.text+=`Column ${o}: `),Rt(e,n),e.text+=`
48
+ `);}function co(e){if(!e.table)return;let t=e.table.headers.map(We),r=e.table.rows.map(o=>o.map(We));if(t.length===0&&r.length===0)return;if(t.length>1&&r.length>0)for(let o of r){if(o.length===0)continue;let s=o[0];if(s?.text){let a=e.text.length;Rt(e,s);let i=e.text.length;i>a&&e.styles.push({start:a,end:i,style:"bold"}),e.text+=`
49
+ `;}for(let a=1;a<o.length;a++)$n(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
50
+ `;}else for(let o of r){for(let s=0;s<o.length;s++)$n(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
51
+ `;}}function uo(e){if(!e.table)return;let t=e.table.headers.map(We),r=e.table.rows.map(c=>c.map(We)),n=Math.max(t.length,...r.map(c=>c.length));if(n===0)return;let o=Array.from({length:n},()=>0),s=c=>{for(let u=0;u<n;u+=1){let S=c[u]?.text.length??0;(o[u]??0)<S&&(o[u]=S);}};s(t);for(let c of r)s(c);let a=e.text.length,i=c=>{e.text+="|";for(let u=0;u<n;u+=1){e.text+=" ";let g=c[u];g&&lo(e,g);let S=g?.text.length??0,D=(o[u]??0)-S;D>0&&(e.text+=" ".repeat(D)),e.text+=" |";}e.text+=`
52
+ `;},l=()=>{e.text+="|";for(let c=0;c<n;c+=1){let u=o[c]??0,g=Math.max(3,u);e.text+=` ${"-".repeat(g)} |`;}e.text+=`
53
+ `;};i(t),l();for(let c of r)i(c);let p=e.text.length;p>a&&e.styles.push({start:a,end:p,style:"code_block"});}function Pt(e,t){for(let r of e)switch(r.type){case "inline":r.children&&Pt(r.children,t);break;case "text":He(t,r.content??"");break;case "em_open":ye(t,"italic");break;case "em_close":xe(t,"italic");break;case "strong_open":ye(t,"bold");break;case "strong_close":xe(t,"bold");break;case "s_open":ye(t,"strikethrough");break;case "s_close":xe(t,"strikethrough");break;case "code_inline":ro(t,r.content??"");break;case "spoiler_open":t.enableSpoilers&&ye(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&xe(t,"spoiler");break;case "link_open":{let n=On(r,"href")??"",o=fe(t);o.linkStack.push({href:n,labelStart:o.text.length});break}case "link_close":so(t);break;case "image":He(t,r.content??"");break;case "softbreak":case "hardbreak":He(t,`
54
+ `);break;case "paragraph_close":Fn(t);break;case "heading_open":t.headingStyle==="bold"&&ye(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&xe(t,"bold"),Fn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),ye(t,"blockquote");break;case "blockquote_close":xe(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
55
55
  `),t.env.listStack.push({type:"bullet",index:0});break;case "bullet_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
56
56
  `);break;case "ordered_list_open":{t.env.listStack.length>0&&(t.text+=`
57
- `);let r=Number(On(n,"start")??"1");t.env.listStack.push({type:"ordered",index:r-1});break}case "ordered_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
58
- `);break;case "list_item_open":ro(t);break;case "list_item_close":t.text.endsWith(`
57
+ `);let n=Number(On(r,"start")??"1");t.env.listStack.push({type:"ordered",index:n-1});break}case "ordered_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
58
+ `);break;case "list_item_open":no(t);break;case "list_item_close":t.text.endsWith(`
59
59
  `)||(t.text+=`
60
- `);break;case "code_block":case "fence":so(t,n.content??"");break;case "html_block":case "html_inline":ze(t,n.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=ao(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?uo(t):t.tableMode==="code"&&fo(t)),t.table=null;break;case "thead_open":t.table&&(t.table.inHeader=true);break;case "thead_close":t.table&&(t.table.inHeader=false);break;case "tbody_open":case "tbody_close":break;case "tr_open":t.table&&(t.table.currentRow=[]);break;case "tr_close":t.table&&(t.table.inHeader?t.table.headers=t.table.currentRow:t.table.rows.push(t.table.currentRow),t.table.currentRow=[]);break;case "th_open":case "td_open":t.table&&(t.table.currentCell=no());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(lo(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
60
+ `);break;case "code_block":case "fence":oo(t,r.content??"");break;case "html_block":case "html_inline":He(t,r.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=io(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?co(t):t.tableMode==="code"&&uo(t)),t.table=null;break;case "thead_open":t.table&&(t.table.inHeader=true);break;case "thead_close":t.table&&(t.table.inHeader=false);break;case "tbody_open":case "tbody_close":break;case "tr_open":t.table&&(t.table.currentRow=[]);break;case "tr_close":t.table&&(t.table.inHeader?t.table.headers=t.table.currentRow:t.table.rows.push(t.table.currentRow),t.table.currentRow=[]);break;case "th_open":case "td_open":t.table&&(t.table.currentCell=to());break;case "th_close":case "td_close":t.table?.currentCell&&(t.table.currentRow.push(ao(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
61
61
 
62
- `;break;default:n.children&&Mt(n.children,t);break}}function Bn(e){for(let t=e.openStyles.length-1;t>=0;t-=1){let n=e.openStyles[t];if(!n)continue;let r=e.text.length;r>n.start&&e.styles.push({start:n.start,end:r,style:n.style});}e.openStyles=[];}function po(e,t){let n=[];for(let r of e){let o=Math.max(0,Math.min(r.start,t)),s=Math.max(o,Math.min(r.end,t));s>o&&n.push({start:o,end:s,style:r.style});}return n}function mo(e,t){let n=[];for(let r of e){let o=Math.max(0,Math.min(r.start,t)),s=Math.max(o,Math.min(r.end,t));s>o&&n.push({start:o,end:s,href:r.href});}return n}function $n(e){let t=[...e].toSorted((r,o)=>r.start!==o.start?r.start-o.start:r.end!==o.end?r.end-o.end:r.style.localeCompare(o.style)),n=[];for(let r of t){let o=n[n.length-1];if(o&&o.style===r.style&&(r.start<o.end||r.start===o.end&&r.style!=="blockquote")){o.end=Math.max(o.end,r.end);continue}n.push({...r});}return n}function An(e,t,n){let r=Math.max(e.start,t),o=Math.min(e.end,n);return o<=r?null:{start:r,end:o}}function go(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let s=An(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,style:o.style});}return $n(r)}function ho(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let s=An(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,href:o.href});}return r}function ye(e,t){try{let n=typeof e=="string"?e:"",r=Ne.parse(t??{});return Ce(n,r).ir}catch(n){return console.error("Markdown parse error:",n),{text:"",styles:[],links:[]}}}function Ce(e,t){try{let n=typeof e=="string"?e:"",r=Ne.parse(t),o={listStack:[]},a=Qr(r).parse(n||"",o);r.enableSpoilers&&eo(a);let i=r.tableMode??"off",l={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:r.headingStyle??"none",blockquotePrefix:r.blockquotePrefix??"",enableSpoilers:r.enableSpoilers??!1,tableMode:i,table:null,hasTables:!1};Mt(a,l),Bn(l);let c=l.text.trimEnd().length,u=0;for(let P of l.styles)P.style==="code_block"&&P.end>u&&(u=P.end);let m=Math.max(c,u);return {ir:{text:m===l.text.length?l.text:l.text.slice(0,m),styles:$n(po(l.styles,m)),links:mo(l.links,m)},hasTables:l.hasTables}}catch(n){return console.error("Markdown parse error:",n),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function _n(e,t){try{let n=Me.parse(e),r=typeof t=="number"&&t>0?t:0;if(!n.text)return [];if(r<=0||n.text.length<=r)return [n];let o=he(n.text,r),s=[],a=0;return o.forEach((i,l)=>{if(!i)return;if(l>0)for(;a<n.text.length&&/\s/.test(n.text[a]??"");)a+=1;let d=a,c=Math.min(n.text.length,d+i.length);s.push({text:i,styles:go(n.styles,d,c),links:ho(n.links,d,c)}),a=c;}),s}catch(n){return console.error("Chunk IR error:",n),[]}}k();var bo={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Ie(e,t){try{let n=Me.parse(e),r=kt.parse(t??{});if(!n.text)return "";let o=r.styleMarkers??bo,s=r.escapeText??(u=>u),a=r.buildLink,i=[];for(let u=0;u<n.styles.length;u++){let m=n.styles[u];m&&(i.push({position:m.start,type:"open",style:m.style,spanIndex:u}),i.push({position:m.end,type:"close",style:m.style,spanIndex:u}));}for(let u=0;u<n.links.length;u++){let m=n.links[u];m&&(i.push({position:m.start,type:"link_open",spanIndex:u,href:m.href}),i.push({position:m.end,type:"link_close",spanIndex:u,href:m.href}));}i.sort((u,m)=>{if(u.position!==m.position)return u.position-m.position;let w=(I,O)=>I==="link_open"?0:I==="open"?1:I==="close"?2:I==="link_close"?3:4,P=u.type==="close"||u.type==="link_close",_=m.type==="close"||m.type==="link_close",D=w(u.type,P),W=w(m.type,_);return D!==W?D-W:u.type==="open"&&m.type==="open"?u.spanIndex-m.spanIndex:u.type==="close"&&m.type==="close"?m.spanIndex-u.spanIndex:u.spanIndex-m.spanIndex});let l="",d=0,c=[];for(let u of i){if(u.position>d){let m=n.text.slice(d,u.position);l+=s?s(m):m;}if(u.type==="open"||u.type==="close"){let m=o[u.style];if(m)if(u.type==="open")l+=m.open,c.push(u);else {l+=m.close,u.style==="code_block"&&u.position<n.text.length&&(l+=`
63
- `);let w=c.findIndex(P=>P.spanIndex===u.spanIndex&&P.type==="open");w!==-1&&c.splice(w,1);}}else if(u.type==="link_open")l+="[",c.push(u);else if(u.type==="link_close"){l+="]("+u.href+")";let m=c.findIndex(w=>w.spanIndex===u.spanIndex&&w.type==="link_open");m!==-1&&c.splice(m,1);}d=u.position;}if(d<n.text.length){let u=n.text.slice(d);l+=s?s(u):u;}return l}catch(n){return console.error("Markdown render error:",n),""}}function we(e,t){return Ie(e,t)}k();function xo(e){let t=e.replace(/\r\n/g,`
62
+ `;break;default:r.children&&Pt(r.children,t);break}}function An(e){for(let t=e.openStyles.length-1;t>=0;t-=1){let r=e.openStyles[t];if(!r)continue;let n=e.text.length;n>r.start&&e.styles.push({start:r.start,end:n,style:r.style});}e.openStyles=[];}function fo(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),s=Math.max(o,Math.min(n.end,t));s>o&&r.push({start:o,end:s,style:n.style});}return r}function po(e,t){let r=[];for(let n of e){let o=Math.max(0,Math.min(n.start,t)),s=Math.max(o,Math.min(n.end,t));s>o&&r.push({start:o,end:s,href:n.href});}return r}function Bn(e){let t=[...e].toSorted((n,o)=>n.start!==o.start?n.start-o.start:n.end!==o.end?n.end-o.end:n.style.localeCompare(o.style)),r=[];for(let n of t){let o=r[r.length-1];if(o&&o.style===n.style&&(n.start<o.end||n.start===o.end&&n.style!=="blockquote")){o.end=Math.max(o.end,n.end);continue}r.push({...n});}return r}function Ln(e,t,r){let n=Math.max(e.start,t),o=Math.min(e.end,r);return o<=n?null:{start:n,end:o}}function mo(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=Ln(o,t,r);s&&n.push({start:s.start-t,end:s.end-t,style:o.style});}return Bn(n)}function go(e,t,r){if(e.length===0)return [];let n=[];for(let o of e){let s=Ln(o,t,r);s&&n.push({start:s.start-t,end:s.end-t,href:o.href});}return n}function we(e,t){try{let r=typeof e=="string"?e:"",n=Ne.parse(t??{});return Ie(r,n).ir}catch(r){return console.error("Markdown parse error:",r),{text:"",styles:[],links:[]}}}function Ie(e,t){try{let r=typeof e=="string"?e:"",n=Ne.parse(t),o={listStack:[]},a=Xr(n).parse(r||"",o);n.enableSpoilers&&Qr(a);let i=n.tableMode??"off",l={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:n.headingStyle??"none",blockquotePrefix:n.blockquotePrefix??"",enableSpoilers:n.enableSpoilers??!1,tableMode:i,table:null,hasTables:!1};Pt(a,l),An(l);let c=l.text.trimEnd().length,u=0;for(let P of l.styles)P.style==="code_block"&&P.end>u&&(u=P.end);let g=Math.max(c,u);return {ir:{text:g===l.text.length?l.text:l.text.slice(0,g),styles:Bn(fo(l.styles,g)),links:po(l.links,g)},hasTables:l.hasTables}}catch(r){return console.error("Markdown parse error:",r),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function _n(e,t){try{let r=Ee.parse(e),n=typeof t=="number"&&t>0?t:0;if(!r.text)return [];if(n<=0||r.text.length<=n)return [r];let o=be(r.text,n),s=[],a=0;return o.forEach((i,l)=>{if(!i)return;if(l>0)for(;a<r.text.length&&/\s/.test(r.text[a]??"");)a+=1;let p=a,c=Math.min(r.text.length,p+i.length);s.push({text:i,styles:mo(r.styles,p,c),links:go(r.links,p,c)}),a=c;}),s}catch(r){return console.error("Chunk IR error:",r),[]}}k();var ho={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Oe(e,t){try{let r=Ee.parse(e),n=St.parse(t??{});if(!r.text)return "";let o=n.styleMarkers??ho,s=n.escapeText??(u=>u),a=n.buildLink,i=[];for(let u=0;u<r.styles.length;u++){let g=r.styles[u];g&&(i.push({position:g.start,type:"open",style:g.style,spanIndex:u}),i.push({position:g.end,type:"close",style:g.style,spanIndex:u}));}for(let u=0;u<r.links.length;u++){let g=r.links[u];g&&(i.push({position:g.start,type:"link_open",spanIndex:u,href:g.href}),i.push({position:g.end,type:"link_close",spanIndex:u,href:g.href}));}i.sort((u,g)=>{if(u.position!==g.position)return u.position-g.position;let S=(N,le)=>N==="link_open"?0:N==="open"?1:N==="close"?2:N==="link_close"?3:4,P=u.type==="close"||u.type==="link_close",D=g.type==="close"||g.type==="link_close",H=S(u.type,P),q=S(g.type,D);return H!==q?H-q:u.type==="open"&&g.type==="open"?u.spanIndex-g.spanIndex:u.type==="close"&&g.type==="close"?g.spanIndex-u.spanIndex:u.spanIndex-g.spanIndex});let l="",p=0,c=[];for(let u of i){if(u.position>p){let g=r.text.slice(p,u.position);l+=s?s(g):g;}if(u.type==="open"||u.type==="close"){let g=o[u.style];if(g)if(u.type==="open")l+=g.open,c.push(u);else {l+=g.close,u.style==="code_block"&&u.position<r.text.length&&(l+=`
63
+ `);let S=c.findIndex(P=>P.spanIndex===u.spanIndex&&P.type==="open");S!==-1&&c.splice(S,1);}}else if(u.type==="link_open")l+="[",c.push(u);else if(u.type==="link_close"){l+="]("+u.href+")";let g=c.findIndex(S=>S.spanIndex===u.spanIndex&&S.type==="link_open");g!==-1&&c.splice(g,1);}p=u.position;}if(p<r.text.length){let u=r.text.slice(p);l+=s?s(u):u;}return l}catch(r){return console.error("Markdown render error:",r),""}}function Se(e,t){return Oe(e,t)}k();function bo(e){let t=e.replace(/\r\n/g,`
64
64
  `).replace(/\r/g,`
65
- `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let n=t.indexOf(`
66
- ---`,3);if(n===-1)return {frontmatter:"",content:e};let r=t.slice(0,n+4),o=t.slice(n+4).trimStart();return {frontmatter:r,content:o}}function We(e,t){try{let n=typeof e=="string"?e:"",r=Tt.parse(t??{});if(!n)return "";let{frontmatter:o,content:s}=xo(n),a=ye(s,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),i=we(a);return i=i.replace(/\n{3,}/g,`
65
+ `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let r=t.indexOf(`
66
+ ---`,3);if(r===-1)return {frontmatter:"",content:e};let n=t.slice(0,r+4),o=t.slice(r+4).trimStart();return {frontmatter:n,content:o}}function Ue(e,t){try{let r=typeof e=="string"?e:"",n=kt.parse(t??{});if(!r)return "";let{frontmatter:o,content:s}=bo(r),a=we(s,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),i=Se(a);return i=i.replace(/\n{3,}/g,`
67
67
 
68
68
  `),i=i.trimEnd()+`
69
- `,r.preserveFrontmatter&&o&&(i=o+`
70
- `+i),i}catch(n){return console.error("Markdown format error:",n),e}}k();function yo(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function wo(e){if(e!=null){if(typeof e=="string")return {value:e.trim(),kind:"scalar"};if(typeof e=="number"||typeof e=="boolean")return {value:String(e),kind:"scalar"};if(typeof e=="object")try{return {value:JSON.stringify(e),kind:"structured"}}catch{return}}}function So(e){try{let t=jn.parse(e,{schema:"core"});if(!t||typeof t!="object"||Array.isArray(t))return null;let n={};for(let[r,o]of Object.entries(t)){let s=r.trim();if(!s)continue;let a=wo(o);a&&(n[s]=a);}return n}catch{return null}}function ko(e,t){let n=[],r=t+1;for(;r<e.length;){let s=e[r];if(!s){r+=1;continue}if(s.length>0&&!s.startsWith(" ")&&!s.startsWith(" "))break;n.push(s),r+=1;}return {value:n.join(`
71
- `).trim(),linesConsumed:r-t}}function To(e){let t={},n=e.split(`
72
- `),r=0;for(;r<n.length;){let o=n[r];if(!o){r+=1;continue}let s=o.match(/^([\w-]+):\s*(.*)$/);if(!s?.[1]||!s[2]){r+=1;continue}let a=s[1],i=s[2].trim();if(!a){r+=1;continue}if(!i&&r+1<n.length){let d=n[r+1];if(d&&(d.startsWith(" ")||d.startsWith(" "))){let{value:c,linesConsumed:u}=ko(n,r);c&&(t[a]={value:c,kind:"multiline",rawInline:i}),r+=u;continue}}let l=yo(i);l&&(t[a]={value:l,kind:"inline",rawInline:i}),r+=1;}return t}function vo(e){let t={};for(let[n,r]of Object.entries(e))t[n]=r.value;return t}function Ro(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Po(e){let{lineEntry:t,yamlValue:n}=e;return n.kind!=="structured"||t.kind!=="inline"||Ro(t.rawInline)?false:t.value.includes(":")}function Mo(e){let t=e.replace(/\r\n/g,`
69
+ `,n.preserveFrontmatter&&o&&(i=o+`
70
+ `+i),i}catch(r){return console.error("Markdown format error:",r),e}}k();function yo(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function xo(e){if(e!=null){if(typeof e=="string")return {value:e.trim(),kind:"scalar"};if(typeof e=="number"||typeof e=="boolean")return {value:String(e),kind:"scalar"};if(typeof e=="object")try{return {value:JSON.stringify(e),kind:"structured"}}catch{return}}}function wo(e){try{let t=jn.parse(e,{schema:"core"});if(!t||typeof t!="object"||Array.isArray(t))return null;let r={};for(let[n,o]of Object.entries(t)){let s=n.trim();if(!s)continue;let a=xo(o);a&&(r[s]=a);}return r}catch{return null}}function So(e,t){let r=[],n=t+1;for(;n<e.length;){let s=e[n];if(!s){n+=1;continue}if(s.length>0&&!s.startsWith(" ")&&!s.startsWith(" "))break;r.push(s),n+=1;}return {value:r.join(`
71
+ `).trim(),linesConsumed:n-t}}function ko(e){let t={},r=e.split(`
72
+ `),n=0;for(;n<r.length;){let o=r[n];if(!o){n+=1;continue}let s=o.match(/^([\w-]+):\s*(.*)$/);if(!s?.[1]||!s[2]){n+=1;continue}let a=s[1],i=s[2].trim();if(!a){n+=1;continue}if(!i&&n+1<r.length){let p=r[n+1];if(p&&(p.startsWith(" ")||p.startsWith(" "))){let{value:c,linesConsumed:u}=So(r,n);c&&(t[a]={value:c,kind:"multiline",rawInline:i}),n+=u;continue}}let l=yo(i);l&&(t[a]={value:l,kind:"inline",rawInline:i}),n+=1;}return t}function To(e){let t={};for(let[r,n]of Object.entries(e))t[r]=n.value;return t}function vo(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Ro(e){let{lineEntry:t,yamlValue:r}=e;return r.kind!=="structured"||t.kind!=="inline"||vo(t.rawInline)?false:t.value.includes(":")}function Po(e){let t=e.replace(/\r\n/g,`
73
73
  `).replace(/\r/g,`
74
- `);if(!t.startsWith("---"))return;let n=t.indexOf(`
75
- ---`,3);if(n!==-1)return t.slice(4,n)}function Oe(e){try{if(typeof e!="string")return {};let t=Mo(e);if(!t)return {};let n=To(t),r=So(t);if(r===null)return vo(n);let o={};for(let[s,a]of Object.entries(r)){o[s]=a.value;let i=n[s];i&&Po({lineEntry:i,yamlValue:a})&&(o[s]=i.value);}for(let[s,a]of Object.entries(n))s in o||(o[s]=a.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function qe(e){try{let t=vt.parse(e);if(Object.keys(t).length===0)return "";let n={};for(let[o,s]of Object.entries(t))try{let a=JSON.parse(s);n[o]=a;}catch{n[o]=s;}return `---
76
- ${jn.stringify(n,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
77
- ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Ue(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
74
+ `);if(!t.startsWith("---"))return;let r=t.indexOf(`
75
+ ---`,3);if(r!==-1)return t.slice(4,r)}function Fe(e){try{if(typeof e!="string")return {};let t=Po(e);if(!t)return {};let r=ko(t),n=wo(t);if(n===null)return To(r);let o={};for(let[s,a]of Object.entries(n)){o[s]=a.value;let i=r[s];i&&Ro({lineEntry:i,yamlValue:a})&&(o[s]=i.value);}for(let[s,a]of Object.entries(r))s in o||(o[s]=a.value);return o}catch(t){return console.warn("Failed to parse frontmatter:",t),{}}}function qe(e){try{let t=Tt.parse(e);if(Object.keys(t).length===0)return "";let r={};for(let[o,s]of Object.entries(t))try{let a=JSON.parse(s);r[o]=a;}catch{r[o]=s;}return `---
76
+ ${jn.stringify(r,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
77
+ ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Ve(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
78
78
  `).replace(/\r/g,`
79
- `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let n=t.indexOf(`
80
- ---`,3);if(n===-1)return {frontmatter:{},content:e};let r=t.slice(4,n),o=t.slice(n+4).trimStart();return {frontmatter:Oe(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Ve(e){try{let t=z.string().parse(e),n=[],r,o=0;for(;o<=t.length;){let s=t.indexOf(`
81
- `,o),a=s===-1?t.length:s,i=t.slice(o,a),l=i.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(l){let d=l[1],c=l[2];if(!d||!c){o=a+1;continue}let u=c[0];if(!u){o=a+1;continue}let m=c.length;if(!r)r={start:o,markerChar:u,markerLen:m,openLine:i,marker:c,indent:d};else if(r.markerChar===u&&m>=r.markerLen){let w=a;n.push({start:r.start,end:w,openLine:r.openLine,marker:r.marker,indent:r.indent}),r=void 0;}}if(s===-1)break;o=s+1;}return r&&n.push({start:r.start,end:t.length,openLine:r.openLine,marker:r.marker,indent:r.indent}),n}catch(t){return console.warn("Invalid input for parseFenceSpans:",t),[]}}function Et(e,t){let n=0,r=e.length-1;for(;n<=r;){let o=Math.floor((n+r)/2),s=e[o];if(!s)break;if(t<=s.start){r=o-1;continue}if(t>=s.end){n=o+1;continue}return s}}function Nn(e,t){return !Et(e,t)}function Ye(){return {open:false,ticks:0}}function Ge(e,t){try{let n=z.string().parse(e),r=t?De.parse(t):Ye(),o=Ve(n),s={open:r.open,ticks:r.ticks},{spans:a,state:i}=Io(n,o,s);return {inlineState:i,isInside:l=>Fo(l,o)||Lo(l,a)}}catch(n){return console.warn("Invalid input for buildCodeSpanIndex:",n),{inlineState:Ye(),isInside:()=>false}}}function Io(e,t,n){let r=[],o=n.open,s=n.ticks,a=o?0:-1,i=0;for(;i<e.length;){let l=Oo(t,i);if(l){i=l.end;continue}if(e[i]!=="`"){i+=1;continue}let d=i,c=0;for(;i<e.length&&e[i]==="`";)c+=1,i+=1;if(!o){o=true,s=c,a=d;continue}c===s&&(r.push([a,i]),o=false,s=0,a=-1);}return o&&r.push([a,e.length]),{spans:r,state:{open:o,ticks:s}}}function Oo(e,t){return e.find(n=>t>=n.start&&t<n.end)}function Fo(e,t){return t.some(n=>e>=n.start&&e<n.end)}function Lo(e,t){return t.some(([n,r])=>e>=n&&e<r)}k();var $o={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Je(e,t){try{let n=z.string().parse(e),r=Ee.parse(t);if(!n||r==="off")return n;let{ir:o,hasTables:s}=Ce(n,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:r});return s?Ie(o,{styleMarkers:$o,escapeText:a=>a,buildLink:(a,i)=>{let l=a.href.trim();return !l||!i.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${l})`}}}):n}catch(n){return console.warn("Invalid input for convertMarkdownTables:",n),typeof e=="string"?e:""}}var Ct;(d=>{function e(c,u){try{return ye(c,u)}catch(m){return console.warn("Markdown.parse error:",m),{text:"",styles:[],links:[]}}}d.parse=e;function t(c,u){try{return we(c,u)}catch(m){return console.warn("Markdown.render error:",m),""}}d.render=t;function n(c,u){try{return We(c,u)}catch(m){return console.warn("Markdown.format error:",m),typeof c=="string"?c:""}}d.format=n;function r(c){try{return Oe(c)}catch(u){return console.warn("Markdown.parseFrontmatter error:",u),{}}}d.parseFrontmatter=r;function o(c){try{return qe(c)}catch(u){return console.warn("Markdown.serializeFrontmatter error:",u),""}}d.serializeFrontmatter=o;function s(c){try{return Ue(c)}catch(u){return console.warn("Markdown.extractFrontmatter error:",u),{frontmatter:{},content:typeof c=="string"?c:""}}}d.extractFrontmatter=s;function a(c,u,m){try{return he(c,u,m)}catch(w){return console.warn("Markdown.chunk error:",w),typeof c=="string"&&c.length>0?[c]:[]}}d.chunk=a;function i(c,u){try{return Ge(c,u)}catch(m){return console.warn("Markdown.buildCodeIndex error:",m),{inlineState:{open:false,ticks:0},isInside:()=>false}}}d.buildCodeIndex=i;function l(c,u){try{return Je(c,u)}catch(m){return console.warn("Markdown.convertTables error:",m),typeof c=="string"?c:""}}d.convertTables=l;})(Ct||(Ct={}));k();function Dn(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Ao(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n.slice(0,n.length-1).join("/")+"/"}function _o(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function jo(e,t=20){let n=Dn(e);if(n.length<=t)return n;let r=n.lastIndexOf("."),o=r<=0?"":n.slice(r),s=t-o.length-1;return s<=0?n.slice(0,t-1)+"\u2026":n.slice(0,s)+"\u2026"+o}function No(e,t=20){if(e.length<=t)return e;let n=t-1,r=Math.ceil(n/2),o=Math.floor(n/2);return e.slice(0,r)+"\u2026"+e.slice(-o)}k();var Do=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function zo(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return Do.some(n=>t.includes(n))}async function Ho(e,t={}){let{attempts:n=3,delay:r=500,factor:o=2,maxDelay:s=1e4,retryIf:a=zo}=t,i;for(let l=0;l<n;l++)try{return await e()}catch(d){if(i=d,l===n-1||!a(d))throw d;let c=Math.min(r*o**l,s);await new Promise(u=>setTimeout(u,c));}throw i}k();var It;(W=>{let e=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy","ALL_PROXY","all_proxy"],t=false,n=null;function r(){return e.some(I=>{let O=process.env[I];return typeof O=="string"&&O.trim().length>0})}W.hasProxyConfigured=r;function o(){let I=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||I}W.getProxyUrl=o;function s(I={}){let O=I.httpProxy||I.httpsProxy||o();if(!O){console.warn("[Fetch] \u672A\u914D\u7F6E\u4EE3\u7406\uFF0C\u73AF\u5883\u53D8\u91CF HTTP_PROXY/HTTPS_PROXY \u672A\u8BBE\u7F6E");return}let N=new ProxyAgent({uri:O,connectTimeout:I.connectTimeout||1e4,keepAliveTimeout:I.keepAliveTimeout||3e4});n=getGlobalDispatcher(),setGlobalDispatcher(N),t=true,console.log(`[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u542F\u7528: ${O}`);}W.enableProxy=s;function a(){!t||!n||(setGlobalDispatcher(n),t=false,n=null,console.log("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}W.disableProxy=a;function i(){return t}W.isProxyEnabled=i;async function l(I,O){let N=O?.timeout||3e4,Se=O?.responseType||"json",{timeout:Ke,responseType:Ze,...se}=O||{},le=null,X=null;try{se.signal||(le=new AbortController,X=setTimeout(()=>le.abort(),N));let q=await fetch(I,{...se,signal:se.signal||le.signal});X&&clearTimeout(X);let J;switch(Se){case "arrayBuffer":J=await q.arrayBuffer();break;case "blob":J=await q.blob();break;case "buffer":{let Q=await q.arrayBuffer();J=Buffer.from(Q);break}case "text":J=await q.text();break;default:{let Q=await q.text();try{J=JSON.parse(Q);}catch{J=Q;}break}}return {ok:q.ok,status:q.status,statusText:q.statusText,headers:q.headers,data:J,url:q.url}}catch(q){throw X&&clearTimeout(X),q}}async function d(I,O){let N=O?.retries||0,Se=O?.retryDelay||1e3,{retries:Ke,retryDelay:Ze,responseType:se,...le}=O||{},X;for(let q=0;q<=N;q++)try{return await l(I,{...le,responseType:O?.responseType})}catch(J){if(X=J,q<N){let Q=Se*2**q;await new Promise(Xe=>setTimeout(Xe,Q));}}throw X}async function c(I,O){return d(I,{method:"GET",...O})}W.get=c;async function u(I,O,N){return d(I,{method:"POST",headers:{"Content-Type":"application/json",...N?.headers},body:O?JSON.stringify(O):void 0,...N})}W.post=u;async function m(I,O,N){return d(I,{method:"PUT",headers:{"Content-Type":"application/json",...N?.headers},body:O?JSON.stringify(O):void 0,...N})}W.put=m;async function w(I,O,N){return d(I,{method:"DELETE",headers:{"Content-Type":"application/json",...N?.headers},body:O?JSON.stringify(O):void 0,...N})}W.del=w;async function P(I,O,N){return d(I,{method:"PATCH",headers:{"Content-Type":"application/json",...N?.headers},body:O?JSON.stringify(O):void 0,...N})}W.patch=P;async function _(I,O){return d(I,O)}W.request=_;function D(I={}){return r()?(s(I),true):false}W.autoProxy=D;})(It||(It={}));k();var Ot;(r=>{let e=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],t=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function n(){return [e[Math.floor(Math.random()*e.length)],t[Math.floor(Math.random()*t.length)]].join("-")}r.create=n;})(Ot||(Ot={}));k();function Hn(e){let t=new AbortController,n=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(n)}}function Uo(e,...t){let n=Hn(e);return {signal:AbortSignal.any([n.signal,...t]),clearTimeout:n.clearTimeout}}k();var Ft;(t=>{async function e(n,r){if(process.platform==="win32"){let o=ge.resolve(n),s=ge.resolve(r),a=`Expand-Archive -Path '${o}' -DestinationPath '${s}' -Force`,i=await te.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${a}"`);if(i.code!==0)throw new Error(`PowerShell exited with code ${i.code}: ${i.stderr}`)}else {let o=`unzip -o -q ${n} -d ${r}`,s=await te.run(void 0,o);if(s.code!==0)throw new Error(`unzip exited with code ${s.code}: ${s.stderr}`)}}t.extractZip=e;})(Ft||(Ft={}));k();var Lt;(r=>{function e(o){return o?/^#[0-9a-fA-F]{6}$/.test(o):false}r.isValidHex=e;function t(o){let s=parseInt(o.slice(1,3),16),a=parseInt(o.slice(3,5),16),i=parseInt(o.slice(5,7),16);return {r:s,g:a,b:i}}r.hexToRgb=t;function n(o){if(!e(o))return;let{r:s,g:a,b:i}=t(o);return `\x1B[38;2;${s};${a};${i}m\x1B[1m`}r.hexToAnsiBold=n;})(Lt||(Lt={}));k();var Bt;(n=>{class e extends Error{constructor(s){super(`No context found for ${s}`);c(this,"name",s);}}n.NotFound=e;function t(r){let o=new AsyncLocalStorage;return {use(){let s=o.getStore();if(!s)throw new e(r);return s},provide(s,a){return o.run(s,a)}}}n.create=t;})(Bt||(Bt={}));k();function Yo(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var $t;(t=>{async function e(){return new Promise(n=>{let r=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?n():setImmediate(r);};r();})}t.wait=e;})($t||($t={}));k();function Go(e){if(e<=0)return "";if(e<60)return `${e}s`;if(e<3600){let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}if(e<86400){let n=Math.floor(e/3600),r=Math.floor(e%3600/60);return r>0?`${n}h ${r}m`:`${n}h`}if(e<604800){let n=Math.floor(e/86400);return n===1?"~1 day":`~${n} days`}let t=Math.floor(e/604800);return t===1?"~1 week":`~${t} weeks`}k();var At;(a=>{function e(i,l){if(i===l)return true;if(typeof i!="object"||typeof l!="object"||i===null||l===null)return false;let d=Object.keys(i),c=Object.keys(l);if(d.length!==c.length)return false;for(let u of d)if(!c.includes(u)||!e(i[u],l[u]))return false;return true}function t(i){return {...i,super:i.super??false}}function n(i,l){return i?e(t(i),t(l)):false}a.match=n;function r(i,l=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:l}}a.fromParsedKey=r;function o(i){if(!i)return "";let l=[];i.ctrl&&l.push("ctrl"),i.meta&&l.push("alt"),i.super&&l.push("super"),i.shift&&l.push("shift"),i.name&&(i.name==="delete"?l.push("del"):l.push(i.name));let d=l.join("+");return i.leader&&(d=d?`<leader> ${d}`:"<leader>"),d}a.keyToString=o;function s(i){return i==="none"?[]:i.split(",").map(l=>{let c=l.replace(/<leader>/g,"leader+").toLowerCase().split("+"),u={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let m of c)switch(m){case "ctrl":u.ctrl=true;break;case "alt":case "meta":case "option":u.meta=true;break;case "super":u.super=true;break;case "shift":u.shift=true;break;case "leader":u.leader=true;break;case "esc":u.name="escape";break;default:u.name=m;break}return u})}a.parse=s;})(At||(At={}));k();var _t;(d=>{function e(c){return c.replace(/\b\w/g,u=>u.toUpperCase())}d.titlecase=e;function t(c){return new Date(c).toLocaleTimeString(void 0,{timeStyle:"short"})}d.time=t;function n(c){let u=new Date(c),m=t(c),w=u.toLocaleDateString();return `${m} \xB7 ${w}`}d.datetime=n;function r(c){let u=new Date(c),m=new Date;return u.getFullYear()===m.getFullYear()&&u.getMonth()===m.getMonth()&&u.getDate()===m.getDate()?t(c):n(c)}d.todayTimeOrDateTime=r;function o(c){return c>=1e6?(c/1e6).toFixed(1)+"M":c>=1e3?(c/1e3).toFixed(1)+"K":c.toString()}d.number=o;function s(c){if(c<1e3)return `${c}ms`;if(c<6e4)return `${(c/1e3).toFixed(1)}s`;if(c<36e5){let w=Math.floor(c/6e4),P=Math.floor(c%6e4/1e3);return `${w}m ${P}s`}if(c<864e5){let w=Math.floor(c/36e5),P=Math.floor(c%36e5/6e4);return `${w}h ${P}m`}let u=Math.floor(c/36e5);return `${Math.floor(c%36e5/864e5)}d ${u}h`}d.duration=s;function a(c,u){return c.length<=u?c:c.slice(0,u-1)+"\u2026"}d.truncate=a;function i(c,u=35){if(c.length<=u)return c;let m="\u2026",w=Math.ceil((u-m.length)/2),P=Math.floor((u-m.length)/2);return c.slice(0,w)+m+c.slice(-P)}d.truncateMiddle=i;function l(c,u,m){return (c===1?u:m).replace("{}",c.toString())}d.pluralize=l;})(_t||(_t={}));k();function Jo(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var jt=class{constructor(){c(this,"queue",[]);c(this,"resolvers",[]);}push(t){let 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 Ko(e,t,n){let r=[...t];await Promise.all(Array.from({length:e},async()=>{for(;;){let o=r.pop();if(o===void 0)return;await n(o);}}));}k();function Zo(){let e,t=new Promise(n=>e=n);return {trigger(){return e()},wait(){return t}}}k();function Xo(e,t){let n;return Promise.race([e.then(r=>(clearTimeout(n),r)),new Promise((r,o)=>{n=setTimeout(()=>{o(new Error(`Operation timed out after ${t}ms`));},t);})])}k();var Nt;(a=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function r(i){if(!i)return 0;let l=String(i),d=(l.match(n)||[]).length,c=l.length-d,u=Math.round(d/1.5),m=Math.round(c/4);return Math.max(0,u+m)}a.estimate=r;function o(i){if(i==null)return 0;try{let l=typeof i=="string"?i:JSON.stringify(i);return r(l)}catch{return 0}}a.estimateObject=o;function s(i){if(i.total!==void 0&&i.total>0)return i.total;let l=i.input??0,d=i.output??0,c=i.cache?.read??0,u=i.cache?.write??0;return l+d+c+u}a.total=s;})(Nt||(Nt={}));k();function es(e){let t={};for(let[n,r]of Object.entries(e.required().shape))t[n]=r.nullable();return _e.object(t)}k();var Dt;(s=>{function e(a,i){let l=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return l.endsWith(" .*")&&(l=l.slice(0,-3)+"( .*)?"),new RegExp("^"+l+"$","s").test(a)}s.match=e;function t(a){return a.sort((i,l)=>{let d=i[0].length-l[0].length;return d!==0?d:i[0].localeCompare(l[0])})}function n(a,i){let l=Object.entries(i),d=t(l),c;for(let[u,m]of d)e(a,u)&&(c=m);return c}s.all=n;function r(a,i){let l=Object.entries(i),d=t(l),c;for(let[u,m]of d){let w=u.split(/\s+/);e(a.head,w[0])&&(w.length===1||o(a.tail,w.slice(1)))&&(c=m);}return c}s.allStructured=r;function o(a,i){if(i.length===0)return true;if(a.length<i.length)return false;for(let l=0;l<i.length;l++)if(!e(a[l],i[l]))return false;return true}})(Dt||(Dt={}));async function cc(e){let{Log:t}=await import('./chunks/log-K3P7BT54.mjs'),n=false;await t.init({logDir:e.logDir??process.env.EASBOT_LOG_PATH??process.cwd(),print:e.print??false,dev:e.dev??n,level:e.level??("INFO")});}export{Or as $,Ft as Archive,jt as AsyncQueue,nt as Binary,Lt as Color,Bt as Context,rt as Encode,$t as EventLoop,It as Fetch,xt as Fn,ke as Identifier,ht as Ignore,At as Keybind,fe as Lazy,_t as Locale,Ct as Markdown,gt as NamedError,A as PKG,Te as PkgShell,at as SessionTitle,te as Shell,Ot as Slug,Nt as Token,ot as TruncateContent,Dt as Wildcard,Hn as abortAfter,Uo as abortAfterAny,Ge as buildCodeSpanIndex,_n as chunkMarkdownIR,he as chunkText,wt as chunkTextByBreakResolver,Je as convertMarkdownTables,Ye as createInlineCodeState,ue as createPkgShell,ct as createRESTServer,lt as createRPCServer,ae as createServer,dt as createStreamingServer,ut as createWebSocketServer,Yo as defer,mn as detectPlatform,mt as escapeCommandArg,pn as escapeCommandArgSafe,Ue as extractFrontmatter,Et as findFenceSpanAt,Kn as findLast,Lr as fn,Go as formatDuration,st as formatLocalISO,it as formatLocalISOCompact,tr as formatLogTime,We as formatMarkdown,Ao as getDirectory,_o as getFileExtension,Dn as getFilename,jo as getFilenameTruncated,nr as getTimezoneOffset,jr as git,Ur as iife,cc as initLog,Nn as isSafeFenceBreak,pe as joinCommandArgs,Le as lazy,rr as lazyAsync,_r as loadEnv,Wr as loadTextFile,qr as loadTextFileAsync,ye as markdownToIR,Ce as markdownToIRWithMeta,dn as needsShellExecution,Vt as now,Qn as nowLocalISO,re as parseCommand,fn as parseCommandWithOptions,Ve as parseFenceSpans,Oe as parseFrontmatterBlock,er as parseLocalISO,Vr as parseModelId,Jo as proxied,Er as readableStreamToText,we as renderMarkdown,Ie as renderMarkdownWithMarkers,Ho as retry,yt as scanParenAwareBreakpoints,qe as serializeFrontmatter,hn as shell,Zo as signal,ar as startServer,No as truncateMiddle,es as updateSchema,Cr as whichSync,Xo as withTimeout,Ko as work};
79
+ `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let r=t.indexOf(`
80
+ ---`,3);if(r===-1)return {frontmatter:{},content:e};let n=t.slice(4,r),o=t.slice(r+4).trimStart();return {frontmatter:Fe(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Ge(e){try{let t=z.string().parse(e),r=[],n,o=0;for(;o<=t.length;){let s=t.indexOf(`
81
+ `,o),a=s===-1?t.length:s,i=t.slice(o,a),l=i.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(l){let p=l[1],c=l[2];if(!p||!c){o=a+1;continue}let u=c[0];if(!u){o=a+1;continue}let g=c.length;if(!n)n={start:o,markerChar:u,markerLen:g,openLine:i,marker:c,indent:p};else if(n.markerChar===u&&g>=n.markerLen){let S=a;r.push({start:n.start,end:S,openLine:n.openLine,marker:n.marker,indent:n.indent}),n=void 0;}}if(s===-1)break;o=s+1;}return n&&r.push({start:n.start,end:t.length,openLine:n.openLine,marker:n.marker,indent:n.indent}),r}catch(t){return console.warn("Invalid input for parseFenceSpans:",t),[]}}function Mt(e,t){let r=0,n=e.length-1;for(;r<=n;){let o=Math.floor((r+n)/2),s=e[o];if(!s)break;if(t<=s.start){n=o-1;continue}if(t>=s.end){r=o+1;continue}return s}}function Dn(e,t){return !Mt(e,t)}function Ye(){return {open:false,ticks:0}}function Je(e,t){try{let r=z.string().parse(e),n=t?ze.parse(t):Ye(),o=Ge(r),s={open:n.open,ticks:n.ticks},{spans:a,state:i}=Co(r,o,s);return {inlineState:i,isInside:l=>Oo(l,o)||Fo(l,a)}}catch(r){return console.warn("Invalid input for buildCodeSpanIndex:",r),{inlineState:Ye(),isInside:()=>false}}}function Co(e,t,r){let n=[],o=r.open,s=r.ticks,a=o?0:-1,i=0;for(;i<e.length;){let l=Io(t,i);if(l){i=l.end;continue}if(e[i]!=="`"){i+=1;continue}let p=i,c=0;for(;i<e.length&&e[i]==="`";)c+=1,i+=1;if(!o){o=true,s=c,a=p;continue}c===s&&(n.push([a,i]),o=false,s=0,a=-1);}return o&&n.push([a,e.length]),{spans:n,state:{open:o,ticks:s}}}function Io(e,t){return e.find(r=>t>=r.start&&t<r.end)}function Oo(e,t){return t.some(r=>e>=r.start&&e<r.end)}function Fo(e,t){return t.some(([r,n])=>e>=r&&e<n)}k();var Ao={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Ke(e,t){try{let r=z.string().parse(e),n=Ce.parse(t);if(!r||n==="off")return r;let{ir:o,hasTables:s}=Ie(r,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:n});return s?Oe(o,{styleMarkers:Ao,escapeText:a=>a,buildLink:(a,i)=>{let l=a.href.trim();return !l||!i.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${l})`}}}):r}catch(r){return console.warn("Invalid input for convertMarkdownTables:",r),typeof e=="string"?e:""}}var Et;(p=>{function e(c,u){try{return we(c,u)}catch(g){return console.warn("Markdown.parse error:",g),{text:"",styles:[],links:[]}}}p.parse=e;function t(c,u){try{return Se(c,u)}catch(g){return console.warn("Markdown.render error:",g),""}}p.render=t;function r(c,u){try{return Ue(c,u)}catch(g){return console.warn("Markdown.format error:",g),typeof c=="string"?c:""}}p.format=r;function n(c){try{return Fe(c)}catch(u){return console.warn("Markdown.parseFrontmatter error:",u),{}}}p.parseFrontmatter=n;function o(c){try{return qe(c)}catch(u){return console.warn("Markdown.serializeFrontmatter error:",u),""}}p.serializeFrontmatter=o;function s(c){try{return Ve(c)}catch(u){return console.warn("Markdown.extractFrontmatter error:",u),{frontmatter:{},content:typeof c=="string"?c:""}}}p.extractFrontmatter=s;function a(c,u,g){try{return be(c,u,g)}catch(S){return console.warn("Markdown.chunk error:",S),typeof c=="string"&&c.length>0?[c]:[]}}p.chunk=a;function i(c,u){try{return Je(c,u)}catch(g){return console.warn("Markdown.buildCodeIndex error:",g),{inlineState:{open:false,ticks:0},isInside:()=>false}}}p.buildCodeIndex=i;function l(c,u){try{return Ke(c,u)}catch(g){return console.warn("Markdown.convertTables error:",g),typeof c=="string"?c:""}}p.convertTables=l;})(Et||(Et={}));k();function Nn(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r[r.length-1]??""}function Bo(e){if(!e)return "";let r=e.replace(/[/\\]+$/,"").split(/[/\\]/);return r.slice(0,r.length-1).join("/")+"/"}function Lo(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function _o(e,t=20){let r=Nn(e);if(r.length<=t)return r;let n=r.lastIndexOf("."),o=n<=0?"":r.slice(n),s=t-o.length-1;return s<=0?r.slice(0,t-1)+"\u2026":r.slice(0,s)+"\u2026"+o}function jo(e,t=20){if(e.length<=t)return e;let r=t-1,n=Math.ceil(r/2),o=Math.floor(r/2);return e.slice(0,n)+"\u2026"+e.slice(-o)}k();var Do=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function No(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return Do.some(r=>t.includes(r))}async function zo(e,t={}){let{attempts:r=3,delay:n=500,factor:o=2,maxDelay:s=1e4,retryIf:a=No}=t,i;for(let l=0;l<r;l++)try{return await e()}catch(p){if(i=p,l===r-1||!a(p))throw p;let c=Math.min(n*o**l,s);await new Promise(u=>setTimeout(u,c));}throw i}k();var Ct;(zt=>{let e=a.create({service:"fetch"}),t=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],r=false,n=null;function o(){return t.some(I=>{let O=process.env[I];return typeof O=="string"&&O.trim().length>0})}zt.hasProxyConfigured=o;function s(){let I=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||I}zt.getProxyUrl=s;function a$1(I={}){let O=I.httpProxy||I.httpsProxy||s();if(!O){e.warn("[Fetch] \u672A\u914D\u7F6E\u4EE3\u7406\uFF0C\u73AF\u5883\u53D8\u91CF HTTP_PROXY/HTTPS_PROXY \u672A\u8BBE\u7F6E");return}let j=new ProxyAgent({uri:O,connectTimeout:I.connectTimeout||1e4,keepAliveTimeout:I.keepAliveTimeout||3e4});n=getGlobalDispatcher(),setGlobalDispatcher(j),r=true,console.log(`[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u542F\u7528: ${O}`);}zt.enableProxy=a$1;function i(){!r||!n||(setGlobalDispatcher(n),r=false,n=null,console.log("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}zt.disableProxy=i;function l(){return r}zt.isProxyEnabled=l;async function p(I,O){let j=O?.timeout||3e4,Z=O?.responseType||"json",{timeout:Y,responseType:ce,...ie}=O||{},G=null,_=null;try{ie.signal||(G=new AbortController,_=setTimeout(()=>G.abort(),j));let x=await fetch(I,{...ie,signal:ie.signal||G.signal});_&&clearTimeout(_);let m;switch(Z){case "arrayBuffer":m=await x.arrayBuffer();break;case "blob":m=await x.blob();break;case "buffer":{let f=await x.arrayBuffer();m=Buffer.from(f);break}case "text":m=await x.text();break;default:{let f=await x.text();try{m=JSON.parse(f);}catch{m=f;}break}}return {ok:x.ok,status:x.status,statusText:x.statusText,headers:x.headers,data:m,url:x.url}}catch(x){throw _&&clearTimeout(_),x}}async function c$1(I,O){let j=O?.retries||0,Z=O?.retryDelay||1e3,{retries:Y,retryDelay:ce,responseType:ie,...G}=O||{},_;for(let x=0;x<=j;x++)try{return await p(I,{...G,responseType:O?.responseType})}catch(m){if(_=m,x<j){let f=Z*2**x;await new Promise(d=>setTimeout(d,f));}}throw _}async function u(I,O){return c$1(I,{method:"GET",...O})}zt.get=u;async function g(I,O,j){return c$1(I,{method:"POST",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}zt.post=g;async function S(I,O,j){return c$1(I,{method:"PUT",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}zt.put=S;async function P(I,O,j){return c$1(I,{method:"DELETE",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}zt.del=P;async function D(I,O,j){return c$1(I,{method:"PATCH",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}zt.patch=D;async function H(I,O){return c$1(I,O)}zt.request=H;function q(I={}){return o()?(a$1(I),true):false}zt.autoProxy=q;function N(I){return new TextEncoder().encode(I)}function le(I){return c.mimeType(I)}function ke(I){return I.startsWith("file://")}async function Ze(I){let O=fileURLToPath(I);return await L.file(O).bytes()}async function Nt(I,O,j){let Z=`----FetchFormBoundary${Date.now()}`,Y=[];for(let f of O){let d=f.filename,w=`Content-Disposition: form-data; name="${f.name}"${d?`; filename="${d}"`:""}`;d&&(w+=`\r
82
+ Content-Type: ${le(d)}`),w+=`\r
83
+ \r
84
+ `,Y.push(N(w));let y=f.value;if(typeof y=="string")if(ke(y)){let b=await Ze(y);d||(d=y.split("/").pop()||"file"),Y.push(b);}else Y.push(N(y));else Buffer.isBuffer(y)?Y.push(new Uint8Array(y.buffer,y.byteOffset,y.byteLength)):y instanceof Uint8Array&&Y.push(y);}let ce=N(`\r
85
+ --${Z}--`),ie=N(`\r
86
+ --${Z}\r
87
+ `),G=[];G.push(N(`--${Z}\r
88
+ `));for(let f=0;f<Y.length;f++)G.push(Y[f]),f%2===1&&f<Y.length-1&&(G.push(ie),G.push(N(`--${Z}\r
89
+ `)));G.push(ce);let _=G.reduce((f,d)=>f+d.length,0),x=new Uint8Array(_),m=0;for(let f of G)x.set(f,m),m+=f.length;return c$1(I,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${Z}`,...j?.headers},body:x,...j})}zt.postForm=Nt;})(Ct||(Ct={}));k();var It;(n=>{let e=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],t=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function r(){return [e[Math.floor(Math.random()*e.length)],t[Math.floor(Math.random()*t.length)]].join("-")}n.create=r;})(It||(It={}));k();function Hn(e){let t=new AbortController,r=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(r)}}function qo(e,...t){let r=Hn(e);return {signal:AbortSignal.any([r.signal,...t]),clearTimeout:r.clearTimeout}}k();var Ot;(t=>{async function e(r,n){if(process.platform==="win32"){let o=he.resolve(r),s=he.resolve(n),a=`Expand-Archive -Path '${o}' -DestinationPath '${s}' -Force`,i=await ne.run("powershell",`-NoProfile -NonInteractive -Command "$global:ProgressPreference = 'SilentlyContinue'; ${a}"`);if(i.code!==0)throw new Error(`PowerShell exited with code ${i.code}: ${i.stderr}`)}else {let o=`unzip -o -q ${r} -d ${n}`,s=await ne.run(void 0,o);if(s.code!==0)throw new Error(`unzip exited with code ${s.code}: ${s.stderr}`)}}t.extractZip=e;})(Ot||(Ot={}));k();var Ft;(n=>{function e(o){return o?/^#[0-9a-fA-F]{6}$/.test(o):false}n.isValidHex=e;function t(o){let s=parseInt(o.slice(1,3),16),a=parseInt(o.slice(3,5),16),i=parseInt(o.slice(5,7),16);return {r:s,g:a,b:i}}n.hexToRgb=t;function r(o){if(!e(o))return;let{r:s,g:a,b:i}=t(o);return `\x1B[38;2;${s};${a};${i}m\x1B[1m`}n.hexToAnsiBold=r;})(Ft||(Ft={}));k();var $t;(r=>{class e extends Error{constructor(s){super(`No context found for ${s}`);c$1(this,"name",s);}}r.NotFound=e;function t(n){let o=new AsyncLocalStorage;return {use(){let s=o.getStore();if(!s)throw new e(n);return s},provide(s,a){return o.run(s,a)}}}r.create=t;})($t||($t={}));k();function Go(e){return {[Symbol.dispose](){e();},[Symbol.asyncDispose](){return Promise.resolve(e())}}}k();var At;(t=>{async function e(){return new Promise(r=>{let n=()=>{process._getActiveHandles().length===0&&process._getActiveRequests().length===0?r():setImmediate(n);};n();})}t.wait=e;})(At||(At={}));k();function Yo(e){if(e<=0)return "";if(e<60)return `${e}s`;if(e<3600){let r=Math.floor(e/60),n=e%60;return n>0?`${r}m ${n}s`:`${r}m`}if(e<86400){let r=Math.floor(e/3600),n=Math.floor(e%3600/60);return n>0?`${r}h ${n}m`:`${r}h`}if(e<604800){let r=Math.floor(e/86400);return r===1?"~1 day":`~${r} days`}let t=Math.floor(e/604800);return t===1?"~1 week":`~${t} weeks`}k();var Bt;(a=>{function e(i,l){if(i===l)return true;if(typeof i!="object"||typeof l!="object"||i===null||l===null)return false;let p=Object.keys(i),c=Object.keys(l);if(p.length!==c.length)return false;for(let u of p)if(!c.includes(u)||!e(i[u],l[u]))return false;return true}function t(i){return {...i,super:i.super??false}}function r(i,l){return i?e(t(i),t(l)):false}a.match=r;function n(i,l=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:l}}a.fromParsedKey=n;function o(i){if(!i)return "";let l=[];i.ctrl&&l.push("ctrl"),i.meta&&l.push("alt"),i.super&&l.push("super"),i.shift&&l.push("shift"),i.name&&(i.name==="delete"?l.push("del"):l.push(i.name));let p=l.join("+");return i.leader&&(p=p?`<leader> ${p}`:"<leader>"),p}a.keyToString=o;function s(i){return i==="none"?[]:i.split(",").map(l=>{let c=l.replace(/<leader>/g,"leader+").toLowerCase().split("+"),u={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let g of c)switch(g){case "ctrl":u.ctrl=true;break;case "alt":case "meta":case "option":u.meta=true;break;case "super":u.super=true;break;case "shift":u.shift=true;break;case "leader":u.leader=true;break;case "esc":u.name="escape";break;default:u.name=g;break}return u})}a.parse=s;})(Bt||(Bt={}));k();var Lt;(p=>{function e(c){return c.replace(/\b\w/g,u=>u.toUpperCase())}p.titlecase=e;function t(c){return new Date(c).toLocaleTimeString(void 0,{timeStyle:"short"})}p.time=t;function r(c){let u=new Date(c),g=t(c),S=u.toLocaleDateString();return `${g} \xB7 ${S}`}p.datetime=r;function n(c){let u=new Date(c),g=new Date;return u.getFullYear()===g.getFullYear()&&u.getMonth()===g.getMonth()&&u.getDate()===g.getDate()?t(c):r(c)}p.todayTimeOrDateTime=n;function o(c){return c>=1e6?(c/1e6).toFixed(1)+"M":c>=1e3?(c/1e3).toFixed(1)+"K":c.toString()}p.number=o;function s(c){if(c<1e3)return `${c}ms`;if(c<6e4)return `${(c/1e3).toFixed(1)}s`;if(c<36e5){let S=Math.floor(c/6e4),P=Math.floor(c%6e4/1e3);return `${S}m ${P}s`}if(c<864e5){let S=Math.floor(c/36e5),P=Math.floor(c%36e5/6e4);return `${S}h ${P}m`}let u=Math.floor(c/36e5);return `${Math.floor(c%36e5/864e5)}d ${u}h`}p.duration=s;function a(c,u){return c.length<=u?c:c.slice(0,u-1)+"\u2026"}p.truncate=a;function i(c,u=35){if(c.length<=u)return c;let g="\u2026",S=Math.ceil((u-g.length)/2),P=Math.floor((u-g.length)/2);return c.slice(0,S)+g+c.slice(-P)}p.truncateMiddle=i;function l(c,u,g){return (c===1?u:g).replace("{}",c.toString())}p.pluralize=l;})(Lt||(Lt={}));k();function Jo(){return !!(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)}k();var _t=class{constructor(){c$1(this,"queue",[]);c$1(this,"resolvers",[]);}push(t){let r=this.resolvers.shift();r?r(t):this.queue.push(t);}async next(){return this.queue.length>0?this.queue.shift():new Promise(t=>this.resolvers.push(t))}async*[Symbol.asyncIterator](){for(;;)yield await this.next();}};async function Ko(e,t,r){let n=[...t];await Promise.all(Array.from({length:e},async()=>{for(;;){let o=n.pop();if(o===void 0)return;await r(o);}}));}k();function Zo(){let e,t=new Promise(r=>e=r);return {trigger(){return e()},wait(){return t}}}k();function Xo(e,t){let r;return Promise.race([e.then(n=>(clearTimeout(r),n)),new Promise((n,o)=>{r=setTimeout(()=>{o(new Error(`Operation timed out after ${t}ms`));},t);})])}k();var jt;(a=>{let r=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function n(i){if(!i)return 0;let l=String(i),p=(l.match(r)||[]).length,c=l.length-p,u=Math.round(p/1.5),g=Math.round(c/4);return Math.max(0,u+g)}a.estimate=n;function o(i){if(i==null)return 0;try{let l=typeof i=="string"?i:JSON.stringify(i);return n(l)}catch{return 0}}a.estimateObject=o;function s(i){if(i.total!==void 0&&i.total>0)return i.total;let l=i.input??0,p=i.output??0,c=i.cache?.read??0,u=i.cache?.write??0;return l+p+c+u}a.total=s;})(jt||(jt={}));k();function es(e){let t={};for(let[r,n]of Object.entries(e.required().shape))t[r]=n.nullable();return je.object(t)}k();var Dt;(s=>{function e(a,i){let l=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return l.endsWith(" .*")&&(l=l.slice(0,-3)+"( .*)?"),new RegExp("^"+l+"$","s").test(a)}s.match=e;function t(a){return a.sort((i,l)=>{let p=i[0].length-l[0].length;return p!==0?p:i[0].localeCompare(l[0])})}function r(a,i){let l=Object.entries(i),p=t(l),c;for(let[u,g]of p)e(a,u)&&(c=g);return c}s.all=r;function n(a,i){let l=Object.entries(i),p=t(l),c;for(let[u,g]of p){let S=u.split(/\s+/);e(a.head,S[0])&&(S.length===1||o(a.tail,S.slice(1)))&&(c=g);}return c}s.allStructured=n;function o(a,i){if(i.length===0)return true;if(a.length<i.length)return false;for(let l=0;l<i.length;l++)if(!e(a[l],i[l]))return false;return true}})(Dt||(Dt={}));async function pc(e){let{Log:t}=await import('./chunks/log-K3P7BT54.mjs'),r=false;await t.init({logDir:e.logDir??process.env.EASBOT_LOG_PATH??process.cwd(),print:e.print??false,dev:e.dev??r,level:e.level??("INFO")});}export{Ir as $,Ot as Archive,_t as AsyncQueue,tt as Binary,Ft as Color,$t as Context,nt as Encode,At as EventLoop,Ct as Fetch,bt as Fn,Te as Identifier,gt as Ignore,Bt as Keybind,pe as Lazy,Lt as Locale,Et as Markdown,mt as NamedError,L as PKG,ve as PkgShell,it as SessionTitle,ne as Shell,It as Slug,jt as Token,rt as TruncateContent,Dt as Wildcard,Hn as abortAfter,qo as abortAfterAny,Je as buildCodeSpanIndex,_n as chunkMarkdownIR,be as chunkText,xt as chunkTextByBreakResolver,Ke as convertMarkdownTables,Ye as createInlineCodeState,de as createPkgShell,lt as createRESTServer,at as createRPCServer,ae as createServer,ut as createStreamingServer,ct as createWebSocketServer,Go as defer,mn as detectPlatform,pt as escapeCommandArg,pn as escapeCommandArgSafe,Ve as extractFrontmatter,Mt as findFenceSpanAt,Jn as findLast,Fr as fn,Yo as formatDuration,ot as formatLocalISO,st as formatLocalISOCompact,er as formatLogTime,Ue as formatMarkdown,Bo as getDirectory,Lo as getFileExtension,Nn as getFilename,_o as getFilenameTruncated,tr as getTimezoneOffset,_r as git,Ur as iife,pc as initLog,Dn as isSafeFenceBreak,me as joinCommandArgs,Ae as lazy,nr as lazyAsync,Lr as loadEnv,Hr as loadTextFile,Wr as loadTextFileAsync,we as markdownToIR,Ie as markdownToIRWithMeta,dn as needsShellExecution,Vt as now,Xn as nowLocalISO,oe as parseCommand,fn as parseCommandWithOptions,Ge as parseFenceSpans,Fe as parseFrontmatterBlock,Qn as parseLocalISO,qr as parseModelId,Jo as proxied,Mr as readableStreamToText,Se as renderMarkdown,Oe as renderMarkdownWithMarkers,zo as retry,yt as scanParenAwareBreakpoints,qe as serializeFrontmatter,hn as shell,Zo as signal,ir as startServer,jo as truncateMiddle,es as updateSchema,Er as whichSync,Xo as withTimeout,Ko as work};