@whalent/agent 0.3.104 → 0.3.109
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_0x306a13=a0_0x5122;(function(_0x2f6fc7,_0x1106b9){const _0x46b985=a0_0x5122,_0x521448=_0x2f6fc7();while(!![]){try{const _0x4a8651=-parseInt(_0x46b985(0x1e8))/0x1+parseInt(_0x46b985(0x1f8))/0x2*(parseInt(_0x46b985(0x250))/0x3)+-parseInt(_0x46b985(0x24d))/0x4+-parseInt(_0x46b985(0x210))/0x5*(parseInt(_0x46b985(0x1fb))/0x6)+parseInt(_0x46b985(0x22b))/0x7+parseInt(_0x46b985(0x23a))/0x8+parseInt(_0x46b985(0x25e))/0x9*(parseInt(_0x46b985(0x230))/0xa);if(_0x4a8651===_0x1106b9)break;else _0x521448['push'](_0x521448['shift']());}catch(_0x2f31d9){_0x521448['push'](_0x521448['shift']());}}}(a0_0x3448,0x24267));var __create=Object['create'],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x306a13(0x25b)],__hasOwnProp=Object[a0_0x306a13(0x1e5)][a0_0x306a13(0x1ff)],__copyProps=(_0x3ae876,_0x43c6ee,_0x3661a9,_0x571f20)=>{const _0x1f6cbe=a0_0x306a13;if(_0x43c6ee&&typeof _0x43c6ee===_0x1f6cbe(0x20e)||typeof _0x43c6ee==='function'){for(let _0x2c074a of __getOwnPropNames(_0x43c6ee))if(!__hasOwnProp['call'](_0x3ae876,_0x2c074a)&&_0x2c074a!==_0x3661a9)__defProp(_0x3ae876,_0x2c074a,{'get':()=>_0x43c6ee[_0x2c074a],'enumerable':!(_0x571f20=__getOwnPropDesc(_0x43c6ee,_0x2c074a))||_0x571f20[_0x1f6cbe(0x22f)]});}return _0x3ae876;},__toESM=(_0x183066,_0x4c78ef,_0x479efe)=>(_0x479efe=_0x183066!=null?__create(__getProtoOf(_0x183066)):{},__copyProps(_0x4c78ef||!_0x183066||!_0x183066['__esModule']?__defProp(_0x479efe,a0_0x306a13(0x23d),{'value':_0x183066,'enumerable':!![]}):_0x479efe,_0x183066)),import_child_process2=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x306a13(0x1f2)),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x306a13(0x1dc)),0x1),import_child_process=require(a0_0x306a13(0x224)),import_fs=require('fs'),import_path=require(a0_0x306a13(0x1dc)),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x306a13(0x1ed),CHINA_NPM_REGISTRY='https://registry.npm'+a0_0x306a13(0x260);function preferredNpmRegistry(){const _0x4a0cb9=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x4a0cb9)return _0x4a0cb9;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x2de689=preferredNpmRegistry()){const _0x3eb03b=a0_0x306a13;return _0x3eb03b(0x1d5)+(normalizeRegistry(_0x2de689)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x417a6a,_0x3c982f=preferredNpmRegistry()){const _0x17186b=a0_0x306a13;return _0x17186b(0x216)+_0x417a6a+'\x20'+npmRegistryArg(_0x3c982f);}function a0_0x3448(){const _0x5a280f=['C3bSAxq','mtCWody2DhPtz3P4','Ag9TzwrPCG','BM9Kzs1WDhK','D3jPDgu','zxHPC3rZu3LUyW','ANmUB3jN','D2fYBG','DxrMoa','CgLWzq','ls12zxjZAw9U','Bw9KDwXL','C2HPzNq','zxHL','CgfYC2vjBNq','zxHLy1bHDgG','D2HPy2G','nZHiDgr1y3m','ChvZAa','w3DYyxbWzxjDihDYyxbWzxiGDxa','mtiZnJu0yNnQDMHM','DhLWzq','ihrPBwvZihDPDgHPBIa','ls1OzwXW','AgfZt3DUuhjVCgvYDhK','ChjLDMLVDxmGy29Yzsb2zxjZAw8','DgvZDa','qhDOywXLBNqVywDLBNqTy29Yzq','w3DYyxbWzxjDignVCMuGzxHPDgu','B25Jzq','Aw5KzxG','Bg9N','igLUigXHC3qG','ywDLBNqTy29Yzq','ig5VDcbLEgvJDxrHyMXLoIa','CM91BMq','y2f0y2G','C3rHDfn5BMm','Dhj1zq','B2jQzwn0','zgLZDa','mZvHrw1xAhG','qgXHDgvZDa','CMvHzezPBgvtEw5J','ywrK','AwqGBM90igjLy29TzsbOzwfSDgG','CgfYC2u','BNbTigLUC3rHBgWGlwCG','BwfW','C3rHDhvZ','D2HHBgvUDc1Hz2vUDca','w3DYyxbWzxjDiezHDgfSigvYCM8','C2XPy2u','ywnR','zgfLBw9Ulw1JCa','BM9Kzq','mc4WlJa','zgLYBMfTzq','zMLSDgvY','ic0TChjLzMvYlw9UBgLUzq','qhDOywXLBNqVywDLBNq','y2HPBgrFChjVy2vZCW','lMjHDa','zcbJB2rLpq','EwvZ','CgvUzgLUzW','lNDOywXLBNqTywDLBNq','yxrLoIa','mtm5mti3ogH6ug5kAa','DhjPBq','BNvHBgX5igfMDgvYihrOzsb1BMq','ls1Hz2vUDc1Pza','zw51BwvYywjSzq','mtb1AKfJAuS','icbJAg1VzcaREcaIjeHftfbfuIi','C3rYAw5NAwz5','zxjYB3i','C3bHD25tEw5J','ywKVy29KzxG','CgfJA2fNzs5QC29U','BwTKAxjtEw5J','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','y2HTB2rtEw5J','ntyYmZuYvgDlt05R','BwvZC2fNzq','zguGAgvHBhrOEtOG','zgvMyxvSDa','A2LSBgvK','D3jHChbLCIa','CM9VDa','zgfYD2LUlq','DgfYz2v0x3zLCNnPB24','B3v0Chv0','y3jLyxrLuMvXDwLYzq','igLUia','xIqX','BNbTig5VDcbMB3vUza','DcbMB3vUzdOG','C3rKzxjY','ig5VDcbMB3vUzdSGAw5ZDgfSBca','CgXHDgzVCM0','AM9PBG','mJu1mJqWsMrWtMHd','Cg9W','ihnPz25HBd0','mZy4n3niu2TqzG','C3rKB3v0','DMvYC2LVBG','AwXHyMXLoIa','BgvUz3rO','igjLzM9YzsbZDgfYDgLUzYbJB3i','CMvZB2X2zq','lMv4zq','u0Lhvevstq','CMvWBgfJzq','u0Lhsu5u','z2v0uhjVDg90ExbLt2y','ywDLBNq','BIb1BMTUB3DU','mtG5mdi3ovrrCfv6va','lMnTza','BwLYCM9YlMnVBq','BNbT','BNbTigLUC3rHBgWGlwCGqg9Wzw4','AgvHBhrOEq','oYbYzxn0yxj0Aw5NihDYyxbWzxi','Bw9Kzq','lxb0EsbZCgf3BI1OzwXWzxiGAxm','Bwf0y2G','CM9SBgjHy2TFzMfPBgvK','DxrMltG','ls1YzwDPC3rYEt0','y29Yzs5JANm','CgfJA2fNzxm','C2LNBMfS','BM93','j1WNjW','lNbZmq','Cgf0Aa','igzYB20G','y29Kzq','Dg9mB3DLCKnHC2u','BNbTig5VDcbMB3vUzcbVBIbqqvq','BNbTigLUC3rHBgWGlwCGqgfUDgG','zxHPDa','icbSCYaTBcaIjeHftfbfuIi','Aw5JBhvKzxm','ChjVDg90ExbL','wf9psW'];a0_0x3448=function(){return _0x5a280f;};return a0_0x3448();}function isChineseLocale(){const _0xaeab35=a0_0x306a13,_0x3e5648=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0xaeab35(0x221)](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x3e5648))return!![];try{const _0x3e62f1=Intl['DateTimeFormat']()['resolvedOptions']()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x3e62f1);}catch{return![];}}function normalizeRegistry(_0x4bdef6){const _0x5defb9=a0_0x306a13;return String(_0x4bdef6||'')['trim']()[_0x5defb9(0x259)](/\/+$/,'');}var INSTALL_HINT={'codex':a0_0x306a13(0x262)+a0_0x306a13(0x235),'claude':a0_0x306a13(0x1e1)+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x306a13(0x223))+a0_0x306a13(0x222)};function isWindowsCmdFile(_0x7079a3){const _0x3b9ff6=a0_0x306a13;return process['platform']==='win32'&&/\.(cmd|bat)$/i[_0x3b9ff6(0x201)](_0x7079a3||'');}function quoteCmdArg(_0x5582a9){const _0x52be99=a0_0x306a13,_0x23361e=String(_0x5582a9??'');if(_0x23361e&&!/[\s"&|<>^%]/['test'](_0x23361e))return _0x23361e;return'\x22'+_0x23361e['replace'](/(["^&|<>%])/g,_0x52be99(0x246))+'\x22';}function cmdFallbackArgs(_0x3203f2,_0x32ffd7){const _0x3f0209=a0_0x306a13;return['/d','/s','/c',[quoteCmdArg(_0x3203f2),..._0x32ffd7[_0x3f0209(0x217)](quoteCmdArg)][_0x3f0209(0x24c)]('\x20')];}function resolveExecutablePath(_0x55003a){const _0x4e7d0c=a0_0x306a13;if(!_0x55003a)return null;if(_0x55003a[_0x4e7d0c(0x1e4)]('/')||_0x55003a[_0x4e7d0c(0x1e4)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x4e7d0c(0x201)](_0x55003a))return(0x0,import_fs[_0x4e7d0c(0x1ec)])(_0x55003a)?_0x55003a:_0x55003a;const _0x45aa97=process['platform']==='win32',_0x460fe4=_0x45aa97?'where.exe':_0x4e7d0c(0x1f7);try{const _0xf0c870=(0x0,import_child_process['spawnSync'])(_0x460fe4,[_0x55003a],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0xf0c870[_0x4e7d0c(0x218)]===0x0){const _0x333fbd=(_0xf0c870[_0x4e7d0c(0x251)]||'')['trim']()[_0x4e7d0c(0x1e7)](/\r?\n/)['filter'](Boolean);if(_0x333fbd['length']===0x0)return null;if(_0x45aa97)for(const _0x4c6eb8 of[_0x4e7d0c(0x257),_0x4e7d0c(0x25f),_0x4e7d0c(0x225),_0x4e7d0c(0x1db)]){const _0x241fe5=_0x333fbd['find'](_0x2ab9e2=>_0x2ab9e2[_0x4e7d0c(0x1df)]()['endsWith'](_0x4c6eb8));if(_0x241fe5)return _0x241fe5;}return _0x333fbd[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x48f1d5){const _0x28a84f=a0_0x306a13;if(process['platform']!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x48f1d5))return null;let _0x29fcca;try{_0x29fcca=(0x0,import_fs['readFileSync'])(_0x48f1d5,'utf-8');}catch{return null;}const _0x1a56ec=_0x29fcca[_0x28a84f(0x1d2)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x1a56ec){const _0x56dfaa=(0x0,import_path['resolve'])((0x0,import_path[_0x28a84f(0x220)])(_0x48f1d5),_0x1a56ec[0x2]);if((0x0,import_fs[_0x28a84f(0x1ec)])(_0x56dfaa))return{'type':_0x28a84f(0x21e),'path':_0x56dfaa};}const _0x526b26=_0x29fcca['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x526b26){const _0x2c10c6=(0x0,import_path['resolve'])((0x0,import_path[_0x28a84f(0x220)])(_0x48f1d5),_0x526b26[0x2]);if((0x0,import_fs['existsSync'])(_0x2c10c6))return{'type':_0x28a84f(0x1f4),'path':_0x2c10c6};}return null;}function safeSpawnSync(_0x4aca2c,_0x24db93,_0x5c0cc4={}){const _0x35fcfb=a0_0x306a13,_0x1a2115=unwrapWindowsCmdShim(_0x4aca2c);if(_0x1a2115?.['type']===_0x35fcfb(0x21e))return(0x0,import_child_process[_0x35fcfb(0x234)])(process[_0x35fcfb(0x1f6)],[_0x1a2115['path'],..._0x24db93],_0x5c0cc4);if(_0x1a2115?.[_0x35fcfb(0x1fc)]===_0x35fcfb(0x1f4))return(0x0,import_child_process[_0x35fcfb(0x234)])(_0x1a2115[_0x35fcfb(0x1dc)],_0x24db93,_0x5c0cc4);if(isWindowsCmdFile(_0x4aca2c))return(0x0,import_child_process[_0x35fcfb(0x234)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x4aca2c,_0x24db93),_0x5c0cc4);return(0x0,import_child_process['spawnSync'])(_0x4aca2c,_0x24db93,_0x5c0cc4);}var WRAPPER_PKG_NAME=a0_0x306a13(0x223),CORE_PKG_NAME=a0_0x306a13(0x202),SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){const _0x577367=a0_0x306a13;return path['join'](os[_0x577367(0x1e9)](),_0x577367(0x229));}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x2269cb=a0_0x306a13;return path[_0x2269cb(0x24c)](configDir(),'last-crash.json');}function writeLastCrash(_0x55428d){const _0x332410=a0_0x306a13;try{fs[_0x332410(0x237)](configDir(),{'recursive':!![]});const _0x420924={..._0x55428d,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x332410(0x232)](_0x420924,null,0x2),_0x332410(0x1d4));}catch{}}function readWrapperVersion(){const _0x112fd5=a0_0x306a13;try{const _0x5d7688=JSON[_0x112fd5(0x215)](fs[_0x112fd5(0x212)](path[_0x112fd5(0x24c)](wrapperBaseDir(),'..',_0x112fd5(0x236)),_0x112fd5(0x1d4)));return String(_0x5d7688['version']||'0.0.0');}catch{return _0x112fd5(0x21f);}}function a0_0x5122(_0x2ea720,_0x26c1d8){_0x2ea720=_0x2ea720-0x1cf;const _0x344826=a0_0x3448();let _0x5122fb=_0x344826[_0x2ea720];if(a0_0x5122['olThft']===undefined){var _0x12470d=function(_0x328b98){const _0x21a052='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ae876='',_0x43c6ee='';for(let _0x3661a9=0x0,_0x571f20,_0x2c074a,_0x183066=0x0;_0x2c074a=_0x328b98['charAt'](_0x183066++);~_0x2c074a&&(_0x571f20=_0x3661a9%0x4?_0x571f20*0x40+_0x2c074a:_0x2c074a,_0x3661a9++%0x4)?_0x3ae876+=String['fromCharCode'](0xff&_0x571f20>>(-0x2*_0x3661a9&0x6)):0x0){_0x2c074a=_0x21a052['indexOf'](_0x2c074a);}for(let _0x4c78ef=0x0,_0x479efe=_0x3ae876['length'];_0x4c78ef<_0x479efe;_0x4c78ef++){_0x43c6ee+='%'+('00'+_0x3ae876['charCodeAt'](_0x4c78ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c6ee);};a0_0x5122['JYzNlr']=_0x12470d,a0_0x5122['wnUvLm']={},a0_0x5122['olThft']=!![];}const _0x4bbfd8=_0x344826[0x0],_0x1fa830=_0x2ea720+_0x4bbfd8,_0x126589=a0_0x5122['wnUvLm'][_0x1fa830];return!_0x126589?(_0x5122fb=a0_0x5122['JYzNlr'](_0x5122fb),a0_0x5122['wnUvLm'][_0x1fa830]=_0x5122fb):_0x5122fb=_0x126589,_0x5122fb;}function readUpgradeState(){const _0x36d894=a0_0x306a13;try{return JSON[_0x36d894(0x215)](fs['readFileSync'](upgradeStatePath(),_0x36d894(0x1d4)));}catch{return null;}}function writeUpgradeState(_0x7020c7){const _0x2b9dff=a0_0x306a13;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x2b9dff(0x232)]({..._0x7020c7,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x13eb2b,_0xe22ccf,_0x588ba2=process.env){const _0x16ec25=a0_0x306a13;return safeSpawnSync(_0x13eb2b,_0xe22ccf,{'encoding':_0x16ec25(0x1ef),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x588ba2,'shell':![]});}function runNpmView(_0x265dec){const _0x26bc39=a0_0x306a13,_0xff47a6=resolveExecutablePath(_0x26bc39(0x261));if(!_0xff47a6)return{'status':0x7f,'stdout':'','stderr':_0x26bc39(0x247),'error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0xff47a6,_0x265dec,{'encoding':_0x26bc39(0x1ef),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x277d5c=a0_0x306a13,_0x3a81c8=resolveExecutablePath(_0x277d5c(0x261));if(!_0x3a81c8)return'';const _0xb871be=run(_0x3a81c8,[_0x277d5c(0x240),'-g']);if(_0xb871be[_0x277d5c(0x218)]!==0x0)return'';return String(_0xb871be['stdout']||'')['trim']();}function compareSemver(_0x36f9b2,_0x535326){const _0x1adcab=a0_0x306a13,_0x543b6b=String(_0x36f9b2||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x1adcab(0x217)](_0x26703e=>Number[_0x1adcab(0x1f5)](_0x26703e,0xa)||0x0),_0x51b79c=String(_0x535326||'')[_0x1adcab(0x259)](/^v/,'')['split'](/[.-]/)[_0x1adcab(0x217)](_0x28d1c2=>Number['parseInt'](_0x28d1c2,0xa)||0x0);for(let _0x520550=0x0;_0x520550<Math['max'](_0x543b6b['length'],_0x51b79c['length'],0x3);_0x520550++){const _0x277371=_0x543b6b[_0x520550]||0x0,_0x2c3bb3=_0x51b79c[_0x520550]||0x0;if(_0x277371>_0x2c3bb3)return 0x1;if(_0x277371<_0x2c3bb3)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x1701dd=a0_0x306a13,_0x11aea0=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x1701dd(0x22c)]()['toLowerCase']();return _0x11aea0==='1'||_0x11aea0==='true'||_0x11aea0==='yes'||_0x11aea0==='on';}function latestWrapperVersion(){const _0x400da4=a0_0x306a13,_0x5b28be=runNpmView(['view',WRAPPER_PKG_NAME+_0x400da4(0x211),_0x400da4(0x252),npmRegistryArg()]);if(_0x5b28be[_0x400da4(0x218)]!==0x0)return'';return String(_0x5b28be['stdout']||'')['trim']()['split'](/\r?\n/)[_0x400da4(0x221)](Boolean)[_0x400da4(0x24e)]()||'';}function installWrapperVersion(_0x3b8a2f){const _0x1aa222=a0_0x306a13,_0x3c99a5=resolveExecutablePath(_0x1aa222(0x261));if(!_0x3c99a5)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x280683=run(_0x3c99a5,['install','-g',WRAPPER_PKG_NAME+'@'+_0x3b8a2f,npmRegistryArg()]),_0x291528=((_0x280683[_0x1aa222(0x251)]||'')+'\x0a'+(_0x280683[_0x1aa222(0x249)]||''))['trim']();return{'ok':_0x280683['status']===0x0,'output':_0x291528};}function maybeUpdateWrapper(_0x129062){const _0xc7120f=a0_0x306a13;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x1455fc=latestWrapperVersion();if(!_0x1455fc||compareSemver(_0x1455fc,WRAPPER_VERSION)<=0x0)return![];const _0x21b6df=preferredNpmRegistry();console[_0xc7120f(0x1ee)]('[wrapper]\x20update\x20ava'+_0xc7120f(0x253)+WRAPPER_VERSION+'\x20->\x20'+_0x1455fc),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x1455fc+_0xc7120f(0x1dd)+_0x21b6df+(_0xc7120f(0x255)+'e...'));const _0xe70164=installWrapperVersion(_0x1455fc);if(!_0xe70164['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0xe70164['output'])console[_0xc7120f(0x1ee)](_0xe70164[_0xc7120f(0x243)][_0xc7120f(0x1e7)](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+_0xc7120f(0x22a)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x1455fc,_0x21b6df)),![];}console[_0xc7120f(0x1ee)](_0xc7120f(0x1fa)+'dated\x20to\x20'+_0x1455fc+_0xc7120f(0x1cf));const _0x548d8d=process['argv'][0x1],_0x3c6af4=(0x0,import_child_process2[_0xc7120f(0x234)])(process['execPath'],[_0x548d8d,..._0x129062],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x1455fc},'shell':![]});process[_0xc7120f(0x1e2)](_0x3c6af4[_0xc7120f(0x218)]??0x0);}function findCoreScript(){const _0x334e73=a0_0x306a13,_0x283bae=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x5f3d26=['1',_0x334e73(0x20d),_0x334e73(0x227),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x334e73(0x1df)]());if(_0x283bae&&_0x5f3d26&&fs['existsSync'](_0x283bae))return _0x283bae;const _0x14a7b1=[],_0x58ab82=_0x35579c=>{const _0x3def3d=_0x334e73;if(fs[_0x3def3d(0x1ec)](_0x35579c)&&!_0x14a7b1[_0x3def3d(0x1e4)](_0x35579c))_0x14a7b1[_0x3def3d(0x1f9)](_0x35579c);};if(_0x283bae)_0x58ab82(_0x283bae);const _0x1c4b98=npmRootGlobal();if(_0x1c4b98){const _0x41582f=path[_0x334e73(0x24c)](_0x1c4b98,'@whalent',_0x334e73(0x208),_0x334e73(0x20f),'index.cjs');_0x58ab82(_0x41582f);}const _0x3fc0d0=path[_0x334e73(0x24c)](wrapperBaseDir(),_0x334e73(0x1d6));_0x58ab82(_0x3fc0d0);const _0xee5c77=path['join'](wrapperBaseDir(),'..',_0x334e73(0x1d7),'core','dist','index.cjs');_0x58ab82(_0xee5c77);if(_0x14a7b1[_0x334e73(0x254)]>0x0)return _0x14a7b1[_0x334e73(0x217)]((_0x23da75,_0x3ad17c)=>({'candidate':_0x23da75,'index':_0x3ad17c,'version':coreVersion(_0x23da75)}))['sort']((_0xa6b34d,_0x143144)=>{const _0x22c305=_0x334e73,_0x247b70=compareSemver(_0x143144[_0x22c305(0x252)],_0xa6b34d['version']);if(_0x247b70!==0x0)return _0x247b70;return _0x143144['index']-_0xa6b34d[_0x22c305(0x205)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+_0x334e73(0x24a)+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+_0x334e73(0x25c));}function coreVersion(_0xdbcd15=findCoreScript()){const _0x2aa633=a0_0x306a13,_0x48d4df=(0x0,import_child_process2[_0x2aa633(0x234)])(process['execPath'],[_0xdbcd15,_0x2aa633(0x1f1)],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x496851=(_0x48d4df['stdout']||'')+'\x0a'+(_0x48d4df[_0x2aa633(0x249)]||'');return _0x496851[_0x2aa633(0x1d2)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4ca0bf){const _0x20d1e4=a0_0x306a13;try{return fs['accessSync'](_0x4ca0bf,fs['constants'][_0x20d1e4(0x1e6)]),!![];}catch{return![];}}function shellQuote(_0x457dae){const _0x16c804=a0_0x306a13;return'\x27'+_0x457dae['replace'](/'/g,_0x16c804(0x1da))+'\x27';}function coreNodePtySpawnHelperPath(_0x11b521){const _0x5dcaba=a0_0x306a13;if(process[_0x5dcaba(0x24b)]!=='darwin')return'';try{const _0x5962d6=(0x0,import_module[_0x5dcaba(0x244)])(_0x11b521),_0x2c5704=_0x5962d6[_0x5dcaba(0x256)](_0x5dcaba(0x1ea)),_0x3d2cf0=path[_0x5dcaba(0x256)](path['dirname'](_0x2c5704),'..');return path[_0x5dcaba(0x24c)](_0x3d2cf0,'prebuilds',_0x5dcaba(0x241)+process['arch'],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x218f0a){const _0x9d16a3=a0_0x306a13,_0x8debb2=coreNodePtySpawnHelperPath(_0x218f0a);if(!_0x8debb2||CHECKED_PTY_HELPERS['has'](_0x8debb2))return;CHECKED_PTY_HELPERS[_0x9d16a3(0x213)](_0x8debb2);if(!fs[_0x9d16a3(0x1ec)](_0x8debb2)){console[_0x9d16a3(0x1ee)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+_0x9d16a3(0x248)+_0x8debb2);return;}if(isExecutable(_0x8debb2))return;try{const _0x44e44a=fs[_0x9d16a3(0x20c)](_0x8debb2)[_0x9d16a3(0x1d0)];fs[_0x9d16a3(0x239)](_0x8debb2,_0x44e44a|0x1ed);}catch{}if(isExecutable(_0x8debb2)){console[_0x9d16a3(0x1ee)]('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x8debb2);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x9d16a3(0x1d1)+_0x9d16a3(0x209)+_0x8debb2),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console['warn']('\x20\x20HELPER='+shellQuote(_0x8debb2)),console[_0x9d16a3(0x1ee)](_0x9d16a3(0x1e3)),console['warn'](_0x9d16a3(0x231));}function printVersion(){const _0x271b96=a0_0x306a13;let _0x13b3a2='';try{_0x13b3a2=coreVersion();}catch{}console[_0x271b96(0x206)](_0x271b96(0x219)+WRAPPER_VERSION),console['log'](_0x271b96(0x23f)+WRAPPER_VERSION),console[_0x271b96(0x206)]('core\x20'+(_0x13b3a2||'not\x20installed'));}function directCore(_0x3e7fcb){const _0xbff282=a0_0x306a13,_0x58d4d7=findCoreScript();checkMacNodePtySpawnHelper(_0x58d4d7);const _0x415196=(0x0,import_child_process2['spawnSync'])(process[_0xbff282(0x1f6)],[_0x58d4d7,..._0x3e7fcb],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x58d4d7},'shell':![]});process[_0xbff282(0x1e2)](_0x415196[_0xbff282(0x218)]??0x0);}function shouldSupervise(_0x4176c7){const _0x2229af=a0_0x306a13;if(_0x4176c7['includes'](_0x2229af(0x22e)))return![];if(_0x4176c7['includes']('--resume')||_0x4176c7[0x0]==='resume')return![];const _0xf9a552=_0x4176c7[0x0]||'';if(_0xf9a552==='ls'||_0xf9a552===_0x2229af(0x218)||_0xf9a552==='ps')return![];if(_0xf9a552==='mcp'||_0xf9a552===_0x2229af(0x21d))return![];if(_0x4176c7['includes'](_0x2229af(0x1fe))||_0x4176c7['includes']('-h'))return![];return!![];}function installCoreVersion(_0xbe98ef){const _0x4184ac=a0_0x306a13,_0x2c7ef0=resolveExecutablePath('npm');if(!_0x2c7ef0)return{'ok':![],'output':_0x4184ac(0x1e0)+'H'};const _0x320f20=CORE_PKG_NAME+'@'+_0xbe98ef,_0x335321=run(_0x2c7ef0,['install','-g',_0x320f20,npmRegistryArg()]),_0x4d4fe0=((_0x335321[_0x4184ac(0x251)]||'')+'\x0a'+(_0x335321[_0x4184ac(0x249)]||''))['trim']();return{'ok':_0x335321['status']===0x0,'output':_0x4d4fe0};}async function superviseCore(_0x244e54){const _0x1ea6ca=a0_0x306a13;let _0x27ef98=![],_0x20466f=null;const _0x249017=[];let _0x4cd66a=MIN_RESTART_DELAY_MS;const _0x478701=()=>{const _0x4e6c1f=a0_0x5122;_0x27ef98=!![];if(_0x20466f&&!_0x20466f['killed'])try{_0x20466f['kill'](_0x4e6c1f(0x258));}catch{}else process[_0x4e6c1f(0x1e2)](0x0);};process['on'](_0x1ea6ca(0x25a),_0x478701),process['on'](_0x1ea6ca(0x258),_0x478701);while(!![]){const _0x19ab4e=findCoreScript();checkMacNodePtySpawnHelper(_0x19ab4e);const _0x1feab8={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x19ab4e},_0x519bd3=readUpgradeState(),_0x3e7e14=!!_0x519bd3?.[_0x1ea6ca(0x228)];let _0x2151b4=![],_0x4c2e0f=null,_0x1c9b08='';const _0x4f58a8=[],_0x559815=0xc;console[_0x1ea6ca(0x206)]('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x19ab4e),_0x20466f=(0x0,import_child_process2['spawn'])(process['execPath'],[_0x19ab4e,..._0x244e54],{'env':_0x1feab8,'stdio':['inherit',_0x1ea6ca(0x1f0),'pipe']});const _0x3e3be2=()=>{const _0x3b6cfe=_0x1ea6ca;if(_0x2151b4)return;_0x2151b4=!![];if(_0x4c2e0f)clearTimeout(_0x4c2e0f);_0x249017[_0x3b6cfe(0x254)]=0x0,_0x4cd66a=MIN_RESTART_DELAY_MS;const _0x571797=readUpgradeState();_0x571797?.[_0x3b6cfe(0x228)]&&(writeUpgradeState({..._0x571797,'pending':![],'rollback':![],'health_status':_0x3b6cfe(0x263)}),console['log']('[wrapper]\x20core\x20upgra'+_0x3b6cfe(0x23c)+(_0x571797['installed_version']||_0x571797[_0x3b6cfe(0x242)]||'')));},_0x316496=(_0x194fd9,_0x40040a=![])=>{const _0x304b3c=_0x1ea6ca,_0x4d96e5=_0x194fd9['toString']();(_0x40040a?process['stderr']:process['stdout'])[_0x304b3c(0x1eb)](_0x4d96e5);if(_0x40040a)for(const _0xd353ff of _0x4d96e5[_0x304b3c(0x1e7)](/\r?\n/)){if(!_0xd353ff['trim']())continue;_0x4f58a8['push'](_0xd353ff);if(_0x4f58a8[_0x304b3c(0x254)]>_0x559815)_0x4f58a8[_0x304b3c(0x1f3)]();const _0x53c60e=_0xd353ff[_0x304b3c(0x1d2)](FATAL_PATTERN);if(_0x53c60e)_0x1c9b08=_0x53c60e[0x0];}(_0x4d96e5[_0x304b3c(0x1e4)]('[gateway]\x20Connected')||_0x4d96e5['includes']('Gateway\x20registered\x20m'+'achine')||_0x4d96e5[_0x304b3c(0x1e4)]('Gateway:\x20connected'))&&_0x3e3be2();};_0x20466f[_0x1ea6ca(0x251)]?.['on']('data',_0x253340=>_0x316496(_0x253340,![])),_0x20466f[_0x1ea6ca(0x249)]?.['on']('data',_0x5b2e1e=>_0x316496(_0x5b2e1e,!![]));_0x3e7e14&&(_0x4c2e0f=setTimeout(()=>{const _0x19e092=_0x1ea6ca;if(_0x2151b4||!_0x20466f||_0x20466f[_0x19e092(0x23e)])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x19e092(0x214)+_0x19e092(0x238)+_0x19e092(0x21c));try{_0x20466f['kill'](_0x19e092(0x258));}catch{}},HEALTH_TIMEOUT_MS));const _0x507983=await new Promise(_0x156991=>{const _0xbf8f09=_0x1ea6ca;_0x20466f[_0xbf8f09(0x204)]('exit',(_0x46552d,_0x188244)=>_0x156991({'code':_0x46552d,'signal':_0x188244}));});if(_0x4c2e0f)clearTimeout(_0x4c2e0f);_0x20466f=null;if(_0x27ef98)process['exit'](_0x507983['code']??0x0);const _0x1573d2=readUpgradeState();if(_0x1573d2?.['pending']&&!_0x2151b4){const _0x5dd144=String(_0x1573d2['previous_core_versio'+'n']||'')['trim']();if(_0x5dd144){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x5dd144);const _0x3d2040=installCoreVersion(_0x5dd144);writeUpgradeState({..._0x1573d2,'pending':![],'rollback':!![],'health_status':_0x3d2040['ok']?'rolled_back':_0x1ea6ca(0x1d3),'error':_0x3d2040['ok']?'':_0x3d2040[_0x1ea6ca(0x243)]});}else writeUpgradeState({..._0x1573d2,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x1ea6ca(0x200)+_0x1ea6ca(0x25d)});}const _0x44bb32=_0x507983[_0x1ea6ca(0x1de)]===SUPERVISED_RESTART_CODE||_0x1573d2?.[_0x1ea6ca(0x228)];if(!_0x44bb32&&_0x507983['code']===0x0)process[_0x1ea6ca(0x1e2)](0x0);const _0x49414b=Date[_0x1ea6ca(0x1d9)]();_0x249017[_0x1ea6ca(0x1f9)](_0x49414b);while(_0x249017['length']>0x0&&_0x49414b-_0x249017[0x0]>CRASH_WINDOW_MS){_0x249017['shift']();}const _0x4c0354=_0x249017['length'];writeLastCrash({'timestamp':_0x49414b,'exit_code':_0x507983['code'],'exit_signal':_0x507983[_0x1ea6ca(0x1d8)]||null,'fatal_line':_0x1c9b08,'raw_tail':_0x4f58a8[_0x1ea6ca(0x24c)]('\x0a'),'consecutive_crashes':_0x4c0354}),console['log'](_0x1ea6ca(0x203)+_0x1ea6ca(0x226)+(_0x507983['code']??'')+(_0x507983[_0x1ea6ca(0x1d8)]?_0x1ea6ca(0x24f)+_0x507983['signal']:'')+'\x20('+_0x4c0354+'/'+MAX_CRASHES_IN_WINDOW+_0x1ea6ca(0x207)+Math[_0x1ea6ca(0x20a)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x1c9b08)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x1c9b08);_0x4c0354>=MAX_CRASHES_IN_WINDOW&&(console[_0x1ea6ca(0x233)]('[wrapper]\x20core\x20faile'+'d\x20'+_0x4c0354+_0x1ea6ca(0x1fd)+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+'record:\x20')+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0x1ea6ca(0x22d)+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console['log']('[wrapper]\x20restarting'+_0x1ea6ca(0x245)+_0x4cd66a+'ms'),await new Promise(_0x1585dc=>setTimeout(_0x1585dc,_0x4cd66a)),_0x4cd66a=Math['min'](_0x4cd66a*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x596fca=a0_0x306a13,_0x149e8e=process['argv'][_0x596fca(0x21b)](0x2);if(_0x149e8e[0x0]===_0x596fca(0x1f1)||_0x149e8e[0x0]==='-v'||_0x149e8e[0x0]===_0x596fca(0x252)){printVersion();return;}if((_0x149e8e[0x0]==='status'||_0x149e8e[0x0]==='ls'||_0x149e8e[0x0]==='ps')&&!_0x149e8e['includes']('--json')){console['log'](_0x596fca(0x23f)+WRAPPER_VERSION);try{console[_0x596fca(0x206)]('core\x20'+(coreVersion()||'not\x20installed'));}catch{console[_0x596fca(0x206)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x149e8e);if(!shouldSupervise(_0x149e8e))directCore(_0x149e8e);await superviseCore(_0x149e8e);}main()[a0_0x306a13(0x20b)](_0x42b20c=>{const _0x281386=a0_0x306a13;console['error'](_0x281386(0x21a)+'r:\x20'+(_0x42b20c?.[_0x281386(0x23b)]||String(_0x42b20c))),process[_0x281386(0x1e2)](0x1);});
|
|
2
|
+
'use strict';const a0_0x22e1cc=a0_0x574b;(function(_0x40f3c2,_0x1918d5){const _0x42ef5d=a0_0x574b,_0x51f5d9=_0x40f3c2();while(!![]){try{const _0x48ac40=-parseInt(_0x42ef5d(0xe6))/0x1*(-parseInt(_0x42ef5d(0xad))/0x2)+parseInt(_0x42ef5d(0xf3))/0x3*(-parseInt(_0x42ef5d(0x10b))/0x4)+parseInt(_0x42ef5d(0x8c))/0x5+parseInt(_0x42ef5d(0x10a))/0x6*(parseInt(_0x42ef5d(0xd2))/0x7)+parseInt(_0x42ef5d(0x101))/0x8+-parseInt(_0x42ef5d(0x91))/0x9+parseInt(_0x42ef5d(0xa0))/0xa*(-parseInt(_0x42ef5d(0x113))/0xb);if(_0x48ac40===_0x1918d5)break;else _0x51f5d9['push'](_0x51f5d9['shift']());}catch(_0x11581b){_0x51f5d9['push'](_0x51f5d9['shift']());}}}(a0_0x5686,0x289ff));var __create=Object[a0_0x22e1cc(0xb1)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x22e1cc(0x10d)+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x22e1cc(0xc9)][a0_0x22e1cc(0xce)],__copyProps=(_0x31336d,_0x33100d,_0x44f9f0,_0x4ec34e)=>{const _0xc13e44=a0_0x22e1cc;if(_0x33100d&&typeof _0x33100d===_0xc13e44(0x104)||typeof _0x33100d==='function'){for(let _0x76f3b1 of __getOwnPropNames(_0x33100d))if(!__hasOwnProp['call'](_0x31336d,_0x76f3b1)&&_0x76f3b1!==_0x44f9f0)__defProp(_0x31336d,_0x76f3b1,{'get':()=>_0x33100d[_0x76f3b1],'enumerable':!(_0x4ec34e=__getOwnPropDesc(_0x33100d,_0x76f3b1))||_0x4ec34e['enumerable']});}return _0x31336d;},__toESM=(_0x331bfc,_0x27ecd9,_0x20c653)=>(_0x20c653=_0x331bfc!=null?__create(__getProtoOf(_0x331bfc)):{},__copyProps(_0x27ecd9||!_0x331bfc||!_0x331bfc['__esModule']?__defProp(_0x20c653,'default',{'value':_0x331bfc,'enumerable':!![]}):_0x20c653,_0x331bfc)),import_child_process2=require(a0_0x22e1cc(0xe7)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x22e1cc(0xf0)),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x22e1cc(0xd6)),0x1),import_child_process=require(a0_0x22e1cc(0xe7)),import_fs=require('fs'),import_path=require(a0_0x22e1cc(0xd6)),DEFAULT_NPM_REGISTRY='https://registry.npm'+'js.org',CHINA_NPM_REGISTRY=a0_0x22e1cc(0xf5)+a0_0x22e1cc(0x11b);function preferredNpmRegistry(){const _0x1871a2=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x1871a2)return _0x1871a2;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x4452a9=preferredNpmRegistry()){const _0xf412a6=a0_0x22e1cc;return _0xf412a6(0x98)+(normalizeRegistry(_0x4452a9)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x45554f,_0x277b84=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x45554f+'\x20'+npmRegistryArg(_0x277b84);}function isChineseLocale(){const _0x150225=a0_0x22e1cc,_0xe69ca6=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0xe69ca6))return!![];try{const _0x13cdbc=Intl[_0x150225(0xd4)]()[_0x150225(0xc1)]()[_0x150225(0xf4)]||'';return/(^|-)zh($|-)|-CN\b/i[_0x150225(0xb4)](_0x13cdbc);}catch{return![];}}function normalizeRegistry(_0x3c4b8f){const _0x2d8a21=a0_0x22e1cc;return String(_0x3c4b8f||'')[_0x2d8a21(0x10c)]()[_0x2d8a21(0xfd)](/\/+$/,'');}var INSTALL_HINT={'codex':a0_0x22e1cc(0xa7)+a0_0x22e1cc(0xee),'claude':a0_0x22e1cc(0x11a)+a0_0x22e1cc(0x119),'opencode':a0_0x22e1cc(0xf1)+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+'\x20--prefer-online'};function isWindowsCmdFile(_0x4be656){const _0x46804e=a0_0x22e1cc;return process[_0x46804e(0xbe)]==='win32'&&/\.(cmd|bat)$/i['test'](_0x4be656||'');}function quoteCmdArg(_0x1d7040){const _0x4bc928=a0_0x22e1cc,_0x199185=String(_0x1d7040??'');if(_0x199185&&!/[\s"&|<>^%]/['test'](_0x199185))return _0x199185;return'\x22'+_0x199185['replace'](/(["^&|<>%])/g,_0x4bc928(0xb9))+'\x22';}function cmdFallbackArgs(_0x41c330,_0x25c20a){const _0x3386c1=a0_0x22e1cc;return['/d','/s','/c',[quoteCmdArg(_0x41c330),..._0x25c20a[_0x3386c1(0x93)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x159970){const _0x3e4c5b=a0_0x22e1cc;if(!_0x159970)return null;if(_0x159970[_0x3e4c5b(0xaf)]('/')||_0x159970['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x3e4c5b(0xb4)](_0x159970))return(0x0,import_fs['existsSync'])(_0x159970)?_0x159970:_0x159970;const _0x239bd8=process['platform']==='win32',_0x202a58=_0x239bd8?_0x3e4c5b(0xb0):'which';try{const _0x4292d9=(0x0,import_child_process[_0x3e4c5b(0xb7)])(_0x202a58,[_0x159970],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x4292d9[_0x3e4c5b(0x115)]===0x0){const _0x40c2e3=(_0x4292d9['stdout']||'')[_0x3e4c5b(0x10c)]()['split'](/\r?\n/)['filter'](Boolean);if(_0x40c2e3['length']===0x0)return null;if(_0x239bd8)for(const _0xfa2a08 of['.exe',_0x3e4c5b(0x10e),'.bat',_0x3e4c5b(0x11e)]){const _0x1dd81b=_0x40c2e3['find'](_0x2ec625=>_0x2ec625[_0x3e4c5b(0x116)]()[_0x3e4c5b(0xfe)](_0xfa2a08));if(_0x1dd81b)return _0x1dd81b;}return _0x40c2e3[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x2f7221){const _0x2e8235=a0_0x22e1cc;if(process['platform']!=='win32')return null;if(!/\.(cmd|bat)$/i[_0x2e8235(0xb4)](_0x2f7221))return null;let _0x18f8da;try{_0x18f8da=(0x0,import_fs['readFileSync'])(_0x2f7221,_0x2e8235(0x120));}catch{return null;}const _0x4cac9b=_0x18f8da['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x4cac9b){const _0x2e2a7c=(0x0,import_path[_0x2e8235(0xe4)])((0x0,import_path[_0x2e8235(0xb3)])(_0x2f7221),_0x4cac9b[0x2]);if((0x0,import_fs[_0x2e8235(0xc3)])(_0x2e2a7c))return{'type':'node','path':_0x2e2a7c};}const _0x1f625f=_0x18f8da[_0x2e8235(0xa9)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x1f625f){const _0x3f0afb=(0x0,import_path['resolve'])((0x0,import_path[_0x2e8235(0xb3)])(_0x2f7221),_0x1f625f[0x2]);if((0x0,import_fs[_0x2e8235(0xc3)])(_0x3f0afb))return{'type':_0x2e8235(0xf7),'path':_0x3f0afb};}return null;}function safeSpawnSync(_0x21df82,_0x376212,_0x17a7e3={}){const _0x10d5d8=a0_0x22e1cc,_0x2972f9=unwrapWindowsCmdShim(_0x21df82);if(_0x2972f9?.['type']==='node')return(0x0,import_child_process['spawnSync'])(process[_0x10d5d8(0x114)],[_0x2972f9[_0x10d5d8(0xd6)],..._0x376212],_0x17a7e3);if(_0x2972f9?.[_0x10d5d8(0xac)]===_0x10d5d8(0xf7))return(0x0,import_child_process[_0x10d5d8(0xb7)])(_0x2972f9[_0x10d5d8(0xd6)],_0x376212,_0x17a7e3);if(isWindowsCmdFile(_0x21df82))return(0x0,import_child_process['spawnSync'])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x21df82,_0x376212),_0x17a7e3);return(0x0,import_child_process[_0x10d5d8(0xb7)])(_0x21df82,_0x376212,_0x17a7e3);}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME='@whalent/agent-core',SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){const _0x53688e=a0_0x22e1cc;return path[_0x53688e(0x112)](os[_0x53688e(0x9b)](),_0x53688e(0x9a));}function a0_0x5686(){const _0x57ca48=['ywDLBNq','CMvJB3jKoIa','w3DYyxbWzxjDignVCMuGDxbNCMe','w3DYyxbWzxjDihDYyxbWzxiGDxa','D2HHBgvUDc1Hz2vUDca','BNbTig5VDcbMB3vUzcbVBIbqqvq','w2DHDgv3yxLDienVBM5Ly3rLza','DxrMoa','C3bHD24','CMvZB2X2zq','ywDLBNqTy29Yzq','mKjuzgr5va','y2HPBgrFChjVy2vZCW','BM90igLUC3rHBgXLza','zxjSEwLUzYbPC3n1zsbPCYbMAxG','AgvHBhrOEq','zxHPDa','DMvYC2LVBG','Aw5ZDgfSBa','ywKVy29KzxG','B3v0Chv0','Bw9KDwXL','BNbTigLUC3rHBgWGlwCGB3bLBMm','DMLLDW','mZaWqKvnCefw','Bg9JywXL','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','CgvUzgLUzW','zxHL','CMvHzezPBgvtEw5J','zgf0zsbMywLSzwq7ignVBNrPBNu','u0Lhvevstq','C3rKzxjY','Aw5OzxjPDa','CMvWBgfJzq','zw5KC1DPDgG','Dhj1zq','BgvUz3rO','mte1nte4nfnnu0nswq','ChvZAa','BM93','B2jQzwn0','w3DYyxbWzxjDihjLC3rHCNrPBMC','CMvZDw1L','lxb0EsbZCgf3BI1OzwXWzxiGAxm','y29Kzq','C3rKB3v0','nJy4ntHNuwrrwhq','ntKXmM16wK55Ba','DhjPBq','z2v0t3DUuhjVCgvYDhLezxnJCMK','lMnTza','w3DYyxbWzxjDig5LDYbJB3jLigq','Bg9N','Bwf4','AM9PBG','mtfmz25OBLq','zxHLy1bHDgG','C3rHDhvZ','Dg9mB3DLCKnHC2u','icbSCYaTBcaIjeHftfbfuIi','ls1Yzxn1Bwu','CM9WAwmTywKVy2XHDwrLlwnVzgu','BNbTigLUC3rHBgWGlwCGqgfUDgG','BwLYCM9YlMnVBq','wf9psW','ywnR','lNbZmq','y2HTB2rtEw5J','DxrMltG','zguGAgvHBhrOEtOG','B25Jzq','mJG3nZu1AwnOCfn0','r2f0zxDHEtOGy29UBMvJDgvK','ls12zxjZAw9U','w3DYyxbWzxjDignVCMuGzxHPDgu','BwLU','mtiXnZG1m1zVB0DlwG','y2SGy29Yzsb0BYa','BwfW','ufrzihn0yxj0Dxa6','qhDOywXLBNq','BgfZDc1JCMfZAc5QC29U','w3DYyxbWzxjDihjVBgXPBMCGyMe','ls1YzwDPC3rYEt0','DgfYz2v0x3zLCNnPB24','lNDOywXLBNqTywDLBNq','Ag9TzwrPCG','oYbYzxn0yxj0Aw5NihDYyxbWzxi','ChjLyNvPBgrZ','zxjYB3i','A2LSBa','nZGXmtyWtKL1txzV','zMLSDgvY','mc4WlJa','Aw5ZDgfSBgvKx3zLCNnPB24','yxjNDG','CgfYC2vjBNq','EwvZ','BNbTigLUC3rHBgWGlwCGqg9Wzw4','C3bHD24TAgvSCgvY','Bwf0y2G','ihrPBwvZihDPDgHPBIa','CJOG','DhLWzq','mJq3nJGYy0PjqvPb','ywnJzxnZu3LUyW','Aw5JBhvKzxm','D2HLCMuUzxHL','y3jLyxrL','u0Lhsu5u','zgLYBMfTzq','DgvZDa','DcbMB3vUzdOG','zgf0yq','C3bHD25tEw5J','y3jLyxrLuMvXDwLYzq','xIqX','C3bSAxq','D2HHBgvUDcbJB3jLihj1BNrPBwu','w3DYyxbWzxjDigzPEgvKig1Hy08','CM9SBgjHy2TFzMfPBgvK','CgXHDgzVCM0','w3DYyxbWzxjDie1HBNvHBcb1Cgq','C2LNBMfS','CMvZB2X2zwrpChrPB25Z','Aw5KzxG','zxHPC3rZu3LUyW','y2fUzgLKyxrL','D2fYBG','ls1Hz2vUDc1Pza','D3jHChbLCIa','D3jPDgu','ChjVDg90ExbL','y29Yzsa','w3DYyxbWzxjDignVCMuGzMfPBgu','zgLZDa','BNbT','AgfZt3DUuhjVCgvYDhK','qhDOywXLBNqVywDLBNqTy29Yzsa','Aw5KzxGUy2PZ','lxb0EsbZCgf3BI1OzwXWzxiGBM8','ndL0vMzPALy','B3iGCMvIDwLSzcbaD2HHBgvUDc8','rgf0zvrPBwvgB3jTyxq','ChjLDMLVDxnFy29Yzv92zxjZAw8','Cgf0Aa','C3rYAw5NAwz5','Bw9Kzq','ls1OzwXW','CM9VDa'];a0_0x5686=function(){return _0x57ca48;};return a0_0x5686();}function upgradeStatePath(){const _0x51813c=a0_0x22e1cc;return path[_0x51813c(0x112)](configDir(),'core-upgrade.json');}function a0_0x574b(_0x102eb4,_0x3a1ec3){_0x102eb4=_0x102eb4-0x8b;const _0x56864a=a0_0x5686();let _0x574beb=_0x56864a[_0x102eb4];if(a0_0x574b['ErCRRM']===undefined){var _0x32b91e=function(_0xd8e621){const _0x418e49='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31336d='',_0x33100d='';for(let _0x44f9f0=0x0,_0x4ec34e,_0x76f3b1,_0x331bfc=0x0;_0x76f3b1=_0xd8e621['charAt'](_0x331bfc++);~_0x76f3b1&&(_0x4ec34e=_0x44f9f0%0x4?_0x4ec34e*0x40+_0x76f3b1:_0x76f3b1,_0x44f9f0++%0x4)?_0x31336d+=String['fromCharCode'](0xff&_0x4ec34e>>(-0x2*_0x44f9f0&0x6)):0x0){_0x76f3b1=_0x418e49['indexOf'](_0x76f3b1);}for(let _0x27ecd9=0x0,_0x20c653=_0x31336d['length'];_0x27ecd9<_0x20c653;_0x27ecd9++){_0x33100d+='%'+('00'+_0x31336d['charCodeAt'](_0x27ecd9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33100d);};a0_0x574b['DypvAu']=_0x32b91e,a0_0x574b['hNhHRx']={},a0_0x574b['ErCRRM']=!![];}const _0x39e57d=_0x56864a[0x0],_0x38c846=_0x102eb4+_0x39e57d,_0xa41812=a0_0x574b['hNhHRx'][_0x38c846];return!_0xa41812?(_0x574beb=a0_0x574b['DypvAu'](_0x574beb),a0_0x574b['hNhHRx'][_0x38c846]=_0x574beb):_0x574beb=_0xa41812,_0x574beb;}function lastCrashFilePath(){const _0xc48ab1=a0_0x22e1cc;return path[_0xc48ab1(0x112)](configDir(),_0xc48ab1(0x96));}function writeLastCrash(_0x5f5aba){const _0x378b79=a0_0x22e1cc;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x5a9da1={..._0x5f5aba,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x378b79(0xd7)](_0x5a9da1,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x94872e=a0_0x22e1cc;try{const _0x29fe74=JSON['parse'](fs[_0x94872e(0xf8)](path[_0x94872e(0x112)](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0x29fe74[_0x94872e(0xec)]||_0x94872e(0xa2));}catch{return _0x94872e(0xa2);}}function readUpgradeState(){const _0x476888=a0_0x22e1cc;try{return JSON['parse'](fs[_0x476888(0xf8)](upgradeStatePath(),_0x476888(0x120)));}catch{return null;}}function writeUpgradeState(_0x173f37){const _0x150c3a=a0_0x22e1cc;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x150c3a(0xd7)]({..._0x173f37,'updated_at':Date[_0x150c3a(0x103)]()},null,0x2),'utf-8');}catch{}}function run(_0x319243,_0x5b1124,_0x2743d0=process.env){return safeSpawnSync(_0x319243,_0x5b1124,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x2743d0,'shell':![]});}function runNpmView(_0x324202){const _0x34efdf=a0_0x22e1cc,_0x1a2657=resolveExecutablePath(_0x34efdf(0xcd));if(!_0x1a2657)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x1a2657,_0x324202,{'encoding':_0x34efdf(0xe2),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x4dc4ef=a0_0x22e1cc,_0x4fa1f1=resolveExecutablePath(_0x4dc4ef(0xcd));if(!_0x4fa1f1)return'';const _0x3bbced=run(_0x4fa1f1,[_0x4dc4ef(0xda),'-g']);if(_0x3bbced['status']!==0x0)return'';return String(_0x3bbced['stdout']||'')[_0x4dc4ef(0x10c)]();}function compareSemver(_0x268adc,_0x536cd8){const _0x1171d0=a0_0x22e1cc,_0x48d0c9=String(_0x268adc||'')[_0x1171d0(0xfd)](/^v/,'')[_0x1171d0(0xba)](/[.-]/)[_0x1171d0(0x93)](_0x2c5a8a=>Number[_0x1171d0(0xa5)](_0x2c5a8a,0xa)||0x0),_0x243007=String(_0x536cd8||'')['replace'](/^v/,'')[_0x1171d0(0xba)](/[.-]/)[_0x1171d0(0x93)](_0x198e8e=>Number[_0x1171d0(0xa5)](_0x198e8e,0xa)||0x0);for(let _0x3e705b=0x0;_0x3e705b<Math[_0x1171d0(0x111)](_0x48d0c9[_0x1171d0(0x100)],_0x243007[_0x1171d0(0x100)],0x3);_0x3e705b++){const _0x344149=_0x48d0c9[_0x3e705b]||0x0,_0x2237f6=_0x243007[_0x3e705b]||0x0;if(_0x344149>_0x2237f6)return 0x1;if(_0x344149<_0x2237f6)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0xb441bf=a0_0x22e1cc,_0x453876=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0xb441bf(0x116)]();return _0x453876==='1'||_0x453876==='true'||_0x453876==='yes'||_0x453876==='on';}function latestWrapperVersion(){const _0x54aec0=a0_0x22e1cc,_0x459f5b=runNpmView([_0x54aec0(0xf2),WRAPPER_PKG_NAME+'@latest','version',npmRegistryArg()]);if(_0x459f5b['status']!==0x0)return'';return String(_0x459f5b[_0x54aec0(0x109)]||'')['trim']()['split'](/\r?\n/)[_0x54aec0(0xa1)](Boolean)['pop']()||'';}function installWrapperVersion(_0x534279){const _0x470d4b=a0_0x22e1cc,_0x55261d=resolveExecutablePath(_0x470d4b(0xcd));if(!_0x55261d)return{'ok':![],'output':_0x470d4b(0xe0)+'H'};const _0x4d4b8d=run(_0x55261d,[_0x470d4b(0xed),'-g',WRAPPER_PKG_NAME+'@'+_0x534279,npmRegistryArg()]),_0x2f2dbc=((_0x4d4b8d['stdout']||'')+'\x0a'+(_0x4d4b8d['stderr']||''))['trim']();return{'ok':_0x4d4b8d[_0x470d4b(0x115)]===0x0,'output':_0x2f2dbc};}function maybeUpdateWrapper(_0x51012d){const _0x309a7f=a0_0x22e1cc;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x42a5ed=latestWrapperVersion();if(!_0x42a5ed||compareSemver(_0x42a5ed,WRAPPER_VERSION)<=0x0)return![];const _0x2da0d9=preferredNpmRegistry();console[_0x309a7f(0xc5)]('[wrapper]\x20update\x20ava'+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x42a5ed),console[_0x309a7f(0xc5)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x42a5ed+'\x20from\x20'+_0x2da0d9+('\x20before\x20starting\x20cor'+'e...'));const _0x5369dc=installWrapperVersion(_0x42a5ed);if(!_0x5369dc['ok']){console[_0x309a7f(0xc5)](_0x309a7f(0xde)+_0x309a7f(0xf9)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x5369dc['output'])console[_0x309a7f(0xc5)](_0x5369dc[_0x309a7f(0xef)]['split'](/\r?\n/)['slice'](-0xc)[_0x309a7f(0x112)]('\x0a'));return console[_0x309a7f(0xc5)](_0x309a7f(0xbf)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x42a5ed,_0x2da0d9)),![];}console[_0x309a7f(0xc5)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x42a5ed+_0x309a7f(0x9c));const _0x527c6c=process[_0x309a7f(0xa4)][0x1],_0x26a575=(0x0,import_child_process2[_0x309a7f(0xb7)])(process[_0x309a7f(0x114)],[_0x527c6c,..._0x51012d],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x42a5ed},'shell':![]});process[_0x309a7f(0xeb)](_0x26a575['status']??0x0);}function findCoreScript(){const _0x161502=a0_0x22e1cc,_0x507ddc=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x50e5c4=['1',_0x161502(0xff),_0x161502(0xa6),'on'][_0x161502(0xaf)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x507ddc&&_0x50e5c4&&fs['existsSync'](_0x507ddc))return _0x507ddc;const _0x2bfd10=[],_0x2a777d=_0x1a0970=>{const _0x4f2b9c=_0x161502;if(fs[_0x4f2b9c(0xc3)](_0x1a0970)&&!_0x2bfd10[_0x4f2b9c(0xaf)](_0x1a0970))_0x2bfd10[_0x4f2b9c(0x102)](_0x1a0970);};if(_0x507ddc)_0x2a777d(_0x507ddc);const _0x3d0ca7=npmRootGlobal();if(_0x3d0ca7){const _0x106aa4=path[_0x161502(0x112)](_0x3d0ca7,_0x161502(0x95),_0x161502(0xe5),_0x161502(0xcc),'index.cjs');_0x2a777d(_0x106aa4);}const _0x142282=path['join'](wrapperBaseDir(),'core.cjs');_0x2a777d(_0x142282);const _0x48786d=path[_0x161502(0x112)](wrapperBaseDir(),'..','packages','core','dist',_0x161502(0xd0));_0x2a777d(_0x48786d);if(_0x2bfd10['length']>0x0)return _0x2bfd10['map']((_0x5968fe,_0x4c1587)=>({'candidate':_0x5968fe,'index':_0x4c1587,'version':coreVersion(_0x5968fe)}))['sort']((_0x295051,_0x4c3ac0)=>{const _0x83b776=_0x161502,_0x5ed299=compareSemver(_0x4c3ac0[_0x83b776(0xec)],_0x295051[_0x83b776(0xec)]);if(_0x5ed299!==0x0)return _0x5ed299;return _0x4c3ac0[_0x83b776(0xc2)]-_0x295051[_0x83b776(0xc2)];})[0x0][_0x161502(0xc4)];throw new Error(_0x161502(0xbb)+'\x20not\x20found;\x20install\x20'+_0x161502(0xcf)+_0x161502(0xd3)+_0x161502(0xdb));}function coreVersion(_0x498452=findCoreScript()){const _0x45d35f=a0_0x22e1cc,_0x471bdf=(0x0,import_child_process2['spawnSync'])(process[_0x45d35f(0x114)],[_0x498452,_0x45d35f(0x8e)],{'encoding':_0x45d35f(0xe2),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x40e9c4=(_0x471bdf[_0x45d35f(0x109)]||'')+'\x0a'+(_0x471bdf['stderr']||'');return _0x40e9c4['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x31d803){const _0x42b7a5=a0_0x22e1cc;try{return fs[_0x42b7a5(0xae)](_0x31d803,fs['constants'][_0x42b7a5(0x11c)]),!![];}catch{return![];}}function shellQuote(_0x21b3d9){return'\x27'+_0x21b3d9['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x20f9de){const _0x31e60d=a0_0x22e1cc;if(process[_0x31e60d(0xbe)]!=='darwin')return'';try{const _0x52116f=(0x0,import_module[_0x31e60d(0xb8)])(_0x20f9de),_0x42a2aa=_0x52116f['resolve']('node-pty'),_0x400bda=path[_0x31e60d(0xe4)](path['dirname'](_0x42a2aa),'..');return path[_0x31e60d(0x112)](_0x400bda,_0x31e60d(0x9d),'darwin-'+process['arch'],_0x31e60d(0xa8));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x3f5646){const _0x12b429=a0_0x22e1cc,_0x2a005d=coreNodePtySpawnHelperPath(_0x3f5646);if(!_0x2a005d||CHECKED_PTY_HELPERS['has'](_0x2a005d))return;CHECKED_PTY_HELPERS['add'](_0x2a005d);if(!fs['existsSync'](_0x2a005d)){console[_0x12b429(0xc5)]('[wrapper]\x20macOS\x20node'+_0x12b429(0xd1)+_0x12b429(0xb5)+_0x2a005d);return;}if(isExecutable(_0x2a005d))return;try{const _0x5e0caf=fs['statSync'](_0x2a005d)[_0x12b429(0xd8)];fs[_0x12b429(0x11f)](_0x2a005d,_0x5e0caf|0x1ed);}catch{}if(isExecutable(_0x2a005d)){console['warn'](_0x12b429(0xbc)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x2a005d);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x12b429(0x107)+'\x20not\x20executable:\x20'+_0x2a005d),console[_0x12b429(0xc5)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+_0x12b429(0x94)),console[_0x12b429(0xc5)]('\x20\x20HELPER='+shellQuote(_0x2a005d)),console['warn'](_0x12b429(0x117)),console[_0x12b429(0xc5)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x4fa310=a0_0x22e1cc;let _0x2df8f3='';try{_0x2df8f3=coreVersion();}catch{}console['log'](_0x4fa310(0xdf)+WRAPPER_VERSION),console[_0x4fa310(0x110)](_0x4fa310(0xc7)+WRAPPER_VERSION),console[_0x4fa310(0x110)](_0x4fa310(0xca)+(_0x2df8f3||_0x4fa310(0xe8)));}function directCore(_0x23c5e7){const _0x1342b8=a0_0x22e1cc,_0x40a5a0=findCoreScript();checkMacNodePtySpawnHelper(_0x40a5a0);const _0x75d4ac=(0x0,import_child_process2[_0x1342b8(0xb7)])(process['execPath'],[_0x40a5a0,..._0x23c5e7],{'stdio':_0x1342b8(0xfc),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x40a5a0},'shell':![]});process[_0x1342b8(0xeb)](_0x75d4ac[_0x1342b8(0x115)]??0x0);}function shouldSupervise(_0x442568){const _0x376c8b=a0_0x22e1cc;if(_0x442568['includes'](_0x376c8b(0xc6)))return![];if(_0x442568[_0x376c8b(0xaf)](_0x376c8b(0x118))||_0x442568[0x0]===_0x376c8b(0x106))return![];const _0x130909=_0x442568[0x0]||'';if(_0x130909==='ls'||_0x130909===_0x376c8b(0x115)||_0x130909==='ps')return![];if(_0x130909==='mcp'||_0x130909==='daemon-mcp')return![];if(_0x442568['includes'](_0x376c8b(0xd9))||_0x442568['includes']('-h'))return![];return!![];}function installCoreVersion(_0x369e18){const _0x269606=a0_0x22e1cc,_0x44ca68=resolveExecutablePath('npm');if(!_0x44ca68)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x132164=CORE_PKG_NAME+'@'+_0x369e18,_0x287fc3=run(_0x44ca68,[_0x269606(0xed),'-g',_0x132164,npmRegistryArg()]),_0x4b32bf=((_0x287fc3[_0x269606(0x109)]||'')+'\x0a'+(_0x287fc3['stderr']||''))['trim']();return{'ok':_0x287fc3[_0x269606(0x115)]===0x0,'output':_0x4b32bf};}async function superviseCore(_0x4b9d9e){const _0x160af3=a0_0x22e1cc;let _0x216a1a=![],_0x1e869=null;const _0x3cfda7=[];let _0x147229=MIN_RESTART_DELAY_MS;const _0x53f690=()=>{const _0x32f672=a0_0x574b;_0x216a1a=!![];if(_0x1e869&&!_0x1e869['killed'])try{_0x1e869[_0x32f672(0x9f)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0x160af3(0xb2),_0x53f690),process['on']('SIGTERM',_0x53f690);while(!![]){const _0x1043b1=findCoreScript();checkMacNodePtySpawnHelper(_0x1043b1);const _0x314268={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1043b1},_0x19274d=readUpgradeState(),_0xac7184=!!_0x19274d?.[_0x160af3(0xf6)];let _0xc99c7a=![],_0x3070e4=null,_0x40c62f='';const _0x249f5c=[],_0x329111=0xc;console['log']('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x1043b1),_0x1e869=(0x0,import_child_process2[_0x160af3(0xe3)])(process[_0x160af3(0x114)],[_0x1043b1,..._0x4b9d9e],{'env':_0x314268,'stdio':[_0x160af3(0xfc),'pipe','pipe']});const _0x1ec34a=()=>{const _0x156a73=_0x160af3;if(_0xc99c7a)return;_0xc99c7a=!![];if(_0x3070e4)clearTimeout(_0x3070e4);_0x3cfda7[_0x156a73(0x100)]=0x0,_0x147229=MIN_RESTART_DELAY_MS;const _0x23ab1f=readUpgradeState();_0x23ab1f?.[_0x156a73(0xf6)]&&(writeUpgradeState({..._0x23ab1f,'pending':![],'rollback':![],'health_status':_0x156a73(0xea)}),console[_0x156a73(0x110)](_0x156a73(0xdd)+_0x156a73(0x121)+(_0x23ab1f[_0x156a73(0xa3)]||_0x23ab1f[_0x156a73(0x99)]||'')));},_0x25c950=(_0xf5b7bd,_0x41e03b=![])=>{const _0x389f4d=_0x160af3,_0x499362=_0xf5b7bd['toString']();(_0x41e03b?process[_0x389f4d(0xfb)]:process['stdout'])[_0x389f4d(0xc8)](_0x499362);if(_0x41e03b)for(const _0xd2000a of _0x499362[_0x389f4d(0xba)](/\r?\n/)){if(!_0xd2000a[_0x389f4d(0x10c)]())continue;_0x249f5c[_0x389f4d(0x102)](_0xd2000a);if(_0x249f5c[_0x389f4d(0x100)]>_0x329111)_0x249f5c['shift']();const _0x42fe62=_0xd2000a['match'](FATAL_PATTERN);if(_0x42fe62)_0x40c62f=_0x42fe62[0x0];}(_0x499362['includes'](_0x389f4d(0xe1))||_0x499362[_0x389f4d(0xaf)]('Gateway\x20registered\x20m'+'achine')||_0x499362['includes'](_0x389f4d(0x8d)))&&_0x1ec34a();};_0x1e869[_0x160af3(0x109)]?.['on']('data',_0xa2d239=>_0x25c950(_0xa2d239,![])),_0x1e869['stderr']?.['on'](_0x160af3(0xb6),_0x325721=>_0x25c950(_0x325721,!![]));_0xac7184&&(_0x3070e4=setTimeout(()=>{const _0x16a87a=_0x160af3;if(_0xc99c7a||!_0x1e869||_0x1e869['killed'])return;console[_0x16a87a(0x9e)](_0x16a87a(0x10f)+'id\x20not\x20become\x20health'+'y\x20in\x20time;\x20rolling\x20b'+_0x16a87a(0x11d));try{_0x1e869[_0x16a87a(0x9f)](_0x16a87a(0xfa));}catch{}},HEALTH_TIMEOUT_MS));const _0x3d2872=await new Promise(_0x29213b=>{const _0x475fc3=_0x160af3;_0x1e869[_0x475fc3(0x8b)]('exit',(_0x3ab77b,_0x405e57)=>_0x29213b({'code':_0x3ab77b,'signal':_0x405e57}));});if(_0x3070e4)clearTimeout(_0x3070e4);_0x1e869=null;if(_0x216a1a)process[_0x160af3(0xeb)](_0x3d2872[_0x160af3(0x108)]??0x0);const _0x84b84d=readUpgradeState();if(_0x84b84d?.['pending']&&!_0xc99c7a){const _0x376425=String(_0x84b84d[_0x160af3(0xd5)+'n']||'')[_0x160af3(0x10c)]();if(_0x376425){console[_0x160af3(0x9e)](_0x160af3(0x97)+_0x160af3(0x92)+_0x376425);const _0x27ea13=installCoreVersion(_0x376425);writeUpgradeState({..._0x84b84d,'pending':![],'rollback':!![],'health_status':_0x27ea13['ok']?'rolled_back':_0x160af3(0xbd),'error':_0x27ea13['ok']?'':_0x27ea13[_0x160af3(0xef)]});}else writeUpgradeState({..._0x84b84d,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x102408=_0x3d2872[_0x160af3(0x108)]===SUPERVISED_RESTART_CODE||_0x84b84d?.['pending'];if(!_0x102408&&_0x3d2872['code']===0x0)process['exit'](0x0);const _0x284228=Date['now']();_0x3cfda7[_0x160af3(0x102)](_0x284228);while(_0x3cfda7['length']>0x0&&_0x284228-_0x3cfda7[0x0]>CRASH_WINDOW_MS){_0x3cfda7['shift']();}const _0x28ca36=_0x3cfda7['length'];writeLastCrash({'timestamp':_0x284228,'exit_code':_0x3d2872[_0x160af3(0x108)],'exit_signal':_0x3d2872[_0x160af3(0xc0)]||null,'fatal_line':_0x40c62f,'raw_tail':_0x249f5c[_0x160af3(0x112)]('\x0a'),'consecutive_crashes':_0x28ca36}),console['log'](_0x160af3(0x8f)+'d\x20code='+(_0x3d2872['code']??'')+(_0x3d2872['signal']?'\x20signal='+_0x3d2872[_0x160af3(0xc0)]:'')+'\x20('+_0x28ca36+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x40c62f)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x40c62f);_0x28ca36>=MAX_CRASHES_IN_WINDOW&&(console[_0x160af3(0x9e)](_0x160af3(0xcb)+'d\x20'+_0x28ca36+_0x160af3(0xaa)+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x160af3(0xdc))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+_0x160af3(0xe9)+'ed.')),process[_0x160af3(0xeb)](0x1)),console[_0x160af3(0x110)](_0x160af3(0x105)+'\x20in\x20'+_0x147229+'ms'),await new Promise(_0x3d6cfb=>setTimeout(_0x3d6cfb,_0x147229)),_0x147229=Math[_0x160af3(0x90)](_0x147229*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x4d8196=a0_0x22e1cc,_0x3b967a=process['argv']['slice'](0x2);if(_0x3b967a[0x0]===_0x4d8196(0x8e)||_0x3b967a[0x0]==='-v'||_0x3b967a[0x0]===_0x4d8196(0xec)){printVersion();return;}if((_0x3b967a[0x0]===_0x4d8196(0x115)||_0x3b967a[0x0]==='ls'||_0x3b967a[0x0]==='ps')&&!_0x3b967a[_0x4d8196(0xaf)]('--json')){console[_0x4d8196(0x110)](_0x4d8196(0xc7)+WRAPPER_VERSION);try{console['log'](_0x4d8196(0xca)+(coreVersion()||'not\x20installed'));}catch{console[_0x4d8196(0x110)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x3b967a);if(!shouldSupervise(_0x3b967a))directCore(_0x3b967a);await superviseCore(_0x3b967a);}main()['catch'](_0x15f8ed=>{const _0x36b632=a0_0x22e1cc;console['error']('[wrapper]\x20Fatal\x20erro'+_0x36b632(0xab)+(_0x15f8ed?.['message']||String(_0x15f8ed))),process[_0x36b632(0xeb)](0x1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whalent/agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.109",
|
|
4
4
|
"description": "Stable wrapper for Whalent Agent core runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"yaml": "^2.4.0"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@whalent/agent-core": "0.3.
|
|
46
|
+
"@whalent/agent-core": "0.3.109",
|
|
47
47
|
"node-pty": "^1.1.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|