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