@whalent/agent 0.3.91 → 0.3.92
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/core.cjs +7 -7
- package/dist/index.cjs +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const a0_0x520386=a0_0x5805;(function(_0x13c4d9,_0x5b338c){const _0x21fa7a=a0_0x5805,_0x2bbf11=_0x13c4d9();while(!![]){try{const _0xbc6bab=-parseInt(_0x21fa7a(0x162))/0x1*(-parseInt(_0x21fa7a(0x148))/0x2)+-parseInt(_0x21fa7a(0x156))/0x3*(-parseInt(_0x21fa7a(0x16b))/0x4)+parseInt(_0x21fa7a(0x14c))/0x5+-parseInt(_0x21fa7a(0x17d))/0x6*(-parseInt(_0x21fa7a(0x154))/0x7)+-parseInt(_0x21fa7a(0x157))/0x8+-parseInt(_0x21fa7a(0x16d))/0x9*(parseInt(_0x21fa7a(0x116))/0xa)+-parseInt(_0x21fa7a(0x16f))/0xb;if(_0xbc6bab===_0x5b338c)break;else _0x2bbf11['push'](_0x2bbf11['shift']());}catch(_0x29f2c){_0x2bbf11['push'](_0x2bbf11['shift']());}}}(a0_0x5e0a,0x8cc8e));var __create=Object[a0_0x520386(0x175)],__defProp=Object[a0_0x520386(0x163)],__getOwnPropDesc=Object[a0_0x520386(0x115)+'ptor'],__getOwnPropNames=Object[a0_0x520386(0x17b)],__getProtoOf=Object[a0_0x520386(0x17e)],__hasOwnProp=Object['prototype'][a0_0x520386(0x172)],__copyProps=(_0x1626cf,_0x27240e,_0x280a92,_0xaa3436)=>{const _0x48bb4b=a0_0x520386;if(_0x27240e&&typeof _0x27240e==='object'||typeof _0x27240e===_0x48bb4b(0x15b)){for(let _0x5cdb34 of __getOwnPropNames(_0x27240e))if(!__hasOwnProp[_0x48bb4b(0x131)](_0x1626cf,_0x5cdb34)&&_0x5cdb34!==_0x280a92)__defProp(_0x1626cf,_0x5cdb34,{'get':()=>_0x27240e[_0x5cdb34],'enumerable':!(_0xaa3436=__getOwnPropDesc(_0x27240e,_0x5cdb34))||_0xaa3436['enumerable']});}return _0x1626cf;},__toESM=(_0xe4215,_0x67d21e,_0x3d1a22)=>(_0x3d1a22=_0xe4215!=null?__create(__getProtoOf(_0xe4215)):{},__copyProps(_0x67d21e||!_0xe4215||!_0xe4215['__esModule']?__defProp(_0x3d1a22,'default',{'value':_0xe4215,'enumerable':!![]}):_0x3d1a22,_0xe4215)),import_child_process=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x520386(0x149)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY='https://registry.npm'+a0_0x520386(0x14f),SUPERVISED_RESTART_CODE=0x4b,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(){const _0x157c9d=a0_0x520386;return path['join'](os[_0x157c9d(0x150)](),_0x157c9d(0x139));}function upgradeStatePath(){const _0x4f2f9e=a0_0x520386;return path[_0x4f2f9e(0x145)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x2830ef=a0_0x520386;return path[_0x2830ef(0x145)](configDir(),_0x2830ef(0x125));}function writeLastCrash(_0x12e81d){const _0x4dcab5=a0_0x520386;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x2e3b55={..._0x12e81d,'reported':![]};fs[_0x4dcab5(0x112)](lastCrashFilePath(),JSON[_0x4dcab5(0x123)](_0x2e3b55,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x525dbe=a0_0x520386;try{const _0x455828=JSON[_0x525dbe(0x165)](fs[_0x525dbe(0x18f)](path['join'](wrapperBaseDir(),'..',_0x525dbe(0x180)),_0x525dbe(0x124)));return String(_0x455828['version']||'0.0.0');}catch{return'0.0.0';}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x265470){const _0x178fd0=a0_0x520386;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x178fd0(0x123)]({..._0x265470,'updated_at':Date['now']()},null,0x2),_0x178fd0(0x124));}catch{}}function run(_0x925546,_0x1d4baf,_0x264c49=process.env){const _0x129e1d=a0_0x520386;return(0x0,import_child_process['spawnSync'])(_0x925546,_0x1d4baf,{'encoding':_0x129e1d(0x13d),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x264c49,'shell':![]});}function runNpmView(_0x422fba){const _0x75c0b8=a0_0x520386,_0x3ca1be=resolveExecutable('npm');if(!_0x3ca1be)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x75c0b8(0x12f))};return(0x0,import_child_process['spawnSync'])(_0x3ca1be,_0x422fba,{'encoding':_0x75c0b8(0x13d),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x3fbf18=a0_0x520386,_0x3656d8=resolveExecutable(_0x3fbf18(0x193));if(!_0x3656d8)return'';const _0x531b3a=run(_0x3656d8,['root','-g']);if(_0x531b3a['status']!==0x0)return'';return String(_0x531b3a[_0x3fbf18(0x12d)]||'')['trim']();}function compareSemver(_0x397031,_0x133ebb){const _0xeb5138=a0_0x520386,_0x262c5c=String(_0x397031||'')[_0xeb5138(0x146)](/^v/,'')[_0xeb5138(0x188)](/[.-]/)['map'](_0x3e9396=>Number['parseInt'](_0x3e9396,0xa)||0x0),_0x19f0ae=String(_0x133ebb||'')[_0xeb5138(0x146)](/^v/,'')[_0xeb5138(0x188)](/[.-]/)[_0xeb5138(0x16e)](_0x5231a4=>Number['parseInt'](_0x5231a4,0xa)||0x0);for(let _0x1cf7dc=0x0;_0x1cf7dc<Math[_0xeb5138(0x132)](_0x262c5c['length'],_0x19f0ae[_0xeb5138(0x14e)],0x3);_0x1cf7dc++){const _0x535691=_0x262c5c[_0x1cf7dc]||0x0,_0x46331d=_0x19f0ae[_0x1cf7dc]||0x0;if(_0x535691>_0x46331d)return 0x1;if(_0x535691<_0x46331d)return-0x1;}return 0x0;}function resolveExecutable(_0x28e8a9){const _0x5b2a67=a0_0x520386,_0x222b8c=process[_0x5b2a67(0x111)]===_0x5b2a67(0x16c)?'where.exe':'which';try{const _0x356007=(0x0,import_child_process[_0x5b2a67(0x122)])(_0x222b8c,[_0x28e8a9],{'encoding':_0x5b2a67(0x13d),'timeout':0xbb8,'shell':![]});if(_0x356007['status']!==0x0)return'';return String(_0x356007['stdout']||'')[_0x5b2a67(0x188)](/\r?\n/)['map'](_0x2ece14=>_0x2ece14[_0x5b2a67(0x184)]())[_0x5b2a67(0x129)](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x556537=a0_0x520386,_0x188546=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0x188546==='1'||_0x188546===_0x556537(0x13b)||_0x188546===_0x556537(0x177)||_0x188546==='on';}function latestWrapperVersion(){const _0x2840c1=a0_0x520386,_0x5287d1=runNpmView(['view',WRAPPER_PKG_NAME+'@latest',_0x2840c1(0x11c),'--registry='+NPM_REGISTRY]);if(_0x5287d1['status']!==0x0)return'';return String(_0x5287d1['stdout']||'')['trim']()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x4e4157){const _0x3f02f0=a0_0x520386,_0x2acf54=resolveExecutable('npm');if(!_0x2acf54)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0xd9e323=run(_0x2acf54,[_0x3f02f0(0x182),'-g',WRAPPER_PKG_NAME+'@'+_0x4e4157,_0x3f02f0(0x14d)+NPM_REGISTRY]),_0x5f2296=((_0xd9e323[_0x3f02f0(0x12d)]||'')+'\x0a'+(_0xd9e323['stderr']||''))[_0x3f02f0(0x184)]();return{'ok':_0xd9e323['status']===0x0,'output':_0x5f2296};}function maybeUpdateWrapper(_0xf85c27){const _0x26a3da=a0_0x520386;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x289463=latestWrapperVersion();if(!_0x289463||compareSemver(_0x289463,WRAPPER_VERSION)<=0x0)return![];console['warn'](_0x26a3da(0x155)+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x289463),console[_0x26a3da(0x167)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x289463+('\x20from\x20npm\x20before\x20sta'+_0x26a3da(0x11b)));const _0x21cf54=installWrapperVersion(_0x289463);if(!_0x21cf54['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x26a3da(0x15d)+_0x26a3da(0x171)+WRAPPER_VERSION);if(_0x21cf54['output'])console[_0x26a3da(0x167)](_0x21cf54[_0x26a3da(0x11a)]['split'](/\r?\n/)['slice'](-0xc)[_0x26a3da(0x145)]('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x289463+'\x20--registry='+NPM_REGISTRY),![];}console['warn']('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x289463+';\x20restarting\x20wrapper');const _0x5c9a66=process[_0x26a3da(0x174)][0x1],_0x41db96=(0x0,import_child_process['spawnSync'])(process[_0x26a3da(0x179)],[_0x5c9a66,..._0xf85c27],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x289463},'shell':![]});process[_0x26a3da(0x15c)](_0x41db96[_0x26a3da(0x181)]??0x0);}function findCoreScript(){const _0x4155ed=a0_0x520386,_0x2b0a7a=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x183464=['1','true',_0x4155ed(0x177),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x4155ed(0x184)]()['toLowerCase']());if(_0x2b0a7a&&_0x183464&&fs['existsSync'](_0x2b0a7a))return _0x2b0a7a;const _0x1f0939=[],_0xa872f5=_0x309698=>{const _0x3e82e9=_0x4155ed;if(fs[_0x3e82e9(0x152)](_0x309698)&&!_0x1f0939['includes'](_0x309698))_0x1f0939['push'](_0x309698);};if(_0x2b0a7a)_0xa872f5(_0x2b0a7a);const _0x28bc46=npmRootGlobal();if(_0x28bc46){const _0x4c0192=path['join'](_0x28bc46,'@whalent',_0x4155ed(0x151),'dist',_0x4155ed(0x170));_0xa872f5(_0x4c0192);}const _0x3b4ada=path['join'](wrapperBaseDir(),_0x4155ed(0x173));_0xa872f5(_0x3b4ada);const _0xb4d5e9=path['join'](wrapperBaseDir(),'..','packages','core',_0x4155ed(0x133),_0x4155ed(0x170));_0xa872f5(_0xb4d5e9);if(_0x1f0939[_0x4155ed(0x14e)]>0x0)return _0x1f0939['map']((_0x219cbe,_0x73f81f)=>({'candidate':_0x219cbe,'index':_0x73f81f,'version':coreVersion(_0x219cbe)}))[_0x4155ed(0x186)]((_0x4d4f04,_0x1fd466)=>{const _0xa06dd9=_0x4155ed,_0x287178=compareSemver(_0x1fd466['version'],_0x4d4f04['version']);if(_0x287178!==0x0)return _0x287178;return _0x1fd466[_0xa06dd9(0x135)]-_0x4d4f04['index'];})[0x0]['candidate'];throw new Error(_0x4155ed(0x11f)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x4155ed(0x11d)+'agent');}function coreVersion(_0x28e3ac=findCoreScript()){const _0x21e863=a0_0x520386,_0x11c133=(0x0,import_child_process[_0x21e863(0x122)])(process['execPath'],[_0x28e3ac,'--version'],{'encoding':_0x21e863(0x13d),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x22a92f=(_0x11c133[_0x21e863(0x12d)]||'')+'\x0a'+(_0x11c133['stderr']||'');return _0x22a92f['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x212ae7){const _0x2a3aeb=a0_0x520386;try{return fs['accessSync'](_0x212ae7,fs[_0x2a3aeb(0x164)][_0x2a3aeb(0x153)]),!![];}catch{return![];}}function shellQuote(_0x2d9796){const _0x30b40d=a0_0x520386;return'\x27'+_0x2d9796[_0x30b40d(0x146)](/'/g,_0x30b40d(0x11e))+'\x27';}function coreNodePtySpawnHelperPath(_0x4d80b7){const _0x12d44e=a0_0x520386;if(process['platform']!==_0x12d44e(0x12a))return'';try{const _0xb02d03=(0x0,import_module[_0x12d44e(0x114)])(_0x4d80b7),_0x37e3aa=_0xb02d03[_0x12d44e(0x18d)](_0x12d44e(0x176)),_0x19f0ad=path[_0x12d44e(0x18d)](path['dirname'](_0x37e3aa),'..');return path['join'](_0x19f0ad,'prebuilds',_0x12d44e(0x18e)+process[_0x12d44e(0x166)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x4b45ee){const _0xbad286=a0_0x520386,_0x5e0208=coreNodePtySpawnHelperPath(_0x4b45ee);if(!_0x5e0208||CHECKED_PTY_HELPERS['has'](_0x5e0208))return;CHECKED_PTY_HELPERS['add'](_0x5e0208);if(!fs['existsSync'](_0x5e0208)){console[_0xbad286(0x167)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+_0xbad286(0x13c)+_0x5e0208);return;}if(isExecutable(_0x5e0208))return;try{const _0x10911a=fs['statSync'](_0x5e0208)[_0xbad286(0x18a)];fs[_0xbad286(0x17a)](_0x5e0208,_0x10911a|0x1ed);}catch{}if(isExecutable(_0x5e0208)){console[_0xbad286(0x167)]('[wrapper]\x20fixed\x20macO'+_0xbad286(0x12c)+_0xbad286(0x144)+_0x5e0208);return;}console[_0xbad286(0x167)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+_0xbad286(0x16a)+_0x5e0208),console['warn']('[wrapper]\x20Run\x20this\x20o'+_0xbad286(0x160)+_0xbad286(0x185)),console[_0xbad286(0x167)](_0xbad286(0x161)+shellQuote(_0x5e0208)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0xbad286(0x167)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x41e501=a0_0x520386;let _0x3d62e0='';try{_0x3d62e0=coreVersion();}catch{}console[_0x41e501(0x13f)](_0x41e501(0x113)+WRAPPER_VERSION),console[_0x41e501(0x13f)]('wrapper\x20'+WRAPPER_VERSION),console[_0x41e501(0x13f)]('core\x20'+(_0x3d62e0||_0x41e501(0x110)));}function directCore(_0x176960){const _0x3c4406=a0_0x520386,_0x38ecfa=findCoreScript();checkMacNodePtySpawnHelper(_0x38ecfa);const _0x53224c=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x38ecfa,..._0x176960],{'stdio':_0x3c4406(0x128),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x38ecfa},'shell':![]});process['exit'](_0x53224c['status']??0x0);}function shouldSupervise(_0x57cae1){const _0x1fac7f=a0_0x520386;if(_0x57cae1[_0x1fac7f(0x120)]('--agent-id'))return![];const _0x3ee598=_0x57cae1[0x0]||'';if(_0x3ee598==='ls'||_0x3ee598===_0x1fac7f(0x181)||_0x3ee598==='ps')return![];if(_0x3ee598==='mcp'||_0x3ee598===_0x1fac7f(0x17f))return![];if(_0x57cae1[_0x1fac7f(0x120)]('--help')||_0x57cae1[_0x1fac7f(0x120)]('-h'))return![];return!![];}function installCoreVersion(_0x953695){const _0x117da3=a0_0x520386,_0x40399e=resolveExecutable(_0x117da3(0x193));if(!_0x40399e)return{'ok':![],'output':_0x117da3(0x134)+'H'};const _0x25823a=CORE_PKG_NAME+'@'+_0x953695,_0x2862f0=run(_0x40399e,['install','-g',_0x25823a,_0x117da3(0x14d)+NPM_REGISTRY]),_0x293383=((_0x2862f0[_0x117da3(0x12d)]||'')+'\x0a'+(_0x2862f0['stderr']||''))['trim']();return{'ok':_0x2862f0[_0x117da3(0x181)]===0x0,'output':_0x293383};}async function superviseCore(_0x46cfd2){const _0x2b9356=a0_0x520386;let _0x553ed5=![],_0x2ac98a=null;const _0x883408=[];let _0x110d1a=MIN_RESTART_DELAY_MS;const _0x1de61a=()=>{const _0x912834=a0_0x5805;_0x553ed5=!![];if(_0x2ac98a&&!_0x2ac98a['killed'])try{_0x2ac98a[_0x912834(0x126)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0x2b9356(0x187),_0x1de61a),process['on']('SIGTERM',_0x1de61a);while(!![]){const _0x35af95=findCoreScript();checkMacNodePtySpawnHelper(_0x35af95);const _0x3b3dbc={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x35af95},_0x4a4de5=readUpgradeState(),_0xd3f74=!!_0x4a4de5?.['pending'];let _0x5dafb4=![],_0x584464=null,_0x16f5d3='';const _0x201659=[],_0x28b798=0xc;console[_0x2b9356(0x13f)](_0x2b9356(0x14a)+_0x2b9356(0x141)+_0x35af95),_0x2ac98a=(0x0,import_child_process['spawn'])(process['execPath'],[_0x35af95,..._0x46cfd2],{'env':_0x3b3dbc,'stdio':['inherit','pipe',_0x2b9356(0x143)]});const _0x5b0210=()=>{const _0x345eb9=_0x2b9356;if(_0x5dafb4)return;_0x5dafb4=!![];if(_0x584464)clearTimeout(_0x584464);_0x883408[_0x345eb9(0x14e)]=0x0,_0x110d1a=MIN_RESTART_DELAY_MS;const _0x37bfb3=readUpgradeState();_0x37bfb3?.[_0x345eb9(0x140)]&&(writeUpgradeState({..._0x37bfb3,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x345eb9(0x13f)](_0x345eb9(0x169)+'de\x20healthy:\x20'+(_0x37bfb3[_0x345eb9(0x15f)]||_0x37bfb3['target_version']||'')));},_0x12f660=(_0x1ae407,_0x20c66b=![])=>{const _0x1fcb07=_0x2b9356,_0xfbd765=_0x1ae407[_0x1fcb07(0x18b)]();(_0x20c66b?process['stderr']:process['stdout'])[_0x1fcb07(0x183)](_0xfbd765);if(_0x20c66b)for(const _0x4d15a of _0xfbd765[_0x1fcb07(0x188)](/\r?\n/)){if(!_0x4d15a['trim']())continue;_0x201659['push'](_0x4d15a);if(_0x201659['length']>_0x28b798)_0x201659['shift']();const _0x4855d5=_0x4d15a[_0x1fcb07(0x17c)](FATAL_PATTERN);if(_0x4855d5)_0x16f5d3=_0x4855d5[0x0];}(_0xfbd765[_0x1fcb07(0x120)]('[gateway]\x20Connected')||_0xfbd765['includes']('Gateway\x20registered\x20m'+'achine')||_0xfbd765[_0x1fcb07(0x120)](_0x1fcb07(0x13a)))&&_0x5b0210();};_0x2ac98a['stdout']?.['on'](_0x2b9356(0x178),_0x330699=>_0x12f660(_0x330699,![])),_0x2ac98a[_0x2b9356(0x190)]?.['on'](_0x2b9356(0x178),_0x274c68=>_0x12f660(_0x274c68,!![]));_0xd3f74&&(_0x584464=setTimeout(()=>{const _0x1c5a8c=_0x2b9356;if(_0x5dafb4||!_0x2ac98a||_0x2ac98a['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x1c5a8c(0x147)+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x2ac98a['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0xa0a06=await new Promise(_0x56783b=>{const _0x37489d=_0x2b9356;_0x2ac98a['once'](_0x37489d(0x15c),(_0xb0939c,_0x575c3b)=>_0x56783b({'code':_0xb0939c,'signal':_0x575c3b}));});if(_0x584464)clearTimeout(_0x584464);_0x2ac98a=null;if(_0x553ed5)process[_0x2b9356(0x15c)](_0xa0a06['code']??0x0);const _0x57eba6=readUpgradeState();if(_0x57eba6?.['pending']&&!_0x5dafb4){const _0x4397fb=String(_0x57eba6[_0x2b9356(0x138)+'n']||'')['trim']();if(_0x4397fb){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x4397fb);const _0x4dba44=installCoreVersion(_0x4397fb);writeUpgradeState({..._0x57eba6,'pending':![],'rollback':!![],'health_status':_0x4dba44['ok']?_0x2b9356(0x119):_0x2b9356(0x12b),'error':_0x4dba44['ok']?'':_0x4dba44[_0x2b9356(0x11a)]});}else writeUpgradeState({..._0x57eba6,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x1e2526=_0xa0a06[_0x2b9356(0x137)]===SUPERVISED_RESTART_CODE||_0x57eba6?.[_0x2b9356(0x140)];if(!_0x1e2526&&_0xa0a06['code']===0x0)process[_0x2b9356(0x15c)](0x0);const _0x3d46dc=Date['now']();_0x883408['push'](_0x3d46dc);while(_0x883408[_0x2b9356(0x14e)]>0x0&&_0x3d46dc-_0x883408[0x0]>CRASH_WINDOW_MS){_0x883408[_0x2b9356(0x117)]();}const _0x50aa47=_0x883408['length'];writeLastCrash({'timestamp':_0x3d46dc,'exit_code':_0xa0a06[_0x2b9356(0x137)],'exit_signal':_0xa0a06['signal']||null,'fatal_line':_0x16f5d3,'raw_tail':_0x201659['join']('\x0a'),'consecutive_crashes':_0x50aa47}),console[_0x2b9356(0x13f)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0xa0a06['code']??'')+(_0xa0a06['signal']?_0x2b9356(0x18c)+_0xa0a06[_0x2b9356(0x168)]:'')+'\x20('+_0x50aa47+'/'+MAX_CRASHES_IN_WINDOW+_0x2b9356(0x12e)+Math[_0x2b9356(0x159)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x16f5d3)console[_0x2b9356(0x13f)]('[wrapper]\x20last\x20fatal'+':\x20'+_0x16f5d3);_0x50aa47>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x2b9356(0x130)+'d\x20'+_0x50aa47+_0x2b9356(0x118)+Math[_0x2b9356(0x159)](CRASH_WINDOW_MS/0x3e8)+(_0x2b9356(0x127)+'record:\x20')+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+_0x2b9356(0x15e)+_0x2b9356(0x158))),process['exit'](0x1)),console[_0x2b9356(0x13f)](_0x2b9356(0x14b)+_0x2b9356(0x142)+_0x110d1a+'ms'),await new Promise(_0x18df2d=>setTimeout(_0x18df2d,_0x110d1a)),_0x110d1a=Math['min'](_0x110d1a*0x2,MAX_RESTART_DELAY_MS);}}function a0_0x5805(_0x50aed9,_0x5cb616){_0x50aed9=_0x50aed9-0x110;const _0x5e0a71=a0_0x5e0a();let _0x580546=_0x5e0a71[_0x50aed9];if(a0_0x5805['lwLElh']===undefined){var _0x5bce25=function(_0x28fc73){const _0x13b07e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1626cf='',_0x27240e='';for(let _0x280a92=0x0,_0xaa3436,_0x5cdb34,_0xe4215=0x0;_0x5cdb34=_0x28fc73['charAt'](_0xe4215++);~_0x5cdb34&&(_0xaa3436=_0x280a92%0x4?_0xaa3436*0x40+_0x5cdb34:_0x5cdb34,_0x280a92++%0x4)?_0x1626cf+=String['fromCharCode'](0xff&_0xaa3436>>(-0x2*_0x280a92&0x6)):0x0){_0x5cdb34=_0x13b07e['indexOf'](_0x5cdb34);}for(let _0x67d21e=0x0,_0x3d1a22=_0x1626cf['length'];_0x67d21e<_0x3d1a22;_0x67d21e++){_0x27240e+='%'+('00'+_0x1626cf['charCodeAt'](_0x67d21e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27240e);};a0_0x5805['nzehqy']=_0x5bce25,a0_0x5805['brHiGG']={},a0_0x5805['lwLElh']=!![];}const _0x2c8a4a=_0x5e0a71[0x0],_0x5c5ae0=_0x50aed9+_0x2c8a4a,_0x1e220a=a0_0x5805['brHiGG'][_0x5c5ae0];return!_0x1e220a?(_0x580546=a0_0x5805['nzehqy'](_0x580546),a0_0x5805['brHiGG'][_0x5c5ae0]=_0x580546):_0x580546=_0x1e220a,_0x580546;}async function main(){const _0x2b2569=a0_0x520386,_0x37888a=process[_0x2b2569(0x174)]['slice'](0x2);if(_0x37888a[0x0]===_0x2b2569(0x121)||_0x37888a[0x0]==='-v'||_0x37888a[0x0]===_0x2b2569(0x11c)){printVersion();return;}if((_0x37888a[0x0]===_0x2b2569(0x181)||_0x37888a[0x0]==='ls'||_0x37888a[0x0]==='ps')&&!_0x37888a[_0x2b2569(0x120)]('--json')){console[_0x2b2569(0x13f)](_0x2b2569(0x191)+WRAPPER_VERSION);try{console['log']('core\x20'+(coreVersion()||'not\x20installed'));}catch{console['log'](_0x2b2569(0x192));}}maybeUpdateWrapper(_0x37888a);if(!shouldSupervise(_0x37888a))directCore(_0x37888a);await superviseCore(_0x37888a);}function a0_0x5e0a(){const _0x39cbf2=['mZGWyuXPrKjh','C2HPzNq','ihrPBwvZihDPDgHPBIa','CM9SBgvKx2jHy2S','B3v0Chv0','CNrPBMCGy29Yzs4UlG','DMvYC2LVBG','B3iGCMvIDwLSzcbaD2HHBgvUDc8','j1WNjW','D2HHBgvUDcbJB3jLihj1BNrPBwu','Aw5JBhvKzxm','ls12zxjZAw9U','C3bHD25tEw5J','C3rYAw5NAwz5','DxrMltG','BgfZDc1JCMfZAc5QC29U','A2LSBa','CZSGz2L2Aw5NihvWlIbdCMfZAca','Aw5OzxjPDa','zMLSDgvY','zgfYD2LU','CM9SBgjHy2TFzMfPBgvK','uYbUB2rLlxb0EsbZCgf3BI1OzwW','C3rKB3v0','igLUigXHC3qG','BNbTig5VDcbMB3vUza','w3DYyxbWzxjDignVCMuGzMfPBgu','y2fSBa','Bwf4','zgLZDa','BNbTig5VDcbMB3vUzcbVBIbqqvq','Aw5KzxG','BwvZC2fNzq','y29Kzq','ChjLDMLVDxnFy29Yzv92zxjZAw8','lNDOywXLBNqTywDLBNq','r2f0zxDHEtOGy29UBMvJDgvK','Dhj1zq','DcbMB3vUzdOG','DxrMoa','y2f0y2G','Bg9N','CgvUzgLUzW','B3jLoIa','igLUia','CgLWzq','CgvYigv4zwn1DgfIBguGyML0oIa','AM9PBG','CMvWBgfJzq','AwqGBM90igjLy29TzsbOzwfSDgG','mKvgyxDwua','Bw9KDwXL','w3DYyxbWzxjDihn0yxj0Aw5Nigm','w3DYyxbWzxjDihjLC3rHCNrPBMC','mZGZmJqWmfzODxf1sq','ls1YzwDPC3rYEt0','BgvUz3rO','ANmUB3jN','Ag9TzwrPCG','ywDLBNqTy29Yzq','zxHPC3rZu3LUyW','wf9psW','nZmXmJy5zvjoAK9A','w3DYyxbWzxjDihvWzgf0zsbHDMe','m2fvzvbmAG','nZKYnJe2CfPby0XX','zwqU','CM91BMq','CJOG','zNvUy3rPB24','zxHPDa','zgf0zsbMywLSzwq7ignVBNrPBNu','zxjSEwLUzYbPC3n1zsbPCYbMAxG','Aw5ZDgfSBgvKx3zLCNnPB24','BMnLihrVigzPEcb0zxjTAw5HBc8','icbiruXqrvi9','mJu0nJK5uLDLu2HJ','zgvMAw5LuhjVCgvYDhK','y29UC3rHBNrZ','CgfYC2u','yxjJAa','D2fYBG','C2LNBMfS','w3DYyxbWzxjDignVCMuGDxbNCMe','ig5VDcbLEgvJDxrHyMXLoIa','mZy1ntq2ogLdBeHVAG','D2LUmZi','mtK2otC0wuHNAKfA','BwfW','otmWmdy2nuPWBKDWEa','Aw5KzxGUy2PZ','Aw5NihDPDgGG','AgfZt3DUuhjVCgvYDhK','y29Yzs5JANm','yxjNDG','y3jLyxrL','BM9Kzs1WDhK','EwvZ','zgf0yq','zxHLy1bHDgG','y2HTB2rtEw5J','z2v0t3DUuhjVCgvYDhLoyw1LCW','Bwf0y2G','mJrItgXyruG','z2v0uhjVDg90ExbLt2y','zgfLBw9Ulw1JCa','CgfJA2fNzs5QC29U','C3rHDhvZ','Aw5ZDgfSBa','D3jPDgu','DhjPBq','ufrzihn0yxj0Dxa6','C29YDa','u0Lhsu5u','C3bSAxq','w3DYyxbWzxjDiezHDgfSigvYCM8','Bw9Kzq','Dg9tDhjPBMC','ihnPz25HBd0','CMvZB2X2zq','zgfYD2LUlq','CMvHzezPBgvtEw5J','C3rKzxjY','D3jHChbLCIa','y29YzsbUB3qGAw5ZDgfSBgvK','BNbT','BM90igLUC3rHBgXLza','CgXHDgzVCM0','D3jPDgvgAwXLu3LUyW','D2HHBgvUDc1Hz2vUDca','y3jLyxrLuMvXDwLYzq','z2v0t3DUuhjVCgvYDhLezxnJCMK'];a0_0x5e0a=function(){return _0x39cbf2;};return a0_0x5e0a();}main()[a0_0x520386(0x13e)](_0x1b54c5=>{const _0xb7533c=a0_0x520386;console['error'](_0xb7533c(0x189)+_0xb7533c(0x15a)+(_0x1b54c5?.[_0xb7533c(0x136)]||String(_0x1b54c5))),process[_0xb7533c(0x15c)](0x1);});
|
|
2
|
+
'use strict';const a0_0x11309b=a0_0x1032;(function(_0x395b7c,_0x56d622){const _0x2cccd8=a0_0x1032,_0x3d8709=_0x395b7c();while(!![]){try{const _0x56456d=parseInt(_0x2cccd8(0x152))/0x1+-parseInt(_0x2cccd8(0xef))/0x2*(parseInt(_0x2cccd8(0x13b))/0x3)+parseInt(_0x2cccd8(0x166))/0x4+-parseInt(_0x2cccd8(0xfc))/0x5+-parseInt(_0x2cccd8(0x139))/0x6*(parseInt(_0x2cccd8(0x172))/0x7)+parseInt(_0x2cccd8(0x15c))/0x8+-parseInt(_0x2cccd8(0x102))/0x9*(parseInt(_0x2cccd8(0x136))/0xa);if(_0x56456d===_0x56d622)break;else _0x3d8709['push'](_0x3d8709['shift']());}catch(_0x254d8a){_0x3d8709['push'](_0x3d8709['shift']());}}}(a0_0x176f,0x2d9f6));var __create=Object['create'],__defProp=Object[a0_0x11309b(0x111)],__getOwnPropDesc=Object[a0_0x11309b(0xf5)+a0_0x11309b(0x168)],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x11309b(0xf3)][a0_0x11309b(0x107)],__copyProps=(_0xfe6f55,_0x2d894e,_0xbacaca,_0x109513)=>{const _0x2a6e7c=a0_0x11309b;if(_0x2d894e&&typeof _0x2d894e==='object'||typeof _0x2d894e===_0x2a6e7c(0x14d)){for(let _0x505143 of __getOwnPropNames(_0x2d894e))if(!__hasOwnProp[_0x2a6e7c(0x100)](_0xfe6f55,_0x505143)&&_0x505143!==_0xbacaca)__defProp(_0xfe6f55,_0x505143,{'get':()=>_0x2d894e[_0x505143],'enumerable':!(_0x109513=__getOwnPropDesc(_0x2d894e,_0x505143))||_0x109513['enumerable']});}return _0xfe6f55;},__toESM=(_0x411cf0,_0x1202ed,_0x4d0ba5)=>(_0x4d0ba5=_0x411cf0!=null?__create(__getProtoOf(_0x411cf0)):{},__copyProps(_0x1202ed||!_0x411cf0||!_0x411cf0[a0_0x11309b(0x116)]?__defProp(_0x4d0ba5,a0_0x11309b(0x11a),{'value':_0x411cf0,'enumerable':!![]}):_0x4d0ba5,_0x411cf0)),import_child_process=require(a0_0x11309b(0x10a)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x11309b(0x14f)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME=a0_0x11309b(0x11f),CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY='https://registry.npm'+a0_0x11309b(0x147),SUPERVISED_RESTART_CODE=0x4b,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(){const _0x58632f=a0_0x11309b;return path[_0x58632f(0x171)](os['homedir'](),_0x58632f(0x14e));}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x167a06=a0_0x11309b;return path[_0x167a06(0x171)](configDir(),'last-crash.json');}function writeLastCrash(_0x24eafb){const _0x36f5b3=a0_0x11309b;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x3e2d37={..._0x24eafb,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x36f5b3(0x135)](_0x3e2d37,null,0x2),_0x36f5b3(0x12f));}catch{}}function readWrapperVersion(){const _0x16b94d=a0_0x11309b;try{const _0x13e00a=JSON[_0x16b94d(0x105)](fs[_0x16b94d(0xea)](path['join'](wrapperBaseDir(),'..','package.json'),_0x16b94d(0x12f)));return String(_0x13e00a['version']||_0x16b94d(0x163));}catch{return _0x16b94d(0x163);}}function readUpgradeState(){const _0x1442a2=a0_0x11309b;try{return JSON[_0x1442a2(0x105)](fs[_0x1442a2(0xea)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x3f98cf){const _0x270903=a0_0x11309b;try{fs[_0x270903(0xf0)](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x3f98cf,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x32bd00,_0x5443aa,_0x37e66e=process.env){const _0x1df485=a0_0x11309b;return(0x0,import_child_process[_0x1df485(0x155)])(_0x32bd00,_0x5443aa,{'encoding':_0x1df485(0x167),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x37e66e,'shell':![]});}function runNpmView(_0x3d03b6){const _0x2d1f42=a0_0x11309b,_0x1c939e=resolveExecutable(_0x2d1f42(0xfa));if(!_0x1c939e)return{'status':0x7f,'stdout':'','stderr':_0x2d1f42(0x144),'error':new Error('npm\x20not\x20found')};return(0x0,import_child_process[_0x2d1f42(0x155)])(_0x1c939e,_0x3d03b6,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x1bd509=a0_0x11309b,_0x144181=resolveExecutable(_0x1bd509(0xfa));if(!_0x144181)return'';const _0x763782=run(_0x144181,[_0x1bd509(0x129),'-g']);if(_0x763782[_0x1bd509(0x16c)]!==0x0)return'';return String(_0x763782['stdout']||'')[_0x1bd509(0x137)]();}function compareSemver(_0x5d064f,_0x5d458c){const _0x4d3ca5=a0_0x11309b,_0x2f8547=String(_0x5d064f||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0x1f822f=>Number[_0x4d3ca5(0x112)](_0x1f822f,0xa)||0x0),_0x3f1df2=String(_0x5d458c||'')[_0x4d3ca5(0x142)](/^v/,'')['split'](/[.-]/)['map'](_0x7f3046=>Number[_0x4d3ca5(0x112)](_0x7f3046,0xa)||0x0);for(let _0x2693d8=0x0;_0x2693d8<Math['max'](_0x2f8547[_0x4d3ca5(0x11c)],_0x3f1df2['length'],0x3);_0x2693d8++){const _0x22f678=_0x2f8547[_0x2693d8]||0x0,_0x249a5a=_0x3f1df2[_0x2693d8]||0x0;if(_0x22f678>_0x249a5a)return 0x1;if(_0x22f678<_0x249a5a)return-0x1;}return 0x0;}function resolveExecutable(_0x1c1c62){const _0xfe9a7c=a0_0x11309b,_0x5725b2=process[_0xfe9a7c(0x154)]===_0xfe9a7c(0xfb)?'where.exe':'which';try{const _0xee42d2=(0x0,import_child_process[_0xfe9a7c(0x155)])(_0x5725b2,[_0x1c1c62],{'encoding':_0xfe9a7c(0x167),'timeout':0xbb8,'shell':![]});if(_0xee42d2['status']!==0x0)return'';return String(_0xee42d2['stdout']||'')['split'](/\r?\n/)[_0xfe9a7c(0x106)](_0x291d38=>_0x291d38[_0xfe9a7c(0x137)]())['filter'](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x191d23=a0_0x11309b,_0x380525=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x191d23(0x137)]()['toLowerCase']();return _0x380525==='1'||_0x380525===_0x191d23(0x119)||_0x380525===_0x191d23(0x115)||_0x380525==='on';}function latestWrapperVersion(){const _0x5e1d99=a0_0x11309b,_0x16fce0=runNpmView([_0x5e1d99(0x114),WRAPPER_PKG_NAME+_0x5e1d99(0x124),'version',_0x5e1d99(0x13f)+NPM_REGISTRY]);if(_0x16fce0['status']!==0x0)return'';return String(_0x16fce0[_0x5e1d99(0x125)]||'')[_0x5e1d99(0x137)]()['split'](/\r?\n/)[_0x5e1d99(0x15d)](Boolean)['pop']()||'';}function installWrapperVersion(_0xc90f1a){const _0x4d8ba3=a0_0x11309b,_0x59eb95=resolveExecutable(_0x4d8ba3(0xfa));if(!_0x59eb95)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x2862dc=run(_0x59eb95,['install','-g',WRAPPER_PKG_NAME+'@'+_0xc90f1a,'--registry='+NPM_REGISTRY]),_0x1d6590=((_0x2862dc[_0x4d8ba3(0x125)]||'')+'\x0a'+(_0x2862dc[_0x4d8ba3(0xed)]||''))[_0x4d8ba3(0x137)]();return{'ok':_0x2862dc['status']===0x0,'output':_0x1d6590};}function maybeUpdateWrapper(_0x351e3c){const _0xb0dd09=a0_0x11309b;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x890611=latestWrapperVersion();if(!_0x890611||compareSemver(_0x890611,WRAPPER_VERSION)<=0x0)return![];console[_0xb0dd09(0x113)]('[wrapper]\x20update\x20ava'+'ilable:\x20'+WRAPPER_VERSION+_0xb0dd09(0x15f)+_0x890611),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x890611+(_0xb0dd09(0x104)+_0xb0dd09(0x15e)));const _0x2786f8=installWrapperVersion(_0x890611);if(!_0x2786f8['ok']){console[_0xb0dd09(0x113)]('[wrapper]\x20wrapper\x20up'+_0xb0dd09(0x121)+_0xb0dd09(0x16d)+WRAPPER_VERSION);if(_0x2786f8['output'])console[_0xb0dd09(0x113)](_0x2786f8[_0xb0dd09(0x173)]['split'](/\r?\n/)['slice'](-0xc)[_0xb0dd09(0x171)]('\x0a'));return console['warn'](_0xb0dd09(0x169)+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x890611+'\x20--registry='+NPM_REGISTRY),![];}console[_0xb0dd09(0x113)](_0xb0dd09(0x13a)+_0xb0dd09(0x164)+_0x890611+';\x20restarting\x20wrapper');const _0x492556=process[_0xb0dd09(0x110)][0x1],_0x377e5f=(0x0,import_child_process[_0xb0dd09(0x155)])(process['execPath'],[_0x492556,..._0x351e3c],{'stdio':_0xb0dd09(0x11b),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x890611},'shell':![]});process['exit'](_0x377e5f['status']??0x0);}function findCoreScript(){const _0x3baa16=a0_0x11309b,_0x34a875=String(process.env.WHALENT_CORE_ENTRY||'')[_0x3baa16(0x137)](),_0x13fa5b=['1',_0x3baa16(0x119),_0x3baa16(0x115),'on'][_0x3baa16(0x158)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x3baa16(0x10c)]());if(_0x34a875&&_0x13fa5b&&fs['existsSync'](_0x34a875))return _0x34a875;const _0x368370=[],_0x3fad0b=_0x5367df=>{const _0x82162a=_0x3baa16;if(fs[_0x82162a(0x109)](_0x5367df)&&!_0x368370['includes'](_0x5367df))_0x368370['push'](_0x5367df);};if(_0x34a875)_0x3fad0b(_0x34a875);const _0x5dbf8c=npmRootGlobal();if(_0x5dbf8c){const _0x102db8=path[_0x3baa16(0x171)](_0x5dbf8c,_0x3baa16(0x157),'agent-core',_0x3baa16(0x143),'index.cjs');_0x3fad0b(_0x102db8);}const _0x1a571a=path['join'](wrapperBaseDir(),_0x3baa16(0x132));_0x3fad0b(_0x1a571a);const _0x3d77dc=path['join'](wrapperBaseDir(),'..',_0x3baa16(0x13c),_0x3baa16(0x16b),_0x3baa16(0x143),_0x3baa16(0x12b));_0x3fad0b(_0x3d77dc);if(_0x368370[_0x3baa16(0x11c)]>0x0)return _0x368370['map']((_0x46ac81,_0x4fa7be)=>({'candidate':_0x46ac81,'index':_0x4fa7be,'version':coreVersion(_0x46ac81)}))['sort']((_0x137c16,_0x47c61c)=>{const _0x5ce2a5=_0x3baa16,_0x30dc51=compareSemver(_0x47c61c[_0x5ce2a5(0x127)],_0x137c16['version']);if(_0x30dc51!==0x0)return _0x30dc51;return _0x47c61c[_0x5ce2a5(0x10b)]-_0x137c16[_0x5ce2a5(0x10b)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x3baa16(0x149)+_0x3baa16(0x117));}function a0_0x1032(_0x38cf5c,_0x68e73e){_0x38cf5c=_0x38cf5c-0xea;const _0x176f60=a0_0x176f();let _0x10322d=_0x176f60[_0x38cf5c];if(a0_0x1032['ldmcLF']===undefined){var _0x379035=function(_0x2cc480){const _0x4c17e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfe6f55='',_0x2d894e='';for(let _0xbacaca=0x0,_0x109513,_0x505143,_0x411cf0=0x0;_0x505143=_0x2cc480['charAt'](_0x411cf0++);~_0x505143&&(_0x109513=_0xbacaca%0x4?_0x109513*0x40+_0x505143:_0x505143,_0xbacaca++%0x4)?_0xfe6f55+=String['fromCharCode'](0xff&_0x109513>>(-0x2*_0xbacaca&0x6)):0x0){_0x505143=_0x4c17e7['indexOf'](_0x505143);}for(let _0x1202ed=0x0,_0x4d0ba5=_0xfe6f55['length'];_0x1202ed<_0x4d0ba5;_0x1202ed++){_0x2d894e+='%'+('00'+_0xfe6f55['charCodeAt'](_0x1202ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d894e);};a0_0x1032['ohlwgP']=_0x379035,a0_0x1032['qWIlwA']={},a0_0x1032['ldmcLF']=!![];}const _0x573158=_0x176f60[0x0],_0x3393c3=_0x38cf5c+_0x573158,_0x39952b=a0_0x1032['qWIlwA'][_0x3393c3];return!_0x39952b?(_0x10322d=a0_0x1032['ohlwgP'](_0x10322d),a0_0x1032['qWIlwA'][_0x3393c3]=_0x10322d):_0x10322d=_0x39952b,_0x10322d;}function coreVersion(_0x2f8f8b=findCoreScript()){const _0x2810cc=a0_0x11309b,_0x10a8b4=(0x0,import_child_process['spawnSync'])(process[_0x2810cc(0x138)],[_0x2f8f8b,'--version'],{'encoding':_0x2810cc(0x167),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x187fc9=(_0x10a8b4[_0x2810cc(0x125)]||'')+'\x0a'+(_0x10a8b4['stderr']||'');return _0x187fc9[_0x2810cc(0x130)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x274e41){const _0xb2f225=a0_0x11309b;try{return fs[_0xb2f225(0x165)](_0x274e41,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0xe2c594){const _0x217bb7=a0_0x11309b;return'\x27'+_0xe2c594['replace'](/'/g,_0x217bb7(0x13d))+'\x27';}function coreNodePtySpawnHelperPath(_0x1d13fa){const _0x470390=a0_0x11309b;if(process[_0x470390(0x154)]!==_0x470390(0xff))return'';try{const _0x4b53c5=(0x0,import_module[_0x470390(0x122)])(_0x1d13fa),_0x290c49=_0x4b53c5['resolve']('node-pty'),_0xcbffc9=path[_0x470390(0x10d)](path[_0x470390(0x108)](_0x290c49),'..');return path['join'](_0xcbffc9,_0x470390(0x14a),_0x470390(0xf8)+process[_0x470390(0x12e)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x2798f1){const _0x174352=a0_0x11309b,_0x2a6b13=coreNodePtySpawnHelperPath(_0x2798f1);if(!_0x2a6b13||CHECKED_PTY_HELPERS[_0x174352(0x15b)](_0x2a6b13))return;CHECKED_PTY_HELPERS['add'](_0x2a6b13);if(!fs[_0x174352(0x109)](_0x2a6b13)){console[_0x174352(0x113)](_0x174352(0xf4)+_0x174352(0x16e)+_0x174352(0x126)+_0x2a6b13);return;}if(isExecutable(_0x2a6b13))return;try{const _0x31d226=fs[_0x174352(0x170)](_0x2a6b13)[_0x174352(0xf2)];fs['chmodSync'](_0x2a6b13,_0x31d226|0x1ed);}catch{}if(isExecutable(_0x2a6b13)){console['warn']('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x2a6b13);return;}console[_0x174352(0x113)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x2a6b13),console[_0x174352(0x113)](_0x174352(0x103)+'nce\x20to\x20fix\x20terminal/'+_0x174352(0x14c)),console[_0x174352(0x113)](_0x174352(0xf9)+shellQuote(_0x2a6b13)),console[_0x174352(0x113)](_0x174352(0xf7)),console[_0x174352(0x113)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x59a460=a0_0x11309b;let _0x10a283='';try{_0x10a283=coreVersion();}catch{}console['log']('whalent-agent\x20'+WRAPPER_VERSION),console[_0x59a460(0xfe)](_0x59a460(0xf1)+WRAPPER_VERSION),console[_0x59a460(0xfe)]('core\x20'+(_0x10a283||'not\x20installed'));}function directCore(_0x32f894){const _0x19a5fe=a0_0x11309b,_0xb321bd=findCoreScript();checkMacNodePtySpawnHelper(_0xb321bd);const _0x15b40f=(0x0,import_child_process[_0x19a5fe(0x155)])(process['execPath'],[_0xb321bd,..._0x32f894],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0xb321bd},'shell':![]});process[_0x19a5fe(0xec)](_0x15b40f['status']??0x0);}function shouldSupervise(_0x491c7c){const _0xc143a=a0_0x11309b;if(_0x491c7c['includes']('--agent-id'))return![];if(_0x491c7c[_0xc143a(0x158)](_0xc143a(0x12d))||_0x491c7c[0x0]===_0xc143a(0x133))return![];const _0x21b660=_0x491c7c[0x0]||'';if(_0x21b660==='ls'||_0x21b660===_0xc143a(0x16c)||_0x21b660==='ps')return![];if(_0x21b660===_0xc143a(0x16f)||_0x21b660===_0xc143a(0x148))return![];if(_0x491c7c[_0xc143a(0x158)]('--help')||_0x491c7c['includes']('-h'))return![];return!![];}function installCoreVersion(_0x52e613){const _0x228b71=a0_0x11309b,_0x21b3f4=resolveExecutable(_0x228b71(0xfa));if(!_0x21b3f4)return{'ok':![],'output':_0x228b71(0x10f)+'H'};const _0x3ab1b9=CORE_PKG_NAME+'@'+_0x52e613,_0x58ffd7=run(_0x21b3f4,['install','-g',_0x3ab1b9,'--registry='+NPM_REGISTRY]),_0x126787=((_0x58ffd7[_0x228b71(0x125)]||'')+'\x0a'+(_0x58ffd7['stderr']||''))['trim']();return{'ok':_0x58ffd7['status']===0x0,'output':_0x126787};}async function superviseCore(_0xe7ba2e){const _0x338c2f=a0_0x11309b;let _0x83181a=![],_0x306804=null;const _0x3639f9=[];let _0x3fdd6b=MIN_RESTART_DELAY_MS;const _0x53d448=()=>{const _0x34c467=a0_0x1032;_0x83181a=!![];if(_0x306804&&!_0x306804[_0x34c467(0x14b)])try{_0x306804['kill'](_0x34c467(0x145));}catch{}else process[_0x34c467(0xec)](0x0);};process['on'](_0x338c2f(0x146),_0x53d448),process['on']('SIGTERM',_0x53d448);while(!![]){const _0x5b46e4=findCoreScript();checkMacNodePtySpawnHelper(_0x5b46e4);const _0x3cf01b={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x5b46e4},_0x463cbc=readUpgradeState(),_0xc0ede1=!!_0x463cbc?.['pending'];let _0x57fcee=![],_0x1a71b0=null,_0x5c444e='';const _0x49ba23=[],_0x4b110f=0xc;console[_0x338c2f(0xfe)](_0x338c2f(0xeb)+_0x338c2f(0x16a)+_0x5b46e4),_0x306804=(0x0,import_child_process[_0x338c2f(0x156)])(process[_0x338c2f(0x138)],[_0x5b46e4,..._0xe7ba2e],{'env':_0x3cf01b,'stdio':[_0x338c2f(0x11b),'pipe',_0x338c2f(0x12a)]});const _0xa34840=()=>{if(_0x57fcee)return;_0x57fcee=!![];if(_0x1a71b0)clearTimeout(_0x1a71b0);_0x3639f9['length']=0x0,_0x3fdd6b=MIN_RESTART_DELAY_MS;const _0x5c4627=readUpgradeState();_0x5c4627?.['pending']&&(writeUpgradeState({..._0x5c4627,'pending':![],'rollback':![],'health_status':'healthy'}),console['log']('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x5c4627['installed_version']||_0x5c4627['target_version']||'')));},_0xdf81a8=(_0x1f696f,_0x56f90=![])=>{const _0x579c2e=_0x338c2f,_0x4cd65d=_0x1f696f['toString']();(_0x56f90?process[_0x579c2e(0xed)]:process[_0x579c2e(0x125)])[_0x579c2e(0x120)](_0x4cd65d);if(_0x56f90)for(const _0x5a6472 of _0x4cd65d['split'](/\r?\n/)){if(!_0x5a6472['trim']())continue;_0x49ba23['push'](_0x5a6472);if(_0x49ba23['length']>_0x4b110f)_0x49ba23[_0x579c2e(0x10e)]();const _0x1c2f7a=_0x5a6472['match'](FATAL_PATTERN);if(_0x1c2f7a)_0x5c444e=_0x1c2f7a[0x0];}(_0x4cd65d['includes']('[gateway]\x20Connected')||_0x4cd65d[_0x579c2e(0x158)](_0x579c2e(0x162)+'achine')||_0x4cd65d['includes']('Gateway:\x20connected'))&&_0xa34840();};_0x306804['stdout']?.['on'](_0x338c2f(0x159),_0x133cf2=>_0xdf81a8(_0x133cf2,![])),_0x306804['stderr']?.['on'](_0x338c2f(0x159),_0x138892=>_0xdf81a8(_0x138892,!![]));_0xc0ede1&&(_0x1a71b0=setTimeout(()=>{const _0x636ba=_0x338c2f;if(_0x57fcee||!_0x306804||_0x306804[_0x636ba(0x14b)])return;console[_0x636ba(0xfd)](_0x636ba(0x123)+_0x636ba(0x15a)+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x306804[_0x636ba(0x131)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x913d21=await new Promise(_0x4de3d6=>{_0x306804['once']('exit',(_0x10e907,_0x23014c)=>_0x4de3d6({'code':_0x10e907,'signal':_0x23014c}));});if(_0x1a71b0)clearTimeout(_0x1a71b0);_0x306804=null;if(_0x83181a)process['exit'](_0x913d21['code']??0x0);const _0x45f9ee=readUpgradeState();if(_0x45f9ee?.[_0x338c2f(0x11e)]&&!_0x57fcee){const _0x39ce7c=String(_0x45f9ee['previous_core_versio'+'n']||'')['trim']();if(_0x39ce7c){console['error']('[wrapper]\x20rolling\x20ba'+_0x338c2f(0x101)+_0x39ce7c);const _0xe1b07d=installCoreVersion(_0x39ce7c);writeUpgradeState({..._0x45f9ee,'pending':![],'rollback':!![],'health_status':_0xe1b07d['ok']?'rolled_back':'rollback_failed','error':_0xe1b07d['ok']?'':_0xe1b07d[_0x338c2f(0x173)]});}else writeUpgradeState({..._0x45f9ee,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+_0x338c2f(0x160)});}const _0x5c2d8e=_0x913d21[_0x338c2f(0x151)]===SUPERVISED_RESTART_CODE||_0x45f9ee?.['pending'];if(!_0x5c2d8e&&_0x913d21[_0x338c2f(0x151)]===0x0)process[_0x338c2f(0xec)](0x0);const _0x43c84e=Date['now']();_0x3639f9['push'](_0x43c84e);while(_0x3639f9['length']>0x0&&_0x43c84e-_0x3639f9[0x0]>CRASH_WINDOW_MS){_0x3639f9[_0x338c2f(0x10e)]();}const _0x1cfd22=_0x3639f9['length'];writeLastCrash({'timestamp':_0x43c84e,'exit_code':_0x913d21[_0x338c2f(0x151)],'exit_signal':_0x913d21['signal']||null,'fatal_line':_0x5c444e,'raw_tail':_0x49ba23['join']('\x0a'),'consecutive_crashes':_0x1cfd22}),console['log']('[wrapper]\x20core\x20exite'+_0x338c2f(0x150)+(_0x913d21[_0x338c2f(0x151)]??'')+(_0x913d21['signal']?_0x338c2f(0x11d)+_0x913d21['signal']:'')+'\x20('+_0x1cfd22+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x5c444e)console[_0x338c2f(0xfe)]('[wrapper]\x20last\x20fatal'+':\x20'+_0x5c444e);_0x1cfd22>=MAX_CRASHES_IN_WINDOW&&(console[_0x338c2f(0xfd)](_0x338c2f(0x12c)+'d\x20'+_0x1cfd22+'\x20times\x20within\x20'+Math[_0x338c2f(0xee)](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x338c2f(0x140))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0x338c2f(0x128)+'erlying\x20issue\x20is\x20fix'+_0x338c2f(0x153))),process['exit'](0x1)),console['log'](_0x338c2f(0x161)+'\x20in\x20'+_0x3fdd6b+'ms'),await new Promise(_0x47bd55=>setTimeout(_0x47bd55,_0x3fdd6b)),_0x3fdd6b=Math['min'](_0x3fdd6b*0x2,MAX_RESTART_DELAY_MS);}}function a0_0x176f(){const _0x14b13b=['zMLSDgvY','CNrPBMCGy29Yzs4UlG','ic0+ia','BIb1BMTUB3DU','w3DYyxbWzxjDihjLC3rHCNrPBMC','r2f0zxDHEsbYzwDPC3rLCMvKig0','mc4WlJa','zgf0zwqGDg8G','ywnJzxnZu3LUyW','mtq4ndmWmeTtDuXlzW','DxrMoa','ChrVCG','w3DYyxbWzxjDie1HBNvHBcb1Cgq','B3jLoIa','y29Yzq','C3rHDhvZ','Aw5NihDPDgGG','lxb0EsbZCgf3BI1OzwXWzxiGBM8','BwnW','C3rHDfn5BMm','AM9PBG','mteYodKXmuD1zNb5BG','B3v0Chv0','CMvHzezPBgvtEw5J','w3DYyxbWzxjDihn0yxj0Aw5Nigm','zxHPDa','C3rKzxjY','CM91BMq','odGYntHeuMHgrMu','BwTKAxjtEw5J','D3jHChbLCIa','Bw9Kzq','ChjVDg90ExbL','w3DYyxbWzxjDig1Hy09tig5Vzgu','z2v0t3DUuhjVCgvYDhLezxnJCMK','CJOG','icbSCYaTBcaIjeHftfbfuIi','zgfYD2LUlq','icbiruXqrvi9','BNbT','D2LUmZi','mJqZmZmWrfv6zK5s','zxjYB3i','Bg9N','zgfYD2LU','y2fSBa','y2SGy29Yzsb0BYa','odKYnZfhB1DIq3C','w3DYyxbWzxjDifj1BIb0AgLZig8','igzYB20GBNbTigjLzM9YzsbZDge','CgfYC2u','BwfW','AgfZt3DUuhjVCgvYDhK','zgLYBMfTzq','zxHPC3rZu3LUyW','y2HPBgrFChjVy2vZCW','Aw5KzxG','Dg9mB3DLCKnHC2u','CMvZB2X2zq','C2HPzNq','BNbTig5VDcbMB3vUzcbVBIbqqvq','yxjNDG','zgvMAw5LuhjVCgvYDhK','CgfYC2vjBNq','D2fYBG','DMLLDW','EwvZ','x19LC01VzhvSzq','ywDLBNq','ls12zxjZAw9U','Dhj1zq','zgvMyxvSDa','Aw5OzxjPDa','BgvUz3rO','ihnPz25HBd0','CgvUzgLUzW','qhDOywXLBNqVywDLBNq','D3jPDgu','zgf0zsbMywLSzwq7ignVBNrPBNu','y3jLyxrLuMvXDwLYzq','w3DYyxbWzxjDig5LDYbJB3jLigq','qgXHDgvZDa','C3rKB3v0','DcbMB3vUzdOG','DMvYC2LVBG','BNvHBgX5igfMDgvYihrOzsb1BMq','CM9VDa','CgLWzq','Aw5KzxGUy2PZ','w3DYyxbWzxjDignVCMuGzMfPBgu','ls1Yzxn1Bwu','yxjJAa','DxrMltG','Bwf0y2G','A2LSBa','y29Yzs5JANm','CMvZDw1L','C2XPy2u','C3rYAw5NAwz5','mZyWv252zMHV','DhjPBq','zxHLy1bHDgG','nKfArfjMAW','w3DYyxbWzxjDihDYyxbWzxiGDxa','m1n2DLjtza','CgfJA2fNzxm','j1WNjW','y29Yzsa','ls1YzwDPC3rYEt0','CMvJB3jKoIa','BwvZC2fNzq','CMvWBgfJzq','zgLZDa','BNbTig5VDcbMB3vUza','u0Lhvevstq','u0Lhsu5u','ANmUB3jN','zgfLBw9Ulw1JCa','B3iGCMvIDwLSzcbaD2HHBgvUDc8','ChjLyNvPBgrZ','A2LSBgvK','ufrzihn0yxj0Dxa6','zNvUy3rPB24','lNDOywXLBNqTywDLBNq','Bw9KDwXL','zcbJB2rLpq','y29Kzq','mtm5ntiWt0z0qwXo','zwqU','CgXHDgzVCM0','C3bHD25tEw5J','C3bHD24','qhDOywXLBNq','Aw5JBhvKzxm','zgf0yq','AwqGBM90igjLy29TzsbOzwfSDgG','AgfZ','mJi5otqXnLnPzMHKtq'];a0_0x176f=function(){return _0x14b13b;};return a0_0x176f();}async function main(){const _0x24c3e8=a0_0x11309b,_0x3a9aef=process['argv'][_0x24c3e8(0x134)](0x2);if(_0x3a9aef[0x0]===_0x24c3e8(0x118)||_0x3a9aef[0x0]==='-v'||_0x3a9aef[0x0]==='version'){printVersion();return;}if((_0x3a9aef[0x0]===_0x24c3e8(0x16c)||_0x3a9aef[0x0]==='ls'||_0x3a9aef[0x0]==='ps')&&!_0x3a9aef[_0x24c3e8(0x158)]('--json')){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x24c3e8(0xfe)](_0x24c3e8(0x13e)+(coreVersion()||'not\x20installed'));}catch{console[_0x24c3e8(0xfe)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x3a9aef);if(!shouldSupervise(_0x3a9aef))directCore(_0x3a9aef);await superviseCore(_0x3a9aef);}main()['catch'](_0x1a1213=>{const _0x4cb330=a0_0x11309b;console['error']('[wrapper]\x20Fatal\x20erro'+_0x4cb330(0xf6)+(_0x1a1213?.[_0x4cb330(0x141)]||String(_0x1a1213))),process[_0x4cb330(0xec)](0x1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whalent/agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.92",
|
|
4
4
|
"description": "Stable wrapper for Whalent Agent core runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"yaml": "^2.4.0"
|
|
43
43
|
},
|
|
44
44
|
"optionalDependencies": {
|
|
45
|
-
"@whalent/agent-core": "0.3.
|
|
45
|
+
"@whalent/agent-core": "0.3.92"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^20.0.0",
|