@whalent/agent 0.3.171 → 0.3.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';const a0_0x492454=a0_0x5ecd;(function(_0x3194f1,_0x4a75cf){const _0x59d6cf=a0_0x5ecd,_0x43983c=_0x3194f1();while(!![]){try{const _0x569992=-parseInt(_0x59d6cf(0x13c))/0x1+parseInt(_0x59d6cf(0x10b))/0x2+parseInt(_0x59d6cf(0x149))/0x3+-parseInt(_0x59d6cf(0x90))/0x4+parseInt(_0x59d6cf(0x128))/0x5+parseInt(_0x59d6cf(0xae))/0x6*(-parseInt(_0x59d6cf(0xdf))/0x7)+parseInt(_0x59d6cf(0xb3))/0x8;if(_0x569992===_0x4a75cf)break;else _0x43983c['push'](_0x43983c['shift']());}catch(_0x55ee0b){_0x43983c['push'](_0x43983c['shift']());}}}(a0_0x53d6,0x73d2b));var __create=Object['create'],__defProp=Object[a0_0x492454(0x105)],__getOwnPropDesc=Object[a0_0x492454(0x89)+a0_0x492454(0x110)],__getOwnPropNames=Object[a0_0x492454(0x13d)],__getProtoOf=Object[a0_0x492454(0x137)],__hasOwnProp=Object[a0_0x492454(0x125)][a0_0x492454(0x107)],__copyProps=(_0x4b6846,_0x47a447,_0x16031d,_0x45ad90)=>{const _0x18904b=a0_0x492454;if(_0x47a447&&typeof _0x47a447==='object'||typeof _0x47a447===_0x18904b(0xbb)){for(let _0x2a9622 of __getOwnPropNames(_0x47a447))if(!__hasOwnProp[_0x18904b(0xaa)](_0x4b6846,_0x2a9622)&&_0x2a9622!==_0x16031d)__defProp(_0x4b6846,_0x2a9622,{'get':()=>_0x47a447[_0x2a9622],'enumerable':!(_0x45ad90=__getOwnPropDesc(_0x47a447,_0x2a9622))||_0x45ad90[_0x18904b(0xc3)]});}return _0x4b6846;},__toESM=(_0x33a741,_0x38401d,_0x34fa16)=>(_0x34fa16=_0x33a741!=null?__create(__getProtoOf(_0x33a741)):{},__copyProps(_0x38401d||!_0x33a741||!_0x33a741['__esModule']?__defProp(_0x34fa16,'default',{'value':_0x33a741,'enumerable':!![]}):_0x34fa16,_0x33a741)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x492454(0x99)),path2=__toESM(require('path'),0x1),readline=__toESM(require(a0_0x492454(0x155)),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require('path'),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x492454(0x8b)+'js.org',CHINA_NPM_REGISTRY=a0_0x492454(0x8b)+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x1963a5=a0_0x492454,_0x22e77b=explicitNpmRegistry();if(_0x22e77b)return _0x22e77b;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x1963a5(0x12a)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x42788e=preferredNpmRegistry()){const _0x147664=a0_0x492454,_0x2359ea=explicitNpmRegistry();if(_0x2359ea)return[_0x2359ea];const _0x20973b=normalizeRegistry(_0x42788e)||DEFAULT_NPM_REGISTRY,_0x1271ff=_0x20973b===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x147664(0xbc)](new Set([_0x20973b,_0x1271ff]));}async function selectFastNpmRegistry(_0x2bbf92=REGISTRY_PROBE_TIMEOUT_MS){const _0x75956d=a0_0x492454,_0x63bc7d=explicitNpmRegistry();if(_0x63bc7d)return rememberNpmRegistry(_0x63bc7d),_0x63bc7d;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x29b4ad=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x363edb=_0x29b4ad[_0x75956d(0xa1)](()=>new AbortController());let _0x50436f=-0x1;const _0x2b062c=_0x29b4ad[_0x75956d(0xa1)]((_0x1c592b,_0x3f95c4)=>probeRegistry200(_0x1c592b,_0x2bbf92,_0x363edb[_0x3f95c4]['signal'])[_0x75956d(0x134)](()=>({'registry':_0x1c592b,'index':_0x3f95c4})));try{const _0x49d6bb=await Promise[_0x75956d(0xd8)](_0x2b062c);_0x50436f=_0x49d6bb['index'];const _0x29f1bb=_0x49d6bb[_0x75956d(0x12a)];return rememberNpmRegistry(_0x29f1bb),_0x29f1bb;}catch{const _0x4e6954=_0x29b4ad[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x4e6954),_0x4e6954;}finally{_0x363edb['forEach']((_0x1aec2b,_0x59ad8c)=>{if(_0x59ad8c!==_0x50436f)_0x1aec2b['abort']();});}}function rememberNpmRegistry(_0x551400){const _0x13d8c4=a0_0x492454,_0xdf4dec=normalizeRegistry(_0x551400);if(_0xdf4dec)selectedRegistryCache={'registry':_0xdf4dec,'ts':Date[_0x13d8c4(0x153)]()};}function npmRegistryArg(_0x138a2a=preferredNpmRegistry()){const _0x25e4de=a0_0x492454;return _0x25e4de(0xda)+(normalizeRegistry(_0x138a2a)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x28e937,_0x28f268=preferredNpmRegistry()){const _0x4ba72b=a0_0x492454;return _0x4ba72b(0xf5)+_0x28e937+'\x20'+npmRegistryArg(_0x28f268);}function isChineseLocale(){const _0xf6400e=a0_0x492454,_0x5dcf2b=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x5dcf2b))return!![];try{const _0x3bef35=Intl['DateTimeFormat']()[_0xf6400e(0x118)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x3bef35);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x5e2a8c){const _0x38ecd8=a0_0x492454;return String(_0x5e2a8c||'')['trim']()[_0x38ecd8(0x114)](/\/+$/,'');}function probeRegistry200(_0x4f8bc2,_0x3a90fb,_0x2b86f6){return new Promise((_0x242938,_0x155399)=>{const _0x359c44=a0_0x5ecd;let _0x17a921=![];const _0x32b697=_0x1cfa8b=>{const _0x54f86d=a0_0x5ecd;if(_0x17a921)return;_0x17a921=!![],clearTimeout(_0xca8b81),_0x2b86f6?.['removeEventListener'](_0x54f86d(0x94),_0x292bf3);if(!_0x6d1e92[_0x54f86d(0xdc)])try{_0x6d1e92[_0x54f86d(0xd7)](_0x54f86d(0x8f));}catch{}if(_0x1cfa8b)_0x155399(_0x1cfa8b);else _0x242938();},_0x292bf3=()=>{const _0x3376da=a0_0x5ecd;_0x32b697(new Error(_0x3376da(0xc6)+'ed'));},_0xca8b81=setTimeout(()=>{const _0x56523e=a0_0x5ecd;_0x32b697(new Error(_0x56523e(0x109)+_0x56523e(0xfe)));},_0x3a90fb);_0xca8b81[_0x359c44(0xed)]?.();const _0x6d1e92=(0x0,import_child_process['spawn'])(process[_0x359c44(0x7e)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x4f8bc2)||DEFAULT_NPM_REGISTRY,String(_0x3a90fb)],{'stdio':_0x359c44(0x7c),'shell':![],'windowsHide':!![]});_0x6d1e92['on']('error',_0x32b697),_0x6d1e92['on']('exit',_0x4d6880=>{if(_0x4d6880===0x0)_0x32b697();else _0x32b697(new Error('registry\x20probe\x20faile'+'d:\x20exit='+(_0x4d6880??'signal')));}),_0x2b86f6?.[_0x359c44(0xbf)]('abort',_0x292bf3,{'once':!![]});if(_0x2b86f6?.[_0x359c44(0x14f)]){_0x292bf3();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x492454(0xb5)+'e(\x27http\x27);\x0aconst\x20htt'+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+a0_0x492454(0x11e)+'1]\x20||\x20\x27\x27).replace(/\x5c'+a0_0x492454(0xaf)+'eoutMs\x20=\x20Number(proc'+a0_0x492454(0x158)+'\x20||\x203000;\x0aconst\x20url\x20'+'=\x20new\x20URL(\x27/-/ping\x27,'+a0_0x492454(0x92)+'nst\x20mod\x20=\x20url.protoc'+'ol\x20===\x20\x27https:\x27\x20?\x20ht'+'tps\x20:\x20http;\x0alet\x20done'+a0_0x492454(0xd1)+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+'f\x20(done)\x20return;\x0a\x20\x20d'+'one\x20=\x20true;\x0a\x20\x20clearT'+a0_0x492454(0xf1)+'\x20{\x20req.destroy();\x20}\x20'+'catch\x20{}\x0a\x20\x20process.e'+a0_0x492454(0x141)+a0_0x492454(0xb7)+a0_0x492454(0xc5)+a0_0x492454(0x81)+a0_0x492454(0x108)+a0_0x492454(0x91)+a0_0x492454(0x9d)+a0_0x492454(0x102)+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x492454(0x119)+a0_0x492454(0x9a)+'\x20\x27application/json,t'+'ext/plain,*/*\x27\x20},\x0a},'+a0_0x492454(0xe8)+'sume();\x0a\x20\x20res.on(\x27en'+a0_0x492454(0x86)+a0_0x492454(0x13e)+'?\x200\x20:\x202));\x0a\x20\x20res.on('+'\x27error\x27,\x20()\x20=>\x20finis'+'h(4));\x0a});\x0areq.on(\x27t'+a0_0x492454(0xe4)+a0_0x492454(0x7b)+'\x27,\x20()\x20=>\x20finish(4));'+a0_0x492454(0xfa),INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x492454(0xad),'claude':a0_0x492454(0xa0)+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x492454(0xa4))+a0_0x492454(0x96)};function isWindowsCmdFile(_0x5c7da7){const _0x178266=a0_0x492454;return process[_0x178266(0x87)]===_0x178266(0xf0)&&/\.(cmd|bat)$/i['test'](_0x5c7da7||'');}function quoteCmdArg(_0x4eed80){const _0xc453fe=a0_0x492454,_0x30027f=String(_0x4eed80??'');if(_0x30027f&&!/[\s"&|<>^%]/[_0xc453fe(0x100)](_0x30027f))return _0x30027f;return'\x22'+_0x30027f[_0xc453fe(0x114)](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x310e5d,_0xb02057){const _0x32651b=a0_0x492454;return['/d','/s','/c',[quoteCmdArg(_0x310e5d),..._0xb02057['map'](quoteCmdArg)][_0x32651b(0xf3)]('\x20')];}function resolveExecutablePath(_0x4e2eb6){const _0x3842ef=a0_0x492454;if(!_0x4e2eb6)return null;if(_0x4e2eb6['includes']('/')||_0x4e2eb6['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x4e2eb6))return(0x0,import_fs['existsSync'])(_0x4e2eb6)?_0x4e2eb6:_0x4e2eb6;const _0x1932b9=process['platform']==='win32',_0x57e342=_0x1932b9?_0x3842ef(0x98):'which';try{const _0x54805b=(0x0,import_child_process2[_0x3842ef(0xb4)])(_0x57e342,[_0x4e2eb6],{'encoding':_0x3842ef(0x143),'timeout':0xbb8,'shell':![]});if(_0x54805b[_0x3842ef(0x11d)]===0x0){const _0x172d30=(_0x54805b[_0x3842ef(0xd3)]||'')[_0x3842ef(0xb2)]()['split'](/\r?\n/)[_0x3842ef(0x112)](Boolean);if(_0x172d30['length']===0x0)return null;if(_0x1932b9)for(const _0x160dde of['.exe',_0x3842ef(0x93),_0x3842ef(0xa3),'.ps1']){const _0x31bc56=_0x172d30[_0x3842ef(0xf8)](_0x1c968a=>_0x1c968a['toLowerCase']()['endsWith'](_0x160dde));if(_0x31bc56)return _0x31bc56;}return _0x172d30[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x5403ba){const _0x1424eb=a0_0x492454;if(process['platform']!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x5403ba))return null;let _0x19a004;try{_0x19a004=(0x0,import_fs['readFileSync'])(_0x5403ba,'utf-8');}catch{return null;}const _0x17f375=_0x19a004[_0x1424eb(0x147)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x17f375){const _0x559b9b=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x5403ba),_0x17f375[0x2]);if((0x0,import_fs['existsSync'])(_0x559b9b))return{'type':_0x1424eb(0x12f),'path':_0x559b9b};}const _0x44a57c=_0x19a004[_0x1424eb(0x147)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x44a57c){const _0x20f7de=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x5403ba),_0x44a57c[0x2]);if((0x0,import_fs[_0x1424eb(0x122)])(_0x20f7de))return{'type':_0x1424eb(0x150),'path':_0x20f7de};}return null;}function safeSpawnSync(_0x15fc27,_0x5bfcf2,_0x1b31db={}){const _0x2940c5=a0_0x492454,_0x3c5d77=unwrapWindowsCmdShim(_0x15fc27);if(_0x3c5d77?.['type']===_0x2940c5(0x12f))return(0x0,import_child_process2['spawnSync'])(process[_0x2940c5(0x7e)],[_0x3c5d77['path'],..._0x5bfcf2],_0x1b31db);if(_0x3c5d77?.['type']===_0x2940c5(0x150))return(0x0,import_child_process2['spawnSync'])(_0x3c5d77[_0x2940c5(0x146)],_0x5bfcf2,_0x1b31db);if(isWindowsCmdFile(_0x15fc27))return(0x0,import_child_process2['spawnSync'])(process.env.ComSpec||_0x2940c5(0xf2),cmdFallbackArgs(_0x15fc27,_0x5bfcf2),_0x1b31db);return(0x0,import_child_process2['spawnSync'])(_0x15fc27,_0x5bfcf2,_0x1b31db);}var os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x492454(0x146)),0x1),PROFILE_ROOT=path[a0_0x492454(0xf3)](os['homedir'](),a0_0x492454(0xdd),'profiles'),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x492454(0xf3)](os['homedir'](),a0_0x492454(0xdd)),WHALENT_SHARED_HELPERS_DIR=path['join'](WHALENT_AGENT_DEFAULT_HOME,a0_0x492454(0xf6)),WRAPPER_PKG_NAME=a0_0x492454(0xa4),CORE_PKG_NAME=a0_0x492454(0x9e),SUPERVISED_RESTART_CODE=0x4b,DAEMON_REPLACED_EXIT_CODE=0x4f,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){return path2['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x241eab=a0_0x492454;return path2[_0x241eab(0xf3)](configDir(),_0x241eab(0x148));}function writeLastCrash(_0x219681){const _0x4d6cff=a0_0x492454;try{fs[_0x4d6cff(0xb6)](configDir(),{'recursive':!![]});const _0xb04a5={..._0x219681,'reported':![]};fs[_0x4d6cff(0x72)](lastCrashFilePath(),JSON['stringify'](_0xb04a5,null,0x2),_0x4d6cff(0x143));}catch{}}function readWrapperVersion(){const _0x18aa33=a0_0x492454;try{const _0xfeccfe=JSON['parse'](fs['readFileSync'](path2[_0x18aa33(0xf3)](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0xfeccfe[_0x18aa33(0x126)]||_0x18aa33(0x77));}catch{return _0x18aa33(0x77);}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x393e53){const _0x4a8767=a0_0x492454;try{fs[_0x4a8767(0xb6)](configDir(),{'recursive':!![]}),fs[_0x4a8767(0x72)](upgradeStatePath(),JSON['stringify']({..._0x393e53,'updated_at':Date['now']()},null,0x2),_0x4a8767(0x143));}catch{}}function a0_0x53d6(){const _0x56753f=['zxHPC3rZu3LUyW','C2LNBMfS','zgLZDa','ChjVDg90ExbL','DMvYC2LVBG','y3jLyxrLuMvXDwLYzq','ndi4oda5mePpz3vsBq','C2HPzNq','CMvNAxn0CNK','AwqGBM90igjLy29TzsbOzwfSDgG','ls1OzwXW','Aw5ZDgfSBgvKx3zLCNnPB24','ihrPBwvZihDPDgHPBIa','BM9Kzq','Dg9mB3DLCKnHC2u','w3DYyxbWzxjDihn0yxj0Aw5Nigm','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','D2HHBgvUDcbJB3jLihj1BNrPBwu','DgHLBG','w2DHDgv3yxLDienVBM5Ly3rLza','CM9VDa','z2v0uhjVDg90ExbLt2y','C3rKzxjY','yxjNDG','u0Lhsu5u','AwXHyMXLoIa','ndu2ndqYBffPqxD0','z2v0t3DUuhjVCgvYDhLoyw1LCW','lNn0yxr1C0nVzguGpt09idiWmca','ChbPza','BM90igLUC3rHBgXLza','EgL0kgnVzguPoWP9oWPJB25ZDca','DcbMB3vUzdOG','DxrMltG','C2nYzwvU','572UifDiquXftLrFu0Tjuf9qrvjtsq','Cgf0Aa','Bwf0y2G','BgfZDc1JCMfZAc5QC29U','nJaYndy5uvfoBLPY','CMvJB3jKoIa','qhDOywXLBNq','zguGAgvHBhrOEtOG','ywnOAw5L','ywnR','ywjVCNrLza','zxHL','CgfYC2vjBNq','w3DYyxbWzxjDignVCMuGzxHPDgu','BM93','BgvUz3rO','CMvHzgXPBMu','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','w3DYyxbWzxjDig1Hy09tig5Vzgu','zxnZlMfYz3zBmL0GFhWGmZaWmcK','BNbTig5VDcbMB3vUzcbVBIbqqvq','D3jPDgvgAwXLu3LUyW','ihnJCMvLBIaGicaGiYbVCJOGC3u','BNvTyMvY','igLUia','B3v0Chv0','mc4WlJa','44cc5lUn54s257UN57UT5zcx77YFw1KVBL3VViG','w3DYyxbWzxjDihjLC3rHCNrPBMC','ic0+ia','AcGZksK7cNjLCs5VBIGNzxjYB3i','AwDUB3jL','Aw5JBhvKzxm','zxHLy1bHDgG','B3iGCMvIDwLSzcbaD2HHBgvUDc8','Aw5tzxnZAw9U','B3v0txmPoWPJB25ZDcbYzxeGpsa','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','CM9SBgvKx2jHy2S','ywnJzxnZu3LUyW','BcaTEsbZy3jLzw4','zcCSicGPid0+igzPBMLZAcHYzxm','CgXHDgzVCM0','Dg9tDhjPBMC','z2v0t3DUuhjVCgvYDhLezxnJCMK','Dg11Ea','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','Aw5NihDPDgGG','icbSCYaTBcaIjeHftfbfuIi','w3DYyxbWzxjDioIVT+wCQcbZy3jLzw4G','u0Lhvevstq','mti2nJiWExbouwHo','ig1LDgHVzdOGj0DfvcCScIaGDgK','ihjLz2LZDhj5icSGjY8NktSky28','lMnTza','ywjVCNq','C3bSAxq','ic0TChjLzMvYlw9UBgLUzq','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','D2HLCMuUzxHL','Bw9KDwXL','C3rYEs1WCM9IzsCSiefJy2vWDdO','w3DYyxbWzxjDioIVT+MhJEAwSoI+K+wfPEs4IUs4GoADOsb3','6kAb5RgcihnJCMvLBIaVihrTDxJVVjVLSiBKVB/NLkG','BwvVDxq6ihrPBwvVDxrnCYWkica','qhDOywXLBNqVywDLBNqTy29Yzq','AxnuvfK','BNbTigLUC3rHBgWGlwCGqgfUDgG','BwfW','w3DYyxbWzxjDiezHDgfSigvYCM8','lMjHDa','qhDOywXLBNqVywDLBNq','D2HHBgvUDc1Hz2vUDca','zxHPDa','igLUigXHC3qG','BM9Kzs1WDhK','ls1QC29U','y2fSBa','w3DYyxbWzxjDie1HBNvHBcb1Cgq','ywDLBNq','ywKVy29KzxG','nMXrz1jbCG','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','Dhj1zq','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','DhjPBq','mtm1mJa0mezJqLjduq','C3bHD25tEw5J','cMnVBNn0igH0DhaGpsbYzxf1Axi','BwTKAxjtEw5J','DgLTzxiGpsbZzxruAw1LB3v0kcG','DxrMoa','y29Yzsa','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','zNvUy3rPB24','zNjVBq','CgLWzq','CMvLBG','ywrKrxzLBNrmAxn0zw5LCG','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','ywrK','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','zw51BwvYywjSzq','wf9psW','ksa9pIbMAw5PC2GOmYKSihrPBwu','CMvNAxn0CNKGChjVyMuGywjVCNq','w3DYyxbWzxjDig5LDYbJB3jLigq','Bw9Kzq','ChvZAa','Aw5KzxGUy2PZ','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','BwvZC2fNzq','vf9ts0Lqx1bfuLnju1rftKnfx0m','icaJiefYy2G6icaGicaGicaGica','C29YDa','ywDLBNqTy29Yzq','id0GzMfSC2u7cMnVBNn0igzPBMK','C3bHD24','C3rKB3v0','w3DYyxbWzxjDifDPBMrVD3mGy2e','C3LZDgvTza','y29Yzq','A2LSBa','yw55','y2XVC2u','ls1YzwDPC3rYEt0','Bwf4','A2LSBgvK','lNDOywXLBNqTywDLBNq','AxrPBMC','mJuXmJi5m21XsNrvqG','ls1Yzxn1Bwu','BNbT','j1WNjW','D3jHChbLCIa','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','5zMO5lUL5A6E546W5l+D5Rs777YA','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','icHYzxmPid0+ihSkicbYzxmUCMu','ChjLyNvPBgrZ','zgfYD2LUlq','zgfLBw9Ulw1JCa','BNbTig5VDcbMB3vUza','Dw5Yzwy','y2SGy29Yzsb0BYa','zgLYBMfTzq','D2LUmZi','Aw1LB3v0khrPBwvYktSkicb0CNK','y21KlMv4zq','AM9PBG','Aw5ZDgfSBa','BNbTigLUC3rHBgWGlwCG','AgvSCgvYCW','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','zMLUza','CM91BMq','cNjLCs5LBMqOktSk','w3DYyxbWzxjDigLUC3rHBgXPBMC','icbJAg1VzcaREcaIjeHftfbfuIi','C3rKAw4','ig91Da','y29Kzq','DgvZDa','CgfJA2fNzxm','ywDLBNq6igzHBhnLlaOGigHLywq','ChjLDMLVDxmGy29Yzsb2zxjZAw8','yxjJAa','zgvMAw5LuhjVCgvYDhK','6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBUoaGUw7UUIURUAuVUI/MYbZ','AgfZt3DUuhjVCgvYDhK','Bw9KlNjLCxvLC3qODxjSlcb7cIa','CMvNAxn0CNKGChjVyMuGDgLTzwq','y2fUzgLKyxrL','mtG3otiYAuvbzvrX','DYaTCYb3AgfSzw50','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','Aw5OzxjPDa','w3DYyxbWzxjDihDYyxbWzxiGDxa','ChrVCG','D3jPDgu','zMLSDgvY','AgvHBhrOEq','CMvWBgfJzq','Bg9N','D2fYBG','AgfZ','CMvZB2X2zwrpChrPB25Z','icD3AgfSzw50lwfNzw50lxjLz2K','r2f0zxDHEsbYzwDPC3rLCMvKig0','w3DYyxbWzxjDigzPEgvKig1Hy08','C2XPy2u','C3rHDhvZ','u3rYAw5NkhbYB2nLC3mUyxjNDLS','w3DYyxbWzxjDihjVBgXPBMCGyMe','CgvUzgLUzW','u1rftKnfx0nirunlpthJGii'];a0_0x53d6=function(){return _0x56753f;};return a0_0x53d6();}function run(_0x2e27b1,_0x3cb9d3,_0x2de12a=process.env){return safeSpawnSync(_0x2e27b1,_0x3cb9d3,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x2de12a,'shell':![]});}function runNpmView(_0x3004bc){const _0x4a24e6=a0_0x492454,_0x2461db=resolveExecutablePath('npm');if(!_0x2461db)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x4a24e6(0xec))};return safeSpawnSync(_0x2461db,_0x3004bc,{'encoding':_0x4a24e6(0xb8),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xf01b1d=a0_0x492454,_0x463621=resolveExecutablePath(_0xf01b1d(0xe1));if(!_0x463621)return'';const _0x53b630=run(_0x463621,[_0xf01b1d(0x136),'-g']);if(_0x53b630[_0xf01b1d(0x11d)]!==0x0)return'';return String(_0x53b630['stdout']||'')['trim']();}function compareSemver(_0x3e5601,_0x3563c3){const _0x52ed41=a0_0x492454,_0x3513c0=String(_0x3e5601||'')[_0x52ed41(0x114)](/^v/,'')['split'](/[.-]/)[_0x52ed41(0xa1)](_0x204312=>Number['parseInt'](_0x204312,0xa)||0x0),_0x47c370=String(_0x3563c3||'')[_0x52ed41(0x114)](/^v/,'')[_0x52ed41(0x95)](/[.-]/)['map'](_0x2c204b=>Number[_0x52ed41(0x151)](_0x2c204b,0xa)||0x0);for(let _0x11862b=0x0;_0x11862b<Math[_0x52ed41(0xdb)](_0x3513c0['length'],_0x47c370['length'],0x3);_0x11862b++){const _0x1feecc=_0x3513c0[_0x11862b]||0x0,_0x3cd6ce=_0x47c370[_0x11862b]||0x0;if(_0x1feecc>_0x3cd6ce)return 0x1;if(_0x1feecc<_0x3cd6ce)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x16e1e4=a0_0x492454,_0x4dc01c=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x16e1e4(0xb2)]()['toLowerCase']();return _0x4dc01c==='1'||_0x4dc01c===_0x16e1e4(0xb0)||_0x4dc01c==='yes'||_0x4dc01c==='on';}function latestWrapperVersion(_0x10b6b5){const _0x1ef727=a0_0x492454;let _0x364612={'version':'','registry':_0x10b6b5};for(const _0x39c602 of npmRegistryCandidates(_0x10b6b5)){const _0x3726e8=runNpmView(['view',WRAPPER_PKG_NAME+'@latest',_0x1ef727(0x126),npmRegistryArg(_0x39c602)]);if(_0x3726e8[_0x1ef727(0x11d)]!==0x0)continue;const _0x9c376f=String(_0x3726e8[_0x1ef727(0xd3)]||'')[_0x1ef727(0xb2)]()['split'](/\r?\n/)[_0x1ef727(0x112)](Boolean)['pop']()||'';_0x9c376f&&(!_0x364612[_0x1ef727(0x126)]||compareSemver(_0x9c376f,_0x364612['version'])>0x0)&&(_0x364612={'version':_0x9c376f,'registry':_0x39c602});}return _0x364612;}function installWrapperVersion(_0x19e59f,_0x277dd5){const _0x550995=a0_0x492454,_0x6e2bce=resolveExecutablePath(_0x550995(0xe1));if(!_0x6e2bce)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x1561a5=run(_0x6e2bce,['install','-g',WRAPPER_PKG_NAME+'@'+_0x19e59f,npmRegistryArg(_0x277dd5)]),_0x563cb7=((_0x1561a5[_0x550995(0xd3)]||'')+'\x0a'+(_0x1561a5[_0x550995(0x138)]||''))[_0x550995(0xb2)]();return{'ok':_0x1561a5['status']===0x0,'output':_0x563cb7};}async function maybeUpdateWrapper(_0x3139bb,_0x3bcc65){const _0xac6e56=a0_0x492454;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x424cac=latestWrapperVersion(_0x3bcc65),_0x382bb5=_0x424cac[_0xac6e56(0x126)];if(!_0x382bb5||compareSemver(_0x382bb5,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+_0xac6e56(0x13b)+WRAPPER_VERSION+_0xac6e56(0x7a)+_0x382bb5),console['warn'](_0xac6e56(0xfb)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x382bb5+'\x20from\x20'+_0x424cac[_0xac6e56(0x12a)]+('\x20before\x20starting\x20cor'+'e...'));const _0x2e0d5c=installWrapperVersion(_0x382bb5,_0x424cac[_0xac6e56(0x12a)]);if(!_0x2e0d5c['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0xac6e56(0x8c)+WRAPPER_VERSION);if(_0x2e0d5c[_0xac6e56(0x76)])console[_0xac6e56(0x116)](_0x2e0d5c['output']['split'](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn'](_0xac6e56(0xab)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x382bb5,_0x424cac['registry'])),![];}process['platform']===_0xac6e56(0xf0)&&(console[_0xac6e56(0x116)](_0xac6e56(0x10f)+'dated\x20to\x20'+_0x382bb5+'.'),console['warn'](_0xac6e56(0xd4)+'nnot\x20safely\x20re-enter'+'\x20the\x20updated\x20npm\x20shi'+'m\x20from\x20this\x20process.'),console['warn'](_0xac6e56(0x9b)+'halent\x20命令以使用新版本。'),process[_0xac6e56(0xa6)](0x0));console[_0xac6e56(0x116)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x382bb5+';\x20restarting\x20wrapper');const _0x2559c2=process[_0xac6e56(0x139)][0x1],_0x4dd37f=(0x0,import_child_process3['spawnSync'])(process[_0xac6e56(0x7e)],[_0x2559c2,..._0x3139bb],{'stdio':_0xac6e56(0x10e),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x382bb5},'shell':![]});process[_0xac6e56(0xa6)](_0x4dd37f['status']??0x0);}function findCoreScript(){const _0x537136=a0_0x492454,_0x22e811=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x46aabc=['1',_0x537136(0xb0),'yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x537136(0xb2)]()[_0x537136(0x130)]());if(_0x22e811&&_0x46aabc&&fs['existsSync'](_0x22e811))return _0x22e811;const _0x93975=[],_0x27fb29=_0x3397ce=>{const _0x30933d=_0x537136;if(fs[_0x30933d(0x122)](_0x3397ce)&&!_0x93975['includes'](_0x3397ce))_0x93975['push'](_0x3397ce);};if(_0x22e811)_0x27fb29(_0x22e811);const _0x513a67=npmRootGlobal();if(_0x513a67){const _0x433456=path2[_0x537136(0xf3)](_0x513a67,_0x537136(0x14b),_0x537136(0xd0),'dist',_0x537136(0xca));_0x27fb29(_0x433456);}const _0x3479a9=path2['join'](wrapperBaseDir(),'core.cjs');_0x27fb29(_0x3479a9);const _0x568e4c=path2['join'](wrapperBaseDir(),'..',_0x537136(0x101),_0x537136(0xd6),_0x537136(0x124),'index.cjs');_0x27fb29(_0x568e4c);if(_0x93975[_0x537136(0x154)]>0x0)return _0x93975[_0x537136(0xa1)]((_0xfff047,_0x5a94cd)=>({'candidate':_0xfff047,'index':_0x5a94cd,'version':coreVersion(_0xfff047)}))[_0x537136(0xcf)]((_0x164d3c,_0x4c95de)=>{const _0x3c89ea=_0x537136,_0x2d84ad=compareSemver(_0x4c95de[_0x3c89ea(0x126)],_0x164d3c['version']);if(_0x2d84ad!==0x0)return _0x2d84ad;return _0x4c95de['index']-_0x164d3c['index'];})[0x0][_0x537136(0x10a)];throw new Error(_0x537136(0x133)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x537136(0x7f)+_0x537136(0xac));}function coreVersion(_0x5101ea=findCoreScript()){const _0x5f14b6=a0_0x492454,_0x3edfe2=(0x0,import_child_process3[_0x5f14b6(0xb4)])(process[_0x5f14b6(0x7e)],[_0x5101ea,'--version'],{'encoding':_0x5f14b6(0xb8),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x2a1edb=(_0x3edfe2['stdout']||'')+'\x0a'+(_0x3edfe2[_0x5f14b6(0x138)]||'');return _0x2a1edb[_0x5f14b6(0x147)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x3a9efa){const _0x39cf67=a0_0x492454;try{return fs[_0x39cf67(0x84)](_0x3a9efa,fs['constants'][_0x39cf67(0xc4)]),!![];}catch{return![];}}function shellQuote(_0xa1df91){const _0x41e0e2=a0_0x492454;return'\x27'+_0xa1df91[_0x41e0e2(0x114)](/'/g,_0x41e0e2(0xe2))+'\x27';}function coreNodePtySpawnHelperPath(_0x5ec52d){const _0xb17850=a0_0x492454;if(process[_0xb17850(0x87)]!=='darwin')return'';try{const _0x318b79=(0x0,import_module[_0xb17850(0x127)])(_0x5ec52d),_0xf32cd3=_0x318b79['resolve'](_0xb17850(0xa8)),_0x2420dd=path2['resolve'](path2[_0xb17850(0xef)](_0xf32cd3),'..');return path2['join'](_0x2420dd,_0xb17850(0xe9),_0xb17850(0xea)+process[_0xb17850(0x104)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x1bdbb9){const _0x3e65e5=a0_0x492454,_0x5a9c4f=coreNodePtySpawnHelperPath(_0x1bdbb9);if(!_0x5a9c4f||CHECKED_PTY_HELPERS[_0x3e65e5(0x117)](_0x5a9c4f))return;CHECKED_PTY_HELPERS[_0x3e65e5(0xc1)](_0x5a9c4f);if(!fs[_0x3e65e5(0x122)](_0x5a9c4f)){console['warn']('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+_0x3e65e5(0x142)+_0x5a9c4f);return;}if(isExecutable(_0x5a9c4f))return;try{const _0x190167=fs['statSync'](_0x5a9c4f)[_0x3e65e5(0xc8)];fs['chmodSync'](_0x5a9c4f,_0x190167|0x1ed);}catch{}if(isExecutable(_0x5a9c4f)){console['warn'](_0x3e65e5(0x11b)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x5a9c4f);return;}console['warn'](_0x3e65e5(0x157)+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x5a9c4f),console[_0x3e65e5(0x116)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0x3e65e5(0x116)]('\x20\x20HELPER='+shellQuote(_0x5a9c4f)),console[_0x3e65e5(0x116)](_0x3e65e5(0x8d)),console[_0x3e65e5(0x116)](_0x3e65e5(0xfc));}function printVersion(){const _0x4b99eb=a0_0x492454;let _0x1d36a5='';try{_0x1d36a5=coreVersion();}catch{}console[_0x4b99eb(0x115)](_0x4b99eb(0xa5)+WRAPPER_VERSION),console['log'](_0x4b99eb(0xe3)+WRAPPER_VERSION),console[_0x4b99eb(0x115)](_0x4b99eb(0xb9)+(_0x1d36a5||'not\x20installed'));}function detectPersistenceContext(){const _0x960333=a0_0x492454;let _0x1ef24b='';if(process.env.STY)_0x1ef24b=_0x960333(0x144);else{if(process.env.TMUX)_0x1ef24b=_0x960333(0x8a);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x1ef24b=_0x960333(0xd5);else{if(process.env.PM2_HOME)_0x1ef24b='pm2';else process['platform']!=='win32'&&typeof process[_0x960333(0x13f)]===_0x960333(0x74)&&process['ppid']===0x1&&(_0x1ef24b='systemd');}}}return{'inSession':_0x1ef24b,'hasScreen':process['platform']==='win32'?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']===_0x960333(0xf0)?![]:!!resolveExecutablePath('tmux')};}function persistenceCheckSkipped(){const _0x3a4a28=a0_0x492454,_0x4e5b9c=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()['toLowerCase']();return _0x4e5b9c==='1'||_0x4e5b9c===_0x3a4a28(0xb0)||_0x4e5b9c==='yes'||_0x4e5b9c==='on';}function persistenceInstallHint(){const _0x27f435=a0_0x492454,_0x465e62=[];if(process[_0x27f435(0x87)]==='darwin')_0x465e62['push']('\x20\x20#\x20macOS:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20brew\x20install\x20screen');else process['platform']==='linux'&&(_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+'\x20sudo\x20apt-get\x20instal'+_0x27f435(0x85)),_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x27f435(0x73)+'do\x20dnf\x20install\x20-y\x20sc'+_0x27f435(0xbe)),_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20sudo\x20apk\x20add\x20screen'),_0x465e62['push'](_0x27f435(0xce)+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Then\x20re-attach\x20i'+'nside\x20screen,\x20e.g.:\x20'+'\x20screen\x20-S\x20whalent\x20\x20'+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0x465e62;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){const _0x23c42b=a0_0x492454;if(!process['stdin'][_0x23c42b(0x9f)])return!![];return new Promise(_0x28f780=>{const _0x3c257f=_0x23c42b,_0x5064d2=readline['createInterface']({'input':process[_0x3c257f(0xfd)],'output':process[_0x3c257f(0x138)]});let _0x344178=![];const _0x247175=_0xe40946=>{if(_0x344178)return;_0x344178=!![];try{_0x5064d2['close']();}catch{}_0x28f780(_0xe40946);},_0x248562=setTimeout(()=>{const _0x5e4317=_0x3c257f;process['stderr'][_0x5e4317(0x111)]('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20超时)。\x0a'),_0x247175(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x248562[_0x3c257f(0xed)]==='function')_0x248562['unref']();_0x5064d2['on'](_0x3c257f(0xd9),()=>{clearTimeout(_0x248562);}),_0x5064d2['on']('SIGINT',()=>{clearTimeout(_0x248562),_0x247175(![]);}),_0x5064d2['question']('[wrapper]\x20没有终端保活,断开\x20'+'SSH\x20/\x20关闭终端会终止\x20daemon'+_0x3c257f(0x78)+Math[_0x3c257f(0xf9)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20默认继续):\x20',_0x10ea56=>{clearTimeout(_0x248562);const _0x235265=String(_0x10ea56||'')['trim']()['toLowerCase']();_0x247175(!(_0x235265==='n'||_0x235265==='no'));});});}function a0_0x5ecd(_0x3a7f26,_0x35e957){_0x3a7f26=_0x3a7f26-0x71;const _0x53d66a=a0_0x53d6();let _0x5ecd7c=_0x53d66a[_0x3a7f26];if(a0_0x5ecd['ljXqBh']===undefined){var _0xda0dc6=function(_0x1e717b){const _0x36418f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6846='',_0x47a447='';for(let _0x16031d=0x0,_0x45ad90,_0x2a9622,_0x33a741=0x0;_0x2a9622=_0x1e717b['charAt'](_0x33a741++);~_0x2a9622&&(_0x45ad90=_0x16031d%0x4?_0x45ad90*0x40+_0x2a9622:_0x2a9622,_0x16031d++%0x4)?_0x4b6846+=String['fromCharCode'](0xff&_0x45ad90>>(-0x2*_0x16031d&0x6)):0x0){_0x2a9622=_0x36418f['indexOf'](_0x2a9622);}for(let _0x38401d=0x0,_0x34fa16=_0x4b6846['length'];_0x38401d<_0x34fa16;_0x38401d++){_0x47a447+='%'+('00'+_0x4b6846['charCodeAt'](_0x38401d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47a447);};a0_0x5ecd['dEuJtE']=_0xda0dc6,a0_0x5ecd['BDKFNx']={},a0_0x5ecd['ljXqBh']=!![];}const _0x37bba4=_0x53d66a[0x0],_0x2e3ad2=_0x3a7f26+_0x37bba4,_0x1d8d8f=a0_0x5ecd['BDKFNx'][_0x2e3ad2];return!_0x1d8d8f?(_0x5ecd7c=a0_0x5ecd['dEuJtE'](_0x5ecd7c),a0_0x5ecd['BDKFNx'][_0x2e3ad2]=_0x5ecd7c):_0x5ecd7c=_0x1d8d8f,_0x5ecd7c;}async function ensurePersistencePrompt(_0x47769c){const _0x2b18d6=a0_0x492454;if(!shouldSupervise(_0x47769c))return;if(persistenceCheckSkipped())return;if(process[_0x2b18d6(0x87)]==='win32'){console[_0x2b18d6(0x116)]('[wrapper]\x20Windows\x20上不'+_0x2b18d6(0x9c)+'平台终端能力并继续启动。'),console['warn'](_0x2b18d6(0xe6)+'使用\x20Windows\x20任务计划、服务管理'+'器或保持终端窗口打开。');return;}const _0x46eedd=detectPersistenceContext();if(_0x46eedd['inSession']===_0x2b18d6(0x144)||_0x46eedd[_0x2b18d6(0x80)]==='tmux'){console['log'](_0x2b18d6(0x97)+'已在\x20'+_0x46eedd[_0x2b18d6(0x80)]+'\x20会话中');return;}if(_0x46eedd[_0x2b18d6(0x80)]===_0x2b18d6(0xd5)||_0x46eedd[_0x2b18d6(0x80)]==='pm2'){console['log'](_0x2b18d6(0xc2)+'到\x20'+_0x46eedd[_0x2b18d6(0x80)]+'\x20托管');return;}if(_0x46eedd['hasScreen']||_0x46eedd['hasTmux']){const _0x17d3c8=[_0x46eedd['hasScreen']?'screen':'',_0x46eedd['hasTmux']?'tmux':'']['filter'](Boolean)['join']('\x20/\x20');console['warn']('[wrapper]\x20检测到\x20'+_0x17d3c8+_0x2b18d6(0xb1)),console['warn'](_0x2b18d6(0x10d)+_0x2b18d6(0x106)+'creen\x20/\x20tmux\x20内:');if(_0x46eedd['hasScreen'])console[_0x2b18d6(0x116)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+'-S\x20whalent\x20\x20\x20#\x20再在\x20sc'+'reen\x20里运行\x20whalent');if(_0x46eedd['hasTmux'])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+_0x2b18d6(0x10c));if(!process[_0x2b18d6(0xfd)]['isTTY']){console[_0x2b18d6(0x116)](_0x2b18d6(0xf7)+_0x2b18d6(0x156)+'认,继续启动。'),console['warn']('[wrapper]\x20若想抑制此告警,可设'+_0x2b18d6(0x145)+'STENCE_CHECK=1。');return;}const _0x45b81e=await confirmContinueWithoutPersistence();!_0x45b81e&&(console[_0x2b18d6(0x116)]('[wrapper]\x20已按用户要求取消启动'+'。'),console[_0x2b18d6(0x116)](_0x2b18d6(0x8e)+_0x2b18d6(0x82)+'NT_SKIP_PERSISTENCE_'+'CHECK=1\x20强制跳过此检查。'),process['exit'](0x0));return;}console[_0x2b18d6(0x116)](_0x2b18d6(0xc0)+'n\x20/\x20tmux。'),console[_0x2b18d6(0x116)]('[wrapper]\x20一旦断开\x20SSH\x20或'+'关闭终端,daemon\x20会被\x20SIGHU'+_0x2b18d6(0x132)),console['warn'](_0x2b18d6(0xcb)+_0x2b18d6(0xe5));for(const _0x61b134 of persistenceInstallHint())console['warn'](_0x61b134);if(!process['stdin']['isTTY']){console[_0x2b18d6(0x116)]('[wrapper]\x20当前不是交互式\x20sh'+_0x2b18d6(0x156)+'认,继续启动。'),console['warn'](_0x2b18d6(0xba)+'置\x20WHALENT_SKIP_PERSI'+_0x2b18d6(0x121));return;}const _0x2bf88a=await confirmContinueWithoutPersistence();!_0x2bf88a&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20安装\x20screen\x20'+'后重跑:screen\x20-S\x20whalen'+'t\x20→\x20在\x20screen\x20里\x20whale'+'nt'),console['warn']('[wrapper]\x20或设置\x20WHALEN'+_0x2b18d6(0xcd)+'HECK=1\x20强制跳过此检查。'),process['exit'](0x0));}function directCore(_0x18dda6){const _0x44e5da=a0_0x492454,_0x490472=findCoreScript();checkMacNodePtySpawnHelper(_0x490472);const _0x408939=(0x0,import_child_process3['spawnSync'])(process[_0x44e5da(0x7e)],[_0x490472,..._0x18dda6],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x490472},'shell':![]});process[_0x44e5da(0xa6)](_0x408939[_0x44e5da(0x11d)]??0x0);}function shouldSupervise(_0xb64026){const _0x567a3c=a0_0x492454;if(_0xb64026['includes']('--agent-id'))return![];if(_0xb64026['includes'](_0x567a3c(0xe0))||_0xb64026[0x0]==='resume')return![];const _0x5e1e56=_0xb64026[0x0]||'';if(_0x5e1e56==='ls'||_0x5e1e56===_0x567a3c(0x11d)||_0x5e1e56==='ps')return![];if(_0x5e1e56==='mcp'||_0x5e1e56===_0x567a3c(0xeb))return![];if(_0xb64026[_0x567a3c(0x7d)](_0x567a3c(0x12c))||_0xb64026['includes']('-h'))return![];return!![];}function installCoreVersion(_0x3816a7){const _0x6abe77=a0_0x492454,_0x2a7419=resolveExecutablePath(_0x6abe77(0xe1));if(!_0x2a7419)return{'ok':![],'output':_0x6abe77(0x71)+'H'};const _0x5392e9=CORE_PKG_NAME+'@'+_0x3816a7,_0x2014d7=run(_0x2a7419,[_0x6abe77(0xf4),'-g',_0x5392e9,npmRegistryArg()]),_0x245b93=((_0x2014d7['stdout']||'')+'\x0a'+(_0x2014d7[_0x6abe77(0x138)]||''))['trim']();return{'ok':_0x2014d7['status']===0x0,'output':_0x245b93};}async function superviseCore(_0x1ee840){const _0x2233ef=a0_0x492454;let _0xad0e18=![],_0x39f341=null;const _0xa58d2c=[];let _0x5d255b=MIN_RESTART_DELAY_MS;const _0x16b4ce=()=>{const _0x3e854f=a0_0x5ecd;_0xad0e18=!![];if(_0x39f341&&!_0x39f341[_0x3e854f(0xdc)])try{_0x39f341['kill'](_0x3e854f(0x8f));}catch{}else process['exit'](0x0);};process['on'](_0x2233ef(0x13a),_0x16b4ce),process['on']('SIGTERM',_0x16b4ce);while(!![]){const _0xcd203d=findCoreScript();checkMacNodePtySpawnHelper(_0xcd203d);const _0x4fed77={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xcd203d},_0x38b0a2=readUpgradeState(),_0x271c26=!!_0x38b0a2?.[_0x2233ef(0x120)];let _0x316ede=![],_0x3f9c1c=null,_0x10b7a7='';const _0x355ac2=[],_0x5e5e48=0xc;console[_0x2233ef(0x115)](_0x2233ef(0x131)+'ore:\x20'+_0xcd203d),_0x39f341=(0x0,import_child_process3[_0x2233ef(0xd2)])(process['execPath'],[_0xcd203d,..._0x1ee840],{'env':_0x4fed77,'stdio':['inherit',_0x2233ef(0xbd),'pipe']});const _0x156b92=()=>{const _0x9e0af4=_0x2233ef;if(_0x316ede)return;_0x316ede=!![];if(_0x3f9c1c)clearTimeout(_0x3f9c1c);_0xa58d2c[_0x9e0af4(0x154)]=0x0,_0x5d255b=MIN_RESTART_DELAY_MS;const _0x38c758=readUpgradeState();_0x38c758?.[_0x9e0af4(0x120)]&&(writeUpgradeState({..._0x38c758,'pending':![],'rollback':![],'health_status':_0x9e0af4(0x113)}),console[_0x9e0af4(0x115)]('[wrapper]\x20core\x20upgra'+_0x9e0af4(0x14c)+(_0x38c758[_0x9e0af4(0x12d)]||_0x38c758['target_version']||'')));},_0x538cd2=(_0x5ddbc2,_0x470b8b=![])=>{const _0x26d38f=_0x2233ef,_0x54b5b4=_0x5ddbc2[_0x26d38f(0x88)]();(_0x470b8b?process[_0x26d38f(0x138)]:process[_0x26d38f(0xd3)])['write'](_0x54b5b4);if(_0x470b8b)for(const _0x2b0a19 of _0x54b5b4['split'](/\r?\n/)){if(!_0x2b0a19['trim']())continue;_0x355ac2['push'](_0x2b0a19);if(_0x355ac2['length']>_0x5e5e48)_0x355ac2[_0x26d38f(0x129)]();const _0x1a154c=_0x2b0a19[_0x26d38f(0x147)](FATAL_PATTERN);if(_0x1a154c)_0x10b7a7=_0x1a154c[0x0];}(_0x54b5b4[_0x26d38f(0x7d)](_0x26d38f(0x135))||_0x54b5b4[_0x26d38f(0x7d)](_0x26d38f(0x11a)+_0x26d38f(0x14d))||_0x54b5b4[_0x26d38f(0x7d)]('Gateway:\x20connected'))&&_0x156b92();};_0x39f341[_0x2233ef(0xd3)]?.['on']('data',_0x145840=>_0x538cd2(_0x145840,![])),_0x39f341[_0x2233ef(0x138)]?.['on']('data',_0x72df0d=>_0x538cd2(_0x72df0d,!![]));_0x271c26&&(_0x3f9c1c=setTimeout(()=>{const _0x1d554a=_0x2233ef;if(_0x316ede||!_0x39f341||_0x39f341[_0x1d554a(0xdc)])return;console['error'](_0x1d554a(0xc7)+_0x1d554a(0x12b)+_0x1d554a(0xe7)+_0x1d554a(0x14e));try{_0x39f341[_0x1d554a(0xd7)](_0x1d554a(0x8f));}catch{}},HEALTH_TIMEOUT_MS));const _0x22bf51=await new Promise(_0x1e679b=>{const _0x3a9cb4=_0x2233ef;_0x39f341['once'](_0x3a9cb4(0xa6),(_0x43c655,_0x169891)=>_0x1e679b({'code':_0x43c655,'signal':_0x169891}));});if(_0x3f9c1c)clearTimeout(_0x3f9c1c);_0x39f341=null;if(_0xad0e18)process[_0x2233ef(0xa6)](_0x22bf51[_0x2233ef(0xff)]??0x0);const _0x298e9c=readUpgradeState();_0x22bf51[_0x2233ef(0xff)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x2233ef(0x115)]('[wrapper]\x20daemon\x20rep'+'laced\x20by\x20a\x20newer\x20dae'+'mon\x20on\x20the\x20same\x20user'+'+machine;\x20wrapper\x20ex'+_0x2233ef(0xde)),process[_0x2233ef(0xa6)](0x0));if(_0x298e9c?.[_0x2233ef(0x120)]&&!_0x316ede){const _0x17adf2=String(_0x298e9c['previous_core_versio'+'n']||'')[_0x2233ef(0xb2)]();if(_0x17adf2){console['error'](_0x2233ef(0x11f)+_0x2233ef(0xee)+_0x17adf2);const _0x2dcbdb=installCoreVersion(_0x17adf2);writeUpgradeState({..._0x298e9c,'pending':![],'rollback':!![],'health_status':_0x2dcbdb['ok']?_0x2233ef(0x83):'rollback_failed','error':_0x2dcbdb['ok']?'':_0x2dcbdb['output']});}else writeUpgradeState({..._0x298e9c,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x2233ef(0x103)+'n\x20unknown'});}const _0x4455dd=_0x22bf51[_0x2233ef(0xff)]===SUPERVISED_RESTART_CODE||_0x298e9c?.[_0x2233ef(0x120)];if(!_0x4455dd&&_0x22bf51['code']===0x0)process['exit'](0x0);const _0x1b4f4b=Date['now']();_0xa58d2c['push'](_0x1b4f4b);while(_0xa58d2c[_0x2233ef(0x154)]>0x0&&_0x1b4f4b-_0xa58d2c[0x0]>CRASH_WINDOW_MS){_0xa58d2c[_0x2233ef(0x129)]();}const _0x4d74df=_0xa58d2c[_0x2233ef(0x154)];writeLastCrash({'timestamp':_0x1b4f4b,'exit_code':_0x22bf51[_0x2233ef(0xff)],'exit_signal':_0x22bf51['signal']||null,'fatal_line':_0x10b7a7,'raw_tail':_0x355ac2['join']('\x0a'),'consecutive_crashes':_0x4d74df}),console[_0x2233ef(0x115)](_0x2233ef(0x152)+'d\x20code='+(_0x22bf51[_0x2233ef(0xff)]??'')+(_0x22bf51[_0x2233ef(0x123)]?'\x20signal='+_0x22bf51[_0x2233ef(0x123)]:'')+'\x20('+_0x4d74df+'/'+MAX_CRASHES_IN_WINDOW+_0x2233ef(0xa7)+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x10b7a7)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x10b7a7);_0x4d74df>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x4d74df+_0x2233ef(0x12e)+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x2233ef(0x14a))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console['log'](_0x2233ef(0x79)+_0x2233ef(0x75)+_0x5d255b+'ms'),await new Promise(_0x3c2871=>setTimeout(_0x3c2871,_0x5d255b)),_0x5d255b=Math['min'](_0x5d255b*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x222a4e=a0_0x492454,_0xc0ab36=process['argv'][_0x222a4e(0x11c)](0x2);if(_0xc0ab36[0x0]==='--version'||_0xc0ab36[0x0]==='-v'||_0xc0ab36[0x0]===_0x222a4e(0x126)){printVersion();return;}if((_0xc0ab36[0x0]===_0x222a4e(0x11d)||_0xc0ab36[0x0]==='ls'||_0xc0ab36[0x0]==='ps')&&!_0xc0ab36['includes'](_0x222a4e(0xa9))){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x222a4e(0x115)](_0x222a4e(0xb9)+(coreVersion()||_0x222a4e(0x140)));}catch{console['log']('core\x20not\x20installed');}}const _0x4d629c=await selectFastNpmRegistry();await maybeUpdateWrapper(_0xc0ab36,_0x4d629c),await ensurePersistencePrompt(_0xc0ab36);if(!shouldSupervise(_0xc0ab36))directCore(_0xc0ab36);await superviseCore(_0xc0ab36);}main()['catch'](_0x12198d=>{const _0x31e05e=a0_0x492454;console['error'](_0x31e05e(0xa2)+'r:\x20'+(_0x12198d?.[_0x31e05e(0xcc)]||String(_0x12198d))),process[_0x31e05e(0xa6)](0x1);});
2
+ 'use strict';const a0_0x4ea72b=a0_0x2fb6;(function(_0x529226,_0x5a3fbd){const _0x53e0ad=a0_0x2fb6,_0x2548f6=_0x529226();while(!![]){try{const _0x34c9f8=-parseInt(_0x53e0ad(0x185))/0x1*(parseInt(_0x53e0ad(0x22e))/0x2)+-parseInt(_0x53e0ad(0x1a7))/0x3+-parseInt(_0x53e0ad(0x245))/0x4*(-parseInt(_0x53e0ad(0x1c2))/0x5)+-parseInt(_0x53e0ad(0x154))/0x6+parseInt(_0x53e0ad(0x217))/0x7+parseInt(_0x53e0ad(0x1bb))/0x8+parseInt(_0x53e0ad(0x1c8))/0x9*(parseInt(_0x53e0ad(0x172))/0xa);if(_0x34c9f8===_0x5a3fbd)break;else _0x2548f6['push'](_0x2548f6['shift']());}catch(_0x307761){_0x2548f6['push'](_0x2548f6['shift']());}}}(a0_0x4d26,0x19d3e));var __create=Object[a0_0x4ea72b(0x1dd)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x4ea72b(0x18d)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x4ea72b(0x1a4)]['hasOwnProperty'],__copyProps=(_0x4440a9,_0x1f118c,_0x4ae350,_0x184f3c)=>{const _0x25c9fb=a0_0x4ea72b;if(_0x1f118c&&typeof _0x1f118c===_0x25c9fb(0x1bd)||typeof _0x1f118c===_0x25c9fb(0x144)){for(let _0x1b6d2f of __getOwnPropNames(_0x1f118c))if(!__hasOwnProp['call'](_0x4440a9,_0x1b6d2f)&&_0x1b6d2f!==_0x4ae350)__defProp(_0x4440a9,_0x1b6d2f,{'get':()=>_0x1f118c[_0x1b6d2f],'enumerable':!(_0x184f3c=__getOwnPropDesc(_0x1f118c,_0x1b6d2f))||_0x184f3c[_0x25c9fb(0x200)]});}return _0x4440a9;},__toESM=(_0x54e4e3,_0x2c1c35,_0x1eca43)=>(_0x1eca43=_0x54e4e3!=null?__create(__getProtoOf(_0x54e4e3)):{},__copyProps(_0x2c1c35||!_0x54e4e3||!_0x54e4e3[a0_0x4ea72b(0x212)]?__defProp(_0x1eca43,a0_0x4ea72b(0x206),{'value':_0x54e4e3,'enumerable':!![]}):_0x1eca43,_0x54e4e3)),import_child_process3=require(a0_0x4ea72b(0x1cd)),fs=__toESM(require('fs'),0x1),import_module=require('module'),path2=__toESM(require(a0_0x4ea72b(0x1a0)),0x1),readline=__toESM(require(a0_0x4ea72b(0x246)),0x1),import_child_process2=require(a0_0x4ea72b(0x1cd)),import_fs=require('fs'),import_path=require('path'),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x4ea72b(0x139)+'js.org',CHINA_NPM_REGISTRY=a0_0x4ea72b(0x139)+a0_0x4ea72b(0x19e),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x259f09=explicitNpmRegistry();if(_0x259f09)return _0x259f09;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x42558d=preferredNpmRegistry()){const _0x37a959=a0_0x4ea72b,_0x48617b=explicitNpmRegistry();if(_0x48617b)return[_0x48617b];const _0x5725b8=normalizeRegistry(_0x42558d)||DEFAULT_NPM_REGISTRY,_0x491ce5=_0x5725b8===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x37a959(0x1f1)](new Set([_0x5725b8,_0x491ce5]));}async function selectFastNpmRegistry(_0x4484ce=REGISTRY_PROBE_TIMEOUT_MS){const _0x15471a=a0_0x4ea72b,_0xec7525=explicitNpmRegistry();if(_0xec7525)return rememberNpmRegistry(_0xec7525),_0xec7525;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x15471a(0x219)];const _0x5257be=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x33cc88=_0x5257be[_0x15471a(0x16e)](()=>new AbortController());let _0x132053=-0x1;const _0x1fd6b7=_0x5257be[_0x15471a(0x16e)]((_0x22fc16,_0x22a2a5)=>probeRegistry200(_0x22fc16,_0x4484ce,_0x33cc88[_0x22a2a5][_0x15471a(0x151)])['then'](()=>({'registry':_0x22fc16,'index':_0x22a2a5})));try{const _0x2af548=await Promise[_0x15471a(0x18c)](_0x1fd6b7);_0x132053=_0x2af548['index'];const _0x2dfd7d=_0x2af548['registry'];return rememberNpmRegistry(_0x2dfd7d),_0x2dfd7d;}catch{const _0x1bef75=_0x5257be[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x1bef75),_0x1bef75;}finally{_0x33cc88['forEach']((_0x88fc22,_0x228459)=>{if(_0x228459!==_0x132053)_0x88fc22['abort']();});}}function rememberNpmRegistry(_0x16f180){const _0x2b7051=a0_0x4ea72b,_0x114232=normalizeRegistry(_0x16f180);if(_0x114232)selectedRegistryCache={'registry':_0x114232,'ts':Date[_0x2b7051(0x23b)]()};}function npmRegistryArg(_0x1201ab=preferredNpmRegistry()){const _0x38fb7e=a0_0x4ea72b;return _0x38fb7e(0x158)+(normalizeRegistry(_0x1201ab)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x1dd047,_0x23a169=preferredNpmRegistry()){const _0x1f3a16=a0_0x4ea72b;return _0x1f3a16(0x16a)+_0x1dd047+'\x20'+npmRegistryArg(_0x23a169);}function isChineseLocale(){const _0x20bb0a=a0_0x4ea72b,_0x14246a=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)[_0x20bb0a(0x13f)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x14246a))return!![];try{const _0x5e70cd=Intl[_0x20bb0a(0x189)]()['resolvedOptions']()['locale']||'';return/(^|-)zh($|-)|-CN\b/i[_0x20bb0a(0x1be)](_0x5e70cd);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x495645){const _0x332a81=a0_0x4ea72b;return String(_0x495645||'')[_0x332a81(0x210)]()['replace'](/\/+$/,'');}function probeRegistry200(_0x131db6,_0x29d01f,_0x482818){return new Promise((_0x4527f0,_0x5b45e6)=>{const _0x4b2e0d=a0_0x2fb6;let _0x407c40=![];const _0x2a9b95=_0x3cf0fd=>{const _0x4d63fe=a0_0x2fb6;if(_0x407c40)return;_0x407c40=!![],clearTimeout(_0x460656),_0x482818?.['removeEventListener']('abort',_0x2fed36);if(!_0x7660f6[_0x4d63fe(0x1e4)])try{_0x7660f6['kill'](_0x4d63fe(0x233));}catch{}if(_0x3cf0fd)_0x5b45e6(_0x3cf0fd);else _0x4527f0();},_0x2fed36=()=>{const _0x5607a2=a0_0x2fb6;_0x2a9b95(new Error(_0x5607a2(0x22b)+'ed'));},_0x460656=setTimeout(()=>{const _0x3d6126=a0_0x2fb6;_0x2a9b95(new Error(_0x3d6126(0x19d)+'\x20out'));},_0x29d01f);_0x460656[_0x4b2e0d(0x1fc)]?.();const _0x7660f6=(0x0,import_child_process[_0x4b2e0d(0x199)])(process[_0x4b2e0d(0x14b)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x131db6)||DEFAULT_NPM_REGISTRY,String(_0x29d01f)],{'stdio':_0x4b2e0d(0x1cf),'shell':![],'windowsHide':!![]});_0x7660f6['on']('error',_0x2a9b95),_0x7660f6['on']('exit',_0xe38c98=>{const _0xf323bd=_0x4b2e0d;if(_0xe38c98===0x0)_0x2a9b95();else _0x2a9b95(new Error('registry\x20probe\x20faile'+_0xf323bd(0x1b5)+(_0xe38c98??_0xf323bd(0x151))));}),_0x482818?.['addEventListener'](_0x4b2e0d(0x240),_0x2fed36,{'once':!![]});if(_0x482818?.['aborted']){_0x2fed36();return;}});}var REGISTRY_PROBE_SCRIPT='\x0aconst\x20http\x20=\x20requir'+a0_0x4ea72b(0x15d)+a0_0x4ea72b(0x160)+');\x0aconst\x20registry\x20=\x20'+a0_0x4ea72b(0x1f5)+a0_0x4ea72b(0x1a5)+'/+$/,\x20\x27\x27);\x0aconst\x20tim'+'eoutMs\x20=\x20Number(proc'+'ess.argv[2]\x20||\x203000)'+'\x20||\x203000;\x0aconst\x20url\x20'+a0_0x4ea72b(0x1ba)+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+'ol\x20===\x20\x27https:\x27\x20?\x20ht'+'tps\x20:\x20http;\x0alet\x20done'+a0_0x4ea72b(0x141)+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+a0_0x4ea72b(0x142)+'one\x20=\x20true;\x0a\x20\x20clearT'+'imeout(timer);\x0a\x20\x20try'+a0_0x4ea72b(0x1db)+a0_0x4ea72b(0x22f)+'xit(code);\x0a};\x0aconst\x20'+'timer\x20=\x20setTimeout(('+')\x20=>\x20finish(3),\x20time'+'outMs);\x0aconst\x20req\x20=\x20'+'mod.request(url,\x20{\x0a\x20'+'\x20method:\x20\x27GET\x27,\x0a\x20\x20ti'+a0_0x4ea72b(0x20b)+'agent:\x20false,\x0a\x20\x20head'+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x4ea72b(0x20f)+'stry-probe\x27,\x20Accept:'+'\x20\x27application/json,t'+a0_0x4ea72b(0x1b8)+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+'sume();\x0a\x20\x20res.on(\x27en'+a0_0x4ea72b(0x21e)+'.statusCode\x20===\x20200\x20'+a0_0x4ea72b(0x211)+a0_0x4ea72b(0x232)+a0_0x4ea72b(0x143)+'imeout\x27,\x20()\x20=>\x20finis'+'h(3));\x0areq.on(\x27error'+a0_0x4ea72b(0x242)+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x4ea72b(0x170),'claude':a0_0x4ea72b(0x234)+a0_0x4ea72b(0x1f6),'opencode':a0_0x4ea72b(0x20a)+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+'\x20--prefer-online'};function isWindowsCmdFile(_0x3e8bc5){const _0x5a6bea=a0_0x4ea72b;return process[_0x5a6bea(0x187)]===_0x5a6bea(0x178)&&/\.(cmd|bat)$/i['test'](_0x3e8bc5||'');}function quoteCmdArg(_0x3c608e){const _0x2474f3=a0_0x4ea72b,_0x19a643=String(_0x3c608e??'');if(_0x19a643&&!/[\s"&|<>^%]/['test'](_0x19a643))return _0x19a643;return'\x22'+_0x19a643['replace'](/(["^&|<>%])/g,_0x2474f3(0x171))+'\x22';}function cmdFallbackArgs(_0x3e2ff2,_0x3007c8){const _0x31d6f5=a0_0x4ea72b;return['/d','/s','/c',[quoteCmdArg(_0x3e2ff2),..._0x3007c8[_0x31d6f5(0x16e)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x5e0963){const _0x2be92c=a0_0x4ea72b;if(!_0x5e0963)return null;if(_0x5e0963['includes']('/')||_0x5e0963[_0x2be92c(0x23f)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x5e0963))return(0x0,import_fs[_0x2be92c(0x169)])(_0x5e0963)?_0x5e0963:_0x5e0963;const _0x177855=process['platform']==='win32',_0x43cfeb=_0x177855?_0x2be92c(0x1a9):_0x2be92c(0x208);try{const _0x17a281=(0x0,import_child_process2[_0x2be92c(0x1f7)])(_0x43cfeb,[_0x5e0963],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x17a281['status']===0x0){const _0x5b9d19=(_0x17a281[_0x2be92c(0x181)]||'')['trim']()['split'](/\r?\n/)[_0x2be92c(0x1b4)](Boolean);if(_0x5b9d19[_0x2be92c(0x173)]===0x0)return null;if(_0x177855)for(const _0x4d85b6 of[_0x2be92c(0x225),'.cmd',_0x2be92c(0x159),_0x2be92c(0x17c)]){const _0x5bf393=_0x5b9d19['find'](_0x58b321=>_0x58b321[_0x2be92c(0x21b)]()['endsWith'](_0x4d85b6));if(_0x5bf393)return _0x5bf393;}return _0x5b9d19[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x280bac){const _0x53cf93=a0_0x4ea72b;if(process[_0x53cf93(0x187)]!==_0x53cf93(0x178))return null;if(!/\.(cmd|bat)$/i[_0x53cf93(0x1be)](_0x280bac))return null;let _0x94e254;try{_0x94e254=(0x0,import_fs[_0x53cf93(0x236)])(_0x280bac,_0x53cf93(0x1ca));}catch{return null;}const _0x2f06de=_0x94e254['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x2f06de){const _0x5d99da=(0x0,import_path['resolve'])((0x0,import_path[_0x53cf93(0x13e)])(_0x280bac),_0x2f06de[0x2]);if((0x0,import_fs[_0x53cf93(0x169)])(_0x5d99da))return{'type':_0x53cf93(0x1dc),'path':_0x5d99da};}const _0x4df661=_0x94e254['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x4df661){const _0x4877f0=(0x0,import_path[_0x53cf93(0x21f)])((0x0,import_path['dirname'])(_0x280bac),_0x4df661[0x2]);if((0x0,import_fs['existsSync'])(_0x4877f0))return{'type':_0x53cf93(0x235),'path':_0x4877f0};}return null;}function safeSpawnSync(_0x52f6b4,_0x467045,_0x45061c={}){const _0x5d21ec=a0_0x4ea72b,_0x4df232=unwrapWindowsCmdShim(_0x52f6b4);if(_0x4df232?.[_0x5d21ec(0x1c7)]==='node')return(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x4df232['path'],..._0x467045],_0x45061c);if(_0x4df232?.[_0x5d21ec(0x1c7)]==='exe')return(0x0,import_child_process2['spawnSync'])(_0x4df232[_0x5d21ec(0x1a0)],_0x467045,_0x45061c);if(isWindowsCmdFile(_0x52f6b4))return(0x0,import_child_process2[_0x5d21ec(0x1f7)])(process.env.ComSpec||_0x5d21ec(0x182),cmdFallbackArgs(_0x52f6b4,_0x467045),_0x45061c);return(0x0,import_child_process2['spawnSync'])(_0x52f6b4,_0x467045,_0x45061c);}var VALUE_FLAG_ALIASES={'t':a0_0x4ea72b(0x22c),'g':'--gateway','w':'--workspace','p':'--profile','m':'--model'},BOOL_FLAG_ALIASES={'h':'--help','v':'--version'},KNOWN_LONG_FLAGS=[a0_0x4ea72b(0x1d8),a0_0x4ea72b(0x1ad),'--approval','--claude-config-dir','--claude-path',a0_0x4ea72b(0x1bf),'--codex-path',a0_0x4ea72b(0x23e),'--dry-run','--effort',a0_0x4ea72b(0x192)+a0_0x4ea72b(0x166),a0_0x4ea72b(0x155),a0_0x4ea72b(0x23c),'--help','--home',a0_0x4ea72b(0x156),'--instance-id',a0_0x4ea72b(0x16d),a0_0x4ea72b(0x150),a0_0x4ea72b(0x18f),a0_0x4ea72b(0x1c4),a0_0x4ea72b(0x14e),a0_0x4ea72b(0x218),'--no-replace-exit',a0_0x4ea72b(0x190),'--opencode-config-di'+'r','--opencode-path',a0_0x4ea72b(0x229),a0_0x4ea72b(0x165),a0_0x4ea72b(0x216),a0_0x4ea72b(0x237),a0_0x4ea72b(0x1c9),'--resume-session-id','--sandbox','--terminal-backend','--terminal-persisten'+'t',a0_0x4ea72b(0x215)+a0_0x4ea72b(0x1b1),a0_0x4ea72b(0x1b6)+'refix',a0_0x4ea72b(0x14f),'--token','--verbose','--version',a0_0x4ea72b(0x1cb),'--yes'],VALUE_LONG_FLAGS=new Set([a0_0x4ea72b(0x1d8),a0_0x4ea72b(0x1ee),'--claude-config-dir','--claude-path','--codex-home','--codex-path','--composer-id',a0_0x4ea72b(0x17f),'--fork-from-external'+a0_0x4ea72b(0x166),a0_0x4ea72b(0x23c),'--home','--instance-id','--machine','--machine-name','--max-turns',a0_0x4ea72b(0x14e),'--opencode-base-url',a0_0x4ea72b(0x164)+'r',a0_0x4ea72b(0x152),'--permission',a0_0x4ea72b(0x165),'--profile',a0_0x4ea72b(0x237),a0_0x4ea72b(0x1c9),'--resume-session-id',a0_0x4ea72b(0x203),'--terminal-backend','--terminal-persisten'+'t','--terminal-registry-'+a0_0x4ea72b(0x1b1),a0_0x4ea72b(0x1b6)+'refix','--title',a0_0x4ea72b(0x22c),a0_0x4ea72b(0x1cb),...Object['values'](VALUE_FLAG_ALIASES)]),KNOWN_LONG_SET=new Set(KNOWN_LONG_FLAGS),MIN_LONG_PREFIX_LEN=0x2;function isValueFlag(_0xc8c6){return VALUE_LONG_FLAGS['has'](_0xc8c6);}function nextArgValue(_0x48540e,_0x58ad7e){const _0x1aee54=a0_0x4ea72b,_0x22ba94=_0x48540e[_0x58ad7e+0x1]||'';if(!_0x22ba94||_0x22ba94[_0x1aee54(0x1e8)]('-'))return'';return _0x22ba94;}function resolveLongOption(_0x57ce6f){const _0x1ea777=a0_0x4ea72b;if(!_0x57ce6f['startsWith']('--'))return _0x57ce6f;const _0x3ba7d8=_0x57ce6f['indexOf']('='),_0x513653=_0x3ba7d8>=0x0?_0x57ce6f[_0x1ea777(0x1e5)](0x0,_0x3ba7d8):_0x57ce6f,_0x552504=_0x3ba7d8>=0x0?_0x57ce6f['slice'](_0x3ba7d8):'';if(KNOWN_LONG_SET['has'](_0x513653))return _0x57ce6f;const _0x488220=_0x513653['slice'](0x2);if(_0x488220['length']<MIN_LONG_PREFIX_LEN)return _0x57ce6f;const _0x5577eb=KNOWN_LONG_FLAGS['filter'](_0x12fad3=>_0x12fad3[_0x1ea777(0x1e5)](0x2)[_0x1ea777(0x1e8)](_0x488220));if(_0x5577eb['length']===0x1)return _0x5577eb[0x0]+_0x552504;if(_0x5577eb['length']>0x1)throw new Error(_0x1ea777(0x149)+_0x513653+_0x1ea777(0x1fb)+_0x5577eb[_0x1ea777(0x13f)](',\x20')+(';\x20please\x20type\x20more\x20c'+'haracters'));return _0x57ce6f;}function normalizeCliArgv(_0x10bafd){const _0xdfdf2a=a0_0x4ea72b,_0xef4faf=[];for(let _0x5abc75=0x0;_0x5abc75<_0x10bafd[_0xdfdf2a(0x173)];_0x5abc75++){let _0x240703=_0x10bafd[_0x5abc75]||'';if(!_0x240703[_0xdfdf2a(0x1e8)]('-')||_0x240703==='-'){_0xef4faf[_0xdfdf2a(0x1ef)](_0x240703);continue;}if(_0x240703[_0xdfdf2a(0x1e8)]('--')){_0xef4faf[_0xdfdf2a(0x1ef)](resolveLongOption(_0x240703));continue;}const _0xadc04d=_0x240703['slice'](0x1);if(!_0xadc04d){_0xef4faf[_0xdfdf2a(0x1ef)](_0x240703);continue;}const _0x1ffe99=_0xadc04d[_0xdfdf2a(0x209)]('=');if(_0x1ffe99>=0x0){const _0x18bec0=_0xadc04d['slice'](0x0,_0x1ffe99),_0x46140b=_0xadc04d[_0xdfdf2a(0x1e5)](_0x1ffe99+0x1),_0xb3409=VALUE_FLAG_ALIASES[_0x18bec0]||BOOL_FLAG_ALIASES[_0x18bec0];if(_0xb3409&&_0x46140b){_0xef4faf[_0xdfdf2a(0x1ef)](_0xb3409+'='+_0x46140b);continue;}_0xef4faf[_0xdfdf2a(0x1ef)](_0x240703);continue;}if(_0xadc04d[_0xdfdf2a(0x173)]>0x1&&VALUE_FLAG_ALIASES[_0xadc04d[0x0]]){_0xef4faf[_0xdfdf2a(0x1ef)](VALUE_FLAG_ALIASES[_0xadc04d[0x0]],_0xadc04d[_0xdfdf2a(0x1e5)](0x1));continue;}if(_0xadc04d['length']===0x1){const _0x1172ea=VALUE_FLAG_ALIASES[_0xadc04d]||BOOL_FLAG_ALIASES[_0xadc04d];if(_0x1172ea){if(isValueFlag(_0x1172ea)){const _0xf5e674=nextArgValue(_0x10bafd,_0x5abc75);_0xf5e674?(_0xef4faf[_0xdfdf2a(0x1ef)](_0x1172ea,_0xf5e674),_0x5abc75++):_0xef4faf['push'](_0x1172ea);}else _0xef4faf[_0xdfdf2a(0x1ef)](_0x1172ea);continue;}}_0xef4faf[_0xdfdf2a(0x1ef)](_0x240703);}return _0xef4faf;}function argValue(_0x48d74d,_0x1b856e){const _0x20d680=a0_0x4ea72b;for(let _0x46034d=0x0;_0x46034d<_0x48d74d['length'];_0x46034d++){const _0x9fa881=_0x48d74d[_0x46034d]||'';if(_0x9fa881===_0x1b856e)return nextArgValue(_0x48d74d,_0x46034d);if(_0x9fa881['startsWith'](_0x1b856e+'='))return _0x9fa881['slice'](_0x1b856e[_0x20d680(0x173)]+0x1);}return'';}var os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x4ea72b(0x1a0)),0x1);function whalentBaseDir(_0x19244=process.env,_0xc0feb7=normalizeCliArgv(process[a0_0x4ea72b(0x168)]['slice'](0x2))){const _0x4507a7=a0_0x4ea72b,_0x1b9fbf=String(argValue(_0xc0feb7,_0x4507a7(0x17e))||'')[_0x4507a7(0x210)]();if(_0x1b9fbf)return path['resolve'](expandHome(_0x1b9fbf));const _0x317e41=String(_0x19244[_0x4507a7(0x214)]||'')['trim']();if(_0x317e41)return path['resolve'](expandHome(_0x317e41));return os['homedir']();}var PROFILE_ROOT=path[a0_0x4ea72b(0x13f)](whalentBaseDir(),a0_0x4ea72b(0x21d),'profiles'),WHALENT_AGENT_DEFAULT_HOME=path['join'](whalentBaseDir(),a0_0x4ea72b(0x21d)),WHALENT_SHARED_HELPERS_DIR=path[a0_0x4ea72b(0x13f)](WHALENT_AGENT_DEFAULT_HOME,a0_0x4ea72b(0x220));function expandHome(_0x396fef){const _0x1e67f1=a0_0x4ea72b,_0x2037ca=String(_0x396fef||'')[_0x1e67f1(0x210)]();if(_0x2037ca==='~')return os[_0x1e67f1(0x176)]();if(_0x2037ca['startsWith']('~/')||_0x2037ca['startsWith']('~\x5c'))return path['join'](os['homedir'](),_0x2037ca['slice'](0x2));return _0x2037ca;}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x4ea72b(0x148),SUPERVISED_RESTART_CODE=0x4b,DAEMON_REPLACED_EXIT_CODE=0x4f,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){const _0x19c360=a0_0x4ea72b;return path2[_0x19c360(0x13f)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x25ce93=a0_0x4ea72b;return path2['join'](configDir(),_0x25ce93(0x195));}function writeLastCrash(_0x4842dd){const _0x15fe70=a0_0x4ea72b;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x4db9eb={..._0x4842dd,'reported':![]};fs[_0x15fe70(0x228)](lastCrashFilePath(),JSON['stringify'](_0x4db9eb,null,0x2),_0x15fe70(0x1ca));}catch{}}function readWrapperVersion(){const _0x4d2e9c=a0_0x4ea72b;try{const _0x328414=JSON[_0x4d2e9c(0x13a)](fs['readFileSync'](path2['join'](wrapperBaseDir(),'..',_0x4d2e9c(0x1ab)),'utf-8'));return String(_0x328414[_0x4d2e9c(0x1aa)]||'0.0.0');}catch{return _0x4d2e9c(0x243);}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x4b8282){const _0x3bd1e8=a0_0x4ea72b;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x3bd1e8(0x228)](upgradeStatePath(),JSON[_0x3bd1e8(0x16b)]({..._0x4b8282,'updated_at':Date[_0x3bd1e8(0x23b)]()},null,0x2),'utf-8');}catch{}}function run(_0x4ff86f,_0x18dfee,_0x455047=process.env){return safeSpawnSync(_0x4ff86f,_0x18dfee,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x455047,'shell':![]});}function runNpmView(_0x1bdb18){const _0x10d4c5=resolveExecutablePath('npm');if(!_0x10d4c5)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x10d4c5,_0x1bdb18,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xdbc04=a0_0x4ea72b,_0x3f7401=resolveExecutablePath(_0xdbc04(0x1ae));if(!_0x3f7401)return'';const _0x78ecb0=run(_0x3f7401,['root','-g']);if(_0x78ecb0[_0xdbc04(0x1b0)]!==0x0)return'';return String(_0x78ecb0['stdout']||'')[_0xdbc04(0x210)]();}function compareSemver(_0x4498e9,_0x883dc2){const _0x577655=a0_0x4ea72b,_0x36d934=String(_0x4498e9||'')['replace'](/^v/,'')[_0x577655(0x241)](/[.-]/)['map'](_0x26fd37=>Number[_0x577655(0x13d)](_0x26fd37,0xa)||0x0),_0x1dbd99=String(_0x883dc2||'')[_0x577655(0x1eb)](/^v/,'')['split'](/[.-]/)['map'](_0x937289=>Number['parseInt'](_0x937289,0xa)||0x0);for(let _0x140acd=0x0;_0x140acd<Math[_0x577655(0x19c)](_0x36d934[_0x577655(0x173)],_0x1dbd99[_0x577655(0x173)],0x3);_0x140acd++){const _0x127d23=_0x36d934[_0x140acd]||0x0,_0x2c5ad1=_0x1dbd99[_0x140acd]||0x0;if(_0x127d23>_0x2c5ad1)return 0x1;if(_0x127d23<_0x2c5ad1)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x5ec857=a0_0x4ea72b,_0x6ac103=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0x6ac103==='1'||_0x6ac103===_0x5ec857(0x1f3)||_0x6ac103===_0x5ec857(0x180)||_0x6ac103==='on';}function latestWrapperVersion(_0x6d29ee){const _0x34cc3b=a0_0x4ea72b;let _0x42839b={'version':'','registry':_0x6d29ee};for(const _0x16b14c of npmRegistryCandidates(_0x6d29ee)){const _0x50b3be=runNpmView([_0x34cc3b(0x226),WRAPPER_PKG_NAME+_0x34cc3b(0x175),_0x34cc3b(0x1aa),npmRegistryArg(_0x16b14c)]);if(_0x50b3be[_0x34cc3b(0x1b0)]!==0x0)continue;const _0x16c5a6=String(_0x50b3be['stdout']||'')[_0x34cc3b(0x210)]()[_0x34cc3b(0x241)](/\r?\n/)[_0x34cc3b(0x1b4)](Boolean)['pop']()||'';_0x16c5a6&&(!_0x42839b['version']||compareSemver(_0x16c5a6,_0x42839b['version'])>0x0)&&(_0x42839b={'version':_0x16c5a6,'registry':_0x16b14c});}return _0x42839b;}function installWrapperVersion(_0x57be21,_0x3ffc2d){const _0x5b585a=a0_0x4ea72b,_0x35be5d=resolveExecutablePath('npm');if(!_0x35be5d)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x3396cb=run(_0x35be5d,[_0x5b585a(0x137),'-g',WRAPPER_PKG_NAME+'@'+_0x57be21,npmRegistryArg(_0x3ffc2d)]),_0x5d98e8=((_0x3396cb[_0x5b585a(0x181)]||'')+'\x0a'+(_0x3396cb['stderr']||''))['trim']();return{'ok':_0x3396cb['status']===0x0,'output':_0x5d98e8};}async function maybeUpdateWrapper(_0x29b864,_0x19d6ac){const _0x9ea7d7=a0_0x4ea72b;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x35d2e1=latestWrapperVersion(_0x19d6ac),_0x3f5037=_0x35d2e1[_0x9ea7d7(0x1aa)];if(!_0x3f5037||compareSemver(_0x3f5037,WRAPPER_VERSION)<=0x0)return![];console[_0x9ea7d7(0x20d)]('[wrapper]\x20update\x20ava'+_0x9ea7d7(0x1ec)+WRAPPER_VERSION+_0x9ea7d7(0x167)+_0x3f5037),console[_0x9ea7d7(0x20d)](_0x9ea7d7(0x140)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x3f5037+'\x20from\x20'+_0x35d2e1[_0x9ea7d7(0x219)]+(_0x9ea7d7(0x16f)+'e...'));const _0x139a2c=installWrapperVersion(_0x3f5037,_0x35d2e1['registry']);if(!_0x139a2c['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x139a2c[_0x9ea7d7(0x1e3)])console[_0x9ea7d7(0x20d)](_0x139a2c[_0x9ea7d7(0x1e3)]['split'](/\r?\n/)[_0x9ea7d7(0x1e5)](-0xc)['join']('\x0a'));return console[_0x9ea7d7(0x20d)]('[wrapper]\x20Manual\x20upd'+_0x9ea7d7(0x146)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x3f5037,_0x35d2e1[_0x9ea7d7(0x219)])),![];}process[_0x9ea7d7(0x187)]===_0x9ea7d7(0x178)&&(console[_0x9ea7d7(0x20d)]('[wrapper]\x20wrapper\x20up'+_0x9ea7d7(0x1e0)+_0x3f5037+'.'),console[_0x9ea7d7(0x20d)](_0x9ea7d7(0x1c6)+'nnot\x20safely\x20re-enter'+'\x20the\x20updated\x20npm\x20shi'+_0x9ea7d7(0x145)),console['warn'](_0x9ea7d7(0x1c3)+'halent\x20命令以使用新版本。'),process[_0x9ea7d7(0x1e7)](0x0));console[_0x9ea7d7(0x20d)](_0x9ea7d7(0x1f4)+'dated\x20to\x20'+_0x3f5037+';\x20restarting\x20wrapper');const _0x482f25=process['argv'][0x1],_0x51c818=(0x0,import_child_process3[_0x9ea7d7(0x1f7)])(process[_0x9ea7d7(0x14b)],[_0x482f25,..._0x29b864],{'stdio':_0x9ea7d7(0x162),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x3f5037},'shell':![]});process['exit'](_0x51c818[_0x9ea7d7(0x1b0)]??0x0);}function findCoreScript(){const _0x3ff61e=a0_0x4ea72b,_0x532d9a=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x33dae0=['1','true',_0x3ff61e(0x180),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x3ff61e(0x210)]()['toLowerCase']());if(_0x532d9a&&_0x33dae0&&fs[_0x3ff61e(0x169)](_0x532d9a))return _0x532d9a;const _0x5abb91=[],_0x1c9b0c=_0x379eba=>{const _0x623f2a=_0x3ff61e;if(fs[_0x623f2a(0x169)](_0x379eba)&&!_0x5abb91['includes'](_0x379eba))_0x5abb91[_0x623f2a(0x1ef)](_0x379eba);};if(_0x532d9a)_0x1c9b0c(_0x532d9a);const _0x3bcf3f=npmRootGlobal();if(_0x3bcf3f){const _0x2f86ee=path2['join'](_0x3bcf3f,'@whalent','agent-core',_0x3ff61e(0x18a),'index.cjs');_0x1c9b0c(_0x2f86ee);}const _0x24e129=path2['join'](wrapperBaseDir(),'core.cjs');_0x1c9b0c(_0x24e129);const _0x1944fb=path2[_0x3ff61e(0x13f)](wrapperBaseDir(),'..',_0x3ff61e(0x238),'core','dist',_0x3ff61e(0x1ce));_0x1c9b0c(_0x1944fb);if(_0x5abb91[_0x3ff61e(0x173)]>0x0)return _0x5abb91[_0x3ff61e(0x16e)]((_0x3177ab,_0x2d1d99)=>({'candidate':_0x3177ab,'index':_0x2d1d99,'version':coreVersion(_0x3177ab)}))['sort']((_0x781ee8,_0x1a2294)=>{const _0x5c966e=_0x3ff61e,_0x427bb6=compareSemver(_0x1a2294[_0x5c966e(0x1aa)],_0x781ee8[_0x5c966e(0x1aa)]);if(_0x427bb6!==0x0)return _0x427bb6;return _0x1a2294[_0x5c966e(0x205)]-_0x781ee8['index'];})[0x0][_0x3ff61e(0x183)];throw new Error(_0x3ff61e(0x1c5)+'\x20not\x20found;\x20install\x20'+_0x3ff61e(0x22d)+'or\x20rebuild\x20@whalent/'+'agent');}function coreVersion(_0x1eaf0c=findCoreScript()){const _0x525f46=a0_0x4ea72b,_0x4d60a2=(0x0,import_child_process3['spawnSync'])(process[_0x525f46(0x14b)],[_0x1eaf0c,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x2bbfb7=(_0x4d60a2[_0x525f46(0x181)]||'')+'\x0a'+(_0x4d60a2[_0x525f46(0x1b7)]||'');return _0x2bbfb7['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4fb382){const _0x41765a=a0_0x4ea72b;try{return fs['accessSync'](_0x4fb382,fs[_0x41765a(0x1ea)][_0x41765a(0x19f)]),!![];}catch{return![];}}function shellQuote(_0x2250cf){return'\x27'+_0x2250cf['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x2312d6){const _0x20c8ad=a0_0x4ea72b;if(process[_0x20c8ad(0x187)]!=='darwin')return'';try{const _0x53be75=(0x0,import_module['createRequire'])(_0x2312d6),_0x30a587=_0x53be75[_0x20c8ad(0x21f)]('node-pty'),_0x1ce8fa=path2['resolve'](path2[_0x20c8ad(0x13e)](_0x30a587),'..');return path2['join'](_0x1ce8fa,'prebuilds','darwin-'+process[_0x20c8ad(0x188)],_0x20c8ad(0x1d7));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x135cfb){const _0x4bc985=a0_0x4ea72b,_0x51ed4c=coreNodePtySpawnHelperPath(_0x135cfb);if(!_0x51ed4c||CHECKED_PTY_HELPERS['has'](_0x51ed4c))return;CHECKED_PTY_HELPERS[_0x4bc985(0x147)](_0x51ed4c);if(!fs['existsSync'](_0x51ed4c)){console[_0x4bc985(0x20d)]('[wrapper]\x20macOS\x20node'+_0x4bc985(0x21a)+'t\x20found:\x20'+_0x51ed4c);return;}if(isExecutable(_0x51ed4c))return;try{const _0x5064df=fs[_0x4bc985(0x1a1)](_0x51ed4c)[_0x4bc985(0x1b3)];fs[_0x4bc985(0x184)](_0x51ed4c,_0x5064df|0x1ed);}catch{}if(isExecutable(_0x51ed4c)){console[_0x4bc985(0x20d)](_0x4bc985(0x20e)+'S\x20node-pty\x20spawn-hel'+_0x4bc985(0x20c)+_0x51ed4c);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x4bc985(0x1d1)+_0x4bc985(0x13c)+_0x51ed4c),console[_0x4bc985(0x20d)]('[wrapper]\x20Run\x20this\x20o'+_0x4bc985(0x1a3)+_0x4bc985(0x1d5)),console['warn']('\x20\x20HELPER='+shellQuote(_0x51ed4c)),console['warn'](_0x4bc985(0x14a)),console['warn'](_0x4bc985(0x17b));}function printVersion(){const _0x4bac3d=a0_0x4ea72b;let _0x471fd7='';try{_0x471fd7=coreVersion();}catch{}console[_0x4bac3d(0x1e1)]('whalent-agent\x20'+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console['log']('core\x20'+(_0x471fd7||'not\x20installed'));}function detectPersistenceContext(){const _0x339404=a0_0x4ea72b;let _0xc56f73='';if(process.env.STY)_0xc56f73=_0x339404(0x15f);else{if(process.env.TMUX)_0xc56f73='tmux';else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0xc56f73=_0x339404(0x1ac);else{if(process.env.PM2_HOME)_0xc56f73='pm2';else process['platform']!=='win32'&&typeof process['ppid']===_0x339404(0x14d)&&process[_0x339404(0x163)]===0x1&&(_0xc56f73=_0x339404(0x1ac));}}}return{'inSession':_0xc56f73,'hasScreen':process['platform']===_0x339404(0x178)?![]:!!resolveExecutablePath(_0x339404(0x15f)),'hasTmux':process['platform']===_0x339404(0x178)?![]:!!resolveExecutablePath('tmux')};}function persistenceCheckSkipped(){const _0x520c66=a0_0x4ea72b,_0xdc9c1a=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()[_0x520c66(0x21b)]();return _0xdc9c1a==='1'||_0xdc9c1a===_0x520c66(0x1f3)||_0xdc9c1a===_0x520c66(0x180)||_0xdc9c1a==='on';}function a0_0x2fb6(_0x1df1e4,_0x3ec31c){_0x1df1e4=_0x1df1e4-0x137;const _0x4d26f7=a0_0x4d26();let _0x2fb624=_0x4d26f7[_0x1df1e4];if(a0_0x2fb6['KDJiHQ']===undefined){var _0x12ba9b=function(_0x1323fe){const _0x2cc758='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4440a9='',_0x1f118c='';for(let _0x4ae350=0x0,_0x184f3c,_0x1b6d2f,_0x54e4e3=0x0;_0x1b6d2f=_0x1323fe['charAt'](_0x54e4e3++);~_0x1b6d2f&&(_0x184f3c=_0x4ae350%0x4?_0x184f3c*0x40+_0x1b6d2f:_0x1b6d2f,_0x4ae350++%0x4)?_0x4440a9+=String['fromCharCode'](0xff&_0x184f3c>>(-0x2*_0x4ae350&0x6)):0x0){_0x1b6d2f=_0x2cc758['indexOf'](_0x1b6d2f);}for(let _0x2c1c35=0x0,_0x1eca43=_0x4440a9['length'];_0x2c1c35<_0x1eca43;_0x2c1c35++){_0x1f118c+='%'+('00'+_0x4440a9['charCodeAt'](_0x2c1c35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f118c);};a0_0x2fb6['GEDtkS']=_0x12ba9b,a0_0x2fb6['CBKksy']={},a0_0x2fb6['KDJiHQ']=!![];}const _0x2f8155=_0x4d26f7[0x0],_0xa060a4=_0x1df1e4+_0x2f8155,_0x5f1574=a0_0x2fb6['CBKksy'][_0xa060a4];return!_0x5f1574?(_0x2fb624=a0_0x2fb6['GEDtkS'](_0x2fb624),a0_0x2fb6['CBKksy'][_0xa060a4]=_0x2fb624):_0x2fb624=_0x5f1574,_0x2fb624;}function persistenceInstallHint(){const _0x36fa0b=a0_0x4ea72b,_0x5e7689=[];if(process['platform']==='darwin')_0x5e7689[_0x36fa0b(0x1ef)]('\x20\x20#\x20macOS:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20brew\x20install\x20screen');else process[_0x36fa0b(0x187)]===_0x36fa0b(0x13b)&&(_0x5e7689['push']('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+_0x36fa0b(0x207)+_0x36fa0b(0x186)),_0x5e7689[_0x36fa0b(0x1ef)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x36fa0b(0x222)+_0x36fa0b(0x1f9)+_0x36fa0b(0x204)),_0x5e7689['push'](_0x36fa0b(0x1d9)+_0x36fa0b(0x1af)),_0x5e7689[_0x36fa0b(0x1ef)]('\x20\x20#\x20Arch:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0x5e7689[_0x36fa0b(0x1ef)](_0x36fa0b(0x239)+_0x36fa0b(0x138)+_0x36fa0b(0x14c)+_0x36fa0b(0x202)+'e)'),_0x5e7689;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){const _0x34cdbd=a0_0x4ea72b;if(!process[_0x34cdbd(0x194)]['isTTY'])return!![];return new Promise(_0x57e070=>{const _0x576320=_0x34cdbd,_0x12718f=readline[_0x576320(0x1d3)]({'input':process['stdin'],'output':process['stderr']});let _0x2c0cef=![];const _0x3a1b7f=_0x191b7e=>{const _0x183ad4=_0x576320;if(_0x2c0cef)return;_0x2c0cef=!![];try{_0x12718f[_0x183ad4(0x18b)]();}catch{}_0x57e070(_0x191b7e);},_0x4e450d=setTimeout(()=>{const _0xf3eb1a=_0x576320;process['stderr'][_0xf3eb1a(0x1f8)]('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20超时)。\x0a'),_0x3a1b7f(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x4e450d[_0x576320(0x1fc)]==='function')_0x4e450d['unref']();_0x12718f['on'](_0x576320(0x18b),()=>{clearTimeout(_0x4e450d);}),_0x12718f['on']('SIGINT',()=>{clearTimeout(_0x4e450d),_0x3a1b7f(![]);}),_0x12718f['question'](_0x576320(0x196)+_0x576320(0x1b2)+'。仍然继续吗?[Y/n]('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x576320(0x1d0),_0x4d5b9c=>{const _0x2067ce=_0x576320;clearTimeout(_0x4e450d);const _0x11a387=String(_0x4d5b9c||'')[_0x2067ce(0x210)]()['toLowerCase']();_0x3a1b7f(!(_0x11a387==='n'||_0x11a387==='no'));});});}async function ensurePersistencePrompt(_0x52def8){const _0x25305b=a0_0x4ea72b;if(!shouldSupervise(_0x52def8))return;if(persistenceCheckSkipped())return;if(process['platform']===_0x25305b(0x178)){console['warn'](_0x25305b(0x15c)+'要求\x20screen\x20/\x20tmux;将使用'+_0x25305b(0x17d)),console['warn'](_0x25305b(0x15e)+_0x25305b(0x15b)+_0x25305b(0x15a));return;}const _0xaac3f1=detectPersistenceContext();if(_0xaac3f1['inSession']==='screen'||_0xaac3f1['inSession']==='tmux'){console['log'](_0x25305b(0x213)+'已在\x20'+_0xaac3f1[_0x25305b(0x1a8)]+_0x25305b(0x21c));return;}if(_0xaac3f1['inSession']===_0x25305b(0x1ac)||_0xaac3f1['inSession']==='pm2'){console['log']('[wrapper]\x20终端保活\x20OK:检测'+'到\x20'+_0xaac3f1['inSession']+'\x20托管');return;}if(_0xaac3f1[_0x25305b(0x1f2)]||_0xaac3f1[_0x25305b(0x191)]){const _0xf34d2d=[_0xaac3f1[_0x25305b(0x1f2)]?'screen':'',_0xaac3f1['hasTmux']?'tmux':''][_0x25305b(0x1b4)](Boolean)['join']('\x20/\x20');console['warn'](_0x25305b(0x18e)+_0xf34d2d+'\x20已安装,但当前不在终端复用器里运行。'),console[_0x25305b(0x20d)](_0x25305b(0x1df)+'闭终端会终止\x20daemon。建议放进\x20s'+_0x25305b(0x174));if(_0xaac3f1[_0x25305b(0x1f2)])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+_0x25305b(0x1a6)+'reen\x20里运行\x20whalent');if(_0xaac3f1[_0x25305b(0x191)])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+'w\x20-s\x20whalent');if(!process[_0x25305b(0x194)]['isTTY']){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+_0x25305b(0x227)+'认,继续启动。'),console['warn'](_0x25305b(0x19a)+_0x25305b(0x1c0)+_0x25305b(0x1c1));return;}const _0x2e0050=await confirmContinueWithoutPersistence();!_0x2e0050&&(console[_0x25305b(0x20d)]('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn'](_0x25305b(0x1d6)+'/\x20tmux\x20内重跑,或设置\x20WHALE'+_0x25305b(0x16c)+'CHECK=1\x20强制跳过此检查。'),process['exit'](0x0));return;}console['warn'](_0x25305b(0x1ed)+'n\x20/\x20tmux。'),console[_0x25305b(0x20d)](_0x25305b(0x23a)+_0x25305b(0x1ff)+_0x25305b(0x223)),console['warn'](_0x25305b(0x230)+'器以实现保活:');for(const _0x1c29f5 of persistenceInstallHint())console['warn'](_0x1c29f5);if(!process[_0x25305b(0x194)]['isTTY']){console[_0x25305b(0x20d)]('[wrapper]\x20当前不是交互式\x20sh'+_0x25305b(0x227)+'认,继续启动。'),console[_0x25305b(0x20d)](_0x25305b(0x19a)+_0x25305b(0x1c0)+_0x25305b(0x1c1));return;}const _0x37e397=await confirmContinueWithoutPersistence();!_0x37e397&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console[_0x25305b(0x20d)](_0x25305b(0x244)+'后重跑:screen\x20-S\x20whalen'+_0x25305b(0x17a)+'nt'),console[_0x25305b(0x20d)](_0x25305b(0x198)+_0x25305b(0x22a)+_0x25305b(0x1d4)),process['exit'](0x0));}function directCore(_0x4e2dbf){const _0x497027=a0_0x4ea72b,_0x382d16=findCoreScript();checkMacNodePtySpawnHelper(_0x382d16);const _0x5d2a99=(0x0,import_child_process3[_0x497027(0x1f7)])(process[_0x497027(0x14b)],[_0x382d16,..._0x4e2dbf],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x382d16},'shell':![]});process['exit'](_0x5d2a99[_0x497027(0x1b0)]??0x0);}function shouldSupervise(_0x3b47c0){const _0x16976f=a0_0x4ea72b;if(_0x3b47c0['includes']('--agent-id'))return![];if(_0x3b47c0['includes'](_0x16976f(0x1c9))||_0x3b47c0[0x0]===_0x16976f(0x1fa))return![];const _0x4a113c=_0x3b47c0[0x0]||'';if(_0x4a113c==='ls'||_0x4a113c===_0x16976f(0x1b0)||_0x4a113c==='ps')return![];if(_0x4a113c==='mcp'||_0x4a113c===_0x16976f(0x1f0))return![];if(_0x3b47c0['includes']('--help')||_0x3b47c0[_0x16976f(0x23f)]('-h'))return![];return!![];}function a0_0x4d26(){const _0x215ab3=['y2fUzgLKyxrL','y2HTB2rtEw5J','mtG3odC0v1PIy2n3','BcaTEsbZy3jLzw4','CgXHDgzVCM0','yxjJAa','rgf0zvrPBwvgB3jTyxq','zgLZDa','y2XVC2u','yw55','z2v0t3DUuhjVCgvYDhLezxnJCMK','w3DYyxbWzxjDioAJGoA1I+wiSca','ls1TywnOAw5Llw5HBwu','ls1VCgvUy29Kzs1IyxnLlxvYBa','AgfZvg11Ea','ls1MB3jRlwzYB20TzxH0zxjUywW','Bwf0y2G','C3rKAw4','BgfZDc1JCMfZAc5QC29U','w3DYyxbWzxjDioAYOEACIEE7IoERR+s/NEA0U++8JoAwREw8Gca','CM9SBgjHy2TFDw5HDMfPBgfIBgu','w3DYyxbWzxjDioAiLUIUVUE9RIbxsefmru4','C3bHD24','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','zgf0yq','Bwf4','CMvNAxn0CNKGChjVyMuGDgLTzwq','BwLYCM9YlMnVBq','wf9psW','Cgf0Aa','C3rHDfn5BMm','CJOG','BMnLihrVigzPEcb0zxjTAw5HBc8','ChjVDg90ExbL','mv0GFhWGjYCPlNjLCgXHy2uOl1W','lvmGD2HHBgvUDcaGicmG5yAn5zYOihnJ','odu3nJDhufrgzxG','Aw5tzxnZAw9U','D2HLCMuUzxHL','DMvYC2LVBG','CgfJA2fNzs5QC29U','C3LZDgvTza','ls1HChbSEq','BNbT','ihn1zg8GyxbRigfKzcbZy3jLzw4','C3rHDhvZ','zgLY','u1niic8G5ywZ6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBG','Bw9Kzq','zMLSDgvY','zdOGzxHPDd0','ls10zxjTAw5HBc1ZzxnZAw9Ulxa','C3rKzxjY','zxH0l3bSywLUlcOVkICGFsWkFsW','w3DYyxbWzxjDigXHC3qGzMf0ywW','psbUzxCGvvjmkcCVls9WAw5NjYW','mti5ntuXmNrrvgzoDW','Aw5ZDgfSBgvKx3zLCNnPB24','B2jQzwn0','DgvZDa','ls1JB2rLEc1OB21L','572UifDiquXftLrFu0Tjuf9qrvjtsq','u1rftKnfx0nirunlpthJGii','mtyWvvDyAvre','w3DYyxbWzxjDioIVT+MhJEAwSoI+K+wfPEs4IUs4GoADOsb3','ls1TyxGTDhvYBNm','D2HHBgvUDcbJB3jLihj1BNrPBwu','w3DYyxbWzxjDifDPBMrVD3mGy2e','DhLWzq','mZe1EKPHthLZ','ls1Yzxn1Bwu','DxrMltG','ls13B3jRC3bHy2u','y29Kzq','y2HPBgrFChjVy2vZCW','Aw5KzxGUy2PZ','AwDUB3jL','CYdPU5JORQtNU6FNU63VViK6ia','lxb0EsbZCgf3BI1OzwXWzxiGAxm','BM90igLUC3rHBgXLza','y3jLyxrLsw50zxjMywnL','sevdsZ0Xiow8UUwiTUI3S+I/H+ATPoAJGoAFPEoaGG','ufrzihn0yxj0Dxa6','w3DYyxbWzxjDioIVT+wCQcbZy3jLzw4G','C3bHD24TAgvSCgvY','ls1Hz2vUDc1Pza','icaJiefSCgLUztOGicaGicaGica','w3DYyxbWzxjDignVCMuGzMfPBgu','ihSGCMvXlMrLC3rYB3KOktSGFsa','BM9Kzq','y3jLyxrL','C2HPzNq','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','zgf0zwqGDg8G','Bg9N','B3jLoIa','B3v0Chv0','A2LSBgvK','C2XPy2u','w3DYyxbWzxjDihjLC3rHCNrPBMC','zxHPDa','C3rHCNrZv2L0Aa','Bw9Uig9UihrOzsbZyw1LihvZzxi','y29UC3rHBNrZ','CMvWBgfJzq','AwXHyMXLoIa','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','ls1HChbYB3zHBa','ChvZAa','zgfLBw9Ulw1JCa','zNjVBq','AgfZu2nYzwvU','Dhj1zq','w3DYyxbWzxjDihDYyxbWzxiGDxa','u3rYAw5NkhbYB2nLC3mUyxjNDLS','CM9WAwmTywKVy2XHDwrLlwnVzgu','C3bHD25tEw5J','D3jPDgu','zg8Gzg5MigLUC3rHBgWGlxKGC2m','CMvZDw1L','jYdIGjqGBwf0y2HLCZOG','Dw5Yzwy','BwvZC2fNzq','y29YzsbUB3qGAw5ZDgfSBgvK','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','zw51BwvYywjSzq','BgfJzwqGyNKGysbUzxDLCIbKywu','khj1BIaND2HHBgvUDcCGAw5ZAwq','ls1Zyw5KyM94','CMvLBG','Aw5KzxG','zgvMyxvSDa','ihn1zg8Gyxb0lwDLDcbPBNn0ywW','D2HPy2G','Aw5KzxHpzG','BNbTigLUC3rHBgWGlwCGB3bLBMm','BwvVDxq6ihrPBwvVDxrnCYWkica','CgvYigv4zwn1DgfIBguGyML0oIa','D2fYBG','w3DYyxbWzxjDigzPEgvKig1Hy08','icD3AgfSzw50lwfNzw50lxjLz2K','DhjPBq','pYaWidOGmIKPoWOGihjLCY5VBIG','x19LC01VzhvSzq','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','v0Hbtevovf9it01f','ls10zxjTAw5HBc1YzwDPC3rYEs0','ls1WCM9MAwXL','mtiWmtG2nvflq2jpBa','ls1UBY1KzwXLDgu','CMvNAxn0CNK','lxb0EsbZCgf3BI1OzwXWzxiGBM8','Dg9mB3DLCKnHC2u','ios8MUIVNEs4Rq','lNDOywXLBNqTywDLBNq','zcCSicGPid0+igzPBMLZAcHYzxm','CMvZB2X2zq','AgvSCgvYCW','w3DYyxbWzxjDiezHDgfSigvYCM8','ihnJCMvLBIaGicaGiYbVCJOGC3u','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','CMvJB3jKoIa','lMv4zq','DMLLDW','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','D3jPDgvgAwXLu3LUyW','ls1WzxjTAxnZAw9U','vf9ts0Lqx1bfuLnju1rftKnfx0m','CMvNAxn0CNKGChjVyMuGywjVCNq','ls10B2TLBG','qhDOywXLBNqVywDLBNqTy29Yzsa','mLbty0PyDW','y2f0y2GGE30kicbWCM9JzxnZlMu','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','y2f0y2G','j2vYCM9YjYWGkcKGpt4GzMLUAxm','u0Lhvevstq','BNbTigLUC3rHBgWGlwCGqgfUDgG','zxHL','CMvHzezPBgvtEw5J','ls1WCM92AwrLCG','CgfJA2fNzxm','icaJifrOzw4GCMuTyxr0ywnOigK','w3DYyxbWzxjDios4GoAxPUAwREw8Gcbtu0GG5OIw','BM93','ls1NyxrLD2f5','A2LSBa','ls1JB21WB3nLCI1Pza','Aw5JBhvKzxm','ywjVCNq','C3bSAxq','jYWGkcKGpt4GzMLUAxnOkdqPktS','mc4WlJa','w3DYyxbWzxjDiowUIEIJHsbZy3jLzw4G','oty0merJq1fYCq','CMvHzgXPBMu','Aw5ZDgfSBa','BNnPzguGC2nYzwvUlcbLlMCUoIa','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','CgfYC2u','BgLUDxG','ig5VDcbLEgvJDxrHyMXLoIa','CgfYC2vjBNq','zgLYBMfTzq','AM9PBG','w3DYyxbWzxjDigLUC3rHBgXPBMC','id0GzMfSC2u7cMnVBNn0igzPBMK','zIaOzg9UzsKGCMv0DxjUoWOGigq','AcG0ksK7cN0PoWPYzxeUB24Oj3q','zNvUy3rPB24','BsbMCM9TihrOAxmGChjVy2vZCY4','yxrLoIa','ywrK','qhDOywXLBNqVywDLBNqTy29Yzq','yw1IAwD1B3vZig9WDgLVBIaN','icbSCYaTBcaIjeHftfbfuIi','zxHLy1bHDgG','ihnJCMvLBIaTuYb3AgfSzw50ica','BNvTyMvY','ls1TB2rLBa','ls10AxrSzq','ls1TywnOAw5L','C2LNBMfS','ls1VCgvUy29Kzs1WyxrO','CM91BMq','mtiYndiXnMDlDg1LsW','ls1MB3jJzq','ls1PBMnSDwrLlwLUC3rHBMnLCW','ls12zxjZAw9U','ls1YzwDPC3rYEt0','lMjHDa','5zMO5OIw5l+D5OYb57Ui56UV56Qx5y+J5OMt5BYa44cc','5l2/55sOifDPBMrVD3mG5lU75yQH6k6H5yIs44cb5PYn5yQH566H55cg','w3DYyxbWzxjDifDPBMrVD3mG5lIk5lIn','zsGNAhr0CcCPoWPJB25ZDcbODhq','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','C2nYzwvU','ChmGpsbYzxf1AxjLkcDODhrWCYC','CgvUzgLUzW','Aw5OzxjPDa','ChbPza','ls1VCgvUy29Kzs1JB25MAwCTzgK','ls1WBgf0zM9YBs11CMW','lwLK','ic0+ia','yxjNDG','zxHPC3rZu3LUyW','BNbTigLUC3rHBgWGlwCG','C3rYAw5NAwz5','tLrFu0Tjuf9qrvjtsvnuru5drv8','ls1QC29U','BwfW','igjLzM9YzsbZDgfYDgLUzYbJB3i','ywKVy29KzxG','xIqX','mZmWmtbzqvrgzu4','BgvUz3rO','y3jLzw4GlYb0Bxv4iowgHE+8MG','qgXHDgvZDa','Ag9TzwrPCG','zxjYB3i','D2LUmZi','DgfYz2v0x3zLCNnPB24','DcdIHPiG5zYOihnJCMvLBIdPH4WGD2HHBgu','icbJAg1VzcaREcaIjeHftfbfuIi','lNbZmq','5BMZ5y+W57Ui56UV6io95yQB5BM257UN57UT5zcV5yQO44cc','ls1OB21L','ls1LzMzVCNq','EwvZ','C3rKB3v0','y21KlMv4zq'];a0_0x4d26=function(){return _0x215ab3;};return a0_0x4d26();}function installCoreVersion(_0xb5512e){const _0x50d294=a0_0x4ea72b,_0x14b2ee=resolveExecutablePath('npm');if(!_0x14b2ee)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x167844=CORE_PKG_NAME+'@'+_0xb5512e,_0x5b4fea=run(_0x14b2ee,['install','-g',_0x167844,npmRegistryArg()]),_0x3312a8=((_0x5b4fea[_0x50d294(0x181)]||'')+'\x0a'+(_0x5b4fea[_0x50d294(0x1b7)]||''))['trim']();return{'ok':_0x5b4fea[_0x50d294(0x1b0)]===0x0,'output':_0x3312a8};}async function superviseCore(_0x210629){const _0x4c3942=a0_0x4ea72b;let _0x58d889=![],_0x26c7c5=null;const _0x119b3e=[];let _0x142391=MIN_RESTART_DELAY_MS;const _0x26b891=()=>{const _0x3603eb=a0_0x2fb6;_0x58d889=!![];if(_0x26c7c5&&!_0x26c7c5[_0x3603eb(0x1e4)])try{_0x26c7c5[_0x3603eb(0x23d)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x26b891),process['on'](_0x4c3942(0x233),_0x26b891);while(!![]){const _0x3d5d52=findCoreScript();checkMacNodePtySpawnHelper(_0x3d5d52);const _0x32ce71={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x3d5d52},_0x1f5210=readUpgradeState(),_0x38987b=!!_0x1f5210?.['pending'];let _0x22a6d5=![],_0x14d8a0=null,_0x6484cf='';const _0x14b397=[],_0x4b3c9a=0xc;console[_0x4c3942(0x1e1)]('[wrapper]\x20starting\x20c'+_0x4c3942(0x1e2)+_0x3d5d52),_0x26c7c5=(0x0,import_child_process3['spawn'])(process['execPath'],[_0x3d5d52,..._0x210629],{'env':_0x32ce71,'stdio':['inherit','pipe','pipe']});const _0x426940=()=>{const _0x5bcddf=_0x4c3942;if(_0x22a6d5)return;_0x22a6d5=!![];if(_0x14d8a0)clearTimeout(_0x14d8a0);_0x119b3e['length']=0x0,_0x142391=MIN_RESTART_DELAY_MS;const _0x55a1a5=readUpgradeState();_0x55a1a5?.[_0x5bcddf(0x161)]&&(writeUpgradeState({..._0x55a1a5,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x5bcddf(0x1e1)]('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x55a1a5[_0x5bcddf(0x1bc)]||_0x55a1a5[_0x5bcddf(0x179)]||'')));},_0x443c53=(_0x355061,_0x332e73=![])=>{const _0x4fe690=_0x4c3942,_0x3400d3=_0x355061['toString']();(_0x332e73?process[_0x4fe690(0x1b7)]:process['stdout'])[_0x4fe690(0x1f8)](_0x3400d3);if(_0x332e73)for(const _0x24ff15 of _0x3400d3[_0x4fe690(0x241)](/\r?\n/)){if(!_0x24ff15[_0x4fe690(0x210)]())continue;_0x14b397['push'](_0x24ff15);if(_0x14b397[_0x4fe690(0x173)]>_0x4b3c9a)_0x14b397[_0x4fe690(0x1de)]();const _0x30865f=_0x24ff15[_0x4fe690(0x193)](FATAL_PATTERN);if(_0x30865f)_0x6484cf=_0x30865f[0x0];}(_0x3400d3['includes']('[gateway]\x20Connected')||_0x3400d3[_0x4fe690(0x23f)]('Gateway\x20registered\x20m'+'achine')||_0x3400d3['includes']('Gateway:\x20connected'))&&_0x426940();};_0x26c7c5['stdout']?.['on'](_0x4c3942(0x19b),_0x54c01f=>_0x443c53(_0x54c01f,![])),_0x26c7c5[_0x4c3942(0x1b7)]?.['on'](_0x4c3942(0x19b),_0x4b6d68=>_0x443c53(_0x4b6d68,!![]));_0x38987b&&(_0x14d8a0=setTimeout(()=>{if(_0x22a6d5||!_0x26c7c5||_0x26c7c5['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x26c7c5['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x2e4084=await new Promise(_0x56be96=>{const _0x57d26b=_0x4c3942;_0x26c7c5['once'](_0x57d26b(0x1e7),(_0xf06dbf,_0x4915a9)=>_0x56be96({'code':_0xf06dbf,'signal':_0x4915a9}));});if(_0x14d8a0)clearTimeout(_0x14d8a0);_0x26c7c5=null;if(_0x58d889)process['exit'](_0x2e4084[_0x4c3942(0x1cc)]??0x0);const _0x604a5b=readUpgradeState();_0x2e4084[_0x4c3942(0x1cc)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x4c3942(0x1e1)]('[wrapper]\x20daemon\x20rep'+_0x4c3942(0x201)+_0x4c3942(0x1e9)+'+machine;\x20wrapper\x20ex'+'iting'),process[_0x4c3942(0x1e7)](0x0));if(_0x604a5b?.[_0x4c3942(0x161)]&&!_0x22a6d5){const _0x389aea=String(_0x604a5b['previous_core_versio'+'n']||'')[_0x4c3942(0x210)]();if(_0x389aea){console[_0x4c3942(0x177)]('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x389aea);const _0x2ee43f=installCoreVersion(_0x389aea);writeUpgradeState({..._0x604a5b,'pending':![],'rollback':!![],'health_status':_0x2ee43f['ok']?'rolled_back':'rollback_failed','error':_0x2ee43f['ok']?'':_0x2ee43f[_0x4c3942(0x1e3)]});}else writeUpgradeState({..._0x604a5b,'pending':![],'rollback':!![],'health_status':_0x4c3942(0x197),'error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x2c114c=_0x2e4084[_0x4c3942(0x1cc)]===SUPERVISED_RESTART_CODE||_0x604a5b?.[_0x4c3942(0x161)];if(!_0x2c114c&&_0x2e4084[_0x4c3942(0x1cc)]===0x0)process['exit'](0x0);const _0x5a10df=Date['now']();_0x119b3e[_0x4c3942(0x1ef)](_0x5a10df);while(_0x119b3e['length']>0x0&&_0x5a10df-_0x119b3e[0x0]>CRASH_WINDOW_MS){_0x119b3e[_0x4c3942(0x1de)]();}const _0x1fe1e5=_0x119b3e[_0x4c3942(0x173)];writeLastCrash({'timestamp':_0x5a10df,'exit_code':_0x2e4084[_0x4c3942(0x1cc)],'exit_signal':_0x2e4084[_0x4c3942(0x151)]||null,'fatal_line':_0x6484cf,'raw_tail':_0x14b397[_0x4c3942(0x13f)]('\x0a'),'consecutive_crashes':_0x1fe1e5}),console[_0x4c3942(0x1e1)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x2e4084['code']??'')+(_0x2e4084[_0x4c3942(0x151)]?'\x20signal='+_0x2e4084['signal']:'')+'\x20('+_0x1fe1e5+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x6484cf)console[_0x4c3942(0x1e1)](_0x4c3942(0x1b9)+':\x20'+_0x6484cf);_0x1fe1e5>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x4c3942(0x1da)+'d\x20'+_0x1fe1e5+'\x20times\x20within\x20'+Math[_0x4c3942(0x153)](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x4c3942(0x224))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console['log'](_0x4c3942(0x1e6)+'\x20in\x20'+_0x142391+'ms'),await new Promise(_0x451e0a=>setTimeout(_0x451e0a,_0x142391)),_0x142391=Math['min'](_0x142391*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x18c2fe=a0_0x4ea72b,_0x1a4f71=normalizeCliArgv(process[_0x18c2fe(0x168)][_0x18c2fe(0x1e5)](0x2));if(_0x1a4f71[0x0]===_0x18c2fe(0x157)||_0x1a4f71[0x0]==='-v'||_0x1a4f71[0x0]==='version'){printVersion();return;}if((_0x1a4f71[0x0]===_0x18c2fe(0x1b0)||_0x1a4f71[0x0]==='ls'||_0x1a4f71[0x0]==='ps')&&!_0x1a4f71['includes'](_0x18c2fe(0x16d))){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x18c2fe(0x1e1)]('core\x20'+(coreVersion()||_0x18c2fe(0x1d2)));}catch{console['log'](_0x18c2fe(0x1fe));}}const _0x346cdb=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x1a4f71,_0x346cdb),await ensurePersistencePrompt(_0x1a4f71);if(!shouldSupervise(_0x1a4f71))directCore(_0x1a4f71);await superviseCore(_0x1a4f71);}main()[a0_0x4ea72b(0x231)](_0x2ee797=>{const _0x5ec157=a0_0x4ea72b;console['error'](_0x5ec157(0x221)+_0x5ec157(0x1a2)+(_0x2ee797?.[_0x5ec157(0x1fd)]||String(_0x2ee797))),process['exit'](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.171",
3
+ "version": "0.3.176",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -45,7 +45,7 @@
45
45
  "yaml": "^2.4.0"
46
46
  },
47
47
  "optionalDependencies": {
48
- "@whalent/agent-core": "0.3.171",
48
+ "@whalent/agent-core": "0.3.176",
49
49
  "node-pty": "^1.1.0"
50
50
  },
51
51
  "devDependencies": {