@whalent/agent 0.3.97 → 0.3.98
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_0x5d1578=a0_0x445a;(function(_0x481c5a,_0x2d90aa){const _0x48284a=a0_0x445a,_0x57b5b1=_0x481c5a();while(!![]){try{const _0x4a9095=parseInt(_0x48284a(0x1cf))/0x1*(-parseInt(_0x48284a(0x164))/0x2)+parseInt(_0x48284a(0x16a))/0x3*(-parseInt(_0x48284a(0x1ac))/0x4)+-parseInt(_0x48284a(0x15c))/0x5+-parseInt(_0x48284a(0x1de))/0x6*(parseInt(_0x48284a(0x1a1))/0x7)+parseInt(_0x48284a(0x187))/0x8*(parseInt(_0x48284a(0x189))/0x9)+-parseInt(_0x48284a(0x16e))/0xa*(-parseInt(_0x48284a(0x170))/0xb)+-parseInt(_0x48284a(0x1e7))/0xc*(-parseInt(_0x48284a(0x1df))/0xd);if(_0x4a9095===_0x2d90aa)break;else _0x57b5b1['push'](_0x57b5b1['shift']());}catch(_0x247a89){_0x57b5b1['push'](_0x57b5b1['shift']());}}}(a0_0x23db,0xba0f9));function a0_0x445a(_0x4532c7,_0x288433){_0x4532c7=_0x4532c7-0x159;const _0x23db2b=a0_0x23db();let _0x445a62=_0x23db2b[_0x4532c7];if(a0_0x445a['MLtVbJ']===undefined){var _0x288a1f=function(_0x3abfb3){const _0x2ed162='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425260='',_0x22e696='';for(let _0x307170=0x0,_0x249f3d,_0x5c16bb,_0x15daba=0x0;_0x5c16bb=_0x3abfb3['charAt'](_0x15daba++);~_0x5c16bb&&(_0x249f3d=_0x307170%0x4?_0x249f3d*0x40+_0x5c16bb:_0x5c16bb,_0x307170++%0x4)?_0x425260+=String['fromCharCode'](0xff&_0x249f3d>>(-0x2*_0x307170&0x6)):0x0){_0x5c16bb=_0x2ed162['indexOf'](_0x5c16bb);}for(let _0x4842b1=0x0,_0x1a94ba=_0x425260['length'];_0x4842b1<_0x1a94ba;_0x4842b1++){_0x22e696+='%'+('00'+_0x425260['charCodeAt'](_0x4842b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22e696);};a0_0x445a['VhbhBu']=_0x288a1f,a0_0x445a['amFDNa']={},a0_0x445a['MLtVbJ']=!![];}const _0x5dc7de=_0x23db2b[0x0],_0x2498cb=_0x4532c7+_0x5dc7de,_0x3d12c7=a0_0x445a['amFDNa'][_0x2498cb];return!_0x3d12c7?(_0x445a62=a0_0x445a['VhbhBu'](_0x445a62),a0_0x445a['amFDNa'][_0x2498cb]=_0x445a62):_0x445a62=_0x3d12c7,_0x445a62;}var __create=Object[a0_0x5d1578(0x1d7)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x5d1578(0x17c)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x5d1578(0x18e)]['hasOwnProperty'],__copyProps=(_0x425260,_0x22e696,_0x307170,_0x249f3d)=>{const _0x4e6b51=a0_0x5d1578;if(_0x22e696&&typeof _0x22e696==='object'||typeof _0x22e696===_0x4e6b51(0x19c)){for(let _0x5c16bb of __getOwnPropNames(_0x22e696))if(!__hasOwnProp[_0x4e6b51(0x1a6)](_0x425260,_0x5c16bb)&&_0x5c16bb!==_0x307170)__defProp(_0x425260,_0x5c16bb,{'get':()=>_0x22e696[_0x5c16bb],'enumerable':!(_0x249f3d=__getOwnPropDesc(_0x22e696,_0x5c16bb))||_0x249f3d[_0x4e6b51(0x1aa)]});}return _0x425260;},__toESM=(_0x15daba,_0x4842b1,_0x1a94ba)=>(_0x1a94ba=_0x15daba!=null?__create(__getProtoOf(_0x15daba)):{},__copyProps(_0x4842b1||!_0x15daba||!_0x15daba['__esModule']?__defProp(_0x1a94ba,a0_0x5d1578(0x19b),{'value':_0x15daba,'enumerable':!![]}):_0x1a94ba,_0x15daba)),import_child_process=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME=a0_0x5d1578(0x1c5),CORE_PKG_NAME=a0_0x5d1578(0x1b6),NPM_REGISTRY=a0_0x5d1578(0x159)+'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(),CHECKED_NODE_PTY_RUNTIMES=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){const _0x2605a4=a0_0x5d1578;return path['join'](os[_0x2605a4(0x18d)](),'.whalent-agent');}function upgradeStatePath(){const _0x37437d=a0_0x5d1578;return path[_0x37437d(0x180)](configDir(),_0x37437d(0x15f));}function lastCrashFilePath(){return path['join'](configDir(),'last-crash.json');}function writeLastCrash(_0x432536){try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x2e0dbd={..._0x432536,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON['stringify'](_0x2e0dbd,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x2f77ad=a0_0x5d1578;try{const _0x15d7e6=JSON['parse'](fs[_0x2f77ad(0x178)](path[_0x2f77ad(0x180)](wrapperBaseDir(),'..',_0x2f77ad(0x1e9)),_0x2f77ad(0x15e)));return String(_0x15d7e6['version']||'0.0.0');}catch{return _0x2f77ad(0x1be);}}function readUpgradeState(){const _0xb18553=a0_0x5d1578;try{return JSON[_0xb18553(0x1a8)](fs[_0xb18553(0x178)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x14a3bd){const _0x13c3a0=a0_0x5d1578;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x13c3a0(0x1d6)]({..._0x14a3bd,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x13d974,_0x4bb7b9,_0x53c18b=process.env){const _0x3b391b=a0_0x5d1578;return(0x0,import_child_process['spawnSync'])(_0x13d974,_0x4bb7b9,{'encoding':_0x3b391b(0x1d2),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x53c18b,'shell':![]});}function runNpmView(_0x1a83a9){const _0x165702=a0_0x5d1578,_0xf78fd4=resolveExecutable(_0x165702(0x194));if(!_0xf78fd4)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x165702(0x1ae))};return(0x0,import_child_process[_0x165702(0x190)])(_0xf78fd4,_0x1a83a9,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xa88a65=a0_0x5d1578,_0x1c4b5e=resolveExecutable('npm');if(!_0x1c4b5e)return'';const _0x5cb9ca=run(_0x1c4b5e,['root','-g']);if(_0x5cb9ca['status']!==0x0)return'';return String(_0x5cb9ca[_0xa88a65(0x18f)]||'')[_0xa88a65(0x160)]();}function compareSemver(_0x20f41c,_0x55cfee){const _0x3752d7=a0_0x5d1578,_0x10d028=String(_0x20f41c||'')[_0x3752d7(0x1dc)](/^v/,'')['split'](/[.-]/)['map'](_0x4670fc=>Number[_0x3752d7(0x1ea)](_0x4670fc,0xa)||0x0),_0x268312=String(_0x55cfee||'')['replace'](/^v/,'')[_0x3752d7(0x18c)](/[.-]/)['map'](_0x3eac4e=>Number[_0x3752d7(0x1ea)](_0x3eac4e,0xa)||0x0);for(let _0x527760=0x0;_0x527760<Math[_0x3752d7(0x1b5)](_0x10d028[_0x3752d7(0x1e0)],_0x268312[_0x3752d7(0x1e0)],0x3);_0x527760++){const _0x441a3a=_0x10d028[_0x527760]||0x0,_0x1b92d8=_0x268312[_0x527760]||0x0;if(_0x441a3a>_0x1b92d8)return 0x1;if(_0x441a3a<_0x1b92d8)return-0x1;}return 0x0;}function resolveExecutable(_0x277f3d){const _0x28c36d=a0_0x5d1578,_0x48efbe=process[_0x28c36d(0x1c1)]===_0x28c36d(0x19a)?_0x28c36d(0x19d):_0x28c36d(0x1b4);try{const _0x52e25c=(0x0,import_child_process[_0x28c36d(0x190)])(_0x48efbe,[_0x277f3d],{'encoding':'utf8','timeout':0xbb8,'shell':![]});if(_0x52e25c[_0x28c36d(0x191)]!==0x0)return'';return String(_0x52e25c['stdout']||'')['split'](/\r?\n/)[_0x28c36d(0x1c4)](_0x232905=>_0x232905['trim']())[_0x28c36d(0x161)](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x5896e1=a0_0x5d1578,_0x9fff2a=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x5896e1(0x160)]()['toLowerCase']();return _0x9fff2a==='1'||_0x9fff2a==='true'||_0x9fff2a==='yes'||_0x9fff2a==='on';}function latestWrapperVersion(){const _0x22195e=a0_0x5d1578,_0x5a2b36=runNpmView(['view',WRAPPER_PKG_NAME+'@latest','version','--registry='+NPM_REGISTRY]);if(_0x5a2b36['status']!==0x0)return'';return String(_0x5a2b36[_0x22195e(0x18f)]||'')[_0x22195e(0x160)]()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x59e0a5){const _0x27a9fa=a0_0x5d1578,_0x170eb7=resolveExecutable(_0x27a9fa(0x194));if(!_0x170eb7)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x5b3c4e=run(_0x170eb7,['install','-g',WRAPPER_PKG_NAME+'@'+_0x59e0a5,'--registry='+NPM_REGISTRY]),_0x5352db=((_0x5b3c4e['stdout']||'')+'\x0a'+(_0x5b3c4e['stderr']||''))[_0x27a9fa(0x160)]();return{'ok':_0x5b3c4e['status']===0x0,'output':_0x5352db};}function maybeUpdateWrapper(_0xa96a15){const _0x26a32b=a0_0x5d1578;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x2f8ffa=latestWrapperVersion();if(!_0x2f8ffa||compareSemver(_0x2f8ffa,WRAPPER_VERSION)<=0x0)return![];console[_0x26a32b(0x1ed)]('[wrapper]\x20update\x20ava'+_0x26a32b(0x176)+WRAPPER_VERSION+'\x20->\x20'+_0x2f8ffa),console[_0x26a32b(0x1ed)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x2f8ffa+(_0x26a32b(0x1db)+_0x26a32b(0x1d4)));const _0x3d3a38=installWrapperVersion(_0x2f8ffa);if(!_0x3d3a38['ok']){console['warn'](_0x26a32b(0x1eb)+'date\x20failed;\x20continu'+_0x26a32b(0x17f)+WRAPPER_VERSION);if(_0x3d3a38['output'])console['warn'](_0x3d3a38['output']['split'](/\r?\n/)[_0x26a32b(0x1c7)](-0xc)[_0x26a32b(0x180)]('\x0a'));return console[_0x26a32b(0x1ed)]('[wrapper]\x20Manual\x20upd'+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x2f8ffa+_0x26a32b(0x1d5)+NPM_REGISTRY),![];}console[_0x26a32b(0x1ed)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x2f8ffa+';\x20restarting\x20wrapper');const _0x42164f=process[_0x26a32b(0x184)][0x1],_0xc7aa69=(0x0,import_child_process['spawnSync'])(process[_0x26a32b(0x15a)],[_0x42164f,..._0xa96a15],{'stdio':_0x26a32b(0x182),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x2f8ffa},'shell':![]});process[_0x26a32b(0x1a7)](_0xc7aa69[_0x26a32b(0x191)]??0x0);}function a0_0x23db(){const _0x2f6788=['C3rKB3v0','C3bHD25tEw5J','C3rHDhvZ','u0Lhvevstq','C3rHDfn5BMm','BNbT','zcbJB2rLpq','Bwf0y2G','C3rKzxjY','zwj1AwXKigzHAwXLza','w3DYyxbWzxjDig5WBsbUB3qGzM8','D2LUmZi','zgvMyxvSDa','zNvUy3rPB24','D2HLCMuUzxHL','lIbszxn0yxj0ihDYyxbWzxiGBwe','w3DYyxbWzxjDihjLyNvPBgrPBMC','wf9psW','mtG0ntm0n0zKwuLmCG','EwvZ','u0Lhsu5u','w3DYyxbWzxjDihn0yxj0Aw5Nigm','ywnOAw5L','y2fSBa','zxHPDa','CgfYC2u','CM9SBgjHy2TFDw5HDMfPBgfIBgu','zw51BwvYywjSzq','C3bHD24TAgvSCgvY','mti3nZzmwfnxDe4','ls1YzwDPC3rYEt0','BNbTig5VDcbMB3vUza','CMvZDw1L','yxrPDMuGBw9KDwXLigLZig1PC3m','zgfYD2LU','ywDLBNq','w3DYyxbWzxjDig5LDYbJB3jLigq','D2HPy2G','Bwf4','qhDOywXLBNqVywDLBNqTy29Yzq','CZSGz2L2Aw5NihvWlIbdCMfZAca','B3v0Chv0','BwnW','Aw5ZDgfSBgvKx3zLCNnPB24','lxb0EsbZCgf3BI1OzwXWzxiGAxm','ig5VDcbLEgvJDxrHyMXLoIa','ig5VzguTChr5igjLzM9YzsbZDge','mc4WlJa','C2HPzNq','Bw9Kzq','CgXHDgzVCM0','A2LSBa','Aw5KzxGUy2PZ','BwfW','qhDOywXLBNqVywDLBNq','BM93','C2XPy2u','w3DYyxbWzxjDig1Hy09tig5Vzgu','w3DYyxbWzxjDignVCMuGzxHPDgu','Bg9N','y3jLyxrLuMvXDwLYzq','Aw5NihvUzgvYia','Aw5JBhvKzxm','ywnR','mtC0ntGZtKnlq1ru','BMnLihrVigzPEcb0zxjTAw5HBc8','yxjJAa','DxrMoa','ls1Hz2vUDc1Pza','CNrPBMCGy29Yzs4UlG','ic0TCMvNAxn0CNK9','C3rYAw5NAwz5','y3jLyxrL','r2f0zxDHEtOGy29UBMvJDgvK','w3DYyxbWzxjDie1HBNvHBcbMAxG','C2LNBMfS','igzYB20GBNbTigjLzM9YzsbZDge','CMvWBgfJzq','zgLZDa','nLjJz0r5wG','ndK3mJa5n3jkvNfPAW','BgvUz3rO','CMvIDwLSza','w3DYyxbWzxjDignVCMuGzMfPBgu','y29Yzq','B3iGCMvIDwLSzcbaD2HHBgvUDc8','BMfTzq','zgLYBMfTzq','mZzyAw14whC','A2LSBgvK','CgfJA2fNzs5QC29U','CgfYC2vjBNq','w3DYyxbWzxjDihDYyxbWzxiGDxa','Aw5ZDgfSBa','D2fYBG','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','zxHLy1bHDgG','yNvPBgq','nZy4nJe1ENDyB0rR','BM9Kzs1WDhK','DxrMltG','y29Yzs11CgDYywrLlMPZB24','DhjPBq','zMLSDgvY','zwqU','BIb1BMTUB3DU','mLriswnlqq','AgfZ','zwj1AwXKignVBxbSzxrLza','y29UC3rHBNrZ','zxjYB3i','BwvZC2fNzq','nJa2qujSqKzf','ufrzihn0yxj0Dxa6','ls12zxjZAw9U','icHLEgL0pq','mtbcCu5Iyuq','Aw5KzxG','oduWodK0t2fyzLnS','D3jHChbLCIa','zguGAgvHBhrOEtOG','CM9SBgvKx2jHy2S','lxb0EsbZCgf3BI1OzwXWzxiGBM8','icbUCg0GCMvIDwLSzcbUB2rLlxa','AwXHyMXLoIa','zxjSEwLUzYbPC3n1zsbPCYbMAxG','CMvHzezPBgvtEw5J','y29Kzq','CgvUzgLUzW','ChjLDMLVDxnFy29Yzv92zxjZAw8','z2v0t3DUuhjVCgvYDhLezxnJCMK','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','BM90igLUC3rHBgXLza','Aw5NihDPDgGG','AM9PBG','y29Yzs5JANm','Aw5OzxjPDa','ChvZAa','yxjNDG','DMvYC2LVBG','oYbJB3jLig1HEsbMywLSihrVihm','otu3nNbYDM1UAW','ChjLyNvPBgrZ','ntGYm3j5BxbrsW','ihnPz25HBd0','CMvZB2X2zq','C3bSAxq','Ag9TzwrPCG','ChjVDg90ExbL'];a0_0x23db=function(){return _0x2f6788;};return a0_0x23db();}function findCoreScript(){const _0x54ef7e=a0_0x5d1578,_0x41576a=String(process.env.WHALENT_CORE_ENTRY||'')[_0x54ef7e(0x160)](),_0x3de4c0=['1','true',_0x54ef7e(0x1a2),'on'][_0x54ef7e(0x1cd)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x54ef7e(0x160)]()['toLowerCase']());if(_0x41576a&&_0x3de4c0&&fs['existsSync'](_0x41576a))return _0x41576a;const _0x33b01d=[],_0x266a68=_0x2015e8=>{const _0x54fecb=_0x54ef7e;if(fs['existsSync'](_0x2015e8)&&!_0x33b01d[_0x54fecb(0x1cd)](_0x2015e8))_0x33b01d['push'](_0x2015e8);};if(_0x41576a)_0x266a68(_0x41576a);const _0x408507=npmRootGlobal();if(_0x408507){const _0x4b8a91=path[_0x54ef7e(0x180)](_0x408507,'@whalent','agent-core','dist','index.cjs');_0x266a68(_0x4b8a91);}const _0x13f886=path[_0x54ef7e(0x180)](wrapperBaseDir(),_0x54ef7e(0x181));_0x266a68(_0x13f886);const _0x5e7eff=path[_0x54ef7e(0x180)](wrapperBaseDir(),'..','packages',_0x54ef7e(0x1e3),_0x54ef7e(0x1dd),_0x54ef7e(0x1c3));_0x266a68(_0x5e7eff);if(_0x33b01d['length']>0x0)return _0x33b01d[_0x54ef7e(0x1c4)]((_0x3bbae7,_0x3c174d)=>({'candidate':_0x3bbae7,'index':_0x3c174d,'version':coreVersion(_0x3bbae7)}))['sort']((_0xd428f9,_0x3644a7)=>{const _0x43127c=_0x54ef7e,_0x4ceea5=compareSemver(_0x3644a7['version'],_0xd428f9[_0x43127c(0x185)]);if(_0x4ceea5!==0x0)return _0x4ceea5;return _0x3644a7['index']-_0xd428f9[_0x43127c(0x16f)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x54ef7e(0x1e4)+_0x54ef7e(0x1b2));}function coreVersion(_0x5c77b6=findCoreScript()){const _0x9a4832=a0_0x5d1578;ensureNodePtyNativeModule(_0x5c77b6);const _0x453850=(0x0,import_child_process[_0x9a4832(0x190)])(process[_0x9a4832(0x15a)],[_0x5c77b6,_0x9a4832(0x16c)],{'encoding':_0x9a4832(0x1d2),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x16396c=(_0x453850['stdout']||'')+'\x0a'+(_0x453850[_0x9a4832(0x197)]||'');return _0x16396c['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x1517c8){const _0x4ee029=a0_0x5d1578;try{return fs['accessSync'](_0x1517c8,fs[_0x4ee029(0x167)][_0x4ee029(0x1a0)]),!![];}catch{return![];}}function shellQuote(_0x271426){const _0x30a91f=a0_0x5d1578;return'\x27'+_0x271426[_0x30a91f(0x1dc)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function corePackageRoot(_0x5a7d54){const _0x9de05d=a0_0x5d1578;return path['resolve'](path[_0x9de05d(0x1e6)](_0x5a7d54),'..');}function nodePtyPackageRoot(_0x3627e1){const _0x2cf20d=a0_0x5d1578,_0x4c89e1=(0x0,import_module[_0x2cf20d(0x1cb)])(_0x3627e1),_0x5dcfbe=_0x4c89e1['resolve'](_0x2cf20d(0x15d));let _0x7dc477=path['dirname'](_0x5dcfbe);for(let _0x307ca9=0x0;_0x307ca9<0x5;_0x307ca9++){const _0x4afb39=path[_0x2cf20d(0x180)](_0x7dc477,_0x2cf20d(0x1e9));try{const _0x4e64f3=JSON['parse'](fs['readFileSync'](_0x4afb39,'utf-8'));if(_0x4e64f3[_0x2cf20d(0x1e5)]==='node-pty')return _0x7dc477;}catch{}const _0x34e5cd=path[_0x2cf20d(0x1e6)](_0x7dc477);if(_0x34e5cd===_0x7dc477)break;_0x7dc477=_0x34e5cd;}return path['resolve'](path['dirname'](_0x5dcfbe),'..');}function nodePtyNativeCandidates(_0x13593d){const _0x16f0f5=a0_0x5d1578;return[path['join'](_0x13593d,_0x16f0f5(0x15b),'Release','pty.node'),path['join'](_0x13593d,_0x16f0f5(0x188),process['platform']+'-'+process[_0x16f0f5(0x1d1)],'pty.node')];}function hasNodePtyNativeModule(_0x23722b){return nodePtyNativeCandidates(_0x23722b)['some'](_0x28cdcf=>fs['existsSync'](_0x28cdcf));}function printNodePtyRebuildHint(_0x2c9dda){const _0x7cfae3=a0_0x5d1578,_0x22983e=corePackageRoot(_0x2c9dda);console[_0x7cfae3(0x1ed)](_0x7cfae3(0x1d9)+':'),console[_0x7cfae3(0x1ed)]('\x20\x20cd\x20'+shellQuote(_0x22983e)),console[_0x7cfae3(0x1ed)](_0x7cfae3(0x175)+'ty\x20--verbose');}function ensureNodePtyNativeModule(_0x3b433a){const _0x245ca0=a0_0x5d1578;if(process['platform']==='win32')return;let _0x4edb4a='';try{_0x4edb4a=nodePtyPackageRoot(_0x3b433a);}catch(_0x5aba7c){console[_0x245ca0(0x1ed)]('[wrapper]\x20node-pty\x20d'+'ependency\x20not\x20resolv'+'able\x20for\x20core:\x20'+_0x5aba7c[_0x245ca0(0x169)]),printNodePtyRebuildHint(_0x3b433a);return;}const _0x135c16=((()=>{try{return fs['realpathSync'](_0x4edb4a);}catch{return _0x4edb4a;}})());if(CHECKED_NODE_PTY_RUNTIMES[_0x245ca0(0x165)](_0x135c16))return;CHECKED_NODE_PTY_RUNTIMES['add'](_0x135c16);if(hasNodePtyNativeModule(_0x4edb4a))return;const _0x2aee97=resolveExecutable('npm');console['warn']('[wrapper]\x20node-pty\x20n'+_0x245ca0(0x1b0)+_0x245ca0(0x1cc)+_0x4edb4a),console['warn'](_0x245ca0(0x19f)+_0x245ca0(0x1bd)+'rting\x20core...');if(!_0x2aee97){console['warn'](_0x245ca0(0x199)+'und;\x20cannot\x20rebuild\x20'+'node-pty\x20automatical'+'ly'),printNodePtyRebuildHint(_0x3b433a);return;}const _0x5ce695=corePackageRoot(_0x3b433a),_0x4d755b=(0x0,import_child_process[_0x245ca0(0x190)])(_0x2aee97,[_0x245ca0(0x1e1),_0x245ca0(0x15d),'--verbose'],{'cwd':_0x5ce695,'stdio':_0x245ca0(0x182),'timeout':NPM_INSTALL_TIMEOUT_MS,'env':process.env,'shell':![]});if(_0x4d755b['status']===0x0&&hasNodePtyNativeModule(_0x4edb4a)){console[_0x245ca0(0x1ed)]('[wrapper]\x20node-pty\x20r'+_0x245ca0(0x166));return;}console[_0x245ca0(0x1ed)]('[wrapper]\x20node-pty\x20r'+_0x245ca0(0x198)+(_0x4d755b['status']!==null?_0x245ca0(0x16d)+_0x4d755b['status']+')':'')+(_0x245ca0(0x186)+'tart')),printNodePtyRebuildHint(_0x3b433a);}function coreNodePtySpawnHelperPath(_0x2e2ee9){const _0x118b02=a0_0x5d1578;if(process['platform']!==_0x118b02(0x1b1))return'';try{const _0x40c4d9=(0x0,import_module['createRequire'])(_0x2e2ee9),_0x2a615f=_0x40c4d9[_0x118b02(0x18b)](_0x118b02(0x15d)),_0x385e73=path[_0x118b02(0x18b)](path[_0x118b02(0x1e6)](_0x2a615f),'..');return path[_0x118b02(0x180)](_0x385e73,_0x118b02(0x188),'darwin-'+process[_0x118b02(0x1d1)],_0x118b02(0x1ab));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x3caa28){const _0x2ab0f2=a0_0x5d1578,_0x198877=coreNodePtySpawnHelperPath(_0x3caa28);if(!_0x198877||CHECKED_PTY_HELPERS['has'](_0x198877))return;CHECKED_PTY_HELPERS['add'](_0x198877);if(!fs['existsSync'](_0x198877)){console['warn'](_0x2ab0f2(0x1c8)+_0x2ab0f2(0x174)+'t\x20found:\x20'+_0x198877);return;}if(isExecutable(_0x198877))return;try{const _0xb3a44a=fs[_0x2ab0f2(0x193)](_0x198877)[_0x2ab0f2(0x1c0)];fs['chmodSync'](_0x198877,_0xb3a44a|0x1ed);}catch{}if(isExecutable(_0x198877)){console[_0x2ab0f2(0x1ed)]('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x198877);return;}console[_0x2ab0f2(0x1ed)]('[wrapper]\x20macOS\x20node'+_0x2ab0f2(0x1bb)+_0x2ab0f2(0x1bc)+_0x198877),console['warn']('[wrapper]\x20Run\x20this\x20o'+_0x2ab0f2(0x1d0)+_0x2ab0f2(0x16b)),console['warn']('\x20\x20HELPER='+shellQuote(_0x198877)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0x2ab0f2(0x1ed)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x566dbd=a0_0x5d1578;let _0x23cdc7='';try{_0x23cdc7=coreVersion();}catch{}console['log']('whalent-agent\x20'+WRAPPER_VERSION),console[_0x566dbd(0x1ca)](_0x566dbd(0x171)+WRAPPER_VERSION),console['log']('core\x20'+(_0x23cdc7||'not\x20installed'));}function directCore(_0x30a3f4){const _0x2a2028=a0_0x5d1578,_0x21ad62=findCoreScript();ensureNodePtyNativeModule(_0x21ad62),checkMacNodePtySpawnHelper(_0x21ad62);const _0x116767=(0x0,import_child_process['spawnSync'])(process[_0x2a2028(0x15a)],[_0x21ad62,..._0x30a3f4],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x21ad62},'shell':![]});process['exit'](_0x116767['status']??0x0);}function shouldSupervise(_0x935134){const _0x1749b3=a0_0x5d1578;if(_0x935134['includes'](_0x1749b3(0x1d3)))return![];if(_0x935134['includes']('--resume')||_0x935134[0x0]===_0x1749b3(0x1af))return![];const _0x4ca858=_0x935134[0x0]||'';if(_0x4ca858==='ls'||_0x4ca858==='status'||_0x4ca858==='ps')return![];if(_0x4ca858===_0x1749b3(0x1b9)||_0x4ca858==='daemon-mcp')return![];if(_0x935134[_0x1749b3(0x1cd)]('--help')||_0x935134['includes']('-h'))return![];return!![];}function installCoreVersion(_0x55d8cf){const _0x57bf16=a0_0x5d1578,_0x4d8963=resolveExecutable('npm');if(!_0x4d8963)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x3d3ac6=CORE_PKG_NAME+'@'+_0x55d8cf,_0x16aa21=run(_0x4d8963,[_0x57bf16(0x1ec),'-g',_0x3d3ac6,_0x57bf16(0x1ad)+NPM_REGISTRY]),_0x561f81=((_0x16aa21[_0x57bf16(0x18f)]||'')+'\x0a'+(_0x16aa21['stderr']||''))[_0x57bf16(0x160)]();return{'ok':_0x16aa21['status']===0x0,'output':_0x561f81};}async function superviseCore(_0x335010){const _0x476711=a0_0x5d1578;let _0x1f7366=![],_0x43eee4=null;const _0x2f20a4=[];let _0x4e4e13=MIN_RESTART_DELAY_MS;const _0x9407ab=()=>{const _0x3c9003=a0_0x445a;_0x1f7366=!![];if(_0x43eee4&&!_0x43eee4[_0x3c9003(0x1e8)])try{_0x43eee4['kill'](_0x3c9003(0x192));}catch{}else process[_0x3c9003(0x1a7)](0x0);};process['on'](_0x476711(0x1a3),_0x9407ab),process['on'](_0x476711(0x192),_0x9407ab);while(!![]){const _0x3bd0b5=findCoreScript();ensureNodePtyNativeModule(_0x3bd0b5),checkMacNodePtySpawnHelper(_0x3bd0b5);const _0x3b646a={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x3bd0b5},_0xfb68ba=readUpgradeState(),_0x1d15d2=!!_0xfb68ba?.['pending'];let _0x31b556=![],_0x44f2ec=null,_0x9e4515='';const _0x3c07f4=[],_0x313027=0xc;console[_0x476711(0x1ca)](_0x476711(0x1a4)+'ore:\x20'+_0x3bd0b5),_0x43eee4=(0x0,import_child_process['spawn'])(process['execPath'],[_0x3bd0b5,..._0x335010],{'env':_0x3b646a,'stdio':['inherit','pipe','pipe']});const _0x1823ae=()=>{const _0x252a4f=_0x476711;if(_0x31b556)return;_0x31b556=!![];if(_0x44f2ec)clearTimeout(_0x44f2ec);_0x2f20a4[_0x252a4f(0x1e0)]=0x0,_0x4e4e13=MIN_RESTART_DELAY_MS;const _0x5b9106=readUpgradeState();_0x5b9106?.[_0x252a4f(0x17a)]&&(writeUpgradeState({..._0x5b9106,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x252a4f(0x1ca)]('[wrapper]\x20core\x20upgra'+_0x252a4f(0x172)+(_0x5b9106[_0x252a4f(0x1ba)]||_0x5b9106['target_version']||'')));},_0x5c5bcd=(_0x1e8ca2,_0x12e033=![])=>{const _0x3e765b=_0x476711,_0x2c3174=_0x1e8ca2['toString']();(_0x12e033?process['stderr']:process[_0x3e765b(0x18f)])['write'](_0x2c3174);if(_0x12e033)for(const _0x4dcf0e of _0x2c3174['split'](/\r?\n/)){if(!_0x4dcf0e[_0x3e765b(0x160)]())continue;_0x3c07f4['push'](_0x4dcf0e);if(_0x3c07f4[_0x3e765b(0x1e0)]>_0x313027)_0x3c07f4[_0x3e765b(0x1bf)]();const _0x206b64=_0x4dcf0e[_0x3e765b(0x196)](FATAL_PATTERN);if(_0x206b64)_0x9e4515=_0x206b64[0x0];}(_0x2c3174['includes']('[gateway]\x20Connected')||_0x2c3174[_0x3e765b(0x1cd)]('Gateway\x20registered\x20m'+_0x3e765b(0x1a5))||_0x2c3174['includes'](_0x3e765b(0x1d8)))&&_0x1823ae();};_0x43eee4['stdout']?.['on']('data',_0x9291dc=>_0x5c5bcd(_0x9291dc,![])),_0x43eee4['stderr']?.['on']('data',_0x19dac7=>_0x5c5bcd(_0x19dac7,!![]));_0x1d15d2&&(_0x44f2ec=setTimeout(()=>{const _0x538a43=_0x476711;if(_0x31b556||!_0x43eee4||_0x43eee4[_0x538a43(0x1e8)])return;console[_0x538a43(0x168)](_0x538a43(0x1b3)+'id\x20not\x20become\x20health'+_0x538a43(0x17d)+_0x538a43(0x1ce));try{_0x43eee4[_0x538a43(0x1c2)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x5454a0=await new Promise(_0x25f42e=>{_0x43eee4['once']('exit',(_0x3c6e01,_0x3e8280)=>_0x25f42e({'code':_0x3c6e01,'signal':_0x3e8280}));});if(_0x44f2ec)clearTimeout(_0x44f2ec);_0x43eee4=null;if(_0x1f7366)process[_0x476711(0x1a7)](_0x5454a0[_0x476711(0x179)]??0x0);const _0x5e0587=readUpgradeState();if(_0x5e0587?.['pending']&&!_0x31b556){const _0xe231b1=String(_0x5e0587[_0x476711(0x17b)+'n']||'')[_0x476711(0x160)]();if(_0xe231b1){console[_0x476711(0x168)]('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0xe231b1);const _0x132477=installCoreVersion(_0xe231b1);writeUpgradeState({..._0x5e0587,'pending':![],'rollback':!![],'health_status':_0x132477['ok']?_0x476711(0x173):'rollback_failed','error':_0x132477['ok']?'':_0x132477[_0x476711(0x1b8)]});}else writeUpgradeState({..._0x5e0587,'pending':![],'rollback':!![],'health_status':_0x476711(0x1a9),'error':'previous\x20core\x20versio'+_0x476711(0x163)});}const _0x2050fb=_0x5454a0[_0x476711(0x179)]===SUPERVISED_RESTART_CODE||_0x5e0587?.['pending'];if(!_0x2050fb&&_0x5454a0[_0x476711(0x179)]===0x0)process['exit'](0x0);const _0x2be2b9=Date[_0x476711(0x1c6)]();_0x2f20a4[_0x476711(0x183)](_0x2be2b9);while(_0x2f20a4['length']>0x0&&_0x2be2b9-_0x2f20a4[0x0]>CRASH_WINDOW_MS){_0x2f20a4[_0x476711(0x1bf)]();}const _0x279362=_0x2f20a4['length'];writeLastCrash({'timestamp':_0x2be2b9,'exit_code':_0x5454a0['code'],'exit_signal':_0x5454a0['signal']||null,'fatal_line':_0x9e4515,'raw_tail':_0x3c07f4['join']('\x0a'),'consecutive_crashes':_0x279362}),console['log'](_0x476711(0x1c9)+_0x476711(0x195)+(_0x5454a0[_0x476711(0x179)]??'')+(_0x5454a0['signal']?_0x476711(0x18a)+_0x5454a0[_0x476711(0x1da)]:'')+'\x20('+_0x279362+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x9e4515)console[_0x476711(0x1ca)]('[wrapper]\x20last\x20fatal'+':\x20'+_0x9e4515);_0x279362>=MAX_CRASHES_IN_WINDOW&&(console[_0x476711(0x168)](_0x476711(0x1e2)+'d\x20'+_0x279362+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+(_0x476711(0x1b7)+'record:\x20')+lastCrashFilePath()+(_0x476711(0x19e)+'nually\x20after\x20the\x20und'+_0x476711(0x177)+_0x476711(0x162))),process['exit'](0x1)),console[_0x476711(0x1ca)]('[wrapper]\x20restarting'+'\x20in\x20'+_0x4e4e13+'ms'),await new Promise(_0x401e32=>setTimeout(_0x401e32,_0x4e4e13)),_0x4e4e13=Math['min'](_0x4e4e13*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x5b99dd=a0_0x5d1578,_0x4d1dd0=process['argv']['slice'](0x2);if(_0x4d1dd0[0x0]===_0x5b99dd(0x16c)||_0x4d1dd0[0x0]==='-v'||_0x4d1dd0[0x0]===_0x5b99dd(0x185)){printVersion();return;}if((_0x4d1dd0[0x0]===_0x5b99dd(0x191)||_0x4d1dd0[0x0]==='ls'||_0x4d1dd0[0x0]==='ps')&&!_0x4d1dd0['includes']('--json')){console[_0x5b99dd(0x1ca)](_0x5b99dd(0x171)+WRAPPER_VERSION);try{console[_0x5b99dd(0x1ca)]('core\x20'+(coreVersion()||_0x5b99dd(0x17e)));}catch{console['log']('core\x20not\x20installed');}}maybeUpdateWrapper(_0x4d1dd0);if(!shouldSupervise(_0x4d1dd0))directCore(_0x4d1dd0);await superviseCore(_0x4d1dd0);}main()['catch'](_0x4444bf=>{const _0x11b766=a0_0x5d1578;console[_0x11b766(0x168)]('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x4444bf?.['message']||String(_0x4444bf))),process['exit'](0x1);});
|
|
2
|
+
'use strict';const a0_0x41e4c3=a0_0x3c08;(function(_0x450bd5,_0x2abb69){const _0x4543bf=a0_0x3c08,_0x1f0b04=_0x450bd5();while(!![]){try{const _0x47f6f3=-parseInt(_0x4543bf(0x18c))/0x1*(parseInt(_0x4543bf(0x155))/0x2)+parseInt(_0x4543bf(0x166))/0x3+-parseInt(_0x4543bf(0x128))/0x4+parseInt(_0x4543bf(0x15f))/0x5*(-parseInt(_0x4543bf(0x147))/0x6)+-parseInt(_0x4543bf(0x127))/0x7+parseInt(_0x4543bf(0x125))/0x8+parseInt(_0x4543bf(0x138))/0x9*(parseInt(_0x4543bf(0x12a))/0xa);if(_0x47f6f3===_0x2abb69)break;else _0x1f0b04['push'](_0x1f0b04['shift']());}catch(_0x58cb26){_0x1f0b04['push'](_0x1f0b04['shift']());}}}(a0_0x7c88,0x5f042));var __create=Object[a0_0x41e4c3(0x175)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x41e4c3(0x178)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x41e4c3(0x10e)],__hasOwnProp=Object[a0_0x41e4c3(0x154)][a0_0x41e4c3(0x143)],__copyProps=(_0x142f9d,_0x5b7886,_0x2264e5,_0x3f75e9)=>{const _0x110014=a0_0x41e4c3;if(_0x5b7886&&typeof _0x5b7886==='object'||typeof _0x5b7886===_0x110014(0x183)){for(let _0x2170bf of __getOwnPropNames(_0x5b7886))if(!__hasOwnProp[_0x110014(0x134)](_0x142f9d,_0x2170bf)&&_0x2170bf!==_0x2264e5)__defProp(_0x142f9d,_0x2170bf,{'get':()=>_0x5b7886[_0x2170bf],'enumerable':!(_0x3f75e9=__getOwnPropDesc(_0x5b7886,_0x2170bf))||_0x3f75e9['enumerable']});}return _0x142f9d;},__toESM=(_0x1aa222,_0x256e52,_0x3d7461)=>(_0x3d7461=_0x1aa222!=null?__create(__getProtoOf(_0x1aa222)):{},__copyProps(_0x256e52||!_0x1aa222||!_0x1aa222['__esModule']?__defProp(_0x3d7461,a0_0x41e4c3(0x131),{'value':_0x1aa222,'enumerable':!![]}):_0x3d7461,_0x1aa222)),import_child_process2=require(a0_0x41e4c3(0x122)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x41e4c3(0x176)),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x41e4c3(0x161)),0x1),import_child_process=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x41e4c3(0x161));function isWindowsCmdFile(_0x12da4d){const _0x595277=a0_0x41e4c3;return process[_0x595277(0x14b)]===_0x595277(0x157)&&/\.(cmd|bat)$/i['test'](_0x12da4d||'');}function quoteCmdArg(_0x508c1b){const _0x47c260=a0_0x41e4c3,_0x2af12c=String(_0x508c1b??'');if(_0x2af12c&&!/[\s"&|<>^%]/['test'](_0x2af12c))return _0x2af12c;return'\x22'+_0x2af12c['replace'](/(["^&|<>%])/g,_0x47c260(0x156))+'\x22';}function cmdFallbackArgs(_0x3830d1,_0x2197b0){const _0x2934e1=a0_0x41e4c3;return['/d','/s','/c',[quoteCmdArg(_0x3830d1),..._0x2197b0[_0x2934e1(0x121)](quoteCmdArg)][_0x2934e1(0x177)]('\x20')];}function resolveExecutablePath(_0x14a210){const _0x2a49a6=a0_0x41e4c3;if(!_0x14a210)return null;if(_0x14a210[_0x2a49a6(0xf5)]('/')||_0x14a210[_0x2a49a6(0xf5)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x14a210))return(0x0,import_fs['existsSync'])(_0x14a210)?_0x14a210:_0x14a210;const _0x3f8d81=process[_0x2a49a6(0x14b)]==='win32',_0x55e56f=_0x3f8d81?'where.exe':'which';try{const _0x3f3c8b=(0x0,import_child_process[_0x2a49a6(0x185)])(_0x55e56f,[_0x14a210],{'encoding':_0x2a49a6(0xfd),'timeout':0xbb8,'shell':![]});if(_0x3f3c8b['status']===0x0){const _0x435751=(_0x3f3c8b['stdout']||'')[_0x2a49a6(0x15d)]()['split'](/\r?\n/)[_0x2a49a6(0x189)](Boolean);if(_0x435751['length']===0x0)return null;if(_0x3f8d81)for(const _0x215a90 of['.exe',_0x2a49a6(0xfa),_0x2a49a6(0x129),'.ps1']){const _0x209e12=_0x435751[_0x2a49a6(0x14e)](_0x134324=>_0x134324['toLowerCase']()[_0x2a49a6(0x14a)](_0x215a90));if(_0x209e12)return _0x209e12;}return _0x435751[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x21be31){const _0x520ae7=a0_0x41e4c3;if(process['platform']!==_0x520ae7(0x157))return null;if(!/\.(cmd|bat)$/i['test'](_0x21be31))return null;let _0x1aa830;try{_0x1aa830=(0x0,import_fs['readFileSync'])(_0x21be31,'utf-8');}catch{return null;}const _0x396cc8=_0x1aa830['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x396cc8){const _0x80df00=(0x0,import_path[_0x520ae7(0x174)])((0x0,import_path[_0x520ae7(0x15a)])(_0x21be31),_0x396cc8[0x2]);if((0x0,import_fs[_0x520ae7(0x15c)])(_0x80df00))return{'type':'node','path':_0x80df00};}const _0x27aefd=_0x1aa830[_0x520ae7(0x16e)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x27aefd){const _0x46c748=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x21be31),_0x27aefd[0x2]);if((0x0,import_fs['existsSync'])(_0x46c748))return{'type':'exe','path':_0x46c748};}return null;}function safeSpawnSync(_0xc93243,_0x5c754f,_0x33cc19={}){const _0x214d93=a0_0x41e4c3,_0x22f054=unwrapWindowsCmdShim(_0xc93243);if(_0x22f054?.[_0x214d93(0x17e)]==='node')return(0x0,import_child_process['spawnSync'])(process[_0x214d93(0x136)],[_0x22f054[_0x214d93(0x161)],..._0x5c754f],_0x33cc19);if(_0x22f054?.[_0x214d93(0x17e)]==='exe')return(0x0,import_child_process[_0x214d93(0x185)])(_0x22f054[_0x214d93(0x161)],_0x5c754f,_0x33cc19);if(isWindowsCmdFile(_0xc93243))return(0x0,import_child_process[_0x214d93(0x185)])(process.env.ComSpec||_0x214d93(0x171),cmdFallbackArgs(_0xc93243,_0x5c754f),_0x33cc19);return(0x0,import_child_process['spawnSync'])(_0xc93243,_0x5c754f,_0x33cc19);}function a0_0x7c88(){const _0x4be7d8=['B3v0Chv0','Bwf4','y21KlMv4zq','ANmUB3jN','ChvZAa','CMvZB2X2zq','y3jLyxrL','Bw9KDwXL','AM9PBG','z2v0t3DUuhjVCgvYDhLezxnJCMK','u0Lhvevstq','C29YDa','AgvHBhrOEq','zgfYD2LUlq','ic0+ia','DhLWzq','zgf0yq','Bw9Kzq','igzYB20GBNbTigjLzM9YzsbZDge','ig5VzguTChr5igjLzM9YzsbZDge','zNvUy3rPB24','j1WNjW','C3bHD25tEw5J','CNrPBMCGy29Yzs4UlG','y3jLyxrLuMvXDwLYzq','qgXHDgvZDa','zMLSDgvY','w3DYyxbWzxjDig5VzguTChr5igq','yxrPDMuGBw9KDwXLigLZig1PC3m','nZi3Exvhwvrl','Aw5OzxjPDa','w3DYyxbWzxjDigzPEgvKig1Hy08','BNbTig5VDcbMB3vUzcbVBIbqqvq','Aw5JBhvKzxm','lxb0EsbZCgf3BI1OzwXWzxiGBM8','CMvWBgfJzq','qhDOywXLBNq','BM90igLUC3rHBgXLza','lMnTza','y2HTB2rtEw5J','Aw5KzxG','DxrMltG','A2LSBa','igLUia','CgfJA2fNzs5QC29U','oYbJB3jLig1HEsbMywLSihrVihm','w3DYyxbWzxjDihjLC3rHCNrPBMC','zgfYD2LU','ls1QC29U','r2f0zxDHEsbYzwDPC3rLCMvKig0','CgvUzgLUzW','y2SGy29Yzsb0BYa','C3rKB3v0','icbJzca','CgLWzq','Dg9mB3DLCKnHC2u','Aw5KzxGUy2PZ','w3DYyxbWzxjDig5VzguTChr5ihi','z2v0uhjVDg90ExbLt2y','ls12zxjZAw9U','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','ChjLDMLVDxmGy29Yzsb2zxjZAw8','AgfZ','qhDOywXLBNqVywDLBNq','w3DYyxbWzxjDihvWzgf0zsbHDMe','D2HHBgvUDc1Hz2vUDca','y29Yzq','icbiruXqrvi9','ls1YzwDPC3rYEt0','EwvZ','y29Kzq','BM93','w3DYyxbWzxjDig5LDYbJB3jLigq','BNbT','CgfYC2vjBNq','ig5VDcbMB3vUzdSGAw5ZDgfSBca','zgLZDa','BwfW','y2HPBgrFChjVy2vZCW','CJOG','ywrK','mtqYnJm2mgHuyxn0zW','icHLEgL0pq','mJmXmtKXogvVCMnTBq','mtq0nZqZmKDVzxriyW','lMjHDa','mJy0mZqZmgvOD2DptW','BwvZC2fNzq','B3iGCMvIDwLSzcbaD2HHBgvUDc8','ywDLBNqTy29Yzq','C2LNBMfS','C3rHDhvZ','zgfLBw9Ulw1JCa','zgvMyxvSDa','A2LSBgvK','D3jPDgvgAwXLu3LUyW','y2fSBa','C3bSAxq','zxHLy1bHDgG','Bg9N','mJD2thDRz0W','C3bHD24','D3jPDgu','BwTKAxjtEw5J','DMvYC2LVBG','C3rYAw5NAwz5','ChjLDMLVDxnFy29Yzv92zxjZAw8','D2fYBG','C3rKzxjY','C3rHDfn5BMm','zxHPDa','AgfZt3DUuhjVCgvYDhK','DxrMoa','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','Aw5NihvUzgvYia','odm0nZi2Auncv09h','ls1Yzxn1Bwu','w3DYyxbWzxjDihjVBgXPBMCGyMe','zw5KC1DPDgG','CgXHDgzVCM0','BM9Kzs1WDhK','zguGAgvHBhrOEtOG','zMLUza','y29YzsbUB3qGAw5ZDgfSBgvK','CM9SBgjHy2TFDw5HDMfPBgfIBgu','Cg9W','BgvUz3rO','AwqGBM90igjLy29TzsbOzwfSDgG','ChjVDg90ExbL','ntG4vevsrKvU','xIqX','D2LUmZi','yxjNDG','BNbTig5VDcbMB3vUza','zgLYBMfTzq','CMvHzezPBgvtEw5J','zxHPC3rZu3LUyW','DhjPBq','Aw5ZDgfSBa','nwz6s0rrwG','BIb1BMTUB3DU','Cgf0Aa','BNvHBgX5igfMDgvYihrOzsb1BMq','Dg9tDhjPBMC','zwqU','Dw5KoYbJyw5UB3qGCMvIDwLSzca','mtm4odu1oxHOyMXdAa','zxbLBMrLBMn5ig5VDcbYzxnVBhy','BMnLihrVigzPEcb0zxjTAw5HBc8','yNvPBgq','w2DHDgv3yxLDienVBM5Ly3rLza','CM9VDa','mc4WlJa','w3DYyxbWzxjDignVCMuGzxHPDgu','Bwf0y2G'];a0_0x7c88=function(){return _0x4be7d8;};return a0_0x7c88();}var WRAPPER_PKG_NAME=a0_0x41e4c3(0x113),CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY=a0_0x41e4c3(0x145)+a0_0x41e4c3(0x172),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(),CHECKED_NODE_PTY_RUNTIMES=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){return path['join'](os['homedir'](),'.whalent-agent');}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){return path['join'](configDir(),'last-crash.json');}function writeLastCrash(_0x3fb218){const _0x5de597=a0_0x41e4c3;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x139c2d={..._0x3fb218,'reported':![]};fs[_0x5de597(0x133)](lastCrashFilePath(),JSON[_0x5de597(0x13d)](_0x139c2d,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x538486=a0_0x41e4c3;try{const _0x4fc9d4=JSON['parse'](fs[_0x538486(0x15b)](path[_0x538486(0x177)](wrapperBaseDir(),'..','package.json'),_0x538486(0xfd)));return String(_0x4fc9d4['version']||_0x538486(0x16c));}catch{return _0x538486(0x16c);}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x22bd89){const _0x665cca=a0_0x41e4c3;try{fs[_0x665cca(0x13b)](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x22bd89,'updated_at':Date[_0x665cca(0x11b)]()},null,0x2),'utf-8');}catch{}}function run(_0x15c644,_0x3fb192,_0x314eac=process.env){return safeSpawnSync(_0x15c644,_0x3fb192,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x314eac,'shell':![]});}function runNpmView(_0x428899){const _0x461af7=a0_0x41e4c3,_0x1de8aa=resolveExecutablePath(_0x461af7(0x11d));if(!_0x1de8aa)return{'status':0x7f,'stdout':'','stderr':_0x461af7(0x159),'error':new Error(_0x461af7(0x159))};return safeSpawnSync(_0x1de8aa,_0x428899,{'encoding':_0x461af7(0x144),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x41445b=a0_0x41e4c3,_0x2de44b=resolveExecutablePath(_0x41445b(0x11d));if(!_0x2de44b)return'';const _0x4eca25=run(_0x2de44b,[_0x41445b(0x16b),'-g']);if(_0x4eca25['status']!==0x0)return'';return String(_0x4eca25['stdout']||'')[_0x41445b(0x15d)]();}function compareSemver(_0x6154d,_0x38cef5){const _0x585d4b=a0_0x41e4c3,_0x1c5a15=String(_0x6154d||'')[_0x585d4b(0xf7)](/^v/,'')[_0x585d4b(0x135)](/[.-]/)['map'](_0x558489=>Number[_0x585d4b(0x11e)](_0x558489,0xa)||0x0),_0x2bc69d=String(_0x38cef5||'')['replace'](/^v/,'')[_0x585d4b(0x135)](/[.-]/)[_0x585d4b(0x121)](_0x34f76b=>Number[_0x585d4b(0x11e)](_0x34f76b,0xa)||0x0);for(let _0x50528b=0x0;_0x50528b<Math[_0x585d4b(0x170)](_0x1c5a15[_0x585d4b(0x152)],_0x2bc69d['length'],0x3);_0x50528b++){const _0x24ccfe=_0x1c5a15[_0x50528b]||0x0,_0x3c3863=_0x2bc69d[_0x50528b]||0x0;if(_0x24ccfe>_0x3c3863)return 0x1;if(_0x24ccfe<_0x3c3863)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x5adcf2=a0_0x41e4c3,_0x165afe=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x5adcf2(0x10b)]();return _0x165afe==='1'||_0x165afe==='true'||_0x165afe===_0x5adcf2(0x119)||_0x165afe==='on';}function latestWrapperVersion(){const _0x30ec54=a0_0x41e4c3,_0x655dec=runNpmView(['view',WRAPPER_PKG_NAME+_0x30ec54(0x188),'version',_0x30ec54(0x118)+NPM_REGISTRY]);if(_0x655dec['status']!==0x0)return'';return String(_0x655dec['stdout']||'')[_0x30ec54(0x15d)]()[_0x30ec54(0x135)](/\r?\n/)[_0x30ec54(0x189)](Boolean)[_0x30ec54(0x151)]()||'';}function installWrapperVersion(_0xba6a83){const _0x541ae0=a0_0x41e4c3,_0x2a9706=resolveExecutablePath('npm');if(!_0x2a9706)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x84650=run(_0x2a9706,['install','-g',WRAPPER_PKG_NAME+'@'+_0xba6a83,'--registry='+NPM_REGISTRY]),_0x475e0f=((_0x84650[_0x541ae0(0x108)]||'')+'\x0a'+(_0x84650['stderr']||''))['trim']();return{'ok':_0x84650['status']===0x0,'output':_0x475e0f};}function maybeUpdateWrapper(_0x3140cd){const _0x53af9a=a0_0x41e4c3;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x25e24a=latestWrapperVersion();if(!_0x25e24a||compareSemver(_0x25e24a,WRAPPER_VERSION)<=0x0)return![];console['warn'](_0x53af9a(0x114)+'ilable:\x20'+WRAPPER_VERSION+_0x53af9a(0x17d)+_0x25e24a),console[_0x53af9a(0x13f)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x25e24a+(_0x53af9a(0x181)+_0x53af9a(0x186)));const _0x3ca1d2=installWrapperVersion(_0x25e24a);if(!_0x3ca1d2['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x3ca1d2['output'])console['warn'](_0x3ca1d2[_0x53af9a(0x16f)][_0x53af9a(0x135)](/\r?\n/)['slice'](-0xc)[_0x53af9a(0x177)]('\x0a'));return console[_0x53af9a(0x13f)]('[wrapper]\x20Manual\x20upd'+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x25e24a+'\x20--registry='+NPM_REGISTRY),![];}console[_0x53af9a(0x13f)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x25e24a+';\x20restarting\x20wrapper');const _0x421bbe=process[_0x53af9a(0x158)][0x1],_0xae333f=(0x0,import_child_process2[_0x53af9a(0x185)])(process['execPath'],[_0x421bbe,..._0x3140cd],{'stdio':_0x53af9a(0x18d),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x25e24a},'shell':![]});process[_0x53af9a(0x142)](_0xae333f[_0x53af9a(0x12f)]??0x0);}function findCoreScript(){const _0x4d161b=a0_0x41e4c3,_0x3893d7=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x14c721=['1','true',_0x4d161b(0x119),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x4d161b(0x15d)]()['toLowerCase']());if(_0x3893d7&&_0x14c721&&fs['existsSync'](_0x3893d7))return _0x3893d7;const _0x3f71ec=[],_0x41aecf=_0x24782c=>{const _0xbb3405=_0x4d161b;if(fs['existsSync'](_0x24782c)&&!_0x3f71ec['includes'](_0x24782c))_0x3f71ec[_0xbb3405(0x173)](_0x24782c);};if(_0x3893d7)_0x41aecf(_0x3893d7);const _0x4b5ab9=npmRootGlobal();if(_0x4b5ab9){const _0x1fa1d1=path['join'](_0x4b5ab9,_0x4d161b(0xf8),_0x4d161b(0x12d),_0x4d161b(0x120),_0x4d161b(0x10c));_0x41aecf(_0x1fa1d1);}const _0x3b3f59=path['join'](wrapperBaseDir(),'core.cjs');_0x41aecf(_0x3b3f59);const _0x248736=path['join'](wrapperBaseDir(),'..','packages',_0x4d161b(0x116),'dist','index.cjs');_0x41aecf(_0x248736);if(_0x3f71ec['length']>0x0)return _0x3f71ec['map']((_0x40a6d9,_0x4a89c5)=>({'candidate':_0x40a6d9,'index':_0x4a89c5,'version':coreVersion(_0x40a6d9)}))[_0x4d161b(0x17a)]((_0x387940,_0x40e526)=>{const _0x4a9aef=_0x4d161b,_0x21f1bc=compareSemver(_0x40e526['version'],_0x387940[_0x4a9aef(0x13c)]);if(_0x21f1bc!==0x0)return _0x21f1bc;return _0x40e526[_0x4a9aef(0xfc)]-_0x387940['index'];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+_0x4d161b(0x11f)+'@whalent/agent-core\x20'+_0x4d161b(0x12c)+'agent');}function coreVersion(_0x4c3dcf=findCoreScript()){const _0x12405f=a0_0x41e4c3;ensureNodePtyNativeModule(_0x4c3dcf);const _0x113975=(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x4c3dcf,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x2ed4a7=(_0x113975[_0x12405f(0x108)]||'')+'\x0a'+(_0x113975[_0x12405f(0x140)]||'');return _0x2ed4a7['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x49037c){try{return fs['accessSync'](_0x49037c,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x1c7de5){const _0x2aa831=a0_0x41e4c3;return'\x27'+_0x1c7de5['replace'](/'/g,_0x2aa831(0x184))+'\x27';}function corePackageRoot(_0x4011a5){const _0x574e3c=a0_0x41e4c3;return path['resolve'](path[_0x574e3c(0x15a)](_0x4011a5),'..');}function nodePtyPackageRoot(_0x5a7102){const _0x167245=a0_0x41e4c3,_0x19f233=(0x0,import_module['createRequire'])(_0x5a7102),_0x17690a=_0x19f233[_0x167245(0x174)](_0x167245(0x14c));let _0x400a67=path[_0x167245(0x15a)](_0x17690a);for(let _0x620510=0x0;_0x620510<0x5;_0x620510++){const _0x191f3b=path[_0x167245(0x177)](_0x400a67,_0x167245(0x100));try{const _0x4ff5c5=JSON['parse'](fs['readFileSync'](_0x191f3b,'utf-8'));if(_0x4ff5c5['name']===_0x167245(0x14c))return _0x400a67;}catch{}const _0x3f9e00=path['dirname'](_0x400a67);if(_0x3f9e00===_0x400a67)break;_0x400a67=_0x3f9e00;}return path[_0x167245(0x174)](path[_0x167245(0x15a)](_0x17690a),'..');}function nodePtyNativeCandidates(_0x3ec6b5){const _0x11a933=a0_0x41e4c3;return[path[_0x11a933(0x177)](_0x3ec6b5,_0x11a933(0x169),'Release','pty.node'),path['join'](_0x3ec6b5,'prebuilds',process[_0x11a933(0x14b)]+'-'+process['arch'],'pty.node')];}function hasNodePtyNativeModule(_0x3c4bb2){return nodePtyNativeCandidates(_0x3c4bb2)['some'](_0x3ba2fa=>fs['existsSync'](_0x3ba2fa));}function printNodePtyRebuildHint(_0x509a2d){const _0x52c2a4=a0_0x41e4c3,_0x3b14e0=corePackageRoot(_0x509a2d);console['warn']('[wrapper]\x20Manual\x20fix'+':'),console[_0x52c2a4(0x13f)](_0x52c2a4(0x109)+shellQuote(_0x3b14e0)),console[_0x52c2a4(0x13f)]('\x20\x20npm\x20rebuild\x20node-p'+'ty\x20--verbose');}function ensureNodePtyNativeModule(_0x4e9ff1){const _0x469499=a0_0x41e4c3;if(process['platform']===_0x469499(0x157))return;let _0x18b7e7='';try{_0x18b7e7=nodePtyPackageRoot(_0x4e9ff1);}catch(_0x4d8c3a){console['warn'](_0x469499(0x18a)+_0x469499(0x167)+'able\x20for\x20core:\x20'+_0x4d8c3a[_0x469499(0x12b)]),printNodePtyRebuildHint(_0x4e9ff1);return;}const _0x3a1628=((()=>{try{return fs['realpathSync'](_0x18b7e7);}catch{return _0x18b7e7;}})());if(CHECKED_NODE_PTY_RUNTIMES[_0x469499(0x112)](_0x3a1628))return;CHECKED_NODE_PTY_RUNTIMES[_0x469499(0x124)](_0x3a1628);if(hasNodePtyNativeModule(_0x18b7e7))return;const _0x1cc115=resolveExecutablePath('npm');console['warn']('[wrapper]\x20node-pty\x20n'+_0x469499(0x18b)+_0x469499(0x146)+_0x18b7e7),console['warn']('[wrapper]\x20rebuilding'+_0x469499(0x182)+_0x469499(0x186));if(!_0x1cc115){console[_0x469499(0x13f)]('[wrapper]\x20npm\x20not\x20fo'+_0x469499(0x165)+'node-pty\x20automatical'+'ly'),printNodePtyRebuildHint(_0x4e9ff1);return;}const _0xf8f595=corePackageRoot(_0x4e9ff1),_0x599243=safeSpawnSync(_0x1cc115,['rebuild','node-pty','--verbose'],{'cwd':_0xf8f595,'stdio':_0x469499(0x18d),'timeout':NPM_INSTALL_TIMEOUT_MS,'env':process.env,'shell':![]});if(_0x599243[_0x469499(0x12f)]===0x0&&hasNodePtyNativeModule(_0x18b7e7)){console['warn'](_0x469499(0x10d)+'ebuild\x20completed');return;}console[_0x469499(0x13f)](_0x469499(0x10d)+'ebuild\x20failed'+(_0x599243['status']!==null?_0x469499(0x126)+_0x599243['status']+')':'')+(_0x469499(0x101)+'tart')),printNodePtyRebuildHint(_0x4e9ff1);}function coreNodePtySpawnHelperPath(_0x3ede55){const _0x59fa21=a0_0x41e4c3;if(process['platform']!==_0x59fa21(0x103))return'';try{const _0x59c43e=(0x0,import_module[_0x59fa21(0x187)])(_0x3ede55),_0x3cde6f=_0x59c43e[_0x59fa21(0x174)](_0x59fa21(0x14c)),_0x56bfc4=path['resolve'](path[_0x59fa21(0x15a)](_0x3cde6f),'..');return path['join'](_0x56bfc4,'prebuilds',_0x59fa21(0x17c)+process['arch'],'spawn-helper');}catch{return'';}}function a0_0x3c08(_0x121d65,_0x230323){_0x121d65=_0x121d65-0xf4;const _0x7c88a0=a0_0x7c88();let _0x3c0862=_0x7c88a0[_0x121d65];if(a0_0x3c08['gTWYgG']===undefined){var _0x42732a=function(_0x135749){const _0x2c4982='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x142f9d='',_0x5b7886='';for(let _0x2264e5=0x0,_0x3f75e9,_0x2170bf,_0x1aa222=0x0;_0x2170bf=_0x135749['charAt'](_0x1aa222++);~_0x2170bf&&(_0x3f75e9=_0x2264e5%0x4?_0x3f75e9*0x40+_0x2170bf:_0x2170bf,_0x2264e5++%0x4)?_0x142f9d+=String['fromCharCode'](0xff&_0x3f75e9>>(-0x2*_0x2264e5&0x6)):0x0){_0x2170bf=_0x2c4982['indexOf'](_0x2170bf);}for(let _0x256e52=0x0,_0x3d7461=_0x142f9d['length'];_0x256e52<_0x3d7461;_0x256e52++){_0x5b7886+='%'+('00'+_0x142f9d['charCodeAt'](_0x256e52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b7886);};a0_0x3c08['viuQho']=_0x42732a,a0_0x3c08['sYQhgA']={},a0_0x3c08['gTWYgG']=!![];}const _0x2162bd=_0x7c88a0[0x0],_0x3a0fa6=_0x121d65+_0x2162bd,_0x314b6f=a0_0x3c08['sYQhgA'][_0x3a0fa6];return!_0x314b6f?(_0x3c0862=a0_0x3c08['viuQho'](_0x3c0862),a0_0x3c08['sYQhgA'][_0x3a0fa6]=_0x3c0862):_0x3c0862=_0x314b6f,_0x3c0862;}function checkMacNodePtySpawnHelper(_0xfd898a){const _0x49382b=a0_0x41e4c3,_0x4b33b5=coreNodePtySpawnHelperPath(_0xfd898a);if(!_0x4b33b5||CHECKED_PTY_HELPERS[_0x49382b(0x112)](_0x4b33b5))return;CHECKED_PTY_HELPERS['add'](_0x4b33b5);if(!fs[_0x49382b(0x15c)](_0x4b33b5)){console[_0x49382b(0x13f)]('[wrapper]\x20macOS\x20node'+_0x49382b(0xf6)+'t\x20found:\x20'+_0x4b33b5);return;}if(isExecutable(_0x4b33b5))return;try{const _0x3df388=fs[_0x49382b(0x141)](_0x4b33b5)[_0x49382b(0x180)];fs[_0x49382b(0xfb)](_0x4b33b5,_0x3df388|0x1ed);}catch{}if(isExecutable(_0x4b33b5)){console[_0x49382b(0x13f)](_0x49382b(0x18e)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x4b33b5);return;}console[_0x49382b(0x13f)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x4b33b5),console[_0x49382b(0x13f)]('[wrapper]\x20Run\x20this\x20o'+_0x49382b(0x168)+'PTY\x20startup:'),console['warn'](_0x49382b(0x117)+shellQuote(_0x4b33b5)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0x49382b(0x13f)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x447cdb=a0_0x41e4c3;let _0x4640b0='';try{_0x4640b0=coreVersion();}catch{}console[_0x447cdb(0x137)](_0x447cdb(0x115)+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console['log']('core\x20'+(_0x4640b0||'not\x20installed'));}function directCore(_0x274abe){const _0x288c8a=a0_0x41e4c3,_0x193d09=findCoreScript();ensureNodePtyNativeModule(_0x193d09),checkMacNodePtySpawnHelper(_0x193d09);const _0x37520d=(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x193d09,..._0x274abe],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x193d09},'shell':![]});process[_0x288c8a(0x142)](_0x37520d[_0x288c8a(0x12f)]??0x0);}function shouldSupervise(_0x134445){const _0x1ad86c=a0_0x41e4c3;if(_0x134445['includes']('--agent-id'))return![];if(_0x134445['includes'](_0x1ad86c(0x148))||_0x134445[0x0]==='resume')return![];const _0x188f63=_0x134445[0x0]||'';if(_0x188f63==='ls'||_0x188f63==='status'||_0x188f63==='ps')return![];if(_0x188f63==='mcp'||_0x188f63===_0x1ad86c(0x130))return![];if(_0x134445[_0x1ad86c(0xf5)]('--help')||_0x134445['includes']('-h'))return![];return!![];}function installCoreVersion(_0x219f32){const _0x3e3f70=a0_0x41e4c3,_0x554db7=resolveExecutablePath(_0x3e3f70(0x11d));if(!_0x554db7)return{'ok':![],'output':_0x3e3f70(0xf4)+'H'};const _0x5ed464=CORE_PKG_NAME+'@'+_0x219f32,_0x574c24=run(_0x554db7,[_0x3e3f70(0x15e),'-g',_0x5ed464,_0x3e3f70(0x118)+NPM_REGISTRY]),_0x363430=((_0x574c24[_0x3e3f70(0x108)]||'')+'\x0a'+(_0x574c24[_0x3e3f70(0x140)]||''))['trim']();return{'ok':_0x574c24[_0x3e3f70(0x12f)]===0x0,'output':_0x363430};}async function superviseCore(_0x51b657){const _0x26e38e=a0_0x41e4c3;let _0x395564=![],_0x44ff60=null;const _0x47e455=[];let _0x62c7ef=MIN_RESTART_DELAY_MS;const _0x5f2757=()=>{const _0x142912=a0_0x3c08;_0x395564=!![];if(_0x44ff60&&!_0x44ff60['killed'])try{_0x44ff60['kill'](_0x142912(0x179));}catch{}else process[_0x142912(0x142)](0x0);};process['on']('SIGINT',_0x5f2757),process['on']('SIGTERM',_0x5f2757);while(!![]){const _0x26e57a=findCoreScript();ensureNodePtyNativeModule(_0x26e57a),checkMacNodePtySpawnHelper(_0x26e57a);const _0x13dfaa={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x26e57a},_0x5ca1b2=readUpgradeState(),_0x4290d9=!!_0x5ca1b2?.['pending'];let _0xc8fbbf=![],_0x3bd9e8=null,_0x10cdeb='';const _0x108eaf=[],_0x1d05b2=0xc;console['log']('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x26e57a),_0x44ff60=(0x0,import_child_process2[_0x26e38e(0x139)])(process[_0x26e38e(0x136)],[_0x26e57a,..._0x51b657],{'env':_0x13dfaa,'stdio':['inherit','pipe',_0x26e38e(0x10a)]});const _0x179e1d=()=>{const _0xb0f22b=_0x26e38e;if(_0xc8fbbf)return;_0xc8fbbf=!![];if(_0x3bd9e8)clearTimeout(_0x3bd9e8);_0x47e455[_0xb0f22b(0x152)]=0x0,_0x62c7ef=MIN_RESTART_DELAY_MS;const _0x1e87ff=readUpgradeState();_0x1e87ff?.['pending']&&(writeUpgradeState({..._0x1e87ff,'pending':![],'rollback':![],'health_status':_0xb0f22b(0x17b)}),console['log']('[wrapper]\x20core\x20upgra'+_0xb0f22b(0x14d)+(_0x1e87ff['installed_version']||_0x1e87ff['target_version']||'')));},_0x377746=(_0xbb9821,_0x335905=![])=>{const _0x10709e=_0x26e38e,_0x484e3f=_0xbb9821[_0x10709e(0x163)]();(_0x335905?process['stderr']:process[_0x10709e(0x108)])[_0x10709e(0x13a)](_0x484e3f);if(_0x335905)for(const _0x101be1 of _0x484e3f[_0x10709e(0x135)](/\r?\n/)){if(!_0x101be1[_0x10709e(0x15d)]())continue;_0x108eaf[_0x10709e(0x173)](_0x101be1);if(_0x108eaf[_0x10709e(0x152)]>_0x1d05b2)_0x108eaf['shift']();const _0x3dc700=_0x101be1['match'](FATAL_PATTERN);if(_0x3dc700)_0x10cdeb=_0x3dc700[0x0];}(_0x484e3f['includes'](_0x10709e(0x16a))||_0x484e3f['includes'](_0x10709e(0x105)+'achine')||_0x484e3f[_0x10709e(0xf5)]('Gateway:\x20connected'))&&_0x179e1d();};_0x44ff60[_0x26e38e(0x108)]?.['on'](_0x26e38e(0x17f),_0x2efc9c=>_0x377746(_0x2efc9c,![])),_0x44ff60['stderr']?.['on']('data',_0x5048f6=>_0x377746(_0x5048f6,!![]));_0x4290d9&&(_0x3bd9e8=setTimeout(()=>{const _0x4fd52a=_0x26e38e;if(_0xc8fbbf||!_0x44ff60||_0x44ff60[_0x4fd52a(0x132)])return;console['error'](_0x4fd52a(0x11c)+_0x4fd52a(0x153)+_0x4fd52a(0x110)+'ack');try{_0x44ff60[_0x4fd52a(0xfe)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x4dfe30=await new Promise(_0x4bc2de=>{_0x44ff60['once']('exit',(_0x2a82b1,_0x22d4d4)=>_0x4bc2de({'code':_0x2a82b1,'signal':_0x22d4d4}));});if(_0x3bd9e8)clearTimeout(_0x3bd9e8);_0x44ff60=null;if(_0x395564)process[_0x26e38e(0x142)](_0x4dfe30[_0x26e38e(0x11a)]??0x0);const _0x37b82=readUpgradeState();if(_0x37b82?.[_0x26e38e(0x106)]&&!_0xc8fbbf){const _0x4f9445=String(_0x37b82[_0x26e38e(0x13e)+'n']||'')[_0x26e38e(0x15d)]();if(_0x4f9445){console['error'](_0x26e38e(0x149)+_0x26e38e(0x107)+_0x4f9445);const _0x50ad3f=installCoreVersion(_0x4f9445);writeUpgradeState({..._0x37b82,'pending':![],'rollback':!![],'health_status':_0x50ad3f['ok']?'rolled_back':'rollback_failed','error':_0x50ad3f['ok']?'':_0x50ad3f['output']});}else writeUpgradeState({..._0x37b82,'pending':![],'rollback':!![],'health_status':_0x26e38e(0x150),'error':_0x26e38e(0x111)+_0x26e38e(0x160)});}const _0x1ffeef=_0x4dfe30[_0x26e38e(0x11a)]===SUPERVISED_RESTART_CODE||_0x37b82?.['pending'];if(!_0x1ffeef&&_0x4dfe30['code']===0x0)process['exit'](0x0);const _0x40f10d=Date[_0x26e38e(0x11b)]();_0x47e455['push'](_0x40f10d);while(_0x47e455[_0x26e38e(0x152)]>0x0&&_0x40f10d-_0x47e455[0x0]>CRASH_WINDOW_MS){_0x47e455['shift']();}const _0x445a76=_0x47e455['length'];writeLastCrash({'timestamp':_0x40f10d,'exit_code':_0x4dfe30[_0x26e38e(0x11a)],'exit_signal':_0x4dfe30['signal']||null,'fatal_line':_0x10cdeb,'raw_tail':_0x108eaf['join']('\x0a'),'consecutive_crashes':_0x445a76}),console[_0x26e38e(0x137)](_0x26e38e(0x16d)+'d\x20code='+(_0x4dfe30[_0x26e38e(0x11a)]??'')+(_0x4dfe30['signal']?'\x20signal='+_0x4dfe30[_0x26e38e(0x12e)]:'')+'\x20('+_0x445a76+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x10cdeb)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x10cdeb);_0x445a76>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x445a76+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+'record:\x20')+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0x26e38e(0x162)+'erlying\x20issue\x20is\x20fix'+_0x26e38e(0x164))),process[_0x26e38e(0x142)](0x1)),console[_0x26e38e(0x137)](_0x26e38e(0x102)+_0x26e38e(0xff)+_0x62c7ef+'ms'),await new Promise(_0x22a412=>setTimeout(_0x22a412,_0x62c7ef)),_0x62c7ef=Math['min'](_0x62c7ef*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0xbcf815=a0_0x41e4c3,_0x2374be=process['argv']['slice'](0x2);if(_0x2374be[0x0]===_0xbcf815(0x10f)||_0x2374be[0x0]==='-v'||_0x2374be[0x0]==='version'){printVersion();return;}if((_0x2374be[0x0]==='status'||_0x2374be[0x0]==='ls'||_0x2374be[0x0]==='ps')&&!_0x2374be[_0xbcf815(0xf5)](_0xbcf815(0x104))){console[_0xbcf815(0x137)]('wrapper\x20'+WRAPPER_VERSION);try{console[_0xbcf815(0x137)]('core\x20'+(coreVersion()||_0xbcf815(0xf9)));}catch{console[_0xbcf815(0x137)](_0xbcf815(0x14f));}}maybeUpdateWrapper(_0x2374be);if(!shouldSupervise(_0x2374be))directCore(_0x2374be);await superviseCore(_0x2374be);}main()['catch'](_0x3e7f00=>{const _0x18ee6a=a0_0x41e4c3;console['error']('[wrapper]\x20Fatal\x20erro'+_0x18ee6a(0x123)+(_0x3e7f00?.[_0x18ee6a(0x12b)]||String(_0x3e7f00))),process[_0x18ee6a(0x142)](0x1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whalent/agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.98",
|
|
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.98"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^20.0.0",
|