@aiaiaichain/agent 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +153 -154
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,19 +1,19 @@
1
- var eA=Object.create;var ea=Object.defineProperty;var tA=Object.getOwnPropertyDescriptor;var rA=Object.getOwnPropertyNames;var nA=Object.getPrototypeOf,oA=Object.prototype.hasOwnProperty;var ae=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ve=(t,e)=>()=>(t&&(e=t(t=0)),e);var Je=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xt=(t,e)=>{for(var r in e)ea(t,r,{get:e[r],enumerable:!0})},sA=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of rA(e))!oA.call(t,o)&&o!==r&&ea(t,o,{get:()=>e[o],enumerable:!(n=tA(e,o))||n.enumerable});return t};var ta=(t,e,r)=>(r=t!=null?eA(nA(t)):{},sA(e||!t||!t.__esModule?ea(r,"default",{value:t,enumerable:!0}):r,t));var bu=Je((yC,iA)=>{iA.exports={name:"dotenv",version:"16.6.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var ku=Je((wC,Yt)=>{var ra=ae("fs"),rs=ae("path"),aA=ae("os"),cA=ae("crypto"),lA=bu(),na=lA.version,uA=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function dA(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,`
2
- `);let n;for(;(n=uA.exec(r))!=null;){let o=n[1],s=n[2]||"";s=s.trim();let i=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),i==='"'&&(s=s.replace(/\\n/g,`
3
- `),s=s.replace(/\\r/g,"\r")),e[o]=s}return e}function fA(t){t=t||{};let e=Cu(t);t.path=e;let r=Fe.configDotenv(t);if(!r.parsed){let i=new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);throw i.code="MISSING_DATA",i}let n=vu(t).split(","),o=n.length,s;for(let i=0;i<o;i++)try{let l=n[i].trim(),c=hA(r,l);s=Fe.decrypt(c.ciphertext,c.key);break}catch(l){if(i+1>=o)throw l}return Fe.parse(s)}function mA(t){console.log(`[dotenv@${na}][WARN] ${t}`)}function Zn(t){console.log(`[dotenv@${na}][DEBUG] ${t}`)}function xu(t){console.log(`[dotenv@${na}] ${t}`)}function vu(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function hA(t,e){let r;try{r=new URL(e)}catch(l){if(l.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw l}let n=r.password;if(!n){let l=new Error("INVALID_DOTENV_KEY: Missing key part");throw l.code="INVALID_DOTENV_KEY",l}let o=r.searchParams.get("environment");if(!o){let l=new Error("INVALID_DOTENV_KEY: Missing environment part");throw l.code="INVALID_DOTENV_KEY",l}let s=`DOTENV_VAULT_${o.toUpperCase()}`,i=t.parsed[s];if(!i){let l=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${s} in your .env.vault file.`);throw l.code="NOT_FOUND_DOTENV_ENVIRONMENT",l}return{ciphertext:i,key:n}}function Cu(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let r of t.path)ra.existsSync(r)&&(e=r.endsWith(".vault")?r:`${r}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=rs.resolve(process.cwd(),".env.vault");return ra.existsSync(e)?e:null}function Eu(t){return t[0]==="~"?rs.join(aA.homedir(),t.slice(1)):t}function pA(t){let e=!!(t&&t.debug),r=t&&"quiet"in t?t.quiet:!0;(e||!r)&&xu("Loading env from encrypted .env.vault");let n=Fe._parseVault(t),o=process.env;return t&&t.processEnv!=null&&(o=t.processEnv),Fe.populate(o,n,t),{parsed:n}}function gA(t){let e=rs.resolve(process.cwd(),".env"),r="utf8",n=!!(t&&t.debug),o=t&&"quiet"in t?t.quiet:!0;t&&t.encoding?r=t.encoding:n&&Zn("No encoding is specified. UTF-8 is used by default");let s=[e];if(t&&t.path)if(!Array.isArray(t.path))s=[Eu(t.path)];else{s=[];for(let f of t.path)s.push(Eu(f))}let i,l={};for(let f of s)try{let u=Fe.parse(ra.readFileSync(f,{encoding:r}));Fe.populate(l,u,t)}catch(u){n&&Zn(`Failed to load ${f} ${u.message}`),i=u}let c=process.env;if(t&&t.processEnv!=null&&(c=t.processEnv),Fe.populate(c,l,t),n||!o){let f=Object.keys(l).length,u=[];for(let a of s)try{let h=rs.relative(process.cwd(),a);u.push(h)}catch(h){n&&Zn(`Failed to load ${a} ${h.message}`),i=h}xu(`injecting env (${f}) from ${u.join(",")}`)}return i?{parsed:l,error:i}:{parsed:l}}function AA(t){if(vu(t).length===0)return Fe.configDotenv(t);let e=Cu(t);return e?Fe._configVault(t):(mA(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),Fe.configDotenv(t))}function yA(t,e){let r=Buffer.from(e.slice(-64),"hex"),n=Buffer.from(t,"base64"),o=n.subarray(0,12),s=n.subarray(-16);n=n.subarray(12,-16);try{let i=cA.createDecipheriv("aes-256-gcm",r,o);return i.setAuthTag(s),`${i.update(n)}${i.final()}`}catch(i){let l=i instanceof RangeError,c=i.message==="Invalid key length",f=i.message==="Unsupported state or unable to authenticate data";if(l||c){let u=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw u.code="INVALID_DOTENV_KEY",u}else if(f){let u=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw u.code="DECRYPTION_FAILED",u}else throw i}}function wA(t,e,r={}){let n=!!(r&&r.debug),o=!!(r&&r.override);if(typeof e!="object"){let s=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw s.code="OBJECT_REQUIRED",s}for(let s of Object.keys(e))Object.prototype.hasOwnProperty.call(t,s)?(o===!0&&(t[s]=e[s]),n&&Zn(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):t[s]=e[s]}var Fe={configDotenv:gA,_configVault:pA,_parseVault:fA,config:AA,decrypt:yA,parse:dA,populate:wA};Yt.exports.configDotenv=Fe.configDotenv;Yt.exports._configVault=Fe._configVault;Yt.exports._parseVault=Fe._parseVault;Yt.exports.config=Fe.config;Yt.exports.decrypt=Fe.decrypt;Yt.exports.parse=Fe.parse;Yt.exports.populate=Fe.populate;Yt.exports=Fe});var bA,_u,EA,xA,vt,Tu,Iu,un,Bu,Ru,to=ve(()=>{bA=Object.defineProperty,_u=(t,e)=>bA(t,"name",{value:e,configurable:!0}),EA=_u((t,e)=>{let r=t[0]-e[0];if(r===0){let n=t[1]-e[1];return n===0?t[2]>=e[2]:n>0}return r>0},"isVersionGreaterOrEqual"),xA=process.versions.node.split(".").map(Number),vt=_u((t,e=xA)=>{for(let r=0;r<t.length;r+=1){let n=t[r];if(r===t.length-1||e[0]===n[0])return EA(e,n)}return!1},"isFeatureSupported"),Tu=[[24,11,1],[25,1,0],[26,0,0]],Iu=[[18,19,0],[20,10,0],[21,0,0]],un=[[20,11,0],[21,3,0]],Bu=[[20,11,0],[21,2,0]],Ru=[[20,19,0],[22,12,0],[23,0,0]]});import vA from"node:path";import Ou from"node:os";var Pu,CA,ns,os=ve(()=>{({geteuid:Pu}=process),CA=Pu?Pu():Ou.userInfo().username,ns=vA.join(Ou.tmpdir(),`tsx-${CA}`)});import{createRequire as _A}from"module";import TA from"node:path";var kA,SA,$r,IA,$u,ro=ve(()=>{os();kA=Object.defineProperty,SA=(t,e)=>kA(t,"name",{value:e,configurable:!0}),$r=_A(import.meta.url),IA=process.platform==="win32",$u=SA(t=>{let e=TA.join(ns,`${t}.pipe`);return IA?`\\\\?\\pipe\\${e}`:e},"getPipePath")});var ua=Je((RC,sd)=>{"use strict";var la=Object.defineProperty,BA=Object.getOwnPropertyDescriptor,RA=Object.getOwnPropertyNames,PA=Object.prototype.hasOwnProperty,OA=(t,e)=>{for(var r in e)la(t,r,{get:e[r],enumerable:!0})},$A=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of RA(e))!PA.call(t,o)&&o!==r&&la(t,o,{get:()=>e[o],enumerable:!(n=BA(e,o))||n.enumerable});return t},LA=t=>$A(la({},"__esModule",{value:!0}),t),io={};OA(io,{analyzeMetafile:()=>f0,analyzeMetafileSync:()=>g0,build:()=>c0,buildSync:()=>m0,context:()=>l0,default:()=>b0,formatMessages:()=>d0,formatMessagesSync:()=>p0,initialize:()=>y0,stop:()=>A0,transform:()=>u0,transformSync:()=>h0,version:()=>a0});sd.exports=LA(io);function Lu(t){let e=n=>{if(n===null)r.write8(0);else if(typeof n=="boolean")r.write8(1),r.write8(+n);else if(typeof n=="number")r.write8(2),r.write32(n|0);else if(typeof n=="string")r.write8(3),r.write($t(n));else if(n instanceof Uint8Array)r.write8(4),r.write(n);else if(n instanceof Array){r.write8(5),r.write32(n.length);for(let o of n)e(o)}else{let o=Object.keys(n);r.write8(6),r.write32(o.length);for(let s of o)r.write($t(s)),e(n[s])}},r=new Gu;return r.write32(0),r.write32(t.id<<1|+!t.isRequest),e(t.value),ia(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function QA(t){let e=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return Mr(r.read());case 4:return r.read();case 5:{let i=r.read32(),l=[];for(let c=0;c<i;c++)l.push(e());return l}case 6:{let i=r.read32(),l={};for(let c=0;c<i;c++)l[Mr(r.read())]=e();return l}default:throw new Error("Invalid packet")}},r=new Gu(t),n=r.read32(),o=(n&1)===0;n>>>=1;let s=e();if(r.ptr!==t.length)throw new Error("Invalid packet");return{id:n,isRequest:o,value:s}}var Gu=class{constructor(t=new Uint8Array(1024)){this.buf=t,this.len=0,this.ptr=0}_write(t){if(this.len+t>this.buf.length){let e=new Uint8Array((this.len+t)*2);e.set(this.buf),this.buf=e}return this.len+=t,this.len-t}write8(t){let e=this._write(1);this.buf[e]=t}write32(t){let e=this._write(4);ia(this.buf,t,e)}write(t){let e=this._write(4+t.length);ia(this.buf,t.length,e),this.buf.set(t,e+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return qu(this.buf,this._read(4))}read(){let t=this.read32(),e=new Uint8Array(t),r=this._read(e.length);return e.set(this.buf.subarray(r,r+t)),e}},$t,Mr,sa;if(typeof TextEncoder<"u"&&typeof TextDecoder<"u"){let t=new TextEncoder,e=new TextDecoder;$t=r=>t.encode(r),Mr=r=>e.decode(r),sa='new TextEncoder().encode("")'}else if(typeof Buffer<"u")$t=t=>Buffer.from(t),Mr=t=>{let{buffer:e,byteOffset:r,byteLength:n}=t;return Buffer.from(e,r,n).toString()},sa='Buffer.from("")';else throw new Error("No UTF-8 codec found");if(!($t("")instanceof Uint8Array))throw new Error(`Invariant violation: "${sa} instanceof Uint8Array" is incorrectly false
1
+ var oA=Object.create;var ea=Object.defineProperty;var sA=Object.getOwnPropertyDescriptor;var iA=Object.getOwnPropertyNames;var aA=Object.getPrototypeOf,lA=Object.prototype.hasOwnProperty;var ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var xe=(t,e)=>()=>(t&&(e=t(t=0)),e);var Je=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),yt=(t,e)=>{for(var r in e)ea(t,r,{get:e[r],enumerable:!0})},cA=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of iA(e))!lA.call(t,o)&&o!==r&&ea(t,o,{get:()=>e[o],enumerable:!(n=sA(e,o))||n.enumerable});return t};var ta=(t,e,r)=>(r=t!=null?oA(aA(t)):{},cA(e||!t||!t.__esModule?ea(r,"default",{value:t,enumerable:!0}):r,t));var vu=Je((_C,uA)=>{uA.exports={name:"dotenv",version:"16.6.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Tu=Je((TC,Yt)=>{var ra=ie("fs"),ns=ie("path"),dA=ie("os"),fA=ie("crypto"),mA=vu(),na=mA.version,hA=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function pA(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,`
2
+ `);let n;for(;(n=hA.exec(r))!=null;){let o=n[1],s=n[2]||"";s=s.trim();let i=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),i==='"'&&(s=s.replace(/\\n/g,`
3
+ `),s=s.replace(/\\r/g,"\r")),e[o]=s}return e}function gA(t){t=t||{};let e=_u(t);t.path=e;let r=Fe.configDotenv(t);if(!r.parsed){let i=new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);throw i.code="MISSING_DATA",i}let n=Su(t).split(","),o=n.length,s;for(let i=0;i<o;i++)try{let l=n[i].trim(),c=yA(r,l);s=Fe.decrypt(c.ciphertext,c.key);break}catch(l){if(i+1>=o)throw l}return Fe.parse(s)}function AA(t){console.log(`[dotenv@${na}][WARN] ${t}`)}function Zn(t){console.log(`[dotenv@${na}][DEBUG] ${t}`)}function ku(t){console.log(`[dotenv@${na}] ${t}`)}function Su(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function yA(t,e){let r;try{r=new URL(e)}catch(l){if(l.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw l}let n=r.password;if(!n){let l=new Error("INVALID_DOTENV_KEY: Missing key part");throw l.code="INVALID_DOTENV_KEY",l}let o=r.searchParams.get("environment");if(!o){let l=new Error("INVALID_DOTENV_KEY: Missing environment part");throw l.code="INVALID_DOTENV_KEY",l}let s=`DOTENV_VAULT_${o.toUpperCase()}`,i=t.parsed[s];if(!i){let l=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${s} in your .env.vault file.`);throw l.code="NOT_FOUND_DOTENV_ENVIRONMENT",l}return{ciphertext:i,key:n}}function _u(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let r of t.path)ra.existsSync(r)&&(e=r.endsWith(".vault")?r:`${r}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=ns.resolve(process.cwd(),".env.vault");return ra.existsSync(e)?e:null}function Cu(t){return t[0]==="~"?ns.join(dA.homedir(),t.slice(1)):t}function wA(t){let e=!!(t&&t.debug),r=t&&"quiet"in t?t.quiet:!0;(e||!r)&&ku("Loading env from encrypted .env.vault");let n=Fe._parseVault(t),o=process.env;return t&&t.processEnv!=null&&(o=t.processEnv),Fe.populate(o,n,t),{parsed:n}}function bA(t){let e=ns.resolve(process.cwd(),".env"),r="utf8",n=!!(t&&t.debug),o=t&&"quiet"in t?t.quiet:!0;t&&t.encoding?r=t.encoding:n&&Zn("No encoding is specified. UTF-8 is used by default");let s=[e];if(t&&t.path)if(!Array.isArray(t.path))s=[Cu(t.path)];else{s=[];for(let f of t.path)s.push(Cu(f))}let i,l={};for(let f of s)try{let d=Fe.parse(ra.readFileSync(f,{encoding:r}));Fe.populate(l,d,t)}catch(d){n&&Zn(`Failed to load ${f} ${d.message}`),i=d}let c=process.env;if(t&&t.processEnv!=null&&(c=t.processEnv),Fe.populate(c,l,t),n||!o){let f=Object.keys(l).length,d=[];for(let a of s)try{let h=ns.relative(process.cwd(),a);d.push(h)}catch(h){n&&Zn(`Failed to load ${a} ${h.message}`),i=h}ku(`injecting env (${f}) from ${d.join(",")}`)}return i?{parsed:l,error:i}:{parsed:l}}function EA(t){if(Su(t).length===0)return Fe.configDotenv(t);let e=_u(t);return e?Fe._configVault(t):(AA(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),Fe.configDotenv(t))}function xA(t,e){let r=Buffer.from(e.slice(-64),"hex"),n=Buffer.from(t,"base64"),o=n.subarray(0,12),s=n.subarray(-16);n=n.subarray(12,-16);try{let i=fA.createDecipheriv("aes-256-gcm",r,o);return i.setAuthTag(s),`${i.update(n)}${i.final()}`}catch(i){let l=i instanceof RangeError,c=i.message==="Invalid key length",f=i.message==="Unsupported state or unable to authenticate data";if(l||c){let d=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw d.code="INVALID_DOTENV_KEY",d}else if(f){let d=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw d.code="DECRYPTION_FAILED",d}else throw i}}function vA(t,e,r={}){let n=!!(r&&r.debug),o=!!(r&&r.override);if(typeof e!="object"){let s=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw s.code="OBJECT_REQUIRED",s}for(let s of Object.keys(e))Object.prototype.hasOwnProperty.call(t,s)?(o===!0&&(t[s]=e[s]),n&&Zn(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):t[s]=e[s]}var Fe={configDotenv:bA,_configVault:wA,_parseVault:gA,config:EA,decrypt:xA,parse:pA,populate:vA};Yt.exports.configDotenv=Fe.configDotenv;Yt.exports._configVault=Fe._configVault;Yt.exports._parseVault=Fe._parseVault;Yt.exports.config=Fe.config;Yt.exports.decrypt=Fe.decrypt;Yt.exports.parse=Fe.parse;Yt.exports.populate=Fe.populate;Yt.exports=Fe});var CA,Bu,kA,SA,vt,Ru,Pu,un,$u,Ou,to=xe(()=>{CA=Object.defineProperty,Bu=(t,e)=>CA(t,"name",{value:e,configurable:!0}),kA=Bu((t,e)=>{let r=t[0]-e[0];if(r===0){let n=t[1]-e[1];return n===0?t[2]>=e[2]:n>0}return r>0},"isVersionGreaterOrEqual"),SA=process.versions.node.split(".").map(Number),vt=Bu((t,e=SA)=>{for(let r=0;r<t.length;r+=1){let n=t[r];if(r===t.length-1||e[0]===n[0])return kA(e,n)}return!1},"isFeatureSupported"),Ru=[[24,11,1],[25,1,0],[26,0,0]],Pu=[[18,19,0],[20,10,0],[21,0,0]],un=[[20,11,0],[21,3,0]],$u=[[20,11,0],[21,2,0]],Ou=[[20,19,0],[22,12,0],[23,0,0]]});import _A from"node:path";import Qu from"node:os";var Lu,TA,os,ss=xe(()=>{({geteuid:Lu}=process),TA=Lu?Lu():Qu.userInfo().username,os=_A.join(Qu.tmpdir(),`tsx-${TA}`)});import{createRequire as RA}from"module";import PA from"node:path";var IA,BA,Or,$A,Du,ro=xe(()=>{ss();IA=Object.defineProperty,BA=(t,e)=>IA(t,"name",{value:e,configurable:!0}),Or=RA(import.meta.url),$A=process.platform==="win32",Du=BA(t=>{let e=PA.join(os,`${t}.pipe`);return $A?`\\\\?\\pipe\\${e}`:e},"getPipePath")});var ua=Je((FC,ld)=>{"use strict";var ca=Object.defineProperty,OA=Object.getOwnPropertyDescriptor,LA=Object.getOwnPropertyNames,QA=Object.prototype.hasOwnProperty,DA=(t,e)=>{for(var r in e)ca(t,r,{get:e[r],enumerable:!0})},NA=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of LA(e))!QA.call(t,o)&&o!==r&&ca(t,o,{get:()=>e[o],enumerable:!(n=OA(e,o))||n.enumerable});return t},MA=t=>NA(ca({},"__esModule",{value:!0}),t),io={};DA(io,{analyzeMetafile:()=>g0,analyzeMetafileSync:()=>b0,build:()=>f0,buildSync:()=>A0,context:()=>m0,default:()=>C0,formatMessages:()=>p0,formatMessagesSync:()=>w0,initialize:()=>x0,stop:()=>E0,transform:()=>h0,transformSync:()=>y0,version:()=>d0});ld.exports=MA(io);function Nu(t){let e=n=>{if(n===null)r.write8(0);else if(typeof n=="boolean")r.write8(1),r.write8(+n);else if(typeof n=="number")r.write8(2),r.write32(n|0);else if(typeof n=="string")r.write8(3),r.write(Ot(n));else if(n instanceof Uint8Array)r.write8(4),r.write(n);else if(n instanceof Array){r.write8(5),r.write32(n.length);for(let o of n)e(o)}else{let o=Object.keys(n);r.write8(6),r.write32(o.length);for(let s of o)r.write(Ot(s)),e(n[s])}},r=new Yu;return r.write32(0),r.write32(t.id<<1|+!t.isRequest),e(t.value),ia(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function FA(t){let e=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return Mr(r.read());case 4:return r.read();case 5:{let i=r.read32(),l=[];for(let c=0;c<i;c++)l.push(e());return l}case 6:{let i=r.read32(),l={};for(let c=0;c<i;c++)l[Mr(r.read())]=e();return l}default:throw new Error("Invalid packet")}},r=new Yu(t),n=r.read32(),o=(n&1)===0;n>>>=1;let s=e();if(r.ptr!==t.length)throw new Error("Invalid packet");return{id:n,isRequest:o,value:s}}var Yu=class{constructor(t=new Uint8Array(1024)){this.buf=t,this.len=0,this.ptr=0}_write(t){if(this.len+t>this.buf.length){let e=new Uint8Array((this.len+t)*2);e.set(this.buf),this.buf=e}return this.len+=t,this.len-t}write8(t){let e=this._write(1);this.buf[e]=t}write32(t){let e=this._write(4);ia(this.buf,t,e)}write(t){let e=this._write(4+t.length);ia(this.buf,t.length,e),this.buf.set(t,e+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return Vu(this.buf,this._read(4))}read(){let t=this.read32(),e=new Uint8Array(t),r=this._read(e.length);return e.set(this.buf.subarray(r,r+t)),e}},Ot,Mr,sa;if(typeof TextEncoder<"u"&&typeof TextDecoder<"u"){let t=new TextEncoder,e=new TextDecoder;Ot=r=>t.encode(r),Mr=r=>e.decode(r),sa='new TextEncoder().encode("")'}else if(typeof Buffer<"u")Ot=t=>Buffer.from(t),Mr=t=>{let{buffer:e,byteOffset:r,byteLength:n}=t;return Buffer.from(e,r,n).toString()},sa='Buffer.from("")';else throw new Error("No UTF-8 codec found");if(!(Ot("")instanceof Uint8Array))throw new Error(`Invariant violation: "${sa} instanceof Uint8Array" is incorrectly false
4
4
 
5
5
  This indicates that your JavaScript environment is broken. You cannot use
6
6
  esbuild in this environment because esbuild relies on this invariant. This
7
7
  is not a problem with esbuild. You need to fix your environment instead.
8
- `);function qu(t,e){return(t[e++]|t[e++]<<8|t[e++]<<16|t[e++]<<24)>>>0}function ia(t,e,r){t[r++]=e,t[r++]=e>>8,t[r++]=e>>16,t[r++]=e>>24}var Ht=String.fromCharCode;function Ct(t,e,r){let n=t[e],o=1,s=0;for(let i=0;i<e;i++)t[i]===10?(o++,s=0):s++;throw new SyntaxError(r||(e===t.length?"Unexpected end of input while parsing JSON":n>=32&&n<=126?`Unexpected character ${Ht(n)} in JSON at position ${e} (line ${o}, column ${s})`:`Unexpected byte 0x${n.toString(16)} in JSON at position ${e} (line ${o}, column ${s})`))}function DA(t){if(!(t instanceof Uint8Array))throw new Error("JSON input must be a Uint8Array");let e=[],r=[],n=[],o=t.length,s=null,i=0,l,c=0;for(;c<o;){let f=t[c++];if(f<=32)continue;let u;switch(i===2&&s===null&&f!==34&&f!==125&&Ct(t,--c),f){case 116:{(t[c++]!==114||t[c++]!==117||t[c++]!==101)&&Ct(t,--c),u=!0;break}case 102:{(t[c++]!==97||t[c++]!==108||t[c++]!==115||t[c++]!==101)&&Ct(t,--c),u=!1;break}case 110:{(t[c++]!==117||t[c++]!==108||t[c++]!==108)&&Ct(t,--c),u=null;break}case 45:case 46:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:{let a=c;for(u=Ht(f),f=t[c];;){switch(f){case 43:case 45:case 46:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 101:case 69:{u+=Ht(f),f=t[++c];continue}}break}u=+u,isNaN(u)&&Ct(t,--a,"Invalid number");break}case 34:{for(u="";c>=o&&Ct(t,o),f=t[c++],f!==34;)if(f===92)switch(t[c++]){case 34:u+='"';break;case 47:u+="/";break;case 92:u+="\\";break;case 98:u+="\b";break;case 102:u+="\f";break;case 110:u+=`
9
- `;break;case 114:u+="\r";break;case 116:u+=" ";break;case 117:{let a=0;for(let h=0;h<4;h++)f=t[c++],a<<=4,f>=48&&f<=57?a|=f-48:f>=97&&f<=102?a|=f+-87:f>=65&&f<=70?a|=f+-55:Ct(t,--c);u+=Ht(a);break}default:Ct(t,--c);break}else if(f<=127)u+=Ht(f);else if((f&224)===192)u+=Ht((f&31)<<6|t[c++]&63);else if((f&240)===224)u+=Ht((f&15)<<12|(t[c++]&63)<<6|t[c++]&63);else if((f&248)==240){let a=(f&7)<<18|(t[c++]&63)<<12|(t[c++]&63)<<6|t[c++]&63;a>65535&&(a-=65536,u+=Ht(a>>10&1023|55296),a=56320|a&1023),u+=Ht(a)}u[0];break}case 91:{u=[],e.push(s),r.push(l),n.push(i),s=null,l=u,i=1;continue}case 123:{u={},e.push(s),r.push(l),n.push(i),s=null,l=u,i=2;continue}case 93:{i!==1&&Ct(t,--c),u=l,s=e.pop(),l=r.pop(),i=n.pop();break}case 125:{i!==2&&Ct(t,--c),u=l,s=e.pop(),l=r.pop(),i=n.pop();break}default:Ct(t,--c)}for(f=t[c];f<=32;)f=t[++c];switch(i){case 0:{if(c===o)return u;break}case 1:{if(l.push(u),f===44){c++;continue}if(f===93)continue;break}case 2:{if(s===null){if(s=u,f===58){c++;continue}}else{if(l[s]=u,s=null,f===44){c++;continue}if(f===125)continue}break}}break}Ct(t,c)}var Ne=JSON.stringify,Qu="warning",Du="silent";function fn(t,e){let r=[];for(let n of t){if(ft(n,e),n.indexOf(",")>=0)throw new Error(`Invalid ${e}: ${n}`);r.push(n)}return r.join(",")}var as=()=>null,Se=t=>typeof t=="boolean"?null:"a boolean",Z=t=>typeof t=="string"?null:"a string",cs=t=>t instanceof RegExp?null:"a RegExp object",Qr=t=>typeof t=="number"&&t===(t|0)?null:"an integer",NA=t=>typeof t=="number"&&t===(t|0)&&t>=0&&t<=65535?null:"a valid port number",Ju=t=>typeof t=="function"?null:"a function",Vt=t=>Array.isArray(t)?null:"an array",mt=t=>Array.isArray(t)&&t.every(e=>typeof e=="string")?null:"an array of strings",yt=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)?null:"an object",MA=t=>typeof t=="object"&&t!==null?null:"an array or an object",FA=t=>t instanceof WebAssembly.Module?null:"a WebAssembly.Module",Nu=t=>typeof t=="object"&&!Array.isArray(t)?null:"an object or null",Yu=t=>typeof t=="string"||typeof t=="boolean"?null:"a string or a boolean",UA=t=>typeof t=="string"||typeof t=="object"&&t!==null&&!Array.isArray(t)?null:"a string or an object",Hu=t=>typeof t=="string"||Array.isArray(t)&&t.every(e=>typeof e=="string")?null:"a string or an array of strings",Vu=t=>typeof t=="string"||t instanceof Uint8Array?null:"a string or a Uint8Array",jA=t=>typeof t=="string"||t instanceof URL?null:"a string or a URL";function _(t,e,r,n){let o=t[r];if(e[r+""]=!0,o===void 0)return;let s=n(o);if(s!==null)throw new Error(`${Ne(r)} must be ${s}`);return o}function De(t,e,r){for(let n in t)if(!(n in e))throw new Error(`Invalid option ${r}: ${Ne(n)}`)}function KA(t){let e=Object.create(null),r=_(t,e,"wasmURL",jA),n=_(t,e,"wasmModule",FA),o=_(t,e,"worker",Se);return De(t,e,"in initialize() call"),{wasmURL:r,wasmModule:n,worker:o}}function zu(t){let e;if(t!==void 0){e=Object.create(null);for(let r in t){let n=t[r];if(typeof n=="string"||n===!1)e[r]=n;else throw new Error(`Expected ${Ne(r)} in mangle cache to map to either a string or false`)}}return e}function ms(t,e,r,n,o){let s=_(e,r,"color",Se),i=_(e,r,"logLevel",Z),l=_(e,r,"logLimit",Qr);s!==void 0?t.push(`--color=${s}`):n&&t.push("--color=true"),t.push(`--log-level=${i||o}`),t.push(`--log-limit=${l||0}`)}function ft(t,e,r){if(typeof t!="string")throw new Error(`Expected value for ${e}${r!==void 0?" "+Ne(r):""} to be a string, got ${typeof t} instead`);return t}function Xu(t,e,r){let n=_(e,r,"legalComments",Z),o=_(e,r,"sourceRoot",Z),s=_(e,r,"sourcesContent",Se),i=_(e,r,"target",Hu),l=_(e,r,"format",Z),c=_(e,r,"globalName",Z),f=_(e,r,"mangleProps",cs),u=_(e,r,"reserveProps",cs),a=_(e,r,"mangleQuoted",Se),h=_(e,r,"minify",Se),p=_(e,r,"minifySyntax",Se),A=_(e,r,"minifyWhitespace",Se),C=_(e,r,"minifyIdentifiers",Se),g=_(e,r,"lineLimit",Qr),w=_(e,r,"drop",mt),$=_(e,r,"dropLabels",mt),k=_(e,r,"charset",Z),I=_(e,r,"treeShaking",Se),v=_(e,r,"ignoreAnnotations",Se),S=_(e,r,"jsx",Z),B=_(e,r,"jsxFactory",Z),U=_(e,r,"jsxFragment",Z),D=_(e,r,"jsxImportSource",Z),Q=_(e,r,"jsxDev",Se),O=_(e,r,"jsxSideEffects",Se),L=_(e,r,"define",yt),F=_(e,r,"logOverride",yt),W=_(e,r,"supported",yt),V=_(e,r,"pure",mt),oe=_(e,r,"keepNames",Se),te=_(e,r,"platform",Z),ie=_(e,r,"tsconfigRaw",UA),re=_(e,r,"absPaths",mt);if(n&&t.push(`--legal-comments=${n}`),o!==void 0&&t.push(`--source-root=${o}`),s!==void 0&&t.push(`--sources-content=${s}`),i&&t.push(`--target=${fn(Array.isArray(i)?i:[i],"target")}`),l&&t.push(`--format=${l}`),c&&t.push(`--global-name=${c}`),te&&t.push(`--platform=${te}`),ie&&t.push(`--tsconfig-raw=${typeof ie=="string"?ie:JSON.stringify(ie)}`),h&&t.push("--minify"),p&&t.push("--minify-syntax"),A&&t.push("--minify-whitespace"),C&&t.push("--minify-identifiers"),g&&t.push(`--line-limit=${g}`),k&&t.push(`--charset=${k}`),I!==void 0&&t.push(`--tree-shaking=${I}`),v&&t.push("--ignore-annotations"),w)for(let J of w)t.push(`--drop:${ft(J,"drop")}`);if($&&t.push(`--drop-labels=${fn($,"drop label")}`),re&&t.push(`--abs-paths=${fn(re,"abs paths")}`),f&&t.push(`--mangle-props=${ls(f)}`),u&&t.push(`--reserve-props=${ls(u)}`),a!==void 0&&t.push(`--mangle-quoted=${a}`),S&&t.push(`--jsx=${S}`),B&&t.push(`--jsx-factory=${B}`),U&&t.push(`--jsx-fragment=${U}`),D&&t.push(`--jsx-import-source=${D}`),Q&&t.push("--jsx-dev"),O&&t.push("--jsx-side-effects"),L)for(let J in L){if(J.indexOf("=")>=0)throw new Error(`Invalid define: ${J}`);t.push(`--define:${J}=${ft(L[J],"define",J)}`)}if(F)for(let J in F){if(J.indexOf("=")>=0)throw new Error(`Invalid log override: ${J}`);t.push(`--log-override:${J}=${ft(F[J],"log override",J)}`)}if(W)for(let J in W){if(J.indexOf("=")>=0)throw new Error(`Invalid supported: ${J}`);let le=W[J];if(typeof le!="boolean")throw new Error(`Expected value for supported ${Ne(J)} to be a boolean, got ${typeof le} instead`);t.push(`--supported:${J}=${le}`)}if(V)for(let J of V)t.push(`--pure:${ft(J,"pure")}`);oe&&t.push("--keep-names")}function WA(t,e,r,n,o){var s;let i=[],l=[],c=Object.create(null),f=null,u=null;ms(i,e,c,r,n),Xu(i,e,c);let a=_(e,c,"sourcemap",Yu),h=_(e,c,"bundle",Se),p=_(e,c,"splitting",Se),A=_(e,c,"preserveSymlinks",Se),C=_(e,c,"metafile",Se),g=_(e,c,"outfile",Z),w=_(e,c,"outdir",Z),$=_(e,c,"outbase",Z),k=_(e,c,"tsconfig",Z),I=_(e,c,"resolveExtensions",mt),v=_(e,c,"nodePaths",mt),S=_(e,c,"mainFields",mt),B=_(e,c,"conditions",mt),U=_(e,c,"external",mt),D=_(e,c,"packages",Z),Q=_(e,c,"alias",yt),O=_(e,c,"loader",yt),L=_(e,c,"outExtension",yt),F=_(e,c,"publicPath",Z),W=_(e,c,"entryNames",Z),V=_(e,c,"chunkNames",Z),oe=_(e,c,"assetNames",Z),te=_(e,c,"inject",mt),ie=_(e,c,"banner",yt),re=_(e,c,"footer",yt),J=_(e,c,"entryPoints",MA),le=_(e,c,"absWorkingDir",Z),ue=_(e,c,"stdin",yt),ce=(s=_(e,c,"write",Se))!=null?s:o,ye=_(e,c,"allowOverwrite",Se),we=_(e,c,"mangleCache",yt);if(c.plugins=!0,De(e,c,`in ${t}() call`),a&&i.push(`--sourcemap${a===!0?"":`=${a}`}`),h&&i.push("--bundle"),ye&&i.push("--allow-overwrite"),p&&i.push("--splitting"),A&&i.push("--preserve-symlinks"),C&&i.push("--metafile"),g&&i.push(`--outfile=${g}`),w&&i.push(`--outdir=${w}`),$&&i.push(`--outbase=${$}`),k&&i.push(`--tsconfig=${k}`),D&&i.push(`--packages=${D}`),I&&i.push(`--resolve-extensions=${fn(I,"resolve extension")}`),F&&i.push(`--public-path=${F}`),W&&i.push(`--entry-names=${W}`),V&&i.push(`--chunk-names=${V}`),oe&&i.push(`--asset-names=${oe}`),S&&i.push(`--main-fields=${fn(S,"main field")}`),B&&i.push(`--conditions=${fn(B,"condition")}`),U)for(let T of U)i.push(`--external:${ft(T,"external")}`);if(Q)for(let T in Q){if(T.indexOf("=")>=0)throw new Error(`Invalid package name in alias: ${T}`);i.push(`--alias:${T}=${ft(Q[T],"alias",T)}`)}if(ie)for(let T in ie){if(T.indexOf("=")>=0)throw new Error(`Invalid banner file type: ${T}`);i.push(`--banner:${T}=${ft(ie[T],"banner",T)}`)}if(re)for(let T in re){if(T.indexOf("=")>=0)throw new Error(`Invalid footer file type: ${T}`);i.push(`--footer:${T}=${ft(re[T],"footer",T)}`)}if(te)for(let T of te)i.push(`--inject:${ft(T,"inject")}`);if(O)for(let T in O){if(T.indexOf("=")>=0)throw new Error(`Invalid loader extension: ${T}`);i.push(`--loader:${T}=${ft(O[T],"loader",T)}`)}if(L)for(let T in L){if(T.indexOf("=")>=0)throw new Error(`Invalid out extension: ${T}`);i.push(`--out-extension:${T}=${ft(L[T],"out extension",T)}`)}if(J)if(Array.isArray(J))for(let T=0,He=J.length;T<He;T++){let Pe=J[T];if(typeof Pe=="object"&&Pe!==null){let tt=Object.create(null),ut=_(Pe,tt,"in",Z),qe=_(Pe,tt,"out",Z);if(De(Pe,tt,"in entry point at index "+T),ut===void 0)throw new Error('Missing property "in" for entry point at index '+T);if(qe===void 0)throw new Error('Missing property "out" for entry point at index '+T);l.push([qe,ut])}else l.push(["",ft(Pe,"entry point at index "+T)])}else for(let T in J)l.push([T,ft(J[T],"entry point",T)]);if(ue){let T=Object.create(null),He=_(ue,T,"contents",Vu),Pe=_(ue,T,"resolveDir",Z),tt=_(ue,T,"sourcefile",Z),ut=_(ue,T,"loader",Z);De(ue,T,'in "stdin" object'),tt&&i.push(`--sourcefile=${tt}`),ut&&i.push(`--loader=${ut}`),Pe&&(u=Pe),typeof He=="string"?f=$t(He):He instanceof Uint8Array&&(f=He)}let be=[];if(v)for(let T of v)T+="",be.push(T);return{entries:l,flags:i,write:ce,stdinContents:f,stdinResolveDir:u,absWorkingDir:le,nodePaths:be,mangleCache:zu(we)}}function GA(t,e,r,n){let o=[],s=Object.create(null);ms(o,e,s,r,n),Xu(o,e,s);let i=_(e,s,"sourcemap",Yu),l=_(e,s,"sourcefile",Z),c=_(e,s,"loader",Z),f=_(e,s,"banner",Z),u=_(e,s,"footer",Z),a=_(e,s,"mangleCache",yt);return De(e,s,`in ${t}() call`),i&&o.push(`--sourcemap=${i===!0?"external":i}`),l&&o.push(`--sourcefile=${l}`),c&&o.push(`--loader=${c}`),f&&o.push(`--banner=${f}`),u&&o.push(`--footer=${u}`),{flags:o,mangleCache:zu(a)}}function Zu(t){let e={},r={didClose:!1,reason:""},n={},o=0,s=0,i=new Uint8Array(16*1024),l=0,c=k=>{let I=l+k.length;if(I>i.length){let S=new Uint8Array(I*2);S.set(i),i=S}i.set(k,l),l+=k.length;let v=0;for(;v+4<=l;){let S=qu(i,v);if(v+4+S>l)break;v+=4,A(i.subarray(v,v+S)),v+=S}v>0&&(i.copyWithin(0,v,l),l-=v)},f=k=>{r.didClose=!0,k&&(r.reason=": "+(k.message||k));let I="The service was stopped"+r.reason;for(let v in n)n[v](I,null);n={}},u=(k,I,v)=>{if(r.didClose)return v("The service is no longer running"+r.reason,null);let S=o++;n[S]=(B,U)=>{try{v(B,U)}finally{k&&k.unref()}},k&&k.ref(),t.writeToStdin(Lu({id:S,isRequest:!0,value:I}))},a=(k,I)=>{if(r.didClose)throw new Error("The service is no longer running"+r.reason);t.writeToStdin(Lu({id:k,isRequest:!1,value:I}))},h=async(k,I)=>{try{if(I.command==="ping"){a(k,{});return}if(typeof I.key=="number"){let v=e[I.key];if(!v)return;let S=v[I.command];if(S){await S(k,I);return}}throw new Error("Invalid command: "+I.command)}catch(v){let S=[Lr(v,t,null,void 0,"")];try{a(k,{errors:S})}catch{}}},p=!0,A=k=>{if(p){p=!1;let v=String.fromCharCode(...k);if(v!=="0.28.1")throw new Error(`Cannot start service: Host version "0.28.1" does not match binary version ${Ne(v)}`);return}let I=QA(k);if(I.isRequest)h(I.id,I.value);else{let v=n[I.id];delete n[I.id],I.value.error?v(I.value.error,{}):v(null,I.value)}};return{readFromStdout:c,afterClose:f,service:{buildOrContext:({callName:k,refs:I,options:v,isTTY:S,defaultWD:B,callback:U})=>{let D=0,Q=s++,O={},L={ref(){++D===1&&I&&I.ref()},unref(){--D===0&&(delete e[Q],I&&I.unref())}};e[Q]=O,L.ref(),qA(k,Q,u,a,L,t,O,v,S,B,(F,W)=>{try{U(F,W)}finally{L.unref()}})},transform:({callName:k,refs:I,input:v,options:S,isTTY:B,fs:U,callback:D})=>{let Q=ed(),O=L=>{try{if(typeof v!="string"&&!(v instanceof Uint8Array))throw new Error('The input to "transform" must be a string or a Uint8Array');let{flags:F,mangleCache:W}=GA(k,S,B,Du),V={command:"transform",flags:F,inputFS:L!==null,input:L!==null?$t(L):typeof v=="string"?$t(v):v};W&&(V.mangleCache=W),u(I,V,(oe,te)=>{if(oe)return D(new Error(oe),null);let ie=mn(te.errors,Q),re=mn(te.warnings,Q),J=1,le=()=>{if(--J===0){let ue={warnings:re,code:te.code,map:te.map,mangleCache:void 0,legalComments:void 0};"legalComments"in te&&(ue.legalComments=te?.legalComments),te.mangleCache&&(ue.mangleCache=te?.mangleCache),D(null,ue)}};if(ie.length>0)return D(oo("Transform failed",ie,re),null);te.codeFS&&(J++,U.readFile(te.code,(ue,ce)=>{ue!==null?D(ue,null):(te.code=ce,le())})),te.mapFS&&(J++,U.readFile(te.map,(ue,ce)=>{ue!==null?D(ue,null):(te.map=ce,le())})),le()})}catch(F){let W=[];try{ms(W,S,{},B,Du)}catch{}let V=Lr(F,t,Q,void 0,"");u(I,{command:"error",flags:W,error:V},()=>{V.detail=Q.load(V.detail),D(oo("Transform failed",[V],[]),null)})}};if((typeof v=="string"||v instanceof Uint8Array)&&v.length>1024*1024){let L=O;O=()=>U.writeFile(v,L)}O(null)},formatMessages:({callName:k,refs:I,messages:v,options:S,callback:B})=>{if(!S)throw new Error(`Missing second argument in ${k}() call`);let U={},D=_(S,U,"kind",Z),Q=_(S,U,"color",Se),O=_(S,U,"terminalWidth",Qr);if(De(S,U,`in ${k}() call`),D===void 0)throw new Error(`Missing "kind" in ${k}() call`);if(D!=="error"&&D!=="warning")throw new Error(`Expected "kind" to be "error" or "warning" in ${k}() call`);let L={command:"format-msgs",messages:zt(v,"messages",null,"",O),isWarning:D==="warning"};Q!==void 0&&(L.color=Q),O!==void 0&&(L.terminalWidth=O),u(I,L,(F,W)=>{if(F)return B(new Error(F),null);B(null,W.messages)})},analyzeMetafile:({callName:k,refs:I,metafile:v,options:S,callback:B})=>{S===void 0&&(S={});let U={},D=_(S,U,"color",Se),Q=_(S,U,"verbose",Se);De(S,U,`in ${k}() call`);let O={command:"analyze-metafile",metafile:v};D!==void 0&&(O.color=D),Q!==void 0&&(O.verbose=Q),u(I,O,(L,F)=>{if(L)return B(new Error(L),null);B(null,F.result)})}}}}function qA(t,e,r,n,o,s,i,l,c,f,u){let a=ed(),h=t==="context",p=(g,w)=>{let $=[];try{ms($,l,{},c,Qu)}catch{}let k=Lr(g,s,a,void 0,w);r(o,{command:"error",flags:$,error:k},()=>{k.detail=a.load(k.detail),u(oo(h?"Context failed":"Build failed",[k],[]),null)})},A;if(typeof l=="object"){let g=l.plugins;if(g!==void 0){if(!Array.isArray(g))return p(new Error('"plugins" must be an array'),"");A=g}}if(A&&A.length>0){if(s.isSync)return p(new Error("Cannot use plugins in synchronous API calls"),"");JA(e,r,n,o,s,i,l,A,a).then(g=>{if(!g.ok)return p(g.error,g.pluginName);try{C(g.requestPlugins,g.runOnEndCallbacks,g.scheduleOnDisposeCallbacks)}catch(w){p(w,"")}},g=>p(g,""));return}try{C(null,(g,w)=>w([],[]),()=>{})}catch(g){p(g,"")}function C(g,w,$){let k=s.hasFS,{entries:I,flags:v,write:S,stdinContents:B,stdinResolveDir:U,absWorkingDir:D,nodePaths:Q,mangleCache:O}=WA(t,l,c,Qu,k);if(S&&!s.hasFS)throw new Error('The "write" option is unavailable in this environment');let L={command:"build",key:e,entries:I,flags:v,write:S,stdinContents:B,stdinResolveDir:U,absWorkingDir:D||f,nodePaths:Q,context:h};g&&(L.plugins=g),O&&(L.mangleCache=O);let F=(oe,te)=>{let ie={errors:mn(oe.errors,a),warnings:mn(oe.warnings,a),outputFiles:void 0,metafile:void 0,mangleCache:void 0},re=ie.errors.slice(),J=ie.warnings.slice();oe.outputFiles&&(ie.outputFiles=oe.outputFiles.map(HA)),oe.metafile&&oe.metafile.length&&(ie.metafile=VA(oe.metafile)),oe.mangleCache&&(ie.mangleCache=oe.mangleCache),oe.writeToStdout!==void 0&&console.log(Mr(oe.writeToStdout).replace(/\n$/,"")),w(ie,(le,ue)=>{if(re.length>0||le.length>0){let ce=oo("Build failed",re.concat(le),J.concat(ue));return te(ce,null,le,ue)}te(null,ie,le,ue)})},W,V;h&&(i["on-end"]=(oe,te)=>new Promise(ie=>{F(te,(re,J,le,ue)=>{let ce={errors:le,warnings:ue};V&&V(re,J),W=void 0,V=void 0,n(oe,ce),ie()})})),r(o,L,(oe,te)=>{if(oe)return u(new Error(oe),null);if(!h)return F(te,(J,le)=>($(),u(J,le)));if(te.errors.length>0)return u(oo("Context failed",te.errors,te.warnings),null);let ie=!1,re={rebuild:()=>(W||(W=new Promise((J,le)=>{let ue;V=(ye,we)=>{ue||(ue=()=>ye?le(ye):J(we))};let ce=()=>{r(o,{command:"rebuild",key:e},(we,be)=>{we?le(new Error(we)):ue?ue():ce()})};ce()})),W),watch:(J={})=>new Promise((le,ue)=>{if(!s.hasFS)throw new Error('Cannot use the "watch" API in this environment');let ce={},ye=_(J,ce,"delay",Qr);De(J,ce,"in watch() call");let we={command:"watch",key:e};ye&&(we.delay=ye),r(o,we,be=>{be?ue(new Error(be)):le(void 0)})}),serve:(J={})=>new Promise((le,ue)=>{if(!s.hasFS)throw new Error('Cannot use the "serve" API in this environment');let ce={},ye=_(J,ce,"port",NA),we=_(J,ce,"host",Z),be=_(J,ce,"servedir",Z),T=_(J,ce,"keyfile",Z),He=_(J,ce,"certfile",Z),Pe=_(J,ce,"fallback",Z),tt=_(J,ce,"cors",yt),ut=_(J,ce,"onRequest",Ju);De(J,ce,"in serve() call");let qe={command:"serve",key:e,onRequest:!!ut};if(ye!==void 0&&(qe.port=ye),we!==void 0&&(qe.host=we),be!==void 0&&(qe.servedir=be),T!==void 0&&(qe.keyfile=T),He!==void 0&&(qe.certfile=He),Pe!==void 0&&(qe.fallback=Pe),tt){let Ft={},Ot=_(tt,Ft,"origin",Hu);De(tt,Ft,'on "cors" object'),Array.isArray(Ot)?qe.corsOrigin=Ot:Ot!==void 0&&(qe.corsOrigin=[Ot])}r(o,qe,(Ft,Ot)=>{if(Ft)return ue(new Error(Ft));ut&&(i["serve-request"]=(lr,ln)=>{ut(ln.args),n(lr,{})}),le(Ot)})}),cancel:()=>new Promise(J=>{if(ie)return J();r(o,{command:"cancel",key:e},()=>{J()})}),dispose:()=>new Promise(J=>{if(ie)return J();ie=!0,r(o,{command:"dispose",key:e},()=>{J(),$(),o.unref()})})};o.ref(),u(null,re)})}}var JA=async(t,e,r,n,o,s,i,l,c)=>{let f=[],u=[],a={},h={},p=[],A=0,C=0,g=[],w=!1;l=[...l];for(let I of l){let v={};if(typeof I!="object")throw new Error(`Plugin at index ${C} must be an object`);let S=_(I,v,"name",Z);if(typeof S!="string"||S==="")throw new Error(`Plugin at index ${C} is missing a name`);try{let B=_(I,v,"setup",Ju);if(typeof B!="function")throw new Error("Plugin is missing a setup function");De(I,v,`on plugin ${Ne(S)}`);let U={name:S,onStart:!1,onEnd:!1,onResolve:[],onLoad:[]};C++;let Q=B({initialOptions:i,resolve:(O,L={})=>{if(!w)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof O!="string")throw new Error("The path to resolve must be a string");let F=Object.create(null),W=_(L,F,"pluginName",Z),V=_(L,F,"importer",Z),oe=_(L,F,"namespace",Z),te=_(L,F,"resolveDir",Z),ie=_(L,F,"kind",Z),re=_(L,F,"pluginData",as),J=_(L,F,"with",yt);return De(L,F,"in resolve() call"),new Promise((le,ue)=>{let ce={command:"resolve",path:O,key:t,pluginName:S};if(W!=null&&(ce.pluginName=W),V!=null&&(ce.importer=V),oe!=null&&(ce.namespace=oe),te!=null&&(ce.resolveDir=te),ie!=null)ce.kind=ie;else throw new Error('Must specify "kind" when calling "resolve"');re!=null&&(ce.pluginData=c.store(re)),J!=null&&(ce.with=YA(J,"with")),e(n,ce,(ye,we)=>{ye!==null?ue(new Error(ye)):le({errors:mn(we.errors,c),warnings:mn(we.warnings,c),path:we.path,external:we.external,sideEffects:we.sideEffects,namespace:we.namespace,suffix:we.suffix,pluginData:c.load(we.pluginData)})})})},onStart(O){let L='This error came from the "onStart" callback registered here:',F=ss(new Error(L),o,"onStart");f.push({name:S,callback:O,note:F}),U.onStart=!0},onEnd(O){let L='This error came from the "onEnd" callback registered here:',F=ss(new Error(L),o,"onEnd");u.push({name:S,callback:O,note:F}),U.onEnd=!0},onResolve(O,L){let F='This error came from the "onResolve" callback registered here:',W=ss(new Error(F),o,"onResolve"),V={},oe=_(O,V,"filter",cs),te=_(O,V,"namespace",Z);if(De(O,V,`in onResolve() call for plugin ${Ne(S)}`),oe==null)throw new Error("onResolve() call is missing a filter");let ie=A++;a[ie]={name:S,callback:L,note:W},U.onResolve.push({id:ie,filter:ls(oe),namespace:te||""})},onLoad(O,L){let F='This error came from the "onLoad" callback registered here:',W=ss(new Error(F),o,"onLoad"),V={},oe=_(O,V,"filter",cs),te=_(O,V,"namespace",Z);if(De(O,V,`in onLoad() call for plugin ${Ne(S)}`),oe==null)throw new Error("onLoad() call is missing a filter");let ie=A++;h[ie]={name:S,callback:L,note:W},U.onLoad.push({id:ie,filter:ls(oe),namespace:te||""})},onDispose(O){p.push(O)},esbuild:o.esbuild});Q&&await Q,g.push(U)}catch(B){return{ok:!1,error:B,pluginName:S}}}s["on-start"]=async(I,v)=>{c.clear();let S={errors:[],warnings:[]};await Promise.all(f.map(async({name:B,callback:U,note:D})=>{try{let Q=await U();if(Q!=null){if(typeof Q!="object")throw new Error(`Expected onStart() callback in plugin ${Ne(B)} to return an object`);let O={},L=_(Q,O,"errors",Vt),F=_(Q,O,"warnings",Vt);De(Q,O,`from onStart() callback in plugin ${Ne(B)}`),L!=null&&S.errors.push(...zt(L,"errors",c,B,void 0)),F!=null&&S.warnings.push(...zt(F,"warnings",c,B,void 0))}}catch(Q){S.errors.push(Lr(Q,o,c,D&&D(),B))}})),r(I,S)},s["on-resolve"]=async(I,v)=>{let S={},B="",U,D;for(let Q of v.ids)try{({name:B,callback:U,note:D}=a[Q]);let O=await U({path:v.path,importer:v.importer,namespace:v.namespace,resolveDir:v.resolveDir,kind:v.kind,pluginData:c.load(v.pluginData),with:v.with});if(O!=null){if(typeof O!="object")throw new Error(`Expected onResolve() callback in plugin ${Ne(B)} to return an object`);let L={},F=_(O,L,"pluginName",Z),W=_(O,L,"path",Z),V=_(O,L,"namespace",Z),oe=_(O,L,"suffix",Z),te=_(O,L,"external",Se),ie=_(O,L,"sideEffects",Se),re=_(O,L,"pluginData",as),J=_(O,L,"errors",Vt),le=_(O,L,"warnings",Vt),ue=_(O,L,"watchFiles",mt),ce=_(O,L,"watchDirs",mt);De(O,L,`from onResolve() callback in plugin ${Ne(B)}`),S.id=Q,F!=null&&(S.pluginName=F),W!=null&&(S.path=W),V!=null&&(S.namespace=V),oe!=null&&(S.suffix=oe),te!=null&&(S.external=te),ie!=null&&(S.sideEffects=ie),re!=null&&(S.pluginData=c.store(re)),J!=null&&(S.errors=zt(J,"errors",c,B,void 0)),le!=null&&(S.warnings=zt(le,"warnings",c,B,void 0)),ue!=null&&(S.watchFiles=is(ue,"watchFiles")),ce!=null&&(S.watchDirs=is(ce,"watchDirs"));break}}catch(O){S={id:Q,errors:[Lr(O,o,c,D&&D(),B)]};break}r(I,S)},s["on-load"]=async(I,v)=>{let S={},B="",U,D;for(let Q of v.ids)try{({name:B,callback:U,note:D}=h[Q]);let O=await U({path:v.path,namespace:v.namespace,suffix:v.suffix,pluginData:c.load(v.pluginData),with:v.with});if(O!=null){if(typeof O!="object")throw new Error(`Expected onLoad() callback in plugin ${Ne(B)} to return an object`);let L={},F=_(O,L,"pluginName",Z),W=_(O,L,"contents",Vu),V=_(O,L,"resolveDir",Z),oe=_(O,L,"pluginData",as),te=_(O,L,"loader",Z),ie=_(O,L,"errors",Vt),re=_(O,L,"warnings",Vt),J=_(O,L,"watchFiles",mt),le=_(O,L,"watchDirs",mt);De(O,L,`from onLoad() callback in plugin ${Ne(B)}`),S.id=Q,F!=null&&(S.pluginName=F),W instanceof Uint8Array?S.contents=W:W!=null&&(S.contents=$t(W)),V!=null&&(S.resolveDir=V),oe!=null&&(S.pluginData=c.store(oe)),te!=null&&(S.loader=te),ie!=null&&(S.errors=zt(ie,"errors",c,B,void 0)),re!=null&&(S.warnings=zt(re,"warnings",c,B,void 0)),J!=null&&(S.watchFiles=is(J,"watchFiles")),le!=null&&(S.watchDirs=is(le,"watchDirs"));break}}catch(O){S={id:Q,errors:[Lr(O,o,c,D&&D(),B)]};break}r(I,S)};let $=(I,v)=>v([],[]);u.length>0&&($=(I,v)=>{(async()=>{let S=[],B=[];for(let{name:U,callback:D,note:Q}of u){let O,L;try{let F=await D(I);if(F!=null){if(typeof F!="object")throw new Error(`Expected onEnd() callback in plugin ${Ne(U)} to return an object`);let W={},V=_(F,W,"errors",Vt),oe=_(F,W,"warnings",Vt);De(F,W,`from onEnd() callback in plugin ${Ne(U)}`),V!=null&&(O=zt(V,"errors",c,U,void 0)),oe!=null&&(L=zt(oe,"warnings",c,U,void 0))}}catch(F){O=[Lr(F,o,c,Q&&Q(),U)]}if(O){S.push(...O);try{I.errors.push(...O)}catch{}}if(L){B.push(...L);try{I.warnings.push(...L)}catch{}}}v(S,B)})()});let k=()=>{for(let I of p)setTimeout(()=>I(),0)};return w=!0,{ok:!0,requestPlugins:g,runOnEndCallbacks:$,scheduleOnDisposeCallbacks:k}};function ed(){let t=new Map,e=0;return{clear(){t.clear()},load(r){return t.get(r)},store(r){if(r===void 0)return-1;let n=e++;return t.set(n,r),n}}}function ss(t,e,r){let n,o=!1;return()=>{if(o)return n;o=!0;try{let s=(t.stack+"").split(`
10
- `);s.splice(1,1);let i=td(e,s,r);if(i)return n={text:t.message,location:i},n}catch{}}}function Lr(t,e,r,n,o){let s="Internal error",i=null;try{s=(t&&t.message||t)+""}catch{}try{i=td(e,(t.stack+"").split(`
11
- `),"")}catch{}return{id:"",pluginName:o,text:s,location:i,notes:n?[n]:[],detail:r?r.store(t):-1}}function td(t,e,r){let n=" at ";if(t.readFileSync&&!e[0].startsWith(n)&&e[1].startsWith(n))for(let o=1;o<e.length;o++){let s=e[o];if(s.startsWith(n))for(s=s.slice(n.length);;){let i=/^(?:new |async )?\S+ \((.*)\)$/.exec(s);if(i){s=i[1];continue}if(i=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(s),i){s=i[1];continue}if(i=/^(\S+):(\d+):(\d+)$/.exec(s),i){let l;try{l=t.readFileSync(i[1],"utf8")}catch{break}let c=l.split(/\r\n|\r|\n|\u2028|\u2029/)[+i[2]-1]||"",f=+i[3]-1,u=c.slice(f,f+r.length)===r?r.length:0;return{file:i[1],namespace:"file",line:+i[2],column:$t(c.slice(0,f)).length,length:$t(c.slice(f,f+u)).length,lineText:c+`
8
+ `);function Vu(t,e){return(t[e++]|t[e++]<<8|t[e++]<<16|t[e++]<<24)>>>0}function ia(t,e,r){t[r++]=e,t[r++]=e>>8,t[r++]=e>>16,t[r++]=e>>24}var Vt=String.fromCharCode;function Ct(t,e,r){let n=t[e],o=1,s=0;for(let i=0;i<e;i++)t[i]===10?(o++,s=0):s++;throw new SyntaxError(r||(e===t.length?"Unexpected end of input while parsing JSON":n>=32&&n<=126?`Unexpected character ${Vt(n)} in JSON at position ${e} (line ${o}, column ${s})`:`Unexpected byte 0x${n.toString(16)} in JSON at position ${e} (line ${o}, column ${s})`))}function UA(t){if(!(t instanceof Uint8Array))throw new Error("JSON input must be a Uint8Array");let e=[],r=[],n=[],o=t.length,s=null,i=0,l,c=0;for(;c<o;){let f=t[c++];if(f<=32)continue;let d;switch(i===2&&s===null&&f!==34&&f!==125&&Ct(t,--c),f){case 116:{(t[c++]!==114||t[c++]!==117||t[c++]!==101)&&Ct(t,--c),d=!0;break}case 102:{(t[c++]!==97||t[c++]!==108||t[c++]!==115||t[c++]!==101)&&Ct(t,--c),d=!1;break}case 110:{(t[c++]!==117||t[c++]!==108||t[c++]!==108)&&Ct(t,--c),d=null;break}case 45:case 46:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:{let a=c;for(d=Vt(f),f=t[c];;){switch(f){case 43:case 45:case 46:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 101:case 69:{d+=Vt(f),f=t[++c];continue}}break}d=+d,isNaN(d)&&Ct(t,--a,"Invalid number");break}case 34:{for(d="";c>=o&&Ct(t,o),f=t[c++],f!==34;)if(f===92)switch(t[c++]){case 34:d+='"';break;case 47:d+="/";break;case 92:d+="\\";break;case 98:d+="\b";break;case 102:d+="\f";break;case 110:d+=`
9
+ `;break;case 114:d+="\r";break;case 116:d+=" ";break;case 117:{let a=0;for(let h=0;h<4;h++)f=t[c++],a<<=4,f>=48&&f<=57?a|=f-48:f>=97&&f<=102?a|=f+-87:f>=65&&f<=70?a|=f+-55:Ct(t,--c);d+=Vt(a);break}default:Ct(t,--c);break}else if(f<=127)d+=Vt(f);else if((f&224)===192)d+=Vt((f&31)<<6|t[c++]&63);else if((f&240)===224)d+=Vt((f&15)<<12|(t[c++]&63)<<6|t[c++]&63);else if((f&248)==240){let a=(f&7)<<18|(t[c++]&63)<<12|(t[c++]&63)<<6|t[c++]&63;a>65535&&(a-=65536,d+=Vt(a>>10&1023|55296),a=56320|a&1023),d+=Vt(a)}d[0];break}case 91:{d=[],e.push(s),r.push(l),n.push(i),s=null,l=d,i=1;continue}case 123:{d={},e.push(s),r.push(l),n.push(i),s=null,l=d,i=2;continue}case 93:{i!==1&&Ct(t,--c),d=l,s=e.pop(),l=r.pop(),i=n.pop();break}case 125:{i!==2&&Ct(t,--c),d=l,s=e.pop(),l=r.pop(),i=n.pop();break}default:Ct(t,--c)}for(f=t[c];f<=32;)f=t[++c];switch(i){case 0:{if(c===o)return d;break}case 1:{if(l.push(d),f===44){c++;continue}if(f===93)continue;break}case 2:{if(s===null){if(s=d,f===58){c++;continue}}else{if(l[s]=d,s=null,f===44){c++;continue}if(f===125)continue}break}}break}Ct(t,c)}var Ne=JSON.stringify,Mu="warning",Fu="silent";function fn(t,e){let r=[];for(let n of t){if(dt(n,e),n.indexOf(",")>=0)throw new Error(`Invalid ${e}: ${n}`);r.push(n)}return r.join(",")}var ls=()=>null,ke=t=>typeof t=="boolean"?null:"a boolean",ee=t=>typeof t=="string"?null:"a string",cs=t=>t instanceof RegExp?null:"a RegExp object",Qr=t=>typeof t=="number"&&t===(t|0)?null:"an integer",jA=t=>typeof t=="number"&&t===(t|0)&&t>=0&&t<=65535?null:"a valid port number",Hu=t=>typeof t=="function"?null:"a function",Ht=t=>Array.isArray(t)?null:"an array",ft=t=>Array.isArray(t)&&t.every(e=>typeof e=="string")?null:"an array of strings",wt=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)?null:"an object",KA=t=>typeof t=="object"&&t!==null?null:"an array or an object",WA=t=>t instanceof WebAssembly.Module?null:"a WebAssembly.Module",Uu=t=>typeof t=="object"&&!Array.isArray(t)?null:"an object or null",zu=t=>typeof t=="string"||typeof t=="boolean"?null:"a string or a boolean",GA=t=>typeof t=="string"||typeof t=="object"&&t!==null&&!Array.isArray(t)?null:"a string or an object",Xu=t=>typeof t=="string"||Array.isArray(t)&&t.every(e=>typeof e=="string")?null:"a string or an array of strings",Zu=t=>typeof t=="string"||t instanceof Uint8Array?null:"a string or a Uint8Array",qA=t=>typeof t=="string"||t instanceof URL?null:"a string or a URL";function _(t,e,r,n){let o=t[r];if(e[r+""]=!0,o===void 0)return;let s=n(o);if(s!==null)throw new Error(`${Ne(r)} must be ${s}`);return o}function De(t,e,r){for(let n in t)if(!(n in e))throw new Error(`Invalid option ${r}: ${Ne(n)}`)}function JA(t){let e=Object.create(null),r=_(t,e,"wasmURL",qA),n=_(t,e,"wasmModule",WA),o=_(t,e,"worker",ke);return De(t,e,"in initialize() call"),{wasmURL:r,wasmModule:n,worker:o}}function ed(t){let e;if(t!==void 0){e=Object.create(null);for(let r in t){let n=t[r];if(typeof n=="string"||n===!1)e[r]=n;else throw new Error(`Expected ${Ne(r)} in mangle cache to map to either a string or false`)}}return e}function hs(t,e,r,n,o){let s=_(e,r,"color",ke),i=_(e,r,"logLevel",ee),l=_(e,r,"logLimit",Qr);s!==void 0?t.push(`--color=${s}`):n&&t.push("--color=true"),t.push(`--log-level=${i||o}`),t.push(`--log-limit=${l||0}`)}function dt(t,e,r){if(typeof t!="string")throw new Error(`Expected value for ${e}${r!==void 0?" "+Ne(r):""} to be a string, got ${typeof t} instead`);return t}function td(t,e,r){let n=_(e,r,"legalComments",ee),o=_(e,r,"sourceRoot",ee),s=_(e,r,"sourcesContent",ke),i=_(e,r,"target",Xu),l=_(e,r,"format",ee),c=_(e,r,"globalName",ee),f=_(e,r,"mangleProps",cs),d=_(e,r,"reserveProps",cs),a=_(e,r,"mangleQuoted",ke),h=_(e,r,"minify",ke),p=_(e,r,"minifySyntax",ke),g=_(e,r,"minifyWhitespace",ke),x=_(e,r,"minifyIdentifiers",ke),A=_(e,r,"lineLimit",Qr),w=_(e,r,"drop",ft),O=_(e,r,"dropLabels",ft),T=_(e,r,"charset",ee),B=_(e,r,"treeShaking",ke),v=_(e,r,"ignoreAnnotations",ke),C=_(e,r,"jsx",ee),I=_(e,r,"jsxFactory",ee),j=_(e,r,"jsxFragment",ee),F=_(e,r,"jsxImportSource",ee),Q=_(e,r,"jsxDev",ke),P=_(e,r,"jsxSideEffects",ke),$=_(e,r,"define",wt),N=_(e,r,"logOverride",wt),U=_(e,r,"supported",wt),q=_(e,r,"pure",ft),H=_(e,r,"keepNames",ke),z=_(e,r,"platform",ee),oe=_(e,r,"tsconfigRaw",GA),re=_(e,r,"absPaths",ft);if(n&&t.push(`--legal-comments=${n}`),o!==void 0&&t.push(`--source-root=${o}`),s!==void 0&&t.push(`--sources-content=${s}`),i&&t.push(`--target=${fn(Array.isArray(i)?i:[i],"target")}`),l&&t.push(`--format=${l}`),c&&t.push(`--global-name=${c}`),z&&t.push(`--platform=${z}`),oe&&t.push(`--tsconfig-raw=${typeof oe=="string"?oe:JSON.stringify(oe)}`),h&&t.push("--minify"),p&&t.push("--minify-syntax"),g&&t.push("--minify-whitespace"),x&&t.push("--minify-identifiers"),A&&t.push(`--line-limit=${A}`),T&&t.push(`--charset=${T}`),B!==void 0&&t.push(`--tree-shaking=${B}`),v&&t.push("--ignore-annotations"),w)for(let J of w)t.push(`--drop:${dt(J,"drop")}`);if(O&&t.push(`--drop-labels=${fn(O,"drop label")}`),re&&t.push(`--abs-paths=${fn(re,"abs paths")}`),f&&t.push(`--mangle-props=${us(f)}`),d&&t.push(`--reserve-props=${us(d)}`),a!==void 0&&t.push(`--mangle-quoted=${a}`),C&&t.push(`--jsx=${C}`),I&&t.push(`--jsx-factory=${I}`),j&&t.push(`--jsx-fragment=${j}`),F&&t.push(`--jsx-import-source=${F}`),Q&&t.push("--jsx-dev"),P&&t.push("--jsx-side-effects"),$)for(let J in $){if(J.indexOf("=")>=0)throw new Error(`Invalid define: ${J}`);t.push(`--define:${J}=${dt($[J],"define",J)}`)}if(N)for(let J in N){if(J.indexOf("=")>=0)throw new Error(`Invalid log override: ${J}`);t.push(`--log-override:${J}=${dt(N[J],"log override",J)}`)}if(U)for(let J in U){if(J.indexOf("=")>=0)throw new Error(`Invalid supported: ${J}`);let ae=U[J];if(typeof ae!="boolean")throw new Error(`Expected value for supported ${Ne(J)} to be a boolean, got ${typeof ae} instead`);t.push(`--supported:${J}=${ae}`)}if(q)for(let J of q)t.push(`--pure:${dt(J,"pure")}`);H&&t.push("--keep-names")}function YA(t,e,r,n,o){var s;let i=[],l=[],c=Object.create(null),f=null,d=null;hs(i,e,c,r,n),td(i,e,c);let a=_(e,c,"sourcemap",zu),h=_(e,c,"bundle",ke),p=_(e,c,"splitting",ke),g=_(e,c,"preserveSymlinks",ke),x=_(e,c,"metafile",ke),A=_(e,c,"outfile",ee),w=_(e,c,"outdir",ee),O=_(e,c,"outbase",ee),T=_(e,c,"tsconfig",ee),B=_(e,c,"resolveExtensions",ft),v=_(e,c,"nodePaths",ft),C=_(e,c,"mainFields",ft),I=_(e,c,"conditions",ft),j=_(e,c,"external",ft),F=_(e,c,"packages",ee),Q=_(e,c,"alias",wt),P=_(e,c,"loader",wt),$=_(e,c,"outExtension",wt),N=_(e,c,"publicPath",ee),U=_(e,c,"entryNames",ee),q=_(e,c,"chunkNames",ee),H=_(e,c,"assetNames",ee),z=_(e,c,"inject",ft),oe=_(e,c,"banner",wt),re=_(e,c,"footer",wt),J=_(e,c,"entryPoints",KA),ae=_(e,c,"absWorkingDir",ee),le=_(e,c,"stdin",wt),se=(s=_(e,c,"write",ke))!=null?s:o,ye=_(e,c,"allowOverwrite",ke),we=_(e,c,"mangleCache",wt);if(c.plugins=!0,De(e,c,`in ${t}() call`),a&&i.push(`--sourcemap${a===!0?"":`=${a}`}`),h&&i.push("--bundle"),ye&&i.push("--allow-overwrite"),p&&i.push("--splitting"),g&&i.push("--preserve-symlinks"),x&&i.push("--metafile"),A&&i.push(`--outfile=${A}`),w&&i.push(`--outdir=${w}`),O&&i.push(`--outbase=${O}`),T&&i.push(`--tsconfig=${T}`),F&&i.push(`--packages=${F}`),B&&i.push(`--resolve-extensions=${fn(B,"resolve extension")}`),N&&i.push(`--public-path=${N}`),U&&i.push(`--entry-names=${U}`),q&&i.push(`--chunk-names=${q}`),H&&i.push(`--asset-names=${H}`),C&&i.push(`--main-fields=${fn(C,"main field")}`),I&&i.push(`--conditions=${fn(I,"condition")}`),j)for(let S of j)i.push(`--external:${dt(S,"external")}`);if(Q)for(let S in Q){if(S.indexOf("=")>=0)throw new Error(`Invalid package name in alias: ${S}`);i.push(`--alias:${S}=${dt(Q[S],"alias",S)}`)}if(oe)for(let S in oe){if(S.indexOf("=")>=0)throw new Error(`Invalid banner file type: ${S}`);i.push(`--banner:${S}=${dt(oe[S],"banner",S)}`)}if(re)for(let S in re){if(S.indexOf("=")>=0)throw new Error(`Invalid footer file type: ${S}`);i.push(`--footer:${S}=${dt(re[S],"footer",S)}`)}if(z)for(let S of z)i.push(`--inject:${dt(S,"inject")}`);if(P)for(let S in P){if(S.indexOf("=")>=0)throw new Error(`Invalid loader extension: ${S}`);i.push(`--loader:${S}=${dt(P[S],"loader",S)}`)}if($)for(let S in $){if(S.indexOf("=")>=0)throw new Error(`Invalid out extension: ${S}`);i.push(`--out-extension:${S}=${dt($[S],"out extension",S)}`)}if(J)if(Array.isArray(J))for(let S=0,He=J.length;S<He;S++){let Re=J[S];if(typeof Re=="object"&&Re!==null){let rt=Object.create(null),ut=_(Re,rt,"in",ee),qe=_(Re,rt,"out",ee);if(De(Re,rt,"in entry point at index "+S),ut===void 0)throw new Error('Missing property "in" for entry point at index '+S);if(qe===void 0)throw new Error('Missing property "out" for entry point at index '+S);l.push([qe,ut])}else l.push(["",dt(Re,"entry point at index "+S)])}else for(let S in J)l.push([S,dt(J[S],"entry point",S)]);if(le){let S=Object.create(null),He=_(le,S,"contents",Zu),Re=_(le,S,"resolveDir",ee),rt=_(le,S,"sourcefile",ee),ut=_(le,S,"loader",ee);De(le,S,'in "stdin" object'),rt&&i.push(`--sourcefile=${rt}`),ut&&i.push(`--loader=${ut}`),Re&&(d=Re),typeof He=="string"?f=Ot(He):He instanceof Uint8Array&&(f=He)}let be=[];if(v)for(let S of v)S+="",be.push(S);return{entries:l,flags:i,write:se,stdinContents:f,stdinResolveDir:d,absWorkingDir:ae,nodePaths:be,mangleCache:ed(we)}}function VA(t,e,r,n){let o=[],s=Object.create(null);hs(o,e,s,r,n),td(o,e,s);let i=_(e,s,"sourcemap",zu),l=_(e,s,"sourcefile",ee),c=_(e,s,"loader",ee),f=_(e,s,"banner",ee),d=_(e,s,"footer",ee),a=_(e,s,"mangleCache",wt);return De(e,s,`in ${t}() call`),i&&o.push(`--sourcemap=${i===!0?"external":i}`),l&&o.push(`--sourcefile=${l}`),c&&o.push(`--loader=${c}`),f&&o.push(`--banner=${f}`),d&&o.push(`--footer=${d}`),{flags:o,mangleCache:ed(a)}}function rd(t){let e={},r={didClose:!1,reason:""},n={},o=0,s=0,i=new Uint8Array(16*1024),l=0,c=T=>{let B=l+T.length;if(B>i.length){let C=new Uint8Array(B*2);C.set(i),i=C}i.set(T,l),l+=T.length;let v=0;for(;v+4<=l;){let C=Vu(i,v);if(v+4+C>l)break;v+=4,g(i.subarray(v,v+C)),v+=C}v>0&&(i.copyWithin(0,v,l),l-=v)},f=T=>{r.didClose=!0,T&&(r.reason=": "+(T.message||T));let B="The service was stopped"+r.reason;for(let v in n)n[v](B,null);n={}},d=(T,B,v)=>{if(r.didClose)return v("The service is no longer running"+r.reason,null);let C=o++;n[C]=(I,j)=>{try{v(I,j)}finally{T&&T.unref()}},T&&T.ref(),t.writeToStdin(Nu({id:C,isRequest:!0,value:B}))},a=(T,B)=>{if(r.didClose)throw new Error("The service is no longer running"+r.reason);t.writeToStdin(Nu({id:T,isRequest:!1,value:B}))},h=async(T,B)=>{try{if(B.command==="ping"){a(T,{});return}if(typeof B.key=="number"){let v=e[B.key];if(!v)return;let C=v[B.command];if(C){await C(T,B);return}}throw new Error("Invalid command: "+B.command)}catch(v){let C=[Lr(v,t,null,void 0,"")];try{a(T,{errors:C})}catch{}}},p=!0,g=T=>{if(p){p=!1;let v=String.fromCharCode(...T);if(v!=="0.28.1")throw new Error(`Cannot start service: Host version "0.28.1" does not match binary version ${Ne(v)}`);return}let B=FA(T);if(B.isRequest)h(B.id,B.value);else{let v=n[B.id];delete n[B.id],B.value.error?v(B.value.error,{}):v(null,B.value)}};return{readFromStdout:c,afterClose:f,service:{buildOrContext:({callName:T,refs:B,options:v,isTTY:C,defaultWD:I,callback:j})=>{let F=0,Q=s++,P={},$={ref(){++F===1&&B&&B.ref()},unref(){--F===0&&(delete e[Q],B&&B.unref())}};e[Q]=P,$.ref(),HA(T,Q,d,a,$,t,P,v,C,I,(N,U)=>{try{j(N,U)}finally{$.unref()}})},transform:({callName:T,refs:B,input:v,options:C,isTTY:I,fs:j,callback:F})=>{let Q=nd(),P=$=>{try{if(typeof v!="string"&&!(v instanceof Uint8Array))throw new Error('The input to "transform" must be a string or a Uint8Array');let{flags:N,mangleCache:U}=VA(T,C,I,Fu),q={command:"transform",flags:N,inputFS:$!==null,input:$!==null?Ot($):typeof v=="string"?Ot(v):v};U&&(q.mangleCache=U),d(B,q,(H,z)=>{if(H)return F(new Error(H),null);let oe=mn(z.errors,Q),re=mn(z.warnings,Q),J=1,ae=()=>{if(--J===0){let le={warnings:re,code:z.code,map:z.map,mangleCache:void 0,legalComments:void 0};"legalComments"in z&&(le.legalComments=z?.legalComments),z.mangleCache&&(le.mangleCache=z?.mangleCache),F(null,le)}};if(oe.length>0)return F(oo("Transform failed",oe,re),null);z.codeFS&&(J++,j.readFile(z.code,(le,se)=>{le!==null?F(le,null):(z.code=se,ae())})),z.mapFS&&(J++,j.readFile(z.map,(le,se)=>{le!==null?F(le,null):(z.map=se,ae())})),ae()})}catch(N){let U=[];try{hs(U,C,{},I,Fu)}catch{}let q=Lr(N,t,Q,void 0,"");d(B,{command:"error",flags:U,error:q},()=>{q.detail=Q.load(q.detail),F(oo("Transform failed",[q],[]),null)})}};if((typeof v=="string"||v instanceof Uint8Array)&&v.length>1024*1024){let $=P;P=()=>j.writeFile(v,$)}P(null)},formatMessages:({callName:T,refs:B,messages:v,options:C,callback:I})=>{if(!C)throw new Error(`Missing second argument in ${T}() call`);let j={},F=_(C,j,"kind",ee),Q=_(C,j,"color",ke),P=_(C,j,"terminalWidth",Qr);if(De(C,j,`in ${T}() call`),F===void 0)throw new Error(`Missing "kind" in ${T}() call`);if(F!=="error"&&F!=="warning")throw new Error(`Expected "kind" to be "error" or "warning" in ${T}() call`);let $={command:"format-msgs",messages:zt(v,"messages",null,"",P),isWarning:F==="warning"};Q!==void 0&&($.color=Q),P!==void 0&&($.terminalWidth=P),d(B,$,(N,U)=>{if(N)return I(new Error(N),null);I(null,U.messages)})},analyzeMetafile:({callName:T,refs:B,metafile:v,options:C,callback:I})=>{C===void 0&&(C={});let j={},F=_(C,j,"color",ke),Q=_(C,j,"verbose",ke);De(C,j,`in ${T}() call`);let P={command:"analyze-metafile",metafile:v};F!==void 0&&(P.color=F),Q!==void 0&&(P.verbose=Q),d(B,P,($,N)=>{if($)return I(new Error($),null);I(null,N.result)})}}}}function HA(t,e,r,n,o,s,i,l,c,f,d){let a=nd(),h=t==="context",p=(A,w)=>{let O=[];try{hs(O,l,{},c,Mu)}catch{}let T=Lr(A,s,a,void 0,w);r(o,{command:"error",flags:O,error:T},()=>{T.detail=a.load(T.detail),d(oo(h?"Context failed":"Build failed",[T],[]),null)})},g;if(typeof l=="object"){let A=l.plugins;if(A!==void 0){if(!Array.isArray(A))return p(new Error('"plugins" must be an array'),"");g=A}}if(g&&g.length>0){if(s.isSync)return p(new Error("Cannot use plugins in synchronous API calls"),"");zA(e,r,n,o,s,i,l,g,a).then(A=>{if(!A.ok)return p(A.error,A.pluginName);try{x(A.requestPlugins,A.runOnEndCallbacks,A.scheduleOnDisposeCallbacks)}catch(w){p(w,"")}},A=>p(A,""));return}try{x(null,(A,w)=>w([],[]),()=>{})}catch(A){p(A,"")}function x(A,w,O){let T=s.hasFS,{entries:B,flags:v,write:C,stdinContents:I,stdinResolveDir:j,absWorkingDir:F,nodePaths:Q,mangleCache:P}=YA(t,l,c,Mu,T);if(C&&!s.hasFS)throw new Error('The "write" option is unavailable in this environment');let $={command:"build",key:e,entries:B,flags:v,write:C,stdinContents:I,stdinResolveDir:j,absWorkingDir:F||f,nodePaths:Q,context:h};A&&($.plugins=A),P&&($.mangleCache=P);let N=(H,z)=>{let oe={errors:mn(H.errors,a),warnings:mn(H.warnings,a),outputFiles:void 0,metafile:void 0,mangleCache:void 0},re=oe.errors.slice(),J=oe.warnings.slice();H.outputFiles&&(oe.outputFiles=H.outputFiles.map(ZA)),H.metafile&&H.metafile.length&&(oe.metafile=e0(H.metafile)),H.mangleCache&&(oe.mangleCache=H.mangleCache),H.writeToStdout!==void 0&&console.log(Mr(H.writeToStdout).replace(/\n$/,"")),w(oe,(ae,le)=>{if(re.length>0||ae.length>0){let se=oo("Build failed",re.concat(ae),J.concat(le));return z(se,null,ae,le)}z(null,oe,ae,le)})},U,q;h&&(i["on-end"]=(H,z)=>new Promise(oe=>{N(z,(re,J,ae,le)=>{let se={errors:ae,warnings:le};q&&q(re,J),U=void 0,q=void 0,n(H,se),oe()})})),r(o,$,(H,z)=>{if(H)return d(new Error(H),null);if(!h)return N(z,(J,ae)=>(O(),d(J,ae)));if(z.errors.length>0)return d(oo("Context failed",z.errors,z.warnings),null);let oe=!1,re={rebuild:()=>(U||(U=new Promise((J,ae)=>{let le;q=(ye,we)=>{le||(le=()=>ye?ae(ye):J(we))};let se=()=>{r(o,{command:"rebuild",key:e},(we,be)=>{we?ae(new Error(we)):le?le():se()})};se()})),U),watch:(J={})=>new Promise((ae,le)=>{if(!s.hasFS)throw new Error('Cannot use the "watch" API in this environment');let se={},ye=_(J,se,"delay",Qr);De(J,se,"in watch() call");let we={command:"watch",key:e};ye&&(we.delay=ye),r(o,we,be=>{be?le(new Error(be)):ae(void 0)})}),serve:(J={})=>new Promise((ae,le)=>{if(!s.hasFS)throw new Error('Cannot use the "serve" API in this environment');let se={},ye=_(J,se,"port",jA),we=_(J,se,"host",ee),be=_(J,se,"servedir",ee),S=_(J,se,"keyfile",ee),He=_(J,se,"certfile",ee),Re=_(J,se,"fallback",ee),rt=_(J,se,"cors",wt),ut=_(J,se,"onRequest",Hu);De(J,se,"in serve() call");let qe={command:"serve",key:e,onRequest:!!ut};if(ye!==void 0&&(qe.port=ye),we!==void 0&&(qe.host=we),be!==void 0&&(qe.servedir=be),S!==void 0&&(qe.keyfile=S),He!==void 0&&(qe.certfile=He),Re!==void 0&&(qe.fallback=Re),rt){let Ft={},$t=_(rt,Ft,"origin",Xu);De(rt,Ft,'on "cors" object'),Array.isArray($t)?qe.corsOrigin=$t:$t!==void 0&&(qe.corsOrigin=[$t])}r(o,qe,(Ft,$t)=>{if(Ft)return le(new Error(Ft));ut&&(i["serve-request"]=(ur,cn)=>{ut(cn.args),n(ur,{})}),ae($t)})}),cancel:()=>new Promise(J=>{if(oe)return J();r(o,{command:"cancel",key:e},()=>{J()})}),dispose:()=>new Promise(J=>{if(oe)return J();oe=!0,r(o,{command:"dispose",key:e},()=>{J(),O(),o.unref()})})};o.ref(),d(null,re)})}}var zA=async(t,e,r,n,o,s,i,l,c)=>{let f=[],d=[],a={},h={},p=[],g=0,x=0,A=[],w=!1;l=[...l];for(let B of l){let v={};if(typeof B!="object")throw new Error(`Plugin at index ${x} must be an object`);let C=_(B,v,"name",ee);if(typeof C!="string"||C==="")throw new Error(`Plugin at index ${x} is missing a name`);try{let I=_(B,v,"setup",Hu);if(typeof I!="function")throw new Error("Plugin is missing a setup function");De(B,v,`on plugin ${Ne(C)}`);let j={name:C,onStart:!1,onEnd:!1,onResolve:[],onLoad:[]};x++;let Q=I({initialOptions:i,resolve:(P,$={})=>{if(!w)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof P!="string")throw new Error("The path to resolve must be a string");let N=Object.create(null),U=_($,N,"pluginName",ee),q=_($,N,"importer",ee),H=_($,N,"namespace",ee),z=_($,N,"resolveDir",ee),oe=_($,N,"kind",ee),re=_($,N,"pluginData",ls),J=_($,N,"with",wt);return De($,N,"in resolve() call"),new Promise((ae,le)=>{let se={command:"resolve",path:P,key:t,pluginName:C};if(U!=null&&(se.pluginName=U),q!=null&&(se.importer=q),H!=null&&(se.namespace=H),z!=null&&(se.resolveDir=z),oe!=null)se.kind=oe;else throw new Error('Must specify "kind" when calling "resolve"');re!=null&&(se.pluginData=c.store(re)),J!=null&&(se.with=XA(J,"with")),e(n,se,(ye,we)=>{ye!==null?le(new Error(ye)):ae({errors:mn(we.errors,c),warnings:mn(we.warnings,c),path:we.path,external:we.external,sideEffects:we.sideEffects,namespace:we.namespace,suffix:we.suffix,pluginData:c.load(we.pluginData)})})})},onStart(P){let $='This error came from the "onStart" callback registered here:',N=is(new Error($),o,"onStart");f.push({name:C,callback:P,note:N}),j.onStart=!0},onEnd(P){let $='This error came from the "onEnd" callback registered here:',N=is(new Error($),o,"onEnd");d.push({name:C,callback:P,note:N}),j.onEnd=!0},onResolve(P,$){let N='This error came from the "onResolve" callback registered here:',U=is(new Error(N),o,"onResolve"),q={},H=_(P,q,"filter",cs),z=_(P,q,"namespace",ee);if(De(P,q,`in onResolve() call for plugin ${Ne(C)}`),H==null)throw new Error("onResolve() call is missing a filter");let oe=g++;a[oe]={name:C,callback:$,note:U},j.onResolve.push({id:oe,filter:us(H),namespace:z||""})},onLoad(P,$){let N='This error came from the "onLoad" callback registered here:',U=is(new Error(N),o,"onLoad"),q={},H=_(P,q,"filter",cs),z=_(P,q,"namespace",ee);if(De(P,q,`in onLoad() call for plugin ${Ne(C)}`),H==null)throw new Error("onLoad() call is missing a filter");let oe=g++;h[oe]={name:C,callback:$,note:U},j.onLoad.push({id:oe,filter:us(H),namespace:z||""})},onDispose(P){p.push(P)},esbuild:o.esbuild});Q&&await Q,A.push(j)}catch(I){return{ok:!1,error:I,pluginName:C}}}s["on-start"]=async(B,v)=>{c.clear();let C={errors:[],warnings:[]};await Promise.all(f.map(async({name:I,callback:j,note:F})=>{try{let Q=await j();if(Q!=null){if(typeof Q!="object")throw new Error(`Expected onStart() callback in plugin ${Ne(I)} to return an object`);let P={},$=_(Q,P,"errors",Ht),N=_(Q,P,"warnings",Ht);De(Q,P,`from onStart() callback in plugin ${Ne(I)}`),$!=null&&C.errors.push(...zt($,"errors",c,I,void 0)),N!=null&&C.warnings.push(...zt(N,"warnings",c,I,void 0))}}catch(Q){C.errors.push(Lr(Q,o,c,F&&F(),I))}})),r(B,C)},s["on-resolve"]=async(B,v)=>{let C={},I="",j,F;for(let Q of v.ids)try{({name:I,callback:j,note:F}=a[Q]);let P=await j({path:v.path,importer:v.importer,namespace:v.namespace,resolveDir:v.resolveDir,kind:v.kind,pluginData:c.load(v.pluginData),with:v.with});if(P!=null){if(typeof P!="object")throw new Error(`Expected onResolve() callback in plugin ${Ne(I)} to return an object`);let $={},N=_(P,$,"pluginName",ee),U=_(P,$,"path",ee),q=_(P,$,"namespace",ee),H=_(P,$,"suffix",ee),z=_(P,$,"external",ke),oe=_(P,$,"sideEffects",ke),re=_(P,$,"pluginData",ls),J=_(P,$,"errors",Ht),ae=_(P,$,"warnings",Ht),le=_(P,$,"watchFiles",ft),se=_(P,$,"watchDirs",ft);De(P,$,`from onResolve() callback in plugin ${Ne(I)}`),C.id=Q,N!=null&&(C.pluginName=N),U!=null&&(C.path=U),q!=null&&(C.namespace=q),H!=null&&(C.suffix=H),z!=null&&(C.external=z),oe!=null&&(C.sideEffects=oe),re!=null&&(C.pluginData=c.store(re)),J!=null&&(C.errors=zt(J,"errors",c,I,void 0)),ae!=null&&(C.warnings=zt(ae,"warnings",c,I,void 0)),le!=null&&(C.watchFiles=as(le,"watchFiles")),se!=null&&(C.watchDirs=as(se,"watchDirs"));break}}catch(P){C={id:Q,errors:[Lr(P,o,c,F&&F(),I)]};break}r(B,C)},s["on-load"]=async(B,v)=>{let C={},I="",j,F;for(let Q of v.ids)try{({name:I,callback:j,note:F}=h[Q]);let P=await j({path:v.path,namespace:v.namespace,suffix:v.suffix,pluginData:c.load(v.pluginData),with:v.with});if(P!=null){if(typeof P!="object")throw new Error(`Expected onLoad() callback in plugin ${Ne(I)} to return an object`);let $={},N=_(P,$,"pluginName",ee),U=_(P,$,"contents",Zu),q=_(P,$,"resolveDir",ee),H=_(P,$,"pluginData",ls),z=_(P,$,"loader",ee),oe=_(P,$,"errors",Ht),re=_(P,$,"warnings",Ht),J=_(P,$,"watchFiles",ft),ae=_(P,$,"watchDirs",ft);De(P,$,`from onLoad() callback in plugin ${Ne(I)}`),C.id=Q,N!=null&&(C.pluginName=N),U instanceof Uint8Array?C.contents=U:U!=null&&(C.contents=Ot(U)),q!=null&&(C.resolveDir=q),H!=null&&(C.pluginData=c.store(H)),z!=null&&(C.loader=z),oe!=null&&(C.errors=zt(oe,"errors",c,I,void 0)),re!=null&&(C.warnings=zt(re,"warnings",c,I,void 0)),J!=null&&(C.watchFiles=as(J,"watchFiles")),ae!=null&&(C.watchDirs=as(ae,"watchDirs"));break}}catch(P){C={id:Q,errors:[Lr(P,o,c,F&&F(),I)]};break}r(B,C)};let O=(B,v)=>v([],[]);d.length>0&&(O=(B,v)=>{(async()=>{let C=[],I=[];for(let{name:j,callback:F,note:Q}of d){let P,$;try{let N=await F(B);if(N!=null){if(typeof N!="object")throw new Error(`Expected onEnd() callback in plugin ${Ne(j)} to return an object`);let U={},q=_(N,U,"errors",Ht),H=_(N,U,"warnings",Ht);De(N,U,`from onEnd() callback in plugin ${Ne(j)}`),q!=null&&(P=zt(q,"errors",c,j,void 0)),H!=null&&($=zt(H,"warnings",c,j,void 0))}}catch(N){P=[Lr(N,o,c,Q&&Q(),j)]}if(P){C.push(...P);try{B.errors.push(...P)}catch{}}if($){I.push(...$);try{B.warnings.push(...$)}catch{}}}v(C,I)})()});let T=()=>{for(let B of p)setTimeout(()=>B(),0)};return w=!0,{ok:!0,requestPlugins:A,runOnEndCallbacks:O,scheduleOnDisposeCallbacks:T}};function nd(){let t=new Map,e=0;return{clear(){t.clear()},load(r){return t.get(r)},store(r){if(r===void 0)return-1;let n=e++;return t.set(n,r),n}}}function is(t,e,r){let n,o=!1;return()=>{if(o)return n;o=!0;try{let s=(t.stack+"").split(`
10
+ `);s.splice(1,1);let i=od(e,s,r);if(i)return n={text:t.message,location:i},n}catch{}}}function Lr(t,e,r,n,o){let s="Internal error",i=null;try{s=(t&&t.message||t)+""}catch{}try{i=od(e,(t.stack+"").split(`
11
+ `),"")}catch{}return{id:"",pluginName:o,text:s,location:i,notes:n?[n]:[],detail:r?r.store(t):-1}}function od(t,e,r){let n=" at ";if(t.readFileSync&&!e[0].startsWith(n)&&e[1].startsWith(n))for(let o=1;o<e.length;o++){let s=e[o];if(s.startsWith(n))for(s=s.slice(n.length);;){let i=/^(?:new |async )?\S+ \((.*)\)$/.exec(s);if(i){s=i[1];continue}if(i=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(s),i){s=i[1];continue}if(i=/^(\S+):(\d+):(\d+)$/.exec(s),i){let l;try{l=t.readFileSync(i[1],"utf8")}catch{break}let c=l.split(/\r\n|\r|\n|\u2028|\u2029/)[+i[2]-1]||"",f=+i[3]-1,d=c.slice(f,f+r.length)===r?r.length:0;return{file:i[1],namespace:"file",line:+i[2],column:Ot(c.slice(0,f)).length,length:Ot(c.slice(f,f+d)).length,lineText:c+`
12
12
  `+e.slice(1).join(`
13
13
  `),suggestion:""}}break}}return null}function oo(t,e,r){let n=5;t+=e.length<1?"":` with ${e.length} error${e.length<2?"":"s"}:`+e.slice(0,n+1).map((s,i)=>{if(i===n)return`
14
14
  ...`;if(!s.location)return`
15
- error: ${s.text}`;let{file:l,line:c,column:f}=s.location,u=s.pluginName?`[plugin: ${s.pluginName}] `:"";return`
16
- ${l}:${c}:${f}: ERROR: ${u}${s.text}`}).join("");let o=new Error(t);for(let[s,i]of[["errors",e],["warnings",r]])Object.defineProperty(o,s,{configurable:!0,enumerable:!0,get:()=>i,set:l=>Object.defineProperty(o,s,{configurable:!0,enumerable:!0,value:l})});return o}function mn(t,e){for(let r of t)r.detail=e.load(r.detail);return t}function Mu(t,e,r){if(t==null)return null;let n={},o=_(t,n,"file",Z),s=_(t,n,"namespace",Z),i=_(t,n,"line",Qr),l=_(t,n,"column",Qr),c=_(t,n,"length",Qr),f=_(t,n,"lineText",Z),u=_(t,n,"suggestion",Z);if(De(t,n,e),f){let a=f.slice(0,(l&&l>0?l:0)+(c&&c>0?c:0)+(r&&r>0?r:80));!/[\x7F-\uFFFF]/.test(a)&&!/\n/.test(f)&&(f=a)}return{file:o||"",namespace:s||"",line:i||0,column:l||0,length:c||0,lineText:f||"",suggestion:u||""}}function zt(t,e,r,n,o){let s=[],i=0;for(let l of t){let c={},f=_(l,c,"id",Z),u=_(l,c,"pluginName",Z),a=_(l,c,"text",Z),h=_(l,c,"location",Nu),p=_(l,c,"notes",Vt),A=_(l,c,"detail",as),C=`in element ${i} of "${e}"`;De(l,c,C);let g=[];if(p)for(let w of p){let $={},k=_(w,$,"text",Z),I=_(w,$,"location",Nu);De(w,$,C),g.push({text:k||"",location:Mu(I,C,o)})}s.push({id:f||"",pluginName:u||n,text:a||"",location:Mu(h,C,o),notes:g,detail:r?r.store(A):-1}),i++}return s}function is(t,e){let r=[];for(let n of t){if(typeof n!="string")throw new Error(`${Ne(e)} must be an array of strings`);r.push(n)}return r}function YA(t,e){let r=Object.create(null);for(let n in t){let o=t[n];if(typeof o!="string")throw new Error(`key ${Ne(n)} in object ${Ne(e)} must be a string`);r[n]=o}return r}function HA({path:t,contents:e,hash:r}){let n=null;return{path:t,contents:e,hash:r,get text(){let o=this.contents;return(n===null||o!==e)&&(e=o,n=Mr(o)),n}}}function ls(t){let e=t.source;return t.flags&&(e=`(?${t.flags})${e}`),e}function VA(t){let e;try{e=Mr(t)}catch{return DA(t)}return JSON.parse(e)}var dr=ae("fs"),Fu=ae("os"),kt=ae("path"),dn=process.env.ESBUILD_BINARY_PATH||dn,zA=t=>!!t&&t!=="/usr/bin/esbuild",Uu="@esbuild/darwin-arm64",ju="@esbuild/darwin-x64",us={"win32 arm64 LE":"@esbuild/win32-arm64","win32 ia32 LE":"@esbuild/win32-ia32","win32 x64 LE":"@esbuild/win32-x64"},ds={"aix ppc64 BE":"@esbuild/aix-ppc64","android arm64 LE":"@esbuild/android-arm64","darwin arm64 LE":"@esbuild/darwin-arm64","darwin x64 LE":"@esbuild/darwin-x64","freebsd arm64 LE":"@esbuild/freebsd-arm64","freebsd x64 LE":"@esbuild/freebsd-x64","linux arm LE":"@esbuild/linux-arm","linux arm64 LE":"@esbuild/linux-arm64","linux ia32 LE":"@esbuild/linux-ia32","linux mips64el LE":"@esbuild/linux-mips64el","linux ppc64 LE":"@esbuild/linux-ppc64","linux riscv64 LE":"@esbuild/linux-riscv64","linux s390x BE":"@esbuild/linux-s390x","linux x64 LE":"@esbuild/linux-x64","linux loong64 LE":"@esbuild/linux-loong64","netbsd arm64 LE":"@esbuild/netbsd-arm64","netbsd x64 LE":"@esbuild/netbsd-x64","openbsd arm64 LE":"@esbuild/openbsd-arm64","openbsd x64 LE":"@esbuild/openbsd-x64","sunos x64 LE":"@esbuild/sunos-x64"},Ku={"android arm LE":"@esbuild/android-arm","android x64 LE":"@esbuild/android-x64","openharmony arm64 LE":"@esbuild/openharmony-arm64"};function XA(){let t,e,r=!1,n=`${process.platform} ${Fu.arch()} ${Fu.endianness()}`;if(n in us)t=us[n],e="esbuild.exe";else if(n in ds)t=ds[n],e="bin/esbuild";else if(n in Ku)t=Ku[n],e="bin/esbuild",r=!0;else throw new Error(`Unsupported platform: ${n}`);return{pkg:t,subpath:e,isWASM:r}}function ZA(){let t=ae.resolve("esbuild"),e=kt.dirname(kt.dirname(kt.dirname(t)));if(kt.basename(e)==="node_modules"){for(let r in ds)try{let n=ds[r];if(dr.existsSync(kt.join(e,n)))return n}catch{}for(let r in us)try{let n=us[r];if(dr.existsSync(kt.join(e,n)))return n}catch{}}return null}function e0(t,e){let r=kt.dirname(ae.resolve("esbuild"));return kt.join(r,`downloaded-${t.replace("/","-")}-${kt.basename(e)}`)}function t0(){if(zA(dn))if(!dr.existsSync(dn))console.warn(`[esbuild] Ignoring bad configuration: ESBUILD_BINARY_PATH=${dn}`);else return{binPath:dn,isWASM:!1};let{pkg:t,subpath:e,isWASM:r}=XA(),n;try{n=ae.resolve(`${t}/${e}`)}catch(o){if(n=e0(t,e),!dr.existsSync(n)){try{ae.resolve(t)}catch{let s=ZA();if(s){let i=`
15
+ error: ${s.text}`;let{file:l,line:c,column:f}=s.location,d=s.pluginName?`[plugin: ${s.pluginName}] `:"";return`
16
+ ${l}:${c}:${f}: ERROR: ${d}${s.text}`}).join("");let o=new Error(t);for(let[s,i]of[["errors",e],["warnings",r]])Object.defineProperty(o,s,{configurable:!0,enumerable:!0,get:()=>i,set:l=>Object.defineProperty(o,s,{configurable:!0,enumerable:!0,value:l})});return o}function mn(t,e){for(let r of t)r.detail=e.load(r.detail);return t}function ju(t,e,r){if(t==null)return null;let n={},o=_(t,n,"file",ee),s=_(t,n,"namespace",ee),i=_(t,n,"line",Qr),l=_(t,n,"column",Qr),c=_(t,n,"length",Qr),f=_(t,n,"lineText",ee),d=_(t,n,"suggestion",ee);if(De(t,n,e),f){let a=f.slice(0,(l&&l>0?l:0)+(c&&c>0?c:0)+(r&&r>0?r:80));!/[\x7F-\uFFFF]/.test(a)&&!/\n/.test(f)&&(f=a)}return{file:o||"",namespace:s||"",line:i||0,column:l||0,length:c||0,lineText:f||"",suggestion:d||""}}function zt(t,e,r,n,o){let s=[],i=0;for(let l of t){let c={},f=_(l,c,"id",ee),d=_(l,c,"pluginName",ee),a=_(l,c,"text",ee),h=_(l,c,"location",Uu),p=_(l,c,"notes",Ht),g=_(l,c,"detail",ls),x=`in element ${i} of "${e}"`;De(l,c,x);let A=[];if(p)for(let w of p){let O={},T=_(w,O,"text",ee),B=_(w,O,"location",Uu);De(w,O,x),A.push({text:T||"",location:ju(B,x,o)})}s.push({id:f||"",pluginName:d||n,text:a||"",location:ju(h,x,o),notes:A,detail:r?r.store(g):-1}),i++}return s}function as(t,e){let r=[];for(let n of t){if(typeof n!="string")throw new Error(`${Ne(e)} must be an array of strings`);r.push(n)}return r}function XA(t,e){let r=Object.create(null);for(let n in t){let o=t[n];if(typeof o!="string")throw new Error(`key ${Ne(n)} in object ${Ne(e)} must be a string`);r[n]=o}return r}function ZA({path:t,contents:e,hash:r}){let n=null;return{path:t,contents:e,hash:r,get text(){let o=this.contents;return(n===null||o!==e)&&(e=o,n=Mr(o)),n}}}function us(t){let e=t.source;return t.flags&&(e=`(?${t.flags})${e}`),e}function e0(t){let e;try{e=Mr(t)}catch{return UA(t)}return JSON.parse(e)}var fr=ie("fs"),Ku=ie("os"),kt=ie("path"),dn=process.env.ESBUILD_BINARY_PATH||dn,t0=t=>!!t&&t!=="/usr/bin/esbuild",Wu="@esbuild/darwin-arm64",Gu="@esbuild/darwin-x64",ds={"win32 arm64 LE":"@esbuild/win32-arm64","win32 ia32 LE":"@esbuild/win32-ia32","win32 x64 LE":"@esbuild/win32-x64"},fs={"aix ppc64 BE":"@esbuild/aix-ppc64","android arm64 LE":"@esbuild/android-arm64","darwin arm64 LE":"@esbuild/darwin-arm64","darwin x64 LE":"@esbuild/darwin-x64","freebsd arm64 LE":"@esbuild/freebsd-arm64","freebsd x64 LE":"@esbuild/freebsd-x64","linux arm LE":"@esbuild/linux-arm","linux arm64 LE":"@esbuild/linux-arm64","linux ia32 LE":"@esbuild/linux-ia32","linux mips64el LE":"@esbuild/linux-mips64el","linux ppc64 LE":"@esbuild/linux-ppc64","linux riscv64 LE":"@esbuild/linux-riscv64","linux s390x BE":"@esbuild/linux-s390x","linux x64 LE":"@esbuild/linux-x64","linux loong64 LE":"@esbuild/linux-loong64","netbsd arm64 LE":"@esbuild/netbsd-arm64","netbsd x64 LE":"@esbuild/netbsd-x64","openbsd arm64 LE":"@esbuild/openbsd-arm64","openbsd x64 LE":"@esbuild/openbsd-x64","sunos x64 LE":"@esbuild/sunos-x64"},qu={"android arm LE":"@esbuild/android-arm","android x64 LE":"@esbuild/android-x64","openharmony arm64 LE":"@esbuild/openharmony-arm64"};function r0(){let t,e,r=!1,n=`${process.platform} ${Ku.arch()} ${Ku.endianness()}`;if(n in ds)t=ds[n],e="esbuild.exe";else if(n in fs)t=fs[n],e="bin/esbuild";else if(n in qu)t=qu[n],e="bin/esbuild",r=!0;else throw new Error(`Unsupported platform: ${n}`);return{pkg:t,subpath:e,isWASM:r}}function n0(){let t=ie.resolve("esbuild"),e=kt.dirname(kt.dirname(kt.dirname(t)));if(kt.basename(e)==="node_modules"){for(let r in fs)try{let n=fs[r];if(fr.existsSync(kt.join(e,n)))return n}catch{}for(let r in ds)try{let n=ds[r];if(fr.existsSync(kt.join(e,n)))return n}catch{}}return null}function o0(t,e){let r=kt.dirname(ie.resolve("esbuild"));return kt.join(r,`downloaded-${t.replace("/","-")}-${kt.basename(e)}`)}function s0(){if(t0(dn))if(!fr.existsSync(dn))console.warn(`[esbuild] Ignoring bad configuration: ESBUILD_BINARY_PATH=${dn}`);else return{binPath:dn,isWASM:!1};let{pkg:t,subpath:e,isWASM:r}=r0(),n;try{n=ie.resolve(`${t}/${e}`)}catch(o){if(n=o0(t,e),!fr.existsSync(n)){try{ie.resolve(t)}catch{let s=n0();if(s){let i=`
17
17
  Specifically the "${s}" package is present but this platform
18
18
  needs the "${t}" package instead. People often get into this
19
19
  situation by installing esbuild on Windows or macOS and copying "node_modules"
@@ -30,7 +30,7 @@ If you are installing with yarn, you can try listing both this platform and the
30
30
  other platform in your ".yarnrc.yml" file using the "supportedArchitectures"
31
31
  feature: https://yarnpkg.com/configuration/yarnrc/#supportedArchitectures
32
32
  Keep in mind that this means multiple copies of esbuild will be present.
33
- `;throw(t===ju&&s===Uu||t===Uu&&s===ju)&&(i=`
33
+ `;throw(t===Gu&&s===Wu||t===Wu&&s===Gu)&&(i=`
34
34
  Specifically the "${s}" package is present but this platform
35
35
  needs the "${t}" package instead. People often get into this
36
36
  situation by installing esbuild with npm running inside of Rosetta 2 and then
@@ -64,100 +64,98 @@ If you are installing esbuild with npm, make sure that you don't specify the
64
64
  of "package.json" is used by esbuild to install the correct binary executable
65
65
  for your current platform.`)}throw o}}if(/\.zip\
66
66
 
67
- More information: The file containing the code for esbuild's JavaScript API (${__filename}) does not appear to be inside the esbuild package on the file system, which usually means that the esbuild package was bundled into another file. This is problematic because the API needs to run a binary executable inside the esbuild package which is located using a relative path from the API code to the executable. If the esbuild package is bundled, the relative path will be incorrect and the executable won't be found.`);{let{binPath:t,isWASM:e}=t0();return e?["node",[t]]:[t,[]]}},so=()=>o0.isatty(2),s0={readFile(t,e){try{let r=Dr.readFileSync(t,"utf8");try{Dr.unlinkSync(t)}catch{}e(null,r)}catch(r){e(r,null)}},writeFile(t,e){try{let r=od();Dr.writeFileSync(r,t),e(r)}catch{e(null)}}},i0={readFile(t,e){try{Dr.readFile(t,"utf8",(r,n)=>{try{Dr.unlink(t,()=>e(r,n))}catch{e(r,n)}})}catch(r){e(r,null)}},writeFile(t,e){try{let r=od();Dr.writeFile(r,t,n=>e(n!==null?null:r))}catch{e(null)}}},a0="0.28.1",c0=t=>Fr().build(t),l0=t=>Fr().context(t),u0=(t,e)=>Fr().transform(t,e),d0=(t,e)=>Fr().formatMessages(t,e),f0=(t,e)=>Fr().analyzeMetafile(t,e),m0=t=>{if(ot&&!ao)return st||(st=ps(ot)),st.buildSync(t);let e;return hs(r=>r.buildOrContext({callName:"buildSync",refs:null,options:t,isTTY:so(),defaultWD:Nr,callback:(n,o)=>{if(n)throw n;e=o}})),e},h0=(t,e)=>{if(ot&&!ao)return st||(st=ps(ot)),st.transformSync(t,e);let r;return hs(n=>n.transform({callName:"transformSync",refs:null,input:t,options:e||{},isTTY:so(),fs:s0,callback:(o,s)=>{if(o)throw o;r=s}})),r},p0=(t,e)=>{if(ot&&!ao)return st||(st=ps(ot)),st.formatMessagesSync(t,e);let r;return hs(n=>n.formatMessages({callName:"formatMessagesSync",refs:null,messages:t,options:e,callback:(o,s)=>{if(o)throw o;r=s}})),r},g0=(t,e)=>{if(ot&&!ao)return st||(st=ps(ot)),st.analyzeMetafileSync(t,e);let r;return hs(n=>n.analyzeMetafile({callName:"analyzeMetafileSync",refs:null,metafile:typeof t=="string"?t:JSON.stringify(t),options:e,callback:(o,s)=>{if(o)throw o;r=s}})),r},A0=()=>(fs&&fs(),st&&st.stop(),Promise.resolve()),ca=!1,y0=t=>{if(t=KA(t||{}),t.wasmURL)throw new Error('The "wasmURL" option only works in the browser');if(t.wasmModule)throw new Error('The "wasmModule" option only works in the browser');if(t.worker)throw new Error('The "worker" option only works in the browser');if(ca)throw new Error('Cannot call "initialize" more than once');return Fr(),ca=!0,Promise.resolve()},Nr=process.cwd(),no,fs,Fr=()=>{if(no)return no;let[t,e]=nd(),r=rd.spawn(t,e.concat("--service=0.28.1","--ping"),{windowsHide:!0,stdio:["pipe","pipe","inherit"],cwd:Nr}),{readFromStdout:n,afterClose:o,service:s}=Zu({writeToStdin(u){r.stdin.write(u,a=>{a&&o(a)})},readFileSync:Dr.readFileSync,isSync:!1,hasFS:!0,esbuild:io});r.stdin.on("error",o),r.on("error",o);let i=r.stdin,l=r.stdout;l.on("data",n),l.on("end",o),fs=()=>{i.destroy(),l.destroy(),r.kill(),ca=!1,no=void 0,fs=void 0};let c=0;r.unref(),i.unref&&i.unref(),l.unref&&l.unref();let f={ref(){++c===1&&r.ref()},unref(){--c===0&&r.unref()}};return no={build:u=>new Promise((a,h)=>{s.buildOrContext({callName:"build",refs:f,options:u,isTTY:so(),defaultWD:Nr,callback:(p,A)=>p?h(p):a(A)})}),context:u=>new Promise((a,h)=>s.buildOrContext({callName:"context",refs:f,options:u,isTTY:so(),defaultWD:Nr,callback:(p,A)=>p?h(p):a(A)})),transform:(u,a)=>new Promise((h,p)=>s.transform({callName:"transform",refs:f,input:u,options:a||{},isTTY:so(),fs:i0,callback:(A,C)=>A?p(A):h(C)})),formatMessages:(u,a)=>new Promise((h,p)=>s.formatMessages({callName:"formatMessages",refs:f,messages:u,options:a,callback:(A,C)=>A?p(A):h(C)})),analyzeMetafile:(u,a)=>new Promise((h,p)=>s.analyzeMetafile({callName:"analyzeMetafile",refs:f,metafile:typeof u=="string"?u:JSON.stringify(u),options:a,callback:(A,C)=>A?p(A):h(C)}))},no},hs=t=>{let[e,r]=nd(),n=new Uint8Array,{readFromStdout:o,afterClose:s,service:i}=Zu({writeToStdin(c){if(n.length!==0)throw new Error("Must run at most one command");n=c},isSync:!0,hasFS:!0,esbuild:io});t(i);let l=rd.execFileSync(e,r.concat("--service=0.28.1"),{cwd:Nr,windowsHide:!0,input:n,maxBuffer:+process.env.ESBUILD_MAX_BUFFER||16*1024*1024});o(l),s(null)},od=()=>aa.join(n0.tmpdir(),`esbuild-${r0.randomBytes(32).toString("hex")}`),st=null,ps=t=>{let{port1:e,port2:r}=new t.MessageChannel,n=new t.Worker(__filename,{workerData:{workerPort:r,defaultWD:Nr,esbuildVersion:"0.28.1"},transferList:[r],execArgv:[]}),o=0,s=f=>{let u=new Error(`Build failed with 1 error:
68
- error: ${f}`),a=[{id:"",pluginName:"",text:f,location:null,notes:[],detail:void 0}];return u.errors=a,u.warnings=[],u},i=f=>{if(!f)return;let u=f.plugins;if(u&&u.length>0)throw s("Cannot use plugins in synchronous API calls")},l=(f,u)=>{for(let a in u)f[a]=u[a]},c=(f,u)=>{let a=o++,h=new SharedArrayBuffer(8),p=new Int32Array(h),A={sharedBuffer:h,id:a,command:f,args:u};n.postMessage(A);let C=Atomics.wait(p,0,0);if(C!=="ok"&&C!=="not-equal")throw new Error("Internal error: Atomics.wait() failed: "+C);let{message:{id:g,resolve:w,reject:$,properties:k}}=t.receiveMessageOnPort(e);if(a!==g)throw new Error(`Internal error: Expected id ${a} but got id ${g}`);if($)throw l($,k),$;return w};return n.unref(),{buildSync(f){return i(f),c("build",[f])},transformSync(f,u){return c("transform",[f,u])},formatMessagesSync(f,u){return c("formatMessages",[f,u])},analyzeMetafileSync(f,u){return c("analyzeMetafile",[f,u])},stop(){n.terminate(),st=null}}},w0=()=>{let t=ot.workerData.workerPort,e=ot.parentPort,r=n=>{let o={};if(n&&typeof n=="object")for(let s in n)o[s]=n[s];return o};try{let n=Fr();Nr=ot.workerData.defaultWD,e.on("message",o=>{(async()=>{let{sharedBuffer:s,id:i,command:l,args:c}=o,f=new Int32Array(s);try{switch(l){case"build":t.postMessage({id:i,resolve:await n.build(c[0])});break;case"transform":t.postMessage({id:i,resolve:await n.transform(c[0],c[1])});break;case"formatMessages":t.postMessage({id:i,resolve:await n.formatMessages(c[0],c[1])});break;case"analyzeMetafile":t.postMessage({id:i,resolve:await n.analyzeMetafile(c[0],c[1])});break;default:throw new Error(`Invalid command: ${l}`)}}catch(u){t.postMessage({id:i,reject:u,properties:r(u)})}Atomics.add(f,0,1),Atomics.notify(f,0,1/0)})()})}catch(n){e.on("message",o=>{let{sharedBuffer:s,id:i}=o,l=new Int32Array(s);t.postMessage({id:i,reject:n,properties:r(n)}),Atomics.add(l,0,1),Atomics.notify(l,0,1/0)})}};ao&&w0();var b0=io});var ld={};xt(ld,{ImportType:()=>fa,init:()=>cd,parse:()=>ma});function ma(t,e="@"){if(!pe)return cd.then(()=>ma(t));let r=t.length+1,n=(pe.__heap_base.value||pe.__heap_base)+4*r-pe.memory.buffer.byteLength;n>0&&pe.memory.grow(Math.ceil(n/65536));let o=pe.sa(r-1);if((x0?ad:id)(t,new Uint16Array(pe.memory.buffer,o,r)),!pe.parse())throw Object.assign(new Error(`Parse error ${e}:${t.slice(0,pe.e()).split(`
67
+ More information: The file containing the code for esbuild's JavaScript API (${__filename}) does not appear to be inside the esbuild package on the file system, which usually means that the esbuild package was bundled into another file. This is problematic because the API needs to run a binary executable inside the esbuild package which is located using a relative path from the API code to the executable. If the esbuild package is bundled, the relative path will be incorrect and the executable won't be found.`);{let{binPath:t,isWASM:e}=s0();return e?["node",[t]]:[t,[]]}},so=()=>l0.isatty(2),c0={readFile(t,e){try{let r=Dr.readFileSync(t,"utf8");try{Dr.unlinkSync(t)}catch{}e(null,r)}catch(r){e(r,null)}},writeFile(t,e){try{let r=ad();Dr.writeFileSync(r,t),e(r)}catch{e(null)}}},u0={readFile(t,e){try{Dr.readFile(t,"utf8",(r,n)=>{try{Dr.unlink(t,()=>e(r,n))}catch{e(r,n)}})}catch(r){e(r,null)}},writeFile(t,e){try{let r=ad();Dr.writeFile(r,t,n=>e(n!==null?null:r))}catch{e(null)}}},d0="0.28.1",f0=t=>Fr().build(t),m0=t=>Fr().context(t),h0=(t,e)=>Fr().transform(t,e),p0=(t,e)=>Fr().formatMessages(t,e),g0=(t,e)=>Fr().analyzeMetafile(t,e),A0=t=>{if(ot&&!ao)return st||(st=gs(ot)),st.buildSync(t);let e;return ps(r=>r.buildOrContext({callName:"buildSync",refs:null,options:t,isTTY:so(),defaultWD:Nr,callback:(n,o)=>{if(n)throw n;e=o}})),e},y0=(t,e)=>{if(ot&&!ao)return st||(st=gs(ot)),st.transformSync(t,e);let r;return ps(n=>n.transform({callName:"transformSync",refs:null,input:t,options:e||{},isTTY:so(),fs:c0,callback:(o,s)=>{if(o)throw o;r=s}})),r},w0=(t,e)=>{if(ot&&!ao)return st||(st=gs(ot)),st.formatMessagesSync(t,e);let r;return ps(n=>n.formatMessages({callName:"formatMessagesSync",refs:null,messages:t,options:e,callback:(o,s)=>{if(o)throw o;r=s}})),r},b0=(t,e)=>{if(ot&&!ao)return st||(st=gs(ot)),st.analyzeMetafileSync(t,e);let r;return ps(n=>n.analyzeMetafile({callName:"analyzeMetafileSync",refs:null,metafile:typeof t=="string"?t:JSON.stringify(t),options:e,callback:(o,s)=>{if(o)throw o;r=s}})),r},E0=()=>(ms&&ms(),st&&st.stop(),Promise.resolve()),la=!1,x0=t=>{if(t=JA(t||{}),t.wasmURL)throw new Error('The "wasmURL" option only works in the browser');if(t.wasmModule)throw new Error('The "wasmModule" option only works in the browser');if(t.worker)throw new Error('The "worker" option only works in the browser');if(la)throw new Error('Cannot call "initialize" more than once');return Fr(),la=!0,Promise.resolve()},Nr=process.cwd(),no,ms,Fr=()=>{if(no)return no;let[t,e]=id(),r=sd.spawn(t,e.concat("--service=0.28.1","--ping"),{windowsHide:!0,stdio:["pipe","pipe","inherit"],cwd:Nr}),{readFromStdout:n,afterClose:o,service:s}=rd({writeToStdin(d){r.stdin.write(d,a=>{a&&o(a)})},readFileSync:Dr.readFileSync,isSync:!1,hasFS:!0,esbuild:io});r.stdin.on("error",o),r.on("error",o);let i=r.stdin,l=r.stdout;l.on("data",n),l.on("end",o),ms=()=>{i.destroy(),l.destroy(),r.kill(),la=!1,no=void 0,ms=void 0};let c=0;r.unref(),i.unref&&i.unref(),l.unref&&l.unref();let f={ref(){++c===1&&r.ref()},unref(){--c===0&&r.unref()}};return no={build:d=>new Promise((a,h)=>{s.buildOrContext({callName:"build",refs:f,options:d,isTTY:so(),defaultWD:Nr,callback:(p,g)=>p?h(p):a(g)})}),context:d=>new Promise((a,h)=>s.buildOrContext({callName:"context",refs:f,options:d,isTTY:so(),defaultWD:Nr,callback:(p,g)=>p?h(p):a(g)})),transform:(d,a)=>new Promise((h,p)=>s.transform({callName:"transform",refs:f,input:d,options:a||{},isTTY:so(),fs:u0,callback:(g,x)=>g?p(g):h(x)})),formatMessages:(d,a)=>new Promise((h,p)=>s.formatMessages({callName:"formatMessages",refs:f,messages:d,options:a,callback:(g,x)=>g?p(g):h(x)})),analyzeMetafile:(d,a)=>new Promise((h,p)=>s.analyzeMetafile({callName:"analyzeMetafile",refs:f,metafile:typeof d=="string"?d:JSON.stringify(d),options:a,callback:(g,x)=>g?p(g):h(x)}))},no},ps=t=>{let[e,r]=id(),n=new Uint8Array,{readFromStdout:o,afterClose:s,service:i}=rd({writeToStdin(c){if(n.length!==0)throw new Error("Must run at most one command");n=c},isSync:!0,hasFS:!0,esbuild:io});t(i);let l=sd.execFileSync(e,r.concat("--service=0.28.1"),{cwd:Nr,windowsHide:!0,input:n,maxBuffer:+process.env.ESBUILD_MAX_BUFFER||16*1024*1024});o(l),s(null)},ad=()=>aa.join(a0.tmpdir(),`esbuild-${i0.randomBytes(32).toString("hex")}`),st=null,gs=t=>{let{port1:e,port2:r}=new t.MessageChannel,n=new t.Worker(__filename,{workerData:{workerPort:r,defaultWD:Nr,esbuildVersion:"0.28.1"},transferList:[r],execArgv:[]}),o=0,s=f=>{let d=new Error(`Build failed with 1 error:
68
+ error: ${f}`),a=[{id:"",pluginName:"",text:f,location:null,notes:[],detail:void 0}];return d.errors=a,d.warnings=[],d},i=f=>{if(!f)return;let d=f.plugins;if(d&&d.length>0)throw s("Cannot use plugins in synchronous API calls")},l=(f,d)=>{for(let a in d)f[a]=d[a]},c=(f,d)=>{let a=o++,h=new SharedArrayBuffer(8),p=new Int32Array(h),g={sharedBuffer:h,id:a,command:f,args:d};n.postMessage(g);let x=Atomics.wait(p,0,0);if(x!=="ok"&&x!=="not-equal")throw new Error("Internal error: Atomics.wait() failed: "+x);let{message:{id:A,resolve:w,reject:O,properties:T}}=t.receiveMessageOnPort(e);if(a!==A)throw new Error(`Internal error: Expected id ${a} but got id ${A}`);if(O)throw l(O,T),O;return w};return n.unref(),{buildSync(f){return i(f),c("build",[f])},transformSync(f,d){return c("transform",[f,d])},formatMessagesSync(f,d){return c("formatMessages",[f,d])},analyzeMetafileSync(f,d){return c("analyzeMetafile",[f,d])},stop(){n.terminate(),st=null}}},v0=()=>{let t=ot.workerData.workerPort,e=ot.parentPort,r=n=>{let o={};if(n&&typeof n=="object")for(let s in n)o[s]=n[s];return o};try{let n=Fr();Nr=ot.workerData.defaultWD,e.on("message",o=>{(async()=>{let{sharedBuffer:s,id:i,command:l,args:c}=o,f=new Int32Array(s);try{switch(l){case"build":t.postMessage({id:i,resolve:await n.build(c[0])});break;case"transform":t.postMessage({id:i,resolve:await n.transform(c[0],c[1])});break;case"formatMessages":t.postMessage({id:i,resolve:await n.formatMessages(c[0],c[1])});break;case"analyzeMetafile":t.postMessage({id:i,resolve:await n.analyzeMetafile(c[0],c[1])});break;default:throw new Error(`Invalid command: ${l}`)}}catch(d){t.postMessage({id:i,reject:d,properties:r(d)})}Atomics.add(f,0,1),Atomics.notify(f,0,1/0)})()})}catch(n){e.on("message",o=>{let{sharedBuffer:s,id:i}=o,l=new Int32Array(s);t.postMessage({id:i,reject:n,properties:r(n)}),Atomics.add(l,0,1),Atomics.notify(l,0,1/0)})}};ao&&v0();var C0=io});var fd={};yt(fd,{ImportType:()=>fa,init:()=>dd,parse:()=>ma});function ma(t,e="@"){if(!pe)return dd.then(()=>ma(t));let r=t.length+1,n=(pe.__heap_base.value||pe.__heap_base)+4*r-pe.memory.buffer.byteLength;n>0&&pe.memory.grow(Math.ceil(n/65536));let o=pe.sa(r-1);if((S0?ud:cd)(t,new Uint16Array(pe.memory.buffer,o,r)),!pe.parse())throw Object.assign(new Error(`Parse error ${e}:${t.slice(0,pe.e()).split(`
69
69
  `).length}:${pe.e()-t.lastIndexOf(`
70
- `,pe.e()-1)}`),{idx:pe.e()});let s=[],i=[];for(;pe.ri();){let c=pe.is(),f=pe.ie(),u=pe.it(),a=pe.ai(),h=pe.id(),p=pe.ss(),A=pe.se(),C;pe.ip()&&(C=l(t.slice(h===-1?c-1:c,h===-1?f+1:f))),s.push({n:C,t:u,s:c,e:f,ss:p,se:A,d:h,a})}for(;pe.re();){let c=pe.es(),f=pe.ee(),u=pe.els(),a=pe.ele(),h=t.slice(c,f),p=h[0],A=u<0?void 0:t.slice(u,a),C=A?A[0]:"";i.push({s:c,e:f,ls:u,le:a,n:p==='"'||p==="'"?l(h):h,ln:C==='"'||C==="'"?l(A):A})}function l(c){try{return(0,eval)(c)}catch{}}return gs(l,"k"),[s,i,!!pe.f(),!!pe.ms()]}function id(t,e){let r=t.length,n=0;for(;n<r;){let o=t.charCodeAt(n);e[n++]=(255&o)<<8|o>>>8}}function ad(t,e){let r=t.length,n=0;for(;n<r;)e[n]=t.charCodeAt(n++)}var E0,gs,fa,x0,pe,cd,da,ud=ve(()=>{E0=Object.defineProperty,gs=(t,e)=>E0(t,"name",{value:e,configurable:!0});(function(t){t[t.Static=1]="Static",t[t.Dynamic=2]="Dynamic",t[t.ImportMeta=3]="ImportMeta",t[t.StaticSourcePhase=4]="StaticSourcePhase",t[t.DynamicSourcePhase=5]="DynamicSourcePhase"})(fa||(fa={}));x0=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;gs(ma,"parse");gs(id,"Q");gs(ad,"B");cd=WebAssembly.compile((da="AGFzbQEAAAABKwhgAX8Bf2AEf39/fwBgAAF/YAAAYAF/AGADf39/AX9gAn9/AX9gA39/fwADMTAAAQECAgICAgICAgICAgICAgICAgIAAwMDBAQAAAUAAAAAAAMDAwAGAAAABwAGAgUEBQFwAQEBBQMBAAEGDwJ/AUHA8gALfwBBwPIACwd6FQZtZW1vcnkCAAJzYQAAAWUAAwJpcwAEAmllAAUCc3MABgJzZQAHAml0AAgCYWkACQJpZAAKAmlwAAsCZXMADAJlZQANA2VscwAOA2VsZQAPAnJpABACcmUAEQFmABICbXMAEwVwYXJzZQAUC19faGVhcF9iYXNlAwEKm0EwaAEBf0EAIAA2AoAKQQAoAtwJIgEgAEEBdGoiAEEAOwEAQQAgAEECaiIANgKECkEAIAA2AogKQQBBADYC4AlBAEEANgLwCUEAQQA2AugJQQBBADYC5AlBAEEANgL4CUEAQQA2AuwJIAEL0wEBA39BACgC8AkhBEEAQQAoAogKIgU2AvAJQQAgBDYC9AlBACAFQSRqNgKICiAEQSBqQeAJIAQbIAU2AgBBACgC1AkhBEEAKALQCSEGIAUgATYCACAFIAA2AgggBSACIAJBAmpBACAGIANGIgAbIAQgA0YiBBs2AgwgBSADNgIUIAVBADYCECAFIAI2AgQgBUEANgIgIAVBA0EBQQIgABsgBBs2AhwgBUEAKALQCSADRiICOgAYAkACQCACDQBBACgC1AkgA0cNAQtBAEEBOgCMCgsLXgEBf0EAKAL4CSIEQRBqQeQJIAQbQQAoAogKIgQ2AgBBACAENgL4CUEAIARBFGo2AogKQQBBAToAjAogBEEANgIQIAQgAzYCDCAEIAI2AgggBCABNgIEIAQgADYCAAsIAEEAKAKQCgsVAEEAKALoCSgCAEEAKALcCWtBAXULHgEBf0EAKALoCSgCBCIAQQAoAtwJa0EBdUF/IAAbCxUAQQAoAugJKAIIQQAoAtwJa0EBdQseAQF/QQAoAugJKAIMIgBBACgC3AlrQQF1QX8gABsLCwBBACgC6AkoAhwLHgEBf0EAKALoCSgCECIAQQAoAtwJa0EBdUF/IAAbCzsBAX8CQEEAKALoCSgCFCIAQQAoAtAJRw0AQX8PCwJAIABBACgC1AlHDQBBfg8LIABBACgC3AlrQQF1CwsAQQAoAugJLQAYCxUAQQAoAuwJKAIAQQAoAtwJa0EBdQsVAEEAKALsCSgCBEEAKALcCWtBAXULHgEBf0EAKALsCSgCCCIAQQAoAtwJa0EBdUF/IAAbCx4BAX9BACgC7AkoAgwiAEEAKALcCWtBAXVBfyAAGwslAQF/QQBBACgC6AkiAEEgakHgCSAAGygCACIANgLoCSAAQQBHCyUBAX9BAEEAKALsCSIAQRBqQeQJIAAbKAIAIgA2AuwJIABBAEcLCABBAC0AlAoLCABBAC0AjAoL3Q0BBX8jAEGA0ABrIgAkAEEAQQE6AJQKQQBBACgC2Ak2ApwKQQBBACgC3AlBfmoiATYCsApBACABQQAoAoAKQQF0aiICNgK0CkEAQQA6AIwKQQBBADsBlgpBAEEAOwGYCkEAQQA6AKAKQQBBADYCkApBAEEAOgD8CUEAIABBgBBqNgKkCkEAIAA2AqgKQQBBADoArAoCQAJAAkACQANAQQAgAUECaiIDNgKwCiABIAJPDQECQCADLwEAIgJBd2pBBUkNAAJAAkACQAJAAkAgAkGbf2oOBQEICAgCAAsgAkEgRg0EIAJBL0YNAyACQTtGDQIMBwtBAC8BmAoNASADEBVFDQEgAUEEakGCCEEKEC8NARAWQQAtAJQKDQFBAEEAKAKwCiIBNgKcCgwHCyADEBVFDQAgAUEEakGMCEEKEC8NABAXC0EAQQAoArAKNgKcCgwBCwJAIAEvAQQiA0EqRg0AIANBL0cNBBAYDAELQQEQGQtBACgCtAohAkEAKAKwCiEBDAALC0EAIQIgAyEBQQAtAPwJDQIMAQtBACABNgKwCkEAQQA6AJQKCwNAQQAgAUECaiIDNgKwCgJAAkACQAJAAkACQAJAIAFBACgCtApPDQAgAy8BACICQXdqQQVJDQYCQAJAAkACQAJAAkACQAJAAkACQCACQWBqDgoQDwYPDw8PBQECAAsCQAJAAkACQCACQaB/ag4KCxISAxIBEhISAgALIAJBhX9qDgMFEQYJC0EALwGYCg0QIAMQFUUNECABQQRqQYIIQQoQLw0QEBYMEAsgAxAVRQ0PIAFBBGpBjAhBChAvDQ8QFwwPCyADEBVFDQ4gASkABELsgISDsI7AOVINDiABLwEMIgNBd2oiAUEXSw0MQQEgAXRBn4CABHFFDQwMDQtBAEEALwGYCiIBQQFqOwGYCkEAKAKkCiABQQN0aiIBQQE2AgAgAUEAKAKcCjYCBAwNC0EALwGYCiIDRQ0JQQAgA0F/aiIDOwGYCkEALwGWCiICRQ0MQQAoAqQKIANB
71
- `),r=e.filter(s=>/^\t+/.test(s)),n=e.filter(s=>/^ {2,}/.test(s));if(r.length===0&&n.length===0)return null;if(r.length>=n.length)return" ";let o=n.reduce((s,i)=>{let l=/^ +/.exec(i)[0].length;return Math.min(l,s)},1/0);return new Array(o+1).join(" ")}function xd(t,e){let r=t.split(/[/\\]/),n=e.split(/[/\\]/);for(r.pop();r[0]===n[0];)r.shift(),n.shift();if(r.length){let o=r.length;for(;o--;)r[o]=".."}return r.concat(n).join("/")}function vd(t){return $0.call(t)==="[object Object]"}function ga(t){let e=t.split(`
72
- `),r=[];for(let n=0,o=0;n<e.length;n++)r.push(o),o+=e[n].length+1;return x(function(n){let o=0,s=r.length;for(;o<s;){let c=o+s>>1;n<r[c]?s=c:o=c+1}let i=o-1,l=n-r[i];return{line:i,column:l}},"locate")}function kd(t,e="@"){Le=t,Cd=e;let r=2*Le.length+(2<<18);if(r>lo||!$e){for(;r>lo;)lo*=2;As=new ArrayBuffer(lo),hd(Q0,new Uint16Array(As,16,110)),$e=(function(i,l,c){var f=new i.Int8Array(c),u=new i.Int16Array(c),a=new i.Int32Array(c),h=new i.Uint8Array(c),p=new i.Uint16Array(c),A=1040;function C(){var d=0,m=0,y=0,b=0,M=0,ee=0,Ee=0;Ee=A,A=A+10240|0,f[804]=1,f[803]=0,u[399]=0,u[400]=0,a[69]=a[2],f[805]=0,a[68]=0,f[802]=0,a[70]=Ee+2048,a[71]=Ee,f[806]=0,d=(a[3]|0)+-2|0,a[72]=d,m=d+(a[66]<<1)|0,a[73]=m;e:for(;;){if(y=d+2|0,a[72]=y,d>>>0>=m>>>0){b=18;break}t:do switch(u[y>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if(!(u[400]|0)&&Pe(y)|0&&!(F(d+4|0,16,10)|0)&&(g(),(f[804]|0)==0)){b=9;break e}else b=17;break}case 105:{Pe(y)|0&&!(F(d+4|0,26,10)|0)&&w(),b=17;break}case 59:{b=17;break}case 47:switch(u[d+4>>1]|0){case 47:{ce();break t}case 42:{L(1);break t}default:{b=16;break e}}default:{b=16;break e}}while(!1);(b|0)==17&&(b=0,a[69]=a[72]),d=a[72]|0,m=a[73]|0}(b|0)==9?(d=a[72]|0,a[69]=d,b=19):(b|0)==16?(f[804]=0,a[72]=d,b=19):(b|0)==18&&(f[802]|0?d=0:(d=y,b=19));do if((b|0)==19){e:for(;;){if(m=d+2|0,a[72]=m,d>>>0>=(a[73]|0)>>>0){b=92;break}t:do switch(u[m>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{!(u[400]|0)&&Pe(m)|0&&!(F(d+4|0,16,10)|0)&&g(),b=91;break}case 105:{Pe(m)|0&&!(F(d+4|0,26,10)|0)&&w(),b=91;break}case 99:{Pe(m)|0&&!(F(d+4|0,36,8)|0)&&ur(u[d+12>>1]|0)|0&&(f[806]=1),b=91;break}case 40:{y=a[70]|0,d=u[400]|0,b=d&65535,a[y+(b<<3)>>2]=1,m=a[69]|0,u[400]=d+1<<16>>16,a[y+(b<<3)+4>>2]=m,b=91;break}case 41:{if(m=u[400]|0,!(m<<16>>16)){b=36;break e}y=m+-1<<16>>16,u[400]=y,b=u[399]|0,m=b&65535,b<<16>>16&&(a[(a[70]|0)+((y&65535)<<3)>>2]|0)==5&&(m=a[(a[71]|0)+(m+-1<<2)>>2]|0,y=m+4|0,a[y>>2]|0||(a[y>>2]=(a[69]|0)+2),a[m+12>>2]=d+4,u[399]=b+-1<<16>>16),b=91;break}case 123:{b=a[69]|0,y=a[63]|0,d=b;do if((u[b>>1]|0)==41&(y|0)!=0&&(a[y+4>>2]|0)==(b|0))if(m=a[64]|0,a[63]=m,m){a[m+32>>2]=0;break}else{a[59]=0;break}while(!1);y=a[70]|0,m=u[400]|0,b=m&65535,a[y+(b<<3)>>2]=f[806]|0?6:2,u[400]=m+1<<16>>16,a[y+(b<<3)+4>>2]=d,f[806]=0,b=91;break}case 125:{if(d=u[400]|0,!(d<<16>>16)){b=49;break e}y=a[70]|0,b=d+-1<<16>>16,u[400]=b,(a[y+((b&65535)<<3)>>2]|0)==4&&I(),b=91;break}case 39:{B(39),b=91;break}case 34:{B(34),b=91;break}case 47:switch(u[d+4>>1]|0){case 47:{ce();break t}case 42:{L(1);break t}default:{d=a[69]|0,m=u[d>>1]|0;r:do if(!(V(m)|0))m<<16>>16==41?(y=u[400]|0,be(a[(a[70]|0)+((y&65535)<<3)+4>>2]|0)|0||(b=65)):b=64;else switch(m<<16>>16){case 46:if(((u[d+-2>>1]|0)+-48&65535)<10){b=64;break r}else break r;case 43:if((u[d+-2>>1]|0)==43){b=64;break r}else break r;case 45:if((u[d+-2>>1]|0)==45){b=64;break r}else break r;default:break r}while(!1);(b|0)==64&&(y=u[400]|0,b=65);r:do if((b|0)==65){if(b=0,y<<16>>16&&(M=a[70]|0,ee=(y&65535)+-1|0,m<<16>>16==102?(a[M+(ee<<3)>>2]|0)==1:0)){if((u[d+-2>>1]|0)==111&&re(a[M+(ee<<3)+4>>2]|0,44,3)|0)break}else b=69;if((b|0)==69&&m<<16>>16==125&&(b=a[70]|0,y=y&65535,O(a[b+(y<<3)+4>>2]|0)|0||(a[b+(y<<3)>>2]|0)==6))break;if(!(k(d)|0)){switch(m<<16>>16){case 0:break r;case 47:{if(f[805]|0)break r;break}default:}if(b=a[65]|0,b|0&&d>>>0>=(a[b>>2]|0)>>>0&&d>>>0<=(a[b+4>>2]|0)>>>0){Q(),f[805]=0,b=91;break t}y=a[3]|0;do{if(d>>>0<=y>>>0)break;d=d+-2|0,a[69]=d,m=u[d>>1]|0}while(!(ue(m)|0));if(T(m)|0){do{if(d>>>0<=y>>>0)break;d=d+-2|0,a[69]=d}while(T(u[d>>1]|0)|0);if(J(d)|0){Q(),f[805]=0,b=91;break t}}f[805]=1,b=91;break t}}while(!1);Q(),f[805]=0,b=91;break t}}case 96:{y=a[70]|0,m=u[400]|0,b=m&65535,a[y+(b<<3)+4>>2]=a[69],u[400]=m+1<<16>>16,a[y+(b<<3)>>2]=3,I(),b=91;break}default:b=91}while(!1);(b|0)==91&&(b=0,a[69]=a[72]),d=a[72]|0}if((b|0)==36){rt(),d=0;break}else if((b|0)==49){rt(),d=0;break}else if((b|0)==92){d=f[802]|0?0:(u[399]|u[400])<<16>>16==0;break}}while(!1);return A=Ee,d|0}x(C,"b");function g(){var d=0,m=0,y=0,b=0,M=0,ee=0,Ee=0,Br=0,Vi=0,zi=0,Xi=0,Zi=0,xe=0,Oe=0;Br=a[72]|0,Vi=a[65]|0,Oe=Br+12|0,a[72]=Oe,y=v(1)|0,d=a[72]|0,(d|0)==(Oe|0)&&!(W(y)|0)||(xe=3);e:do if((xe|0)==3){t:do switch(y<<16>>16){case 123:{for(a[72]=d+2,d=v(1)|0,m=a[72]|0;;){if(Jt(d)|0?(B(d),d=(a[72]|0)+2|0,a[72]=d):(ye(d)|0,d=a[72]|0),v(1)|0,d=U(m,d)|0,d<<16>>16==44&&(a[72]=(a[72]|0)+2,d=v(1)|0),d<<16>>16==125){xe=15;break}if(Oe=m,m=a[72]|0,(m|0)==(Oe|0)){xe=12;break}if(m>>>0>(a[73]|0)>>>0){xe=14;break}}if((xe|0)==12){rt();break e}else if((xe|0)==14){rt();break e}else if((xe|0)==15){f[803]=1,a[72]=(a[72]|0)+2;break t}break}case 42:{a[72]=d+2,v(1)|0,Oe=a[72]|0,U(Oe,Oe)|0;break}default:{switch(f[804]=0,y<<16>>16){case 100:{switch(Br=d+14|0,a[72]=Br,(v(1)|0)<<16>>16){case 97:{m=a[72]|0,!(F(m+2|0,72,8)|0)&&(M=m+10|0,T(u[M>>1]|0)|0)&&(a[72]=M,v(0)|0,xe=22);break}case 102:{xe=22;break}case 99:{m=a[72]|0,!(F(m+2|0,36,8)|0)&&(b=m+10|0,Oe=u[b>>1]|0,ur(Oe)|0|Oe<<16>>16==123)&&(a[72]=b,ee=v(1)|0,ee<<16>>16!=123)&&(Zi=ee,xe=31);break}default:}r:do if((xe|0)==22&&(Ee=a[72]|0,(F(Ee+2|0,80,14)|0)==0)){if(y=Ee+16|0,m=u[y>>1]|0,!(ur(m)|0))switch(m<<16>>16){case 40:case 42:break;default:break r}a[72]=y,m=v(1)|0,m<<16>>16==42&&(a[72]=(a[72]|0)+2,m=v(1)|0),m<<16>>16!=40&&(Zi=m,xe=31)}while(!1);if((xe|0)==31&&(zi=a[72]|0,ye(Zi)|0,Xi=a[72]|0,Xi>>>0>zi>>>0)){ie(d,Br,zi,Xi),a[72]=(a[72]|0)+-2;break e}ie(d,Br,0,0),a[72]=d+12;break e}case 97:{a[72]=d+10,v(0)|0,d=a[72]|0,xe=35;break}case 102:{xe=35;break}case 99:{if(!(F(d+2|0,36,8)|0)&&(m=d+10|0,ue(u[m>>1]|0)|0)){a[72]=m,Oe=v(1)|0,xe=a[72]|0,ye(Oe)|0,Oe=a[72]|0,ie(xe,Oe,xe,Oe),a[72]=(a[72]|0)+-2;break e}d=d+4|0,a[72]=d;break}case 108:case 118:break;default:break e}if((xe|0)==35){a[72]=d+16,d=v(1)|0,d<<16>>16==42&&(a[72]=(a[72]|0)+2,d=v(1)|0),xe=a[72]|0,ye(d)|0,Oe=a[72]|0,ie(xe,Oe,xe,Oe),a[72]=(a[72]|0)+-2;break e}a[72]=d+6,f[804]=0,y=v(1)|0,d=a[72]|0,y=(ye(y)|0|32)<<16>>16==123,b=a[72]|0,y&&(a[72]=b+2,Oe=v(1)|0,d=a[72]|0,ye(Oe)|0);r:for(;m=a[72]|0,(m|0)!=(d|0);){if(ie(d,m,d,m),m=v(1)|0,y)switch(m<<16>>16){case 93:case 125:break e;default:}if(d=a[72]|0,m<<16>>16!=44){xe=51;break}switch(a[72]=d+2,m=v(1)|0,d=a[72]|0,m<<16>>16){case 91:case 123:{xe=51;break r}default:}ye(m)|0}if((xe|0)==51&&(a[72]=d+-2),!y)break e;a[72]=b+-2;break e}}while(!1);if(Oe=(v(1)|0)<<16>>16==102,d=a[72]|0,Oe&&!(F(d+2|0,66,6)|0))for(a[72]=d+8,$(Br,v(1)|0,0),d=Vi|0?Vi+16|0:240;;){if(d=a[d>>2]|0,!d)break e;a[d+12>>2]=0,a[d+8>>2]=0,d=d+16|0}a[72]=d+-2}while(!1)}x(g,"k");function w(){var d=0,m=0,y=0,b=0,M=0,ee=0,Ee=0;M=a[72]|0,y=M+12|0,a[72]=y,b=v(1)|0,m=a[72]|0;e:do if(b<<16>>16!=46)b<<16>>16==115&m>>>0>y>>>0?!(F(m+2|0,56,10)|0)&&(d=m+12|0,ur(u[d>>1]|0)|0)?ee=14:(m=6,y=0,ee=46):(d=b,y=0,ee=15);else switch(a[72]=m+2,(v(1)|0)<<16>>16){case 109:{if(d=a[72]|0,F(d+2|0,50,6)|0||(m=a[69]|0,!(He(m)|0)&&(u[m>>1]|0)==46))break e;S(M,M,d+8|0,2);break e}case 115:{if(d=a[72]|0,F(d+2|0,56,10)|0||(m=a[69]|0,!(He(m)|0)&&(u[m>>1]|0)==46))break e;d=d+12|0,ee=14;break e}default:break e}while(!1);(ee|0)==14&&(a[72]=d,d=v(1)|0,y=1,ee=15);e:do if((ee|0)==15)switch(d<<16>>16){case 40:{if(m=a[70]|0,Ee=u[400]|0,b=Ee&65535,a[m+(b<<3)>>2]=5,d=a[72]|0,u[400]=Ee+1<<16>>16,a[m+(b<<3)+4>>2]=d,(u[a[69]>>1]|0)==46)break e;switch(a[72]=d+2,m=v(1)|0,S(M,a[72]|0,0,d),y?(d=a[63]|0,a[d+28>>2]=5):d=a[63]|0,M=a[71]|0,Ee=u[399]|0,u[399]=Ee+1<<16>>16,a[M+((Ee&65535)<<2)>>2]=d,m<<16>>16){case 39:{B(39);break}case 34:{B(34);break}default:{a[72]=(a[72]|0)+-2;break e}}switch(d=(a[72]|0)+2|0,a[72]=d,(v(1)|0)<<16>>16){case 44:{a[72]=(a[72]|0)+2,v(1)|0,M=a[63]|0,a[M+4>>2]=d,Ee=a[72]|0,a[M+16>>2]=Ee,f[M+24>>0]=1,a[72]=Ee+-2;break e}case 41:{u[400]=(u[400]|0)+-1<<16>>16,Ee=a[63]|0,a[Ee+4>>2]=d,a[Ee+12>>2]=(a[72]|0)+2,f[Ee+24>>0]=1,u[399]=(u[399]|0)+-1<<16>>16;break e}default:{a[72]=(a[72]|0)+-2;break e}}}case 123:{if(y){m=12,y=1,ee=46;break e}if(d=a[72]|0,u[400]|0){a[72]=d+-2;break e}for(;!(d>>>0>=(a[73]|0)>>>0);){if(d=v(1)|0,Jt(d)|0)B(d);else if(d<<16>>16==125){ee=36;break}d=(a[72]|0)+2|0,a[72]=d}if((ee|0)==36&&(a[72]=(a[72]|0)+2),Ee=(v(1)|0)<<16>>16==102,d=a[72]|0,Ee&&F(d+2|0,66,6)|0){rt();break e}if(a[72]=d+8,d=v(1)|0,Jt(d)|0){$(M,d,0);break e}else{rt();break e}}default:{if(y){m=12,y=1,ee=46;break e}switch(d<<16>>16){case 42:case 39:case 34:{y=0,ee=48;break e}default:{m=6,y=0,ee=46;break e}}}}while(!1);(ee|0)==46&&(d=a[72]|0,(d|0)==(M+(m<<1)|0)?a[72]=d+-2:ee=48);do if((ee|0)==48){if(u[400]|0){a[72]=(a[72]|0)+-2;break}for(d=a[73]|0,m=a[72]|0;;){if(m>>>0>=d>>>0){ee=55;break}if(b=u[m>>1]|0,Jt(b)|0){ee=53;break}Ee=m+2|0,a[72]=Ee,m=Ee}if((ee|0)==53){$(M,b,y);break}else if((ee|0)==55){rt();break}}while(!1)}x(w,"l");function $(d,m,y){d=d|0,m=m|0,y=y|0;var b=0,M=0;switch(b=(a[72]|0)+2|0,m<<16>>16){case 39:{B(39),M=5;break}case 34:{B(34),M=5;break}default:rt()}do if((M|0)==5){if(S(d,b,a[72]|0,1),y&&(a[(a[63]|0)+28>>2]=4),a[72]=(a[72]|0)+2,m=v(0)|0,y=m<<16>>16==97,y?(b=a[72]|0,F(b+2|0,94,10)|0&&(M=13)):(b=a[72]|0,m<<16>>16==119&&(u[b+2>>1]|0)==105&&(u[b+4>>1]|0)==116&&(u[b+6>>1]|0)==104||(M=13)),(M|0)==13){a[72]=b+-2;break}if(a[72]=b+((y?6:4)<<1),(v(1)|0)<<16>>16!=123){a[72]=b;break}y=a[72]|0,m=y;e:for(;;){switch(a[72]=m+2,m=v(1)|0,m<<16>>16){case 39:{B(39),a[72]=(a[72]|0)+2,m=v(1)|0;break}case 34:{B(34),a[72]=(a[72]|0)+2,m=v(1)|0;break}default:m=ye(m)|0}if(m<<16>>16!=58){M=22;break}switch(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16){case 39:{B(39);break}case 34:{B(34);break}default:{M=26;break e}}switch(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16){case 125:{M=31;break e}case 44:break;default:{M=30;break e}}if(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16==125){M=31;break}m=a[72]|0}if((M|0)==22){a[72]=b;break}else if((M|0)==26){a[72]=b;break}else if((M|0)==30){a[72]=b;break}else if((M|0)==31){M=a[63]|0,a[M+16>>2]=y,a[M+12>>2]=(a[72]|0)+2;break}}while(!1)}x($,"u");function k(d){d=d|0;e:do switch(u[d>>1]|0){case 100:switch(u[d+-2>>1]|0){case 105:{d=re(d+-4|0,104,2)|0;break e}case 108:{d=re(d+-4|0,108,3)|0;break e}default:{d=0;break e}}case 101:switch(u[d+-2>>1]|0){case 115:switch(u[d+-4>>1]|0){case 108:{d=le(d+-6|0,101)|0;break e}case 97:{d=le(d+-6|0,99)|0;break e}default:{d=0;break e}}case 116:{d=re(d+-4|0,114,4)|0;break e}case 117:{d=re(d+-4|0,122,6)|0;break e}default:{d=0;break e}}case 102:{if((u[d+-2>>1]|0)==111&&(u[d+-4>>1]|0)==101)switch(u[d+-6>>1]|0){case 99:{d=re(d+-8|0,134,6)|0;break e}case 112:{d=re(d+-8|0,146,2)|0;break e}default:{d=0;break e}}else d=0;break}case 107:{d=re(d+-2|0,150,4)|0;break}case 110:{d=d+-2|0,le(d,105)|0?d=1:d=re(d,158,5)|0;break}case 111:{d=le(d+-2|0,100)|0;break}case 114:{d=re(d+-2|0,168,7)|0;break}case 116:{d=re(d+-2|0,182,4)|0;break}case 119:switch(u[d+-2>>1]|0){case 101:{d=le(d+-4|0,110)|0;break e}case 111:{d=re(d+-4|0,190,3)|0;break e}default:{d=0;break e}}default:d=0}while(!1);return d|0}x(k,"o");function I(){var d=0,m=0,y=0,b=0;m=a[73]|0,y=a[72]|0;e:for(;;){if(d=y+2|0,y>>>0>=m>>>0){m=10;break}switch(u[d>>1]|0){case 96:{m=7;break e}case 36:{if((u[y+4>>1]|0)==123){m=6;break e}break}case 92:{d=y+4|0;break}default:}y=d}(m|0)==6?(d=y+4|0,a[72]=d,m=a[70]|0,b=u[400]|0,y=b&65535,a[m+(y<<3)>>2]=4,u[400]=b+1<<16>>16,a[m+(y<<3)+4>>2]=d):(m|0)==7?(a[72]=d,y=a[70]|0,b=(u[400]|0)+-1<<16>>16,u[400]=b,(a[y+((b&65535)<<3)>>2]|0)!=3&&rt()):(m|0)==10&&(a[72]=d,rt())}x(I,"h");function v(d){d=d|0;var m=0,y=0,b=0;y=a[72]|0;e:do{m=u[y>>1]|0;t:do if(m<<16>>16!=47)if(d){if(ur(m)|0)break;break e}else{if(T(m)|0)break;break e}else switch(u[y+2>>1]|0){case 47:{ce();break t}case 42:{L(d);break t}default:{m=47;break e}}while(!1);b=a[72]|0,y=b+2|0,a[72]=y}while(b>>>0<(a[73]|0)>>>0);return m|0}x(v,"w");function S(d,m,y,b){d=d|0,m=m|0,y=y|0,b=b|0;var M=0,ee=0;ee=a[67]|0,a[67]=ee+36,M=a[63]|0,a[(M|0?M+32|0:236)>>2]=ee,a[64]=M,a[63]=ee,a[ee+8>>2]=d,(b|0)==2?(d=3,M=y):(M=(b|0)==1,d=M?1:2,M=M?y+2|0:0),a[ee+12>>2]=M,a[ee+28>>2]=d,a[ee>>2]=m,a[ee+4>>2]=y,a[ee+16>>2]=0,a[ee+20>>2]=b,m=(b|0)==1,f[ee+24>>0]=m&1,a[ee+32>>2]=0,m|(b|0)==2&&(f[803]=1)}x(S,"d");function B(d){d=d|0;var m=0,y=0,b=0,M=0;for(M=a[73]|0,m=a[72]|0;;){if(b=m+2|0,m>>>0>=M>>>0){m=9;break}if(y=u[b>>1]|0,y<<16>>16==d<<16>>16){m=10;break}if(y<<16>>16==92)y=m+4|0,(u[y>>1]|0)==13?(m=m+6|0,m=(u[m>>1]|0)==10?m:y):m=y;else if(j(y)|0){m=9;break}else m=b}(m|0)==9?(a[72]=b,rt()):(m|0)==10&&(a[72]=b)}x(B,"v");function U(d,m){d=d|0,m=m|0;var y=0,b=0,M=0,ee=0;return y=a[72]|0,b=u[y>>1]|0,ee=(d|0)==(m|0),M=ee?0:d,ee=ee?0:m,b<<16>>16==97&&(a[72]=y+4,y=v(1)|0,d=a[72]|0,Jt(y)|0?(B(y),m=(a[72]|0)+2|0,a[72]=m):(ye(y)|0,m=a[72]|0),b=v(1)|0,y=a[72]|0),(y|0)!=(d|0)&&ie(d,m,M,ee),b|0}x(U,"A");function D(){var d=0,m=0,y=0;y=a[73]|0,m=a[72]|0;e:for(;;){if(d=m+2|0,m>>>0>=y>>>0){m=6;break}switch(u[d>>1]|0){case 13:case 10:{m=6;break e}case 93:{m=7;break e}case 92:{d=m+4|0;break}default:}m=d}return(m|0)==6?(a[72]=d,rt(),d=0):(m|0)==7&&(a[72]=d,d=93),d|0}x(D,"C");function Q(){var d=0,m=0,y=0;e:for(;;){if(d=a[72]|0,m=d+2|0,a[72]=m,d>>>0>=(a[73]|0)>>>0){y=7;break}switch(u[m>>1]|0){case 13:case 10:{y=7;break e}case 47:break e;case 91:{D()|0;break}case 92:{a[72]=d+4;break}default:}}(y|0)==7&&rt()}x(Q,"g");function O(d){switch(d=d|0,u[d>>1]|0){case 62:{d=(u[d+-2>>1]|0)==61;break}case 41:case 59:{d=1;break}case 104:{d=re(d+-2|0,210,4)|0;break}case 121:{d=re(d+-2|0,218,6)|0;break}case 101:{d=re(d+-2|0,230,3)|0;break}default:d=0}return d|0}x(O,"p");function L(d){d=d|0;var m=0,y=0,b=0,M=0,ee=0;for(M=(a[72]|0)+2|0,a[72]=M,y=a[73]|0;m=M+2|0,!(M>>>0>=y>>>0||(b=u[m>>1]|0,!d&&j(b)|0));){if(b<<16>>16==42&&(u[M+4>>1]|0)==47){ee=8;break}M=m}(ee|0)==8&&(a[72]=m,m=M+4|0),a[72]=m}x(L,"y");function F(d,m,y){d=d|0,m=m|0,y=y|0;var b=0,M=0;e:do if(!y)d=0;else{for(;b=f[d>>0]|0,M=f[m>>0]|0,b<<24>>24==M<<24>>24;)if(y=y+-1|0,y)d=d+1|0,m=m+1|0;else{d=0;break e}d=(b&255)-(M&255)|0}while(!1);return d|0}x(F,"m");function W(d){d=d|0;e:do switch(d<<16>>16){case 38:case 37:case 33:{d=1;break}default:if((d&-8)<<16>>16==40|(d+-58&65535)<6)d=1;else{switch(d<<16>>16){case 91:case 93:case 94:{d=1;break e}default:}d=(d+-123&65535)<4}}while(!1);return d|0}x(W,"I");function V(d){d=d|0;e:do switch(d<<16>>16){case 38:case 37:case 33:break;default:if(!((d+-58&65535)<6|(d+-40&65535)<7&d<<16>>16!=41)){switch(d<<16>>16){case 91:case 94:break e;default:}return d<<16>>16!=125&(d+-123&65535)<4|0}}while(!1);return 1}x(V,"U");function oe(d){d=d|0;var m=0;m=u[d>>1]|0;e:do if((m+-9&65535)>=5){switch(m<<16>>16){case 160:case 32:{m=1;break e}default:}if(W(m)|0)return m<<16>>16!=46|(He(d)|0)|0;m=0}else m=1;while(!1);return m|0}x(oe,"x");function te(d){d=d|0;var m=0,y=0,b=0,M=0;return y=A,A=A+16|0,b=y,a[b>>2]=0,a[66]=d,m=a[3]|0,M=m+(d<<1)|0,d=M+2|0,u[M>>1]=0,a[b>>2]=d,a[67]=d,a[59]=0,a[63]=0,a[61]=0,a[60]=0,a[65]=0,a[62]=0,A=y,m|0}x(te,"S");function ie(d,m,y,b){d=d|0,m=m|0,y=y|0,b=b|0;var M=0,ee=0;M=a[67]|0,a[67]=M+20,ee=a[65]|0,a[(ee|0?ee+16|0:240)>>2]=M,a[65]=M,a[M>>2]=d,a[M+4>>2]=m,a[M+8>>2]=y,a[M+12>>2]=b,a[M+16>>2]=0,f[803]=1}x(ie,"O");function re(d,m,y){d=d|0,m=m|0,y=y|0;var b=0,M=0;return b=d+(0-y<<1)|0,M=b+2|0,d=a[3]|0,M>>>0>=d>>>0&&!(F(M,m,y<<1)|0)?(M|0)==(d|0)?d=1:d=oe(b)|0:d=0,d|0}x(re,"$");function J(d){switch(d=d|0,u[d>>1]|0){case 107:{d=re(d+-2|0,150,4)|0;break}case 101:{(u[d+-2>>1]|0)==117?d=re(d+-4|0,122,6)|0:d=0;break}default:d=0}return d|0}x(J,"j");function le(d,m){d=d|0,m=m|0;var y=0;return y=a[3]|0,y>>>0<=d>>>0&&(u[d>>1]|0)==m<<16>>16?(y|0)==(d|0)?y=1:y=ue(u[d+-2>>1]|0)|0:y=0,y|0}x(le,"B");function ue(d){d=d|0;e:do if((d+-9&65535)<5)d=1;else{switch(d<<16>>16){case 32:case 160:{d=1;break e}default:}d=d<<16>>16!=46&(W(d)|0)}while(!1);return d|0}x(ue,"E");function ce(){var d=0,m=0,y=0;d=a[73]|0,y=a[72]|0;e:for(;m=y+2|0,!(y>>>0>=d>>>0);)switch(u[m>>1]|0){case 13:case 10:break e;default:y=m}a[72]=m}x(ce,"P");function ye(d){for(d=d|0;!(ur(d)|0||W(d)|0);)if(d=(a[72]|0)+2|0,a[72]=d,d=u[d>>1]|0,!(d<<16>>16)){d=0;break}return d|0}x(ye,"q");function we(){var d=0;switch(d=a[(a[61]|0)+20>>2]|0,d|0){case 1:{d=-1;break}case 2:{d=-2;break}default:d=d-(a[3]|0)>>1}return d|0}x(we,"z");function be(d){return d=d|0,!(re(d,196,5)|0)&&!(re(d,44,3)|0)?d=re(d,206,2)|0:d=1,d|0}x(be,"D");function T(d){switch(d=d|0,d<<16>>16){case 160:case 32:case 12:case 11:case 9:{d=1;break}default:d=0}return d|0}x(T,"F");function He(d){return d=d|0,(u[d>>1]|0)==46&&(u[d+-2>>1]|0)==46?d=(u[d+-4>>1]|0)==46:d=0,d|0}x(He,"G");function Pe(d){return d=d|0,(a[3]|0)==(d|0)?d=1:d=oe(d+-2|0)|0,d|0}x(Pe,"H");function tt(){var d=0;return d=a[(a[62]|0)+12>>2]|0,d?d=d-(a[3]|0)>>1:d=-1,d|0}x(tt,"J");function ut(){var d=0;return d=a[(a[61]|0)+12>>2]|0,d?d=d-(a[3]|0)>>1:d=-1,d|0}x(ut,"K");function qe(){var d=0;return d=a[(a[62]|0)+8>>2]|0,d?d=d-(a[3]|0)>>1:d=-1,d|0}x(qe,"L");function Ft(){var d=0;return d=a[(a[61]|0)+16>>2]|0,d?d=d-(a[3]|0)>>1:d=-1,d|0}x(Ft,"M");function Ot(){var d=0;return d=a[(a[61]|0)+4>>2]|0,d?d=d-(a[3]|0)>>1:d=-1,d|0}x(Ot,"N");function lr(){var d=0;return d=a[61]|0,d=a[(d|0?d+32|0:236)>>2]|0,a[61]=d,(d|0)!=0|0}x(lr,"Q");function ln(){var d=0;return d=a[62]|0,d=a[(d|0?d+16|0:240)>>2]|0,a[62]=d,(d|0)!=0|0}x(ln,"R");function rt(){f[802]=1,a[68]=(a[72]|0)-(a[3]|0)>>1,a[72]=(a[73]|0)+2}x(rt,"T");function ur(d){return d=d|0,(d|128)<<16>>16==160|(d+-9&65535)<5|0}x(ur,"V");function Jt(d){return d=d|0,d<<16>>16==39|d<<16>>16==34|0}x(Jt,"W");function ts(){return(a[(a[61]|0)+8>>2]|0)-(a[3]|0)>>1|0}x(ts,"X");function se(){return(a[(a[62]|0)+4>>2]|0)-(a[3]|0)>>1|0}x(se,"Y");function j(d){return d=d|0,d<<16>>16==13|d<<16>>16==10|0}x(j,"Z");function q(){return(a[a[61]>>2]|0)-(a[3]|0)>>1|0}x(q,"_");function ke(){return(a[a[62]>>2]|0)-(a[3]|0)>>1|0}x(ke,"ee");function G(){return h[(a[61]|0)+24>>0]|0|0}x(G,"ae");function nt(d){d=d|0,a[3]=d}x(nt,"re");function de(){return a[(a[61]|0)+28>>2]|0}x(de,"ie");function dt(){return(f[803]|0)!=0|0}x(dt,"se");function R(){return(f[804]|0)!=0|0}x(R,"fe");function H(){return a[68]|0}x(H,"te");function P(d){return d=d|0,A=d+992+15&-16,992}return x(P,"ce"),{su:P,ai:Ft,e:H,ee:se,ele:tt,els:qe,es:ke,f:R,id:we,ie:Ot,ip:G,is:q,it:de,ms:dt,p:C,re:ln,ri:lr,sa:te,se:ut,ses:nt,ss:ts}})(typeof self<"u"?self:global,{},As),ha=$e.su(lo-(2<<17))}let n=Le.length+1;$e.ses(ha),$e.sa(n-1),hd(Le,new Uint16Array(As,ha,n)),$e.p()||(ge=$e.e(),Xt());let o=[],s=[];for(;$e.ri();){let i=$e.is(),l=$e.ie(),c=$e.ai(),f=$e.id(),u=$e.ss(),a=$e.se(),h=$e.it(),p;$e.ip()&&(p=ys(f===-1?i:i+1,Le.charCodeAt(f===-1?i-1:i))),o.push({t:h,n:p,s:i,e:l,ss:u,se:a,d:f,a:c})}for(;$e.re();){let i=$e.es(),l=$e.ee(),c=$e.els(),f=$e.ele(),u=Le.charCodeAt(i),a=c>=0?Le.charCodeAt(c):-1;s.push({s:i,e:l,ls:c,le:f,n:u===34||u===39?ys(i+1,u):Le.slice(i,l),ln:c<0?void 0:a===34||a===39?ys(c+1,a):Le.slice(c,f)})}return[o,s,!!$e.f(),!!$e.ms()]}function ys(t,e){ge=t;let r="",n=ge;for(;;){ge>=Le.length&&Xt();let o=Le.charCodeAt(ge);if(o===e)break;o===92?(r+=Le.slice(n,ge),r+=Sd(),n=ge):(o===8232||o===8233||Ba(o)&&Xt(),++ge)}return r+=Le.slice(n,ge++),r}function Sd(){let t=Le.charCodeAt(++ge);switch(++ge,t){case 110:return`
73
- `;case 114:return"\r";case 120:return String.fromCharCode(ws(2));case 117:return(function(){let e=Le.charCodeAt(ge),r;return e===123?(++ge,r=ws(Le.indexOf("}",ge)-ge),++ge,r>1114111&&Xt()):r=ws(4),r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode(55296+(r>>10),56320+(1023&r)))})();case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:Le.charCodeAt(ge)===10&&++ge;case 10:return"";case 56:case 57:Xt();default:if(t>=48&&t<=55){let e=Le.substr(ge-1,3).match(/^[0-7]+/)[0],r=parseInt(e,8);return r>255&&(e=e.slice(0,-1),r=parseInt(e,8)),ge+=e.length-1,t=Le.charCodeAt(ge),e==="0"&&t!==56&&t!==57||Xt(),String.fromCharCode(r)}return Ba(t)?"":String.fromCharCode(t)}}function ws(t){let e=ge,r=0,n=0;for(let o=0;o<t;++o,++ge){let s,i=Le.charCodeAt(ge);if(i!==95){if(i>=97)s=i-97+10;else if(i>=65)s=i-65+10;else{if(!(i>=48&&i<=57))break;s=i-48}if(s>=16)break;n=i,r=16*r+s}else n!==95&&o!==0||Xt(),n=i}return n!==95&&ge-e===t||Xt(),r}function Ba(t){return t===13||t===10}function Xt(){throw Object.assign(Error(`Parse error ${Cd}:${Le.slice(0,ge).split(`
74
- `).length}:${ge-Le.lastIndexOf(`
75
- `,ge-1)}`),{idx:ge})}function Bd(t){let e=new Int32Array(5),r=[],n=0;do{let o=Rd(t,n),s=[],i=!0,l=0;e[0]=0;for(let c=n;c<o;c++){let f;c=gn(t,c,e,0);let u=e[0];u<l&&(i=!1),l=u,Ea(t,c,o)?(c=gn(t,c,e,1),c=gn(t,c,e,2),c=gn(t,c,e,3),Ea(t,c,o)?(c=gn(t,c,e,4),f=[u,e[1],e[2],e[3],e[4]]):f=[u,e[1],e[2],e[3]]):f=[u],s.push(f)}i||Pd(s),r.push(s),n=o+1}while(n<=t.length);return r}function Rd(t,e){let r=t.indexOf(";",e);return r===-1?t.length:r}function gn(t,e,r,n){let o=0,s=0,i=0;do{let c=t.charCodeAt(e++);i=Id[c],o|=(i&31)<<s,s+=5}while(i&32);let l=o&1;return o>>>=1,l&&(o=-2147483648|-o),r[n]+=o,e}function Ea(t,e,r){return e>=r?!1:t.charCodeAt(e)!==_d}function Pd(t){t.sort(Od)}function Od(t,e){return t[0]-e[0]}function $d(t){let e=new Int32Array(5),r=1024*16,n=r-36,o=new Uint8Array(r),s=o.subarray(0,n),i=0,l="";for(let c=0;c<t.length;c++){let f=t[c];if(c>0&&(i===r&&(l+=pa.decode(o),i=0),o[i++]=M0),f.length!==0){e[0]=0;for(let u=0;u<f.length;u++){let a=f[u];i>n&&(l+=pa.decode(s),o.copyWithin(0,n,i),i-=n),u>0&&(o[i++]=_d),i=An(o,i,e,a,0),a.length!==1&&(i=An(o,i,e,a,1),i=An(o,i,e,a,2),i=An(o,i,e,a,3),a.length!==4&&(i=An(o,i,e,a,4)))}}}return l+pa.decode(o.subarray(0,i))}function An(t,e,r,n,o){let s=n[o],i=s-r[o];r[o]=s,i=i<0?-i<<1|1:i<<1;do{let l=i&31;i>>>=5,i>0&&(l|=32),t[e++]=Td[l]}while(i>0);return e}function Ld(t){return F0.test(t)}function Qd(t){return t.startsWith("
76
- Did you specify these with the most recent transformation maps first?`);let o=Ka(n,e,"",0);for(let s=r.length-1;s>=0;s--)o=Ua(r[s],[o]);return o}function Ka(t,e,r,n){let{resolvedSources:o,sourcesContent:s,ignoreList:i}=t,l=n+1,c=o.map((f,u)=>{let a={importer:r,depth:l,source:f||"",content:void 0,ignore:void 0},h=e(a.source,a),{source:p,content:A,ignore:C}=a;if(h)return Ka(new vs(h,p),e,p,l);let g=A!==void 0?A:s?s[u]:null,w=C!==void 0?C:i?i.includes(u):!1;return ff(p,g,w)});return Ua(t,c)}function Wa(t,e,r){let n={excludeContent:!!r,decodedMappings:!1},o=pf(t,e);return new Ta(mf(o),n)}var Zt,v0,x,Ia,T0,I0,dd,yd,B0,fd,md,R0,bs,Es,P0,O0,$0,L0,Aa,co,hn,ya,$e,As,ha,lo,hd,Q0,Le,Cd,ge,wa,Cs,mo,Ra,D0,N0,fr,Pa,pd,gd,ba,wn,_d,M0,Ad,Td,Id,pa,F0,U0,j0,Ur,xs,vs,fo,G0,q0,J0,Y0,H0,ef,Sa,z0,df,X0,Ta,gf,Z0,ey,ty,ry,Ga,qa,Ja,ny,jr,Ya,Af,ks=ve(()=>{Zt=ta(ua(),1);to();os();v0=Object.defineProperty,x=(t,e)=>v0(t,"name",{value:e,configurable:!0}),Ia=x(t=>S0.createHash("sha1").update(t).digest("hex"),"sha1"),T0=44,I0=59,dd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",yd=new Uint8Array(64),B0=new Uint8Array(128);for(let t=0;t<dd.length;t++){let e=dd.charCodeAt(t);yd[t]=e,B0[e]=t}x(pn,"encodeInteger$1");fd=1024*16,md=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(t){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}}:{decode(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}},R0=class{static{x(this,"StringWriter")}constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(fd)}write(t){let{buffer:e}=this;e[this.pos++]=t,this.pos===fd&&(this.out+=md.decode(e),this.pos=0)}flush(){let{buffer:t,out:e,pos:r}=this;return r>0?e+md.decode(t.subarray(0,r)):e}};x(wd,"encode$1");bs=class t{static{x(this,"BitSet")}constructor(e){this.bits=e instanceof t?e.bits.slice():[]}add(e){this.bits[e>>5]|=1<<(e&31)}has(e){return!!(this.bits[e>>5]&1<<(e&31))}},Es=class t{static{x(this,"Chunk")}constructor(e,r,n){this.start=e,this.end=r,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(e){this.outro+=e}appendRight(e){this.intro=this.intro+e}clone(){let e=new t(this.start,this.end,this.original);return e.intro=this.intro,e.outro=this.outro,e.content=this.content,e.storeName=this.storeName,e.edited=this.edited,e}contains(e){return this.start<e&&e<this.end}eachNext(e){let r=this;for(;r;)e(r),r=r.next}eachPrevious(e){let r=this;for(;r;)e(r),r=r.previous}edit(e,r,n){return this.content=e,n||(this.intro="",this.outro=""),this.storeName=r,this.edited=!0,this}prependLeft(e){this.outro=e+this.outro}prependRight(e){this.intro=e+this.intro}reset(){this.intro="",this.outro="",this.edited&&(this.content=this.original,this.storeName=!1,this.edited=!1)}split(e){let r=e-this.start,n=this.original.slice(0,r),o=this.original.slice(r);this.original=n;let s=new t(e,this.end,o);return s.outro=this.outro,this.outro="",this.end=e,this.edited?(s.edit("",!1),this.content=""):this.content=n,s.next=this.next,s.next&&(s.next.previous=s),s.previous=this,this.next=s,s}toString(){return this.intro+this.content+this.outro}trimEnd(e){if(this.outro=this.outro.replace(e,""),this.outro.length)return!0;let r=this.content.replace(e,"");if(r.length)return r!==this.content&&(this.split(this.start+r.length).edit("",void 0,!0),this.edited&&this.edit(r,this.storeName,!0)),!0;if(this.edit("",void 0,!0),this.intro=this.intro.replace(e,""),this.intro.length)return!0}trimStart(e){if(this.intro=this.intro.replace(e,""),this.intro.length)return!0;let r=this.content.replace(e,"");if(r.length){if(r!==this.content){let n=this.split(this.end-r.length);this.edited&&n.edit(r,this.storeName,!0),this.edit("",void 0,!0)}return!0}else if(this.edit("",void 0,!0),this.outro=this.outro.replace(e,""),this.outro.length)return!0}};x(bd,"getBtoa");P0=bd(),O0=class{static{x(this,"SourceMap")}constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=wd(t.mappings),typeof t.x_google_ignoreList<"u"&&(this.x_google_ignoreList=t.x_google_ignoreList),typeof t.debugId<"u"&&(this.debugId=t.debugId)}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+P0(this.toString())}};x(Ed,"guessIndent");x(xd,"getRelativePath");$0=Object.prototype.toString;x(vd,"isObject");x(ga,"getLocator");L0=/\w/,Aa=class{static{x(this,"Mappings")}constructor(e){this.hires=e,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(e,r,n,o){if(r.length){let s=r.length-1,i=r.indexOf(`
70
+ `,pe.e()-1)}`),{idx:pe.e()});let s=[],i=[];for(;pe.ri();){let c=pe.is(),f=pe.ie(),d=pe.it(),a=pe.ai(),h=pe.id(),p=pe.ss(),g=pe.se(),x;pe.ip()&&(x=l(t.slice(h===-1?c-1:c,h===-1?f+1:f))),s.push({n:x,t:d,s:c,e:f,ss:p,se:g,d:h,a})}for(;pe.re();){let c=pe.es(),f=pe.ee(),d=pe.els(),a=pe.ele(),h=t.slice(c,f),p=h[0],g=d<0?void 0:t.slice(d,a),x=g?g[0]:"";i.push({s:c,e:f,ls:d,le:a,n:p==='"'||p==="'"?l(h):h,ln:x==='"'||x==="'"?l(g):g})}function l(c){try{return(0,eval)(c)}catch{}}return As(l,"k"),[s,i,!!pe.f(),!!pe.ms()]}function cd(t,e){let r=t.length,n=0;for(;n<r;){let o=t.charCodeAt(n);e[n++]=(255&o)<<8|o>>>8}}function ud(t,e){let r=t.length,n=0;for(;n<r;)e[n]=t.charCodeAt(n++)}var k0,As,fa,S0,pe,dd,da,md=xe(()=>{k0=Object.defineProperty,As=(t,e)=>k0(t,"name",{value:e,configurable:!0});(function(t){t[t.Static=1]="Static",t[t.Dynamic=2]="Dynamic",t[t.ImportMeta=3]="ImportMeta",t[t.StaticSourcePhase=4]="StaticSourcePhase",t[t.DynamicSourcePhase=5]="DynamicSourcePhase"})(fa||(fa={}));S0=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;As(ma,"parse");As(cd,"Q");As(ud,"B");dd=WebAssembly.compile((da="AGFzbQEAAAABKwhgAX8Bf2AEf39/fwBgAAF/YAAAYAF/AGADf39/AX9gAn9/AX9gA39/fwADMTAAAQECAgICAgICAgICAgICAgICAgIAAwMDBAQAAAUAAAAAAAMDAwAGAAAABwAGAgUEBQFwAQEBBQMBAAEGDwJ/AUHA8gALfwBBwPIACwd6FQZtZW1vcnkCAAJzYQAAAWUAAwJpcwAEAmllAAUCc3MABgJzZQAHAml0AAgCYWkACQJpZAAKAmlwAAsCZXMADAJlZQANA2VscwAOA2VsZQAPAnJpABACcmUAEQFmABICbXMAEwVwYXJzZQAUC19faGVhcF9iYXNlAwEKm0EwaAEBf0EAIAA2AoAKQQAoAtwJIgEgAEEBdGoiAEEAOwEAQQAgAEECaiIANgKECkEAIAA2AogKQQBBADYC4AlBAEEANgLwCUEAQQA2AugJQQBBADYC5AlBAEEANgL4CUEAQQA2AuwJIAEL0wEBA39BACgC8AkhBEEAQQAoAogKIgU2AvAJQQAgBDYC9AlBACAFQSRqNgKICiAEQSBqQeAJIAQbIAU2AgBBACgC1AkhBEEAKALQCSEGIAUgATYCACAFIAA2AgggBSACIAJBAmpBACAGIANGIgAbIAQgA0YiBBs2AgwgBSADNgIUIAVBADYCECAFIAI2AgQgBUEANgIgIAVBA0EBQQIgABsgBBs2AhwgBUEAKALQCSADRiICOgAYAkACQCACDQBBACgC1AkgA0cNAQtBAEEBOgCMCgsLXgEBf0EAKAL4CSIEQRBqQeQJIAQbQQAoAogKIgQ2AgBBACAENgL4CUEAIARBFGo2AogKQQBBAToAjAogBEEANgIQIAQgAzYCDCAEIAI2AgggBCABNgIEIAQgADYCAAsIAEEAKAKQCgsVAEEAKALoCSgCAEEAKALcCWtBAXULHgEBf0EAKALoCSgCBCIAQQAoAtwJa0EBdUF/IAAbCxUAQQAoAugJKAIIQQAoAtwJa0EBdQseAQF/QQAoAugJKAIMIgBBACgC3AlrQQF1QX8gABsLCwBBACgC6AkoAhwLHgEBf0EAKALoCSgCECIAQQAoAtwJa0EBdUF/IAAbCzsBAX8CQEEAKALoCSgCFCIAQQAoAtAJRw0AQX8PCwJAIABBACgC1AlHDQBBfg8LIABBACgC3AlrQQF1CwsAQQAoAugJLQAYCxUAQQAoAuwJKAIAQQAoAtwJa0EBdQsVAEEAKALsCSgCBEEAKALcCWtBAXULHgEBf0EAKALsCSgCCCIAQQAoAtwJa0EBdUF/IAAbCx4BAX9BACgC7AkoAgwiAEEAKALcCWtBAXVBfyAAGwslAQF/QQBBACgC6AkiAEEgakHgCSAAGygCACIANgLoCSAAQQBHCyUBAX9BAEEAKALsCSIAQRBqQeQJIAAbKAIAIgA2AuwJIABBAEcLCABBAC0AlAoLCABBAC0AjAoL3Q0BBX8jAEGA0ABrIgAkAEEAQQE6AJQKQQBBACgC2Ak2ApwKQQBBACgC3AlBfmoiATYCsApBACABQQAoAoAKQQF0aiICNgK0CkEAQQA6AIwKQQBBADsBlgpBAEEAOwGYCkEAQQA6AKAKQQBBADYCkApBAEEAOgD8CUEAIABBgBBqNgKkCkEAIAA2AqgKQQBBADoArAoCQAJAAkACQANAQQAgAUECaiIDNgKwCiABIAJPDQECQCADLwEAIgJBd2pBBUkNAAJAAkACQAJAAkAgAkGbf2oOBQEICAgCAAsgAkEgRg0EIAJBL0YNAyACQTtGDQIMBwtBAC8BmAoNASADEBVFDQEgAUEEakGCCEEKEC8NARAWQQAtAJQKDQFBAEEAKAKwCiIBNgKcCgwHCyADEBVFDQAgAUEEakGMCEEKEC8NABAXC0EAQQAoArAKNgKcCgwBCwJAIAEvAQQiA0EqRg0AIANBL0cNBBAYDAELQQEQGQtBACgCtAohAkEAKAKwCiEBDAALC0EAIQIgAyEBQQAtAPwJDQIMAQtBACABNgKwCkEAQQA6AJQKCwNAQQAgAUECaiIDNgKwCgJAAkACQAJAAkACQAJAIAFBACgCtApPDQAgAy8BACICQXdqQQVJDQYCQAJAAkACQAJAAkACQAJAAkACQCACQWBqDgoQDwYPDw8PBQECAAsCQAJAAkACQCACQaB/ag4KCxISAxIBEhISAgALIAJBhX9qDgMFEQYJC0EALwGYCg0QIAMQFUUNECABQQRqQYIIQQoQLw0QEBYMEAsgAxAVRQ0PIAFBBGpBjAhBChAvDQ8QFwwPCyADEBVFDQ4gASkABELsgISDsI7AOVINDiABLwEMIgNBd2oiAUEXSw0MQQEgAXRBn4CABHFFDQwMDQtBAEEALwGYCiIBQQFqOwGYCkEAKAKkCiABQQN0aiIBQQE2AgAgAUEAKAKcCjYCBAwNC0EALwGYCiIDRQ0JQQAgA0F/aiIDOwGYCkEALwGWCiICRQ0MQQAoAqQKIANB
71
+ `),r=e.filter(s=>/^\t+/.test(s)),n=e.filter(s=>/^ {2,}/.test(s));if(r.length===0&&n.length===0)return null;if(r.length>=n.length)return" ";let o=n.reduce((s,i)=>{let l=/^ +/.exec(i)[0].length;return Math.min(l,s)},1/0);return new Array(o+1).join(" ")}function kd(t,e){let r=t.split(/[/\\]/),n=e.split(/[/\\]/);for(r.pop();r[0]===n[0];)r.shift(),n.shift();if(r.length){let o=r.length;for(;o--;)r[o]=".."}return r.concat(n).join("/")}function Sd(t){return N0.call(t)==="[object Object]"}function ga(t){let e=t.split(`
72
+ `),r=[];for(let n=0,o=0;n<e.length;n++)r.push(o),o+=e[n].length+1;return k(function(n){let o=0,s=r.length;for(;o<s;){let c=o+s>>1;n<r[c]?s=c:o=c+1}let i=o-1,l=n-r[i];return{line:i,column:l}},"locate")}function Td(t,e="@"){Oe=t,_d=e;let r=2*Oe.length+(2<<18);if(r>co||!$e){for(;r>co;)co*=2;ys=new ArrayBuffer(co),Ad(F0,new Uint16Array(ys,16,110)),$e=(function(i,l,c){var f=new i.Int8Array(c),d=new i.Int16Array(c),a=new i.Int32Array(c),h=new i.Uint8Array(c),p=new i.Uint16Array(c),g=1040;function x(){var u=0,m=0,y=0,b=0,L=0,te=0,Ee=0;Ee=g,g=g+10240|0,f[804]=1,f[803]=0,d[399]=0,d[400]=0,a[69]=a[2],f[805]=0,a[68]=0,f[802]=0,a[70]=Ee+2048,a[71]=Ee,f[806]=0,u=(a[3]|0)+-2|0,a[72]=u,m=u+(a[66]<<1)|0,a[73]=m;e:for(;;){if(y=u+2|0,a[72]=y,u>>>0>=m>>>0){b=18;break}t:do switch(d[y>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if(!(d[400]|0)&&Re(y)|0&&!(N(u+4|0,16,10)|0)&&(A(),(f[804]|0)==0)){b=9;break e}else b=17;break}case 105:{Re(y)|0&&!(N(u+4|0,26,10)|0)&&w(),b=17;break}case 59:{b=17;break}case 47:switch(d[u+4>>1]|0){case 47:{se();break t}case 42:{$(1);break t}default:{b=16;break e}}default:{b=16;break e}}while(!1);(b|0)==17&&(b=0,a[69]=a[72]),u=a[72]|0,m=a[73]|0}(b|0)==9?(u=a[72]|0,a[69]=u,b=19):(b|0)==16?(f[804]=0,a[72]=u,b=19):(b|0)==18&&(f[802]|0?u=0:(u=y,b=19));do if((b|0)==19){e:for(;;){if(m=u+2|0,a[72]=m,u>>>0>=(a[73]|0)>>>0){b=92;break}t:do switch(d[m>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{!(d[400]|0)&&Re(m)|0&&!(N(u+4|0,16,10)|0)&&A(),b=91;break}case 105:{Re(m)|0&&!(N(u+4|0,26,10)|0)&&w(),b=91;break}case 99:{Re(m)|0&&!(N(u+4|0,36,8)|0)&&dr(d[u+12>>1]|0)|0&&(f[806]=1),b=91;break}case 40:{y=a[70]|0,u=d[400]|0,b=u&65535,a[y+(b<<3)>>2]=1,m=a[69]|0,d[400]=u+1<<16>>16,a[y+(b<<3)+4>>2]=m,b=91;break}case 41:{if(m=d[400]|0,!(m<<16>>16)){b=36;break e}y=m+-1<<16>>16,d[400]=y,b=d[399]|0,m=b&65535,b<<16>>16&&(a[(a[70]|0)+((y&65535)<<3)>>2]|0)==5&&(m=a[(a[71]|0)+(m+-1<<2)>>2]|0,y=m+4|0,a[y>>2]|0||(a[y>>2]=(a[69]|0)+2),a[m+12>>2]=u+4,d[399]=b+-1<<16>>16),b=91;break}case 123:{b=a[69]|0,y=a[63]|0,u=b;do if((d[b>>1]|0)==41&(y|0)!=0&&(a[y+4>>2]|0)==(b|0))if(m=a[64]|0,a[63]=m,m){a[m+32>>2]=0;break}else{a[59]=0;break}while(!1);y=a[70]|0,m=d[400]|0,b=m&65535,a[y+(b<<3)>>2]=f[806]|0?6:2,d[400]=m+1<<16>>16,a[y+(b<<3)+4>>2]=u,f[806]=0,b=91;break}case 125:{if(u=d[400]|0,!(u<<16>>16)){b=49;break e}y=a[70]|0,b=u+-1<<16>>16,d[400]=b,(a[y+((b&65535)<<3)>>2]|0)==4&&B(),b=91;break}case 39:{I(39),b=91;break}case 34:{I(34),b=91;break}case 47:switch(d[u+4>>1]|0){case 47:{se();break t}case 42:{$(1);break t}default:{u=a[69]|0,m=d[u>>1]|0;r:do if(!(q(m)|0))m<<16>>16==41?(y=d[400]|0,be(a[(a[70]|0)+((y&65535)<<3)+4>>2]|0)|0||(b=65)):b=64;else switch(m<<16>>16){case 46:if(((d[u+-2>>1]|0)+-48&65535)<10){b=64;break r}else break r;case 43:if((d[u+-2>>1]|0)==43){b=64;break r}else break r;case 45:if((d[u+-2>>1]|0)==45){b=64;break r}else break r;default:break r}while(!1);(b|0)==64&&(y=d[400]|0,b=65);r:do if((b|0)==65){if(b=0,y<<16>>16&&(L=a[70]|0,te=(y&65535)+-1|0,m<<16>>16==102?(a[L+(te<<3)>>2]|0)==1:0)){if((d[u+-2>>1]|0)==111&&re(a[L+(te<<3)+4>>2]|0,44,3)|0)break}else b=69;if((b|0)==69&&m<<16>>16==125&&(b=a[70]|0,y=y&65535,P(a[b+(y<<3)+4>>2]|0)|0||(a[b+(y<<3)>>2]|0)==6))break;if(!(T(u)|0)){switch(m<<16>>16){case 0:break r;case 47:{if(f[805]|0)break r;break}default:}if(b=a[65]|0,b|0&&u>>>0>=(a[b>>2]|0)>>>0&&u>>>0<=(a[b+4>>2]|0)>>>0){Q(),f[805]=0,b=91;break t}y=a[3]|0;do{if(u>>>0<=y>>>0)break;u=u+-2|0,a[69]=u,m=d[u>>1]|0}while(!(le(m)|0));if(S(m)|0){do{if(u>>>0<=y>>>0)break;u=u+-2|0,a[69]=u}while(S(d[u>>1]|0)|0);if(J(u)|0){Q(),f[805]=0,b=91;break t}}f[805]=1,b=91;break t}}while(!1);Q(),f[805]=0,b=91;break t}}case 96:{y=a[70]|0,m=d[400]|0,b=m&65535,a[y+(b<<3)+4>>2]=a[69],d[400]=m+1<<16>>16,a[y+(b<<3)>>2]=3,B(),b=91;break}default:b=91}while(!1);(b|0)==91&&(b=0,a[69]=a[72]),u=a[72]|0}if((b|0)==36){nt(),u=0;break}else if((b|0)==49){nt(),u=0;break}else if((b|0)==92){u=f[802]|0?0:(d[399]|d[400])<<16>>16==0;break}}while(!1);return g=Ee,u|0}k(x,"b");function A(){var u=0,m=0,y=0,b=0,L=0,te=0,Ee=0,Br=0,Hi=0,zi=0,Xi=0,Zi=0,ve=0,Pe=0;Br=a[72]|0,Hi=a[65]|0,Pe=Br+12|0,a[72]=Pe,y=v(1)|0,u=a[72]|0,(u|0)==(Pe|0)&&!(U(y)|0)||(ve=3);e:do if((ve|0)==3){t:do switch(y<<16>>16){case 123:{for(a[72]=u+2,u=v(1)|0,m=a[72]|0;;){if(Jt(u)|0?(I(u),u=(a[72]|0)+2|0,a[72]=u):(ye(u)|0,u=a[72]|0),v(1)|0,u=j(m,u)|0,u<<16>>16==44&&(a[72]=(a[72]|0)+2,u=v(1)|0),u<<16>>16==125){ve=15;break}if(Pe=m,m=a[72]|0,(m|0)==(Pe|0)){ve=12;break}if(m>>>0>(a[73]|0)>>>0){ve=14;break}}if((ve|0)==12){nt();break e}else if((ve|0)==14){nt();break e}else if((ve|0)==15){f[803]=1,a[72]=(a[72]|0)+2;break t}break}case 42:{a[72]=u+2,v(1)|0,Pe=a[72]|0,j(Pe,Pe)|0;break}default:{switch(f[804]=0,y<<16>>16){case 100:{switch(Br=u+14|0,a[72]=Br,(v(1)|0)<<16>>16){case 97:{m=a[72]|0,!(N(m+2|0,72,8)|0)&&(L=m+10|0,S(d[L>>1]|0)|0)&&(a[72]=L,v(0)|0,ve=22);break}case 102:{ve=22;break}case 99:{m=a[72]|0,!(N(m+2|0,36,8)|0)&&(b=m+10|0,Pe=d[b>>1]|0,dr(Pe)|0|Pe<<16>>16==123)&&(a[72]=b,te=v(1)|0,te<<16>>16!=123)&&(Zi=te,ve=31);break}default:}r:do if((ve|0)==22&&(Ee=a[72]|0,(N(Ee+2|0,80,14)|0)==0)){if(y=Ee+16|0,m=d[y>>1]|0,!(dr(m)|0))switch(m<<16>>16){case 40:case 42:break;default:break r}a[72]=y,m=v(1)|0,m<<16>>16==42&&(a[72]=(a[72]|0)+2,m=v(1)|0),m<<16>>16!=40&&(Zi=m,ve=31)}while(!1);if((ve|0)==31&&(zi=a[72]|0,ye(Zi)|0,Xi=a[72]|0,Xi>>>0>zi>>>0)){oe(u,Br,zi,Xi),a[72]=(a[72]|0)+-2;break e}oe(u,Br,0,0),a[72]=u+12;break e}case 97:{a[72]=u+10,v(0)|0,u=a[72]|0,ve=35;break}case 102:{ve=35;break}case 99:{if(!(N(u+2|0,36,8)|0)&&(m=u+10|0,le(d[m>>1]|0)|0)){a[72]=m,Pe=v(1)|0,ve=a[72]|0,ye(Pe)|0,Pe=a[72]|0,oe(ve,Pe,ve,Pe),a[72]=(a[72]|0)+-2;break e}u=u+4|0,a[72]=u;break}case 108:case 118:break;default:break e}if((ve|0)==35){a[72]=u+16,u=v(1)|0,u<<16>>16==42&&(a[72]=(a[72]|0)+2,u=v(1)|0),ve=a[72]|0,ye(u)|0,Pe=a[72]|0,oe(ve,Pe,ve,Pe),a[72]=(a[72]|0)+-2;break e}a[72]=u+6,f[804]=0,y=v(1)|0,u=a[72]|0,y=(ye(y)|0|32)<<16>>16==123,b=a[72]|0,y&&(a[72]=b+2,Pe=v(1)|0,u=a[72]|0,ye(Pe)|0);r:for(;m=a[72]|0,(m|0)!=(u|0);){if(oe(u,m,u,m),m=v(1)|0,y)switch(m<<16>>16){case 93:case 125:break e;default:}if(u=a[72]|0,m<<16>>16!=44){ve=51;break}switch(a[72]=u+2,m=v(1)|0,u=a[72]|0,m<<16>>16){case 91:case 123:{ve=51;break r}default:}ye(m)|0}if((ve|0)==51&&(a[72]=u+-2),!y)break e;a[72]=b+-2;break e}}while(!1);if(Pe=(v(1)|0)<<16>>16==102,u=a[72]|0,Pe&&!(N(u+2|0,66,6)|0))for(a[72]=u+8,O(Br,v(1)|0,0),u=Hi|0?Hi+16|0:240;;){if(u=a[u>>2]|0,!u)break e;a[u+12>>2]=0,a[u+8>>2]=0,u=u+16|0}a[72]=u+-2}while(!1)}k(A,"k");function w(){var u=0,m=0,y=0,b=0,L=0,te=0,Ee=0;L=a[72]|0,y=L+12|0,a[72]=y,b=v(1)|0,m=a[72]|0;e:do if(b<<16>>16!=46)b<<16>>16==115&m>>>0>y>>>0?!(N(m+2|0,56,10)|0)&&(u=m+12|0,dr(d[u>>1]|0)|0)?te=14:(m=6,y=0,te=46):(u=b,y=0,te=15);else switch(a[72]=m+2,(v(1)|0)<<16>>16){case 109:{if(u=a[72]|0,N(u+2|0,50,6)|0||(m=a[69]|0,!(He(m)|0)&&(d[m>>1]|0)==46))break e;C(L,L,u+8|0,2);break e}case 115:{if(u=a[72]|0,N(u+2|0,56,10)|0||(m=a[69]|0,!(He(m)|0)&&(d[m>>1]|0)==46))break e;u=u+12|0,te=14;break e}default:break e}while(!1);(te|0)==14&&(a[72]=u,u=v(1)|0,y=1,te=15);e:do if((te|0)==15)switch(u<<16>>16){case 40:{if(m=a[70]|0,Ee=d[400]|0,b=Ee&65535,a[m+(b<<3)>>2]=5,u=a[72]|0,d[400]=Ee+1<<16>>16,a[m+(b<<3)+4>>2]=u,(d[a[69]>>1]|0)==46)break e;switch(a[72]=u+2,m=v(1)|0,C(L,a[72]|0,0,u),y?(u=a[63]|0,a[u+28>>2]=5):u=a[63]|0,L=a[71]|0,Ee=d[399]|0,d[399]=Ee+1<<16>>16,a[L+((Ee&65535)<<2)>>2]=u,m<<16>>16){case 39:{I(39);break}case 34:{I(34);break}default:{a[72]=(a[72]|0)+-2;break e}}switch(u=(a[72]|0)+2|0,a[72]=u,(v(1)|0)<<16>>16){case 44:{a[72]=(a[72]|0)+2,v(1)|0,L=a[63]|0,a[L+4>>2]=u,Ee=a[72]|0,a[L+16>>2]=Ee,f[L+24>>0]=1,a[72]=Ee+-2;break e}case 41:{d[400]=(d[400]|0)+-1<<16>>16,Ee=a[63]|0,a[Ee+4>>2]=u,a[Ee+12>>2]=(a[72]|0)+2,f[Ee+24>>0]=1,d[399]=(d[399]|0)+-1<<16>>16;break e}default:{a[72]=(a[72]|0)+-2;break e}}}case 123:{if(y){m=12,y=1,te=46;break e}if(u=a[72]|0,d[400]|0){a[72]=u+-2;break e}for(;!(u>>>0>=(a[73]|0)>>>0);){if(u=v(1)|0,Jt(u)|0)I(u);else if(u<<16>>16==125){te=36;break}u=(a[72]|0)+2|0,a[72]=u}if((te|0)==36&&(a[72]=(a[72]|0)+2),Ee=(v(1)|0)<<16>>16==102,u=a[72]|0,Ee&&N(u+2|0,66,6)|0){nt();break e}if(a[72]=u+8,u=v(1)|0,Jt(u)|0){O(L,u,0);break e}else{nt();break e}}default:{if(y){m=12,y=1,te=46;break e}switch(u<<16>>16){case 42:case 39:case 34:{y=0,te=48;break e}default:{m=6,y=0,te=46;break e}}}}while(!1);(te|0)==46&&(u=a[72]|0,(u|0)==(L+(m<<1)|0)?a[72]=u+-2:te=48);do if((te|0)==48){if(d[400]|0){a[72]=(a[72]|0)+-2;break}for(u=a[73]|0,m=a[72]|0;;){if(m>>>0>=u>>>0){te=55;break}if(b=d[m>>1]|0,Jt(b)|0){te=53;break}Ee=m+2|0,a[72]=Ee,m=Ee}if((te|0)==53){O(L,b,y);break}else if((te|0)==55){nt();break}}while(!1)}k(w,"l");function O(u,m,y){u=u|0,m=m|0,y=y|0;var b=0,L=0;switch(b=(a[72]|0)+2|0,m<<16>>16){case 39:{I(39),L=5;break}case 34:{I(34),L=5;break}default:nt()}do if((L|0)==5){if(C(u,b,a[72]|0,1),y&&(a[(a[63]|0)+28>>2]=4),a[72]=(a[72]|0)+2,m=v(0)|0,y=m<<16>>16==97,y?(b=a[72]|0,N(b+2|0,94,10)|0&&(L=13)):(b=a[72]|0,m<<16>>16==119&&(d[b+2>>1]|0)==105&&(d[b+4>>1]|0)==116&&(d[b+6>>1]|0)==104||(L=13)),(L|0)==13){a[72]=b+-2;break}if(a[72]=b+((y?6:4)<<1),(v(1)|0)<<16>>16!=123){a[72]=b;break}y=a[72]|0,m=y;e:for(;;){switch(a[72]=m+2,m=v(1)|0,m<<16>>16){case 39:{I(39),a[72]=(a[72]|0)+2,m=v(1)|0;break}case 34:{I(34),a[72]=(a[72]|0)+2,m=v(1)|0;break}default:m=ye(m)|0}if(m<<16>>16!=58){L=22;break}switch(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16){case 39:{I(39);break}case 34:{I(34);break}default:{L=26;break e}}switch(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16){case 125:{L=31;break e}case 44:break;default:{L=30;break e}}if(a[72]=(a[72]|0)+2,(v(1)|0)<<16>>16==125){L=31;break}m=a[72]|0}if((L|0)==22){a[72]=b;break}else if((L|0)==26){a[72]=b;break}else if((L|0)==30){a[72]=b;break}else if((L|0)==31){L=a[63]|0,a[L+16>>2]=y,a[L+12>>2]=(a[72]|0)+2;break}}while(!1)}k(O,"u");function T(u){u=u|0;e:do switch(d[u>>1]|0){case 100:switch(d[u+-2>>1]|0){case 105:{u=re(u+-4|0,104,2)|0;break e}case 108:{u=re(u+-4|0,108,3)|0;break e}default:{u=0;break e}}case 101:switch(d[u+-2>>1]|0){case 115:switch(d[u+-4>>1]|0){case 108:{u=ae(u+-6|0,101)|0;break e}case 97:{u=ae(u+-6|0,99)|0;break e}default:{u=0;break e}}case 116:{u=re(u+-4|0,114,4)|0;break e}case 117:{u=re(u+-4|0,122,6)|0;break e}default:{u=0;break e}}case 102:{if((d[u+-2>>1]|0)==111&&(d[u+-4>>1]|0)==101)switch(d[u+-6>>1]|0){case 99:{u=re(u+-8|0,134,6)|0;break e}case 112:{u=re(u+-8|0,146,2)|0;break e}default:{u=0;break e}}else u=0;break}case 107:{u=re(u+-2|0,150,4)|0;break}case 110:{u=u+-2|0,ae(u,105)|0?u=1:u=re(u,158,5)|0;break}case 111:{u=ae(u+-2|0,100)|0;break}case 114:{u=re(u+-2|0,168,7)|0;break}case 116:{u=re(u+-2|0,182,4)|0;break}case 119:switch(d[u+-2>>1]|0){case 101:{u=ae(u+-4|0,110)|0;break e}case 111:{u=re(u+-4|0,190,3)|0;break e}default:{u=0;break e}}default:u=0}while(!1);return u|0}k(T,"o");function B(){var u=0,m=0,y=0,b=0;m=a[73]|0,y=a[72]|0;e:for(;;){if(u=y+2|0,y>>>0>=m>>>0){m=10;break}switch(d[u>>1]|0){case 96:{m=7;break e}case 36:{if((d[y+4>>1]|0)==123){m=6;break e}break}case 92:{u=y+4|0;break}default:}y=u}(m|0)==6?(u=y+4|0,a[72]=u,m=a[70]|0,b=d[400]|0,y=b&65535,a[m+(y<<3)>>2]=4,d[400]=b+1<<16>>16,a[m+(y<<3)+4>>2]=u):(m|0)==7?(a[72]=u,y=a[70]|0,b=(d[400]|0)+-1<<16>>16,d[400]=b,(a[y+((b&65535)<<3)>>2]|0)!=3&&nt()):(m|0)==10&&(a[72]=u,nt())}k(B,"h");function v(u){u=u|0;var m=0,y=0,b=0;y=a[72]|0;e:do{m=d[y>>1]|0;t:do if(m<<16>>16!=47)if(u){if(dr(m)|0)break;break e}else{if(S(m)|0)break;break e}else switch(d[y+2>>1]|0){case 47:{se();break t}case 42:{$(u);break t}default:{m=47;break e}}while(!1);b=a[72]|0,y=b+2|0,a[72]=y}while(b>>>0<(a[73]|0)>>>0);return m|0}k(v,"w");function C(u,m,y,b){u=u|0,m=m|0,y=y|0,b=b|0;var L=0,te=0;te=a[67]|0,a[67]=te+36,L=a[63]|0,a[(L|0?L+32|0:236)>>2]=te,a[64]=L,a[63]=te,a[te+8>>2]=u,(b|0)==2?(u=3,L=y):(L=(b|0)==1,u=L?1:2,L=L?y+2|0:0),a[te+12>>2]=L,a[te+28>>2]=u,a[te>>2]=m,a[te+4>>2]=y,a[te+16>>2]=0,a[te+20>>2]=b,m=(b|0)==1,f[te+24>>0]=m&1,a[te+32>>2]=0,m|(b|0)==2&&(f[803]=1)}k(C,"d");function I(u){u=u|0;var m=0,y=0,b=0,L=0;for(L=a[73]|0,m=a[72]|0;;){if(b=m+2|0,m>>>0>=L>>>0){m=9;break}if(y=d[b>>1]|0,y<<16>>16==u<<16>>16){m=10;break}if(y<<16>>16==92)y=m+4|0,(d[y>>1]|0)==13?(m=m+6|0,m=(d[m>>1]|0)==10?m:y):m=y;else if(K(y)|0){m=9;break}else m=b}(m|0)==9?(a[72]=b,nt()):(m|0)==10&&(a[72]=b)}k(I,"v");function j(u,m){u=u|0,m=m|0;var y=0,b=0,L=0,te=0;return y=a[72]|0,b=d[y>>1]|0,te=(u|0)==(m|0),L=te?0:u,te=te?0:m,b<<16>>16==97&&(a[72]=y+4,y=v(1)|0,u=a[72]|0,Jt(y)|0?(I(y),m=(a[72]|0)+2|0,a[72]=m):(ye(y)|0,m=a[72]|0),b=v(1)|0,y=a[72]|0),(y|0)!=(u|0)&&oe(u,m,L,te),b|0}k(j,"A");function F(){var u=0,m=0,y=0;y=a[73]|0,m=a[72]|0;e:for(;;){if(u=m+2|0,m>>>0>=y>>>0){m=6;break}switch(d[u>>1]|0){case 13:case 10:{m=6;break e}case 93:{m=7;break e}case 92:{u=m+4|0;break}default:}m=u}return(m|0)==6?(a[72]=u,nt(),u=0):(m|0)==7&&(a[72]=u,u=93),u|0}k(F,"C");function Q(){var u=0,m=0,y=0;e:for(;;){if(u=a[72]|0,m=u+2|0,a[72]=m,u>>>0>=(a[73]|0)>>>0){y=7;break}switch(d[m>>1]|0){case 13:case 10:{y=7;break e}case 47:break e;case 91:{F()|0;break}case 92:{a[72]=u+4;break}default:}}(y|0)==7&&nt()}k(Q,"g");function P(u){switch(u=u|0,d[u>>1]|0){case 62:{u=(d[u+-2>>1]|0)==61;break}case 41:case 59:{u=1;break}case 104:{u=re(u+-2|0,210,4)|0;break}case 121:{u=re(u+-2|0,218,6)|0;break}case 101:{u=re(u+-2|0,230,3)|0;break}default:u=0}return u|0}k(P,"p");function $(u){u=u|0;var m=0,y=0,b=0,L=0,te=0;for(L=(a[72]|0)+2|0,a[72]=L,y=a[73]|0;m=L+2|0,!(L>>>0>=y>>>0||(b=d[m>>1]|0,!u&&K(b)|0));){if(b<<16>>16==42&&(d[L+4>>1]|0)==47){te=8;break}L=m}(te|0)==8&&(a[72]=m,m=L+4|0),a[72]=m}k($,"y");function N(u,m,y){u=u|0,m=m|0,y=y|0;var b=0,L=0;e:do if(!y)u=0;else{for(;b=f[u>>0]|0,L=f[m>>0]|0,b<<24>>24==L<<24>>24;)if(y=y+-1|0,y)u=u+1|0,m=m+1|0;else{u=0;break e}u=(b&255)-(L&255)|0}while(!1);return u|0}k(N,"m");function U(u){u=u|0;e:do switch(u<<16>>16){case 38:case 37:case 33:{u=1;break}default:if((u&-8)<<16>>16==40|(u+-58&65535)<6)u=1;else{switch(u<<16>>16){case 91:case 93:case 94:{u=1;break e}default:}u=(u+-123&65535)<4}}while(!1);return u|0}k(U,"I");function q(u){u=u|0;e:do switch(u<<16>>16){case 38:case 37:case 33:break;default:if(!((u+-58&65535)<6|(u+-40&65535)<7&u<<16>>16!=41)){switch(u<<16>>16){case 91:case 94:break e;default:}return u<<16>>16!=125&(u+-123&65535)<4|0}}while(!1);return 1}k(q,"U");function H(u){u=u|0;var m=0;m=d[u>>1]|0;e:do if((m+-9&65535)>=5){switch(m<<16>>16){case 160:case 32:{m=1;break e}default:}if(U(m)|0)return m<<16>>16!=46|(He(u)|0)|0;m=0}else m=1;while(!1);return m|0}k(H,"x");function z(u){u=u|0;var m=0,y=0,b=0,L=0;return y=g,g=g+16|0,b=y,a[b>>2]=0,a[66]=u,m=a[3]|0,L=m+(u<<1)|0,u=L+2|0,d[L>>1]=0,a[b>>2]=u,a[67]=u,a[59]=0,a[63]=0,a[61]=0,a[60]=0,a[65]=0,a[62]=0,g=y,m|0}k(z,"S");function oe(u,m,y,b){u=u|0,m=m|0,y=y|0,b=b|0;var L=0,te=0;L=a[67]|0,a[67]=L+20,te=a[65]|0,a[(te|0?te+16|0:240)>>2]=L,a[65]=L,a[L>>2]=u,a[L+4>>2]=m,a[L+8>>2]=y,a[L+12>>2]=b,a[L+16>>2]=0,f[803]=1}k(oe,"O");function re(u,m,y){u=u|0,m=m|0,y=y|0;var b=0,L=0;return b=u+(0-y<<1)|0,L=b+2|0,u=a[3]|0,L>>>0>=u>>>0&&!(N(L,m,y<<1)|0)?(L|0)==(u|0)?u=1:u=H(b)|0:u=0,u|0}k(re,"$");function J(u){switch(u=u|0,d[u>>1]|0){case 107:{u=re(u+-2|0,150,4)|0;break}case 101:{(d[u+-2>>1]|0)==117?u=re(u+-4|0,122,6)|0:u=0;break}default:u=0}return u|0}k(J,"j");function ae(u,m){u=u|0,m=m|0;var y=0;return y=a[3]|0,y>>>0<=u>>>0&&(d[u>>1]|0)==m<<16>>16?(y|0)==(u|0)?y=1:y=le(d[u+-2>>1]|0)|0:y=0,y|0}k(ae,"B");function le(u){u=u|0;e:do if((u+-9&65535)<5)u=1;else{switch(u<<16>>16){case 32:case 160:{u=1;break e}default:}u=u<<16>>16!=46&(U(u)|0)}while(!1);return u|0}k(le,"E");function se(){var u=0,m=0,y=0;u=a[73]|0,y=a[72]|0;e:for(;m=y+2|0,!(y>>>0>=u>>>0);)switch(d[m>>1]|0){case 13:case 10:break e;default:y=m}a[72]=m}k(se,"P");function ye(u){for(u=u|0;!(dr(u)|0||U(u)|0);)if(u=(a[72]|0)+2|0,a[72]=u,u=d[u>>1]|0,!(u<<16>>16)){u=0;break}return u|0}k(ye,"q");function we(){var u=0;switch(u=a[(a[61]|0)+20>>2]|0,u|0){case 1:{u=-1;break}case 2:{u=-2;break}default:u=u-(a[3]|0)>>1}return u|0}k(we,"z");function be(u){return u=u|0,!(re(u,196,5)|0)&&!(re(u,44,3)|0)?u=re(u,206,2)|0:u=1,u|0}k(be,"D");function S(u){switch(u=u|0,u<<16>>16){case 160:case 32:case 12:case 11:case 9:{u=1;break}default:u=0}return u|0}k(S,"F");function He(u){return u=u|0,(d[u>>1]|0)==46&&(d[u+-2>>1]|0)==46?u=(d[u+-4>>1]|0)==46:u=0,u|0}k(He,"G");function Re(u){return u=u|0,(a[3]|0)==(u|0)?u=1:u=H(u+-2|0)|0,u|0}k(Re,"H");function rt(){var u=0;return u=a[(a[62]|0)+12>>2]|0,u?u=u-(a[3]|0)>>1:u=-1,u|0}k(rt,"J");function ut(){var u=0;return u=a[(a[61]|0)+12>>2]|0,u?u=u-(a[3]|0)>>1:u=-1,u|0}k(ut,"K");function qe(){var u=0;return u=a[(a[62]|0)+8>>2]|0,u?u=u-(a[3]|0)>>1:u=-1,u|0}k(qe,"L");function Ft(){var u=0;return u=a[(a[61]|0)+16>>2]|0,u?u=u-(a[3]|0)>>1:u=-1,u|0}k(Ft,"M");function $t(){var u=0;return u=a[(a[61]|0)+4>>2]|0,u?u=u-(a[3]|0)>>1:u=-1,u|0}k($t,"N");function ur(){var u=0;return u=a[61]|0,u=a[(u|0?u+32|0:236)>>2]|0,a[61]=u,(u|0)!=0|0}k(ur,"Q");function cn(){var u=0;return u=a[62]|0,u=a[(u|0?u+16|0:240)>>2]|0,a[62]=u,(u|0)!=0|0}k(cn,"R");function nt(){f[802]=1,a[68]=(a[72]|0)-(a[3]|0)>>1,a[72]=(a[73]|0)+2}k(nt,"T");function dr(u){return u=u|0,(u|128)<<16>>16==160|(u+-9&65535)<5|0}k(dr,"V");function Jt(u){return u=u|0,u<<16>>16==39|u<<16>>16==34|0}k(Jt,"W");function rs(){return(a[(a[61]|0)+8>>2]|0)-(a[3]|0)>>1|0}k(rs,"X");function M(){return(a[(a[62]|0)+4>>2]|0)-(a[3]|0)>>1|0}k(M,"Y");function K(u){return u=u|0,u<<16>>16==13|u<<16>>16==10|0}k(K,"Z");function me(){return(a[a[61]>>2]|0)-(a[3]|0)>>1|0}k(me,"_");function Ue(){return(a[a[62]>>2]|0)-(a[3]|0)>>1|0}k(Ue,"ee");function G(){return h[(a[61]|0)+24>>0]|0|0}k(G,"ae");function At(u){u=u|0,a[3]=u}k(At,"re");function ue(){return a[(a[61]|0)+28>>2]|0}k(ue,"ie");function Qe(){return(f[803]|0)!=0|0}k(Qe,"se");function R(){return(f[804]|0)!=0|0}k(R,"fe");function V(){return a[68]|0}k(V,"te");function ce(u){return u=u|0,g=u+992+15&-16,992}return k(ce,"ce"),{su:ce,ai:Ft,e:V,ee:M,ele:rt,els:qe,es:Ue,f:R,id:we,ie:$t,ip:G,is:me,it:ue,ms:Qe,p:x,re:cn,ri:ur,sa:z,se:ut,ses:At,ss:rs}})(typeof self<"u"?self:global,{},ys),ha=$e.su(co-(2<<17))}let n=Oe.length+1;$e.ses(ha),$e.sa(n-1),Ad(Oe,new Uint16Array(ys,ha,n)),$e.p()||(ge=$e.e(),Xt());let o=[],s=[];for(;$e.ri();){let i=$e.is(),l=$e.ie(),c=$e.ai(),f=$e.id(),d=$e.ss(),a=$e.se(),h=$e.it(),p;$e.ip()&&(p=ws(f===-1?i:i+1,Oe.charCodeAt(f===-1?i-1:i))),o.push({t:h,n:p,s:i,e:l,ss:d,se:a,d:f,a:c})}for(;$e.re();){let i=$e.es(),l=$e.ee(),c=$e.els(),f=$e.ele(),d=Oe.charCodeAt(i),a=c>=0?Oe.charCodeAt(c):-1;s.push({s:i,e:l,ls:c,le:f,n:d===34||d===39?ws(i+1,d):Oe.slice(i,l),ln:c<0?void 0:a===34||a===39?ws(c+1,a):Oe.slice(c,f)})}return[o,s,!!$e.f(),!!$e.ms()]}function ws(t,e){ge=t;let r="",n=ge;for(;;){ge>=Oe.length&&Xt();let o=Oe.charCodeAt(ge);if(o===e)break;o===92?(r+=Oe.slice(n,ge),r+=Id(),n=ge):(o===8232||o===8233||Ba(o)&&Xt(),++ge)}return r+=Oe.slice(n,ge++),r}function Id(){let t=Oe.charCodeAt(++ge);switch(++ge,t){case 110:return`
73
+ `;case 114:return"\r";case 120:return String.fromCharCode(bs(2));case 117:return(function(){let e=Oe.charCodeAt(ge),r;return e===123?(++ge,r=bs(Oe.indexOf("}",ge)-ge),++ge,r>1114111&&Xt()):r=bs(4),r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode(55296+(r>>10),56320+(1023&r)))})();case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:Oe.charCodeAt(ge)===10&&++ge;case 10:return"";case 56:case 57:Xt();default:if(t>=48&&t<=55){let e=Oe.substr(ge-1,3).match(/^[0-7]+/)[0],r=parseInt(e,8);return r>255&&(e=e.slice(0,-1),r=parseInt(e,8)),ge+=e.length-1,t=Oe.charCodeAt(ge),e==="0"&&t!==56&&t!==57||Xt(),String.fromCharCode(r)}return Ba(t)?"":String.fromCharCode(t)}}function bs(t){let e=ge,r=0,n=0;for(let o=0;o<t;++o,++ge){let s,i=Oe.charCodeAt(ge);if(i!==95){if(i>=97)s=i-97+10;else if(i>=65)s=i-65+10;else{if(!(i>=48&&i<=57))break;s=i-48}if(s>=16)break;n=i,r=16*r+s}else n!==95&&o!==0||Xt(),n=i}return n!==95&&ge-e===t||Xt(),r}function Ba(t){return t===13||t===10}function Xt(){throw Object.assign(Error(`Parse error ${_d}:${Oe.slice(0,ge).split(`
74
+ `).length}:${ge-Oe.lastIndexOf(`
75
+ `,ge-1)}`),{idx:ge})}function $d(t){let e=new Int32Array(5),r=[],n=0;do{let o=Od(t,n),s=[],i=!0,l=0;e[0]=0;for(let c=n;c<o;c++){let f;c=gn(t,c,e,0);let d=e[0];d<l&&(i=!1),l=d,Ea(t,c,o)?(c=gn(t,c,e,1),c=gn(t,c,e,2),c=gn(t,c,e,3),Ea(t,c,o)?(c=gn(t,c,e,4),f=[d,e[1],e[2],e[3],e[4]]):f=[d,e[1],e[2],e[3]]):f=[d],s.push(f)}i||Ld(s),r.push(s),n=o+1}while(n<=t.length);return r}function Od(t,e){let r=t.indexOf(";",e);return r===-1?t.length:r}function gn(t,e,r,n){let o=0,s=0,i=0;do{let c=t.charCodeAt(e++);i=Pd[c],o|=(i&31)<<s,s+=5}while(i&32);let l=o&1;return o>>>=1,l&&(o=-2147483648|-o),r[n]+=o,e}function Ea(t,e,r){return e>=r?!1:t.charCodeAt(e)!==Bd}function Ld(t){t.sort(Qd)}function Qd(t,e){return t[0]-e[0]}function Dd(t){let e=new Int32Array(5),r=1024*16,n=r-36,o=new Uint8Array(r),s=o.subarray(0,n),i=0,l="";for(let c=0;c<t.length;c++){let f=t[c];if(c>0&&(i===r&&(l+=pa.decode(o),i=0),o[i++]=K0),f.length!==0){e[0]=0;for(let d=0;d<f.length;d++){let a=f[d];i>n&&(l+=pa.decode(s),o.copyWithin(0,n,i),i-=n),d>0&&(o[i++]=Bd),i=An(o,i,e,a,0),a.length!==1&&(i=An(o,i,e,a,1),i=An(o,i,e,a,2),i=An(o,i,e,a,3),a.length!==4&&(i=An(o,i,e,a,4)))}}}return l+pa.decode(o.subarray(0,i))}function An(t,e,r,n,o){let s=n[o],i=s-r[o];r[o]=s,i=i<0?-i<<1|1:i<<1;do{let l=i&31;i>>>=5,i>0&&(l|=32),t[e++]=Rd[l]}while(i>0);return e}function Nd(t){return W0.test(t)}function Md(t){return t.startsWith("
76
+ Did you specify these with the most recent transformation maps first?`);let o=Ka(n,e,"",0);for(let s=r.length-1;s>=0;s--)o=Ua(r[s],[o]);return o}function Ka(t,e,r,n){let{resolvedSources:o,sourcesContent:s,ignoreList:i}=t,l=n+1,c=o.map((f,d)=>{let a={importer:r,depth:l,source:f||"",content:void 0,ignore:void 0},h=e(a.source,a),{source:p,content:g,ignore:x}=a;if(h)return Ka(new Cs(h,p),e,p,l);let A=g!==void 0?g:s?s[d]:null,w=x!==void 0?x:i?i.includes(d):!1;return pf(p,A,w)});return Ua(t,c)}function Wa(t,e,r){let n={excludeContent:!!r,decodedMappings:!1},o=yf(t,e);return new Ta(gf(o),n)}var Zt,_0,k,Ia,P0,$0,hd,Ed,O0,pd,gd,L0,Es,xs,Q0,D0,N0,M0,Aa,lo,hn,ya,$e,ys,ha,co,Ad,F0,Oe,_d,ge,wa,ks,mo,Ra,U0,j0,mr,Pa,yd,wd,ba,wn,Bd,K0,bd,Rd,Pd,pa,W0,G0,q0,Ur,vs,Cs,fo,V0,H0,z0,X0,Z0,nf,Sa,ty,hf,ry,Ta,wf,ny,oy,sy,iy,Ga,qa,Ja,ay,jr,Ya,bf,Ss=xe(()=>{Zt=ta(ua(),1);to();ss();_0=Object.defineProperty,k=(t,e)=>_0(t,"name",{value:e,configurable:!0}),Ia=k(t=>B0.createHash("sha1").update(t).digest("hex"),"sha1"),P0=44,$0=59,hd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ed=new Uint8Array(64),O0=new Uint8Array(128);for(let t=0;t<hd.length;t++){let e=hd.charCodeAt(t);Ed[t]=e,O0[e]=t}k(pn,"encodeInteger$1");pd=1024*16,gd=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(t){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}}:{decode(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}},L0=class{static{k(this,"StringWriter")}constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(pd)}write(t){let{buffer:e}=this;e[this.pos++]=t,this.pos===pd&&(this.out+=gd.decode(e),this.pos=0)}flush(){let{buffer:t,out:e,pos:r}=this;return r>0?e+gd.decode(t.subarray(0,r)):e}};k(xd,"encode$1");Es=class t{static{k(this,"BitSet")}constructor(e){this.bits=e instanceof t?e.bits.slice():[]}add(e){this.bits[e>>5]|=1<<(e&31)}has(e){return!!(this.bits[e>>5]&1<<(e&31))}},xs=class t{static{k(this,"Chunk")}constructor(e,r,n){this.start=e,this.end=r,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(e){this.outro+=e}appendRight(e){this.intro=this.intro+e}clone(){let e=new t(this.start,this.end,this.original);return e.intro=this.intro,e.outro=this.outro,e.content=this.content,e.storeName=this.storeName,e.edited=this.edited,e}contains(e){return this.start<e&&e<this.end}eachNext(e){let r=this;for(;r;)e(r),r=r.next}eachPrevious(e){let r=this;for(;r;)e(r),r=r.previous}edit(e,r,n){return this.content=e,n||(this.intro="",this.outro=""),this.storeName=r,this.edited=!0,this}prependLeft(e){this.outro=e+this.outro}prependRight(e){this.intro=e+this.intro}reset(){this.intro="",this.outro="",this.edited&&(this.content=this.original,this.storeName=!1,this.edited=!1)}split(e){let r=e-this.start,n=this.original.slice(0,r),o=this.original.slice(r);this.original=n;let s=new t(e,this.end,o);return s.outro=this.outro,this.outro="",this.end=e,this.edited?(s.edit("",!1),this.content=""):this.content=n,s.next=this.next,s.next&&(s.next.previous=s),s.previous=this,this.next=s,s}toString(){return this.intro+this.content+this.outro}trimEnd(e){if(this.outro=this.outro.replace(e,""),this.outro.length)return!0;let r=this.content.replace(e,"");if(r.length)return r!==this.content&&(this.split(this.start+r.length).edit("",void 0,!0),this.edited&&this.edit(r,this.storeName,!0)),!0;if(this.edit("",void 0,!0),this.intro=this.intro.replace(e,""),this.intro.length)return!0}trimStart(e){if(this.intro=this.intro.replace(e,""),this.intro.length)return!0;let r=this.content.replace(e,"");if(r.length){if(r!==this.content){let n=this.split(this.end-r.length);this.edited&&n.edit(r,this.storeName,!0),this.edit("",void 0,!0)}return!0}else if(this.edit("",void 0,!0),this.outro=this.outro.replace(e,""),this.outro.length)return!0}};k(vd,"getBtoa");Q0=vd(),D0=class{static{k(this,"SourceMap")}constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=xd(t.mappings),typeof t.x_google_ignoreList<"u"&&(this.x_google_ignoreList=t.x_google_ignoreList),typeof t.debugId<"u"&&(this.debugId=t.debugId)}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+Q0(this.toString())}};k(Cd,"guessIndent");k(kd,"getRelativePath");N0=Object.prototype.toString;k(Sd,"isObject");k(ga,"getLocator");M0=/\w/,Aa=class{static{k(this,"Mappings")}constructor(e){this.hires=e,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(e,r,n,o){if(r.length){let s=r.length-1,i=r.indexOf(`
77
77
  `,0),l=-1;for(;i>=0&&s>i;){let f=[this.generatedCodeColumn,e,n.line,n.column];o>=0&&f.push(o),this.rawSegments.push(f),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,l=i,i=r.indexOf(`
78
78
  `,i+1)}let c=[this.generatedCodeColumn,e,n.line,n.column];o>=0&&c.push(o),this.rawSegments.push(c),this.advance(r.slice(l+1))}else this.pending&&(this.rawSegments.push(this.pending),this.advance(r));this.pending=null}addUneditedChunk(e,r,n,o,s){let i=r.start,l=!0,c=!1;for(;i<r.end;){if(n[i]===`
79
- `)o.line+=1,o.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,l=!0,c=!1;else{if(this.hires||l||s.has(i)){let f=[this.generatedCodeColumn,e,o.line,o.column];this.hires==="boundary"?L0.test(n[i])?c||(this.rawSegments.push(f),c=!0):(this.rawSegments.push(f),c=!1):this.rawSegments.push(f)}o.column+=1,this.generatedCodeColumn+=1,l=!1}i+=1}this.pending=null}advance(e){if(!e)return;let r=e.split(`
80
- `);if(r.length>1){for(let n=0;n<r.length-1;n++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0}this.generatedCodeColumn+=r[r.length-1].length}},co=`
81
- `,hn={insertLeft:!1,insertRight:!1,storeName:!1},ya=class t{static{x(this,"MagicString")}constructor(e,r={}){let n=new Es(0,e.length,e);Object.defineProperties(this,{original:{writable:!0,value:e},outro:{writable:!0,value:""},intro:{writable:!0,value:""},firstChunk:{writable:!0,value:n},lastChunk:{writable:!0,value:n},lastSearchedChunk:{writable:!0,value:n},byStart:{writable:!0,value:{}},byEnd:{writable:!0,value:{}},filename:{writable:!0,value:r.filename},indentExclusionRanges:{writable:!0,value:r.indentExclusionRanges},sourcemapLocations:{writable:!0,value:new bs},storedNames:{writable:!0,value:{}},indentStr:{writable:!0,value:void 0},ignoreList:{writable:!0,value:r.ignoreList},offset:{writable:!0,value:r.offset||0}}),this.byStart[0]=n,this.byEnd[e.length]=n}addSourcemapLocation(e){this.sourcemapLocations.add(e)}append(e){if(typeof e!="string")throw new TypeError("outro content must be a string");return this.outro+=e,this}appendLeft(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byEnd[e];return n?n.appendLeft(r):this.intro+=r,this}appendRight(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byStart[e];return n?n.appendRight(r):this.outro+=r,this}clone(){let e=new t(this.original,{filename:this.filename,offset:this.offset}),r=this.firstChunk,n=e.firstChunk=e.lastSearchedChunk=r.clone();for(;r;){e.byStart[n.start]=n,e.byEnd[n.end]=n;let o=r.next,s=o&&o.clone();s&&(n.next=s,s.previous=n,n=s),r=o}return e.lastChunk=n,this.indentExclusionRanges&&(e.indentExclusionRanges=this.indentExclusionRanges.slice()),e.sourcemapLocations=new bs(this.sourcemapLocations),e.intro=this.intro,e.outro=this.outro,e}generateDecodedMap(e){e=e||{};let r=0,n=Object.keys(this.storedNames),o=new Aa(e.hires),s=ga(this.original);return this.intro&&o.advance(this.intro),this.firstChunk.eachNext(i=>{let l=s(i.start);i.intro.length&&o.advance(i.intro),i.edited?o.addEdit(r,i.content,l,i.storeName?n.indexOf(i.original):-1):o.addUneditedChunk(r,i,this.original,l,this.sourcemapLocations),i.outro.length&&o.advance(i.outro)}),{file:e.file?e.file.split(/[/\\]/).pop():void 0,sources:[e.source?xd(e.file||"",e.source):e.file||""],sourcesContent:e.includeContent?[this.original]:void 0,names:n,mappings:o.raw,x_google_ignoreList:this.ignoreList?[r]:void 0}}generateMap(e){return new O0(this.generateDecodedMap(e))}_ensureindentStr(){this.indentStr===void 0&&(this.indentStr=Ed(this.original))}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),this.indentStr===null?" ":this.indentStr}indent(e,r){let n=/^[^\r\n]/gm;if(vd(e)&&(r=e,e=void 0),e===void 0&&(this._ensureindentStr(),e=this.indentStr||" "),e==="")return this;r=r||{};let o={};r.exclude&&(typeof r.exclude[0]=="number"?[r.exclude]:r.exclude).forEach(f=>{for(let u=f[0];u<f[1];u+=1)o[u]=!0});let s=r.indentStart!==!1,i=x(f=>s?`${e}${f}`:(s=!0,f),"replacer");this.intro=this.intro.replace(n,i);let l=0,c=this.firstChunk;for(;c;){let f=c.end;if(c.edited)o[l]||(c.content=c.content.replace(n,i),c.content.length&&(s=c.content[c.content.length-1]===`
82
- `));else for(l=c.start;l<f;){if(!o[l]){let u=this.original[l];u===`
83
- `?s=!0:u!=="\r"&&s&&(s=!1,l===c.start||(this._splitChunk(c,l),c=c.next),c.prependRight(e))}l+=1}l=c.end,c=c.next}return this.outro=this.outro.replace(n,i),this}insert(){throw new Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")}insertLeft(e,r){return hn.insertLeft||(console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),hn.insertLeft=!0),this.appendLeft(e,r)}insertRight(e,r){return hn.insertRight||(console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),hn.insertRight=!0),this.prependRight(e,r)}move(e,r,n){if(e=e+this.offset,r=r+this.offset,n=n+this.offset,n>=e&&n<=r)throw new Error("Cannot move a selection inside itself");this._split(e),this._split(r),this._split(n);let o=this.byStart[e],s=this.byEnd[r],i=o.previous,l=s.next,c=this.byStart[n];if(!c&&s===this.lastChunk)return this;let f=c?c.previous:this.lastChunk;return i&&(i.next=l),l&&(l.previous=i),f&&(f.next=o),c&&(c.previous=s),o.previous||(this.firstChunk=s.next),s.next||(this.lastChunk=o.previous,this.lastChunk.next=null),o.previous=f,s.next=c||null,f||(this.firstChunk=o),c||(this.lastChunk=s),this}overwrite(e,r,n,o){return o=o||{},this.update(e,r,n,{...o,overwrite:!o.contentOnly})}update(e,r,n,o){if(e=e+this.offset,r=r+this.offset,typeof n!="string")throw new TypeError("replacement content must be a string");if(this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(r>this.original.length)throw new Error("end is out of bounds");if(e===r)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(e),this._split(r),o===!0&&(hn.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),hn.storeName=!0),o={storeName:!0});let s=o!==void 0?o.storeName:!1,i=o!==void 0?o.overwrite:!1;if(s){let f=this.original.slice(e,r);Object.defineProperty(this.storedNames,f,{writable:!0,value:!0,enumerable:!0})}let l=this.byStart[e],c=this.byEnd[r];if(l){let f=l;for(;f!==c;){if(f.next!==this.byStart[f.end])throw new Error("Cannot overwrite across a split point");f=f.next,f.edit("",!1)}l.edit(n,s,!i)}else{let f=new Es(e,r,"").edit(n,s);c.next=f,f.previous=c}return this}prepend(e){if(typeof e!="string")throw new TypeError("outro content must be a string");return this.intro=e+this.intro,this}prependLeft(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byEnd[e];return n?n.prependLeft(r):this.intro=r+this.intro,this}prependRight(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byStart[e];return n?n.prependRight(r):this.outro=r+this.outro,this}remove(e,r){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(e===r)return this;if(e<0||r>this.original.length)throw new Error("Character is out of bounds");if(e>r)throw new Error("end must be greater than start");this._split(e),this._split(r);let n=this.byStart[e];for(;n;)n.intro="",n.outro="",n.edit(""),n=r>n.end?this.byStart[n.end]:null;return this}reset(e,r){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(e===r)return this;if(e<0||r>this.original.length)throw new Error("Character is out of bounds");if(e>r)throw new Error("end must be greater than start");this._split(e),this._split(r);let n=this.byStart[e];for(;n;)n.reset(),n=r>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let e=this.lastChunk;do{if(e.outro.length)return e.outro[e.outro.length-1];if(e.content.length)return e.content[e.content.length-1];if(e.intro.length)return e.intro[e.intro.length-1]}while(e=e.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let e=this.outro.lastIndexOf(co);if(e!==-1)return this.outro.substr(e+1);let r=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(e=n.outro.lastIndexOf(co),e!==-1)return n.outro.substr(e+1)+r;r=n.outro+r}if(n.content.length>0){if(e=n.content.lastIndexOf(co),e!==-1)return n.content.substr(e+1)+r;r=n.content+r}if(n.intro.length>0){if(e=n.intro.lastIndexOf(co),e!==-1)return n.intro.substr(e+1)+r;r=n.intro+r}}while(n=n.previous);return e=this.intro.lastIndexOf(co),e!==-1?this.intro.substr(e+1)+r:this.intro+r}slice(e=0,r=this.original.length-this.offset){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}let n="",o=this.firstChunk;for(;o&&(o.start>e||o.end<=e);){if(o.start<r&&o.end>=r)return n;o=o.next}if(o&&o.edited&&o.start!==e)throw new Error(`Cannot use replaced character ${e} as slice start anchor.`);let s=o;for(;o;){o.intro&&(s!==o||o.start===e)&&(n+=o.intro);let i=o.start<r&&o.end>=r;if(i&&o.edited&&o.end!==r)throw new Error(`Cannot use replaced character ${r} as slice end anchor.`);let l=s===o?e-o.start:0,c=i?o.content.length+r-o.end:o.content.length;if(n+=o.content.slice(l,c),o.outro&&(!i||o.end===r)&&(n+=o.outro),i)break;o=o.next}return n}snip(e,r){let n=this.clone();return n.remove(0,e),n.remove(r,n.original.length),n}_split(e){if(this.byStart[e]||this.byEnd[e])return;let r=this.lastSearchedChunk,n=r,o=e>r.end;for(;r;){if(r.contains(e))return this._splitChunk(r,e);if(r=o?this.byStart[r.end]:this.byEnd[r.start],r===n)return;n=r}}_splitChunk(e,r){if(e.edited&&e.content.length){let o=ga(this.original)(r);throw new Error(`Cannot split a chunk that has already been edited (${o.line}:${o.column} \u2013 "${e.original}")`)}let n=e.split(r);return this.byEnd[r]=e,this.byStart[r]=n,this.byEnd[n.end]=n,e===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=e,!0}toString(){let e=this.intro,r=this.firstChunk;for(;r;)e+=r.toString(),r=r.next;return e+this.outro}isEmpty(){let e=this.firstChunk;do if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1;while(e=e.next);return!0}length(){let e=this.firstChunk,r=0;do r+=e.intro.length+e.content.length+e.outro.length;while(e=e.next);return r}trimLines(){return this.trim("[\\r\\n]")}trim(e){return this.trimStart(e).trimEnd(e)}trimEndAborted(e){let r=new RegExp((e||"\\s")+"+$");if(this.outro=this.outro.replace(r,""),this.outro.length)return!0;let n=this.lastChunk;do{let o=n.end,s=n.trimEnd(r);if(n.end!==o&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.previous}while(n);return!1}trimEnd(e){return this.trimEndAborted(e),this}trimStartAborted(e){let r=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(r,""),this.intro.length)return!0;let n=this.firstChunk;do{let o=n.end,s=n.trimStart(r);if(n.end!==o&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.next}while(n);return!1}trimStart(e){return this.trimStartAborted(e),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(e,r){function n(s,i){return typeof r=="string"?r.replace(/\$(\$|&|\d+)/g,(l,c)=>c==="$"?"$":c==="&"?s[0]:+c<s.length?s[+c]:`$${c}`):r(...s,s.index,i,s.groups)}x(n,"getReplacement");function o(s,i){let l,c=[];for(;l=s.exec(i);)c.push(l);return c}if(x(o,"matchAll"),e.global)o(e,this.original).forEach(s=>{if(s.index!=null){let i=n(s,this.original);i!==s[0]&&this.overwrite(s.index,s.index+s[0].length,i)}});else{let s=this.original.match(e);if(s&&s.index!=null){let i=n(s,this.original);i!==s[0]&&this.overwrite(s.index,s.index+s[0].length,i)}}return this}_replaceString(e,r){let{original:n}=this,o=n.indexOf(e);return o!==-1&&this.overwrite(o,o+e.length,r),this}replace(e,r){return typeof e=="string"?this._replaceString(e,r):this._replaceRegexp(e,r)}_replaceAllString(e,r){let{original:n}=this,o=e.length;for(let s=n.indexOf(e);s!==-1;s=n.indexOf(e,s+o))n.slice(s,s+o)!==r&&this.overwrite(s,s+o,r);return this}replaceAll(e,r){if(typeof e=="string")return this._replaceAllString(e,r);if(!e.global)throw new TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(e,r)}},lo=2<<19,hd=new Uint8Array(new Uint16Array([1]).buffer)[0]===1?function(t,e){let r=t.length,n=0;for(;n<r;)e[n]=t.charCodeAt(n++)}:function(t,e){let r=t.length,n=0;for(;n<r;){let o=t.charCodeAt(n);e[n++]=(255&o)<<8|o>>>8}},Q0="xportmportlassforetaourceromsyncunctionssertvoyiedelecontininstantybreareturdebuggeawaithrwhileifcatcfinallels";x(kd,"parse");x(ys,"b");x(Sd,"k");x(ws,"l");x(Ba,"u");x(Xt,"o");typeof WebAssembly<"u"&&(async()=>{let{parse:t,init:e}=await Promise.resolve().then(()=>(ud(),ld));await e,wa=t})();Cs=x((t,e)=>wa?wa(t,e):kd(t,e),"parseEsm"),mo=x(t=>{if(!t.includes("import")&&!t.includes("export"))return!1;try{return Cs(t)[3]}catch{return!0}},"isESM"),Ra="2",D0=(t=>{let e="default";return t[e]&&typeof t[e]=="object"&&"__esModule"in t[e]?t[e]:t}).toString(),N0=`.then(${D0})`,fr=x((t,e,r)=>{if(r){if(!e.includes("import("))return}else if(!e.includes("import"))return;let n=Cs(e,t)[0].filter(l=>l.d>-1);if(n.length===0)return;let o=new ya(e);for(let l of n)o.appendRight(l.se,N0);let s=o.toString(),i=o.generateMap({source:t,includeContent:!1,hires:"boundary"});return{code:s,map:i}},"transformDynamicImport"),Pa=x(t=>{try{let e=Ut.readFileSync(t,"utf8");return JSON.parse(e)}catch{}},"readJsonFile"),pd=x(()=>{},"noop"),gd=x(()=>Math.floor(Date.now()/1e8),"getTime"),ba=class extends Map{static{x(this,"FileCache")}cacheDirectory=ns;oldCacheDirectory=yn.join(_0.tmpdir(),"tsx");cacheFiles;constructor(){super(),Ut.mkdirSync(this.cacheDirectory,{recursive:!0}),this.cacheFiles=Ut.readdirSync(this.cacheDirectory).map(e=>{let[r,n]=e.split("-");return{time:Number(r),key:n,fileName:e}}),setImmediate(()=>{this.expireDiskCache(),this.removeOldCacheDirectory()})}get(e){let r=super.get(e);if(r)return r;let n=this.cacheFiles.find(i=>i.key===e);if(!n)return;let o=yn.join(this.cacheDirectory,n.fileName),s=Pa(o);if(!s){Ut.promises.unlink(o).then(()=>{let i=this.cacheFiles.indexOf(n);this.cacheFiles.splice(i,1)},()=>{});return}return super.set(e,s),s}set(e,r){if(super.set(e,r),r){let n=gd();Ut.promises.writeFile(yn.join(this.cacheDirectory,`${n}-${e}`),JSON.stringify(r)).catch(pd)}return this}expireDiskCache(){let e=gd();for(let r of this.cacheFiles)e-r.time>7&&Ut.promises.unlink(yn.join(this.cacheDirectory,r.fileName)).catch(pd)}async removeOldCacheDirectory(){try{await Ut.promises.access(this.oldCacheDirectory).then(()=>!0)&&("rm"in Ut.promises?await Ut.promises.rm(this.oldCacheDirectory,{recursive:!0,force:!0}):await Ut.promises.rmdir(this.oldCacheDirectory,{recursive:!0}))}catch{}}},wn=process.env.TSX_DISABLE_CACHE?new Map:new ba,_d=44,M0=59,Ad="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Td=new Uint8Array(64),Id=new Uint8Array(128);for(let t=0;t<Ad.length;t++){let e=Ad.charCodeAt(t);Td[t]=e,Id[e]=t}pa=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(t){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}}:{decode(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}};x(Bd,"decode");x(Rd,"indexOf");x(gn,"decodeInteger");x(Ea,"hasMoreVlq");x(Pd,"sort");x(Od,"sortComparator$1");x($d,"encode");x(An,"encodeInteger");F0=/^[\w+.-]+:\/\
84
- `;break;case 114:k+="\r";break;case 116:k+=" ";break;case 117:let S=h(4);S>=0?k+=String.fromCharCode(S):a=4;break;default:a=5}I=n;continue}if(v>=0&&v<=31)if(Gr(v)){k+=t.substring(I,n),a=2;break}else a=6;n++}return k}Y(C,"D"),K(C,"scanString");function g(){if(o="",a=0,s=n,c=l,u=f,n>=r)return s=r,i=17;let k=t.charCodeAt(n);if(wo(k)){do n++,o+=String.fromCharCode(k),k=t.charCodeAt(n);while(wo(k));return i=15}if(Gr(k))return n++,o+=String.fromCharCode(k),k===13&&t.charCodeAt(n)===10&&(n++,o+=`
85
- `),l++,f=n,i=14;switch(k){case 123:return n++,i=1;case 125:return n++,i=2;case 91:return n++,i=3;case 93:return n++,i=4;case 58:return n++,i=6;case 44:return n++,i=5;case 34:return n++,o=C(),i=10;case 47:let I=n-1;if(t.charCodeAt(n+1)===47){for(n+=2;n<r&&!Gr(t.charCodeAt(n));)n++;return o=t.substring(I,n),i=12}if(t.charCodeAt(n+1)===42){n+=2;let v=r-1,S=!1;for(;n<v;){let B=t.charCodeAt(n);if(B===42&&t.charCodeAt(n+1)===47){n+=2,S=!0;break}n++,Gr(B)&&(B===13&&t.charCodeAt(n)===10&&n++,l++,f=n)}return S||(n++,a=1),o=t.substring(I,n),i=13}return o+=String.fromCharCode(k),n++,i=16;case 45:if(o+=String.fromCharCode(k),n++,n===r||!hr(t.charCodeAt(n)))return i=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=A(),i=11;default:for(;n<r&&w(k);)n++,k=t.charCodeAt(n);if(s!==n){switch(o=t.substring(s,n),o){case"true":return i=8;case"false":return i=9;case"null":return i=7}return i=16}return o+=String.fromCharCode(k),n++,i=16}}Y(g,"c"),K(g,"scanNext");function w(k){if(wo(k)||Gr(k))return!1;switch(k){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}Y(w,"p"),K(w,"isUnknownContentCharacter");function $(){let k;do k=g();while(k>=12&&k<=15);return k}return Y($,"b"),K($,"scanNextNonTrivia"),{setPosition:p,getPosition:K(()=>n,"getPosition"),scan:e?$:g,getToken:K(()=>i,"getToken"),getTokenValue:K(()=>o,"getTokenValue"),getTokenOffset:K(()=>s,"getTokenOffset"),getTokenLength:K(()=>n-s,"getTokenLength"),getTokenStartLine:K(()=>c,"getTokenStartLine"),getTokenStartCharacter:K(()=>s-u,"getTokenStartCharacter"),getTokenError:K(()=>a,"getTokenError")}}function wo(t){return t===32||t===9}function Gr(t){return t===10||t===13}function hr(t){return t>=48&&t<=57}function ac(t,e=[],r=$s.DEFAULT){let n=null,o=[],s=[];function i(l){Array.isArray(o)?o.push(l):n!==null&&(o[n]=l)}return Y(i,"l"),K(i,"onValue"),cc(t,{onObjectBegin:K(()=>{let l={};i(l),s.push(o),o=l,n=null},"onObjectBegin"),onObjectProperty:K(l=>{n=l},"onObjectProperty"),onObjectEnd:K(()=>{o=s.pop()},"onObjectEnd"),onArrayBegin:K(()=>{let l=[];i(l),s.push(o),o=l,n=null},"onArrayBegin"),onArrayEnd:K(()=>{o=s.pop()},"onArrayEnd"),onLiteralValue:i,onError:K((l,c,f)=>{e.push({error:l,offset:c,length:f})},"onError")},r),o[0]}function cc(t,e,r=$s.DEFAULT){let n=ic(t,!1),o=[],s=0;function i(W){return W?()=>s===0&&W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}Y(i,"l"),K(i,"toNoArgVisit");function l(W){return W?V=>s===0&&W(V,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}Y(l,"g"),K(l,"toOneArgVisit");function c(W){return W?V=>s===0&&W(V,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}Y(c,"m"),K(c,"toOneArgVisitWithPath");function f(W){return W?()=>{s>0?s++:W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice())===!1&&(s=1)}:()=>!0}Y(f,"k"),K(f,"toBeginVisit");function u(W){return W?()=>{s>0&&s--,s===0&&W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}Y(u,"w"),K(u,"toEndVisit");let a=f(e.onObjectBegin),h=c(e.onObjectProperty),p=u(e.onObjectEnd),A=f(e.onArrayBegin),C=u(e.onArrayEnd),g=c(e.onLiteralValue),w=l(e.onSeparator),$=i(e.onComment),k=l(e.onError),I=r&&r.disallowComments,v=r&&r.allowTrailingComma;function S(){for(;;){let W=n.scan();switch(n.getTokenError()){case 4:B(14);break;case 5:B(15);break;case 3:B(13);break;case 1:I||B(11);break;case 2:B(12);break;case 6:B(16);break}switch(W){case 12:case 13:I?B(10):$();break;case 16:B(1);break;case 15:case 14:break;default:return W}}}Y(S,"v"),K(S,"scanNext");function B(W,V=[],oe=[]){if(k(W),V.length+oe.length>0){let te=n.getToken();for(;te!==17;){if(V.indexOf(te)!==-1){S();break}else if(oe.indexOf(te)!==-1)break;te=S()}}}Y(B,"d"),K(B,"handleError");function U(W){let V=n.getTokenValue();return W?g(V):(h(V),o.push(V)),S(),!0}Y(U,"L"),K(U,"parseString");function D(){switch(n.getToken()){case 11:let W=n.getTokenValue(),V=Number(W);isNaN(V)&&(B(2),V=0),g(V);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return S(),!0}Y(D,"B"),K(D,"parseLiteral");function Q(){return n.getToken()!==10?(B(3,[],[2,5]),!1):(U(!1),n.getToken()===6?(w(":"),S(),F()||B(4,[],[2,5])):B(5,[],[2,5]),o.pop(),!0)}Y(Q,"$"),K(Q,"parseProperty");function O(){a(),S();let W=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(W||B(4,[],[]),w(","),S(),n.getToken()===2&&v)break}else W&&B(6,[],[]);Q()||B(4,[],[2,5]),W=!0}return p(),n.getToken()!==2?B(7,[2],[]):S(),!0}Y(O,"N"),K(O,"parseObject");function L(){A(),S();let W=!0,V=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(V||B(4,[],[]),w(","),S(),n.getToken()===4&&v)break}else V&&B(6,[],[]);W?(o.push(0),W=!1):o[o.length-1]++,F()||B(4,[],[4,5]),V=!0}return C(),W||o.pop(),n.getToken()!==4?B(8,[4],[]):S(),!0}Y(L,"$e"),K(L,"parseArray");function F(){switch(n.getToken()){case 3:return L();case 1:return O();case 10:return U(!0);default:return D()}}return Y(F,"H"),K(F,"parseValue"),S(),n.getToken()===17?r.allowEmptyContent?!0:(B(4,[],[]),!1):F()?(n.getToken()!==17&&B(9,[],[]),!0):(B(4,[],[]),!1)}var uy,Y,Uf,dc,jf,vn,Kf,oc,Ay,yy,wy,by,Wf,sc,yo,Ey,xy,vy,Cy,ky,K,Sy,wt,bo,xf,xn,$s,vf,Cf,_y,kf,fc,qf,Ty,Iy,Wr,Ps,By,za,Ry,Py,lc,pr,mc,Os,Oy,$y,Ly,Qy,Dy,Ny,My,Fy,Uy,Xa,Sf,_f,jy,Tf,Is,Ky,Wy,Gy,hc,qy,Qs,Jf,Za,If,Jy,Yy,Bf,ec,Hy,Vy,Rf,zy,tc,Xy,Pf,Bs,rc,Yf,Zy,Of,Ds,Hf,ew,tw,rw,$f,nw,ow,sw,iw,Lf,Ns,Ms,aw,Qf,St,po,go,Fs,cw,kn,Jr,ht,pc,wr,Us,Vf,zf,Ar,Xf,Zf,yr,em,Cn,fe,gr,lw,uw,dw,tm,rm,nm,fw,om,sm,mw,hw,Ao,js,uc,pw,gw,Df,Nf,Aw,nc,yw,ww,Rs,bw,Mf,Ew,xw,vw,Cw,Ff,Eo,Ks=ve(()=>{ro();ks();_s();Va();to();uy=Object.defineProperty,Y=(t,e)=>uy(t,"name",{value:e,configurable:!0}),Uf=Y(t=>{if(!t.startsWith("data:text/javascript,"))return;let e=t.indexOf("?");if(e===-1)return;let r=new URLSearchParams(t.slice(e+1)).get("filePath");if(r)return r},"getOriginalFilePath"),dc=Y(t=>{let e=Uf(t);return e&&(it._cache[e]=it._cache[t],delete it._cache[t],t=e),t},"interopCjsExports"),jf=Y(t=>t!==null&&typeof t=="object","A"),vn=Y((t,e)=>Object.assign(new Error(`[${t}]: ${e}`),{code:t}),"a"),Kf="ERR_INVALID_PACKAGE_CONFIG",oc="ERR_INVALID_PACKAGE_TARGET",Ay="ERR_PACKAGE_PATH_NOT_EXPORTED",yy=/^\d+$/,wy=/^(\.{1,2}|node_modules)$/i,by=/\/|\\/,Wf=(t=>(t.Export="exports",t.Import="imports",t))(Wf||{}),sc=Y((t,e,r,n,o)=>{if(e==null)return[];if(typeof e=="string"){let[s,...i]=e.split(by);if(s===".."||i.some(l=>wy.test(l)))throw vn(oc,`Invalid "${t}" target "${e}" defined in the package config`);return[o?e.replace(/\*/g,o):e]}if(Array.isArray(e))return e.flatMap(s=>sc(t,s,r,n,o));if(jf(e)){for(let s of Object.keys(e)){if(yy.test(s))throw vn(Kf,"Cannot contain numeric property keys");if(s==="default"||n.includes(s))return sc(t,e[s],r,n,o)}return[]}throw vn(oc,`Invalid "${t}" target "${e}"`)},"f"),yo="*",Ey=Y((t,e)=>{let r=t.indexOf(yo),n=e.indexOf(yo);return r===n?e.length>t.length:n>r},"m");Y(Gf,"d");xy=Y(t=>Object.keys(t).reduce((e,r)=>{let n=r===""||r[0]!==".";if(e===void 0||e===n)return n;throw vn(Kf,'"exports" cannot contain some keys starting with "." and some not')},void 0),"p"),vy=/^\w+:/,Cy=Y((t,e,r)=>{if(!t)throw new Error('"exports" is required');e=e===""?".":`./${e}`,(typeof t=="string"||Array.isArray(t)||jf(t)&&xy(t))&&(t={".":t});let[n,o]=Gf(t,e),s=sc(Wf.Export,t[n],e,r,o);if(s.length===0)throw vn(Ay,e==="."?'No "exports" main defined':`Package subpath '${e}' is not defined by "exports"`);for(let i of s)if(!i.startsWith("./")&&!vy.test(i))throw vn(oc,`Invalid "exports" target "${i}" defined in the package config`);return s},"v"),ky=Object.defineProperty,K=Y((t,e)=>ky(t,"name",{value:e,configurable:!0}),"i");Y(je,"x"),K(je,"slash");Sy=K((t,e)=>{let r=`readFileSync:${e}`,n=t?.get(r);return n===void 0&&(n=qr.readFileSync(e,"utf8"),t?.set(r,n)),n},"readFile"),wt=K((t,e)=>{let r=`tryStat:${e}`,n=t?.get(r);if(n===void 0){try{n=qr.statSync(e)}catch{n=null}t?.set(r,n)}return n??void 0},"tryStat"),bo=K((t,e,r)=>{for(;;){let n=z.posix.join(t,e);if(wt(r,n))return n;let o=z.dirname(t);if(o===t)return;t=o}},"findUp");Y(ic,"Ne"),K(ic,"createScanner");Y(wo,"X"),K(wo,"isWhiteSpace");Y(Gr,"P"),K(Gr,"isLineBreak");Y(hr,"S"),K(hr,"isDigit");(function(t){t[t.lineFeed=10]="lineFeed",t[t.carriageReturn=13]="carriageReturn",t[t.space=32]="space",t[t._0=48]="_0",t[t._1=49]="_1",t[t._2=50]="_2",t[t._3=51]="_3",t[t._4=52]="_4",t[t._5=53]="_5",t[t._6=54]="_6",t[t._7=55]="_7",t[t._8=56]="_8",t[t._9=57]="_9",t[t.a=97]="a",t[t.b=98]="b",t[t.c=99]="c",t[t.d=100]="d",t[t.e=101]="e",t[t.f=102]="f",t[t.g=103]="g",t[t.h=104]="h",t[t.i=105]="i",t[t.j=106]="j",t[t.k=107]="k",t[t.l=108]="l",t[t.m=109]="m",t[t.n=110]="n",t[t.o=111]="o",t[t.p=112]="p",t[t.q=113]="q",t[t.r=114]="r",t[t.s=115]="s",t[t.t=116]="t",t[t.u=117]="u",t[t.v=118]="v",t[t.w=119]="w",t[t.x=120]="x",t[t.y=121]="y",t[t.z=122]="z",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.asterisk=42]="asterisk",t[t.backslash=92]="backslash",t[t.closeBrace=125]="closeBrace",t[t.closeBracket=93]="closeBracket",t[t.colon=58]="colon",t[t.comma=44]="comma",t[t.dot=46]="dot",t[t.doubleQuote=34]="doubleQuote",t[t.minus=45]="minus",t[t.openBrace=123]="openBrace",t[t.openBracket=91]="openBracket",t[t.plus=43]="plus",t[t.slash=47]="slash",t[t.formFeed=12]="formFeed",t[t.tab=9]="tab"})(xf||(xf={})),new Array(20).fill(0).map((t,e)=>" ".repeat(e));xn=200;new Array(xn).fill(0).map((t,e)=>`
79
+ `)o.line+=1,o.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,l=!0,c=!1;else{if(this.hires||l||s.has(i)){let f=[this.generatedCodeColumn,e,o.line,o.column];this.hires==="boundary"?M0.test(n[i])?c||(this.rawSegments.push(f),c=!0):(this.rawSegments.push(f),c=!1):this.rawSegments.push(f)}o.column+=1,this.generatedCodeColumn+=1,l=!1}i+=1}this.pending=null}advance(e){if(!e)return;let r=e.split(`
80
+ `);if(r.length>1){for(let n=0;n<r.length-1;n++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0}this.generatedCodeColumn+=r[r.length-1].length}},lo=`
81
+ `,hn={insertLeft:!1,insertRight:!1,storeName:!1},ya=class t{static{k(this,"MagicString")}constructor(e,r={}){let n=new xs(0,e.length,e);Object.defineProperties(this,{original:{writable:!0,value:e},outro:{writable:!0,value:""},intro:{writable:!0,value:""},firstChunk:{writable:!0,value:n},lastChunk:{writable:!0,value:n},lastSearchedChunk:{writable:!0,value:n},byStart:{writable:!0,value:{}},byEnd:{writable:!0,value:{}},filename:{writable:!0,value:r.filename},indentExclusionRanges:{writable:!0,value:r.indentExclusionRanges},sourcemapLocations:{writable:!0,value:new Es},storedNames:{writable:!0,value:{}},indentStr:{writable:!0,value:void 0},ignoreList:{writable:!0,value:r.ignoreList},offset:{writable:!0,value:r.offset||0}}),this.byStart[0]=n,this.byEnd[e.length]=n}addSourcemapLocation(e){this.sourcemapLocations.add(e)}append(e){if(typeof e!="string")throw new TypeError("outro content must be a string");return this.outro+=e,this}appendLeft(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byEnd[e];return n?n.appendLeft(r):this.intro+=r,this}appendRight(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byStart[e];return n?n.appendRight(r):this.outro+=r,this}clone(){let e=new t(this.original,{filename:this.filename,offset:this.offset}),r=this.firstChunk,n=e.firstChunk=e.lastSearchedChunk=r.clone();for(;r;){e.byStart[n.start]=n,e.byEnd[n.end]=n;let o=r.next,s=o&&o.clone();s&&(n.next=s,s.previous=n,n=s),r=o}return e.lastChunk=n,this.indentExclusionRanges&&(e.indentExclusionRanges=this.indentExclusionRanges.slice()),e.sourcemapLocations=new Es(this.sourcemapLocations),e.intro=this.intro,e.outro=this.outro,e}generateDecodedMap(e){e=e||{};let r=0,n=Object.keys(this.storedNames),o=new Aa(e.hires),s=ga(this.original);return this.intro&&o.advance(this.intro),this.firstChunk.eachNext(i=>{let l=s(i.start);i.intro.length&&o.advance(i.intro),i.edited?o.addEdit(r,i.content,l,i.storeName?n.indexOf(i.original):-1):o.addUneditedChunk(r,i,this.original,l,this.sourcemapLocations),i.outro.length&&o.advance(i.outro)}),{file:e.file?e.file.split(/[/\\]/).pop():void 0,sources:[e.source?kd(e.file||"",e.source):e.file||""],sourcesContent:e.includeContent?[this.original]:void 0,names:n,mappings:o.raw,x_google_ignoreList:this.ignoreList?[r]:void 0}}generateMap(e){return new D0(this.generateDecodedMap(e))}_ensureindentStr(){this.indentStr===void 0&&(this.indentStr=Cd(this.original))}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),this.indentStr===null?" ":this.indentStr}indent(e,r){let n=/^[^\r\n]/gm;if(Sd(e)&&(r=e,e=void 0),e===void 0&&(this._ensureindentStr(),e=this.indentStr||" "),e==="")return this;r=r||{};let o={};r.exclude&&(typeof r.exclude[0]=="number"?[r.exclude]:r.exclude).forEach(f=>{for(let d=f[0];d<f[1];d+=1)o[d]=!0});let s=r.indentStart!==!1,i=k(f=>s?`${e}${f}`:(s=!0,f),"replacer");this.intro=this.intro.replace(n,i);let l=0,c=this.firstChunk;for(;c;){let f=c.end;if(c.edited)o[l]||(c.content=c.content.replace(n,i),c.content.length&&(s=c.content[c.content.length-1]===`
82
+ `));else for(l=c.start;l<f;){if(!o[l]){let d=this.original[l];d===`
83
+ `?s=!0:d!=="\r"&&s&&(s=!1,l===c.start||(this._splitChunk(c,l),c=c.next),c.prependRight(e))}l+=1}l=c.end,c=c.next}return this.outro=this.outro.replace(n,i),this}insert(){throw new Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")}insertLeft(e,r){return hn.insertLeft||(console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),hn.insertLeft=!0),this.appendLeft(e,r)}insertRight(e,r){return hn.insertRight||(console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),hn.insertRight=!0),this.prependRight(e,r)}move(e,r,n){if(e=e+this.offset,r=r+this.offset,n=n+this.offset,n>=e&&n<=r)throw new Error("Cannot move a selection inside itself");this._split(e),this._split(r),this._split(n);let o=this.byStart[e],s=this.byEnd[r],i=o.previous,l=s.next,c=this.byStart[n];if(!c&&s===this.lastChunk)return this;let f=c?c.previous:this.lastChunk;return i&&(i.next=l),l&&(l.previous=i),f&&(f.next=o),c&&(c.previous=s),o.previous||(this.firstChunk=s.next),s.next||(this.lastChunk=o.previous,this.lastChunk.next=null),o.previous=f,s.next=c||null,f||(this.firstChunk=o),c||(this.lastChunk=s),this}overwrite(e,r,n,o){return o=o||{},this.update(e,r,n,{...o,overwrite:!o.contentOnly})}update(e,r,n,o){if(e=e+this.offset,r=r+this.offset,typeof n!="string")throw new TypeError("replacement content must be a string");if(this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(r>this.original.length)throw new Error("end is out of bounds");if(e===r)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(e),this._split(r),o===!0&&(hn.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),hn.storeName=!0),o={storeName:!0});let s=o!==void 0?o.storeName:!1,i=o!==void 0?o.overwrite:!1;if(s){let f=this.original.slice(e,r);Object.defineProperty(this.storedNames,f,{writable:!0,value:!0,enumerable:!0})}let l=this.byStart[e],c=this.byEnd[r];if(l){let f=l;for(;f!==c;){if(f.next!==this.byStart[f.end])throw new Error("Cannot overwrite across a split point");f=f.next,f.edit("",!1)}l.edit(n,s,!i)}else{let f=new xs(e,r,"").edit(n,s);c.next=f,f.previous=c}return this}prepend(e){if(typeof e!="string")throw new TypeError("outro content must be a string");return this.intro=e+this.intro,this}prependLeft(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byEnd[e];return n?n.prependLeft(r):this.intro=r+this.intro,this}prependRight(e,r){if(e=e+this.offset,typeof r!="string")throw new TypeError("inserted content must be a string");this._split(e);let n=this.byStart[e];return n?n.prependRight(r):this.outro=r+this.outro,this}remove(e,r){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(e===r)return this;if(e<0||r>this.original.length)throw new Error("Character is out of bounds");if(e>r)throw new Error("end must be greater than start");this._split(e),this._split(r);let n=this.byStart[e];for(;n;)n.intro="",n.outro="",n.edit(""),n=r>n.end?this.byStart[n.end]:null;return this}reset(e,r){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}if(e===r)return this;if(e<0||r>this.original.length)throw new Error("Character is out of bounds");if(e>r)throw new Error("end must be greater than start");this._split(e),this._split(r);let n=this.byStart[e];for(;n;)n.reset(),n=r>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let e=this.lastChunk;do{if(e.outro.length)return e.outro[e.outro.length-1];if(e.content.length)return e.content[e.content.length-1];if(e.intro.length)return e.intro[e.intro.length-1]}while(e=e.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let e=this.outro.lastIndexOf(lo);if(e!==-1)return this.outro.substr(e+1);let r=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(e=n.outro.lastIndexOf(lo),e!==-1)return n.outro.substr(e+1)+r;r=n.outro+r}if(n.content.length>0){if(e=n.content.lastIndexOf(lo),e!==-1)return n.content.substr(e+1)+r;r=n.content+r}if(n.intro.length>0){if(e=n.intro.lastIndexOf(lo),e!==-1)return n.intro.substr(e+1)+r;r=n.intro+r}}while(n=n.previous);return e=this.intro.lastIndexOf(lo),e!==-1?this.intro.substr(e+1)+r:this.intro+r}slice(e=0,r=this.original.length-this.offset){if(e=e+this.offset,r=r+this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;r<0;)r+=this.original.length}let n="",o=this.firstChunk;for(;o&&(o.start>e||o.end<=e);){if(o.start<r&&o.end>=r)return n;o=o.next}if(o&&o.edited&&o.start!==e)throw new Error(`Cannot use replaced character ${e} as slice start anchor.`);let s=o;for(;o;){o.intro&&(s!==o||o.start===e)&&(n+=o.intro);let i=o.start<r&&o.end>=r;if(i&&o.edited&&o.end!==r)throw new Error(`Cannot use replaced character ${r} as slice end anchor.`);let l=s===o?e-o.start:0,c=i?o.content.length+r-o.end:o.content.length;if(n+=o.content.slice(l,c),o.outro&&(!i||o.end===r)&&(n+=o.outro),i)break;o=o.next}return n}snip(e,r){let n=this.clone();return n.remove(0,e),n.remove(r,n.original.length),n}_split(e){if(this.byStart[e]||this.byEnd[e])return;let r=this.lastSearchedChunk,n=r,o=e>r.end;for(;r;){if(r.contains(e))return this._splitChunk(r,e);if(r=o?this.byStart[r.end]:this.byEnd[r.start],r===n)return;n=r}}_splitChunk(e,r){if(e.edited&&e.content.length){let o=ga(this.original)(r);throw new Error(`Cannot split a chunk that has already been edited (${o.line}:${o.column} \u2013 "${e.original}")`)}let n=e.split(r);return this.byEnd[r]=e,this.byStart[r]=n,this.byEnd[n.end]=n,e===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=e,!0}toString(){let e=this.intro,r=this.firstChunk;for(;r;)e+=r.toString(),r=r.next;return e+this.outro}isEmpty(){let e=this.firstChunk;do if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1;while(e=e.next);return!0}length(){let e=this.firstChunk,r=0;do r+=e.intro.length+e.content.length+e.outro.length;while(e=e.next);return r}trimLines(){return this.trim("[\\r\\n]")}trim(e){return this.trimStart(e).trimEnd(e)}trimEndAborted(e){let r=new RegExp((e||"\\s")+"+$");if(this.outro=this.outro.replace(r,""),this.outro.length)return!0;let n=this.lastChunk;do{let o=n.end,s=n.trimEnd(r);if(n.end!==o&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.previous}while(n);return!1}trimEnd(e){return this.trimEndAborted(e),this}trimStartAborted(e){let r=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(r,""),this.intro.length)return!0;let n=this.firstChunk;do{let o=n.end,s=n.trimStart(r);if(n.end!==o&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.next}while(n);return!1}trimStart(e){return this.trimStartAborted(e),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(e,r){function n(s,i){return typeof r=="string"?r.replace(/\$(\$|&|\d+)/g,(l,c)=>c==="$"?"$":c==="&"?s[0]:+c<s.length?s[+c]:`$${c}`):r(...s,s.index,i,s.groups)}k(n,"getReplacement");function o(s,i){let l,c=[];for(;l=s.exec(i);)c.push(l);return c}if(k(o,"matchAll"),e.global)o(e,this.original).forEach(s=>{if(s.index!=null){let i=n(s,this.original);i!==s[0]&&this.overwrite(s.index,s.index+s[0].length,i)}});else{let s=this.original.match(e);if(s&&s.index!=null){let i=n(s,this.original);i!==s[0]&&this.overwrite(s.index,s.index+s[0].length,i)}}return this}_replaceString(e,r){let{original:n}=this,o=n.indexOf(e);return o!==-1&&this.overwrite(o,o+e.length,r),this}replace(e,r){return typeof e=="string"?this._replaceString(e,r):this._replaceRegexp(e,r)}_replaceAllString(e,r){let{original:n}=this,o=e.length;for(let s=n.indexOf(e);s!==-1;s=n.indexOf(e,s+o))n.slice(s,s+o)!==r&&this.overwrite(s,s+o,r);return this}replaceAll(e,r){if(typeof e=="string")return this._replaceAllString(e,r);if(!e.global)throw new TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(e,r)}},co=2<<19,Ad=new Uint8Array(new Uint16Array([1]).buffer)[0]===1?function(t,e){let r=t.length,n=0;for(;n<r;)e[n]=t.charCodeAt(n++)}:function(t,e){let r=t.length,n=0;for(;n<r;){let o=t.charCodeAt(n);e[n++]=(255&o)<<8|o>>>8}},F0="xportmportlassforetaourceromsyncunctionssertvoyiedelecontininstantybreareturdebuggeawaithrwhileifcatcfinallels";k(Td,"parse");k(ws,"b");k(Id,"k");k(bs,"l");k(Ba,"u");k(Xt,"o");typeof WebAssembly<"u"&&(async()=>{let{parse:t,init:e}=await Promise.resolve().then(()=>(md(),fd));await e,wa=t})();ks=k((t,e)=>wa?wa(t,e):Td(t,e),"parseEsm"),mo=k(t=>{if(!t.includes("import")&&!t.includes("export"))return!1;try{return ks(t)[3]}catch{return!0}},"isESM"),Ra="2",U0=(t=>{let e="default";return t[e]&&typeof t[e]=="object"&&"__esModule"in t[e]?t[e]:t}).toString(),j0=`.then(${U0})`,mr=k((t,e,r)=>{if(r){if(!e.includes("import("))return}else if(!e.includes("import"))return;let n=ks(e,t)[0].filter(l=>l.d>-1);if(n.length===0)return;let o=new ya(e);for(let l of n)o.appendRight(l.se,j0);let s=o.toString(),i=o.generateMap({source:t,includeContent:!1,hires:"boundary"});return{code:s,map:i}},"transformDynamicImport"),Pa=k(t=>{try{let e=Ut.readFileSync(t,"utf8");return JSON.parse(e)}catch{}},"readJsonFile"),yd=k(()=>{},"noop"),wd=k(()=>Math.floor(Date.now()/1e8),"getTime"),ba=class extends Map{static{k(this,"FileCache")}cacheDirectory=os;oldCacheDirectory=yn.join(R0.tmpdir(),"tsx");cacheFiles;constructor(){super(),Ut.mkdirSync(this.cacheDirectory,{recursive:!0}),this.cacheFiles=Ut.readdirSync(this.cacheDirectory).map(e=>{let[r,n]=e.split("-");return{time:Number(r),key:n,fileName:e}}),setImmediate(()=>{this.expireDiskCache(),this.removeOldCacheDirectory()})}get(e){let r=super.get(e);if(r)return r;let n=this.cacheFiles.find(i=>i.key===e);if(!n)return;let o=yn.join(this.cacheDirectory,n.fileName),s=Pa(o);if(!s){Ut.promises.unlink(o).then(()=>{let i=this.cacheFiles.indexOf(n);this.cacheFiles.splice(i,1)},()=>{});return}return super.set(e,s),s}set(e,r){if(super.set(e,r),r){let n=wd();Ut.promises.writeFile(yn.join(this.cacheDirectory,`${n}-${e}`),JSON.stringify(r)).catch(yd)}return this}expireDiskCache(){let e=wd();for(let r of this.cacheFiles)e-r.time>7&&Ut.promises.unlink(yn.join(this.cacheDirectory,r.fileName)).catch(yd)}async removeOldCacheDirectory(){try{await Ut.promises.access(this.oldCacheDirectory).then(()=>!0)&&("rm"in Ut.promises?await Ut.promises.rm(this.oldCacheDirectory,{recursive:!0,force:!0}):await Ut.promises.rmdir(this.oldCacheDirectory,{recursive:!0}))}catch{}}},wn=process.env.TSX_DISABLE_CACHE?new Map:new ba,Bd=44,K0=59,bd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Rd=new Uint8Array(64),Pd=new Uint8Array(128);for(let t=0;t<bd.length;t++){let e=bd.charCodeAt(t);Rd[t]=e,Pd[e]=t}pa=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(t){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}}:{decode(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}};k($d,"decode");k(Od,"indexOf");k(gn,"decodeInteger");k(Ea,"hasMoreVlq");k(Ld,"sort");k(Qd,"sortComparator$1");k(Dd,"encode");k(An,"encodeInteger");W0=/^[\w+.-]+:\/\
84
+ `;break;case 114:T+="\r";break;case 116:T+=" ";break;case 117:let C=h(4);C>=0?T+=String.fromCharCode(C):a=4;break;default:a=5}B=n;continue}if(v>=0&&v<=31)if(Gr(v)){T+=t.substring(B,n),a=2;break}else a=6;n++}return T}Y(x,"D"),W(x,"scanString");function A(){if(o="",a=0,s=n,c=l,d=f,n>=r)return s=r,i=17;let T=t.charCodeAt(n);if(wo(T)){do n++,o+=String.fromCharCode(T),T=t.charCodeAt(n);while(wo(T));return i=15}if(Gr(T))return n++,o+=String.fromCharCode(T),T===13&&t.charCodeAt(n)===10&&(n++,o+=`
85
+ `),l++,f=n,i=14;switch(T){case 123:return n++,i=1;case 125:return n++,i=2;case 91:return n++,i=3;case 93:return n++,i=4;case 58:return n++,i=6;case 44:return n++,i=5;case 34:return n++,o=x(),i=10;case 47:let B=n-1;if(t.charCodeAt(n+1)===47){for(n+=2;n<r&&!Gr(t.charCodeAt(n));)n++;return o=t.substring(B,n),i=12}if(t.charCodeAt(n+1)===42){n+=2;let v=r-1,C=!1;for(;n<v;){let I=t.charCodeAt(n);if(I===42&&t.charCodeAt(n+1)===47){n+=2,C=!0;break}n++,Gr(I)&&(I===13&&t.charCodeAt(n)===10&&n++,l++,f=n)}return C||(n++,a=1),o=t.substring(B,n),i=13}return o+=String.fromCharCode(T),n++,i=16;case 45:if(o+=String.fromCharCode(T),n++,n===r||!pr(t.charCodeAt(n)))return i=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=g(),i=11;default:for(;n<r&&w(T);)n++,T=t.charCodeAt(n);if(s!==n){switch(o=t.substring(s,n),o){case"true":return i=8;case"false":return i=9;case"null":return i=7}return i=16}return o+=String.fromCharCode(T),n++,i=16}}Y(A,"c"),W(A,"scanNext");function w(T){if(wo(T)||Gr(T))return!1;switch(T){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}Y(w,"p"),W(w,"isUnknownContentCharacter");function O(){let T;do T=A();while(T>=12&&T<=15);return T}return Y(O,"b"),W(O,"scanNextNonTrivia"),{setPosition:p,getPosition:W(()=>n,"getPosition"),scan:e?O:A,getToken:W(()=>i,"getToken"),getTokenValue:W(()=>o,"getTokenValue"),getTokenOffset:W(()=>s,"getTokenOffset"),getTokenLength:W(()=>n-s,"getTokenLength"),getTokenStartLine:W(()=>c,"getTokenStartLine"),getTokenStartCharacter:W(()=>s-d,"getTokenStartCharacter"),getTokenError:W(()=>a,"getTokenError")}}function wo(t){return t===32||t===9}function Gr(t){return t===10||t===13}function pr(t){return t>=48&&t<=57}function al(t,e=[],r=Ls.DEFAULT){let n=null,o=[],s=[];function i(l){Array.isArray(o)?o.push(l):n!==null&&(o[n]=l)}return Y(i,"l"),W(i,"onValue"),ll(t,{onObjectBegin:W(()=>{let l={};i(l),s.push(o),o=l,n=null},"onObjectBegin"),onObjectProperty:W(l=>{n=l},"onObjectProperty"),onObjectEnd:W(()=>{o=s.pop()},"onObjectEnd"),onArrayBegin:W(()=>{let l=[];i(l),s.push(o),o=l,n=null},"onArrayBegin"),onArrayEnd:W(()=>{o=s.pop()},"onArrayEnd"),onLiteralValue:i,onError:W((l,c,f)=>{e.push({error:l,offset:c,length:f})},"onError")},r),o[0]}function ll(t,e,r=Ls.DEFAULT){let n=il(t,!1),o=[],s=0;function i(U){return U?()=>s===0&&U(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}Y(i,"l"),W(i,"toNoArgVisit");function l(U){return U?q=>s===0&&U(q,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}Y(l,"g"),W(l,"toOneArgVisit");function c(U){return U?q=>s===0&&U(q,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}Y(c,"m"),W(c,"toOneArgVisitWithPath");function f(U){return U?()=>{s>0?s++:U(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice())===!1&&(s=1)}:()=>!0}Y(f,"k"),W(f,"toBeginVisit");function d(U){return U?()=>{s>0&&s--,s===0&&U(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}Y(d,"w"),W(d,"toEndVisit");let a=f(e.onObjectBegin),h=c(e.onObjectProperty),p=d(e.onObjectEnd),g=f(e.onArrayBegin),x=d(e.onArrayEnd),A=c(e.onLiteralValue),w=l(e.onSeparator),O=i(e.onComment),T=l(e.onError),B=r&&r.disallowComments,v=r&&r.allowTrailingComma;function C(){for(;;){let U=n.scan();switch(n.getTokenError()){case 4:I(14);break;case 5:I(15);break;case 3:I(13);break;case 1:B||I(11);break;case 2:I(12);break;case 6:I(16);break}switch(U){case 12:case 13:B?I(10):O();break;case 16:I(1);break;case 15:case 14:break;default:return U}}}Y(C,"v"),W(C,"scanNext");function I(U,q=[],H=[]){if(T(U),q.length+H.length>0){let z=n.getToken();for(;z!==17;){if(q.indexOf(z)!==-1){C();break}else if(H.indexOf(z)!==-1)break;z=C()}}}Y(I,"d"),W(I,"handleError");function j(U){let q=n.getTokenValue();return U?A(q):(h(q),o.push(q)),C(),!0}Y(j,"L"),W(j,"parseString");function F(){switch(n.getToken()){case 11:let U=n.getTokenValue(),q=Number(U);isNaN(q)&&(I(2),q=0),A(q);break;case 7:A(null);break;case 8:A(!0);break;case 9:A(!1);break;default:return!1}return C(),!0}Y(F,"B"),W(F,"parseLiteral");function Q(){return n.getToken()!==10?(I(3,[],[2,5]),!1):(j(!1),n.getToken()===6?(w(":"),C(),N()||I(4,[],[2,5])):I(5,[],[2,5]),o.pop(),!0)}Y(Q,"$"),W(Q,"parseProperty");function P(){a(),C();let U=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(U||I(4,[],[]),w(","),C(),n.getToken()===2&&v)break}else U&&I(6,[],[]);Q()||I(4,[],[2,5]),U=!0}return p(),n.getToken()!==2?I(7,[2],[]):C(),!0}Y(P,"N"),W(P,"parseObject");function $(){g(),C();let U=!0,q=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(q||I(4,[],[]),w(","),C(),n.getToken()===4&&v)break}else q&&I(6,[],[]);U?(o.push(0),U=!1):o[o.length-1]++,N()||I(4,[],[4,5]),q=!0}return x(),U||o.pop(),n.getToken()!==4?I(8,[4],[]):C(),!0}Y($,"$e"),W($,"parseArray");function N(){switch(n.getToken()){case 3:return $();case 1:return P();case 10:return j(!0);default:return F()}}return Y(N,"H"),W(N,"parseValue"),C(),n.getToken()===17?r.allowEmptyContent?!0:(I(4,[],[]),!1):N()?(n.getToken()!==17&&I(9,[],[]),!0):(I(4,[],[]),!1)}var hy,Y,Wf,dl,Gf,vn,qf,ol,Ey,xy,vy,Cy,Jf,sl,yo,ky,Sy,_y,Ty,Iy,W,By,bt,bo,kf,xn,Ls,Sf,_f,Ry,Tf,fl,Vf,Py,$y,Wr,$s,Oy,za,Ly,Qy,cl,gr,ml,Os,Dy,Ny,My,Fy,Uy,jy,Ky,Wy,Gy,Xa,If,Bf,qy,Rf,Bs,Jy,Yy,Vy,hl,Hy,Ds,Hf,Za,Pf,zy,Xy,$f,el,Zy,ew,Of,tw,tl,rw,Lf,Rs,rl,zf,nw,Qf,Ns,Xf,ow,sw,iw,Df,aw,lw,cw,uw,Nf,Ms,Fs,dw,Mf,St,po,go,Us,fw,kn,Jr,mt,pl,br,js,Zf,em,yr,tm,rm,wr,nm,Cn,de,Ar,mw,hw,pw,om,sm,im,gw,am,lm,Aw,yw,Ao,Ks,ul,ww,bw,Ff,Uf,Ew,nl,xw,vw,Ps,Cw,jf,kw,Sw,_w,Tw,Kf,Eo,Ws=xe(()=>{ro();Ss();Ts();Ha();to();hy=Object.defineProperty,Y=(t,e)=>hy(t,"name",{value:e,configurable:!0}),Wf=Y(t=>{if(!t.startsWith("data:text/javascript,"))return;let e=t.indexOf("?");if(e===-1)return;let r=new URLSearchParams(t.slice(e+1)).get("filePath");if(r)return r},"getOriginalFilePath"),dl=Y(t=>{let e=Wf(t);return e&&(it._cache[e]=it._cache[t],delete it._cache[t],t=e),t},"interopCjsExports"),Gf=Y(t=>t!==null&&typeof t=="object","A"),vn=Y((t,e)=>Object.assign(new Error(`[${t}]: ${e}`),{code:t}),"a"),qf="ERR_INVALID_PACKAGE_CONFIG",ol="ERR_INVALID_PACKAGE_TARGET",Ey="ERR_PACKAGE_PATH_NOT_EXPORTED",xy=/^\d+$/,vy=/^(\.{1,2}|node_modules)$/i,Cy=/\/|\\/,Jf=(t=>(t.Export="exports",t.Import="imports",t))(Jf||{}),sl=Y((t,e,r,n,o)=>{if(e==null)return[];if(typeof e=="string"){let[s,...i]=e.split(Cy);if(s===".."||i.some(l=>vy.test(l)))throw vn(ol,`Invalid "${t}" target "${e}" defined in the package config`);return[o?e.replace(/\*/g,o):e]}if(Array.isArray(e))return e.flatMap(s=>sl(t,s,r,n,o));if(Gf(e)){for(let s of Object.keys(e)){if(xy.test(s))throw vn(qf,"Cannot contain numeric property keys");if(s==="default"||n.includes(s))return sl(t,e[s],r,n,o)}return[]}throw vn(ol,`Invalid "${t}" target "${e}"`)},"f"),yo="*",ky=Y((t,e)=>{let r=t.indexOf(yo),n=e.indexOf(yo);return r===n?e.length>t.length:n>r},"m");Y(Yf,"d");Sy=Y(t=>Object.keys(t).reduce((e,r)=>{let n=r===""||r[0]!==".";if(e===void 0||e===n)return n;throw vn(qf,'"exports" cannot contain some keys starting with "." and some not')},void 0),"p"),_y=/^\w+:/,Ty=Y((t,e,r)=>{if(!t)throw new Error('"exports" is required');e=e===""?".":`./${e}`,(typeof t=="string"||Array.isArray(t)||Gf(t)&&Sy(t))&&(t={".":t});let[n,o]=Yf(t,e),s=sl(Jf.Export,t[n],e,r,o);if(s.length===0)throw vn(Ey,e==="."?'No "exports" main defined':`Package subpath '${e}' is not defined by "exports"`);for(let i of s)if(!i.startsWith("./")&&!_y.test(i))throw vn(ol,`Invalid "exports" target "${i}" defined in the package config`);return s},"v"),Iy=Object.defineProperty,W=Y((t,e)=>Iy(t,"name",{value:e,configurable:!0}),"i");Y(je,"x"),W(je,"slash");By=W((t,e)=>{let r=`readFileSync:${e}`,n=t?.get(r);return n===void 0&&(n=qr.readFileSync(e,"utf8"),t?.set(r,n)),n},"readFile"),bt=W((t,e)=>{let r=`tryStat:${e}`,n=t?.get(r);if(n===void 0){try{n=qr.statSync(e)}catch{n=null}t?.set(r,n)}return n??void 0},"tryStat"),bo=W((t,e,r)=>{for(;;){let n=X.posix.join(t,e);if(bt(r,n))return n;let o=X.dirname(t);if(o===t)return;t=o}},"findUp");Y(il,"Ne"),W(il,"createScanner");Y(wo,"X"),W(wo,"isWhiteSpace");Y(Gr,"P"),W(Gr,"isLineBreak");Y(pr,"S"),W(pr,"isDigit");(function(t){t[t.lineFeed=10]="lineFeed",t[t.carriageReturn=13]="carriageReturn",t[t.space=32]="space",t[t._0=48]="_0",t[t._1=49]="_1",t[t._2=50]="_2",t[t._3=51]="_3",t[t._4=52]="_4",t[t._5=53]="_5",t[t._6=54]="_6",t[t._7=55]="_7",t[t._8=56]="_8",t[t._9=57]="_9",t[t.a=97]="a",t[t.b=98]="b",t[t.c=99]="c",t[t.d=100]="d",t[t.e=101]="e",t[t.f=102]="f",t[t.g=103]="g",t[t.h=104]="h",t[t.i=105]="i",t[t.j=106]="j",t[t.k=107]="k",t[t.l=108]="l",t[t.m=109]="m",t[t.n=110]="n",t[t.o=111]="o",t[t.p=112]="p",t[t.q=113]="q",t[t.r=114]="r",t[t.s=115]="s",t[t.t=116]="t",t[t.u=117]="u",t[t.v=118]="v",t[t.w=119]="w",t[t.x=120]="x",t[t.y=121]="y",t[t.z=122]="z",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.asterisk=42]="asterisk",t[t.backslash=92]="backslash",t[t.closeBrace=125]="closeBrace",t[t.closeBracket=93]="closeBracket",t[t.colon=58]="colon",t[t.comma=44]="comma",t[t.dot=46]="dot",t[t.doubleQuote=34]="doubleQuote",t[t.minus=45]="minus",t[t.openBrace=123]="openBrace",t[t.openBracket=91]="openBracket",t[t.plus=43]="plus",t[t.slash=47]="slash",t[t.formFeed=12]="formFeed",t[t.tab=9]="tab"})(kf||(kf={})),new Array(20).fill(0).map((t,e)=>" ".repeat(e));xn=200;new Array(xn).fill(0).map((t,e)=>`
86
86
  `+" ".repeat(e)),new Array(xn).fill(0).map((t,e)=>"\r"+" ".repeat(e)),new Array(xn).fill(0).map((t,e)=>`\r
87
87
  `+" ".repeat(e)),new Array(xn).fill(0).map((t,e)=>`
88
88
  `+" ".repeat(e)),new Array(xn).fill(0).map((t,e)=>"\r"+" ".repeat(e)),new Array(xn).fill(0).map((t,e)=>`\r
89
- `+" ".repeat(e));(function(t){t.DEFAULT={allowTrailingComma:!1}})($s||($s={}));Y(ac,"Re"),K(ac,"parse$1");Y(cc,"Pe"),K(cc,"visit");(function(t){t[t.None=0]="None",t[t.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=2]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",t[t.InvalidUnicode=4]="InvalidUnicode",t[t.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",t[t.InvalidCharacter=6]="InvalidCharacter"})(vf||(vf={}));(function(t){t[t.OpenBraceToken=1]="OpenBraceToken",t[t.CloseBraceToken=2]="CloseBraceToken",t[t.OpenBracketToken=3]="OpenBracketToken",t[t.CloseBracketToken=4]="CloseBracketToken",t[t.CommaToken=5]="CommaToken",t[t.ColonToken=6]="ColonToken",t[t.NullKeyword=7]="NullKeyword",t[t.TrueKeyword=8]="TrueKeyword",t[t.FalseKeyword=9]="FalseKeyword",t[t.StringLiteral=10]="StringLiteral",t[t.NumericLiteral=11]="NumericLiteral",t[t.LineCommentTrivia=12]="LineCommentTrivia",t[t.BlockCommentTrivia=13]="BlockCommentTrivia",t[t.LineBreakTrivia=14]="LineBreakTrivia",t[t.Trivia=15]="Trivia",t[t.Unknown=16]="Unknown",t[t.EOF=17]="EOF"})(Cf||(Cf={}));_y=ac;(function(t){t[t.InvalidSymbol=1]="InvalidSymbol",t[t.InvalidNumberFormat=2]="InvalidNumberFormat",t[t.PropertyNameExpected=3]="PropertyNameExpected",t[t.ValueExpected=4]="ValueExpected",t[t.ColonExpected=5]="ColonExpected",t[t.CommaExpected=6]="CommaExpected",t[t.CloseBraceExpected=7]="CloseBraceExpected",t[t.CloseBracketExpected=8]="CloseBracketExpected",t[t.EndOfFileExpected=9]="EndOfFileExpected",t[t.InvalidCommentToken=10]="InvalidCommentToken",t[t.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=12]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",t[t.InvalidUnicode=14]="InvalidUnicode",t[t.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",t[t.InvalidCharacter=16]="InvalidCharacter"})(kf||(kf={}));fc=K((t,e)=>_y(Sy(e,t)),"readJsonc"),qf=K(()=>{let{findPnpApi:t}=it;return t&&t(process.cwd())},"getPnpApi"),Ty="detectTypeScriptVersion:",Iy=K((t,e)=>{let r=`${Ty}${t}`,n=e?.get(r);if(n!==void 0)return n??void 0;let o,s=qf();if(s)try{o=s.resolveRequest("typescript/package.json",t)??void 0}catch{}o??=bo(z.resolve(t),z.join("node_modules","typescript","package.json"),e);let i;if(o)try{let l=fc(o,e);typeof l?.version=="string"&&(i=l.version)}catch{}return e?.set(r,i??null),i},"detectTypeScriptVersion"),Wr="package.json",Ps="tsconfig.json",By=K((t,e,r)=>{let n=it.createRequire(z.join(r,"tsconfig.json"));if(t!==e)try{return n.resolve(t)}catch{}try{return n.resolve(e)}catch{}try{return n.resolve(`${e}/${Wr}`)}catch{}},"resolvePackageEntryWithNode"),za=K((t,e,r,n)=>{let o=`resolveFromPackageJsonPath:${t}:${e}:${r}`;if(n?.has(o))return n.get(o)||!1;let s=fc(t,n);if(!s)return;let i=e||Ps;if(!r&&s.exports)try{let[l]=Cy(s.exports,e,["require","types"]);i=l}catch{return n?.set(o,""),!1}else!e&&s.tsconfig&&(i=s.tsconfig);return i=z.join(t,"..",i),n?.set(o,i),i},"resolveFromPackageJsonPath"),Ry=K((t,e,r)=>{let n=`resolveExtendsPath:${t}:${e}`;if(r?.has(n))return r.get(n)||void 0;let o=Py(t,e,r);return r?.set(n,o||""),o},"resolveExtendsPath"),Py=K((t,e,r)=>{let n=t;if(t===".."&&(n=z.join(n,Ps)),t[0]==="."&&(n=z.resolve(e,n)),z.isAbsolute(n)){let g=wt(r,n);if(g){if(g.isFile())return n}else if(!n.endsWith(".json")){let w=`${n}.json`;if(wt(r,w))return w}return}let[o,...s]=t.split("/"),i=o[0]==="@"?`${o}/${s.shift()}`:o,l=s.join("/"),c=qf();if(c){let{resolveRequest:g}=c;try{if(i===t){let w=g(z.join(i,Wr),e);if(w){let $=za(w,l,!1,r);if($&&wt(r,$))return $}}else{let w;try{w=g(t,e,{extensions:[".json"]})}catch{w=g(z.join(t,Ps),e)}if(w)return w}}catch{}}let f=By(t,i,e),u;if(f){if(z.basename(f)!==Wr&&f.endsWith(".json"))return f;u=z.basename(f)===Wr?f:bo(z.dirname(f),Wr,r)}let a=u&&z.dirname(u)||bo(z.resolve(e),z.join("node_modules",i),r);if(!a||!wt(r,a)?.isDirectory())return;let h=z.join(a,Wr);if(wt(r,h)){let g=za(h,l,!1,r);if(g===!1)return;if(g&&wt(r,g)?.isFile())return g}let p=z.join(a,l),A=p.endsWith(".json");if(!A){let g=`${p}.json`;if(wt(r,g))return g}let C=wt(r,p);if(C){if(C.isDirectory()){let g=z.join(p,Wr);if(wt(r,g)){let $=za(g,"",!0,r);if($&&wt(r,$))return $}let w=z.join(p,Ps);if(wt(r,w))return w}else if(A)return p}},"resolveExtendsPathUncached"),lc=Symbol("implicitBaseUrl"),pr="${configDir}",mc=/^\.{1,2}(\/.*)?$/,Os=K(t=>{let e=je(t);return mc.test(e)?e:`./${e}`},"normalizeRelativePath"),Oy=K(t=>{let e={...t};if(e.strict){let r=["noImplicitAny","noImplicitThis","strictNullChecks","strictFunctionTypes","strictBindCallApply","strictPropertyInitialization","strictBuiltinIteratorReturn","alwaysStrict","useUnknownInCatchVariables"];for(let n of r)e[n]===void 0&&(e[n]=!0)}if(e.composite&&(e.declaration??=!0,e.incremental??=!0),e.target){let r=e.target.toLowerCase();r==="es2015"&&(r="es6"),e.target=r,r==="esnext"&&(e.module??="es6",e.useDefineForClassFields??=!0),(r==="es6"||r==="es2016"||r==="es2017"||r==="es2018"||r==="es2019"||r==="es2020"||r==="es2021"||r==="es2022"||r==="es2023"||r==="es2024"||r==="es2025")&&(e.module??="es6"),(r==="es2022"||r==="es2023"||r==="es2024"||r==="es2025")&&(e.useDefineForClassFields??=!0)}if(e.module){let r=e.module.toLowerCase();if(r==="es2015"&&(r="es6"),e.module=r,(r==="es6"||r==="es2020"||r==="es2022"||r==="esnext"||r==="none"||r==="system"||r==="umd"||r==="amd")&&(e.moduleResolution??="classic"),r==="system"&&(e.allowSyntheticDefaultImports??=!0),(r==="node16"||r==="node18"||r==="node20"||r==="nodenext"||r==="preserve")&&(e.esModuleInterop??=!0,e.allowSyntheticDefaultImports??=!0),(r==="node16"||r==="node18"||r==="node20"||r==="nodenext")&&(e.moduleDetection??="force"),(r==="node16"||r==="node18")&&(e.target??="es2022",e.moduleResolution??="node16"),r==="node20"&&(e.target??="es2023",e.moduleResolution??="node16",e.resolveJsonModule??=!0),r==="nodenext"&&(e.target??="esnext",e.moduleResolution??="nodenext",e.resolveJsonModule??=!0),r==="node16"||r==="node18"||r==="node20"||r==="nodenext"){let n=e.target;(n==="es3"||n==="es2022"||n==="es2023"||n==="es2024"||n==="esnext")&&(e.useDefineForClassFields??=!0)}r==="preserve"&&(e.moduleResolution??="bundler")}if(e.moduleResolution){let r=e.moduleResolution.toLowerCase();r==="node"&&(r="node10"),e.moduleResolution=r,(r==="node16"||r==="nodenext"||r==="bundler")&&(e.resolvePackageJsonExports??=!0,e.resolvePackageJsonImports??=!0),r==="bundler"&&(e.allowSyntheticDefaultImports??=!0,e.resolveJsonModule??=!0)}for(let r of["jsx","moduleDetection","importsNotUsedAsValues","newLine"])e[r]&&(e[r]=e[r].toLowerCase());return e.esModuleInterop&&(e.allowSyntheticDefaultImports??=!0),e.verbatimModuleSyntax&&(e.isolatedModules??=!0,e.preserveConstEnums??=!0),e.isolatedModules&&(e.preserveConstEnums??=!0),e.rewriteRelativeImportExtensions&&(e.allowImportingTsExtensions??=!0),e.lib&&(e.lib=e.lib.map(r=>r.toLowerCase())),e.checkJs&&(e.allowJs??=!0),e},"normalizeCompilerOptions"),$y=K((t,e)=>{!e.has("target")&&!Ly(t.module)&&(t.target="es3")},"applyV4Defaults"),Ly=K(t=>t==="node16"||t==="node18"||t==="node20"||t==="nodenext","moduleDictatesTarget$1"),Qy=K((t,e)=>{!e.has("target")&&!Dy(t.module)&&(t.target="es5")},"applyV5Defaults"),Dy=K(t=>t==="node16"||t==="node18"||t==="node20"||t==="nodenext","moduleDictatesTarget"),Ny=K((t,e)=>{e.has("strict")||(t.strict=!0),e.has("target")||(t.target="es2025"),e.has("module")||(t.module="es2022"),e.has("moduleResolution")||(t.moduleResolution="bundler"),e.has("rootDir")||(t.rootDir="."),e.has("types")||(t.types=[]),e.has("noUncheckedSideEffectImports")||(t.noUncheckedSideEffectImports=!0),e.has("libReplacement")||(t.libReplacement=!1)},"applyV6Defaults"),My=[[4,$y],[5,Qy],[6,Ny]],Fy=K(t=>{let e=/^v?(\d+)/.exec(t);return e?Number(e[1]):void 0},"parseMajor"),Uy=K((t,e)=>{let r=Fy(e);if(r===void 0)return;let n=new Set(Object.keys(t));for(let[o,s]of My)o<=r&&s(t,n)},"applyVersionDefaults"),Xa=K((t,e)=>Os(z.relative(t,e)),"pathRelative"),Sf=["files","include","exclude"],_f=K((t,e,r)=>{let n=z.join(e,r),o=z.relative(t,n);return je(o)||"./"},"resolveAndRelativize"),jy=K((t,e,r)=>{let n=z.relative(t,e);if(!n)return r;let o=r.startsWith("./")?r.slice(2):r;return je(`${n}/${o}`)},"prefixPattern"),Tf=["outDir","declarationDir"],Is=K((t,e)=>{if(t.startsWith(pr))return je(z.join(e,t.slice(pr.length)))},"interpolateConfigDir"),Ky=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],Wy=K((t,e={})=>{if(t.length===0)throw new Error("Chain must not be empty");let{typescriptVersion:r}=e,n=new Map(t.map(a=>[a.path,a])),o=new Map,s=K(a=>{let h=o.get(a);if(h)return h;let p=n.get(a);if(!p)throw new Error(`Config not found in chain: ${a}`);let A=p.config,C=z.dirname(a),g={...A,...A.compilerOptions&&{compilerOptions:{...A.compilerOptions}},...A.watchOptions&&{watchOptions:{...A.watchOptions}}};if(delete g.extends,g.compilerOptions?.paths&&!g.compilerOptions.baseUrl&&(g.compilerOptions[lc]=C),A.extends){let w=Array.isArray(A.extends)?A.extends:[A.extends];for(let $ of w.toReversed()){let k=s($),I=z.dirname($),{references:v,...S}=k;if(S.compilerOptions){let U={...S.compilerOptions};for(let D of["baseUrl","outDir","declarationDir","rootDir"]){let Q=U[D];Q&&!Q.startsWith(pr)&&(U[D]=_f(C,I,Q))}for(let D of["rootDirs","typeRoots"]){let Q=U[D];Q&&(U[D]=Q.map(O=>O.startsWith(pr)?O:_f(C,I,O)))}S.compilerOptions=U}for(let U of Sf){let D=S[U];D&&(S[U]=D.map(Q=>Q.startsWith(pr)?Q:jy(C,I,Q)))}let B={...S,...g,compilerOptions:{...S.compilerOptions,...g.compilerOptions}};S.watchOptions&&(B.watchOptions={...S.watchOptions,...g.watchOptions}),g=B}}if(g.compilerOptions){let{compilerOptions:w}=g,$=["baseUrl","rootDir"];for(let k of $){let I=w[k];if(I&&!I.startsWith(pr)){let v=z.resolve(C,I),S=Xa(C,v);w[k]=S}}for(let k of Tf){let I=w[k];I&&(Array.isArray(g.exclude)||(g.exclude=Tf.map(v=>w[v]).filter(Boolean)),I.startsWith(pr)||(I=Os(I)),w[k]=I)}}else g.compilerOptions={};if(g.include&&(g.include=g.include.map(je)),g.files&&(g.files=g.files.map(w=>w.startsWith(pr)?w:Os(w))),g.watchOptions){let{watchOptions:w}=g;for(let $ of["excludeDirectories","excludeFiles"])w[$]&&(w[$]=w[$].map(k=>je(z.resolve(C,k))));for(let $ of["watchFile","watchDirectory","fallbackPolling"])if(w[$]){let k=w;k[$]=w[$].toLowerCase()}}return o.set(a,g),g},"resolveEntry"),i=t[0],l=s(i.path),c=z.dirname(i.path),f={...l,compilerOptions:l.compilerOptions?{...l.compilerOptions}:{}},{compilerOptions:u}=f;if(u){for(let a of Ky){let h=u[a];if(h){let p=Is(h,c);u[a]=p?Xa(c,p):h}}for(let a of["rootDirs","typeRoots"]){let h=u[a];h&&(u[a]=h.map(p=>{let A=Is(p,c);return A?Xa(c,A):Os(p)}))}if(u.paths){let a={};for(let[h,p]of Object.entries(u.paths))a[h]=p.map(A=>Is(A,c)??A);u.paths=a}r&&Uy(u,r),f.compilerOptions=Oy(u)}for(let a of Sf){let h=f[a];h&&(f[a]=h.map(p=>Is(p,c)??p))}return{path:i.path,config:f,sources:t.map(a=>a.path)}},"resolveExtendsChain"),Gy=K((t,e={})=>{let{cache:r=new Map}=e,n=z.resolve(t),o=[],s=new Set,i=K((l,c)=>{let f=je(l);if(s.has(f))return;s.add(f);let u;try{u=fc(l,r)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${l}`)}if(typeof u!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${l}`);let a=z.dirname(l);if(u.extends){let h=Array.isArray(u.extends),p=(h?u.extends:[u.extends]).map(C=>{let g=Ry(C,a,r);if(!g)throw new Error(`File '${C}' not found.`);let w=je(g);if(c.has(w)||w===f)throw new Error(`Circularity detected while resolving configuration: ${w}`);return w});u.extends=h?p:p[0],o.push({path:f,config:u});let A=new Set(c);A.add(f);for(let C of[...p].reverse())i(C,A)}else o.push({path:f,config:u})},"collect");return i(n,new Set),o},"getExtendsChain"),hc=K((t,e={})=>{let{cache:r=new Map,typescriptVersion:n="auto"}=e,o=Gy(t,{cache:r}),s;return n==="auto"?s=Iy(z.dirname(o[0].path),r):n!==!1&&(s=n),Wy(o,{typescriptVersion:s})},"readTsconfig"),qy=Object.defineProperty,Qs=K((t,e)=>qy(t,"name",{value:e,configurable:!0}),"s"),Jf=Qs(t=>{let e="";for(let r=0;r<t.length;r+=1){let n=t[r],o=n.toUpperCase();e+=n===o?n.toLowerCase():o}return e},"invertCase"),Za=new Map,If=Qs((t,e)=>{let r=py.join(t,`.is-fs-case-sensitive-test-${process.pid}`);try{return e.writeFileSync(r,""),!e.existsSync(Jf(r))}finally{try{e.unlinkSync(r)}catch{}}},"checkDirectoryCaseWithWrite"),Jy=Qs((t,e,r)=>{try{return If(t,r)}catch(n){if(e===void 0)return If(hy.tmpdir(),r);throw n}},"checkDirectoryCaseWithFallback"),Yy=Qs((t,e=my,r=!0)=>{let n=t??process.cwd();if(r&&Za.has(n))return Za.get(n);let o,s=Jf(n);return s!==n&&e.existsSync(n)?o=!e.existsSync(s):o=Jy(n,t,e),r&&Za.set(n,o),o},"isFsCaseSensitive"),{join:Bf}=z.posix,ec={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Hy=K(t=>{let e=[...ec.ts],r=[...ec.cts],n=[...ec.mts];return t?.allowJs&&(e.push(".js",".jsx"),r.push(".cjs"),n.push(".mjs")),[...e,...r,...n]},"getSupportedExtensions"),Vy=K(t=>{let e=[];if(!t)return e;let{outDir:r,declarationDir:n}=t;return r&&e.push(r),n&&e.push(n),e},"getDefaultExcludeSpec"),Rf=K(t=>t.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),zy=["node_modules","bower_components","jspm_packages"],tc=`(?!(${zy.join("|")})(/|$))`,Xy=/(?:^|\/)[^.*?]+$/,Pf="**`,"(.+/)?").replaceAll(String.raw`\*`,`${Bs}*`).replaceAll(String.raw`\?`,Bs);return new RegExp(`^${w}($|/)`,a)}),p=o||s?s:[Pf],A=p?p.map(C=>{let g=c(C);Xy.test(g)&&(g=Bf(g,Pf));let w=Rf(g).replaceAll(String.raw`/\*\*`,`(/${tc}${rc}${Bs}*)*?`).replaceAll(/(\/)?\\\*/g,($,k)=>{let I=String.raw`(${rc}|(\.(?!min\.js$))?)*`;return k?`/${tc}${rc}${I}`:I}).replaceAll(/(\/)?\\\?/g,($,k)=>{let I=Bs;return k?`/${tc}${I}`:I});return new RegExp(`^${w}$`,a)}):void 0;return{filesSet:f,extensions:u,excludePatterns:h,includePatterns:A}},"compilePatterns"),Of=new WeakMap,Ds=K((t,e)=>{if(!z.isAbsolute(e))return!1;Yf&&(e=je(e));let r=Of.get(t);r||(r=Zy(t,Yy()),Of.set(t,r));let{filesSet:n,extensions:o,excludePatterns:s,includePatterns:i}=r;return n?.has(e)?!0:!o.some(l=>e.endsWith(l))||s.some(l=>l.test(e))?!1:!!(i&&i.some(l=>l.test(e)))},"isFileIncluded"),Hf=K((t,e,r,n)=>{let o=z.resolve(t),s=je(t);for(;;){let i=bo(s,e,r);if(!i)return;let l=z.resolve(i),c=hc(l,{cache:r,typescriptVersion:n});if(Ds(c,o))return c;let f=z.dirname(i),u=z.dirname(f);if(u===f)return;s=u}},"findConfigApplicable"),ew=K((t=process.cwd(),e={})=>{let{configName:r="tsconfig.json",cache:n=new Map,includes:o=!1}=e;if(!o){let s=z.resolve(t);return z.basename(s)===r&&wt(n,s)?.isFile()?je(s):bo(je(t),r,n)}return Hf(t,r,n,!1)?.path},"findTsconfig"),tw=K((t=process.cwd(),e={})=>{let{configName:r="tsconfig.json",cache:n=new Map,includes:o=!1,typescriptVersion:s="auto"}=e;if(!o){let i=ew(t,{configName:r,cache:n});return i?hc(i,{cache:n,typescriptVersion:s}):void 0}return Hf(t,r,n,s)},"getTsconfig"),rw=/\*/g,$f=K((t,e)=>{let r=t.match(rw);if(r&&r.length>1)throw new Error(e)},"assertStarCount"),nw=K(t=>{if(t.includes("*")){let[e,r]=t.split("*");return{prefix:e,suffix:r}}return t},"parsePattern"),ow=K(({prefix:t,suffix:e},r)=>r.startsWith(t)&&r.endsWith(e),"isPatternMatch"),sw=K((t,e,r)=>Object.entries(t).map(([n,o])=>($f(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:nw(n),substitutions:o.map(s=>{if($f(s,`Substitution '${s}' in pattern '${n}' can have at most one '*' character.`),!e&&!mc.test(s)&&!z.isAbsolute(s))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return z.resolve(r,s)})})),"parsePaths"),iw=K(t=>{let{compilerOptions:e}=t.config;if(!e)return null;let{baseUrl:r,paths:n}=e;if(!r&&!n)return null;let o=lc in e&&e[lc],s=z.resolve(z.dirname(t.path),r||o||"."),i=n?sw(n,r,s):[],l=new Map,c=[];for(let f of i)typeof f.pattern=="string"?l.set(f.pattern,f.substitutions):c.push(f);return{exactEntries:l,patternEntries:c,resolvedBaseUrl:s,baseUrl:r}},"compilePaths"),Lf=new WeakMap,Ns=K((t,e)=>{let r=Lf.get(t);if(r===void 0&&(r=iw(t),Lf.set(t,r)),!r)return[];if(mc.test(e))return[];let{exactEntries:n,patternEntries:o,resolvedBaseUrl:s,baseUrl:i}=r,l=n.get(e);if(l)return l.map(je);let c,f=-1;for(let a of o)ow(a.pattern,e)&&a.pattern.prefix.length>f&&(f=a.pattern.prefix.length,c=a);if(!c)return i?[je(z.join(s,e))]:[];let u=e.slice(c.pattern.prefix.length,e.length-c.pattern.suffix.length);return c.substitutions.map(a=>je(a.replace("*",u)))},"resolvePathAlias"),Ms=Y(t=>{if(t)return hc(t);try{return tw()??void 0}catch{}},"loadTsconfig"),aw=`
89
+ `+" ".repeat(e));(function(t){t.DEFAULT={allowTrailingComma:!1}})(Ls||(Ls={}));Y(al,"Re"),W(al,"parse$1");Y(ll,"Pe"),W(ll,"visit");(function(t){t[t.None=0]="None",t[t.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=2]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",t[t.InvalidUnicode=4]="InvalidUnicode",t[t.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",t[t.InvalidCharacter=6]="InvalidCharacter"})(Sf||(Sf={}));(function(t){t[t.OpenBraceToken=1]="OpenBraceToken",t[t.CloseBraceToken=2]="CloseBraceToken",t[t.OpenBracketToken=3]="OpenBracketToken",t[t.CloseBracketToken=4]="CloseBracketToken",t[t.CommaToken=5]="CommaToken",t[t.ColonToken=6]="ColonToken",t[t.NullKeyword=7]="NullKeyword",t[t.TrueKeyword=8]="TrueKeyword",t[t.FalseKeyword=9]="FalseKeyword",t[t.StringLiteral=10]="StringLiteral",t[t.NumericLiteral=11]="NumericLiteral",t[t.LineCommentTrivia=12]="LineCommentTrivia",t[t.BlockCommentTrivia=13]="BlockCommentTrivia",t[t.LineBreakTrivia=14]="LineBreakTrivia",t[t.Trivia=15]="Trivia",t[t.Unknown=16]="Unknown",t[t.EOF=17]="EOF"})(_f||(_f={}));Ry=al;(function(t){t[t.InvalidSymbol=1]="InvalidSymbol",t[t.InvalidNumberFormat=2]="InvalidNumberFormat",t[t.PropertyNameExpected=3]="PropertyNameExpected",t[t.ValueExpected=4]="ValueExpected",t[t.ColonExpected=5]="ColonExpected",t[t.CommaExpected=6]="CommaExpected",t[t.CloseBraceExpected=7]="CloseBraceExpected",t[t.CloseBracketExpected=8]="CloseBracketExpected",t[t.EndOfFileExpected=9]="EndOfFileExpected",t[t.InvalidCommentToken=10]="InvalidCommentToken",t[t.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=12]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",t[t.InvalidUnicode=14]="InvalidUnicode",t[t.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",t[t.InvalidCharacter=16]="InvalidCharacter"})(Tf||(Tf={}));fl=W((t,e)=>Ry(By(e,t)),"readJsonc"),Vf=W(()=>{let{findPnpApi:t}=it;return t&&t(process.cwd())},"getPnpApi"),Py="detectTypeScriptVersion:",$y=W((t,e)=>{let r=`${Py}${t}`,n=e?.get(r);if(n!==void 0)return n??void 0;let o,s=Vf();if(s)try{o=s.resolveRequest("typescript/package.json",t)??void 0}catch{}o??=bo(X.resolve(t),X.join("node_modules","typescript","package.json"),e);let i;if(o)try{let l=fl(o,e);typeof l?.version=="string"&&(i=l.version)}catch{}return e?.set(r,i??null),i},"detectTypeScriptVersion"),Wr="package.json",$s="tsconfig.json",Oy=W((t,e,r)=>{let n=it.createRequire(X.join(r,"tsconfig.json"));if(t!==e)try{return n.resolve(t)}catch{}try{return n.resolve(e)}catch{}try{return n.resolve(`${e}/${Wr}`)}catch{}},"resolvePackageEntryWithNode"),za=W((t,e,r,n)=>{let o=`resolveFromPackageJsonPath:${t}:${e}:${r}`;if(n?.has(o))return n.get(o)||!1;let s=fl(t,n);if(!s)return;let i=e||$s;if(!r&&s.exports)try{let[l]=Ty(s.exports,e,["require","types"]);i=l}catch{return n?.set(o,""),!1}else!e&&s.tsconfig&&(i=s.tsconfig);return i=X.join(t,"..",i),n?.set(o,i),i},"resolveFromPackageJsonPath"),Ly=W((t,e,r)=>{let n=`resolveExtendsPath:${t}:${e}`;if(r?.has(n))return r.get(n)||void 0;let o=Qy(t,e,r);return r?.set(n,o||""),o},"resolveExtendsPath"),Qy=W((t,e,r)=>{let n=t;if(t===".."&&(n=X.join(n,$s)),t[0]==="."&&(n=X.resolve(e,n)),X.isAbsolute(n)){let A=bt(r,n);if(A){if(A.isFile())return n}else if(!n.endsWith(".json")){let w=`${n}.json`;if(bt(r,w))return w}return}let[o,...s]=t.split("/"),i=o[0]==="@"?`${o}/${s.shift()}`:o,l=s.join("/"),c=Vf();if(c){let{resolveRequest:A}=c;try{if(i===t){let w=A(X.join(i,Wr),e);if(w){let O=za(w,l,!1,r);if(O&&bt(r,O))return O}}else{let w;try{w=A(t,e,{extensions:[".json"]})}catch{w=A(X.join(t,$s),e)}if(w)return w}}catch{}}let f=Oy(t,i,e),d;if(f){if(X.basename(f)!==Wr&&f.endsWith(".json"))return f;d=X.basename(f)===Wr?f:bo(X.dirname(f),Wr,r)}let a=d&&X.dirname(d)||bo(X.resolve(e),X.join("node_modules",i),r);if(!a||!bt(r,a)?.isDirectory())return;let h=X.join(a,Wr);if(bt(r,h)){let A=za(h,l,!1,r);if(A===!1)return;if(A&&bt(r,A)?.isFile())return A}let p=X.join(a,l),g=p.endsWith(".json");if(!g){let A=`${p}.json`;if(bt(r,A))return A}let x=bt(r,p);if(x){if(x.isDirectory()){let A=X.join(p,Wr);if(bt(r,A)){let O=za(A,"",!0,r);if(O&&bt(r,O))return O}let w=X.join(p,$s);if(bt(r,w))return w}else if(g)return p}},"resolveExtendsPathUncached"),cl=Symbol("implicitBaseUrl"),gr="${configDir}",ml=/^\.{1,2}(\/.*)?$/,Os=W(t=>{let e=je(t);return ml.test(e)?e:`./${e}`},"normalizeRelativePath"),Dy=W(t=>{let e={...t};if(e.strict){let r=["noImplicitAny","noImplicitThis","strictNullChecks","strictFunctionTypes","strictBindCallApply","strictPropertyInitialization","strictBuiltinIteratorReturn","alwaysStrict","useUnknownInCatchVariables"];for(let n of r)e[n]===void 0&&(e[n]=!0)}if(e.composite&&(e.declaration??=!0,e.incremental??=!0),e.target){let r=e.target.toLowerCase();r==="es2015"&&(r="es6"),e.target=r,r==="esnext"&&(e.module??="es6",e.useDefineForClassFields??=!0),(r==="es6"||r==="es2016"||r==="es2017"||r==="es2018"||r==="es2019"||r==="es2020"||r==="es2021"||r==="es2022"||r==="es2023"||r==="es2024"||r==="es2025")&&(e.module??="es6"),(r==="es2022"||r==="es2023"||r==="es2024"||r==="es2025")&&(e.useDefineForClassFields??=!0)}if(e.module){let r=e.module.toLowerCase();if(r==="es2015"&&(r="es6"),e.module=r,(r==="es6"||r==="es2020"||r==="es2022"||r==="esnext"||r==="none"||r==="system"||r==="umd"||r==="amd")&&(e.moduleResolution??="classic"),r==="system"&&(e.allowSyntheticDefaultImports??=!0),(r==="node16"||r==="node18"||r==="node20"||r==="nodenext"||r==="preserve")&&(e.esModuleInterop??=!0,e.allowSyntheticDefaultImports??=!0),(r==="node16"||r==="node18"||r==="node20"||r==="nodenext")&&(e.moduleDetection??="force"),(r==="node16"||r==="node18")&&(e.target??="es2022",e.moduleResolution??="node16"),r==="node20"&&(e.target??="es2023",e.moduleResolution??="node16",e.resolveJsonModule??=!0),r==="nodenext"&&(e.target??="esnext",e.moduleResolution??="nodenext",e.resolveJsonModule??=!0),r==="node16"||r==="node18"||r==="node20"||r==="nodenext"){let n=e.target;(n==="es3"||n==="es2022"||n==="es2023"||n==="es2024"||n==="esnext")&&(e.useDefineForClassFields??=!0)}r==="preserve"&&(e.moduleResolution??="bundler")}if(e.moduleResolution){let r=e.moduleResolution.toLowerCase();r==="node"&&(r="node10"),e.moduleResolution=r,(r==="node16"||r==="nodenext"||r==="bundler")&&(e.resolvePackageJsonExports??=!0,e.resolvePackageJsonImports??=!0),r==="bundler"&&(e.allowSyntheticDefaultImports??=!0,e.resolveJsonModule??=!0)}for(let r of["jsx","moduleDetection","importsNotUsedAsValues","newLine"])e[r]&&(e[r]=e[r].toLowerCase());return e.esModuleInterop&&(e.allowSyntheticDefaultImports??=!0),e.verbatimModuleSyntax&&(e.isolatedModules??=!0,e.preserveConstEnums??=!0),e.isolatedModules&&(e.preserveConstEnums??=!0),e.rewriteRelativeImportExtensions&&(e.allowImportingTsExtensions??=!0),e.lib&&(e.lib=e.lib.map(r=>r.toLowerCase())),e.checkJs&&(e.allowJs??=!0),e},"normalizeCompilerOptions"),Ny=W((t,e)=>{!e.has("target")&&!My(t.module)&&(t.target="es3")},"applyV4Defaults"),My=W(t=>t==="node16"||t==="node18"||t==="node20"||t==="nodenext","moduleDictatesTarget$1"),Fy=W((t,e)=>{!e.has("target")&&!Uy(t.module)&&(t.target="es5")},"applyV5Defaults"),Uy=W(t=>t==="node16"||t==="node18"||t==="node20"||t==="nodenext","moduleDictatesTarget"),jy=W((t,e)=>{e.has("strict")||(t.strict=!0),e.has("target")||(t.target="es2025"),e.has("module")||(t.module="es2022"),e.has("moduleResolution")||(t.moduleResolution="bundler"),e.has("rootDir")||(t.rootDir="."),e.has("types")||(t.types=[]),e.has("noUncheckedSideEffectImports")||(t.noUncheckedSideEffectImports=!0),e.has("libReplacement")||(t.libReplacement=!1)},"applyV6Defaults"),Ky=[[4,Ny],[5,Fy],[6,jy]],Wy=W(t=>{let e=/^v?(\d+)/.exec(t);return e?Number(e[1]):void 0},"parseMajor"),Gy=W((t,e)=>{let r=Wy(e);if(r===void 0)return;let n=new Set(Object.keys(t));for(let[o,s]of Ky)o<=r&&s(t,n)},"applyVersionDefaults"),Xa=W((t,e)=>Os(X.relative(t,e)),"pathRelative"),If=["files","include","exclude"],Bf=W((t,e,r)=>{let n=X.join(e,r),o=X.relative(t,n);return je(o)||"./"},"resolveAndRelativize"),qy=W((t,e,r)=>{let n=X.relative(t,e);if(!n)return r;let o=r.startsWith("./")?r.slice(2):r;return je(`${n}/${o}`)},"prefixPattern"),Rf=["outDir","declarationDir"],Bs=W((t,e)=>{if(t.startsWith(gr))return je(X.join(e,t.slice(gr.length)))},"interpolateConfigDir"),Jy=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],Yy=W((t,e={})=>{if(t.length===0)throw new Error("Chain must not be empty");let{typescriptVersion:r}=e,n=new Map(t.map(a=>[a.path,a])),o=new Map,s=W(a=>{let h=o.get(a);if(h)return h;let p=n.get(a);if(!p)throw new Error(`Config not found in chain: ${a}`);let g=p.config,x=X.dirname(a),A={...g,...g.compilerOptions&&{compilerOptions:{...g.compilerOptions}},...g.watchOptions&&{watchOptions:{...g.watchOptions}}};if(delete A.extends,A.compilerOptions?.paths&&!A.compilerOptions.baseUrl&&(A.compilerOptions[cl]=x),g.extends){let w=Array.isArray(g.extends)?g.extends:[g.extends];for(let O of w.toReversed()){let T=s(O),B=X.dirname(O),{references:v,...C}=T;if(C.compilerOptions){let j={...C.compilerOptions};for(let F of["baseUrl","outDir","declarationDir","rootDir"]){let Q=j[F];Q&&!Q.startsWith(gr)&&(j[F]=Bf(x,B,Q))}for(let F of["rootDirs","typeRoots"]){let Q=j[F];Q&&(j[F]=Q.map(P=>P.startsWith(gr)?P:Bf(x,B,P)))}C.compilerOptions=j}for(let j of If){let F=C[j];F&&(C[j]=F.map(Q=>Q.startsWith(gr)?Q:qy(x,B,Q)))}let I={...C,...A,compilerOptions:{...C.compilerOptions,...A.compilerOptions}};C.watchOptions&&(I.watchOptions={...C.watchOptions,...A.watchOptions}),A=I}}if(A.compilerOptions){let{compilerOptions:w}=A,O=["baseUrl","rootDir"];for(let T of O){let B=w[T];if(B&&!B.startsWith(gr)){let v=X.resolve(x,B),C=Xa(x,v);w[T]=C}}for(let T of Rf){let B=w[T];B&&(Array.isArray(A.exclude)||(A.exclude=Rf.map(v=>w[v]).filter(Boolean)),B.startsWith(gr)||(B=Os(B)),w[T]=B)}}else A.compilerOptions={};if(A.include&&(A.include=A.include.map(je)),A.files&&(A.files=A.files.map(w=>w.startsWith(gr)?w:Os(w))),A.watchOptions){let{watchOptions:w}=A;for(let O of["excludeDirectories","excludeFiles"])w[O]&&(w[O]=w[O].map(T=>je(X.resolve(x,T))));for(let O of["watchFile","watchDirectory","fallbackPolling"])if(w[O]){let T=w;T[O]=w[O].toLowerCase()}}return o.set(a,A),A},"resolveEntry"),i=t[0],l=s(i.path),c=X.dirname(i.path),f={...l,compilerOptions:l.compilerOptions?{...l.compilerOptions}:{}},{compilerOptions:d}=f;if(d){for(let a of Jy){let h=d[a];if(h){let p=Bs(h,c);d[a]=p?Xa(c,p):h}}for(let a of["rootDirs","typeRoots"]){let h=d[a];h&&(d[a]=h.map(p=>{let g=Bs(p,c);return g?Xa(c,g):Os(p)}))}if(d.paths){let a={};for(let[h,p]of Object.entries(d.paths))a[h]=p.map(g=>Bs(g,c)??g);d.paths=a}r&&Gy(d,r),f.compilerOptions=Dy(d)}for(let a of If){let h=f[a];h&&(f[a]=h.map(p=>Bs(p,c)??p))}return{path:i.path,config:f,sources:t.map(a=>a.path)}},"resolveExtendsChain"),Vy=W((t,e={})=>{let{cache:r=new Map}=e,n=X.resolve(t),o=[],s=new Set,i=W((l,c)=>{let f=je(l);if(s.has(f))return;s.add(f);let d;try{d=fl(l,r)||{}}catch{throw new Error(`Cannot resolve tsconfig at path: ${l}`)}if(typeof d!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${l}`);let a=X.dirname(l);if(d.extends){let h=Array.isArray(d.extends),p=(h?d.extends:[d.extends]).map(x=>{let A=Ly(x,a,r);if(!A)throw new Error(`File '${x}' not found.`);let w=je(A);if(c.has(w)||w===f)throw new Error(`Circularity detected while resolving configuration: ${w}`);return w});d.extends=h?p:p[0],o.push({path:f,config:d});let g=new Set(c);g.add(f);for(let x of[...p].reverse())i(x,g)}else o.push({path:f,config:d})},"collect");return i(n,new Set),o},"getExtendsChain"),hl=W((t,e={})=>{let{cache:r=new Map,typescriptVersion:n="auto"}=e,o=Vy(t,{cache:r}),s;return n==="auto"?s=$y(X.dirname(o[0].path),r):n!==!1&&(s=n),Yy(o,{typescriptVersion:s})},"readTsconfig"),Hy=Object.defineProperty,Ds=W((t,e)=>Hy(t,"name",{value:e,configurable:!0}),"s"),Hf=Ds(t=>{let e="";for(let r=0;r<t.length;r+=1){let n=t[r],o=n.toUpperCase();e+=n===o?n.toLowerCase():o}return e},"invertCase"),Za=new Map,Pf=Ds((t,e)=>{let r=wy.join(t,`.is-fs-case-sensitive-test-${process.pid}`);try{return e.writeFileSync(r,""),!e.existsSync(Hf(r))}finally{try{e.unlinkSync(r)}catch{}}},"checkDirectoryCaseWithWrite"),zy=Ds((t,e,r)=>{try{return Pf(t,r)}catch(n){if(e===void 0)return Pf(yy.tmpdir(),r);throw n}},"checkDirectoryCaseWithFallback"),Xy=Ds((t,e=Ay,r=!0)=>{let n=t??process.cwd();if(r&&Za.has(n))return Za.get(n);let o,s=Hf(n);return s!==n&&e.existsSync(n)?o=!e.existsSync(s):o=zy(n,t,e),r&&Za.set(n,o),o},"isFsCaseSensitive"),{join:$f}=X.posix,el={ts:[".ts",".tsx",".d.ts"],cts:[".cts",".d.cts"],mts:[".mts",".d.mts"]},Zy=W(t=>{let e=[...el.ts],r=[...el.cts],n=[...el.mts];return t?.allowJs&&(e.push(".js",".jsx"),r.push(".cjs"),n.push(".mjs")),[...e,...r,...n]},"getSupportedExtensions"),ew=W(t=>{let e=[];if(!t)return e;let{outDir:r,declarationDir:n}=t;return r&&e.push(r),n&&e.push(n),e},"getDefaultExcludeSpec"),Of=W(t=>t.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),"escapeForRegexp"),tw=["node_modules","bower_components","jspm_packages"],tl=`(?!(${tw.join("|")})(/|$))`,rw=/(?:^|\/)[^.*?]+$/,Lf="**`,"(.+/)?").replaceAll(String.raw`\*`,`${Rs}*`).replaceAll(String.raw`\?`,Rs);return new RegExp(`^${w}($|/)`,a)}),p=o||s?s:[Lf],g=p?p.map(x=>{let A=c(x);rw.test(A)&&(A=$f(A,Lf));let w=Of(A).replaceAll(String.raw`/\*\*`,`(/${tl}${rl}${Rs}*)*?`).replaceAll(/(\/)?\\\*/g,(O,T)=>{let B=String.raw`(${rl}|(\.(?!min\.js$))?)*`;return T?`/${tl}${rl}${B}`:B}).replaceAll(/(\/)?\\\?/g,(O,T)=>{let B=Rs;return T?`/${tl}${B}`:B});return new RegExp(`^${w}$`,a)}):void 0;return{filesSet:f,extensions:d,excludePatterns:h,includePatterns:g}},"compilePatterns"),Qf=new WeakMap,Ns=W((t,e)=>{if(!X.isAbsolute(e))return!1;zf&&(e=je(e));let r=Qf.get(t);r||(r=nw(t,Xy()),Qf.set(t,r));let{filesSet:n,extensions:o,excludePatterns:s,includePatterns:i}=r;return n?.has(e)?!0:!o.some(l=>e.endsWith(l))||s.some(l=>l.test(e))?!1:!!(i&&i.some(l=>l.test(e)))},"isFileIncluded"),Xf=W((t,e,r,n)=>{let o=X.resolve(t),s=je(t);for(;;){let i=bo(s,e,r);if(!i)return;let l=X.resolve(i),c=hl(l,{cache:r,typescriptVersion:n});if(Ns(c,o))return c;let f=X.dirname(i),d=X.dirname(f);if(d===f)return;s=d}},"findConfigApplicable"),ow=W((t=process.cwd(),e={})=>{let{configName:r="tsconfig.json",cache:n=new Map,includes:o=!1}=e;if(!o){let s=X.resolve(t);return X.basename(s)===r&&bt(n,s)?.isFile()?je(s):bo(je(t),r,n)}return Xf(t,r,n,!1)?.path},"findTsconfig"),sw=W((t=process.cwd(),e={})=>{let{configName:r="tsconfig.json",cache:n=new Map,includes:o=!1,typescriptVersion:s="auto"}=e;if(!o){let i=ow(t,{configName:r,cache:n});return i?hl(i,{cache:n,typescriptVersion:s}):void 0}return Xf(t,r,n,s)},"getTsconfig"),iw=/\*/g,Df=W((t,e)=>{let r=t.match(iw);if(r&&r.length>1)throw new Error(e)},"assertStarCount"),aw=W(t=>{if(t.includes("*")){let[e,r]=t.split("*");return{prefix:e,suffix:r}}return t},"parsePattern"),lw=W(({prefix:t,suffix:e},r)=>r.startsWith(t)&&r.endsWith(e),"isPatternMatch"),cw=W((t,e,r)=>Object.entries(t).map(([n,o])=>(Df(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:aw(n),substitutions:o.map(s=>{if(Df(s,`Substitution '${s}' in pattern '${n}' can have at most one '*' character.`),!e&&!ml.test(s)&&!X.isAbsolute(s))throw new Error("Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?");return X.resolve(r,s)})})),"parsePaths"),uw=W(t=>{let{compilerOptions:e}=t.config;if(!e)return null;let{baseUrl:r,paths:n}=e;if(!r&&!n)return null;let o=cl in e&&e[cl],s=X.resolve(X.dirname(t.path),r||o||"."),i=n?cw(n,r,s):[],l=new Map,c=[];for(let f of i)typeof f.pattern=="string"?l.set(f.pattern,f.substitutions):c.push(f);return{exactEntries:l,patternEntries:c,resolvedBaseUrl:s,baseUrl:r}},"compilePaths"),Nf=new WeakMap,Ms=W((t,e)=>{let r=Nf.get(t);if(r===void 0&&(r=uw(t),Nf.set(t,r)),!r)return[];if(ml.test(e))return[];let{exactEntries:n,patternEntries:o,resolvedBaseUrl:s,baseUrl:i}=r,l=n.get(e);if(l)return l.map(je);let c,f=-1;for(let a of o)lw(a.pattern,e)&&a.pattern.prefix.length>f&&(f=a.pattern.prefix.length,c=a);if(!c)return i?[je(X.join(s,e))]:[];let d=e.slice(c.pattern.prefix.length,e.length-c.pattern.suffix.length);return c.substitutions.map(a=>je(a.replace("*",d)))},"resolvePathAlias"),Fs=Y(t=>{if(t)return hl(t);try{return sw()??void 0}catch{}},"loadTsconfig"),dw=`
90
90
 
91
- `)},"createLog"),Cn=em(Ef(yf(" CJS "))),fe=em(wf(" ESM ")),gr=new Map,lw=Y(async t=>{if(gr.has(t))return gr.get(t);if(!await qr.promises.access(t).then(()=>!0,()=>!1)){gr.set(t,void 0);return}let e=await qr.promises.readFile(t,"utf8");try{let r=JSON.parse(e);return gr.set(t,r),r}catch{throw new Error(`Error parsing: ${t}`)}},"readPackageJson"),uw=Y(t=>{if(gr.has(t))return gr.get(t);if(!qr.existsSync(t)){gr.set(t,void 0);return}let e=qr.readFileSync(t,"utf8");try{let r=JSON.parse(e);return gr.set(t,r),r}catch{throw new Error(`Error parsing: ${t}`)}},"readPackageJsonSync"),dw=Y(async t=>{let e=new URL("package.json",t);for(;!e.pathname.endsWith("/node_modules/package.json");){let r=Ls(e),n=await lw(r);if(n)return n;let o=e;if(e=new URL("../package.json",e),e.pathname===o.pathname)break}},"findPackageJson"),tm=Y(t=>{let e=new URL("package.json",t);for(;!e.pathname.endsWith("/node_modules/package.json");){let r=Ls(e),n=uw(r);if(n)return n;let o=e;if(e=new URL("../package.json",e),e.pathname===o.pathname)break}},"findPackageJsonSync"),rm=Y(async t=>(await dw(t))?.type??"commonjs","getPackageType"),nm=Y(t=>tm(t)?.type??"commonjs","getPackageTypeSync"),fw=Y(t=>tm(t)?.type,"getNearestPackageTypeSync"),om=[".js",".json"],sm=[".ts",".tsx",".jsx"],mw=[...sm,...om],hw=[...om,...sm],Ao=Object.create(null);Ao[".js"]=[".ts",".tsx",".js",".jsx"],Ao[".jsx"]=[".tsx",".ts",".jsx",".js"],Ao[".cjs"]=[".cts"],Ao[".mjs"]=[".mts"];js=Y(t=>{let e=t.split("?"),r=e[1]?`?${e[1]}`:"",[n]=e,o=z.extname(n),s=[],i=Ao[o];if(i){let c=n.slice(0,-o.length);s.push(...i.map(f=>c+f+r))}let l=!(t.startsWith(ht)||Jr(n))||n.includes(Zf)||n.includes("/node_modules/")?hw:mw;return s.push(...l.map(c=>n+c+r)),s},"mapTsExtensions"),uc=Y(t=>Array.from(t).length>0?`?${t.toString()}`:"","urlSearchParamsStringify"),pw=[".cts",".mts",".ts",".tsx",".jsx"],gw=[".js",".cjs",".mjs"],Df=[".ts",".tsx",".jsx"],Nf="module.exports",Aw=Y(t=>{let e=z.extname(t);return e===".mjs"||e===".mts"||(e===".js"||e===".ts")&&fw(dy(t).toString())!=="commonjs"},"isRequireEsmCandidate"),nc=Y((t,e,r,n)=>{let o=Object.getOwnPropertyDescriptor(t,e);o?.set?t[e]=r:(!o||o.configurable)&&Object.defineProperty(t,e,{value:r,enumerable:o?.enumerable||n?.enumerable,writable:n?.writable??(o?o.writable:!0),configurable:n?.configurable??(o?o.configurable:!0)})},"safeSet"),yw=Y((t,e,r,n)=>{let o=e[".js"],s=vt(Ru),i=Y((l,c)=>{if(t.enabled===!1)return o(l,c);let[f,u]=c.split("?");if((new URLSearchParams(u).get("namespace")??void 0)!==n)return o(l,c);Cn(2,"load",{filePath:c}),l.id.startsWith("data:text/javascript,")&&(l.path=z.dirname(f)),mr?.send&&mr.send({type:"dependency",path:f});let a=pw.some(w=>f.endsWith(w)),h=gw.some(w=>f.endsWith(w));if(!a&&!h)return o(l,f);let p=qr.readFileSync(f,"utf8"),A=h&&!f.endsWith(".cjs")&&!f.endsWith(".cts")&&mo(p),C=(a||A)&&r&&Ds(r,f)?r.config:void 0;if(f.endsWith(".cjs")){let w=fr(c,p);w&&(p=Qf()?St(w):w.code)}else if(a||A){let w=jr(p,c,{tsconfigRaw:C});p=Qf()?St(w):w.code}Cn(1,"loaded",{filePath:f}),l._compile(p,f),u&&it._cache[f]===l&&(it._cache[c]=l,delete it._cache[f]);let{exports:g}=l;(s&&g&&(typeof g=="object"||typeof g=="function")?Object.getOwnPropertyDescriptor(g,Nf):void 0)?.get&&Aw(f)&&(l.exports=g[Nf])},"transformer");nc(e,".js",i);for(let l of Df)nc(e,l,i,{enumerable:!n,writable:!0,configurable:!0});return nc(e,".mjs",i,{writable:!0,configurable:!0}),()=>{e[".js"]===i&&(e[".js"]=o);for(let l of[...Df,".mjs"])e[l]===i&&delete e[l]}},"createExtensions"),ww=Y(t=>e=>{if((e==="."||e===".."||e.endsWith("/.."))&&(e+="/"),Ar.test(e)){let r=z.join(e,"index");e.startsWith("./")&&(r=`./${r}`);try{return t(r)}catch{}}try{return t(e)}catch(r){let n=r;if(n.code==="MODULE_NOT_FOUND")try{return t(`${e}${z.sep}index`)}catch{}throw n}},"createImplicitResolver"),Rs=Y((t,e,r,n)=>{if(Cn(3,"resolveTsFilename",{request:e,isDirectory:Ar.test(e),isTsParent:r,allowJs:n}),Ar.test(e)||!r&&!n)return;let o=js(e);if(o)for(let s of o)try{return t(s)}catch(i){let{code:l}=i;if(l!=="MODULE_NOT_FOUND"&&l!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw i}},"resolveTsFilename"),bw=Y((t,e,r)=>n=>{if(Cn(3,"resolveTsFilename",{request:n,isTsParent:e,isFilePath:Jr(n)}),Jr(n)){let o=Rs(t,n,e,r);if(o)return o}try{return t(n)}catch(o){let s=o;if(s.code==="MODULE_NOT_FOUND"){if(s.path){let l=s.message.match(/^Cannot find module '([^']+)'$/);if(l){let f=l[1],u=Rs(t,f,e,r);if(u)return u}let c=s.message.match(/^Cannot find module '([^']+)'. Please verify that the package.json has a valid "main" entry$/);if(c){let f=c[1],u=Rs(t,f,e,r);if(u)return u}}let i=Rs(t,n,e,r);if(i)return i}throw s}},"createTsExtensionResolver"),Mf="at cjsPreparseModuleExports (node:internal",Ew=Y(t=>{let e=t.stack.split(`
92
- `).slice(1);return e[1].includes(Mf)||e[2].includes(Mf)},"isFromCjsLexer"),xw=Y((t,e)=>{let r=t.split("?"),n=new URLSearchParams(r[1]);if(e?.filename){let o=Uf(e.filename),s;if(o){let l=o.split("?"),c=l[0];s=l[1];let f=new URLSearchParams(s).get("namespace");e.filename=c,e.path=z.dirname(c),e.paths=it._nodeModulePaths(e.path),f||(it._cache[c]=e)}s||(s=e.filename.split("?")[1]);let i=new URLSearchParams(s).get("namespace");i&&n.append("namespace",i)}return[r[0],n,(o,s)=>(z.isAbsolute(o)&&!o.endsWith(".json")&&!o.endsWith(".node")&&!(s===0&&Ew(new Error))&&(o+=uc(n)),o)]},"preserveQuery"),vw=Y((t,e,r,n)=>{if(t.startsWith(ht)&&(t=Ls(t)),n&&!Jr(t)&&!e?.filename?.includes(Zf)){let o=Ns(n,t);for(let s of o)try{return r(s)}catch{}}return r(t)},"resolveTsPaths"),Cw=Y((t,e,r,n)=>(o,s,...i)=>{if(t.enabled===!1)return e(o,s,...i);o=dc(o);let[l,c,f]=xw(o,s);if((c.get("namespace")??void 0)!==n)return e(o,s,...i);Cn(2,"resolve",{request:o,parent:s?.filename??s,restOfArgs:i});let u=Y(h=>e(h,s,...i),"nextResolveSimple");u=bw(u,!!(n||s?.filename&&wr.test(s.filename)),r?.config.compilerOptions?.allowJs??!1),u=ww(u);let a=f(vw(l,s,u,r),i.length);return Cn(1,"resolved",{request:o,parent:s?.filename??s,resolved:a}),a},"createResolveFilename"),Ff=Y((t,e)=>{if(!e)throw new Error("The current file path (__filename or import.meta.url) must be provided in the second argument of tsx.require()");return t.startsWith(".")?((typeof e=="string"&&e.startsWith(ht)||e instanceof URL)&&(e=Ls(e)),z.resolve(z.dirname(e),t)):t},"resolveContext"),Eo=Y(t=>{let{sourceMapsEnabled:e}=process,r={enabled:!0},n=Ms(process.env.TSX_TSCONFIG_PATH);process.setSourceMapsEnabled(!0);let o=it._resolveFilename,s=Cw(r,o,n,t?.namespace);it._resolveFilename=s;let i=yw(r,it._extensions,n,t?.namespace),l=t?.namespace?void 0:cw(),c=Y(()=>{e===!1&&process.setSourceMapsEnabled(!1),r.enabled=!1,it._resolveFilename===s&&(it._resolveFilename=o),i(),l?.()},"unregister");if(t?.namespace){let f=Y((a,h)=>{let p=Ff(a,h),[A,C]=p.split("?"),g=new URLSearchParams(C);return t.namespace&&!A.startsWith("node:")&&g.set("namespace",t.namespace),$r(A+uc(g))},"scopedRequire");c.require=f;let u=Y((a,h,p)=>{let A=Ff(a,h),[C,g]=A.split("?"),w=new URLSearchParams(g);return t.namespace&&!C.startsWith("node:")&&w.set("namespace",t.namespace),s(C+uc(w),module,!1,p)},"scopedResolve");c.resolve=u,c.unregister=c}return c},"register")});import Sn from"node:module";import{MessageChannel as Sw}from"node:worker_threads";import{pathToFileURL as Lt,fileURLToPath as wc}from"node:url";import{readFileSync as _w}from"node:fs";import{readFile as Tw}from"node:fs/promises";import Hr from"node:path";var kw,ne,Co,hm,vk,Ck,Iw,Bw,br,Ys,im,ko,xo,bc,Ws,Rw,Pw,Ow,Vr,am,pm,gm,$w,Lw,Gs,Yr,Qw,Ec,Am,ym,Dw,wm,Nw,bm,Em,Ac,Mw,Fw,kk,Uw,jw,xm,Hs,Vs,vm,qs,vo,Kw,gc,cm,lm,Ww,Gw,Js,yc,Cm,qw,Jw,Sk,um,dm,Yw,Hw,fm,Vw,zw,km,Xw,Zw,mm,xc,Sm=ve(()=>{to();Ks();ks();_s();kw=Object.defineProperty,ne=(t,e)=>kw(t,"name",{value:e,configurable:!0}),Co={active:!0,parsedTsconfig:void 0},hm=ne(t=>{let e={active:!0,namespace:t?.namespace,onImport:t?.onImport,parsedTsconfig:void 0,port:t?.port,tsconfig:t?.tsconfig};return t?.tsconfig!==!1&&(e.parsedTsconfig=Ms(t?.tsconfig??process.env.TSX_TSCONFIG_PATH)),e},"createData"),vk=ne(async t=>{if(!t)throw new Error(`tsx must be loaded with --import instead of --loader
93
- The --loader flag was deprecated in Node v20.6.0 and v18.19.0`);Object.assign(Co,hm(t)),t.port&&t.port.on("message",e=>{e==="deactivate"&&(Co.active=!1,t.port.postMessage({type:"deactivated"}))})},"initialize"),Ck=ne(()=>(Co.parsedTsconfig=Ms(process.env.TSX_TSCONFIG_PATH),"process.setSourceMapsEnabled(true);"),"globalPreload"),Iw=ne(t=>{let{pathname:e}=new URL(t),r=Hr.extname(e);if(r===".mts"||r===".mjs")return"module";if(r===".cts"||r===".cjs")return"commonjs";if(r===".js"||pc.includes(r))return rm(t)},"getFormatFromFileUrl"),Bw=ne(t=>{let{pathname:e}=new URL(t),r=Hr.extname(e);if(r===".mts"||r===".mjs")return"module";if(r===".cts"||r===".cjs")return"commonjs";if(r===".js"||pc.includes(r))return nm(t)},"getFormatFromFileUrlSync"),br="tsx-namespace=",Ys="tsx-commonjs-export-preparse",im=`${Ys}=1`,ko="tsx-commonjs-virtual-query",xo=new Map,bc=ne((t,e)=>t.slice(1).split("&").filter(r=>r&&e.every(n=>!r.startsWith(n))).join("&"),"getQueryWithoutParameters"),Ws=ne((t,e)=>{let r=bc(t,e);return r?`?${r}`:""},"getSearchWithoutParameters"),Rw=ne(t=>t.replaceAll(/\/\*[\s\S]*?\*\/|\/\/[^\n\r]*/g,""),"stripComments"),Pw=ne(t=>{let e=Rw(t);if(/^\s*export\s*\*/.test(e))return"named";if(/^\s*import\s*\*\s*as\s+[\w$]+/.test(e))return"namespace";let r=e.match(/\{([^}]*)\}/)?.[1];if(r)return r.split(",").some(n=>{let o=n.trim().split(/\s+as\s+/)[0];return!!(o&&o!=="default")})?"named":void 0},"getCommonJsImportBinding"),Ow=ne((t,e,r)=>{let n=xo.get(t);if(!n)return!1;try{let[o]=Cs(n);return o.some(s=>{if(s.d!==-1||s.n!==e)return!1;let i=Pw(n.slice(s.ss,s.s));return i==="named"||r&&i==="namespace"})}catch{return!1}},"parentImportsCommonJsExports"),Vr=ne(t=>{let e=t.indexOf(br);if(e===-1)return;let r=t[e-1];if(r!=="?"&&r!=="&")return;let n=e+br.length,o=t.indexOf("&",n);return o===-1?t.slice(n):t.slice(n,o)},"getNamespace"),am=vt(Iu)?"importAttributes":"importAssertions",pm=ne(t=>t==="commonjs"||t==="commonjs-typescript","isCommonJsFormat"),gm=ne(t=>t==="module-typescript"||t==="typescript","isModuleTypeScriptFormat"),$w=vt(un),Lw=[`${ko}=`],Gs=[`${Ys}=`,`${ko}=`],Yr=ne((t,e)=>e.parsedTsconfig&&Ds(e.parsedTsconfig,t)?e.parsedTsconfig.config:void 0,"getTsconfigRaw"),Qw=ne(t=>{if(!t.searchParams.has(ko))return;let{pathname:e}=t,r=e.toLowerCase().lastIndexOf("%3f");if(r===-1)return;let n=new URL(t);return n.pathname=e.slice(0,r),n.search="",wc(n)},"getFilePathFromVirtualQuery"),Ec=ne(t=>{let e=t.startsWith(ht)?new URL(t):void 0,r=e?wc(e):t,n=e&&Qw(e),o=n||r,s=e&&n?Lt(o).toString()+Ws(e.search,Lw):t;return{fileUrl:e,filePath:o,loadUrl:s}},"getFileLoadContext"),Am=ne((t,e)=>{if(!e?.search)return t;let r=Ws(e.search,Gs);return r?Lt(t).toString()+r:t},"getTransformPath"),ym=ne((t,e,r)=>{let n=[...e?bc(e.search,[br,...Gs]).split("&").filter(Boolean):[],...r?[`namespace=${encodeURIComponent(r)}`]:[]].join("&");return n?`${t}?${n}`:t},"getFilePathWithQuery"),Dw=new TextDecoder,wm=ne(t=>typeof t=="string"?t:Dw.decode(t),"decodeSource"),Nw=ne((t,e)=>{let r=new URL(e),n=e.startsWith(ht)?Ec(e).filePath:void 0;r.searchParams.delete("tsx-namespace"),r.searchParams.delete(Ys),r.searchParams.delete(ko),n&&(r.pathname=new URL(Lt(n)).pathname);let o=r.toString();return t.port&&t.port.postMessage({type:"load",url:o}),t.onImport?.(o),o},"notifyLoad"),bm=ne((t,e)=>{if(!t.active)return!1;let r=Vr(e);if(t.namespace&&t.namespace!==r)return!1;let n=Nw(t,e);return mr.send&&mr.send({type:"dependency",path:n}),!0},"prepareLoad"),Em=ne((t,e)=>{if(!zf.test(t))return e;let r=e[am];return r?.type?e:{...e,[am]:{...r,type:"json"}}},"prepareJsonAttributes"),Ac=ne(({conditions:t})=>t?.includes("require")===!0&&!t.includes("import"),"isCommonJsRequireContext$1"),Mw=ne(t=>{let e=ne(async(r,n,o)=>{if(!bm(t,r))return o(r,n);let s=Vr(r),{fileUrl:i,filePath:l,loadUrl:c}=Ec(r),f=Em(c,n),u=await o(c,f);fe(3,"loaded by next loader",{url:r,loadUrl:c,loaded:u});let a=i?.searchParams.has(Ys)===!0,h=u.format,p=i?new URL(Lt(l)):void 0;if(p&&i&&(p.search=Ws(i.search,Gs)),pm(h)&&i&&u.responseURL?.startsWith("file:")&&!l.endsWith(".cjs")){let g=await Tw(Lt(l),"utf8"),w=mo(g);if(h==="commonjs-typescript"||!l.endsWith(".js")||w){if(!$w){if(a&&w&&Us.test(l)){let I=await Ya(g,l,{define:{"import.meta.url":JSON.stringify(p.toString())},tsconfigRaw:Yr(l,t)});return xo.set(r,I.code),{format:"module",source:St(I)}}return u}if(!s&&!a&&!l.endsWith(".cts"))return u;let $=!!(s||a||Ws(i.search,Gs)),k=jr(g,Am(l,i),{cjsBanner:$?`require = require("node:module").createRequire(${JSON.stringify(Lt(l).toString())});`:void 0,tsconfigRaw:Yr(l,t)});if(u.format="commonjs",u.source=St(k),$){let I=ym(l,i,s);u.responseURL=`data:text/javascript,${encodeURIComponent(k.code)}?filePath=${encodeURIComponent(I)}`}return fe(3,"returning CJS export annotation",u),u}}if(!u.source)return u;let A=wm(u.source),C=h==="json"&&!Ac(n);if(h==="commonjs-typescript"){let g=jr(A,l,{tsconfigRaw:Yr(l,t)});return{...u,format:"commonjs",source:St(g)}}if(C||gm(h)||wr.test(r)){let g=await Ya(A,l,{tsconfigRaw:Yr(l,t)});return xo.set(r,g.code),{format:"module",source:St(g)}}if(u.format==="module"){let g=fr(l,A);g?(u.source=St(g),xo.set(r,g.code)):xo.set(r,A)}return u},"load2");return yr?async(r,n,o)=>{fe(2,"load",{url:r,context:n});let s=await e(r,n,o);return fe(1,"loaded",{url:r,result:s}),s}:e},"createLoad"),Fw=ne(t=>{let e=ne((r,n,o)=>{if(Ac(n)&&Fs()||!bm(t,r))return o(r,n);let s=Vr(r),{fileUrl:i,filePath:l,loadUrl:c}=Ec(r),f=Em(c,n),u=o(c,f);fe(3,"loaded by next loader",{url:r,loadUrl:c,loaded:u});let a=u.format;if(pm(a)&&vt(un)&&u.responseURL?.startsWith("file:")&&!l.endsWith(".cjs")){let A=_w(Lt(l),"utf8");if(a==="commonjs-typescript"||!l.endsWith(".js")||mo(A)){let C=jr(A,Am(l,i),{tsconfigRaw:Yr(l,t)}),g=!s&&Fs(),w=ym(l,i,s);return u.format="commonjs",u.shouldBeReloadedByCJSLoader=g,u.source=St(C),g||(u.responseURL=`data:text/javascript,${encodeURIComponent(C.code)}?filePath=${encodeURIComponent(w)}`),fe(3,"returning CJS export annotation",u),u}}if(!u.source)return u;let h=wm(u.source),p=a==="json"&&!Ac(n);if(a==="commonjs-typescript"){let A=jr(h,l,{tsconfigRaw:Yr(l,t)});return{...u,format:"commonjs",shouldBeReloadedByCJSLoader:!1,source:St(A)}}if(p||gm(a)||wr.test(r)){let A=Af(h,l,{tsconfigRaw:Yr(l,t)});return{format:"module",source:St(A)}}if(u.format==="module"){let A=fr(l,h);A&&(u.source=St(A))}return u},"load2");return yr?(r,n,o)=>{fe(2,"loadSync",{url:r,context:n});let s=e(r,n,o);return fe(1,"loadedSync",{url:r,result:s}),s}:e},"createLoadSync"),kk=Mw(Co),Uw=vt(un),jw=/^(?:[a-z][\d+.a-z-]*:\/\/|data:|file:|node:)/i,xm=ne(t=>!Jr(t)&&!jw.test(t),"isTsconfigPathAliasSpecifier"),Hs=ne(t=>{if(t.url)return t.url;let e=t.message.match(/^Cannot find module '([^']+)'/);if(e){let[,n]=e;return n}let r=t.message.match(/^Cannot find package '([^']+)'/);if(r){let[,n]=r;if(!Hr.isAbsolute(n))return;let o=Lt(n);if(o.pathname.endsWith("/")&&(o.pathname+="package.json"),o.pathname.endsWith("/package.json")){let s=Pa(o);if(s?.main)return new URL(s.main,o).toString()}else return o.toString()}},"getMissingPathFromNotFound"),Vs=ne(t=>t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND","isModuleNotFound"),vm=ne(t=>t.conditions.includes("require")&&!t.conditions.includes("import"),"isCommonJsRequireContext"),qs=ne(async(t,e,r,n)=>{let o=js(t);if(fe(3,"resolveExtensions",{url:t,context:e,throwError:n,tryPaths:o}),!o)return;let s;for(let i of o)try{return await r(i,e)}catch(l){let{code:c}=l;if(!Vs(c)&&c!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw l;s=l}if(n)throw s},"resolveExtensions"),vo=ne((t,e,r,n)=>{let o=js(t);if(fe(3,"resolveExtensionsSync",{url:t,context:e,throwError:n,tryPaths:o}),!o)return;let s;for(let i of o)try{return r(i,e)}catch(l){let{code:c}=l;if(!Vs(c)&&c!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw l;s=l}if(n)throw s},"resolveExtensionsSync"),Kw=ne(async(t,e,r,n)=>{let o=n.parsedTsconfig?.config.compilerOptions?.allowJs??!1;if(fe(3,"resolveBase",{specifier:t,context:e,specifierStartsWithFileUrl:t.startsWith(ht),isRelativePath:kn(t),tsExtensionsPattern:wr.test(e.parentURL),allowJs:o}),(t.startsWith(ht)||kn(t))&&(wr.test(e.parentURL)||o)){let s=await qs(t,e,r);if(fe(3,"resolveBase resolved",{specifier:t,context:e,resolved:s}),s)return s}try{return await r(t,e)}catch(s){if(fe(3,"resolveBase error",{specifier:t,context:e,error:s}),s instanceof Error){let i=s;if(Vs(i.code)){let l=Hs(i);if(l){let c=await qs(l,e,r);if(c)return c}}}throw s}},"resolveBase"),gc=ne((t,e,r,n)=>{let o=n.parsedTsconfig?.config.compilerOptions?.allowJs??!1;if(fe(3,"resolveBaseSync",{specifier:t,context:e,specifierStartsWithFileUrl:t.startsWith(ht),isRelativePath:kn(t),tsExtensionsPattern:wr.test(e.parentURL),allowJs:o}),(t.startsWith(ht)||kn(t))&&(wr.test(e.parentURL)||o)){let s=vo(t,e,r);if(fe(3,"resolveBaseSync resolved",{specifier:t,context:e,resolved:s}),s)return s}try{return r(t,e)}catch(s){if(fe(3,"resolveBaseSync error",{specifier:t,context:e,error:s}),s instanceof Error){let i=s;if(Vs(i.code)){let l=Hs(i);if(l){let c=vo(l,e,r);if(c)return c}}}throw s}},"resolveBaseSync"),cm=ne(async(t,e,r,n)=>{if(fe(3,"resolveDirectory",{specifier:t,context:e,isDirectory:Ar.test(t)}),(t==="."||t===".."||t.endsWith("/.."))&&(t+="/"),Ar.test(t)){let o=new URL(t,e.parentURL);return o.pathname=Hr.join(o.pathname,"index"),await qs(o.toString(),e,r,!0)}try{return await Kw(t,e,r,n)}catch(o){if(o instanceof Error){fe(3,"resolveDirectory error",{specifier:t,context:e,error:o});let s=o;if(s.code==="ERR_UNSUPPORTED_DIR_IMPORT"){let i=Hs(s);if(i)try{return await qs(`${i}/index`,e,r,!0)}catch(l){let c=l,{message:f}=c;throw c.message=c.message.replace(`${"/index".replace("/",Hr.sep)}'`,"'"),c.stack=c.stack.replace(f,c.message),c}}}throw o}},"resolveDirectory"),lm=ne((t,e,r,n)=>{if(fe(3,"resolveDirectorySync",{specifier:t,context:e,isDirectory:Ar.test(t)}),(t==="."||t===".."||t.endsWith("/.."))&&(t+="/"),Ar.test(t)){let o=vm(e);if(o&&!Jr(t))return gc(t,e,r,n);let s=new URL(t,e.parentURL);return s.pathname=Hr.join(s.pathname,"index"),o?vo(wc(s),e,r,!1)??gc(t,e,r,n):vo(s.toString(),e,r,!0)}try{return gc(t,e,r,n)}catch(o){if(o instanceof Error){fe(3,"resolveDirectorySync error",{specifier:t,context:e,error:o});let s=o;if(s.code==="ERR_UNSUPPORTED_DIR_IMPORT"){let i=Hs(s);if(i)try{return vo(`${i}/index`,e,r,!0)}catch(l){let c=l,{message:f}=c;throw c.message=c.message.replace(`${"/index".replace("/",Hr.sep)}'`,"'"),c.stack=c.stack.replace(f,c.message),c}}}throw o}},"resolveDirectorySync"),Ww=ne(async(t,e,r,n)=>{let o=xm(t);if(fe(3,"resolveTsPaths",{specifier:t,context:e,tsconfigPathAliasSpecifier:o,tsconfig:n.parsedTsconfig,fromNodeModules:e.parentURL?.includes("/node_modules/")}),o&&n.parsedTsconfig&&!e.parentURL?.includes("/node_modules/")){let s=Ns(n.parsedTsconfig,t);fe(3,"resolveTsPaths",{possiblePaths:s});for(let i of s)try{return await cm(Lt(i).toString(),e,r,n)}catch{}}return cm(t,e,r,n)},"resolveTsPaths"),Gw=ne((t,e,r,n)=>{let o=xm(t);if(fe(3,"resolveTsPathsSync",{specifier:t,context:e,tsconfigPathAliasSpecifier:o,tsconfig:n.parsedTsconfig,fromNodeModules:e.parentURL?.includes("/node_modules/")}),o&&n.parsedTsconfig&&!e.parentURL?.includes("/node_modules/")){let s=Ns(n.parsedTsconfig,t);fe(3,"resolveTsPathsSync",{possiblePaths:s});for(let i of s)try{return lm(Lt(i).toString(),e,r,n)}catch{}}return lm(t,e,r,n)},"resolveTsPathsSync"),Js="tsx://",yc=ne((t,e)=>`${t}${t.includes("?")?"&":"?"}${e}`,"addQuery"),Cm=ne((t,e,r)=>{if(e!=="commonjs"||!t.startsWith(ht)||!Us.test(t))return t;let n=new URL(t),o=[bc(n.search,[br]),...r?[`namespace=${encodeURIComponent(r)}`]:[]].filter(Boolean).join("&");return o?(n.pathname+=`%3F${o}`,n.searchParams.set(ko,"1"),n.toString()):t},"preserveCommonJsQueryIdentity"),qw=ne(t=>{let e=ne(async(r,n,o)=>{if(!t.active||r.startsWith("node:"))return o(r,n);let s=Vr(r)??(n.parentURL&&Vr(n.parentURL));if(t.namespace){let u;if(r.startsWith(Js)){try{u=JSON.parse(r.slice(Js.length))}catch{}u?.namespace&&(s=u.namespace)}if(t.namespace!==s)return o(r,n);u&&(r=u.specifier,n.parentURL=u.parentURL)}let[i,l]=r.split("?"),c=await Ww(i,n,o,t);if(fe(2,"nextResolve",{resolved:c}),c.format==="builtin")return c;(!c.format||c.format==="commonjs-typescript"||c.format==="module-typescript")&&c.url.startsWith(ht)&&(c.format=await Iw(c.url),fe(2,"getFormatFromFileUrl",{resolved:c,format:c.format})),l&&(c.url+=`?${l}`);let f=n.parentURL&&c.format==="commonjs"&&Us.test(c.url)&&(n.parentURL.includes(im)||Ow(n.parentURL,r,Uw));return s&&!c.url.includes(br)&&(c.url=yc(c.url,`${br}${s}`)),f&&(c.url=yc(c.url,im)),(s||f)&&(c.url=Cm(c.url,c.format,s)),c},"resolve2");return yr?async(r,n,o)=>{fe(2,"resolve",{specifier:r,context:n});let s=await e(r,n,o);return fe(1,"resolved",{specifier:r,context:n,result:s}),s}:e},"createResolve"),Jw=ne(t=>{let e=ne((r,n,o)=>{if(!t.active||r.startsWith("node:")||vm(n)&&Fs())return o(r,n);let s=Vr(r)??(n.parentURL&&Vr(n.parentURL));if(t.namespace){let f;if(r.startsWith(Js)){try{f=JSON.parse(r.slice(Js.length))}catch{}f?.namespace&&(s=f.namespace)}if(t.namespace!==s)return o(r,n);f&&(r=f.specifier,n.parentURL=f.parentURL)}let[i,l]=r.split("?"),c=Gw(i,n,o,t);return fe(2,"nextResolve",{resolved:c}),c.format==="builtin"||((!c.format||c.format==="commonjs-typescript"||c.format==="module-typescript")&&c.url.startsWith(ht)&&(c.format=Bw(c.url),fe(2,"getFormatFromFileUrlSync",{resolved:c,format:c.format})),l&&(c.url+=`?${l}`),s&&!c.url.includes(br)&&(c.url=yc(c.url,`${br}${s}`)),c.url=Cm(c.url,c.format,s)),c},"resolve2");return yr?(r,n,o)=>{fe(2,"resolveSync",{specifier:r,context:n});let s=e(r,n,o);return fe(1,"resolvedSync",{specifier:r,context:n,result:s}),s}:e},"createResolveSync"),Sk=qw(Co),um=ne(t=>(e,r)=>{if(!r)throw new Error("The current file path (import.meta.url) must be provided in the second argument of tsImport()");let n=r.startsWith(ht)?r:Lt(r).toString();return import(`tsx://${JSON.stringify({specifier:e,parentURL:n,namespace:t})}`)},"createScopedImport"),dm=!1,Yw=ne(t=>{let e=[];for(let r=0;r<t.length;r+=1){let n=t[r];if(n==="--import"){let o=t[r+1];o&&e.push(o),r+=1}else n.startsWith("--import=")&&e.push(n.slice(9))}return e},"collectImportSpecifiers"),Hw=ne(()=>[...(process.env.NODE_OPTIONS??"").matchAll(/(?:^|\s)--import(?:=|\s+)(\S+)/g)].map(([,t])=>t),"collectNodeOptionsImportSpecifiers"),fm=[new URL("loader.mjs",import.meta.url).toString(),new URL("esm/index.mjs",import.meta.url).toString()],Vw=new Set(["tsx","tsx/esm",...fm,...fm.map(t=>decodeURI(new URL(t).pathname))]),zw=ne(t=>Vw.has(t),"isTsxImport"),km=ne(t=>/\.(?:[cm]?ts|tsx)(?:[?#].*)?$/.test(t),"isTypeScriptImport"),Xw=ne(()=>{let t=Yw(process.execArgv),e=t.findIndex(zw);return e>0&&t.slice(0,e).some(km)},"hasCliTypeScriptPreload"),Zw=Hw().some(km)||Xw(),mm=typeof Sn.registerHooks=="function"&&vt(Tu)&&!Zw,xc=ne(t=>{if(!Sn.register&&!mm)throw new Error(`This version of Node.js (${process.version}) does not support module.register(). Please upgrade to Node v18.19 or v20.6 and above.`);if(!dm){let{_resolveFilename:l}=Sn;Sn._resolveFilename=(c,...f)=>l(dc(c),...f),dm=!0}let{sourceMapsEnabled:e}=process;if(process.setSourceMapsEnabled(!0),mm){let l=hm({namespace:t?.namespace,onImport:t?.onImport,tsconfig:t?.tsconfig}),c=Sn.registerHooks({load:Fw(l),resolve:Jw(l)}),f=ne(async()=>{l.active=!1,c.deregister(),e===!1&&process.setSourceMapsEnabled(!1)},"unregister2");return t?.namespace&&(f.import=um(t.namespace),f.unregister=f),f}let{port1:r,port2:n}=new Sw;Sn.register(`./esm/index.mjs?${Date.now()}`,{parentURL:import.meta.url,data:{port:n,namespace:t?.namespace,tsconfig:t?.tsconfig},transferList:[n]});let o=t?.onImport,s=o&&(l=>{l.type==="load"&&o(l.url)});s&&(r.on("message",s),r.unref());let i=ne(()=>(e===!1&&process.setSourceMapsEnabled(!1),s&&r.off("message",s),r.postMessage("deactivate"),new Promise(l=>{let c=ne(f=>{f.type==="deactivated"&&(l(),r.off("message",c))},"onDeactivated");r.on("message",c)})),"unregister");return t?.namespace&&(i.import=um(t.namespace),i.unregister=i),i},"register")});var eb,Tm,_n,zs,_m,Im=ve(()=>{ro();Ks();eb=Object.defineProperty,Tm=(t,e)=>eb(t,"name",{value:e,configurable:!0}),zs=Tm((t,e)=>(_n||(_n=Eo({namespace:Date.now().toString()})),_n.require(t,e)),"tsxRequire"),_m=Tm((t,e,r)=>(_n||(_n=Eo({namespace:Date.now().toString()})),_n.resolve(t,e,r)),"resolve");_m.paths=$r.resolve.paths,zs.resolve=_m,zs.main=$r.main,zs.extensions=$r.extensions,zs.cache=$r.cache});var Bm={};xt(Bm,{register:()=>xc,tsImport:()=>nb});var Dk,tb,rb,nb,Rm=ve(()=>{Sm();ro();Ks();Im();to();ks();Dk=ta(ua(),1);os();_s();Va();tb=Object.defineProperty,rb=(t,e)=>tb(t,"name",{value:e,configurable:!0}),nb=rb((t,e)=>{if(!e||typeof e=="object"&&!e.parentURL)throw new Error("The current file path (import.meta.url) must be provided in the second argument of tsImport()");let r=typeof e=="string",n=r?e:e.parentURL,o=Date.now().toString(),s=Eo({namespace:o});return!vt(un)&&!Xf.test(t)&&Vf.test(t)?Promise.resolve(s.require(t,n)):xc({namespace:o,...r?{}:e}).import(t,n)},"tsImport")});function jb(){let t=process.env.AIAIAI_LOG_LEVEL?.toLowerCase();return t&&t in Pc?t:"info"}function ni(t){return Pc[t]>=Pc[jb()]}function oi(t,e,r,n){let s=`[${new Date().toISOString()}] [${t.toUpperCase()}] [${e}]`,i=n?` ${JSON.stringify(n)}`:"";return`${s} ${r}${i}`}var Pc,X,Ke=ve(()=>{"use strict";Pc={debug:0,info:1,warn:2,error:3};X={debug(t,e,r){ni("debug")&&console.error(oi("debug",t,e,r))},info(t,e,r){ni("info")&&console.error(oi("info",t,e,r))},warn(t,e,r){ni("warn")&&console.error(oi("warn",t,e,r))},error(t,e,r){ni("error")&&console.error(oi("error",t,e,r))}}});var ii,Lc,vr,Ro=ve(()=>{"use strict";ii=class extends Error{code;context;timestamp;recoverable;constructor(e,r="UNKNOWN",n){super(e),this.name="AgentError",this.code=r,this.context=n?.context,this.timestamp=Date.now(),this.recoverable=n?.recoverable??!1}},Lc=class{errors=[];maxErrors=100;record(e){this.errors.push({error:e,ts:Date.now()}),this.errors.length>this.maxErrors&&(this.errors=this.errors.slice(-this.maxErrors))}getRecent(e=20){return this.errors.slice(-e)}getByCode(e){return this.errors.filter(r=>r.error.code===e).map(r=>r.error)}getSummary(){let e={};for(let{error:r}of this.errors)e[r.code]=(e[r.code]??0)+1;return e}clear(){this.errors=[]}get count(){return this.errors.length}},vr=new Lc});function eh(){let t=Date.now();return Cr.push(t),Cr=Cr.filter(e=>t-e<Zm),Cr.length>=qb&&!ai?(ai=!0,!0):!1}function ci(){return ai}function th(){ai=!1,Cr=[]}function rh(){let t=Date.now();return Cr=Cr.filter(e=>t-e<Zm),Cr.length}var Cr,ai,qb,Zm,Qc=ve(()=>{"use strict";Cr=[],ai=!1,qb=10,Zm=6e4});var lh={};xt(lh,{getCircuitStats:()=>Po,isReachable:()=>aE,resilientFetch:()=>me});import Jb from"node:dns";import Yb from"node:http";import Hb from"node:https";function Xb(t){try{let e=new URL(t);if(zb.has(e.protocol))return!1;let r=e.hostname;if(r==="localhost"||r==="127.0.0.1"||r==="0.0.0.0"||r==="::1"||r.startsWith("10.")||r.startsWith("192.168.")||r.startsWith("172."))return!1;for(let n of Vb)if(r===n||r.endsWith("."+n))return!0;return!1}catch{return!1}}function Nc(t){let e=Dc.get(t);return e||(e={failures:0,lastFailureTime:0,state:"closed"},Dc.set(t,e)),e}function rE(t){let e=Nc(t);return e.state==="closed"?!0:e.state==="open"?Date.now()-e.lastFailureTime>tE?(e.state="half-open",!0):!1:e.state==="half-open"}function nE(t){let e=Nc(t);e.failures=0,e.state="closed"}function oE(t){let e=Nc(t);e.failures++,e.lastFailureTime=Date.now(),e.failures>=eE&&(e.state="open")}function iE(t){let e=Date.now(),n=(ah.get(t)??[]).filter(o=>e-o<sE);return ah.set(t,n),n.length>=ch?!1:(n.push(e),!0)}async function me(t,e={}){let{timeout:r=8e3,retries:n=2,backoffMs:o=1e3,onRetry:s,method:i="GET",headers:l,body:c,signal:f}=e;if(ci())throw new Error("Panic mode active \u2014 external calls paused. Use /resume to continue.");if(!Xb(t))throw new Error(`Blocked: URL '${t}' is not in the allowed outbound hosts list`);let u=new URL(t).hostname;if(!iE(u))throw new Error(`Rate limit exceeded for ${u} (max ${ch} req/min)`);if(!rE(u))throw new Error("Circuit open for "+u+" - service unavailable, retry later");let a=null,h=[r,Math.max(2e3,Math.floor(r/2)),Math.max(2e3,Math.floor(r/4))];for(let p=0;p<=n;p++){let A=new AbortController,C=h[Math.min(p,h.length-1)],g=setTimeout(()=>A.abort(),C);f&&(f.aborted?A.abort():f.addEventListener("abort",()=>A.abort(),{once:!0}));try{let w=new URL(t),$=w.hostname,k=Date.now(),I=nh.get($),v=oh.get($);if(!I||!v||k-v>Zb)try{Jb.resolve4($,(Q,O)=>{!Q&&O&&O.length>0&&(nh.set($,O[0]),oh.set($,k))})}catch{}let S=w.protocol==="https:"?ih:sh,B={...l&&Object.fromEntries(Object.entries(l).filter(([Q])=>!["user-agent","x-powered-by","server","x-requested-with"].includes(Q.toLowerCase()))),"Accept-Encoding":"gzip","User-Agent":"AIAIAI-Agent/1.0"},U={signal:A.signal,method:i,headers:B,body:c};(w.protocol==="https:"||w.protocol==="http:")&&(U.agent=w.protocol==="https:"?ih:sh);let D=await fetch(t,U);if(clearTimeout(g),!D.ok){if([429,502,503,504].includes(D.status)&&p<n){let Q=parseInt(D.headers.get("retry-after")||"0")*1e3,O=Q>0?Q:o*Math.pow(2,p);clearTimeout(g),await new Promise(L=>setTimeout(L,O));continue}throw new Error("HTTP "+D.status+": "+D.statusText)}return nE(u),D}catch(w){if(clearTimeout(g),a=w instanceof Error?w:new Error(String(w)),p<n){s?.(p+1,a);let $=o*Math.pow(2,p),k=$*.2*(Math.random()*2-1);await new Promise(I=>setTimeout(I,$+k))}}}if(oE(u),eh(),a){let p=new ii(a.message,"NETWORK_ERROR",{context:{url:t,attempts:n+1},recoverable:!0});vr.record(p)}throw a}function Po(){let t=[];for(let[e,r]of Dc)t.push({key:e,state:r.state,failures:r.failures,lastFailureTime:r.lastFailureTime});return t}async function aE(t,e=5e3){try{let r=new AbortController,n=setTimeout(()=>r.abort(),e),o=await fetch(t,{signal:r.signal});return clearTimeout(n),o.ok}catch{return!1}}var Vb,zb,nh,Zb,oh,Dc,eE,tE,sh,ih,ah,ch,sE,pt=ve(()=>{"use strict";Ro();Qc();Vb=new Set(["api.dexscreener.com","openrouter.ai","api.mainnet-beta.solana.com","rpc.ankr.com","solana-api.projectserum.com","api.alternative.me","api.coingecko.com","pro-api.coinmarketcap.com","api.llama.fi","api.binance.com","fapi.binance.com","api.telegram.org","discord.com","hooks.slack.com","googleapis.com","api.openai.com","api.anthropic.com","generativelanguage.googleapis.com","api.mistral.ai","api.cohere.ai","api.together.xyz","api.groq.com","api.deepinfra.com","api.endpoints.anyscale.com","api.perplexity.ai","api.fireworks.ai","api.ai21.com"]),zb=new Set(["file:","ftp:","gopher:","javascript:","data:"]);nh=new Map,Zb=5*601e3,oh=new Map,Dc=new Map,eE=3,tE=6e4,sh=new Yb.Agent({keepAlive:!0,maxSockets:10,maxFreeSockets:5}),ih=new Hb.Agent({keepAlive:!0,maxSockets:10,maxFreeSockets:5});ah=new Map,ch=60,sE=6e4});var er=Je((YS,mh)=>{"use strict";var dh=["nodebuffer","arraybuffer","fragments"],fh=typeof Blob<"u";fh&&dh.push("blob");mh.exports={BINARY_TYPES:dh,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:fh,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var $o=Je((HS,ui)=>{"use strict";var{EMPTY_BUFFER:uE}=er(),Mc=Buffer[Symbol.species];function dE(t,e){if(t.length===0)return uE;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),n=0;for(let o=0;o<t.length;o++){let s=t[o];r.set(s,n),n+=s.length}return n<e?new Mc(r.buffer,r.byteOffset,n):r}function hh(t,e,r,n,o){for(let s=0;s<o;s++)r[n+s]=t[s]^e[s&3]}function ph(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function fE(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Fc(t){if(Fc.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Mc(t):ArrayBuffer.isView(t)?e=new Mc(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Fc.readOnly=!1),e}ui.exports={concat:dE,mask:hh,toArrayBuffer:fE,toBuffer:Fc,unmask:ph};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=ae("bufferutil");ui.exports.mask=function(e,r,n,o,s){s<48?hh(e,r,n,o,s):t.mask(e,r,n,o,s)},ui.exports.unmask=function(e,r){e.length<32?ph(e,r):t.unmask(e,r)}}catch{}});var yh=Je((VS,Ah)=>{"use strict";var gh=Symbol("kDone"),Uc=Symbol("kRun"),jc=class{constructor(e){this[gh]=()=>{this.pending--,this[Uc]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Uc]()}[Uc](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[gh])}}};Ah.exports=jc});var Ln=Je((zS,xh)=>{"use strict";var Lo=ae("zlib"),wh=$o(),mE=yh(),{kStatusCode:bh}=er(),hE=Buffer[Symbol.species],pE=Buffer.from([0,0,255,255]),fi=Symbol("permessage-deflate"),tr=Symbol("total-length"),On=Symbol("callback"),kr=Symbol("buffers"),$n=Symbol("error"),di,Kc=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!di){let r=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;di=new mE(r)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[On];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,n=e.find(o=>!(r.serverNoContextTakeover===!1&&o.server_no_context_takeover||o.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>o.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!o.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(n.server_no_context_takeover=!0),r.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(n.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?n.client_max_window_bits=r.clientMaxWindowBits:(n.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(n=>{let o=r[n];if(o.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(o=o[0],n==="client_max_window_bits"){if(o!==!0){let s=+o;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${o}`);o=s}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${o}`)}else if(n==="server_max_window_bits"){let s=+o;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${o}`);o=s}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(o!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${o}`)}else throw new Error(`Unknown parameter "${n}"`);r[n]=o})}),e}decompress(e,r,n){di.add(o=>{this._decompress(e,r,(s,i)=>{o(),n(s,i)})})}compress(e,r,n){di.add(o=>{this._compress(e,r,(s,i)=>{o(),n(s,i)})})}_decompress(e,r,n){let o=this._isServer?"client":"server";if(!this._inflate){let s=`${o}_max_window_bits`,i=typeof this.params[s]!="number"?Lo.Z_DEFAULT_WINDOWBITS:this.params[s];this._inflate=Lo.createInflateRaw({...this._options.zlibInflateOptions,windowBits:i}),this._inflate[fi]=this,this._inflate[tr]=0,this._inflate[kr]=[],this._inflate.on("error",AE),this._inflate.on("data",Eh)}this._inflate[On]=n,this._inflate.write(e),r&&this._inflate.write(pE),this._inflate.flush(()=>{let s=this._inflate[$n];if(s){this._inflate.close(),this._inflate=null,n(s);return}let i=wh.concat(this._inflate[kr],this._inflate[tr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[tr]=0,this._inflate[kr]=[],r&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),n(null,i)})}_compress(e,r,n){let o=this._isServer?"server":"client";if(!this._deflate){let s=`${o}_max_window_bits`,i=typeof this.params[s]!="number"?Lo.Z_DEFAULT_WINDOWBITS:this.params[s];this._deflate=Lo.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:i}),this._deflate[tr]=0,this._deflate[kr]=[],this._deflate.on("data",gE)}this._deflate[On]=n,this._deflate.write(e),this._deflate.flush(Lo.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let s=wh.concat(this._deflate[kr],this._deflate[tr]);r&&(s=new hE(s.buffer,s.byteOffset,s.length-4)),this._deflate[On]=null,this._deflate[tr]=0,this._deflate[kr]=[],r&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),n(null,s)})}};xh.exports=Kc;function gE(t){this[kr].push(t),this[tr]+=t.length}function Eh(t){if(this[tr]+=t.length,this[fi]._maxPayload<1||this[tr]<=this[fi]._maxPayload){this[kr].push(t);return}this[$n]=new RangeError("Max payload size exceeded"),this[$n].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[$n][bh]=1009,this.removeListener("data",Eh),this.reset()}function AE(t){if(this[fi]._inflate=null,this[$n]){this[On](this[$n]);return}t[bh]=1007,this[On](t)}});var Qn=Je((XS,mi)=>{"use strict";var{isUtf8:vh}=ae("buffer"),{hasBlob:yE}=er(),wE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function bE(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Wc(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function EE(t){return yE&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}mi.exports={isBlob:EE,isValidStatusCode:bE,isValidUTF8:Wc,tokenChars:wE};if(vh)mi.exports.isValidUTF8=function(t){return t.length<24?Wc(t):vh(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=ae("utf-8-validate");mi.exports.isValidUTF8=function(e){return e.length<32?Wc(e):t(e)}}catch{}});var Hc=Je((ZS,Bh)=>{"use strict";var{Writable:xE}=ae("stream"),Ch=Ln(),{BINARY_TYPES:vE,EMPTY_BUFFER:kh,kStatusCode:CE,kWebSocket:kE}=er(),{concat:Gc,toArrayBuffer:SE,unmask:_E}=$o(),{isValidStatusCode:TE,isValidUTF8:Sh}=Qn(),hi=Buffer[Symbol.species],It=0,_h=1,Th=2,Ih=3,qc=4,Jc=5,pi=6,Yc=class extends xE{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||vE[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[kE]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=It}_write(e,r,n){if(this._opcode===8&&this._state==It)return n();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){n(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new hi(n.buffer,n.byteOffset+e,n.length-e),new hi(n.buffer,n.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let n=this._buffers[0],o=r.length-e;e>=n.length?r.set(this._buffers.shift(),o):(r.set(new Uint8Array(n.buffer,n.byteOffset,e),o),this._buffers[0]=new hi(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case It:this.getInfo(e);break;case _h:this.getPayloadLength16(e);break;case Th:this.getPayloadLength64(e);break;case Ih:this.getMask();break;case qc:this.getData(e);break;case Jc:case pi:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let o=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(o);return}let n=(r[0]&64)===64;if(n&&!this._extensions[Ch.extensionName]){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(n){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(!this._fragmented){let o=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let o=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(o);return}if(n){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let o=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(o);return}}else{let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let o=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(o);return}}else if(this._masked){let o=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(o);return}this._payloadLength===126?this._state=_h:this._payloadLength===127?this._state=Th:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),n=r.readUInt32BE(0);if(n>Math.pow(2,21)-1){let o=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(o);return}this._payloadLength=n*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=Ih:this._state=qc}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=qc}getData(e){let r=kh;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&_E(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Jc,this.decompress(r,e);return}if(r.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let n=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(n);return}this._messageLength=this._totalPayloadLength,this._fragments.push(r)}this.dataMessage(e)}decompress(e,r){this._extensions[Ch.extensionName].decompress(e,this._fin,(o,s)=>{if(o)return r(o);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let i=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(i);return}if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");r(i);return}this._fragments.push(s)}this.dataMessage(r),this._state===It&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=It;return}let r=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let o;this._binaryType==="nodebuffer"?o=Gc(n,r):this._binaryType==="arraybuffer"?o=SE(Gc(n,r)):this._binaryType==="blob"?o=new Blob(n):o=n,this._allowSynchronousEvents?(this.emit("message",o,!0),this._state=It):(this._state=pi,setImmediate(()=>{this.emit("message",o,!0),this._state=It,this.startLoop(e)}))}else{let o=Gc(n,r);if(!this._skipUTF8Validation&&!Sh(o)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(s);return}this._state===Jc||this._allowSynchronousEvents?(this.emit("message",o,!1),this._state=It):(this._state=pi,setImmediate(()=>{this.emit("message",o,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,kh),this.end();else{let n=e.readUInt16BE(0);if(!TE(n)){let s=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(s);return}let o=new hi(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Sh(o)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(s);return}this._loop=!1,this.emit("conclude",n,o),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=pi,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(r)}))}createError(e,r,n,o,s){this._loop=!1,this._errored=!0;let i=new e(n?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(i,this.createError),i.code=s,i[CE]=o,i}};Bh.exports=Yc});var Xc=Je((t_,Oh)=>{"use strict";var{Duplex:e_}=ae("stream"),{randomFillSync:IE}=ae("crypto"),{types:{isUint8Array:BE}}=ae("util"),Rh=Ln(),{EMPTY_BUFFER:RE,kWebSocket:PE,NOOP:OE}=er(),{isBlob:Dn,isValidStatusCode:$E}=Qn(),{mask:Ph,toBuffer:Zr}=$o(),Bt=Symbol("kByteLength"),LE=Buffer.alloc(4),gi=8*1024,en,Nn=gi,Nt=0,QE=1,DE=2,Vc=class t{constructor(e,r,n){this._extensions=r||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Nt,this.onerror=OE,this[PE]=void 0}static frame(e,r){let n,o=!1,s=2,i=!1;r.mask&&(n=r.maskBuffer||LE,r.generateMask?r.generateMask(n):(Nn===gi&&(en===void 0&&(en=Buffer.alloc(gi)),IE(en,0,gi),Nn=0),n[0]=en[Nn++],n[1]=en[Nn++],n[2]=en[Nn++],n[3]=en[Nn++]),i=(n[0]|n[1]|n[2]|n[3])===0,s=6);let l;typeof e=="string"?(!r.mask||i)&&r[Bt]!==void 0?l=r[Bt]:(e=Buffer.from(e),l=e.length):(l=e.length,o=r.mask&&r.readOnly&&!i);let c=l;l>=65536?(s+=8,c=127):l>125&&(s+=2,c=126);let f=Buffer.allocUnsafe(o?l+s:s);return f[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(f[0]|=64),f[1]=c,c===126?f.writeUInt16BE(l,2):c===127&&(f[2]=f[3]=0,f.writeUIntBE(l,4,6)),r.mask?(f[1]|=128,f[s-4]=n[0],f[s-3]=n[1],f[s-2]=n[2],f[s-1]=n[3],i?[f,e]:o?(Ph(e,n,f,s,l),[f]):(Ph(e,n,e,0,l),[f,e])):[f,e]}close(e,r,n,o){let s;if(e===void 0)s=RE;else{if(typeof e!="number"||!$E(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)s=Buffer.allocUnsafe(2),s.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");if(s=Buffer.allocUnsafe(2+l),s.writeUInt16BE(e,0),typeof r=="string")s.write(r,2);else if(BE(r))s.set(r,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let i={[Bt]:s.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Nt?this.enqueue([this.dispatch,s,!1,i,o]):this.sendFrame(t.frame(s,i),o)}ping(e,r,n){let o,s;if(typeof e=="string"?(o=Buffer.byteLength(e),s=!1):Dn(e)?(o=e.size,s=!1):(e=Zr(e),o=e.length,s=Zr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[Bt]:o,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:s,rsv1:!1};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,!1,i,n]):this.getBlobData(e,!1,i,n):this._state!==Nt?this.enqueue([this.dispatch,e,!1,i,n]):this.sendFrame(t.frame(e,i),n)}pong(e,r,n){let o,s;if(typeof e=="string"?(o=Buffer.byteLength(e),s=!1):Dn(e)?(o=e.size,s=!1):(e=Zr(e),o=e.length,s=Zr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[Bt]:o,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:s,rsv1:!1};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,!1,i,n]):this.getBlobData(e,!1,i,n):this._state!==Nt?this.enqueue([this.dispatch,e,!1,i,n]):this.sendFrame(t.frame(e,i),n)}send(e,r,n){let o=this._extensions[Rh.extensionName],s=r.binary?2:1,i=r.compress,l,c;typeof e=="string"?(l=Buffer.byteLength(e),c=!1):Dn(e)?(l=e.size,c=!1):(e=Zr(e),l=e.length,c=Zr.readOnly),this._firstFragment?(this._firstFragment=!1,i&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=l>=o._threshold),this._compress=i):(i=!1,s=0),r.fin&&(this._firstFragment=!0);let f={[Bt]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:s,readOnly:c,rsv1:i};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,this._compress,f,n]):this.getBlobData(e,this._compress,f,n):this._state!==Nt?this.enqueue([this.dispatch,e,this._compress,f,n]):this.dispatch(e,this._compress,f,n)}getBlobData(e,r,n,o){this._bufferedBytes+=n[Bt],this._state=DE,e.arrayBuffer().then(s=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(zc,this,l,o);return}this._bufferedBytes-=n[Bt];let i=Zr(s);r?this.dispatch(i,r,n,o):(this._state=Nt,this.sendFrame(t.frame(i,n),o),this.dequeue())}).catch(s=>{process.nextTick(NE,this,s,o)})}dispatch(e,r,n,o){if(!r){this.sendFrame(t.frame(e,n),o);return}let s=this._extensions[Rh.extensionName];this._bufferedBytes+=n[Bt],this._state=QE,s.compress(e,n.fin,(i,l)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");zc(this,c,o);return}this._bufferedBytes-=n[Bt],this._state=Nt,n.readOnly=!1,this.sendFrame(t.frame(l,n),o),this.dequeue()})}dequeue(){for(;this._state===Nt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Bt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Bt],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};Oh.exports=Vc;function zc(t,e,r){typeof r=="function"&&r(e);for(let n=0;n<t._queue.length;n++){let o=t._queue[n],s=o[o.length-1];typeof s=="function"&&s(e)}}function NE(t,e,r){zc(t,e,r),t.onerror(e)}});var jh=Je((r_,Uh)=>{"use strict";var{kForOnEventAttribute:Qo,kListener:Zc}=er(),$h=Symbol("kCode"),Lh=Symbol("kData"),Qh=Symbol("kError"),Dh=Symbol("kMessage"),Nh=Symbol("kReason"),Mn=Symbol("kTarget"),Mh=Symbol("kType"),Fh=Symbol("kWasClean"),rr=class{constructor(e){this[Mn]=null,this[Mh]=e}get target(){return this[Mn]}get type(){return this[Mh]}};Object.defineProperty(rr.prototype,"target",{enumerable:!0});Object.defineProperty(rr.prototype,"type",{enumerable:!0});var tn=class extends rr{constructor(e,r={}){super(e),this[$h]=r.code===void 0?0:r.code,this[Nh]=r.reason===void 0?"":r.reason,this[Fh]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[$h]}get reason(){return this[Nh]}get wasClean(){return this[Fh]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Fn=class extends rr{constructor(e,r={}){super(e),this[Qh]=r.error===void 0?null:r.error,this[Dh]=r.message===void 0?"":r.message}get error(){return this[Qh]}get message(){return this[Dh]}};Object.defineProperty(Fn.prototype,"error",{enumerable:!0});Object.defineProperty(Fn.prototype,"message",{enumerable:!0});var Do=class extends rr{constructor(e,r={}){super(e),this[Lh]=r.data===void 0?null:r.data}get data(){return this[Lh]}};Object.defineProperty(Do.prototype,"data",{enumerable:!0});var ME={addEventListener(t,e,r={}){for(let o of this.listeners(t))if(!r[Qo]&&o[Zc]===e&&!o[Qo])return;let n;if(t==="message")n=function(s,i){let l=new Do("message",{data:i?s:s.toString()});l[Mn]=this,Ai(e,this,l)};else if(t==="close")n=function(s,i){let l=new tn("close",{code:s,reason:i.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[Mn]=this,Ai(e,this,l)};else if(t==="error")n=function(s){let i=new Fn("error",{error:s,message:s.message});i[Mn]=this,Ai(e,this,i)};else if(t==="open")n=function(){let s=new rr("open");s[Mn]=this,Ai(e,this,s)};else return;n[Qo]=!!r[Qo],n[Zc]=e,r.once?this.once(t,n):this.on(t,n)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Zc]===e&&!r[Qo]){this.removeListener(t,r);break}}};Uh.exports={CloseEvent:tn,ErrorEvent:Fn,Event:rr,EventTarget:ME,MessageEvent:Do};function Ai(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var yi=Je((n_,Kh)=>{"use strict";var{tokenChars:No}=Qn();function Kt(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function FE(t){let e=Object.create(null),r=Object.create(null),n=!1,o=!1,s=!1,i,l,c=-1,f=-1,u=-1,a=0;for(;a<t.length;a++)if(f=t.charCodeAt(a),i===void 0)if(u===-1&&No[f]===1)c===-1&&(c=a);else if(a!==0&&(f===32||f===9))u===-1&&c!==-1&&(u=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);u===-1&&(u=a);let p=t.slice(c,u);f===44?(Kt(e,p,r),r=Object.create(null)):i=p,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${a}`);else if(l===void 0)if(u===-1&&No[f]===1)c===-1&&(c=a);else if(f===32||f===9)u===-1&&c!==-1&&(u=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);u===-1&&(u=a),Kt(r,t.slice(c,u),!0),f===44&&(Kt(e,i,r),r=Object.create(null),i=void 0),c=u=-1}else if(f===61&&c!==-1&&u===-1)l=t.slice(c,a),c=u=-1;else throw new SyntaxError(`Unexpected character at index ${a}`);else if(o){if(No[f]!==1)throw new SyntaxError(`Unexpected character at index ${a}`);c===-1?c=a:n||(n=!0),o=!1}else if(s)if(No[f]===1)c===-1&&(c=a);else if(f===34&&c!==-1)s=!1,u=a;else if(f===92)o=!0;else throw new SyntaxError(`Unexpected character at index ${a}`);else if(f===34&&t.charCodeAt(a-1)===61)s=!0;else if(u===-1&&No[f]===1)c===-1&&(c=a);else if(c!==-1&&(f===32||f===9))u===-1&&(u=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);u===-1&&(u=a);let p=t.slice(c,u);n&&(p=p.replace(/\\/g,""),n=!1),Kt(r,l,p),f===44&&(Kt(e,i,r),r=Object.create(null),i=void 0),l=void 0,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${a}`);if(c===-1||s||f===32||f===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=a);let h=t.slice(c,u);return i===void 0?Kt(e,h,r):(l===void 0?Kt(r,h,!0):n?Kt(r,l,h.replace(/\\/g,"")):Kt(r,l,h),Kt(e,i,r)),e}function UE(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(n=>[e].concat(Object.keys(n).map(o=>{let s=n[o];return Array.isArray(s)||(s=[s]),s.map(i=>i===!0?o:`${o}=${i}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Kh.exports={format:UE,parse:FE}});var xi=Je((i_,tp)=>{"use strict";var jE=ae("events"),KE=ae("https"),WE=ae("http"),qh=ae("net"),GE=ae("tls"),{randomBytes:qE,createHash:JE}=ae("crypto"),{Duplex:o_,Readable:s_}=ae("stream"),{URL:el}=ae("url"),Sr=Ln(),YE=Hc(),HE=Xc(),{isBlob:VE}=Qn(),{BINARY_TYPES:Wh,CLOSE_TIMEOUT:zE,EMPTY_BUFFER:wi,GUID:XE,kForOnEventAttribute:tl,kListener:ZE,kStatusCode:ex,kWebSocket:We,NOOP:Jh}=er(),{EventTarget:{addEventListener:tx,removeEventListener:rx}}=jh(),{format:nx,parse:ox}=yi(),{toBuffer:sx}=$o(),Yh=Symbol("kAborted"),rl=[8,13],nr=["CONNECTING","OPEN","CLOSING","CLOSED"],ix=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Be=class t extends jE{constructor(e,r,n){super(),this._binaryType=Wh[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=wi,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(n=r,r=[]):r=[r]),Hh(this,e,r,n)):(this._autoPong=n.autoPong,this._closeTimeout=n.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Wh.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,n){let o=new YE({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:n.maxBufferedChunks,maxFragments:n.maxFragments,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),s=new HE(e,this._extensions,n.generateMask);this._receiver=o,this._sender=s,this._socket=e,o[We]=this,s[We]=this,e[We]=this,o.on("conclude",lx),o.on("drain",ux),o.on("error",dx),o.on("message",fx),o.on("ping",mx),o.on("pong",hx),s.onerror=px,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",Xh),e.on("data",Ei),e.on("end",Zh),e.on("error",ep),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Sr.extensionName]&&this._extensions[Sr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){bt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),zh(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){nl(this,e,n);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||wi,r,n)}pong(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){nl(this,e,n);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||wi,r,n)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(n=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){nl(this,e,n);return}let o={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[Sr.extensionName]||(o.compress=!1),this._sender.send(e||wi,o,n)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){bt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(Be,"CONNECTING",{enumerable:!0,value:nr.indexOf("CONNECTING")});Object.defineProperty(Be.prototype,"CONNECTING",{enumerable:!0,value:nr.indexOf("CONNECTING")});Object.defineProperty(Be,"OPEN",{enumerable:!0,value:nr.indexOf("OPEN")});Object.defineProperty(Be.prototype,"OPEN",{enumerable:!0,value:nr.indexOf("OPEN")});Object.defineProperty(Be,"CLOSING",{enumerable:!0,value:nr.indexOf("CLOSING")});Object.defineProperty(Be.prototype,"CLOSING",{enumerable:!0,value:nr.indexOf("CLOSING")});Object.defineProperty(Be,"CLOSED",{enumerable:!0,value:nr.indexOf("CLOSED")});Object.defineProperty(Be.prototype,"CLOSED",{enumerable:!0,value:nr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(Be.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(Be.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[tl])return e[ZE];return null},set(e){for(let r of this.listeners(t))if(r[tl]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[tl]:!0})}})});Be.prototype.addEventListener=tx;Be.prototype.removeEventListener=rx;tp.exports=Be;function Hh(t,e,r,n){let o={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:zE,protocolVersion:rl[1],maxBufferedChunks:1048576,maxFragments:131072,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=o.autoPong,t._closeTimeout=o.closeTimeout,!rl.includes(o.protocolVersion))throw new RangeError(`Unsupported protocol version: ${o.protocolVersion} (supported versions: ${rl.join(", ")})`);let s;if(e instanceof el)s=e;else try{s=new el(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),t._url=s.href;let i=s.protocol==="wss:",l=s.protocol==="ws+unix:",c;if(s.protocol!=="ws:"&&!i&&!l?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!s.pathname?c="The URL's pathname is empty":s.hash&&(c="The URL contains a fragment identifier"),c){let C=new SyntaxError(c);if(t._redirects===0)throw C;bi(t,C);return}let f=i?443:80,u=qE(16).toString("base64"),a=i?KE.request:WE.request,h=new Set,p;if(o.createConnection=o.createConnection||(i?cx:ax),o.defaultPort=o.defaultPort||f,o.port=s.port||f,o.host=s.hostname.startsWith("[")?s.hostname.slice(1,-1):s.hostname,o.headers={...o.headers,"Sec-WebSocket-Version":o.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},o.path=s.pathname+s.search,o.timeout=o.handshakeTimeout,o.perMessageDeflate&&(p=new Sr({...o.perMessageDeflate,isServer:!1,maxPayload:o.maxPayload}),o.headers["Sec-WebSocket-Extensions"]=nx({[Sr.extensionName]:p.offer()})),r.length){for(let C of r){if(typeof C!="string"||!ix.test(C)||h.has(C))throw new SyntaxError("An invalid or duplicated subprotocol was specified");h.add(C)}o.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(o.origin&&(o.protocolVersion<13?o.headers["Sec-WebSocket-Origin"]=o.origin:o.headers.Origin=o.origin),(s.username||s.password)&&(o.auth=`${s.username}:${s.password}`),l){let C=o.path.split(":");o.socketPath=C[0],o.path=C[1]}let A;if(o.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=i,t._originalHostOrSocketPath=l?o.socketPath:s.host;let C=n&&n.headers;if(n={...n,headers:{}},C)for(let[g,w]of Object.entries(C))n.headers[g.toLowerCase()]=w}else if(t.listenerCount("redirect")===0){let C=l?t._originalIpc?o.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:s.host===t._originalHostOrSocketPath;(!C||t._originalSecure&&!i)&&(delete o.headers.authorization,delete o.headers.cookie,C||delete o.headers.host,o.auth=void 0)}o.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(o.auth).toString("base64")),A=t._req=a(o),t._redirects&&t.emit("redirect",t.url,A)}else A=t._req=a(o);o.timeout&&A.on("timeout",()=>{bt(t,A,"Opening handshake has timed out")}),A.on("error",C=>{A===null||A[Yh]||(A=t._req=null,bi(t,C))}),A.on("response",C=>{let g=C.headers.location,w=C.statusCode;if(g&&o.followRedirects&&w>=300&&w<400){if(++t._redirects>o.maxRedirects){bt(t,A,"Maximum redirects exceeded");return}A.abort();let $;try{$=new el(g,e)}catch{let I=new SyntaxError(`Invalid URL: ${g}`);bi(t,I);return}Hh(t,$,r,n)}else t.emit("unexpected-response",A,C)||bt(t,A,`Unexpected server response: ${C.statusCode}`)}),A.on("upgrade",(C,g,w)=>{if(t.emit("upgrade",C),t.readyState!==Be.CONNECTING)return;A=t._req=null;let $=C.headers.upgrade;if($===void 0||$.toLowerCase()!=="websocket"){bt(t,g,"Invalid Upgrade header");return}let k=JE("sha1").update(u+XE).digest("base64");if(C.headers["sec-websocket-accept"]!==k){bt(t,g,"Invalid Sec-WebSocket-Accept header");return}let I=C.headers["sec-websocket-protocol"],v;if(I!==void 0?h.size?h.has(I)||(v="Server sent an invalid subprotocol"):v="Server sent a subprotocol but none was requested":h.size&&(v="Server sent no subprotocol"),v){bt(t,g,v);return}I&&(t._protocol=I);let S=C.headers["sec-websocket-extensions"];if(S!==void 0){if(!p){bt(t,g,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let B;try{B=ox(S)}catch{bt(t,g,"Invalid Sec-WebSocket-Extensions header");return}let U=Object.keys(B);if(U.length!==1||U[0]!==Sr.extensionName){bt(t,g,"Server indicated an extension that was not requested");return}try{p.accept(B[Sr.extensionName])}catch{bt(t,g,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[Sr.extensionName]=p}t.setSocket(g,w,{allowSynchronousEvents:o.allowSynchronousEvents,generateMask:o.generateMask,maxBufferedChunks:o.maxBufferedChunks,maxFragments:o.maxFragments,maxPayload:o.maxPayload,skipUTF8Validation:o.skipUTF8Validation})}),o.finishRequest?o.finishRequest(A,t):A.end()}function bi(t,e){t._readyState=Be.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function ax(t){return t.path=t.socketPath,qh.connect(t)}function cx(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=qh.isIP(t.host)?"":t.host),GE.connect(t)}function bt(t,e,r){t._readyState=Be.CLOSING;let n=new Error(r);Error.captureStackTrace(n,bt),e.setHeader?(e[Yh]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(bi,t,n)):(e.destroy(n),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function nl(t,e,r){if(e){let n=VE(e)?e.size:sx(e).length;t._socket?t._sender._bufferedBytes+=n:t._bufferedAmount+=n}if(r){let n=new Error(`WebSocket is not open: readyState ${t.readyState} (${nr[t.readyState]})`);process.nextTick(r,n)}}function lx(t,e){let r=this[We];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[We]!==void 0&&(r._socket.removeListener("data",Ei),process.nextTick(Vh,r._socket),t===1005?r.close():r.close(t,e))}function ux(){let t=this[We];t.isPaused||t._socket.resume()}function dx(t){let e=this[We];e._socket[We]!==void 0&&(e._socket.removeListener("data",Ei),process.nextTick(Vh,e._socket),e.close(t[ex])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Gh(){this[We].emitClose()}function fx(t,e){this[We].emit("message",t,e)}function mx(t){let e=this[We];e._autoPong&&e.pong(t,!this._isServer,Jh),e.emit("ping",t)}function hx(t){this[We].emit("pong",t)}function Vh(t){t.resume()}function px(t){let e=this[We];e.readyState!==Be.CLOSED&&(e.readyState===Be.OPEN&&(e._readyState=Be.CLOSING,zh(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function zh(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Xh(){let t=this[We];if(this.removeListener("close",Xh),this.removeListener("data",Ei),this.removeListener("end",Zh),t._readyState=Be.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[We]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Gh),t._receiver.on("finish",Gh))}function Ei(t){this[We]._receiver.write(t)||this.pause()}function Zh(){let t=this[We];t._readyState=Be.CLOSING,t._receiver.end(),this.end()}function ep(){let t=this[We];this.removeListener("error",ep),this.on("error",Jh),t&&(t._readyState=Be.CLOSING,this.destroy())}});var sp=Je((c_,op)=>{"use strict";var a_=xi(),{Duplex:gx}=ae("stream");function rp(t){t.emit("close")}function Ax(){!this.destroyed&&this._writableState.finished&&this.destroy()}function np(t){this.removeListener("error",np),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function yx(t,e){let r=!0,n=new gx({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(s,i){let l=!i&&n._readableState.objectMode?s.toString():s;n.push(l)||t.pause()}),t.once("error",function(s){n.destroyed||(r=!1,n.destroy(s))}),t.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(o,s){if(t.readyState===t.CLOSED){s(o),process.nextTick(rp,n);return}let i=!1;t.once("error",function(c){i=!0,s(c)}),t.once("close",function(){i||s(o),process.nextTick(rp,n)}),r&&t.terminate()},n._final=function(o){if(t.readyState===t.CONNECTING){t.once("open",function(){n._final(o)});return}t._socket!==null&&(t._socket._writableState.finished?(o(),n._readableState.endEmitted&&n.destroy()):(t._socket.once("finish",function(){o()}),t.close()))},n._read=function(){t.isPaused&&t.resume()},n._write=function(o,s,i){if(t.readyState===t.CONNECTING){t.once("open",function(){n._write(o,s,i)});return}t.send(o,i)},n.on("end",Ax),n.on("error",np),n}op.exports=yx});var ol=Je((l_,ip)=>{"use strict";var{tokenChars:wx}=Qn();function bx(t){let e=new Set,r=-1,n=-1,o=0;for(o;o<t.length;o++){let i=t.charCodeAt(o);if(n===-1&&wx[i]===1)r===-1&&(r=o);else if(o!==0&&(i===32||i===9))n===-1&&r!==-1&&(n=o);else if(i===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${o}`);n===-1&&(n=o);let l=t.slice(r,n);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=n=-1}else throw new SyntaxError(`Unexpected character at index ${o}`)}if(r===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let s=t.slice(r,o);if(e.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);return e.add(s),e}ip.exports={parse:bx}});var mp=Je((d_,fp)=>{"use strict";var Ex=ae("events"),vi=ae("http"),{Duplex:u_}=ae("stream"),{createHash:xx}=ae("crypto"),ap=yi(),rn=Ln(),vx=ol(),Cx=xi(),{CLOSE_TIMEOUT:kx,GUID:Sx,kWebSocket:_x}=er(),Tx=/^[+/0-9A-Za-z]{22}==$/,cp=0,lp=1,dp=2,sl=class extends Ex{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:1024*1024,maxFragments:128*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:kx,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Cx,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=vi.createServer((n,o)=>{let s=vi.STATUS_CODES[426];o.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),o.end(s)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=Ix(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(o,s,i)=>{this.handleUpgrade(o,s,i,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=cp}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===dp){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Mo,this);return}if(e&&this.once("close",e),this._state!==lp)if(this._state=lp,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Mo,this):process.nextTick(Mo,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{Mo(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,n,o){r.on("error",up);let s=e.headers["sec-websocket-key"],i=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,r,405,"Invalid HTTP method");return}if(i===void 0||i.toLowerCase()!=="websocket"){nn(this,e,r,400,"Invalid Upgrade header");return}if(s===void 0||!Tx.test(s)){nn(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){nn(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Fo(r,400);return}let c=e.headers["sec-websocket-protocol"],f=new Set;if(c!==void 0)try{f=vx.parse(c)}catch{nn(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],a={};if(this.options.perMessageDeflate&&u!==void 0){let h=new rn({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let p=ap.parse(u);p[rn.extensionName]&&(h.accept(p[rn.extensionName]),a[rn.extensionName]=h)}catch{nn(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let h={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(h,(p,A,C,g)=>{if(!p)return Fo(r,A||401,C,g);this.completeUpgrade(a,s,f,e,r,n,o)});return}if(!this.options.verifyClient(h))return Fo(r,401)}this.completeUpgrade(a,s,f,e,r,n,o)}completeUpgrade(e,r,n,o,s,i,l){if(!s.readable||!s.writable)return s.destroy();if(s[_x])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>cp)return Fo(s,503);let f=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${xx("sha1").update(r+Sx).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(n.size){let a=this.options.handleProtocols?this.options.handleProtocols(n,o):n.values().next().value;a&&(f.push(`Sec-WebSocket-Protocol: ${a}`),u._protocol=a)}if(e[rn.extensionName]){let a=e[rn.extensionName].params,h=ap.format({[rn.extensionName]:[a]});f.push(`Sec-WebSocket-Extensions: ${h}`),u._extensions=e}this.emit("headers",f,o),s.write(f.concat(`\r
91
+ `)},"createLog"),Cn=nm(Cf(Ef(" CJS "))),de=nm(xf(" ESM ")),Ar=new Map,mw=Y(async t=>{if(Ar.has(t))return Ar.get(t);if(!await qr.promises.access(t).then(()=>!0,()=>!1)){Ar.set(t,void 0);return}let e=await qr.promises.readFile(t,"utf8");try{let r=JSON.parse(e);return Ar.set(t,r),r}catch{throw new Error(`Error parsing: ${t}`)}},"readPackageJson"),hw=Y(t=>{if(Ar.has(t))return Ar.get(t);if(!qr.existsSync(t)){Ar.set(t,void 0);return}let e=qr.readFileSync(t,"utf8");try{let r=JSON.parse(e);return Ar.set(t,r),r}catch{throw new Error(`Error parsing: ${t}`)}},"readPackageJsonSync"),pw=Y(async t=>{let e=new URL("package.json",t);for(;!e.pathname.endsWith("/node_modules/package.json");){let r=Qs(e),n=await mw(r);if(n)return n;let o=e;if(e=new URL("../package.json",e),e.pathname===o.pathname)break}},"findPackageJson"),om=Y(t=>{let e=new URL("package.json",t);for(;!e.pathname.endsWith("/node_modules/package.json");){let r=Qs(e),n=hw(r);if(n)return n;let o=e;if(e=new URL("../package.json",e),e.pathname===o.pathname)break}},"findPackageJsonSync"),sm=Y(async t=>(await pw(t))?.type??"commonjs","getPackageType"),im=Y(t=>om(t)?.type??"commonjs","getPackageTypeSync"),gw=Y(t=>om(t)?.type,"getNearestPackageTypeSync"),am=[".js",".json"],lm=[".ts",".tsx",".jsx"],Aw=[...lm,...am],yw=[...am,...lm],Ao=Object.create(null);Ao[".js"]=[".ts",".tsx",".js",".jsx"],Ao[".jsx"]=[".tsx",".ts",".jsx",".js"],Ao[".cjs"]=[".cts"],Ao[".mjs"]=[".mts"];Ks=Y(t=>{let e=t.split("?"),r=e[1]?`?${e[1]}`:"",[n]=e,o=X.extname(n),s=[],i=Ao[o];if(i){let c=n.slice(0,-o.length);s.push(...i.map(f=>c+f+r))}let l=!(t.startsWith(mt)||Jr(n))||n.includes(rm)||n.includes("/node_modules/")?yw:Aw;return s.push(...l.map(c=>n+c+r)),s},"mapTsExtensions"),ul=Y(t=>Array.from(t).length>0?`?${t.toString()}`:"","urlSearchParamsStringify"),ww=[".cts",".mts",".ts",".tsx",".jsx"],bw=[".js",".cjs",".mjs"],Ff=[".ts",".tsx",".jsx"],Uf="module.exports",Ew=Y(t=>{let e=X.extname(t);return e===".mjs"||e===".mts"||(e===".js"||e===".ts")&&gw(py(t).toString())!=="commonjs"},"isRequireEsmCandidate"),nl=Y((t,e,r,n)=>{let o=Object.getOwnPropertyDescriptor(t,e);o?.set?t[e]=r:(!o||o.configurable)&&Object.defineProperty(t,e,{value:r,enumerable:o?.enumerable||n?.enumerable,writable:n?.writable??(o?o.writable:!0),configurable:n?.configurable??(o?o.configurable:!0)})},"safeSet"),xw=Y((t,e,r,n)=>{let o=e[".js"],s=vt(Ou),i=Y((l,c)=>{if(t.enabled===!1)return o(l,c);let[f,d]=c.split("?");if((new URLSearchParams(d).get("namespace")??void 0)!==n)return o(l,c);Cn(2,"load",{filePath:c}),l.id.startsWith("data:text/javascript,")&&(l.path=X.dirname(f)),hr?.send&&hr.send({type:"dependency",path:f});let a=ww.some(w=>f.endsWith(w)),h=bw.some(w=>f.endsWith(w));if(!a&&!h)return o(l,f);let p=qr.readFileSync(f,"utf8"),g=h&&!f.endsWith(".cjs")&&!f.endsWith(".cts")&&mo(p),x=(a||g)&&r&&Ns(r,f)?r.config:void 0;if(f.endsWith(".cjs")){let w=mr(c,p);w&&(p=Mf()?St(w):w.code)}else if(a||g){let w=jr(p,c,{tsconfigRaw:x});p=Mf()?St(w):w.code}Cn(1,"loaded",{filePath:f}),l._compile(p,f),d&&it._cache[f]===l&&(it._cache[c]=l,delete it._cache[f]);let{exports:A}=l;(s&&A&&(typeof A=="object"||typeof A=="function")?Object.getOwnPropertyDescriptor(A,Uf):void 0)?.get&&Ew(f)&&(l.exports=A[Uf])},"transformer");nl(e,".js",i);for(let l of Ff)nl(e,l,i,{enumerable:!n,writable:!0,configurable:!0});return nl(e,".mjs",i,{writable:!0,configurable:!0}),()=>{e[".js"]===i&&(e[".js"]=o);for(let l of[...Ff,".mjs"])e[l]===i&&delete e[l]}},"createExtensions"),vw=Y(t=>e=>{if((e==="."||e===".."||e.endsWith("/.."))&&(e+="/"),yr.test(e)){let r=X.join(e,"index");e.startsWith("./")&&(r=`./${r}`);try{return t(r)}catch{}}try{return t(e)}catch(r){let n=r;if(n.code==="MODULE_NOT_FOUND")try{return t(`${e}${X.sep}index`)}catch{}throw n}},"createImplicitResolver"),Ps=Y((t,e,r,n)=>{if(Cn(3,"resolveTsFilename",{request:e,isDirectory:yr.test(e),isTsParent:r,allowJs:n}),yr.test(e)||!r&&!n)return;let o=Ks(e);if(o)for(let s of o)try{return t(s)}catch(i){let{code:l}=i;if(l!=="MODULE_NOT_FOUND"&&l!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw i}},"resolveTsFilename"),Cw=Y((t,e,r)=>n=>{if(Cn(3,"resolveTsFilename",{request:n,isTsParent:e,isFilePath:Jr(n)}),Jr(n)){let o=Ps(t,n,e,r);if(o)return o}try{return t(n)}catch(o){let s=o;if(s.code==="MODULE_NOT_FOUND"){if(s.path){let l=s.message.match(/^Cannot find module '([^']+)'$/);if(l){let f=l[1],d=Ps(t,f,e,r);if(d)return d}let c=s.message.match(/^Cannot find module '([^']+)'. Please verify that the package.json has a valid "main" entry$/);if(c){let f=c[1],d=Ps(t,f,e,r);if(d)return d}}let i=Ps(t,n,e,r);if(i)return i}throw s}},"createTsExtensionResolver"),jf="at cjsPreparseModuleExports (node:internal",kw=Y(t=>{let e=t.stack.split(`
92
+ `).slice(1);return e[1].includes(jf)||e[2].includes(jf)},"isFromCjsLexer"),Sw=Y((t,e)=>{let r=t.split("?"),n=new URLSearchParams(r[1]);if(e?.filename){let o=Wf(e.filename),s;if(o){let l=o.split("?"),c=l[0];s=l[1];let f=new URLSearchParams(s).get("namespace");e.filename=c,e.path=X.dirname(c),e.paths=it._nodeModulePaths(e.path),f||(it._cache[c]=e)}s||(s=e.filename.split("?")[1]);let i=new URLSearchParams(s).get("namespace");i&&n.append("namespace",i)}return[r[0],n,(o,s)=>(X.isAbsolute(o)&&!o.endsWith(".json")&&!o.endsWith(".node")&&!(s===0&&kw(new Error))&&(o+=ul(n)),o)]},"preserveQuery"),_w=Y((t,e,r,n)=>{if(t.startsWith(mt)&&(t=Qs(t)),n&&!Jr(t)&&!e?.filename?.includes(rm)){let o=Ms(n,t);for(let s of o)try{return r(s)}catch{}}return r(t)},"resolveTsPaths"),Tw=Y((t,e,r,n)=>(o,s,...i)=>{if(t.enabled===!1)return e(o,s,...i);o=dl(o);let[l,c,f]=Sw(o,s);if((c.get("namespace")??void 0)!==n)return e(o,s,...i);Cn(2,"resolve",{request:o,parent:s?.filename??s,restOfArgs:i});let d=Y(h=>e(h,s,...i),"nextResolveSimple");d=Cw(d,!!(n||s?.filename&&br.test(s.filename)),r?.config.compilerOptions?.allowJs??!1),d=vw(d);let a=f(_w(l,s,d,r),i.length);return Cn(1,"resolved",{request:o,parent:s?.filename??s,resolved:a}),a},"createResolveFilename"),Kf=Y((t,e)=>{if(!e)throw new Error("The current file path (__filename or import.meta.url) must be provided in the second argument of tsx.require()");return t.startsWith(".")?((typeof e=="string"&&e.startsWith(mt)||e instanceof URL)&&(e=Qs(e)),X.resolve(X.dirname(e),t)):t},"resolveContext"),Eo=Y(t=>{let{sourceMapsEnabled:e}=process,r={enabled:!0},n=Fs(process.env.TSX_TSCONFIG_PATH);process.setSourceMapsEnabled(!0);let o=it._resolveFilename,s=Tw(r,o,n,t?.namespace);it._resolveFilename=s;let i=xw(r,it._extensions,n,t?.namespace),l=t?.namespace?void 0:fw(),c=Y(()=>{e===!1&&process.setSourceMapsEnabled(!1),r.enabled=!1,it._resolveFilename===s&&(it._resolveFilename=o),i(),l?.()},"unregister");if(t?.namespace){let f=Y((a,h)=>{let p=Kf(a,h),[g,x]=p.split("?"),A=new URLSearchParams(x);return t.namespace&&!g.startsWith("node:")&&A.set("namespace",t.namespace),Or(g+ul(A))},"scopedRequire");c.require=f;let d=Y((a,h,p)=>{let g=Kf(a,h),[x,A]=g.split("?"),w=new URLSearchParams(A);return t.namespace&&!x.startsWith("node:")&&w.set("namespace",t.namespace),s(x+ul(w),module,!1,p)},"scopedResolve");c.resolve=d,c.unregister=c}return c},"register")});import Sn from"node:module";import{MessageChannel as Bw}from"node:worker_threads";import{pathToFileURL as Lt,fileURLToPath as wl}from"node:url";import{readFileSync as Rw}from"node:fs";import{readFile as Pw}from"node:fs/promises";import Vr from"node:path";var Iw,ne,Co,Am,Pk,$k,$w,Ow,Er,Vs,cm,ko,xo,bl,Gs,Lw,Qw,Dw,Hr,um,ym,wm,Nw,Mw,qs,Yr,Fw,El,bm,Em,Uw,xm,jw,vm,Cm,Al,Kw,Ww,Ok,Gw,qw,km,Hs,zs,Sm,Js,vo,Jw,gl,dm,fm,Yw,Vw,Ys,yl,_m,Hw,zw,Lk,mm,hm,Xw,Zw,pm,eb,tb,Tm,rb,nb,gm,xl,Im=xe(()=>{to();Ws();Ss();Ts();Iw=Object.defineProperty,ne=(t,e)=>Iw(t,"name",{value:e,configurable:!0}),Co={active:!0,parsedTsconfig:void 0},Am=ne(t=>{let e={active:!0,namespace:t?.namespace,onImport:t?.onImport,parsedTsconfig:void 0,port:t?.port,tsconfig:t?.tsconfig};return t?.tsconfig!==!1&&(e.parsedTsconfig=Fs(t?.tsconfig??process.env.TSX_TSCONFIG_PATH)),e},"createData"),Pk=ne(async t=>{if(!t)throw new Error(`tsx must be loaded with --import instead of --loader
93
+ The --loader flag was deprecated in Node v20.6.0 and v18.19.0`);Object.assign(Co,Am(t)),t.port&&t.port.on("message",e=>{e==="deactivate"&&(Co.active=!1,t.port.postMessage({type:"deactivated"}))})},"initialize"),$k=ne(()=>(Co.parsedTsconfig=Fs(process.env.TSX_TSCONFIG_PATH),"process.setSourceMapsEnabled(true);"),"globalPreload"),$w=ne(t=>{let{pathname:e}=new URL(t),r=Vr.extname(e);if(r===".mts"||r===".mjs")return"module";if(r===".cts"||r===".cjs")return"commonjs";if(r===".js"||pl.includes(r))return sm(t)},"getFormatFromFileUrl"),Ow=ne(t=>{let{pathname:e}=new URL(t),r=Vr.extname(e);if(r===".mts"||r===".mjs")return"module";if(r===".cts"||r===".cjs")return"commonjs";if(r===".js"||pl.includes(r))return im(t)},"getFormatFromFileUrlSync"),Er="tsx-namespace=",Vs="tsx-commonjs-export-preparse",cm=`${Vs}=1`,ko="tsx-commonjs-virtual-query",xo=new Map,bl=ne((t,e)=>t.slice(1).split("&").filter(r=>r&&e.every(n=>!r.startsWith(n))).join("&"),"getQueryWithoutParameters"),Gs=ne((t,e)=>{let r=bl(t,e);return r?`?${r}`:""},"getSearchWithoutParameters"),Lw=ne(t=>t.replaceAll(/\/\*[\s\S]*?\*\/|\/\/[^\n\r]*/g,""),"stripComments"),Qw=ne(t=>{let e=Lw(t);if(/^\s*export\s*\*/.test(e))return"named";if(/^\s*import\s*\*\s*as\s+[\w$]+/.test(e))return"namespace";let r=e.match(/\{([^}]*)\}/)?.[1];if(r)return r.split(",").some(n=>{let o=n.trim().split(/\s+as\s+/)[0];return!!(o&&o!=="default")})?"named":void 0},"getCommonJsImportBinding"),Dw=ne((t,e,r)=>{let n=xo.get(t);if(!n)return!1;try{let[o]=ks(n);return o.some(s=>{if(s.d!==-1||s.n!==e)return!1;let i=Qw(n.slice(s.ss,s.s));return i==="named"||r&&i==="namespace"})}catch{return!1}},"parentImportsCommonJsExports"),Hr=ne(t=>{let e=t.indexOf(Er);if(e===-1)return;let r=t[e-1];if(r!=="?"&&r!=="&")return;let n=e+Er.length,o=t.indexOf("&",n);return o===-1?t.slice(n):t.slice(n,o)},"getNamespace"),um=vt(Pu)?"importAttributes":"importAssertions",ym=ne(t=>t==="commonjs"||t==="commonjs-typescript","isCommonJsFormat"),wm=ne(t=>t==="module-typescript"||t==="typescript","isModuleTypeScriptFormat"),Nw=vt(un),Mw=[`${ko}=`],qs=[`${Vs}=`,`${ko}=`],Yr=ne((t,e)=>e.parsedTsconfig&&Ns(e.parsedTsconfig,t)?e.parsedTsconfig.config:void 0,"getTsconfigRaw"),Fw=ne(t=>{if(!t.searchParams.has(ko))return;let{pathname:e}=t,r=e.toLowerCase().lastIndexOf("%3f");if(r===-1)return;let n=new URL(t);return n.pathname=e.slice(0,r),n.search="",wl(n)},"getFilePathFromVirtualQuery"),El=ne(t=>{let e=t.startsWith(mt)?new URL(t):void 0,r=e?wl(e):t,n=e&&Fw(e),o=n||r,s=e&&n?Lt(o).toString()+Gs(e.search,Mw):t;return{fileUrl:e,filePath:o,loadUrl:s}},"getFileLoadContext"),bm=ne((t,e)=>{if(!e?.search)return t;let r=Gs(e.search,qs);return r?Lt(t).toString()+r:t},"getTransformPath"),Em=ne((t,e,r)=>{let n=[...e?bl(e.search,[Er,...qs]).split("&").filter(Boolean):[],...r?[`namespace=${encodeURIComponent(r)}`]:[]].join("&");return n?`${t}?${n}`:t},"getFilePathWithQuery"),Uw=new TextDecoder,xm=ne(t=>typeof t=="string"?t:Uw.decode(t),"decodeSource"),jw=ne((t,e)=>{let r=new URL(e),n=e.startsWith(mt)?El(e).filePath:void 0;r.searchParams.delete("tsx-namespace"),r.searchParams.delete(Vs),r.searchParams.delete(ko),n&&(r.pathname=new URL(Lt(n)).pathname);let o=r.toString();return t.port&&t.port.postMessage({type:"load",url:o}),t.onImport?.(o),o},"notifyLoad"),vm=ne((t,e)=>{if(!t.active)return!1;let r=Hr(e);if(t.namespace&&t.namespace!==r)return!1;let n=jw(t,e);return hr.send&&hr.send({type:"dependency",path:n}),!0},"prepareLoad"),Cm=ne((t,e)=>{if(!em.test(t))return e;let r=e[um];return r?.type?e:{...e,[um]:{...r,type:"json"}}},"prepareJsonAttributes"),Al=ne(({conditions:t})=>t?.includes("require")===!0&&!t.includes("import"),"isCommonJsRequireContext$1"),Kw=ne(t=>{let e=ne(async(r,n,o)=>{if(!vm(t,r))return o(r,n);let s=Hr(r),{fileUrl:i,filePath:l,loadUrl:c}=El(r),f=Cm(c,n),d=await o(c,f);de(3,"loaded by next loader",{url:r,loadUrl:c,loaded:d});let a=i?.searchParams.has(Vs)===!0,h=d.format,p=i?new URL(Lt(l)):void 0;if(p&&i&&(p.search=Gs(i.search,qs)),ym(h)&&i&&d.responseURL?.startsWith("file:")&&!l.endsWith(".cjs")){let A=await Pw(Lt(l),"utf8"),w=mo(A);if(h==="commonjs-typescript"||!l.endsWith(".js")||w){if(!Nw){if(a&&w&&js.test(l)){let B=await Ya(A,l,{define:{"import.meta.url":JSON.stringify(p.toString())},tsconfigRaw:Yr(l,t)});return xo.set(r,B.code),{format:"module",source:St(B)}}return d}if(!s&&!a&&!l.endsWith(".cts"))return d;let O=!!(s||a||Gs(i.search,qs)),T=jr(A,bm(l,i),{cjsBanner:O?`require = require("node:module").createRequire(${JSON.stringify(Lt(l).toString())});`:void 0,tsconfigRaw:Yr(l,t)});if(d.format="commonjs",d.source=St(T),O){let B=Em(l,i,s);d.responseURL=`data:text/javascript,${encodeURIComponent(T.code)}?filePath=${encodeURIComponent(B)}`}return de(3,"returning CJS export annotation",d),d}}if(!d.source)return d;let g=xm(d.source),x=h==="json"&&!Al(n);if(h==="commonjs-typescript"){let A=jr(g,l,{tsconfigRaw:Yr(l,t)});return{...d,format:"commonjs",source:St(A)}}if(x||wm(h)||br.test(r)){let A=await Ya(g,l,{tsconfigRaw:Yr(l,t)});return xo.set(r,A.code),{format:"module",source:St(A)}}if(d.format==="module"){let A=mr(l,g);A?(d.source=St(A),xo.set(r,A.code)):xo.set(r,g)}return d},"load2");return wr?async(r,n,o)=>{de(2,"load",{url:r,context:n});let s=await e(r,n,o);return de(1,"loaded",{url:r,result:s}),s}:e},"createLoad"),Ww=ne(t=>{let e=ne((r,n,o)=>{if(Al(n)&&Us()||!vm(t,r))return o(r,n);let s=Hr(r),{fileUrl:i,filePath:l,loadUrl:c}=El(r),f=Cm(c,n),d=o(c,f);de(3,"loaded by next loader",{url:r,loadUrl:c,loaded:d});let a=d.format;if(ym(a)&&vt(un)&&d.responseURL?.startsWith("file:")&&!l.endsWith(".cjs")){let g=Rw(Lt(l),"utf8");if(a==="commonjs-typescript"||!l.endsWith(".js")||mo(g)){let x=jr(g,bm(l,i),{tsconfigRaw:Yr(l,t)}),A=!s&&Us(),w=Em(l,i,s);return d.format="commonjs",d.shouldBeReloadedByCJSLoader=A,d.source=St(x),A||(d.responseURL=`data:text/javascript,${encodeURIComponent(x.code)}?filePath=${encodeURIComponent(w)}`),de(3,"returning CJS export annotation",d),d}}if(!d.source)return d;let h=xm(d.source),p=a==="json"&&!Al(n);if(a==="commonjs-typescript"){let g=jr(h,l,{tsconfigRaw:Yr(l,t)});return{...d,format:"commonjs",shouldBeReloadedByCJSLoader:!1,source:St(g)}}if(p||wm(a)||br.test(r)){let g=bf(h,l,{tsconfigRaw:Yr(l,t)});return{format:"module",source:St(g)}}if(d.format==="module"){let g=mr(l,h);g&&(d.source=St(g))}return d},"load2");return wr?(r,n,o)=>{de(2,"loadSync",{url:r,context:n});let s=e(r,n,o);return de(1,"loadedSync",{url:r,result:s}),s}:e},"createLoadSync"),Ok=Kw(Co),Gw=vt(un),qw=/^(?:[a-z][\d+.a-z-]*:\/\/|data:|file:|node:)/i,km=ne(t=>!Jr(t)&&!qw.test(t),"isTsconfigPathAliasSpecifier"),Hs=ne(t=>{if(t.url)return t.url;let e=t.message.match(/^Cannot find module '([^']+)'/);if(e){let[,n]=e;return n}let r=t.message.match(/^Cannot find package '([^']+)'/);if(r){let[,n]=r;if(!Vr.isAbsolute(n))return;let o=Lt(n);if(o.pathname.endsWith("/")&&(o.pathname+="package.json"),o.pathname.endsWith("/package.json")){let s=Pa(o);if(s?.main)return new URL(s.main,o).toString()}else return o.toString()}},"getMissingPathFromNotFound"),zs=ne(t=>t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND","isModuleNotFound"),Sm=ne(t=>t.conditions.includes("require")&&!t.conditions.includes("import"),"isCommonJsRequireContext"),Js=ne(async(t,e,r,n)=>{let o=Ks(t);if(de(3,"resolveExtensions",{url:t,context:e,throwError:n,tryPaths:o}),!o)return;let s;for(let i of o)try{return await r(i,e)}catch(l){let{code:c}=l;if(!zs(c)&&c!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw l;s=l}if(n)throw s},"resolveExtensions"),vo=ne((t,e,r,n)=>{let o=Ks(t);if(de(3,"resolveExtensionsSync",{url:t,context:e,throwError:n,tryPaths:o}),!o)return;let s;for(let i of o)try{return r(i,e)}catch(l){let{code:c}=l;if(!zs(c)&&c!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw l;s=l}if(n)throw s},"resolveExtensionsSync"),Jw=ne(async(t,e,r,n)=>{let o=n.parsedTsconfig?.config.compilerOptions?.allowJs??!1;if(de(3,"resolveBase",{specifier:t,context:e,specifierStartsWithFileUrl:t.startsWith(mt),isRelativePath:kn(t),tsExtensionsPattern:br.test(e.parentURL),allowJs:o}),(t.startsWith(mt)||kn(t))&&(br.test(e.parentURL)||o)){let s=await Js(t,e,r);if(de(3,"resolveBase resolved",{specifier:t,context:e,resolved:s}),s)return s}try{return await r(t,e)}catch(s){if(de(3,"resolveBase error",{specifier:t,context:e,error:s}),s instanceof Error){let i=s;if(zs(i.code)){let l=Hs(i);if(l){let c=await Js(l,e,r);if(c)return c}}}throw s}},"resolveBase"),gl=ne((t,e,r,n)=>{let o=n.parsedTsconfig?.config.compilerOptions?.allowJs??!1;if(de(3,"resolveBaseSync",{specifier:t,context:e,specifierStartsWithFileUrl:t.startsWith(mt),isRelativePath:kn(t),tsExtensionsPattern:br.test(e.parentURL),allowJs:o}),(t.startsWith(mt)||kn(t))&&(br.test(e.parentURL)||o)){let s=vo(t,e,r);if(de(3,"resolveBaseSync resolved",{specifier:t,context:e,resolved:s}),s)return s}try{return r(t,e)}catch(s){if(de(3,"resolveBaseSync error",{specifier:t,context:e,error:s}),s instanceof Error){let i=s;if(zs(i.code)){let l=Hs(i);if(l){let c=vo(l,e,r);if(c)return c}}}throw s}},"resolveBaseSync"),dm=ne(async(t,e,r,n)=>{if(de(3,"resolveDirectory",{specifier:t,context:e,isDirectory:yr.test(t)}),(t==="."||t===".."||t.endsWith("/.."))&&(t+="/"),yr.test(t)){let o=new URL(t,e.parentURL);return o.pathname=Vr.join(o.pathname,"index"),await Js(o.toString(),e,r,!0)}try{return await Jw(t,e,r,n)}catch(o){if(o instanceof Error){de(3,"resolveDirectory error",{specifier:t,context:e,error:o});let s=o;if(s.code==="ERR_UNSUPPORTED_DIR_IMPORT"){let i=Hs(s);if(i)try{return await Js(`${i}/index`,e,r,!0)}catch(l){let c=l,{message:f}=c;throw c.message=c.message.replace(`${"/index".replace("/",Vr.sep)}'`,"'"),c.stack=c.stack.replace(f,c.message),c}}}throw o}},"resolveDirectory"),fm=ne((t,e,r,n)=>{if(de(3,"resolveDirectorySync",{specifier:t,context:e,isDirectory:yr.test(t)}),(t==="."||t===".."||t.endsWith("/.."))&&(t+="/"),yr.test(t)){let o=Sm(e);if(o&&!Jr(t))return gl(t,e,r,n);let s=new URL(t,e.parentURL);return s.pathname=Vr.join(s.pathname,"index"),o?vo(wl(s),e,r,!1)??gl(t,e,r,n):vo(s.toString(),e,r,!0)}try{return gl(t,e,r,n)}catch(o){if(o instanceof Error){de(3,"resolveDirectorySync error",{specifier:t,context:e,error:o});let s=o;if(s.code==="ERR_UNSUPPORTED_DIR_IMPORT"){let i=Hs(s);if(i)try{return vo(`${i}/index`,e,r,!0)}catch(l){let c=l,{message:f}=c;throw c.message=c.message.replace(`${"/index".replace("/",Vr.sep)}'`,"'"),c.stack=c.stack.replace(f,c.message),c}}}throw o}},"resolveDirectorySync"),Yw=ne(async(t,e,r,n)=>{let o=km(t);if(de(3,"resolveTsPaths",{specifier:t,context:e,tsconfigPathAliasSpecifier:o,tsconfig:n.parsedTsconfig,fromNodeModules:e.parentURL?.includes("/node_modules/")}),o&&n.parsedTsconfig&&!e.parentURL?.includes("/node_modules/")){let s=Ms(n.parsedTsconfig,t);de(3,"resolveTsPaths",{possiblePaths:s});for(let i of s)try{return await dm(Lt(i).toString(),e,r,n)}catch{}}return dm(t,e,r,n)},"resolveTsPaths"),Vw=ne((t,e,r,n)=>{let o=km(t);if(de(3,"resolveTsPathsSync",{specifier:t,context:e,tsconfigPathAliasSpecifier:o,tsconfig:n.parsedTsconfig,fromNodeModules:e.parentURL?.includes("/node_modules/")}),o&&n.parsedTsconfig&&!e.parentURL?.includes("/node_modules/")){let s=Ms(n.parsedTsconfig,t);de(3,"resolveTsPathsSync",{possiblePaths:s});for(let i of s)try{return fm(Lt(i).toString(),e,r,n)}catch{}}return fm(t,e,r,n)},"resolveTsPathsSync"),Ys="tsx://",yl=ne((t,e)=>`${t}${t.includes("?")?"&":"?"}${e}`,"addQuery"),_m=ne((t,e,r)=>{if(e!=="commonjs"||!t.startsWith(mt)||!js.test(t))return t;let n=new URL(t),o=[bl(n.search,[Er]),...r?[`namespace=${encodeURIComponent(r)}`]:[]].filter(Boolean).join("&");return o?(n.pathname+=`%3F${o}`,n.searchParams.set(ko,"1"),n.toString()):t},"preserveCommonJsQueryIdentity"),Hw=ne(t=>{let e=ne(async(r,n,o)=>{if(!t.active||r.startsWith("node:"))return o(r,n);let s=Hr(r)??(n.parentURL&&Hr(n.parentURL));if(t.namespace){let d;if(r.startsWith(Ys)){try{d=JSON.parse(r.slice(Ys.length))}catch{}d?.namespace&&(s=d.namespace)}if(t.namespace!==s)return o(r,n);d&&(r=d.specifier,n.parentURL=d.parentURL)}let[i,l]=r.split("?"),c=await Yw(i,n,o,t);if(de(2,"nextResolve",{resolved:c}),c.format==="builtin")return c;(!c.format||c.format==="commonjs-typescript"||c.format==="module-typescript")&&c.url.startsWith(mt)&&(c.format=await $w(c.url),de(2,"getFormatFromFileUrl",{resolved:c,format:c.format})),l&&(c.url+=`?${l}`);let f=n.parentURL&&c.format==="commonjs"&&js.test(c.url)&&(n.parentURL.includes(cm)||Dw(n.parentURL,r,Gw));return s&&!c.url.includes(Er)&&(c.url=yl(c.url,`${Er}${s}`)),f&&(c.url=yl(c.url,cm)),(s||f)&&(c.url=_m(c.url,c.format,s)),c},"resolve2");return wr?async(r,n,o)=>{de(2,"resolve",{specifier:r,context:n});let s=await e(r,n,o);return de(1,"resolved",{specifier:r,context:n,result:s}),s}:e},"createResolve"),zw=ne(t=>{let e=ne((r,n,o)=>{if(!t.active||r.startsWith("node:")||Sm(n)&&Us())return o(r,n);let s=Hr(r)??(n.parentURL&&Hr(n.parentURL));if(t.namespace){let f;if(r.startsWith(Ys)){try{f=JSON.parse(r.slice(Ys.length))}catch{}f?.namespace&&(s=f.namespace)}if(t.namespace!==s)return o(r,n);f&&(r=f.specifier,n.parentURL=f.parentURL)}let[i,l]=r.split("?"),c=Vw(i,n,o,t);return de(2,"nextResolve",{resolved:c}),c.format==="builtin"||((!c.format||c.format==="commonjs-typescript"||c.format==="module-typescript")&&c.url.startsWith(mt)&&(c.format=Ow(c.url),de(2,"getFormatFromFileUrlSync",{resolved:c,format:c.format})),l&&(c.url+=`?${l}`),s&&!c.url.includes(Er)&&(c.url=yl(c.url,`${Er}${s}`)),c.url=_m(c.url,c.format,s)),c},"resolve2");return wr?(r,n,o)=>{de(2,"resolveSync",{specifier:r,context:n});let s=e(r,n,o);return de(1,"resolvedSync",{specifier:r,context:n,result:s}),s}:e},"createResolveSync"),Lk=Hw(Co),mm=ne(t=>(e,r)=>{if(!r)throw new Error("The current file path (import.meta.url) must be provided in the second argument of tsImport()");let n=r.startsWith(mt)?r:Lt(r).toString();return import(`tsx://${JSON.stringify({specifier:e,parentURL:n,namespace:t})}`)},"createScopedImport"),hm=!1,Xw=ne(t=>{let e=[];for(let r=0;r<t.length;r+=1){let n=t[r];if(n==="--import"){let o=t[r+1];o&&e.push(o),r+=1}else n.startsWith("--import=")&&e.push(n.slice(9))}return e},"collectImportSpecifiers"),Zw=ne(()=>[...(process.env.NODE_OPTIONS??"").matchAll(/(?:^|\s)--import(?:=|\s+)(\S+)/g)].map(([,t])=>t),"collectNodeOptionsImportSpecifiers"),pm=[new URL("loader.mjs",import.meta.url).toString(),new URL("esm/index.mjs",import.meta.url).toString()],eb=new Set(["tsx","tsx/esm",...pm,...pm.map(t=>decodeURI(new URL(t).pathname))]),tb=ne(t=>eb.has(t),"isTsxImport"),Tm=ne(t=>/\.(?:[cm]?ts|tsx)(?:[?#].*)?$/.test(t),"isTypeScriptImport"),rb=ne(()=>{let t=Xw(process.execArgv),e=t.findIndex(tb);return e>0&&t.slice(0,e).some(Tm)},"hasCliTypeScriptPreload"),nb=Zw().some(Tm)||rb(),gm=typeof Sn.registerHooks=="function"&&vt(Ru)&&!nb,xl=ne(t=>{if(!Sn.register&&!gm)throw new Error(`This version of Node.js (${process.version}) does not support module.register(). Please upgrade to Node v18.19 or v20.6 and above.`);if(!hm){let{_resolveFilename:l}=Sn;Sn._resolveFilename=(c,...f)=>l(dl(c),...f),hm=!0}let{sourceMapsEnabled:e}=process;if(process.setSourceMapsEnabled(!0),gm){let l=Am({namespace:t?.namespace,onImport:t?.onImport,tsconfig:t?.tsconfig}),c=Sn.registerHooks({load:Ww(l),resolve:zw(l)}),f=ne(async()=>{l.active=!1,c.deregister(),e===!1&&process.setSourceMapsEnabled(!1)},"unregister2");return t?.namespace&&(f.import=mm(t.namespace),f.unregister=f),f}let{port1:r,port2:n}=new Bw;Sn.register(`./esm/index.mjs?${Date.now()}`,{parentURL:import.meta.url,data:{port:n,namespace:t?.namespace,tsconfig:t?.tsconfig},transferList:[n]});let o=t?.onImport,s=o&&(l=>{l.type==="load"&&o(l.url)});s&&(r.on("message",s),r.unref());let i=ne(()=>(e===!1&&process.setSourceMapsEnabled(!1),s&&r.off("message",s),r.postMessage("deactivate"),new Promise(l=>{let c=ne(f=>{f.type==="deactivated"&&(l(),r.off("message",c))},"onDeactivated");r.on("message",c)})),"unregister");return t?.namespace&&(i.import=mm(t.namespace),i.unregister=i),i},"register")});var ob,Rm,_n,Xs,Bm,Pm=xe(()=>{ro();Ws();ob=Object.defineProperty,Rm=(t,e)=>ob(t,"name",{value:e,configurable:!0}),Xs=Rm((t,e)=>(_n||(_n=Eo({namespace:Date.now().toString()})),_n.require(t,e)),"tsxRequire"),Bm=Rm((t,e,r)=>(_n||(_n=Eo({namespace:Date.now().toString()})),_n.resolve(t,e,r)),"resolve");Bm.paths=Or.resolve.paths,Xs.resolve=Bm,Xs.main=Or.main,Xs.extensions=Or.extensions,Xs.cache=Or.cache});var $m={};yt($m,{register:()=>xl,tsImport:()=>ab});var qk,sb,ib,ab,Om=xe(()=>{Im();ro();Ws();Pm();to();Ss();qk=ta(ua(),1);ss();Ts();Ha();sb=Object.defineProperty,ib=(t,e)=>sb(t,"name",{value:e,configurable:!0}),ab=ib((t,e)=>{if(!e||typeof e=="object"&&!e.parentURL)throw new Error("The current file path (import.meta.url) must be provided in the second argument of tsImport()");let r=typeof e=="string",n=r?e:e.parentURL,o=Date.now().toString(),s=Eo({namespace:o});return!vt(un)&&!tm.test(t)&&Zf.test(t)?Promise.resolve(s.require(t,n)):xl({namespace:o,...r?{}:e}).import(t,n)},"tsImport")});function Vb(){let t=process.env.AIAIAI_LOG_LEVEL?.toLowerCase();return t&&t in Ol?t:"info"}function si(t){return Ol[t]>=Ol[Vb()]}function ii(t,e,r,n){let s=`[${new Date().toISOString()}] [${t.toUpperCase()}] [${e}]`,i=n?` ${JSON.stringify(n)}`:"";return`${s} ${r}${i}`}var Ol,Z,Ye=xe(()=>{"use strict";Ol={debug:0,info:1,warn:2,error:3};Z={debug(t,e,r){si("debug")&&console.error(ii("debug",t,e,r))},info(t,e,r){si("info")&&console.error(ii("info",t,e,r))},warn(t,e,r){si("warn")&&console.error(ii("warn",t,e,r))},error(t,e,r){si("error")&&console.error(ii("error",t,e,r))}}});var ai,Ll,Cr,Ro=xe(()=>{"use strict";ai=class extends Error{code;context;timestamp;recoverable;constructor(e,r="UNKNOWN",n){super(e),this.name="AgentError",this.code=r,this.context=n?.context,this.timestamp=Date.now(),this.recoverable=n?.recoverable??!1}},Ll=class{errors=[];maxErrors=100;record(e){this.errors.push({error:e,ts:Date.now()}),this.errors.length>this.maxErrors&&(this.errors=this.errors.slice(-this.maxErrors))}getRecent(e=20){return this.errors.slice(-e)}getByCode(e){return this.errors.filter(r=>r.error.code===e).map(r=>r.error)}getSummary(){let e={};for(let{error:r}of this.errors)e[r.code]=(e[r.code]??0)+1;return e}clear(){this.errors=[]}get count(){return this.errors.length}},Cr=new Ll});function oh(){let t=Date.now();return er.push(t),rh=t,er=er.filter(e=>t-e<nh),er.length>=Hb&&!Po?(Po=!0,!0):!1}function li(){return Po?Date.now()-rh>zb&&er.length===0?(Po=!1,!1):!0:!1}function sh(){Po=!1,er=[]}function ih(){let t=Date.now();return er=er.filter(e=>t-e<nh),er.length}var er,Po,rh,Hb,nh,zb,Ql=xe(()=>{"use strict";er=[],Po=!1,rh=0,Hb=10,nh=6e4,zb=6e4});var mh={};yt(mh,{getCircuitStats:()=>$o,isReachable:()=>gE,resilientFetch:()=>fe});import Xb from"node:dns";import Zb from"node:http";import eE from"node:https";function nE(t){try{let e=new URL(t);if(rE.has(e.protocol))return!1;let r=e.hostname;if(r==="localhost"||r==="127.0.0.1"||r==="0.0.0.0"||r==="::1"||r.startsWith("10.")||r.startsWith("192.168.")||r.startsWith("172."))return!1;for(let n of tE)if(r===n||r.endsWith("."+n))return!0;return!1}catch{return!1}}function sE(t,e,r){return`${e}:${t}:${r?.slice(0,200)??""}`}function iE(t){let e=Dl.get(t);if(!e)return;let r=Date.now();return e}function aE(t,e){Dl.set(t,e),setTimeout(()=>{Dl.delete(t)},oE)}function Ml(t){let e=Nl.get(t);return e||(e={failures:0,lastFailureTime:0,state:"closed"},Nl.set(t,e)),e}function dE(t){let e=Ml(t);return e.state==="closed"?!0:e.state==="open"?Date.now()-e.lastFailureTime>uE?(e.state="half-open",!0):!1:e.state==="half-open"}function fE(t){let e=Ml(t);e.failures=0,e.state="closed"}function mE(t){let e=Ml(t);e.failures++,e.lastFailureTime=Date.now(),e.failures>=cE&&(e.state="open")}function pE(t){let e=Date.now(),n=(dh.get(t)??[]).filter(o=>e-o<hE);return dh.set(t,n),n.length>=fh?!1:(n.push(e),!0)}async function fe(t,e={}){let{timeout:r=8e3,retries:n=2,backoffMs:o=1e3,onRetry:s,method:i="GET",headers:l,body:c,signal:f}=e;if(li())throw new Error("Panic mode active \u2014 external calls paused. Use /resume to continue.");if(!nE(t))throw new Error(`Blocked: URL '${t}' is not in the allowed outbound hosts list`);let d=new URL(t).hostname;if(!pE(d))throw new Error(`Rate limit exceeded for ${d} (max ${fh} req/min)`);if(!dE(d))throw new Error("Circuit open for "+d+" - service unavailable, retry later");let a=sE(t,i,c),h=iE(a);if(h)return h;let p=null,x=(async()=>{let A=[r,Math.max(2e3,Math.floor(r/2)),Math.max(2e3,Math.floor(r/4))];for(let w=0;w<=n;w++){let O=new AbortController,T=A[Math.min(w,A.length-1)],B=setTimeout(()=>O.abort(),T);f&&(f.aborted?O.abort():f.addEventListener("abort",()=>O.abort(),{once:!0}));try{let v=new URL(t),C=v.hostname,I=Date.now(),j=ah.get(C),F=lh.get(C);if(!j||!F||I-F>lE)try{Xb.resolve4(C,(U,q)=>{!U&&q&&q.length>0&&(ah.set(C,q[0]),lh.set(C,I))})}catch{}let Q=v.protocol==="https:"?uh:ch,P={...l&&Object.fromEntries(Object.entries(l).filter(([U])=>!["user-agent","x-powered-by","server","x-requested-with"].includes(U.toLowerCase()))),"Accept-Encoding":"gzip","User-Agent":"AIAIAI-Agent/1.0"},$={signal:O.signal,method:i,headers:P,body:c};(v.protocol==="https:"||v.protocol==="http:")&&($.agent=v.protocol==="https:"?uh:ch);let N=await fetch(t,$);if(clearTimeout(B),!N.ok){if([429,502,503,504].includes(N.status)&&w<n){let U=parseInt(N.headers.get("retry-after")||"0")*1e3,q=U>0?U:o*Math.pow(2,w);clearTimeout(B),await new Promise(H=>setTimeout(H,q));continue}throw new Error("HTTP "+N.status+": "+N.statusText)}return fE(d),N}catch(v){if(clearTimeout(B),p=v instanceof Error?v:new Error(String(v)),w<n){s?.(w+1,p);let C=o*Math.pow(2,w),I=C*.2*(Math.random()*2-1);await new Promise(j=>setTimeout(j,C+I))}}}if(mE(d),oh(),p){let w=new ai(p.message,"NETWORK_ERROR",{context:{url:t,attempts:n+1},recoverable:!0});Cr.record(w)}throw p})();return aE(a,x),x}function $o(){let t=[];for(let[e,r]of Nl)t.push({key:e,state:r.state,failures:r.failures,lastFailureTime:r.lastFailureTime});return t}async function gE(t,e=5e3){try{let r=new AbortController,n=setTimeout(()=>r.abort(),e),o=await fetch(t,{signal:r.signal});return clearTimeout(n),o.ok}catch{return!1}}var tE,rE,Dl,oE,ah,lE,lh,Nl,cE,uE,ch,uh,dh,fh,hE,ht=xe(()=>{"use strict";Ro();Ql();tE=new Set(["api.dexscreener.com","openrouter.ai","api.mainnet-beta.solana.com","rpc.ankr.com","solana-api.projectserum.com","api.alternative.me","api.coingecko.com","pro-api.coinmarketcap.com","api.llama.fi","api.binance.com","fapi.binance.com","api.telegram.org","discord.com","hooks.slack.com","googleapis.com","api.openai.com","api.anthropic.com","generativelanguage.googleapis.com","api.mistral.ai","api.cohere.ai","api.together.xyz","api.groq.com","api.deepinfra.com","api.endpoints.anyscale.com","api.perplexity.ai","api.fireworks.ai","api.ai21.com"]),rE=new Set(["file:","ftp:","gopher:","javascript:","data:"]);Dl=new Map,oE=2e3;ah=new Map,lE=5*601e3,lh=new Map,Nl=new Map,cE=3,uE=6e4,ch=new Zb.Agent({keepAlive:!0,maxSockets:10,maxFreeSockets:5}),uh=new eE.Agent({keepAlive:!0,maxSockets:10,maxFreeSockets:5});dh=new Map,fh=60,hE=6e4});var tr=Je((r_,Ah)=>{"use strict";var ph=["nodebuffer","arraybuffer","fragments"],gh=typeof Blob<"u";gh&&ph.push("blob");Ah.exports={BINARY_TYPES:ph,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:gh,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Lo=Je((n_,ui)=>{"use strict";var{EMPTY_BUFFER:wE}=tr(),Fl=Buffer[Symbol.species];function bE(t,e){if(t.length===0)return wE;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),n=0;for(let o=0;o<t.length;o++){let s=t[o];r.set(s,n),n+=s.length}return n<e?new Fl(r.buffer,r.byteOffset,n):r}function yh(t,e,r,n,o){for(let s=0;s<o;s++)r[n+s]=t[s]^e[s&3]}function wh(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function EE(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Ul(t){if(Ul.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Fl(t):ArrayBuffer.isView(t)?e=new Fl(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Ul.readOnly=!1),e}ui.exports={concat:bE,mask:yh,toArrayBuffer:EE,toBuffer:Ul,unmask:wh};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=ie("bufferutil");ui.exports.mask=function(e,r,n,o,s){s<48?yh(e,r,n,o,s):t.mask(e,r,n,o,s)},ui.exports.unmask=function(e,r){e.length<32?wh(e,r):t.unmask(e,r)}}catch{}});var xh=Je((o_,Eh)=>{"use strict";var bh=Symbol("kDone"),jl=Symbol("kRun"),Kl=class{constructor(e){this[bh]=()=>{this.pending--,this[jl]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[jl]()}[jl](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[bh])}}};Eh.exports=Kl});var Ln=Je((s_,Sh)=>{"use strict";var Qo=ie("zlib"),vh=Lo(),xE=xh(),{kStatusCode:Ch}=tr(),vE=Buffer[Symbol.species],CE=Buffer.from([0,0,255,255]),fi=Symbol("permessage-deflate"),rr=Symbol("total-length"),$n=Symbol("callback"),kr=Symbol("buffers"),On=Symbol("error"),di,Wl=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!di){let r=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;di=new xE(r)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[$n];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,n=e.find(o=>!(r.serverNoContextTakeover===!1&&o.server_no_context_takeover||o.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>o.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!o.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(n.server_no_context_takeover=!0),r.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(n.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?n.client_max_window_bits=r.clientMaxWindowBits:(n.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(n=>{let o=r[n];if(o.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(o=o[0],n==="client_max_window_bits"){if(o!==!0){let s=+o;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${o}`);o=s}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${o}`)}else if(n==="server_max_window_bits"){let s=+o;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${o}`);o=s}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(o!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${o}`)}else throw new Error(`Unknown parameter "${n}"`);r[n]=o})}),e}decompress(e,r,n){di.add(o=>{this._decompress(e,r,(s,i)=>{o(),n(s,i)})})}compress(e,r,n){di.add(o=>{this._compress(e,r,(s,i)=>{o(),n(s,i)})})}_decompress(e,r,n){let o=this._isServer?"client":"server";if(!this._inflate){let s=`${o}_max_window_bits`,i=typeof this.params[s]!="number"?Qo.Z_DEFAULT_WINDOWBITS:this.params[s];this._inflate=Qo.createInflateRaw({...this._options.zlibInflateOptions,windowBits:i}),this._inflate[fi]=this,this._inflate[rr]=0,this._inflate[kr]=[],this._inflate.on("error",SE),this._inflate.on("data",kh)}this._inflate[$n]=n,this._inflate.write(e),r&&this._inflate.write(CE),this._inflate.flush(()=>{let s=this._inflate[On];if(s){this._inflate.close(),this._inflate=null,n(s);return}let i=vh.concat(this._inflate[kr],this._inflate[rr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[rr]=0,this._inflate[kr]=[],r&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),n(null,i)})}_compress(e,r,n){let o=this._isServer?"server":"client";if(!this._deflate){let s=`${o}_max_window_bits`,i=typeof this.params[s]!="number"?Qo.Z_DEFAULT_WINDOWBITS:this.params[s];this._deflate=Qo.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:i}),this._deflate[rr]=0,this._deflate[kr]=[],this._deflate.on("data",kE)}this._deflate[$n]=n,this._deflate.write(e),this._deflate.flush(Qo.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let s=vh.concat(this._deflate[kr],this._deflate[rr]);r&&(s=new vE(s.buffer,s.byteOffset,s.length-4)),this._deflate[$n]=null,this._deflate[rr]=0,this._deflate[kr]=[],r&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),n(null,s)})}};Sh.exports=Wl;function kE(t){this[kr].push(t),this[rr]+=t.length}function kh(t){if(this[rr]+=t.length,this[fi]._maxPayload<1||this[rr]<=this[fi]._maxPayload){this[kr].push(t);return}this[On]=new RangeError("Max payload size exceeded"),this[On].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[On][Ch]=1009,this.removeListener("data",kh),this.reset()}function SE(t){if(this[fi]._inflate=null,this[On]){this[$n](this[On]);return}t[Ch]=1007,this[$n](t)}});var Qn=Je((i_,mi)=>{"use strict";var{isUtf8:_h}=ie("buffer"),{hasBlob:_E}=tr(),TE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function IE(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Gl(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function BE(t){return _E&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}mi.exports={isBlob:BE,isValidStatusCode:IE,isValidUTF8:Gl,tokenChars:TE};if(_h)mi.exports.isValidUTF8=function(t){return t.length<24?Gl(t):_h(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=ie("utf-8-validate");mi.exports.isValidUTF8=function(e){return e.length<32?Gl(e):t(e)}}catch{}});var Hl=Je((a_,Oh)=>{"use strict";var{Writable:RE}=ie("stream"),Th=Ln(),{BINARY_TYPES:PE,EMPTY_BUFFER:Ih,kStatusCode:$E,kWebSocket:OE}=tr(),{concat:ql,toArrayBuffer:LE,unmask:QE}=Lo(),{isValidStatusCode:DE,isValidUTF8:Bh}=Qn(),hi=Buffer[Symbol.species],It=0,Rh=1,Ph=2,$h=3,Jl=4,Yl=5,pi=6,Vl=class extends RE{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||PE[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[OE]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=It}_write(e,r,n){if(this._opcode===8&&this._state==It)return n();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){n(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new hi(n.buffer,n.byteOffset+e,n.length-e),new hi(n.buffer,n.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let n=this._buffers[0],o=r.length-e;e>=n.length?r.set(this._buffers.shift(),o):(r.set(new Uint8Array(n.buffer,n.byteOffset,e),o),this._buffers[0]=new hi(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case It:this.getInfo(e);break;case Rh:this.getPayloadLength16(e);break;case Ph:this.getPayloadLength64(e);break;case $h:this.getMask();break;case Jl:this.getData(e);break;case Yl:case pi:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let o=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(o);return}let n=(r[0]&64)===64;if(n&&!this._extensions[Th.extensionName]){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(n){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(!this._fragmented){let o=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let o=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(o);return}if(n){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let o=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(o);return}}else{let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let o=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(o);return}}else if(this._masked){let o=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(o);return}this._payloadLength===126?this._state=Rh:this._payloadLength===127?this._state=Ph:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),n=r.readUInt32BE(0);if(n>Math.pow(2,21)-1){let o=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(o);return}this._payloadLength=n*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=$h:this._state=Jl}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Jl}getData(e){let r=Ih;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&QE(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Yl,this.decompress(r,e);return}if(r.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let n=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(n);return}this._messageLength=this._totalPayloadLength,this._fragments.push(r)}this.dataMessage(e)}decompress(e,r){this._extensions[Th.extensionName].decompress(e,this._fin,(o,s)=>{if(o)return r(o);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let i=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(i);return}if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");r(i);return}this._fragments.push(s)}this.dataMessage(r),this._state===It&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=It;return}let r=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let o;this._binaryType==="nodebuffer"?o=ql(n,r):this._binaryType==="arraybuffer"?o=LE(ql(n,r)):this._binaryType==="blob"?o=new Blob(n):o=n,this._allowSynchronousEvents?(this.emit("message",o,!0),this._state=It):(this._state=pi,setImmediate(()=>{this.emit("message",o,!0),this._state=It,this.startLoop(e)}))}else{let o=ql(n,r);if(!this._skipUTF8Validation&&!Bh(o)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(s);return}this._state===Yl||this._allowSynchronousEvents?(this.emit("message",o,!1),this._state=It):(this._state=pi,setImmediate(()=>{this.emit("message",o,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Ih),this.end();else{let n=e.readUInt16BE(0);if(!DE(n)){let s=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(s);return}let o=new hi(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Bh(o)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(s);return}this._loop=!1,this.emit("conclude",n,o),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=pi,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(r)}))}createError(e,r,n,o,s){this._loop=!1,this._errored=!0;let i=new e(n?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(i,this.createError),i.code=s,i[$E]=o,i}};Oh.exports=Vl});var Zl=Je((c_,Dh)=>{"use strict";var{Duplex:l_}=ie("stream"),{randomFillSync:NE}=ie("crypto"),{types:{isUint8Array:ME}}=ie("util"),Lh=Ln(),{EMPTY_BUFFER:FE,kWebSocket:UE,NOOP:jE}=tr(),{isBlob:Dn,isValidStatusCode:KE}=Qn(),{mask:Qh,toBuffer:Zr}=Lo(),Bt=Symbol("kByteLength"),WE=Buffer.alloc(4),gi=8*1024,en,Nn=gi,Nt=0,GE=1,qE=2,zl=class t{constructor(e,r,n){this._extensions=r||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Nt,this.onerror=jE,this[UE]=void 0}static frame(e,r){let n,o=!1,s=2,i=!1;r.mask&&(n=r.maskBuffer||WE,r.generateMask?r.generateMask(n):(Nn===gi&&(en===void 0&&(en=Buffer.alloc(gi)),NE(en,0,gi),Nn=0),n[0]=en[Nn++],n[1]=en[Nn++],n[2]=en[Nn++],n[3]=en[Nn++]),i=(n[0]|n[1]|n[2]|n[3])===0,s=6);let l;typeof e=="string"?(!r.mask||i)&&r[Bt]!==void 0?l=r[Bt]:(e=Buffer.from(e),l=e.length):(l=e.length,o=r.mask&&r.readOnly&&!i);let c=l;l>=65536?(s+=8,c=127):l>125&&(s+=2,c=126);let f=Buffer.allocUnsafe(o?l+s:s);return f[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(f[0]|=64),f[1]=c,c===126?f.writeUInt16BE(l,2):c===127&&(f[2]=f[3]=0,f.writeUIntBE(l,4,6)),r.mask?(f[1]|=128,f[s-4]=n[0],f[s-3]=n[1],f[s-2]=n[2],f[s-1]=n[3],i?[f,e]:o?(Qh(e,n,f,s,l),[f]):(Qh(e,n,e,0,l),[f,e])):[f,e]}close(e,r,n,o){let s;if(e===void 0)s=FE;else{if(typeof e!="number"||!KE(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)s=Buffer.allocUnsafe(2),s.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");if(s=Buffer.allocUnsafe(2+l),s.writeUInt16BE(e,0),typeof r=="string")s.write(r,2);else if(ME(r))s.set(r,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let i={[Bt]:s.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Nt?this.enqueue([this.dispatch,s,!1,i,o]):this.sendFrame(t.frame(s,i),o)}ping(e,r,n){let o,s;if(typeof e=="string"?(o=Buffer.byteLength(e),s=!1):Dn(e)?(o=e.size,s=!1):(e=Zr(e),o=e.length,s=Zr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[Bt]:o,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:s,rsv1:!1};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,!1,i,n]):this.getBlobData(e,!1,i,n):this._state!==Nt?this.enqueue([this.dispatch,e,!1,i,n]):this.sendFrame(t.frame(e,i),n)}pong(e,r,n){let o,s;if(typeof e=="string"?(o=Buffer.byteLength(e),s=!1):Dn(e)?(o=e.size,s=!1):(e=Zr(e),o=e.length,s=Zr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[Bt]:o,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:s,rsv1:!1};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,!1,i,n]):this.getBlobData(e,!1,i,n):this._state!==Nt?this.enqueue([this.dispatch,e,!1,i,n]):this.sendFrame(t.frame(e,i),n)}send(e,r,n){let o=this._extensions[Lh.extensionName],s=r.binary?2:1,i=r.compress,l,c;typeof e=="string"?(l=Buffer.byteLength(e),c=!1):Dn(e)?(l=e.size,c=!1):(e=Zr(e),l=e.length,c=Zr.readOnly),this._firstFragment?(this._firstFragment=!1,i&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=l>=o._threshold),this._compress=i):(i=!1,s=0),r.fin&&(this._firstFragment=!0);let f={[Bt]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:s,readOnly:c,rsv1:i};Dn(e)?this._state!==Nt?this.enqueue([this.getBlobData,e,this._compress,f,n]):this.getBlobData(e,this._compress,f,n):this._state!==Nt?this.enqueue([this.dispatch,e,this._compress,f,n]):this.dispatch(e,this._compress,f,n)}getBlobData(e,r,n,o){this._bufferedBytes+=n[Bt],this._state=qE,e.arrayBuffer().then(s=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Xl,this,l,o);return}this._bufferedBytes-=n[Bt];let i=Zr(s);r?this.dispatch(i,r,n,o):(this._state=Nt,this.sendFrame(t.frame(i,n),o),this.dequeue())}).catch(s=>{process.nextTick(JE,this,s,o)})}dispatch(e,r,n,o){if(!r){this.sendFrame(t.frame(e,n),o);return}let s=this._extensions[Lh.extensionName];this._bufferedBytes+=n[Bt],this._state=GE,s.compress(e,n.fin,(i,l)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");Xl(this,c,o);return}this._bufferedBytes-=n[Bt],this._state=Nt,n.readOnly=!1,this.sendFrame(t.frame(l,n),o),this.dequeue()})}dequeue(){for(;this._state===Nt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Bt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Bt],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};Dh.exports=zl;function Xl(t,e,r){typeof r=="function"&&r(e);for(let n=0;n<t._queue.length;n++){let o=t._queue[n],s=o[o.length-1];typeof s=="function"&&s(e)}}function JE(t,e,r){Xl(t,e,r),t.onerror(e)}});var qh=Je((u_,Gh)=>{"use strict";var{kForOnEventAttribute:Do,kListener:ec}=tr(),Nh=Symbol("kCode"),Mh=Symbol("kData"),Fh=Symbol("kError"),Uh=Symbol("kMessage"),jh=Symbol("kReason"),Mn=Symbol("kTarget"),Kh=Symbol("kType"),Wh=Symbol("kWasClean"),nr=class{constructor(e){this[Mn]=null,this[Kh]=e}get target(){return this[Mn]}get type(){return this[Kh]}};Object.defineProperty(nr.prototype,"target",{enumerable:!0});Object.defineProperty(nr.prototype,"type",{enumerable:!0});var tn=class extends nr{constructor(e,r={}){super(e),this[Nh]=r.code===void 0?0:r.code,this[jh]=r.reason===void 0?"":r.reason,this[Wh]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[Nh]}get reason(){return this[jh]}get wasClean(){return this[Wh]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Fn=class extends nr{constructor(e,r={}){super(e),this[Fh]=r.error===void 0?null:r.error,this[Uh]=r.message===void 0?"":r.message}get error(){return this[Fh]}get message(){return this[Uh]}};Object.defineProperty(Fn.prototype,"error",{enumerable:!0});Object.defineProperty(Fn.prototype,"message",{enumerable:!0});var No=class extends nr{constructor(e,r={}){super(e),this[Mh]=r.data===void 0?null:r.data}get data(){return this[Mh]}};Object.defineProperty(No.prototype,"data",{enumerable:!0});var YE={addEventListener(t,e,r={}){for(let o of this.listeners(t))if(!r[Do]&&o[ec]===e&&!o[Do])return;let n;if(t==="message")n=function(s,i){let l=new No("message",{data:i?s:s.toString()});l[Mn]=this,Ai(e,this,l)};else if(t==="close")n=function(s,i){let l=new tn("close",{code:s,reason:i.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[Mn]=this,Ai(e,this,l)};else if(t==="error")n=function(s){let i=new Fn("error",{error:s,message:s.message});i[Mn]=this,Ai(e,this,i)};else if(t==="open")n=function(){let s=new nr("open");s[Mn]=this,Ai(e,this,s)};else return;n[Do]=!!r[Do],n[ec]=e,r.once?this.once(t,n):this.on(t,n)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[ec]===e&&!r[Do]){this.removeListener(t,r);break}}};Gh.exports={CloseEvent:tn,ErrorEvent:Fn,Event:nr,EventTarget:YE,MessageEvent:No};function Ai(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var yi=Je((d_,Jh)=>{"use strict";var{tokenChars:Mo}=Qn();function Kt(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function VE(t){let e=Object.create(null),r=Object.create(null),n=!1,o=!1,s=!1,i,l,c=-1,f=-1,d=-1,a=0;for(;a<t.length;a++)if(f=t.charCodeAt(a),i===void 0)if(d===-1&&Mo[f]===1)c===-1&&(c=a);else if(a!==0&&(f===32||f===9))d===-1&&c!==-1&&(d=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);d===-1&&(d=a);let p=t.slice(c,d);f===44?(Kt(e,p,r),r=Object.create(null)):i=p,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${a}`);else if(l===void 0)if(d===-1&&Mo[f]===1)c===-1&&(c=a);else if(f===32||f===9)d===-1&&c!==-1&&(d=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);d===-1&&(d=a),Kt(r,t.slice(c,d),!0),f===44&&(Kt(e,i,r),r=Object.create(null),i=void 0),c=d=-1}else if(f===61&&c!==-1&&d===-1)l=t.slice(c,a),c=d=-1;else throw new SyntaxError(`Unexpected character at index ${a}`);else if(o){if(Mo[f]!==1)throw new SyntaxError(`Unexpected character at index ${a}`);c===-1?c=a:n||(n=!0),o=!1}else if(s)if(Mo[f]===1)c===-1&&(c=a);else if(f===34&&c!==-1)s=!1,d=a;else if(f===92)o=!0;else throw new SyntaxError(`Unexpected character at index ${a}`);else if(f===34&&t.charCodeAt(a-1)===61)s=!0;else if(d===-1&&Mo[f]===1)c===-1&&(c=a);else if(c!==-1&&(f===32||f===9))d===-1&&(d=a);else if(f===59||f===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${a}`);d===-1&&(d=a);let p=t.slice(c,d);n&&(p=p.replace(/\\/g,""),n=!1),Kt(r,l,p),f===44&&(Kt(e,i,r),r=Object.create(null),i=void 0),l=void 0,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${a}`);if(c===-1||s||f===32||f===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=a);let h=t.slice(c,d);return i===void 0?Kt(e,h,r):(l===void 0?Kt(r,h,!0):n?Kt(r,l,h.replace(/\\/g,"")):Kt(r,l,h),Kt(e,i,r)),e}function HE(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(n=>[e].concat(Object.keys(n).map(o=>{let s=n[o];return Array.isArray(s)||(s=[s]),s.map(i=>i===!0?o:`${o}=${i}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Jh.exports={format:HE,parse:VE}});var xi=Je((h_,sp)=>{"use strict";var zE=ie("events"),XE=ie("https"),ZE=ie("http"),Hh=ie("net"),ex=ie("tls"),{randomBytes:tx,createHash:rx}=ie("crypto"),{Duplex:f_,Readable:m_}=ie("stream"),{URL:tc}=ie("url"),Sr=Ln(),nx=Hl(),ox=Zl(),{isBlob:sx}=Qn(),{BINARY_TYPES:Yh,CLOSE_TIMEOUT:ix,EMPTY_BUFFER:wi,GUID:ax,kForOnEventAttribute:rc,kListener:lx,kStatusCode:cx,kWebSocket:Ke,NOOP:zh}=tr(),{EventTarget:{addEventListener:ux,removeEventListener:dx}}=qh(),{format:fx,parse:mx}=yi(),{toBuffer:hx}=Lo(),Xh=Symbol("kAborted"),nc=[8,13],or=["CONNECTING","OPEN","CLOSING","CLOSED"],px=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Ie=class t extends zE{constructor(e,r,n){super(),this._binaryType=Yh[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=wi,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(n=r,r=[]):r=[r]),Zh(this,e,r,n)):(this._autoPong=n.autoPong,this._closeTimeout=n.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Yh.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,n){let o=new nx({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:n.maxBufferedChunks,maxFragments:n.maxFragments,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),s=new ox(e,this._extensions,n.generateMask);this._receiver=o,this._sender=s,this._socket=e,o[Ke]=this,s[Ke]=this,e[Ke]=this,o.on("conclude",yx),o.on("drain",wx),o.on("error",bx),o.on("message",Ex),o.on("ping",xx),o.on("pong",vx),s.onerror=Cx,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",rp),e.on("data",Ei),e.on("end",np),e.on("error",op),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Sr.extensionName]&&this._extensions[Sr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){Et(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),tp(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){oc(this,e,n);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||wi,r,n)}pong(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){oc(this,e,n);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||wi,r,n)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,n){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(n=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){oc(this,e,n);return}let o={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[Sr.extensionName]||(o.compress=!1),this._sender.send(e||wi,o,n)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){Et(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(Ie,"CONNECTING",{enumerable:!0,value:or.indexOf("CONNECTING")});Object.defineProperty(Ie.prototype,"CONNECTING",{enumerable:!0,value:or.indexOf("CONNECTING")});Object.defineProperty(Ie,"OPEN",{enumerable:!0,value:or.indexOf("OPEN")});Object.defineProperty(Ie.prototype,"OPEN",{enumerable:!0,value:or.indexOf("OPEN")});Object.defineProperty(Ie,"CLOSING",{enumerable:!0,value:or.indexOf("CLOSING")});Object.defineProperty(Ie.prototype,"CLOSING",{enumerable:!0,value:or.indexOf("CLOSING")});Object.defineProperty(Ie,"CLOSED",{enumerable:!0,value:or.indexOf("CLOSED")});Object.defineProperty(Ie.prototype,"CLOSED",{enumerable:!0,value:or.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(Ie.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(Ie.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[rc])return e[lx];return null},set(e){for(let r of this.listeners(t))if(r[rc]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[rc]:!0})}})});Ie.prototype.addEventListener=ux;Ie.prototype.removeEventListener=dx;sp.exports=Ie;function Zh(t,e,r,n){let o={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:ix,protocolVersion:nc[1],maxBufferedChunks:1048576,maxFragments:131072,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=o.autoPong,t._closeTimeout=o.closeTimeout,!nc.includes(o.protocolVersion))throw new RangeError(`Unsupported protocol version: ${o.protocolVersion} (supported versions: ${nc.join(", ")})`);let s;if(e instanceof tc)s=e;else try{s=new tc(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),t._url=s.href;let i=s.protocol==="wss:",l=s.protocol==="ws+unix:",c;if(s.protocol!=="ws:"&&!i&&!l?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!s.pathname?c="The URL's pathname is empty":s.hash&&(c="The URL contains a fragment identifier"),c){let x=new SyntaxError(c);if(t._redirects===0)throw x;bi(t,x);return}let f=i?443:80,d=tx(16).toString("base64"),a=i?XE.request:ZE.request,h=new Set,p;if(o.createConnection=o.createConnection||(i?Ax:gx),o.defaultPort=o.defaultPort||f,o.port=s.port||f,o.host=s.hostname.startsWith("[")?s.hostname.slice(1,-1):s.hostname,o.headers={...o.headers,"Sec-WebSocket-Version":o.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},o.path=s.pathname+s.search,o.timeout=o.handshakeTimeout,o.perMessageDeflate&&(p=new Sr({...o.perMessageDeflate,isServer:!1,maxPayload:o.maxPayload}),o.headers["Sec-WebSocket-Extensions"]=fx({[Sr.extensionName]:p.offer()})),r.length){for(let x of r){if(typeof x!="string"||!px.test(x)||h.has(x))throw new SyntaxError("An invalid or duplicated subprotocol was specified");h.add(x)}o.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(o.origin&&(o.protocolVersion<13?o.headers["Sec-WebSocket-Origin"]=o.origin:o.headers.Origin=o.origin),(s.username||s.password)&&(o.auth=`${s.username}:${s.password}`),l){let x=o.path.split(":");o.socketPath=x[0],o.path=x[1]}let g;if(o.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=i,t._originalHostOrSocketPath=l?o.socketPath:s.host;let x=n&&n.headers;if(n={...n,headers:{}},x)for(let[A,w]of Object.entries(x))n.headers[A.toLowerCase()]=w}else if(t.listenerCount("redirect")===0){let x=l?t._originalIpc?o.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:s.host===t._originalHostOrSocketPath;(!x||t._originalSecure&&!i)&&(delete o.headers.authorization,delete o.headers.cookie,x||delete o.headers.host,o.auth=void 0)}o.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(o.auth).toString("base64")),g=t._req=a(o),t._redirects&&t.emit("redirect",t.url,g)}else g=t._req=a(o);o.timeout&&g.on("timeout",()=>{Et(t,g,"Opening handshake has timed out")}),g.on("error",x=>{g===null||g[Xh]||(g=t._req=null,bi(t,x))}),g.on("response",x=>{let A=x.headers.location,w=x.statusCode;if(A&&o.followRedirects&&w>=300&&w<400){if(++t._redirects>o.maxRedirects){Et(t,g,"Maximum redirects exceeded");return}g.abort();let O;try{O=new tc(A,e)}catch{let B=new SyntaxError(`Invalid URL: ${A}`);bi(t,B);return}Zh(t,O,r,n)}else t.emit("unexpected-response",g,x)||Et(t,g,`Unexpected server response: ${x.statusCode}`)}),g.on("upgrade",(x,A,w)=>{if(t.emit("upgrade",x),t.readyState!==Ie.CONNECTING)return;g=t._req=null;let O=x.headers.upgrade;if(O===void 0||O.toLowerCase()!=="websocket"){Et(t,A,"Invalid Upgrade header");return}let T=rx("sha1").update(d+ax).digest("base64");if(x.headers["sec-websocket-accept"]!==T){Et(t,A,"Invalid Sec-WebSocket-Accept header");return}let B=x.headers["sec-websocket-protocol"],v;if(B!==void 0?h.size?h.has(B)||(v="Server sent an invalid subprotocol"):v="Server sent a subprotocol but none was requested":h.size&&(v="Server sent no subprotocol"),v){Et(t,A,v);return}B&&(t._protocol=B);let C=x.headers["sec-websocket-extensions"];if(C!==void 0){if(!p){Et(t,A,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let I;try{I=mx(C)}catch{Et(t,A,"Invalid Sec-WebSocket-Extensions header");return}let j=Object.keys(I);if(j.length!==1||j[0]!==Sr.extensionName){Et(t,A,"Server indicated an extension that was not requested");return}try{p.accept(I[Sr.extensionName])}catch{Et(t,A,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[Sr.extensionName]=p}t.setSocket(A,w,{allowSynchronousEvents:o.allowSynchronousEvents,generateMask:o.generateMask,maxBufferedChunks:o.maxBufferedChunks,maxFragments:o.maxFragments,maxPayload:o.maxPayload,skipUTF8Validation:o.skipUTF8Validation})}),o.finishRequest?o.finishRequest(g,t):g.end()}function bi(t,e){t._readyState=Ie.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function gx(t){return t.path=t.socketPath,Hh.connect(t)}function Ax(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Hh.isIP(t.host)?"":t.host),ex.connect(t)}function Et(t,e,r){t._readyState=Ie.CLOSING;let n=new Error(r);Error.captureStackTrace(n,Et),e.setHeader?(e[Xh]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(bi,t,n)):(e.destroy(n),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function oc(t,e,r){if(e){let n=sx(e)?e.size:hx(e).length;t._socket?t._sender._bufferedBytes+=n:t._bufferedAmount+=n}if(r){let n=new Error(`WebSocket is not open: readyState ${t.readyState} (${or[t.readyState]})`);process.nextTick(r,n)}}function yx(t,e){let r=this[Ke];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[Ke]!==void 0&&(r._socket.removeListener("data",Ei),process.nextTick(ep,r._socket),t===1005?r.close():r.close(t,e))}function wx(){let t=this[Ke];t.isPaused||t._socket.resume()}function bx(t){let e=this[Ke];e._socket[Ke]!==void 0&&(e._socket.removeListener("data",Ei),process.nextTick(ep,e._socket),e.close(t[cx])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Vh(){this[Ke].emitClose()}function Ex(t,e){this[Ke].emit("message",t,e)}function xx(t){let e=this[Ke];e._autoPong&&e.pong(t,!this._isServer,zh),e.emit("ping",t)}function vx(t){this[Ke].emit("pong",t)}function ep(t){t.resume()}function Cx(t){let e=this[Ke];e.readyState!==Ie.CLOSED&&(e.readyState===Ie.OPEN&&(e._readyState=Ie.CLOSING,tp(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function tp(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function rp(){let t=this[Ke];if(this.removeListener("close",rp),this.removeListener("data",Ei),this.removeListener("end",np),t._readyState=Ie.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[Ke]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Vh),t._receiver.on("finish",Vh))}function Ei(t){this[Ke]._receiver.write(t)||this.pause()}function np(){let t=this[Ke];t._readyState=Ie.CLOSING,t._receiver.end(),this.end()}function op(){let t=this[Ke];this.removeListener("error",op),this.on("error",zh),t&&(t._readyState=Ie.CLOSING,this.destroy())}});var cp=Je((g_,lp)=>{"use strict";var p_=xi(),{Duplex:kx}=ie("stream");function ip(t){t.emit("close")}function Sx(){!this.destroyed&&this._writableState.finished&&this.destroy()}function ap(t){this.removeListener("error",ap),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function _x(t,e){let r=!0,n=new kx({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(s,i){let l=!i&&n._readableState.objectMode?s.toString():s;n.push(l)||t.pause()}),t.once("error",function(s){n.destroyed||(r=!1,n.destroy(s))}),t.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(o,s){if(t.readyState===t.CLOSED){s(o),process.nextTick(ip,n);return}let i=!1;t.once("error",function(c){i=!0,s(c)}),t.once("close",function(){i||s(o),process.nextTick(ip,n)}),r&&t.terminate()},n._final=function(o){if(t.readyState===t.CONNECTING){t.once("open",function(){n._final(o)});return}t._socket!==null&&(t._socket._writableState.finished?(o(),n._readableState.endEmitted&&n.destroy()):(t._socket.once("finish",function(){o()}),t.close()))},n._read=function(){t.isPaused&&t.resume()},n._write=function(o,s,i){if(t.readyState===t.CONNECTING){t.once("open",function(){n._write(o,s,i)});return}t.send(o,i)},n.on("end",Sx),n.on("error",ap),n}lp.exports=_x});var sc=Je((A_,up)=>{"use strict";var{tokenChars:Tx}=Qn();function Ix(t){let e=new Set,r=-1,n=-1,o=0;for(o;o<t.length;o++){let i=t.charCodeAt(o);if(n===-1&&Tx[i]===1)r===-1&&(r=o);else if(o!==0&&(i===32||i===9))n===-1&&r!==-1&&(n=o);else if(i===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${o}`);n===-1&&(n=o);let l=t.slice(r,n);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=n=-1}else throw new SyntaxError(`Unexpected character at index ${o}`)}if(r===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let s=t.slice(r,o);if(e.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);return e.add(s),e}up.exports={parse:Ix}});var Ap=Je((w_,gp)=>{"use strict";var Bx=ie("events"),vi=ie("http"),{Duplex:y_}=ie("stream"),{createHash:Rx}=ie("crypto"),dp=yi(),rn=Ln(),Px=sc(),$x=xi(),{CLOSE_TIMEOUT:Ox,GUID:Lx,kWebSocket:Qx}=tr(),Dx=/^[+/0-9A-Za-z]{22}==$/,fp=0,mp=1,pp=2,ic=class extends Bx{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:1024*1024,maxFragments:128*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Ox,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:$x,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=vi.createServer((n,o)=>{let s=vi.STATUS_CODES[426];o.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),o.end(s)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=Nx(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(o,s,i)=>{this.handleUpgrade(o,s,i,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=fp}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===pp){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Fo,this);return}if(e&&this.once("close",e),this._state!==mp)if(this._state=mp,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Fo,this):process.nextTick(Fo,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{Fo(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,n,o){r.on("error",hp);let s=e.headers["sec-websocket-key"],i=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,r,405,"Invalid HTTP method");return}if(i===void 0||i.toLowerCase()!=="websocket"){nn(this,e,r,400,"Invalid Upgrade header");return}if(s===void 0||!Dx.test(s)){nn(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){nn(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Uo(r,400);return}let c=e.headers["sec-websocket-protocol"],f=new Set;if(c!==void 0)try{f=Px.parse(c)}catch{nn(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],a={};if(this.options.perMessageDeflate&&d!==void 0){let h=new rn({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let p=dp.parse(d);p[rn.extensionName]&&(h.accept(p[rn.extensionName]),a[rn.extensionName]=h)}catch{nn(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let h={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(h,(p,g,x,A)=>{if(!p)return Uo(r,g||401,x,A);this.completeUpgrade(a,s,f,e,r,n,o)});return}if(!this.options.verifyClient(h))return Uo(r,401)}this.completeUpgrade(a,s,f,e,r,n,o)}completeUpgrade(e,r,n,o,s,i,l){if(!s.readable||!s.writable)return s.destroy();if(s[Qx])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>fp)return Uo(s,503);let f=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Rx("sha1").update(r+Lx).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(n.size){let a=this.options.handleProtocols?this.options.handleProtocols(n,o):n.values().next().value;a&&(f.push(`Sec-WebSocket-Protocol: ${a}`),d._protocol=a)}if(e[rn.extensionName]){let a=e[rn.extensionName].params,h=dp.format({[rn.extensionName]:[a]});f.push(`Sec-WebSocket-Extensions: ${h}`),d._extensions=e}this.emit("headers",f,o),s.write(f.concat(`\r
94
94
  `).join(`\r
95
- `)),s.removeListener("error",up),u.setSocket(s,i,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Mo,this)})),l(u,o)}};fp.exports=sl;function Ix(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let n of Object.keys(e))t.removeListener(n,e[n])}}function Mo(t){t._state=dp,t.emit("close")}function up(){this.destroy()}function Fo(t,e,r,n){r=r||vi.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...n},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${vi.STATUS_CODES[e]}\r
95
+ `)),s.removeListener("error",hp),d.setSocket(s,i,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Fo,this)})),l(d,o)}};gp.exports=ic;function Nx(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let n of Object.keys(e))t.removeListener(n,e[n])}}function Fo(t){t._state=pp,t.emit("close")}function hp(){this.destroy()}function Uo(t,e,r,n){r=r||vi.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...n},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${vi.STATUS_CODES[e]}\r
96
96
  `+Object.keys(n).map(o=>`${o}: ${n[o]}`).join(`\r
97
97
  `)+`\r
98
98
  \r
99
- `+r)}function nn(t,e,r,n,o,s){if(t.listenerCount("wsClientError")){let i=new Error(o);Error.captureStackTrace(i,nn),t.emit("wsClientError",i,r,e)}else Fo(r,n,o,s)}});var gp=Je((f_,pp)=>{"use strict";var Bx=sp(),Rx=yi(),Px=Ln(),Ox=Hc(),$x=Xc(),Lx=ol(),Mt=xi(),hp=mp();Mt.createWebSocketStream=Bx;Mt.extension=Rx;Mt.PerMessageDeflate=Px;Mt.Receiver=Ox;Mt.Sender=$x;Mt.Server=hp;Mt.subprotocol=Lx;Mt.WebSocket=Mt;Mt.WebSocketServer=hp;pp.exports=Mt});var al={};xt(al,{PriceFeed:()=>Ci,priceFeed:()=>Ue});import{Type as il}from"@sinclair/typebox";var on,Ci,Ue,Un=ve(()=>{"use strict";pt();Ke();on="AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",Ci=class{cachedAiaiPrice=null;lastFetch=0;cacheDuration=3e4;_cachedTicker="";_cachedTickerPrice="";async getAiaiaiPrice(){return this.cachedAiaiPrice&&Date.now()-this.lastFetch<this.cacheDuration?this.cachedAiaiPrice:this.fetchToken(on)}async fetchToken(e){let r=`https://api.dexscreener.com/tokens/v1/solana/${e}`;try{let n=await me(r,{timeout:1e4,retries:1});if(!n.ok)return this.fallbackPrice(e);let o=await n.json();if(!o||o.length===0)return this.fallbackPrice(e);let s=o[0],i={tokenAddress:e,symbol:s.baseToken.symbol,name:s.baseToken.name,priceUsd:s.priceUsd,priceNative:s.priceNative,liquidityUsd:s.liquidity?.usd??0,fdv:s.fdv??null,marketCap:s.marketCap??null,volume24h:s.volume?.h24??0,priceChange24h:s.priceChange?.h24??0,buys24h:s.txns?.h24?.buys??0,sells24h:s.txns?.h24?.sells??0,dexUrl:s.url};return e===on&&(this.cachedAiaiPrice=i,this.lastFetch=Date.now(),this._cachedTicker="",this._cachedTickerPrice=""),i}catch(n){return X.warn("PriceFeed","fetchToken failed",{tokenAddress:e,error:n.message}),this.fallbackPrice(e)}}fallbackPrice(e){return this.cachedAiaiPrice&&e===on?{...this.cachedAiaiPrice,symbol:this.cachedAiaiPrice.symbol+" \u26A0\uFE0F"}:{tokenAddress:e,symbol:e===on?"AIAIAI":"UNKNOWN",name:e===on?"AIAIAI Chain":"Unknown Token",priceUsd:null,priceNative:"0",liquidityUsd:0,fdv:null,marketCap:null,volume24h:0,priceChange24h:0,buys24h:0,sells24h:0,dexUrl:`https://dexscreener.com/solana/${e}`}}tickerLine(e=6){try{let r=this.cachedAiaiPrice;if(!r||!r.priceUsd)return this._cachedTicker;let n=parseFloat(r.priceUsd).toFixed(6);if(this._cachedTicker&&n===this._cachedTickerPrice)return this._cachedTicker;let o=r.priceChange24h,s=o>0?"\u25B2":o<0?"\u25BC":"\u2500";return this._cachedTickerPrice=n,this._cachedTicker=`$AIAIAI $${n} ${s}${Math.abs(o).toFixed(2)}%`.slice(0,40),this._cachedTicker}catch(r){return X.error("PriceFeed","tickerLine error",{error:r.message}),this._cachedTicker}}getAiaiaiPriceSync(){return this.cachedAiaiPrice}priceLine(){let e=this.getAiaiaiPriceSync();return!e||!e.priceUsd?"$AIAIAI: loading...":`$AIAIAI $${parseFloat(e.priceUsd).toFixed(6)} | ${e.priceChange24h>0?"+":""}${e.priceChange24h.toFixed(2)}%`}getAiaiaiPriceParams=il.Object({});getTokenPriceParams=il.Object({address:il.String({description:"Token contract address on Solana"})});async getAiaiaiPriceTool(){let e=await this.getAiaiaiPrice();return{content:[{type:"text",text:[`Token: $${e.symbol} (${e.name})`,`Address: ${e.tokenAddress}`,`Price USD: ${e.priceUsd?`$${parseFloat(e.priceUsd).toFixed(8)}`:"N/A"}`,`Price SOL: ${parseFloat(e.priceNative).toFixed(8)} SOL`,`24h Change: ${e.priceChange24h>0?"+":""}${e.priceChange24h.toFixed(2)}%`,`24h Volume: $${e.volume24h.toLocaleString()}`,`24h Buys: ${e.buys24h} | Sells: ${e.sells24h}`,`Liquidity: $${e.liquidityUsd.toLocaleString()}`,`FDV: ${e.fdv?`$${e.fdv.toLocaleString()}`:"N/A"}`,`Market Cap: ${e.marketCap?`$${e.marketCap.toLocaleString()}`:"N/A"}`,`DEX: ${e.dexUrl}`].join(`
99
+ `+r)}function nn(t,e,r,n,o,s){if(t.listenerCount("wsClientError")){let i=new Error(o);Error.captureStackTrace(i,nn),t.emit("wsClientError",i,r,e)}else Uo(r,n,o,s)}});var bp=Je((b_,wp)=>{"use strict";var Mx=cp(),Fx=yi(),Ux=Ln(),jx=Hl(),Kx=Zl(),Wx=sc(),Mt=xi(),yp=Ap();Mt.createWebSocketStream=Mx;Mt.extension=Fx;Mt.PerMessageDeflate=Ux;Mt.Receiver=jx;Mt.Sender=Kx;Mt.Server=yp;Mt.subprotocol=Wx;Mt.WebSocket=Mt;Mt.WebSocketServer=yp;wp.exports=Mt});var lc={};yt(lc,{PriceFeed:()=>Ci,priceFeed:()=>We});import{Type as ac}from"@sinclair/typebox";var on,Ci,We,Un=xe(()=>{"use strict";ht();Ye();on="AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",Ci=class{cachedAiaiPrice=null;lastFetch=0;cacheDuration=3e4;_cachedTicker="";_cachedTickerPrice="";async getAiaiaiPrice(){return this.cachedAiaiPrice&&Date.now()-this.lastFetch<this.cacheDuration?this.cachedAiaiPrice:this.fetchToken(on)}async fetchToken(e){let r=`https://api.dexscreener.com/tokens/v1/solana/${e}`;try{let n=await fe(r,{timeout:1e4,retries:1});if(!n.ok)return this.fallbackPrice(e);let o=await n.json();if(!o||o.length===0)return this.fallbackPrice(e);let s=o[0],i={tokenAddress:e,symbol:s.baseToken.symbol,name:s.baseToken.name,priceUsd:s.priceUsd,priceNative:s.priceNative,liquidityUsd:s.liquidity?.usd??0,fdv:s.fdv??null,marketCap:s.marketCap??null,volume24h:s.volume?.h24??0,priceChange24h:s.priceChange?.h24??0,buys24h:s.txns?.h24?.buys??0,sells24h:s.txns?.h24?.sells??0,dexUrl:s.url};return e===on&&(this.cachedAiaiPrice=i,this.lastFetch=Date.now(),this._cachedTicker="",this._cachedTickerPrice=""),i}catch(n){return Z.warn("PriceFeed","fetchToken failed",{tokenAddress:e,error:n.message}),this.fallbackPrice(e)}}fallbackPrice(e){return this.cachedAiaiPrice&&e===on?{...this.cachedAiaiPrice,symbol:this.cachedAiaiPrice.symbol+" \u26A0\uFE0F"}:{tokenAddress:e,symbol:e===on?"AIAIAI":"UNKNOWN",name:e===on?"AIAIAI Chain":"Unknown Token",priceUsd:null,priceNative:"0",liquidityUsd:0,fdv:null,marketCap:null,volume24h:0,priceChange24h:0,buys24h:0,sells24h:0,dexUrl:`https://dexscreener.com/solana/${e}`}}tickerLine(e=6){try{let r=this.cachedAiaiPrice;if(!r||!r.priceUsd)return this._cachedTicker;let n=parseFloat(r.priceUsd).toFixed(6);if(this._cachedTicker&&n===this._cachedTickerPrice)return this._cachedTicker;let o=r.priceChange24h,s=o>0?"\u25B2":o<0?"\u25BC":"\u2500";return this._cachedTickerPrice=n,this._cachedTicker=`$AIAIAI $${n} ${s}${Math.abs(o).toFixed(2)}%`.slice(0,40),this._cachedTicker}catch(r){return Z.error("PriceFeed","tickerLine error",{error:r.message}),this._cachedTicker}}getAiaiaiPriceSync(){return this.cachedAiaiPrice}priceLine(){let e=this.getAiaiaiPriceSync();return!e||!e.priceUsd?"$AIAIAI: loading...":`$AIAIAI $${parseFloat(e.priceUsd).toFixed(6)} | ${e.priceChange24h>0?"+":""}${e.priceChange24h.toFixed(2)}%`}getAiaiaiPriceParams=ac.Object({});getTokenPriceParams=ac.Object({address:ac.String({description:"Token contract address on Solana"})});async getAiaiaiPriceTool(){let e=await this.getAiaiaiPrice();return{content:[{type:"text",text:[`Token: $${e.symbol} (${e.name})`,`Address: ${e.tokenAddress}`,`Price USD: ${e.priceUsd?`$${parseFloat(e.priceUsd).toFixed(8)}`:"N/A"}`,`Price SOL: ${parseFloat(e.priceNative).toFixed(8)} SOL`,`24h Change: ${e.priceChange24h>0?"+":""}${e.priceChange24h.toFixed(2)}%`,`24h Volume: $${e.volume24h.toLocaleString()}`,`24h Buys: ${e.buys24h} | Sells: ${e.sells24h}`,`Liquidity: $${e.liquidityUsd.toLocaleString()}`,`FDV: ${e.fdv?`$${e.fdv.toLocaleString()}`:"N/A"}`,`Market Cap: ${e.marketCap?`$${e.marketCap.toLocaleString()}`:"N/A"}`,`DEX: ${e.dexUrl}`].join(`
100
100
  `)}]}}async getTokenPriceTool(e,r){let n=r.address,o=await this.fetchToken(n);return{content:[{type:"text",text:[`Token: $${o.symbol} (${o.name})`,`Address: ${o.tokenAddress}`,`Price USD: ${o.priceUsd?`$${parseFloat(o.priceUsd).toFixed(8)}`:"N/A"}`,`Price NATIVE: ${parseFloat(o.priceNative).toFixed(8)}`,`24h Change: ${o.priceChange24h>0?"+":""}${o.priceChange24h.toFixed(2)}%`,`24h Volume: $${o.volume24h.toLocaleString()}`,`Buys/Sells: ${o.buys24h}/${o.sells24h}`,`Liquidity: $${o.liquidityUsd.toLocaleString()}`].join(`
101
- `)}]}}ws=null;wsReconnectTimer=null;connectWebSocket(){if(this.ws?.readyState!==1)try{let e=globalThis.WebSocket||gp();if(!e)return;this.ws=new e("wss://io.dexscreener.com/dex/screener/pairs/solana/AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump"),this.ws.onmessage=r=>{try{let n=JSON.parse(r.data);if(n?.priceUsd){let o={tokenAddress:on,symbol:"AIAIAI",name:"AIAIAI Chain",priceUsd:n.priceUsd,priceNative:n.priceNative??"0",liquidityUsd:n.liquidityUsd??0,fdv:n.fdv??null,marketCap:n.marketCap??null,volume24h:n.volume24h??0,priceChange24h:n.priceChange24h??0,buys24h:0,sells24h:0,dexUrl:`https://dexscreener.com/solana/${on}`};this.cachedAiaiPrice=o,this.lastFetch=Date.now(),this._cachedTicker="",this._cachedTickerPrice=""}}catch{}},this.ws.onclose=()=>{this.wsReconnectTimer=setTimeout(()=>this.connectWebSocket(),3e4)},this.ws.onerror=()=>{try{this.ws?.close()}catch{}}}catch{}}disconnectWebSocket(){this.wsReconnectTimer&&clearTimeout(this.wsReconnectTimer);try{this.ws?.close()}catch{}this.ws=null}},Ue=new Ci;Ue.getAiaiaiPrice().catch(()=>{});Ue.connectWebSocket()});function Lp(){return $p.url}async function k1(){let e=Date.now()-Pp;e<Op&&await new Promise(r=>setTimeout(r,Op-e)),Pp=Date.now()}async function _r(t,e=[]){await k1();let r=JSON.stringify({jsonrpc:"2.0",id:Date.now(),method:t,params:e}),o=await(await me($p.url,{timeout:15e3,retries:2,method:"POST",headers:{"Content-Type":"application/json"},body:r})).json();if(o.error)throw vr.record({name:"RpcError",message:o.error.message||"Unknown RPC error",code:"RPC_ERROR",context:{method:t,code:o.error.code},timestamp:Date.now(),recoverable:!1}),new Error(o.error.message||"Unknown RPC error");return o.result}var v1,C1,$p,Pp,Op,Go=ve(()=>{"use strict";pt();Ro();v1=[{url:"https://api.mainnet-beta.solana.com",name:"Solana Public",priority:1},{url:"https://rpc.ankr.com/solana",name:"Ankr",priority:2},{url:"https://solana-api.projectserum.com",name:"ProjectSerum",priority:3}],C1=[...v1],$p=C1[0];Pp=0,Op=100});import{Type as Qp}from"@sinclair/typebox";async function Dp(t,e){try{let n=(await _r("getTokenAccountsByOwner",[t,{mint:e},{encoding:"jsonParsed"}]))?.value??[];return n.length===0?0:parseFloat(n[0]?.account?.data?.parsed?.info?.tokenAmount?.uiAmount??"0")}catch(r){return X.warn("AgentWallet","getTokenBalance failed",{address:t,mint:e,error:r.message}),0}}var at,Tr,sr,Gn,_l,an,Tl,S1,Sl,Ze,qo=ve(()=>{"use strict";Go();Ke();at="GmFrDZT2cdrqykgTikVdXbe8EtCgzUDM9VsDhQnwsUsG",Tr="BygDYM1ZXLQNC1HXLhnd1rHZ7E5XjioqT3vPjJFfjnU2",sr="FBMDYpG9WXKy4SgxuATQdB2sCyzHsJWPrEr45z3TgL2e",Gn="A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J",_l=at,an="AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",Tl=an,S1="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";Sl=class{cachedWallets=null;lastFetch=0;cacheDuration=3e4;async getAll(){if(this.cachedWallets&&Date.now()-this.lastFetch<this.cacheDuration)return this.cachedWallets;let[e,r]=await Promise.all([_r("getMultipleAccounts",[[Gn,at,Tr,sr]]).then(C=>(C?.value??[]).map(g=>(g?.lamports??0)/1e9)).catch(()=>[0,0,0,0]),Promise.all([...[Gn,at,Tr,sr].map(C=>Dp(C,an)),...[Gn,at,Tr,sr].map(C=>Dp(C,S1))])]),[n=0,o=0,s=0,i=0]=e,[l=0,c=0,f=0,u=0,a=0,h=0,p=0,A=0]=r;return this.cachedWallets={cold:{address:Gn,sol:n,aiaiai:l,usdc:a},action:{address:at,sol:o,aiaiai:c,usdc:h},hot:{address:Tr,sol:s,aiaiai:f,usdc:p},deposit:{address:sr,sol:i,aiaiai:u,usdc:A}},this.lastFetch=Date.now(),this.cachedWallets}async getColdWallet(){return(await this.getAll()).cold}async getActionWallet(){return(await this.getAll()).action}async getDepositWallet(){return(await this.getAll()).deposit}async getSolPrice(){try{let{priceFeed:e}=await Promise.resolve().then(()=>(Un(),al)),r=await e.fetchToken("So11111111111111111111111111111111111111112");return parseFloat(r.priceUsd??"150")}catch{return 150}}async getHotWallet(){return(await this.getAll()).hot}getAgentBalanceParams=Qp.Object({});getDepositBalanceParams=Qp.Object({});async getAgentBalanceTool(){let e=await this.getAll();return{content:[{type:"text",text:["\u{1F916} Action Wallet",` ${at.slice(0,8)}\u2026${at.slice(-6)}`,` SOL: ${e.action.sol.toFixed(4)}`,` $AIAIAI: ${e.action.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.action.usdc.toFixed(2)}`,"","\u26A1 Hot Wallet",` ${Tr.slice(0,8)}\u2026${Tr.slice(-6)}`,` SOL: ${e.hot.sol.toFixed(4)}`,` $AIAIAI: ${e.hot.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.hot.usdc.toFixed(2)}`,"","\u2744\uFE0F Cold (reserve)",` ${Gn.slice(0,8)}\u2026${Gn.slice(-6)}`,` SOL: ${e.cold.sol.toFixed(4)}`].join(`
102
- `)}]}}async getDepositBalanceTool(){let e=await this.getAll();return{content:[{type:"text",text:["Deposit Wallet",` Address: ${sr}`,` SOL: ${e.deposit.sol.toFixed(4)}`,` $AIAIAI: ${e.deposit.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.deposit.usdc.toFixed(2)}`,"","Send SOL or USDC here to fuel agent actions.",`Signer: ${_l.slice(0,8)}\u2026`].join(`
103
- `)}]}}},Ze=new Sl});var Il={};xt(Il,{ActionFeed:()=>Ti,actionFeed:()=>et});import{Type as _i}from"@sinclair/typebox";var Ti,et,Ii=ve(()=>{"use strict";qo();Go();Ke();Ti=class{actions=[];lastSignature="";lastFetch=0;cacheDuration=6e4;fees={buyFees:0,burnFees:0,total:0};_price=4e-4;async refresh(){if(!(Date.now()-this.lastFetch<this.cacheDuration)){this.lastFetch=Date.now();try{let e=await _r("getSignaturesForAddress",[at,{limit:30}]);if(!e||e.length===0)return;for(let r of e){if(r.signature===this.lastSignature)break;await this.processTransaction(r.signature)}e.length>0&&(this.lastSignature=e[0].signature)}catch(e){X.debug("ActionFeed","refresh failed",{error:e.message})}}}async processTransaction(e){try{let r=await _r("getTransaction",[e,{encoding:"jsonParsed",maxSupportedTransactionVersion:0}]);if(!r||!r.meta)return;let n=r.meta.innerInstructions??[],o=0,s=0,i=!1;for(let l of n)for(let c of l.instructions??[]){if(c.parsed?.info?.mint&&(i=!0),c.parsed?.type==="transferChecked"&&c.parsed.info?.mint===an){let u=parseFloat(c.parsed.info?.tokenAmount?.uiAmount??"0");u>1&&(o+=u)}if(c.parsed?.type==="burnChecked"&&c.parsed.info?.mint===an){let u=parseFloat(c.parsed.info?.tokenAmount?.uiAmount??"0");u>0&&(s+=u)}}if(!i&&o===0&&s===0)return;if(o===0&&s===0){let l=r.meta.preTokenBalances??[],c=r.meta.postTokenBalances??[];for(let f of c){if(f.mint!==an)continue;let u=l.find(A=>A.accountIndex===f.accountIndex&&A.mint===an),a=u?parseFloat(u.uiTokenAmount?.uiAmount??"0"):0,p=parseFloat(f.uiTokenAmount?.uiAmount??"0")-a;Math.abs(p)<1e-6||(p>0?o+=p:s+=Math.abs(p))}}if(o>0){let l=o*this._price,c=l*.005;this.fees.buyFees+=c,this.fees.total=this.fees.buyFees+this.fees.burnFees,this.actions.unshift({id:e.slice(0,10),type:"buy",amount:o,token:"AIAIAI",usdValue:l,timestamp:(r.blockTime??Math.floor(Date.now()/1e3))*1e3,signature:e})}if(s>0){let l=s*this._price,c=l*.005;this.fees.burnFees+=c,this.fees.total=this.fees.buyFees+this.fees.burnFees,this.actions.unshift({id:e.slice(0,10)+"-b",type:"burn",amount:s,token:"AIAIAI",usdValue:l,timestamp:(r.blockTime??Math.floor(Date.now()/1e3))*1e3,signature:e})}if(this.actions.length>100){let l=Math.ceil(this.actions.length*.8);this.actions=this.actions.slice(0,Math.max(l,100))}}catch(r){X.debug("ActionFeed","Failed to parse tx",{error:r.message})}}setPrice(e){e>0&&(this._price=e)}getActions(){return[...this.actions]}getRecentActions(e=10){return this.actions.slice(0,e)}getFees(){return{...this.fees}}getActionSummary(){let e=this.actions.filter(n=>n.type==="buy"),r=this.actions.filter(n=>n.type==="burn");return{buys:e.length,burns:r.length,totalBought:e.reduce((n,o)=>n+o.amount,0),totalBurned:r.reduce((n,o)=>n+o.amount,0)}}getActionsParams=_i.Object({limit:_i.Optional(_i.Number({description:"Number of recent actions",default:10}))});getFeesParams=_i.Object({});async getActionsTool(e,r){let n=r.limit||10,o=this.getRecentActions(n);if(o.length===0)return{content:[{type:"text",text:["No buy/burn actions detected yet.",`Action wallet: ${at.slice(0,8)}\u2026${at.slice(-6)}`,"Actions appear when the agent buys and burns $AIAIAI via Pump.fun."].join(`
101
+ `)}]}}ws=null;wsReconnectTimer=null;connectWebSocket(){if(this.ws?.readyState!==1)try{let e=globalThis.WebSocket||bp();if(!e)return;this.ws=new e("wss://io.dexscreener.com/dex/screener/pairs/solana/AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump"),this.ws.onmessage=r=>{try{let n=JSON.parse(r.data);if(n?.priceUsd){let o={tokenAddress:on,symbol:"AIAIAI",name:"AIAIAI Chain",priceUsd:n.priceUsd,priceNative:n.priceNative??"0",liquidityUsd:n.liquidityUsd??0,fdv:n.fdv??null,marketCap:n.marketCap??null,volume24h:n.volume24h??0,priceChange24h:n.priceChange24h??0,buys24h:0,sells24h:0,dexUrl:`https://dexscreener.com/solana/${on}`};this.cachedAiaiPrice=o,this.lastFetch=Date.now(),this._cachedTicker="",this._cachedTickerPrice=""}}catch{}},this.ws.onclose=()=>{this.wsReconnectTimer=setTimeout(()=>this.connectWebSocket(),3e4)},this.ws.onerror=()=>{try{this.ws?.close()}catch{}}}catch{}}disconnectWebSocket(){this.wsReconnectTimer&&clearTimeout(this.wsReconnectTimer);try{this.ws?.close()}catch{}this.ws=null}},We=new Ci;We.getAiaiaiPrice().catch(()=>{})});function Mp(){return Np.url}async function O1(){let e=Date.now()-Qp;e<Dp&&await new Promise(r=>setTimeout(r,Dp-e)),Qp=Date.now()}async function _r(t,e=[]){await O1();let r=JSON.stringify({jsonrpc:"2.0",id:Date.now(),method:t,params:e}),o=await(await fe(Np.url,{timeout:15e3,retries:2,method:"POST",headers:{"Content-Type":"application/json"},body:r})).json();if(o.error)throw Cr.record({name:"RpcError",message:o.error.message||"Unknown RPC error",code:"RPC_ERROR",context:{method:t,code:o.error.code},timestamp:Date.now(),recoverable:!1}),new Error(o.error.message||"Unknown RPC error");return o.result}var P1,$1,Np,Qp,Dp,qo=xe(()=>{"use strict";ht();Ro();P1=[{url:"https://api.mainnet-beta.solana.com",name:"Solana Public",priority:1},{url:"https://rpc.ankr.com/solana",name:"Ankr",priority:2},{url:"https://solana-api.projectserum.com",name:"ProjectSerum",priority:3}],$1=[...P1],Np=$1[0];Qp=0,Dp=100});import{Type as Fp}from"@sinclair/typebox";async function Up(t,e){try{let n=(await _r("getTokenAccountsByOwner",[t,{mint:e},{encoding:"jsonParsed"}]))?.value??[];return n.length===0?0:parseFloat(n[0]?.account?.data?.parsed?.info?.tokenAmount?.uiAmount??"0")}catch(r){return Z.warn("AgentWallet","getTokenBalance failed",{address:t,mint:e,error:r.message}),0}}var at,Tr,ir,Gn,Tc,an,Ic,L1,_c,et,Jo=xe(()=>{"use strict";qo();Ye();at="GmFrDZT2cdrqykgTikVdXbe8EtCgzUDM9VsDhQnwsUsG",Tr="BygDYM1ZXLQNC1HXLhnd1rHZ7E5XjioqT3vPjJFfjnU2",ir="FBMDYpG9WXKy4SgxuATQdB2sCyzHsJWPrEr45z3TgL2e",Gn="A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J",Tc=at,an="AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",Ic=an,L1="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";_c=class{cachedWallets=null;lastFetch=0;cacheDuration=3e4;async getAll(){if(this.cachedWallets&&Date.now()-this.lastFetch<this.cacheDuration)return this.cachedWallets;let[e,r]=await Promise.all([_r("getMultipleAccounts",[[Gn,at,Tr,ir]]).then(x=>(x?.value??[]).map(A=>(A?.lamports??0)/1e9)).catch(()=>[0,0,0,0]),Promise.all([...[Gn,at,Tr,ir].map(x=>Up(x,an)),...[Gn,at,Tr,ir].map(x=>Up(x,L1))])]),[n=0,o=0,s=0,i=0]=e,[l=0,c=0,f=0,d=0,a=0,h=0,p=0,g=0]=r;return this.cachedWallets={cold:{address:Gn,sol:n,aiaiai:l,usdc:a},action:{address:at,sol:o,aiaiai:c,usdc:h},hot:{address:Tr,sol:s,aiaiai:f,usdc:p},deposit:{address:ir,sol:i,aiaiai:d,usdc:g}},this.lastFetch=Date.now(),this.cachedWallets}async getColdWallet(){return(await this.getAll()).cold}async getActionWallet(){return(await this.getAll()).action}async getDepositWallet(){return(await this.getAll()).deposit}async getSolPrice(){try{let{priceFeed:e}=await Promise.resolve().then(()=>(Un(),lc)),r=await e.fetchToken("So11111111111111111111111111111111111111112");return parseFloat(r.priceUsd??"150")}catch{return 150}}async getHotWallet(){return(await this.getAll()).hot}getAgentBalanceParams=Fp.Object({});getDepositBalanceParams=Fp.Object({});async getAgentBalanceTool(){let e=await this.getAll();return{content:[{type:"text",text:["\u{1F916} Action Wallet",` ${at.slice(0,8)}\u2026${at.slice(-6)}`,` SOL: ${e.action.sol.toFixed(4)}`,` $AIAIAI: ${e.action.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.action.usdc.toFixed(2)}`,"","\u26A1 Hot Wallet",` ${Tr.slice(0,8)}\u2026${Tr.slice(-6)}`,` SOL: ${e.hot.sol.toFixed(4)}`,` $AIAIAI: ${e.hot.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.hot.usdc.toFixed(2)}`,"","\u2744\uFE0F Cold (reserve)",` ${Gn.slice(0,8)}\u2026${Gn.slice(-6)}`,` SOL: ${e.cold.sol.toFixed(4)}`].join(`
102
+ `)}]}}async getDepositBalanceTool(){let e=await this.getAll();return{content:[{type:"text",text:["Deposit Wallet",` Address: ${ir}`,` SOL: ${e.deposit.sol.toFixed(4)}`,` $AIAIAI: ${e.deposit.aiaiai.toLocaleString(void 0,{maximumFractionDigits:2})}`,` USDC: ${e.deposit.usdc.toFixed(2)}`,"","Send SOL or USDC here to fuel agent actions.",`Signer: ${Tc.slice(0,8)}\u2026`].join(`
103
+ `)}]}}},et=new _c});var Bc={};yt(Bc,{ActionFeed:()=>Ti,actionFeed:()=>tt});import{Type as _i}from"@sinclair/typebox";var Ti,tt,Ii=xe(()=>{"use strict";Jo();qo();Ye();Ti=class{actions=[];lastSignature="";lastFetch=0;cacheDuration=6e4;fees={buyFees:0,burnFees:0,total:0};_price=4e-4;async refresh(){if(!(Date.now()-this.lastFetch<this.cacheDuration)){this.lastFetch=Date.now();try{let e=await _r("getSignaturesForAddress",[at,{limit:30}]);if(!e||e.length===0)return;for(let r of e){if(r.signature===this.lastSignature)break;await this.processTransaction(r.signature)}e.length>0&&(this.lastSignature=e[0].signature)}catch(e){Z.debug("ActionFeed","refresh failed",{error:e.message})}}}async processTransaction(e){try{let r=await _r("getTransaction",[e,{encoding:"jsonParsed",maxSupportedTransactionVersion:0}]);if(!r||!r.meta)return;let n=r.meta.innerInstructions??[],o=0,s=0,i=!1;for(let l of n)for(let c of l.instructions??[]){if(c.parsed?.info?.mint&&(i=!0),c.parsed?.type==="transferChecked"&&c.parsed.info?.mint===an){let d=parseFloat(c.parsed.info?.tokenAmount?.uiAmount??"0");d>1&&(o+=d)}if(c.parsed?.type==="burnChecked"&&c.parsed.info?.mint===an){let d=parseFloat(c.parsed.info?.tokenAmount?.uiAmount??"0");d>0&&(s+=d)}}if(!i&&o===0&&s===0)return;if(o===0&&s===0){let l=r.meta.preTokenBalances??[],c=r.meta.postTokenBalances??[];for(let f of c){if(f.mint!==an)continue;let d=l.find(g=>g.accountIndex===f.accountIndex&&g.mint===an),a=d?parseFloat(d.uiTokenAmount?.uiAmount??"0"):0,p=parseFloat(f.uiTokenAmount?.uiAmount??"0")-a;Math.abs(p)<1e-6||(p>0?o+=p:s+=Math.abs(p))}}if(o>0){let l=o*this._price,c=l*.005;this.fees.buyFees+=c,this.fees.total=this.fees.buyFees+this.fees.burnFees,this.actions.unshift({id:e.slice(0,10),type:"buy",amount:o,token:"AIAIAI",usdValue:l,timestamp:(r.blockTime??Math.floor(Date.now()/1e3))*1e3,signature:e})}if(s>0){let l=s*this._price,c=l*.005;this.fees.burnFees+=c,this.fees.total=this.fees.buyFees+this.fees.burnFees,this.actions.unshift({id:e.slice(0,10)+"-b",type:"burn",amount:s,token:"AIAIAI",usdValue:l,timestamp:(r.blockTime??Math.floor(Date.now()/1e3))*1e3,signature:e})}if(this.actions.length>100){let l=Math.ceil(this.actions.length*.8);this.actions=this.actions.slice(0,Math.max(l,100))}}catch(r){Z.debug("ActionFeed","Failed to parse tx",{error:r.message})}}setPrice(e){e>0&&(this._price=e)}getActions(){return[...this.actions]}getRecentActions(e=10){return this.actions.slice(0,e)}getFees(){return{...this.fees}}getActionSummary(){let e=this.actions.filter(n=>n.type==="buy"),r=this.actions.filter(n=>n.type==="burn");return{buys:e.length,burns:r.length,totalBought:e.reduce((n,o)=>n+o.amount,0),totalBurned:r.reduce((n,o)=>n+o.amount,0)}}getActionsParams=_i.Object({limit:_i.Optional(_i.Number({description:"Number of recent actions",default:10}))});getFeesParams=_i.Object({});async getActionsTool(e,r){let n=r.limit||10,o=this.getRecentActions(n);if(o.length===0)return{content:[{type:"text",text:["No buy/burn actions detected yet.",`Action wallet: ${at.slice(0,8)}\u2026${at.slice(-6)}`,"Actions appear when the agent buys and burns $AIAIAI via Pump.fun."].join(`
104
104
  `)}]};let s=this.getActionSummary();return{content:[{type:"text",text:[`\u{1F504} Recent Actions (${o.length})`,` Buys: ${s.buys} (${s.totalBought.toLocaleString()} $AIAIAI)`,` Burns: ${s.burns} (${s.totalBurned.toLocaleString()} $AIAIAI)`,"",...o.map(l=>{let c=l.type==="buy"?"\u2197":"\u{1F525}",f=new Date(l.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return` ${c} ${f} ${l.type.toUpperCase().padEnd(4)} ${l.amount.toLocaleString()} $AIAIAI ($${l.usdValue.toFixed(2)})`})].join(`
105
105
  `)}]}}async getFeesTool(){let e=this.getFees();return{content:[{type:"text",text:["\u{1F4B5} Agent Fees (0.5% per action)",` Buy fees: $${e.buyFees.toFixed(4)}`,` Burn fees: $${e.burnFees.toFixed(4)}`," \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",` Total: $${e.total.toFixed(4)}`].join(`
106
- `)}]}}},et=new Ti});var ng={};xt(ng,{PRESETS:()=>Yo,getCurrentTheme:()=>jl,getPresetColors:()=>Wl,listThemes:()=>Gl,setTheme:()=>Kl});import{existsSync as tg,readFileSync as J1}from"node:fs";import{join as Di}from"node:path";import{homedir as Y1}from"node:os";function jl(){let t=Di(rg,"config","theme.json");try{if(tg(t)){let e=J1(t,"utf-8");return JSON.parse(e).theme||"solana"}}catch{}return"solana"}function Kl(t){let e=Yo[t];if(!e)return!1;let r=Di(rg,"config"),n=Di(r,"theme.json");try{let{mkdirSync:o,writeFileSync:s}=ae("node:fs");return tg(r)||o(r,{recursive:!0}),s(n,JSON.stringify({theme:t,colors:e.colors},null,2),"utf-8"),!0}catch{return!1}}function Wl(){let t=jl();return Yo[t]?.colors??Yo.solana.colors}function Gl(){return Object.entries(Yo).map(([t,e])=>` ${t===jl()?"\u2605":" "} ${t.padEnd(14)} ${e.description}`).join(`
107
- `)}var rg,Yo,ql=ve(()=>{"use strict";rg=process.env.AIAIAI_HOME??Di(Y1(),".aiaiai"),Yo={solana:{name:"Solana Sunset",description:"Warm gradients inspired by the Solana blockchain colors",colors:{accent:"#9945FF",header:"#14F195",muted:"#888888",dim:"#444444",success:"#14F195",warn:"#FFD600",error:"#FF4444",background:"#111111"}},cyberpunk:{name:"Cyberpunk",description:"Neon pink and cyan \u2014 late night trading terminal",colors:{accent:"#FF00FF",header:"#00FFFF",muted:"#666666",dim:"#333333",success:"#00FF44",warn:"#FFFF00",error:"#FF0044",background:"#0A0A0A"}},monochrome:{name:"Monochrome",description:"Clean grayscale \u2014 professional trading desk",colors:{accent:"#FFFFFF",header:"#DDDDDD",muted:"#888888",dim:"#444444",success:"#CCCCCC",warn:"#999999",error:"#FF4444",background:"#111111"}},forest:{name:"Forest",description:"Calm greens \u2014 for zen trading sessions",colors:{accent:"#50FA7B",header:"#7BFA50",muted:"#6272A4",dim:"#44475A",success:"#50FA7B",warn:"#F1FA8C",error:"#FF5555",background:"#1A2D1A"}},ocean:{name:"Ocean",description:"Deep blues \u2014 data-rich dashboard feel",colors:{accent:"#8BE9FD",header:"#6272A4",muted:"#6272A4",dim:"#44475A",success:"#50FA7B",warn:"#F1FA8C",error:"#FF5555",background:"#0D1B2A"}}}});var sg={};xt(sg,{clipboardSupported:()=>Ni,copyToClipboard:()=>Jl,encodeOSC52:()=>og});function og(t){return`\x1B]52;c;${Buffer.from(t).toString("base64")}\x07`}function Jl(t){try{return process.stdout.write(og(t)),!0}catch{return!1}}function Ni(){let t=process.env.TERM_PROGRAM??"";return process.env.TERM?.includes("xterm")||t.includes("iTerm")||t.includes("kitty")||t.includes("Wez")||t.includes("Alacritty")||t.includes("Terminal")?"\u2705 Clipboard ready (OSC 52)":"\u26A0\uFE0F Clipboard may not be supported in this terminal"}var Yl=ve(()=>{"use strict"});var ug={};xt(ug,{hasWebhooks:()=>Vl,notify:()=>Hl,sendDiscord:()=>cg,sendTelegram:()=>lg});import{existsSync as z1,readFileSync as X1}from"node:fs";import{join as ag}from"node:path";import{homedir as Z1}from"node:os";function Mi(t){let e=ag(ev,".env");if(!z1(e))return null;let r=X1(e,"utf-8"),n=t==="discord"?"WEBHOOK_DISCORD":"WEBHOOK_TELEGRAM";return new RegExp(`^${n}=(.+)$`,"m").exec(r)?.[1]??null}async function cg(t){let e=Mi("discord");if(!e)return!1;try{return(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`\u{1F916} **AIAIAI Agent**
108
- ${t}`})})).ok}catch(r){return X.warn("Webhooks","Discord send failed",{error:r.message}),!1}}async function lg(t){let e=Mi("telegram");if(!e)return!1;try{return(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:tv(e),text:`\u{1F916} AIAIAI Agent
109
- ${t}`,parse_mode:"HTML"})})).ok}catch(r){return X.warn("Webhooks","Telegram send failed",{error:r.message}),!1}}function tv(t){return/chat_id=([^&]+)/.exec(t)?.[1]??""}async function Hl(t){let[e,r]=await Promise.all([cg(t),lg(t)]);!e&&!r&&X.debug("Webhooks","No webhooks configured or all failed")}function Vl(){return!!(Mi("discord")||Mi("telegram"))}var ev,zl=ve(()=>{"use strict";Ke();ev=process.env.AIAIAI_HOME??ag(Z1(),".aiaiai")});var yg={};xt(yg,{ACTION_WALLET:()=>gg,COLD_WALLET:()=>pg,DEPOSIT_WALLET:()=>Ag,addAlert:()=>dg,addAlertParams:()=>iv,addAlertTool:()=>nu,addToWatchList:()=>mg,checkAlerts:()=>rv,checkAlertsParams:()=>av,checkAlertsTool:()=>ou,compareTokensParams:()=>cv,compareTokensTool:()=>su,getActiveAlerts:()=>fg,getWatchList:()=>Ho,listWatchParams:()=>sv,listWatchTool:()=>ru,portfolioParams:()=>lv,portfolioTool:()=>iu,removeFromWatchList:()=>hg,removeWatchParams:()=>ov,removeWatchTool:()=>tu,watchTokenParams:()=>nv,watchTokenTool:()=>eu});import{Type as ct}from"@sinclair/typebox";function dg(t,e,r){let n={id:`alert-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,token:t,type:e,price:r,active:!0,createdAt:Date.now()};return Xl.push(n),n}function rv(t,e){let r=[];for(let n of Xl)!n.active||n.token!==e||(n.type==="above"&&t>=n.price||n.type==="below"&&t<=n.price)&&(n.active=!1,n.triggeredAt=Date.now(),r.push(n));return r}function fg(){return Xl.filter(t=>t.active)}function mg(t){Zl.add(t)}function hg(t){Zl.delete(t)}function Ho(){return[...Zl]}async function eu(t,e){let r=e.address;return mg(r),{content:[{type:"text",text:`\u{1F441}\uFE0F Watching ${r.slice(0,8)}\u2026${r.slice(-6)}. You'll get alerts on significant moves.`}]}}async function tu(t,e){let r=e.address;return hg(r),{content:[{type:"text",text:`Removed ${r.slice(0,8)}\u2026 from watch list.`}]}}async function ru(){let t=Ho();if(t.length===0)return{content:[{type:"text",text:"Watch list is empty."}]};let e=t.map((r,n)=>` ${n+1}. ${r.slice(0,8)}\u2026${r.slice(-6)}`);return{content:[{type:"text",text:`Watch List (${t.length}):
106
+ `)}]}}},tt=new Ti});var Yp={};yt(Yp,{metricsCollector:()=>Fc});var Mc,Fc,Uc=xe(()=>{"use strict";Mc=class{toolMetrics=[];modelMetrics=[];sessionStart=Date.now();sessionToolBreakdown={};recordToolCall(e){this.toolMetrics.push(e),this.sessionToolBreakdown[e.toolName]||(this.sessionToolBreakdown[e.toolName]={count:0,totalLatency:0,errors:0});let r=this.sessionToolBreakdown[e.toolName];r.count++,r.totalLatency+=e.durationMs,e.success||r.errors++,this.toolMetrics.length>1e3&&(this.toolMetrics=this.toolMetrics.slice(-500))}recordModelCall(e){this.modelMetrics.push(e),this.modelMetrics.length>500&&(this.modelMetrics=this.modelMetrics.slice(-250))}getSessionMetrics(e){let r={};for(let[n,o]of Object.entries(this.sessionToolBreakdown))r[n]={count:o.count,avgLatency:o.count>0?Math.round(o.totalLatency/o.count):0,errors:o.errors};return{sessionId:e,startTime:this.sessionStart,totalToolCalls:this.toolMetrics.length,totalModelCalls:this.modelMetrics.length,totalTokensIn:this.modelMetrics.reduce((n,o)=>n+o.inputTokens,0),totalTokensOut:this.modelMetrics.reduce((n,o)=>n+o.outputTokens,0),errors:this.toolMetrics.filter(n=>!n.success).length+this.modelMetrics.filter(n=>!n.success).length,toolBreakdown:r}}getToolLatency(e){let r=this.toolMetrics.filter(o=>o.toolName===e).map(o=>o.durationMs).sort((o,s)=>o-s);if(r.length===0)return{p50:0,p95:0,p99:0};let n=o=>r[Math.min(Math.floor(r.length*o/100),r.length-1)];return{p50:n(50),p95:n(95),p99:n(99)}}getSummary(){let e=this.getSessionMetrics("current"),n=["\u{1F4CA} Session Metrics",`Uptime: ${Math.round((Date.now()-e.startTime)/1e3)}s | Tool calls: ${e.totalToolCalls} | Model calls: ${e.totalModelCalls}`,`Tokens: ${e.totalTokensIn.toLocaleString()} in / ${e.totalTokensOut.toLocaleString()} out`,`Errors: ${e.errors}`],o=Object.entries(e.toolBreakdown).sort((s,i)=>i[1].count-s[1].count).slice(0,5);if(o.length>0){n.push("","Top tools:");for(let[s,i]of o)n.push(` ${s}: ${i.count} calls, ${i.avgLatency}ms avg, ${i.errors} errors`)}return n.join(`
107
+ `)}},Fc=new Mc});var ag={};yt(ag,{PRESETS:()=>Vo,getCurrentTheme:()=>Gc,getPresetColors:()=>Jc,listThemes:()=>Yc,setTheme:()=>qc});import{existsSync as sg,readFileSync as rv}from"node:fs";import{join as Di}from"node:path";import{homedir as nv}from"node:os";function Gc(){let t=Di(ig,"config","theme.json");try{if(sg(t)){let e=rv(t,"utf-8");return JSON.parse(e).theme||"solana"}}catch{}return"solana"}function qc(t){let e=Vo[t];if(!e)return!1;let r=Di(ig,"config"),n=Di(r,"theme.json");try{let{mkdirSync:o,writeFileSync:s}=ie("node:fs");return sg(r)||o(r,{recursive:!0}),s(n,JSON.stringify({theme:t,colors:e.colors},null,2),"utf-8"),!0}catch{return!1}}function Jc(){let t=Gc();return Vo[t]?.colors??Vo.solana.colors}function Yc(){return Object.entries(Vo).map(([t,e])=>` ${t===Gc()?"\u2605":" "} ${t.padEnd(14)} ${e.description}`).join(`
108
+ `)}var ig,Vo,Vc=xe(()=>{"use strict";ig=process.env.AIAIAI_HOME??Di(nv(),".aiaiai"),Vo={solana:{name:"Solana Sunset",description:"Warm gradients inspired by the Solana blockchain colors",colors:{accent:"#9945FF",header:"#14F195",muted:"#888888",dim:"#444444",success:"#14F195",warn:"#FFD600",error:"#FF4444",background:"#111111"}},cyberpunk:{name:"Cyberpunk",description:"Neon pink and cyan \u2014 late night trading terminal",colors:{accent:"#FF00FF",header:"#00FFFF",muted:"#666666",dim:"#333333",success:"#00FF44",warn:"#FFFF00",error:"#FF0044",background:"#0A0A0A"}},monochrome:{name:"Monochrome",description:"Clean grayscale \u2014 professional trading desk",colors:{accent:"#FFFFFF",header:"#DDDDDD",muted:"#888888",dim:"#444444",success:"#CCCCCC",warn:"#999999",error:"#FF4444",background:"#111111"}},forest:{name:"Forest",description:"Calm greens \u2014 for zen trading sessions",colors:{accent:"#50FA7B",header:"#7BFA50",muted:"#6272A4",dim:"#44475A",success:"#50FA7B",warn:"#F1FA8C",error:"#FF5555",background:"#1A2D1A"}},ocean:{name:"Ocean",description:"Deep blues \u2014 data-rich dashboard feel",colors:{accent:"#8BE9FD",header:"#6272A4",muted:"#6272A4",dim:"#44475A",success:"#50FA7B",warn:"#F1FA8C",error:"#FF5555",background:"#0D1B2A"}}}});var cg={};yt(cg,{clipboardSupported:()=>Ni,copyToClipboard:()=>Hc,encodeOSC52:()=>lg});function lg(t){return`\x1B]52;c;${Buffer.from(t).toString("base64")}\x07`}function Hc(t){try{return process.stdout.write(lg(t)),!0}catch{return!1}}function Ni(){let t=process.env.TERM_PROGRAM??"";return process.env.TERM?.includes("xterm")||t.includes("iTerm")||t.includes("kitty")||t.includes("Wez")||t.includes("Alacritty")||t.includes("Terminal")?"\u2705 Clipboard ready (OSC 52)":"\u26A0\uFE0F Clipboard may not be supported in this terminal"}var zc=xe(()=>{"use strict"});var hg={};yt(hg,{hasWebhooks:()=>Zc,notify:()=>Xc,sendDiscord:()=>fg,sendTelegram:()=>mg});import{existsSync as iv,readFileSync as av}from"node:fs";import{join as dg}from"node:path";import{homedir as lv}from"node:os";function Mi(t){let e=dg(cv,".env");if(!iv(e))return null;let r=av(e,"utf-8"),n=t==="discord"?"WEBHOOK_DISCORD":"WEBHOOK_TELEGRAM";return new RegExp(`^${n}=(.+)$`,"m").exec(r)?.[1]??null}async function fg(t){let e=Mi("discord");if(!e)return!1;try{return(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`\u{1F916} **AIAIAI Agent**
109
+ ${t}`})})).ok}catch(r){return Z.warn("Webhooks","Discord send failed",{error:r.message}),!1}}async function mg(t){let e=Mi("telegram");if(!e)return!1;try{return(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:uv(e),text:`\u{1F916} AIAIAI Agent
110
+ ${t}`,parse_mode:"HTML"})})).ok}catch(r){return Z.warn("Webhooks","Telegram send failed",{error:r.message}),!1}}function uv(t){return/chat_id=([^&]+)/.exec(t)?.[1]??""}async function Xc(t){let[e,r]=await Promise.all([fg(t),mg(t)]);!e&&!r&&Z.debug("Webhooks","No webhooks configured or all failed")}function Zc(){return!!(Mi("discord")||Mi("telegram"))}var cv,eu=xe(()=>{"use strict";Ye();cv=process.env.AIAIAI_HOME??dg(lv(),".aiaiai")});var xg={};yt(xg,{ACTION_WALLET:()=>bg,COLD_WALLET:()=>wg,DEPOSIT_WALLET:()=>Eg,addAlert:()=>pg,addAlertParams:()=>pv,addAlertTool:()=>iu,addToWatchList:()=>Ag,checkAlerts:()=>dv,checkAlertsParams:()=>gv,checkAlertsTool:()=>au,compareTokensParams:()=>Av,compareTokensTool:()=>lu,getActiveAlerts:()=>gg,getWatchList:()=>Ho,listWatchParams:()=>hv,listWatchTool:()=>su,portfolioParams:()=>yv,portfolioTool:()=>cu,removeFromWatchList:()=>yg,removeWatchParams:()=>mv,removeWatchTool:()=>ou,watchTokenParams:()=>fv,watchTokenTool:()=>nu});import{Type as lt}from"@sinclair/typebox";function pg(t,e,r){let n={id:`alert-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,token:t,type:e,price:r,active:!0,createdAt:Date.now()};return tu.push(n),n}function dv(t,e){let r=[];for(let n of tu)!n.active||n.token!==e||(n.type==="above"&&t>=n.price||n.type==="below"&&t<=n.price)&&(n.active=!1,n.triggeredAt=Date.now(),r.push(n));return r}function gg(){return tu.filter(t=>t.active)}function Ag(t){ru.add(t)}function yg(t){ru.delete(t)}function Ho(){return[...ru]}async function nu(t,e){let r=e.address;return Ag(r),{content:[{type:"text",text:`\u{1F441}\uFE0F Watching ${r.slice(0,8)}\u2026${r.slice(-6)}. You'll get alerts on significant moves.`}]}}async function ou(t,e){let r=e.address;return yg(r),{content:[{type:"text",text:`Removed ${r.slice(0,8)}\u2026 from watch list.`}]}}async function su(){let t=Ho();if(t.length===0)return{content:[{type:"text",text:"Watch list is empty."}]};let e=t.map((r,n)=>` ${n+1}. ${r.slice(0,8)}\u2026${r.slice(-6)}`);return{content:[{type:"text",text:`Watch List (${t.length}):
110
111
  ${e.join(`
111
- `)}`}]}}async function nu(t,e){let r=e.token,n=e.type,o=e.price,s=dg(r,n,o);return{content:[{type:"text",text:`\u{1F514} Alert set: ${n} $${o} for ${r.slice(0,8)}\u2026 (${s.id})`}]}}async function ou(){let t=fg();if(t.length===0)return{content:[{type:"text",text:"No active alerts."}]};let e=t.map(r=>` ${r.id} \u2014 ${r.type} $${r.price} (${r.token.slice(0,8)}\u2026)`);return{content:[{type:"text",text:`Active Alerts (${t.length}):
112
+ `)}`}]}}async function iu(t,e){let r=e.token,n=e.type,o=e.price,s=pg(r,n,o);return{content:[{type:"text",text:`\u{1F514} Alert set: ${n} $${o} for ${r.slice(0,8)}\u2026 (${s.id})`}]}}async function au(){let t=gg();if(t.length===0)return{content:[{type:"text",text:"No active alerts."}]};let e=t.map(r=>` ${r.id} \u2014 ${r.type} $${r.price} (${r.token.slice(0,8)}\u2026)`);return{content:[{type:"text",text:`Active Alerts (${t.length}):
112
113
  ${e.join(`
113
- `)}`}]}}async function su(t,e){let r=e.address1,n=e.address2,o=null,s=null;try{r===Tl||r.toLowerCase()==="aiaiai"?o=await Ue.getAiaiaiPrice():o=await Ue.fetchToken(r)}catch(l){X.warn("CrossTools","compareTokens: failed to fetch price1",{address:r,error:l.message}),o=null}try{n===Tl||n.toLowerCase()==="aiaiai"?s=await Ue.getAiaiaiPrice():s=await Ue.fetchToken(n)}catch(l){X.warn("CrossTools","compareTokens: failed to fetch price2",{address:n,error:l.message}),s=null}return{content:[{type:"text",text:["\u2500\u2500 Token Comparison \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","",`Token 1: ${r.slice(0,8)}\u2026`,o?` Price: $${o.priceUsd??"N/A"}`:" Price: N/A",o?` 24h: ${o.priceChange24h>0?"+":""}${o.priceChange24h.toFixed(2)}%`:" 24h: N/A",o?` Liq: $${(o.liquidityUsd/1e3).toFixed(1)}k`:" Liq: N/A",o?` MCap: $${o.marketCap?(o.marketCap/1e3).toFixed(1)+"k":"N/A"}`:" MCap: N/A","",`Token 2: ${n.slice(0,8)}\u2026`,s?` Price: $${s.priceUsd??"N/A"}`:" Price: N/A",s?` 24h: ${s.priceChange24h>0?"+":""}${s.priceChange24h.toFixed(2)}%`:" 24h: N/A",s?` Liq: $${(s.liquidityUsd/1e3).toFixed(1)}k`:" Liq: N/A",s?` MCap: $${s.marketCap?(s.marketCap/1e3).toFixed(1)+"k":"N/A"}`:" MCap: N/A"].join(`
114
- `)}]}}async function iu(t,e){let r=e.address,n=null;try{let o=await Ze.getAll();r===pg?n=o.cold:r===gg?n=o.action:r===Ag&&(n=o.deposit)}catch(o){X.warn("CrossTools","portfolioTool: wallet lookup failed",{address:r,error:o.message})}if(n){let o=await new Promise(i=>{Ze.getSolPrice().then(i).catch(()=>i(150))});return{content:[{type:"text",text:[`\u{1F4CA} Portfolio: ${r.slice(0,8)}\u2026${r.slice(-6)}`,"",` SOL: ${n.sol.toFixed(4)} ($${(n.sol*o).toFixed(2)} est)`,` $AIAIAI: ${n.aiaiai.toLocaleString(void 0,{maximumFractionDigits:0})}`,` USDC: ${n.usdc.toFixed(2)}`,"",` Total value (est): $${(n.sol*o+n.usdc).toFixed(2)} + $AIAIAI`].join(`
114
+ `)}`}]}}async function lu(t,e){let r=e.address1,n=e.address2,o=null,s=null;try{r===Ic||r.toLowerCase()==="aiaiai"?o=await We.getAiaiaiPrice():o=await We.fetchToken(r)}catch(l){Z.warn("CrossTools","compareTokens: failed to fetch price1",{address:r,error:l.message}),o=null}try{n===Ic||n.toLowerCase()==="aiaiai"?s=await We.getAiaiaiPrice():s=await We.fetchToken(n)}catch(l){Z.warn("CrossTools","compareTokens: failed to fetch price2",{address:n,error:l.message}),s=null}return{content:[{type:"text",text:["\u2500\u2500 Token Comparison \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","",`Token 1: ${r.slice(0,8)}\u2026`,o?` Price: $${o.priceUsd??"N/A"}`:" Price: N/A",o?` 24h: ${o.priceChange24h>0?"+":""}${o.priceChange24h.toFixed(2)}%`:" 24h: N/A",o?` Liq: $${(o.liquidityUsd/1e3).toFixed(1)}k`:" Liq: N/A",o?` MCap: $${o.marketCap?(o.marketCap/1e3).toFixed(1)+"k":"N/A"}`:" MCap: N/A","",`Token 2: ${n.slice(0,8)}\u2026`,s?` Price: $${s.priceUsd??"N/A"}`:" Price: N/A",s?` 24h: ${s.priceChange24h>0?"+":""}${s.priceChange24h.toFixed(2)}%`:" 24h: N/A",s?` Liq: $${(s.liquidityUsd/1e3).toFixed(1)}k`:" Liq: N/A",s?` MCap: $${s.marketCap?(s.marketCap/1e3).toFixed(1)+"k":"N/A"}`:" MCap: N/A"].join(`
115
+ `)}]}}async function cu(t,e){let r=e.address,n=null;try{let o=await et.getAll();r===wg?n=o.cold:r===bg?n=o.action:r===Eg&&(n=o.deposit)}catch(o){Z.warn("CrossTools","portfolioTool: wallet lookup failed",{address:r,error:o.message})}if(n){let o=await new Promise(i=>{et.getSolPrice().then(i).catch(()=>i(150))});return{content:[{type:"text",text:[`\u{1F4CA} Portfolio: ${r.slice(0,8)}\u2026${r.slice(-6)}`,"",` SOL: ${n.sol.toFixed(4)} ($${(n.sol*o).toFixed(2)} est)`,` $AIAIAI: ${n.aiaiai.toLocaleString(void 0,{maximumFractionDigits:0})}`,` USDC: ${n.usdc.toFixed(2)}`,"",` Total value (est): $${(n.sol*o+n.usdc).toFixed(2)} + $AIAIAI`].join(`
115
116
  `)}]}}return{content:[{type:"text",text:`\u{1F4CA} Analyzed: ${r.slice(0,8)}\u2026${r.slice(-6)}
116
- Use /wallet or /deposit for tracked wallet balances.`}]}}var Xl,Zl,nv,ov,sv,iv,av,cv,lv,pg,gg,Ag,au=ve(()=>{"use strict";Un();qo();Ke();Xl=[];Zl=new Set;nv=ct.Object({address:ct.String({description:"Token contract address to watch"})}),ov=ct.Object({address:ct.String({description:"Token contract address to remove"})}),sv=ct.Object({}),iv=ct.Object({token:ct.String({description:"Token address or 'AIAIAI'"}),type:ct.String({description:"Alert type: above or below"}),price:ct.Number({description:"Price threshold in USD"})}),av=ct.Object({}),cv=ct.Object({address1:ct.String({description:"First token address"}),address2:ct.String({description:"Second token address"})});lv=ct.Object({address:ct.String({description:"Wallet address to analyze"})});pg="A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J",gg="BygDYM1ZXLQNC1HXLhnd1rHZ7E5XjioqT3vPjJFfjnU2",Ag="FBMDYpG9WXKy4SgxuATQdB2sCyzHsJWPrEr45z3TgL2e"});var xg={};xt(xg,{btcMempoolParams:()=>Av,defiTvlParams:()=>wv,fearGreedParams:()=>mv,fundingRatesParams:()=>pv,getBtcMempoolTool:()=>yv,getDefiTvlTool:()=>bv,getFearGreedTool:()=>hv,getFundingRatesTool:()=>gv,getSolanaStatsTool:()=>xv,solanaStatsParams:()=>Ev});import{Type as ir}from"@sinclair/typebox";function dv(t){let e=lu.get(t);if(e){if(Date.now()>e.expires){lu.delete(t);return}return e.data}}function fv(t,e){lu.set(t,{data:e,expires:Date.now()+uv})}async function hv(){let t=dv("fear_greed");if(t)return t;try{let e=await me("https://api.alternative.me/fng/?limit=7",{timeout:1e4,retries:1});if(!e.ok)return wg();let n=(await e.json()).data??[],o=n[0],s=n.map((l,c)=>{let f=c===0?"Now":l.timestamp?new Date(parseInt(l.timestamp)*1e3).toLocaleDateString():`${c}d ago`;return` ${l.value_classification} ${l.value}/100 \u2014 ${f}`}),i={content:[{type:"text",text:["Fear & Greed Index",`Current: ${o?.value_classification??"N/A"} (${o?.value??"?"}/100)`,...s].join(`
117
- `)}]};return fv("fear_greed",i),i}catch(e){return X.warn("MarketSentiment","Fear & Greed fetch failed",{error:e.message}),wg()}}async function wg(){return{content:[{type:"text",text:"Fear & Greed Index: Neutral (50/100) \u2014 data unavailable"}]}}async function gv(t,e){let r=e.limit||10;try{let n=await me("https://fapi.binance.com/fapi/v1/premiumIndex",{timeout:1e4,retries:1});if(!n.ok)return bg();let i=(await n.json()??[]).filter(l=>parseFloat(l.lastFundingRate)!==0).sort((l,c)=>Math.abs(parseFloat(c.lastFundingRate))-Math.abs(parseFloat(l.lastFundingRate))).slice(0,r).map(l=>{let c=parseFloat(l.lastFundingRate)*100,f=c>0?"+":"";return` ${l.symbol.padEnd(12)} ${f}${c.toFixed(4)}%`});return{content:[{type:"text",text:[`Funding Rates (top ${r} by absolute value):`,...i].join(`
118
- `)}]}}catch(n){return X.warn("MarketSentiment","Funding rates fetch failed",{error:n.message}),bg()}}async function bg(){return{content:[{type:"text",text:"Funding Rates: Data temporarily unavailable."}]}}async function yv(){try{let[t,e]=await Promise.all([me("https://mempool.space/api/v1/fees/recommended",{timeout:1e4}),me("https://mempool.space/api/mempool",{timeout:1e4})]),r=await t.json(),n=await e.json();return{content:[{type:"text",text:["BTC Mempool",`Count: ${(n.count??0).toLocaleString()} transactions`,`Mempool size: ${((n.vsize??0)/1e6).toFixed(2)} MB`,"","Fees (sat/vB):",` Fastest: ${r.fastestFee}`,` Half hour: ${r.halfHourFee}`,` Hour: ${r.hourFee}`,` Economy: ${r.economyFee}`,` Minimum: ${r.minimumFee}`].join(`
119
- `)}]}}catch(t){return X.warn("MarketSentiment","BTC mempool fetch failed",{error:t.message}),{content:[{type:"text",text:"BTC Mempool: Data temporarily unavailable."}]}}}async function bv(t,e){let r=e.chain?.toLowerCase();try{if(r){let n=await me(`https://api.llama.fi/v2/historicalChainTvl/${r}`,{timeout:1e4});if(!n.ok)return cu(r);let o=await n.json(),s=o[o.length-1];return{content:[{type:"text",text:`DeFi TVL \u2014 ${r.toUpperCase()}
120
- TVL: $${(s?.tvl??0).toLocaleString(void 0,{maximumFractionDigits:0})}`}]}}else{let n=await me("https://api.llama.fi/v2/chains",{timeout:1e4});return n.ok?{content:[{type:"text",text:["DeFi TVL by Chain (top 15):",...(await n.json()??[]).sort((l,c)=>c.tvl-l.tvl).slice(0,15).map(l=>` ${l.name.padEnd(16)} $${(l.tvl/1e9).toFixed(2)}B`)].join(`
121
- `)}]}:cu("all")}}catch(n){return X.warn("MarketSentiment","DeFi TVL fetch failed",{chain:r,error:n.message}),cu(r??"all")}}async function cu(t){return{content:[{type:"text",text:`DeFi TVL for "${t}": Data temporarily unavailable.`}]}}async function xv(){try{let t=process.env.SOLANA_RPC_URL||"https://api.mainnet-beta.solana.com",e=JSON.stringify({jsonrpc:"2.0",id:1,method:"getEpochInfo",params:[]}),r=await me(t,{timeout:1e4,retries:1,method:"POST",headers:{"Content-Type":"application/json"},body:e});if(!r.ok)return Eg();let o=(await r.json()).result,s=(o.slotIndex/o.slotsInEpoch*100).toFixed(1),i=await me("https://api.coingecko.com/api/v3/simple/price?ids=solana&vs_currencies=usd&include_24hr_change=true",{timeout:8e3}),l="";return i.ok&&(l=`$${(await i.json()).solana.usd.toFixed(2)}`),{content:[{type:"text",text:["Solana Network",`Epoch: ${o.epoch}`,`Slot: ${o.absoluteSlot.toLocaleString()}`,`Block: ${o.blockHeight.toLocaleString()}`,`Progress: ${s}% (${o.slotIndex.toLocaleString()}/${o.slotsInEpoch.toLocaleString()})`,l?`SOL Price: ${l}`:""].filter(Boolean).join(`
122
- `)}]}}catch(t){return X.warn("MarketSentiment","Solana stats fetch failed",{error:t.message}),Eg()}}async function Eg(){return{content:[{type:"text",text:"Solana Stats: Data temporarily unavailable. Check your RPC endpoint."}]}}var lu,uv,mv,pv,Av,wv,Ev,vg=ve(()=>{"use strict";pt();Ke();lu=new Map,uv=3e4;mv=ir.Object({});pv=ir.Object({limit:ir.Optional(ir.Number({description:"Number of top pairs",default:10}))});Av=ir.Object({});wv=ir.Object({chain:ir.Optional(ir.String({description:"Chain name (e.g., solana, ethereum) or omit for all"}))});Ev=ir.Object({})});var Qg={};xt(Qg,{SetupWizard:()=>yu});import{existsSync as Au,readFileSync as Og,writeFileSync as rC,mkdirSync as nC,chmodSync as oC}from"node:fs";import{resolve as $g}from"node:path";import{homedir as sC}from"node:os";import*as Lg from"node:readline";var yu,Dg=ve(()=>{"use strict";yu=class{home;envPath;constructor(){this.home=process.env.AIAIAI_HOME??$g(sC(),".aiaiai"),this.envPath=$g(this.home,".env")}ask(e,r=""){let n=Lg.createInterface({input:process.stdin,output:process.stdout});return new Promise(o=>{n.question(` ${e}${r?` [${r}]`:""}: `,s=>{n.close(),o(s.trim()||r)})})}read(e){if(!Au(this.envPath))return"";let r=new RegExp(`^${e}=(.*)$`,"m").exec(Og(this.envPath,"utf-8"));return r?r[1]:""}write(e,r){let n=Au(this.envPath)?Og(this.envPath,"utf-8"):"",o=new RegExp(`^${e}=.*$`,"m"),s=`${e}=${r}`;rC(this.envPath,o.test(n)?n.replace(o,s):n+(n.endsWith(`
117
+ Use /wallet or /deposit for tracked wallet balances.`}]}}var tu,ru,fv,mv,hv,pv,gv,Av,yv,wg,bg,Eg,uu=xe(()=>{"use strict";Un();Jo();Ye();tu=[];ru=new Set;fv=lt.Object({address:lt.String({description:"Token contract address to watch"})}),mv=lt.Object({address:lt.String({description:"Token contract address to remove"})}),hv=lt.Object({}),pv=lt.Object({token:lt.String({description:"Token address or 'AIAIAI'"}),type:lt.String({description:"Alert type: above or below"}),price:lt.Number({description:"Price threshold in USD"})}),gv=lt.Object({}),Av=lt.Object({address1:lt.String({description:"First token address"}),address2:lt.String({description:"Second token address"})});yv=lt.Object({address:lt.String({description:"Wallet address to analyze"})});wg="A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J",bg="BygDYM1ZXLQNC1HXLhnd1rHZ7E5XjioqT3vPjJFfjnU2",Eg="FBMDYpG9WXKy4SgxuATQdB2sCyzHsJWPrEr45z3TgL2e"});var Sg={};yt(Sg,{btcMempoolParams:()=>Sv,defiTvlParams:()=>Tv,fearGreedParams:()=>xv,fundingRatesParams:()=>Cv,getBtcMempoolTool:()=>_v,getDefiTvlTool:()=>Iv,getFearGreedTool:()=>vv,getFundingRatesTool:()=>kv,getSolanaStatsTool:()=>Rv,solanaStatsParams:()=>Bv});import{Type as ar}from"@sinclair/typebox";function bv(t){let e=fu.get(t);if(e){if(Date.now()>e.expires){fu.delete(t);return}return e.data}}function Ev(t,e){fu.set(t,{data:e,expires:Date.now()+wv})}async function vv(){let t=bv("fear_greed");if(t)return t;try{let e=await fe("https://api.alternative.me/fng/?limit=7",{timeout:1e4,retries:1});if(!e.ok)return vg();let n=(await e.json()).data??[],o=n[0],s=n.map((l,c)=>{let f=c===0?"Now":l.timestamp?new Date(parseInt(l.timestamp)*1e3).toLocaleDateString():`${c}d ago`;return` ${l.value_classification} ${l.value}/100 \u2014 ${f}`}),i={content:[{type:"text",text:["Fear & Greed Index",`Current: ${o?.value_classification??"N/A"} (${o?.value??"?"}/100)`,...s].join(`
118
+ `)}]};return Ev("fear_greed",i),i}catch(e){return Z.warn("MarketSentiment","Fear & Greed fetch failed",{error:e.message}),vg()}}async function vg(){return{content:[{type:"text",text:"Fear & Greed Index: Neutral (50/100) \u2014 data unavailable"}]}}async function kv(t,e){let r=e.limit||10;try{let n=await fe("https://fapi.binance.com/fapi/v1/premiumIndex",{timeout:1e4,retries:1});if(!n.ok)return Cg();let i=(await n.json()??[]).filter(l=>parseFloat(l.lastFundingRate)!==0).sort((l,c)=>Math.abs(parseFloat(c.lastFundingRate))-Math.abs(parseFloat(l.lastFundingRate))).slice(0,r).map(l=>{let c=parseFloat(l.lastFundingRate)*100,f=c>0?"+":"";return` ${l.symbol.padEnd(12)} ${f}${c.toFixed(4)}%`});return{content:[{type:"text",text:[`Funding Rates (top ${r} by absolute value):`,...i].join(`
119
+ `)}]}}catch(n){return Z.warn("MarketSentiment","Funding rates fetch failed",{error:n.message}),Cg()}}async function Cg(){return{content:[{type:"text",text:"Funding Rates: Data temporarily unavailable."}]}}async function _v(){try{let[t,e]=await Promise.all([fe("https://mempool.space/api/v1/fees/recommended",{timeout:1e4}),fe("https://mempool.space/api/mempool",{timeout:1e4})]),r=await t.json(),n=await e.json();return{content:[{type:"text",text:["BTC Mempool",`Count: ${(n.count??0).toLocaleString()} transactions`,`Mempool size: ${((n.vsize??0)/1e6).toFixed(2)} MB`,"","Fees (sat/vB):",` Fastest: ${r.fastestFee}`,` Half hour: ${r.halfHourFee}`,` Hour: ${r.hourFee}`,` Economy: ${r.economyFee}`,` Minimum: ${r.minimumFee}`].join(`
120
+ `)}]}}catch(t){return Z.warn("MarketSentiment","BTC mempool fetch failed",{error:t.message}),{content:[{type:"text",text:"BTC Mempool: Data temporarily unavailable."}]}}}async function Iv(t,e){let r=e.chain?.toLowerCase();try{if(r){let n=await fe(`https://api.llama.fi/v2/historicalChainTvl/${r}`,{timeout:1e4});if(!n.ok)return du(r);let o=await n.json(),s=o[o.length-1];return{content:[{type:"text",text:`DeFi TVL \u2014 ${r.toUpperCase()}
121
+ TVL: $${(s?.tvl??0).toLocaleString(void 0,{maximumFractionDigits:0})}`}]}}else{let n=await fe("https://api.llama.fi/v2/chains",{timeout:1e4});return n.ok?{content:[{type:"text",text:["DeFi TVL by Chain (top 15):",...(await n.json()??[]).sort((l,c)=>c.tvl-l.tvl).slice(0,15).map(l=>` ${l.name.padEnd(16)} $${(l.tvl/1e9).toFixed(2)}B`)].join(`
122
+ `)}]}:du("all")}}catch(n){return Z.warn("MarketSentiment","DeFi TVL fetch failed",{chain:r,error:n.message}),du(r??"all")}}async function du(t){return{content:[{type:"text",text:`DeFi TVL for "${t}": Data temporarily unavailable.`}]}}async function Rv(){try{let t=process.env.SOLANA_RPC_URL||"https://api.mainnet-beta.solana.com",e=JSON.stringify({jsonrpc:"2.0",id:1,method:"getEpochInfo",params:[]}),r=await fe(t,{timeout:1e4,retries:1,method:"POST",headers:{"Content-Type":"application/json"},body:e});if(!r.ok)return kg();let o=(await r.json()).result,s=(o.slotIndex/o.slotsInEpoch*100).toFixed(1),i=await fe("https://api.coingecko.com/api/v3/simple/price?ids=solana&vs_currencies=usd&include_24hr_change=true",{timeout:8e3}),l="";return i.ok&&(l=`$${(await i.json()).solana.usd.toFixed(2)}`),{content:[{type:"text",text:["Solana Network",`Epoch: ${o.epoch}`,`Slot: ${o.absoluteSlot.toLocaleString()}`,`Block: ${o.blockHeight.toLocaleString()}`,`Progress: ${s}% (${o.slotIndex.toLocaleString()}/${o.slotsInEpoch.toLocaleString()})`,l?`SOL Price: ${l}`:""].filter(Boolean).join(`
123
+ `)}]}}catch(t){return Z.warn("MarketSentiment","Solana stats fetch failed",{error:t.message}),kg()}}async function kg(){return{content:[{type:"text",text:"Solana Stats: Data temporarily unavailable. Check your RPC endpoint."}]}}var fu,wv,xv,Cv,Sv,Tv,Bv,_g=xe(()=>{"use strict";ht();Ye();fu=new Map,wv=3e4;xv=ar.Object({});Cv=ar.Object({limit:ar.Optional(ar.Number({description:"Number of top pairs",default:10}))});Sv=ar.Object({});Tv=ar.Object({chain:ar.Optional(ar.String({description:"Chain name (e.g., solana, ethereum) or omit for all"}))});Bv=ar.Object({})});var Fg={};yt(Fg,{SetupWizard:()=>Eu});import{existsSync as bu,readFileSync as Dg,writeFileSync as dC,mkdirSync as fC,chmodSync as mC}from"node:fs";import{resolve as Ng}from"node:path";import{homedir as hC}from"node:os";import*as Mg from"node:readline";var Eu,Ug=xe(()=>{"use strict";Eu=class{home;envPath;constructor(){this.home=process.env.AIAIAI_HOME??Ng(hC(),".aiaiai"),this.envPath=Ng(this.home,".env")}ask(e,r=""){let n=Mg.createInterface({input:process.stdin,output:process.stdout});return new Promise(o=>{n.question(` ${e}${r?` [${r}]`:""}: `,s=>{n.close(),o(s.trim()||r)})})}read(e){if(!bu(this.envPath))return"";let r=new RegExp(`^${e}=(.*)$`,"m").exec(Dg(this.envPath,"utf-8"));return r?r[1]:""}write(e,r){let n=bu(this.envPath)?Dg(this.envPath,"utf-8"):"",o=new RegExp(`^${e}=.*$`,"m"),s=`${e}=${r}`;dC(this.envPath,o.test(n)?n.replace(o,s):n+(n.endsWith(`
123
124
  `)||!n?"":`
124
125
  `)+s+`
125
- `);try{oC(this.envPath,384)}catch{}}async run(){console.log(`
126
+ `);try{mC(this.envPath,384)}catch{}}async run(){console.log(`
126
127
  \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
127
128
  \u2551 AIAIAI Chain Agent \u2014 Setup \u2551
128
129
  \u2551 $AIAIAI \xB7 Solana-native AI agent \u2551
129
130
  \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
130
- `),Au(this.home)||nC(this.home,{recursive:!0}),console.log(` Required configuration
131
+ `),bu(this.home)||fC(this.home,{recursive:!0}),console.log(` Required configuration
131
132
  `);let e=this.read("OPENROUTER_API_KEY")||process.env.OPENROUTER_API_KEY||"",r=await this.ask(`OpenRouter API key (https://openrouter.ai/keys)${e?" [set, Enter to keep]":""}`,"");if(r)this.write("OPENROUTER_API_KEY",r);else if(!e)return console.log(`
132
133
  \u26A0\uFE0F OpenRouter API key is required. Get one at https://openrouter.ai/keys
133
134
  `),!1;console.log(`
134
135
  Optional configuration
135
136
  `);let n=this.read("SOLANA_RPC_URL"),o=await this.ask("Solana RPC URL",n||"https://api.mainnet-beta.solana.com");o&&this.write("SOLANA_RPC_URL",o);let s=this.read("DEFAULT_MODEL"),i=await this.ask("Default model (optional, e.g. openai/gpt-4o)",s||"");return i&&this.write("DEFAULT_MODEL",i),console.log(`
136
- \u2713 Config saved \u2192 ${this.envPath}`),!0}}});var jg={};xt(jg,{exportCSV:()=>mC,getPLSummary:()=>dC,getTradeHistory:()=>fC,recordTrade:()=>uC});import{existsSync as Ng,readFileSync as iC,writeFileSync as Mg,mkdirSync as Fg}from"node:fs";import{join as Yi}from"node:path";import{homedir as aC}from"node:os";function Hi(){try{let t=iC(Ug,"utf-8");return JSON.parse(t)}catch{return{trades:[],totalSpent:0,totalReceived:0,avgCostBasis:0}}}function lC(t){try{Ng(Vn)||Fg(Vn,{recursive:!0,mode:448}),Mg(Ug,JSON.stringify(t,null,2),"utf-8")}catch(e){X.warn("ProfitTracker","Failed to save state",{error:e.message})}}function uC(t,e,r,n){let o=Hi(),s=e>0?r/e:0,i={timestamp:Date.now(),type:t,tokenAmount:e,solAmount:r,pricePerToken:s,txSignature:n};if(o.trades.push(i),t==="buy"){o.totalSpent+=r;let l=o.trades.filter(c=>c.type==="buy").reduce((c,f)=>c+f.tokenAmount,0);o.avgCostBasis=l>0?o.totalSpent/l:0}else t==="sell"&&(o.totalReceived+=r);lC(o),X.info("ProfitTracker","Recorded "+t,{tokenAmount:e,solAmount:r,pricePerToken:s})}function dC(t){let e=Hi(),n=e.trades.filter(u=>u.type==="buy").reduce((u,a)=>u+a.tokenAmount,0),o=e.trades.filter(u=>u.type==="sell"||u.type==="burn").reduce((u,a)=>u+a.tokenAmount,0),s=n-o,i=e.totalReceived-e.totalSpent*(o/Math.max(n,1)),l=s*t,c=i+l,f=e.totalSpent>0?c/e.totalSpent*100:0;return{avgCostBasis:e.avgCostBasis,totalSpent:e.totalSpent,totalReceived:e.totalReceived,realizedPL:i,unrealizedPL:l,roi:f}}function fC(){return Hi().trades}function mC(){let t=Hi(),e="timestamp,type,tokenAmount,solAmount,pricePerToken,txSignature",r=t.trades.map(s=>s.timestamp+","+s.type+","+s.tokenAmount+","+s.solAmount+","+s.pricePerToken+","+(s.txSignature??"")),n=e+`
137
+ \u2713 Config saved \u2192 ${this.envPath}`),!0}}});var qg={};yt(qg,{exportCSV:()=>xC,getPLSummary:()=>bC,getTradeHistory:()=>EC,recordTrade:()=>wC});import{existsSync as jg,readFileSync as pC,writeFileSync as Kg,mkdirSync as Wg}from"node:fs";import{join as Yi}from"node:path";import{homedir as gC}from"node:os";function Vi(){try{let t=pC(Gg,"utf-8");return JSON.parse(t)}catch{return{trades:[],totalSpent:0,totalReceived:0,avgCostBasis:0}}}function yC(t){try{jg(Hn)||Wg(Hn,{recursive:!0,mode:448}),Kg(Gg,JSON.stringify(t,null,2),"utf-8")}catch(e){Z.warn("ProfitTracker","Failed to save state",{error:e.message})}}function wC(t,e,r,n){let o=Vi(),s=e>0?r/e:0,i={timestamp:Date.now(),type:t,tokenAmount:e,solAmount:r,pricePerToken:s,txSignature:n};if(o.trades.push(i),t==="buy"){o.totalSpent+=r;let l=o.trades.filter(c=>c.type==="buy").reduce((c,f)=>c+f.tokenAmount,0);o.avgCostBasis=l>0?o.totalSpent/l:0}else t==="sell"&&(o.totalReceived+=r);yC(o),Z.info("ProfitTracker","Recorded "+t,{tokenAmount:e,solAmount:r,pricePerToken:s})}function bC(t){let e=Vi(),n=e.trades.filter(d=>d.type==="buy").reduce((d,a)=>d+a.tokenAmount,0),o=e.trades.filter(d=>d.type==="sell"||d.type==="burn").reduce((d,a)=>d+a.tokenAmount,0),s=n-o,i=e.totalReceived-e.totalSpent*(o/Math.max(n,1)),l=s*t,c=i+l,f=e.totalSpent>0?c/e.totalSpent*100:0;return{avgCostBasis:e.avgCostBasis,totalSpent:e.totalSpent,totalReceived:e.totalReceived,realizedPL:i,unrealizedPL:l,roi:f}}function EC(){return Vi().trades}function xC(){let t=Vi(),e="timestamp,type,tokenAmount,solAmount,pricePerToken,txSignature",r=t.trades.map(s=>s.timestamp+","+s.type+","+s.tokenAmount+","+s.solAmount+","+s.pricePerToken+","+(s.txSignature??"")),n=e+`
137
138
  `+r.join(`
138
- `),o=Yi(Vn,"pl-export.csv");return Ng(Vn)||Fg(Vn,{recursive:!0,mode:448}),Mg(o,n,"utf-8"),X.info("ProfitTracker","Exported CSV",{path:o}),o}var cC,Vn,Ug,Kg=ve(()=>{"use strict";Ke();cC=process.env.AIAIAI_HOME??Yi(aC(),".aiaiai"),Vn=Yi(cC,".tracker"),Ug=Yi(Vn,"pl.json")});var Zg=ta(ku(),1);import{readFileSync as Zo,existsSync as es,writeFileSync as Jg,mkdirSync as Yg}from"node:fs";import{resolve as Hg,join as Ir,dirname as Vg}from"node:path";import{homedir as zg}from"node:os";import{fileURLToPath as Xg}from"node:url";import{execSync as wu,execFileSync as hC}from"node:child_process";import{render as pC}from"ink";import Wg from"react";var eo=class{tools=new Map;commands=new Map;skills=new Map;hooks=new Map;systemPrompt="";addTool(e){this.tools.set(e.name,e)}addCommand(e,r){this.commands.set(e,r)}addSkill(e){if(this.skills.set(e.name,e),e.tools)for(let r of e.tools)this.addTool(r);if(e.commands)for(let[r,n]of e.commands)this.addCommand(r,n);if(e.hooks)for(let[r,n]of Object.entries(e.hooks))this.addHook(r,n)}addHook(e,r){this.hooks.has(e)||this.hooks.set(e,new Set),this.hooks.get(e).add(r)}async fireHook(e,...r){let n=this.hooks.get(e);if(n)for(let o of n)await o(...r)}getTool(e){return this.tools.get(e)}getCommand(e){return this.commands.get(e)}listTools(){return[...this.tools.values()]}listCommands(){return[...this.commands.entries()]}setSystemPrompt(e){this.systemPrompt=e}getSystemPrompt(){return this.systemPrompt}};import{pathToFileURL as vc}from"node:url";import{resolve as ob,extname as sb}from"node:path";import{existsSync as Pm}from"node:fs";var Pr={fg:(t,e,r)=>`\x1B[38;2;${t};${e};${r}m`,bold:"\x1B[1m",reset:"\x1B[0m"};function oa(t){let e=t.replace("#","");return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}var N={accent:"#ff3366",success:"#00ff88",error:"#ff4444",warn:"#ffaa33",muted:"#6b7280",header:"#a78bfa",dim:"#1f2937"};function Or(){return{fg(t,e){let r=N[t]??t;if(!r.startsWith("#"))return e;let[n,o,s]=oa(r);return`${Pr.fg(n,o,s)}${e}${Pr.reset}`}}}var EC=Or(),Su={};for(let[t,e]of Object.entries(N)){let[r,n,o]=oa(e);Su[t]=Pr.fg(r,n,o)}function Rr(t){let[e,r,n]=oa(t),o=Su[t]??Pr.fg(e,r,n);return s=>`${o}${s}${Pr.reset}`}var E={accent:Rr(N.accent),success:Rr(N.success),error:Rr(N.error),warn:Rr(N.warn),muted:Rr(N.muted),header:Rr(N.header),dim:Rr(N.dim),bold:t=>`${Pr.bold}${t}${Pr.reset}`};async function Cc(t,e,r={}){let n=ob(t);if(!Pm(n))throw new Error(`Extension file not found: ${n}`);let o=Or(),s=r.onNotify??(()=>{}),i=r.onStatusUpdate??(()=>{}),l=r.onShowModelSelector??(()=>{}),c={notify(w){s(w)},setStatus(w,$){i(w,$)},setTheme(w){},setHeader(w){},showModelSelector(w){l(w)},theme:o},f={registerCommand(w,$){e.addCommand(w,$)},registerTool(w){e.addTool(w)},registerSkill(w){e.addSkill(w)},on(w,$){e.addHook(w,$)},setSystemPrompt(w){e.setSystemPrompt(w)},ui:c},u=sb(n).toLowerCase(),a;if(u===".ts"){let w=n.replace(/\.ts$/,".js");if(Pm(w))a=await import(vc(w).href);else try{a=await(await Promise.resolve().then(()=>(Rm(),Bm))).tsImport(vc(n).href,import.meta.url)}catch{throw new Error(`Cannot import TypeScript extension "${n}" in packaged mode.
139
- Fix: compile to .js first or install tsx: npm install -g tsx`)}}else a=await import(vc(n).href);let h=a.default??a;if(typeof h!="function")throw new Error(`Extension must export a default function. Got: ${typeof h}`);let p=console.log,A=console.error,C=console.warn,g=(...w)=>{c.notify(w.map($=>String($)).join(" "))};console.log=g,console.error=g,console.warn=g;try{await h(f)}finally{console.log=p,console.error=A,console.warn=C}}import{useState as Et,useCallback as Jn,useEffect as vv,useRef as Yn,useMemo as Cv}from"react";import{Box as lt,Text as Ae,useApp as kv,useInput as Sv}from"ink";import{existsSync as _v,readFileSync as Tv,writeFileSync as Iv,mkdirSync as Bv}from"node:fs";import{join as Cg}from"node:path";import{homedir as Rv}from"node:os";import{Type as kg}from"@sinclair/typebox";import{Box as Xs,Text as Qt}from"ink";import{jsx as zr,jsxs as Er}from"react/jsx-runtime";function Om({model:t,chain:e,price:r,toolRunning:n,connected:o,statusLine:s,cpu:i,ram:l,uptime:c,apiCalls:f}){let u=e.slice(0,8),a=t.split("/").pop()?.slice(0,16)??t.slice(0,16),h=(i??0)>80?N.error:(i??0)>50?N.warn:N.success,p=(l??0)>85?N.error:(l??0)>60?N.warn:N.success;return Er(Xs,{borderStyle:"single",borderColor:N.dim,paddingX:1,flexDirection:"row",justifyContent:"space-between",children:[Er(Xs,{gap:2,children:[zr(Qt,{color:N.accent,bold:!0,children:"\u{1F916} AIAIAI"}),r?zr(Qt,{color:N.success,children:r}):null,zr(Qt,{color:N.muted,children:a})]}),zr(Xs,{children:n?Er(Qt,{color:N.warn,children:["\u2699 ",n]}):s?zr(Qt,{color:N.muted,children:s.slice(0,60)}):zr(Qt,{color:N.muted,children:o?"ready":"connecting\u2026"})}),Er(Xs,{gap:2,children:[i!==void 0&&Er(Qt,{color:h,children:["CPU:",i,"%"]}),l!==void 0&&Er(Qt,{color:p,children:["RAM:",l,"%"]}),c&&zr(Qt,{color:N.muted,children:c}),f!==void 0&&Er(Qt,{color:N.muted,children:["API:",f,"/m"]}),Er(Qt,{color:N.header,children:["\u26D3 ",u]})]})]})}import ib,{useState as Xr,useCallback as Zs,useRef as $m,useMemo as kc}from"react";import{Box as Ve,Text as Qe,useStdout as ab,useInput as cb}from"ink";import{jsx as _e,jsxs as ze}from"react/jsx-runtime";var lb=40,ub=100,So=new Map;function db(t){let e=So.get(t);if(e)return e;let r=new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(So.set(t,r),So.size>500){let n=So.keys().next().value;n!==void 0&&So.delete(n)}return r}var Lm=["token info","token security","token holders","token traders","track kol","track smartmoney","track follow-wallet","market kline","market trending","market trenches","market signal","watch","unwatch","watchlist","alerts","alert above","alert below","compare","price","news","models","cost","model","clear","wallet","deposit","burn","actions","activity","fees","keys","providers","goals","goal add","goal done","goal list","schedule","sessions","resume","memory","update","gmgn","help","exit","quit"];function fb(t){if(!t||t==="/")return Lm.map(r=>`/${r}`);let e=t.startsWith("/")?t.slice(1):t;return Lm.filter(r=>r.startsWith(e)).map(r=>`/${r}`)}function mb(t){return t.role==="tool"?`${t.toolName??"tool"}|${t.content.length}|${t.isError?1:0}`:t.content}var hb=ib.memo(function({msg:e}){let r=kc(()=>db(e.ts),[e.ts]),n=kc(()=>mb(e),[e.content,e.role,e.toolName,e.isError]);if(e.role==="user")return ze(Ve,{flexDirection:"row",gap:1,marginTop:1,children:[_e(Qe,{color:N.muted,children:r}),_e(Qe,{color:N.accent,bold:!0,children:"you "}),_e(Qe,{wrap:"wrap",children:e.content})]});if(e.role==="assistant")return ze(Ve,{flexDirection:"row",gap:1,marginTop:1,children:[_e(Qe,{color:N.muted,children:r}),_e(Qe,{color:N.header,bold:!0,children:"\u{1F916} "}),_e(Qe,{wrap:"wrap",children:e.content})]});if(e.role==="tool"){let o=e.isError?"\u2717":"\u2713",s=e.isError?N.error:N.success,i=e.content.length>120;return ze(Ve,{flexDirection:"column",marginY:0,children:[ze(Ve,{flexDirection:"row",gap:1,children:[_e(Qe,{color:N.muted,children:r}),ze(Qe,{color:s,children:[o," ",e.toolName??"tool"]}),i&&ze(Qe,{color:N.dim,children:[" (",e.content.length," chars)"]})]}),!i&&_e(Ve,{marginLeft:6,children:_e(Qe,{color:N.muted,wrap:"wrap",children:e.content})})]})}return e.role==="notify"?_e(Ve,{borderStyle:"round",borderColor:N.accent,marginY:1,paddingX:1,children:_e(Qe,{wrap:"wrap",children:e.content})}):_e(Ve,{flexDirection:"row",gap:1,children:_e(Qe,{color:N.dim,wrap:"wrap",children:e.content})})},(t,e)=>t.msg.id===e.msg.id&&t.msg.content===e.msg.content&&t.msg.isError===e.msg.isError&&t.msg.ts===e.msg.ts);function pb({value:t,onChange:e,onSubmit:r,disabled:n,onAbort:o}){let[s,i]=Xr(t.length),[l,c]=Xr([]),[f,u]=Xr(-1),[a,h]=Xr([]),[p,A]=Xr(-1),[C,g]=Xr(!1),w=$m(t),$=$m(s);w.current=t,$.current=s;let k=Zs(D=>{let Q=w.current.slice(0,$.current),O=w.current.slice($.current),L=Q+D+O;e(L),i($.current+D.length)},[e]),I=Zs(()=>{let D=w.current;!D.trim()||n||(c(Q=>[D,...Q].slice(0,ub)),u(-1),g(!1),e(""),i(0),r(D))},[n,e,r]);cb((D,Q)=>{if(Q.escape){if(n){o();return}g(!1);return}if(!n){if(Q.tab){let O=w.current;if(!C){if(O.startsWith("/")&&O.length>0){let L=fb(O);if(L.length===1&&L[0]!==O){e(L[0]+" "),i(L[0].length+1);return}if(L.length>0){h(L),A(0),g(!0);return}}return}if(a.length>0){let L=(p+1)%a.length;A(L);let F=a[L];e(F+" "),i(F.length+1)}return}if(C&&g(!1),Q.return){if(D==="\r"&&!Q.shift){I();return}if(Q.shift||D===""){k(`
140
- `);return}}if(Q.upArrow){if(l.length===0)return;let O=f<l.length-1?f+1:f;u(O),e(l[O]),i(l[O].length);return}if(Q.downArrow){if(f<=0){u(-1),e(""),i(0);return}let O=f-1;u(O),e(l[O]),i(l[O].length);return}if(Q.leftArrow){i(Math.max(0,$.current-1));return}if(Q.rightArrow){i(Math.min(w.current.length,$.current+1));return}if(Q.backspace||Q.delete){if($.current<=0)return;let O=w.current.slice(0,$.current-1),L=w.current.slice($.current);e(O+L),i($.current-1);return}if(D&&D.length===1&&D.charCodeAt(0)>=32){k(D);return}}});let v=n?"thinking\u2026":"message or /command",B=(t||v).split(`
141
- `),U=Math.min(B.length,5);return ze(Ve,{flexDirection:"column",children:[C&&a.length>0&&ze(Ve,{borderStyle:"single",borderColor:N.accent,paddingX:1,flexDirection:"column",marginBottom:0,children:[a.slice(0,8).map((D,Q)=>ze(Qe,{color:Q===p?N.accent:N.muted,bold:Q===p,children:[Q===p?"\u25B8 ":" ",D]},D)),a.length>8&&ze(Qe,{color:N.dim,children:[" \u2026",a.length-8," more"]})]}),_e(Ve,{borderStyle:"round",borderColor:n?N.dim:N.accent,paddingX:1,paddingY:(U>1,0),flexDirection:"column",marginTop:1,children:ze(Ve,{flexDirection:"row",children:[_e(Qe,{color:N.accent,bold:!0,children:"\u203A "}),_e(Ve,{flexDirection:"column",flexGrow:1,children:t?B.slice(0,5).map((D,Q)=>{let L=Q===Math.min($.current,B.length-1)?$.current-B.slice(0,Q).join(`
142
- `).length-(Q>0?1:0):D.length,F=Math.min(L,D.length),W=D.slice(0,F),V=D[F]||" ",oe=D.slice(F+1);return ze(Qe,{wrap:"truncate-end",children:[W,_e(Qe,{inverse:!0,children:V}),oe]},Q)}):_e(Qe,{color:N.dim,children:v})})]})})]})}function Qm({messages:t,streamingText:e,toolRunning:r,onSubmit:n,onAbort:o,disabled:s}){let[i,l]=Xr(""),{stdout:c}=ab(),f=(c?.columns??80)-2,u=Zs(p=>{n(p)},[n]),a=Zs(()=>{o?.()},[o]),h=kc(()=>t.slice(-lb),[t]);return ze(Ve,{flexDirection:"column",width:"100%",children:[ze(Ve,{flexDirection:"column",flexGrow:1,children:[h.map(p=>_e(hb,{msg:p},p.id)),e&&ze(Ve,{flexDirection:"row",gap:1,marginTop:1,children:[_e(Qe,{color:N.muted,children:" "}),_e(Qe,{color:N.header,bold:!0,children:"\u{1F916} "}),_e(Qe,{wrap:"wrap",children:e})]}),r&&_e(Ve,{flexDirection:"row",gap:1,marginTop:1,children:ze(Qe,{color:N.warn,children:["\u2699 running ",r,"\u2026"]})})]}),_e(pb,{value:i,onChange:l,onSubmit:u,disabled:!!s,onAbort:a})]})}import{useState as Hm,useCallback as Db,useEffect as Nb,useMemo as Mb}from"react";import{Box as Bc,Text as Io,useInput as Fb}from"ink";import Rb,{useState as Pb,useEffect as Ob}from"react";import{Text as $b,useInput as Lb}from"ink";var Dm=(t=0)=>e=>`\x1B[${e+t}m`,Nm=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Mm=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,Te={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},tS=Object.keys(Te.modifier),gb=Object.keys(Te.color),Ab=Object.keys(Te.bgColor),rS=[...gb,...Ab];function yb(){let t=new Map;for(let[e,r]of Object.entries(Te)){for(let[n,o]of Object.entries(r))Te[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=Te[n],t.set(o[0],o[1]);Object.defineProperty(Te,e,{value:r,enumerable:!1})}return Object.defineProperty(Te,"codes",{value:t,enumerable:!1}),Te.color.close="\x1B[39m",Te.bgColor.close="\x1B[49m",Te.color.ansi=Dm(),Te.color.ansi256=Nm(),Te.color.ansi16m=Mm(),Te.bgColor.ansi=Dm(10),Te.bgColor.ansi256=Nm(10),Te.bgColor.ansi16m=Mm(10),Object.defineProperties(Te,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>Te.rgbToAnsi256(...Te.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let l=e%36;r=Math.floor(e/36)/5,n=Math.floor(l/6)/5,o=l%6/5}let s=Math.max(r,n,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>Te.ansi256ToAnsi(Te.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>Te.ansi256ToAnsi(Te.hexToAnsi256(e)),enumerable:!1}}),Te}var wb=yb(),Dt=wb;import Sc from"node:process";import bb from"node:os";import Fm from"node:tty";function _t(t,e=globalThis.Deno?globalThis.Deno.args:Sc.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:Ie}=Sc,ei;_t("no-color")||_t("no-colors")||_t("color=false")||_t("color=never")?ei=0:(_t("color")||_t("colors")||_t("color=true")||_t("color=always"))&&(ei=1);function Eb(){if("FORCE_COLOR"in Ie)return Ie.FORCE_COLOR==="true"?1:Ie.FORCE_COLOR==="false"?0:Ie.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ie.FORCE_COLOR,10),3)}function xb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function vb(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=Eb();n!==void 0&&(ei=n);let o=r?ei:n;if(o===0)return 0;if(r){if(_t("color=16m")||_t("color=full")||_t("color=truecolor"))return 3;if(_t("color=256"))return 2}if("TF_BUILD"in Ie&&"AGENT_NAME"in Ie)return 1;if(t&&!e&&o===void 0)return 0;let s=o||0;if(Ie.TERM==="dumb")return s;if(Sc.platform==="win32"){let i=bb.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Ie)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(i=>i in Ie)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(i=>i in Ie)||Ie.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Ie)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ie.TEAMCITY_VERSION)?1:0;if(Ie.COLORTERM==="truecolor"||Ie.TERM==="xterm-kitty"||Ie.TERM==="xterm-ghostty"||Ie.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Ie){let i=Number.parseInt((Ie.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ie.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ie.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ie.TERM)||"COLORTERM"in Ie?1:s}function Um(t,e={}){let r=vb(t,{streamIsTTY:t&&t.isTTY,...e});return xb(r)}var Cb={stdout:Um({isTTY:Fm.isatty(1)}),stderr:Um({isTTY:Fm.isatty(2)})},jm=Cb;function Km(t,e,r){let n=t.indexOf(e);if(n===-1)return t;let o=e.length,s=0,i="";do i+=t.slice(s,n)+e+r,s=n+o,n=t.indexOf(e,s);while(n!==-1);return i+=t.slice(s),i}function Wm(t,e,r,n){let o=0,s="";do{let i=t[n-1]==="\r";s+=t.slice(o,i?n-1:n)+e+(i?`\r
139
+ `),o=Yi(Hn,"pl-export.csv");return jg(Hn)||Wg(Hn,{recursive:!0,mode:448}),Kg(o,n,"utf-8"),Z.info("ProfitTracker","Exported CSV",{path:o}),o}var AC,Hn,Gg,Jg=xe(()=>{"use strict";Ye();AC=process.env.AIAIAI_HOME??Yi(gC(),".aiaiai"),Hn=Yi(AC,".tracker"),Gg=Yi(Hn,"pl.json")});var nA=ta(Tu(),1);import{readFileSync as es,existsSync as ts,writeFileSync as zg,mkdirSync as Xg}from"node:fs";import{resolve as Zg,join as Ir,dirname as eA}from"node:path";import{homedir as tA}from"node:os";import{fileURLToPath as rA}from"node:url";import{execSync as xu,execFileSync as vC}from"node:child_process";import{render as CC}from"ink";import Yg from"react";var eo=class{tools=new Map;commands=new Map;skills=new Map;hooks=new Map;systemPrompt="";addTool(e){this.tools.set(e.name,e)}addCommand(e,r){this.commands.set(e,r)}addSkill(e){if(this.skills.set(e.name,e),e.tools)for(let r of e.tools)this.addTool(r);if(e.commands)for(let[r,n]of e.commands)this.addCommand(r,n);if(e.hooks)for(let[r,n]of Object.entries(e.hooks))this.addHook(r,n)}addHook(e,r){this.hooks.has(e)||this.hooks.set(e,new Set),this.hooks.get(e).add(r)}async fireHook(e,...r){let n=this.hooks.get(e);if(n)for(let o of n)await o(...r)}getTool(e){return this.tools.get(e)}getCommand(e){return this.commands.get(e)}listTools(){return[...this.tools.values()]}listCommands(){return[...this.commands.entries()]}setSystemPrompt(e){this.systemPrompt=e}getSystemPrompt(){return this.systemPrompt}};import{pathToFileURL as vl}from"node:url";import{resolve as lb,extname as cb}from"node:path";import{existsSync as Lm}from"node:fs";var Pr={fg:(t,e,r)=>`\x1B[38;2;${t};${e};${r}m`,bold:"\x1B[1m",reset:"\x1B[0m"};function oa(t){let e=t.replace("#","");return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}var D={accent:"#ff3366",success:"#00ff88",error:"#ff4444",warn:"#ffaa33",muted:"#6b7280",header:"#a78bfa",dim:"#1f2937"};function $r(){return{fg(t,e){let r=D[t]??t;if(!r.startsWith("#"))return e;let[n,o,s]=oa(r);return`${Pr.fg(n,o,s)}${e}${Pr.reset}`}}}var BC=$r(),Iu={};for(let[t,e]of Object.entries(D)){let[r,n,o]=oa(e);Iu[t]=Pr.fg(r,n,o)}function Rr(t){let[e,r,n]=oa(t),o=Iu[t]??Pr.fg(e,r,n);return s=>`${o}${s}${Pr.reset}`}var E={accent:Rr(D.accent),success:Rr(D.success),error:Rr(D.error),warn:Rr(D.warn),muted:Rr(D.muted),header:Rr(D.header),dim:Rr(D.dim),bold:t=>`${Pr.bold}${t}${Pr.reset}`};async function Cl(t,e,r={}){let n=lb(t);if(!Lm(n))throw new Error(`Extension file not found: ${n}`);let o=$r(),s=r.onNotify??(()=>{}),i=r.onStatusUpdate??(()=>{}),l=r.onShowModelSelector??(()=>{}),c={notify(w){s(w)},setStatus(w,O){i(w,O)},setTheme(w){},setHeader(w){},showModelSelector(w){l(w)},theme:o},f={registerCommand(w,O){e.addCommand(w,O)},registerTool(w){e.addTool(w)},registerSkill(w){e.addSkill(w)},on(w,O){e.addHook(w,O)},setSystemPrompt(w){e.setSystemPrompt(w)},ui:c},d=cb(n).toLowerCase(),a;if(d===".ts"){let w=n.replace(/\.ts$/,".js");if(Lm(w))a=await import(vl(w).href);else try{a=await(await Promise.resolve().then(()=>(Om(),$m))).tsImport(vl(n).href,import.meta.url)}catch{throw new Error(`Cannot import TypeScript extension "${n}" in packaged mode.
140
+ Fix: compile to .js first or install tsx: npm install -g tsx`)}}else a=await import(vl(n).href);let h=a.default??a;if(typeof h!="function")throw new Error(`Extension must export a default function. Got: ${typeof h}`);let p=console.log,g=console.error,x=console.warn,A=(...w)=>{c.notify(w.map(O=>String(O)).join(" "))};console.log=A,console.error=A,console.warn=A;try{await h(f)}finally{console.log=p,console.error=g,console.warn=x}}import{useState as xt,useCallback as Jn,useEffect as Pv,useRef as Yn,useMemo as $v}from"react";import{Box as ct,Text as Ae,useApp as Ov,useInput as Lv}from"ink";import{existsSync as Qv,readFileSync as Dv,writeFileSync as Nv,mkdirSync as Mv}from"node:fs";import{join as Tg}from"node:path";import{homedir as Fv}from"node:os";import{Type as Ig}from"@sinclair/typebox";import{Box as Zs,Text as Qt}from"ink";import{jsx as zr,jsxs as xr}from"react/jsx-runtime";function Qm({model:t,chain:e,price:r,toolRunning:n,connected:o,statusLine:s,cpu:i,ram:l,uptime:c,apiCalls:f}){let d=e.slice(0,8),a=t.split("/").pop()?.slice(0,16)??t.slice(0,16),h=(i??0)>80?D.error:(i??0)>50?D.warn:D.success,p=(l??0)>85?D.error:(l??0)>60?D.warn:D.success;return xr(Zs,{borderStyle:"single",borderColor:D.dim,paddingX:1,flexDirection:"row",justifyContent:"space-between",children:[xr(Zs,{gap:2,children:[zr(Qt,{color:D.accent,bold:!0,children:"\u{1F916} AIAIAI"}),r?zr(Qt,{color:D.success,children:r}):null,zr(Qt,{color:D.muted,children:a})]}),zr(Zs,{children:n?xr(Qt,{color:D.warn,children:["\u2699 ",n]}):s?zr(Qt,{color:D.muted,children:s.slice(0,60)}):zr(Qt,{color:D.muted,children:o?"ready":"connecting\u2026"})}),xr(Zs,{gap:2,children:[i!==void 0&&xr(Qt,{color:h,children:["CPU:",i,"%"]}),l!==void 0&&xr(Qt,{color:p,children:["RAM:",l,"%"]}),c&&zr(Qt,{color:D.muted,children:c}),f!==void 0&&xr(Qt,{color:D.muted,children:["API:",f,"/m"]}),xr(Qt,{color:D.header,children:["\u26D3 ",d]})]})]})}import ub,{useState as Xr,useCallback as ei,useRef as Dm,useMemo as kl}from"react";import{Box as ze,Text as Le,useStdout as db,useInput as fb}from"ink";import{jsx as Se,jsxs as Xe}from"react/jsx-runtime";var mb=40,hb=100,So=new Map;function pb(t){let e=So.get(t);if(e)return e;let r=new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});if(So.set(t,r),So.size>500){let n=So.keys().next().value;n!==void 0&&So.delete(n)}return r}var Nm=["token info","token security","token holders","token traders","track kol","track smartmoney","track follow-wallet","market kline","market trending","market trenches","market signal","watch","unwatch","watchlist","alerts","alert above","alert below","compare","price","news","models","cost","model","clear","wallet","deposit","burn","actions","activity","fees","keys","providers","goals","goal add","goal done","goal list","schedule","sessions","resume","memory","update","gmgn","help","exit","quit"];function gb(t){if(!t||t==="/")return Nm.map(r=>`/${r}`);let e=t.startsWith("/")?t.slice(1):t;return Nm.filter(r=>r.startsWith(e)).map(r=>`/${r}`)}function Ab(t){return t.role==="tool"?`${t.toolName??"tool"}|${t.content.length}|${t.isError?1:0}`:t.content}var yb=ub.memo(function({msg:e}){let r=kl(()=>pb(e.ts),[e.ts]),n=kl(()=>Ab(e),[e.content,e.role,e.toolName,e.isError]);if(e.role==="user")return Xe(ze,{flexDirection:"row",gap:1,marginTop:1,children:[Se(Le,{color:D.muted,children:r}),Se(Le,{color:D.accent,bold:!0,children:"you "}),Se(Le,{wrap:"wrap",children:e.content})]});if(e.role==="assistant")return Xe(ze,{flexDirection:"row",gap:1,marginTop:1,children:[Se(Le,{color:D.muted,children:r}),Se(Le,{color:D.header,bold:!0,children:"\u{1F916} "}),Se(Le,{wrap:"wrap",children:e.content})]});if(e.role==="tool"){let o=e.isError?"\u2717":"\u2713",s=e.isError?D.error:D.success,i=e.content.length>120;return Xe(ze,{flexDirection:"column",marginY:0,children:[Xe(ze,{flexDirection:"row",gap:1,children:[Se(Le,{color:D.muted,children:r}),Xe(Le,{color:s,children:[o," ",e.toolName??"tool"]}),i&&Xe(Le,{color:D.dim,children:[" (",e.content.length," chars)"]})]}),!i&&Se(ze,{marginLeft:6,children:Se(Le,{color:D.muted,wrap:"wrap",children:e.content})})]})}return e.role==="notify"?Se(ze,{borderStyle:"round",borderColor:D.accent,marginY:1,paddingX:1,children:Se(Le,{wrap:"wrap",children:e.content})}):Se(ze,{flexDirection:"row",gap:1,children:Se(Le,{color:D.dim,wrap:"wrap",children:e.content})})},(t,e)=>t.msg.id===e.msg.id&&t.msg.content===e.msg.content&&t.msg.isError===e.msg.isError&&t.msg.ts===e.msg.ts);function wb({value:t,onChange:e,onSubmit:r,disabled:n,onAbort:o}){let[s,i]=Xr(t.length),[l,c]=Xr([]),[f,d]=Xr(-1),[a,h]=Xr([]),[p,g]=Xr(-1),[x,A]=Xr(!1),w=Dm(t),O=Dm(s);w.current=t,O.current=s;let T=ei(F=>{let Q=w.current.slice(0,O.current),P=w.current.slice(O.current),$=Q+F+P;e($),i(O.current+F.length)},[e]),B=ei(()=>{let F=w.current;!F.trim()||n||(c(Q=>[F,...Q].slice(0,hb)),d(-1),A(!1),e(""),i(0),r(F))},[n,e,r]);fb((F,Q)=>{if(Q.escape){if(n){o();return}A(!1);return}if(!n){if(Q.tab){let P=w.current;if(!x){if(P.startsWith("/")&&P.length>0){let $=gb(P);if($.length===1&&$[0]!==P){e($[0]+" "),i($[0].length+1);return}if($.length>0){h($),g(0),A(!0);return}}return}if(a.length>0){let $=(p+1)%a.length;g($);let N=a[$];e(N+" "),i(N.length+1)}return}if(x&&A(!1),Q.return){if(F==="\r"&&!Q.shift){B();return}if(Q.shift||F===""){T(`
141
+ `);return}}if(Q.upArrow){if(l.length===0)return;let P=f<l.length-1?f+1:f;d(P),e(l[P]),i(l[P].length);return}if(Q.downArrow){if(f<=0){d(-1),e(""),i(0);return}let P=f-1;d(P),e(l[P]),i(l[P].length);return}if(Q.leftArrow){i(Math.max(0,O.current-1));return}if(Q.rightArrow){i(Math.min(w.current.length,O.current+1));return}if(Q.backspace||Q.delete){if(O.current<=0)return;let P=w.current.slice(0,O.current-1),$=w.current.slice(O.current);e(P+$),i(O.current-1);return}if(F&&F.length===1&&F.charCodeAt(0)>=32){T(F);return}}});let v=n?"thinking\u2026":"message or /command",I=(t||v).split(`
142
+ `),j=Math.min(I.length,5);return Xe(ze,{flexDirection:"column",children:[x&&a.length>0&&Xe(ze,{borderStyle:"single",borderColor:D.accent,paddingX:1,flexDirection:"column",marginBottom:0,children:[a.slice(0,8).map((F,Q)=>Xe(Le,{color:Q===p?D.accent:D.muted,bold:Q===p,children:[Q===p?"\u25B8 ":" ",F]},F)),a.length>8&&Xe(Le,{color:D.dim,children:[" \u2026",a.length-8," more"]})]}),Se(ze,{borderStyle:"round",borderColor:n?D.dim:D.accent,paddingX:1,paddingY:(j>1,0),flexDirection:"column",marginTop:1,children:Xe(ze,{flexDirection:"row",children:[Se(Le,{color:D.accent,bold:!0,children:"\u203A "}),Se(ze,{flexDirection:"column",flexGrow:1,children:t?I.slice(0,5).map((F,Q)=>{let $=Q===Math.min(O.current,I.length-1)?O.current-I.slice(0,Q).join(`
143
+ `).length-(Q>0?1:0):F.length,N=Math.min($,F.length),U=F.slice(0,N),q=F[N]||" ",H=F.slice(N+1);return Xe(Le,{wrap:"truncate-end",children:[U,Se(Le,{inverse:!0,children:q}),H]},Q)}):Se(Le,{color:D.dim,children:v})})]})})]})}function Mm({messages:t,streamingText:e,toolRunning:r,onSubmit:n,onAbort:o,disabled:s}){let[i,l]=Xr(""),{stdout:c}=db(),f=(c?.columns??80)-2,d=ei(p=>{n(p)},[n]),a=ei(()=>{o?.()},[o]),h=kl(()=>t.slice(-mb),[t]);return Xe(ze,{flexDirection:"column",width:"100%",children:[Xe(ze,{flexDirection:"column",flexGrow:1,children:[h.map(p=>Se(yb,{msg:p},p.id)),e&&Xe(ze,{flexDirection:"row",gap:1,marginTop:1,children:[Se(Le,{color:D.muted,children:" "}),Se(Le,{color:D.header,bold:!0,children:"\u{1F916} "}),Se(Le,{wrap:"wrap",children:e})]}),r&&Se(ze,{flexDirection:"row",gap:1,marginTop:1,children:Xe(Le,{color:D.warn,children:["\u2699 running ",r,"\u2026"]})})]}),Se(wb,{value:i,onChange:l,onSubmit:d,disabled:!!s,onAbort:a})]})}import{useState as Xm,useCallback as Ub,useEffect as jb,useMemo as Kb}from"react";import{Box as Bl,Text as Io,useInput as Wb}from"ink";import Lb,{useState as Qb,useEffect as Db}from"react";import{Text as Nb,useInput as Mb}from"ink";var Fm=(t=0)=>e=>`\x1B[${e+t}m`,Um=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,jm=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,_e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},uS=Object.keys(_e.modifier),bb=Object.keys(_e.color),Eb=Object.keys(_e.bgColor),dS=[...bb,...Eb];function xb(){let t=new Map;for(let[e,r]of Object.entries(_e)){for(let[n,o]of Object.entries(r))_e[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=_e[n],t.set(o[0],o[1]);Object.defineProperty(_e,e,{value:r,enumerable:!1})}return Object.defineProperty(_e,"codes",{value:t,enumerable:!1}),_e.color.close="\x1B[39m",_e.bgColor.close="\x1B[49m",_e.color.ansi=Fm(),_e.color.ansi256=Um(),_e.color.ansi16m=jm(),_e.bgColor.ansi=Fm(10),_e.bgColor.ansi256=Um(10),_e.bgColor.ansi16m=jm(10),Object.defineProperties(_e,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>_e.rgbToAnsi256(..._e.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let l=e%36;r=Math.floor(e/36)/5,n=Math.floor(l/6)/5,o=l%6/5}let s=Math.max(r,n,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>_e.ansi256ToAnsi(_e.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>_e.ansi256ToAnsi(_e.hexToAnsi256(e)),enumerable:!1}}),_e}var vb=xb(),Dt=vb;import Sl from"node:process";import Cb from"node:os";import Km from"node:tty";function _t(t,e=globalThis.Deno?globalThis.Deno.args:Sl.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:Te}=Sl,ti;_t("no-color")||_t("no-colors")||_t("color=false")||_t("color=never")?ti=0:(_t("color")||_t("colors")||_t("color=true")||_t("color=always"))&&(ti=1);function kb(){if("FORCE_COLOR"in Te)return Te.FORCE_COLOR==="true"?1:Te.FORCE_COLOR==="false"?0:Te.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Te.FORCE_COLOR,10),3)}function Sb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function _b(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=kb();n!==void 0&&(ti=n);let o=r?ti:n;if(o===0)return 0;if(r){if(_t("color=16m")||_t("color=full")||_t("color=truecolor"))return 3;if(_t("color=256"))return 2}if("TF_BUILD"in Te&&"AGENT_NAME"in Te)return 1;if(t&&!e&&o===void 0)return 0;let s=o||0;if(Te.TERM==="dumb")return s;if(Sl.platform==="win32"){let i=Cb.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Te)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(i=>i in Te)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(i=>i in Te)||Te.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in Te)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Te.TEAMCITY_VERSION)?1:0;if(Te.COLORTERM==="truecolor"||Te.TERM==="xterm-kitty"||Te.TERM==="xterm-ghostty"||Te.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Te){let i=Number.parseInt((Te.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Te.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Te.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Te.TERM)||"COLORTERM"in Te?1:s}function Wm(t,e={}){let r=_b(t,{streamIsTTY:t&&t.isTTY,...e});return Sb(r)}var Tb={stdout:Wm({isTTY:Km.isatty(1)}),stderr:Wm({isTTY:Km.isatty(2)})},Gm=Tb;function qm(t,e,r){let n=t.indexOf(e);if(n===-1)return t;let o=e.length,s=0,i="";do i+=t.slice(s,n)+e+r,s=n+o,n=t.indexOf(e,s);while(n!==-1);return i+=t.slice(s),i}function Jm(t,e,r,n){let o=0,s="";do{let i=t[n-1]==="\r";s+=t.slice(o,i?n-1:n)+e+(i?`\r
143
144
  `:`
144
145
  `)+r,o=n+1,n=t.indexOf(`
145
- `,o)}while(n!==-1);return s+=t.slice(o),s}var{stdout:Gm,stderr:qm}=jm,_c=Symbol("GENERATOR"),Tn=Symbol("STYLER"),_o=Symbol("IS_EMPTY"),Jm=["ansi","ansi","ansi256","ansi16m"],In=Object.create(null),kb=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Gm?Gm.level:0;t.level=e.level===void 0?r:e.level};var Sb=t=>{let e=(...r)=>r.join(" ");return kb(e,t),Object.setPrototypeOf(e,To.prototype),e};function To(t){return Sb(t)}Object.setPrototypeOf(To.prototype,Function.prototype);for(let[t,e]of Object.entries(Dt))In[t]={get(){let r=ti(this,Ic(e.open,e.close,this[Tn]),this[_o]);return Object.defineProperty(this,t,{value:r}),r}};In.visible={get(){let t=ti(this,this[Tn],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Tc=(t,e,r,...n)=>t==="rgb"?e==="ansi16m"?Dt[r].ansi16m(...n):e==="ansi256"?Dt[r].ansi256(Dt.rgbToAnsi256(...n)):Dt[r].ansi(Dt.rgbToAnsi(...n)):t==="hex"?Tc("rgb",e,r,...Dt.hexToRgb(...n)):Dt[r][t](...n),_b=["rgb","hex","ansi256"];for(let t of _b){In[t]={get(){let{level:r}=this;return function(...n){let o=Ic(Tc(t,Jm[r],"color",...n),Dt.color.close,this[Tn]);return ti(this,o,this[_o])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);In[e]={get(){let{level:r}=this;return function(...n){let o=Ic(Tc(t,Jm[r],"bgColor",...n),Dt.bgColor.close,this[Tn]);return ti(this,o,this[_o])}}}}var Tb=Object.defineProperties(()=>{},{...In,level:{enumerable:!0,get(){return this[_c].level},set(t){this[_c].level=t}}}),Ic=(t,e,r)=>{let n,o;return r===void 0?(n=t,o=e):(n=r.openAll+t,o=e+r.closeAll),{open:t,close:e,openAll:n,closeAll:o,parent:r}},ti=(t,e,r)=>{let n=(...o)=>Ib(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,Tb),n[_c]=t,n[Tn]=e,n[_o]=r,n},Ib=(t,e)=>{if(t.level<=0||!e)return t[_o]?"":e;let r=t[Tn];if(r===void 0)return e;let{openAll:n,closeAll:o}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=Km(e,r.close,r.open),r=r.parent;let s=e.indexOf(`
146
- `);return s!==-1&&(e=Wm(e,o,n,s)),n+e+o};Object.defineProperties(To.prototype,In);var Bb=To(),fS=To({level:qm?qm.level:0});var xr=Bb;function Qb({value:t,placeholder:e="",focus:r=!0,mask:n,highlightPastedText:o=!1,showCursor:s=!0,onChange:i,onSubmit:l}){let[c,f]=Pb({cursorOffset:(t||"").length,cursorWidth:0}),{cursorOffset:u,cursorWidth:a}=c;Ob(()=>{f(g=>{if(!r||!s)return g;let w=t||"";return g.cursorOffset>w.length-1?{cursorOffset:w.length,cursorWidth:0}:g})},[t,r,s]);let h=o?a:0,p=n?n.repeat(t.length):t,A=p,C=e?xr.grey(e):void 0;if(s&&r){C=e.length>0?xr.inverse(e[0])+xr.grey(e.slice(1)):xr.inverse(" "),A=p.length>0?"":xr.inverse(" ");let g=0;for(let w of p)A+=g>=u-h&&g<=u?xr.inverse(w):w,g++;p.length>0&&u===p.length&&(A+=xr.inverse(" "))}return Lb((g,w)=>{if(w.upArrow||w.downArrow||w.ctrl&&g==="c"||w.tab||w.shift&&w.tab)return;if(w.return){l&&l(t);return}let $=u,k=t,I=0;w.leftArrow?s&&$--:w.rightArrow?s&&$++:w.backspace||w.delete?u>0&&(k=t.slice(0,u-1)+t.slice(u,t.length),$--):(k=t.slice(0,u)+g+t.slice(u,t.length),$+=g.length,g.length>1&&(I=g.length)),u<0&&($=0),u>t.length&&($=t.length),f({cursorOffset:$,cursorWidth:I}),k!==t&&i(k)},{isActive:r}),Rb.createElement($b,null,e?p.length>0?A:C:A)}var Ym=Qb;import{jsx as ri,jsxs as Bo}from"react/jsx-runtime";var Rc=10;function Ub(t,e){let r=e.toLowerCase().trim();return r?t.filter(n=>`${n.id} ${n.tier}`.toLowerCase().includes(r)):t}function Vm({models:t,currentModelId:e,onSelect:r,onCancel:n,initialQuery:o=""}){let[s,i]=Hm(o),[l,c]=Hm(0),f=Mb(()=>Ub(t,s),[t,s]);Nb(()=>{c(p=>Math.min(p,Math.max(0,f.length-1)))},[f.length]);let u=Db(()=>{let p=f[l];p&&r(p.id)},[f,l,r]);Fb((p,A)=>{if(A.escape){n();return}if(A.upArrow){c(C=>Math.max(0,C-1));return}if(A.downArrow){c(C=>Math.min(f.length-1,C+1));return}if(A.return){u();return}});let a=Math.max(0,Math.min(l-Math.floor(Rc/2),f.length-Rc)),h=f.slice(a,a+Rc);return Bo(Bc,{flexDirection:"column",borderStyle:"round",borderColor:N.accent,paddingX:1,children:[Bo(Io,{color:N.accent,bold:!0,children:["Select Model (",f.length,")"]}),Bo(Bc,{children:[ri(Io,{color:N.muted,children:"filter: "}),ri(Ym,{value:s,onChange:i,placeholder:"type to filter\u2026"})]}),Bo(Bc,{flexDirection:"column",marginTop:1,children:[h.map((p,A)=>{let g=a+A===l,w=p.id===e,$={orchestrator:"\u2B50",analyst:"\u{1F52C}",worker:"\u26A1",free:"\u{1F193}"}[p.tier]??"\u2022";return Bo(Io,{color:g?N.accent:N.muted,bold:g,children:[g?"\u203A ":" ",$," ",p.id,w?" (current)":""]},p.id)}),f.length===0&&ri(Io,{color:N.muted,children:"No models match."})]}),ri(Io,{color:N.dim,children:"\u2191\u2193 navigate \xB7 Enter select \xB7 Esc cancel"})]})}Ke();var si=class{registry;constructor(e){this.registry=e}async dispatch(e,r){let n=this.registry.getTool(e);if(!n)return{content:[{type:"text",text:`Unknown tool: "${e}"`}],isError:!0};try{return await n.execute(`invoke-${Date.now()}`,r)}catch(o){return{content:[{type:"text",text:`Tool "${e}" error: ${o instanceof Error?o.message:String(o)}`}],isError:!0}}}listTools(){return this.registry.listTools()}getTool(e){return this.registry.getTool(e)}};import{existsSync as Oc,readFileSync as zm,writeFileSync as Kb,chmodSync as Wb}from"node:fs";import{resolve as Xm}from"node:path";import{homedir as Gb}from"node:os";var $c=class{cache={};envPath;constructor(){let e=process.env.AIAIAI_HOME??Xm(Gb(),".aiaiai");this.envPath=Xm(e,".env"),this.load(),this.validatePermissions()}validatePermissions(){try{if(!Oc(this.envPath))return;let{statSync:e}=ae("node:fs"),n=e(this.envPath).mode&511;n&63&&console.warn(`\u26A0\uFE0F .env file has overly permissive permissions (${n.toString(8)}). Run: chmod 600 ${this.envPath}`)}catch{}}load(){if(Oc(this.envPath)){let e=zm(this.envPath,"utf-8");for(let r of e.split(`
147
- `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let s=n.slice(0,o).trim(),i=n.slice(o+1).trim().replace(/^["']|["']$/g,"");s&&(this.cache[s]=i)}}for(let e of Object.keys(process.env)){let r=process.env[e];r!==void 0&&(this.cache[e]=r)}}get(e,r){return this.cache[e]??r}getRequired(e){let r=this.get(e);if(!r)throw new Error(`Required env var ${e} is not set`);return r}has(e){return this.cache[e]!==void 0&&this.cache[e].trim()!==""}set(e,r){let n=Oc(this.envPath)?zm(this.envPath,"utf-8"):"",o=n.split(`
146
+ `,o)}while(n!==-1);return s+=t.slice(o),s}var{stdout:Ym,stderr:Vm}=Gm,_l=Symbol("GENERATOR"),Tn=Symbol("STYLER"),_o=Symbol("IS_EMPTY"),Hm=["ansi","ansi","ansi256","ansi16m"],In=Object.create(null),Ib=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Ym?Ym.level:0;t.level=e.level===void 0?r:e.level};var Bb=t=>{let e=(...r)=>r.join(" ");return Ib(e,t),Object.setPrototypeOf(e,To.prototype),e};function To(t){return Bb(t)}Object.setPrototypeOf(To.prototype,Function.prototype);for(let[t,e]of Object.entries(Dt))In[t]={get(){let r=ri(this,Il(e.open,e.close,this[Tn]),this[_o]);return Object.defineProperty(this,t,{value:r}),r}};In.visible={get(){let t=ri(this,this[Tn],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Tl=(t,e,r,...n)=>t==="rgb"?e==="ansi16m"?Dt[r].ansi16m(...n):e==="ansi256"?Dt[r].ansi256(Dt.rgbToAnsi256(...n)):Dt[r].ansi(Dt.rgbToAnsi(...n)):t==="hex"?Tl("rgb",e,r,...Dt.hexToRgb(...n)):Dt[r][t](...n),Rb=["rgb","hex","ansi256"];for(let t of Rb){In[t]={get(){let{level:r}=this;return function(...n){let o=Il(Tl(t,Hm[r],"color",...n),Dt.color.close,this[Tn]);return ri(this,o,this[_o])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);In[e]={get(){let{level:r}=this;return function(...n){let o=Il(Tl(t,Hm[r],"bgColor",...n),Dt.bgColor.close,this[Tn]);return ri(this,o,this[_o])}}}}var Pb=Object.defineProperties(()=>{},{...In,level:{enumerable:!0,get(){return this[_l].level},set(t){this[_l].level=t}}}),Il=(t,e,r)=>{let n,o;return r===void 0?(n=t,o=e):(n=r.openAll+t,o=e+r.closeAll),{open:t,close:e,openAll:n,closeAll:o,parent:r}},ri=(t,e,r)=>{let n=(...o)=>$b(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,Pb),n[_l]=t,n[Tn]=e,n[_o]=r,n},$b=(t,e)=>{if(t.level<=0||!e)return t[_o]?"":e;let r=t[Tn];if(r===void 0)return e;let{openAll:n,closeAll:o}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=qm(e,r.close,r.open),r=r.parent;let s=e.indexOf(`
147
+ `);return s!==-1&&(e=Jm(e,o,n,s)),n+e+o};Object.defineProperties(To.prototype,In);var Ob=To(),ES=To({level:Vm?Vm.level:0});var vr=Ob;function Fb({value:t,placeholder:e="",focus:r=!0,mask:n,highlightPastedText:o=!1,showCursor:s=!0,onChange:i,onSubmit:l}){let[c,f]=Qb({cursorOffset:(t||"").length,cursorWidth:0}),{cursorOffset:d,cursorWidth:a}=c;Db(()=>{f(A=>{if(!r||!s)return A;let w=t||"";return A.cursorOffset>w.length-1?{cursorOffset:w.length,cursorWidth:0}:A})},[t,r,s]);let h=o?a:0,p=n?n.repeat(t.length):t,g=p,x=e?vr.grey(e):void 0;if(s&&r){x=e.length>0?vr.inverse(e[0])+vr.grey(e.slice(1)):vr.inverse(" "),g=p.length>0?"":vr.inverse(" ");let A=0;for(let w of p)g+=A>=d-h&&A<=d?vr.inverse(w):w,A++;p.length>0&&d===p.length&&(g+=vr.inverse(" "))}return Mb((A,w)=>{if(w.upArrow||w.downArrow||w.ctrl&&A==="c"||w.tab||w.shift&&w.tab)return;if(w.return){l&&l(t);return}let O=d,T=t,B=0;w.leftArrow?s&&O--:w.rightArrow?s&&O++:w.backspace||w.delete?d>0&&(T=t.slice(0,d-1)+t.slice(d,t.length),O--):(T=t.slice(0,d)+A+t.slice(d,t.length),O+=A.length,A.length>1&&(B=A.length)),d<0&&(O=0),d>t.length&&(O=t.length),f({cursorOffset:O,cursorWidth:B}),T!==t&&i(T)},{isActive:r}),Lb.createElement(Nb,null,e?p.length>0?g:x:g)}var zm=Fb;import{jsx as ni,jsxs as Bo}from"react/jsx-runtime";var Rl=10;function Gb(t,e){let r=e.toLowerCase().trim();return r?t.filter(n=>`${n.id} ${n.tier}`.toLowerCase().includes(r)):t}function Zm({models:t,currentModelId:e,onSelect:r,onCancel:n,initialQuery:o=""}){let[s,i]=Xm(o),[l,c]=Xm(0),f=Kb(()=>Gb(t,s),[t,s]);jb(()=>{c(p=>Math.min(p,Math.max(0,f.length-1)))},[f.length]);let d=Ub(()=>{let p=f[l];p&&r(p.id)},[f,l,r]);Wb((p,g)=>{if(g.escape){n();return}if(g.upArrow){c(x=>Math.max(0,x-1));return}if(g.downArrow){c(x=>Math.min(f.length-1,x+1));return}if(g.return){d();return}});let a=Math.max(0,Math.min(l-Math.floor(Rl/2),f.length-Rl)),h=f.slice(a,a+Rl);return Bo(Bl,{flexDirection:"column",borderStyle:"round",borderColor:D.accent,paddingX:1,children:[Bo(Io,{color:D.accent,bold:!0,children:["Select Model (",f.length,")"]}),Bo(Bl,{children:[ni(Io,{color:D.muted,children:"filter: "}),ni(zm,{value:s,onChange:i,placeholder:"type to filter\u2026"})]}),Bo(Bl,{flexDirection:"column",marginTop:1,children:[h.map((p,g)=>{let A=a+g===l,w=p.id===e,O={orchestrator:"\u2B50",analyst:"\u{1F52C}",worker:"\u26A1",free:"\u{1F193}"}[p.tier]??"\u2022";return Bo(Io,{color:A?D.accent:D.muted,bold:A,children:[A?"\u203A ":" ",O," ",p.id,w?" (current)":""]},p.id)}),f.length===0&&ni(Io,{color:D.muted,children:"No models match."})]}),ni(Io,{color:D.dim,children:"\u2191\u2193 navigate \xB7 Enter select \xB7 Esc cancel"})]})}var oi=class{registry;constructor(e){this.registry=e}async dispatch(e,r){let n=this.registry.getTool(e);if(!n)return{content:[{type:"text",text:`Unknown tool: "${e}"`}],isError:!0};try{return await n.execute(`invoke-${Date.now()}`,r)}catch(o){return{content:[{type:"text",text:`Tool "${e}" error: ${o instanceof Error?o.message:String(o)}`}],isError:!0}}}listTools(){return this.registry.listTools()}getTool(e){return this.registry.getTool(e)}};import{existsSync as Pl,readFileSync as eh,writeFileSync as qb,chmodSync as Jb}from"node:fs";import{resolve as th}from"node:path";import{homedir as Yb}from"node:os";var $l=class{cache={};envPath;constructor(){let e=process.env.AIAIAI_HOME??th(Yb(),".aiaiai");this.envPath=th(e,".env"),this.load(),this.validatePermissions()}validatePermissions(){try{if(!Pl(this.envPath))return;let{statSync:e}=ie("node:fs"),n=e(this.envPath).mode&511;n&63&&console.warn(`\u26A0\uFE0F .env file has overly permissive permissions (${n.toString(8)}). Run: chmod 600 ${this.envPath}`)}catch{}}load(){if(Pl(this.envPath)){let e=eh(this.envPath,"utf-8");for(let r of e.split(`
148
+ `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let s=n.slice(0,o).trim(),i=n.slice(o+1).trim().replace(/^["']|["']$/g,"");s&&(this.cache[s]=i)}}for(let e of Object.keys(process.env)){let r=process.env[e];r!==void 0&&(this.cache[e]=r)}}get(e,r){return this.cache[e]??r}getRequired(e){let r=this.get(e);if(!r)throw new Error(`Required env var ${e} is not set`);return r}has(e){return this.cache[e]!==void 0&&this.cache[e].trim()!==""}set(e,r){let n=Pl(this.envPath)?eh(this.envPath,"utf-8"):"",o=n.split(`
148
149
  `),s=!1;for(let l=0;l<o.length;l++)if(o[l].trim().startsWith(`${e}=`)){o[l]=`${e}=${r}`,s=!0;break}s||(n&&!n.endsWith(`
149
150
  `)&&o.push(""),o.push(`${e}=${r}`));let i=o.join(`
150
151
  `)+`
151
- `;Kb(this.envPath,i,"utf-8");try{Wb(this.envPath,384)}catch{}this.cache[e]=r,process.env[e]=r}getAll(){let e={};for(let[r,n]of Object.entries(this.cache))n!==void 0&&(e[r]=n);return e}reload(){this.cache={},this.load()}},Tt=new $c;Ke();pt();var Bn=2,cE=1e3,uh=6e4;function lE(t){return t===429||t>=500}function li(t){let e=Tt.get("OPENROUTER_API_KEY");return{model:Tt.get("DEFAULT_MODEL")||t.resolvePrimary(),apiKey:e||"",baseUrl:"https://openrouter.ai/api/v1"}}var Oo=class{static async runStreaming(e){let{config:r,systemPrompt:n,messages:o,onEvent:s,signal:i}=e,l={model:r.model,messages:[{role:"system",content:n},...o],stream:!0,max_tokens:4096},c="",f=0,u;for(let a=0;a<=Bn;a++)try{if(a>0){let k=cE*Math.pow(2,a-1);X.info("ModelClient",`Retry attempt ${a}/${Bn} after ${k}ms`),await new Promise(I=>setTimeout(I,k))}let h=new AbortController;if(u=setTimeout(()=>h.abort(),uh),i?.aborted){s({type:"error",message:"Request aborted"});return}let p=i??h.signal,A=await me(`${r.baseUrl}/chat/completions`,{timeout:uh,retries:0,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.apiKey}`,"HTTP-Referer":"https://aiaiaichain.dev","X-Title":"AIAIAI Chain Agent"},body:JSON.stringify(l),signal:p});if(clearTimeout(u),!A.ok){let k=await A.text().catch(()=>"unknown error");if(c=k,f=A.status,lE(A.status)&&a<Bn){X.warn("ModelClient",`Retryable error ${A.status}`,{attempt:a});continue}A.status===401?s({type:"error",message:`API auth failed: OpenRouter key is missing or invalid.
152
+ `;qb(this.envPath,i,"utf-8");try{Jb(this.envPath,384)}catch{}this.cache[e]=r,process.env[e]=r}getAll(){let e={};for(let[r,n]of Object.entries(this.cache))n!==void 0&&(e[r]=n);return e}reload(){this.cache={},this.load()}},Tt=new $l;Ye();ht();var Bn=2,AE=1e3,hh=6e4;function yE(t){return t===429||t>=500}function ci(t){let e=Tt.get("OPENROUTER_API_KEY");return{model:Tt.get("DEFAULT_MODEL")||t.resolvePrimary(),apiKey:e||"",baseUrl:"https://openrouter.ai/api/v1"}}var Oo=class{static async runStreaming(e){let{config:r,systemPrompt:n,messages:o,onEvent:s,signal:i,tools:l,toolResults:c}=e,f=[{role:"system",content:n}];if(c&&c.length>0)for(let g of c)f.push({role:"tool",tool_call_id:g.tool_call_id,content:g.content});for(let g of o){let x={role:g.role,content:g.content};g.tool_calls&&(x.tool_calls=g.tool_calls),g.tool_call_id&&(x.tool_call_id=g.tool_call_id),f.push(x)}let d={model:r.model,messages:f,stream:!0,max_tokens:4096};l&&l.length>0&&(d.tools=l.map(g=>({type:"function",function:{name:g.name,description:g.description,parameters:g.parameters}})));let a="",h=0,p;for(let g=0;g<=Bn;g++)try{if(g>0){let C=AE*Math.pow(2,g-1);Z.info("ModelClient",`Retry attempt ${g}/${Bn} after ${C}ms`),await new Promise(I=>setTimeout(I,C))}let x=new AbortController;if(p=setTimeout(()=>x.abort(),hh),i?.aborted){s({type:"error",message:"Request aborted"});return}let A=i??x.signal,w=await fe(`${r.baseUrl}/chat/completions`,{timeout:hh,retries:0,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.apiKey}`,"HTTP-Referer":"https://aiaiaichain.dev","X-Title":"AIAIAI Chain Agent"},body:JSON.stringify(d),signal:A});if(clearTimeout(p),!w.ok){let C=await w.text().catch(()=>"unknown error");if(a=C,h=w.status,yE(w.status)&&g<Bn){Z.warn("ModelClient",`Retryable error ${w.status}`,{attempt:g});continue}w.status===401?s({type:"error",message:`API auth failed: OpenRouter key is missing or invalid.
152
153
  Run: aiaiai setup
153
- Get a key: https://openrouter.ai/keys`}):s({type:"error",message:`API error ${A.status}: ${k}`});return}if(!A.body?.getReader()){s({type:"error",message:"No response body"});return}let w=A.body.pipeThrough(new TextDecoderStream).getReader(),$="";for(;;){let{done:k,value:I}=await w.read();if(k)break;$+=I;let v=$.split(`
154
- `);$=v.pop()||"";for(let S of v){let B=S.trim();if(!(!B||B==="data: [DONE]")&&B.startsWith("data: "))try{let D=JSON.parse(B.slice(6)).choices?.[0]?.delta?.content;D&&s({type:"text_delta",text:D})}catch{X.debug("ModelClient","Skipped malformed SSE line",{line:B.slice(0,100)})}}}s({type:"turn_done"});return}catch(h){if(clearTimeout(u),h instanceof Error&&h.name==="AbortError"){if(i?.aborted){s({type:"turn_done"});return}if(c="Request timed out",a<Bn){X.warn("ModelClient","Timeout, retrying",{attempt:a});continue}s({type:"error",message:"Request timed out"});return}if(c=h instanceof Error?h.message:String(h),a<Bn){X.warn("ModelClient","Error, retrying",{attempt:a,error:c});continue}s({type:"error",message:`ModelClient error (${f||"offline"}): ${c}`});return}s({type:"error",message:`ModelClient failed after ${Bn+1} attempts: ${c}`})}};var Rn=class{registry;session;dispatcher;onEvent;sessionCtx;effectLevel;modelReg;costTracker;goalManager;contextStore;abortController=null;_pendingApproval;_toolRetries=new Map;_maxToolRetries=2;constructor(e,r,n,o,s,i,l,c,f){this.registry=e,this.session=r,this.dispatcher=new si(e),this.onEvent=n,this.sessionCtx=o,this.effectLevel=s,this.modelReg=i,this.costTracker=l,this.goalManager=c,this.contextStore=f}setEffectLevel(e){this.effectLevel=e}async run(e){this.session.addMessage("user",e);let r=li(this.modelReg),n=this.session.getMessages(),o=this.session.getSystemPrompt(),s="",i="";this.abortController=new AbortController;let l=c=>{if(c.type==="text_delta"){s+=c.text,i+=c.text;let f=i.match(/\{("tool"|"name"):\s*"([^"]+)"\s*,\s*"args"|"params"|"parameters":\s*(\{[^}]+\})\s*\}/);if(f){let u=f[2],a={};try{a=JSON.parse(f[3])}catch{X.warn("AgentRunner","Failed to parse tool call args from stream",{toolCall:f[0].slice(0,100)})}if(s=s.replace(f[0],"").trim(),i="",u!=="noop"){if(this.onEvent({type:"tool_start",name:u}),this.dispatcher.getTool(u)&&this.requiresApproval(u)){this.onEvent({type:"approval_request",toolName:u,args:JSON.stringify(a),approve:p=>{p?this.executeTool(u,a,s,o,n,r):(this.onEvent({type:"tool_done",name:u,result:JSON.stringify({error:"User denied approval"}),isError:!0}),this.session.addMessage("assistant",s||`(tool ${u} was denied)`),this.onEvent({type:"turn_done"}))}});return}this.executeTool(u,a,s,o,n,r)}}this.onEvent({type:"text_delta",text:c.text})}else if(c.type==="turn_done")s.trim()&&(this.session.addMessage("assistant",s.trim()),this.costTracker&&this.costTracker.track(r.model,n.reduce((f,u)=>f+u.content.length,0),s.length)),this.onEvent({type:"turn_done"});else if(c.type==="error"){if(i.includes("tool")||i.includes("function")){let f=i.match(/"name"\s*:\s*"([^"]+)"/),u=f?f[1]:"unknown";this.onEvent({type:"tool_done",name:u,result:JSON.stringify({error:c.message}),isError:!0})}this.onEvent({type:"error",message:c.message??"unknown error"})}};await Oo.runStreaming({config:r,systemPrompt:o,messages:n,onEvent:l,signal:this.abortController.signal})}async executeTool(e,r,n,o,s,i){let l=await this.dispatcher.dispatch(e,r),c=l.content.map(a=>a.text).join(`
155
- `);if(this.onEvent({type:"tool_done",name:e,result:c,isError:l.isError??!1}),l.isError){let a=(this._toolRetries.get(e)??0)+1;if(this._toolRetries.set(e,a),a>this._maxToolRetries){this._toolRetries.delete(e);return}}else this._toolRetries.delete(e);let f=[...s.slice(-5),{role:"assistant",content:n||`(using ${e})`},{role:"user",content:`Tool "${e}" returned:
156
- ${c}
157
-
158
- Summarize the result or continue.`}],u="";await Oo.runStreaming({config:i,systemPrompt:o,messages:f,onEvent:a=>{a.type==="text_delta"?(u+=a.text,this.onEvent({type:"text_delta",text:a.text})):a.type==="turn_done"?(u.trim()&&this.session.addMessage("assistant",u.trim()),this.onEvent({type:"turn_done"})):a.type==="error"&&this.onEvent({type:"error",message:a.message??"unknown error"})},signal:this.abortController?.signal})}requiresApproval(e){return["execute_trade","send_transaction","sign_message","deploy_contract"].includes(e)}abort(){this.abortController?.abort(),this.abortController=null}};var Pn=class{head=null;tail=null;messageCount=0;_cachedChars=0;systemPrompt="";setSystemPrompt(e){this.systemPrompt=e}getSystemPrompt(){return this.systemPrompt}addMessage(e,r){let n=r.length+e.length+10,o={role:e,content:r,charSize:n,next:null};for(this.tail?this.tail.next=o:this.head=o,this.tail=o,this.messageCount++,this._cachedChars+=n;this.messageCount>500&&this.head;)this._cachedChars-=this.head.charSize,this.head=this.head.next,this.messageCount--;for(;this._cachedChars>512e3&&this.head&&this.head!==this.tail;)this._cachedChars-=this.head.charSize,this.head=this.head.next,this.messageCount--}getMessages(){let e=[],r=this.head;for(;r;)e.push({role:r.role,content:r.content}),r=r.next;return e}getContextPressure(){let e=this._cachedChars,r=128e3*4,n=Math.min(100,Math.round(e/r*100)),o="green";return n>90?o="critical":n>75?o="red":n>50&&(o="yellow"),{pct:n,level:o,turboReady:n<70}}clearMessages(){this.head=null,this.tail=null,this.messageCount=0,this._cachedChars=0}getMessageCount(){return this.messageCount}dispose(){this.head=null,this.tail=null,this.messageCount=0,this._cachedChars=0,this.systemPrompt=""}};Un();pt();Ke();import{Type as cl}from"@sinclair/typebox";var Qx=new Set(["bullish","surge","rally","gain","green","high","breakthrough","adoption","partnership","launch","upgrade","growth","profit","positive","optimistic","innovation","milestone","record","all-time","success","soar","boom","breakout","accumulate","moon","pump","ATH","approve","ETF"]),Dx=new Set(["bearish","crash","dump","plunge","drop","red","low","hack","exploit","ban","regulation","crackdown","fraud","scam","loss","negative","pessimistic","decline","fall","dip","correction","sell-off","liquidation","fud","fear","uncertainty","volatility","warning","risk","bear","capitulation"]);function Nx(t){let e=t.toLowerCase().split(/[\s,.-_!?]+/),r=0,n=0;for(let o of e)Qx.has(o)&&(r+=1,n++),Dx.has(o)&&(r-=1,n++);return n===0?0:Math.max(-1,Math.min(1,r/Math.max(n,1)))}var ll=class{cachedItems=[];lastFetch=0;cacheDuration=3e5;async getLatest(){return this.cachedItems.length>0&&Date.now()-this.lastFetch<this.cacheDuration?this.buildReport(this.cachedItems):this.fetch()}async fetch(){let e=[];try{let r=process.env.CRYPTOPANIC_API_KEY,n=r?`https://cryptopanic.com/api/v1/posts/?auth_token=${r}&kind=news&public=true`:"https://cryptopanic.com/api/v1/posts/?public=true",o=await me(n,{timeout:1e4,retries:1,headers:{Accept:"application/json"}});if(o.ok){let s=await o.json();for(let i of(s.results??[]).slice(0,30))e.push({title:i.title,source:i.source?.title||i.domain||"cryptopanic",url:i.url,publishedAt:i.published_at,sentiment:Nx(i.title)})}else e.push(...this.getFallbackNews())}catch(r){X.warn("NewsSentiment","Failed to fetch news",{error:r.message}),e.push(...this.getFallbackNews())}return this.cachedItems=e,this.lastFetch=Date.now(),this.buildReport(e)}getFallbackNews(){let e=new Date().toISOString();return[{title:"Bitcoin holds support above $60k as institutional inflows continue",source:"coindesk",url:"https://coindesk.com",publishedAt:e,sentiment:.6},{title:"Solana network activity surges with record daily transactions",source:"theblock",url:"https://theblock.co",publishedAt:e,sentiment:.7},{title:"DeFi TVL climbs to multi-month high across major protocols",source:"defillama",url:"https://defillama.com",publishedAt:e,sentiment:.5},{title:"Regulatory clarity expected as new crypto framework emerges",source:"reuters",url:"https://reuters.com",publishedAt:e,sentiment:.3},{title:"AI tokens lead market recovery with 15% weekly gains",source:"cointelegraph",url:"https://cointelegraph.com",publishedAt:e,sentiment:.8}]}buildReport(e){let r=e.map(s=>s.sentiment??0),n=r.length>0?r.reduce((s,i)=>s+i,0)/r.length:0,o=[...e].sort((s,i)=>(i.sentiment??0)-(s.sentiment??0));return{items:e,averageSentiment:n,topPositive:o.slice(0,3),topNegative:o.slice(-3).reverse()}}statusBadge(){try{let e=this.buildReport(this.cachedItems);return e.items.length===0?"":`${e.averageSentiment>.2?"\u{1F4C8}":e.averageSentiment<-.2?"\u{1F4C9}":"\u{1F4CA}"} ${(e.averageSentiment*100).toFixed(0)}%`}catch(e){return X.debug("NewsSentiment","statusBadge failed",{error:e.message}),""}}},jn=new ll,Ap=cl.Object({limit:cl.Optional(cl.Number({description:"Number of news items"}))});async function ul(t,e){let r=await jn.getLatest(),n=e.limit||10,s=r.items.slice(0,n).map(i=>{let l=i.sentiment??0;return`${l>.3?"\u{1F7E2}":l<-.3?"\u{1F534}":"\u26AA"} [${(l*100).toFixed(0)}%] ${i.title} \u2014 ${i.source}`});return{content:[{type:"text",text:[`News (${r.items.length} items, avg sentiment: ${(r.averageSentiment*100).toFixed(0)}%)`,...s].join(`
159
- `)}]}}pt();import{Type as Ge}from"@sinclair/typebox";var ki=[],yp=[];async function Mx(){if(ki.length>0)return ki;try{let t=await import("node:worker_threads"),e=await import("node:os"),r=Math.min(e.cpus().length,4);for(let n=0;n<r;n++){let o=new t.Worker(ae.resolve("./TechnicalAnalysis.worker.js"));o.on("message",s=>{let i=o._pending;i&&(o._pending=null,i.resolve(s.results));let l=yp.shift();l&&wp(o,l.candles).then(l.resolve).catch(l.reject)}),o.on("error",s=>{let i=o._pending;i&&(o._pending=null,i.reject(s))}),ki.push(o)}}catch{}return ki}async function wp(t,e){return new Promise((r,n)=>{t._pending={resolve:r,reject:n},t.postMessage({candles:e,id:Date.now()})})}async function Fx(t){let e=await Mx();if(e.length===0)throw new Error("no-workers");let r=e.find(n=>!n._pending);return r?wp(r,t):new Promise((n,o)=>{yp.push({candles:t,resolve:n,reject:o})})}function Ux(){return new Promise(t=>setImmediate(t))}async function jx(t,e=14,r=50){let n=[],o=[],s=[];for(let i=1;i<t.length;i++){let l=t[i]-t[i-1];o.push(Math.max(0,l)),s.push(Math.max(0,-l))}for(let i=e;i<o.length;i++){let l=0,c=0;for(let u=0;u<e;u++)l+=o[i-u],c+=s[i-u];if(l/=e,c/=e,c===0){n.push(100);continue}let f=l/c;n.push(100-100/(1+f)),t.length>100&&i%r===0&&await Ux()}return n}function Kx(t,e){let r=[];for(let n=e-1;n<t.length;n++){let o=0;for(let s=0;s<e;s++)o+=t[n-s];r.push(o/e)}return r}function dl(t,e){let r=[],n=2/(e+1),o=t.slice(0,e).reduce((s,i)=>s+i,0)/e;r.push(o);for(let s=e;s<t.length;s++)r.push(t[s]*n+r[r.length-1]*(1-n));return r}function Wx(t,e,r){let n=t[t.length-1],o="neutral";return n>70?o="bearish":n<30&&(o="bullish"),{indicator:"RSI",value:parseFloat(n.toFixed(2)),signal:o,details:`RSI(14) = ${n.toFixed(2)}${n>70?" \u2014 overbought":n<30?" \u2014 oversold":" \u2014 neutral zone"}`}}function Gx(t,e=12,r=26,n=9){let o=dl(t,e),s=dl(t,r),i=[],l=r-e;for(let h=0;h<s.length;h++)i.push(o[h+l]-s[h]);let c=dl(i,n),f=n-1,u=[];for(let h=0;h<i.length-f;h++)u.push(i[h+f]-c[h]);return{macd:i.slice(f),signal:c,histogram:u}}function qx(t){let e=t.histogram,r=e[e.length-1]??0,n=e[e.length-2]??0,o="neutral";return r>0&&n<=0?o="bullish":r<0&&n>=0&&(o="bearish"),{indicator:"MACD",value:parseFloat(r.toFixed(6)),signal:o,details:`MACD histogram: ${r.toFixed(6)}${o!=="neutral"?` \u2014 ${o} crossover`:""}`}}function Jx(t,e=20,r=2){let n=Kx(t,e),o=[],s=[];for(let i=0;i<n.length;i++){let l=i,c=0;for(let u=0;u<e;u++){let a=l+u;a<t.length&&(c+=(t[a]-n[i])**2)}let f=Math.sqrt(c/e);o.push(n[i]+r*f),s.push(n[i]-r*f)}return{upper:o,middle:n,lower:s}}function Yx(t,e){let r=t.upper[t.upper.length-1],n=t.lower[t.lower.length-1],o=t.middle[t.middle.length-1],s="neutral";return e>=r?s="bearish":e<=n&&(s="bullish"),{indicator:"Bollinger",value:[parseFloat(r.toFixed(6)),parseFloat(o.toFixed(6)),parseFloat(n.toFixed(6))],signal:s,details:s==="bearish"?"Price at upper band \u2014 overextended":s==="bullish"?"Price at lower band \u2014 oversold":"Within bands"}}function Hx(t,e=14){let r=[];for(let n=1;n<t.length;n++){let o=t[n].high,s=t[n].low,i=t[n-1].close;r.push(Math.max(o-s,Math.abs(o-i),Math.abs(s-i)))}return r.length<e?r.reduce((n,o)=>n+o,0)/Math.max(1,r.length):r.slice(-e).reduce((n,o)=>n+o,0)/e}async function fl(t){let e=t.map(f=>f.close);if(e.length<30)return[];if(t.length>100)try{return(await Fx(t)).map(u=>({indicator:u.indicator,value:u.value,signal:u.signal}))}catch{}let r=[],n=await jx(e,14);r.push(Wx(n,e[e.length-1],e)),r.push(qx(Gx(e,12,26,9)));let o=Jx(e,20,2);r.push(Yx(o,e[e.length-1]));let s=Hx(t,14);r.push({indicator:"ATR",value:parseFloat(s.toFixed(6)),signal:"neutral",details:`ATR(14) = ${s.toFixed(6)}`});let i=r.filter(f=>f.signal==="bullish").length,l=r.filter(f=>f.signal==="bearish").length,c=i>l?"bullish":l>i?"bearish":"neutral";return r.push({indicator:"SUMMARY",value:r.length,signal:c,details:`${i} bullish, ${l} bearish, ${r.length-i-l} neutral \u2014 overall ${c}`}),r}var bp=Ge.Object({symbol:Ge.String({description:"Trading pair symbol (e.g., BTCUSDT, SOLUSDT)"}),interval:Ge.Optional(Ge.String({description:"Candle interval: 1m, 5m, 15m, 1h, 4h, 1d",default:"1d"})),limit:Ge.Optional(Ge.Number({description:"Number of candles",default:50}))}),Ep=Ge.Object({prices:Ge.Array(Ge.Number({description:"Closing prices"})),highs:Ge.Optional(Ge.Array(Ge.Number({description:"High prices"}))),lows:Ge.Optional(Ge.Array(Ge.Number({description:"Low prices"}))),volumes:Ge.Optional(Ge.Array(Ge.Number({description:"Volumes"})))});async function xp(t,e){let r=e.symbol,n=e.interval||"1d",o=e.limit||50;try{let s=await me(`https://api.binance.com/api/v3/klines?symbol=${r}&interval=${n}&limit=${o}`,{timeout:1e4,retries:1});if(!s.ok)return{content:[{type:"text",text:`Failed to fetch candles for ${r}: ${s.status}`}]};let l=(await s.json()).map(a=>({timestamp:a[0],open:parseFloat(a[1]),high:parseFloat(a[2]),low:parseFloat(a[3]),close:parseFloat(a[4]),volume:parseFloat(a[5])})),c=l.map(a=>a.close),f=await fl(l);return{content:[{type:"text",text:[`--- ${r} ${n} candles (${l.length}) ---`,`Last: $${c[c.length-1].toFixed(6)}`,`Range: $${Math.min(...c).toFixed(6)} - $${Math.max(...c).toFixed(6)}`,"",...f.map(a=>`${a.signal==="bullish"?"\u{1F7E2}":a.signal==="bearish"?"\u{1F534}":"\u26AA"} ${a.indicator}: ${JSON.stringify(typeof a.value=="number"?a.value.toFixed(4):a.value)} \u2014 ${a.details??""}`)].join(`
160
- `)}],details:{candles:l.slice(-5),analysis:f}}}catch(s){return{content:[{type:"text",text:`Error fetching candles: ${s instanceof Error?s.message:String(s)}`}],isError:!0}}}import{existsSync as hl,readFileSync as kp,writeFileSync as Sp,mkdirSync as e1,readdirSync as t1}from"node:fs";import{resolve as jo}from"node:path";import{Type as pl}from"@sinclair/typebox";import{existsSync as Uo,mkdirSync as vp,writeFileSync as ml}from"node:fs";import{resolve as Kn}from"node:path";import{homedir as Vx}from"node:os";var or=process.env.AIAIAI_HOME??Kn(Vx(),".aiaiai"),zx=["config","memory","checkpoints","sessions","skills"],Xx=`# AIAIAI Chain Agent
154
+ Get a key: https://openrouter.ai/keys`}):s({type:"error",message:`API error ${w.status}: ${C}`});return}if(!w.body){s({type:"error",message:"No response body"});return}let T=w.body.pipeThrough(new TextDecoderStream).getReader(),B="",v=new Map;for(;;){let{done:C,value:I}=await T.read();if(C)break;B+=I;let j=B.split(`
155
+ `);B=j.pop()||"";for(let F of j){let Q=F.trim();if(!(!Q||Q==="data: [DONE]")&&Q.startsWith("data: "))try{let $=JSON.parse(Q.slice(6)).choices?.[0];if(!$)continue;let N=$.delta?.content;N&&s({type:"text_delta",text:N});let U=$.delta?.tool_calls;if(U)for(let q of U){let H=q.id||`tc_${Date.now()}_${q.index}`,z=v.get(H)||{name:"",args:""};q.function?.name&&(z.name=q.function.name),q.function?.arguments&&(z.args+=q.function.arguments),v.set(H,z),s({type:"tool_calls_partial",toolName:z.name,toolCallId:H})}if($.finish_reason==="tool_calls"){for(let[q,H]of v){let z={};try{z=JSON.parse(H.args)}catch{Z.warn("ModelClient","Failed to parse tool call args",{args:H.args.slice(0,100)})}s({type:"tool_call",toolName:H.name,toolArgs:z,toolCallId:q,finishReason:$.finish_reason})}v.clear()}$.finish_reason==="stop"&&v.clear()}catch{Z.debug("ModelClient","Skipped malformed SSE line",{line:Q.slice(0,100)})}}}s({type:"turn_done"});return}catch(x){if(clearTimeout(p),x instanceof Error&&x.name==="AbortError"){if(i?.aborted){s({type:"turn_done"});return}if(a="Request timed out",g<Bn){Z.warn("ModelClient","Timeout, retrying",{attempt:g});continue}s({type:"error",message:"Request timed out"});return}if(a=x instanceof Error?x.message:String(x),g<Bn){Z.warn("ModelClient","Error, retrying",{attempt:g,error:a});continue}s({type:"error",message:`ModelClient error (${h||"offline"}): ${a}`});return}s({type:"error",message:`ModelClient failed after ${Bn+1} attempts: ${a}`})}};var Rn=class{registry;session;dispatcher;onEvent;sessionCtx;effectLevel;modelReg;costTracker;goalManager;contextStore;abortController=null;_pendingApproval;_toolRetries=new Map;_maxToolRetries=2;_pendingToolCalls=new Map;constructor(e,r,n,o,s,i,l,c,f){this.registry=e,this.session=r,this.dispatcher=new oi(e),this.onEvent=n,this.sessionCtx=o,this.effectLevel=s,this.modelReg=i,this.costTracker=l,this.goalManager=c,this.contextStore=f}setEffectLevel(e){this.effectLevel=e}async run(e){this.session.addMessage("user",e);let r=ci(this.modelReg),n=this.session.getMessages(),o=this.session.getSystemPrompt(),s="",i=[];this.abortController=new AbortController;let l=this.registry.listTools(),c=f=>{if(f.type==="text_delta")s+=f.text,this.onEvent({type:"text_delta",text:f.text});else if(f.type==="tool_call"){let d=f.toolName??"",a=f.toolArgs??{},h=f.toolCallId??`tc_${Date.now()}`;if(d&&d!=="noop"){if(this.onEvent({type:"tool_start",name:d}),this.requiresApproval(d)){this.onEvent({type:"approval_request",toolName:d,args:JSON.stringify(a),approve:p=>{p?this.executeTool(d,a,s,o,n,r,h):(this.onEvent({type:"tool_done",name:d,result:JSON.stringify({error:"User denied approval"}),isError:!0}),this.session.addMessage("assistant",s||`(tool ${d} was denied)`),this.onEvent({type:"turn_done"}))}}),this._pendingToolCalls.set(h,{name:d,args:a});return}this.executeTool(d,a,s,o,n,r,h)}}else f.type==="tool_calls_partial"?this.onEvent({type:"tool_start",name:f.toolName||"..."}):f.type==="turn_done"?(s.trim()&&i.length===0&&(this.session.addMessage("assistant",s.trim()),this.costTracker&&this.costTracker.track(r.model,n.reduce((d,a)=>d+a.content.length,0),s.length)),this.onEvent({type:"turn_done"})):f.type==="error"&&this.onEvent({type:"error",message:f.message??"unknown error"})};await Oo.runStreaming({config:r,systemPrompt:o,messages:n,onEvent:c,signal:this.abortController.signal,tools:l.length>0?l:void 0})}async executeTool(e,r,n,o,s,i,l){let c=await this.dispatcher.dispatch(e,r),f=c.content.map(p=>p.text).join(`
156
+ `);if(this.onEvent({type:"tool_done",name:e,result:f,isError:c.isError??!1}),c.isError){let p=(this._toolRetries.get(e)??0)+1;if(this._toolRetries.set(e,p),p>this._maxToolRetries){this._toolRetries.delete(e);return}}else this._toolRetries.delete(e);let d={role:"tool",content:f.slice(0,8e3),tool_call_id:l},a={role:"assistant",content:n||""};n.trim()&&this.session.addMessage("assistant",n.trim());let h="";await Oo.runStreaming({config:i,systemPrompt:o,messages:[...s.slice(-5),a,d,{role:"system",content:"Tool result received. Summarize the result or take the next action."}],onEvent:p=>{p.type==="text_delta"?(h+=p.text,this.onEvent({type:"text_delta",text:p.text})):p.type==="turn_done"?(h.trim()&&(this.session.addMessage("assistant",h.trim()),this.costTracker&&this.costTracker.track(i.model,n.length+d.content.length,h.length)),this.onEvent({type:"turn_done"})):p.type==="error"&&this.onEvent({type:"error",message:p.message??"unknown error"})},signal:this.abortController?.signal})}requiresApproval(e){return["execute_trade","send_transaction","sign_message","deploy_contract"].includes(e)}abort(){this.abortController?.abort(),this.abortController=null}};var Pn=class{head=null;tail=null;messageCount=0;_cachedChars=0;systemPrompt="";recentMessages=[];setSystemPrompt(e){this.systemPrompt=e}getSystemPrompt(){return this.systemPrompt}addMessage(e,r){let n=r.length+e.length+10,o={role:e,content:r,charSize:n,next:null};for(this.tail?this.tail.next=o:this.head=o,this.tail=o,this.messageCount++,this._cachedChars+=n,this.recentMessages.push({role:e,content:r});this.messageCount>500&&this.head;)this._cachedChars-=this.head.charSize,this.head=this.head.next,this.messageCount--,this.recentMessages.shift();for(;this._cachedChars>512e3&&this.head&&this.head!==this.tail;)this._cachedChars-=this.head.charSize,this.head=this.head.next,this.messageCount--,this.recentMessages.shift()}getMessages(){if(this.recentMessages.length===this.messageCount)return[...this.recentMessages];let e=[],r=this.head;for(;r;)e.push({role:r.role,content:r.content}),r=r.next;return this.recentMessages=e,e}getContextPressure(){let e=this._cachedChars,r=128e3*4,n=Math.min(100,Math.round(e/r*100)),o="green";return n>90?o="critical":n>75?o="red":n>50&&(o="yellow"),{pct:n,level:o,turboReady:n<70}}clearMessages(){this.head=null,this.tail=null,this.messageCount=0,this._cachedChars=0}getMessageCount(){return this.messageCount}dispose(){this.head=null,this.tail=null,this.messageCount=0,this._cachedChars=0,this.systemPrompt=""}};Un();ht();Ye();import{Type as cc}from"@sinclair/typebox";var Gx=new Set(["bullish","surge","rally","gain","green","high","breakthrough","adoption","partnership","launch","upgrade","growth","profit","positive","optimistic","innovation","milestone","record","all-time","success","soar","boom","breakout","accumulate","moon","pump","ATH","approve","ETF"]),qx=new Set(["bearish","crash","dump","plunge","drop","red","low","hack","exploit","ban","regulation","crackdown","fraud","scam","loss","negative","pessimistic","decline","fall","dip","correction","sell-off","liquidation","fud","fear","uncertainty","volatility","warning","risk","bear","capitulation"]);function Jx(t){let e=t.toLowerCase().split(/[\s,.-_!?]+/),r=0,n=0;for(let o of e)Gx.has(o)&&(r+=1,n++),qx.has(o)&&(r-=1,n++);return n===0?0:Math.max(-1,Math.min(1,r/Math.max(n,1)))}var uc=class{cachedItems=[];lastFetch=0;cacheDuration=3e5;async getLatest(){return this.cachedItems.length>0&&Date.now()-this.lastFetch<this.cacheDuration?this.buildReport(this.cachedItems):this.fetch()}async fetch(){let e=[];try{let r=process.env.CRYPTOPANIC_API_KEY,n=r?`https://cryptopanic.com/api/v1/posts/?auth_token=${r}&kind=news&public=true`:"https://cryptopanic.com/api/v1/posts/?public=true",o=await fe(n,{timeout:1e4,retries:1,headers:{Accept:"application/json"}});if(o.ok){let s=await o.json();for(let i of(s.results??[]).slice(0,30))e.push({title:i.title,source:i.source?.title||i.domain||"cryptopanic",url:i.url,publishedAt:i.published_at,sentiment:Jx(i.title)})}else e.push(...this.getFallbackNews())}catch(r){Z.warn("NewsSentiment","Failed to fetch news",{error:r.message}),e.push(...this.getFallbackNews())}return this.cachedItems=e,this.lastFetch=Date.now(),this.buildReport(e)}getFallbackNews(){let e=new Date().toISOString();return[{title:"Bitcoin holds support above $60k as institutional inflows continue",source:"coindesk",url:"https://coindesk.com",publishedAt:e,sentiment:.6},{title:"Solana network activity surges with record daily transactions",source:"theblock",url:"https://theblock.co",publishedAt:e,sentiment:.7},{title:"DeFi TVL climbs to multi-month high across major protocols",source:"defillama",url:"https://defillama.com",publishedAt:e,sentiment:.5},{title:"Regulatory clarity expected as new crypto framework emerges",source:"reuters",url:"https://reuters.com",publishedAt:e,sentiment:.3},{title:"AI tokens lead market recovery with 15% weekly gains",source:"cointelegraph",url:"https://cointelegraph.com",publishedAt:e,sentiment:.8}]}buildReport(e){let r=e.map(s=>s.sentiment??0),n=r.length>0?r.reduce((s,i)=>s+i,0)/r.length:0,o=[...e].sort((s,i)=>(i.sentiment??0)-(s.sentiment??0));return{items:e,averageSentiment:n,topPositive:o.slice(0,3),topNegative:o.slice(-3).reverse()}}statusBadge(){try{let e=this.buildReport(this.cachedItems);return e.items.length===0?"":`${e.averageSentiment>.2?"\u{1F4C8}":e.averageSentiment<-.2?"\u{1F4C9}":"\u{1F4CA}"} ${(e.averageSentiment*100).toFixed(0)}%`}catch(e){return Z.debug("NewsSentiment","statusBadge failed",{error:e.message}),""}}},jn=new uc,Ep=cc.Object({limit:cc.Optional(cc.Number({description:"Number of news items"}))});async function dc(t,e){let r=await jn.getLatest(),n=e.limit||10,s=r.items.slice(0,n).map(i=>{let l=i.sentiment??0;return`${l>.3?"\u{1F7E2}":l<-.3?"\u{1F534}":"\u26AA"} [${(l*100).toFixed(0)}%] ${i.title} \u2014 ${i.source}`});return{content:[{type:"text",text:[`News (${r.items.length} items, avg sentiment: ${(r.averageSentiment*100).toFixed(0)}%)`,...s].join(`
157
+ `)}]}}ht();import{Type as Ge}from"@sinclair/typebox";var ki=[],xp=[];async function Yx(){if(ki.length>0)return ki;try{let t=await import("node:worker_threads"),e=await import("node:os"),r=Math.min(e.cpus().length,4);for(let n=0;n<r;n++){let o=new t.Worker(ie.resolve("./TechnicalAnalysis.worker.js"));o.on("message",s=>{let i=o._pending;i&&(o._pending=null,i.resolve(s.results));let l=xp.shift();l&&vp(o,l.candles).then(l.resolve).catch(l.reject)}),o.on("error",s=>{let i=o._pending;i&&(o._pending=null,i.reject(s))}),ki.push(o)}}catch{}return ki}async function vp(t,e){return new Promise((r,n)=>{t._pending={resolve:r,reject:n},t.postMessage({candles:e,id:Date.now()})})}async function Vx(t){let e=await Yx();if(e.length===0)throw new Error("no-workers");let r=e.find(n=>!n._pending);return r?vp(r,t):new Promise((n,o)=>{xp.push({candles:t,resolve:n,reject:o})})}function Hx(){return new Promise(t=>setImmediate(t))}async function zx(t,e=14,r=50){let n=[],o=[],s=[];for(let i=1;i<t.length;i++){let l=t[i]-t[i-1];o.push(Math.max(0,l)),s.push(Math.max(0,-l))}for(let i=e;i<o.length;i++){let l=0,c=0;for(let d=0;d<e;d++)l+=o[i-d],c+=s[i-d];if(l/=e,c/=e,c===0){n.push(100);continue}let f=l/c;n.push(100-100/(1+f)),t.length>100&&i%r===0&&await Hx()}return n}function Xx(t,e){let r=[];for(let n=e-1;n<t.length;n++){let o=0;for(let s=0;s<e;s++)o+=t[n-s];r.push(o/e)}return r}function fc(t,e){let r=[],n=2/(e+1),o=t.slice(0,e).reduce((s,i)=>s+i,0)/e;r.push(o);for(let s=e;s<t.length;s++)r.push(t[s]*n+r[r.length-1]*(1-n));return r}function Zx(t,e,r){let n=t[t.length-1],o="neutral";return n>70?o="bearish":n<30&&(o="bullish"),{indicator:"RSI",value:parseFloat(n.toFixed(2)),signal:o,details:`RSI(14) = ${n.toFixed(2)}${n>70?" \u2014 overbought":n<30?" \u2014 oversold":" \u2014 neutral zone"}`}}function e1(t,e=12,r=26,n=9){let o=fc(t,e),s=fc(t,r),i=[],l=r-e;for(let h=0;h<s.length;h++)i.push(o[h+l]-s[h]);let c=fc(i,n),f=n-1,d=[];for(let h=0;h<i.length-f;h++)d.push(i[h+f]-c[h]);return{macd:i.slice(f),signal:c,histogram:d}}function t1(t){let e=t.histogram,r=e[e.length-1]??0,n=e[e.length-2]??0,o="neutral";return r>0&&n<=0?o="bullish":r<0&&n>=0&&(o="bearish"),{indicator:"MACD",value:parseFloat(r.toFixed(6)),signal:o,details:`MACD histogram: ${r.toFixed(6)}${o!=="neutral"?` \u2014 ${o} crossover`:""}`}}function r1(t,e=20,r=2){let n=Xx(t,e),o=[],s=[];for(let i=0;i<n.length;i++){let l=i,c=0;for(let d=0;d<e;d++){let a=l+d;a<t.length&&(c+=(t[a]-n[i])**2)}let f=Math.sqrt(c/e);o.push(n[i]+r*f),s.push(n[i]-r*f)}return{upper:o,middle:n,lower:s}}function n1(t,e){let r=t.upper[t.upper.length-1],n=t.lower[t.lower.length-1],o=t.middle[t.middle.length-1],s="neutral";return e>=r?s="bearish":e<=n&&(s="bullish"),{indicator:"Bollinger",value:[parseFloat(r.toFixed(6)),parseFloat(o.toFixed(6)),parseFloat(n.toFixed(6))],signal:s,details:s==="bearish"?"Price at upper band \u2014 overextended":s==="bullish"?"Price at lower band \u2014 oversold":"Within bands"}}function o1(t,e=14){let r=[];for(let n=1;n<t.length;n++){let o=t[n].high,s=t[n].low,i=t[n-1].close;r.push(Math.max(o-s,Math.abs(o-i),Math.abs(s-i)))}return r.length<e?r.reduce((n,o)=>n+o,0)/Math.max(1,r.length):r.slice(-e).reduce((n,o)=>n+o,0)/e}async function mc(t){let e=t.map(f=>f.close);if(e.length<30)return[];if(t.length>100)try{return(await Vx(t)).map(d=>({indicator:d.indicator,value:d.value,signal:d.signal}))}catch{}let r=[],n=await zx(e,14);r.push(Zx(n,e[e.length-1],e)),r.push(t1(e1(e,12,26,9)));let o=r1(e,20,2);r.push(n1(o,e[e.length-1]));let s=o1(t,14);r.push({indicator:"ATR",value:parseFloat(s.toFixed(6)),signal:"neutral",details:`ATR(14) = ${s.toFixed(6)}`});let i=r.filter(f=>f.signal==="bullish").length,l=r.filter(f=>f.signal==="bearish").length,c=i>l?"bullish":l>i?"bearish":"neutral";return r.push({indicator:"SUMMARY",value:r.length,signal:c,details:`${i} bullish, ${l} bearish, ${r.length-i-l} neutral \u2014 overall ${c}`}),r}var Cp=Ge.Object({symbol:Ge.String({description:"Trading pair symbol (e.g., BTCUSDT, SOLUSDT)"}),interval:Ge.Optional(Ge.String({description:"Candle interval: 1m, 5m, 15m, 1h, 4h, 1d",default:"1d"})),limit:Ge.Optional(Ge.Number({description:"Number of candles",default:50}))}),kp=Ge.Object({prices:Ge.Array(Ge.Number({description:"Closing prices"})),highs:Ge.Optional(Ge.Array(Ge.Number({description:"High prices"}))),lows:Ge.Optional(Ge.Array(Ge.Number({description:"Low prices"}))),volumes:Ge.Optional(Ge.Array(Ge.Number({description:"Volumes"})))});async function Sp(t,e){let r=e.symbol,n=e.interval||"1d",o=e.limit||50;try{let s=await fe(`https://api.binance.com/api/v3/klines?symbol=${r}&interval=${n}&limit=${o}`,{timeout:1e4,retries:1});if(!s.ok)return{content:[{type:"text",text:`Failed to fetch candles for ${r}: ${s.status}`}]};let l=(await s.json()).map(a=>({timestamp:a[0],open:parseFloat(a[1]),high:parseFloat(a[2]),low:parseFloat(a[3]),close:parseFloat(a[4]),volume:parseFloat(a[5])})),c=l.map(a=>a.close),f=await mc(l);return{content:[{type:"text",text:[`--- ${r} ${n} candles (${l.length}) ---`,`Last: $${c[c.length-1].toFixed(6)}`,`Range: $${Math.min(...c).toFixed(6)} - $${Math.max(...c).toFixed(6)}`,"",...f.map(a=>`${a.signal==="bullish"?"\u{1F7E2}":a.signal==="bearish"?"\u{1F534}":"\u26AA"} ${a.indicator}: ${JSON.stringify(typeof a.value=="number"?a.value.toFixed(4):a.value)} \u2014 ${a.details??""}`)].join(`
158
+ `)}],details:{candles:l.slice(-5),analysis:f}}}catch(s){return{content:[{type:"text",text:`Error fetching candles: ${s instanceof Error?s.message:String(s)}`}],isError:!0}}}import{existsSync as pc,readFileSync as Ip,writeFileSync as Bp,mkdirSync as c1,readdirSync as u1}from"node:fs";import{resolve as Ko}from"node:path";import{Type as gc}from"@sinclair/typebox";import{existsSync as jo,mkdirSync as _p,writeFileSync as hc}from"node:fs";import{resolve as Kn}from"node:path";import{homedir as s1}from"node:os";var sr=process.env.AIAIAI_HOME??Kn(s1(),".aiaiai"),i1=["config","memory","checkpoints","sessions","skills"],a1=`# AIAIAI Chain Agent
161
159
 
162
160
  Solana-native AI agent for decentralized AI governance.
163
161
  Ticker: $AIAIAI (AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump)
@@ -183,39 +181,39 @@ aiaiaichain setup \u2014 re-run setup wizard
183
181
  aiaiaichain config \u2014 show configuration
184
182
  aiaiaichain price \u2014 show $AIAIAI token price
185
183
  \`\`\`
186
- `,Cp=!1,Zx="",Xe=class t{static getInstance(){return t}static init(){if(Cp)return;Uo(or)||vp(or,{recursive:!0});for(let o of zx){let s=Kn(or,o);Uo(s)||vp(s,{recursive:!0})}let e=Kn(or,"AIAIAI.md");Uo(e)||ml(e,Xx,"utf-8");let r=Kn(or,"history.jsonl");Uo(r)||ml(r,"","utf-8");let n=Kn(or,"settings.json");Uo(n)||ml(n,JSON.stringify({theme:"dark",autoSave:!0,activeChain:"solana"},null,2),"utf-8"),Cp=!0,Zx=or}static path(...e){return Kn(or,...e)}static getHome(){return or}};var gl=class{basePath;activeContexts=new Map;constructor(){this.basePath=jo(Xe.getHome(),"sessions","tasks"),hl(this.basePath)||e1(this.basePath,{recursive:!0})}saveTask(e,r){let n={taskId:e,data:r,createdAt:Date.now(),updatedAt:Date.now()};Sp(jo(this.basePath,`${e}.json`),JSON.stringify(n,null,2),"utf-8")}readTask(e){let r=jo(this.basePath,`${e}.json`);if(!hl(r))return null;try{return JSON.parse(kp(r,"utf-8"))}catch{return null}}listTasks(){if(!hl(this.basePath))return[];try{return t1(this.basePath).filter(e=>e.endsWith(".json")).map(e=>{try{return JSON.parse(kp(jo(this.basePath,e),"utf-8"))}catch{return null}}).filter(Boolean)}catch{return[]}}keepTask(e){let r=this.readTask(e);return r?(r.keep=!0,r.updatedAt=Date.now(),Sp(jo(this.basePath,`${e}.json`),JSON.stringify(r,null,2),"utf-8"),!0):!1}readContextParams=pl.Object({taskId:pl.String({description:"Task ID from a previous multi-step operation"})});listTasksParams=pl.Object({});async readContextTool(e,r){let n=this.readTask(r.taskId);return n?{content:[{type:"text",text:JSON.stringify(n.data,null,2)}]}:{content:[{type:"text",text:`Task "${r.taskId}" not found.`}]}}async listTasksTool(){let e=this.listTasks();if(e.length===0)return{content:[{type:"text",text:"No saved tasks."}]};let r=e.map(n=>` ${n.taskId} \u2014 ${Object.keys(n.data).length} keys (${new Date(n.updatedAt).toLocaleString()})${n.keep?" \u{1F512}":""}`);return{content:[{type:"text",text:`Tasks (${e.length}):
184
+ `,Tp=!1,l1="",Ze=class t{static getInstance(){return t}static init(){if(Tp)return;jo(sr)||_p(sr,{recursive:!0});for(let o of i1){let s=Kn(sr,o);jo(s)||_p(s,{recursive:!0})}let e=Kn(sr,"AIAIAI.md");jo(e)||hc(e,a1,"utf-8");let r=Kn(sr,"history.jsonl");jo(r)||hc(r,"","utf-8");let n=Kn(sr,"settings.json");jo(n)||hc(n,JSON.stringify({theme:"dark",autoSave:!0,activeChain:"solana"},null,2),"utf-8"),Tp=!0,l1=sr}static path(...e){return Kn(sr,...e)}static getHome(){return sr}};var Ac=class{basePath;activeContexts=new Map;constructor(){this.basePath=Ko(Ze.getHome(),"sessions","tasks"),pc(this.basePath)||c1(this.basePath,{recursive:!0})}saveTask(e,r){let n={taskId:e,data:r,createdAt:Date.now(),updatedAt:Date.now()};Bp(Ko(this.basePath,`${e}.json`),JSON.stringify(n,null,2),"utf-8")}readTask(e){let r=Ko(this.basePath,`${e}.json`);if(!pc(r))return null;try{return JSON.parse(Ip(r,"utf-8"))}catch{return null}}listTasks(){if(!pc(this.basePath))return[];try{return u1(this.basePath).filter(e=>e.endsWith(".json")).map(e=>{try{return JSON.parse(Ip(Ko(this.basePath,e),"utf-8"))}catch{return null}}).filter(Boolean)}catch{return[]}}keepTask(e){let r=this.readTask(e);return r?(r.keep=!0,r.updatedAt=Date.now(),Bp(Ko(this.basePath,`${e}.json`),JSON.stringify(r,null,2),"utf-8"),!0):!1}readContextParams=gc.Object({taskId:gc.String({description:"Task ID from a previous multi-step operation"})});listTasksParams=gc.Object({});async readContextTool(e,r){let n=this.readTask(r.taskId);return n?{content:[{type:"text",text:JSON.stringify(n.data,null,2)}]}:{content:[{type:"text",text:`Task "${r.taskId}" not found.`}]}}async listTasksTool(){let e=this.listTasks();if(e.length===0)return{content:[{type:"text",text:"No saved tasks."}]};let r=e.map(n=>` ${n.taskId} \u2014 ${Object.keys(n.data).length} keys (${new Date(n.updatedAt).toLocaleString()})${n.keep?" \u{1F512}":""}`);return{content:[{type:"text",text:`Tasks (${e.length}):
187
185
  ${r.join(`
188
- `)}`}]}}},Si=new gl;import{existsSync as r1,readFileSync as n1,writeFileSync as o1}from"node:fs";import{resolve as s1}from"node:path";import{Type as Wt}from"@sinclair/typebox";var Al=s1(Xe.getHome(),"memory","goals.json"),yl=class{goals=[];constructor(){this.load()}load(){try{r1(Al)&&(this.goals=JSON.parse(n1(Al,"utf-8")))}catch{this.goals=[]}}save(){try{o1(Al,JSON.stringify(this.goals,null,2),"utf-8")}catch{}}addGoal(e){let r={id:`goal-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,text:e,status:"active",createdAt:Date.now(),notes:[]};return this.goals.push(r),this.save(),r}completeGoal(e){let r=this.goals.find(n=>n.id===e);return r?(r.status="completed",r.completedAt=Date.now(),this.save(),!0):!1}addNote(e,r){let n=this.goals.find(o=>o.id===e);return n?(n.notes.push(r),this.save(),!0):!1}listGoals(e){return!e||e==="all"?[...this.goals]:this.goals.filter(r=>r.status===e)}buildContextBlock(){let e=this.goals.filter(n=>n.status==="active");return e.length===0?"":`
186
+ `)}`}]}}},Si=new Ac;import{existsSync as d1,readFileSync as f1,writeFileSync as m1}from"node:fs";import{resolve as h1}from"node:path";import{Type as Wt}from"@sinclair/typebox";var yc=h1(Ze.getHome(),"memory","goals.json"),wc=class{goals=[];constructor(){this.load()}load(){try{d1(yc)&&(this.goals=JSON.parse(f1(yc,"utf-8")))}catch{this.goals=[]}}save(){try{m1(yc,JSON.stringify(this.goals,null,2),"utf-8")}catch{}}addGoal(e){let r={id:`goal-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,text:e,status:"active",createdAt:Date.now(),notes:[]};return this.goals.push(r),this.save(),r}completeGoal(e){let r=this.goals.find(n=>n.id===e);return r?(r.status="completed",r.completedAt=Date.now(),this.save(),!0):!1}addNote(e,r){let n=this.goals.find(o=>o.id===e);return n?(n.notes.push(r),this.save(),!0):!1}listGoals(e){return!e||e==="all"?[...this.goals]:this.goals.filter(r=>r.status===e)}buildContextBlock(){let e=this.goals.filter(n=>n.status==="active");return e.length===0?"":`
189
187
 
190
188
  [ACTIVE GOALS]
191
189
  ${e.map(n=>` [${n.id}] ${n.text.slice(0,200)}`).join(`
192
190
  `)}
193
191
  `}setGoalParams=Wt.Object({text:Wt.String({description:"Goal description"})});completeGoalParams=Wt.Object({id:Wt.String({description:"Goal ID to complete"})});listGoalsParams=Wt.Object({status:Wt.Optional(Wt.String({description:"Filter: active, completed, or all"}))});addGoalNoteParams=Wt.Object({id:Wt.String({description:"Goal ID"}),note:Wt.String({description:"Progress note"})});async setGoalTool(e,r){let n=this.addGoal(r.text);return{content:[{type:"text",text:`Goal created: "${n.text}" (${n.id})`}]}}async completeGoalTool(e,r){return{content:[{type:"text",text:this.completeGoal(r.id)?`Goal ${r.id} completed \u2705`:`Goal ${r.id} not found`}]}}async listGoalsTool(e,r){let n=r.status||"active",o=this.listGoals(n);if(o.length===0)return{content:[{type:"text",text:"No goals found."}]};let s=o.map(i=>` ${i.status==="completed"?"\u2705":"\u{1F3AF}"} ${i.id} \u2014 ${i.text.slice(0,120)}${i.notes.length>0?` (${i.notes.length} notes)`:""}`);return{content:[{type:"text",text:`Goals (${o.length}):
194
192
  ${s.join(`
195
- `)}`}]}}async addGoalNoteTool(e,r){return{content:[{type:"text",text:this.addNote(r.id,r.note)?`Note added to ${r.id}`:`Goal ${r.id} not found`}]}}},gt=new yl;import{existsSync as wl,readFileSync as bl,writeFileSync as i1,appendFileSync as a1,mkdirSync as c1,readdirSync as l1}from"node:fs";import{resolve as Ko}from"node:path";var El=class{basePath;available=!1;constructor(){this.basePath=Ko(Xe.getHome(),"memory");try{wl(this.basePath)||c1(this.basePath,{recursive:!0}),this.available=!0}catch{this.available=!1}}get isAvailable(){return this.available}lineCounts=new Map;save(e,r,n){if(!this.available)return;let o={id:`mem-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,sessionId:e,role:r,content:n.slice(0,500),ts:Date.now()};try{a1(Ko(this.basePath,`${e}.jsonl`),JSON.stringify(o)+`
196
- `,"utf-8");let s=(this.lineCounts.get(e)??0)+1;this.lineCounts.set(e,s),s>200&&(this.compactFile(e),this.lineCounts.set(e,0))}catch{}}compactFile(e){try{let r=Ko(this.basePath,`${e}.jsonl`);if(!wl(r))return;let o=bl(r,"utf-8").split(`
197
- `).filter(Boolean);if(o.length<=200)return;let s=o.slice(-100);i1(r,s.join(`
193
+ `)}`}]}}async addGoalNoteTool(e,r){return{content:[{type:"text",text:this.addNote(r.id,r.note)?`Note added to ${r.id}`:`Goal ${r.id} not found`}]}}},pt=new wc;import{existsSync as bc,readFileSync as Ec,writeFileSync as p1,appendFileSync as g1,mkdirSync as A1,readdirSync as y1}from"node:fs";import{resolve as Wo}from"node:path";var xc=class{basePath;available=!1;constructor(){this.basePath=Wo(Ze.getHome(),"memory");try{bc(this.basePath)||A1(this.basePath,{recursive:!0}),this.available=!0}catch{this.available=!1}}get isAvailable(){return this.available}lineCounts=new Map;save(e,r,n){if(!this.available)return;let o={id:`mem-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,sessionId:e,role:r,content:n.slice(0,500),ts:Date.now()};try{g1(Wo(this.basePath,`${e}.jsonl`),JSON.stringify(o)+`
194
+ `,"utf-8");let s=(this.lineCounts.get(e)??0)+1;this.lineCounts.set(e,s),s>200&&(this.compactFile(e),this.lineCounts.set(e,0))}catch{}}compactFile(e){try{let r=Wo(this.basePath,`${e}.jsonl`);if(!bc(r))return;let o=Ec(r,"utf-8").split(`
195
+ `).filter(Boolean);if(o.length<=200)return;let s=o.slice(-100);p1(r,s.join(`
198
196
  `)+`
199
- `,"utf-8")}catch{}}search(e,r=8){if(!this.available)return[];try{let n=[],o=l1(this.basePath).filter(l=>l.endsWith(".jsonl"));for(let l of o){let c=bl(Ko(this.basePath,l),"utf-8");for(let f of c.split(`
200
- `).filter(Boolean))try{n.push(JSON.parse(f))}catch{continue}}let s=e.toLowerCase().trim();return n.filter(l=>l.content&&l.content.toLowerCase().includes(s)).sort((l,c)=>c.ts-l.ts).slice(0,r)}catch{return[]}}buildContextBlock(e){if(!this.available)return"";try{let r=Ko(this.basePath,`${e}.jsonl`);if(!wl(r))return"";let n=bl(r,"utf-8").split(`
197
+ `,"utf-8")}catch{}}search(e,r=8){if(!this.available)return[];try{let n=[],o=y1(this.basePath).filter(l=>l.endsWith(".jsonl"));for(let l of o){let c=Ec(Wo(this.basePath,l),"utf-8");for(let f of c.split(`
198
+ `).filter(Boolean))try{n.push(JSON.parse(f))}catch{continue}}let s=e.toLowerCase().trim();return n.filter(l=>l.content&&l.content.toLowerCase().includes(s)).sort((l,c)=>c.ts-l.ts).slice(0,r)}catch{return[]}}buildContextBlock(e){if(!this.available)return"";try{let r=Wo(this.basePath,`${e}.jsonl`);if(!bc(r))return"";let n=Ec(r,"utf-8").split(`
201
199
  `).filter(Boolean);if(n.length<3)return"";let o=n.slice(-20).map(l=>{try{return JSON.parse(l)}catch{return null}}).filter(Boolean);return o.length<2?"":`
202
200
 
203
201
  [RECENT MEMORY]
204
202
  ${o.slice(-6).map(l=>`[${l.role}]: ${l.content.slice(0,150)}`).join(`
205
203
  `)}
206
- `}catch{return""}}},Wn=new El;import{existsSync as u1,readFileSync as d1,writeFileSync as f1}from"node:fs";import{resolve as m1}from"node:path";import{Type as Gt}from"@sinclair/typebox";var xl=m1(Xe.getHome(),"memory","schedule.json"),vl=class{tasks=[];interval=null;onTask;constructor(){this.load()}load(){try{u1(xl)&&(this.tasks=JSON.parse(d1(xl,"utf-8")))}catch{this.tasks=[]}}save(){try{f1(xl,JSON.stringify(this.tasks,null,2),"utf-8")}catch{}}addTask(e,r,n){let o={id:`task-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,name:e,prompt:r,cron:n?String(n):void 0,enabled:!0,createdAt:Date.now()};return this.tasks.push(o),this.save(),o}removeTask(e){let r=this.tasks.findIndex(n=>n.id===e);return r===-1?!1:(this.tasks.splice(r,1),this.save(),!0)}listTasks(){return[...this.tasks]}start(e){this.onTask=e,this.interval&&clearInterval(this.interval),this.interval=setInterval(()=>{let r=Date.now();for(let n of this.tasks){if(!n.enabled||!n.cron)continue;let o=parseInt(n.cron)*1e3;(!n.lastRun||r-n.lastRun>=o)&&(n.lastRun=r,this.save(),this.onTask?.(n))}},1e4)}stop(){this.interval&&(clearInterval(this.interval),this.interval=null)}addTaskParams=Gt.Object({name:Gt.String({description:"Task name"}),prompt:Gt.String({description:"Prompt to run when task fires"}),interval:Gt.Optional(Gt.Number({description:"Run every N seconds"}))});listTasksParams=Gt.Object({enabled_only:Gt.Optional(Gt.Boolean({default:!1}))});removeTaskParams=Gt.Object({id:Gt.String({description:"Task ID to remove"})});async addTaskTool(e,r){let n=this.addTask(r.name,r.prompt,r.interval);return{content:[{type:"text",text:`Task "${n.name}" created (${n.id})`}]}}async listTasksTool(e,r){let o=r.enabled_only||!1?this.tasks.filter(i=>i.enabled):this.tasks;if(o.length===0)return{content:[{type:"text",text:"No scheduled tasks."}]};let s=o.map(i=>` ${i.enabled?"\u{1F7E2}":"\u23F8\uFE0F"} ${i.id} \u2014 ${i.name}${i.cron?` (every ${i.cron}s)`:""}`);return{content:[{type:"text",text:`Scheduled Tasks (${o.length}):
204
+ `}catch{return""}}},Wn=new xc;import{existsSync as w1,readFileSync as b1,writeFileSync as E1}from"node:fs";import{resolve as x1}from"node:path";import{Type as Gt}from"@sinclair/typebox";var vc=x1(Ze.getHome(),"memory","schedule.json"),Cc=class{tasks=[];interval=null;onTask;constructor(){this.load()}load(){try{w1(vc)&&(this.tasks=JSON.parse(b1(vc,"utf-8")))}catch{this.tasks=[]}}save(){try{E1(vc,JSON.stringify(this.tasks,null,2),"utf-8")}catch{}}addTask(e,r,n){let o={id:`task-${Date.now()}-${Math.random().toString(36).slice(2,5)}`,name:e,prompt:r,cron:n?String(n):void 0,enabled:!0,createdAt:Date.now()};return this.tasks.push(o),this.save(),o}removeTask(e){let r=this.tasks.findIndex(n=>n.id===e);return r===-1?!1:(this.tasks.splice(r,1),this.save(),!0)}listTasks(){return[...this.tasks]}start(e){this.onTask=e,this.interval&&clearInterval(this.interval),this.interval=setInterval(()=>{let r=Date.now();for(let n of this.tasks){if(!n.enabled||!n.cron)continue;let o=parseInt(n.cron)*1e3;(!n.lastRun||r-n.lastRun>=o)&&(n.lastRun=r,this.save(),this.onTask?.(n))}},1e4)}stop(){this.interval&&(clearInterval(this.interval),this.interval=null)}addTaskParams=Gt.Object({name:Gt.String({description:"Task name"}),prompt:Gt.String({description:"Prompt to run when task fires"}),interval:Gt.Optional(Gt.Number({description:"Run every N seconds"}))});listTasksParams=Gt.Object({enabled_only:Gt.Optional(Gt.Boolean({default:!1}))});removeTaskParams=Gt.Object({id:Gt.String({description:"Task ID to remove"})});async addTaskTool(e,r){let n=this.addTask(r.name,r.prompt,r.interval);return{content:[{type:"text",text:`Task "${n.name}" created (${n.id})`}]}}async listTasksTool(e,r){let o=r.enabled_only||!1?this.tasks.filter(i=>i.enabled):this.tasks;if(o.length===0)return{content:[{type:"text",text:"No scheduled tasks."}]};let s=o.map(i=>` ${i.enabled?"\u{1F7E2}":"\u23F8\uFE0F"} ${i.id} \u2014 ${i.name}${i.cron?` (every ${i.cron}s)`:""}`);return{content:[{type:"text",text:`Scheduled Tasks (${o.length}):
207
205
  ${s.join(`
208
- `)}`}]}}async removeTaskTool(e,r){return{content:[{type:"text",text:this.removeTask(r.id)?`Task ${r.id} removed`:`Task ${r.id} not found`}]}}},qt=new vl;Ke();import{existsSync as Rp,readFileSync as Tp,mkdirSync as y1,readdirSync as w1,unlinkSync as b1}from"node:fs";import{resolve as Wo}from"node:path";import{homedir as E1}from"node:os";import{createHash as Ip}from"node:crypto";import{writeFileSync as h1,renameSync as p1,existsSync as g1,unlinkSync as A1}from"node:fs";function _p(t,e){let r=`${t}.tmp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;try{h1(r,e,"utf-8"),p1(r,t)}catch(n){try{g1(r)&&A1(r)}catch{}throw n}}var Bp=1,sn=Wo(E1(),".aiaiai","sessions");function Cl(){Rp(sn)||y1(sn,{recursive:!0})}function x1(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,6)}`}var kl=class{currentId;autoSaveInterval=null;constructor(){Cl(),this.currentId=x1()}startAutoSave(e){this.stopAutoSave(),this.autoSaveInterval=setInterval(()=>{let r=e();r.length>0&&this.save(r,"current")},3e4)}stopAutoSave(){this.autoSaveInterval&&(clearInterval(this.autoSaveInterval),this.autoSaveInterval=null)}save(e,r){Cl();let n=this.currentId,o=this.load(n),s={version:Bp,id:n,title:r||o?.title||this.generateTitle(e),createdAt:o?.createdAt||Date.now(),updatedAt:Date.now(),messages:e,model:process.env.DEFAULT_MODEL||"unknown",chain:"solana"},i=JSON.stringify(s),l=Ip("sha256").update(i).digest("hex"),c=JSON.stringify({...s,_checksum:l});try{_p(Wo(sn,`${n}.json`),c)}catch{}return n}load(e){try{let r=Wo(sn,`${e}.json`);if(!Rp(r))return null;let n=Tp(r,"utf-8"),o=JSON.parse(n);if((!o.version||o.version<Bp)&&(o=this.migrateSchema(o)),o._checksum){let s=o._checksum;delete o._checksum;let i=Ip("sha256").update(JSON.stringify(o)).digest("hex");s!==i&&(X.warn("SessionStore","Session checksum mismatch \u2014 file may be corrupted",{id:e}),o._corrupted=!0)}return o}catch(r){return X.debug("SessionStore","Failed to load session",{error:r.message}),null}}list(){Cl();try{let e=w1(sn).filter(n=>n.endsWith(".json")),r=[];for(let n of e)try{let o=JSON.parse(Tp(Wo(sn,n),"utf-8"));r.push({id:o.id,title:o.title,createdAt:o.createdAt,updatedAt:o.updatedAt,messageCount:o.messages.length,model:o.model})}catch(o){X.debug("SessionStore","Skipped bad session file",{error:o.message})}return r.sort((n,o)=>o.updatedAt-n.updatedAt)}catch(e){return X.warn("SessionStore","Failed to list sessions",{error:e.message}),[]}}delete(e){try{return b1(Wo(sn,`${e}.json`)),!0}catch{return!1}}setCurrentId(e){this.currentId=e}getCurrentId(){return this.currentId}migrateSchema(e){return e.version||(e.version=1,e.chain||(e.chain="solana"),e.model||(e.model="unknown")),e}generateTitle(e){let r=e.find(o=>o.role==="user");if(!r)return"New Session";let n=r.content.trim();return n.length>40?n.slice(0,37)+"\u2026":n}},Ye=new kl;qo();Ii();import{existsSync as Np,readFileSync as _1,writeFileSync as T1,mkdirSync as I1,chmodSync as B1}from"node:fs";import{resolve as R1,join as P1}from"node:path";import{homedir as O1}from"node:os";import{execFileSync as $1,execSync as L1}from"node:child_process";import{Type as Me}from"@sinclair/typebox";var Bl=R1(O1(),".config","gmgn"),Bi=P1(Bl,".env");function Q1(){Np(Bl)||I1(Bl,{recursive:!0})}function Pl(){let t={};if(Np(Bi)){let e=_1(Bi,"utf-8");for(let r of e.split(`
209
- `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let s=n.slice(0,o).trim(),i=n.slice(o+1).trim();s&&(t[s]=i)}}for(let e of Object.keys(process.env)){let r=process.env[e];r&&(t[e]=r)}return t}function D1(t,e){Q1();let r=Pl();r[t]=e;let n=Object.entries(r).map(([o,s])=>`${o}=${s}`);T1(Bi,n.join(`
206
+ `)}`}]}}async removeTaskTool(e,r){return{content:[{type:"text",text:this.removeTask(r.id)?`Task ${r.id} removed`:`Task ${r.id} not found`}]}}},qt=new Cc;Ye();import{existsSync as Lp,readFileSync as Pp,mkdirSync as _1,readdirSync as T1,unlinkSync as I1}from"node:fs";import{resolve as Go}from"node:path";import{homedir as B1}from"node:os";import{createHash as $p}from"node:crypto";import{writeFileSync as v1,renameSync as C1,existsSync as k1,unlinkSync as S1}from"node:fs";function Rp(t,e){let r=`${t}.tmp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;try{v1(r,e,"utf-8"),C1(r,t)}catch(n){try{k1(r)&&S1(r)}catch{}throw n}}var Op=1,sn=Go(B1(),".aiaiai","sessions");function kc(){Lp(sn)||_1(sn,{recursive:!0})}function R1(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,6)}`}var Sc=class{currentId;autoSaveInterval=null;constructor(){kc(),this.currentId=R1()}startAutoSave(e){this.stopAutoSave(),this.autoSaveInterval=setInterval(()=>{let r=e();r.length>0&&this.save(r,"current")},3e4)}stopAutoSave(){this.autoSaveInterval&&(clearInterval(this.autoSaveInterval),this.autoSaveInterval=null)}save(e,r){kc();let n=this.currentId,o=this.load(n),s={version:Op,id:n,title:r||o?.title||this.generateTitle(e),createdAt:o?.createdAt||Date.now(),updatedAt:Date.now(),messages:e,model:process.env.DEFAULT_MODEL||"unknown",chain:"solana"},i=JSON.stringify(s),l=$p("sha256").update(i).digest("hex"),c=JSON.stringify({...s,_checksum:l});try{Rp(Go(sn,`${n}.json`),c)}catch{}return n}load(e){try{let r=Go(sn,`${e}.json`);if(!Lp(r))return null;let n=Pp(r,"utf-8"),o=JSON.parse(n);if((!o.version||o.version<Op)&&(o=this.migrateSchema(o)),o._checksum){let s=o._checksum;delete o._checksum;let i=$p("sha256").update(JSON.stringify(o)).digest("hex");s!==i&&(Z.warn("SessionStore","Session checksum mismatch \u2014 file may be corrupted",{id:e}),o._corrupted=!0)}return o}catch(r){return Z.debug("SessionStore","Failed to load session",{error:r.message}),null}}list(){kc();try{let e=T1(sn).filter(n=>n.endsWith(".json")),r=[];for(let n of e)try{let o=JSON.parse(Pp(Go(sn,n),"utf-8"));r.push({id:o.id,title:o.title,createdAt:o.createdAt,updatedAt:o.updatedAt,messageCount:o.messages.length,model:o.model})}catch(o){Z.debug("SessionStore","Skipped bad session file",{error:o.message})}return r.sort((n,o)=>o.updatedAt-n.updatedAt)}catch(e){return Z.warn("SessionStore","Failed to list sessions",{error:e.message}),[]}}delete(e){try{return I1(Go(sn,`${e}.json`)),!0}catch{return!1}}setCurrentId(e){this.currentId=e}getCurrentId(){return this.currentId}migrateSchema(e){return e.version||(e.version=1,e.chain||(e.chain="solana"),e.model||(e.model="unknown")),e}generateTitle(e){let r=e.find(o=>o.role==="user");if(!r)return"New Session";let n=r.content.trim();return n.length>40?n.slice(0,37)+"\u2026":n}},Ve=new Sc;Jo();Ii();import{existsSync as jp,readFileSync as Q1,writeFileSync as D1,mkdirSync as N1,chmodSync as M1}from"node:fs";import{resolve as F1,join as U1}from"node:path";import{homedir as j1}from"node:os";import{execFileSync as K1,execSync as W1}from"node:child_process";import{Type as Me}from"@sinclair/typebox";var Rc=F1(j1(),".config","gmgn"),Bi=U1(Rc,".env");function G1(){jp(Rc)||N1(Rc,{recursive:!0})}function $c(){let t={};if(jp(Bi)){let e=Q1(Bi,"utf-8");for(let r of e.split(`
207
+ `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let s=n.slice(0,o).trim(),i=n.slice(o+1).trim();s&&(t[s]=i)}}for(let e of Object.keys(process.env)){let r=process.env[e];r&&(t[e]=r)}return t}function q1(t,e){G1();let r=$c();r[t]=e;let n=Object.entries(r).map(([o,s])=>`${o}=${s}`);D1(Bi,n.join(`
210
208
  `)+`
211
- `,"utf-8");try{B1(Bi,384)}catch{}process.env[t]=e}function Rl(){return Pl().GMGN_API_KEY}function Ri(){let t=Rl();return!!t&&t.trim()!==""}function Mp(t){D1("GMGN_API_KEY",t)}function N1(){return{...process.env,...Pl()}}function Ol(){try{return L1("which gmgn-cli",{stdio:"ignore"}),!0}catch{return!1}}var M1=[{name:"token info",desc:"Token price, market cap, liquidity, holders, socials",usage:"gmgn token info --chain <sol|bsc|base|eth> --address <address>"},{name:"token security",desc:"Honeypot, taxes, rug ratio, contract risks",usage:"gmgn token security --chain <chain> --address <address>"},{name:"token pool",desc:"Liquidity pool reserves, DEX, depth",usage:"gmgn token pool --chain <chain> --address <address>"},{name:"token holders",desc:"Top holders with P&L breakdown",usage:"gmgn token holders --chain <chain> --address <address>"},{name:"token traders",desc:"Top traders with P&L breakdown",usage:"gmgn token traders --chain <chain> --address <address>"},{name:"track follow-tokens",desc:"Tokens a wallet follows on GMGN",usage:"gmgn track follow-tokens --chain <chain> --wallet <address>"},{name:"track follow-wallet",desc:"Trades from wallets you follow",usage:"gmgn track follow-wallet --chain <chain>"},{name:"track kol",desc:"KOL/influencer trade activity",usage:"gmgn track kol --chain <chain>"},{name:"track smartmoney",desc:"Smart money/whale trade activity",usage:"gmgn track smartmoney --chain <chain>"},{name:"market kline",desc:"Token candlestick / OHLCV chart data",usage:"gmgn market kline --chain <chain> --address <address> --resolution <1m|5m|15m|1h|4h|1d>"},{name:"market trending",desc:"Trending tokens ranked by swaps",usage:"gmgn market trending --chain <chain> --interval <1m|5m|1h|6h|24h>"},{name:"market trenches",desc:"Newly launched tokens (new/near/completed)",usage:"gmgn market trenches --chain <chain> --type <new_creation|near_completion|completed>"},{name:"market signal",desc:"Real-time token signals (sol/bsc only)",usage:"gmgn market signal --chain <sol|bsc>"}],Pi=()=>{let t=[{title:"\u2500\u2500 Token Research \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("token")},{title:"\u2500\u2500 Smart Money Tracking \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("track")},{title:"\u2500\u2500 Market Data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("market")}],e=["\u{1F50D} GMGN \u2014 Token Research, Tracking & Market Data","","Usage: gmgn <sub-command> [options]",""];for(let r of t){e.push(r.title);for(let n of M1.filter(o=>r.filter(o.name)))e.push(` ${n.name.padEnd(20)} ${n.desc}`),e.push(` ${n.usage}`);e.push("")}return e.push("\u2500\u2500 Setup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"),e.push(" gmgn setup Configure GMGN_API_KEY"),e.push(" gmgn status Check API key + CLI status"),e.push(""),Ol()||e.push(" \u26A0\uFE0F gmgn-cli not installed. Run: npm install -g gmgn-cli"),Ri()||e.push(" \u26A0\uFE0F GMGN_API_KEY not set. Run: gmgn setup"),e.join(`
212
- `)},Oi=()=>["\u{1F50D} GMGN Status","",`CLI installed: ${Ol()?"\u2705 yes":"\u274C no (npm install -g gmgn-cli)"}`,`API key configured: ${Ri()?"\u2705 yes":"\u274C no (gmgn setup)"}`,Ri()?`Key: ${Rl().slice(0,6)}\u2022\u2022\u2022\u2022${Rl().slice(-4)}`:""].filter(Boolean).join(`
213
- `),Fp=Me.Object({subcommand:Me.String({description:"GMGN sub-command: token info, token security, token holders, token traders, track kol, track smartmoney, track follow-wallet, track follow-tokens, market kline, market trending, market trenches, market signal"}),chain:Me.Optional(Me.String({description:"Chain: sol, bsc, base, eth"})),address:Me.Optional(Me.String({description:"Token contract address"})),wallet:Me.Optional(Me.String({description:"Wallet address for track commands"})),limit:Me.Optional(Me.Number({description:"Number of results"})),resolution:Me.Optional(Me.String({description:"Kline resolution: 1m, 5m, 15m, 1h, 4h, 1d"})),interval:Me.Optional(Me.String({description:"Trending interval: 1m, 5m, 1h, 6h, 24h"})),type:Me.Optional(Me.String({description:"Trenches type: new_creation, near_completion, completed"}))});async function Rt(t,e){if(!Ol())return{content:[{type:"text",text:"gmgn-cli is not installed. Run: npm install -g gmgn-cli"}],isError:!0};if(!Ri())return{content:[{type:"text",text:"GMGN_API_KEY is not configured. Run 'gmgn setup' or tell the agent to configure it."}],isError:!0};let r=e.subcommand,n=e.chain||"sol",o=e.address,s=e.wallet,i=e.limit,l=e.resolution,c=e.interval,f=e.type,u=["gmgn-cli",r];if(["token info","token security","token pool","token holders","token traders"].includes(r)){if(!o)return{content:[{type:"text",text:`--address is required for '${r}'`}],isError:!0};u.push("--chain",n,"--address",o),i&&(r==="token holders"||r==="token traders")&&u.push("--limit",String(i))}else if(r==="market kline"){if(!o)return{content:[{type:"text",text:`--address is required for '${r}'`}],isError:!0};if(!l)return{content:[{type:"text",text:`--resolution is required for '${r}'`}],isError:!0};u.push("--chain",n,"--address",o,"--resolution",l)}else if(r==="market trending")u.push("--chain",n),c&&u.push("--interval",c),i&&u.push("--limit",String(i));else if(r==="market trenches")u.push("--chain",n),f&&u.push("--type",f),i&&u.push("--limit",String(i));else if(r==="market signal")u.push("--chain",n),i&&u.push("--limit",String(i));else if(r==="track follow-tokens"||r==="track follow-token-groups"){if(!s)return{content:[{type:"text",text:`--wallet is required for '${r}'`}],isError:!0};u.push("--chain",n,"--wallet",s)}else r==="track follow-wallet"?(u.push("--chain",n),s&&u.push("--wallet",s)):(r==="track kol"||r==="track smartmoney")&&(u.push("--chain",n),i&&u.push("--limit",String(i)));try{return{content:[{type:"text",text:$1(u[0],u.slice(1),{env:N1(),encoding:"utf-8",timeout:3e4,stdio:["pipe","pipe","pipe"]}).trim()}]}}catch(a){let h=a.stderr?.toString()||a.message||"";return h.includes("401")||h.includes("403")?{content:[{type:"text",text:"GMGN API key invalid or IPv6 issue. Run 'gmgn status'."}],isError:!0}:h.includes("429")?{content:[{type:"text",text:"GMGN rate limit exceeded. Wait and retry."}],isError:!0}:{content:[{type:"text",text:`gmgn-cli error: ${h.slice(0,500)}`}],isError:!0}}}var Up=Me.Object({query:Me.String({description:"What to look up: trending, trenches, kline <address>, holders <address>, traders <address>, signal"}),chain:Me.Optional(Me.String({default:"sol"}))});async function $l(t,e){let r=(e.query||"").toLowerCase().trim(),n=e.chain||"sol";if(r==="trending"||r==="hot"||r==="pumping")return Rt("",{subcommand:"market trending",chain:n,interval:"1h",limit:10});if(r==="trenches"||r==="new tokens"||r==="launches")return Rt("",{subcommand:"market trenches",chain:n,type:"new_creation",limit:10});if(r==="signal"||r==="signals"||r==="alerts")return Rt("",{subcommand:"market signal",chain:"sol",limit:10});if(r.startsWith("kline ")||r.startsWith("chart ")){let o=r.split(" ").pop();return o?Rt("",{subcommand:"market kline",chain:n,address:o,resolution:"1h"}):{content:[{type:"text",text:"Usage: gmgn market kline <address>"}],isError:!0}}if(r.startsWith("holders ")||r.startsWith("traders ")){let o=r.split(" "),s=o[0]==="holders"?"token holders":"token traders",i=o[1];return i?Rt("",{subcommand:s,chain:n,address:i,limit:10}):{content:[{type:"text",text:`Usage: gmgn ${s} <address>`}],isError:!0}}return r.length>20?Rt("",{subcommand:"token info",chain:n,address:r}):{content:[{type:"text",text:"Usage: gmgn market <trending|trenches|signal|kline <addr>|holders <addr>|traders <addr>>"}],isError:!0}}Ke();import{totalmem as $i,freemem as jp,uptime as F1}from"node:os";var Ll=process.cpuUsage(),Ql=class{apiCallCount=0;prevCpuTimes={idle:0,total:0};trackApiCall(){this.apiCallCount++}getStats(e=0){return{cpuPercent:this.getCpuPercent(),ramPercent:this.getRamPercent(),ramUsed:this.formatBytes($i()-jp()),ramTotal:this.formatBytes($i()),uptime:this.formatUptime(F1()),...this.getNetStats(),apiCallsPerMin:this.apiCallCount,tokensUsed:e}}getCpuPercent(){try{let e=process.cpuUsage(),r=e.user-Ll.user,n=e.system-Ll.system;Ll=e;let o=r+n;return Math.min(100,Math.round(o/1e7*100))}catch(e){return X.debug("SystemMonitor","CPU measurement failed",{error:e.message}),0}}getRamPercent(){let e=$i()-jp();return Math.round(e/$i()*100)}getNetStats(){return{netUp:"N/A",netDown:"N/A"}}formatBytes(e){if(e===0)return"0 B";let r=1024,n=["B","KB","MB","GB"],o=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,o)).toFixed(1))+" "+n[o]}formatUptime(e){let r=Math.floor(e/3600),n=Math.floor(e%3600/60);return r>0?`${r}h ${n}m`:`${n}m`}resetApiCounter(){let e=this.apiCallCount;return this.apiCallCount=0,e}},Li=new Ql;pt();Go();Ro();async function Dl(){let t=[],e=Date.now();try{let i=await _r("getSlot",[]);t.push({service:"Solana RPC",status:"ok",latency:Date.now()-e,message:`slot ${i}`})}catch(i){t.push({service:"Solana RPC",status:"down",latency:Date.now()-e,message:i.message.slice(0,100)})}let r=Date.now();try{let l=await(await me("https://api.dexscreener.com/tokens/v1/solana/AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",{timeout:5e3,retries:0})).json();t.push({service:"DexScreener",status:l.length>0?"ok":"degraded",latency:Date.now()-r,message:l.length>0?"responding":"empty response"})}catch(i){t.push({service:"DexScreener",status:"down",latency:Date.now()-r,message:i.message.slice(0,100)})}let n=process.env.OPENROUTER_API_KEY;if(n){let i=Date.now();try{let l=await me("https://openrouter.ai/api/v1/models",{timeout:5e3,retries:0,headers:{Authorization:`Bearer ${n}`}});t.push({service:"OpenRouter",status:l.ok?"ok":"degraded",latency:Date.now()-i,message:l.ok?"authenticated":`HTTP ${l.status}`})}catch(l){t.push({service:"OpenRouter",status:"down",latency:Date.now()-i,message:l.message.slice(0,100)})}}else t.push({service:"OpenRouter",status:"degraded",latency:0,message:"no API key configured"});let o=t.filter(i=>i.status==="down").length;return{overall:o===0?"healthy":o>=2?"down":"degraded",timestamp:Date.now(),services:t,circuitBreaker:Po(),errorSummary:vr.getSummary()}}function Kp(t){let e=o=>o==="ok"?"\u{1F7E2}":o==="degraded"?"\u{1F7E1}":"\u{1F534}",r=[`\u{1F3E5} Health Check \u2014 ${t.overall.toUpperCase()}`,` ${new Date(t.timestamp).toLocaleTimeString()}`,"",...t.services.map(o=>` ${e(o.status)} ${o.service.padEnd(16)} ${String(o.latency).padStart(5)}ms ${o.message??""}`)];if(t.circuitBreaker.length>0){r.push(""," Circuit Breakers:");for(let o of t.circuitBreaker)r.push(` ${o.key}: ${o.state} (${o.failures} failures)`)}let n=Object.entries(t.errorSummary);if(n.length>0){r.push(""," Error Summary:");for(let[o,s]of n)r.push(` ${o}: ${s}`)}return r.join(`
214
- `)}Qc();var Nl=class{entries=[];maxEntries=1e4;cacheHits=0;cacheMisses=0;record(e,r,n){this.entries.push({timestamp:Date.now(),latency:e,success:r,cacheHit:n}),n?this.cacheHits++:this.cacheMisses++;let o=Date.now()-3e5;this.entries=this.entries.filter(s=>s.timestamp>o),this.entries.length>this.maxEntries&&(this.entries=this.entries.slice(-this.maxEntries))}getRequestsPerSec(){let e=this.getRecent(6e4);if(e.length<2)return 0;let r=(e[e.length-1].timestamp-e[0].timestamp)/1e3;return r>0?e.length/r:0}getErrorsPerSec(){let e=this.getRecent(6e4).filter(o=>!o.success);if(e.length<1)return 0;let r=this.getRecent(6e4);if(r.length<2)return 0;let n=(r[r.length-1].timestamp-r[0].timestamp)/1e3;return n>0?e.length/n:0}getLatencyPercentile(e){let r=this.getRecent(6e4);if(r.length===0)return 0;let n=[...r].sort((s,i)=>s.latency-i.latency),o=Math.floor(e/100*n.length);return n[Math.min(o,n.length-1)].latency}getCacheHitRate(){let e=this.cacheHits+this.cacheMisses;return e>0?this.cacheHits/e:0}getStats(){return{requestsPerSec:this.getRequestsPerSec(),errorsPerSec:this.getErrorsPerSec(),latencyP50:this.getLatencyPercentile(50),latencyP95:this.getLatencyPercentile(95),latencyP99:this.getLatencyPercentile(99),cacheHitRate:this.getCacheHitRate(),totalRequests:this.entries.length}}getRecent(e){let r=Date.now()-e;return this.entries.filter(n=>n.timestamp>r)}},Wp=new Nl;pt();Ro();function qp(){let t=Wp.getStats(),e=Po(),r=vr.getSummary(),n=process.memoryUsage(),o=Math.floor(process.uptime());return["\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510","\u2502 AIAIAI Agent \u2014 Live Dashboard \u2502","\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524",`\u2502 Uptime: ${U1(o).padEnd(12)} RSS: ${Gp(n.rss).padEnd(12)} Heap: ${Gp(n.heapUsed).padEnd(10)} \u2502`,"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 METRICS \u2502",`\u2502 Requests/sec: ${t.requestsPerSec.toFixed(1).padEnd(8)} Errors/sec: ${t.errorsPerSec.toFixed(2).padEnd(8)} \u2502`,`\u2502 Latency p50: ${t.latencyP50.toFixed(0).padEnd(8)}ms p95: ${t.latencyP95.toFixed(0).padEnd(8)}ms \u2502`,`\u2502 Latency p99: ${t.latencyP99.toFixed(0).padEnd(8)}ms Cache hit: ${(t.cacheHitRate*100).toFixed(0).padEnd(7)}% \u2502`,"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 CIRCUIT BREAKERS \u2502",...e.slice(0,4).map(i=>`\u2502 ${i.state==="closed"?"\u{1F7E2}":i.state==="half-open"?"\u{1F7E1}":"\u{1F534}"} ${i.key.padEnd(30)} ${i.state.padEnd(10)} ${i.failures} fails \u2502`),e.length===0?"\u2502 All circuits closed (healthy) \u2502":"","\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 ERRORS \u2502",...Object.entries(r).slice(0,3).map(([i,l])=>`\u2502 ${i.padEnd(20)} ${String(l).padEnd(5)} occurrences \u2502`),Object.keys(r).length===0?"\u2502 No errors recorded \u2502":"","\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"].filter(Boolean).join(`
215
- `)}function U1(t){return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:`${Math.floor(t/3600)}h ${Math.floor(t%3600/60)}m`}function Gp(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(0)}KB`:`${(t/(1024*1024)).toFixed(1)}MB`}var Ml=null;function j1(){return Ml?{...Ml,durationSec:Math.floor((Date.now()-Ml.startTime)/1e3)}:null}function Jp(){let t=j1();if(!t)return"No active session.";let e=Math.floor(t.durationSec/60),r=t.durationSec%60;return["\u{1F4CA} Session Analytics",` Duration: ${e}m ${r}s`,` Messages: ${t.messagesSent}`,` Tools called: ${t.toolsCalled}`,` Tokens used: ${t.tokensUsed.toLocaleString()}`,` Errors: ${t.errors}`,` Session ID: ${t.sessionId}`].join(`
216
- `)}import{Box as K1,Text as Fl}from"ink";import{jsx as G1,jsxs as Ul}from"react/jsx-runtime";var W1="\u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588";function Yp({data:t,width:e=30,label:r,color:n}){if(!t||t.length<2)return null;let o=Math.min(...t),s=Math.max(...t),i=s-o||1,l=[],c=t.length/e;for(let p=0;p<e;p++){let A=Math.floor(p*c);l.push(t[A])}let f=l.map(p=>{let A=(p-o)/i,C=Math.min(7,Math.floor(A*8));return W1[Math.max(0,C)]}).join(""),u=t[t.length-1]>(t[0]??t[t.length-1])?"\u25B2":"\u25BC",a=o<1?o.toFixed(6):o<100?o.toFixed(2):o.toLocaleString(),h=s<1?s.toFixed(6):s<100?s.toFixed(2):s.toLocaleString();return Ul(K1,{flexDirection:"column",children:[r&&Ul(Fl,{dimColor:!0,children:[r," ",u]}),G1(Fl,{color:n,children:f}),Ul(Fl,{dimColor:!0,children:["$",a," \u2013 $",h]})]})}var Qi=class t{prices=[];maxLength;static ABSOLUTE_MAX=1e3;constructor(e=50){this.maxLength=Math.min(e,t.ABSOLUTE_MAX)}push(e){this.prices.push(e),this.prices.length>this.maxLength&&(this.prices=this.prices.slice(-this.maxLength))}getData(){return[...this.prices]}get length(){return this.prices.length}};pt();Ke();import{Type as Jo}from"@sinclair/typebox";var FT=Jo.Object({chain:Jo.Optional(Jo.String({description:"Chain: solana, ethereum, bsc, base",default:"solana"})),limit:Jo.Optional(Jo.Number({description:"Max entries",default:10}))}),qn=[],Hp=0,q1=3e5;async function zp(t,e){let r=e.chain||"solana",n=e.limit||10;if(Date.now()-Hp<q1&&qn.length>0){let o=qn.filter(s=>s.chain===r).slice(0,n);return Vp(o,r)}try{let o=`https://api.dexscreener.com/latest/dex/tokens/${r}`,s=await me(o,{timeout:1e4,retries:1});if(!s.ok)return{content:[{type:"text",text:`Token launch calendar unavailable for ${r}.`}]};qn=((await s.json())?.pairs??[]).map(f=>{let u=f.pairCreatedAt?new Date(f.pairCreatedAt):null,a=Date.now(),h=u?a-u.getTime():1/0,p=u?h<36e5?`${Math.floor(h/6e4)}m ago`:h<864e5?`${Math.floor(h/36e5)}h ago`:`${Math.floor(h/864e5)}d ago`:"unknown";return{address:f.baseToken?.address??"",symbol:f.baseToken?.symbol??"???",name:f.baseToken?.name??"Unknown",priceUsd:f.priceUsd??null,volume24h:f.volume?.h24??0,liquidityUsd:f.liquidity?.usd??0,age:p,chain:r}}),Hp=Date.now();let c=qn.slice(0,n);return Vp(c,r)}catch(o){return X.warn("TokenCalendar","Failed to fetch launches",{chain:r,error:o.message}),{content:[{type:"text",text:"Token launch calendar: Data temporarily unavailable."}]}}}function Vp(t,e){if(t.length===0)return{content:[{type:"text",text:`No recent launches found on ${e}.`}]};let r=[`\u{1F680} Recent Token Launches \u2014 ${e.toUpperCase()}`,""];for(let n of t.slice(0,10)){let o=n.priceUsd?`$${parseFloat(n.priceUsd).toFixed(8)}`:"N/A",s=n.volume24h>0?`$${(n.volume24h/1e3).toFixed(1)}k`:"no vol",i=n.liquidityUsd>0?`$${(n.liquidityUsd/1e3).toFixed(1)}k`:"no liq";r.push(` ${n.symbol.padEnd(10)} ${o.padEnd(16)} ${s.padEnd(10)} ${n.age.padEnd(10)} ${n.address.slice(0,6)}\u2026`)}return{content:[{type:"text",text:r.join(`
217
- `)}],details:{launches:t}}}function Xp(){return qn.length===0?"Loading\u2026":qn.slice(0,3).map(e=>e.symbol).join(" \xB7 ")}pt();Go();Ke();import{Type as Zp}from"@sinclair/typebox";var qT=Zp.Object({transaction:Zp.String({description:"Base64-encoded transaction to simulate"})});async function eg(t,e){let r=e.transaction||"";if(!r||r.length<10)return{content:[{type:"text",text:"Invalid transaction: must be base64-encoded Solana transaction."}],isError:!0};try{let n=JSON.stringify({jsonrpc:"2.0",id:1,method:"simulateTransaction",params:[r,{sigVerify:!1,commitment:"processed",encoding:"base64"}]}),s=await(await me(Lp(),{timeout:15e3,retries:1,method:"POST",headers:{"Content-Type":"application/json"},body:n})).json(),l=s?.result?.value??s?.result;if(!l){let A=s?.error?.message??"Unknown simulation error";return{content:[{type:"text",text:`\u274C Simulation failed: ${A}`}],isError:!0,details:{ok:!1,error:A,logs:[],unitsConsumed:0,fee:0}}}let c=!l.err,f=l.unitsConsumed??0,u=l.logs??[],a=(l.fee??0)/1e9*5e-6,h=l.err?JSON.stringify(l.err):void 0,p=[c?"\u2705 Transaction simulation: SUCCESS":"\u274C Transaction simulation: FAILED","",`Units: ${f.toLocaleString()}`,`Est. Fee: ${a.toFixed(6)} SOL`,""];return u.length>0&&(p.push("Logs:"),u.slice(-8).forEach(A=>p.push(` ${A}`))),h&&p.push(`Error: ${h}`),{content:[{type:"text",text:p.join(`
218
- `)}],details:{ok:c,error:h,logs:u,unitsConsumed:f,fee:a}}}catch(n){return X.warn("TransactionSim","Simulation failed",{error:n.message}),{content:[{type:"text",text:"\u26A0\uFE0F Transaction simulation unavailable (RPC may be rate-limited)."}],isError:!0}}}ql();Yl();var H1=["help","exit","quit","clear","price","news","models","cost","model","wallet","deposit","burn","actions","activity","fees","keys","providers","goals","goal add","goal done","schedule","sessions","resume","memory","update","gmgn","token info","token security","token holders","token traders","track kol","track smartmoney","track follow-wallet","market kline","market trending","market trenches","market signal","watch","unwatch","watchlist","alerts","alert","compare","portfolio","diff","explain","copy","theme","status"];function V1(t,e){let r=t.length,n=e.length,o=[];for(let s=0;s<=r;s++)o[s]=[s];for(let s=0;s<=n;s++)o[0][s]=s;for(let s=1;s<=r;s++)for(let i=1;i<=n;i++)o[s][i]=Math.min(o[s-1][i]+1,o[s][i-1]+1,o[s-1][i-1]+(t[s-1]===e[i-1]?0:1));return o[r][n]}function ig(t,e=3){let r=t.toLowerCase().replace(/^\/+/,"");if(!r||r.length<1)return[];let n=H1.map(o=>({cmd:o,dist:V1(r,o)}));return n.sort((o,s)=>o.dist-s.dist),n.slice(0,e).filter(o=>o.dist<=4).map(o=>o.cmd)}zl();au();import{Fragment as Qv,jsx as Re,jsxs as Ce}from"react/jsx-runtime";var uu=null;async function Vo(){if(uu)return uu;let t=await Promise.resolve().then(()=>(vg(),xg));return uu=t,t}var Fi=null;async function ar(){return Fi||(Fi=await Promise.resolve().then(()=>(au(),yg)),Fi)}function Pv(t){if(!t)return{pct:0,bar:"\u2591".repeat(20),color:N.dim};let e=t.getContextPressure(),r=Math.round(e.pct/5),n=e.level==="critical"?N.error:e.level==="red"?N.warn:e.level==="yellow"?N.header:N.success;return{pct:e.pct,bar:"\u2588".repeat(Math.min(r,20))+"\u2591".repeat(Math.max(0,20-r)),color:n}}function ji(t,e=0){let r=" ".repeat(e);if(t===null)return E.dim("null");if(typeof t=="boolean")return E.warn(String(t));if(typeof t=="number")return E.success(String(t));if(typeof t=="string")return E.accent(`"${t}"`);if(Array.isArray(t))return t.length===0?"[]":t.length<=3?`[${t.map(n=>ji(n,0)).join(", ")}]`:`[
209
+ `,"utf-8");try{M1(Bi,384)}catch{}process.env[t]=e}function Pc(){return $c().GMGN_API_KEY}function Ri(){let t=Pc();return!!t&&t.trim()!==""}function Kp(t){q1("GMGN_API_KEY",t)}function J1(){return{...process.env,...$c()}}function Oc(){try{return W1("which gmgn-cli",{stdio:"ignore"}),!0}catch{return!1}}var Y1=[{name:"token info",desc:"Token price, market cap, liquidity, holders, socials",usage:"gmgn token info --chain <sol|bsc|base|eth> --address <address>"},{name:"token security",desc:"Honeypot, taxes, rug ratio, contract risks",usage:"gmgn token security --chain <chain> --address <address>"},{name:"token pool",desc:"Liquidity pool reserves, DEX, depth",usage:"gmgn token pool --chain <chain> --address <address>"},{name:"token holders",desc:"Top holders with P&L breakdown",usage:"gmgn token holders --chain <chain> --address <address>"},{name:"token traders",desc:"Top traders with P&L breakdown",usage:"gmgn token traders --chain <chain> --address <address>"},{name:"track follow-tokens",desc:"Tokens a wallet follows on GMGN",usage:"gmgn track follow-tokens --chain <chain> --wallet <address>"},{name:"track follow-wallet",desc:"Trades from wallets you follow",usage:"gmgn track follow-wallet --chain <chain>"},{name:"track kol",desc:"KOL/influencer trade activity",usage:"gmgn track kol --chain <chain>"},{name:"track smartmoney",desc:"Smart money/whale trade activity",usage:"gmgn track smartmoney --chain <chain>"},{name:"market kline",desc:"Token candlestick / OHLCV chart data",usage:"gmgn market kline --chain <chain> --address <address> --resolution <1m|5m|15m|1h|4h|1d>"},{name:"market trending",desc:"Trending tokens ranked by swaps",usage:"gmgn market trending --chain <chain> --interval <1m|5m|1h|6h|24h>"},{name:"market trenches",desc:"Newly launched tokens (new/near/completed)",usage:"gmgn market trenches --chain <chain> --type <new_creation|near_completion|completed>"},{name:"market signal",desc:"Real-time token signals (sol/bsc only)",usage:"gmgn market signal --chain <sol|bsc>"}],Pi=()=>{let t=[{title:"\u2500\u2500 Token Research \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("token")},{title:"\u2500\u2500 Smart Money Tracking \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("track")},{title:"\u2500\u2500 Market Data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",filter:r=>r.startsWith("market")}],e=["\u{1F50D} GMGN \u2014 Token Research, Tracking & Market Data","","Usage: gmgn <sub-command> [options]",""];for(let r of t){e.push(r.title);for(let n of Y1.filter(o=>r.filter(o.name)))e.push(` ${n.name.padEnd(20)} ${n.desc}`),e.push(` ${n.usage}`);e.push("")}return e.push("\u2500\u2500 Setup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"),e.push(" gmgn setup Configure GMGN_API_KEY"),e.push(" gmgn status Check API key + CLI status"),e.push(""),Oc()||e.push(" \u26A0\uFE0F gmgn-cli not installed. Run: npm install -g gmgn-cli"),Ri()||e.push(" \u26A0\uFE0F GMGN_API_KEY not set. Run: gmgn setup"),e.join(`
210
+ `)},$i=()=>["\u{1F50D} GMGN Status","",`CLI installed: ${Oc()?"\u2705 yes":"\u274C no (npm install -g gmgn-cli)"}`,`API key configured: ${Ri()?"\u2705 yes":"\u274C no (gmgn setup)"}`,Ri()?`Key: ${Pc().slice(0,6)}\u2022\u2022\u2022\u2022${Pc().slice(-4)}`:""].filter(Boolean).join(`
211
+ `),Wp=Me.Object({subcommand:Me.String({description:"GMGN sub-command: token info, token security, token holders, token traders, track kol, track smartmoney, track follow-wallet, track follow-tokens, market kline, market trending, market trenches, market signal"}),chain:Me.Optional(Me.String({description:"Chain: sol, bsc, base, eth"})),address:Me.Optional(Me.String({description:"Token contract address"})),wallet:Me.Optional(Me.String({description:"Wallet address for track commands"})),limit:Me.Optional(Me.Number({description:"Number of results"})),resolution:Me.Optional(Me.String({description:"Kline resolution: 1m, 5m, 15m, 1h, 4h, 1d"})),interval:Me.Optional(Me.String({description:"Trending interval: 1m, 5m, 1h, 6h, 24h"})),type:Me.Optional(Me.String({description:"Trenches type: new_creation, near_completion, completed"}))});async function Rt(t,e){if(!Oc())return{content:[{type:"text",text:"gmgn-cli is not installed. Run: npm install -g gmgn-cli"}],isError:!0};if(!Ri())return{content:[{type:"text",text:"GMGN_API_KEY is not configured. Run 'gmgn setup' or tell the agent to configure it."}],isError:!0};let r=e.subcommand,n=e.chain||"sol",o=e.address,s=e.wallet,i=e.limit,l=e.resolution,c=e.interval,f=e.type,d=["gmgn-cli",r];if(["token info","token security","token pool","token holders","token traders"].includes(r)){if(!o)return{content:[{type:"text",text:`--address is required for '${r}'`}],isError:!0};d.push("--chain",n,"--address",o),i&&(r==="token holders"||r==="token traders")&&d.push("--limit",String(i))}else if(r==="market kline"){if(!o)return{content:[{type:"text",text:`--address is required for '${r}'`}],isError:!0};if(!l)return{content:[{type:"text",text:`--resolution is required for '${r}'`}],isError:!0};d.push("--chain",n,"--address",o,"--resolution",l)}else if(r==="market trending")d.push("--chain",n),c&&d.push("--interval",c),i&&d.push("--limit",String(i));else if(r==="market trenches")d.push("--chain",n),f&&d.push("--type",f),i&&d.push("--limit",String(i));else if(r==="market signal")d.push("--chain",n),i&&d.push("--limit",String(i));else if(r==="track follow-tokens"||r==="track follow-token-groups"){if(!s)return{content:[{type:"text",text:`--wallet is required for '${r}'`}],isError:!0};d.push("--chain",n,"--wallet",s)}else r==="track follow-wallet"?(d.push("--chain",n),s&&d.push("--wallet",s)):(r==="track kol"||r==="track smartmoney")&&(d.push("--chain",n),i&&d.push("--limit",String(i)));try{return{content:[{type:"text",text:K1(d[0],d.slice(1),{env:J1(),encoding:"utf-8",timeout:3e4,stdio:["pipe","pipe","pipe"]}).trim()}]}}catch(a){let h=a.stderr?.toString()||a.message||"";return h.includes("401")||h.includes("403")?{content:[{type:"text",text:"GMGN API key invalid or IPv6 issue. Run 'gmgn status'."}],isError:!0}:h.includes("429")?{content:[{type:"text",text:"GMGN rate limit exceeded. Wait and retry."}],isError:!0}:{content:[{type:"text",text:`gmgn-cli error: ${h.slice(0,500)}`}],isError:!0}}}var Gp=Me.Object({query:Me.String({description:"What to look up: trending, trenches, kline <address>, holders <address>, traders <address>, signal"}),chain:Me.Optional(Me.String({default:"sol"}))});async function Lc(t,e){let r=(e.query||"").toLowerCase().trim(),n=e.chain||"sol";if(r==="trending"||r==="hot"||r==="pumping")return Rt("",{subcommand:"market trending",chain:n,interval:"1h",limit:10});if(r==="trenches"||r==="new tokens"||r==="launches")return Rt("",{subcommand:"market trenches",chain:n,type:"new_creation",limit:10});if(r==="signal"||r==="signals"||r==="alerts")return Rt("",{subcommand:"market signal",chain:"sol",limit:10});if(r.startsWith("kline ")||r.startsWith("chart ")){let o=r.split(" ").pop();return o?Rt("",{subcommand:"market kline",chain:n,address:o,resolution:"1h"}):{content:[{type:"text",text:"Usage: gmgn market kline <address>"}],isError:!0}}if(r.startsWith("holders ")||r.startsWith("traders ")){let o=r.split(" "),s=o[0]==="holders"?"token holders":"token traders",i=o[1];return i?Rt("",{subcommand:s,chain:n,address:i,limit:10}):{content:[{type:"text",text:`Usage: gmgn ${s} <address>`}],isError:!0}}return r.length>20?Rt("",{subcommand:"token info",chain:n,address:r}):{content:[{type:"text",text:"Usage: gmgn market <trending|trenches|signal|kline <addr>|holders <addr>|traders <addr>>"}],isError:!0}}Ye();import{totalmem as Oi,freemem as qp,uptime as V1}from"node:os";var Qc=process.cpuUsage(),Dc=class{apiCallCount=0;prevCpuTimes={idle:0,total:0};trackApiCall(){this.apiCallCount++}getStats(e=0){return{cpuPercent:this.getCpuPercent(),ramPercent:this.getRamPercent(),ramUsed:this.formatBytes(Oi()-qp()),ramTotal:this.formatBytes(Oi()),uptime:this.formatUptime(V1()),...this.getNetStats(),apiCallsPerMin:this.apiCallCount,tokensUsed:e}}getCpuPercent(){try{let e=process.cpuUsage(),r=e.user-Qc.user,n=e.system-Qc.system;Qc=e;let o=r+n;return Math.min(100,Math.round(o/1e7*100))}catch(e){return Z.debug("SystemMonitor","CPU measurement failed",{error:e.message}),0}}getRamPercent(){let e=Oi()-qp();return Math.round(e/Oi()*100)}getNetStats(){return{netUp:"N/A",netDown:"N/A"}}formatBytes(e){if(e===0)return"0 B";let r=1024,n=["B","KB","MB","GB"],o=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,o)).toFixed(1))+" "+n[o]}formatUptime(e){let r=Math.floor(e/3600),n=Math.floor(e%3600/60);return r>0?`${r}h ${n}m`:`${n}m`}resetApiCounter(){let e=this.apiCallCount;return this.apiCallCount=0,e}getApiCount(){return this.apiCallCount}},Li=new Dc;ht();qo();Ro();async function Nc(){let t=[],e=Date.now();try{let i=await _r("getSlot",[]);t.push({service:"Solana RPC",status:"ok",latency:Date.now()-e,message:`slot ${i}`})}catch(i){t.push({service:"Solana RPC",status:"down",latency:Date.now()-e,message:i.message.slice(0,100)})}let r=Date.now();try{let l=await(await fe("https://api.dexscreener.com/tokens/v1/solana/AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump",{timeout:5e3,retries:0})).json();t.push({service:"DexScreener",status:l.length>0?"ok":"degraded",latency:Date.now()-r,message:l.length>0?"responding":"empty response"})}catch(i){t.push({service:"DexScreener",status:"down",latency:Date.now()-r,message:i.message.slice(0,100)})}let n=process.env.OPENROUTER_API_KEY;if(n){let i=Date.now();try{let l=await fe("https://openrouter.ai/api/v1/models",{timeout:5e3,retries:0,headers:{Authorization:`Bearer ${n}`}});t.push({service:"OpenRouter",status:l.ok?"ok":"degraded",latency:Date.now()-i,message:l.ok?"authenticated":`HTTP ${l.status}`})}catch(l){t.push({service:"OpenRouter",status:"down",latency:Date.now()-i,message:l.message.slice(0,100)})}}else t.push({service:"OpenRouter",status:"degraded",latency:0,message:"no API key configured"});let o=t.filter(i=>i.status==="down").length;return{overall:o===0?"healthy":o>=2?"down":"degraded",timestamp:Date.now(),services:t,circuitBreaker:$o(),errorSummary:Cr.getSummary()}}function Jp(t){let e=o=>o==="ok"?"\u{1F7E2}":o==="degraded"?"\u{1F7E1}":"\u{1F534}",r=[`\u{1F3E5} Health Check \u2014 ${t.overall.toUpperCase()}`,` ${new Date(t.timestamp).toLocaleTimeString()}`,"",...t.services.map(o=>` ${e(o.status)} ${o.service.padEnd(16)} ${String(o.latency).padStart(5)}ms ${o.message??""}`)];if(t.circuitBreaker.length>0){r.push(""," Circuit Breakers:");for(let o of t.circuitBreaker)r.push(` ${o.key}: ${o.state} (${o.failures} failures)`)}let n=Object.entries(t.errorSummary);if(n.length>0){r.push(""," Error Summary:");for(let[o,s]of n)r.push(` ${o}: ${s}`)}return r.join(`
212
+ `)}Ql();Uc();ht();Ro();function Hp(){let t=Fc.getSessionMetrics("current"),e=$o(),r=Cr.getSummary(),n=process.memoryUsage(),o=Math.floor(process.uptime());return["\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510","\u2502 AIAIAI Agent \u2014 Live Dashboard \u2502","\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524",`\u2502 Uptime: ${H1(o).padEnd(12)} RSS: ${Vp(n.rss).padEnd(12)} Heap: ${Vp(n.heapUsed).padEnd(10)} \u2502`,"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 METRICS \u2502",`\u2502 Tool calls: ${String(t.totalToolCalls).padEnd(8)} Errors: ${String(t.errors).padEnd(8)} \u2502`,`\u2502 Tokens in: ${t.totalTokensIn.toLocaleString().padEnd(8)} out: ${t.totalTokensOut.toLocaleString().padEnd(8)} \u2502`,`\u2502 Model calls: ${String(t.totalModelCalls).padEnd(8)} Sessions: ${String(Object.keys(t.toolBreakdown).length).padEnd(8)} \u2502`,"\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 CIRCUIT BREAKERS \u2502",...e.slice(0,4).map(i=>`\u2502 ${i.state==="closed"?"\u{1F7E2}":i.state==="half-open"?"\u{1F7E1}":"\u{1F534}"} ${i.key.padEnd(30)} ${i.state.padEnd(10)} ${i.failures} fails \u2502`),e.length===0?"\u2502 All circuits closed (healthy) \u2502":"","\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524","\u2502 ERRORS \u2502",...Object.entries(r).slice(0,3).map(([i,l])=>`\u2502 ${i.padEnd(20)} ${String(l).padEnd(5)} occurrences \u2502`),Object.keys(r).length===0?"\u2502 No errors recorded \u2502":"","\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"].filter(Boolean).join(`
213
+ `)}function H1(t){return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:`${Math.floor(t/3600)}h ${Math.floor(t%3600/60)}m`}function Vp(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(0)}KB`:`${(t/(1024*1024)).toFixed(1)}MB`}var jc=null;function z1(){return jc?{...jc,durationSec:Math.floor((Date.now()-jc.startTime)/1e3)}:null}function zp(){let t=z1();if(!t)return"No active session.";let e=Math.floor(t.durationSec/60),r=t.durationSec%60;return["\u{1F4CA} Session Analytics",` Duration: ${e}m ${r}s`,` Messages: ${t.messagesSent}`,` Tools called: ${t.toolsCalled}`,` Tokens used: ${t.tokensUsed.toLocaleString()}`,` Errors: ${t.errors}`,` Session ID: ${t.sessionId}`].join(`
214
+ `)}import{Box as X1,Text as Kc}from"ink";import{jsx as ev,jsxs as Wc}from"react/jsx-runtime";var Z1="\u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588";function Xp({data:t,width:e=30,label:r,color:n}){if(!t||t.length<2)return null;let o=Math.min(...t),s=Math.max(...t),i=s-o||1,l=[],c=t.length/e;for(let p=0;p<e;p++){let g=Math.floor(p*c);l.push(t[g])}let f=l.map(p=>{let g=(p-o)/i,x=Math.min(7,Math.floor(g*8));return Z1[Math.max(0,x)]}).join(""),d=t[t.length-1]>(t[0]??t[t.length-1])?"\u25B2":"\u25BC",a=o<1?o.toFixed(6):o<100?o.toFixed(2):o.toLocaleString(),h=s<1?s.toFixed(6):s<100?s.toFixed(2):s.toLocaleString();return Wc(X1,{flexDirection:"column",children:[r&&Wc(Kc,{dimColor:!0,children:[r," ",d]}),ev(Kc,{color:n,children:f}),Wc(Kc,{dimColor:!0,children:["$",a," \u2013 $",h]})]})}var Qi=class t{prices=[];maxLength;static ABSOLUTE_MAX=1e3;constructor(e=50){this.maxLength=Math.min(e,t.ABSOLUTE_MAX)}push(e){this.prices.push(e),this.prices.length>this.maxLength&&(this.prices=this.prices.slice(-this.maxLength))}getData(){return[...this.prices]}get length(){return this.prices.length}};ht();Ye();import{Type as Yo}from"@sinclair/typebox";var JT=Yo.Object({chain:Yo.Optional(Yo.String({description:"Chain: solana, ethereum, bsc, base",default:"solana"})),limit:Yo.Optional(Yo.Number({description:"Max entries",default:10}))}),qn=[],Zp=0,tv=3e5;async function tg(t,e){let r=e.chain||"solana",n=e.limit||10;if(Date.now()-Zp<tv&&qn.length>0){let o=qn.filter(s=>s.chain===r).slice(0,n);return eg(o,r)}try{let o=`https://api.dexscreener.com/latest/dex/tokens/${r}`,s=await fe(o,{timeout:1e4,retries:1});if(!s.ok)return{content:[{type:"text",text:`Token launch calendar unavailable for ${r}.`}]};qn=((await s.json())?.pairs??[]).map(f=>{let d=f.pairCreatedAt?new Date(f.pairCreatedAt):null,a=Date.now(),h=d?a-d.getTime():1/0,p=d?h<36e5?`${Math.floor(h/6e4)}m ago`:h<864e5?`${Math.floor(h/36e5)}h ago`:`${Math.floor(h/864e5)}d ago`:"unknown";return{address:f.baseToken?.address??"",symbol:f.baseToken?.symbol??"???",name:f.baseToken?.name??"Unknown",priceUsd:f.priceUsd??null,volume24h:f.volume?.h24??0,liquidityUsd:f.liquidity?.usd??0,age:p,chain:r}}),Zp=Date.now();let c=qn.slice(0,n);return eg(c,r)}catch(o){return Z.warn("TokenCalendar","Failed to fetch launches",{chain:r,error:o.message}),{content:[{type:"text",text:"Token launch calendar: Data temporarily unavailable."}]}}}function eg(t,e){if(t.length===0)return{content:[{type:"text",text:`No recent launches found on ${e}.`}]};let r=[`\u{1F680} Recent Token Launches \u2014 ${e.toUpperCase()}`,""];for(let n of t.slice(0,10)){let o=n.priceUsd?`$${parseFloat(n.priceUsd).toFixed(8)}`:"N/A",s=n.volume24h>0?`$${(n.volume24h/1e3).toFixed(1)}k`:"no vol",i=n.liquidityUsd>0?`$${(n.liquidityUsd/1e3).toFixed(1)}k`:"no liq";r.push(` ${n.symbol.padEnd(10)} ${o.padEnd(16)} ${s.padEnd(10)} ${n.age.padEnd(10)} ${n.address.slice(0,6)}\u2026`)}return{content:[{type:"text",text:r.join(`
215
+ `)}],details:{launches:t}}}function rg(){return qn.length===0?"Loading\u2026":qn.slice(0,3).map(e=>e.symbol).join(" \xB7 ")}ht();qo();Ye();import{Type as ng}from"@sinclair/typebox";var ZT=ng.Object({transaction:ng.String({description:"Base64-encoded transaction to simulate"})});async function og(t,e){let r=e.transaction||"";if(!r||r.length<10)return{content:[{type:"text",text:"Invalid transaction: must be base64-encoded Solana transaction."}],isError:!0};try{let n=JSON.stringify({jsonrpc:"2.0",id:1,method:"simulateTransaction",params:[r,{sigVerify:!1,commitment:"processed",encoding:"base64"}]}),s=await(await fe(Mp(),{timeout:15e3,retries:1,method:"POST",headers:{"Content-Type":"application/json"},body:n})).json(),l=s?.result?.value??s?.result;if(!l){let g=s?.error?.message??"Unknown simulation error";return{content:[{type:"text",text:`\u274C Simulation failed: ${g}`}],isError:!0,details:{ok:!1,error:g,logs:[],unitsConsumed:0,fee:0}}}let c=!l.err,f=l.unitsConsumed??0,d=l.logs??[],a=(l.fee??0)/1e9*5e-6,h=l.err?JSON.stringify(l.err):void 0,p=[c?"\u2705 Transaction simulation: SUCCESS":"\u274C Transaction simulation: FAILED","",`Units: ${f.toLocaleString()}`,`Est. Fee: ${a.toFixed(6)} SOL`,""];return d.length>0&&(p.push("Logs:"),d.slice(-8).forEach(g=>p.push(` ${g}`))),h&&p.push(`Error: ${h}`),{content:[{type:"text",text:p.join(`
216
+ `)}],details:{ok:c,error:h,logs:d,unitsConsumed:f,fee:a}}}catch(n){return Z.warn("TransactionSim","Simulation failed",{error:n.message}),{content:[{type:"text",text:"\u26A0\uFE0F Transaction simulation unavailable (RPC may be rate-limited)."}],isError:!0}}}Vc();zc();var ov=["help","exit","quit","clear","price","news","models","cost","model","wallet","deposit","burn","actions","activity","fees","keys","providers","goals","goal add","goal done","schedule","sessions","resume","memory","update","gmgn","token info","token security","token holders","token traders","track kol","track smartmoney","track follow-wallet","market kline","market trending","market trenches","market signal","watch","unwatch","watchlist","alerts","alert","compare","portfolio","diff","explain","copy","theme","status"];function sv(t,e){let r=t.length,n=e.length,o=[];for(let s=0;s<=r;s++)o[s]=[s];for(let s=0;s<=n;s++)o[0][s]=s;for(let s=1;s<=r;s++)for(let i=1;i<=n;i++)o[s][i]=Math.min(o[s-1][i]+1,o[s][i-1]+1,o[s-1][i-1]+(t[s-1]===e[i-1]?0:1));return o[r][n]}function ug(t,e=3){let r=t.toLowerCase().replace(/^\/+/,"");if(!r||r.length<1)return[];let n=ov.map(o=>({cmd:o,dist:sv(r,o)}));return n.sort((o,s)=>o.dist-s.dist),n.slice(0,e).filter(o=>o.dist<=4).map(o=>o.cmd)}eu();uu();import{Fragment as Gv,jsx as Be,jsxs as Ce}from"react/jsx-runtime";var mu=null;async function zo(){if(mu)return mu;let t=await Promise.resolve().then(()=>(_g(),Sg));return mu=t,t}var Fi=null;async function lr(){return Fi||(Fi=await Promise.resolve().then(()=>(uu(),xg)),Fi)}function Uv(t){if(!t)return{pct:0,bar:"\u2591".repeat(20),color:D.dim};let e=t.getContextPressure(),r=Math.round(e.pct/5),n=e.level==="critical"?D.error:e.level==="red"?D.warn:e.level==="yellow"?D.header:D.success;return{pct:e.pct,bar:"\u2588".repeat(Math.min(r,20))+"\u2591".repeat(Math.max(0,20-r)),color:n}}function ji(t,e=0){let r=" ".repeat(e);if(t===null)return E.dim("null");if(typeof t=="boolean")return E.warn(String(t));if(typeof t=="number")return E.success(String(t));if(typeof t=="string")return E.accent(`"${t}"`);if(Array.isArray(t))return t.length===0?"[]":t.length<=3?`[${t.map(n=>ji(n,0)).join(", ")}]`:`[
219
217
  ${t.slice(0,5).map(n=>`${r} ${ji(n,e+1)}`).join(`,
220
218
  `)}${t.length>5?`
221
219
  ${r} \u2026${t.length-5} more`:""}
@@ -223,15 +221,15 @@ ${r}]`;if(typeof t=="object"){let n=Object.entries(t);return n.length===0?"{}":`
223
221
  ${n.slice(0,8).map(([o,s])=>`${r} ${E.accent(o)}: ${ji(s,e+1)}`).join(`,
224
222
  `)}${n.length>8?`
225
223
  ${r} \u2026${n.length-8} more`:""}
226
- ${r}}`}return String(t)}function Ov(t){try{return ji(JSON.parse(t))}catch{return t.length>300?t.slice(0,300)+E.dim(`
227
- \u2026[truncated]`):t}}var $v=0;function Lv(){return String(++$v)}var Ui=`session-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;function Sg({registry:t,systemPrompt:e,chain:r="solana",modelReg:n,costTracker:o,onNotifyReady:s,onStatusReady:i,onModelSelectorReady:l}){let{exit:c}=kv(),[f,u]=Et([]),[a,h]=Et(""),[p,A]=Et(null),[C,g]=Et(!1),[w]=Et(r),[$,k]=Et(!1),[I,v]=Et(""),[S,B]=Et({status:{},price:"",cost:"",news:""}),[U,D]=Et({news:[],price:null,watchList:[]}),[Q,O]=Et({cold:{sol:0,aiaiai:0,usdc:0},action:{sol:0,aiaiai:0,usdc:0},deposit:{sol:0,aiaiai:0,usdc:0}}),[L,F]=Et({recent:[],fees:{buyFees:0,burnFees:0,total:0}}),[W,V]=Et({cpu:0,ram:0,uptime:"0m",apiCalls:0}),[oe,te]=Et("healthy"),ie=Yn(new Qi(40)),re=Yn(null),J=Yn(null),le=Yn(null),ue=Yn(null),ce=Yn([]),ye=Or(),we="no-model";try{we=li(n).model}catch{}let be=Jn(se=>{u(j=>{let q=[...j,{...se,id:Lv(),ts:Date.now()}];return ce.current=q,q})},[]),T=Jn(se=>{be({role:"notify",content:se})},[be]),He=Jn((se,j)=>{B(q=>({...q,status:{...q.status,[se]:j}}))},[]),Pe={notify:T,setStatus:He,setTheme(){},setHeader(){},showModelSelector:se=>{v(se??""),k(!0)},theme:ye};function tt(){if(!n)return;let se=n;t.addTool({name:"list_models",label:"List Models",description:"Search and filter available AI models.",parameters:se.listModelsParams,execute:(j,q)=>se.listModelsTool(j,q)}),t.addTool({name:"pick_model",label:"Pick Model",description:"Find a model in a given tier.",parameters:se.pickModelParams,execute:(j,q)=>se.pickModelTool(j,q)}),t.addTool({name:"model_summary",label:"Model Summary",description:"Summary of available model tiers.",parameters:se.summaryParams,execute:()=>se.summaryTool()}),o&&t.addTool({name:"cost_report",label:"Cost Report",description:"Show session and lifetime token usage.",parameters:o.costReportParams,execute:()=>o.costReportTool()}),t.addTool({name:"get_aiaiai_price",label:"AIAIAI Price",description:"Get $AIAIAI price, liquidity, MCap, volume.",parameters:Ue.getAiaiaiPriceParams,execute:()=>Ue.getAiaiaiPriceTool()}),t.addTool({name:"get_token_price",label:"Token Price",description:"Get any Solana token price.",parameters:Ue.getTokenPriceParams,execute:(j,q)=>Ue.getTokenPriceTool(j,q)}),t.addTool({name:"get_news",label:"Get News",description:"Crypto news with sentiment.",parameters:Ap,execute:(j,q)=>ul(j,q)}),t.addTool({name:"get_candles",label:"Get Candles",description:"OHLCV from Binance + TA.",parameters:bp,execute:(j,q)=>xp(j,q)}),t.addTool({name:"analyze_ta",label:"Technical Analysis",description:"RSI, MACD, Bollinger, ATR.",parameters:Ep,execute:async(j,q)=>{let G=q.prices.map((R,H)=>({timestamp:0,open:R,high:q.highs?.[H]??R,low:q.lows?.[H]??R,close:R,volume:q.volumes?.[H]??0})),nt=await fl(G),de=nt.find(R=>R.indicator==="SUMMARY");return{content:[{type:"text",text:`Technical Analysis:
228
- ${nt.map(R=>{let H=R.signal==="bullish"?"\u{1F7E2}":R.signal==="bearish"?"\u{1F534}":"\u26AA",P=Array.isArray(R.value)?`[${R.value.length}]`:R.value;return`${H} ${R.indicator}: ${P}`}).join(`
229
- `)}`}],details:{results:nt,overall_signal:de?.signal}}}}),t.addTool({name:"get_fear_greed",label:"Fear & Greed",description:"Crypto Fear & Greed Index.",parameters:{},execute:async()=>(await Vo()).getFearGreedTool()}),t.addTool({name:"get_funding_rates",label:"Funding Rates",description:"Binance funding rates.",parameters:{},execute:async(j,q)=>(await Vo()).getFundingRatesTool(j,q)}),t.addTool({name:"get_btc_mempool",label:"BTC Mempool",description:"BTC mempool stats.",parameters:{},execute:async()=>(await Vo()).getBtcMempoolTool()}),t.addTool({name:"get_defi_tvl",label:"DeFi TVL",description:"DeFiLlama TVL.",parameters:{},execute:async(j,q)=>(await Vo()).getDefiTvlTool(j,q)}),t.addTool({name:"get_solana_stats",label:"Solana Stats",description:"Solana epoch, slot, SOL price.",parameters:{},execute:async()=>(await Vo()).getSolanaStatsTool()}),t.addTool({name:"get_agent_balance",label:"Agent Balance",description:"Cold + action wallet balances.",parameters:Ze.getAgentBalanceParams,execute:()=>Ze.getAgentBalanceTool()}),t.addTool({name:"get_deposit_balance",label:"Deposit Balance",description:"Deposit wallet + instructions.",parameters:Ze.getDepositBalanceParams,execute:()=>Ze.getDepositBalanceTool()}),t.addTool({name:"get_actions",label:"Agent Actions",description:"Recent buy/burn actions.",parameters:et.getActionsParams,execute:(j,q)=>et.getActionsTool(j,q)}),t.addTool({name:"get_fees",label:"Agent Fees",description:"Accumulated fees.",parameters:et.getFeesParams,execute:()=>et.getFeesTool()}),t.addTool({name:"read_task_context",label:"Read Task Context",description:"Read saved task context.",parameters:kg.Object({taskId:kg.String({description:"Task ID"})}),execute:(j,q)=>Si.readContextTool(j,q)}),t.addTool({name:"list_tasks",label:"List Tasks",description:"List saved task contexts.",parameters:{},execute:()=>Si.listTasksTool()}),t.addTool({name:"set_goal",label:"Set Goal",description:"Set a persistent goal.",parameters:gt.setGoalParams,execute:(j,q)=>gt.setGoalTool(j,q)}),t.addTool({name:"complete_goal",label:"Complete Goal",description:"Mark a goal complete.",parameters:gt.completeGoalParams,execute:(j,q)=>gt.completeGoalTool(j,q)}),t.addTool({name:"list_goals",label:"List Goals",description:"List goals.",parameters:gt.listGoalsParams,execute:(j,q)=>gt.listGoalsTool(j,q)}),t.addTool({name:"add_goal_note",label:"Add Goal Note",description:"Add a note to a goal.",parameters:gt.addGoalNoteParams,execute:(j,q)=>gt.addGoalNoteTool(j,q)}),t.addTool({name:"schedule_task",label:"Schedule Task",description:"Schedule a recurring task.",parameters:qt.addTaskParams,execute:(j,q)=>qt.addTaskTool(j,q)}),t.addTool({name:"list_schedule",label:"List Schedule",description:"List scheduled tasks.",parameters:qt.listTasksParams,execute:(j,q)=>qt.listTasksTool(j,q)}),t.addTool({name:"remove_schedule",label:"Remove Schedule",description:"Remove a scheduled task.",parameters:qt.removeTaskParams,execute:(j,q)=>qt.removeTaskTool(j,q)}),t.addTool({name:"gmgn",label:"GMGN Token Research",description:"Full GMGN access: token info, security, holders, traders, tracking, market data.",parameters:Fp,execute:(j,q)=>Rt(j,q)}),t.addTool({name:"gmgn_market",label:"GMGN Market Data",description:"Market data: trending, trenches, kline, signals.",parameters:Up,execute:(j,q)=>$l(j,q)}),t.addTool({name:"watch_token",label:"Watch Token",description:"Add token to watch list.",parameters:{},execute:async(j,q)=>(await ar()).watchTokenTool(j,q)}),t.addTool({name:"unwatch_token",label:"Unwatch Token",description:"Remove token from watch list.",parameters:{},execute:async(j,q)=>(await ar()).removeWatchTool(j,q)}),t.addTool({name:"watch_list",label:"Watch List",description:"Show watched tokens.",parameters:{},execute:async()=>(await ar()).listWatchTool()}),t.addTool({name:"add_alert",label:"Price Alert",description:"Set a price alert.",parameters:{},execute:async(j,q)=>(await ar()).addAlertTool(j,q)}),t.addTool({name:"check_alerts",label:"Check Alerts",description:"List active alerts.",parameters:{},execute:async()=>(await ar()).checkAlertsTool()}),t.addTool({name:"compare_tokens",label:"Compare Tokens",description:"Side-by-side token comparison.",parameters:{},execute:async(j,q)=>(await ar()).compareTokensTool(j,q)}),t.addTool({name:"portfolio",label:"Portfolio",description:"Wallet portfolio analysis.",parameters:{},execute:async(j,q)=>(await ar()).portfolioTool(j,q)})}vv(()=>{tt(),(async()=>{(async(P=3,d=2e3)=>{for(let m=0;m<P;m++)try{let y=await Ue.getAiaiaiPrice();D(b=>({...b,price:{priceUsd:y.priceUsd,change:y.priceChange24h,mcap:y.marketCap,liq:y.liquidityUsd}})),y.priceUsd&&B(b=>({...b,price:`$${parseFloat(y.priceUsd).toFixed(6)}`})),et.setPrice(parseFloat(y.priceUsd||"0.0004"));return}catch(y){if(m===P-1)throw y;await new Promise(b=>setTimeout(b,d*(m+1)))}})().catch(()=>{console.error("Initial price fetch failed after retries")}),Ze.getAll().then(P=>{O({cold:{sol:P.cold.sol,aiaiai:P.cold.aiaiai,usdc:P.cold.usdc},action:{sol:P.action.sol,aiaiai:P.action.aiaiai,usdc:P.action.usdc},deposit:{sol:P.deposit.sol,aiaiai:P.deposit.aiaiai,usdc:P.deposit.usdc}})}).catch(()=>{}),et.refresh().then(()=>{F({recent:et.getRecentActions(8).map(P=>({type:P.type,amount:P.amount,usdValue:P.usdValue,timestamp:P.timestamp})),fees:et.getFees()})}).catch(()=>{}),jn.getLatest().then(P=>{D(d=>({...d,news:P.items.slice(0,6).map(m=>({title:m.title,sentiment:m.sentiment??0,source:m.source}))})),B(d=>({...d,news:jn.statusBadge()}))}).catch(()=>{}),ar().then(({getWatchList:P})=>{D(d=>({...d,watchList:P()}))}),qt.start(P=>{be({role:"system",content:E.muted(`\u23F0 Scheduled: "${P.name}"`)}),!C&&re.current&&(g(!0),h(""),re.current.run(`[SCHEDULED TASK: ${P.name}] ${P.prompt}`).catch(d=>T(E.error(`Scheduler error: ${d.message}`))))});let j=setInterval(()=>{Ue.getAiaiaiPrice().then(P=>{D(d=>({...d,price:{priceUsd:P.priceUsd,change:P.priceChange24h,mcap:P.marketCap,liq:P.liquidityUsd}})),P.priceUsd&&(B(d=>({...d,price:`$${parseFloat(P.priceUsd).toFixed(6)}`})),ie.current.push(parseFloat(P.priceUsd))),et.setPrice(parseFloat(P.priceUsd||"0.0004")),Li.trackApiCall(),P.priceUsd&&ar().then(({checkAlerts:d})=>{let m=d(parseFloat(P.priceUsd),"AIAIAI");for(let y of m)T(`\u{1F514} Alert triggered: ${y.type} $${y.price} \u2014 $AIAIAI is now $${P.priceUsd}`),Hl(`\u{1F514} **Alert**: ${y.type} $${y.price} \u2014 $AIAIAI now $${P.priceUsd}`).catch(()=>{})})}).catch(()=>{}),o&&B(P=>({...P,cost:o.statusLine()}))},3e4),q=setInterval(()=>{Ze.getAll().then(P=>{O({cold:{sol:P.cold.sol,aiaiai:P.cold.aiaiai,usdc:P.cold.usdc},action:{sol:P.action.sol,aiaiai:P.action.aiaiai,usdc:P.action.usdc},deposit:{sol:P.deposit.sol,aiaiai:P.deposit.aiaiai,usdc:P.deposit.usdc}})}).catch(()=>{}),et.refresh().then(()=>{F({recent:et.getRecentActions(8).map(P=>({type:P.type,amount:P.amount,usdValue:P.usdValue,timestamp:P.timestamp})),fees:et.getFees()})}).catch(()=>{})},6e4),ke=setInterval(()=>{jn.getLatest().then(P=>{D(d=>({...d,news:P.items.slice(0,6).map(m=>({title:m.title,sentiment:m.sentiment??0,source:m.source}))})),B(d=>({...d,news:jn.statusBadge()}))}).catch(()=>{})},3e5),G=setInterval(()=>{let P=Li.getStats();V({cpu:P.cpuPercent,ram:P.ramPercent,uptime:P.uptime,apiCalls:Li.resetApiCounter()})},1e4),nt=setInterval(async()=>{try{let P=await Dl();te(P.overall)}catch{}},6e4);Ye.startAutoSave(()=>ce.current),Ye.setCurrentId(Ui);let de=setInterval(()=>{ce.current.length>0&&Ye.save(ce.current)},3e4),dt=new Pn;dt.setSystemPrompt(t.getSystemPrompt()||e||"You are AIAIAI Chain Agent."),le.current=dt;let R={ui:Pe,hasUI:!0,config:{OPENROUTER_API_KEY:process.env.OPENROUTER_API_KEY,DEFAULT_MODEL:process.env.DEFAULT_MODEL}};ue.current=R,t.fireHook("session_start",R).then(()=>{if(Wn.isAvailable){let d=Wn.buildContextBlock(Ui);d&&dt.setSystemPrompt((dt.getSystemPrompt()||"")+d)}let P=gt.buildContextBlock();P&&dt.setSystemPrompt((dt.getSystemPrompt()||"")+P),be({role:"system",content:E.muted("Session started. Type /help for commands.")})});let H=new Rn(t,dt,P=>{if(P.type==="text_delta")h(d=>d+P.text);else if(P.type==="tool_start")A(P.name);else if(P.type==="tool_done")A(null),be({role:"tool",content:Ov(P.result),toolName:P.name,isError:P.isError});else if(P.type==="turn_done")g(!1),A(null),h(d=>(d.trim()&&(be({role:"assistant",content:d}),Wn.save(Ui,"assistant",d)),""));else if(P.type==="error")g(!1),A(null),h(""),T(E.error(`Error: ${P.message}`));else if(P.type==="approval_request"){A(null);let{toolName:d,args:m,approve:y}=P,b="";try{b=JSON.stringify(JSON.parse(m),null,2).slice(0,200)}catch{b=m.slice(0,200)}be({role:"notify",content:`\u26A0\uFE0F APPROVAL REQUIRED
224
+ ${r}}`}return String(t)}function jv(t){try{return ji(JSON.parse(t))}catch{return t.length>300?t.slice(0,300)+E.dim(`
225
+ \u2026[truncated]`):t}}var Kv=0;function Wv(){return String(++Kv)}var Ui=`session-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;function Bg({registry:t,systemPrompt:e,chain:r="solana",modelReg:n,costTracker:o,onNotifyReady:s,onStatusReady:i,onModelSelectorReady:l}){let{exit:c}=Ov(),[f,d]=xt([]),[a,h]=xt(""),[p,g]=xt(null),[x,A]=xt(!1),[w]=xt(r),[O,T]=xt(!1),[B,v]=xt(""),[C,I]=xt({status:{},price:"",cost:"",news:""}),[j,F]=xt({news:[],price:null,watchList:[]}),[Q,P]=xt({cold:{sol:0,aiaiai:0,usdc:0},action:{sol:0,aiaiai:0,usdc:0},deposit:{sol:0,aiaiai:0,usdc:0}}),[$,N]=xt({recent:[],fees:{buyFees:0,burnFees:0,total:0}}),[U,q]=xt({cpu:0,ram:0,uptime:"0m",apiCalls:0}),[H,z]=xt("healthy"),oe=Yn(new Qi(40)),re=Yn(null),J=Yn(null),ae=Yn(null),le=Yn(null),se=Yn([]),ye=$r(),we="no-model";try{we=ci(n).model}catch{}let be=Jn(M=>{d(K=>{let me=[...K,{...M,id:Wv(),ts:Date.now()}];return se.current=me,me})},[]),S=Jn(M=>{be({role:"notify",content:M})},[be]),He=Jn((M,K)=>{I(me=>({...me,status:{...me.status,[M]:K}}))},[]),Re={notify:S,setStatus:He,setTheme(){},setHeader(){},showModelSelector:M=>{v(M??""),T(!0)},theme:ye};function rt(){n&&(t.addTool({name:"list_models",label:"List Models",description:"Search and filter available AI models.",parameters:n.listModelsParams,execute:(M,K)=>n.listModelsTool(M,K)}),t.addTool({name:"model_summary",label:"Model Summary",description:"Summary of available model tiers.",parameters:n.listModelsParams,execute:()=>n.modelSummaryTool()}),o&&t.addTool({name:"cost_report",label:"Cost Report",description:"Show session and lifetime token usage.",parameters:o.costReportParams,execute:()=>o.costReportTool()}),t.addTool({name:"get_aiaiai_price",label:"AIAIAI Price",description:"Get $AIAIAI price, liquidity, MCap, volume.",parameters:We.getAiaiaiPriceParams,execute:()=>We.getAiaiaiPriceTool()}),t.addTool({name:"get_token_price",label:"Token Price",description:"Get any Solana token price.",parameters:We.getTokenPriceParams,execute:(M,K)=>We.getTokenPriceTool(M,K)}),t.addTool({name:"get_news",label:"Get News",description:"Crypto news with sentiment.",parameters:Ep,execute:(M,K)=>dc(M,K)}),t.addTool({name:"get_candles",label:"Get Candles",description:"OHLCV from Binance + TA.",parameters:Cp,execute:(M,K)=>Sp(M,K)}),t.addTool({name:"analyze_ta",label:"Technical Analysis",description:"RSI, MACD, Bollinger, ATR.",parameters:kp,execute:async(M,K)=>{let Ue=K.prices.map((Qe,R)=>({timestamp:0,open:Qe,high:K.highs?.[R]??Qe,low:K.lows?.[R]??Qe,close:Qe,volume:K.volumes?.[R]??0})),G=await mc(Ue),At=G.find(Qe=>Qe.indicator==="SUMMARY");return{content:[{type:"text",text:`Technical Analysis:
226
+ ${G.map(Qe=>{let R=Qe.signal==="bullish"?"\u{1F7E2}":Qe.signal==="bearish"?"\u{1F534}":"\u26AA",V=Array.isArray(Qe.value)?`[${Qe.value.length}]`:Qe.value;return`${R} ${Qe.indicator}: ${V}`}).join(`
227
+ `)}`}],details:{results:G,overall_signal:At?.signal}}}}),t.addTool({name:"get_fear_greed",label:"Fear & Greed",description:"Crypto Fear & Greed Index.",parameters:{},execute:async()=>(await zo()).getFearGreedTool()}),t.addTool({name:"get_funding_rates",label:"Funding Rates",description:"Binance funding rates.",parameters:{},execute:async(M,K)=>(await zo()).getFundingRatesTool(M,K)}),t.addTool({name:"get_btc_mempool",label:"BTC Mempool",description:"BTC mempool stats.",parameters:{},execute:async()=>(await zo()).getBtcMempoolTool()}),t.addTool({name:"get_defi_tvl",label:"DeFi TVL",description:"DeFiLlama TVL.",parameters:{},execute:async(M,K)=>(await zo()).getDefiTvlTool(M,K)}),t.addTool({name:"get_solana_stats",label:"Solana Stats",description:"Solana epoch, slot, SOL price.",parameters:{},execute:async()=>(await zo()).getSolanaStatsTool()}),t.addTool({name:"get_agent_balance",label:"Agent Balance",description:"Cold + action wallet balances.",parameters:et.getAgentBalanceParams,execute:()=>et.getAgentBalanceTool()}),t.addTool({name:"get_deposit_balance",label:"Deposit Balance",description:"Deposit wallet + instructions.",parameters:et.getDepositBalanceParams,execute:()=>et.getDepositBalanceTool()}),t.addTool({name:"get_actions",label:"Agent Actions",description:"Recent buy/burn actions.",parameters:tt.getActionsParams,execute:(M,K)=>tt.getActionsTool(M,K)}),t.addTool({name:"get_fees",label:"Agent Fees",description:"Accumulated fees.",parameters:tt.getFeesParams,execute:()=>tt.getFeesTool()}),t.addTool({name:"read_task_context",label:"Read Task Context",description:"Read saved task context.",parameters:Ig.Object({taskId:Ig.String({description:"Task ID"})}),execute:(M,K)=>Si.readContextTool(M,K)}),t.addTool({name:"list_tasks",label:"List Tasks",description:"List saved task contexts.",parameters:{},execute:()=>Si.listTasksTool()}),t.addTool({name:"set_goal",label:"Set Goal",description:"Set a persistent goal.",parameters:pt.setGoalParams,execute:(M,K)=>pt.setGoalTool(M,K)}),t.addTool({name:"complete_goal",label:"Complete Goal",description:"Mark a goal complete.",parameters:pt.completeGoalParams,execute:(M,K)=>pt.completeGoalTool(M,K)}),t.addTool({name:"list_goals",label:"List Goals",description:"List goals.",parameters:pt.listGoalsParams,execute:(M,K)=>pt.listGoalsTool(M,K)}),t.addTool({name:"add_goal_note",label:"Add Goal Note",description:"Add a note to a goal.",parameters:pt.addGoalNoteParams,execute:(M,K)=>pt.addGoalNoteTool(M,K)}),t.addTool({name:"schedule_task",label:"Schedule Task",description:"Schedule a recurring task.",parameters:qt.addTaskParams,execute:(M,K)=>qt.addTaskTool(M,K)}),t.addTool({name:"list_schedule",label:"List Schedule",description:"List scheduled tasks.",parameters:qt.listTasksParams,execute:(M,K)=>qt.listTasksTool(M,K)}),t.addTool({name:"remove_schedule",label:"Remove Schedule",description:"Remove a scheduled task.",parameters:qt.removeTaskParams,execute:(M,K)=>qt.removeTaskTool(M,K)}),t.addTool({name:"gmgn",label:"GMGN Token Research",description:"Full GMGN access: token info, security, holders, traders, tracking, market data.",parameters:Wp,execute:(M,K)=>Rt(M,K)}),t.addTool({name:"gmgn_market",label:"GMGN Market Data",description:"Market data: trending, trenches, kline, signals.",parameters:Gp,execute:(M,K)=>Lc(M,K)}),t.addTool({name:"watch_token",label:"Watch Token",description:"Add token to watch list.",parameters:{},execute:async(M,K)=>(await lr()).watchTokenTool(M,K)}),t.addTool({name:"unwatch_token",label:"Unwatch Token",description:"Remove token from watch list.",parameters:{},execute:async(M,K)=>(await lr()).removeWatchTool(M,K)}),t.addTool({name:"watch_list",label:"Watch List",description:"Show watched tokens.",parameters:{},execute:async()=>(await lr()).listWatchTool()}),t.addTool({name:"add_alert",label:"Price Alert",description:"Set a price alert.",parameters:{},execute:async(M,K)=>(await lr()).addAlertTool(M,K)}),t.addTool({name:"check_alerts",label:"Check Alerts",description:"List active alerts.",parameters:{},execute:async()=>(await lr()).checkAlertsTool()}),t.addTool({name:"compare_tokens",label:"Compare Tokens",description:"Side-by-side token comparison.",parameters:{},execute:async(M,K)=>(await lr()).compareTokensTool(M,K)}),t.addTool({name:"portfolio",label:"Portfolio",description:"Wallet portfolio analysis.",parameters:{},execute:async(M,K)=>(await lr()).portfolioTool(M,K)}))}Pv(()=>{rt(),(async()=>{(async(u=3,m=2e3)=>{for(let y=0;y<u;y++)try{let b=await We.getAiaiaiPrice();F(L=>({...L,price:{priceUsd:b.priceUsd,change:b.priceChange24h,mcap:b.marketCap,liq:b.liquidityUsd}})),b.priceUsd&&I(L=>({...L,price:`$${parseFloat(b.priceUsd).toFixed(6)}`})),tt.setPrice(parseFloat(b.priceUsd||"0.0004"));return}catch(b){if(y===u-1)throw b;await new Promise(L=>setTimeout(L,m*(y+1)))}})().catch(()=>{console.error("Initial price fetch failed after retries")}),et.getAll().then(u=>{P({cold:{sol:u.cold.sol,aiaiai:u.cold.aiaiai,usdc:u.cold.usdc},action:{sol:u.action.sol,aiaiai:u.action.aiaiai,usdc:u.action.usdc},deposit:{sol:u.deposit.sol,aiaiai:u.deposit.aiaiai,usdc:u.deposit.usdc}})}).catch(()=>{}),tt.refresh().then(()=>{N({recent:tt.getRecentActions(8).map(u=>({type:u.type,amount:u.amount,usdValue:u.usdValue,timestamp:u.timestamp})),fees:tt.getFees()})}).catch(()=>{}),jn.getLatest().then(u=>{F(m=>({...m,news:u.items.slice(0,6).map(y=>({title:y.title,sentiment:y.sentiment??0,source:y.source}))})),I(m=>({...m,news:jn.statusBadge()}))}).catch(()=>{}),lr().then(({getWatchList:u})=>{F(m=>({...m,watchList:u()}))}),qt.start(u=>{be({role:"system",content:E.muted(`\u23F0 Scheduled: "${u.name}"`)}),!x&&re.current&&(A(!0),h(""),re.current.run(`[SCHEDULED TASK: ${u.name}] ${u.prompt}`).catch(m=>S(E.error(`Scheduler error: ${m.message}`))))});let K=null;lr().then(u=>{K=u}).catch(()=>{});let me=setInterval(()=>{We.getAiaiaiPrice().then(u=>{if(F(m=>({...m,price:{priceUsd:u.priceUsd,change:u.priceChange24h,mcap:u.marketCap,liq:u.liquidityUsd}})),u.priceUsd&&(I(m=>({...m,price:`$${parseFloat(u.priceUsd).toFixed(6)}`})),oe.current.push(parseFloat(u.priceUsd))),tt.setPrice(parseFloat(u.priceUsd||"0.0004")),Li.trackApiCall(),u.priceUsd&&K){let m=K.checkAlerts(parseFloat(u.priceUsd),"AIAIAI");for(let y of m)S(`\u{1F514} Alert triggered: ${y.type} $${y.price} \u2014 $AIAIAI is now $${u.priceUsd}`),Xc(`\u{1F514} **Alert**: ${y.type} $${y.price} \u2014 $AIAIAI now $${u.priceUsd}`).catch(()=>{})}}).catch(()=>{}),o&&I(u=>({...u,cost:o.statusLine()}))},3e4),Ue=setInterval(()=>{et.getAll().then(u=>{P({cold:{sol:u.cold.sol,aiaiai:u.cold.aiaiai,usdc:u.cold.usdc},action:{sol:u.action.sol,aiaiai:u.action.aiaiai,usdc:u.action.usdc},deposit:{sol:u.deposit.sol,aiaiai:u.deposit.aiaiai,usdc:u.deposit.usdc}})}).catch(()=>{}),tt.refresh().then(()=>{N({recent:tt.getRecentActions(8).map(u=>({type:u.type,amount:u.amount,usdValue:u.usdValue,timestamp:u.timestamp})),fees:tt.getFees()})}).catch(()=>{})},6e4),G=setInterval(()=>{jn.getLatest().then(u=>{F(m=>({...m,news:u.items.slice(0,6).map(y=>({title:y.title,sentiment:y.sentiment??0,source:y.source}))})),I(m=>({...m,news:jn.statusBadge()}))}).catch(()=>{})},3e5),At=setInterval(()=>{let u=Li.getStats();q({cpu:u.cpuPercent,ram:u.ramPercent,uptime:u.uptime,apiCalls:Li.getApiCount()})},1e4),ue=setInterval(async()=>{try{let u=await Nc();z(u.overall)}catch{}},6e4);Ve.startAutoSave(()=>se.current),Ve.setCurrentId(Ui);let Qe=setInterval(()=>{se.current.length>0&&Ve.save(se.current)},3e4),R=new Pn;R.setSystemPrompt(t.getSystemPrompt()||e||"You are AIAIAI Chain Agent."),ae.current=R;let V={ui:Re,hasUI:!0,config:{OPENROUTER_API_KEY:process.env.OPENROUTER_API_KEY,DEFAULT_MODEL:process.env.DEFAULT_MODEL}};le.current=V,t.fireHook("session_start",V).then(()=>{if(Wn.isAvailable){let m=Wn.buildContextBlock(Ui);m&&R.setSystemPrompt((R.getSystemPrompt()||"")+m)}let u=pt.buildContextBlock();u&&R.setSystemPrompt((R.getSystemPrompt()||"")+u),be({role:"system",content:E.muted("Session started. Type /help for commands.")})});let ce=new Rn(t,R,u=>{if(u.type==="text_delta")h(m=>m+u.text);else if(u.type==="tool_start")g(u.name);else if(u.type==="tool_done")g(null),be({role:"tool",content:jv(u.result),toolName:u.name,isError:u.isError});else if(u.type==="turn_done")A(!1),g(null),h(m=>(m.trim()&&(be({role:"assistant",content:m}),Wn.save(Ui,"assistant",m)),""));else if(u.type==="error")A(!1),g(null),h(""),S(E.error(`Error: ${u.message}`));else if(u.type==="approval_request"){g(null);let{toolName:m,args:y,approve:b}=u,L="";try{L=JSON.stringify(JSON.parse(y),null,2).slice(0,200)}catch{L=y.slice(0,200)}be({role:"notify",content:`\u26A0\uFE0F APPROVAL REQUIRED
230
228
 
231
- Tool: ${d}
232
- Args: ${b}
229
+ Tool: ${m}
230
+ Args: ${L}
233
231
 
234
- Type /approve or /deny to continue.`}),J.current=y}},R,"normal",n,o,gt,Si);return re.current=H,o&&B(P=>({...P,cost:o.statusLine()})),()=>{ue.current&&t.fireHook("session_end",ue.current).catch(()=>{}),qt.stop(),Ye.stopAutoSave(),f.length>0&&Ye.save(f),clearInterval(j),clearInterval(q),clearInterval(ke),clearInterval(G),clearInterval(de),clearInterval(nt),o?.saveLifetime()}})()},[]),Sv((se,j)=>{j.ctrl&&se==="c"&&(be({role:"system",content:E.muted("Goodbye \u{1F916}")}),f.length>0&&Ye.save(f),o?.saveLifetime(),setTimeout(c,200))});let ut=Jn(async se=>{let j=se.trim();if(!j)return;if(j.length>4096){T(E.error("Input too long (max 4KB). Try a shorter message."));return}let q=j.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");q!==j&&(T(E.warn("\u26A0\uFE0F Control characters removed from input.")),j=q);let ke=[/ignore (all |previous |above|prior) instructions/i,/you are now /i,/new instructions/i,/override (system|safety|rules)/i,/forget (all |everything|previous)/i,/\[system\]/i,/<\/system>/i];for(let G of ke)if(G.test(j)){T(E.error("\u26A0\uFE0F Blocked: Input contains suspicious patterns."));return}if(j.startsWith("/")){let[G,...nt]=j.slice(1).split(" "),de=nt.join(" ");if(G==="exit"||G==="quit"){f.length>0&&Ye.save(f),o?.saveLifetime(),be({role:"system",content:E.muted("Goodbye \u{1F916}")}),setTimeout(c,200);return}if(G==="help"){T(`Commands:
232
+ Type /approve or /deny to continue.`}),J.current=b}},V,"normal",n,o,pt,Si);return re.current=ce,o&&I(u=>({...u,cost:o.statusLine()})),()=>{le.current&&t.fireHook("session_end",le.current).catch(()=>{}),qt.stop(),Ve.stopAutoSave(),f.length>0&&Ve.save(f),clearInterval(me),clearInterval(Ue),clearInterval(G),clearInterval(At),clearInterval(Qe),clearInterval(ue),o?.saveLifetime()}})()},[]),Lv((M,K)=>{K.ctrl&&M==="c"&&(be({role:"system",content:E.muted("Goodbye \u{1F916}")}),f.length>0&&Ve.save(f),o?.saveLifetime(),setTimeout(c,200))});let ut=Jn(async M=>{let K=M.trim();if(!K)return;if(K.length>4096){S(E.error("Input too long (max 4KB). Try a shorter message."));return}let me=K.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");me!==K&&(S(E.warn("\u26A0\uFE0F Control characters removed from input.")),K=me);let Ue=[/ignore (all |previous |above|prior) instructions/i,/you are now /i,/new instructions/i,/override (system|safety|rules)/i,/forget (all |everything|previous)/i,/\[system\]/i,/<\/system>/i];for(let G of Ue)if(G.test(K)){S(E.error("\u26A0\uFE0F Blocked: Input contains suspicious patterns."));return}if(K.startsWith("/")){let[G,...At]=K.slice(1).split(" "),ue=At.join(" ");if(G==="exit"||G==="quit"){f.length>0&&Ve.save(f),o?.saveLifetime(),be({role:"system",content:E.muted("Goodbye \u{1F916}")}),setTimeout(c,200);return}if(G==="help"){S(`Commands:
235
233
  /token info|security|holders|traders
236
234
  /track kol|smartmoney|follow-wallet
237
235
  /market kline|trending|trenches|signal
@@ -240,53 +238,54 @@ Type /approve or /deny to continue.`}),J.current=y}},R,"normal",n,o,gt,Si);retur
240
238
  /models /cost /goals /schedule /update /diff
241
239
  /sessions /resume /memory /clear /exit
242
240
  /launches /theme /copy /simulate /explain /webhook /clipboard
241
+ /metrics_detail /health /dashboard
243
242
 
244
- Tab to auto-complete, \u2191\u2193 for history, Shift+Enter for multi-line`);return}if(G==="token"){let R=de.split(" "),H=R[0];if(!H||H==="help"){T(`Token commands:
243
+ Tab to auto-complete, \u2191\u2193 for history, Shift+Enter for multi-line`);return}if(G==="token"){let R=ue.split(" "),V=R[0];if(!V||V==="help"){S(`Token commands:
245
244
  /token info --chain <sol|bsc|base|eth> --address <addr>
246
245
  /token security --chain <chain> --address <addr>
247
246
  /token holders --chain <chain> --address <addr>
248
- /token traders --chain <chain> --address <addr>`);return}let P=R[R.indexOf("--chain")+1]||"sol",d=R[R.indexOf("--address")+1];if(!d&&H!=="help"){T(E.error("--address is required"));return}let m=await Rt("",{subcommand:H,chain:P,address:d});T(m.content[0].text);return}if(G==="track"){let R=de.split(" "),H=R[0];if(!H||H==="help"){T(`Track commands:
247
+ /token traders --chain <chain> --address <addr>`);return}let ce=R[R.indexOf("--chain")+1]||"sol",u=R[R.indexOf("--address")+1];if(!u&&V!=="help"){S(E.error("--address is required"));return}let m=await Rt("",{subcommand:V,chain:ce,address:u});S(m.content[0].text);return}if(G==="track"){let R=ue.split(" "),V=R[0];if(!V||V==="help"){S(`Track commands:
249
248
  /track kol --chain <sol|bsc|base|eth>
250
249
  /track smartmoney --chain <chain>
251
- /track follow-wallet --chain <chain>`);return}let P=R[R.indexOf("--chain")+1]||"sol",d=await Rt("",{subcommand:`track ${H}`,chain:P,limit:10});T(d.content[0].text);return}if(G==="market"){let R=de.split(" "),H=R[0];if(!H||H==="help"){T(`Market commands:
250
+ /track follow-wallet --chain <chain>`);return}let ce=R[R.indexOf("--chain")+1]||"sol",u=await Rt("",{subcommand:`track ${V}`,chain:ce,limit:10});S(u.content[0].text);return}if(G==="market"){let R=ue.split(" "),V=R[0];if(!V||V==="help"){S(`Market commands:
252
251
  /market kline --chain <chain> --address <addr> --resolution <1h|4h|1d>
253
252
  /market trending --chain <chain> --interval <1h|6h|24h>
254
253
  /market trenches --chain <chain> --type <new_creation|near_completion|completed>
255
- /market signal --chain <sol|bsc>`);return}let P=R[R.indexOf("--chain")+1]||"sol",d=R[R.indexOf("--address")+1],m=R[R.indexOf("--resolution")+1],y=R[R.indexOf("--interval")+1],b=R[R.indexOf("--type")+1],M={subcommand:`market ${H}`,chain:P};d&&(M.address=d),m&&(M.resolution=m),y&&(M.interval=y),b&&(M.type=b);let ee=await Rt("",M);T(ee.content[0].text);return}if(G==="watch"){let R=await eu("",{address:de||"AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump"});D(H=>({...H,watchList:Ho()})),T(R.content[0].text);return}if(G==="unwatch"){let R=await tu("",{address:de});D(H=>({...H,watchList:Ho()})),T(R.content[0].text);return}if(G==="watchlist"){let R=await ru();T(R.content[0].text);return}if(G==="alerts"){let R=await ou();T(R.content[0].text);return}if(G==="alert"){let R=de.split(" "),H=R[0],P=parseFloat(R[1]);if(!H||isNaN(P)){T(E.error("Usage: /alert above|below <price>"));return}let d=await nu("",{token:"AIAIAI",type:H,price:P});T(d.content[0].text);return}if(G==="compare"){let R=de.split(" ");if(R.length<2){T(E.error("Usage: /compare <address1> <address2>"));return}let H=await su("",{address1:R[0],address2:R[1]});T(H.content[0].text);return}if(G==="portfolio"){let H=await iu("",{address:de||"A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J"});T(H.content[0].text);return}if(G==="sessions"){let R=Ye.list();if(R.length===0){T("No saved sessions.");return}let H=R.slice(0,10).map((P,d)=>` ${d+1}. ${P.title} (${P.messageCount} msgs, ${new Date(P.updatedAt).toLocaleDateString()})`);T(`Recent Sessions:
256
- ${H.join(`
254
+ /market signal --chain <sol|bsc>`);return}let ce=R[R.indexOf("--chain")+1]||"sol",u=R[R.indexOf("--address")+1],m=R[R.indexOf("--resolution")+1],y=R[R.indexOf("--interval")+1],b=R[R.indexOf("--type")+1],L={subcommand:`market ${V}`,chain:ce};u&&(L.address=u),m&&(L.resolution=m),y&&(L.interval=y),b&&(L.type=b);let te=await Rt("",L);S(te.content[0].text);return}if(G==="watch"){let R=await nu("",{address:ue||"AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump"});F(V=>({...V,watchList:Ho()})),S(R.content[0].text);return}if(G==="unwatch"){let R=await ou("",{address:ue});F(V=>({...V,watchList:Ho()})),S(R.content[0].text);return}if(G==="watchlist"){let R=await su();S(R.content[0].text);return}if(G==="alerts"){let R=await au();S(R.content[0].text);return}if(G==="alert"){let R=ue.split(" "),V=R[0],ce=parseFloat(R[1]);if(!V||isNaN(ce)){S(E.error("Usage: /alert above|below <price>"));return}let u=await iu("",{token:"AIAIAI",type:V,price:ce});S(u.content[0].text);return}if(G==="compare"){let R=ue.split(" ");if(R.length<2){S(E.error("Usage: /compare <address1> <address2>"));return}let V=await lu("",{address1:R[0],address2:R[1]});S(V.content[0].text);return}if(G==="portfolio"){let V=await cu("",{address:ue||"A11iZoqEt6hU7HyggqC67ee4AtYmaJjwKCvJLerJRV2J"});S(V.content[0].text);return}if(G==="sessions"){let R=Ve.list();if(R.length===0){S("No saved sessions.");return}let V=R.slice(0,10).map((ce,u)=>` ${u+1}. ${ce.title} (${ce.messageCount} msgs, ${new Date(ce.updatedAt).toLocaleDateString()})`);S(`Recent Sessions:
255
+ ${V.join(`
257
256
  `)}
258
257
 
259
- Use /resume <number> to resume.`);return}if(G==="resume"){let R=Ye.list(),H=parseInt(de)-1;if(isNaN(H)||H<0||H>=R.length){T(E.error("Invalid session number."));return}let P=Ye.load(R[H].id);if(!P){T(E.error("Session not found."));return}u(P.messages),Ye.setCurrentId(P.id),T(`Resumed: ${P.title} (${P.messages.length} messages)`);return}if(G==="price"){let R=await Ue.getAiaiaiPriceTool();T(R.content[0].text);return}if(G==="news"){let R=await ul("",{limit:15});T(R.content[0].text);return}if(G==="models"){if(!n){T(E.error("Model registry not available"));return}let R=await n.listModelsTool("",{query:nt.join(" ")||void 0,limit:20});T(R.content[0].text);return}if(G==="cost"){if(!o){T(E.error("Cost tracker not available"));return}let R=await o.costReportTool();T(R.content[0].text);return}if(G==="model"){v(de),k(!0);return}if(G==="clear"){u([]);return}if(G==="wallet"){let R=await Ze.getAgentBalanceTool();T(R.content[0].text);return}if(G==="deposit"){let R=await Ze.getDepositBalanceTool();T(R.content[0].text);return}if(G==="burn"){T(["\u{1F525} Burn $AIAIAI","",`Deposit: ${sr}`,"Send SOL or USDC here.","",`Action: ${at}`,`Signer: ${_l}`].join(`
260
- `));return}if(G==="actions"||G==="activity"){let R=await et.getActionsTool("",{limit:15});T(R.content[0].text);return}if(G==="fees"){let R=await et.getFeesTool();T(R.content[0].text);return}if(G==="keys"||G==="providers"){T(`Switch to CLI for key management:
261
- aiaiai keys`);return}if(G==="goals"||G==="goal"){let R=de.trim().split(" ")[0];if(R==="add"){let H=de.trim().slice(4).trim();if(!H){T(E.error("Usage: /goal add <text>"));return}let P=await gt.setGoalTool("",{text:H});T(P.content[0].text)}else if(R==="done"||R==="complete"){let H=de.trim().split(" ")[1];if(!H){T(E.error("Usage: /goal done <id>"));return}let P=await gt.completeGoalTool("",{id:H});T(P.content[0].text)}else{let H=await gt.listGoalsTool("",{status:"all"});T(H.content[0].text)}return}if(G==="schedule"||G==="sched"){let R=await qt.listTasksTool("",{enabled_only:!1});T(R.content[0].text);return}if(G==="update"||G==="upgrade"){T(`Switch to CLI:
262
- aiaiai update`);return}if(G==="memory"&&de.trim()){let R=Wn.search(de.trim(),8);if(R.length===0){T(E.muted("No memories found."));return}let H=R.map(P=>`[${new Date(P.ts).toLocaleDateString()} ${P.role}] ${P.content.slice(0,120)}`);T(`Memory: "${de.trim()}"
263
- ${H.join(`
264
- `)}`);return}if(G==="gmgn"||G==="gmgnhelp"){let R=nt.join(" ");if(!R||R==="help"){T(Pi());return}if(R==="status"){T(Oi());return}if(R.startsWith("setup")){T("Run in CLI: aiaiai gmgn setup");return}let H=await Rt("",{subcommand:R.split(" ")[0],chain:"sol"});T(H.content[0].text);return}if(G==="gmgnmarket"||G==="market"){let R=await $l("",{query:de||"trending",chain:"sol"});T(R.content[0].text);return}if(G==="launches"||G==="calendar"){let R=await zp("",{chain:de||"solana",limit:15});T(R.content[0].text);return}if(G==="diff"||G==="compared"){let R=Ye.list();if(R.length<2){T("Need at least 2 saved sessions to compare. Start a new session with /exit and restart.");return}let H=R[0],P=R[1];if(!H||!P){T("Could not load sessions for comparison.");return}let d=["\u{1F4CA} Session Diff",`Current: ${H.title} (${H.messageCount} msgs)`,`Previous: ${P.title} (${P.messageCount} msgs)`,`Difference: ${H.messageCount-P.messageCount} messages`,`Last active: ${new Date(H.updatedAt).toLocaleString()}`];T(d.join(`
265
- `));return}if(G==="copy"&&de.trim()){let R=Jl(de.trim());T(R?E.success(`\u2713 Copied to clipboard: ${de.slice(0,30)}\u2026`):E.error("Clipboard not supported in this terminal. Try: "+Ni()));return}if(G==="theme"){if(!de||de==="list"){let R=Wl();T(`\u{1F3A8} Themes
266
- ${Gl()}
258
+ Use /resume <number> to resume.`);return}if(G==="resume"){let R=Ve.list(),V=parseInt(ue)-1;if(isNaN(V)||V<0||V>=R.length){S(E.error("Invalid session number."));return}let ce=Ve.load(R[V].id);if(!ce){S(E.error("Session not found."));return}d(ce.messages),Ve.setCurrentId(ce.id),S(`Resumed: ${ce.title} (${ce.messages.length} messages)`);return}if(G==="price"){let R=await We.getAiaiaiPriceTool();S(R.content[0].text);return}if(G==="news"){let R=await dc("",{limit:15});S(R.content[0].text);return}if(G==="models"){if(!n){S(E.error("Model registry not available"));return}let R=await n.listModelsTool("",{query:At.join(" ")||void 0,limit:20});S(R.content[0].text);return}if(G==="cost"){if(!o){S(E.error("Cost tracker not available"));return}let R=await o.costReportTool();S(R.content[0].text);return}if(G==="model"){v(ue),T(!0);return}if(G==="clear"){d([]);return}if(G==="wallet"){let R=await et.getAgentBalanceTool();S(R.content[0].text);return}if(G==="deposit"){let R=await et.getDepositBalanceTool();S(R.content[0].text);return}if(G==="burn"){S(["\u{1F525} Burn $AIAIAI","",`Deposit: ${ir}`,"Send SOL or USDC here.","",`Action: ${at}`,`Signer: ${Tc}`].join(`
259
+ `));return}if(G==="actions"||G==="activity"){let R=await tt.getActionsTool("",{limit:15});S(R.content[0].text);return}if(G==="fees"){let R=await tt.getFeesTool();S(R.content[0].text);return}if(G==="keys"||G==="providers"){S(`Switch to CLI for key management:
260
+ aiaiai keys`);return}if(G==="goals"||G==="goal"){let R=ue.trim().split(" ")[0];if(R==="add"){let V=ue.trim().slice(4).trim();if(!V){S(E.error("Usage: /goal add <text>"));return}let ce=await pt.setGoalTool("",{text:V});S(ce.content[0].text)}else if(R==="done"||R==="complete"){let V=ue.trim().split(" ")[1];if(!V){S(E.error("Usage: /goal done <id>"));return}let ce=await pt.completeGoalTool("",{id:V});S(ce.content[0].text)}else{let V=await pt.listGoalsTool("",{status:"all"});S(V.content[0].text)}return}if(G==="schedule"||G==="sched"){let R=await qt.listTasksTool("",{enabled_only:!1});S(R.content[0].text);return}if(G==="update"||G==="upgrade"){S(`Switch to CLI:
261
+ aiaiai update`);return}if(G==="memory"&&ue.trim()){let R=Wn.search(ue.trim(),8);if(R.length===0){S(E.muted("No memories found."));return}let V=R.map(ce=>`[${new Date(ce.ts).toLocaleDateString()} ${ce.role}] ${ce.content.slice(0,120)}`);S(`Memory: "${ue.trim()}"
262
+ ${V.join(`
263
+ `)}`);return}if(G==="gmgn"||G==="gmgnhelp"){let R=At.join(" ");if(!R||R==="help"){S(Pi());return}if(R==="status"){S($i());return}if(R.startsWith("setup")){S("Run in CLI: aiaiai gmgn setup");return}let V=await Rt("",{subcommand:R.split(" ")[0],chain:"sol"});S(V.content[0].text);return}if(G==="gmgnmarket"||G==="market"){let R=await Lc("",{query:ue||"trending",chain:"sol"});S(R.content[0].text);return}if(G==="launches"||G==="calendar"){let R=await tg("",{chain:ue||"solana",limit:15});S(R.content[0].text);return}if(G==="diff"||G==="compared"){let R=Ve.list();if(R.length<2){S("Need at least 2 saved sessions to compare. Start a new session with /exit and restart.");return}let V=R[0],ce=R[1];if(!V||!ce){S("Could not load sessions for comparison.");return}let u=["\u{1F4CA} Session Diff",`Current: ${V.title} (${V.messageCount} msgs)`,`Previous: ${ce.title} (${ce.messageCount} msgs)`,`Difference: ${V.messageCount-ce.messageCount} messages`,`Last active: ${new Date(V.updatedAt).toLocaleString()}`];S(u.join(`
264
+ `));return}if(G==="copy"&&ue.trim()){let R=Hc(ue.trim());S(R?E.success(`\u2713 Copied to clipboard: ${ue.slice(0,30)}\u2026`):E.error("Clipboard not supported in this terminal. Try: "+Ni()));return}if(G==="theme"){if(!ue||ue==="list"){let R=Jc();S(`\u{1F3A8} Themes
265
+ ${Yc()}
267
266
 
268
- Apply: /theme <name>`)}else Kl(de)?T(E.success(`\u2713 Theme set to "${de}". Restart to apply.`)):T(E.error(`Unknown theme "${de}". Try: /theme list`));return}if(G==="simulate"||G==="sim"){if(!de.trim()){T(E.error("Usage: /simulate <base64-tx>"));return}let R=await eg("",{transaction:de.trim()});T(R.content[0].text);return}if(G==="explain"){if(!n){T(E.error("Model registry not available"));return}let R=[...f].reverse().find(H=>H.role==="tool");if(!R){T("No tool result to explain. Run a tool first.");return}be({role:"user",content:`Explain this tool result in simple terms:
269
- ${R.content.slice(0,2e3)}`}),g(!0),h("");try{await re.current.run(`Explain this tool result simply:
270
- ${R.content.slice(0,2e3)}`)}catch(H){g(!1),T(E.error(`Error: ${H.message}`))}return}if(G==="webhook"||G==="webhooks"){Vl()?T(`\u2705 Webhooks configured
267
+ Apply: /theme <name>`)}else qc(ue)?S(E.success(`\u2713 Theme set to "${ue}". Restart to apply.`)):S(E.error(`Unknown theme "${ue}". Try: /theme list`));return}if(G==="simulate"||G==="sim"){if(!ue.trim()){S(E.error("Usage: /simulate <base64-tx>"));return}let R=await og("",{transaction:ue.trim()});S(R.content[0].text);return}if(G==="explain"){if(!n){S(E.error("Model registry not available"));return}let R=[...se.current].reverse().find(V=>V.role==="tool");if(!R){S("No tool result to explain. Run a tool first.");return}be({role:"user",content:`Explain this tool result in simple terms:
268
+ ${R.content.slice(0,2e3)}`}),A(!0),h("");try{await re.current.run(`Explain this tool result simply:
269
+ ${R.content.slice(0,2e3)}`)}catch(V){A(!1),S(E.error(`Error: ${V.message}`))}return}if(G==="webhook"||G==="webhooks"){Zc()?S(`\u2705 Webhooks configured
271
270
 
272
271
  Usage: /webhook test
273
- Config: WEBHOOK_DISCORD / WEBHOOK_TELEGRAM in ~/.aiaiai/.env`):T(`No webhooks configured.
274
- Add WEBHOOK_DISCORD=... or WEBHOOK_TELEGRAM=... to ~/.aiaiai/.env`);return}if(G==="clipboard"){T(Ni());return}if(G==="resume"){th(),T(E.success("\u2713 Resumed from panic mode. External calls re-enabled."));return}if(G==="panic"||G==="status"){let R=ci(),H=rh();T(`System Status
272
+ Config: WEBHOOK_DISCORD / WEBHOOK_TELEGRAM in ~/.aiaiai/.env`):S(`No webhooks configured.
273
+ Add WEBHOOK_DISCORD=... or WEBHOOK_TELEGRAM=... to ~/.aiaiai/.env`);return}if(G==="clipboard"){S(Ni());return}if(G==="resume"){sh(),S(E.success("\u2713 Resumed from panic mode. External calls re-enabled."));return}if(G==="panic"||G==="status"){let R=li(),V=ih();S(`System Status
275
274
  Panic mode: ${R?"\u{1F534} ACTIVE":"\u{1F7E2} normal"}
276
- Errors (60s): ${H}/10
275
+ Errors (60s): ${V}/10
277
276
  ${R?`
278
- Type /resume to resume external calls.`:""}`);return}if(G==="health"){T("Running health checks..."),Dl().then(R=>{T(Kp(R))}).catch(()=>{});return}if(G==="dashboard"||G==="metrics"){T(qp());return}if(G==="analytics"||G==="stats"){T(Jp());return}let dt=t.getCommand(G);if(!dt){let R=ig(G),H=R.length>0?`
279
- Did you mean: ${R.map(P=>`/${P}`).join(", ")}?`:"";T(E.error(`Unknown: /${G} \u2014 try /help${H}`));return}try{await dt.handler(de,{ui:Pe})}catch(R){T(E.error(`Error: ${R.message}`))}return}if(!re.current){T(E.error("Agent not ready"));return}be({role:"user",content:j}),Wn.save(Ui,"user",j),g(!0),h("");try{await re.current.run(j)}catch(G){g(!1),T(E.error(`Error: ${G.message}`))}},[t,c,be,T,Pe,n,o]),qe=Jn(se=>{k(!1);try{let j=process.env.AIAIAI_HOME??Cg(Rv(),".aiaiai"),q=Cg(j,".env");Bv(j,{recursive:!0});let ke=_v(q)?Tv(q,"utf-8"):"",G=/^DEFAULT_MODEL=.*$/m,nt=`DEFAULT_MODEL=${se}`;Iv(q,G.test(ke)?ke.replace(G,nt):ke+`
280
- `+nt+`
281
- `,"utf-8"),process.env.DEFAULT_MODEL=se}catch{}T(E.accent(`Model set to: ${se}
282
- Restart to apply.`))},[T]),Ft=Jn(()=>{k(!1)},[]),Ot=Cv(()=>{if(!n)return[];let se=["orchestrator","analyst","worker","free"],j=[];for(let q of se){let ke=n.getPool(q);for(let G of ke)G.available&&G.failures<3&&j.push({id:G.model.id,tier:q})}return j},[n]),lr=Pv(le.current),ln=[S.cost,S.news,...Object.values(S.status)].filter(Boolean).join(" ")||null,rt=44,ur=38,Jt=se=>se>0?N.success:se<0?N.error:N.muted,ts=se=>se==="buy"?"\u2197":se==="burn"?"\u{1F525}":"\u2192";return Ce(lt,{flexDirection:"column",children:[Re(Om,{model:we,chain:w,price:S.price,toolRunning:p,connected:!0,statusLine:ln,cpu:W.cpu,ram:W.ram,uptime:W.uptime,apiCalls:W.apiCalls}),oe==="down"&&Re(lt,{borderStyle:"round",borderColor:N.error,paddingX:1,children:Re(Ae,{color:N.error,bold:!0,children:"\u26A0\uFE0F Limited functionality \u2014 multiple services unavailable. Check /health"})}),oe==="degraded"&&Re(lt,{borderStyle:"round",borderColor:N.warn,paddingX:1,children:Re(Ae,{color:N.warn,children:"\u{1F7E1} Some services experiencing issues"})}),$?Re(Vm,{models:Ot,currentModelId:process.env.DEFAULT_MODEL??"",onSelect:qe,onCancel:Ft,initialQuery:I}):Ce(lt,{flexDirection:"row",flexGrow:1,overflow:"hidden",children:[Ce(lt,{flexDirection:"column",width:40,flexShrink:0,children:[Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.accent,paddingX:1,children:[Re(Ae,{bold:!0,color:N.accent,children:"\u{1F916} $AIAIAI"}),U.price?Ce(Qv,{children:[Ce(Ae,{color:Jt(U.price.change),children:[U.price.priceUsd?`$${parseFloat(U.price.priceUsd).toFixed(8)}`:"N/A"," ",U.price.change>0?"\u25B2":U.price.change<0?"\u25BC":"\u2500",Math.abs(U.price.change).toFixed(1),"%"]}),Re(Yp,{data:ie.current.getData(),width:38,color:Jt(U.price.change),label:""}),Ce(Ae,{color:N.muted,children:["MCap: ",U.price.mcap?`$${(U.price.mcap/1e3).toFixed(1)}k`:"N/A"]}),Ce(Ae,{color:N.muted,children:["Liq: $",(U.price.liq/1e3).toFixed(1),"k"]})]}):Re(Ae,{color:N.muted,children:"Loading..."})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F4BC} Action"}),Ce(Ae,{color:N.muted,children:["SOL: ",Q.action.sol.toFixed(2)]}),Ce(Ae,{color:N.muted,children:["AIAIAI: ",Q.action.aiaiai.toLocaleString(void 0,{maximumFractionDigits:0})]})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F4B0} Deposit"}),Ce(Ae,{color:N.muted,children:["USDC: ",Q.deposit.usdc.toFixed(2)]}),Ce(Ae,{color:N.muted,children:["SOL: ",Q.deposit.sol.toFixed(2)]})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u26A1 Actions"}),L.recent.length>0?L.recent.map((se,j)=>{let q=se.type==="buy"?N.success:se.type==="burn"?N.error:N.muted,ke=new Date(se.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return Ce(Ae,{color:q,children:[ts(se.type)," ",ke," ",se.type," ",se.amount.toLocaleString()]},j)}):Re(Ae,{color:N.muted,children:"Waiting..."})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F4B5} Fees (0.5%)"}),Ce(Ae,{color:N.muted,children:["Buy: $",L.fees.buyFees.toFixed(4)]}),Ce(Ae,{color:N.accent,bold:!0,children:["Total: $",L.fees.total.toFixed(4)]})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F441}\uFE0F Watch"}),U.watchList.length>0?U.watchList.slice(0,4).map((se,j)=>Ce(Ae,{color:N.muted,children:[se.slice(0,8),"\u2026",se.slice(-6)]},j)):Re(Ae,{color:N.muted,children:"No tokens watched"})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F4F0} News"}),U.news.length>0?U.news.slice(0,4).map((se,j)=>{let q=se.sentiment>.3?N.success:se.sentiment<-.3?N.error:N.muted,ke=se.title.length>30?se.title.slice(0,28)+"...":se.title;return Re(Ae,{color:q,children:ke},j)}):Re(Ae,{color:N.muted,children:"Loading..."})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"Context"}),Ce(Ae,{color:lr.color,children:[lr.bar," ",lr.pct,"%"]})]}),Ce(lt,{flexDirection:"column",borderStyle:"round",borderColor:N.dim,paddingX:1,marginTop:1,children:[Re(Ae,{bold:!0,children:"\u{1F680} Recent"}),Re(Ae,{color:N.muted,children:Xp()})]})]}),Re(lt,{flexDirection:"column",flexGrow:1,children:Re(Qm,{messages:f,streamingText:a,toolRunning:p,onSubmit:ut,disabled:C,onAbort:()=>{re.current?.abort(),g(!1),A(null),h(se=>(se.trim()&&be({role:"assistant",content:se+" \u2014 [interrupted]"}),"")),be({role:"system",content:E.dim("\u2014 stream interrupted \u2014")})}})})]})]})}import{Component as Dv}from"react";import{Box as du,Text as Ki}from"ink";import{jsx as Hn,jsxs as Nv}from"react/jsx-runtime";var Wi=class extends Dv{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,r){try{let{writeFileSync:n,mkdirSync:o,existsSync:s}=ae("node:fs"),{join:i}=ae("node:path"),{homedir:l}=ae("node:os"),c=i(l(),".aiaiai","crashes");s(c)||o(c,{recursive:!0});let f={timestamp:new Date().toISOString(),type:"ui_render_error",error:{name:e.name,message:e.message,stack:e.stack},componentStack:r.componentStack};n(i(c,`ui-error-${Date.now()}.json`),JSON.stringify(f,null,2),"utf-8")}catch{}this.props.onError?.(e)}render(){return this.state.hasError?Hn(du,{flexDirection:"column",padding:2,children:Hn(du,{borderStyle:"round",borderColor:"yellow",paddingX:2,paddingY:1,children:Nv(du,{flexDirection:"column",children:[Hn(Ki,{bold:!0,color:"yellow",children:"\u26A0\uFE0F UI Error \u2014 restarting..."}),Hn(Ki,{dimColor:!0,children:this.state.error?.message?.slice(0,100)??"Unknown render error"}),Hn(Ki,{dimColor:!0,children:"Crash dump written to ~/.aiaiai/crashes/"}),Hn(Ki,{dimColor:!0,children:"Press Ctrl+C to exit, or wait for auto-recovery."})]})})}):this.props.children}};import{existsSync as Mv,appendFileSync as Fv,mkdirSync as Uv}from"node:fs";import{join as mu}from"node:path";import{homedir as jv}from"node:os";var Kv=process.env.AIAIAI_HOME??mu(jv(),".aiaiai"),fu=mu(Kv,".logs"),Wv=mu(fu,"agent.log"),Gv=[/sk-[a-zA-Z0-9]{20,}/g,/[A-Za-z0-9]{32,}/g,/Bearer\s+[A-Za-z0-9\-._~+/]+/g,/api[_-]?key["\s:=]+["']?[^\s"']+/gi,/secret["\s:=]+["']?[^\s"']+/gi,/[A-Z0-9]{40,}/g];var _g="[REDACTED]";function qv(t){let e=t;for(let r of Gv)e=e.replace(r,n=>n.length>8?n.slice(0,4)+"\u2026"+_g:_g);return e}function Jv(){Mv(fu)||Uv(fu,{recursive:!0,mode:448})}function Yv(t){try{Jv(),Fv(Wv,t+`
283
- `,{encoding:"utf-8"})}catch{}}function Gi(...t){let e=t.map(s=>typeof s=="string"?s:String(s)).join(" "),r=qv(e),o=`[${new Date().toISOString()}] ${r}`;try{Yv(o)}catch{}process.stdout.write(o+`
284
- `)}Ke();Ke();pt();import{Type as cr}from"@sinclair/typebox";var Hv=[{id:"openrouter",envVar:"OPENROUTER_API_KEY",baseUrl:"https://openrouter.ai/api/v1/models",mapper:t=>({id:t.id,name:t.name,context:t.context_length??131072,max:t.top_provider?.max_completion_tokens??4096})},{id:"anthropic",envVar:"ANTHROPIC_API_KEY",baseUrl:"https://api.anthropic.com/v1/models",mapper:t=>({id:t.id,name:t.name,context:t.context_length??2e5,max:t.top_provider?.max_completion_tokens??8192})},{id:"openai",envVar:"OPENAI_API_KEY",baseUrl:"https://api.openai.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??128e3,max:4096})},{id:"google",envVar:"GOOGLE_API_KEY",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",mapper:t=>({id:t.name,name:t.displayName??t.name,context:t.contextLength??1048576,max:8192})},{id:"deepseek",envVar:"DEEPSEEK_API_KEY",baseUrl:"https://api.deepseek.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??65536,max:8192})},{id:"groq",envVar:"GROQ_API_KEY",baseUrl:"https://api.groq.com/openai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"mistral",envVar:"MISTRAL_API_KEY",baseUrl:"https://api.mistral.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??32e3,max:8192})},{id:"together",envVar:"TOGETHER_API_KEY",baseUrl:"https://api.together.xyz/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"fireworks",envVar:"FIREWORKS_API_KEY",baseUrl:"https://api.fireworks.ai/inference/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"cerebras",envVar:"CEREBRAS_API_KEY",baseUrl:"https://api.cerebras.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"nvidia",envVar:"NVIDIA_NIM_API_KEY",baseUrl:"https://integrate.api.nvidia.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"xai",envVar:"XAI_API_KEY",baseUrl:"https://api.x.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"huggingface",envVar:"HUGGINGFACE_API_KEY",baseUrl:"https://huggingface.co/api/models?limit=100&inference_provider=auto",mapper:t=>({id:t.id,name:t.id,context:131072,max:4096})}],Vv="https://openrouter.ai/api/v1/models";function hu(t){let e=t.id.toLowerCase(),r=t.name.toLowerCase();return e.includes("o1")||e.includes("o3")||e.includes("claude-3.5-sonnet")||e.includes("claude-4")||e.includes("gemini-2.5-pro")||e.includes("gpt-4o")&&!e.includes("mini")?"orchestrator":e.includes("sonnet")||e.includes("gpt-4o-mini")||e.includes("claude-3-haiku")||e.includes("gemini-2.0-flash")||e.includes("gemini-1.5-pro")||e.includes("mistral-large")||e.includes("llama-3.1-70b")||e.includes("llama-3.3-70b")||e.includes("command-r-plus")||e.includes("deepseek-v2")||e.includes("qwen-2.5-72b")||e.includes("mixtral-8x22b")?"analyst":e.includes("haiku")||e.includes("flash")||e.includes("mistral-7b")||e.includes("llama-3.1-8b")||e.includes("llama-3.2")||e.includes("phi-3")||e.includes("qwen-2.5-7b")||e.includes("gemma-2")||e.includes("deepseek-v2-lite")||e.includes("ministral-3b")||e.includes("command-r-08-2024")||e.includes("mixtral-8x7b")||e.includes("nemotron-4")||e.includes("claude-3-opus")?"worker":"free"}var pu=class{models=[];tiered=new Map;providerModels=new Map;initialized=!1;async initialise(){if(this.initialized)return;this.models=[],this.providerModels.clear();let e=Hv.filter(n=>Tt.get(n.envVar)),r=await Promise.allSettled(e.map(async n=>{let o=Tt.get(n.envVar),s={"Content-Type":"application/json"};n.id==="openrouter"?s.Authorization=`Bearer ${o}`:n.id==="anthropic"?s["x-api-key"]=o:s.Authorization=`Bearer ${o}`;let i=n.baseUrl;n.id==="google"&&(i=`${n.baseUrl}?key=${o}`);let l=new AbortController,c=setTimeout(()=>l.abort(),5e3);try{let f=await me(i,{timeout:5e3,retries:0,headers:s,signal:l.signal});if(clearTimeout(c),!f.ok)return X.warn("ModelRegistry",`Provider ${n.id} returned ${f.status}`),[];let u=await f.json(),a=u.data??u.models??u;if(!Array.isArray(a))return[];let h=[];for(let p of a)try{let A=n.mapper(p);if(!A||!A.id)continue;h.push({id:A.id,name:A.name??A.id,provider:n.id,context_length:A.context??131072,max_tokens:A.max??4096})}catch(A){X.debug("ModelRegistry","Skipped bad model entry",{error:A.message})}return h}catch(f){return clearTimeout(c),X.warn("ModelRegistry",`Provider ${n.id} timed out or failed`,{error:f.message}),[]}}));for(let n=0;n<r.length;n++){let o=r[n],s=e[n];if(o.status==="fulfilled")for(let i of o.value)this.models.push(i),this.providerModels.has(s.id)||this.providerModels.set(s.id,[]),this.providerModels.get(s.id).push(i)}if(this.models.length===0){let n=Tt.get("OPENROUTER_API_KEY");if(n)try{let o=await me(Vv,{timeout:5e3,retries:0,headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"}});if(o.ok){let i=(await o.json()).data??[];for(let l of i){let c=l.top_provider;this.models.push({id:l.id,name:l.name??l.id,provider:"openrouter",context_length:l.context_length??131072,max_tokens:c?.max_completion_tokens??4096})}}}catch{}}this.buildTiers(),this.initialized=!0}buildTiers(){this.tiered.clear();let e=["orchestrator","analyst","worker","free"];for(let r of e)this.tiered.set(r,[]);for(let r of this.models){let n=hu(r);this.tiered.get(n)?.push({model:r,tier:n,available:!0,failures:0})}}get modelCount(){return this.models.length}getProviderCount(){return this.providerModels.size}getProviderModels(e){return this.providerModels.get(e)??[]}getAllModels(){return[...this.models]}getPool(e){return this.tiered.get(e)??[]}getTier(e){let r=this.models.find(n=>n.id===e);return r?hu(r):void 0}resolvePrimary(){for(let e of["orchestrator","analyst","worker","free"]){let n=(this.tiered.get(e)??[]).filter(o=>o.available&&o.failures<3);if(n.length>0)return n[0].model.id}return"openai/gpt-4o-mini"}listModelsParams=cr.Object({query:cr.Optional(cr.String()),provider:cr.Optional(cr.String()),limit:cr.Optional(cr.Number({default:30})),available_only:cr.Optional(cr.Boolean({default:!0}))});async listModelsTool(e,r){let n=[...this.models],o=(r.query||"").toLowerCase();o&&(n=n.filter(f=>f.id.toLowerCase().includes(o)||f.name.toLowerCase().includes(o)));let s=(r.provider||"").toLowerCase();s&&(n=n.filter(f=>f.provider===s));let i=r.limit||30,c=n.slice(0,i).map(f=>{let u=hu(f);return`${{orchestrator:"\u2B50",analyst:"\u{1F52C}",worker:"\u26A1",free:"\u{1F193}"}[u]??"\u2022"} [${f.provider}] ${f.id} \u2014 ${f.name} (${f.context_length}t)`});return{content:[{type:"text",text:`Models (${n.length} from ${this.providerModels.size} providers):
277
+ Type /resume to resume external calls.`:""}`);return}if(G==="health"){S("Running health checks..."),Nc().then(R=>{S(Jp(R))}).catch(()=>{});return}if(G==="dashboard"||G==="metrics"){S(Hp());return}if(G==="analytics"||G==="stats"){S(zp());return}if(G==="metrics_detail"||G==="metrics_json"){let{metricsCollector:R}=await Promise.resolve().then(()=>(Uc(),Yp)),V=R.getSummary();S(V);return}let Qe=t.getCommand(G);if(!Qe){let R=ug(G),V=R.length>0?`
278
+ Did you mean: ${R.map(ce=>`/${ce}`).join(", ")}?`:"";S(E.error(`Unknown: /${G} \u2014 try /help${V}`));return}try{await Qe.handler(ue,{ui:Re})}catch(R){S(E.error(`Error: ${R.message}`))}return}if(!re.current){S(E.error("Agent not ready"));return}be({role:"user",content:K}),Wn.save(Ui,"user",K),A(!0),h("");try{await re.current.run(K)}catch(G){A(!1),S(E.error(`Error: ${G.message}`))}},[t,c,be,S,Re,n,o]),qe=Jn(M=>{T(!1);try{let K=process.env.AIAIAI_HOME??Tg(Fv(),".aiaiai"),me=Tg(K,".env");Mv(K,{recursive:!0});let Ue=Qv(me)?Dv(me,"utf-8"):"",G=/^DEFAULT_MODEL=.*$/m,At=`DEFAULT_MODEL=${M}`;Nv(me,G.test(Ue)?Ue.replace(G,At):Ue+`
279
+ `+At+`
280
+ `,"utf-8"),process.env.DEFAULT_MODEL=M}catch{}S(E.accent(`Model set to: ${M}
281
+ Restart to apply.`))},[S]),Ft=Jn(()=>{T(!1)},[]),$t=$v(()=>{if(!n)return[];let M=["orchestrator","analyst","worker","free"],K=[];for(let me of M){let Ue=n.getPool(me);for(let G of Ue)G.available&&G.failures<3&&K.push({id:G.model.id,tier:me})}return K},[n]),ur=Uv(ae.current),cn=[C.cost,C.news,...Object.values(C.status)].filter(Boolean).join(" ")||null,nt=44,dr=38,Jt=M=>M>0?D.success:M<0?D.error:D.muted,rs=M=>M==="buy"?"\u2197":M==="burn"?"\u{1F525}":"\u2192";return Ce(ct,{flexDirection:"column",children:[Be(Qm,{model:we,chain:w,price:C.price,toolRunning:p,connected:!0,statusLine:cn,cpu:U.cpu,ram:U.ram,uptime:U.uptime,apiCalls:U.apiCalls}),H==="down"&&Be(ct,{borderStyle:"round",borderColor:D.error,paddingX:1,children:Be(Ae,{color:D.error,bold:!0,children:"\u26A0\uFE0F Limited functionality \u2014 multiple services unavailable. Check /health"})}),H==="degraded"&&Be(ct,{borderStyle:"round",borderColor:D.warn,paddingX:1,children:Be(Ae,{color:D.warn,children:"\u{1F7E1} Some services experiencing issues"})}),O?Be(Zm,{models:$t,currentModelId:process.env.DEFAULT_MODEL??"",onSelect:qe,onCancel:Ft,initialQuery:B}):Ce(ct,{flexDirection:"row",flexGrow:1,overflow:"hidden",children:[Ce(ct,{flexDirection:"column",width:40,flexShrink:0,children:[Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.accent,paddingX:1,children:[Be(Ae,{bold:!0,color:D.accent,children:"\u{1F916} $AIAIAI"}),j.price?Ce(Gv,{children:[Ce(Ae,{color:Jt(j.price.change),children:[j.price.priceUsd?`$${parseFloat(j.price.priceUsd).toFixed(8)}`:"N/A"," ",j.price.change>0?"\u25B2":j.price.change<0?"\u25BC":"\u2500",Math.abs(j.price.change).toFixed(1),"%"]}),Be(Xp,{data:oe.current.getData(),width:38,color:Jt(j.price.change),label:""}),Ce(Ae,{color:D.muted,children:["MCap: ",j.price.mcap?`$${(j.price.mcap/1e3).toFixed(1)}k`:"N/A"]}),Ce(Ae,{color:D.muted,children:["Liq: $",(j.price.liq/1e3).toFixed(1),"k"]})]}):Be(Ae,{color:D.muted,children:"Loading..."})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F4BC} Action"}),Ce(Ae,{color:D.muted,children:["SOL: ",Q.action.sol.toFixed(2)]}),Ce(Ae,{color:D.muted,children:["AIAIAI: ",Q.action.aiaiai.toLocaleString(void 0,{maximumFractionDigits:0})]})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F4B0} Deposit"}),Ce(Ae,{color:D.muted,children:["USDC: ",Q.deposit.usdc.toFixed(2)]}),Ce(Ae,{color:D.muted,children:["SOL: ",Q.deposit.sol.toFixed(2)]})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u26A1 Actions"}),$.recent.length>0?$.recent.map((M,K)=>{let me=M.type==="buy"?D.success:M.type==="burn"?D.error:D.muted,Ue=new Date(M.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return Ce(Ae,{color:me,children:[rs(M.type)," ",Ue," ",M.type," ",M.amount.toLocaleString()]},K)}):Be(Ae,{color:D.muted,children:"Waiting..."})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F4B5} Fees (0.5%)"}),Ce(Ae,{color:D.muted,children:["Buy: $",$.fees.buyFees.toFixed(4)]}),Ce(Ae,{color:D.accent,bold:!0,children:["Total: $",$.fees.total.toFixed(4)]})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F441}\uFE0F Watch"}),j.watchList.length>0?j.watchList.slice(0,4).map((M,K)=>Ce(Ae,{color:D.muted,children:[M.slice(0,8),"\u2026",M.slice(-6)]},K)):Be(Ae,{color:D.muted,children:"No tokens watched"})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F4F0} News"}),j.news.length>0?j.news.slice(0,4).map((M,K)=>{let me=M.sentiment>.3?D.success:M.sentiment<-.3?D.error:D.muted,Ue=M.title.length>30?M.title.slice(0,28)+"...":M.title;return Be(Ae,{color:me,children:Ue},K)}):Be(Ae,{color:D.muted,children:"Loading..."})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"Context"}),Ce(Ae,{color:ur.color,children:[ur.bar," ",ur.pct,"%"]})]}),Ce(ct,{flexDirection:"column",borderStyle:"round",borderColor:D.dim,paddingX:1,marginTop:1,children:[Be(Ae,{bold:!0,children:"\u{1F680} Recent"}),Be(Ae,{color:D.muted,children:rg()})]})]}),Be(ct,{flexDirection:"column",flexGrow:1,children:Be(Mm,{messages:f,streamingText:a,toolRunning:p,onSubmit:ut,disabled:x,onAbort:()=>{re.current?.abort(),A(!1),g(null),h(M=>(M.trim()&&be({role:"assistant",content:M+" \u2014 [interrupted]"}),"")),be({role:"system",content:E.dim("\u2014 stream interrupted \u2014")})}})})]})]})}import{Component as qv}from"react";import{Box as hu,Text as Ki}from"ink";import{jsx as Vn,jsxs as Jv}from"react/jsx-runtime";var Wi=class extends qv{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,r){try{let{writeFileSync:n,mkdirSync:o,existsSync:s}=ie("node:fs"),{join:i}=ie("node:path"),{homedir:l}=ie("node:os"),c=i(l(),".aiaiai","crashes");s(c)||o(c,{recursive:!0});let f={timestamp:new Date().toISOString(),type:"ui_render_error",error:{name:e.name,message:e.message,stack:e.stack},componentStack:r.componentStack};n(i(c,`ui-error-${Date.now()}.json`),JSON.stringify(f,null,2),"utf-8")}catch{}this.props.onError?.(e)}render(){return this.state.hasError?Vn(hu,{flexDirection:"column",padding:2,children:Vn(hu,{borderStyle:"round",borderColor:"yellow",paddingX:2,paddingY:1,children:Jv(hu,{flexDirection:"column",children:[Vn(Ki,{bold:!0,color:"yellow",children:"\u26A0\uFE0F UI Error \u2014 restarting..."}),Vn(Ki,{dimColor:!0,children:this.state.error?.message?.slice(0,100)??"Unknown render error"}),Vn(Ki,{dimColor:!0,children:"Crash dump written to ~/.aiaiai/crashes/"}),Vn(Ki,{dimColor:!0,children:"Press Ctrl+C to exit, or wait for auto-recovery."})]})})}):this.props.children}};import{existsSync as Yv,appendFileSync as Vv,mkdirSync as Hv}from"node:fs";import{join as gu}from"node:path";import{homedir as zv}from"node:os";var Xv=process.env.AIAIAI_HOME??gu(zv(),".aiaiai"),pu=gu(Xv,".logs"),Zv=gu(pu,"agent.log"),eC=[/sk-[a-zA-Z0-9]{20,}/g,/[A-Za-z0-9]{32,}/g,/Bearer\s+[A-Za-z0-9\-._~+/]+/g,/api[_-]?key["\s:=]+["']?[^\s"']+/gi,/secret["\s:=]+["']?[^\s"']+/gi,/[A-Z0-9]{40,}/g];var Rg="[REDACTED]";function tC(t){let e=t;for(let r of eC)e=e.replace(r,n=>n.length>8?n.slice(0,4)+"\u2026"+Rg:Rg);return e}function rC(){Yv(pu)||Hv(pu,{recursive:!0,mode:448})}function nC(t){try{rC(),Vv(Zv,t+`
282
+ `,{encoding:"utf-8"})}catch{}}function Gi(...t){let e=t.map(s=>typeof s=="string"?s:String(s)).join(" "),r=tC(e),o=`[${new Date().toISOString()}] ${r}`;try{nC(o)}catch{}process.stdout.write(o+`
283
+ `)}Ye();Ye();ht();import{Type as cr}from"@sinclair/typebox";var oC=[{id:"openrouter",envVar:"OPENROUTER_API_KEY",baseUrl:"https://openrouter.ai/api/v1/models",mapper:t=>({id:t.id,name:t.name,context:t.context_length??131072,max:t.top_provider?.max_completion_tokens??4096})},{id:"anthropic",envVar:"ANTHROPIC_API_KEY",baseUrl:"https://api.anthropic.com/v1/models",mapper:t=>({id:t.id,name:t.name,context:t.context_length??2e5,max:t.top_provider?.max_completion_tokens??8192})},{id:"openai",envVar:"OPENAI_API_KEY",baseUrl:"https://api.openai.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??128e3,max:4096})},{id:"google",envVar:"GOOGLE_API_KEY",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",mapper:t=>({id:t.name,name:t.displayName??t.name,context:t.contextLength??1048576,max:8192})},{id:"deepseek",envVar:"DEEPSEEK_API_KEY",baseUrl:"https://api.deepseek.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??65536,max:8192})},{id:"groq",envVar:"GROQ_API_KEY",baseUrl:"https://api.groq.com/openai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"mistral",envVar:"MISTRAL_API_KEY",baseUrl:"https://api.mistral.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??32e3,max:8192})},{id:"together",envVar:"TOGETHER_API_KEY",baseUrl:"https://api.together.xyz/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"fireworks",envVar:"FIREWORKS_API_KEY",baseUrl:"https://api.fireworks.ai/inference/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"cerebras",envVar:"CEREBRAS_API_KEY",baseUrl:"https://api.cerebras.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"nvidia",envVar:"NVIDIA_NIM_API_KEY",baseUrl:"https://integrate.api.nvidia.com/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"xai",envVar:"XAI_API_KEY",baseUrl:"https://api.x.ai/v1/models",mapper:t=>({id:t.id,name:t.name??t.id,context:t.context_length??131072,max:4096})},{id:"huggingface",envVar:"HUGGINGFACE_API_KEY",baseUrl:"https://huggingface.co/api/models?limit=100&inference_provider=auto",mapper:t=>({id:t.id,name:t.id,context:131072,max:4096})}],sC="https://openrouter.ai/api/v1/models";function Au(t){let e=t.id.toLowerCase(),r=t.name.toLowerCase();return e.includes("o1")||e.includes("o3")||e.includes("claude-3.5-sonnet")||e.includes("claude-4")||e.includes("gemini-2.5-pro")||e.includes("gpt-4o")&&!e.includes("mini")?"orchestrator":e.includes("sonnet")||e.includes("gpt-4o-mini")||e.includes("claude-3-haiku")||e.includes("gemini-2.0-flash")||e.includes("gemini-1.5-pro")||e.includes("mistral-large")||e.includes("llama-3.1-70b")||e.includes("llama-3.3-70b")||e.includes("command-r-plus")||e.includes("deepseek-v2")||e.includes("qwen-2.5-72b")||e.includes("mixtral-8x22b")?"analyst":e.includes("haiku")||e.includes("flash")||e.includes("mistral-7b")||e.includes("llama-3.1-8b")||e.includes("llama-3.2")||e.includes("phi-3")||e.includes("qwen-2.5-7b")||e.includes("gemma-2")||e.includes("deepseek-v2-lite")||e.includes("ministral-3b")||e.includes("command-r-08-2024")||e.includes("mixtral-8x7b")||e.includes("nemotron-4")||e.includes("claude-3-opus")?"worker":"free"}var yu=class{models=[];tiered=new Map;providerModels=new Map;initialized=!1;async initialise(){if(this.initialized)return;this.models=[],this.providerModels.clear();let e=oC.filter(n=>Tt.get(n.envVar)),r=await Promise.allSettled(e.map(async n=>{let o=Tt.get(n.envVar),s={"Content-Type":"application/json"};n.id==="openrouter"?s.Authorization=`Bearer ${o}`:n.id==="anthropic"?s["x-api-key"]=o:s.Authorization=`Bearer ${o}`;let i=n.baseUrl;n.id==="google"&&(i=`${n.baseUrl}?key=${o}`);let l=new AbortController,c=setTimeout(()=>l.abort(),5e3);try{let f=await fe(i,{timeout:5e3,retries:0,headers:s,signal:l.signal});if(clearTimeout(c),!f.ok)return Z.warn("ModelRegistry",`Provider ${n.id} returned ${f.status}`),[];let d=await f.json(),a=d.data??d.models??d;if(!Array.isArray(a))return[];let h=[];for(let p of a)try{let g=n.mapper(p);if(!g||!g.id)continue;h.push({id:g.id,name:g.name??g.id,provider:n.id,context_length:g.context??131072,max_tokens:g.max??4096})}catch(g){Z.debug("ModelRegistry","Skipped bad model entry",{error:g.message})}return h}catch(f){return clearTimeout(c),Z.warn("ModelRegistry",`Provider ${n.id} timed out or failed`,{error:f.message}),[]}}));for(let n=0;n<r.length;n++){let o=r[n],s=e[n];if(o.status==="fulfilled")for(let i of o.value)this.models.push(i),this.providerModels.has(s.id)||this.providerModels.set(s.id,[]),this.providerModels.get(s.id).push(i)}if(this.models.length===0){let n=Tt.get("OPENROUTER_API_KEY");if(n)try{let o=await fe(sC,{timeout:5e3,retries:0,headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"}});if(o.ok){let i=(await o.json()).data??[];for(let l of i){let c=l.top_provider;this.models.push({id:l.id,name:l.name??l.id,provider:"openrouter",context_length:l.context_length??131072,max_tokens:c?.max_completion_tokens??4096})}}}catch{}}this.buildTiers(),this.initialized=!0}buildTiers(){this.tiered.clear();let e=["orchestrator","analyst","worker","free"];for(let r of e)this.tiered.set(r,[]);for(let r of this.models){let n=Au(r);this.tiered.get(n)?.push({model:r,tier:n,available:!0,failures:0})}}get modelCount(){return this.models.length}getProviderCount(){return this.providerModels.size}getProviderModels(e){return this.providerModels.get(e)??[]}getAllModels(){return[...this.models]}getPool(e){return this.tiered.get(e)??[]}getTier(e){let r=this.models.find(n=>n.id===e);return r?Au(r):void 0}resolvePrimary(){for(let e of["orchestrator","analyst","worker","free"]){let n=(this.tiered.get(e)??[]).filter(o=>o.available&&o.failures<3);if(n.length>0)return n[0].model.id}return"openai/gpt-4o-mini"}listModelsParams=cr.Object({query:cr.Optional(cr.String()),provider:cr.Optional(cr.String()),limit:cr.Optional(cr.Number({default:30})),available_only:cr.Optional(cr.Boolean({default:!0}))});async listModelsTool(e,r){let n=[...this.models],o=(r.query||"").toLowerCase();o&&(n=n.filter(f=>f.id.toLowerCase().includes(o)||f.name.toLowerCase().includes(o)));let s=(r.provider||"").toLowerCase();s&&(n=n.filter(f=>f.provider===s));let i=r.limit||30,c=n.slice(0,i).map(f=>{let d=Au(f);return`${{orchestrator:"\u2B50",analyst:"\u{1F52C}",worker:"\u26A1",free:"\u{1F193}"}[d]??"\u2022"} [${f.provider}] ${f.id} \u2014 ${f.name} (${f.context_length}t)`});return{content:[{type:"text",text:`Models (${n.length} from ${this.providerModels.size} providers):
285
284
  ${c.join(`
286
285
  `)}`}]}}async modelSummaryTool(){let e=this.tiered,r=[`Total: ${this.models.length} models from ${this.providerModels.size} providers`];r.push(""),r.push("Providers:");for(let[n,o]of this.providerModels)r.push(` ${n}: ${o.length} models`);r.push("");for(let n of["orchestrator","analyst","worker","free"]){let o=e.get(n)??[],s=o.filter(i=>i.available).length;r.push(` ${n}: ${o.length} total, ${s} available`)}return{content:[{type:"text",text:r.join(`
287
- `)}]}}},At=new pu;import{existsSync as zv,readFileSync as Xv,writeFileSync as Zv}from"node:fs";import{resolve as eC}from"node:path";import{Type as tC}from"@sinclair/typebox";var gu=eC(Xe.getHome(),"lifetime-cost.json"),qi=class{registry;sessionEntry={entries:[],totalCost:0,totalTokens:0};lifetime={sessions:0,totalCost:0,totalTokens:0};loaded=!1;constructor(e){this.registry=e}track(e,r,n){this.loaded||this.loadLifetime();let o=this.estimateCost(e,r,n),s={model:e,promptTokens:r,completionTokens:n,cost:o,timestamp:Date.now()};this.sessionEntry.entries.push(s),this.sessionEntry.totalCost+=o,this.sessionEntry.totalTokens+=r+n}estimateCost(e,r,n){return r*Tg.prompt+n*Tg.completion}statusLine(){return`$${this.sessionEntry.totalCost.toFixed(4)}`}saveLifetime(){this.lifetime.sessions++,this.lifetime.totalCost+=this.sessionEntry.totalCost,this.lifetime.totalTokens+=this.sessionEntry.totalTokens,this.writeLifetime()}loadLifetime(){try{zv(gu)&&(this.lifetime=JSON.parse(Xv(gu,"utf-8")))}catch{}this.loaded=!0}writeLifetime(){try{Zv(gu,JSON.stringify(this.lifetime,null,2),"utf-8")}catch{}}costReportParams=tC.Object({});async costReportTool(){let e=this.sessionEntry,r=this.lifetime;return{content:[{type:"text",text:[`Session cost: $${e.totalCost.toFixed(4)} (${e.totalTokens} tokens, ${e.entries.length} calls)`,`Lifetime: $${r.totalCost.toFixed(4)} (${r.totalTokens} tokens, ${r.sessions} sessions)`].join(`
288
- `)}]}}},Tg={prompt:1e-6,completion:2e-6};Un();qo();var Ji=[{id:"openrouter",name:"OpenRouter",envVar:"OPENROUTER_API_KEY",baseUrl:"https://openrouter.ai/api/v1",modelsEndpoint:"https://openrouter.ai/api/v1/models",docsUrl:"https://openrouter.ai/keys"},{id:"anthropic",name:"Anthropic",envVar:"ANTHROPIC_API_KEY",baseUrl:"https://api.anthropic.com/v1",modelsEndpoint:"https://api.anthropic.com/v1/models",docsUrl:"https://console.anthropic.com"},{id:"openai",name:"OpenAI",envVar:"OPENAI_API_KEY",baseUrl:"https://api.openai.com/v1",modelsEndpoint:"https://api.openai.com/v1/models",docsUrl:"https://platform.openai.com/api-keys"},{id:"google",name:"Google Gemini",envVar:"GOOGLE_API_KEY",baseUrl:"https://generativelanguage.googleapis.com/v1beta",modelsEndpoint:"https://generativelanguage.googleapis.com/v1beta/models",docsUrl:"https://aistudio.google.com/apikey"},{id:"deepseek",name:"DeepSeek",envVar:"DEEPSEEK_API_KEY",baseUrl:"https://api.deepseek.com/v1",modelsEndpoint:"https://api.deepseek.com/v1/models",docsUrl:"https://platform.deepseek.com/api-docs/api-key"},{id:"groq",name:"Groq",envVar:"GROQ_API_KEY",baseUrl:"https://api.groq.com/openai/v1",modelsEndpoint:"https://api.groq.com/openai/v1/models",docsUrl:"https://console.groq.com/keys"},{id:"mistral",name:"Mistral",envVar:"MISTRAL_API_KEY",baseUrl:"https://api.mistral.ai/v1",modelsEndpoint:"https://api.mistral.ai/v1/models",docsUrl:"https://console.mistral.ai/api-keys"},{id:"together",name:"Together AI",envVar:"TOGETHER_API_KEY",baseUrl:"https://api.together.xyz/v1",modelsEndpoint:"https://api.together.xyz/v1/models",docsUrl:"https://api.together.xyz/settings/api-keys"},{id:"fireworks",name:"Fireworks",envVar:"FIREWORKS_API_KEY",baseUrl:"https://api.fireworks.ai/inference/v1",modelsEndpoint:"https://api.fireworks.ai/inference/v1/models",docsUrl:"https://fireworks.ai/api-keys"},{id:"cerebras",name:"Cerebras",envVar:"CEREBRAS_API_KEY",baseUrl:"https://api.cerebras.ai/v1",modelsEndpoint:"https://api.cerebras.ai/v1/models",docsUrl:"https://api.cerebras.ai/api-keys"},{id:"bedrock",name:"Amazon Bedrock",envVar:"AWS_ACCESS_KEY_ID",baseUrl:"",modelsEndpoint:"",docsUrl:"https://console.aws.amazon.com/iam"},{id:"vertex",name:"Google Vertex AI",envVar:"GOOGLE_APPLICATION_CREDENTIALS",baseUrl:"",modelsEndpoint:"",docsUrl:"https://console.cloud.google.com/apis/credentials"},{id:"azure",name:"Azure OpenAI Responses",envVar:"AZURE_OPENAI_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://portal.azure.com"},{id:"huggingface",name:"Hugging Face",envVar:"HUGGINGFACE_API_KEY",baseUrl:"https://api-inference.huggingface.co",modelsEndpoint:"https://huggingface.co/api/models",docsUrl:"https://huggingface.co/settings/tokens"},{id:"nvidia",name:"NVIDIA NIM",envVar:"NVIDIA_NIM_API_KEY",baseUrl:"https://integrate.api.nvidia.com/v1",modelsEndpoint:"https://integrate.api.nvidia.com/v1/models",docsUrl:"https://integrate.api.nvidia.com"},{id:"xai",name:"xAI",envVar:"XAI_API_KEY",baseUrl:"https://api.x.ai/v1",modelsEndpoint:"https://api.x.ai/v1/models",docsUrl:"https://console.x.ai"},{id:"moonshot",name:"Moonshot AI",envVar:"MOONSHOT_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn/docs/api/chat-completion"},{id:"moonshot_china",name:"Moonshot AI China",envVar:"MOONSHOT_CHINA_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn"},{id:"minimax",name:"MiniMax",envVar:"MINIMAX_API_KEY",baseUrl:"https://api.minimax.chat/v1",modelsEndpoint:"https://api.minimax.chat/v1/models",docsUrl:"https://www.minimax.chat/document/embedding"},{id:"minimax_china",name:"MiniMax China",envVar:"MINIMAX_CHINA_API_KEY",baseUrl:"https://api.minimax.chat/v1",modelsEndpoint:"https://api.minimax.chat/v1/models",docsUrl:"https://www.minimax.chat"},{id:"kimi",name:"Kimi For Coding",envVar:"KIMI_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn"},{id:"antling",name:"Ant Ling",envVar:"ANTLING_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://antling.ai"},{id:"cloudflare_gateway",name:"Cloudflare AI Gateway",envVar:"CF_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://dash.cloudflare.com"},{id:"cloudflare_workers",name:"Cloudflare Workers AI",envVar:"CF_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://dash.cloudflare.com"},{id:"vercel",name:"Vercel AI Gateway",envVar:"VERCEL_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://vercel.com"},{id:"opencode_go",name:"OpenCode Go",envVar:"OPENCODE_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://opencode.ai"},{id:"opencode_zen",name:"OpenCode Zen",envVar:"OPENCODE_ZEN_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://opencode.ai"},{id:"xiaomi",name:"Xiaomi MiMo",envVar:"XIAOMI_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://xiaomi.com"},{id:"xiaomi_token",name:"Xiaomi MiMo Token Plan",envVar:"XIAOMI_TOKEN_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://xiaomi.com"}];function Ig(t){return Ji.filter(e=>e.envVar&&t[e.envVar]&&t[e.envVar].trim()!=="")}function Bg(t){return Ji.filter(e=>!e.envVar||!t[e.envVar]||t[e.envVar].trim()==="")}pt();Ke();import{Type as Rg}from"@sinclair/typebox";var xB=Rg.Object({address:Rg.String({description:"Token mint address on Solana"})});async function Pg(t,e){let r=e.address;if(!r||r.length<32||r.length>44)return{content:[{type:"text",text:"Invalid token address format."}],isError:!0};let n=[],o=100,s=!1,i=!1,l=null;try{let h=await me(`https://api.dexscreener.com/tokens/v1/solana/${r}`,{timeout:1e4,retries:1});if(h.ok){let p=await h.json();Array.isArray(p)&&p.length>0&&(l=p[0])}}catch(h){X.warn("TokenSecurity","DexScreener lookup failed",{address:r,error:h.message})}if(!l)n.push("No DEX liquidity found - token may be dead or not traded"),o-=50,i=!0;else{let h=l.liquidity?.usd??0;h<1e3?(n.push(`Low liquidity: $${h.toFixed(0)}`),o-=30,i=!0):h<1e4&&(n.push(`Moderate liquidity: $${h.toFixed(0)}`),o-=10);let p=l.volume?.h24??0;p<100&&(n.push(`Very low 24h volume: $${p.toFixed(0)}`),o-=20)}try{let h=await me(`https://api.rugcheck.xyz/v1/tokens/${r}/report`,{timeout:8e3,retries:0});if(h.ok){let p=await h.json();(p.status==="WARNING"||p.status==="BLOCKED")&&(n.push(`RugCheck status: ${p.status}`),o-=40,i=!0)}}catch(h){X.warn("TokenSecurity","RugCheck lookup failed (optional)",{address:r,error:h.message})}let c=l?.baseToken?.symbol??"???",f=l?.baseToken?.name??"Unknown",u=o>=70?"SAFE":o>=40?"CAUTION":"DANGEROUS",a=["Token Security Scan","",`Token: ${f} ($${c})`,`Address: ${r.slice(0,8)}...${r.slice(-6)}`,`Score: ${u} (${o}/100)`,""];if(n.length>0){a.push("Warnings:");for(let h of n)a.push(" - "+h)}else a.push("No immediate risks detected.");return a.push(""),a.push("This is not financial advice. Always verify before trading."),{content:[{type:"text",text:a.join(`
289
- `)}],details:{address:r,symbol:c,name:f,score:o,isHoneypot:s,isRugRisk:i,warnings:n}}}var Xn=process.env.AIAIAI_HOME??Ir(zg(),".aiaiai"),cn=Ir(Xn,".env");es(cn)&&(0,Zg.config)({path:cn,override:!1});process.on("uncaughtException",t=>{try{let e=Ir(Xn,"crashes");Yg(e,{recursive:!0});let r={timestamp:new Date().toISOString(),error:{name:t.name,message:t.message,stack:t.stack},memory:process.memoryUsage(),uptime:process.uptime(),pid:process.pid};Jg(Ir(e,`crash-${Date.now()}.json`),JSON.stringify(r,null,2),"utf-8")}catch{}console.error("Fatal error \u2014 crash dump written to ~/.aiaiai/crashes/"),process.exit(1)});process.on("unhandledRejection",t=>{try{let e=Ir(Xn,"crashes");Yg(e,{recursive:!0});let r={timestamp:new Date().toISOString(),type:"unhandledRejection",reason:String(t),memory:process.memoryUsage(),uptime:process.uptime()};Jg(Ir(e,`rejection-${Date.now()}.json`),JSON.stringify(r,null,2),"utf-8")}catch{}});var gC=`You are AIAIAI Chain Agent \u2014 a Solana-native autonomous AI agent.
286
+ `)}]}}},gt=new yu;import{existsSync as iC,readFileSync as aC,writeFileSync as lC}from"node:fs";import{resolve as cC}from"node:path";import{Type as uC}from"@sinclair/typebox";var wu=cC(Ze.getHome(),"lifetime-cost.json"),qi=class{registry;sessionEntry={entries:[],totalCost:0,totalTokens:0};lifetime={sessions:0,totalCost:0,totalTokens:0};loaded=!1;constructor(e){this.registry=e}track(e,r,n){this.loaded||this.loadLifetime();let o=this.estimateCost(e,r,n),s={model:e,promptTokens:r,completionTokens:n,cost:o,timestamp:Date.now()};this.sessionEntry.entries.push(s),this.sessionEntry.totalCost+=o,this.sessionEntry.totalTokens+=r+n}estimateCost(e,r,n){return r*Pg.prompt+n*Pg.completion}statusLine(){return`$${this.sessionEntry.totalCost.toFixed(4)}`}saveLifetime(){this.lifetime.sessions++,this.lifetime.totalCost+=this.sessionEntry.totalCost,this.lifetime.totalTokens+=this.sessionEntry.totalTokens,this.writeLifetime()}loadLifetime(){try{iC(wu)&&(this.lifetime=JSON.parse(aC(wu,"utf-8")))}catch{}this.loaded=!0}writeLifetime(){try{lC(wu,JSON.stringify(this.lifetime,null,2),"utf-8")}catch{}}costReportParams=uC.Object({});async costReportTool(){let e=this.sessionEntry,r=this.lifetime;return{content:[{type:"text",text:[`Session cost: $${e.totalCost.toFixed(4)} (${e.totalTokens} tokens, ${e.entries.length} calls)`,`Lifetime: $${r.totalCost.toFixed(4)} (${r.totalTokens} tokens, ${r.sessions} sessions)`].join(`
287
+ `)}]}}},Pg={prompt:1e-6,completion:2e-6};Un();Jo();var Ji=[{id:"openrouter",name:"OpenRouter",envVar:"OPENROUTER_API_KEY",baseUrl:"https://openrouter.ai/api/v1",modelsEndpoint:"https://openrouter.ai/api/v1/models",docsUrl:"https://openrouter.ai/keys"},{id:"anthropic",name:"Anthropic",envVar:"ANTHROPIC_API_KEY",baseUrl:"https://api.anthropic.com/v1",modelsEndpoint:"https://api.anthropic.com/v1/models",docsUrl:"https://console.anthropic.com"},{id:"openai",name:"OpenAI",envVar:"OPENAI_API_KEY",baseUrl:"https://api.openai.com/v1",modelsEndpoint:"https://api.openai.com/v1/models",docsUrl:"https://platform.openai.com/api-keys"},{id:"google",name:"Google Gemini",envVar:"GOOGLE_API_KEY",baseUrl:"https://generativelanguage.googleapis.com/v1beta",modelsEndpoint:"https://generativelanguage.googleapis.com/v1beta/models",docsUrl:"https://aistudio.google.com/apikey"},{id:"deepseek",name:"DeepSeek",envVar:"DEEPSEEK_API_KEY",baseUrl:"https://api.deepseek.com/v1",modelsEndpoint:"https://api.deepseek.com/v1/models",docsUrl:"https://platform.deepseek.com/api-docs/api-key"},{id:"groq",name:"Groq",envVar:"GROQ_API_KEY",baseUrl:"https://api.groq.com/openai/v1",modelsEndpoint:"https://api.groq.com/openai/v1/models",docsUrl:"https://console.groq.com/keys"},{id:"mistral",name:"Mistral",envVar:"MISTRAL_API_KEY",baseUrl:"https://api.mistral.ai/v1",modelsEndpoint:"https://api.mistral.ai/v1/models",docsUrl:"https://console.mistral.ai/api-keys"},{id:"together",name:"Together AI",envVar:"TOGETHER_API_KEY",baseUrl:"https://api.together.xyz/v1",modelsEndpoint:"https://api.together.xyz/v1/models",docsUrl:"https://api.together.xyz/settings/api-keys"},{id:"fireworks",name:"Fireworks",envVar:"FIREWORKS_API_KEY",baseUrl:"https://api.fireworks.ai/inference/v1",modelsEndpoint:"https://api.fireworks.ai/inference/v1/models",docsUrl:"https://fireworks.ai/api-keys"},{id:"cerebras",name:"Cerebras",envVar:"CEREBRAS_API_KEY",baseUrl:"https://api.cerebras.ai/v1",modelsEndpoint:"https://api.cerebras.ai/v1/models",docsUrl:"https://api.cerebras.ai/api-keys"},{id:"bedrock",name:"Amazon Bedrock",envVar:"AWS_ACCESS_KEY_ID",baseUrl:"",modelsEndpoint:"",docsUrl:"https://console.aws.amazon.com/iam"},{id:"vertex",name:"Google Vertex AI",envVar:"GOOGLE_APPLICATION_CREDENTIALS",baseUrl:"",modelsEndpoint:"",docsUrl:"https://console.cloud.google.com/apis/credentials"},{id:"azure",name:"Azure OpenAI Responses",envVar:"AZURE_OPENAI_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://portal.azure.com"},{id:"huggingface",name:"Hugging Face",envVar:"HUGGINGFACE_API_KEY",baseUrl:"https://api-inference.huggingface.co",modelsEndpoint:"https://huggingface.co/api/models",docsUrl:"https://huggingface.co/settings/tokens"},{id:"nvidia",name:"NVIDIA NIM",envVar:"NVIDIA_NIM_API_KEY",baseUrl:"https://integrate.api.nvidia.com/v1",modelsEndpoint:"https://integrate.api.nvidia.com/v1/models",docsUrl:"https://integrate.api.nvidia.com"},{id:"xai",name:"xAI",envVar:"XAI_API_KEY",baseUrl:"https://api.x.ai/v1",modelsEndpoint:"https://api.x.ai/v1/models",docsUrl:"https://console.x.ai"},{id:"moonshot",name:"Moonshot AI",envVar:"MOONSHOT_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn/docs/api/chat-completion"},{id:"moonshot_china",name:"Moonshot AI China",envVar:"MOONSHOT_CHINA_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn"},{id:"minimax",name:"MiniMax",envVar:"MINIMAX_API_KEY",baseUrl:"https://api.minimax.chat/v1",modelsEndpoint:"https://api.minimax.chat/v1/models",docsUrl:"https://www.minimax.chat/document/embedding"},{id:"minimax_china",name:"MiniMax China",envVar:"MINIMAX_CHINA_API_KEY",baseUrl:"https://api.minimax.chat/v1",modelsEndpoint:"https://api.minimax.chat/v1/models",docsUrl:"https://www.minimax.chat"},{id:"kimi",name:"Kimi For Coding",envVar:"KIMI_API_KEY",baseUrl:"https://api.moonshot.cn/v1",modelsEndpoint:"https://api.moonshot.cn/v1/models",docsUrl:"https://platform.moonshot.cn"},{id:"antling",name:"Ant Ling",envVar:"ANTLING_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://antling.ai"},{id:"cloudflare_gateway",name:"Cloudflare AI Gateway",envVar:"CF_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://dash.cloudflare.com"},{id:"cloudflare_workers",name:"Cloudflare Workers AI",envVar:"CF_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://dash.cloudflare.com"},{id:"vercel",name:"Vercel AI Gateway",envVar:"VERCEL_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://vercel.com"},{id:"opencode_go",name:"OpenCode Go",envVar:"OPENCODE_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://opencode.ai"},{id:"opencode_zen",name:"OpenCode Zen",envVar:"OPENCODE_ZEN_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://opencode.ai"},{id:"xiaomi",name:"Xiaomi MiMo",envVar:"XIAOMI_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://xiaomi.com"},{id:"xiaomi_token",name:"Xiaomi MiMo Token Plan",envVar:"XIAOMI_TOKEN_API_KEY",baseUrl:"",modelsEndpoint:"",docsUrl:"https://xiaomi.com"}];function $g(t){return Ji.filter(e=>e.envVar&&t[e.envVar]&&t[e.envVar].trim()!=="")}function Og(t){return Ji.filter(e=>!e.envVar||!t[e.envVar]||t[e.envVar].trim()==="")}ht();Ye();import{Type as Lg}from"@sinclair/typebox";var IB=Lg.Object({address:Lg.String({description:"Token mint address on Solana"})});async function Qg(t,e){let r=e.address;if(!r||r.length<32||r.length>44)return{content:[{type:"text",text:"Invalid token address format."}],isError:!0};let n=[],o=100,s=!1,i=!1,l=null;try{let h=await fe(`https://api.dexscreener.com/tokens/v1/solana/${r}`,{timeout:1e4,retries:1});if(h.ok){let p=await h.json();Array.isArray(p)&&p.length>0&&(l=p[0])}}catch(h){Z.warn("TokenSecurity","DexScreener lookup failed",{address:r,error:h.message})}if(!l)n.push("No DEX liquidity found - token may be dead or not traded"),o-=50,i=!0;else{let h=l.liquidity?.usd??0;h<1e3?(n.push(`Low liquidity: $${h.toFixed(0)}`),o-=30,i=!0):h<1e4&&(n.push(`Moderate liquidity: $${h.toFixed(0)}`),o-=10);let p=l.volume?.h24??0;p<100&&(n.push(`Very low 24h volume: $${p.toFixed(0)}`),o-=20)}try{let h=await fe(`https://api.rugcheck.xyz/v1/tokens/${r}/report`,{timeout:8e3,retries:0});if(h.ok){let p=await h.json();(p.status==="WARNING"||p.status==="BLOCKED")&&(n.push(`RugCheck status: ${p.status}`),o-=40,i=!0)}}catch(h){Z.warn("TokenSecurity","RugCheck lookup failed (optional)",{address:r,error:h.message})}let c=l?.baseToken?.symbol??"???",f=l?.baseToken?.name??"Unknown",d=o>=70?"SAFE":o>=40?"CAUTION":"DANGEROUS",a=["Token Security Scan","",`Token: ${f} ($${c})`,`Address: ${r.slice(0,8)}...${r.slice(-6)}`,`Score: ${d} (${o}/100)`,""];if(n.length>0){a.push("Warnings:");for(let h of n)a.push(" - "+h)}else a.push("No immediate risks detected.");return a.push(""),a.push("This is not financial advice. Always verify before trading."),{content:[{type:"text",text:a.join(`
288
+ `)}],details:{address:r,symbol:c,name:f,score:o,isHoneypot:s,isRugRisk:i,warnings:n}}}var Xn=process.env.AIAIAI_HOME??Ir(tA(),".aiaiai"),ln=Ir(Xn,".env");ts(ln)&&(0,nA.config)({path:ln,override:!1});process.on("uncaughtException",t=>{try{let e=Ir(Xn,"crashes");Xg(e,{recursive:!0});let r={timestamp:new Date().toISOString(),error:{name:t.name,message:t.message,stack:t.stack},memory:process.memoryUsage(),uptime:process.uptime(),pid:process.pid};zg(Ir(e,`crash-${Date.now()}.json`),JSON.stringify(r,null,2),"utf-8")}catch{}console.error("Fatal error \u2014 crash dump written to ~/.aiaiai/crashes/"),process.exit(1)});process.on("unhandledRejection",t=>{try{let e=Ir(Xn,"crashes");Xg(e,{recursive:!0});let r={timestamp:new Date().toISOString(),type:"unhandledRejection",reason:String(t),memory:process.memoryUsage(),uptime:process.uptime()};zg(Ir(e,`rejection-${Date.now()}.json`),JSON.stringify(r,null,2),"utf-8")}catch{}});var kC=`You are AIAIAI Chain Agent \u2014 a Solana-native autonomous AI agent.
290
289
 
291
290
  Ticker: $AIAIAI
292
291
  Contract: AVPJS61gZmWKtaEpb7qYPKo8Fk2xQUsayYQxPiPMpump
@@ -320,61 +319,61 @@ when talking about your wallets and actions. Be concise, sharp, and useful.`,Pt=
320
319
  AIAIAI Chain Agent \u2014 $AIAIAI
321
320
  `)),console.log(E.muted(` Usage:
322
321
  `)),console.log(" aiaiaichain Start interactive agent"),console.log(" aiaiaichain setup First-time setup wizard"),console.log(" aiaiaichain config Show configuration"),console.log(" aiaiaichain price Show $AIAIAI token price"),console.log(" aiaiaichain status Quick status + price"),console.log(' aiaiaichain --headless "prompt" Run single turn, print to stdout'),console.log(" aiaiaichain --extension ./ext.ts Load extension"),console.log(" aiaiaichain wallet Show agent wallets"),console.log(" aiaiaichain deposit Show deposit instructions"),console.log(" aiaiaichain burn Show burn instructions"),console.log(" aiaiaichain actions Recent agent actions"),console.log(" aiaiaichain pnl Profit & Loss report"),console.log(" aiaiaichain health System health & diagnostics"),console.log(" aiaiaichain doctor Comprehensive provider check"),console.log(" aiaiaichain scan <address> Token security scan"),console.log(" aiaiaichain --help This help"),console.log(" aiaiaichain --version Show version"),console.log(""),console.log(E.muted(` https://x.com/aiaiaisol
323
- `)),process.exit(0));if(he==="--version"||he==="-v"){let t=Xg(import.meta.url),e=Vg(t),r=JSON.parse(Zo(Hg(e,"..","package.json"),"utf-8"));console.log(r.version),process.exit(0)}he==="setup"&&((async()=>{let{SetupWizard:t}=await Promise.resolve().then(()=>(Dg(),Qg));Xe.init(),await new t().run()||(console.log(E.error("Setup cancelled.")),process.exit(1)),console.log(E.success(`
322
+ `)),process.exit(0));if(he==="--version"||he==="-v"){let t=rA(import.meta.url),e=eA(t),r=JSON.parse(es(Zg(e,"..","package.json"),"utf-8"));console.log(r.version),process.exit(0)}he==="setup"&&(async()=>{let{SetupWizard:t}=await Promise.resolve().then(()=>(Ug(),Fg));Ze.init(),await new t().run()||(console.log(E.error("Setup cancelled.")),process.exit(1)),console.log(E.success(`
324
323
  \u2713 AIAIAI setup complete!
325
- `)),console.log(E.muted(` Home: ${Xn}`)),console.log(E.accent("\n Run `aiaiaichain` to start the agent.\n")),process.exit(0)})().catch(t=>{let e=t instanceof Error?t.message:String(t);e.includes("ENOENT")?console.error(E.error("Setup error: Cannot write to ~/.aiaiai/.env \u2014 check permissions.")):e.includes("EACCES")?console.error(E.error("Setup error: Permission denied \u2014 try running with correct user.")):e.includes("API")||e.includes("401")?console.error(E.error("Setup error: API key invalid \u2014 check your provider key.")):console.error(E.error(`Setup error: ${e}`)),process.exit(1)}),await new Promise(()=>{}));if(he==="config"){if(console.log(E.accent("AIAIAI Config")),console.log(E.muted(`Config file: ${cn}`)),es(cn))for(let t of Zo(cn,"utf-8").split(`
326
- `)){let e=t.match(/^([A-Z_]+)=(.*)$/);if(!e)continue;let r=e[2].length>12?e[2].slice(0,6)+"********":e[2]?"********":"(empty)";console.log(` ${e[1].padEnd(28)} ${r}`)}else console.log(E.warn("No config found. Run: aiaiaichain setup"));process.exit(0)}he==="price"&&((async()=>{let t=await Ue.getAiaiaiPriceTool();console.log(t.content[0].text),process.exit(0)})(),await new Promise(()=>{}));he==="status"&&((async()=>{console.log(E.accent(`
324
+ `)),console.log(E.muted(` Home: ${Xn}`)),console.log(E.accent("\n Run `aiaiaichain` to start the agent.\n")),process.exit(0)})().catch(t=>{let e=t instanceof Error?t.message:String(t);e.includes("ENOENT")?console.error(E.error("Setup error: Cannot write to ~/.aiaiai/.env \u2014 check permissions.")):e.includes("EACCES")?console.error(E.error("Setup error: Permission denied \u2014 try running with correct user.")):e.includes("API")||e.includes("401")?console.error(E.error("Setup error: API key invalid \u2014 check your provider key.")):console.error(E.error(`Setup error: ${e}`)),process.exit(1)});if(he==="config"){if(console.log(E.accent("AIAIAI Config")),console.log(E.muted(`Config file: ${ln}`)),ts(ln))for(let t of es(ln,"utf-8").split(`
325
+ `)){let e=t.match(/^([A-Z_]+)=(.*)$/);if(!e)continue;let r=e[2].length>12?e[2].slice(0,6)+"********":e[2]?"********":"(empty)";console.log(` ${e[1].padEnd(28)} ${r}`)}else console.log(E.warn("No config found. Run: aiaiaichain setup"));process.exit(0)}he==="price"&&(async()=>{let t=await We.getAiaiaiPriceTool();console.log(t.content[0].text),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});he==="status"&&(async()=>{console.log(E.accent(`
327
326
  \u{1F916} AIAIAI Chain Agent
328
- `)),console.log(E.muted(` Home: ${Xn}`)),console.log(E.muted(` Config: ${es(cn)?"\u2713 found":"\u2717 run setup"}`)),console.log(E.muted(` Key: ${process.env.OPENROUTER_API_KEY?"\u2713 set":"\u2717 missing"}`)),console.log("");let t=await Ue.getAiaiaiPriceTool();console.log(t.content[0].text),console.log("");let e=await Ze.getAll();console.log(E.accent(" Wallets:")),console.log(E.muted(` Cold: ${e.cold.sol.toFixed(4)} SOL | ${e.cold.aiaiai.toLocaleString()} $AIAIAI`)),console.log(E.muted(` Action: ${e.action.sol.toFixed(4)} SOL | ${e.action.aiaiai.toLocaleString()} $AIAIAI`)),console.log(E.muted(` Deposit: ${e.deposit.usdc.toFixed(2)} USDC | ${e.deposit.sol.toFixed(4)} SOL`)),console.log(""),process.exit(0)})(),await new Promise(()=>{}));he==="wallet"&&((async()=>{let t=await Ze.getAgentBalanceTool();console.log(t.content[0].text),process.exit(0)})(),await new Promise(()=>{}));he==="deposit"&&((async()=>{let t=await Ze.getDepositBalanceTool();console.log(t.content[0].text),process.exit(0)})(),await new Promise(()=>{}));he==="burn"&&(console.log(E.accent(`
327
+ `)),console.log(E.muted(` Home: ${Xn}`)),console.log(E.muted(` Config: ${ts(ln)?"\u2713 found":"\u2717 run setup"}`)),console.log(E.muted(` Key: ${process.env.OPENROUTER_API_KEY?"\u2713 set":"\u2717 missing"}`)),console.log("");let t=await We.getAiaiaiPriceTool();console.log(t.content[0].text),console.log("");let e=await et.getAll();console.log(E.accent(" Wallets:")),console.log(E.muted(` Cold: ${e.cold.sol.toFixed(4)} SOL | ${e.cold.aiaiai.toLocaleString()} $AIAIAI`)),console.log(E.muted(` Action: ${e.action.sol.toFixed(4)} SOL | ${e.action.aiaiai.toLocaleString()} $AIAIAI`)),console.log(E.muted(` Deposit: ${e.deposit.usdc.toFixed(2)} USDC | ${e.deposit.sol.toFixed(4)} SOL`)),console.log(""),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});he==="wallet"&&(async()=>{let t=await et.getAgentBalanceTool();console.log(t.content[0].text),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});he==="deposit"&&(async()=>{let t=await et.getDepositBalanceTool();console.log(t.content[0].text),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});he==="burn"&&(console.log(E.accent(`
329
328
  \u{1F525} Burn $AIAIAI
330
- `)),console.log(E.muted(" Deposit wallet:")),console.log(` ${sr}`),console.log(""),console.log(E.muted(" Send SOL or USDC here to fuel agent burns.")),console.log(E.muted(" The agent detects deposits and automatically")),console.log(E.muted(" sends funds to the action wallet to burn tokens.")),console.log(""),console.log(E.muted(" Action wallet (executes trades):")),console.log(` ${at}`),console.log(""),console.log(E.muted(" Hot wallet (temporary swap):")),console.log(` ${Tr}`),console.log(""),process.exit(0));(he==="actions"||he==="activity")&&((async()=>{let{actionFeed:t}=await Promise.resolve().then(()=>(Ii(),Il));await t.refresh();let e=await t.getActionsTool("",{limit:20});console.log(e.content[0].text),process.exit(0)})(),await new Promise(()=>{}));he==="fees"&&((async()=>{let{actionFeed:t}=await Promise.resolve().then(()=>(Ii(),Il));await t.refresh();let e=await t.getFeesTool();console.log(e.content[0].text),process.exit(0)})(),await new Promise(()=>{}));(he==="pnl"||he==="pl"||he==="profit")&&((async()=>{let{getPLSummary:t,getTradeHistory:e,exportCSV:r}=await Promise.resolve().then(()=>(Kg(),jg)),{priceFeed:n}=await Promise.resolve().then(()=>(Un(),al)),o=await n.getAiaiaiPrice(),s=t(parseFloat(o.priceUsd??"0")),i=e();console.log(E.accent(`
329
+ `)),console.log(E.muted(" Deposit wallet:")),console.log(` ${ir}`),console.log(""),console.log(E.muted(" Send SOL or USDC here to fuel agent burns.")),console.log(E.muted(" The agent detects deposits and automatically")),console.log(E.muted(" sends funds to the action wallet to burn tokens.")),console.log(""),console.log(E.muted(" Action wallet (executes trades):")),console.log(` ${at}`),console.log(""),console.log(E.muted(" Hot wallet (temporary swap):")),console.log(` ${Tr}`),console.log(""),process.exit(0));(he==="actions"||he==="activity")&&(async()=>{let{actionFeed:t}=await Promise.resolve().then(()=>(Ii(),Bc));await t.refresh();let e=await t.getActionsTool("",{limit:20});console.log(e.content[0].text),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});he==="fees"&&(async()=>{let{actionFeed:t}=await Promise.resolve().then(()=>(Ii(),Bc));await t.refresh();let e=await t.getFeesTool();console.log(e.content[0].text),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});(he==="pnl"||he==="pl"||he==="profit")&&(async()=>{let{getPLSummary:t,getTradeHistory:e,exportCSV:r}=await Promise.resolve().then(()=>(Jg(),qg)),{priceFeed:n}=await Promise.resolve().then(()=>(Un(),lc)),o=await n.getAiaiaiPrice(),s=t(parseFloat(o.priceUsd??"0")),i=e();console.log(E.accent(`
331
330
  Profit & Loss \u2014 $AIAIAI
332
331
  `)),console.log(` Avg Cost: $${s.avgCostBasis.toFixed(8)}`),console.log(` Total Spent: ${s.totalSpent.toFixed(4)} SOL`),console.log(` Total Received: ${s.totalReceived.toFixed(4)} SOL`),console.log(` Realized P&L: ${s.realizedPL>=0?"+":""}${s.realizedPL.toFixed(4)} SOL`),console.log(` Unrealized P&L: ${s.unrealizedPL>=0?"+":""}${s.unrealizedPL.toFixed(4)} SOL`),console.log(` ROI: ${s.roi>=0?"+":""}${s.roi.toFixed(2)}%`),console.log(` Trades: ${i.length}`),i.length>0&&(console.log(E.muted(`
333
332
  Recent trades:`)),i.slice(-5).forEach(l=>{let c=new Date(l.timestamp).toLocaleDateString();console.log(` ${c} ${l.type} ${l.tokenAmount.toFixed(0)} tokens @ ${l.pricePerToken.toFixed(8)} SOL`)}));try{let l=r();console.log(E.success(`
334
- CSV exported: ${l}`))}catch(l){X.warn("CLI","CSV export failed",{error:l.message})}process.exit(0)})(),await new Promise(()=>{}));(he==="keys"||he==="providers")&&((async()=>{let e=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),r=u=>new Promise(a=>e.question(u,a)),n=Tt.getAll(),o=Ig(n),s=Bg(n);if(console.log(E.accent(`
333
+ CSV exported: ${l}`))}catch(l){Z.warn("CLI","CSV export failed",{error:l.message})}process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t instanceof Error?t.message:String(t)}`)),process.exit(1)});(he==="keys"||he==="providers")&&(async()=>{let e=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),r=d=>new Promise(a=>e.question(d,a)),n=Tt.getAll(),o=$g(n),s=Og(n);if(console.log(E.accent(`
335
334
  \u{1F511} AI Model Providers
336
335
  `)),console.log(E.muted(" Configure AI model providers. Add at least one API key to get started.")),console.log(E.muted(` ${o.length}/${Ji.length} configured
337
- `)),o.length>0){console.log(E.success(" Configured ("+o.length+")"));for(let u of o){let a=n[u.envVar]||"",h=a.slice(0,6)+"\u2022\u2022\u2022\u2022"+a.slice(-4);console.log(E.success(` \u2713 ${u.name.padEnd(28)} ${h}`))}}console.log(`
338
- `+E.warn(" Unconfigured ("+s.length+")"));for(let u=0;u<s.length;u++){let a=s[u];console.log(E.muted(` ${String(u+1).padStart(2)}. ${a.name}`))}console.log(`
336
+ `)),o.length>0){console.log(E.success(" Configured ("+o.length+")"));for(let d of o){let a=n[d.envVar]||"",h=a.slice(0,6)+"\u2022\u2022\u2022\u2022"+a.slice(-4);console.log(E.success(` \u2713 ${d.name.padEnd(28)} ${h}`))}}console.log(`
337
+ `+E.warn(" Unconfigured ("+s.length+")"));for(let d=0;d<s.length;d++){let a=s[d];console.log(E.muted(` ${String(d+1).padStart(2)}. ${a.name}`))}console.log(`
339
338
  `+E.muted(" Enter number to add a key, 'r' to refresh models, or 'q' to quit:"));let i=(await r(" > ")).trim();i==="q"&&(e.close(),process.exit(0)),i==="r"&&(console.log(E.muted(`
340
- Refreshing models from configured providers...`)),await At.initialise(),console.log(E.success(` \u2713 ${At.modelCount} models available from ${At.getProviderCount()} providers`)),e.close(),process.exit(0));let l=parseInt(i)-1;(isNaN(l)||l<0||l>=s.length)&&(console.log(E.error(" Invalid selection.")),e.close(),process.exit(1));let c=s[l];console.log(E.accent(`
339
+ Refreshing models from configured providers...`)),await gt.initialise(),console.log(E.success(` \u2713 ${gt.modelCount} models available from ${gt.getProviderCount()} providers`)),e.close(),process.exit(0));let l=parseInt(i)-1;(isNaN(l)||l<0||l>=s.length)&&(console.log(E.error(" Invalid selection.")),e.close(),process.exit(1));let c=s[l];console.log(E.accent(`
341
340
  ${c.name}`)),console.log(E.muted(` ${c.docsUrl}`)),console.log(E.muted(` Env var: ${c.envVar}
342
341
  `));let f=(await r(` Enter ${c.name} API key: `)).trim();f||(console.log(E.error(" Key is required.")),e.close(),process.exit(1)),Tt.set(c.envVar,f),console.log(E.success(`
343
- \u2713 ${c.name} key saved to ~/.aiaiai/.env`)),console.log(E.muted(" Fetching models from "+c.name+"..."));try{await At.initialise();let u=At.getProviderModels(c.id);console.log(E.success(` \u2713 ${u.length} models available from ${c.name}`)),console.log(E.success(` \u2713 ${At.modelCount} total models from ${At.getProviderCount()} providers`))}catch(u){console.log(E.warn(` \u26A0 Could not fetch models: ${u instanceof Error?u.message:String(u)}`))}e.close(),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t.message}`)),process.exit(1)}),await new Promise(()=>{}));if(he==="gmgn"||he==="gmgnhelp"){let t=Pt.slice(1);(t.length===0||t[0]==="help"||t[0]==="--help")&&(console.log(Pi()),process.exit(0)),(t[0]==="setup"||t[0]==="config"||t[0]==="key")&&((async()=>{let r=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),n=s=>new Promise(i=>r.question(s,i));console.log(E.accent(`
342
+ \u2713 ${c.name} key saved to ~/.aiaiai/.env`)),console.log(E.muted(" Fetching models from "+c.name+"..."));try{await gt.initialise();let d=gt.getProviderModels(c.id);console.log(E.success(` \u2713 ${d.length} models available from ${c.name}`)),console.log(E.success(` \u2713 ${gt.modelCount} total models from ${gt.getProviderCount()} providers`))}catch(d){console.log(E.warn(` \u26A0 Could not fetch models: ${d instanceof Error?d.message:String(d)}`))}e.close(),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t.message}`)),process.exit(1)});if(he==="gmgn"||he==="gmgnhelp"){let t=Pt.slice(1);(t.length===0||t[0]==="help"||t[0]==="--help")&&(console.log(Pi()),process.exit(0)),(t[0]==="setup"||t[0]==="config"||t[0]==="key")&&(async()=>{let r=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),n=s=>new Promise(i=>r.question(s,i));console.log(E.accent(`
344
343
  \u{1F50D} GMGN API Key Setup
345
344
  `)),console.log(E.muted(` Get your API key at https://gmgn.ai/ai
346
- `));let o=(await n(" Enter GMGN_API_KEY: ")).trim();o||(console.log(E.error(" Key is required.")),r.close(),process.exit(1)),Mp(o),console.log(E.success(`
345
+ `));let o=(await n(" Enter GMGN_API_KEY: ")).trim();o||(console.log(E.error(" Key is required.")),r.close(),process.exit(1)),Kp(o),console.log(E.success(`
347
346
  \u2713 GMGN_API_KEY saved to ~/.config/gmgn/.env`)),console.log(E.muted(` All GMGN commands are now available.
348
- `)),r.close(),process.exit(0)})().catch(e=>{console.error(E.error(`Error: ${e.message}`)),process.exit(1)}),await new Promise(()=>{})),t[0]==="status"&&(console.log(Oi()),process.exit(0));try{let e=["gmgn-cli",...t],r={};try{let o=Zo(Ir(zg(),".config","gmgn",".env"),"utf-8");for(let s of o.split(`
349
- `)){let i=s.trim().match(/^([A-Z_]+)=(.*)$/);i&&(r[i[1]]=i[2])}}catch{X.debug("CLI","No GMGN env file found (optional)")}let n=hC(e[0],e.slice(1),{env:{...process.env,...r},encoding:"utf-8",timeout:3e4});process.stdout.write(n)}catch(e){let r=e.stderr?.toString()||e.message||"";process.stderr.write(`gmgn-cli: ${r.slice(0,500)}
350
- `),process.exit(e.status??1)}process.exit(0)}(he==="scan"||he==="security")&&((async()=>{let t=Pt[1];t||(console.log(E.error(" Usage: aiaiai scan <token-address>")),process.exit(1)),console.log(E.accent(`
347
+ `)),r.close(),process.exit(0)})().catch(e=>{console.error(E.error(`Error: ${e.message}`)),process.exit(1)}),t[0]==="status"&&(console.log($i()),process.exit(0));try{let e=["gmgn-cli",...t],r={};try{let o=es(Ir(tA(),".config","gmgn",".env"),"utf-8");for(let s of o.split(`
348
+ `)){let i=s.trim().match(/^([A-Z_]+)=(.*)$/);i&&(r[i[1]]=i[2])}}catch{Z.debug("CLI","No GMGN env file found (optional)")}let n=vC(e[0],e.slice(1),{env:{...process.env,...r},encoding:"utf-8",timeout:3e4});process.stdout.write(n)}catch(e){let r=e.stderr?.toString()||e.message||"";process.stderr.write(`gmgn-cli: ${r.slice(0,500)}
349
+ `),process.exit(e.status??1)}process.exit(0)}(he==="scan"||he==="security")&&(async()=>{let t=Pt[1];t||(console.log(E.error(" Usage: aiaiai scan <token-address>")),process.exit(1)),console.log(E.accent(`
351
350
  \u{1F50D} Scanning token...
352
- `));let e=await Pg("",{address:t});e.isError&&(console.log(e.content[0].text),process.exit(1)),console.log(e.content[0].text),console.log(""),process.exit(0)})().catch(t=>{console.error(E.error("Scan error: "+t.message)),process.exit(1)}),await new Promise(()=>{}));(he==="update"||he==="upgrade")&&((async()=>{let t="@aiaiaichain/agent";console.log(E.accent(`
351
+ `));let e=await Qg("",{address:t});e.isError&&(console.log(e.content[0].text),process.exit(1)),console.log(e.content[0].text),console.log(""),process.exit(0)})().catch(t=>{console.error(E.error("Scan error: "+t.message)),process.exit(1)});(he==="update"||he==="upgrade")&&(async()=>{let t="@aiaiaichain/agent";console.log(E.accent(`
353
352
  \u{1F916} AIAIAI Update Check
354
- `));let e=Xg(import.meta.url),r=Vg(e),o=JSON.parse(Zo(Hg(r,"..","package.json"),"utf-8")).version;console.log(E.muted(` Current version: v${o}`));let s=null,i="";try{s=wu(`npm view ${t} version`,{encoding:"utf-8",timeout:15e3}).trim().split(`
355
- `).pop()||null;try{let h=wu(`npm view ${t} --json`,{encoding:"utf-8",timeout:15e3}),p=JSON.parse(h);p.gitHead&&(i=`Git: ${p.gitHead.slice(0,8)}`)}catch{X.debug("CLI","No changelog available (optional)")}}catch(a){X.warn("CLI","Could not reach npm registry",{error:a.message}),console.log(E.error(" Could not reach npm registry. Check your connection.")),process.exit(1)}s||(console.log(E.error(" Could not determine latest version.")),process.exit(1)),console.log(E.muted(` Latest version: v${s}`)),i&&console.log(E.muted(` ${i}`)),s===o&&(console.log(E.success(`
353
+ `));let e=rA(import.meta.url),r=eA(e),o=JSON.parse(es(Zg(r,"..","package.json"),"utf-8")).version;console.log(E.muted(` Current version: v${o}`));let s=null,i="";try{s=xu(`npm view ${t} version`,{encoding:"utf-8",timeout:15e3}).trim().split(`
354
+ `).pop()||null;try{let h=xu(`npm view ${t} --json`,{encoding:"utf-8",timeout:15e3}),p=JSON.parse(h);p.gitHead&&(i=`Git: ${p.gitHead.slice(0,8)}`)}catch{Z.debug("CLI","No changelog available (optional)")}}catch(a){Z.warn("CLI","Could not reach npm registry",{error:a.message}),console.log(E.error(" Could not reach npm registry. Check your connection.")),process.exit(1)}s||(console.log(E.error(" Could not determine latest version.")),process.exit(1)),console.log(E.muted(` Latest version: v${s}`)),i&&console.log(E.muted(` ${i}`)),s===o&&(console.log(E.success(`
356
355
  \u2705 You're on the latest version!
357
356
  `)),process.exit(0)),console.log(E.accent(`
358
357
  \u26A1 Update available: v${o} \u2192 v${s}
359
- `));let c=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),u=(await(a=>new Promise(h=>c.question(a,h)))(" Install update now? (y/n): ")).trim().toLowerCase();u!=="y"&&u!=="yes"&&(console.log(E.muted("\n Skipped. Run `aiaiai update` anytime to update.\n")),c.close(),process.exit(0)),console.log(E.muted(`
360
- Installing update...`));try{wu(`npm install -g ${t}`,{stdio:"inherit",timeout:12e4}),console.log(E.success(`
358
+ `));let c=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout}),d=(await(a=>new Promise(h=>c.question(a,h)))(" Install update now? (y/n): ")).trim().toLowerCase();d!=="y"&&d!=="yes"&&(console.log(E.muted("\n Skipped. Run `aiaiai update` anytime to update.\n")),c.close(),process.exit(0)),console.log(E.muted(`
359
+ Installing update...`));try{xu(`npm install -g ${t}`,{stdio:"inherit",timeout:12e4}),console.log(E.success(`
361
360
  \u2705 Updated to v${s}!`)),console.log(E.muted(" Run `aiaiai` to restart with new features.\n"))}catch(a){console.log(E.error(`
362
361
  \u274C Update failed: ${a.message}`)),console.log(E.muted(` Try manually: npm install -g @aiaiaichain/agent
363
- `))}c.close(),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t.message}`)),process.exit(1)}),await new Promise(()=>{}));(he==="health"||he==="doctor")&&((async()=>{console.log(E.accent(`
362
+ `))}c.close(),process.exit(0)})().catch(t=>{console.error(E.error(`Error: ${t.message}`)),process.exit(1)});(he==="health"||he==="doctor")&&(async()=>{console.log(E.accent(`
364
363
  \u2705 AIAIAI Health Check
365
- `));let t=!0;console.log(E.muted(" Config:")),es(cn)?console.log(E.success(" .env found")):(console.log(E.warn(" .env not found \u2014 run: aiaiai setup")),t=!1),console.log(E.muted(" API Key:")),process.env.OPENROUTER_API_KEY||Tt.get("OPENROUTER_API_KEY")?console.log(E.success(" OPENROUTER_API_KEY set")):(console.log(E.warn(" OPENROUTER_API_KEY not set")),t=!1),console.log(E.muted(" Solana RPC:"));try{let{resilientFetch:r}=await Promise.resolve().then(()=>(pt(),lh)),n=process.env.SOLANA_RPC_URL||"https://api.mainnet-beta.solana.com";(await(await r(n,{timeout:1e4,retries:0,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"getHealth",params:[]})})).json()).result==="ok"?console.log(E.success(" RPC healthy: "+n)):(console.log(E.warn(" RPC responded but unhealthy")),t=!1)}catch(r){console.log(E.error(" RPC unreachable: "+r.message)),t=!1}console.log(E.muted(" Disk:"));try{let{writeFileSync:r,unlinkSync:n}=await import("node:fs"),o=Ir(Xn,".health-test");r(o,"test","utf-8"),n(o),console.log(E.success(" writable"))}catch(r){X.warn("CLI","Disk not writable",{error:r.message}),console.log(E.error(" not writable")),t=!1}console.log(E.muted(`
366
- Extras:`));try{let{getCurrentTheme:r}=await Promise.resolve().then(()=>(ql(),ng));console.log(E.success(` Theme: ${r()} (run aiaiai to change)`))}catch{console.log(E.muted(" Theme: default"))}try{let{clipboardSupported:r}=await Promise.resolve().then(()=>(Yl(),sg));console.log(E.muted(` Clipboard: ${r()}`))}catch{console.log(E.muted(" Clipboard: not available"))}try{let{hasWebhooks:r}=await Promise.resolve().then(()=>(zl(),ug));console.log(r()?E.success(" Webhooks: configured"):E.muted(" Webhooks: not configured (set WEBHOOK_DISCORD or WEBHOOK_TELEGRAM in .env)"))}catch{console.log(E.muted(" Webhooks: not available"))}console.log(E.muted(" Provider Keys:"));let e=[{name:"OpenRouter",key:"OPENROUTER_API_KEY"},{name:"Anthropic",key:"ANTHROPIC_API_KEY"},{name:"OpenAI",key:"OPENAI_API_KEY"},{name:"Google",key:"GOOGLE_API_KEY"},{name:"DeepSeek",key:"DEEPSEEK_API_KEY"},{name:"Groq",key:"GROQ_API_KEY"},{name:"GMGN",key:"GMGN_API_KEY"}];for(let r of e){let n=process.env[r.key]||Tt.get(r.key);console.log(n?E.success(` ${r.name}: \u2713`):E.dim(` ${r.name}: \u2717 (optional)`))}console.log(""),console.log(t?E.success(` All systems operational.
364
+ `));let t=!0;console.log(E.muted(" Config:")),ts(ln)?console.log(E.success(" .env found")):(console.log(E.warn(" .env not found \u2014 run: aiaiai setup")),t=!1),console.log(E.muted(" API Key:")),process.env.OPENROUTER_API_KEY||Tt.get("OPENROUTER_API_KEY")?console.log(E.success(" OPENROUTER_API_KEY set")):(console.log(E.warn(" OPENROUTER_API_KEY not set")),t=!1),console.log(E.muted(" Solana RPC:"));try{let{resilientFetch:r}=await Promise.resolve().then(()=>(ht(),mh)),n=process.env.SOLANA_RPC_URL||"https://api.mainnet-beta.solana.com";(await(await r(n,{timeout:1e4,retries:0,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"getHealth",params:[]})})).json()).result==="ok"?console.log(E.success(" RPC healthy: "+n)):(console.log(E.warn(" RPC responded but unhealthy")),t=!1)}catch(r){console.log(E.error(" RPC unreachable: "+r.message)),t=!1}console.log(E.muted(" Disk:"));try{let{writeFileSync:r,unlinkSync:n}=await import("node:fs"),o=Ir(Xn,".health-test");r(o,"test","utf-8"),n(o),console.log(E.success(" writable"))}catch(r){Z.warn("CLI","Disk not writable",{error:r.message}),console.log(E.error(" not writable")),t=!1}console.log(E.muted(`
365
+ Extras:`));try{let{getCurrentTheme:r}=await Promise.resolve().then(()=>(Vc(),ag));console.log(E.success(` Theme: ${r()} (run aiaiai to change)`))}catch{console.log(E.muted(" Theme: default"))}try{let{clipboardSupported:r}=await Promise.resolve().then(()=>(zc(),cg));console.log(E.muted(` Clipboard: ${r()}`))}catch{console.log(E.muted(" Clipboard: not available"))}try{let{hasWebhooks:r}=await Promise.resolve().then(()=>(eu(),hg));console.log(r()?E.success(" Webhooks: configured"):E.muted(" Webhooks: not configured (set WEBHOOK_DISCORD or WEBHOOK_TELEGRAM in .env)"))}catch{console.log(E.muted(" Webhooks: not available"))}console.log(E.muted(" Provider Keys:"));let e=[{name:"OpenRouter",key:"OPENROUTER_API_KEY"},{name:"Anthropic",key:"ANTHROPIC_API_KEY"},{name:"OpenAI",key:"OPENAI_API_KEY"},{name:"Google",key:"GOOGLE_API_KEY"},{name:"DeepSeek",key:"DEEPSEEK_API_KEY"},{name:"Groq",key:"GROQ_API_KEY"},{name:"GMGN",key:"GMGN_API_KEY"}];for(let r of e){let n=process.env[r.key]||Tt.get(r.key);console.log(n?E.success(` ${r.name}: \u2713`):E.dim(` ${r.name}: \u2717 (optional)`))}console.log(""),console.log(t?E.success(` All systems operational.
367
366
  `):E.warn(` Some checks failed. Review above for details.
368
- `)),process.exit(t?0:1)})().catch(t=>{console.error(E.error("Health check failed: "+t.message)),process.exit(2)}),await new Promise(()=>{}));if(he==="sessions"){let t=Ye.list();t.length===0&&(console.log(E.muted(" No saved sessions.")),process.exit(0)),console.log(E.accent(`
367
+ `)),process.exit(t?0:1)})().catch(t=>{console.error(E.error("Health check failed: "+t.message)),process.exit(2)});if(he==="sessions"){let t=Ve.list();t.length===0&&(console.log(E.muted(" No saved sessions.")),process.exit(0)),console.log(E.accent(`
369
368
  \u{1F4C2} Saved Sessions
370
- `)),t.slice(0,15).forEach((e,r)=>{let n=new Date(e.updatedAt).toLocaleDateString();console.log(E.muted(` ${String(r+1).padStart(2)}. ${e.title} (${e.messageCount} msgs, ${e.model}, ${n})`))}),console.log(""),process.exit(0)}if(he==="resume"){let t=Ye.list();t.length===0&&(console.log(E.muted(" No saved sessions.")),process.exit(0));let e=parseInt(process.argv[3])-1;(isNaN(e)||e<0||e>=t.length)&&(console.log(E.error(" Invalid session number.")),process.exit(1));let r=Ye.load(t[e].id);r||(console.log(E.error(" Session not found.")),process.exit(1)),console.log(E.accent(`
369
+ `)),t.slice(0,15).forEach((e,r)=>{let n=new Date(e.updatedAt).toLocaleDateString();console.log(E.muted(` ${String(r+1).padStart(2)}. ${e.title} (${e.messageCount} msgs, ${e.model}, ${n})`))}),console.log(""),process.exit(0)}if(he==="resume"){let t=Ve.list();t.length===0&&(console.log(E.muted(" No saved sessions.")),process.exit(0));let e=parseInt(process.argv[3])-1;(isNaN(e)||e<0||e>=t.length)&&(console.log(E.error(" Invalid session number.")),process.exit(1));let r=Ve.load(t[e].id);r||(console.log(E.error(" Session not found.")),process.exit(1)),console.log(E.accent(`
371
370
  \u{1F4C2} Resumed: ${r.title}
372
- `)),console.log(E.muted(` Messages: ${r.messages.length}`)),console.log(E.muted(` Model: ${r.model}`)),console.log(""),process.exit(0)}var zn=null,zo=null;for(let t=0;t<Pt.length;t++)Pt[t]==="--extension"&&Pt[t+1]&&(zn=Pt[t+1]),Pt[t]==="--prompt"&&Pt[t+1]&&(zo=Pt[t+1]);var Xo=gC;if(zo&&es(zo)){let t=Zo(zo,"utf-8");t.length>1e4&&(console.error(E.error("Prompt file too large (max 10KB).")),process.exit(1)),t=t.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");let e=[/ignore (all |previous |above|prior) instructions/i,/you are now /i,/new instructions/i,/override (system|safety)/i];for(let r of e)r.test(t)&&(console.error(E.error("Prompt file contains suspicious patterns. Use a simpler prompt.")),process.exit(1));Xo=t,console.log(E.muted(" Custom prompt loaded: "+zo))}var Gg=Pt.indexOf("--headless"),qg=Gg>=0?Pt[Gg+1]:null;qg?(async()=>{Xe.init();let t=new eo;if(t.setSystemPrompt(Xo),zn)try{await Cc(zn,t)}catch(l){process.stderr.write(`Extension load failed: ${l instanceof Error?l.message:String(l)}
373
- `),process.exit(1)}await At.initialise();let e=new Pn;e.setSystemPrompt(t.getSystemPrompt()||Xo);let r=Or(),o={ui:{notify:()=>{},setStatus:()=>{},setTheme:()=>{},setHeader:()=>{},showModelSelector:()=>{},theme:r},hasUI:!1,config:{OPENROUTER_API_KEY:process.env.OPENROUTER_API_KEY}};await t.fireHook("session_start",o);let s=0,i=new Rn(t,e,l=>{l.type==="text_delta"&&process.stdout.write(l.text),l.type==="turn_done"&&process.stdout.write(`
371
+ `)),console.log(E.muted(` Messages: ${r.messages.length}`)),console.log(E.muted(` Model: ${r.model}`)),console.log(""),process.exit(0)}var zn=null,Xo=null;for(let t=0;t<Pt.length;t++)Pt[t]==="--extension"&&Pt[t+1]&&(zn=Pt[t+1]),Pt[t]==="--prompt"&&Pt[t+1]&&(Xo=Pt[t+1]);var Zo=kC;if(Xo&&ts(Xo)){let t=es(Xo,"utf-8");t.length>1e4&&(console.error(E.error("Prompt file too large (max 10KB).")),process.exit(1)),t=t.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");let e=[/ignore (all |previous |above|prior) instructions/i,/you are now /i,/new instructions/i,/override (system|safety)/i];for(let r of e)r.test(t)&&(console.error(E.error("Prompt file contains suspicious patterns. Use a simpler prompt.")),process.exit(1));Zo=t,console.log(E.muted(" Custom prompt loaded: "+Xo))}var Vg=Pt.indexOf("--headless"),Hg=Vg>=0?Pt[Vg+1]:null;Hg?(async()=>{Ze.init();let t=new eo;if(t.setSystemPrompt(Zo),zn)try{await Cl(zn,t)}catch(l){process.stderr.write(`Extension load failed: ${l instanceof Error?l.message:String(l)}
372
+ `),process.exit(1)}await gt.initialise();let e=new Pn;e.setSystemPrompt(t.getSystemPrompt()||Zo);let r=$r(),o={ui:{notify:()=>{},setStatus:()=>{},setTheme:()=>{},setHeader:()=>{},showModelSelector:()=>{},theme:r},hasUI:!1,config:{OPENROUTER_API_KEY:process.env.OPENROUTER_API_KEY}};await t.fireHook("session_start",o);let s=0,i=new Rn(t,e,l=>{l.type==="text_delta"&&process.stdout.write(l.text),l.type==="turn_done"&&process.stdout.write(`
374
373
  `),l.type==="error"&&(process.stderr.write(`
375
374
  Error: ${l.message}
376
- `),s=1)},o,"normal",At);try{await i.run(qg)}catch(l){process.stderr.write(`Runner error: ${l instanceof Error?l.message:String(l)}
377
- `),s=1}await t.fireHook("session_end",o),process.exit(s)})():(async()=>{Xe.init(),console.clear(),console.log(E.accent(`
375
+ `),s=1)},o,"normal",gt);try{await i.run(Hg)}catch(l){process.stderr.write(`Runner error: ${l instanceof Error?l.message:String(l)}
376
+ `),s=1}await t.fireHook("session_end",o),process.exit(s)})():(async()=>{Ze.init(),console.clear(),console.log(E.accent(`
378
377
  \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557
379
378
  \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551
380
379
  \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551
@@ -382,7 +381,7 @@ Error: ${l.message}
382
381
  \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551
383
382
  \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D
384
383
  `)),console.log(E.muted(` Solana-native AI agent \u2014 $AIAIAI \xB7 all local, zero exposure
385
- `));let t=new eo;t.setSystemPrompt(Xo);let e=null,r=null,n=null;if(zn)try{console.log(E.muted(` Loading: ${zn}`)),await Cc(zn,t,{onNotify:s=>{e?.(s)},onStatusUpdate:(s,i)=>{r?.(s,i)},onShowModelSelector:s=>{n?.(s)}}),console.log(E.success(` \u2713 ${t.listTools().length} tools \xB7 ${t.listCommands().length} commands`))}catch(s){console.error(E.error(` \u2717 Extension load failed: ${s.message}`)),process.exit(1)}process.env.OPENROUTER_API_KEY||console.log(E.warn(` No API key found. Run: aiaiaichain setup
386
- `));let o=new qi(At);console.log(E.muted(" Discovering available models via OpenRouter\u2026")),await At.initialise(),console.log(E.success(` \u2713 ${At.modelCount} models available
387
- `)),await new Promise(s=>setTimeout(s,500)),console.clear(),pC(Wg.createElement(Wi,{onError:s=>{X.error("ErrorBoundary","UI render crash",{error:s.message})}},Wg.createElement(Sg,{registry:t,systemPrompt:Xo,chain:"solana",modelReg:At,costTracker:o,onNotifyReady:s=>{e=s},onStatusReady:s=>{r=s},onModelSelectorReady:s=>{n=s}})),{exitOnCtrlC:!1}),process.prependListener("SIGWINCH",()=>{process.stdout.write("\x1B[2J\x1B[H")}),console.log=Gi,console.error=Gi,console.warn=Gi})();
384
+ `));let t=new eo;t.setSystemPrompt(Zo);let e=null,r=null,n=null;if(zn)try{console.log(E.muted(` Loading: ${zn}`)),await Cl(zn,t,{onNotify:s=>{e?.(s)},onStatusUpdate:(s,i)=>{r?.(s,i)},onShowModelSelector:s=>{n?.(s)}}),console.log(E.success(` \u2713 ${t.listTools().length} tools \xB7 ${t.listCommands().length} commands`))}catch(s){console.error(E.error(` \u2717 Extension load failed: ${s.message}`)),process.exit(1)}process.env.OPENROUTER_API_KEY||console.log(E.warn(` No API key found. Run: aiaiaichain setup
385
+ `));let o=new qi(gt);console.log(E.muted(" Discovering available models via OpenRouter\u2026")),await gt.initialise(),console.log(E.success(` \u2713 ${gt.modelCount} models available
386
+ `)),await new Promise(s=>setTimeout(s,500)),console.clear(),CC(Yg.createElement(Wi,{onError:s=>{Z.error("ErrorBoundary","UI render crash",{error:s.message})}},Yg.createElement(Bg,{registry:t,systemPrompt:Zo,chain:"solana",modelReg:gt,costTracker:o,onNotifyReady:s=>{e=s},onStatusReady:s=>{r=s},onModelSelectorReady:s=>{n=s}})),{exitOnCtrlC:!1}),process.prependListener("SIGWINCH",()=>{process.stdout.write("\x1B[2J\x1B[H")}),console.log=Gi,console.error=Gi,console.warn=Gi})();
388
387