@whalent/agent 0.3.67 → 0.3.69
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 +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const a0_0x1ac476=a0_0x1ac7;(function(_0x13bbab,_0xd45cd6){const _0x414976=a0_0x1ac7,_0x2864e3=_0x13bbab();while(!![]){try{const _0x1888a5=-parseInt(_0x414976(0x140))/0x1*(-parseInt(_0x414976(0x13d))/0x2)+parseInt(_0x414976(0x141))/0x3*(parseInt(_0x414976(0x13e))/0x4)+-parseInt(_0x414976(0x139))/0x5*(parseInt(_0x414976(0xee))/0x6)+parseInt(_0x414976(0x11f))/0x7+-parseInt(_0x414976(0x10b))/0x8+parseInt(_0x414976(0x101))/0x9+-parseInt(_0x414976(0xea))/0xa;if(_0x1888a5===_0xd45cd6)break;else _0x2864e3['push'](_0x2864e3['shift']());}catch(_0x47ee57){_0x2864e3['push'](_0x2864e3['shift']());}}}(a0_0x121e,0xeb12f));function a0_0x1ac7(_0x34aa9b,_0x25cce8){_0x34aa9b=_0x34aa9b-0xbb;const _0x121eae=a0_0x121e();let _0x1ac75b=_0x121eae[_0x34aa9b];if(a0_0x1ac7['yeXhfO']===undefined){var _0x21d2ed=function(_0x5bff6e){const _0x5102fa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b8eaa='',_0x109612='';for(let _0x2ee763=0x0,_0x1d5ed5,_0x5d912d,_0x1c55c5=0x0;_0x5d912d=_0x5bff6e['charAt'](_0x1c55c5++);~_0x5d912d&&(_0x1d5ed5=_0x2ee763%0x4?_0x1d5ed5*0x40+_0x5d912d:_0x5d912d,_0x2ee763++%0x4)?_0x4b8eaa+=String['fromCharCode'](0xff&_0x1d5ed5>>(-0x2*_0x2ee763&0x6)):0x0){_0x5d912d=_0x5102fa['indexOf'](_0x5d912d);}for(let _0x123067=0x0,_0x4b9ceb=_0x4b8eaa['length'];_0x123067<_0x4b9ceb;_0x123067++){_0x109612+='%'+('00'+_0x4b8eaa['charCodeAt'](_0x123067)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x109612);};a0_0x1ac7['wHJQMx']=_0x21d2ed,a0_0x1ac7['zteFWm']={},a0_0x1ac7['yeXhfO']=!![];}const _0x61488f=_0x121eae[0x0],_0x2e4ec2=_0x34aa9b+_0x61488f,_0xe4f35d=a0_0x1ac7['zteFWm'][_0x2e4ec2];return!_0xe4f35d?(_0x1ac75b=a0_0x1ac7['wHJQMx'](_0x1ac75b),a0_0x1ac7['zteFWm'][_0x2e4ec2]=_0x1ac75b):_0x1ac75b=_0xe4f35d,_0x1ac75b;}var __create=Object[a0_0x1ac476(0xd4)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x1ac476(0x110)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x1ac476(0xfc)],__hasOwnProp=Object['prototype']['hasOwnProperty'],__copyProps=(_0x4b8eaa,_0x109612,_0x2ee763,_0x1d5ed5)=>{const _0x1578fd=a0_0x1ac476;if(_0x109612&&typeof _0x109612===_0x1578fd(0xe9)||typeof _0x109612==='function'){for(let _0x5d912d of __getOwnPropNames(_0x109612))if(!__hasOwnProp['call'](_0x4b8eaa,_0x5d912d)&&_0x5d912d!==_0x2ee763)__defProp(_0x4b8eaa,_0x5d912d,{'get':()=>_0x109612[_0x5d912d],'enumerable':!(_0x1d5ed5=__getOwnPropDesc(_0x109612,_0x5d912d))||_0x1d5ed5['enumerable']});}return _0x4b8eaa;},__toESM=(_0x1c55c5,_0x123067,_0x4b9ceb)=>(_0x4b9ceb=_0x1c55c5!=null?__create(__getProtoOf(_0x1c55c5)):{},__copyProps(_0x123067||!_0x1c55c5||!_0x1c55c5['__esModule']?__defProp(_0x4b9ceb,a0_0x1ac476(0xfd),{'value':_0x1c55c5,'enumerable':!![]}):_0x4b9ceb,_0x1c55c5)),import_child_process=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x1ac476(0xc7)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME=a0_0x1ac476(0x13c),CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY=a0_0x1ac476(0x12d)+a0_0x1ac476(0xe6),SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CONSECUTIVE_CRASHES=0x3,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 _0x50a00e=a0_0x1ac476;return path['join'](os[_0x50a00e(0x103)](),_0x50a00e(0x143));}function upgradeStatePath(){const _0x147df5=a0_0x1ac476;return path['join'](configDir(),_0x147df5(0xcf));}function lastCrashFilePath(){const _0x456b1c=a0_0x1ac476;return path[_0x456b1c(0x118)](configDir(),_0x456b1c(0xbd));}function writeLastCrash(_0x4a09c9){const _0x19b534=a0_0x1ac476;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x17eb4f={..._0x4a09c9,'reported':![]};fs[_0x19b534(0x112)](lastCrashFilePath(),JSON[_0x19b534(0x115)](_0x17eb4f,null,0x2),_0x19b534(0xda));}catch{}}function readWrapperVersion(){const _0x5c3aaa=a0_0x1ac476;try{const _0x5eb585=JSON['parse'](fs['readFileSync'](path[_0x5c3aaa(0x118)](wrapperBaseDir(),'..',_0x5c3aaa(0x11a)),_0x5c3aaa(0xda)));return String(_0x5eb585['version']||'0.0.0');}catch{return _0x5c3aaa(0xd6);}}function readUpgradeState(){const _0x4de372=a0_0x1ac476;try{return JSON[_0x4de372(0xf4)](fs[_0x4de372(0xce)](upgradeStatePath(),_0x4de372(0xda)));}catch{return null;}}function writeUpgradeState(_0x6247a9){const _0xc641b8=a0_0x1ac476;try{fs[_0xc641b8(0x128)](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x6247a9,'updated_at':Date['now']()},null,0x2),_0xc641b8(0xda));}catch{}}function run(_0x3f4c68,_0x279a87,_0x5f3724=process.env){const _0x47a4c7=a0_0x1ac476;return(0x0,import_child_process[_0x47a4c7(0x130)])(_0x3f4c68,_0x279a87,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x5f3724,'shell':![]});}function runNpmView(_0x5e5f96){const _0x37033b=a0_0x1ac476,_0x3c3359=resolveExecutable('npm');if(!_0x3c3359)return{'status':0x7f,'stdout':'','stderr':_0x37033b(0x148),'error':new Error(_0x37033b(0x148))};return(0x0,import_child_process[_0x37033b(0x130)])(_0x3c3359,_0x5e5f96,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xaee549=a0_0x1ac476,_0x479246=resolveExecutable(_0xaee549(0x116));if(!_0x479246)return'';const _0x420e6e=run(_0x479246,['root','-g']);if(_0x420e6e[_0xaee549(0x10f)]!==0x0)return'';return String(_0x420e6e[_0xaee549(0x12b)]||'')['trim']();}function compareSemver(_0x277047,_0x44494d){const _0x4a3f25=a0_0x1ac476,_0x3f3a47=String(_0x277047||'')[_0x4a3f25(0xf9)](/^v/,'')[_0x4a3f25(0xf5)](/[.-]/)[_0x4a3f25(0x138)](_0x4544d6=>Number['parseInt'](_0x4544d6,0xa)||0x0),_0x30695e=String(_0x44494d||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x4a3f25(0x138)](_0x4ff3e8=>Number['parseInt'](_0x4ff3e8,0xa)||0x0);for(let _0xd67aa7=0x0;_0xd67aa7<Math[_0x4a3f25(0x109)](_0x3f3a47[_0x4a3f25(0xd9)],_0x30695e[_0x4a3f25(0xd9)],0x3);_0xd67aa7++){const _0x202fe7=_0x3f3a47[_0xd67aa7]||0x0,_0x472ce6=_0x30695e[_0xd67aa7]||0x0;if(_0x202fe7>_0x472ce6)return 0x1;if(_0x202fe7<_0x472ce6)return-0x1;}return 0x0;}function resolveExecutable(_0x13c300){const _0x231843=a0_0x1ac476,_0x131f3c=process[_0x231843(0xf7)]===_0x231843(0x121)?_0x231843(0xcd):_0x231843(0x106);try{const _0x4b943f=(0x0,import_child_process['spawnSync'])(_0x131f3c,[_0x13c300],{'encoding':_0x231843(0xff),'timeout':0xbb8,'shell':![]});if(_0x4b943f[_0x231843(0x10f)]!==0x0)return'';return String(_0x4b943f[_0x231843(0x12b)]||'')['split'](/\r?\n/)[_0x231843(0x138)](_0x4cb583=>_0x4cb583['trim']())[_0x231843(0xc5)](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x2faaec=a0_0x1ac476,_0x213654=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x2faaec(0xf0)]()['toLowerCase']();return _0x213654==='1'||_0x213654===_0x2faaec(0xfe)||_0x213654==='yes'||_0x213654==='on';}function latestWrapperVersion(){const _0x50f3dd=a0_0x1ac476,_0x1cbd80=runNpmView(['view',WRAPPER_PKG_NAME+_0x50f3dd(0x10e),_0x50f3dd(0x11e),'--registry='+NPM_REGISTRY]);if(_0x1cbd80['status']!==0x0)return'';return String(_0x1cbd80[_0x50f3dd(0x12b)]||'')['trim']()[_0x50f3dd(0xf5)](/\r?\n/)[_0x50f3dd(0xc5)](Boolean)['pop']()||'';}function installWrapperVersion(_0x4baa02){const _0x4c59c8=a0_0x1ac476,_0x57bbc8=resolveExecutable('npm');if(!_0x57bbc8)return{'ok':![],'output':_0x4c59c8(0xe0)+'H'};const _0x33ade7=run(_0x57bbc8,[_0x4c59c8(0x13a),'-g',WRAPPER_PKG_NAME+'@'+_0x4baa02,'--registry='+NPM_REGISTRY]),_0x573e3c=((_0x33ade7[_0x4c59c8(0x12b)]||'')+'\x0a'+(_0x33ade7[_0x4c59c8(0x102)]||''))['trim']();return{'ok':_0x33ade7['status']===0x0,'output':_0x573e3c};}function maybeUpdateWrapper(_0xeb94f3){const _0x47f109=a0_0x1ac476;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x11e706=latestWrapperVersion();if(!_0x11e706||compareSemver(_0x11e706,WRAPPER_VERSION)<=0x0)return![];console[_0x47f109(0xe7)]('[wrapper]\x20update\x20ava'+'ilable:\x20'+WRAPPER_VERSION+_0x47f109(0x119)+_0x11e706),console[_0x47f109(0xe7)](_0x47f109(0x117)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x11e706+(_0x47f109(0x129)+'rting\x20core...'));const _0x4f6a50=installWrapperVersion(_0x11e706);if(!_0x4f6a50['ok']){console[_0x47f109(0xe7)](_0x47f109(0xc0)+_0x47f109(0xbc)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x4f6a50['output'])console[_0x47f109(0xe7)](_0x4f6a50[_0x47f109(0x126)]['split'](/\r?\n/)['slice'](-0xc)[_0x47f109(0x118)]('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+_0x47f109(0xfb)+WRAPPER_PKG_NAME+'@'+_0x11e706+_0x47f109(0x11d)+NPM_REGISTRY),![];}console['warn']('[wrapper]\x20wrapper\x20up'+_0x47f109(0x120)+_0x11e706+_0x47f109(0xca));const _0x43766d=process[_0x47f109(0xf3)][0x1],_0x5ccd9c=(0x0,import_child_process[_0x47f109(0x130)])(process[_0x47f109(0xec)],[_0x43766d,..._0xeb94f3],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x11e706},'shell':![]});process['exit'](_0x5ccd9c[_0x47f109(0x10f)]??0x0);}function findCoreScript(){const _0x1acbcd=a0_0x1ac476,_0x2f52bf=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x53fddf=['1','true',_0x1acbcd(0xc3),'on'][_0x1acbcd(0xbb)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x2f52bf&&_0x53fddf&&fs[_0x1acbcd(0x13f)](_0x2f52bf))return _0x2f52bf;const _0x4a85ba=[],_0x5a242c=_0x285c9d=>{const _0x5ac432=_0x1acbcd;if(fs['existsSync'](_0x285c9d)&&!_0x4a85ba['includes'](_0x285c9d))_0x4a85ba[_0x5ac432(0x133)](_0x285c9d);};if(_0x2f52bf)_0x5a242c(_0x2f52bf);const _0x5dae88=npmRootGlobal();if(_0x5dae88){const _0x4581ca=path['join'](_0x5dae88,_0x1acbcd(0xfa),_0x1acbcd(0x107),_0x1acbcd(0xf1),_0x1acbcd(0xbf));_0x5a242c(_0x4581ca);}const _0xc3f9d8=path[_0x1acbcd(0x118)](wrapperBaseDir(),_0x1acbcd(0xeb));_0x5a242c(_0xc3f9d8);const _0x375b06=path['join'](wrapperBaseDir(),'..',_0x1acbcd(0xe5),_0x1acbcd(0x11b),_0x1acbcd(0xf1),_0x1acbcd(0xbf));_0x5a242c(_0x375b06);if(_0x4a85ba['length']>0x0)return _0x4a85ba[_0x1acbcd(0x138)]((_0x34f40f,_0x1500b5)=>({'candidate':_0x34f40f,'index':_0x1500b5,'version':coreVersion(_0x34f40f)}))[_0x1acbcd(0x12e)]((_0x36ccfe,_0x142ecc)=>{const _0x4cffde=_0x1acbcd,_0x2763d4=compareSemver(_0x142ecc[_0x4cffde(0x11e)],_0x36ccfe['version']);if(_0x2763d4!==0x0)return _0x2763d4;return _0x142ecc[_0x4cffde(0xf8)]-_0x36ccfe[_0x4cffde(0xf8)];})[0x0][_0x1acbcd(0x149)];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+'agent');}function coreVersion(_0x2735ee=findCoreScript()){const _0x24c9de=a0_0x1ac476,_0x37302c=(0x0,import_child_process[_0x24c9de(0x130)])(process['execPath'],[_0x2735ee,_0x24c9de(0xe8)],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x33f883=(_0x37302c['stdout']||'')+'\x0a'+(_0x37302c['stderr']||'');return _0x33f883['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x50aca6){const _0x383fe7=a0_0x1ac476;try{return fs['accessSync'](_0x50aca6,fs[_0x383fe7(0xd3)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x35da3e){const _0x21ee7e=a0_0x1ac476;return'\x27'+_0x35da3e[_0x21ee7e(0xf9)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x4abc0e){const _0xfb47c3=a0_0x1ac476;if(process['platform']!==_0xfb47c3(0xbe))return'';try{const _0x514804=(0x0,import_module[_0xfb47c3(0xdf)])(_0x4abc0e),_0x308b5e=_0x514804['resolve'](_0xfb47c3(0xf2)),_0x475ba5=path[_0xfb47c3(0x11c)](path[_0xfb47c3(0xc8)](_0x308b5e),'..');return path[_0xfb47c3(0x118)](_0x475ba5,'prebuilds','darwin-'+process[_0xfb47c3(0x124)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x104c81){const _0x4866a4=a0_0x1ac476,_0x55d504=coreNodePtySpawnHelperPath(_0x104c81);if(!_0x55d504||CHECKED_PTY_HELPERS['has'](_0x55d504))return;CHECKED_PTY_HELPERS['add'](_0x55d504);if(!fs[_0x4866a4(0x13f)](_0x55d504)){console[_0x4866a4(0xe7)](_0x4866a4(0xd2)+'-pty\x20spawn-helper\x20no'+_0x4866a4(0xd5)+_0x55d504);return;}if(isExecutable(_0x55d504))return;try{const _0x2617d9=fs[_0x4866a4(0x12f)](_0x55d504)['mode'];fs[_0x4866a4(0x111)](_0x55d504,_0x2617d9|0x1ed);}catch{}if(isExecutable(_0x55d504)){console['warn']('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+_0x4866a4(0xd1)+_0x55d504);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x4866a4(0xd8)+'\x20not\x20executable:\x20'+_0x55d504),console['warn'](_0x4866a4(0xc4)+_0x4866a4(0x144)+_0x4866a4(0xdc)),console[_0x4866a4(0xe7)](_0x4866a4(0x12a)+shellQuote(_0x55d504)),console['warn'](_0x4866a4(0x135)),console[_0x4866a4(0xe7)](_0x4866a4(0x131));}function printVersion(){const _0x1f6ebf=a0_0x1ac476;let _0x1cacb4='';try{_0x1cacb4=coreVersion();}catch{}console['log'](_0x1f6ebf(0x137)+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console['log']('core\x20'+(_0x1cacb4||'not\x20installed'));}function directCore(_0x3531b1){const _0x35b22a=a0_0x1ac476,_0x493b02=findCoreScript();checkMacNodePtySpawnHelper(_0x493b02);const _0x48254e=(0x0,import_child_process[_0x35b22a(0x130)])(process[_0x35b22a(0xec)],[_0x493b02,..._0x3531b1],{'stdio':_0x35b22a(0xef),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x493b02},'shell':![]});process['exit'](_0x48254e[_0x35b22a(0x10f)]??0x0);}function shouldSupervise(_0x335dc4){const _0x3923f7=a0_0x1ac476;if(_0x335dc4[_0x3923f7(0xbb)]('--agent-id'))return![];const _0x483d42=_0x335dc4[0x0]||'';if(_0x483d42==='ls'||_0x483d42===_0x3923f7(0x10f)||_0x483d42==='ps')return![];if(_0x483d42==='mcp'||_0x483d42==='daemon-mcp')return![];if(_0x335dc4['includes'](_0x3923f7(0x12c))||_0x335dc4['includes']('-h'))return![];return!![];}function installCoreVersion(_0x2644e0){const _0x36ddc6=a0_0x1ac476,_0x18e7f2=resolveExecutable(_0x36ddc6(0x116));if(!_0x18e7f2)return{'ok':![],'output':_0x36ddc6(0xe0)+'H'};const _0x427f5e=CORE_PKG_NAME+'@'+_0x2644e0,_0x5c2cfd=run(_0x18e7f2,[_0x36ddc6(0x13a),'-g',_0x427f5e,'--registry='+NPM_REGISTRY]),_0x368f9f=((_0x5c2cfd['stdout']||'')+'\x0a'+(_0x5c2cfd[_0x36ddc6(0x102)]||''))['trim']();return{'ok':_0x5c2cfd[_0x36ddc6(0x10f)]===0x0,'output':_0x368f9f};}async function superviseCore(_0x11df28){const _0x21e32a=a0_0x1ac476;let _0x2f3fb0=![],_0x203031=null,_0x30c73c=0x0,_0x22e6d9=MIN_RESTART_DELAY_MS;const _0x2c915f=()=>{const _0x396b90=a0_0x1ac7;_0x2f3fb0=!![];if(_0x203031&&!_0x203031[_0x396b90(0x134)])try{_0x203031[_0x396b90(0xe4)](_0x396b90(0xc9));}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x2c915f),process['on']('SIGTERM',_0x2c915f);while(!![]){const _0x1005e8=findCoreScript();checkMacNodePtySpawnHelper(_0x1005e8);const _0x4c7196={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1005e8},_0x3ec955=readUpgradeState(),_0x319420=!!_0x3ec955?.['pending'];let _0x1f6327=![],_0x5fd24f=null,_0x5eca21='';const _0x1ccbee=[],_0x57ac60=0xc;console[_0x21e32a(0x13b)](_0x21e32a(0x142)+'ore:\x20'+_0x1005e8),_0x203031=(0x0,import_child_process['spawn'])(process[_0x21e32a(0xec)],[_0x1005e8,..._0x11df28],{'env':_0x4c7196,'stdio':['inherit','pipe','pipe']});const _0x1d844b=()=>{const _0x8a06ac=_0x21e32a;if(_0x1f6327)return;_0x1f6327=!![];if(_0x5fd24f)clearTimeout(_0x5fd24f);_0x30c73c=0x0,_0x22e6d9=MIN_RESTART_DELAY_MS;const _0x161d7c=readUpgradeState();_0x161d7c?.[_0x8a06ac(0x136)]&&(writeUpgradeState({..._0x161d7c,'pending':![],'rollback':![],'health_status':_0x8a06ac(0xc1)}),console['log'](_0x8a06ac(0x146)+_0x8a06ac(0xf6)+(_0x161d7c[_0x8a06ac(0xdb)]||_0x161d7c['target_version']||'')));},_0x17a63c=(_0x3d62fe,_0x3617c0=![])=>{const _0x38a325=_0x21e32a,_0x561ac1=_0x3d62fe['toString']();(_0x3617c0?process[_0x38a325(0x102)]:process[_0x38a325(0x12b)])[_0x38a325(0x10d)](_0x561ac1);if(_0x3617c0)for(const _0x2bf02d of _0x561ac1['split'](/\r?\n/)){if(!_0x2bf02d[_0x38a325(0xf0)]())continue;_0x1ccbee['push'](_0x2bf02d);if(_0x1ccbee[_0x38a325(0xd9)]>_0x57ac60)_0x1ccbee['shift']();const _0x1ea9fc=_0x2bf02d[_0x38a325(0xe3)](FATAL_PATTERN);if(_0x1ea9fc)_0x5eca21=_0x1ea9fc[0x0];}(_0x561ac1[_0x38a325(0xbb)]('[gateway]\x20Connected')||_0x561ac1['includes'](_0x38a325(0x105)+_0x38a325(0x145))||_0x561ac1[_0x38a325(0xbb)](_0x38a325(0xcb)))&&_0x1d844b();};_0x203031['stdout']?.['on'](_0x21e32a(0x127),_0x179c29=>_0x17a63c(_0x179c29,![])),_0x203031[_0x21e32a(0x102)]?.['on']('data',_0x2867ce=>_0x17a63c(_0x2867ce,!![]));_0x319420&&(_0x5fd24f=setTimeout(()=>{const _0x17be06=_0x21e32a;if(_0x1f6327||!_0x203031||_0x203031['killed'])return;console['error'](_0x17be06(0xc2)+'id\x20not\x20become\x20health'+'y\x20in\x20time;\x20rolling\x20b'+_0x17be06(0x125));try{_0x203031['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x1a8c38=await new Promise(_0x1271a2=>{const _0x40c5ee=_0x21e32a;_0x203031[_0x40c5ee(0x147)](_0x40c5ee(0xde),(_0x3829f4,_0x40a221)=>_0x1271a2({'code':_0x3829f4,'signal':_0x40a221}));});if(_0x5fd24f)clearTimeout(_0x5fd24f);_0x203031=null;if(_0x2f3fb0)process['exit'](_0x1a8c38['code']??0x0);const _0x5e0b5a=readUpgradeState();if(_0x5e0b5a?.['pending']&&!_0x1f6327){const _0xf8163e=String(_0x5e0b5a[_0x21e32a(0xcc)+'n']||'')['trim']();if(_0xf8163e){console['error'](_0x21e32a(0xd0)+'ck\x20core\x20to\x20'+_0xf8163e);const _0x40ddbb=installCoreVersion(_0xf8163e);writeUpgradeState({..._0x5e0b5a,'pending':![],'rollback':!![],'health_status':_0x40ddbb['ok']?'rolled_back':_0x21e32a(0x113),'error':_0x40ddbb['ok']?'':_0x40ddbb['output']});}else writeUpgradeState({..._0x5e0b5a,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x21e32a(0x104)+_0x21e32a(0x108)});}const _0x3b8db0=_0x1a8c38['code']===SUPERVISED_RESTART_CODE||_0x5e0b5a?.['pending'];if(!_0x3b8db0&&_0x1a8c38[_0x21e32a(0xc6)]===0x0)process['exit'](0x0);_0x30c73c+=0x1,writeLastCrash({'timestamp':Date[_0x21e32a(0x132)](),'exit_code':_0x1a8c38['code'],'exit_signal':_0x1a8c38['signal']||null,'fatal_line':_0x5eca21,'raw_tail':_0x1ccbee['join']('\x0a'),'consecutive_crashes':_0x30c73c}),console[_0x21e32a(0x13b)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x1a8c38[_0x21e32a(0xc6)]??'')+(_0x1a8c38['signal']?'\x20signal='+_0x1a8c38[_0x21e32a(0x123)]:'')+'\x20(attempt\x20'+_0x30c73c+'/'+MAX_CONSECUTIVE_CRASHES+')');if(_0x5eca21)console['log'](_0x21e32a(0xed)+':\x20'+_0x5eca21);_0x30c73c>=MAX_CONSECUTIVE_CRASHES&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x30c73c+(_0x21e32a(0xd7)+'ing\x20up.\x20Crash\x20record'+':\x20')+lastCrashFilePath()+(_0x21e32a(0xe1)+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+_0x21e32a(0x100))),process[_0x21e32a(0xde)](0x1)),console['log'](_0x21e32a(0x122)+_0x21e32a(0xdd)+_0x22e6d9+'ms'),await new Promise(_0x2c47ef=>setTimeout(_0x2c47ef,_0x22e6d9)),_0x22e6d9=Math['min'](_0x22e6d9*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x581d66=a0_0x1ac476,_0x10ab3e=process[_0x581d66(0xf3)]['slice'](0x2);if(_0x10ab3e[0x0]===_0x581d66(0xe8)||_0x10ab3e[0x0]==='-v'||_0x10ab3e[0x0]===_0x581d66(0x11e)){printVersion();return;}if((_0x10ab3e[0x0]===_0x581d66(0x10f)||_0x10ab3e[0x0]==='ls'||_0x10ab3e[0x0]==='ps')&&!_0x10ab3e['includes']('--json')){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console['log'](_0x581d66(0x10a)+(coreVersion()||_0x581d66(0x10c)));}catch{console['log']('core\x20not\x20installed');}}maybeUpdateWrapper(_0x10ab3e);if(!shouldSupervise(_0x10ab3e))directCore(_0x10ab3e);await superviseCore(_0x10ab3e);}main()['catch'](_0x9e51f9=>{const _0x37a8a5=a0_0x1ac476;console[_0x37a8a5(0xe2)]('[wrapper]\x20Fatal\x20erro'+_0x37a8a5(0x114)+(_0x9e51f9?.['message']||String(_0x9e51f9))),process[_0x37a8a5(0xde)](0x1);});function a0_0x121e(){const _0x66c783=['w3DYyxbWzxjDig1Hy09tig5Vzgu','y29UC3rHBNrZ','y3jLyxrL','DcbMB3vUzdOG','mc4WlJa','ihrPBwvZigLUigeGCM93oYbNAxy','lxb0EsbZCgf3BI1OzwXWzxiGAxm','BgvUz3rO','DxrMltG','Aw5ZDgfSBgvKx3zLCNnPB24','ufrzihn0yxj0Dxa6','igLUia','zxHPDa','y3jLyxrLuMvXDwLYzq','BNbTig5VDcbMB3vUzcbVBIbqqvq','lIbszxn0yxj0ihDYyxbWzxiGBwe','zxjYB3i','Bwf0y2G','A2LSBa','CgfJA2fNzxm','ANmUB3jN','D2fYBG','ls12zxjZAw9U','B2jQzwn0','mJiXodK2odbAyvLpC20','y29Yzs5JANm','zxHLy1bHDgG','w3DYyxbWzxjDigXHC3qGzMf0ywW','nMDgvgfHvG','Aw5OzxjPDa','DhjPBq','zgLZDa','BM9Kzs1WDhK','yxjNDG','CgfYC2u','C3bSAxq','zguGAgvHBhrOEtOG','CgXHDgzVCM0','Aw5KzxG','CMvWBgfJzq','qhDOywXLBNq','yxrLoIbUCg0GAw5ZDgfSBcaTzYa','z2v0uhjVDg90ExbLt2y','zgvMyxvSDa','Dhj1zq','DxrMoa','zwqU','mtm2mtKWodHlDejuywi','C3rKzxjY','Ag9TzwrPCG','ChjLDMLVDxmGy29Yzsb2zxjZAw8','r2f0zxDHEsbYzwDPC3rLCMvKig0','D2HPy2G','ywDLBNqTy29Yzq','BIb1BMTUB3DU','Bwf4','y29Yzsa','nJG0nJu1mNb1DwDABq','BM90igLUC3rHBgXLza','D3jPDgu','qgXHDgvZDa','C3rHDhvZ','z2v0t3DUuhjVCgvYDhLezxnJCMK','y2HTB2rtEw5J','D3jPDgvgAwXLu3LUyW','CM9SBgjHy2TFzMfPBgvK','CJOG','C3rYAw5NAwz5','BNbT','w3DYyxbWzxjDigLUC3rHBgXPBMC','AM9PBG','ic0+ia','CgfJA2fNzs5QC29U','y29Yzq','CMvZB2X2zq','ic0TCMvNAxn0CNK9','DMvYC2LVBG','mtaWmti5nJHQv2rjCgi','zgf0zwqGDg8G','D2LUmZi','w3DYyxbWzxjDihjLC3rHCNrPBMC','C2LNBMfS','yxjJAa','ywnR','B3v0Chv0','zgf0yq','BwTKAxjtEw5J','igzYB20GBNbTigjLzM9YzsbZDge','icbiruXqrvi9','C3rKB3v0','ls1OzwXW','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','C29YDa','C3rHDfn5BMm','C3bHD25tEw5J','icbJAg1VzcaREcaIjeHftfbfuIi','BM93','ChvZAa','A2LSBgvK','icbSCYaTBcaIjeHftfbfuIi','CgvUzgLUzW','D2HHBgvUDc1Hz2vUDca','BwfW','mZGYode2nufKzM5ktW','Aw5ZDgfSBa','Bg9N','qhDOywXLBNqVywDLBNq','mtHlqu5mrwC','mZaZmKjpDezuAa','zxHPC3rZu3LUyW','mtqYody5Cg9rChr1','mJi3mvvJuMDZsa','w3DYyxbWzxjDihn0yxj0Aw5Nigm','lNDOywXLBNqTywDLBNq','BMnLihrVigzPEcb0zxjTAw5HBc8','ywnOAw5L','w3DYyxbWzxjDignVCMuGDxbNCMe','B25Jzq','BNbTig5VDcbMB3vUza','y2fUzgLKyxrL','Aw5JBhvKzxm','zgf0zsbMywLSzwq7ignVBNrPBNu','BgfZDc1JCMfZAc5QC29U','zgfYD2LU','Aw5KzxGUy2PZ','w3DYyxbWzxjDihDYyxbWzxiGDxa','AgvHBhrOEq','w3DYyxbWzxjDig5LDYbJB3jLigq','EwvZ','w3DYyxbWzxjDifj1BIb0AgLZig8','zMLSDgvY','y29Kzq','Bw9KDwXL','zgLYBMfTzq','u0Lhvevstq','oYbYzxn0yxj0Aw5NihDYyxbWzxi','r2f0zxDHEtOGy29UBMvJDgvK','ChjLDMLVDxnFy29Yzv92zxjZAw8','D2HLCMuUzxHL','CMvHzezPBgvtEw5J','y29Yzs11CgDYywrLlMPZB24','w3DYyxbWzxjDihjVBgXPBMCGyMe','CgvYigv4zwn1DgfIBguGyML0oIa'];a0_0x121e=function(){return _0x66c783;};return a0_0x121e();}
|
|
2
|
+
'use strict';const a0_0x31dcd6=a0_0x5035;(function(_0x3c3470,_0x5c1d8e){const _0x1a7d2d=a0_0x5035,_0x5ee67e=_0x3c3470();while(!![]){try{const _0x27e22c=-parseInt(_0x1a7d2d(0x1db))/0x1*(parseInt(_0x1a7d2d(0x19e))/0x2)+-parseInt(_0x1a7d2d(0x1a8))/0x3+-parseInt(_0x1a7d2d(0x1b4))/0x4*(-parseInt(_0x1a7d2d(0x1e6))/0x5)+-parseInt(_0x1a7d2d(0x1be))/0x6+parseInt(_0x1a7d2d(0x1b9))/0x7+-parseInt(_0x1a7d2d(0x1d1))/0x8*(parseInt(_0x1a7d2d(0x1bc))/0x9)+parseInt(_0x1a7d2d(0x1eb))/0xa;if(_0x27e22c===_0x5c1d8e)break;else _0x5ee67e['push'](_0x5ee67e['shift']());}catch(_0x358aca){_0x5ee67e['push'](_0x5ee67e['shift']());}}}(a0_0x326f,0x5b245));var __create=Object[a0_0x31dcd6(0x1b6)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object[a0_0x31dcd6(0x1fc)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype'][a0_0x31dcd6(0x1aa)],__copyProps=(_0x12d1fa,_0x4c014c,_0x2d1284,_0x4b895f)=>{const _0x1b68d7=a0_0x31dcd6;if(_0x4c014c&&typeof _0x4c014c==='object'||typeof _0x4c014c===_0x1b68d7(0x1a4)){for(let _0xed7091 of __getOwnPropNames(_0x4c014c))if(!__hasOwnProp['call'](_0x12d1fa,_0xed7091)&&_0xed7091!==_0x2d1284)__defProp(_0x12d1fa,_0xed7091,{'get':()=>_0x4c014c[_0xed7091],'enumerable':!(_0x4b895f=__getOwnPropDesc(_0x4c014c,_0xed7091))||_0x4b895f[_0x1b68d7(0x186)]});}return _0x12d1fa;},__toESM=(_0x50dad0,_0x17b30b,_0x1ad889)=>(_0x1ad889=_0x50dad0!=null?__create(__getProtoOf(_0x50dad0)):{},__copyProps(_0x17b30b||!_0x50dad0||!_0x50dad0['__esModule']?__defProp(_0x1ad889,a0_0x31dcd6(0x1c4),{'value':_0x50dad0,'enumerable':!![]}):_0x1ad889,_0x50dad0)),import_child_process=require(a0_0x31dcd6(0x1f5)),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY=a0_0x31dcd6(0x19d)+'js.org',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 _0x1ab558=a0_0x31dcd6;return path['join'](os[_0x1ab558(0x1c0)](),_0x1ab558(0x1f8));}function upgradeStatePath(){const _0x5f3754=a0_0x31dcd6;return path[_0x5f3754(0x198)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x2e2490=a0_0x31dcd6;return path[_0x2e2490(0x198)](configDir(),'last-crash.json');}function writeLastCrash(_0x2445b1){const _0x2a5d32=a0_0x31dcd6;try{fs[_0x2a5d32(0x197)](configDir(),{'recursive':!![]});const _0x366f60={..._0x2445b1,'reported':![]};fs[_0x2a5d32(0x1b0)](lastCrashFilePath(),JSON[_0x2a5d32(0x201)](_0x366f60,null,0x2),_0x2a5d32(0x1c9));}catch{}}function readWrapperVersion(){const _0x331685=a0_0x31dcd6;try{const _0x43ae49=JSON['parse'](fs[_0x331685(0x196)](path['join'](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0x43ae49[_0x331685(0x1df)]||_0x331685(0x1ac));}catch{return _0x331685(0x1ac);}}function readUpgradeState(){const _0x31c23d=a0_0x31dcd6;try{return JSON[_0x31c23d(0x1ca)](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x37f5fd){const _0x57e18e=a0_0x31dcd6;try{fs[_0x57e18e(0x197)](configDir(),{'recursive':!![]}),fs[_0x57e18e(0x1b0)](upgradeStatePath(),JSON['stringify']({..._0x37f5fd,'updated_at':Date[_0x57e18e(0x195)]()},null,0x2),_0x57e18e(0x1c9));}catch{}}function a0_0x326f(){const _0xb9f81a=['y29Yzsa','ls1Hz2vUDc1Pza','zxHPDa','CM9SBgvKx2jHy2S','mZbNyxrfCfC','lIbszxn0yxj0ihDYyxbWzxiGBwe','w2DHDgv3yxLDienVBM5Ly3rLza','ywDLBNq','ihnPz25HBd0','mtG3nZG5nZbmEKfPwxC','y29Kzq','Aw5OzxjPDa','qhDOywXLBNqVywDLBNqTy29Yzsa','CZSGz2L2Aw5NihvWlIbdCMfZAca','DcbMB3vUzdOG','CgXHDgzVCM0','D3jHChbLCIa','Bg9N','AgfZ','y2HPBgrFChjVy2vZCW','zgf0zsbMywLSzwq7ignVBNrPBNu','w3DYyxbWzxjDifj1BIb0AgLZig8','lNDOywXLBNqTywDLBNq','y29YzsbUB3qGAw5ZDgfSBgvK','r2f0zxDHEtOGy29UBMvJDgvK','C3bSAxq','z2v0t3DUuhjVCgvYDhLoyw1LCW','w3DYyxbWzxjDie1HBNvHBcb1Cgq','y2f0y2G','yxjJAa','w3DYyxbWzxjDihjLC3rHCNrPBMC','C3rYAw5NAwz5','w3DYyxbWzxjDigXHC3qGzMf0ywW','BNbT','DMLLDW','AwXHyMXLoIa','w3DYyxbWzxjDihvWzgf0zsbHDMe','igzYB20GBNbTigjLzM9YzsbZDge','u0Lhsu5u','zgfYD2LUlq','zw51BwvYywjSzq','EwvZ','Aw5KzxG','ls12zxjZAw9U','y3jLyxrLuMvXDwLYzq','DhjPBq','CgvUzgLUzW','lxb0EsbZCgf3BI1OzwXWzxiGAxm','zxHLy1bHDgG','AwqGBM90igjLy29TzsbOzwfSDgG','zgfLBw9Ulw1JCa','C2HPzNq','zguGAgvHBhrOEtOG','Dg9tDhjPBMC','w3DYyxbWzxjDigLUC3rHBgXPBMC','BM93','CMvHzezPBgvtEw5J','BwTKAxjtEw5J','AM9PBG','w3DYyxbWzxjDignVCMuGzMfPBgu','ls1OzwXW','BNbTig5VDcbMB3vUzcbVBIbqqvq','CgfYC2vjBNq','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','nduXntC4ENL2y3r2','A2LSBa','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','Cg9W','C2LNBMfS','C3rHDfn5BMm','zNvUy3rPB24','Aw5JBhvKzxm','w3DYyxbWzxjDiezHDgfSigvYCM8','qhDOywXLBNq','mJeWote1ovDVr3foDq','Dhj1zq','AgfZt3DUuhjVCgvYDhK','icbSCYaTBcaIjeHftfbfuIi','mc4WlJa','AgvHBhrOEq','BwLU','BwfW','D3jPDgvgAwXLu3LUyW','icbJAg1VzcaREcaIjeHftfbfuIi','ic0+ia','DxrMoa','ndq0nJyWsuTxvfLZ','j1WNjW','y3jLyxrL','uYbUB2rLlxb0EsbZCgf3BI1OzwW','u0Lhvevstq','mtG0ndaXrxjuwgvX','B3v0Chv0','C3rKB3v0','nda1qvn6y0zI','CJOG','mZi4nde0oejitwfirG','ufrzihn0yxj0Dxa6','Ag9TzwrPCG','ywrK','yxjNDG','BwvZC2fNzq','zgvMyxvSDa','ls1YzwDPC3rYEt0','y29Yzs5JANm','zgfYD2LU','zcbJB2rLpq','DxrMltG','CgfYC2u','y29UC3rHBNrZ','Aw5KzxGUy2PZ','Aw5ZDgfSBa','BgvUz3rO','BwnW','r2f0zxDHEsbYzwDPC3rLCMvKig0','ndGWmJrVwgHQAKe','CMvJB3jKoIa','C3bHD25tEw5J','zxjYB3i','C3rHDhvZ','B25Jzq','Dg9mB3DLCKnHC2u','Bwf0y2G','CMvZB2X2zq','ywnJzxnZu3LUyW','m0rtvKXAua','BM90igLUC3rHBgXLza','CM9SBgjHy2TFDw5HDMfPBgfIBgu','igLUia','DMvYC2LVBG','D2fYBG','ChvZAa'];a0_0x326f=function(){return _0xb9f81a;};return a0_0x326f();}function run(_0xd0f517,_0x150df3,_0x5b0f4b=process.env){return(0x0,import_child_process['spawnSync'])(_0xd0f517,_0x150df3,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x5b0f4b,'shell':![]});}function runNpmView(_0x40111d){const _0x4a88d0=a0_0x31dcd6,_0x236b0e=resolveExecutable(_0x4a88d0(0x203));if(!_0x236b0e)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return(0x0,import_child_process['spawnSync'])(_0x236b0e,_0x40111d,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x5651c8=a0_0x31dcd6,_0x5a7a3f=resolveExecutable(_0x5651c8(0x203));if(!_0x5a7a3f)return'';const _0x2e3e20=run(_0x5a7a3f,['root','-g']);if(_0x2e3e20[_0x5651c8(0x1d5)]!==0x0)return'';return String(_0x2e3e20[_0x5651c8(0x1bb)]||'')[_0x5651c8(0x18b)]();}function compareSemver(_0x3d3c7f,_0x36c306){const _0x26b04c=a0_0x31dcd6,_0x4d35d8=String(_0x3d3c7f||'')['replace'](/^v/,'')[_0x26b04c(0x1fb)](/[.-]/)[_0x26b04c(0x1af)](_0x4bee68=>Number[_0x26b04c(0x19c)](_0x4bee68,0xa)||0x0),_0x452cc0=String(_0x36c306||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x26b04c(0x1af)](_0x62a35f=>Number[_0x26b04c(0x19c)](_0x62a35f,0xa)||0x0);for(let _0x525a7e=0x0;_0x525a7e<Math['max'](_0x4d35d8['length'],_0x452cc0[_0x26b04c(0x1ce)],0x3);_0x525a7e++){const _0xa5ddc4=_0x4d35d8[_0x525a7e]||0x0,_0x569d83=_0x452cc0[_0x525a7e]||0x0;if(_0xa5ddc4>_0x569d83)return 0x1;if(_0xa5ddc4<_0x569d83)return-0x1;}return 0x0;}function resolveExecutable(_0x25e1b3){const _0x518790=a0_0x31dcd6,_0x1b389a=process['platform']==='win32'?'where.exe':'which';try{const _0x1586b1=(0x0,import_child_process['spawnSync'])(_0x1b389a,[_0x25e1b3],{'encoding':'utf8','timeout':0xbb8,'shell':![]});if(_0x1586b1['status']!==0x0)return'';return String(_0x1586b1[_0x518790(0x1bb)]||'')['split'](/\r?\n/)[_0x518790(0x1af)](_0x4a1510=>_0x4a1510[_0x518790(0x18b)]())['filter'](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x5ced47=a0_0x31dcd6,_0x59acf8=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x5ced47(0x1d7)]();return _0x59acf8==='1'||_0x59acf8===_0x5ced47(0x1a9)||_0x59acf8==='yes'||_0x59acf8==='on';}function latestWrapperVersion(){const _0x3e09c0=a0_0x31dcd6,_0xf848be=runNpmView([_0x3e09c0(0x180),WRAPPER_PKG_NAME+'@latest',_0x3e09c0(0x1df),_0x3e09c0(0x1c5)+NPM_REGISTRY]);if(_0xf848be['status']!==0x0)return'';return String(_0xf848be['stdout']||'')['trim']()['split'](/\r?\n/)['filter'](Boolean)[_0x3e09c0(0x1a1)]()||'';}function a0_0x5035(_0x44a971,_0x2880d4){_0x44a971=_0x44a971-0x180;const _0x326f25=a0_0x326f();let _0x50357b=_0x326f25[_0x44a971];if(a0_0x5035['AYVlvC']===undefined){var _0x53ec92=function(_0x3a1139){const _0x12b90d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12d1fa='',_0x4c014c='';for(let _0x2d1284=0x0,_0x4b895f,_0xed7091,_0x50dad0=0x0;_0xed7091=_0x3a1139['charAt'](_0x50dad0++);~_0xed7091&&(_0x4b895f=_0x2d1284%0x4?_0x4b895f*0x40+_0xed7091:_0xed7091,_0x2d1284++%0x4)?_0x12d1fa+=String['fromCharCode'](0xff&_0x4b895f>>(-0x2*_0x2d1284&0x6)):0x0){_0xed7091=_0x12b90d['indexOf'](_0xed7091);}for(let _0x17b30b=0x0,_0x1ad889=_0x12d1fa['length'];_0x17b30b<_0x1ad889;_0x17b30b++){_0x4c014c+='%'+('00'+_0x12d1fa['charCodeAt'](_0x17b30b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c014c);};a0_0x5035['RhtRKI']=_0x53ec92,a0_0x5035['cICrtx']={},a0_0x5035['AYVlvC']=!![];}const _0xd71793=_0x326f25[0x0],_0x513037=_0x44a971+_0xd71793,_0xae09d3=a0_0x5035['cICrtx'][_0x513037];return!_0xae09d3?(_0x50357b=a0_0x5035['RhtRKI'](_0x50357b),a0_0x5035['cICrtx'][_0x513037]=_0x50357b):_0x50357b=_0xae09d3,_0x50357b;}function installWrapperVersion(_0xd8a268){const _0xf53737=a0_0x31dcd6,_0x235b0d=resolveExecutable('npm');if(!_0x235b0d)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x5a0454=run(_0x235b0d,[_0xf53737(0x1cd),'-g',WRAPPER_PKG_NAME+'@'+_0xd8a268,_0xf53737(0x1c5)+NPM_REGISTRY]),_0x2ceb56=((_0x5a0454[_0xf53737(0x1bb)]||'')+'\x0a'+(_0x5a0454['stderr']||''))['trim']();return{'ok':_0x5a0454[_0xf53737(0x1d5)]===0x0,'output':_0x2ceb56};}function maybeUpdateWrapper(_0x87af30){const _0x39c13b=a0_0x31dcd6;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x5db09c=latestWrapperVersion();if(!_0x5db09c||compareSemver(_0x5db09c,WRAPPER_VERSION)<=0x0)return![];console[_0x39c13b(0x1e0)](_0x39c13b(0x182)+_0x39c13b(0x181)+WRAPPER_VERSION+_0x39c13b(0x1b2)+_0x5db09c),console[_0x39c13b(0x1e0)](_0x39c13b(0x194)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x5db09c+(_0x39c13b(0x183)+'rting\x20core...'));const _0x47bd8d=installWrapperVersion(_0x5db09c);if(!_0x47bd8d['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x39c13b(0x1f6)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x47bd8d[_0x39c13b(0x1ba)])console[_0x39c13b(0x1e0)](_0x47bd8d[_0x39c13b(0x1ba)][_0x39c13b(0x1fb)](/\r?\n/)['slice'](-0xc)[_0x39c13b(0x198)]('\x0a'));return console['warn'](_0x39c13b(0x1fd)+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x5db09c+'\x20--registry='+NPM_REGISTRY),![];}console[_0x39c13b(0x1e0)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x5db09c+';\x20restarting\x20wrapper');const _0x1b8faa=process[_0x39c13b(0x1c2)][0x1],_0x460567=(0x0,import_child_process['spawnSync'])(process[_0x39c13b(0x18e)],[_0x1b8faa,..._0x87af30],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x5db09c},'shell':![]});process[_0x39c13b(0x1e4)](_0x460567['status']??0x0);}function findCoreScript(){const _0x2873da=a0_0x31dcd6,_0x2f0848=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x4cfce4=['1',_0x2873da(0x1a9),_0x2873da(0x187),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x2873da(0x1d7)]());if(_0x2f0848&&_0x4cfce4&&fs['existsSync'](_0x2f0848))return _0x2f0848;const _0x689c1b=[],_0x194963=_0x87fc78=>{const _0x236aba=_0x2873da;if(fs['existsSync'](_0x87fc78)&&!_0x689c1b[_0x236aba(0x1a5)](_0x87fc78))_0x689c1b[_0x236aba(0x1e1)](_0x87fc78);};if(_0x2f0848)_0x194963(_0x2f0848);const _0x25a818=npmRootGlobal();if(_0x25a818){const _0x3cc7ae=path['join'](_0x25a818,_0x2873da(0x1a7),'agent-core','dist','index.cjs');_0x194963(_0x3cc7ae);}const _0x547991=path['join'](wrapperBaseDir(),_0x2873da(0x1c6));_0x194963(_0x547991);const _0x5bf498=path['join'](wrapperBaseDir(),'..','packages','core','dist',_0x2873da(0x1cc));_0x194963(_0x5bf498);if(_0x689c1b['length']>0x0)return _0x689c1b[_0x2873da(0x1af)]((_0x52371a,_0x38cce0)=>({'candidate':_0x52371a,'index':_0x38cce0,'version':coreVersion(_0x52371a)}))['sort']((_0x57e143,_0xa9f7f3)=>{const _0x369ab0=_0x2873da,_0x3bc5cb=compareSemver(_0xa9f7f3['version'],_0x57e143[_0x369ab0(0x1df)]);if(_0x3bc5cb!==0x0)return _0x3bc5cb;return _0xa9f7f3[_0x369ab0(0x188)]-_0x57e143[_0x369ab0(0x188)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+_0x2873da(0x1ee)+'or\x20rebuild\x20@whalent/'+_0x2873da(0x1e9));}function coreVersion(_0x223f85=findCoreScript()){const _0x49a48a=a0_0x31dcd6,_0x5bc4fd=(0x0,import_child_process[_0x49a48a(0x1d3)])(process[_0x49a48a(0x18e)],[_0x223f85,_0x49a48a(0x189)],{'encoding':_0x49a48a(0x1b3),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x23a814=(_0x5bc4fd[_0x49a48a(0x1bb)]||'')+'\x0a'+(_0x5bc4fd['stderr']||'');return _0x23a814[_0x49a48a(0x1d8)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4ddf12){const _0x4ca1fc=a0_0x31dcd6;try{return fs[_0x4ca1fc(0x1da)](_0x4ddf12,fs[_0x4ca1fc(0x1cb)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x43d9fb){const _0x503f19=a0_0x31dcd6;return'\x27'+_0x43d9fb['replace'](/'/g,_0x503f19(0x1b5))+'\x27';}function coreNodePtySpawnHelperPath(_0x260ef4){const _0x15f51a=a0_0x31dcd6;if(process[_0x15f51a(0x1f1)]!==_0x15f51a(0x1c7))return'';try{const _0x217f08=(0x0,import_module[_0x15f51a(0x18a)])(_0x260ef4),_0x222b65=_0x217f08['resolve']('node-pty'),_0x5e061e=path[_0x15f51a(0x1d9)](path['dirname'](_0x222b65),'..');return path['join'](_0x5e061e,'prebuilds',_0x15f51a(0x185)+process[_0x15f51a(0x1ff)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x179f4e){const _0x9a80e9=a0_0x31dcd6,_0x30c7d2=coreNodePtySpawnHelperPath(_0x179f4e);if(!_0x30c7d2||CHECKED_PTY_HELPERS[_0x9a80e9(0x1f4)](_0x30c7d2))return;CHECKED_PTY_HELPERS[_0x9a80e9(0x1c1)](_0x30c7d2);if(!fs['existsSync'](_0x30c7d2)){console[_0x9a80e9(0x1e0)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+_0x9a80e9(0x1f0)+_0x30c7d2);return;}if(isExecutable(_0x30c7d2))return;try{const _0x180f35=fs[_0x9a80e9(0x1a3)](_0x30c7d2)['mode'];fs['chmodSync'](_0x30c7d2,_0x180f35|0x1ed);}catch{}if(isExecutable(_0x30c7d2)){console['warn']('[wrapper]\x20fixed\x20macO'+_0x9a80e9(0x1b7)+'per\x20executable\x20bit:\x20'+_0x30c7d2);return;}console[_0x9a80e9(0x1e0)]('[wrapper]\x20macOS\x20node'+_0x9a80e9(0x18d)+'\x20not\x20executable:\x20'+_0x30c7d2),console['warn'](_0x9a80e9(0x1f7)+'nce\x20to\x20fix\x20terminal/'+_0x9a80e9(0x1bf)),console['warn']('\x20\x20HELPER='+shellQuote(_0x30c7d2)),console['warn'](_0x9a80e9(0x1ab)),console['warn'](_0x9a80e9(0x1b1));}function printVersion(){const _0x4f1dde=a0_0x31dcd6;let _0x1e7668='';try{_0x1e7668=coreVersion();}catch{}console['log']('whalent-agent\x20'+WRAPPER_VERSION),console['log'](_0x4f1dde(0x1f2)+WRAPPER_VERSION),console['log'](_0x4f1dde(0x1e2)+(_0x1e7668||_0x4f1dde(0x1dc)));}function directCore(_0x18d156){const _0x5f539c=a0_0x31dcd6,_0xdfafb0=findCoreScript();checkMacNodePtySpawnHelper(_0xdfafb0);const _0x444945=(0x0,import_child_process[_0x5f539c(0x1d3)])(process['execPath'],[_0xdfafb0,..._0x18d156],{'stdio':_0x5f539c(0x1ed),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0xdfafb0},'shell':![]});process['exit'](_0x444945['status']??0x0);}function shouldSupervise(_0x2f694e){const _0x1bf1ca=a0_0x31dcd6;if(_0x2f694e['includes'](_0x1bf1ca(0x1e3)))return![];const _0x570738=_0x2f694e[0x0]||'';if(_0x570738==='ls'||_0x570738===_0x1bf1ca(0x1d5)||_0x570738==='ps')return![];if(_0x570738===_0x1bf1ca(0x1cf)||_0x570738===_0x1bf1ca(0x190))return![];if(_0x2f694e[_0x1bf1ca(0x1a5)](_0x1bf1ca(0x19a))||_0x2f694e['includes']('-h'))return![];return!![];}function installCoreVersion(_0xcabeed){const _0x6b99dc=a0_0x31dcd6,_0x56607e=resolveExecutable('npm');if(!_0x56607e)return{'ok':![],'output':_0x6b99dc(0x19b)+'H'};const _0x53e8c3=CORE_PKG_NAME+'@'+_0xcabeed,_0x595118=run(_0x56607e,['install','-g',_0x53e8c3,'--registry='+NPM_REGISTRY]),_0x48b3c0=((_0x595118['stdout']||'')+'\x0a'+(_0x595118['stderr']||''))[_0x6b99dc(0x18b)]();return{'ok':_0x595118['status']===0x0,'output':_0x48b3c0};}async function superviseCore(_0x2d8c08){const _0x3a04af=a0_0x31dcd6;let _0x3e74f7=![],_0x53121c=null;const _0x54d66a=[];let _0x4f55b3=MIN_RESTART_DELAY_MS;const _0x5a523c=()=>{_0x3e74f7=!![];if(_0x53121c&&!_0x53121c['killed'])try{_0x53121c['kill']('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0x3a04af(0x184),_0x5a523c),process['on']('SIGTERM',_0x5a523c);while(!![]){const _0x224f55=findCoreScript();checkMacNodePtySpawnHelper(_0x224f55);const _0x20aeb3={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x224f55},_0x682867=readUpgradeState(),_0xf5041=!!_0x682867?.[_0x3a04af(0x18c)];let _0x366ab1=![],_0x4afcd6=null,_0x3eba28='';const _0x409392=[],_0x4a953f=0xc;console['log']('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x224f55),_0x53121c=(0x0,import_child_process['spawn'])(process[_0x3a04af(0x18e)],[_0x224f55,..._0x2d8c08],{'env':_0x20aeb3,'stdio':[_0x3a04af(0x1ed),'pipe','pipe']});const _0x4b3ca8=()=>{const _0x1cb2f7=_0x3a04af;if(_0x366ab1)return;_0x366ab1=!![];if(_0x4afcd6)clearTimeout(_0x4afcd6);_0x54d66a[_0x1cb2f7(0x1ce)]=0x0,_0x4f55b3=MIN_RESTART_DELAY_MS;const _0x377bef=readUpgradeState();_0x377bef?.[_0x1cb2f7(0x18c)]&&(writeUpgradeState({..._0x377bef,'pending':![],'rollback':![],'health_status':_0x1cb2f7(0x1ad)}),console[_0x1cb2f7(0x1f3)]('[wrapper]\x20core\x20upgra'+_0x1cb2f7(0x192)+(_0x377bef['installed_version']||_0x377bef['target_version']||'')));},_0x1096b9=(_0x31d8ff,_0x2cc57c=![])=>{const _0x17309f=_0x3a04af,_0x22eca8=_0x31d8ff[_0x17309f(0x193)]();(_0x2cc57c?process['stderr']:process['stdout'])['write'](_0x22eca8);if(_0x2cc57c)for(const _0x165f2b of _0x22eca8['split'](/\r?\n/)){if(!_0x165f2b[_0x17309f(0x18b)]())continue;_0x409392[_0x17309f(0x1e1)](_0x165f2b);if(_0x409392['length']>_0x4a953f)_0x409392[_0x17309f(0x191)]();const _0x3c68b5=_0x165f2b[_0x17309f(0x1d8)](FATAL_PATTERN);if(_0x3c68b5)_0x3eba28=_0x3c68b5[0x0];}(_0x22eca8['includes'](_0x17309f(0x1e8))||_0x22eca8[_0x17309f(0x1a5)](_0x17309f(0x1d0)+'achine')||_0x22eca8[_0x17309f(0x1a5)](_0x17309f(0x1fa)))&&_0x4b3ca8();};_0x53121c['stdout']?.['on']('data',_0x1006a3=>_0x1096b9(_0x1006a3,![])),_0x53121c['stderr']?.['on']('data',_0x5f2369=>_0x1096b9(_0x5f2369,!![]));_0xf5041&&(_0x4afcd6=setTimeout(()=>{const _0x43f8ed=_0x3a04af;if(_0x366ab1||!_0x53121c||_0x53121c['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x43f8ed(0x18f)+_0x43f8ed(0x1a0)+'ack');try{_0x53121c[_0x43f8ed(0x19f)](_0x43f8ed(0x1b8));}catch{}},HEALTH_TIMEOUT_MS));const _0x1c651a=await new Promise(_0x56bbe9=>{const _0x5cb927=_0x3a04af;_0x53121c[_0x5cb927(0x1d6)](_0x5cb927(0x1e4),(_0x55fe1e,_0x5b5c3d)=>_0x56bbe9({'code':_0x55fe1e,'signal':_0x5b5c3d}));});if(_0x4afcd6)clearTimeout(_0x4afcd6);_0x53121c=null;if(_0x3e74f7)process['exit'](_0x1c651a['code']??0x0);const _0x55eb16=readUpgradeState();if(_0x55eb16?.['pending']&&!_0x366ab1){const _0x34b386=String(_0x55eb16['previous_core_versio'+'n']||'')['trim']();if(_0x34b386){console[_0x3a04af(0x1d4)]('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x34b386);const _0x386e23=installCoreVersion(_0x34b386);writeUpgradeState({..._0x55eb16,'pending':![],'rollback':!![],'health_status':_0x386e23['ok']?_0x3a04af(0x1e5):'rollback_failed','error':_0x386e23['ok']?'':_0x386e23['output']});}else writeUpgradeState({..._0x55eb16,'pending':![],'rollback':!![],'health_status':_0x3a04af(0x1dd),'error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x1faeb0=_0x1c651a[_0x3a04af(0x1ec)]===SUPERVISED_RESTART_CODE||_0x55eb16?.['pending'];if(!_0x1faeb0&&_0x1c651a['code']===0x0)process[_0x3a04af(0x1e4)](0x0);const _0x155bd3=Date[_0x3a04af(0x195)]();_0x54d66a[_0x3a04af(0x1e1)](_0x155bd3);while(_0x54d66a['length']>0x0&&_0x155bd3-_0x54d66a[0x0]>CRASH_WINDOW_MS){_0x54d66a[_0x3a04af(0x191)]();}const _0x3eaef8=_0x54d66a[_0x3a04af(0x1ce)];writeLastCrash({'timestamp':_0x155bd3,'exit_code':_0x1c651a['code'],'exit_signal':_0x1c651a[_0x3a04af(0x1a2)]||null,'fatal_line':_0x3eba28,'raw_tail':_0x409392[_0x3a04af(0x198)]('\x0a'),'consecutive_crashes':_0x3eaef8}),console[_0x3a04af(0x1f3)]('[wrapper]\x20core\x20exite'+_0x3a04af(0x1c8)+(_0x1c651a['code']??'')+(_0x1c651a[_0x3a04af(0x1a2)]?_0x3a04af(0x1ea)+_0x1c651a[_0x3a04af(0x1a2)]:'')+'\x20('+_0x3eaef8+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x3eba28)console['log'](_0x3a04af(0x202)+':\x20'+_0x3eba28);_0x3eaef8>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x3a04af(0x199)+'d\x20'+_0x3eaef8+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+(_0x3a04af(0x1ef)+_0x3a04af(0x1d2))+lastCrashFilePath()+(_0x3a04af(0x1e7)+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console[_0x3a04af(0x1f3)](_0x3a04af(0x200)+_0x3a04af(0x1de)+_0x4f55b3+'ms'),await new Promise(_0x48dc9a=>setTimeout(_0x48dc9a,_0x4f55b3)),_0x4f55b3=Math[_0x3a04af(0x1ae)](_0x4f55b3*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x2ca782=a0_0x31dcd6,_0x93d215=process['argv']['slice'](0x2);if(_0x93d215[0x0]==='--version'||_0x93d215[0x0]==='-v'||_0x93d215[0x0]===_0x2ca782(0x1df)){printVersion();return;}if((_0x93d215[0x0]==='status'||_0x93d215[0x0]==='ls'||_0x93d215[0x0]==='ps')&&!_0x93d215['includes']('--json')){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x2ca782(0x1f3)](_0x2ca782(0x1e2)+(coreVersion()||_0x2ca782(0x1dc)));}catch{console[_0x2ca782(0x1f3)](_0x2ca782(0x1f9));}}maybeUpdateWrapper(_0x93d215);if(!shouldSupervise(_0x93d215))directCore(_0x93d215);await superviseCore(_0x93d215);}main()[a0_0x31dcd6(0x1fe)](_0x4aa4e2=>{const _0x51a6b7=a0_0x31dcd6;console['error'](_0x51a6b7(0x1a6)+_0x51a6b7(0x1bd)+(_0x4aa4e2?.[_0x51a6b7(0x1c3)]||String(_0x4aa4e2))),process['exit'](0x1);});
|