@easbot/utils 0.2.41 → 0.2.43

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,82 +1,82 @@
1
- import {c as c$1}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,i}from'./chunks/chunk-V6YNYGNC.mjs';import se from'fs/promises';import je,{z}from'zod';import {randomBytes,createHash}from'crypto';import ge,{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 n=e.length-1;n>=0;n-=1){let r=e[n];if(r!==void 0&&t(r,n,e))return r}}k();var tt;(n=>{function e(r,o,s){let a=0,i=r.length-1;for(;a<=i;){let c=Math.floor((a+i)/2),p=r[c];if(p===void 0)break;let l=s(p);if(l===o)return {found:true,index:c};l<o?a=c+1:i=c-1;}return {found:false,index:a}}n.search=e;function t(r,o,s){let a=s(o),i=0,c=r.length;for(;i<c;){let p=Math.floor((i+c)/2),l=r[p];if(l===void 0)break;s(l)<a?i=p+1:c=p;}return r.splice(i,0,o),r}n.insert=t;})(tt||(tt={}));k();var nt;(s=>{function e(a){let i=new TextEncoder().encode(a),c=Array.from(i,p=>String.fromCharCode(p)).join("");return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}s.base64Encode=e;function t(a){let i=atob(a.replace(/-/g,"+").replace(/_/g,"/")),c=Uint8Array.from(i,p=>p.charCodeAt(0));return new TextDecoder().decode(c)}s.base64Decode=t;async function n(a,i="SHA-256"){let p=new TextEncoder().encode(a),l=await crypto.subtle.digest(i,p);return Array.from(new Uint8Array(l)).map(k=>k.toString(16).padStart(2,"0")).join("")}s.hash=n;function r(a){if(!a)return;let i=2166136261;for(let c=0;c<a.length;c++)i^=a.charCodeAt(c),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 c=4096,l=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-c].map(d=>{let g=Math.max(0,Math.min(a.length-c,d-Math.floor(c/2)));return r(a.slice(g,g+c))??""}).join(":");return `${a.length}:${l}`}s.sampledChecksum=o;})(nt||(nt={}));k();k();var Se;(d=>{let e={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",command:"cmd",task:"task",heartbeat:"hb",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(g){return je.string().startsWith(e[g])}d.schema=t;let n=26,r=0,o=0;function s(g,k){return i(g,false,k)}d.ascending=s;function a(g,k){return i(g,true,k)}d.descending=a;function i(g,k,C){if(!C)return p(g,k);if(!C.startsWith(e[g]))throw new Error(`ID ${C} does not start with ${e[g]}`);return C}function c(g){let k="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",C="",z=randomBytes(g);for(let q=0;q<g;q++){let U=z[q];U!==void 0&&(C+=k[U%62]);}return C}function p(g,k,C){let z=C??Date.now();z!==r&&(r=z,o=0),o++;let q=BigInt(z)*BigInt(4096)+BigInt(o);q=k?~q:q;let U=Buffer.alloc(6);for(let D=0;D<6;D++)U[D]=Number(q>>BigInt(40-8*D)&BigInt(255));return e[g]+"_"+U.toString("hex")+c(n-12)}d.create=p;function l(g){let k=g.split("_")[0];if(!k)return 0;let C=g.slice(k.length+1,k.length+13),z=BigInt("0x"+C);return Number(z/BigInt(4096))}d.timestamp=l;})(Se||(Se={}));var rt;(s=>{s.DEFAULT_MAX_CHARS=4e3,s.DIRECTION="head";function n(a,i,c){return c?`[Content truncated. Source: ${c}
2
- Full ${i} saved to: ${a}
3
- Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${i} saved to: ${a}
4
- Use Read tool with offset/limit parameters to view specific sections.]`}async function r(a,i={}){let c=i.maxChars??4e3,p=i.direction??s.DIRECTION,l=i.label??"content",d=i.sourcePath,g=c$1.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),k=i.dir??g;if(a.length<=c)return {content:a,truncated:false};let C=Se.ascending("context"),z=c$1.join(k,C);await se.mkdir(k,{recursive:true}).catch(()=>{}),await se.writeFile(z,a,"utf-8");let q=a.length-c,U;p==="head"?U=a.slice(0,c):U=a.slice(-c);let D=n(z,l,d),ae=`${q} characters truncated`;return {content:p==="head"?`${U}
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 ze,{z}from'zod';import {randomBytes,createHash}from'crypto';import be,{dirname,join}from'path';import Ne,{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 Dn 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 rt;(n=>{function e(r,o,s){let a=0,i=r.length-1;for(;a<=i;){let c=Math.floor((a+i)/2),p=r[c];if(p===void 0)break;let l=s(p);if(l===o)return {found:true,index:c};l<o?a=c+1:i=c-1;}return {found:false,index:a}}n.search=e;function t(r,o,s){let a=s(o),i=0,c=r.length;for(;i<c;){let p=Math.floor((i+c)/2),l=r[p];if(l===void 0)break;s(l)<a?i=p+1:c=p;}return r.splice(i,0,o),r}n.insert=t;})(rt||(rt={}));k();var ot;(s=>{function e(a){let i=new TextEncoder().encode(a),c=Array.from(i,p=>String.fromCharCode(p)).join("");return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}s.base64Encode=e;function t(a){let i=atob(a.replace(/-/g,"+").replace(/_/g,"/")),c=Uint8Array.from(i,p=>p.charCodeAt(0));return new TextDecoder().decode(c)}s.base64Decode=t;async function n(a,i="SHA-256"){let p=new TextEncoder().encode(a),l=await crypto.subtle.digest(i,p);return Array.from(new Uint8Array(l)).map(k=>k.toString(16).padStart(2,"0")).join("")}s.hash=n;function r(a){if(!a)return;let i=2166136261;for(let c=0;c<a.length;c++)i^=a.charCodeAt(c),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 c=4096,l=[0,Math.floor(a.length*.25),Math.floor(a.length*.5),Math.floor(a.length*.75),a.length-c].map(u=>{let g=Math.max(0,Math.min(a.length-c,u-Math.floor(c/2)));return r(a.slice(g,g+c))??""}).join(":");return `${a.length}:${l}`}s.sampledChecksum=o;})(ot||(ot={}));k();k();var ae;(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",agent:"ag",subagent:"sub",hook:"hok",compaction:"cmp",context:"ctx"};function t(g){return ze.string().startsWith(e[g])}u.schema=t;let n=26,r=0,o=0;function s(g,k){return i(g,false,k)}u.ascending=s;function a(g,k){return i(g,true,k)}u.descending=a;function i(g,k,C){if(!C)return p(g,k);if(!C.startsWith(e[g]))throw new Error(`ID ${C} does not start with ${e[g]}`);return C}function c(g){let k="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",C="",W=randomBytes(g);for(let q=0;q<g;q++){let Y=W[q];Y!==void 0&&(C+=k[Y%62]);}return C}function p(g,k,C){let W=C??Date.now();W!==r&&(r=W,o=0),o++;let q=BigInt(W)*BigInt(4096)+BigInt(o);q=k?~q:q;let Y=Buffer.alloc(6);for(let V=0;V<6;V++)Y[V]=Number(q>>BigInt(40-8*V)&BigInt(255));return e[g]+"_"+Y.toString("hex")+c(n-12)}u.create=p;function l(g){let k=g.split("_")[0];if(!k)return 0;let C=g.slice(k.length+1,k.length+13),W=BigInt("0x"+C);return Number(W/BigInt(4096))}u.timestamp=l;})(ae||(ae={}));var st;(p=>{p.DEFAULT_MAX_CHARS=4e3,p.DIRECTION="head",p.DIR=c.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),p.GLOB=c.join(p.DIR,"*");let o=10080*60*1e3;function s(l,u,g){return g?`[Content truncated. Source: ${g}
2
+ Full ${u} saved to: ${l}
3
+ Use Read tool with offset/limit parameters to view specific sections.]`:`[Content truncated. Full ${u} saved to: ${l}
4
+ Use Read tool with offset/limit parameters to view specific sections.]`}async function a(l,u={}){let g=u.maxChars??4e3,k=u.direction??p.DIRECTION,C=u.label??"content",W=u.sourcePath,q=c.join(process.env.EASBOT_DATA_PATH??`${process.cwd()}/data`,"context-output"),Y=u.dir??q;if(l.length<=g)return {content:l,truncated:false};let V=ae.ascending("context"),J=c.join(Y,V);await se.mkdir(Y,{recursive:true}).catch(()=>{}),await se.writeFile(J,l,"utf-8");let fe=l.length-g,ie;k==="head"?ie=l.slice(0,g):ie=l.slice(-g);let pe=s(J,C,W),Te=`${fe} characters truncated`;return {content:k==="head"?`${ie}
5
5
 
6
- ...${ae}...
6
+ ...${Te}...
7
7
 
8
- ${D}`:`...${ae}...
8
+ ${pe}`:`...${Te}...
9
9
 
10
- ${D}
10
+ ${pe}
11
11
 
12
- ${U}`,truncated:true,outputPath:z,originalLength:a.length,removedLength:q,label:l}}s.truncate=r;function o(a){return a.truncated?n(a.outputPath,a.label):""}s.formatHint=o;})(rt||(rt={}));k();k();function ot(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")}`,c=n.getFullYear(),p=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),d=String(n.getHours()).padStart(2,"0"),g=String(n.getMinutes()).padStart(2,"0"),k=String(n.getSeconds()).padStart(2,"0"),C=`${c}-${p}-${l}T${d}:${g}:${k}`;if(t){let z=String(n.getMilliseconds()).padStart(3,"0");C+=`.${z}`;}return C+=i,C}function st(e){return ot(e,false)}function Yt(){return Date.now()}function Xn(e=true){return ot(Yt(),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,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 tr(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 it;(i=>{let e="New session - ",t="Child session - ";i.parentTitlePrefix=e,i.childTitlePrefix=t;function o(c=false){return (c?t:e)+st(new Date)}i.createDefault=o;function s(c){return new RegExp(`^(${e}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(c)}i.isDefault=s;function a(c){let p=c.match(/^(.+) \(fork #(\d+)\)$/);if(p){let l=p[1]??"",d=parseInt(p[2]??"0",10);return `${l} (fork #${d+1})`}return `${c} (fork #1)`}i.getForked=a;})(it||(it={}));k();k();function Vt(e){let t,n=false,r=()=>(n||(t=e(),n=true),t);return r.reset=()=>{n=false,t=void 0;},r}var $e=Vt;function Gt(e){let t,n=()=>(t||(t=e()),t);return n.reset=()=>{t=void 0;},n}var nr=Gt,fe;(n=>(n.lazy=Vt,n.lazyAsync=Gt))(fe||(fe={}));k();k();k();var re=a.create({service:"server"});function ie(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)=>(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?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)=>re.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||[],c=a.method.toUpperCase();a.validation?r.on(c,a.path,zValidator("json",a.validation),...i,a.handler):r.on(c,a.path,...i,a.handler);}e.rpc&&r.post("/rpc/:method",async a=>{let i=a.req.param("method"),c=e.rpc?.[i];if(!c)return a.json({error:"RPC method not found"},404);try{let p=await a.req.json(),l=await c(p,a);return a.json({result:l})}catch(p){return re.error("RPC error",{method:i,error:p.message}),a.json({error:"RPC execution failed",message:p.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,c)=>{a&&o.closeAllConnections?.(),o.close(p=>{p?(re.error("Error closing server",{error:p.message}),c(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:n}),o=serve({fetch:r.fetch,port:t,hostname:n}),re.debug("createServer: serve() returned, server created"),re.info(`Server running on http://${n}:${t}`),s}function at(e){return ie({rpc:e,port:3e3})}function ir(e,t=3e3,n="0.0.0.0"){return ie({fetch:e,port:t,hostname:n})}function ct(e,t={}){return ie({...t,routes:e})}function lt(e,t={}){return ie({...t,websockets:e})}function ut(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 ie({...t,routes:n,streaming:true})}k();var ce=a.create({service:"build-api"});async function cn(){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 Le(){let e=await cn();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 ur(e){if(e!==void 0)return typeof e=="boolean"?{target:void 0}:typeof e=="string"?{target:e}:e}function ln(e){let t=ur(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: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&&(n.outfile=t.outfile,delete n.outdir),e.target&&(n.target=fr(e.target)),e.minify===true&&(n.minifyWhitespace=true,n.minifyIdentifiers=true,n.minifySyntax=true),pr(n)}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 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(c=>c.path===s||c.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 ft(e){ce.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'),n=Date.now();try{let r=ln(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 xr={build:ft},un=xr;k();k();function oe(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=oe(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 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 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 Sr(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=oe(e);if(n.length===0)throw new Error("Empty shell command");let r=async()=>{let s=await _.run(n,{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}
13
- ${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 c of i)c.trim()&&(yield c);},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 ke=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(c=>c.trim()),i=[];for(let c of a){let p=`${r}${c}${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 le({...this.options,env:t})}cwd(t){return le({...this.options,cwd:t})}nothrow(){return le({...this.options,nothrow:true})}throws(t){return le({...this.options,nothrow:!t})}};function le(e={}){let t=new ke(e);return new Proxy(t,{apply(n,r,o){return t.call(o[0],...o.slice(1))}})}var hn=le();function bn(e){return e.replace(/\\/g,"/")}function yn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var Q=new Map,_;($=>{let e=a.create({service:"pkg"});async function t(w){let m=w?[w]:["npm","pnpm","bun"];for(let f of m){let u=await $.which(f);if(u)return {name:f,path:u}}}$.packageManager=t;async function n(w,m){if(!w)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",u=process.env.EASBOT_BIN_PATH,y=u?f+ge.delimiter+u:f,x=yn(y),h=`${w}:${x}`;if(Q.has(h))return Q.get(h);let M=process.platform==="win32"?"where":"which";try{let{spawn:T}=await import('child_process');return new Promise(E=>{let F=T(M,[w],{env:{...process.env,PATH:y},stdio:["pipe","pipe","ignore"],windowsHide:!0}),W="",L="";F.stdout?.on("data",H=>{W+=H.toString();}),F.stderr?.on("data",H=>{L+=H.toString();}),F.on("close",H=>{if(H===0&&W.trim()){let A=W.trim().split(`
14
- `),B=A.length>0?A[0]?.trim():null;if(B){Q.set(h,B),E(B);return}}Q.set(h,null),E(null);}),setTimeout(()=>{F.kill(),Q.set(h,null),E(null);},5e3);})}catch{return Q.set(h,null),null}}$.which=n;function r(w,m){if(!w)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",u=process.env.EASBOT_BIN_PATH,y=u?f+ge.delimiter+u:f,x=yn(y),h=`${w}:${x}`;if(Q.has(h))return Q.get(h);let M=process.platform==="win32"?"where":"which";try{let T=execSync(`${M} ${w}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:y},timeout:5e3,windowsHide:!0});if(T.trim()){let E=T.trim().split(`
15
- `),F=E.length>0?E[0]?.trim():null;if(F)return Q.set(h,F),F}}catch{}return Q.set(h,null),null}$.whichSync=r;function o(){Q.clear();}$.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(w,m,f){try{let u=[];if(f?.extraPaths)for(let y of f.extraPaths){let x=ge.join(y,"node_modules");u.push(x);}return m&&u.push(m),u.length>0?s.resolve(w,{paths:u}):s.resolve(w)}catch(u){throw new Error(`Cannot resolve module "${w}"${m?` from "${m}"`:""}: ${u instanceof Error?u.message:String(u)}`)}}$.resolve=a$2;function i(w){return {get name(){return ge.basename(w)},async exists(){try{return await se.access(w),!0}catch{return false}},async getSize(){try{return (await se.stat(w)).size}catch{return}},async text(){return await se.readFile(w,"utf-8")},textSync(){return _e.readFileSync(w,"utf-8")},jsonSync(){let m=_e.readFileSync(w,"utf-8");return JSON.parse(m)},async bytes(){e.debug("[PKG.file.bytes] reading file:",{filePath:w});let m=await se.readFile(w);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(w);return m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)},get type(){let m=ge.extname(w).toLowerCase();return {".txt":"text/plain",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".xml":"application/xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".pdf":"application/pdf",".zip":"application/zip",".wav":"audio/wav",".mp3":"audio/mpeg",".mp4":"video/mp4",".webm":"video/webm"}[m]||"application/octet-stream"},async write(m){let f;if(m instanceof Response){let u=await m.arrayBuffer();f=new Uint8Array(u);}else f=m;await se.writeFile(w,f);},async json(){let m=await se.readFile(w,"utf-8");return JSON.parse(m)},async stat(){return await se.stat(w)}}}$.file=i;async function c$1(w,m,f){let u;if(m instanceof Response){let y=await m.arrayBuffer();u=new Uint8Array(y);}else u=m;await se.writeFile(w,u,f?{mode:f.mode}:void 0);}$.write=c$1;function p(w,m,f){_e.writeFileSync(w,m,f?{mode:f.mode}:void 0);}$.writeSync=p;function l(w,m="utf-8"){return _e.readFileSync(w,m)}$.readSync=l;function d(w,m){let f,u;if(typeof w=="object"&&"cmd"in w){let T=w;f=T.cmd,u={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(w)?w:[w],u=m||{};if(!f||f.length===0||!f[0])throw new Error("Spawn command cannot be empty");let y=[u.stdin==="inherit"?"inherit":u.stdin==="null"?"ignore":"pipe",u.stdout==="inherit"?"inherit":u.stdout==="null"?"ignore":"pipe",u.stderr==="inherit"?"inherit":u.stderr==="null"?"ignore":"pipe"],x={cwd:u.cwd,env:u.env?{...process.env,...u.env}:process.env,stdio:y,timeout:u.timeout};u.shell!==void 0&&(x.shell=u.shell),process.platform==="win32"&&(x.windowsHide=u.windowsHide??true);let h=spawn(f[0],f.slice(1),x),S;if(u.signal){S=()=>{h.kill();},u.signal.addEventListener("abort",S,{once:true});let T=()=>{S&&(u.signal?.removeEventListener("abort",S),S=void 0);};h.on("close",T),h.on("error",T);}let M=new Promise((T,E)=>{let F=false,W=()=>{F||(F=true,h.removeAllListeners());};if(h.on("close",L=>{W(),T(L??0);}),h.on("error",L=>{W(),E(L);}),u.timeout!==false){let L=u.timeout||3e5;setTimeout(()=>{if(!F){e.debug(`Process timeout after ${L}ms, killing process`,{cmd:f.join(" ")}),W();try{h.kill("SIGKILL");}catch{}E(new Error(`Process timeout after ${L}ms: ${f.join(" ")}`));}},L);}});return {stdout:h.stdout,stderr:h.stderr,stdin:h.stdin,pid:h.pid,exited:M,exitCode:h.exitCode,kill:T=>h.kill(T)}}$.spawn=d;async function g(w,m){let f=m?.stdin??"null",u=m?.stdout??"pipe",y=m?.stderr??"pipe",x=d(w,{cwd:m?.cwd,env:m?.env,stdin:f,stdout:u,stderr:y,windowsHide:m?.windowsHide,shell:m?.shell}),h=[],S=[];u==="pipe"&&x.stdout?.on("data",T=>{h.push(T);}),y==="pipe"&&x.stderr?.on("data",T=>{S.push(T);});let M=m?.timeout&&m.timeout>0?setTimeout(()=>{try{x.kill("SIGKILL");}catch{}x.stdout?.destroy(),x.stderr?.destroy(),x.stdin?.end();},m.timeout):void 0;try{let T=await x.exited;return clearTimeout(M),u==="pipe"&&x.stdout?.destroy(),y==="pipe"&&x.stderr?.destroy(),f==="pipe"&&x.stdin?.end(),{code:T,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(S).toString("utf-8")}}catch(T){return clearTimeout(M),u==="pipe"&&x.stdout?.destroy(),y==="pipe"&&x.stderr?.destroy(),f==="pipe"&&x.stdin?.end(),{code:-1,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(S).toString("utf-8")||(T instanceof Error?T.message:String(T))}}}$.run=g;async function k(w,m={},f={}){let u=d(w,{cwd:m.cwd,env:m.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),y="",x="";u.stdout?.on("data",S=>{let M=S.toString("utf-8");y+=M,f.onStdout?.(M);}),u.stderr?.on("data",S=>{let M=S.toString("utf-8");x+=M,f.onStderr?.(M);});let h=m.timeout&&m.timeout>0?setTimeout(()=>{try{u.kill("SIGKILL");}catch{}u.stdout?.destroy(),u.stderr?.destroy();},m.timeout):void 0;try{let S=await u.exited;return clearTimeout(h),f.onExit?.(S),{code:S,stdout:y,stderr:x}}catch(S){clearTimeout(h);let M=S instanceof Error?S.message:String(S);return {code:-1,stdout:y,stderr:x||M}}}$.runWithStream=k;async function C(w){if(typeof w.pipeThrough=="function")try{let y=new TextDecoderStream("utf-8"),h=w.pipeThrough(y).getReader(),S="";try{for(;;){let{done:M,value:T}=await h.read();if(M)break;S+=T;}return S}finally{h.releaseLock();}}catch{}let m=w.getReader(),f=new TextDecoder("utf-8"),u=[];try{for(;;){let{done:y,value:x}=await m.read();if(y)break;u.push(f.decode(x,{stream:!0}));}return u.push(f.decode()),u.join("")}finally{m.releaseLock();}}$.readableStreamToText=C;async function z(w){let m=[];return new Promise((f,u)=>{w.on("data",y=>{typeof y=="string"?m.push(Buffer.from(y)):m.push(y);}),w.on("end",()=>{try{let x=Buffer.concat(m).toString("utf-8");f(x);}catch(y){u(y);}}),w.on("error",y=>{u(y);});})}$.nodeReadableStreamToText=z;function q(w,m=0){let M=new TextEncoder().encode(w),T=M.length,E,F=0;if(T>=16){let A=T-16,B=m+2654435761+2246822519|0,ee=m+2246822519|0,K=m+0|0,X=m-2654435761|0;for(;F<=A;)B=W(B,H(M,F)),F+=4,ee=W(ee,H(M,F)),F+=4,K=W(K,H(M,F)),F+=4,X=W(X,H(M,F)),F+=4;E=L(B,1)+L(ee,7)+L(K,12)+L(X,18)|0;}else E=m+374761393|0;for(E=E+T|0;F+4<=T;)E=E+H(M,F)*3266489917|0,E=L(E,17)*668265263|0,F+=4;for(;F<T;)E=E+M[F]*374761393|0,E=L(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 W(A,B){return A=A+B*2246822519|0,A=L(A,13),A=A*2654435761|0,A}function L(A,B){return A<<B|A>>>32-B|0}function H(A,B){return (A[B]|A[B+1]<<8|A[B+2]<<16|A[B+3]<<24)>>>0}}$.xxHash32=q;function U(w){let m=0;for(let f of w){let u=f.codePointAt(0)||f.charCodeAt(0);u<127?m+=1:u>=4352&&u<=4447||u>=9001&&u<=9002||u>=11904&&u<=42191&&u!==12351||u>=44032&&u<=55203||u>=63744&&u<=64255||u>=65040&&u<=65049||u>=65072&&u<=65135||u>=65280&&u<=65376||u>=65504&&u<=65510?m+=2:m+=1;}return m}$.stringWidth=U;class D{constructor(m){c(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 u of f)yield bn(u);}*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 u of f)yield bn(u);}match(m){return minimatch(m,this.pattern)}}$.Glob=D,$.stdin=process.stdin,$.stdout=process.stdout,$.stderr=process.stderr,$.sleep=w=>new Promise(m=>setTimeout(m,w)),$.color=(w,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"})[w.toLowerCase()]||null,$.hash={xxHash32:$.xxHash32},$.build=un.build,$.server=ie,$.nodeWebSocket=createNodeWebSocket,$.restServer=ct,$.rpcServer=at,$.streamingServer=ut,$.webSocketServer=lt;})(_||(_={}));var Mr=_.readableStreamToText;_.nodeReadableStreamToText;_.which;var Er=_.whichSync;_.spawn;_.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,u){let y=f.pid;if(!(!y||u?.exited?.())){if(process.platform==="win32"){await new Promise(x=>{let h=spawn("taskkill",["/pid",String(y),"/f","/t"],{stdio:"ignore",windowsHide:true});h.once("exit",()=>x()),h.once("error",()=>x());});return}try{process.kill(-y,"SIGTERM"),await setTimeout$1(wn),u?.exited?.()||process.kill(-y,"SIGKILL");}catch{f.kill("SIGTERM"),await setTimeout$1(wn),u?.exited?.()||f.kill("SIGKILL");}}}m.killTree=t;function n(f){if(process.platform!=="win32"||!f.includes("/")&&!f.includes("\\")&&!f.includes(":"))return f;let u=c$1.normalize(f);return C(u)==="bash"&&g()||u}function r(f){return Sn[C(f)]}function o(f){return r(f)?.deny!==true}function s(f){return c$1.isAbsolute(f)}function a$1(f){let u=n(f);if(s(u))return c$1.stat(u)?.isFile()?u:void 0;let y=_.whichSync(u);return y?c$1.normalize(y):void 0}function i(){return Array.from(new Set([_.whichSync("pwsh"),_.whichSync("powershell"),g(),process.env.COMSPEC||"cmd.exe"].filter(f=>!!f).map(n)))}async function c$2(){let f=await c$1.readText("/etc/shells").catch(()=>"");return f?Array.from(new Set(f.split(`
16
- `).filter(u=>u.trim()&&!u.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function p(f,u){if(f&&(!u?.acceptable||o(f))){let y=a$1(f);if(y)return y}return process.platform==="win32"?i()[0]:k()}m.defaultPreferred=$e(()=>p(process.env.SHELL)),m.defaultAcceptable=$e(()=>p(process.env.SHELL,{acceptable:true}));function g(){if(process.platform!=="win32")return;if(process.env.EASBOT_GIT_BASH_PATH)return c$1.normalize(process.env.EASBOT_GIT_BASH_PATH);let f=_.whichSync("git");if(!f)return;let u=c$1.normalize(ge.join(f,"..","..","bin","bash.exe"));if((c$1.stat(u)?.size??0)>0)return u}m.gitbash=g;function k(){if(process.platform==="win32"){let u=g();return u||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let f=_.whichSync("bash");return f?c$1.normalize(f):"/bin/sh"}function C(f){return ge.posix.basename(c$1.toUnixPath(f)).toLowerCase()}m.name=C;function z(f){return r(f)?.login===true}m.login=z;function q(f){return r(f)?.posix===true}m.posix=q;function U(f){return r(f)?.ps===true}m.ps=U;function D(f){let u=n(f),y=C(u);return {path:u,name:y,acceptable:o(y)}}function ae(f,u,y){let x=C(f),h=oe(u),S=pe(h[0]??u,h.slice(1));return x==="nu"||x==="fish"?["-c",S]:x==="zsh"?["-l","-c",`
12
+ ${ie}`,truncated:true,outputPath:J,originalLength:l.length,removedLength:fe,label:C}}p.truncate=a;function i(l){return l.truncated?s(l.outputPath,l.label):""}p.formatHint=i;async function c$1(){let l=ae.timestamp(ae.create("context",false,Date.now()-o)),g=(await se.readdir(p.DIR).catch(()=>[])).filter(k=>k.startsWith("context_"));for(let k of g)ae.timestamp(k)>=l||await se.unlink(c.join(p.DIR,k)).catch(()=>{});}p.cleanup=c$1;})(st||(st={}));k();k();function it(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")}`,c=n.getFullYear(),p=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),u=String(n.getHours()).padStart(2,"0"),g=String(n.getMinutes()).padStart(2,"0"),k=String(n.getSeconds()).padStart(2,"0"),C=`${c}-${p}-${l}T${u}:${g}:${k}`;if(t){let W=String(n.getMilliseconds()).padStart(3,"0");C+=`.${W}`;}return C+=i,C}function at(e){return it(e,false)}function Vt(){return Date.now()}function Qn(e=true){return it(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 ct;(i=>{let e="New session - ",t="Child session - ";i.parentTitlePrefix=e,i.childTitlePrefix=t;function o(c=false){return (c?t:e)+at(new Date)}i.createDefault=o;function s(c){return new RegExp(`^(${e}|${t})\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$`).test(c)}i.isDefault=s;function a(c){let p=c.match(/^(.+) \(fork #(\d+)\)$/);if(p){let l=p[1]??"",u=parseInt(p[2]??"0",10);return `${l} (fork #${u+1})`}return `${c} (fork #1)`}i.getForked=a;})(ct||(ct={}));k();k();function Gt(e){let t,n=false,r=()=>(n||(t=e(),n=true),t);return r.reset=()=>{n=false,t=void 0;},r}var _e=Gt;function Jt(e){let t,n=()=>(t||(t=e()),t);return n.reset=()=>{t=void 0;},n}var rr=Jt,me;(n=>(n.lazy=Gt,n.lazyAsync=Jt))(me||(me={}));k();k();k();var re=a.create({service:"server"});function ce(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)=>(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?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)=>re.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||[],c=a.method.toUpperCase();a.validation?r.on(c,a.path,zValidator("json",a.validation),...i,a.handler):r.on(c,a.path,...i,a.handler);}e.rpc&&r.post("/rpc/:method",async a=>{let i=a.req.param("method"),c=e.rpc?.[i];if(!c)return a.json({error:"RPC method not found"},404);try{let p=await a.req.json(),l=await c(p,a);return a.json({result:l})}catch(p){return re.error("RPC error",{method:i,error:p.message}),a.json({error:"RPC execution failed",message:p.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,c)=>{a&&o.closeAllConnections?.(),o.close(p=>{p?(re.error("Error closing server",{error:p.message}),c(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:n}),o=serve({fetch:r.fetch,port:t,hostname:n}),re.debug("createServer: serve() returned, server created"),re.info(`Server running on http://${n}:${t}`),s}function lt(e){return ce({rpc:e,port:3e3})}function ar(e,t=3e3,n="0.0.0.0"){return ce({fetch:e,port:t,hostname:n})}function ut(e,t={}){return ce({...t,routes:e})}function dt(e,t={}){return ce({...t,websockets:e})}function ft(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 ce({...t,routes:n,streaming:true})}k();var le=a.create({service:"build-api"});async function ln(){try{return {available:!0,version:(await import('./chunks/main-ZMRSNK7G.mjs')).version||"unknown"}}catch(e){return le.warn("esbuild not available",{error:e.message}),{available:false}}}async function De(){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"&&le.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 un(e){let t=dr(e.compile);t&&le.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 je(e){if(e!==void 0)return e.replace(/\\/g,"/")}function on(e,t,n){let r=[];if(e.outputFiles)for(let s of e.outputFiles)r.push({path:je(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(c=>c.path===s||c.path===je(s))||r.push({path:je(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 mt(e){le.info("Build started",{entrypoints:e.entrypoints,target:e.target,format:e.format,compile:typeof e.compile}),await De();let t=await import('./chunks/main-ZMRSNK7G.mjs'),n=Date.now();try{let r=un(e);le.debug("esbuild options",r);let o=await t.build(r),s=Date.now();return le.info("Build completed",{duration:s-n,outputs:(o?.outputFiles?.length??0)>0||Object.keys(o.metafile?.outputs||{}).length>0}),on(o,n,s)}catch(r){let o=Date.now(),s=r.message;return le.error("Build failed",{error:s,duration:o-n}),r&&typeof r=="object"&&"errors"in r?on(r):{outputs:[],success:false,logs:[{level:"error",message:s}],metafile:void 0}}}var wr={build:mt},dn=wr;k();k();function oe(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 fn(e){return /[|&;<>()$`!#]/.test(e)}function pn(e){let t=oe(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 gt(e,t=process.platform==="win32"?"windows":"unix"){return t==="windows"?e.includes(" ")||e.includes("&")||e.includes("|")||e.includes("<>")||e.includes("^")||e.includes('"')||e.includes("%")?`"${e.replace(/%/g,"%%").replace(/"/g,'^"')}"`:e:e.includes(" ")||e.includes("'")||e.includes('"')||e.includes("$")||e.includes("`")||e.includes("\\")||e.includes("!")||e.includes("#")||e.includes("&")||e.includes("*")||e.includes("?")||e.includes("|")||e.includes("<")||e.includes(">")||e.includes("(")||e.includes(")")||e.includes(";")?`'${e.replace(/'/g,"'\\''")}'`:e}var Sr=new Set(["&&","||","|",";","&",">","<",">>","<<","2>","2>>","1>","1>>","2>&1","2>&2","1>&1","1>&2",">&","<&",">&1","<&1",">&2","<&2"]);function mn(e,t=process.platform==="win32"?"windows":"unix"){return Sr.has(e)?e:gt(e,t)}function gn(){return process.platform==="win32"?"windows":"unix"}function ge(e,t,n=process.platform==="win32"?"windows":"unix"){let r=t.map(o=>mn(o,n));return [e,...r].join(" ")}function hn(e){if(e==null)return "";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(t=>hn(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 he(e,t={}){let n=oe(e);if(n.length===0)throw new Error("Empty shell command");let r=async()=>{let s=await _.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}
13
+ ${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 he(e,{...t,cwd:s})},o.env=function(s){return he(e,{...t,env:s})},o.quiet=function(){return he(e,{...t,quiet:true})},o.lines=async function*(){let i=(await r()).text().split(/\r?\n/);for(let c of i)c.trim()&&(yield c);},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 he(e,{...t,nothrow:true})},o.throws=function(s){return he(e,{...t,nothrow:!s})},o}var Pe=class{constructor(t={}){c$1(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+=hn(n[o]));return he(r,this.options)}braces(t){let n=t.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!n)return [t];let[,r="",o="",s=""]=n,a=o.split(",").map(c=>c.trim()),i=[];for(let c of a){let p=`${r}${c}${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 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 Pe(e);return new Proxy(t,{apply(n,r,o){return t.call(o[0],...o.slice(1))}})}var bn=ue();function yn(e){return e.replace(/\\/g,"/")}function xn(e){return createHash("md5").update(e).digest("hex").slice(0,8)}var Q=new Map,_;(j=>{let e=a.create({service:"pkg"});async function t(S){let m=S?[S]:["npm","pnpm","bun"];for(let f of m){let d=await j.which(f);if(d)return {name:f,path:d}}}j.packageManager=t;async function n(S,m){if(!S)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",d=process.env.EASBOT_BIN_PATH,y=d?f+be.delimiter+d:f,x=xn(y),h=`${S}:${x}`;if(Q.has(h))return Q.get(h);let R=process.platform==="win32"?"where":"which";try{let{spawn:v}=await import('child_process');return new Promise(T=>{let I=v(R,[S],{env:{...process.env,PATH:y},stdio:["pipe","pipe","ignore"],windowsHide:!0}),z="",B="";I.stdout?.on("data",N=>{z+=N.toString();}),I.stderr?.on("data",N=>{B+=N.toString();}),I.on("close",N=>{if(N===0&&z.trim()){let A=z.trim().split(`
14
+ `),$=A.length>0?A[0]?.trim():null;if($){Q.set(h,$),T($);return}}Q.set(h,null),T(null);}),setTimeout(()=>{I.kill(),Q.set(h,null),T(null);},5e3);})}catch{return Q.set(h,null),null}}j.which=n;function r(S,m){if(!S)return process.execPath;let f=m?.PATH||process.env.PATH||process.env.Path||"",d=process.env.EASBOT_BIN_PATH,y=d?f+be.delimiter+d:f,x=xn(y),h=`${S}:${x}`;if(Q.has(h))return Q.get(h);let R=process.platform==="win32"?"where":"which";try{let v=execSync(`${R} ${S}`,{encoding:"utf-8",stdio:["pipe","pipe","ignore"],env:{...process.env,PATH:y},timeout:5e3,windowsHide:!0});if(v.trim()){let T=v.trim().split(`
15
+ `),I=T.length>0?T[0]?.trim():null;if(I)return Q.set(h,I),I}}catch{}return Q.set(h,null),null}j.whichSync=r;function o(){Q.clear();}j.clearWhichCache=o;let s=createRequire(import.meta.url);async function a$2(S,m,f){try{let d=[];if(f?.extraPaths)for(let y of f.extraPaths){let x=be.join(y,"node_modules");d.push(x);}return m&&d.push(m),d.length>0?s.resolve(S,{paths:d}):s.resolve(S)}catch(d){throw new Error(`Cannot resolve module "${S}"${m?` from "${m}"`:""}: ${d instanceof Error?d.message:String(d)}`)}}j.resolve=a$2;function i(S){return {get name(){return be.basename(S)},async exists(){try{return await se.access(S),!0}catch{return false}},async getSize(){try{return (await se.stat(S)).size}catch{return}},async text(){return await se.readFile(S,"utf-8")},textSync(){return Ne.readFileSync(S,"utf-8")},jsonSync(){let m=Ne.readFileSync(S,"utf-8");return JSON.parse(m)},async bytes(){e.debug("[PKG.file.bytes] reading file:",{filePath:S});let m=await se.readFile(S);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(S);return m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)},get type(){let m=be.extname(S).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(S,f);},async json(){let m=await se.readFile(S,"utf-8");return JSON.parse(m)},async stat(){return await se.stat(S)}}}j.file=i;async function c(S,m,f){let d;if(m instanceof Response){let y=await m.arrayBuffer();d=new Uint8Array(y);}else d=m;await se.writeFile(S,d,f?{mode:f.mode}:void 0);}j.write=c;function p(S,m,f){Ne.writeFileSync(S,m,f?{mode:f.mode}:void 0);}j.writeSync=p;function l(S,m="utf-8"){return Ne.readFileSync(S,m)}j.readSync=l;function u(S,m){let f,d;if(typeof S=="object"&&"cmd"in S){let v=S;f=v.cmd,d={cwd:v.cwd,env:v.env,stdout:v.stdout,stderr:v.stderr,stdin:v.stdin,signal:v.signal,windowsHide:v.windowsHide,shell:v.shell};}else f=Array.isArray(S)?S:[S],d=m||{};if(!f||f.length===0||!f[0])throw new Error("Spawn command cannot be empty");let y=[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"],x={cwd:d.cwd,env:d.env?{...process.env,...d.env}:process.env,stdio:y,timeout:d.timeout};d.shell!==void 0&&(x.shell=d.shell),process.platform==="win32"&&(x.windowsHide=d.windowsHide??true);let h=spawn(f[0],f.slice(1),x),w;if(d.signal){w=()=>{h.kill();},d.signal.addEventListener("abort",w,{once:true});let v=()=>{w&&(d.signal?.removeEventListener("abort",w),w=void 0);};h.on("close",v),h.on("error",v);}let R=new Promise((v,T)=>{let I=false,z=()=>{I||(I=true,h.removeAllListeners());};if(h.on("close",B=>{z(),v(B??0);}),h.on("error",B=>{z(),T(B);}),d.timeout!==false){let B=d.timeout||3e5;setTimeout(()=>{if(!I){e.debug(`Process timeout after ${B}ms, killing process`,{cmd:f.join(" ")}),z();try{h.kill("SIGKILL");}catch{}T(new Error(`Process timeout after ${B}ms: ${f.join(" ")}`));}},B);}});return {stdout:h.stdout,stderr:h.stderr,stdin:h.stdin,pid:h.pid,exited:R,exitCode:h.exitCode,kill:v=>h.kill(v)}}j.spawn=u;async function g(S,m){let f=m?.stdin??"null",d=m?.stdout??"pipe",y=m?.stderr??"pipe",x=u(S,{cwd:m?.cwd,env:m?.env,stdin:f,stdout:d,stderr:y,windowsHide:m?.windowsHide,shell:m?.shell}),h=[],w=[];d==="pipe"&&x.stdout?.on("data",v=>{h.push(v);}),y==="pipe"&&x.stderr?.on("data",v=>{w.push(v);});let R=m?.timeout&&m.timeout>0?setTimeout(()=>{try{x.kill("SIGKILL");}catch{}x.stdout?.destroy(),x.stderr?.destroy(),x.stdin?.end();},m.timeout):void 0;try{let v=await x.exited;return clearTimeout(R),d==="pipe"&&x.stdout?.destroy(),y==="pipe"&&x.stderr?.destroy(),f==="pipe"&&x.stdin?.end(),{code:v,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(w).toString("utf-8")}}catch(v){return clearTimeout(R),d==="pipe"&&x.stdout?.destroy(),y==="pipe"&&x.stderr?.destroy(),f==="pipe"&&x.stdin?.end(),{code:-1,stdout:Buffer.concat(h).toString("utf-8"),stderr:Buffer.concat(w).toString("utf-8")||(v instanceof Error?v.message:String(v))}}}j.run=g;async function k(S,m={},f={}){let d=u(S,{cwd:m.cwd,env:m.env,stdout:"pipe",stderr:"pipe",stdin:"null"}),y="",x="";d.stdout?.on("data",w=>{let R=w.toString("utf-8");y+=R,f.onStdout?.(R);}),d.stderr?.on("data",w=>{let R=w.toString("utf-8");x+=R,f.onStderr?.(R);});let h=m.timeout&&m.timeout>0?setTimeout(()=>{try{d.kill("SIGKILL");}catch{}d.stdout?.destroy(),d.stderr?.destroy();},m.timeout):void 0;try{let w=await d.exited;return clearTimeout(h),f.onExit?.(w),{code:w,stdout:y,stderr:x}}catch(w){clearTimeout(h);let R=w instanceof Error?w.message:String(w);return {code:-1,stdout:y,stderr:x||R}}}j.runWithStream=k;async function C(S){if(typeof S.pipeThrough=="function")try{let y=new TextDecoderStream("utf-8"),h=S.pipeThrough(y).getReader(),w="";try{for(;;){let{done:R,value:v}=await h.read();if(R)break;w+=v;}return w}finally{h.releaseLock();}}catch{}let m=S.getReader(),f=new TextDecoder("utf-8"),d=[];try{for(;;){let{done:y,value:x}=await m.read();if(y)break;d.push(f.decode(x,{stream:!0}));}return d.push(f.decode()),d.join("")}finally{m.releaseLock();}}j.readableStreamToText=C;async function W(S){let m=[];return new Promise((f,d)=>{S.on("data",y=>{typeof y=="string"?m.push(Buffer.from(y)):m.push(y);}),S.on("end",()=>{try{let x=Buffer.concat(m).toString("utf-8");f(x);}catch(y){d(y);}}),S.on("error",y=>{d(y);});})}j.nodeReadableStreamToText=W;function q(S,m=0){let R=new TextEncoder().encode(S),v=R.length,T,I=0;if(v>=16){let A=v-16,$=m+2654435761+2246822519|0,ee=m+2246822519|0,K=m+0|0,X=m-2654435761|0;for(;I<=A;)$=z($,N(R,I)),I+=4,ee=z(ee,N(R,I)),I+=4,K=z(K,N(R,I)),I+=4,X=z(X,N(R,I)),I+=4;T=B($,1)+B(ee,7)+B(K,12)+B(X,18)|0;}else T=m+374761393|0;for(T=T+v|0;I+4<=v;)T=T+N(R,I)*3266489917|0,T=B(T,17)*668265263|0,I+=4;for(;I<v;)T=T+R[I]*374761393|0,T=B(T,11)*2654435761|0,I++;return T^=T>>>15,T=T*2246822519|0,T^=T>>>13,T=T*3266489917|0,T^=T>>>16,T>>>0;function z(A,$){return A=A+$*2246822519|0,A=B(A,13),A=A*2654435761|0,A}function B(A,$){return A<<$|A>>>32-$|0}function N(A,$){return (A[$]|A[$+1]<<8|A[$+2]<<16|A[$+3]<<24)>>>0}}j.xxHash32=q;function Y(S){let m=0;for(let f of S){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}j.stringWidth=Y;class V{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 yn(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 yn(d);}match(m){return minimatch(m,this.pattern)}}j.Glob=V,j.stdin=process.stdin,j.stdout=process.stdout,j.stderr=process.stderr,j.sleep=S=>new Promise(m=>setTimeout(m,S)),j.color=(S,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"})[S.toLowerCase()]||null,j.hash={xxHash32:j.xxHash32},j.build=dn.build,j.server=ce,j.nodeWebSocket=createNodeWebSocket,j.restServer=ut,j.rpcServer=lt,j.streamingServer=ft,j.webSocketServer=dt;})(_||(_={}));var Er=_.readableStreamToText;_.nodeReadableStreamToText;_.which;var Cr=_.whichSync;_.spawn;_.run;var Sn=200,kn={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 y=f.pid;if(!(!y||d?.exited?.())){if(process.platform==="win32"){await new Promise(x=>{let h=spawn("taskkill",["/pid",String(y),"/f","/t"],{stdio:"ignore",windowsHide:true});h.once("exit",()=>x()),h.once("error",()=>x());});return}try{process.kill(-y,"SIGTERM"),await setTimeout$1(Sn),d?.exited?.()||process.kill(-y,"SIGKILL");}catch{f.kill("SIGTERM"),await setTimeout$1(Sn),d?.exited?.()||f.kill("SIGKILL");}}}m.killTree=t;function n(f){if(process.platform!=="win32"||!f.includes("/")&&!f.includes("\\")&&!f.includes(":"))return f;let d=c.normalize(f);return C(d)==="bash"&&g()||d}function r(f){return kn[C(f)]}function o(f){return r(f)?.deny!==true}function s(f){return c.isAbsolute(f)}function a$1(f){let d=n(f);if(s(d))return c.stat(d)?.isFile()?d:void 0;let y=_.whichSync(d);return y?c.normalize(y):void 0}function i(){return Array.from(new Set([_.whichSync("pwsh"),_.whichSync("powershell"),g(),process.env.COMSPEC||"cmd.exe"].filter(f=>!!f).map(n)))}async function c$2(){let f=await c.readText("/etc/shells").catch(()=>"");return f?Array.from(new Set(f.split(`
16
+ `).filter(d=>d.trim()&&!d.startsWith("#")))):["/bin/bash","/bin/zsh","/bin/sh"]}function p(f,d){if(f&&(!d?.acceptable||o(f))){let y=a$1(f);if(y)return y}return process.platform==="win32"?i()[0]:k()}m.defaultPreferred=_e(()=>p(process.env.SHELL)),m.defaultAcceptable=_e(()=>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=_.whichSync("git");if(!f)return;let d=c.normalize(be.join(f,"..","..","bin","bash.exe"));if((c.stat(d)?.size??0)>0)return d}m.gitbash=g;function k(){if(process.platform==="win32"){let d=g();return d||"/bin/sh"}if(process.platform==="darwin")return "/bin/zsh";let f=_.whichSync("bash");return f?c.normalize(f):"/bin/sh"}function C(f){return be.posix.basename(c.toUnixPath(f)).toLowerCase()}m.name=C;function W(f){return r(f)?.login===true}m.login=W;function q(f){return r(f)?.posix===true}m.posix=q;function Y(f){return r(f)?.ps===true}m.ps=Y;function V(f){let d=n(f),y=C(d);return {path:d,name:y,acceptable:o(y)}}function J(f,d,y){let x=C(f),h=oe(d),w=ge(h[0]??d,h.slice(1));return x==="nu"||x==="fish"?["-c",w]:x==="zsh"?["-l","-c",`
17
17
  [[ -f ~/.zshenv ]] && source ~/.zshenv >/dev/null 2>&1 || true
18
18
  [[ -f "\${ZDOTDIR:-$HOME}/.zshrc" ]] && source "\${ZDOTDIR:-$HOME}/.zshrc" >/dev/null 2>&1 || true
19
19
  cd -- "$1"
20
- ${S}
20
+ ${w}
21
21
  `,"easbot",y]:x==="bash"?["-l","-c",`${process.platform==="win32"?`cmd /c chcp 65001 >nul 2>&1 || true
22
22
  `:""}shopt -s expand_aliases
23
23
  [[ -f ~/.bashrc ]] && source ~/.bashrc >/dev/null 2>&1 || true
24
24
  cd -- "$1"
25
- ${S}
26
- `,"easbot",y]:/^cmd(\.exe)?$/i.test(x)?["/c",`chcp 65001 >nul 2>&1 && ${S}`]:U(x)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${S}`]:["-c",S]}m.args=ae;function Ie(f){return f?p(f):(0, m.defaultPreferred)()}m.preferred=Ie;function Ze(f){return f?p(f,{acceptable:true}):(0, m.defaultAcceptable)()}m.acceptable=Ze;function Dt(){m.defaultPreferred.reset(),m.defaultAcceptable.reset();}m.reset=Dt;async function zt(){return (process.platform==="win32"?i():await c$2()).filter(u=>a$1(u)).map(D)}m.list=zt;function Fe(f){return Sn[C(f)]}m.metaInfo=Fe;function I(f){return /[|&;<>()$`!#]/.test(f)}m.needsShell=I;function O(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}m.platformShells=O;function j(f){return f?!!a$1(f):false}m.isValid=j;async function G(f){let u=a$1(f);if(!u)return;let y=C(u);if(!/^cmd(\.exe)?$/i.test(y))try{let x;U(y)?x=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:x=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${u}`,{shell:u,args:x});let h=await _.run([u,...x]);if(h.code===0){let S=h.stdout.trim().split(`
27
- `)[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: ${h.code}`,{stderr:h.stderr});}catch(x){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${x}`);}}m.version=G;class Y extends Error{constructor(y,x,h,S){super(y);c(this,"message",y);c(this,"pkg",x);c(this,"version",h);c(this,"originalError",S);this.name="InstallFailedError";}}m.InstallFailedError=Y;async function de(f,u="latest",y){let{Lock:x}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:h}=await import('./chunks/filesystem-BAT2ZG5X.mjs'),{PackageRegistry:S}=await import('./chunks/registry-O74JPNLS.mjs');y=y??process.env.EASBOT_CACHE_PATH??ge.join(".easbot","cache");let M=await x.write("pkg-install");try{let T=ge.posix.join(y,"node_modules",f),E=ge.posix.join(y,"package.json"),W=(await h.readJson(E).catch(async()=>{let Z={dependencies:{}};return await h.writeJson(E,Z),Z})).dependencies??{},L=await h.exists(T),H=W[f],A=!1;if(!L||!H)A=!0;else {if(u!=="latest"&&H===u)return T;if(u==="latest"){if(!await S.isOutdated(f,H,y))return T;e.info("Cached version is outdated, proceeding with install",{pkg:f,cachedVersion:H}),A=!0;}}if(!A)return T;let B=m.acceptable(process.platform==="win32"?"cmd":void 0)??k(),ee=`${f}@${u}`;e.info("installing package",{pkg:f,version:u,cache:y,shell:B});let K=await _.packageManager();if(!K)throw new Y("No package manager found (npm, pnpm, bun)",f,u,"No package manager available");let X=K.name,Xe=X==="pnpm"?"add":"install",Qe=`${K.name} ${Xe} --save-exact ${ee}`;e.info(`Using ${X} to install package`,{pkg:f,version:u,shell:B,pmPath:K.path});try{let Z=await m.run(B,Qe,{cwd:y,timeout:6e5,windowsHide:!0});if(Z.code!==0)throw new Error(`Package manager exited with code ${Z.code}: ${Z.stderr}`);e.info(`Successfully installed ${f}@${u} with ${X}`);}catch(Z){let Ht=Z instanceof Error?Z:new Error(String(Z));if(!await h.exists(T))throw new Y(`Failed to install ${f}@${u}`,f,u,Ht.message);e.warn("Package install failed but module exists, continuing",{error:Ht.message});}let et=u;u==="latest"&&(et=(await h.readJson(ge.join(T,"package.json")).catch(()=>({})))?.version??"unknown");let Ae=await h.readJson(E);return Ae.dependencies=Ae.dependencies??{},Ae.dependencies[f]=et,await h.writeJson(E,Ae),e.info("Package installation completed",{pkg:f,version:et,path:T}),T}finally{M[Symbol.dispose]();}}m.install=de;async function J(f,u,y){let x=f?m.acceptable(f)??k():m.acceptable()??k(),h=y?.cwd??process.cwd(),S=m.args(x,u,h);e.debug(`run shell process: ${x} ${S.join(" ")}`,{command:u,cwd:h});let{windowsHide:M,env:T,...E}=y??{},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:W,stdout:L,stderr:H,timeout:A,signal:B,...ee}=E??{},K={...ee,cwd:h,env:F,windowsHide:process.platform==="win32"?M??true:void 0,shell:ee.shell,timeout:A},X=C(x),Xe=/^cmd(\.exe)?$/i.test(X),Qe=process.platform==="win32"&&Xe?"cmd":x;return _.run([Qe,...S],K)}m.run=J;function $(f,u,y){let x=f?m.acceptable(f)??k():m.acceptable()??k(),h=y?.cwd??process.cwd(),S=m.args(x,u,h);e.debug(`Spawn shell process: ${x} ${S.join(" ")}`,{command:u,cwd:h});let{stdin:M,stdout:T,stderr:E,timeout:F,signal:W,windowsHide:L,env:H,...A}=y??{},B={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...H};process.platform==="win32"&&(B.CHCP="65001");let ee=C(x),K=/^cmd(\.exe)?$/i.test(ee),X={...A,cwd:h,env:B,windowsHide:process.platform==="win32"?L??true:void 0,shell:A.shell,timeout:F};return _.spawn([K?"cmd":x,...S],X)}m.spawn=$;function w(f,...u){let y=f.reduce((h,S,M)=>h+S+(u[M]??""),""),x=(h={})=>({quiet:()=>x({...h,quiet:true}),nothrow:()=>x({...h,nothrow:true}),cwd:S=>x({...h,cwd:S}),env:S=>x({...h,env:S}),stdin:S=>x({...h,stdin:S}),stdout:S=>x({...h,stdout:S}),stderr:S=>x({...h,stderr:S}),text:async()=>{let S=oe(y.trim());if(S.length===0)throw new Error("Empty command");let M=S[0]??"",T=C(M),E=/^cmd(\.exe)?$/i.test(T),F=process.platform==="win32"&&E?"cmd":Fe(M)?M:void 0,W=pe(M,S.slice(1)),L=await m.run(F,W,{cwd:h.cwd,env:h.env,stdin:h.stdin,stdout:h.stdout,stderr:h.stderr,timeout:h.timeout,windowsHide:process.platform==="win32"?h.windowsHide??true:void 0,shell:h.shell});if(L.code!==0&&!h.nothrow)throw new Error(`Command failed with exit code ${L.code}: ${y}
28
- ${L.stderr}`);return L.stdout},lines:async()=>(await x(h).text()).split(`
29
- `).filter(M=>M.trim()),then:(S,M)=>{let T=oe(y.trim()),E=T[0]??"",F=C(E),W=/^cmd(\.exe)?$/i.test(F),L=process.platform==="win32"&&W?"cmd":Fe(E)?E:void 0,H=pe(E,T.slice(1));return m.run(L,H,{cwd:h.cwd,env:h.env,stdin:h.stdin,stdout:h.stdout,stderr:h.stderr,timeout:h.timeout,windowsHide:process.platform==="win32"?h.windowsHide??true:void 0,shell:h.shell}).then(A=>{if(A.code!==0&&!h.nothrow){let B=new Error(`Command failed with exit code ${A.code}: ${y}
30
- ${A.stderr}`);if(M){M(B);return}throw B}return S({exitCode:A.code,stdout:new TextEncoder().encode(A.stdout),stderr:new TextEncoder().encode(A.stderr),text:()=>A.stdout,lines:()=>A.stdout.split(`
31
- `).filter(B=>B.trim())})},M)}});return x()}m.$=w;})(ne||(ne={}));var Or=ne.$;k();var ve=class ve extends Error{static create(t,n){var s;let r=je.object({name:je.literal(t),data:n}).meta({ref:t}),o=(s=class extends ve{constructor(i,c$1){super(t,c$1);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(ve,"Unknown",ve.create("UnknownError",je.object({message:je.string()})));var mt=ve;k();var gt;(t=>{function e(n){return new ht(n)}t.create=e;})(gt||(gt={}));var ht=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(`
32
- `):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 c=this.patternToRegex(r);c&&this.rules.push({pattern:r,regex:c,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 p=t[r];if(p==="\\")if(r+1<o){let l=t[r+1];n.push(this.escapeRegexChar(l)),r+=2;continue}else {n.push("\\\\"),r++;continue}if(p==="*")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(p==="?"){n.push("[^/]"),r++;continue}if(p==="["){let l=this.findMatchingBracket(t,r);if(l!==-1){let d=t.slice(r,l+1);(d.startsWith("[!")||d.startsWith("[^"))&&(d="[^"+d.slice(2)),this.ignorecase&&(d=d.toLowerCase()),n.push(d),r=l+1;continue}}if(p==="/"){n.push("/"),r++;continue}if(".+$^{}|()".includes(p)){n.push("\\"+p),r++;continue}if(this.ignorecase&&p>="A"&&p<="Z"){n.push("["+p.toLowerCase()+p+"]"),r++;continue}n.push(p),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 c=this.ignorecase?"i":"";try{return new RegExp("^"+s+"$",c)}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,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 Fr=kn,bt;(t=>t.fn=kn)(bt||(bt={}));k();function Lr(){let n=ge.join(process.cwd(),".env");existsSync(n)&&config({path:n,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,c,p]=await Promise.all([a.exited,new Response(a.stdout).arrayBuffer(),new Response(a.stderr).arrayBuffer()]),l=Buffer.from(c),d=Buffer.from(p);return {exitCode:i,text:()=>l.toString(),stdout:l,stderr:d}}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=ne.$`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 c=join(o,i);try{let p=statSync(c);if(p.isFile()&&c.endsWith(t))return c;if(p.isDirectory()&&s<n){let l=r(c,s+1);if(l)return l}}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 p=Tn(a,r,5);if(p)return p}let i=join(o,"dist","assets","txt");if(existsSync(i)){let p=Tn(i,r,5);if(p)return p}let c=join(o,"..");if(c===o)break;o=c;}return n}function Hr(e,t){return fe.lazy(()=>{try{let n=vn(t),r=Rn(n,e);return _.file(r).textSync()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}function Wr(e,t){return fe.lazy(async()=>{try{let n=vn(t),r=Rn(n,e);return await _.file(r).text()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}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,n,r=()=>true){let o=-1,s=-1,a=0;for(let i=t;i<n;i++){if(!r(i))continue;let c=e[i];if(c){if(c==="("){a+=1;continue}if(c===")"&&a>0){a-=1;continue}a===0&&(c===`
33
- `?o=i:/\s/.test(c)&&(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=xt(r,o,i=>{let{lastNewline:c,lastWhitespace:p}=yt(i,0,i.length);return c>0?c:p});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+`
25
+ ${w}
26
+ `,"easbot",y]:/^cmd(\.exe)?$/i.test(x)?["/c",`chcp 65001 >nul 2>&1 && ${w}`]:Y(x)?["-NoProfile","-Command",`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ${w}`]:["-c",w]}m.args=J;function fe(f){return f?p(f):(0, m.defaultPreferred)()}m.preferred=fe;function ie(f){return f?p(f,{acceptable:true}):(0, m.defaultAcceptable)()}m.acceptable=ie;function pe(){m.defaultPreferred.reset(),m.defaultAcceptable.reset();}m.reset=pe;async function Te(){return (process.platform==="win32"?i():await c$2()).filter(d=>a$1(d)).map(V)}m.list=Te;function ve(f){return kn[C(f)]}m.metaInfo=ve;function Wt(f){return /[|&;<>()$`!#]/.test(f)}m.needsShell=Wt;function F(){return process.platform==="win32"?i():["/bin/bash","/bin/zsh","/bin/sh"]}m.platformShells=F;function O(f){return f?!!a$1(f):false}m.isValid=O;async function L(f){let d=a$1(f);if(!d)return;let y=C(d);if(!/^cmd(\.exe)?$/i.test(y))try{let x;Y(y)?x=["-NoProfile","-Command","$PSVersionTable.PSVersion.ToString()"]:x=["--version"],e.debug(`\u83B7\u53D6 Shell \u7248\u672C: ${d}`,{shell:d,args:x});let h=await _.run([d,...x]);if(h.code===0){let w=h.stdout.trim().split(`
27
+ `)[0];return e.debug(`Shell \u7248\u672C\u83B7\u53D6\u6210\u529F: ${w}`),w}e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${h.code}`,{stderr:h.stderr});}catch(x){e.debug(`Shell \u7248\u672C\u83B7\u53D6\u5F02\u5E38: ${x}`);}}m.version=L;class U extends Error{constructor(y,x,h,w){super(y);c$1(this,"message",y);c$1(this,"pkg",x);c$1(this,"version",h);c$1(this,"originalError",w);this.name="InstallFailedError";}}m.InstallFailedError=U;async function G(f,d="latest",y){let{Lock:x}=await import('./chunks/lock-EGXJVIO5.mjs'),{Filesystem:h}=await import('./chunks/filesystem-BAT2ZG5X.mjs'),{PackageRegistry:w}=await import('./chunks/registry-O74JPNLS.mjs');y=y??process.env.EASBOT_CACHE_PATH??be.join(".easbot","cache");let R=await x.write("pkg-install");try{let v=be.posix.join(y,"node_modules",f),T=be.posix.join(y,"package.json"),z=(await h.readJson(T).catch(async()=>{let Z={dependencies:{}};return await h.writeJson(T,Z),Z})).dependencies??{},B=await h.exists(v),N=z[f],A=!1;if(!B||!N)A=!0;else {if(d!=="latest"&&N===d)return v;if(d==="latest"){if(!await w.isOutdated(f,N,y))return v;e.info("Cached version is outdated, proceeding with install",{pkg:f,cachedVersion:N}),A=!0;}}if(!A)return v;let $=m.acceptable(process.platform==="win32"?"cmd":void 0)??k(),ee=`${f}@${d}`;e.info("installing package",{pkg:f,version:d,cache:y,shell:$});let K=await _.packageManager();if(!K)throw new U("No package manager found (npm, pnpm, bun)",f,d,"No package manager available");let X=K.name,et=X==="pnpm"?"add":"install",tt=`${K.name} ${et} --save-exact ${ee}`;e.info(`Using ${X} to install package`,{pkg:f,version:d,shell:$,pmPath:K.path});try{let Z=await m.run($,tt,{cwd:y,timeout:6e5,windowsHide:!0});if(Z.code!==0)throw new Error(`Package manager exited with code ${Z.code}: ${Z.stderr}`);e.info(`Successfully installed ${f}@${d} with ${X}`);}catch(Z){let Ut=Z instanceof Error?Z:new Error(String(Z));if(!await h.exists(v))throw new U(`Failed to install ${f}@${d}`,f,d,Ut.message);e.warn("Package install failed but module exists, continuing",{error:Ut.message});}let nt=d;d==="latest"&&(nt=(await h.readJson(be.join(v,"package.json")).catch(()=>({})))?.version??"unknown");let Le=await h.readJson(T);return Le.dependencies=Le.dependencies??{},Le.dependencies[f]=nt,await h.writeJson(T,Le),e.info("Package installation completed",{pkg:f,version:nt,path:v}),v}finally{R[Symbol.dispose]();}}m.install=G;async function Re(f,d,y){let x=f?m.acceptable(f)??k():m.acceptable()??k(),h=y?.cwd??process.cwd(),w=m.args(x,d,h);e.debug(`run shell process: ${x} ${w.join(" ")}`,{command:d,cwd:h});let{windowsHide:R,env:v,...T}=y??{},I={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...v};process.platform==="win32"&&(I.CHCP="65001");let{stdin:z,stdout:B,stderr:N,timeout:A,signal:$,...ee}=T??{},K={...ee,cwd:h,env:I,windowsHide:process.platform==="win32"?R??true:void 0,shell:ee.shell,timeout:A},X=C(x),et=/^cmd(\.exe)?$/i.test(X),tt=process.platform==="win32"&&et?"cmd":x;return _.run([tt,...w],K)}m.run=Re;function j(f,d,y){let x=f?m.acceptable(f)??k():m.acceptable()??k(),h=y?.cwd??process.cwd(),w=m.args(x,d,h);e.debug(`Spawn shell process: ${x} ${w.join(" ")}`,{command:d,cwd:h});let{stdin:R,stdout:v,stderr:T,timeout:I,signal:z,windowsHide:B,env:N,...A}=y??{},$={...process.env,LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",...N};process.platform==="win32"&&($.CHCP="65001");let ee=C(x),K=/^cmd(\.exe)?$/i.test(ee),X={...A,cwd:h,env:$,windowsHide:process.platform==="win32"?B??true:void 0,shell:A.shell,timeout:I};return _.spawn([K?"cmd":x,...w],X)}m.spawn=j;function S(f,...d){let y=f.reduce((h,w,R)=>h+w+(d[R]??""),""),x=(h={})=>({quiet:()=>x({...h,quiet:true}),nothrow:()=>x({...h,nothrow:true}),cwd:w=>x({...h,cwd:w}),env:w=>x({...h,env:w}),stdin:w=>x({...h,stdin:w}),stdout:w=>x({...h,stdout:w}),stderr:w=>x({...h,stderr:w}),text:async()=>{let w=oe(y.trim());if(w.length===0)throw new Error("Empty command");let R=w[0]??"",v=C(R),T=/^cmd(\.exe)?$/i.test(v),I=process.platform==="win32"&&T?"cmd":ve(R)?R:void 0,z=ge(R,w.slice(1)),B=await m.run(I,z,{cwd:h.cwd,env:h.env,stdin:h.stdin,stdout:h.stdout,stderr:h.stderr,timeout:h.timeout,windowsHide:process.platform==="win32"?h.windowsHide??true:void 0,shell:h.shell});if(B.code!==0&&!h.nothrow)throw new Error(`Command failed with exit code ${B.code}: ${y}
28
+ ${B.stderr}`);return B.stdout},lines:async()=>(await x(h).text()).split(`
29
+ `).filter(R=>R.trim()),then:(w,R)=>{let v=oe(y.trim()),T=v[0]??"",I=C(T),z=/^cmd(\.exe)?$/i.test(I),B=process.platform==="win32"&&z?"cmd":ve(T)?T:void 0,N=ge(T,v.slice(1));return m.run(B,N,{cwd:h.cwd,env:h.env,stdin:h.stdin,stdout:h.stdout,stderr:h.stderr,timeout:h.timeout,windowsHide:process.platform==="win32"?h.windowsHide??true:void 0,shell:h.shell}).then(A=>{if(A.code!==0&&!h.nothrow){let $=new Error(`Command failed with exit code ${A.code}: ${y}
30
+ ${A.stderr}`);if(R){R($);return}throw $}return w({exitCode:A.code,stdout:new TextEncoder().encode(A.stdout),stderr:new TextEncoder().encode(A.stderr),text:()=>A.stdout,lines:()=>A.stdout.split(`
31
+ `).filter($=>$.trim())})},R)}});return x()}m.$=S;})(ne||(ne={}));var Ir=ne.$;k();var Ee=class Ee extends Error{static create(t,n){var s;let r=ze.object({name:ze.literal(t),data:n}).meta({ref:t}),o=(s=class extends Ee{constructor(i,c){super(t,c);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 r}toObject(){return {name:t,data:this.data}}},c$1(s,"Schema",r),s);return Object.defineProperty(o,"name",{value:t}),o}};c$1(Ee,"Unknown",Ee.create("UnknownError",ze.object({message:ze.string()})));var ht=Ee;k();var bt;(t=>{function e(n){return new yt(n)}t.create=e;})(bt||(bt={}));var yt=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 n=typeof t=="string"?t.split(`
32
+ `):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 c=this.patternToRegex(r);c&&this.rules.push({pattern:r,regex:c,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 p=t[r];if(p==="\\")if(r+1<o){let l=t[r+1];n.push(this.escapeRegexChar(l)),r+=2;continue}else {n.push("\\\\"),r++;continue}if(p==="*")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(p==="?"){n.push("[^/]"),r++;continue}if(p==="["){let l=this.findMatchingBracket(t,r);if(l!==-1){let u=t.slice(r,l+1);(u.startsWith("[!")||u.startsWith("[^"))&&(u="[^"+u.slice(2)),this.ignorecase&&(u=u.toLowerCase()),n.push(u),r=l+1;continue}}if(p==="/"){n.push("/"),r++;continue}if(".+$^{}|()".includes(p)){n.push("\\"+p),r++;continue}if(this.ignorecase&&p>="A"&&p<="Z"){n.push("["+p.toLowerCase()+p+"]"),r++;continue}n.push(p),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 c=this.ignorecase?"i":"";try{return new RegExp("^"+s+"$",c)}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,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 Tn(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 Ar=Tn,xt;(t=>t.fn=Tn)(xt||(xt={}));k();function _r(){let n=be.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=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,c,p]=await Promise.all([a.exited,new Response(a.stdout).arrayBuffer(),new Response(a.stderr).arrayBuffer()]),l=Buffer.from(c),u=Buffer.from(p);return {exitCode:i,text:()=>l.toString(),stdout:l,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=ne.$`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 Rn(e){return e?dirname(fileURLToPath(e)):typeof i<"u"?i:process.cwd()}function vn(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 c=join(o,i);try{let p=statSync(c);if(p.isFile()&&c.endsWith(t))return c;if(p.isDirectory()&&s<n){let l=r(c,s+1);if(l)return l}}catch{}}}catch{}return null}return r(e,0)}function Pn(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 p=vn(a,r,5);if(p)return p}let i=join(o,"dist","assets","txt");if(existsSync(i)){let p=vn(i,r,5);if(p)return p}let c=join(o,"..");if(c===o)break;o=c;}return n}function Wr(e,t){return me.lazy(()=>{try{let n=Rn(t),r=Pn(n,e);return _.file(r).textSync()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}function Ur(e,t){return me.lazy(async()=>{try{let n=Rn(t),r=Pn(n,e);return await _.file(r).text()}catch(n){throw console.error(`Failed to load text file: ${e}`,n),n}})}k();function qr(e){return e()}k();function Yr(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 wt(e,t,n,r=()=>true){let o=-1,s=-1,a=0;for(let i=t;i<n;i++){if(!r(i))continue;let c=e[i];if(c){if(c==="("){a+=1;continue}if(c===")"&&a>0){a-=1;continue}a===0&&(c===`
33
+ `?o=i:/\s/.test(c)&&(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 ye(e,t,n){try{let r=z.string().parse(e),o=z.number().int().parse(t),s=Vr(r,o);if(s)return s;let a=St(r,o,i=>{let{lastNewline:c,lastWhitespace:p}=wt(i,0,i.length);return c>0?c:p});return n?.minLength&&n.minLength>0&&(a=En(a,n.minLength)),a}catch(r){return console.warn("Invalid input for chunkText:",r),typeof e=="string"&&e.length>0?[e]:[]}}function En(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+`
34
34
 
35
35
  `+s:(n.push(r),r=s);}if(r.length>0)if(r.length<t&&n.length>0){let o=n.pop();n.push(o+`
36
36
 
37
- `+r);}else n.push(r);return n}function xt(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,p=o.slice(0,i).trimEnd();p.length>0&&r.push(p);let l=i<o.length&&o[i]!==void 0&&/\s/.test(o[i]),d=Math.min(o.length,i+(l?1:0));o=o.slice(d).trimStart();}return o.length>0&&r.push(o),r}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"}),Pe=z.object({text:z.string(),styles:z.array(En),links:z.array(Cn)}).strict(),Me=z.enum(["off","bullets","code"]),De=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:Me.default("off")}).partial().default({}),On=z.object({open:z.string(),close:z.string()}).strict(),St=z.object({styleMarkers:z.record(wt,On).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:Me.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 In(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 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??"",c=0;for(;c<i.length;){let p=i.indexOf("||",c);if(p===-1)break;t+=1,c=p+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 c=0;for(;c<i.length;){let p=i.indexOf("||",c);if(p===-1){c<i.length&&r.push(vt(a,i.slice(c)));break}if(s>=n){r.push(vt(a,i.slice(c)));break}p>c&&r.push(vt(a,i.slice(c,p))),s+=1,o.spoilerOpen=!o.spoilerOpen,r.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),c=p+2;}}return r}function to(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function ue(e){return e.table?.currentCell??e}function He(e,t){if(!t)return;let n=ue(e);n.text+=t;}function be(e,t){let n=ue(e);n.openStyles.push({style:t,start:n.text.length});}function ye(e,t){let n=ue(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+=`
37
+ `+r);}else n.push(r);return n}function St(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,p=o.slice(0,i).trimEnd();p.length>0&&r.push(p);let l=i<o.length&&o[i]!==void 0&&/\s/.test(o[i]),u=Math.min(o.length,i+(l?1:0));o=o.slice(u).trimStart();}return o.length>0&&r.push(o),r}k();var kt=z.enum(["bold","italic","strikethrough","code","code_block","spoiler","blockquote"]),Cn=z.object({start:z.number().int().min(0),end:z.number().int().min(0),style:kt}).strict().refine(e=>e.end>=e.start,{message:"end must be greater than or equal to start"}),On=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"}),Oe=z.object({text:z.string(),styles:z.array(Cn),links:z.array(On)}).strict(),Ie=z.enum(["off","bullets","code"]),We=z.object({linkify:z.boolean().default(true),enableSpoilers:z.boolean().default(false),headingStyle:z.enum(["none","bold"]).default("none"),blockquotePrefix:z.string().default(""),autolink:z.boolean().default(true),tableMode:Ie.default("off")}).partial().default({}),In=z.object({open:z.string(),close:z.string()}).strict(),Tt=z.object({styleMarkers:z.record(kt,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 vt=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(),Rt=z.record(z.string(),z.string()),Ue=z.object({open:z.boolean(),ticks:z.number().int().min(0)}).strict();z.object({inlineState:Ue,isInside:z.any()}).strict();z.object({start:z.number().int().min(0),end:z.number().int().min(0),openLine:z.string(),marker:z.string(),indent:z.string()}).strict();z.object({tables:Ie.optional()}).strict();function 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 Fn(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 Pt(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??"",c=0;for(;c<i.length;){let p=i.indexOf("||",c);if(p===-1)break;t+=1,c=p+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 c=0;for(;c<i.length;){let p=i.indexOf("||",c);if(p===-1){c<i.length&&r.push(Pt(a,i.slice(c)));break}if(s>=n){r.push(Pt(a,i.slice(c)));break}p>c&&r.push(Pt(a,i.slice(c,p))),s+=1,o.spoilerOpen=!o.spoilerOpen,r.push({type:o.spoilerOpen?"spoiler_open":"spoiler_close"}),c=p+2;}}return r}function no(){return {text:"",styles:[],openStyles:[],links:[],linkStack:[]}}function de(e){return e.table?.currentCell??e}function qe(e,t){if(!t)return;let n=de(e);n.text+=t;}function xe(e,t){let n=de(e);n.openStyles.push({style:t,start:n.text.length});}function we(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 An(e){e.env.listStack.length>0||e.table||(e.text+=`
38
38
 
39
- `);}function no(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 ro(e,t){if(!t)return;let n=ue(e),r=n.text.length;n.text+=t,n.styles.push({start:r,end:r+t.length,style:"code"});}function oo(e,t){let n=t??"",r=ue(e),o=r.text.length;r.text+=n,r.styles.push({start:o,end:o+n.length,style:"code_block"});}function so(e){let t=ue(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 io(){return {headers:[],rows:[],currentRow:[],currentCell:null,inHeader:false}}function ao(e){return $n(e),{text:e.text,styles:e.styles,links:e.links}}function We(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 c of e.styles){let p=Math.max(0,c.start-n),l=Math.min(s,c.end-n);l>p&&a.push({start:p,end:l,style:c.style});}let i=[];for(let c of e.links){let p=Math.max(0,c.start-n),l=Math.min(s,c.end-n);l>p&&i.push({start:p,end:l,href:c.href});}return {text:o,styles:a,links:i}}function Rt(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 An(e,t){let{header:n,value:r,columnIndex:o,includeColumnFallback:s}=t;r?.text&&(e.text+="\u2022 ",n?.text?(Rt(e,n),e.text+=": "):s&&(e.text+=`Column ${o}: `),Rt(e,r),e.text+=`
40
- `);}function lo(e){if(!e.table)return;let t=e.table.headers.map(We),n=e.table.rows.map(o=>o.map(We));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;Rt(e,s);let i=e.text.length;i>a&&e.styles.push({start:a,end:i,style:"bold"}),e.text+=`
41
- `;}for(let a=1;a<o.length;a++)An(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
42
- `;}else for(let o of n){for(let s=0;s<o.length;s++)An(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
43
- `;}}function uo(e){if(!e.table)return;let t=e.table.headers.map(We),n=e.table.rows.map(l=>l.map(We)),r=Math.max(t.length,...n.map(l=>l.length));if(r===0)return;let o=Array.from({length:r},()=>0),s=l=>{for(let d=0;d<r;d+=1){let k=l[d]?.text.length??0;(o[d]??0)<k&&(o[d]=k);}};s(t);for(let l of n)s(l);let a=e.text.length,i=l=>{e.text+="|";for(let d=0;d<r;d+=1){e.text+=" ";let g=l[d];g&&co(e,g);let k=g?.text.length??0,z=(o[d]??0)-k;z>0&&(e.text+=" ".repeat(z)),e.text+=" |";}e.text+=`
44
- `;},c=()=>{e.text+="|";for(let l=0;l<r;l+=1){let d=o[l]??0,g=Math.max(3,d);e.text+=` ${"-".repeat(g)} |`;}e.text+=`
45
- `;};i(t),c();for(let l of n)i(l);let p=e.text.length;p>a&&e.styles.push({start:a,end:p,style:"code_block"});}function Pt(e,t){for(let n of e)switch(n.type){case "inline":n.children&&Pt(n.children,t);break;case "text":He(t,n.content??"");break;case "em_open":be(t,"italic");break;case "em_close":ye(t,"italic");break;case "strong_open":be(t,"bold");break;case "strong_close":ye(t,"bold");break;case "s_open":be(t,"strikethrough");break;case "s_close":ye(t,"strikethrough");break;case "code_inline":ro(t,n.content??"");break;case "spoiler_open":t.enableSpoilers&&be(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&ye(t,"spoiler");break;case "link_open":{let r=In(n,"href")??"",o=ue(t);o.linkStack.push({href:r,labelStart:o.text.length});break}case "link_close":so(t);break;case "image":He(t,n.content??"");break;case "softbreak":case "hardbreak":He(t,`
46
- `);break;case "paragraph_close":Fn(t);break;case "heading_open":t.headingStyle==="bold"&&be(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&ye(t,"bold"),Fn(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),be(t,"blockquote");break;case "blockquote_close":ye(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
39
+ `);}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 co(e){return Ln(e),{text:e.text,styles:e.styles,links:e.links}}function Ye(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 c of e.styles){let p=Math.max(0,c.start-n),l=Math.min(s,c.end-n);l>p&&a.push({start:p,end:l,style:c.style});}let i=[];for(let c of e.links){let p=Math.max(0,c.start-n),l=Math.min(s,c.end-n);l>p&&i.push({start:p,end:l,href:c.href});}return {text:o,styles:a,links:i}}function Mt(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 lo(e,t){t.text&&(e.text+=t.text);}function $n(e,t){let{header:n,value:r,columnIndex:o,includeColumnFallback:s}=t;r?.text&&(e.text+="\u2022 ",n?.text?(Mt(e,n),e.text+=": "):s&&(e.text+=`Column ${o}: `),Mt(e,r),e.text+=`
40
+ `);}function uo(e){if(!e.table)return;let t=e.table.headers.map(Ye),n=e.table.rows.map(o=>o.map(Ye));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;Mt(e,s);let i=e.text.length;i>a&&e.styles.push({start:a,end:i,style:"bold"}),e.text+=`
41
+ `;}for(let a=1;a<o.length;a++)$n(e,{header:t[a],value:o[a],columnIndex:a,includeColumnFallback:true});e.text+=`
42
+ `;}else for(let o of n){for(let s=0;s<o.length;s++)$n(e,{header:t[s],value:o[s],columnIndex:s,includeColumnFallback:false});e.text+=`
43
+ `;}}function fo(e){if(!e.table)return;let t=e.table.headers.map(Ye),n=e.table.rows.map(l=>l.map(Ye)),r=Math.max(t.length,...n.map(l=>l.length));if(r===0)return;let o=Array.from({length:r},()=>0),s=l=>{for(let u=0;u<r;u+=1){let k=l[u]?.text.length??0;(o[u]??0)<k&&(o[u]=k);}};s(t);for(let l of n)s(l);let a=e.text.length,i=l=>{e.text+="|";for(let u=0;u<r;u+=1){e.text+=" ";let g=l[u];g&&lo(e,g);let k=g?.text.length??0,W=(o[u]??0)-k;W>0&&(e.text+=" ".repeat(W)),e.text+=" |";}e.text+=`
44
+ `;},c=()=>{e.text+="|";for(let l=0;l<r;l+=1){let u=o[l]??0,g=Math.max(3,u);e.text+=` ${"-".repeat(g)} |`;}e.text+=`
45
+ `;};i(t),c();for(let l of n)i(l);let p=e.text.length;p>a&&e.styles.push({start:a,end:p,style:"code_block"});}function Et(e,t){for(let n of e)switch(n.type){case "inline":n.children&&Et(n.children,t);break;case "text":qe(t,n.content??"");break;case "em_open":xe(t,"italic");break;case "em_close":we(t,"italic");break;case "strong_open":xe(t,"bold");break;case "strong_close":we(t,"bold");break;case "s_open":xe(t,"strikethrough");break;case "s_close":we(t,"strikethrough");break;case "code_inline":oo(t,n.content??"");break;case "spoiler_open":t.enableSpoilers&&xe(t,"spoiler");break;case "spoiler_close":t.enableSpoilers&&we(t,"spoiler");break;case "link_open":{let r=Fn(n,"href")??"",o=de(t);o.linkStack.push({href:r,labelStart:o.text.length});break}case "link_close":io(t);break;case "image":qe(t,n.content??"");break;case "softbreak":case "hardbreak":qe(t,`
46
+ `);break;case "paragraph_close":An(t);break;case "heading_open":t.headingStyle==="bold"&&xe(t,"bold");break;case "heading_close":t.headingStyle==="bold"&&we(t,"bold"),An(t);break;case "blockquote_open":t.blockquotePrefix&&(t.text+=t.blockquotePrefix),xe(t,"blockquote");break;case "blockquote_close":we(t,"blockquote");break;case "bullet_list_open":t.env.listStack.length>0&&(t.text+=`
47
47
  `),t.env.listStack.push({type:"bullet",index:0});break;case "bullet_list_close":t.env.listStack.pop(),t.env.listStack.length===0&&(t.text+=`
48
48
  `);break;case "ordered_list_open":{t.env.listStack.length>0&&(t.text+=`
49
- `);let r=Number(In(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+=`
50
- `);break;case "list_item_open":no(t);break;case "list_item_close":t.text.endsWith(`
49
+ `);let r=Number(Fn(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+=`
50
+ `);break;case "list_item_open":ro(t);break;case "list_item_close":t.text.endsWith(`
51
51
  `)||(t.text+=`
52
- `);break;case "code_block":case "fence":oo(t,n.content??"");break;case "html_block":case "html_inline":He(t,n.content??"");break;case "table_open":t.tableMode!=="off"&&(t.table=io(),t.hasTables=true);break;case "table_close":t.table&&(t.tableMode==="bullets"?lo(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
52
+ `);break;case "code_block":case "fence":so(t,n.content??"");break;case "html_block":case "html_inline":qe(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(co(t.table.currentCell)),t.table.currentCell=null);break;case "hr":t.text+=`\u2500\u2500\u2500
53
53
 
54
- `;break;default:n.children&&Pt(n.children,t);break}}function $n(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 fo(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 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,href:r.href});}return n}function Bn(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 Ln(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 mo(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let s=Ln(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,style:o.style});}return Bn(r)}function go(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let s=Ln(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,href:o.href});}return r}function xe(e,t){try{let n=typeof e=="string"?e:"",r=De.parse(t??{});return Ee(n,r).ir}catch(n){return console.error("Markdown parse error:",n),{text:"",styles:[],links:[]}}}function Ee(e,t){try{let n=typeof e=="string"?e:"",r=De.parse(t),o={listStack:[]},a=Xr(r).parse(n||"",o);r.enableSpoilers&&Qr(a);let i=r.tableMode??"off",c={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:r.headingStyle??"none",blockquotePrefix:r.blockquotePrefix??"",enableSpoilers:r.enableSpoilers??!1,tableMode:i,table:null,hasTables:!1};Pt(a,c),$n(c);let l=c.text.trimEnd().length,d=0;for(let C of c.styles)C.style==="code_block"&&C.end>d&&(d=C.end);let g=Math.max(l,d);return {ir:{text:g===c.text.length?c.text:c.text.slice(0,g),styles:Bn(fo(c.styles,g)),links:po(c.links,g)},hasTables:c.hasTables}}catch(n){return console.error("Markdown parse error:",n),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function _n(e,t){try{let n=Pe.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,c)=>{if(!i)return;if(c>0)for(;a<n.text.length&&/\s/.test(n.text[a]??"");)a+=1;let p=a,l=Math.min(n.text.length,p+i.length);s.push({text:i,styles:mo(n.styles,p,l),links:go(n.links,p,l)}),a=l;}),s}catch(n){return console.error("Chunk IR error:",n),[]}}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 Ce(e,t){try{let n=Pe.parse(e),r=St.parse(t??{});if(!n.text)return "";let o=r.styleMarkers??ho,s=r.escapeText??(d=>d),a=r.buildLink,i=[];for(let d=0;d<n.styles.length;d++){let g=n.styles[d];g&&(i.push({position:g.start,type:"open",style:g.style,spanIndex:d}),i.push({position:g.end,type:"close",style:g.style,spanIndex:d}));}for(let d=0;d<n.links.length;d++){let g=n.links[d];g&&(i.push({position:g.start,type:"link_open",spanIndex:d,href:g.href}),i.push({position:g.end,type:"link_close",spanIndex:d,href:g.href}));}i.sort((d,g)=>{if(d.position!==g.position)return d.position-g.position;let k=(D,ae)=>D==="link_open"?0:D==="open"?1:D==="close"?2:D==="link_close"?3:4,C=d.type==="close"||d.type==="link_close",z=g.type==="close"||g.type==="link_close",q=k(d.type,C),U=k(g.type,z);return q!==U?q-U:d.type==="open"&&g.type==="open"?d.spanIndex-g.spanIndex:d.type==="close"&&g.type==="close"?g.spanIndex-d.spanIndex:d.spanIndex-g.spanIndex});let c="",p=0,l=[];for(let d of i){if(d.position>p){let g=n.text.slice(p,d.position);c+=s?s(g):g;}if(d.type==="open"||d.type==="close"){let g=o[d.style];if(g)if(d.type==="open")c+=g.open,l.push(d);else {c+=g.close,d.style==="code_block"&&d.position<n.text.length&&(c+=`
55
- `);let k=l.findIndex(C=>C.spanIndex===d.spanIndex&&C.type==="open");k!==-1&&l.splice(k,1);}}else if(d.type==="link_open")c+="[",l.push(d);else if(d.type==="link_close"){c+="]("+d.href+")";let g=l.findIndex(k=>k.spanIndex===d.spanIndex&&k.type==="link_open");g!==-1&&l.splice(g,1);}p=d.position;}if(p<n.text.length){let d=n.text.slice(p);c+=s?s(d):d;}return c}catch(n){return console.error("Markdown render error:",n),""}}function we(e,t){return Ce(e,t)}k();function bo(e){let t=e.replace(/\r\n/g,`
54
+ `;break;default:n.children&&Et(n.children,t);break}}function Ln(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 Bn(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 _n(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=_n(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,style:o.style});}return Bn(r)}function ho(e,t,n){if(e.length===0)return [];let r=[];for(let o of e){let s=_n(o,t,n);s&&r.push({start:s.start-t,end:s.end-t,href:o.href});}return r}function Se(e,t){try{let n=typeof e=="string"?e:"",r=We.parse(t??{});return Fe(n,r).ir}catch(n){return console.error("Markdown parse error:",n),{text:"",styles:[],links:[]}}}function Fe(e,t){try{let n=typeof e=="string"?e:"",r=We.parse(t),o={listStack:[]},a=Qr(r).parse(n||"",o);r.enableSpoilers&&eo(a);let i=r.tableMode??"off",c={text:"",styles:[],openStyles:[],links:[],linkStack:[],env:o,headingStyle:r.headingStyle??"none",blockquotePrefix:r.blockquotePrefix??"",enableSpoilers:r.enableSpoilers??!1,tableMode:i,table:null,hasTables:!1};Et(a,c),Ln(c);let l=c.text.trimEnd().length,u=0;for(let C of c.styles)C.style==="code_block"&&C.end>u&&(u=C.end);let g=Math.max(l,u);return {ir:{text:g===c.text.length?c.text:c.text.slice(0,g),styles:Bn(po(c.styles,g)),links:mo(c.links,g)},hasTables:c.hasTables}}catch(n){return console.error("Markdown parse error:",n),{ir:{text:"",styles:[],links:[]},hasTables:false}}}function jn(e,t){try{let n=Oe.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=ye(n.text,r),s=[],a=0;return o.forEach((i,c)=>{if(!i)return;if(c>0)for(;a<n.text.length&&/\s/.test(n.text[a]??"");)a+=1;let p=a,l=Math.min(n.text.length,p+i.length);s.push({text:i,styles:go(n.styles,p,l),links:ho(n.links,p,l)}),a=l;}),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 Ae(e,t){try{let n=Oe.parse(e),r=Tt.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 g=n.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<n.links.length;u++){let g=n.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 k=(V,J)=>V==="link_open"?0:V==="open"?1:V==="close"?2:V==="link_close"?3:4,C=u.type==="close"||u.type==="link_close",W=g.type==="close"||g.type==="link_close",q=k(u.type,C),Y=k(g.type,W);return q!==Y?q-Y: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 c="",p=0,l=[];for(let u of i){if(u.position>p){let g=n.text.slice(p,u.position);c+=s?s(g):g;}if(u.type==="open"||u.type==="close"){let g=o[u.style];if(g)if(u.type==="open")c+=g.open,l.push(u);else {c+=g.close,u.style==="code_block"&&u.position<n.text.length&&(c+=`
55
+ `);let k=l.findIndex(C=>C.spanIndex===u.spanIndex&&C.type==="open");k!==-1&&l.splice(k,1);}}else if(u.type==="link_open")c+="[",l.push(u);else if(u.type==="link_close"){c+="]("+u.href+")";let g=l.findIndex(k=>k.spanIndex===u.spanIndex&&k.type==="link_open");g!==-1&&l.splice(g,1);}p=u.position;}if(p<n.text.length){let u=n.text.slice(p);c+=s?s(u):u;}return c}catch(n){return console.error("Markdown render error:",n),""}}function ke(e,t){return Ae(e,t)}k();function yo(e){let t=e.replace(/\r\n/g,`
56
56
  `).replace(/\r/g,`
57
57
  `);if(!t.startsWith("---"))return {frontmatter:"",content:e};let n=t.indexOf(`
58
- ---`,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 Ue(e,t){try{let n=typeof e=="string"?e:"",r=kt.parse(t??{});if(!n)return "";let{frontmatter:o,content:s}=bo(n),a=xe(s,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),i=we(a);return i=i.replace(/\n{3,}/g,`
58
+ ---`,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 Ve(e,t){try{let n=typeof e=="string"?e:"",r=vt.parse(t??{});if(!n)return "";let{frontmatter:o,content:s}=yo(n),a=Se(s,{linkify:!0,enableSpoilers:!1,autolink:!0,headingStyle:"none",blockquotePrefix:"",tableMode:"off"}),i=ke(a);return i=i.replace(/\n{3,}/g,`
59
59
 
60
60
  `),i=i.trimEnd()+`
61
61
  `,r.preserveFrontmatter&&o&&(i=o+`
62
- `+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 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 n={};for(let[r,o]of Object.entries(t)){let s=r.trim();if(!s)continue;let a=xo(o);a&&(n[s]=a);}return n}catch{return null}}function So(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(`
63
- `).trim(),linesConsumed:r-t}}function ko(e){let t={},n=e.split(`
64
- `),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 p=n[r+1];if(p&&(p.startsWith(" ")||p.startsWith(" "))){let{value:l,linesConsumed:d}=So(n,r);l&&(t[a]={value:l,kind:"multiline",rawInline:i}),r+=d;continue}}let c=yo(i);c&&(t[a]={value:c,kind:"inline",rawInline:i}),r+=1;}return t}function To(e){let t={};for(let[n,r]of Object.entries(e))t[n]=r.value;return t}function vo(e){return /^[|>][+-]?(\d+)?[+-]?$/.test(e)}function Ro(e){let{lineEntry:t,yamlValue:n}=e;return n.kind!=="structured"||t.kind!=="inline"||vo(t.rawInline)?false:t.value.includes(":")}function Po(e){let t=e.replace(/\r\n/g,`
62
+ `+i),i}catch(n){return console.error("Markdown format error:",n),e}}k();function xo(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=Dn.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(`
63
+ `).trim(),linesConsumed:r-t}}function To(e){let t={},n=e.split(`
64
+ `),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 p=n[r+1];if(p&&(p.startsWith(" ")||p.startsWith(" "))){let{value:l,linesConsumed:u}=ko(n,r);l&&(t[a]={value:l,kind:"multiline",rawInline:i}),r+=u;continue}}let c=xo(i);c&&(t[a]={value:c,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,`
65
65
  `).replace(/\r/g,`
66
66
  `);if(!t.startsWith("---"))return;let n=t.indexOf(`
67
- ---`,3);if(n!==-1)return t.slice(4,n)}function Oe(e){try{if(typeof e!="string")return {};let t=Po(e);if(!t)return {};let n=ko(t),r=wo(t);if(r===null)return To(n);let o={};for(let[s,a]of Object.entries(r)){o[s]=a.value;let i=n[s];i&&Ro({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=Tt.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 `---
68
- ${jn.stringify(n,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
69
- ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Ye(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
67
+ ---`,3);if(n!==-1)return t.slice(4,n)}function $e(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 Ge(e){try{let t=Rt.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 `---
68
+ ${Dn.stringify(n,{lineWidth:0,defaultStringType:"QUOTE_DOUBLE"}).trim()}
69
+ ---`}catch(t){return console.warn("Failed to serialize frontmatter:",t),""}}function Je(e){try{if(typeof e!="string")return {frontmatter:{},content:""};let t=e.replace(/\r\n/g,`
70
70
  `).replace(/\r/g,`
71
71
  `);if(!t.startsWith("---"))return {frontmatter:{},content:e};let n=t.indexOf(`
72
- ---`,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(`
73
- `,o),a=s===-1?t.length:s,i=t.slice(o,a),c=i.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(c){let p=c[1],l=c[2];if(!p||!l){o=a+1;continue}let d=l[0];if(!d){o=a+1;continue}let g=l.length;if(!r)r={start:o,markerChar:d,markerLen:g,openLine:i,marker:l,indent:p};else if(r.markerChar===d&&g>=r.markerLen){let k=a;n.push({start:r.start,end:k,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 Mt(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 !Mt(e,t)}function Ge(){return {open:false,ticks:0}}function Je(e,t){try{let n=z.string().parse(e),r=t?ze.parse(t):Ge(),o=Ve(n),s={open:r.open,ticks:r.ticks},{spans:a,state:i}=Co(n,o,s);return {inlineState:i,isInside:c=>Io(c,o)||Fo(c,a)}}catch(n){return console.warn("Invalid input for buildCodeSpanIndex:",n),{inlineState:Ge(),isInside:()=>false}}}function Co(e,t,n){let r=[],o=n.open,s=n.ticks,a=o?0:-1,i=0;for(;i<e.length;){let c=Oo(t,i);if(c){i=c.end;continue}if(e[i]!=="`"){i+=1;continue}let p=i,l=0;for(;i<e.length&&e[i]==="`";)l+=1,i+=1;if(!o){o=true,s=l,a=p;continue}l===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 Io(e,t){return t.some(n=>e>=n.start&&e<n.end)}function Fo(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 Ke(e,t){try{let n=z.string().parse(e),r=Me.parse(t);if(!n||r==="off")return n;let{ir:o,hasTables:s}=Ee(n,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:r});return s?Ce(o,{styleMarkers:$o,escapeText:a=>a,buildLink:(a,i)=>{let c=a.href.trim();return !c||!i.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${c})`}}}):n}catch(n){return console.warn("Invalid input for convertMarkdownTables:",n),typeof e=="string"?e:""}}var Et;(p=>{function e(l,d){try{return xe(l,d)}catch(g){return console.warn("Markdown.parse error:",g),{text:"",styles:[],links:[]}}}p.parse=e;function t(l,d){try{return we(l,d)}catch(g){return console.warn("Markdown.render error:",g),""}}p.render=t;function n(l,d){try{return Ue(l,d)}catch(g){return console.warn("Markdown.format error:",g),typeof l=="string"?l:""}}p.format=n;function r(l){try{return Oe(l)}catch(d){return console.warn("Markdown.parseFrontmatter error:",d),{}}}p.parseFrontmatter=r;function o(l){try{return qe(l)}catch(d){return console.warn("Markdown.serializeFrontmatter error:",d),""}}p.serializeFrontmatter=o;function s(l){try{return Ye(l)}catch(d){return console.warn("Markdown.extractFrontmatter error:",d),{frontmatter:{},content:typeof l=="string"?l:""}}}p.extractFrontmatter=s;function a(l,d,g){try{return he(l,d,g)}catch(k){return console.warn("Markdown.chunk error:",k),typeof l=="string"&&l.length>0?[l]:[]}}p.chunk=a;function i(l,d){try{return Je(l,d)}catch(g){return console.warn("Markdown.buildCodeIndex error:",g),{inlineState:{open:false,ticks:0},isInside:()=>false}}}p.buildCodeIndex=i;function c(l,d){try{return Ke(l,d)}catch(g){return console.warn("Markdown.convertTables error:",g),typeof l=="string"?l:""}}p.convertTables=c;})(Et||(Et={}));k();function Dn(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Bo(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n.slice(0,n.length-1).join("/")+"/"}function Lo(e){if(!e)return "";let t=e.split(".");return t[t.length-1]}function _o(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 jo(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 No=["load failed","network connection was lost","network request failed","failed to fetch","econnreset","econnrefused","etimedout","socket hang up"];function Do(e){if(!e)return false;let t=String(e instanceof Error?e.message:e).toLowerCase();return No.some(n=>t.includes(n))}async function zo(e,t={}){let{attempts:n=3,delay:r=500,factor:o=2,maxDelay:s=1e4,retryIf:a=Do}=t,i;for(let c=0;c<n;c++)try{return await e()}catch(p){if(i=p,c===n-1||!a(p))throw p;let l=Math.min(r*o**c,s);await new Promise(d=>setTimeout(d,l));}throw i}k();var Ct;(Fe=>{let e=a.create({service:"fetch"}),t=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],n=false,r=null;function o(){return t.some(I=>{let O=process.env[I];return typeof O=="string"&&O.trim().length>0})}Fe.hasProxyConfigured=o;function s(){let I=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||I}Fe.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});r=getGlobalDispatcher(),setGlobalDispatcher(j),n=true,console.log(`[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u542F\u7528: ${O}`);}Fe.enableProxy=a$1;function i(){!n||!r||(setGlobalDispatcher(r),n=false,r=null,console.log("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}Fe.disableProxy=i;function c(){return n}Fe.isProxyEnabled=c;async function p(I,O){let j=O?.timeout||3e4,G=O?.responseType||"json",{timeout:Y,responseType:de,...J}=O||{},$=null,w=null;try{J.signal||($=new AbortController,w=setTimeout(()=>$.abort(),j));let m=await fetch(I,{...J,signal:J.signal||$.signal});w&&clearTimeout(w);let f;switch(G){case "arrayBuffer":f=await m.arrayBuffer();break;case "blob":f=await m.blob();break;case "buffer":{let u=await m.arrayBuffer();f=Buffer.from(u);break}case "text":f=await m.text();break;default:{let u=await m.text();try{f=JSON.parse(u);}catch{f=u;}break}}return {ok:m.ok,status:m.status,statusText:m.statusText,headers:m.headers,data:f,url:m.url}}catch(m){throw w&&clearTimeout(w),m}}async function l(I,O){let j=O?.retries||0,G=O?.retryDelay||1e3,{retries:Y,retryDelay:de,responseType:J,...$}=O||{},w;for(let m=0;m<=j;m++)try{return await p(I,{...$,responseType:O?.responseType})}catch(f){if(w=f,m<j){let u=G*2**m;await new Promise(y=>setTimeout(y,u));}}throw w}async function d(I,O){return l(I,{method:"GET",...O})}Fe.get=d;async function g(I,O,j){return l(I,{method:"POST",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}Fe.post=g;async function k(I,O,j){return l(I,{method:"PUT",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}Fe.put=k;async function C(I,O,j){return l(I,{method:"DELETE",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}Fe.del=C;async function z(I,O,j){return l(I,{method:"PATCH",headers:{"Content-Type":"application/json",...j?.headers},body:O?JSON.stringify(O):void 0,...j})}Fe.patch=z;async function q(I,O){return l(I,O)}Fe.request=q;function U(I={}){return o()?(a$1(I),true):false}Fe.autoProxy=U;function D(I){return new TextEncoder().encode(I)}function ae(I){return c$1.mimeType(I)}function Ie(I){return I.startsWith("file://")}async function Ze(I){let O=fileURLToPath(I);return await _.file(O).bytes()}async function Dt(I,O,j){let G=`----FetchFormBoundary${Date.now()}`,Y=[];for(let u of O){let y=u.filename,x=`Content-Disposition: form-data; name="${u.name}"${y?`; filename="${y}"`:""}`;y&&(x+=`\r
74
- Content-Type: ${ae(y)}`),x+=`\r
72
+ ---`,3);if(n===-1)return {frontmatter:{},content:e};let r=t.slice(4,n),o=t.slice(n+4).trimStart();return {frontmatter:$e(e),content:o}}catch(t){return console.warn("Failed to extract frontmatter:",t),{frontmatter:{},content:e}}}k();k();function Ke(e){try{let t=z.string().parse(e),n=[],r,o=0;for(;o<=t.length;){let s=t.indexOf(`
73
+ `,o),a=s===-1?t.length:s,i=t.slice(o,a),c=i.match(/^( {0,3})(`{3,}|~{3,})(.*)$/);if(c){let p=c[1],l=c[2];if(!p||!l){o=a+1;continue}let u=l[0];if(!u){o=a+1;continue}let g=l.length;if(!r)r={start:o,markerChar:u,markerLen:g,openLine:i,marker:l,indent:p};else if(r.markerChar===u&&g>=r.markerLen){let k=a;n.push({start:r.start,end:k,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 Ct(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 !Ct(e,t)}function Ze(){return {open:false,ticks:0}}function Xe(e,t){try{let n=z.string().parse(e),r=t?Ue.parse(t):Ze(),o=Ke(n),s={open:r.open,ticks:r.ticks},{spans:a,state:i}=Oo(n,o,s);return {inlineState:i,isInside:c=>Fo(c,o)||Ao(c,a)}}catch(n){return console.warn("Invalid input for buildCodeSpanIndex:",n),{inlineState:Ze(),isInside:()=>false}}}function Oo(e,t,n){let r=[],o=n.open,s=n.ticks,a=o?0:-1,i=0;for(;i<e.length;){let c=Io(t,i);if(c){i=c.end;continue}if(e[i]!=="`"){i+=1;continue}let p=i,l=0;for(;i<e.length&&e[i]==="`";)l+=1,i+=1;if(!o){o=true,s=l,a=p;continue}l===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 Io(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 Ao(e,t){return t.some(([n,r])=>e>=n&&e<r)}k();var Lo={bold:{open:"**",close:"**"},italic:{open:"_",close:"_"},strikethrough:{open:"~~",close:"~~"},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"},spoiler:{open:"||",close:"||"},blockquote:{open:"> ",close:""}};function Qe(e,t){try{let n=z.string().parse(e),r=Ie.parse(t);if(!n||r==="off")return n;let{ir:o,hasTables:s}=Fe(n,{linkify:!1,enableSpoilers:!1,autolink:!1,headingStyle:"none",blockquotePrefix:"",tableMode:r});return s?Ae(o,{styleMarkers:Lo,escapeText:a=>a,buildLink:(a,i)=>{let c=a.href.trim();return !c||!i.slice(a.start,a.end)?null:{start:a.start,end:a.end,open:"[",close:`](${c})`}}}):n}catch(n){return console.warn("Invalid input for convertMarkdownTables:",n),typeof e=="string"?e:""}}var Ot;(p=>{function e(l,u){try{return Se(l,u)}catch(g){return console.warn("Markdown.parse error:",g),{text:"",styles:[],links:[]}}}p.parse=e;function t(l,u){try{return ke(l,u)}catch(g){return console.warn("Markdown.render error:",g),""}}p.render=t;function n(l,u){try{return Ve(l,u)}catch(g){return console.warn("Markdown.format error:",g),typeof l=="string"?l:""}}p.format=n;function r(l){try{return $e(l)}catch(u){return console.warn("Markdown.parseFrontmatter error:",u),{}}}p.parseFrontmatter=r;function o(l){try{return Ge(l)}catch(u){return console.warn("Markdown.serializeFrontmatter error:",u),""}}p.serializeFrontmatter=o;function s(l){try{return Je(l)}catch(u){return console.warn("Markdown.extractFrontmatter error:",u),{frontmatter:{},content:typeof l=="string"?l:""}}}p.extractFrontmatter=s;function a(l,u,g){try{return ye(l,u,g)}catch(k){return console.warn("Markdown.chunk error:",k),typeof l=="string"&&l.length>0?[l]:[]}}p.chunk=a;function i(l,u){try{return Xe(l,u)}catch(g){return console.warn("Markdown.buildCodeIndex error:",g),{inlineState:{open:false,ticks:0},isInside:()=>false}}}p.buildCodeIndex=i;function c(l,u){try{return Qe(l,u)}catch(g){return console.warn("Markdown.convertTables error:",g),typeof l=="string"?l:""}}p.convertTables=c;})(Ot||(Ot={}));k();function zn(e){if(!e)return "";let n=e.replace(/[/\\]+$/,"").split(/[/\\]/);return n[n.length-1]??""}function Bo(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=zn(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 Do(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 No=["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 No.some(n=>t.includes(n))}async function It(e,t={}){let{attempts:n=3,delay:r=500,factor:o=2,maxDelay:s=1e4,retryIf:a=zo}=t,i;for(let c=0;c<n;c++)try{return await e()}catch(p){if(i=p,c===n-1||!a(p))throw p;let l=Math.min(r*o**c,s);await new Promise(u=>setTimeout(u,l));}throw i}k();var Ft;(Wt=>{let e=a.create({service:"fetch"}),t=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"],n=false,r=null;function o(){return t.some(F=>{let O=process.env[F];return typeof O=="string"&&O.trim().length>0})}Wt.hasProxyConfigured=o;function s(){let F=process.env.http_proxy||process.env.HTTP_PROXY;return process.env.https_proxy||process.env.HTTPS_PROXY||F}Wt.getProxyUrl=s;function a$1(F={}){let O=F.httpProxy||F.httpsProxy||s();if(!O){e.warn("[Fetch] No proxy configured, HTTP_PROXY/HTTPS_PROXY environment variables not set");return}let L=new ProxyAgent({uri:O,connectTimeout:F.connectTimeout||1e4,keepAliveTimeout:F.keepAliveTimeout||3e4});r=getGlobalDispatcher(),setGlobalDispatcher(L),n=true,e.info(`[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u542F\u7528: ${O}`);}Wt.enableProxy=a$1;function i(){!n||!r||(setGlobalDispatcher(r),n=false,r=null,e.info("[Fetch] \u5168\u5C40\u4EE3\u7406\u5DF2\u7981\u7528"));}Wt.disableProxy=i;function c$1(){return n}Wt.isProxyEnabled=c$1;async function p(F,O){let L=O?.timeout||3e4,U=O?.responseType||"json",{timeout:G,responseType:Re,...j}=O||{},S=null,m=null;try{j.signal||(S=new AbortController,m=setTimeout(()=>S.abort(),L));let f=await fetch(F,{...j,signal:j.signal||S.signal});m&&clearTimeout(m);let d;switch(U){case "arrayBuffer":d=await f.arrayBuffer();break;case "blob":d=await f.blob();break;case "buffer":{let y=await f.arrayBuffer();d=Buffer.from(y);break}case "text":d=await f.text();break;default:{let y=await f.text();try{d=JSON.parse(y);}catch{d=y;}break}}return {ok:f.ok,status:f.status,statusText:f.statusText,headers:f.headers,data:d,url:f.url}}catch(f){throw m&&clearTimeout(m),f}}async function l(F,O){let L=O?.retries??0,U=O?.retryDelay??1e3,{retries:G,retryDelay:Re,responseType:j,...S}=O||{};return It(()=>p(F,{...S,responseType:O?.responseType}),{attempts:L+1,delay:U,maxDelay:U*2**(L+1)})}async function u(F,O){return l(F,{method:"GET",...O})}Wt.get=u;async function g(F,O,L){return l(F,{method:"POST",headers:{"Content-Type":"application/json",...L?.headers},body:O?JSON.stringify(O):void 0,...L})}Wt.post=g;async function k(F,O,L){return l(F,{method:"PUT",headers:{"Content-Type":"application/json",...L?.headers},body:O?JSON.stringify(O):void 0,...L})}Wt.put=k;async function C(F,O,L){return l(F,{method:"DELETE",headers:{"Content-Type":"application/json",...L?.headers},body:O?JSON.stringify(O):void 0,...L})}Wt.del=C;async function W(F,O,L){return l(F,{method:"PATCH",headers:{"Content-Type":"application/json",...L?.headers},body:O?JSON.stringify(O):void 0,...L})}Wt.patch=W;async function q(F,O){return l(F,O)}Wt.request=q;function Y(F={}){return o()?(a$1(F),true):false}Wt.autoProxy=Y;let V=5*1024*1024;function J(F){return new TextEncoder().encode(F)}function fe(F){return c.mimeType(F)}function ie(F){return F.startsWith("file://")}async function pe(F){let O=fileURLToPath(F);return await _.file(O).bytes()}async function Te(F,O,L){let U=`----FetchFormBoundary${Date.now()}`,G=[],j=O.some(h=>h.filename||h.value instanceof Uint8Array||Buffer.isBuffer(h.value))&&!L?.timeout?3e5:L?.timeout;for(let h of O){let w=h.maxSize??V,R=h.filename,v=`Content-Disposition: form-data; name="${h.name}"${R?`; filename="${R}"`:""}`;R&&(v+=`\r
74
+ Content-Type: ${fe(R)}`),v+=`\r
75
75
  \r
76
- `,Y.push(D(x));let h=u.value;if(typeof h=="string")if(Ie(h)){let S=await Ze(h);y||(y=h.split("/").pop()||"file"),Y.push(S);}else Y.push(D(h));else Buffer.isBuffer(h)?Y.push(new Uint8Array(h.buffer,h.byteOffset,h.byteLength)):h instanceof Uint8Array&&Y.push(h);}let de=D(`\r
77
- --${G}--`),J=D(`\r
78
- --${G}\r
79
- `),$=[];$.push(D(`--${G}\r
80
- `));for(let u=0;u<Y.length;u++)$.push(Y[u]),u%2===1&&u<Y.length-1&&($.push(J),$.push(D(`--${G}\r
81
- `)));$.push(de);let w=$.reduce((u,y)=>u+y.length,0),m=new Uint8Array(w),f=0;for(let u of $)m.set(u,f),f+=u.length;return l(I,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${G}`,...j?.headers},body:m,...j})}Fe.postForm=Dt;function zt(I,O,j){let G=new AbortController,Y=G.signal;return (async()=>{try{let J={Accept:"text/event-stream",...j?.headers||{}},$=await fetch(I,{...j,headers:J,signal:Y});if(!$.ok)throw new Error(`SSE connection failed: ${$.status}`);let w=$.body?.getReader();if(!w)throw new Error("SSE stream not available");let m=new TextDecoder("utf-8"),f="";for(;!Y.aborted;){let{done:u,value:y}=await w.read();if(u)break;let x=m.decode(y,{stream:!0});f+=x;let h=f.split(`
82
- `);f=h.pop()??"";for(let S of h)if(S.startsWith("data: ")){let M=S.slice(6);if(M==="[DONE]"){O.onComplete?.();return}O.onMessage?.(M);}}O.onComplete?.();}catch(J){J.name!=="AbortError"&&O.onError?.(J);}})(),()=>{G.abort();}}Fe.sse=zt;})(Ct||(Ct={}));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 qo(e,...t){let n=Hn(e);return {signal:AbortSignal.any([n.signal,...t]),clearTimeout:n.clearTimeout}}k();var It;(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 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 ${n} -d ${r}`,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;})(It||(It={}));k();var Ft;(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;})(Ft||(Ft={}));k();var At;(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;})(At||(At={}));k();function Vo(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 Bt;(a=>{function e(i,c){if(i===c)return true;if(typeof i!="object"||typeof c!="object"||i===null||c===null)return false;let p=Object.keys(i),l=Object.keys(c);if(p.length!==l.length)return false;for(let d of p)if(!l.includes(d)||!e(i[d],c[d]))return false;return true}function t(i){return {...i,super:i.super??false}}function n(i,c){return i?e(t(i),t(c)):false}a.match=n;function r(i,c=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:c}}a.fromParsedKey=r;function o(i){if(!i)return "";let c=[];i.ctrl&&c.push("ctrl"),i.meta&&c.push("alt"),i.super&&c.push("super"),i.shift&&c.push("shift"),i.name&&(i.name==="delete"?c.push("del"):c.push(i.name));let p=c.join("+");return i.leader&&(p=p?`<leader> ${p}`:"<leader>"),p}a.keyToString=o;function s(i){return i==="none"?[]:i.split(",").map(c=>{let l=c.replace(/<leader>/g,"leader+").toLowerCase().split("+"),d={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let g of l)switch(g){case "ctrl":d.ctrl=true;break;case "alt":case "meta":case "option":d.meta=true;break;case "super":d.super=true;break;case "shift":d.shift=true;break;case "leader":d.leader=true;break;case "esc":d.name="escape";break;default:d.name=g;break}return d})}a.parse=s;})(Bt||(Bt={}));k();var Lt;(p=>{function e(l){return l.replace(/\b\w/g,d=>d.toUpperCase())}p.titlecase=e;function t(l){return new Date(l).toLocaleTimeString(void 0,{timeStyle:"short"})}p.time=t;function n(l){let d=new Date(l),g=t(l),k=d.toLocaleDateString();return `${g} \xB7 ${k}`}p.datetime=n;function r(l){let d=new Date(l),g=new Date;return d.getFullYear()===g.getFullYear()&&d.getMonth()===g.getMonth()&&d.getDate()===g.getDate()?t(l):n(l)}p.todayTimeOrDateTime=r;function o(l){return l>=1e6?(l/1e6).toFixed(1)+"M":l>=1e3?(l/1e3).toFixed(1)+"K":l.toString()}p.number=o;function s(l){if(l<1e3)return `${l}ms`;if(l<6e4)return `${(l/1e3).toFixed(1)}s`;if(l<36e5){let k=Math.floor(l/6e4),C=Math.floor(l%6e4/1e3);return `${k}m ${C}s`}if(l<864e5){let k=Math.floor(l/36e5),C=Math.floor(l%36e5/6e4);return `${k}h ${C}m`}let d=Math.floor(l/36e5);return `${Math.floor(l%36e5/864e5)}d ${d}h`}p.duration=s;function a(l,d){return l.length<=d?l:l.slice(0,d-1)+"\u2026"}p.truncate=a;function i(l,d=35){if(l.length<=d)return l;let g="\u2026",k=Math.ceil((d-g.length)/2),C=Math.floor((d-g.length)/2);return l.slice(0,k)+g+l.slice(-C)}p.truncateMiddle=i;function c(l,d,g){return (l===1?d:g).replace("{}",l.toString())}p.pluralize=c;})(Lt||(Lt={}));k();var Jo=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"];function Ko(){return Jo.some(e=>process.env[e])}function Zo(){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy}function Xo(){let e=process.env.HTTP_PROXY||process.env.http_proxy,t=process.env.HTTPS_PROXY||process.env.https_proxy;return {http:e,https:t,enabled:!!(e||t)}}k();var _t=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 Qo(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 es(){let e,t=new Promise(n=>e=n);return {trigger(){return e()},wait(){return t}}}k();function ts(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 jt;(a=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function r(i){if(!i)return 0;let c=String(i),p=(c.match(n)||[]).length,l=c.length-p,d=Math.round(p/1.5),g=Math.round(l/4);return Math.max(0,d+g)}a.estimate=r;function o(i){if(i==null)return 0;try{let c=typeof i=="string"?i:JSON.stringify(i);return r(c)}catch{return 0}}a.estimateObject=o;function s(i){if(i.total!==void 0&&i.total>0)return i.total;let c=i.input??0,p=i.output??0,l=i.cache?.read??0,d=i.cache?.write??0;return c+p+l+d}a.total=s;})(jt||(jt={}));k();function rs(e){let t={};for(let[n,r]of Object.entries(e.required().shape))t[n]=r.nullable();return je.object(t)}k();var Nt;(s=>{function e(a,i){let c=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return c.endsWith(" .*")&&(c=c.slice(0,-3)+"( .*)?"),new RegExp("^"+c+"$","s").test(a)}s.match=e;function t(a){return a.sort((i,c)=>{let p=i[0].length-c[0].length;return p!==0?p:i[0].localeCompare(c[0])})}function n(a,i){let c=Object.entries(i),p=t(c),l;for(let[d,g]of p)e(a,d)&&(l=g);return l}s.all=n;function r(a,i){let c=Object.entries(i),p=t(c),l;for(let[d,g]of p){let k=d.split(/\s+/);e(a.head,k[0])&&(k.length===1||o(a.tail,k.slice(1)))&&(l=g);}return l}s.allStructured=r;function o(a,i){if(i.length===0)return true;if(a.length<i.length)return false;for(let c=0;c<i.length;c++)if(!e(a[c],i[c]))return false;return true}})(Nt||(Nt={}));async function hl(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 $,It as Archive,_t as AsyncQueue,tt as Binary,Ft as Color,At as Context,nt as Encode,$t as EventLoop,Ct as Fetch,bt as Fn,Se as Identifier,gt as Ignore,Bt as Keybind,fe as Lazy,Lt as Locale,Et as Markdown,mt as NamedError,_ as PKG,ke as PkgShell,it as SessionTitle,ne as Shell,Ot as Slug,jt as Token,rt as TruncateContent,Nt as Wildcard,Hn as abortAfter,qo as abortAfterAny,Je as buildCodeSpanIndex,_n as chunkMarkdownIR,he as chunkText,xt as chunkTextByBreakResolver,Ke as convertMarkdownTables,Ge as createInlineCodeState,le as createPkgShell,ct as createRESTServer,at as createRPCServer,ie as createServer,ut as createStreamingServer,lt as createWebSocketServer,Vo as defer,mn as detectPlatform,pt as escapeCommandArg,pn as escapeCommandArgSafe,Ye as extractFrontmatter,Mt as findFenceSpanAt,Jn as findLast,Fr as fn,Go as formatDuration,ot as formatLocalISO,st as formatLocalISOCompact,er as formatLogTime,Ue as formatMarkdown,Bo as getDirectory,Lo as getFileExtension,Dn as getFilename,_o as getFilenameTruncated,Xo as getProxyConfig,Zo as getProxyUrl,tr as getTimezoneOffset,_r as git,Ur as iife,hl as initLog,Nn as isSafeFenceBreak,pe as joinCommandArgs,$e as lazy,nr as lazyAsync,Lr as loadEnv,Hr as loadTextFile,Wr as loadTextFileAsync,xe as markdownToIR,Ee as markdownToIRWithMeta,dn as needsShellExecution,Yt as now,Xn as nowLocalISO,oe as parseCommand,fn as parseCommandWithOptions,Ve as parseFenceSpans,Oe as parseFrontmatterBlock,Qn as parseLocalISO,qr as parseModelId,Ko as proxied,Mr as readableStreamToText,we as renderMarkdown,Ce as renderMarkdownWithMarkers,zo as retry,yt as scanParenAwareBreakpoints,qe as serializeFrontmatter,hn as shell,es as signal,ir as startServer,jo as truncateMiddle,rs as updateSchema,Er as whichSync,ts as withTimeout,Qo as work};
76
+ `,G.push(J(v));let T=h.value;if(typeof T=="string")if(ie(T)){let I=await pe(T);if(R||(R=T.split("/").pop()||"file"),I.byteLength>w)throw new Error(`File size ${I.byteLength} exceeds limit ${w} bytes: ${R}`);G.push(I);}else G.push(J(T));else if(Buffer.isBuffer(T)){if(T.byteLength>w)throw new Error(`Buffer size ${T.byteLength} exceeds limit ${w} bytes: ${h.name}`);G.push(new Uint8Array(T.buffer,T.byteOffset,T.byteLength));}else if(T instanceof Uint8Array){if(T.byteLength>w)throw new Error(`File size ${T.byteLength} exceeds limit ${w} bytes: ${h.name}`);G.push(T);}}let S=J(`\r
77
+ --${U}--`),m=J(`\r
78
+ --${U}\r
79
+ `),f=[];f.push(J(`--${U}\r
80
+ `));for(let h=0;h<G.length;h++)f.push(G[h]),h%2===1&&h<G.length-1&&(f.push(m),f.push(J(`--${U}\r
81
+ `)));f.push(S);let d=f.reduce((h,w)=>h+w.length,0),y=new Uint8Array(d),x=0;for(let h of f)y.set(h,x),x+=h.length;return l(F,{method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${U}`,...L?.headers},body:y,timeout:j,...L})}Wt.postForm=Te;function ve(F,O,L){let U=new AbortController,G=U.signal;return (async()=>{try{let j={Accept:"text/event-stream",...L?.headers||{}},S=await fetch(F,{...L,headers:j,signal:G});if(!S.ok)throw new Error(`SSE connection failed: ${S.status}`);let m=S.body?.getReader();if(!m)throw new Error("SSE stream not available");let f=new TextDecoder("utf-8"),d="";for(;!G.aborted;){let{done:y,value:x}=await m.read();if(y)break;let h=f.decode(x,{stream:!0});d+=h;let w=d.split(`
82
+ `);d=w.pop()??"";for(let R of w)if(R.startsWith("data: ")){let v=R.slice(6);if(v==="[DONE]"){O.onComplete?.();return}O.onMessage?.(v);}}O.onComplete?.();}catch(j){j.name!=="AbortError"&&O.onError?.(j);}})(),()=>{U.abort();}}Wt.sse=ve;})(Ft||(Ft={}));k();var At;(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;})(At||(At={}));k();function Wn(e){let t=new AbortController,n=setTimeout(t.abort.bind(t),e);return {controller:t,signal:t.signal,clearTimeout:()=>globalThis.clearTimeout(n)}}function qo(e,...t){let n=Wn(e);return {signal:AbortSignal.any([n.signal,...t]),clearTimeout:n.clearTimeout}}k();var $t;(t=>{async function e(n,r){if(process.platform==="win32"){let o=be.resolve(n),s=be.resolve(r),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 ${n} -d ${r}`,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;})($t||($t={}));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$1(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 Vo(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 jt;(a=>{function e(i,c){if(i===c)return true;if(typeof i!="object"||typeof c!="object"||i===null||c===null)return false;let p=Object.keys(i),l=Object.keys(c);if(p.length!==l.length)return false;for(let u of p)if(!l.includes(u)||!e(i[u],c[u]))return false;return true}function t(i){return {...i,super:i.super??false}}function n(i,c){return i?e(t(i),t(c)):false}a.match=n;function r(i,c=false){return {name:i.name,ctrl:i.ctrl,meta:i.meta,shift:i.shift,super:i.super??false,leader:c}}a.fromParsedKey=r;function o(i){if(!i)return "";let c=[];i.ctrl&&c.push("ctrl"),i.meta&&c.push("alt"),i.super&&c.push("super"),i.shift&&c.push("shift"),i.name&&(i.name==="delete"?c.push("del"):c.push(i.name));let p=c.join("+");return i.leader&&(p=p?`<leader> ${p}`:"<leader>"),p}a.keyToString=o;function s(i){return i==="none"?[]:i.split(",").map(c=>{let l=c.replace(/<leader>/g,"leader+").toLowerCase().split("+"),u={ctrl:false,meta:false,shift:false,super:false,leader:false,name:""};for(let g of l)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;})(jt||(jt={}));k();var Dt;(p=>{function e(l){return l.replace(/\b\w/g,u=>u.toUpperCase())}p.titlecase=e;function t(l){return new Date(l).toLocaleTimeString(void 0,{timeStyle:"short"})}p.time=t;function n(l){let u=new Date(l),g=t(l),k=u.toLocaleDateString();return `${g} \xB7 ${k}`}p.datetime=n;function r(l){let u=new Date(l),g=new Date;return u.getFullYear()===g.getFullYear()&&u.getMonth()===g.getMonth()&&u.getDate()===g.getDate()?t(l):n(l)}p.todayTimeOrDateTime=r;function o(l){return l>=1e6?(l/1e6).toFixed(1)+"M":l>=1e3?(l/1e3).toFixed(1)+"K":l.toString()}p.number=o;function s(l){if(l<1e3)return `${l}ms`;if(l<6e4)return `${(l/1e3).toFixed(1)}s`;if(l<36e5){let k=Math.floor(l/6e4),C=Math.floor(l%6e4/1e3);return `${k}m ${C}s`}if(l<864e5){let k=Math.floor(l/36e5),C=Math.floor(l%36e5/6e4);return `${k}h ${C}m`}let u=Math.floor(l/36e5);return `${Math.floor(l%36e5/864e5)}d ${u}h`}p.duration=s;function a(l,u){return l.length<=u?l:l.slice(0,u-1)+"\u2026"}p.truncate=a;function i(l,u=35){if(l.length<=u)return l;let g="\u2026",k=Math.ceil((u-g.length)/2),C=Math.floor((u-g.length)/2);return l.slice(0,k)+g+l.slice(-C)}p.truncateMiddle=i;function c(l,u,g){return (l===1?u:g).replace("{}",l.toString())}p.pluralize=c;})(Dt||(Dt={}));k();var Jo=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy"];function Ko(){return Jo.some(e=>process.env[e])}function Zo(){return process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy}function Xo(){let e=process.env.HTTP_PROXY||process.env.http_proxy,t=process.env.HTTPS_PROXY||process.env.https_proxy;return {http:e,https:t,enabled:!!(e||t)}}k();var Nt=class{constructor(){c$1(this,"queue",[]);c$1(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 Qo(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 es(){let e,t=new Promise(n=>e=n);return {trigger(){return e()},wait(){return t}}}k();function ts(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 zt;(a=>{let n=/[\u4e00-\u9fff\u3400-\u4dbf]/g;function r(i){if(!i)return 0;let c=String(i),p=(c.match(n)||[]).length,l=c.length-p,u=Math.round(p/1.5),g=Math.round(l/4);return Math.max(0,u+g)}a.estimate=r;function o(i){if(i==null)return 0;try{let c=typeof i=="string"?i:JSON.stringify(i);return r(c)}catch{return 0}}a.estimateObject=o;function s(i){if(i.total!==void 0&&i.total>0)return i.total;let c=i.input??0,p=i.output??0,l=i.cache?.read??0,u=i.cache?.write??0;return c+p+l+u}a.total=s;})(zt||(zt={}));k();function rs(e){let t={};for(let[n,r]of Object.entries(e.required().shape))t[n]=r.nullable();return ze.object(t)}k();var Ht;(s=>{function e(a,i){let c=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return c.endsWith(" .*")&&(c=c.slice(0,-3)+"( .*)?"),new RegExp("^"+c+"$","s").test(a)}s.match=e;function t(a){return a.sort((i,c)=>{let p=i[0].length-c[0].length;return p!==0?p:i[0].localeCompare(c[0])})}function n(a,i){let c=Object.entries(i),p=t(c),l;for(let[u,g]of p)e(a,u)&&(l=g);return l}s.all=n;function r(a,i){let c=Object.entries(i),p=t(c),l;for(let[u,g]of p){let k=u.split(/\s+/);e(a.head,k[0])&&(k.length===1||o(a.tail,k.slice(1)))&&(l=g);}return l}s.allStructured=r;function o(a,i){if(i.length===0)return true;if(a.length<i.length)return false;for(let c=0;c<i.length;c++)if(!e(a[c],i[c]))return false;return true}})(Ht||(Ht={}));async function bl(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{Ir as $,$t as Archive,Nt as AsyncQueue,rt as Binary,Lt as Color,Bt as Context,ot as Encode,_t as EventLoop,Ft as Fetch,xt as Fn,ae as Identifier,bt as Ignore,jt as Keybind,me as Lazy,Dt as Locale,Ot as Markdown,ht as NamedError,_ as PKG,Pe as PkgShell,ct as SessionTitle,ne as Shell,At as Slug,zt as Token,st as TruncateContent,Ht as Wildcard,Wn as abortAfter,qo as abortAfterAny,Xe as buildCodeSpanIndex,jn as chunkMarkdownIR,ye as chunkText,St as chunkTextByBreakResolver,Qe as convertMarkdownTables,Ze as createInlineCodeState,ue as createPkgShell,ut as createRESTServer,lt as createRPCServer,ce as createServer,ft as createStreamingServer,dt as createWebSocketServer,Vo as defer,gn as detectPlatform,gt as escapeCommandArg,mn as escapeCommandArgSafe,Je as extractFrontmatter,Ct as findFenceSpanAt,Kn as findLast,Ar as fn,Go as formatDuration,it as formatLocalISO,at as formatLocalISOCompact,tr as formatLogTime,Ve as formatMarkdown,Bo as getDirectory,_o as getFileExtension,zn as getFilename,jo as getFilenameTruncated,Xo as getProxyConfig,Zo as getProxyUrl,nr as getTimezoneOffset,jr as git,qr as iife,bl as initLog,Nn as isSafeFenceBreak,ge as joinCommandArgs,_e as lazy,rr as lazyAsync,_r as loadEnv,Wr as loadTextFile,Ur as loadTextFileAsync,Se as markdownToIR,Fe as markdownToIRWithMeta,fn as needsShellExecution,Vt as now,Qn as nowLocalISO,oe as parseCommand,pn as parseCommandWithOptions,Ke as parseFenceSpans,$e as parseFrontmatterBlock,er as parseLocalISO,Yr as parseModelId,Ko as proxied,Er as readableStreamToText,ke as renderMarkdown,Ae as renderMarkdownWithMarkers,It as retry,wt as scanParenAwareBreakpoints,Ge as serializeFrontmatter,bn as shell,es as signal,ar as startServer,Do as truncateMiddle,rs as updateSchema,Cr as whichSync,ts as withTimeout,Qo as work};