@whalent/agent 0.3.97 → 0.3.100
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 +3 -3
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_0x4376c1=a0_0x3884;(function(_0x241b09,_0x4532da){const _0x4b6fc1=a0_0x3884,_0x32f02a=_0x241b09();while(!![]){try{const _0x19912b=-parseInt(_0x4b6fc1(0x177))/0x1+parseInt(_0x4b6fc1(0xdf))/0x2*(-parseInt(_0x4b6fc1(0x170))/0x3)+-parseInt(_0x4b6fc1(0x104))/0x4+-parseInt(_0x4b6fc1(0xdb))/0x5*(-parseInt(_0x4b6fc1(0x103))/0x6)+-parseInt(_0x4b6fc1(0x10b))/0x7*(parseInt(_0x4b6fc1(0xe3))/0x8)+-parseInt(_0x4b6fc1(0x11b))/0x9+parseInt(_0x4b6fc1(0x111))/0xa;if(_0x19912b===_0x4532da)break;else _0x32f02a['push'](_0x32f02a['shift']());}catch(_0x576e50){_0x32f02a['push'](_0x32f02a['shift']());}}}(a0_0x3952,0x4ae52));var __create=Object[a0_0x4376c1(0x124)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x4376c1(0x17b)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x4376c1(0x112)],__hasOwnProp=Object['prototype'][a0_0x4376c1(0x16f)],__copyProps=(_0x35f881,_0x4b07aa,_0x48d0eb,_0x345baf)=>{if(_0x4b07aa&&typeof _0x4b07aa==='object'||typeof _0x4b07aa==='function'){for(let _0x295c1a of __getOwnPropNames(_0x4b07aa))if(!__hasOwnProp['call'](_0x35f881,_0x295c1a)&&_0x295c1a!==_0x48d0eb)__defProp(_0x35f881,_0x295c1a,{'get':()=>_0x4b07aa[_0x295c1a],'enumerable':!(_0x345baf=__getOwnPropDesc(_0x4b07aa,_0x295c1a))||_0x345baf['enumerable']});}return _0x35f881;},__toESM=(_0x917d2a,_0x4769bf,_0x3dd715)=>(_0x3dd715=_0x917d2a!=null?__create(__getProtoOf(_0x917d2a)):{},__copyProps(_0x4769bf||!_0x917d2a||!_0x917d2a[a0_0x4376c1(0x114)]?__defProp(_0x3dd715,a0_0x4376c1(0xfd),{'value':_0x917d2a,'enumerable':!![]}):_0x3dd715,_0x917d2a)),import_child_process2=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x4376c1(0x12d)),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x4376c1(0x108)),0x1),import_child_process=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x4376c1(0x108));function isWindowsCmdFile(_0x37136f){const _0x564864=a0_0x4376c1;return process[_0x564864(0x105)]==='win32'&&/\.(cmd|bat)$/i[_0x564864(0xdc)](_0x37136f||'');}function quoteCmdArg(_0x468254){const _0x3b5b39=a0_0x4376c1,_0x3d1be2=String(_0x468254??'');if(_0x3d1be2&&!/[\s"&|<>^%]/['test'](_0x3d1be2))return _0x3d1be2;return'\x22'+_0x3d1be2['replace'](/(["^&|<>%])/g,_0x3b5b39(0x106))+'\x22';}function cmdFallbackArgs(_0x42e6bc,_0x173d68){const _0x29e183=a0_0x4376c1;return['/d','/s','/c',[quoteCmdArg(_0x42e6bc),..._0x173d68['map'](quoteCmdArg)][_0x29e183(0x11d)]('\x20')];}function resolveExecutablePath(_0x3b7b4b){const _0xec7c0b=a0_0x4376c1;if(!_0x3b7b4b)return null;if(_0x3b7b4b['includes']('/')||_0x3b7b4b['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0xec7c0b(0xdc)](_0x3b7b4b))return(0x0,import_fs['existsSync'])(_0x3b7b4b)?_0x3b7b4b:_0x3b7b4b;const _0x355ff6=process[_0xec7c0b(0x105)]===_0xec7c0b(0x121),_0x266a60=_0x355ff6?'where.exe':_0xec7c0b(0x10c);try{const _0x1413fa=(0x0,import_child_process['spawnSync'])(_0x266a60,[_0x3b7b4b],{'encoding':_0xec7c0b(0xec),'timeout':0xbb8,'shell':![]});if(_0x1413fa[_0xec7c0b(0xd2)]===0x0){const _0x5cce22=(_0x1413fa['stdout']||'')[_0xec7c0b(0x13a)]()['split'](/\r?\n/)['filter'](Boolean);if(_0x5cce22['length']===0x0)return null;if(_0x355ff6)for(const _0x290970 of['.exe',_0xec7c0b(0xe6),_0xec7c0b(0x174),_0xec7c0b(0xf1)]){const _0x32a0ba=_0x5cce22[_0xec7c0b(0x122)](_0x54cca0=>_0x54cca0[_0xec7c0b(0x101)]()[_0xec7c0b(0xd7)](_0x290970));if(_0x32a0ba)return _0x32a0ba;}return _0x5cce22[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x3895ea){const _0x1df663=a0_0x4376c1;if(process[_0x1df663(0x105)]!==_0x1df663(0x121))return null;if(!/\.(cmd|bat)$/i['test'](_0x3895ea))return null;let _0x134f81;try{_0x134f81=(0x0,import_fs[_0x1df663(0x11c)])(_0x3895ea,_0x1df663(0xec));}catch{return null;}const _0x3cc144=_0x134f81['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x3cc144){const _0x49dbc7=(0x0,import_path['resolve'])((0x0,import_path[_0x1df663(0x130)])(_0x3895ea),_0x3cc144[0x2]);if((0x0,import_fs[_0x1df663(0x119)])(_0x49dbc7))return{'type':_0x1df663(0x16b),'path':_0x49dbc7};}const _0x351885=_0x134f81['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x351885){const _0x4ece52=(0x0,import_path[_0x1df663(0x162)])((0x0,import_path[_0x1df663(0x130)])(_0x3895ea),_0x351885[0x2]);if((0x0,import_fs['existsSync'])(_0x4ece52))return{'type':'exe','path':_0x4ece52};}return null;}function safeSpawnSync(_0x1fc301,_0x11bb12,_0x1bf63c={}){const _0x1ba6e4=a0_0x4376c1,_0x13b667=unwrapWindowsCmdShim(_0x1fc301);if(_0x13b667?.['type']==='node')return(0x0,import_child_process[_0x1ba6e4(0x155)])(process[_0x1ba6e4(0xd4)],[_0x13b667[_0x1ba6e4(0x108)],..._0x11bb12],_0x1bf63c);if(_0x13b667?.['type']===_0x1ba6e4(0xfc))return(0x0,import_child_process[_0x1ba6e4(0x155)])(_0x13b667[_0x1ba6e4(0x108)],_0x11bb12,_0x1bf63c);if(isWindowsCmdFile(_0x1fc301))return(0x0,import_child_process['spawnSync'])(process.env.ComSpec||_0x1ba6e4(0xf4),cmdFallbackArgs(_0x1fc301,_0x11bb12),_0x1bf63c);return(0x0,import_child_process[_0x1ba6e4(0x155)])(_0x1fc301,_0x11bb12,_0x1bf63c);}var WRAPPER_PKG_NAME=a0_0x4376c1(0x127),CORE_PKG_NAME=a0_0x4376c1(0x157),NPM_REGISTRY=a0_0x4376c1(0x144)+a0_0x4376c1(0x125),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 _0x1ea156=a0_0x4376c1;return path['join'](os[_0x1ea156(0xee)](),_0x1ea156(0x128));}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x34512b=a0_0x4376c1;return path[_0x34512b(0x11d)](configDir(),'last-crash.json');}function writeLastCrash(_0x2773b5){const _0x6ac0bb=a0_0x4376c1;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x51072e={..._0x2773b5,'reported':![]};fs[_0x6ac0bb(0xfb)](lastCrashFilePath(),JSON[_0x6ac0bb(0x169)](_0x51072e,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x128df5=a0_0x4376c1;try{const _0x374338=JSON[_0x128df5(0x12a)](fs[_0x128df5(0x11c)](path[_0x128df5(0x11d)](wrapperBaseDir(),'..','package.json'),_0x128df5(0xec)));return String(_0x374338['version']||_0x128df5(0x132));}catch{return'0.0.0';}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x23614b){const _0x13af21=a0_0x4376c1;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x13af21(0x169)]({..._0x23614b,'updated_at':Date[_0x13af21(0x13d)]()},null,0x2),_0x13af21(0xec));}catch{}}function run(_0x2c0933,_0x453ba6,_0x523d1d=process.env){return safeSpawnSync(_0x2c0933,_0x453ba6,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x523d1d,'shell':![]});}function a0_0x3884(_0x50fdd4,_0x1cb696){_0x50fdd4=_0x50fdd4-0xcc;const _0x3952ff=a0_0x3952();let _0x3884fd=_0x3952ff[_0x50fdd4];if(a0_0x3884['MMuAEn']===undefined){var _0x152ddb=function(_0x49fc54){const _0xeafff9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35f881='',_0x4b07aa='';for(let _0x48d0eb=0x0,_0x345baf,_0x295c1a,_0x917d2a=0x0;_0x295c1a=_0x49fc54['charAt'](_0x917d2a++);~_0x295c1a&&(_0x345baf=_0x48d0eb%0x4?_0x345baf*0x40+_0x295c1a:_0x295c1a,_0x48d0eb++%0x4)?_0x35f881+=String['fromCharCode'](0xff&_0x345baf>>(-0x2*_0x48d0eb&0x6)):0x0){_0x295c1a=_0xeafff9['indexOf'](_0x295c1a);}for(let _0x4769bf=0x0,_0x3dd715=_0x35f881['length'];_0x4769bf<_0x3dd715;_0x4769bf++){_0x4b07aa+='%'+('00'+_0x35f881['charCodeAt'](_0x4769bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b07aa);};a0_0x3884['wEnBpx']=_0x152ddb,a0_0x3884['uCyGDX']={},a0_0x3884['MMuAEn']=!![];}const _0x33713f=_0x3952ff[0x0],_0x22e0bf=_0x50fdd4+_0x33713f,_0x7ba1bb=a0_0x3884['uCyGDX'][_0x22e0bf];return!_0x7ba1bb?(_0x3884fd=a0_0x3884['wEnBpx'](_0x3884fd),a0_0x3884['uCyGDX'][_0x22e0bf]=_0x3884fd):_0x3884fd=_0x7ba1bb,_0x3884fd;}function runNpmView(_0x8bb574){const _0x3a068b=a0_0x4376c1,_0xe724cf=resolveExecutablePath(_0x3a068b(0xcf));if(!_0xe724cf)return{'status':0x7f,'stdout':'','stderr':_0x3a068b(0x11f),'error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0xe724cf,_0x8bb574,{'encoding':_0x3a068b(0xf2),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x40e5ff=a0_0x4376c1,_0x43288a=resolveExecutablePath('npm');if(!_0x43288a)return'';const _0x1b1b39=run(_0x43288a,[_0x40e5ff(0x102),'-g']);if(_0x1b1b39[_0x40e5ff(0xd2)]!==0x0)return'';return String(_0x1b1b39['stdout']||'')[_0x40e5ff(0x13a)]();}function a0_0x3952(){const _0x1490a4=['CM9VDa','nMvKrMDswG','mtK2ndyYmfz3zMzrAG','CgXHDgzVCM0','xIqX','Chr5lM5Vzgu','Cgf0Aa','zxjYB3i','C2XPy2u','mte0nteWmLnLu2vosG','D2HPy2G','w2DHDgv3yxLDienVBM5Ly3rLza','Aw5OzxjPDa','ChjLDMLVDxmGy29Yzsb2zxjZAw8','C3bSAxq','mtG0odG0odbdBLv6CKG','z2v0uhjVDg90ExbLt2y','CMvIDwLSza','x19LC01VzhvSzq','DMLLDW','uYbUB2rLlxb0EsbZCgf3BI1OzwW','CNrPBMCGy29Yzs4UlG','qhDOywXLBNqVywDLBNqTy29Yzsa','zxHPC3rZu3LUyW','CgfYC2vjBNq','nta4nZK3mhDVyxrJAq','CMvHzezPBgvtEw5J','AM9PBG','B3v0Chv0','BNbTig5VDcbMB3vUza','zguGAgvHBhrOEtOG','D2LUmZi','zMLUza','Dg9tDhjPBMC','y3jLyxrL','ANmUB3jN','w3DYyxbWzxjDie1HBNvHBcb1Cgq','qhDOywXLBNqVywDLBNq','lNDOywXLBNqTywDLBNq','ihnPz25HBd0','CgfYC2u','ChjLyNvPBgrZ','Bwf4','Bw9KDwXL','BIb1BMTUB3DU','ywjSzsbMB3iGy29YztOG','zgLYBMfTzq','w3DYyxbWzxjDig5VzguTChr5ihi','mc4WlJa','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','y29Yzsa','BM9Kzs1WDhKGyxv0B21HDgLJywW','DMvYC2LVBG','w3DYyxbWzxjDig1Hy09tig5Vzgu','w3DYyxbWzxjDig5WBsbUB3qGzM8','yxrPDMuGBw9KDwXLigLZig1PC3m','DhjPBq','w3DYyxbWzxjDignVCMuGzMfPBgu','Aw5KzxGUy2PZ','BM93','A2LSBgvK','CgLWzq','D3jHChbLCIa','Aw5NihvUzgvYia','Dhj1zq','w3DYyxbWzxjDihjLyNvPBgrPBMC','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','ChjLDMLVDxnFy29Yzv92zxjZAw8','icbSCYaTBcaIjeHftfbfuIi','icbUCg0GCMvIDwLSzcbUB2rLlxa','BwvZC2fNzq','yxjJAa','D2fYBG','igLUia','BMfTzq','igzYB20GBNbTigjLzM9YzsbZDge','AwXHyMXLoIa','yxjNDG','DgfYDa','y2SGy29Yzsb0BYa','CMvZDw1L','CMvWBgfJzq','DgfYz2v0x3zLCNnPB24','C3bHD25tEw5J','EwvZ','qhDOywXLBNqVywDLBNqTy29Yzq','D3jPDgu','CgvUzgLUzW','ls1OzwXW','qhDOywXLBNq','y29Yzq','BwfW','C3rKzxjY','CZSGz2L2Aw5NihvWlIbdCMfZAca','w3DYyxbWzxjDigzPEgvKig1Hy08','icbJzca','CMvZB2X2zq','j1WNjW','C2HPzNq','D2HHBgvUDcbJB3jLihj1BNrPBwu','ls1QC29U','zwj1AwXKignVBxbSzxrLza','zxbLBMrLBMn5ig5VDcbYzxnVBhy','C3rYAw5NAwz5','ls1Hz2vUDc1Pza','BM9Kzq','ywDLBNqTy29Yzq','ywnJzxnZu3LUyW','w3DYyxbWzxjDie1HBNvHBcbMAxG','AgfZt3DUuhjVCgvYDhK','ode5mJC5B3Pdv214','CM9SBgvKx2jHy2S','C2LNBMfS','Cg9W','lMjHDa','CMvHBhbHDgHtEw5J','ig5VDcbMB3vUzdSGAw5ZDgfSBca','nZmXmdfgvK1hCMu','CM9SBgjHy2TFzMfPBgvK','lxb0EsbZCgf3BI1OzwXWzxiGBM8','CJOG','z2v0t3DUuhjVCgvYDhLezxnJCMK','zgf0yq','zgfYD2LU','zxHPDa','ls12zxjZAw9U','w3DYyxbWzxjDihn0yxj0Aw5Nigm','DhKGls12zxjIB3nL','Aw5ZDgfSBgvKx3zLCNnPB24','BNbT','Bg9N','Aw5KzxG','C3rHDhvZ','C29YDa','zxHLy1bHDgG','w3DYyxbWzxjDihDYyxbWzxiGDxa','Bwf0y2G','zw5KC1DPDgG','C29Tzq','y29UC3rHBNrZ','Aw5JBhvKzxm','mtC1nJC5nw9SEeDSEG','DgvZDa','BNbTig5VDcbMB3vUzcbVBIbqqvq','ywDLBNq','mKXOzM9rvG','BM9Kzs1WDhK','w3DYyxbWzxjDignVCMuGzxHPDgu','w3DYyxbWzxjDihjLC3rHCNrPBMC','mJrqq2LrCwi','ihrPBwvZihDPDgHPBIa','Aw5NihDPDgGG','lMnTza','u0Lhvevstq','y2f0y2G','C3rKB3v0','ChvZAa','zcbJB2rLpq','DxrMltG','BgvUz3rO','Ag9TzwrPCG','r2f0zxDHEsbYzwDPC3rLCMvKig0','zgf0zwqGDg8G','lNbZmq','DxrMoa','zgfYD2LUlq','y21KlMv4zq','qgXHDgvZDa','y3jLyxrLuMvXDwLYzq','icbJAg1VzcaREcaIjeHftfbfuIi','CM91BMq','ls1YzwDPC3rYEt0','Aw5ZDgfSBa','D3jPDgvgAwXLu3LUyW','zxHL','zgvMyxvSDa','y29Kzq','w3DYyxbWzxjDig5VzguTChr5ig4','Bw9Kzq','Dg9mB3DLCKnHC2u'];a0_0x3952=function(){return _0x1490a4;};return a0_0x3952();}function compareSemver(_0x1a57ee,_0x5a9f20){const _0xc3b9d1=a0_0x4376c1,_0x354b35=String(_0x1a57ee||'')['replace'](/^v/,'')[_0xc3b9d1(0x110)](/[.-]/)['map'](_0x536ea5=>Number[_0xc3b9d1(0x11a)](_0x536ea5,0xa)||0x0),_0x244ec5=String(_0x5a9f20||'')[_0xc3b9d1(0x153)](/^v/,'')['split'](/[.-]/)[_0xc3b9d1(0x15d)](_0x14fc68=>Number[_0xc3b9d1(0x11a)](_0x14fc68,0xa)||0x0);for(let _0xe8ab0b=0x0;_0xe8ab0b<Math[_0xc3b9d1(0x12c)](_0x354b35['length'],_0x244ec5['length'],0x3);_0xe8ab0b++){const _0xd94a7e=_0x354b35[_0xe8ab0b]||0x0,_0x59f427=_0x244ec5[_0xe8ab0b]||0x0;if(_0xd94a7e>_0x59f427)return 0x1;if(_0xd94a7e<_0x59f427)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x9bd87e=a0_0x4376c1,_0x1d2c17=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x9bd87e(0x13a)]()['toLowerCase']();return _0x1d2c17==='1'||_0x1d2c17===_0x9bd87e(0x142)||_0x1d2c17===_0x9bd87e(0x156)||_0x1d2c17==='on';}function latestWrapperVersion(){const _0x67be28=a0_0x4376c1,_0x9038c6=runNpmView([_0x67be28(0x115),WRAPPER_PKG_NAME+_0x67be28(0xf5),'version',_0x67be28(0xf9)+NPM_REGISTRY]);if(_0x9038c6[_0x67be28(0xd2)]!==0x0)return'';return String(_0x9038c6[_0x67be28(0xe9)]||'')[_0x67be28(0x13a)]()[_0x67be28(0x110)](/\r?\n/)['filter'](Boolean)[_0x67be28(0x173)]()||'';}function installWrapperVersion(_0x225b7d){const _0x368d3a=a0_0x4376c1,_0x15d2c3=resolveExecutablePath('npm');if(!_0x15d2c3)return{'ok':![],'output':_0x368d3a(0xdd)+'H'};const _0x3e0bbd=run(_0x15d2c3,[_0x368d3a(0xfa),'-g',WRAPPER_PKG_NAME+'@'+_0x225b7d,_0x368d3a(0xf9)+NPM_REGISTRY]),_0xa64c9a=((_0x3e0bbd[_0x368d3a(0xe9)]||'')+'\x0a'+(_0x3e0bbd[_0x368d3a(0x15e)]||''))[_0x368d3a(0x13a)]();return{'ok':_0x3e0bbd[_0x368d3a(0xd2)]===0x0,'output':_0xa64c9a};}function maybeUpdateWrapper(_0x111142){const _0x17d8f2=a0_0x4376c1;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x4763c0=latestWrapperVersion();if(!_0x4763c0||compareSemver(_0x4763c0,WRAPPER_VERSION)<=0x0)return![];console[_0x17d8f2(0x14a)]('[wrapper]\x20update\x20ava'+_0x17d8f2(0x14e)+WRAPPER_VERSION+'\x20->\x20'+_0x4763c0),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x4763c0+(_0x17d8f2(0x14d)+'rting\x20core...'));const _0x10cc78=installWrapperVersion(_0x4763c0);if(!_0x10cc78['ok']){console[_0x17d8f2(0x14a)](_0x17d8f2(0xd5)+'date\x20failed;\x20continu'+_0x17d8f2(0xe5)+WRAPPER_VERSION);if(_0x10cc78[_0x17d8f2(0x11e)])console[_0x17d8f2(0x14a)](_0x10cc78[_0x17d8f2(0x11e)]['split'](/\r?\n/)['slice'](-0xc)[_0x17d8f2(0x11d)]('\x0a'));return console[_0x17d8f2(0x14a)](_0x17d8f2(0x126)+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x4763c0+'\x20--registry='+NPM_REGISTRY),![];}console[_0x17d8f2(0x14a)]('[wrapper]\x20wrapper\x20up'+_0x17d8f2(0xf0)+_0x4763c0+';\x20restarting\x20wrapper');const _0x3ef2d3=process['argv'][0x1],_0x5edafc=(0x0,import_child_process2[_0x17d8f2(0x155)])(process[_0x17d8f2(0xd4)],[_0x3ef2d3,..._0x111142],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x4763c0},'shell':![]});process[_0x17d8f2(0x17e)](_0x5edafc[_0x17d8f2(0xd2)]??0x0);}function findCoreScript(){const _0x36ab3f=a0_0x4376c1,_0x4fd61a=String(process.env.WHALENT_CORE_ENTRY||'')[_0x36ab3f(0x13a)](),_0x1fea27=['1',_0x36ab3f(0x142),'yes','on'][_0x36ab3f(0xda)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x36ab3f(0x13a)]()['toLowerCase']());if(_0x4fd61a&&_0x1fea27&&fs[_0x36ab3f(0x119)](_0x4fd61a))return _0x4fd61a;const _0x51478f=[],_0x17c9b2=_0x261c32=>{if(fs['existsSync'](_0x261c32)&&!_0x51478f['includes'](_0x261c32))_0x51478f['push'](_0x261c32);};if(_0x4fd61a)_0x17c9b2(_0x4fd61a);const _0x367238=npmRootGlobal();if(_0x367238){const _0x179aa3=path[_0x36ab3f(0x11d)](_0x367238,_0x36ab3f(0x15b),_0x36ab3f(0x16c),'dist',_0x36ab3f(0x13c));_0x17c9b2(_0x179aa3);}const _0x190082=path[_0x36ab3f(0x11d)](wrapperBaseDir(),'core.cjs');_0x17c9b2(_0x190082);const _0x20ef3a=path['join'](wrapperBaseDir(),'..','packages',_0x36ab3f(0x15c),'dist','index.cjs');_0x17c9b2(_0x20ef3a);if(_0x51478f[_0x36ab3f(0xed)]>0x0)return _0x51478f['map']((_0x54f453,_0x27ef88)=>({'candidate':_0x54f453,'index':_0x27ef88,'version':coreVersion(_0x54f453)}))[_0x36ab3f(0xd3)]((_0x14302c,_0x5d45be)=>{const _0x21a818=_0x36ab3f,_0x251ddf=compareSemver(_0x5d45be[_0x21a818(0x136)],_0x14302c[_0x21a818(0x136)]);if(_0x251ddf!==0x0)return _0x251ddf;return _0x5d45be[_0x21a818(0xd1)]-_0x14302c['index'];})[0x0]['candidate'];throw new Error(_0x36ab3f(0x165)+_0x36ab3f(0x176)+_0x36ab3f(0x118)+'or\x20rebuild\x20@whalent/'+_0x36ab3f(0xde));}function coreVersion(_0x516557=findCoreScript()){const _0x3dc063=a0_0x4376c1,_0x1ceddb=(0x0,import_child_process2['spawnSync'])(process[_0x3dc063(0xd4)],[_0x516557,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x74bdae=(_0x1ceddb['stdout']||'')+'\x0a'+(_0x1ceddb['stderr']||'');return _0x74bdae[_0x3dc063(0xd6)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x591c41){const _0x778f5e=a0_0x4376c1;try{return fs[_0x778f5e(0x16d)](_0x591c41,fs[_0x778f5e(0xd9)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x27aafe){const _0x25c1cd=a0_0x4376c1;return'\x27'+_0x27aafe['replace'](/'/g,_0x25c1cd(0x163))+'\x27';}function corePackageRoot(_0x220edb){const _0x218a8d=a0_0x4376c1;return path[_0x218a8d(0x162)](path['dirname'](_0x220edb),'..');}function nodePtyPackageRoot(_0x4b101f){const _0x12fd72=a0_0x4376c1,_0x3ab7b9=(0x0,import_module[_0x12fd72(0xf6)])(_0x4b101f),_0x27ec83=_0x3ab7b9['resolve']('node-pty');let _0xe388b8=path[_0x12fd72(0x130)](_0x27ec83);for(let _0x1f8d2e=0x0;_0x1f8d2e<0x5;_0x1f8d2e++){const _0x24f5e1=path[_0x12fd72(0x11d)](_0xe388b8,'package.json');try{const _0x30caaf=JSON[_0x12fd72(0x12a)](fs[_0x12fd72(0x11c)](_0x24f5e1,'utf-8'));if(_0x30caaf[_0x12fd72(0x14c)]===_0x12fd72(0xe0))return _0xe388b8;}catch{}const _0x5e1471=path[_0x12fd72(0x130)](_0xe388b8);if(_0x5e1471===_0xe388b8)break;_0xe388b8=_0x5e1471;}return path['resolve'](path['dirname'](_0x27ec83),'..');}function nodePtyNativeCandidates(_0x54bd2c){const _0x4d3f2a=a0_0x4376c1;return[path[_0x4d3f2a(0x11d)](_0x54bd2c,'build','Release',_0x4d3f2a(0x107)),path[_0x4d3f2a(0x11d)](_0x54bd2c,'prebuilds',process['platform']+'-'+process['arch'],_0x4d3f2a(0x107))];}function hasNodePtyNativeModule(_0x17a45a){const _0x4a5011=a0_0x4376c1;return nodePtyNativeCandidates(_0x17a45a)[_0x4a5011(0xd8)](_0x58d539=>fs[_0x4a5011(0x119)](_0x58d539));}function printNodePtyRebuildHint(_0x54b926){const _0x2a8cce=a0_0x4376c1,_0x4575a1=corePackageRoot(_0x54b926);console[_0x2a8cce(0x14a)](_0x2a8cce(0x16e)+':'),console[_0x2a8cce(0x14a)](_0x2a8cce(0x161)+shellQuote(_0x4575a1)),console[_0x2a8cce(0x14a)](_0x2a8cce(0x147)+_0x2a8cce(0xcd));}function ensureNodePtyNativeModule(_0x56c489){const _0x5d015d=a0_0x4376c1;if(process['platform']===_0x5d015d(0x121))return;let _0x2cb15b='';try{_0x2cb15b=nodePtyPackageRoot(_0x56c489);}catch(_0x5b784b){console['warn']('[wrapper]\x20node-pty\x20d'+_0x5d015d(0x168)+_0x5d015d(0x12f)+_0x5b784b['message']),printNodePtyRebuildHint(_0x56c489);return;}const _0x17f3ce=((()=>{const _0x170e24=_0x5d015d;try{return fs[_0x170e24(0x175)](_0x2cb15b);}catch{return _0x2cb15b;}})());if(CHECKED_NODE_PTY_RUNTIMES['has'](_0x17f3ce))return;CHECKED_NODE_PTY_RUNTIMES['add'](_0x17f3ce);if(hasNodePtyNativeModule(_0x2cb15b))return;const _0x19588b=resolveExecutablePath('npm');console['warn'](_0x5d015d(0xff)+_0x5d015d(0x139)+_0x5d015d(0x141)+_0x2cb15b),console['warn'](_0x5d015d(0x143)+'\x20node-pty\x20before\x20sta'+_0x5d015d(0x117));if(!_0x19588b){console['warn'](_0x5d015d(0x138)+'und;\x20cannot\x20rebuild\x20'+_0x5d015d(0x135)+'ly'),printNodePtyRebuildHint(_0x56c489);return;}const _0x56f023=corePackageRoot(_0x56c489),_0x5169d0=safeSpawnSync(_0x19588b,[_0x5d015d(0x113),_0x5d015d(0xe0),'--verbose'],{'cwd':_0x56f023,'stdio':'inherit','timeout':NPM_INSTALL_TIMEOUT_MS,'env':process.env,'shell':![]});if(_0x5169d0[_0x5d015d(0xd2)]===0x0&&hasNodePtyNativeModule(_0x2cb15b)){console['warn'](_0x5d015d(0x131)+_0x5d015d(0x167));return;}console[_0x5d015d(0x14a)]('[wrapper]\x20node-pty\x20r'+'ebuild\x20failed'+(_0x5169d0[_0x5d015d(0xd2)]!==null?'\x20(exit='+_0x5169d0[_0x5d015d(0xd2)]+')':'')+(';\x20core\x20may\x20fail\x20to\x20s'+_0x5d015d(0x150))),printNodePtyRebuildHint(_0x56c489);}function coreNodePtySpawnHelperPath(_0x40a15e){const _0x4eefcb=a0_0x4376c1;if(process['platform']!==_0x4eefcb(0x17d))return'';try{const _0x14e02c=(0x0,import_module['createRequire'])(_0x40a15e),_0xee3a27=_0x14e02c['resolve'](_0x4eefcb(0xe0)),_0x3cc223=path['resolve'](path[_0x4eefcb(0x130)](_0xee3a27),'..');return path[_0x4eefcb(0x11d)](_0x3cc223,_0x4eefcb(0x12b),_0x4eefcb(0xf3)+process[_0x4eefcb(0x149)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x817945){const _0x18d172=a0_0x4376c1,_0x5c8c34=coreNodePtySpawnHelperPath(_0x817945);if(!_0x5c8c34||CHECKED_PTY_HELPERS['has'](_0x5c8c34))return;CHECKED_PTY_HELPERS['add'](_0x5c8c34);if(!fs['existsSync'](_0x5c8c34)){console['warn'](_0x18d172(0x137)+_0x18d172(0x179)+'t\x20found:\x20'+_0x5c8c34);return;}if(isExecutable(_0x5c8c34))return;try{const _0x4fbc6c=fs['statSync'](_0x5c8c34)[_0x18d172(0x100)];fs['chmodSync'](_0x5c8c34,_0x4fbc6c|0x1ed);}catch{}if(isExecutable(_0x5c8c34)){console[_0x18d172(0x14a)](_0x18d172(0x160)+_0x18d172(0x116)+'per\x20executable\x20bit:\x20'+_0x5c8c34);return;}console['warn'](_0x18d172(0x137)+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x5c8c34),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console['warn']('\x20\x20HELPER='+shellQuote(_0x5c8c34)),console[_0x18d172(0x14a)](_0x18d172(0x146)),console['warn'](_0x18d172(0xf7));}function printVersion(){const _0x40e6d5=a0_0x4376c1;let _0x50b43a='';try{_0x50b43a=coreVersion();}catch{}console[_0x40e6d5(0xd0)]('whalent-agent\x20'+WRAPPER_VERSION),console[_0x40e6d5(0xd0)](_0x40e6d5(0x140)+WRAPPER_VERSION),console['log']('core\x20'+(_0x50b43a||'not\x20installed'));}function directCore(_0x2f2ba5){const _0x23d4b5=a0_0x4376c1,_0x53f8d2=findCoreScript();ensureNodePtyNativeModule(_0x53f8d2),checkMacNodePtySpawnHelper(_0x53f8d2);const _0x1ca65b=(0x0,import_child_process2[_0x23d4b5(0x155)])(process['execPath'],[_0x53f8d2,..._0x2f2ba5],{'stdio':_0x23d4b5(0x10e),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x53f8d2},'shell':![]});process['exit'](_0x1ca65b[_0x23d4b5(0xd2)]??0x0);}function shouldSupervise(_0x52fd8d){const _0x78c01d=a0_0x4376c1;if(_0x52fd8d['includes'](_0x78c01d(0x16a)))return![];if(_0x52fd8d['includes']('--resume')||_0x52fd8d[0x0]===_0x78c01d(0x152))return![];const _0x2f4e0d=_0x52fd8d[0x0]||'';if(_0x2f4e0d==='ls'||_0x2f4e0d===_0x78c01d(0xd2)||_0x2f4e0d==='ps')return![];if(_0x2f4e0d==='mcp'||_0x2f4e0d==='daemon-mcp')return![];if(_0x52fd8d[_0x78c01d(0xda)](_0x78c01d(0x15a))||_0x52fd8d[_0x78c01d(0xda)]('-h'))return![];return!![];}function installCoreVersion(_0x5d1242){const _0x5f5bd4=a0_0x4376c1,_0x1ee1e1=resolveExecutablePath(_0x5f5bd4(0xcf));if(!_0x1ee1e1)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x2782f4=CORE_PKG_NAME+'@'+_0x5d1242,_0x5155f6=run(_0x1ee1e1,[_0x5f5bd4(0xfa),'-g',_0x2782f4,'--registry='+NPM_REGISTRY]),_0x456d1f=((_0x5155f6['stdout']||'')+'\x0a'+(_0x5155f6[_0x5f5bd4(0x15e)]||''))['trim']();return{'ok':_0x5155f6['status']===0x0,'output':_0x456d1f};}async function superviseCore(_0x594f7f){const _0x4b0393=a0_0x4376c1;let _0x247324=![],_0x284017=null;const _0x211836=[];let _0x1c34fd=MIN_RESTART_DELAY_MS;const _0x552e09=()=>{const _0x502060=a0_0x3884;_0x247324=!![];if(_0x284017&&!_0x284017[_0x502060(0x13e)])try{_0x284017['kill']('SIGTERM');}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x552e09),process['on']('SIGTERM',_0x552e09);while(!![]){const _0x1b1901=findCoreScript();ensureNodePtyNativeModule(_0x1b1901),checkMacNodePtySpawnHelper(_0x1b1901);const _0x2de210={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1b1901},_0x70aa8=readUpgradeState(),_0x37365d=!!_0x70aa8?.[_0x4b0393(0x159)];let _0x164cba=![],_0x464c7e=null,_0x26ac57='';const _0x3eceb4=[],_0x5c29ce=0xc;console[_0x4b0393(0xd0)](_0x4b0393(0xcc)+'ore:\x20'+_0x1b1901),_0x284017=(0x0,import_child_process2['spawn'])(process[_0x4b0393(0xd4)],[_0x1b1901,..._0x594f7f],{'env':_0x2de210,'stdio':['inherit',_0x4b0393(0x13f),'pipe']});const _0x3c257a=()=>{const _0x2841c6=_0x4b0393;if(_0x164cba)return;_0x164cba=!![];if(_0x464c7e)clearTimeout(_0x464c7e);_0x211836[_0x2841c6(0xed)]=0x0,_0x1c34fd=MIN_RESTART_DELAY_MS;const _0x2fbd28=readUpgradeState();_0x2fbd28?.[_0x2841c6(0x159)]&&(writeUpgradeState({..._0x2fbd28,'pending':![],'rollback':![],'health_status':'healthy'}),console['log']('[wrapper]\x20core\x20upgra'+_0x2841c6(0x120)+(_0x2fbd28[_0x2841c6(0xce)]||_0x2fbd28[_0x2841c6(0x154)]||'')));},_0x561ddd=(_0x3ebed2,_0x16b7ef=![])=>{const _0x57bff2=_0x4b0393,_0x55dfd1=_0x3ebed2[_0x57bff2(0x123)]();(_0x16b7ef?process['stderr']:process[_0x57bff2(0xe9)])[_0x57bff2(0x158)](_0x55dfd1);if(_0x16b7ef)for(const _0x527f94 of _0x55dfd1['split'](/\r?\n/)){if(!_0x527f94[_0x57bff2(0x13a)]())continue;_0x3eceb4['push'](_0x527f94);if(_0x3eceb4[_0x57bff2(0xed)]>_0x5c29ce)_0x3eceb4['shift']();const _0x51ebf5=_0x527f94['match'](FATAL_PATTERN);if(_0x51ebf5)_0x26ac57=_0x51ebf5[0x0];}(_0x55dfd1[_0x57bff2(0xda)](_0x57bff2(0x10d))||_0x55dfd1['includes'](_0x57bff2(0xef)+'achine')||_0x55dfd1[_0x57bff2(0xda)]('Gateway:\x20connected'))&&_0x3c257a();};_0x284017[_0x4b0393(0xe9)]?.['on'](_0x4b0393(0x17c),_0x196bc0=>_0x561ddd(_0x196bc0,![])),_0x284017['stderr']?.['on']('data',_0x19552f=>_0x561ddd(_0x19552f,!![]));_0x37365d&&(_0x464c7e=setTimeout(()=>{const _0x5bfaaa=_0x4b0393;if(_0x164cba||!_0x284017||_0x284017['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+_0x5bfaaa(0x133)+'ack');try{_0x284017['kill'](_0x5bfaaa(0xe7));}catch{}},HEALTH_TIMEOUT_MS));const _0x1e3b1f=await new Promise(_0x4ec806=>{_0x284017['once']('exit',(_0x42d005,_0x3a995b)=>_0x4ec806({'code':_0x42d005,'signal':_0x3a995b}));});if(_0x464c7e)clearTimeout(_0x464c7e);_0x284017=null;if(_0x247324)process[_0x4b0393(0x17e)](_0x1e3b1f['code']??0x0);const _0xce9c26=readUpgradeState();if(_0xce9c26?.['pending']&&!_0x164cba){const _0x55d9c4=String(_0xce9c26[_0x4b0393(0x145)+'n']||'')['trim']();if(_0x55d9c4){console[_0x4b0393(0x109)]('[wrapper]\x20rolling\x20ba'+_0x4b0393(0x151)+_0x55d9c4);const _0x3c20fe=installCoreVersion(_0x55d9c4);writeUpgradeState({..._0xce9c26,'pending':![],'rollback':!![],'health_status':_0x3c20fe['ok']?_0x4b0393(0x171):_0x4b0393(0x178),'error':_0x3c20fe['ok']?'':_0x3c20fe[_0x4b0393(0x11e)]});}else writeUpgradeState({..._0xce9c26,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x4b0393(0x10f)+_0x4b0393(0x12e)});}const _0x446455=_0x1e3b1f['code']===SUPERVISED_RESTART_CODE||_0xce9c26?.[_0x4b0393(0x159)];if(!_0x446455&&_0x1e3b1f['code']===0x0)process['exit'](0x0);const _0x1b7d21=Date[_0x4b0393(0x13d)]();_0x211836[_0x4b0393(0xea)](_0x1b7d21);while(_0x211836[_0x4b0393(0xed)]>0x0&&_0x1b7d21-_0x211836[0x0]>CRASH_WINDOW_MS){_0x211836[_0x4b0393(0x164)]();}const _0x210885=_0x211836['length'];writeLastCrash({'timestamp':_0x1b7d21,'exit_code':_0x1e3b1f[_0x4b0393(0xfe)],'exit_signal':_0x1e3b1f[_0x4b0393(0x172)]||null,'fatal_line':_0x26ac57,'raw_tail':_0x3eceb4['join']('\x0a'),'consecutive_crashes':_0x210885}),console[_0x4b0393(0xd0)](_0x4b0393(0xe1)+_0x4b0393(0xeb)+(_0x1e3b1f['code']??'')+(_0x1e3b1f[_0x4b0393(0x172)]?_0x4b0393(0x129)+_0x1e3b1f['signal']:'')+'\x20('+_0x210885+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x26ac57)console[_0x4b0393(0xd0)]('[wrapper]\x20last\x20fatal'+':\x20'+_0x26ac57);_0x210885>=MAX_CRASHES_IN_WINDOW&&(console[_0x4b0393(0x109)](_0x4b0393(0x13b)+'d\x20'+_0x210885+_0x4b0393(0xe4)+Math[_0x4b0393(0xf8)](CRASH_WINDOW_MS/0x3e8)+(_0x4b0393(0x15f)+'record:\x20')+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process[_0x4b0393(0x17e)](0x1)),console[_0x4b0393(0xd0)](_0x4b0393(0xe2)+_0x4b0393(0x14b)+_0x1c34fd+'ms'),await new Promise(_0x2aae82=>setTimeout(_0x2aae82,_0x1c34fd)),_0x1c34fd=Math['min'](_0x1c34fd*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3ab723=a0_0x4376c1,_0x226832=process[_0x3ab723(0x14f)][_0x3ab723(0x10a)](0x2);if(_0x226832[0x0]===_0x3ab723(0x17f)||_0x226832[0x0]==='-v'||_0x226832[0x0]==='version'){printVersion();return;}if((_0x226832[0x0]==='status'||_0x226832[0x0]==='ls'||_0x226832[0x0]==='ps')&&!_0x226832['includes'](_0x3ab723(0x166))){console[_0x3ab723(0xd0)]('wrapper\x20'+WRAPPER_VERSION);try{console['log'](_0x3ab723(0x134)+(coreVersion()||'not\x20installed'));}catch{console[_0x3ab723(0xd0)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x226832);if(!shouldSupervise(_0x226832))directCore(_0x226832);await superviseCore(_0x226832);}main()[a0_0x4376c1(0xe8)](_0x4e23f8=>{const _0xcba9f3=a0_0x4376c1;console['error']('[wrapper]\x20Fatal\x20erro'+_0xcba9f3(0x17a)+(_0x4e23f8?.[_0xcba9f3(0x148)]||String(_0x4e23f8))),process['exit'](0x1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whalent/agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.100",
|
|
4
4
|
"description": "Stable wrapper for Whalent Agent core runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"@anthropic-ai/claude-agent-sdk": "^0.2.138",
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
37
37
|
"@opencode-ai/sdk": "^1.14.28",
|
|
38
|
-
"node-pty": "^1.1.0",
|
|
39
38
|
"proxy-agent": "^7.0.0",
|
|
40
39
|
"undici": "^6.25.0",
|
|
41
40
|
"ws": "^8.16.0",
|
|
42
41
|
"yaml": "^2.4.0"
|
|
43
42
|
},
|
|
44
43
|
"optionalDependencies": {
|
|
45
|
-
"@whalent/agent-core": "0.3.
|
|
44
|
+
"@whalent/agent-core": "0.3.100",
|
|
45
|
+
"node-pty": "^1.1.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^20.0.0",
|