@whalent/agent 0.3.102 → 0.3.103
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_0x552a69=a0_0x45f5;(function(_0x3524df,_0x572f27){const _0x1096e6=a0_0x45f5,_0xd4cf89=_0x3524df();while(!![]){try{const _0x2bf5c4=-parseInt(_0x1096e6(0x170))/0x1+-parseInt(_0x1096e6(0x168))/0x2*(parseInt(_0x1096e6(0x19f))/0x3)+parseInt(_0x1096e6(0x1b3))/0x4+parseInt(_0x1096e6(0x1dd))/0x5*(-parseInt(_0x1096e6(0x160))/0x6)+parseInt(_0x1096e6(0x1d6))/0x7+parseInt(_0x1096e6(0x17c))/0x8*(parseInt(_0x1096e6(0x1d2))/0x9)+parseInt(_0x1096e6(0x153))/0xa*(-parseInt(_0x1096e6(0x1a0))/0xb);if(_0x2bf5c4===_0x572f27)break;else _0xd4cf89['push'](_0xd4cf89['shift']());}catch(_0x3609ed){_0xd4cf89['push'](_0xd4cf89['shift']());}}}(a0_0x2cc7,0x4acb1));var __create=Object['create'],__defProp=Object[a0_0x552a69(0x151)],__getOwnPropDesc=Object[a0_0x552a69(0x18e)+a0_0x552a69(0x15d)],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype'][a0_0x552a69(0x19b)],__copyProps=(_0x5956c8,_0x46d74c,_0x519d16,_0x28f620)=>{const _0x458bb7=a0_0x552a69;if(_0x46d74c&&typeof _0x46d74c===_0x458bb7(0x1d3)||typeof _0x46d74c===_0x458bb7(0x16d)){for(let _0x23a677 of __getOwnPropNames(_0x46d74c))if(!__hasOwnProp[_0x458bb7(0x1b8)](_0x5956c8,_0x23a677)&&_0x23a677!==_0x519d16)__defProp(_0x5956c8,_0x23a677,{'get':()=>_0x46d74c[_0x23a677],'enumerable':!(_0x28f620=__getOwnPropDesc(_0x46d74c,_0x23a677))||_0x28f620[_0x458bb7(0x18a)]});}return _0x5956c8;},__toESM=(_0x5c957f,_0x52df11,_0x2ec1d0)=>(_0x2ec1d0=_0x5c957f!=null?__create(__getProtoOf(_0x5c957f)):{},__copyProps(_0x52df11||!_0x5c957f||!_0x5c957f[a0_0x552a69(0x1dc)]?__defProp(_0x2ec1d0,'default',{'value':_0x5c957f,'enumerable':!![]}):_0x2ec1d0,_0x5c957f)),import_child_process2=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),import_child_process=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x552a69(0x175)),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x552a69(0x19a),CHINA_NPM_REGISTRY=a0_0x552a69(0x180)+'mirror.com';function preferredNpmRegistry(){const _0x5d86e0=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x5d86e0)return _0x5d86e0;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x2d9189=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x2d9189)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x55d8c3,_0x15f30c=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x55d8c3+'\x20'+npmRegistryArg(_0x15f30c);}function isChineseLocale(){const _0x1d9fd6=a0_0x552a69,_0x5d3cce=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x1d9fd6(0x1d7)](Boolean)[_0x1d9fd6(0x15c)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x1d9fd6(0x16b)](_0x5d3cce))return!![];try{const _0xd98bd=Intl[_0x1d9fd6(0x15b)]()[_0x1d9fd6(0x166)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i[_0x1d9fd6(0x16b)](_0xd98bd);}catch{return![];}}function normalizeRegistry(_0x5c0ef2){return String(_0x5c0ef2||'')['trim']()['replace'](/\/+$/,'');}var INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x552a69(0x1d9),'claude':a0_0x552a69(0x1c5)+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+a0_0x552a69(0x196)};function isWindowsCmdFile(_0x2dfe5c){const _0x47b19a=a0_0x552a69;return process[_0x47b19a(0x1bf)]==='win32'&&/\.(cmd|bat)$/i[_0x47b19a(0x16b)](_0x2dfe5c||'');}function quoteCmdArg(_0xfff747){const _0x51b5a7=a0_0x552a69,_0x467447=String(_0xfff747??'');if(_0x467447&&!/[\s"&|<>^%]/[_0x51b5a7(0x16b)](_0x467447))return _0x467447;return'\x22'+_0x467447['replace'](/(["^&|<>%])/g,_0x51b5a7(0x14b))+'\x22';}function cmdFallbackArgs(_0x49307a,_0x22e690){const _0x3968e3=a0_0x552a69;return['/d','/s','/c',[quoteCmdArg(_0x49307a),..._0x22e690[_0x3968e3(0x1b0)](quoteCmdArg)][_0x3968e3(0x15c)]('\x20')];}function resolveExecutablePath(_0x370959){const _0x2f29ba=a0_0x552a69;if(!_0x370959)return null;if(_0x370959['includes']('/')||_0x370959['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x2f29ba(0x16b)](_0x370959))return(0x0,import_fs[_0x2f29ba(0x191)])(_0x370959)?_0x370959:_0x370959;const _0x12ca81=process['platform']===_0x2f29ba(0x17f),_0x52325f=_0x12ca81?_0x2f29ba(0x1a2):'which';try{const _0x2268f1=(0x0,import_child_process[_0x2f29ba(0x176)])(_0x52325f,[_0x370959],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x2268f1['status']===0x0){const _0x1af41a=(_0x2268f1[_0x2f29ba(0x185)]||'')[_0x2f29ba(0x17e)]()[_0x2f29ba(0x150)](/\r?\n/)[_0x2f29ba(0x1d7)](Boolean);if(_0x1af41a[_0x2f29ba(0x19c)]===0x0)return null;if(_0x12ca81)for(const _0x175ac1 of['.exe',_0x2f29ba(0x1a8),'.bat','.ps1']){const _0x1755d1=_0x1af41a['find'](_0x25143b=>_0x25143b[_0x2f29ba(0x1bd)]()[_0x2f29ba(0x1c6)](_0x175ac1));if(_0x1755d1)return _0x1755d1;}return _0x1af41a[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x5be0da){const _0x3a9b36=a0_0x552a69;if(process[_0x3a9b36(0x1bf)]!==_0x3a9b36(0x17f))return null;if(!/\.(cmd|bat)$/i['test'](_0x5be0da))return null;let _0xb0dc23;try{_0xb0dc23=(0x0,import_fs['readFileSync'])(_0x5be0da,_0x3a9b36(0x147));}catch{return null;}const _0x2e9fc2=_0xb0dc23['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x2e9fc2){const _0x30b854=(0x0,import_path['resolve'])((0x0,import_path[_0x3a9b36(0x1c0)])(_0x5be0da),_0x2e9fc2[0x2]);if((0x0,import_fs['existsSync'])(_0x30b854))return{'type':'node','path':_0x30b854};}const _0x5a4d9e=_0xb0dc23['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x5a4d9e){const _0x24bfaf=(0x0,import_path[_0x3a9b36(0x14f)])((0x0,import_path[_0x3a9b36(0x1c0)])(_0x5be0da),_0x5a4d9e[0x2]);if((0x0,import_fs['existsSync'])(_0x24bfaf))return{'type':'exe','path':_0x24bfaf};}return null;}function safeSpawnSync(_0x55a509,_0x11c0ad,_0x150dca={}){const _0x1cd94=a0_0x552a69,_0x177698=unwrapWindowsCmdShim(_0x55a509);if(_0x177698?.['type']===_0x1cd94(0x1d0))return(0x0,import_child_process[_0x1cd94(0x176)])(process['execPath'],[_0x177698['path'],..._0x11c0ad],_0x150dca);if(_0x177698?.[_0x1cd94(0x1af)]===_0x1cd94(0x16a))return(0x0,import_child_process['spawnSync'])(_0x177698[_0x1cd94(0x175)],_0x11c0ad,_0x150dca);if(isWindowsCmdFile(_0x55a509))return(0x0,import_child_process['spawnSync'])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x55a509,_0x11c0ad),_0x150dca);return(0x0,import_child_process[_0x1cd94(0x176)])(_0x55a509,_0x11c0ad,_0x150dca);}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 _0x38a57a=a0_0x552a69;return path['join'](os[_0x38a57a(0x1a5)](),'.whalent-agent');}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x530187=a0_0x552a69;return path[_0x530187(0x15c)](configDir(),'last-crash.json');}function writeLastCrash(_0xf40d43){const _0x3506cf=a0_0x552a69;try{fs[_0x3506cf(0x17b)](configDir(),{'recursive':!![]});const _0x3f8747={..._0xf40d43,'reported':![]};fs[_0x3506cf(0x1d5)](lastCrashFilePath(),JSON[_0x3506cf(0x192)](_0x3f8747,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x43afee=a0_0x552a69;try{const _0x1ffa23=JSON['parse'](fs['readFileSync'](path['join'](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0x1ffa23['version']||'0.0.0');}catch{return _0x43afee(0x18f);}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x4f52a8){const _0x458358=a0_0x552a69;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x4f52a8,'updated_at':Date[_0x458358(0x1ba)]()},null,0x2),_0x458358(0x147));}catch{}}function run(_0x3db7e6,_0x1065a0,_0x4724ca=process.env){return safeSpawnSync(_0x3db7e6,_0x1065a0,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x4724ca,'shell':![]});}function runNpmView(_0x34cc87){const _0x1badc3=a0_0x552a69,_0x310812=resolveExecutablePath(_0x1badc3(0x14e));if(!_0x310812)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x310812,_0x34cc87,{'encoding':_0x1badc3(0x1b7),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x10ca84=a0_0x552a69,_0x430022=resolveExecutablePath(_0x10ca84(0x14e));if(!_0x430022)return'';const _0x495fe5=run(_0x430022,[_0x10ca84(0x1a7),'-g']);if(_0x495fe5[_0x10ca84(0x14d)]!==0x0)return'';return String(_0x495fe5['stdout']||'')['trim']();}function compareSemver(_0x5017d3,_0x3dc440){const _0x181a93=a0_0x552a69,_0x2f1edb=String(_0x5017d3||'')[_0x181a93(0x1ab)](/^v/,'')[_0x181a93(0x150)](/[.-]/)[_0x181a93(0x1b0)](_0x40a6e4=>Number['parseInt'](_0x40a6e4,0xa)||0x0),_0x3902fd=String(_0x3dc440||'')['replace'](/^v/,'')[_0x181a93(0x150)](/[.-]/)[_0x181a93(0x1b0)](_0x19b9bf=>Number['parseInt'](_0x19b9bf,0xa)||0x0);for(let _0x3caced=0x0;_0x3caced<Math[_0x181a93(0x15f)](_0x2f1edb[_0x181a93(0x19c)],_0x3902fd['length'],0x3);_0x3caced++){const _0x3adcaf=_0x2f1edb[_0x3caced]||0x0,_0x1223d5=_0x3902fd[_0x3caced]||0x0;if(_0x3adcaf>_0x1223d5)return 0x1;if(_0x3adcaf<_0x1223d5)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x332d46=a0_0x552a69,_0x4b92e9=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x332d46(0x1bd)]();return _0x4b92e9==='1'||_0x4b92e9==='true'||_0x4b92e9==='yes'||_0x4b92e9==='on';}function latestWrapperVersion(){const _0x3d4750=a0_0x552a69,_0x562827=runNpmView(['view',WRAPPER_PKG_NAME+_0x3d4750(0x148),_0x3d4750(0x186),npmRegistryArg()]);if(_0x562827['status']!==0x0)return'';return String(_0x562827[_0x3d4750(0x185)]||'')['trim']()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x1b810b){const _0x48cec5=a0_0x552a69,_0x43915f=resolveExecutablePath(_0x48cec5(0x14e));if(!_0x43915f)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x4ca778=run(_0x43915f,[_0x48cec5(0x161),'-g',WRAPPER_PKG_NAME+'@'+_0x1b810b,npmRegistryArg()]),_0x40e536=((_0x4ca778[_0x48cec5(0x185)]||'')+'\x0a'+(_0x4ca778[_0x48cec5(0x1c7)]||''))['trim']();return{'ok':_0x4ca778['status']===0x0,'output':_0x40e536};}function a0_0x2cc7(){const _0x57aee7=['ig5VDcbMB3vUzdSGAw5ZDgfSBca','ufrzihn0yxj0Dxa6','ANmUB3jN','AgfZt3DUuhjVCgvYDhK','BgvUz3rO','B3v0Chv0','w3DYyxbWzxjDihn0yxj0Aw5Nigm','nNbuDvHIuW','mtfSq2L6ugy','y2HTB2rtEw5J','D2HLCMuUzxHL','y2fUzgLKyxrL','B3iGCMvIDwLSzcbaD2HHBgvUDc8','Ag9TzwrPCG','wf9psW','CM9VDa','lMnTza','lIbszxn0yxj0ihDYyxbWzxiGBwe','zxjSEwLUzYbPC3n1zsbPCYbMAxG','CMvWBgfJzq','CMvJB3jKoIa','icbiruXqrvi9','ChjLDMLVDxmGy29Yzsb2zxjZAw8','DhLWzq','BwfW','zwqU','Aw5KzxG','mJe2mZG1nND5ywfbza','ls1QC29U','u0Lhvevstq','y29Yzq','DxrMoa','y2fSBa','AwXHyMXLoIa','BM93','DgfYz2v0x3zLCNnPB24','D2HHBgvUDc1Hz2vUDca','Dg9mB3DLCKnHC2u','Aw5JBhvKzxm','CgXHDgzVCM0','zgLYBMfTzq','y2SGy29Yzsb0BYa','lxb0EsbZCgf3BI1OzwXWzxiGAxm','zgf0zwqGDg8G','BwvZC2fNzq','BNbTigLUC3rHBgWGlwCGqgfUDgG','zw5KC1DPDgG','C3rKzxjY','j1WNjW','BwLU','w3DYyxbWzxjDihDYyxbWzxiGDxa','w3DYyxbWzxjDigLUC3rHBgXPBMC','Bg9N','y29Yzsa','ig5VDcbLEgvJDxrHyMXLoIa','D2fYBG','BM9Kzq','w2DHDgv3yxLDienVBM5Ly3rLza','mtqYmdu4n0HovgPyyW','B2jQzwn0','AwqGBM90igjLy29TzsbOzwfSDgG','D3jPDgvgAwXLu3LUyW','mJG5mtmWmujIvwfhAG','zMLSDgvY','Aw5OzxjPDa','ywKVy29KzxG','zxHPDa','w3DYyxbWzxjDihjVBgXPBMCGyMe','x19LC01VzhvSzq','nJm1otq1tKHKtKzf','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','B25Jzq','C29YDa','DxrMltG','qgXHDgvZDa','Aw5NihDPDgGG','AgfZ','xIqX','zgf0yq','C3rHDhvZ','BNbT','CMvZB2X2zq','C3bSAxq','zgvMAw5LuhjVCgvYDhK','y3jLyxrLuMvXDwLYzq','mtm5mtbuy2LpBw4','C2HPzNq','A2LSBa','y29Kzq','ywnOAw5L','BM90igLUC3rHBgXLza','ywDLBNq','w3DYyxbWzxjDignVCMuGzMfPBgu','rgf0zvrPBwvgB3jTyxq','AM9PBG','ChrVCG','w3DYyxbWzxjDihvWzgf0zsbHDMe','Bwf4','nLbmCurYua','Aw5ZDgfSBa','CM9SBgjHy2TFDw5HDMfPBgfIBgu','B3jLoIa','icbSCYaTBcaIjeHftfbfuIi','y29Yzs5JANm','CMvZB2X2zwrpChrPB25Z','ls1Hz2vUDc1Pza','mZyZntu2B29Ir2rt','BM9Kzs1WDhK','zxHL','DgvZDa','zs4UlG','zNvUy3rPB24','zxHLy1bHDgG','ywnJzxnZu3LUyW','mZeZmZyXuejUD3zt','C2LNBMfS','Bw9Kzq','w3DYyxbWzxjDigzPEgvKig1Hy08','A2LSBgvK','Cgf0Aa','C3bHD25tEw5J','y29YzsbUB3qGAw5ZDgfSBgvK','CgvUzgLUzW','CgLWzq','w3DYyxbWzxjDiezHDgfSigvYCM8','BwTKAxjtEw5J','oeHUt21QtG','w3DYyxbWzxjDig5LDYbJB3jLigq','DhjPBq','D2LUmZi','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','w3DYyxbWzxjDig1Hy09tig5Vzgu','Aw5KzxGUy2PZ','C2XPy2u','igzYB20G','C3rKB3v0','DMvYC2LVBG','yxjNDG','w3DYyxbWzxjDie1HBNvHBcb1Cgq','ls12zxjZAw9U','zw51BwvYywjSzq','zgfLBw9Ulw1JCa','D3jHChbLCIa','D3jPDgu','z2v0t3DUuhjVCgvYDhLezxnJCMK','mc4WlJa','ChvZAa','zxHPC3rZu3LUyW','C3rYAw5NAwz5','ihnPz25HBd0','zguGAgvHBhrOEtOG','zgLZDa','ic0TChjLzMvYlw9UBgLUzq','BIb1BMTUB3DU'];a0_0x2cc7=function(){return _0x57aee7;};return a0_0x2cc7();}function maybeUpdateWrapper(_0x29a30d){const _0x1ced3d=a0_0x552a69;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x26cb4f=latestWrapperVersion();if(!_0x26cb4f||compareSemver(_0x26cb4f,WRAPPER_VERSION)<=0x0)return![];const _0x4f3ee1=preferredNpmRegistry();console['warn'](_0x1ced3d(0x15e)+_0x1ced3d(0x1b9)+WRAPPER_VERSION+'\x20->\x20'+_0x26cb4f),console['warn'](_0x1ced3d(0x1cb)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x26cb4f+_0x1ced3d(0x184)+_0x4f3ee1+('\x20before\x20starting\x20cor'+_0x1ced3d(0x16c)));const _0x4176ee=installWrapperVersion(_0x26cb4f);if(!_0x4176ee['ok']){console[_0x1ced3d(0x1cf)](_0x1ced3d(0x1ca)+'date\x20failed;\x20continu'+_0x1ced3d(0x149)+WRAPPER_VERSION);if(_0x4176ee['output'])console['warn'](_0x4176ee[_0x1ced3d(0x19d)]['split'](/\r?\n/)[_0x1ced3d(0x183)](-0xc)[_0x1ced3d(0x15c)]('\x0a'));return console[_0x1ced3d(0x1cf)](_0x1ced3d(0x188)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x26cb4f,_0x4f3ee1)),![];}console[_0x1ced3d(0x1cf)]('[wrapper]\x20wrapper\x20up'+_0x1ced3d(0x1c3)+_0x26cb4f+';\x20restarting\x20wrapper');const _0x21a6c8=process[_0x1ced3d(0x187)][0x1],_0x576148=(0x0,import_child_process2[_0x1ced3d(0x176)])(process[_0x1ced3d(0x16e)],[_0x21a6c8,..._0x29a30d],{'stdio':_0x1ced3d(0x1d8),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x26cb4f},'shell':![]});process[_0x1ced3d(0x1da)](_0x576148['status']??0x0);}function findCoreScript(){const _0xea9481=a0_0x552a69,_0x301135=String(process.env.WHALENT_CORE_ENTRY||'')[_0xea9481(0x17e)](),_0x120015=['1','true','yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x301135&&_0x120015&&fs[_0xea9481(0x191)](_0x301135))return _0x301135;const _0x487708=[],_0x538669=_0x13257f=>{const _0x5961bd=_0xea9481;if(fs[_0x5961bd(0x191)](_0x13257f)&&!_0x487708[_0x5961bd(0x1be)](_0x13257f))_0x487708[_0x5961bd(0x190)](_0x13257f);};if(_0x301135)_0x538669(_0x301135);const _0x2ab972=npmRootGlobal();if(_0x2ab972){const _0x3ea483=path[_0xea9481(0x15c)](_0x2ab972,'@whalent','agent-core','dist',_0xea9481(0x182));_0x538669(_0x3ea483);}const _0x464deb=path[_0xea9481(0x15c)](wrapperBaseDir(),_0xea9481(0x165));_0x538669(_0x464deb);const _0x21546d=path[_0xea9481(0x15c)](wrapperBaseDir(),'..','packages',_0xea9481(0x1b6),_0xea9481(0x195),_0xea9481(0x182));_0x538669(_0x21546d);if(_0x487708['length']>0x0)return _0x487708['map']((_0x36cffa,_0x248d8b)=>({'candidate':_0x36cffa,'index':_0x248d8b,'version':coreVersion(_0x36cffa)}))[_0xea9481(0x146)]((_0x31d1af,_0x53b051)=>{const _0x4c0fcb=_0xea9481,_0x1b92d5=compareSemver(_0x53b051[_0x4c0fcb(0x186)],_0x31d1af[_0x4c0fcb(0x186)]);if(_0x1b92d5!==0x0)return _0x1b92d5;return _0x53b051[_0x4c0fcb(0x1b2)]-_0x31d1af['index'];})[0x0][_0xea9481(0x1a3)];throw new Error('whalent\x20core\x20runtime'+_0xea9481(0x198)+'@whalent/agent-core\x20'+_0xea9481(0x1a4)+_0xea9481(0x159));}function coreVersion(_0x5032bb=findCoreScript()){const _0x26af42=a0_0x552a69,_0x51b764=(0x0,import_child_process2[_0x26af42(0x176)])(process['execPath'],[_0x5032bb,_0x26af42(0x189)],{'encoding':_0x26af42(0x1b7),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x346372=(_0x51b764[_0x26af42(0x185)]||'')+'\x0a'+(_0x51b764['stderr']||'');return _0x346372['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4b2e30){const _0x2f7f8c=a0_0x552a69;try{return fs[_0x2f7f8c(0x16f)](_0x4b2e30,fs['constants'][_0x2f7f8c(0x1a6)]),!![];}catch{return![];}}function shellQuote(_0x2b0c10){const _0x5f4f29=a0_0x552a69;return'\x27'+_0x2b0c10[_0x5f4f29(0x1ab)](/'/g,_0x5f4f29(0x1c8))+'\x27';}function coreNodePtySpawnHelperPath(_0x41383c){const _0x4b379d=a0_0x552a69;if(process['platform']!=='darwin')return'';try{const _0x27786b=(0x0,import_module[_0x4b379d(0x152)])(_0x41383c),_0x40d6b3=_0x27786b['resolve'](_0x4b379d(0x169)),_0x2920d4=path['resolve'](path['dirname'](_0x40d6b3),'..');return path['join'](_0x2920d4,'prebuilds','darwin-'+process['arch'],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x4949d3){const _0x5a459b=a0_0x552a69,_0x3b5e67=coreNodePtySpawnHelperPath(_0x4949d3);if(!_0x3b5e67||CHECKED_PTY_HELPERS[_0x5a459b(0x14a)](_0x3b5e67))return;CHECKED_PTY_HELPERS['add'](_0x3b5e67);if(!fs['existsSync'](_0x3b5e67)){console['warn'](_0x5a459b(0x181)+'-pty\x20spawn-helper\x20no'+'t\x20found:\x20'+_0x3b5e67);return;}if(isExecutable(_0x3b5e67))return;try{const _0x42fd15=fs['statSync'](_0x3b5e67)[_0x5a459b(0x172)];fs[_0x5a459b(0x1a1)](_0x3b5e67,_0x42fd15|0x1ed);}catch{}if(isExecutable(_0x3b5e67)){console['warn'](_0x5a459b(0x173)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x3b5e67);return;}console['warn'](_0x5a459b(0x181)+_0x5a459b(0x1c2)+_0x5a459b(0x1ce)+_0x3b5e67),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+_0x5a459b(0x199)),console[_0x5a459b(0x1cf)](_0x5a459b(0x1ad)+shellQuote(_0x3b5e67)),console['warn'](_0x5a459b(0x164)),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x107b7d=a0_0x552a69;let _0x2df3b8='';try{_0x2df3b8=coreVersion();}catch{}console['log'](_0x107b7d(0x1bc)+WRAPPER_VERSION),console[_0x107b7d(0x1cc)](_0x107b7d(0x18c)+WRAPPER_VERSION),console[_0x107b7d(0x1cc)]('core\x20'+(_0x2df3b8||'not\x20installed'));}function directCore(_0x59a1f1){const _0x284b90=a0_0x552a69,_0x2a98da=findCoreScript();checkMacNodePtySpawnHelper(_0x2a98da);const _0x19adf9=(0x0,import_child_process2[_0x284b90(0x176)])(process['execPath'],[_0x2a98da,..._0x59a1f1],{'stdio':_0x284b90(0x1d8),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x2a98da},'shell':![]});process['exit'](_0x19adf9['status']??0x0);}function shouldSupervise(_0x41f520){const _0xffc98e=a0_0x552a69;if(_0x41f520[_0xffc98e(0x1be)](_0xffc98e(0x167)))return![];if(_0x41f520['includes']('--resume')||_0x41f520[0x0]==='resume')return![];const _0xcbf4da=_0x41f520[0x0]||'';if(_0xcbf4da==='ls'||_0xcbf4da==='status'||_0xcbf4da==='ps')return![];if(_0xcbf4da==='mcp'||_0xcbf4da===_0xffc98e(0x18b))return![];if(_0x41f520['includes']('--help')||_0x41f520['includes']('-h'))return![];return!![];}function installCoreVersion(_0x2b387b){const _0x4fd8eb=a0_0x552a69,_0x54f301=resolveExecutablePath(_0x4fd8eb(0x14e));if(!_0x54f301)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x4516cc=CORE_PKG_NAME+'@'+_0x2b387b,_0x44eff6=run(_0x54f301,[_0x4fd8eb(0x161),'-g',_0x4516cc,npmRegistryArg()]),_0x3b91d2=((_0x44eff6['stdout']||'')+'\x0a'+(_0x44eff6['stderr']||''))['trim']();return{'ok':_0x44eff6[_0x4fd8eb(0x14d)]===0x0,'output':_0x3b91d2};}async function superviseCore(_0x1a5f49){const _0x248890=a0_0x552a69;let _0x46eb2e=![],_0x5c8737=null;const _0x54e2f9=[];let _0x114123=MIN_RESTART_DELAY_MS;const _0x22d97c=()=>{const _0x52aa10=a0_0x45f5;_0x46eb2e=!![];if(_0x5c8737&&!_0x5c8737[_0x52aa10(0x174)])try{_0x5c8737['kill'](_0x52aa10(0x1b5));}catch{}else process[_0x52aa10(0x1da)](0x0);};process['on']('SIGINT',_0x22d97c),process['on']('SIGTERM',_0x22d97c);while(!![]){const _0x333c9d=findCoreScript();checkMacNodePtySpawnHelper(_0x333c9d);const _0x66e422={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x333c9d},_0x52083d=readUpgradeState(),_0x227c0c=!!_0x52083d?.[_0x248890(0x178)];let _0x2e648c=![],_0x3b23cd=null,_0x576bef='';const _0x5484b8=[],_0x4e6876=0xc;console[_0x248890(0x1cc)](_0x248890(0x19e)+_0x248890(0x163)+_0x333c9d),_0x5c8737=(0x0,import_child_process2['spawn'])(process['execPath'],[_0x333c9d,..._0x1a5f49],{'env':_0x66e422,'stdio':[_0x248890(0x1d8),_0x248890(0x179),_0x248890(0x179)]});const _0xfe1554=()=>{const _0x56348a=_0x248890;if(_0x2e648c)return;_0x2e648c=!![];if(_0x3b23cd)clearTimeout(_0x3b23cd);_0x54e2f9[_0x56348a(0x19c)]=0x0,_0x114123=MIN_RESTART_DELAY_MS;const _0xc74743=readUpgradeState();_0xc74743?.['pending']&&(writeUpgradeState({..._0xc74743,'pending':![],'rollback':![],'health_status':'healthy'}),console['log']('[wrapper]\x20core\x20upgra'+_0x56348a(0x194)+(_0xc74743['installed_version']||_0xc74743[_0x56348a(0x1bb)]||'')));},_0x2334dd=(_0x1d1266,_0xc9f47f=![])=>{const _0x3f092f=_0x248890,_0x5b7794=_0x1d1266['toString']();(_0xc9f47f?process['stderr']:process['stdout'])[_0x3f092f(0x18d)](_0x5b7794);if(_0xc9f47f)for(const _0x371b92 of _0x5b7794[_0x3f092f(0x150)](/\r?\n/)){if(!_0x371b92['trim']())continue;_0x5484b8[_0x3f092f(0x190)](_0x371b92);if(_0x5484b8['length']>_0x4e6876)_0x5484b8['shift']();const _0x599024=_0x371b92['match'](FATAL_PATTERN);if(_0x599024)_0x576bef=_0x599024[0x0];}(_0x5b7794[_0x3f092f(0x1be)](_0x3f092f(0x1d1))||_0x5b7794[_0x3f092f(0x1be)]('Gateway\x20registered\x20m'+_0x3f092f(0x157))||_0x5b7794['includes']('Gateway:\x20connected'))&&_0xfe1554();};_0x5c8737[_0x248890(0x185)]?.['on'](_0x248890(0x14c),_0x480d3c=>_0x2334dd(_0x480d3c,![])),_0x5c8737['stderr']?.['on']('data',_0x29b0a1=>_0x2334dd(_0x29b0a1,!![]));_0x227c0c&&(_0x3b23cd=setTimeout(()=>{const _0x2af77a=_0x248890;if(_0x2e648c||!_0x5c8737||_0x5c8737[_0x2af77a(0x174)])return;console['error'](_0x2af77a(0x17d)+_0x2af77a(0x1d4)+_0x2af77a(0x1de)+'ack');try{_0x5c8737[_0x2af77a(0x155)](_0x2af77a(0x1b5));}catch{}},HEALTH_TIMEOUT_MS));const _0x258984=await new Promise(_0x169f49=>{const _0x191543=_0x248890;_0x5c8737[_0x191543(0x1df)]('exit',(_0x3c0e23,_0x26c981)=>_0x169f49({'code':_0x3c0e23,'signal':_0x26c981}));});if(_0x3b23cd)clearTimeout(_0x3b23cd);_0x5c8737=null;if(_0x46eb2e)process['exit'](_0x258984['code']??0x0);const _0x4ef062=readUpgradeState();if(_0x4ef062?.['pending']&&!_0x2e648c){const _0x48710f=String(_0x4ef062['previous_core_versio'+'n']||'')[_0x248890(0x17e)]();if(_0x48710f){console['error'](_0x248890(0x1db)+_0x248890(0x1c1)+_0x48710f);const _0x595459=installCoreVersion(_0x48710f);writeUpgradeState({..._0x4ef062,'pending':![],'rollback':!![],'health_status':_0x595459['ok']?'rolled_back':'rollback_failed','error':_0x595459['ok']?'':_0x595459[_0x248890(0x19d)]});}else writeUpgradeState({..._0x4ef062,'pending':![],'rollback':!![],'health_status':_0x248890(0x162),'error':_0x248890(0x1ae)+_0x248890(0x197)});}const _0x585c17=_0x258984['code']===SUPERVISED_RESTART_CODE||_0x4ef062?.[_0x248890(0x178)];if(!_0x585c17&&_0x258984['code']===0x0)process['exit'](0x0);const _0x2ac853=Date[_0x248890(0x1ba)]();_0x54e2f9['push'](_0x2ac853);while(_0x54e2f9[_0x248890(0x19c)]>0x0&&_0x2ac853-_0x54e2f9[0x0]>CRASH_WINDOW_MS){_0x54e2f9[_0x248890(0x154)]();}const _0xd4ae0c=_0x54e2f9['length'];writeLastCrash({'timestamp':_0x2ac853,'exit_code':_0x258984[_0x248890(0x156)],'exit_signal':_0x258984[_0x248890(0x171)]||null,'fatal_line':_0x576bef,'raw_tail':_0x5484b8[_0x248890(0x15c)]('\x0a'),'consecutive_crashes':_0xd4ae0c}),console[_0x248890(0x1cc)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x258984[_0x248890(0x156)]??'')+(_0x258984[_0x248890(0x171)]?_0x248890(0x193)+_0x258984[_0x248890(0x171)]:'')+'\x20('+_0xd4ae0c+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x576bef)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x576bef);_0xd4ae0c>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x248890(0x15a)+'d\x20'+_0xd4ae0c+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x248890(0x1ac))+lastCrashFilePath()+(_0x248890(0x1a9)+'nually\x20after\x20the\x20und'+_0x248890(0x1aa)+_0x248890(0x1b1))),process[_0x248890(0x1da)](0x1)),console['log']('[wrapper]\x20restarting'+'\x20in\x20'+_0x114123+'ms'),await new Promise(_0x46cc5b=>setTimeout(_0x46cc5b,_0x114123)),_0x114123=Math[_0x248890(0x1c9)](_0x114123*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x136938=a0_0x552a69,_0x355721=process['argv'][_0x136938(0x183)](0x2);if(_0x355721[0x0]===_0x136938(0x189)||_0x355721[0x0]==='-v'||_0x355721[0x0]==='version'){printVersion();return;}if((_0x355721[0x0]===_0x136938(0x14d)||_0x355721[0x0]==='ls'||_0x355721[0x0]==='ps')&&!_0x355721[_0x136938(0x1be)](_0x136938(0x1b4))){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x136938(0x1cc)](_0x136938(0x1cd)+(coreVersion()||_0x136938(0x158)));}catch{console['log'](_0x136938(0x177));}}maybeUpdateWrapper(_0x355721);if(!shouldSupervise(_0x355721))directCore(_0x355721);await superviseCore(_0x355721);}function a0_0x45f5(_0x2f3d86,_0xcd3b55){_0x2f3d86=_0x2f3d86-0x146;const _0x2cc79a=a0_0x2cc7();let _0x45f53a=_0x2cc79a[_0x2f3d86];if(a0_0x45f5['qzekwP']===undefined){var _0x46e7cd=function(_0x1b8d92){const _0x31f405='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5956c8='',_0x46d74c='';for(let _0x519d16=0x0,_0x28f620,_0x23a677,_0x5c957f=0x0;_0x23a677=_0x1b8d92['charAt'](_0x5c957f++);~_0x23a677&&(_0x28f620=_0x519d16%0x4?_0x28f620*0x40+_0x23a677:_0x23a677,_0x519d16++%0x4)?_0x5956c8+=String['fromCharCode'](0xff&_0x28f620>>(-0x2*_0x519d16&0x6)):0x0){_0x23a677=_0x31f405['indexOf'](_0x23a677);}for(let _0x52df11=0x0,_0x2ec1d0=_0x5956c8['length'];_0x52df11<_0x2ec1d0;_0x52df11++){_0x46d74c+='%'+('00'+_0x5956c8['charCodeAt'](_0x52df11)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46d74c);};a0_0x45f5['XcXutn']=_0x46e7cd,a0_0x45f5['bknwvf']={},a0_0x45f5['qzekwP']=!![];}const _0x324b15=_0x2cc79a[0x0],_0x1a74ae=_0x2f3d86+_0x324b15,_0x1917bb=a0_0x45f5['bknwvf'][_0x1a74ae];return!_0x1917bb?(_0x45f53a=a0_0x45f5['XcXutn'](_0x45f53a),a0_0x45f5['bknwvf'][_0x1a74ae]=_0x45f53a):_0x45f53a=_0x1917bb,_0x45f53a;}main()['catch'](_0x20de5f=>{const _0x7a550f=a0_0x552a69;console['error'](_0x7a550f(0x17a)+'r:\x20'+(_0x20de5f?.[_0x7a550f(0x1c4)]||String(_0x20de5f))),process['exit'](0x1);});
|
|
2
|
+
'use strict';const a0_0x286817=a0_0xda6b;(function(_0x3ef172,_0x5f2cc8){const _0x3bf164=a0_0xda6b,_0x5656f5=_0x3ef172();while(!![]){try{const _0x1ff65c=-parseInt(_0x3bf164(0x20a))/0x1*(-parseInt(_0x3bf164(0x213))/0x2)+parseInt(_0x3bf164(0x265))/0x3*(parseInt(_0x3bf164(0x1ee))/0x4)+parseInt(_0x3bf164(0x250))/0x5+-parseInt(_0x3bf164(0x20f))/0x6*(-parseInt(_0x3bf164(0x216))/0x7)+parseInt(_0x3bf164(0x1ea))/0x8*(-parseInt(_0x3bf164(0x219))/0x9)+parseInt(_0x3bf164(0x261))/0xa+parseInt(_0x3bf164(0x1d9))/0xb*(-parseInt(_0x3bf164(0x210))/0xc);if(_0x1ff65c===_0x5f2cc8)break;else _0x5656f5['push'](_0x5656f5['shift']());}catch(_0x2e8960){_0x5656f5['push'](_0x5656f5['shift']());}}}(a0_0x874b,0x25251));var __create=Object[a0_0x286817(0x1e9)],__defProp=Object[a0_0x286817(0x229)],__getOwnPropDesc=Object['getOwnPropertyDescri'+a0_0x286817(0x202)],__getOwnPropNames=Object[a0_0x286817(0x1f4)],__getProtoOf=Object[a0_0x286817(0x263)],__hasOwnProp=Object[a0_0x286817(0x214)]['hasOwnProperty'],__copyProps=(_0x3f4e02,_0x4d2e53,_0x2fdc3a,_0x4ff2ec)=>{const _0x12d937=a0_0x286817;if(_0x4d2e53&&typeof _0x4d2e53===_0x12d937(0x249)||typeof _0x4d2e53==='function'){for(let _0xeb206b of __getOwnPropNames(_0x4d2e53))if(!__hasOwnProp[_0x12d937(0x207)](_0x3f4e02,_0xeb206b)&&_0xeb206b!==_0x2fdc3a)__defProp(_0x3f4e02,_0xeb206b,{'get':()=>_0x4d2e53[_0xeb206b],'enumerable':!(_0x4ff2ec=__getOwnPropDesc(_0x4d2e53,_0xeb206b))||_0x4ff2ec['enumerable']});}return _0x3f4e02;},__toESM=(_0x782784,_0x141c8e,_0x2d3e0d)=>(_0x2d3e0d=_0x782784!=null?__create(__getProtoOf(_0x782784)):{},__copyProps(_0x141c8e||!_0x782784||!_0x782784[a0_0x286817(0x23d)]?__defProp(_0x2d3e0d,a0_0x286817(0x23e),{'value':_0x782784,'enumerable':!![]}):_0x2d3e0d,_0x782784)),import_child_process2=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x286817(0x243)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),import_child_process=require('child_process'),import_fs=require('fs'),import_path=require('path'),DEFAULT_NPM_REGISTRY=a0_0x286817(0x228)+a0_0x286817(0x1f9),CHINA_NPM_REGISTRY=a0_0x286817(0x228)+a0_0x286817(0x25a);function preferredNpmRegistry(){const _0x18a554=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x18a554)return _0x18a554;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x208d7d=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x208d7d)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0xdf9d7a,_0x424b6b=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0xdf9d7a+'\x20'+npmRegistryArg(_0x424b6b);}function isChineseLocale(){const _0x2ed712=a0_0x286817,_0x5ec782=[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'](_0x5ec782))return!![];try{const _0x5db32c=Intl['DateTimeFormat']()['resolvedOptions']()[_0x2ed712(0x1fc)]||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x5db32c);}catch{return![];}}function a0_0x874b(){const _0x511798=['mtGWodG1mfvSD1rAsq','mte4nZm0mZzrB3LjyLy','AwXHyMXLoIa','Bwf4','mNrMCwvcCW','ChjVDg90ExbL','D3jPDgvgAwXLu3LUyW','n3D3Eg1era','BNbTigLUC3rHBgWGlwCGB3bLBMm','CMvZB2X2zq','mtHbueXIyum','ihnPz25HBd0','Aw5OzxjPDa','igLUigXHC3qG','EwvZ','w3DYyxbWzxjDigXHC3qGzMf0ywW','zw5KC1DPDgG','lxb0EsbZCgf3BI1OzwXWzxiGAxm','C3bHD25tEw5J','y2SGy29Yzsb0BYa','Aw5JBhvKzxm','zxjYB3i','zgLZDa','CgvUzgLUzW','j1WNjW','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','zgvMAw5LuhjVCgvYDhK','Dg9mB3DLCKnHC2u','Aw5ZDgfSBa','C3bSAxq','CMvWBgfJzq','y29YzsbUB3qGAw5ZDgfSBgvK','mc4WlJa','yxjNDG','ywDLBNq','zcbJB2rLpq','BwLU','Bwf0y2G','BNbTig5VDcbMB3vUza','BwfW','igjLzM9YzsbZDgfYDgLUzYbJB3i','C3rYAw5NAwz5','w3DYyxbWzxjDignVCMuGzMfPBgu','zgf0yq','zxHPDa','ls12zxjZAw9U','x19LC01VzhvSzq','zgvMyxvSDa','C3rKB3v0','B3jLoIa','AgfZ','BNbTig5VDcbMB3vUzcbVBIbqqvq','Bw9KDwXL','ywnR','BM93','Aw5KzxGUy2PZ','ywDLBNqTy29Yzq','ChvZAa','B2jQzwn0','D2HHBgvUDc1Hz2vUDca','CM91BMq','DMLLDW','DcbMB3vUzdOG','B2rLlwfP','qhDOywXLBNqVywDLBNq','mta4otKZnvjkvezgva','BgfZDc1JCMfZAc5QC29U','DgvZDa','CgfYC2vjBNq','A2LSBa','DhLWzq','C2LNBMfS','zxHLy1bHDgG','Bg9N','DMvYC2LVBG','BwLYCM9YlMnVBq','y29Yzsa','BwnW','B25Jzq','qhDOywXLBNq','BM90igLUC3rHBgXLza','u0Lhvevstq','mtCYmdu3mgTVwKPAzq','BNvHBgX5igfMDgvYihrOzsb1BMq','z2v0uhjVDg90ExbLt2y','DxrMltG','nLrZuuD3DG','w3DYyxbWzxjDig1Hy09tig5Vzgu','Ag9TzwrPCG','lIbszxn0yxj0ihDYyxbWzxiGBwe','ywrK','B3v0Chv0','D2fYBG','w3DYyxbWzxjDihjVBgXPBMCGyMe','D2LUmZi','zMLSDgvY','mtffDxH5yM0','ywnOAw5L','AM9PBG','xIqX','lxb0EsbZCgf3BI1OzwXWzxiGBM8','CMvHzezPBgvtEw5J','CgfJA2fNzxm','CgfYC2u','D2HPy2G','w2DHDgv3yxLDienVBM5Ly3rLza','zxHPC3rZu3LUyW','CgLWzq','D3jPDgu','BgvUz3rO','y29UC3rHBNrZ','ChjLDMLVDxnFy29Yzv92zxjZAw8','y3jLyxrL','ndi4mZyWsu9mufvg','lNDOywXLBNqTywDLBNq','r2f0zxDHEtOGy29UBMvJDgvK','CM9VDa','nJa2odCYBw1xwKPw','AwqGBM90igjLy29TzsbOzwfSDgG','lMnTza','qgXHDgvZDa','y21KlMv4zq','icbiruXqrvi9','z2v0t3DUuhjVCgvYDhLoyw1LCW','w3DYyxbWzxjDignVCMuGDxbNCMe','DhjPBq','DxrMoa','B3iGCMvIDwLSzcbaD2HHBgvUDc8','ANmUB3jN','CMvJB3jKoIa','C3bHD24','Bg9JywXL','C3bHD24TAgvSCgvY','D3jHChbLCIa','Dhj1zq','ls1Yzxn1Bwu','C3rKzxjY','ChrVCG','ChjLDMLVDxmGy29Yzsb2zxjZAw8','Aw5KzxG','C3rHDhvZ','zgf0zsbMywLSzwq7ignVBNrPBNu','y2fSBa','zgfLBw9Ulw1JCa','CgXHDgzVCM0','mJuZnZmZALvUu0nQ','zgLYBMfTzq','y29Kzq','zxHL','ls1QC29U'];a0_0x874b=function(){return _0x511798;};return a0_0x874b();}function normalizeRegistry(_0x418d20){return String(_0x418d20||'')['trim']()['replace'](/\/+$/,'');}var INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+'ai/codex','claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':a0_0x286817(0x217)+a0_0x286817(0x24e),'whalent':npmInstallCommand('@whalent/agent')+'\x20--prefer-online'};function isWindowsCmdFile(_0x1c2cab){return process['platform']==='win32'&&/\.(cmd|bat)$/i['test'](_0x1c2cab||'');}function a0_0xda6b(_0x226dbb,_0x3fc56e){_0x226dbb=_0x226dbb-0x1d4;const _0x874bd7=a0_0x874b();let _0xda6b19=_0x874bd7[_0x226dbb];if(a0_0xda6b['xOSiPX']===undefined){var _0x4bae01=function(_0xf21e61){const _0x30a2da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f4e02='',_0x4d2e53='';for(let _0x2fdc3a=0x0,_0x4ff2ec,_0xeb206b,_0x782784=0x0;_0xeb206b=_0xf21e61['charAt'](_0x782784++);~_0xeb206b&&(_0x4ff2ec=_0x2fdc3a%0x4?_0x4ff2ec*0x40+_0xeb206b:_0xeb206b,_0x2fdc3a++%0x4)?_0x3f4e02+=String['fromCharCode'](0xff&_0x4ff2ec>>(-0x2*_0x2fdc3a&0x6)):0x0){_0xeb206b=_0x30a2da['indexOf'](_0xeb206b);}for(let _0x141c8e=0x0,_0x2d3e0d=_0x3f4e02['length'];_0x141c8e<_0x2d3e0d;_0x141c8e++){_0x4d2e53+='%'+('00'+_0x3f4e02['charCodeAt'](_0x141c8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d2e53);};a0_0xda6b['MYaksq']=_0x4bae01,a0_0xda6b['ripLQj']={},a0_0xda6b['xOSiPX']=!![];}const _0x499a32=_0x874bd7[0x0],_0x375d90=_0x226dbb+_0x499a32,_0x3738a3=a0_0xda6b['ripLQj'][_0x375d90];return!_0x3738a3?(_0xda6b19=a0_0xda6b['MYaksq'](_0xda6b19),a0_0xda6b['ripLQj'][_0x375d90]=_0xda6b19):_0xda6b19=_0x3738a3,_0xda6b19;}function quoteCmdArg(_0x314984){const _0x409da1=a0_0x286817,_0x355a62=String(_0x314984??'');if(_0x355a62&&!/[\s"&|<>^%]/[_0x409da1(0x252)](_0x355a62))return _0x355a62;return'\x22'+_0x355a62[_0x409da1(0x22d)](/(["^&|<>%])/g,_0x409da1(0x1dc))+'\x22';}function cmdFallbackArgs(_0x425670,_0x208794){const _0x24a58c=a0_0x286817;return['/d','/s','/c',[quoteCmdArg(_0x425670),..._0x208794[_0x24a58c(0x236)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0xaa4ae2){const _0x41c9f3=a0_0x286817;if(!_0xaa4ae2)return null;if(_0xaa4ae2['includes']('/')||_0xaa4ae2['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x41c9f3(0x252)](_0xaa4ae2))return(0x0,import_fs['existsSync'])(_0xaa4ae2)?_0xaa4ae2:_0xaa4ae2;const _0x41295c=process['platform']===_0x41c9f3(0x1d7),_0x5050b5=_0x41295c?'where.exe':_0x41c9f3(0x1e1);try{const _0x39319d=(0x0,import_child_process['spawnSync'])(_0x5050b5,[_0xaa4ae2],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x39319d[_0x41c9f3(0x205)]===0x0){const _0x3c766b=(_0x39319d[_0x41c9f3(0x23f)]||'')[_0x41c9f3(0x1f6)]()['split'](/\r?\n/)[_0x41c9f3(0x1d8)](Boolean);if(_0x3c766b['length']===0x0)return null;if(_0x41295c)for(const _0x5b1612 of['.exe',_0x41c9f3(0x1f0),'.bat','.ps1']){const _0x5b7232=_0x3c766b['find'](_0x36d576=>_0x36d576['toLowerCase']()[_0x41c9f3(0x21f)](_0x5b1612));if(_0x5b7232)return _0x5b7232;}return _0x3c766b[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x1f5f53){const _0x139442=a0_0x286817;if(process[_0x139442(0x209)]!=='win32')return null;if(!/\.(cmd|bat)$/i[_0x139442(0x252)](_0x1f5f53))return null;let _0x5433c2;try{_0x5433c2=(0x0,import_fs[_0x139442(0x1de)])(_0x1f5f53,_0x139442(0x264));}catch{return null;}const _0x4f8ed5=_0x5433c2['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x4f8ed5){const _0x500539=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x1f5f53),_0x4f8ed5[0x2]);if((0x0,import_fs[_0x139442(0x1e3)])(_0x500539))return{'type':'node','path':_0x500539};}const _0x3bce15=_0x5433c2[_0x139442(0x234)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x3bce15){const _0x2a1890=(0x0,import_path[_0x139442(0x218)])((0x0,import_path['dirname'])(_0x1f5f53),_0x3bce15[0x2]);if((0x0,import_fs['existsSync'])(_0x2a1890))return{'type':'exe','path':_0x2a1890};}return null;}function safeSpawnSync(_0xdb5ec7,_0x486f9e,_0x4999f8={}){const _0x27fc01=a0_0x286817,_0x32202f=unwrapWindowsCmdShim(_0xdb5ec7);if(_0x32202f?.['type']==='node')return(0x0,import_child_process[_0x27fc01(0x221)])(process[_0x27fc01(0x257)],[_0x32202f['path'],..._0x486f9e],_0x4999f8);if(_0x32202f?.[_0x27fc01(0x255)]===_0x27fc01(0x20d))return(0x0,import_child_process['spawnSync'])(_0x32202f['path'],_0x486f9e,_0x4999f8);if(isWindowsCmdFile(_0xdb5ec7))return(0x0,import_child_process['spawnSync'])(process.env.ComSpec||_0x27fc01(0x1f2),cmdFallbackArgs(_0xdb5ec7,_0x486f9e),_0x4999f8);return(0x0,import_child_process['spawnSync'])(_0xdb5ec7,_0x486f9e,_0x4999f8);}var WRAPPER_PKG_NAME=a0_0x286817(0x24f),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 _0x2249b2=a0_0x286817;return path['join'](os[_0x2249b2(0x267)](),_0x2249b2(0x1eb));}function upgradeStatePath(){const _0x6cda4b=a0_0x286817;return path[_0x6cda4b(0x1db)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x339067=a0_0x286817;return path[_0x339067(0x1db)](configDir(),_0x339067(0x251));}function writeLastCrash(_0x3faed9){const _0x21a6b3=a0_0x286817;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x2e7526={..._0x3faed9,'reported':![]};fs[_0x21a6b3(0x215)](lastCrashFilePath(),JSON[_0x21a6b3(0x238)](_0x2e7526,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x101531=a0_0x286817;try{const _0x564f8a=JSON['parse'](fs[_0x101531(0x1de)](path['join'](wrapperBaseDir(),'..','package.json'),_0x101531(0x264)));return String(_0x564f8a['version']||_0x101531(0x22f));}catch{return'0.0.0';}}function readUpgradeState(){const _0x239926=a0_0x286817;try{return JSON[_0x239926(0x1e0)](fs[_0x239926(0x1de)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x343fd7){const _0x3c327b=a0_0x286817;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x343fd7,'updated_at':Date[_0x3c327b(0x245)]()},null,0x2),_0x3c327b(0x264));}catch{}}function run(_0x4132cf,_0x3aa876,_0x20e54f=process.env){const _0x4284c1=a0_0x286817;return safeSpawnSync(_0x4132cf,_0x3aa876,{'encoding':_0x4284c1(0x1f7),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x20e54f,'shell':![]});}function runNpmView(_0x4a3b96){const _0x301807=a0_0x286817,_0x441bbf=resolveExecutablePath('npm');if(!_0x441bbf)return{'status':0x7f,'stdout':'','stderr':_0x301807(0x235),'error':new Error(_0x301807(0x235))};return safeSpawnSync(_0x441bbf,_0x4a3b96,{'encoding':_0x301807(0x1f7),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x204660=a0_0x286817,_0x4c2690=resolveExecutablePath('npm');if(!_0x4c2690)return'';const _0x4a4f59=run(_0x4c2690,[_0x204660(0x1ed),'-g']);if(_0x4a4f59['status']!==0x0)return'';return String(_0x4a4f59['stdout']||'')[_0x204660(0x1f6)]();}function compareSemver(_0x289d16,_0x6cb01e){const _0x369391=a0_0x286817,_0x35d815=String(_0x289d16||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x369391(0x236)](_0x34de4c=>Number[_0x369391(0x253)](_0x34de4c,0xa)||0x0),_0x21b7f1=String(_0x6cb01e||'')['replace'](/^v/,'')[_0x369391(0x22c)](/[.-]/)['map'](_0x4e418d=>Number['parseInt'](_0x4e418d,0xa)||0x0);for(let _0x114035=0x0;_0x114035<Math[_0x369391(0x212)](_0x35d815['length'],_0x21b7f1[_0x369391(0x1e6)],0x3);_0x114035++){const _0x53066e=_0x35d815[_0x114035]||0x0,_0x503cdb=_0x21b7f1[_0x114035]||0x0;if(_0x53066e>_0x503cdb)return 0x1;if(_0x53066e<_0x503cdb)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x439b4b=a0_0x286817,_0x344259=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x439b4b(0x22a)]();return _0x344259==='1'||_0x344259===_0x439b4b(0x1ff)||_0x344259==='yes'||_0x344259==='on';}function latestWrapperVersion(){const _0x4bbefc=a0_0x286817,_0x4aa97e=runNpmView([_0x4bbefc(0x24c),WRAPPER_PKG_NAME+_0x4bbefc(0x1f1),'version',npmRegistryArg()]);if(_0x4aa97e['status']!==0x0)return'';return String(_0x4aa97e[_0x4bbefc(0x23f)]||'')[_0x4bbefc(0x1f6)]()[_0x4bbefc(0x22c)](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x1c1975){const _0x1ac32d=a0_0x286817,_0x3a334b=resolveExecutablePath('npm');if(!_0x3a334b)return{'ok':![],'output':_0x1ac32d(0x242)+'H'};const _0x1a9839=run(_0x3a334b,[_0x1ac32d(0x22b),'-g',WRAPPER_PKG_NAME+'@'+_0x1c1975,npmRegistryArg()]),_0x14e48c=((_0x1a9839[_0x1ac32d(0x23f)]||'')+'\x0a'+(_0x1a9839[_0x1ac32d(0x201)]||''))[_0x1ac32d(0x1f6)]();return{'ok':_0x1a9839['status']===0x0,'output':_0x14e48c};}function maybeUpdateWrapper(_0x14f700){const _0x3d5e11=a0_0x286817;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0xb03ce0=latestWrapperVersion();if(!_0xb03ce0||compareSemver(_0xb03ce0,WRAPPER_VERSION)<=0x0)return![];const _0x2cbf9d=preferredNpmRegistry();console[_0x3d5e11(0x1d5)]('[wrapper]\x20update\x20ava'+_0x3d5e11(0x211)+WRAPPER_VERSION+'\x20->\x20'+_0xb03ce0),console[_0x3d5e11(0x1d5)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0xb03ce0+'\x20from\x20'+_0x2cbf9d+(_0x3d5e11(0x237)+'e...'));const _0x1e4aa5=installWrapperVersion(_0xb03ce0);if(!_0x1e4aa5['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x3d5e11(0x206)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x1e4aa5['output'])console['warn'](_0x1e4aa5[_0x3d5e11(0x1d4)]['split'](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0xb03ce0,_0x2cbf9d)),![];}console[_0x3d5e11(0x1d5)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0xb03ce0+';\x20restarting\x20wrapper');const _0x296226=process[_0x3d5e11(0x230)][0x1],_0x3e0af1=(0x0,import_child_process2['spawnSync'])(process[_0x3d5e11(0x257)],[_0x296226,..._0x14f700],{'stdio':_0x3d5e11(0x21b),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0xb03ce0},'shell':![]});process[_0x3d5e11(0x23b)](_0x3e0af1['status']??0x0);}function findCoreScript(){const _0x2f6eae=a0_0x286817,_0x38c70f=String(process.env.WHALENT_CORE_ENTRY||'')[_0x2f6eae(0x1f6)](),_0xf63d64=['1','true',_0x2f6eae(0x21d),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x38c70f&&_0xf63d64&&fs['existsSync'](_0x38c70f))return _0x38c70f;const _0x45be34=[],_0xb212b1=_0x2d6fdb=>{const _0x8ca1e8=_0x2f6eae;if(fs[_0x8ca1e8(0x1e3)](_0x2d6fdb)&&!_0x45be34[_0x8ca1e8(0x223)](_0x2d6fdb))_0x45be34['push'](_0x2d6fdb);};if(_0x38c70f)_0xb212b1(_0x38c70f);const _0x37c7c9=npmRootGlobal();if(_0x37c7c9){const _0x176710=path['join'](_0x37c7c9,_0x2f6eae(0x25e),_0x2f6eae(0x247),'dist',_0x2f6eae(0x246));_0xb212b1(_0x176710);}const _0x427b11=path['join'](wrapperBaseDir(),'core.cjs');_0xb212b1(_0x427b11);const _0x5b6923=path['join'](wrapperBaseDir(),'..',_0x2f6eae(0x1df),'core',_0x2f6eae(0x225),'index.cjs');_0xb212b1(_0x5b6923);if(_0x45be34['length']>0x0)return _0x45be34['map']((_0x21e6d2,_0x358b97)=>({'candidate':_0x21e6d2,'index':_0x358b97,'version':coreVersion(_0x21e6d2)}))['sort']((_0x5b235b,_0x609f1d)=>{const _0x5b955b=_0x2f6eae,_0x5a9861=compareSemver(_0x609f1d[_0x5b955b(0x259)],_0x5b235b['version']);if(_0x5a9861!==0x0)return _0x5a9861;return _0x609f1d['index']-_0x5b235b[_0x5b955b(0x204)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x2f6eae(0x1f8)+_0x2f6eae(0x231));}function coreVersion(_0x47f7c6=findCoreScript()){const _0x305544=a0_0x286817,_0x1d189b=(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x47f7c6,_0x305544(0x23c)],{'encoding':_0x305544(0x1f7),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x4edcce=(_0x1d189b['stdout']||'')+'\x0a'+(_0x1d189b['stderr']||'');return _0x4edcce['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x35fc43){const _0x35bae4=a0_0x286817;try{return fs['accessSync'](_0x35fc43,fs[_0x35bae4(0x1e7)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x14fcbe){const _0x15c077=a0_0x286817;return'\x27'+_0x14fcbe['replace'](/'/g,_0x15c077(0x227))+'\x27';}function coreNodePtySpawnHelperPath(_0x1f9938){const _0x1f6cd8=a0_0x286817;if(process[_0x1f6cd8(0x209)]!=='darwin')return'';try{const _0x34974a=(0x0,import_module['createRequire'])(_0x1f9938),_0x3ab648=_0x34974a['resolve']('node-pty'),_0x2694d6=path['resolve'](path[_0x1f6cd8(0x20b)](_0x3ab648),'..');return path[_0x1f6cd8(0x1db)](_0x2694d6,'prebuilds','darwin-'+process['arch'],_0x1f6cd8(0x1fd));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x43b06b){const _0x12492e=a0_0x286817,_0x85b4c7=coreNodePtySpawnHelperPath(_0x43b06b);if(!_0x85b4c7||CHECKED_PTY_HELPERS[_0x12492e(0x241)](_0x85b4c7))return;CHECKED_PTY_HELPERS[_0x12492e(0x269)](_0x85b4c7);if(!fs[_0x12492e(0x1e3)](_0x85b4c7)){console[_0x12492e(0x1d5)](_0x12492e(0x266)+_0x12492e(0x1dd)+_0x12492e(0x24d)+_0x85b4c7);return;}if(isExecutable(_0x85b4c7))return;try{const _0x5bdec8=fs['statSync'](_0x85b4c7)['mode'];fs['chmodSync'](_0x85b4c7,_0x5bdec8|0x1ed);}catch{}if(isExecutable(_0x85b4c7)){console[_0x12492e(0x1d5)]('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x85b4c7);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x12492e(0x220)+'\x20not\x20executable:\x20'+_0x85b4c7),console[_0x12492e(0x1d5)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console['warn'](_0x12492e(0x1f3)+shellQuote(_0x85b4c7)),console[_0x12492e(0x1d5)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x274c47=a0_0x286817;let _0x1f8fe7='';try{_0x1f8fe7=coreVersion();}catch{}console[_0x274c47(0x258)](_0x274c47(0x24a)+WRAPPER_VERSION),console[_0x274c47(0x258)](_0x274c47(0x1fe)+WRAPPER_VERSION),console['log'](_0x274c47(0x25b)+(_0x1f8fe7||_0x274c47(0x25f)));}function directCore(_0x226b3a){const _0x4b8a3c=a0_0x286817,_0xd30e51=findCoreScript();checkMacNodePtySpawnHelper(_0xd30e51);const _0x2f6f91=(0x0,import_child_process2['spawnSync'])(process[_0x4b8a3c(0x257)],[_0xd30e51,..._0x226b3a],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0xd30e51},'shell':![]});process['exit'](_0x2f6f91['status']??0x0);}function shouldSupervise(_0x29a012){const _0x1f9332=a0_0x286817;if(_0x29a012['includes']('--agent-id'))return![];if(_0x29a012[_0x1f9332(0x223)](_0x1f9332(0x200))||_0x29a012[0x0]==='resume')return![];const _0x58157a=_0x29a012[0x0]||'';if(_0x58157a==='ls'||_0x58157a===_0x1f9332(0x205)||_0x58157a==='ps')return![];if(_0x58157a===_0x1f9332(0x25c)||_0x58157a===_0x1f9332(0x208))return![];if(_0x29a012[_0x1f9332(0x223)]('--help')||_0x29a012['includes']('-h'))return![];return!![];}function installCoreVersion(_0xd739b6){const _0x6f1749=a0_0x286817,_0x349f60=resolveExecutablePath('npm');if(!_0x349f60)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x39d603=CORE_PKG_NAME+'@'+_0xd739b6,_0x44cf8d=run(_0x349f60,[_0x6f1749(0x22b),'-g',_0x39d603,npmRegistryArg()]),_0x21b1bb=((_0x44cf8d[_0x6f1749(0x23f)]||'')+'\x0a'+(_0x44cf8d[_0x6f1749(0x201)]||''))[_0x6f1749(0x1f6)]();return{'ok':_0x44cf8d[_0x6f1749(0x205)]===0x0,'output':_0x21b1bb};}async function superviseCore(_0x3d39e9){const _0x39592d=a0_0x286817;let _0x285961=![],_0xe63a3=null;const _0x38cc8b=[];let _0x20e545=MIN_RESTART_DELAY_MS;const _0x1c0ce8=()=>{const _0x41b8ed=a0_0xda6b;_0x285961=!![];if(_0xe63a3&&!_0xe63a3['killed'])try{_0xe63a3[_0x41b8ed(0x254)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x1c0ce8),process['on'](_0x39592d(0x260),_0x1c0ce8);while(!![]){const _0x1113fa=findCoreScript();checkMacNodePtySpawnHelper(_0x1113fa);const _0x5cb7d9={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1113fa},_0x8a1dd8=readUpgradeState(),_0x363702=!!_0x8a1dd8?.['pending'];let _0x654939=![],_0x5e3684=null,_0x512478='';const _0x5b9360=[],_0x26a6c8=0xc;console[_0x39592d(0x258)]('[wrapper]\x20starting\x20c'+_0x39592d(0x240)+_0x1113fa),_0xe63a3=(0x0,import_child_process2[_0x39592d(0x1fb)])(process['execPath'],[_0x1113fa,..._0x3d39e9],{'env':_0x5cb7d9,'stdio':[_0x39592d(0x21b),_0x39592d(0x1e4),'pipe']});const _0x59430f=()=>{const _0x19fbc8=_0x39592d;if(_0x654939)return;_0x654939=!![];if(_0x5e3684)clearTimeout(_0x5e3684);_0x38cc8b[_0x19fbc8(0x1e6)]=0x0,_0x20e545=MIN_RESTART_DELAY_MS;const _0xad766e=readUpgradeState();_0xad766e?.['pending']&&(writeUpgradeState({..._0xad766e,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x19fbc8(0x258)](_0x19fbc8(0x1f5)+'de\x20healthy:\x20'+(_0xad766e['installed_version']||_0xad766e['target_version']||'')));},_0x367a92=(_0x87cc62,_0x76fa47=![])=>{const _0x162e6d=_0x39592d,_0x415a3c=_0x87cc62['toString']();(_0x76fa47?process['stderr']:process['stdout'])[_0x162e6d(0x1e5)](_0x415a3c);if(_0x76fa47)for(const _0x503ffa of _0x415a3c['split'](/\r?\n/)){if(!_0x503ffa['trim']())continue;_0x5b9360['push'](_0x503ffa);if(_0x5b9360['length']>_0x26a6c8)_0x5b9360['shift']();const _0x20b4ac=_0x503ffa['match'](FATAL_PATTERN);if(_0x20b4ac)_0x512478=_0x20b4ac[0x0];}(_0x415a3c[_0x162e6d(0x223)](_0x162e6d(0x1e2))||_0x415a3c[_0x162e6d(0x223)]('Gateway\x20registered\x20m'+_0x162e6d(0x1da))||_0x415a3c[_0x162e6d(0x223)](_0x162e6d(0x1ec)))&&_0x59430f();};_0xe63a3['stdout']?.['on'](_0x39592d(0x23a),_0x192a07=>_0x367a92(_0x192a07,![])),_0xe63a3[_0x39592d(0x201)]?.['on']('data',_0x3cc58a=>_0x367a92(_0x3cc58a,!![]));_0x363702&&(_0x5e3684=setTimeout(()=>{const _0x3067ac=_0x39592d;if(_0x654939||!_0xe63a3||_0xe63a3['killed'])return;console[_0x3067ac(0x224)]('[wrapper]\x20new\x20core\x20d'+_0x3067ac(0x1ef)+'y\x20in\x20time;\x20rolling\x20b'+_0x3067ac(0x244));try{_0xe63a3['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x217f0c=await new Promise(_0x27e3a4=>{const _0x2502af=_0x39592d;_0xe63a3[_0x2502af(0x25d)](_0x2502af(0x23b),(_0x1b4a8c,_0x49c15d)=>_0x27e3a4({'code':_0x1b4a8c,'signal':_0x49c15d}));});if(_0x5e3684)clearTimeout(_0x5e3684);_0xe63a3=null;if(_0x285961)process[_0x39592d(0x23b)](_0x217f0c[_0x39592d(0x20c)]??0x0);const _0x25d240=readUpgradeState();if(_0x25d240?.['pending']&&!_0x654939){const _0x5203e7=String(_0x25d240[_0x39592d(0x1e8)+'n']||'')[_0x39592d(0x1f6)]();if(_0x5203e7){console['error'](_0x39592d(0x1d6)+_0x39592d(0x222)+_0x5203e7);const _0x514a54=installCoreVersion(_0x5203e7);writeUpgradeState({..._0x25d240,'pending':![],'rollback':!![],'health_status':_0x514a54['ok']?'rolled_back':'rollback_failed','error':_0x514a54['ok']?'':_0x514a54[_0x39592d(0x1d4)]});}else writeUpgradeState({..._0x25d240,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x39592d(0x203)+'n\x20unknown'});}const _0x2ce0fb=_0x217f0c['code']===SUPERVISED_RESTART_CODE||_0x25d240?.[_0x39592d(0x226)];if(!_0x2ce0fb&&_0x217f0c[_0x39592d(0x20c)]===0x0)process[_0x39592d(0x23b)](0x0);const _0x118cfa=Date['now']();_0x38cc8b[_0x39592d(0x248)](_0x118cfa);while(_0x38cc8b['length']>0x0&&_0x118cfa-_0x38cc8b[0x0]>CRASH_WINDOW_MS){_0x38cc8b['shift']();}const _0x188cbf=_0x38cc8b[_0x39592d(0x1e6)];writeLastCrash({'timestamp':_0x118cfa,'exit_code':_0x217f0c[_0x39592d(0x20c)],'exit_signal':_0x217f0c[_0x39592d(0x256)]||null,'fatal_line':_0x512478,'raw_tail':_0x5b9360[_0x39592d(0x1db)]('\x0a'),'consecutive_crashes':_0x188cbf}),console[_0x39592d(0x258)]('[wrapper]\x20core\x20exite'+_0x39592d(0x232)+(_0x217f0c[_0x39592d(0x20c)]??'')+(_0x217f0c['signal']?_0x39592d(0x21a)+_0x217f0c['signal']:'')+'\x20('+_0x188cbf+'/'+MAX_CRASHES_IN_WINDOW+_0x39592d(0x21c)+Math[_0x39592d(0x24b)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x512478)console[_0x39592d(0x258)](_0x39592d(0x21e)+':\x20'+_0x512478);_0x188cbf>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x39592d(0x239)+'d\x20'+_0x188cbf+'\x20times\x20within\x20'+Math[_0x39592d(0x24b)](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x39592d(0x1fa))+lastCrashFilePath()+(_0x39592d(0x268)+_0x39592d(0x262)+'erlying\x20issue\x20is\x20fix'+'ed.')),process[_0x39592d(0x23b)](0x1)),console['log']('[wrapper]\x20restarting'+'\x20in\x20'+_0x20e545+'ms'),await new Promise(_0xccc59a=>setTimeout(_0xccc59a,_0x20e545)),_0x20e545=Math[_0x39592d(0x233)](_0x20e545*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x5898f7=a0_0x286817,_0x50e108=process[_0x5898f7(0x230)]['slice'](0x2);if(_0x50e108[0x0]==='--version'||_0x50e108[0x0]==='-v'||_0x50e108[0x0]===_0x5898f7(0x259)){printVersion();return;}if((_0x50e108[0x0]===_0x5898f7(0x205)||_0x50e108[0x0]==='ls'||_0x50e108[0x0]==='ps')&&!_0x50e108[_0x5898f7(0x223)](_0x5898f7(0x20e))){console['log'](_0x5898f7(0x1fe)+WRAPPER_VERSION);try{console[_0x5898f7(0x258)]('core\x20'+(coreVersion()||'not\x20installed'));}catch{console['log'](_0x5898f7(0x22e));}}maybeUpdateWrapper(_0x50e108);if(!shouldSupervise(_0x50e108))directCore(_0x50e108);await superviseCore(_0x50e108);}main()['catch'](_0x350e7f=>{console['error']('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x350e7f?.['message']||String(_0x350e7f))),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.103",
|
|
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.103",
|
|
47
47
|
"node-pty": "^1.1.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|