@whalent/agent 0.3.94 → 0.3.96

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/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';const a0_0x5141f2=a0_0x41c2;(function(_0x29a8eb,_0x1ebfd1){const _0x1fee5b=a0_0x41c2,_0x466faf=_0x29a8eb();while(!![]){try{const _0x45bd7e=-parseInt(_0x1fee5b(0x253))/0x1+parseInt(_0x1fee5b(0x1ed))/0x2*(parseInt(_0x1fee5b(0x1fc))/0x3)+-parseInt(_0x1fee5b(0x244))/0x4+parseInt(_0x1fee5b(0x1d6))/0x5+parseInt(_0x1fee5b(0x21f))/0x6*(-parseInt(_0x1fee5b(0x202))/0x7)+parseInt(_0x1fee5b(0x232))/0x8*(parseInt(_0x1fee5b(0x1cb))/0x9)+-parseInt(_0x1fee5b(0x1ea))/0xa;if(_0x45bd7e===_0x1ebfd1)break;else _0x466faf['push'](_0x466faf['shift']());}catch(_0x156067){_0x466faf['push'](_0x466faf['shift']());}}}(a0_0x4480,0x5269e));var __create=Object[a0_0x5141f2(0x245)],__defProp=Object[a0_0x5141f2(0x20c)],__getOwnPropDesc=Object[a0_0x5141f2(0x20f)+a0_0x5141f2(0x1db)],__getOwnPropNames=Object[a0_0x5141f2(0x1dc)],__getProtoOf=Object[a0_0x5141f2(0x24c)],__hasOwnProp=Object['prototype']['hasOwnProperty'],__copyProps=(_0x7a2112,_0x1db379,_0x15df90,_0x2db4dc)=>{const _0x5c2fab=a0_0x5141f2;if(_0x1db379&&typeof _0x1db379===_0x5c2fab(0x1da)||typeof _0x1db379===_0x5c2fab(0x25b)){for(let _0x3ab7eb of __getOwnPropNames(_0x1db379))if(!__hasOwnProp['call'](_0x7a2112,_0x3ab7eb)&&_0x3ab7eb!==_0x15df90)__defProp(_0x7a2112,_0x3ab7eb,{'get':()=>_0x1db379[_0x3ab7eb],'enumerable':!(_0x2db4dc=__getOwnPropDesc(_0x1db379,_0x3ab7eb))||_0x2db4dc['enumerable']});}return _0x7a2112;},__toESM=(_0x55b0de,_0x158804,_0x2d1024)=>(_0x2d1024=_0x55b0de!=null?__create(__getProtoOf(_0x55b0de)):{},__copyProps(_0x158804||!_0x55b0de||!_0x55b0de[a0_0x5141f2(0x1df)]?__defProp(_0x2d1024,'default',{'value':_0x55b0de,'enumerable':!![]}):_0x2d1024,_0x55b0de)),import_child_process=require(a0_0x5141f2(0x1c8)),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x5141f2(0x224)),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME='@whalent/agent-core',NPM_REGISTRY=a0_0x5141f2(0x1ec)+'js.org',SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set(),CHECKED_NODE_PTY_RUNTIMES=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){const _0x1d13cb=a0_0x5141f2;return path['join'](os[_0x1d13cb(0x227)](),'.whalent-agent');}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x18ec86=a0_0x5141f2;return path[_0x18ec86(0x1ff)](configDir(),'last-crash.json');}function writeLastCrash(_0x465ac7){const _0x1a1906=a0_0x5141f2;try{fs[_0x1a1906(0x230)](configDir(),{'recursive':!![]});const _0x435faa={..._0x465ac7,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x1a1906(0x217)](_0x435faa,null,0x2),_0x1a1906(0x24e));}catch{}}function readWrapperVersion(){const _0x33dbc5=a0_0x5141f2;try{const _0x2df68d=JSON['parse'](fs[_0x33dbc5(0x258)](path[_0x33dbc5(0x1ff)](wrapperBaseDir(),'..',_0x33dbc5(0x1c9)),'utf-8'));return String(_0x2df68d[_0x33dbc5(0x22e)]||_0x33dbc5(0x243));}catch{return'0.0.0';}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function a0_0x4480(){const _0x21b56d=['nti4yw5HDujp','igLUia','zguGAgvHBhrOEtOG','CM9SBgjHy2TFDw5HDMfPBgfIBgu','BwLU','DgfYDa','ls1Hz2vUDc1Pza','AgvHBhrOEq','w3DYyxbWzxjDihjLC3rHCNrPBMC','CgLWzq','zxjSEwLUzYbPC3n1zsbPCYbMAxG','w3DYyxbWzxjDignVCMuGDxbNCMe','BM90igLUC3rHBgXLza','CgvYigv4zwn1DgfIBguGyML0oIa','w3DYyxbWzxjDihn0yxj0Aw5Nigm','CZSGz2L2Aw5NihvWlIbdCMfZAca','BNbT','mc4WlJa','ntqWntq4s1vfChj0','y3jLyxrL','Dw5KoYbJyw5UB3qGCMvIDwLSzca','u0Lhsu5u','r2f0zxDHEsbYzwDPC3rLCMvKig0','Bg9N','BMfTzq','ywDLBNq','z2v0uhjVDg90ExbLt2y','y3jLyxrLuMvXDwLYzq','DxrMltG','CM91BMq','w3DYyxbWzxjDigLUC3rHBgXPBMC','u0Lhvevstq','yNvPBgq','mJqYowvnwMjKyq','D2HLCMuUzxHL','ls1OzwXW','BgvUz3rO','C3rHDhvZ','CMvHzezPBgvtEw5J','A2LSBa','yxjJAa','zNvUy3rPB24','CMvWBgfJzq','yxjNDG','BMnLihrVigzPEcb0zxjTAw5HBc8','D3jPDgvgAwXLu3LUyW','D2HPy2G','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','yxrPDMuGBw9KDwXLigLZig1PC3m','y2f0y2G','Chr5lM5Vzgu','y2HPBgrFChjVy2vZCW','CgfJA2fNzs5QC29U','Aw5KzxGUy2PZ','ndCWnJfAuKfJt1C','C3rKB3v0','zgf0yq','C2LNBMfS','CM9SBgvKx2jHy2S','zxjYB3i','y29Yzq','lIbszxn0yxj0ihDYyxbWzxiGBwe','w3DYyxbWzxjDig5WBsbUB3qGzM8','Bwf4','C2XPy2u','mtGZmZm3nxD5zvfItW','lxb0EsbZCgf3BI1OzwXWzxiGAxm','w3DYyxbWzxjDigzPEgvKig1Hy08','zxHPC3rZu3LUyW','B2jQzwn0','ChrVCG','z2v0t3DUuhjVCgvYDhLoyw1LCW','CgfJA2fNzxm','ig5VDcbMB3vUzdSGAw5ZDgfSBca','x19LC01VzhvSzq','DhjPBq','zxHPDa','C3bHD25tEw5J','AwXHyMXLoIa','zgfYD2LUlq','CM9SBgjHy2TFzMfPBgvK','y29Yzsa','Dg9mB3DLCKnHC2u','ChjLDMLVDxmGy29Yzsb2zxjZAw8','Aw5OzxjPDa','mJiXmtq0mgXKDwX1tW','A2LSBgvK','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','mKzlqKvyEa','y29Yzs5JANm','w3DYyxbWzxjDigXHC3qGzMf0ywW','BM9Kzs1WDhK','zxbLBMrLBMn5ig5VDcbYzxnVBhy','D2LUmZi','zgLYBMfTzq','D2fYBG','B3v0Chv0','ic0+ia','CMvHBhbHDgHtEw5J','ls12zxjZAw9U','CNrPBMCGy29Yzs4UlG','C3rKzxjY','w3DYyxbWzxjDignVCMuGzxHPDgu','mtu4otGYmhbRDurksG','Dhj1zq','ig5VDcbLEgvJDxrHyMXLoIa','AM9PBG','BwfW','w3DYyxbWzxjDig1Hy09tig5Vzgu','mtyZmwnxqvDruW','icbJAg1VzcaREcaIjeHftfbfuIi','y2SGy29Yzsb0BYa','zgfLBw9Ulw1JCa','CgfYC2vjBNq','B3jLoIa','w3DYyxbWzxjDig5VzguTChr5igq','w3DYyxbWzxjDig5VzguTChr5ihi','ihrPBwvZihDPDgHPBIa','CgvUzgLUzW','zgvMAw5LuhjVCgvYDhK','ChjLDMLVDxnFy29Yzv92zxjZAw8','CMvZB2X2zq','z2v0t3DUuhjVCgvYDhLezxnJCMK','ywrK','D3jHChbLCIa','ihnPz25HBd0','CgXHDgzVCM0','Aw5JBhvKzxm','Cg9W','y29UC3rHBNrZ','C3rYAw5NAwz5','BwvZC2fNzq','r2f0zxDHEtOGy29UBMvJDgvK','ywnR','DxrMoa','AgfZ','lxb0EsbZCgf3BI1OzwXWzxiGBM8','w3DYyxbWzxjDihDYyxbWzxiGDxa','mtqWndz3zxD0z0i','w3DYyxbWzxjDignVCMuGzMfPBgu','ChvZAa','y29YzsbUB3qGAw5ZDgfSBgvK','oYbJB3jLig1HEsbMywLSihrVihm','Cgf0Aa','zgf0zwqGDg8G','w3DYyxbWzxjDifj1BIb0AgLZig8','Ag9TzwrPCG','Aw5NihvUzgvYia','y29Kzq','zMLSDgvY','C29Tzq','igLUigXHC3qG','C3bSAxq','DMvYC2LVBG','C2HPzNq','BwTKAxjtEw5J','zgLZDa'];a0_0x4480=function(){return _0x21b56d;};return a0_0x4480();}function writeUpgradeState(_0x162209){const _0x4e30e8=a0_0x5141f2;try{fs[_0x4e30e8(0x230)](configDir(),{'recursive':!![]}),fs[_0x4e30e8(0x1c2)](upgradeStatePath(),JSON['stringify']({..._0x162209,'updated_at':Date['now']()},null,0x2),_0x4e30e8(0x24e));}catch{}}function run(_0x5b7780,_0x39fa19,_0x3b0352=process.env){const _0xfda870=a0_0x5141f2;return(0x0,import_child_process[_0xfda870(0x1e2)])(_0x5b7780,_0x39fa19,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x3b0352,'shell':![]});}function runNpmView(_0x2a1520){const _0x237415=resolveExecutable('npm');if(!_0x237415)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return(0x0,import_child_process['spawnSync'])(_0x237415,_0x2a1520,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x4adaac=a0_0x5141f2,_0x26c852=resolveExecutable(_0x4adaac(0x242));if(!_0x26c852)return'';const _0x185050=run(_0x26c852,['root','-g']);if(_0x185050['status']!==0x0)return'';return String(_0x185050[_0x4adaac(0x1cc)]||'')[_0x4adaac(0x1e0)]();}function compareSemver(_0x13d4bc,_0x207e48){const _0x458f51=a0_0x5141f2,_0x2b7859=String(_0x13d4bc||'')[_0x458f51(0x25c)](/^v/,'')['split'](/[.-]/)['map'](_0x4387dc=>Number['parseInt'](_0x4387dc,0xa)||0x0),_0x313eb7=String(_0x207e48||'')['replace'](/^v/,'')[_0x458f51(0x22d)](/[.-]/)['map'](_0x26891b=>Number[_0x458f51(0x206)](_0x26891b,0xa)||0x0);for(let _0x5ad5c6=0x0;_0x5ad5c6<Math[_0x458f51(0x1d4)](_0x2b7859[_0x458f51(0x256)],_0x313eb7['length'],0x3);_0x5ad5c6++){const _0x59ebd7=_0x2b7859[_0x5ad5c6]||0x0,_0x596774=_0x313eb7[_0x5ad5c6]||0x0;if(_0x59ebd7>_0x596774)return 0x1;if(_0x59ebd7<_0x596774)return-0x1;}return 0x0;}function resolveExecutable(_0x2c8799){const _0x21096e=a0_0x5141f2,_0x4649cb=process[_0x21096e(0x213)]==='win32'?_0x21096e(0x254):_0x21096e(0x1c3);try{const _0x3465db=(0x0,import_child_process['spawnSync'])(_0x4649cb,[_0x2c8799],{'encoding':'utf8','timeout':0xbb8,'shell':![]});if(_0x3465db['status']!==0x0)return'';return String(_0x3465db['stdout']||'')[_0x21096e(0x22d)](/\r?\n/)[_0x21096e(0x200)](_0x271c1d=>_0x271c1d[_0x21096e(0x1e0)]())[_0x21096e(0x22a)](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x54164c=a0_0x5141f2,_0x3d0a27=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x54164c(0x1e7)]();return _0x3d0a27==='1'||_0x3d0a27===_0x54164c(0x1fd)||_0x3d0a27==='yes'||_0x3d0a27==='on';}function latestWrapperVersion(){const _0x3a2282=a0_0x5141f2,_0x3d0f20=runNpmView(['view',WRAPPER_PKG_NAME+'@latest',_0x3a2282(0x22e),'--registry='+NPM_REGISTRY]);if(_0x3d0f20[_0x3a2282(0x257)]!==0x0)return'';return String(_0x3d0f20['stdout']||'')['trim']()[_0x3a2282(0x22d)](/\r?\n/)['filter'](Boolean)[_0x3a2282(0x215)]()||'';}function installWrapperVersion(_0x57c2b6){const _0x804b2b=a0_0x5141f2,_0x18005e=resolveExecutable(_0x804b2b(0x242));if(!_0x18005e)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x1c1159=run(_0x18005e,['install','-g',WRAPPER_PKG_NAME+'@'+_0x57c2b6,'--registry='+NPM_REGISTRY]),_0x5ceb6d=((_0x1c1159['stdout']||'')+'\x0a'+(_0x1c1159[_0x804b2b(0x1fa)]||''))[_0x804b2b(0x1e0)]();return{'ok':_0x1c1159['status']===0x0,'output':_0x5ceb6d};}function maybeUpdateWrapper(_0x13e828){const _0x356380=a0_0x5141f2;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x119724=latestWrapperVersion();if(!_0x119724||compareSemver(_0x119724,WRAPPER_VERSION)<=0x0)return![];console[_0x356380(0x1f4)]('[wrapper]\x20update\x20ava'+_0x356380(0x1e3)+WRAPPER_VERSION+_0x356380(0x1f6)+_0x119724),console['warn'](_0x356380(0x250)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x119724+('\x20from\x20npm\x20before\x20sta'+_0x356380(0x1f9)));const _0x5ab6b7=installWrapperVersion(_0x119724);if(!_0x5ab6b7['ok']){console['warn'](_0x356380(0x21e)+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x5ab6b7[_0x356380(0x1f5)])console['warn'](_0x5ab6b7[_0x356380(0x1f5)]['split'](/\r?\n/)[_0x356380(0x1d5)](-0xc)[_0x356380(0x1ff)]('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x119724+'\x20--registry='+NPM_REGISTRY),![];}console[_0x356380(0x1f4)](_0x356380(0x21e)+_0x356380(0x225)+_0x119724+';\x20restarting\x20wrapper');const _0x36f1a9=process[_0x356380(0x25d)][0x1],_0x171520=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x36f1a9,..._0x13e828],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x119724},'shell':![]});process['exit'](_0x171520[_0x356380(0x257)]??0x0);}function findCoreScript(){const _0x185352=a0_0x5141f2,_0x32956a=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0xeb549c=['1','true','yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x185352(0x1e7)]());if(_0x32956a&&_0xeb549c&&fs[_0x185352(0x1d9)](_0x32956a))return _0x32956a;const _0x191776=[],_0x3bd165=_0x2736a8=>{if(fs['existsSync'](_0x2736a8)&&!_0x191776['includes'](_0x2736a8))_0x191776['push'](_0x2736a8);};if(_0x32956a)_0x3bd165(_0x32956a);const _0x593691=npmRootGlobal();if(_0x593691){const _0x4dd0ea=path[_0x185352(0x1ff)](_0x593691,'@whalent','agent-core','dist','index.cjs');_0x3bd165(_0x4dd0ea);}const _0x24ded1=path['join'](wrapperBaseDir(),_0x185352(0x1ee));_0x3bd165(_0x24ded1);const _0x2d9237=path['join'](wrapperBaseDir(),'..',_0x185352(0x1dd),_0x185352(0x1d1),_0x185352(0x231),_0x185352(0x1ca));_0x3bd165(_0x2d9237);if(_0x191776['length']>0x0)return _0x191776['map']((_0x1de545,_0x35b7ff)=>({'candidate':_0x1de545,'index':_0x35b7ff,'version':coreVersion(_0x1de545)}))['sort']((_0x11efe1,_0x5720d5)=>{const _0x4a6329=_0x185352,_0x168045=compareSemver(_0x5720d5[_0x4a6329(0x22e)],_0x11efe1[_0x4a6329(0x22e)]);if(_0x168045!==0x0)return _0x168045;return _0x5720d5['index']-_0x11efe1['index'];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+_0x185352(0x1de)+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+_0x185352(0x24b));}function coreVersion(_0x5d1857=findCoreScript()){const _0x2c707c=a0_0x5141f2;ensureNodePtyNativeModule(_0x5d1857);const _0x52c9e9=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x5d1857,_0x2c707c(0x1f8)],{'encoding':_0x2c707c(0x21b),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x10c88d=(_0x52c9e9['stdout']||'')+'\x0a'+(_0x52c9e9[_0x2c707c(0x1fa)]||'');return _0x10c88d['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x12782e){const _0x16550c=a0_0x5141f2;try{return fs['accessSync'](_0x12782e,fs[_0x16550c(0x216)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x1a9697){return'\x27'+_0x1a9697['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function corePackageRoot(_0x1b6cfa){const _0x274153=a0_0x5141f2;return path[_0x274153(0x20e)](path['dirname'](_0x1b6cfa),'..');}function nodePtyPackageRoot(_0x4f853f){const _0x3ed9f1=a0_0x5141f2,_0x5d3902=(0x0,import_module[_0x3ed9f1(0x24d)])(_0x4f853f),_0x2fa6ad=_0x5d3902[_0x3ed9f1(0x20e)]('node-pty');let _0x551430=path['dirname'](_0x2fa6ad);for(let _0x2afee2=0x0;_0x2afee2<0x5;_0x2afee2++){const _0x571f48=path[_0x3ed9f1(0x1ff)](_0x551430,'package.json');try{const _0x2010f3=JSON['parse'](fs[_0x3ed9f1(0x258)](_0x571f48,'utf-8'));if(_0x2010f3[_0x3ed9f1(0x24a)]==='node-pty')return _0x551430;}catch{}const _0x486b4d=path[_0x3ed9f1(0x1f3)](_0x551430);if(_0x486b4d===_0x551430)break;_0x551430=_0x486b4d;}return path['resolve'](path[_0x3ed9f1(0x1f3)](_0x2fa6ad),'..');}function nodePtyNativeCandidates(_0x3c2822){const _0x14bca6=a0_0x5141f2;return[path['join'](_0x3c2822,_0x14bca6(0x252),'Release','pty.node'),path[_0x14bca6(0x1ff)](_0x3c2822,'prebuilds',process['platform']+'-'+process[_0x14bca6(0x25a)],_0x14bca6(0x1c7))];}function hasNodePtyNativeModule(_0x2d7069){const _0x2c0aff=a0_0x5141f2;return nodePtyNativeCandidates(_0x2d7069)[_0x2c0aff(0x22b)](_0x56be39=>fs['existsSync'](_0x56be39));}function printNodePtyRebuildHint(_0x2c1fbe){const _0x48d651=a0_0x5141f2,_0x3f6c35=corePackageRoot(_0x2c1fbe);console['warn']('[wrapper]\x20Manual\x20fix'+':'),console[_0x48d651(0x1f4)]('\x20\x20cd\x20'+shellQuote(_0x3f6c35)),console[_0x48d651(0x1f4)]('\x20\x20npm\x20rebuild\x20node-p'+'ty\x20--verbose');}function ensureNodePtyNativeModule(_0xf0827d){const _0x5e4a60=a0_0x5141f2;if(process[_0x5e4a60(0x213)]===_0x5e4a60(0x1f2))return;let _0x32429e='';try{_0x32429e=nodePtyPackageRoot(_0xf0827d);}catch(_0x581cd3){console[_0x5e4a60(0x1f4)](_0x5e4a60(0x208)+_0x5e4a60(0x1f1)+'able\x20for\x20core:\x20'+_0x581cd3[_0x5e4a60(0x218)]),printNodePtyRebuildHint(_0xf0827d);return;}const _0x6351ad=((()=>{const _0x66a8b2=_0x5e4a60;try{return fs[_0x66a8b2(0x1f7)](_0x32429e);}catch{return _0x32429e;}})());if(CHECKED_NODE_PTY_RUNTIMES['has'](_0x6351ad))return;CHECKED_NODE_PTY_RUNTIMES[_0x5e4a60(0x210)](_0x6351ad);if(hasNodePtyNativeModule(_0x32429e))return;const _0x39c0b6=resolveExecutable(_0x5e4a60(0x242));console['warn']('[wrapper]\x20node-pty\x20n'+_0x5e4a60(0x1c5)+_0x5e4a60(0x228)+_0x32429e),console['warn']('[wrapper]\x20rebuilding'+'\x20node-pty\x20before\x20sta'+'rting\x20core...');if(!_0x39c0b6){console['warn'](_0x5e4a60(0x1d3)+_0x5e4a60(0x246)+'node-pty\x20automatical'+'ly'),printNodePtyRebuildHint(_0xf0827d);return;}const _0x259a35=corePackageRoot(_0xf0827d),_0x379ccc=(0x0,import_child_process[_0x5e4a60(0x1e2)])(_0x39c0b6,['rebuild',_0x5e4a60(0x1f0),'--verbose'],{'cwd':_0x259a35,'stdio':'inherit','timeout':NPM_INSTALL_TIMEOUT_MS,'env':process.env,'shell':![]});if(_0x379ccc[_0x5e4a60(0x257)]===0x0&&hasNodePtyNativeModule(_0x32429e)){console[_0x5e4a60(0x1f4)](_0x5e4a60(0x209)+'ebuild\x20completed');return;}console['warn'](_0x5e4a60(0x209)+'ebuild\x20failed'+(_0x379ccc[_0x5e4a60(0x257)]!==null?'\x20(exit='+_0x379ccc['status']+')':'')+(_0x5e4a60(0x223)+_0x5e4a60(0x237))),printNodePtyRebuildHint(_0xf0827d);}function coreNodePtySpawnHelperPath(_0x59d2fb){const _0x27ae82=a0_0x5141f2;if(process[_0x27ae82(0x213)]!=='darwin')return'';try{const _0x3afbc3=(0x0,import_module[_0x27ae82(0x24d)])(_0x59d2fb),_0x3aaa1e=_0x3afbc3['resolve']('node-pty'),_0xceeafa=path[_0x27ae82(0x20e)](path['dirname'](_0x3aaa1e),'..');return path['join'](_0xceeafa,'prebuilds',_0x27ae82(0x1e4)+process[_0x27ae82(0x25a)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x7604){const _0x332611=a0_0x5141f2,_0x2acd60=coreNodePtySpawnHelperPath(_0x7604);if(!_0x2acd60||CHECKED_PTY_HELPERS[_0x332611(0x21c)](_0x2acd60))return;CHECKED_PTY_HELPERS['add'](_0x2acd60);if(!fs[_0x332611(0x1d9)](_0x2acd60)){console['warn'](_0x332611(0x201)+_0x332611(0x21d)+'t\x20found:\x20'+_0x2acd60);return;}if(isExecutable(_0x2acd60))return;try{const _0x2b91c2=fs['statSync'](_0x2acd60)['mode'];fs['chmodSync'](_0x2acd60,_0x2b91c2|0x1ed);}catch{}if(isExecutable(_0x2acd60)){console[_0x332611(0x1f4)](_0x332611(0x1d8)+'S\x20node-pty\x20spawn-hel'+_0x332611(0x23f)+_0x2acd60);return;}console[_0x332611(0x1f4)](_0x332611(0x201)+_0x332611(0x1d7)+_0x332611(0x1fe)+_0x2acd60),console[_0x332611(0x1f4)](_0x332611(0x226)+_0x332611(0x25e)+'PTY\x20startup:'),console[_0x332611(0x1f4)]('\x20\x20HELPER='+shellQuote(_0x2acd60)),console[_0x332611(0x1f4)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn'](_0x332611(0x203));}function printVersion(){const _0x45c1f5=a0_0x5141f2;let _0x268a93='';try{_0x268a93=coreVersion();}catch{}console['log']('whalent-agent\x20'+WRAPPER_VERSION),console[_0x45c1f5(0x249)](_0x45c1f5(0x211)+WRAPPER_VERSION),console['log']('core\x20'+(_0x268a93||_0x45c1f5(0x23e)));}function directCore(_0x5d8981){const _0x43362a=a0_0x5141f2,_0x47d45d=findCoreScript();ensureNodePtyNativeModule(_0x47d45d),checkMacNodePtySpawnHelper(_0x47d45d);const _0x2f0ef7=(0x0,import_child_process[_0x43362a(0x1e2)])(process['execPath'],[_0x47d45d,..._0x5d8981],{'stdio':_0x43362a(0x1e9),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x47d45d},'shell':![]});process['exit'](_0x2f0ef7[_0x43362a(0x257)]??0x0);}function shouldSupervise(_0x2d4c66){const _0x46ebf8=a0_0x5141f2;if(_0x2d4c66['includes'](_0x46ebf8(0x238)))return![];if(_0x2d4c66['includes']('--resume')||_0x2d4c66[0x0]==='resume')return![];const _0x49f9c1=_0x2d4c66[0x0]||'';if(_0x49f9c1==='ls'||_0x49f9c1==='status'||_0x49f9c1==='ps')return![];if(_0x49f9c1==='mcp'||_0x49f9c1===_0x46ebf8(0x205))return![];if(_0x2d4c66['includes'](_0x46ebf8(0x255))||_0x2d4c66[_0x46ebf8(0x214)]('-h'))return![];return!![];}function installCoreVersion(_0x3b4f20){const _0x32e567=a0_0x5141f2,_0xb113c3=resolveExecutable('npm');if(!_0xb113c3)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x3e6a93=CORE_PKG_NAME+'@'+_0x3b4f20,_0x22d6ff=run(_0xb113c3,['install','-g',_0x3e6a93,'--registry='+NPM_REGISTRY]),_0xd86eef=((_0x22d6ff['stdout']||'')+'\x0a'+(_0x22d6ff[_0x32e567(0x1fa)]||''))['trim']();return{'ok':_0x22d6ff[_0x32e567(0x257)]===0x0,'output':_0xd86eef};}function a0_0x41c2(_0x449b6a,_0xe17be2){_0x449b6a=_0x449b6a-0x1c2;const _0x4480df=a0_0x4480();let _0x41c2d3=_0x4480df[_0x449b6a];if(a0_0x41c2['jgYKyU']===undefined){var _0x37d5b6=function(_0x58ec4e){const _0x1cde3b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7a2112='',_0x1db379='';for(let _0x15df90=0x0,_0x2db4dc,_0x3ab7eb,_0x55b0de=0x0;_0x3ab7eb=_0x58ec4e['charAt'](_0x55b0de++);~_0x3ab7eb&&(_0x2db4dc=_0x15df90%0x4?_0x2db4dc*0x40+_0x3ab7eb:_0x3ab7eb,_0x15df90++%0x4)?_0x7a2112+=String['fromCharCode'](0xff&_0x2db4dc>>(-0x2*_0x15df90&0x6)):0x0){_0x3ab7eb=_0x1cde3b['indexOf'](_0x3ab7eb);}for(let _0x158804=0x0,_0x2d1024=_0x7a2112['length'];_0x158804<_0x2d1024;_0x158804++){_0x1db379+='%'+('00'+_0x7a2112['charCodeAt'](_0x158804)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1db379);};a0_0x41c2['mRUuBv']=_0x37d5b6,a0_0x41c2['cqCQiV']={},a0_0x41c2['jgYKyU']=!![];}const _0x55212e=_0x4480df[0x0],_0x4ee048=_0x449b6a+_0x55212e,_0x2b6e6e=a0_0x41c2['cqCQiV'][_0x4ee048];return!_0x2b6e6e?(_0x41c2d3=a0_0x41c2['mRUuBv'](_0x41c2d3),a0_0x41c2['cqCQiV'][_0x4ee048]=_0x41c2d3):_0x41c2d3=_0x2b6e6e,_0x41c2d3;}async function superviseCore(_0x53c6fa){const _0x268794=a0_0x5141f2;let _0x271aa6=![],_0x19134b=null;const _0x26e11b=[];let _0xdcc511=MIN_RESTART_DELAY_MS;const _0x15a15b=()=>{const _0xa05513=a0_0x41c2;_0x271aa6=!![];if(_0x19134b&&!_0x19134b['killed'])try{_0x19134b[_0xa05513(0x259)](_0xa05513(0x251));}catch{}else process[_0xa05513(0x1e1)](0x0);};process['on'](_0x268794(0x247),_0x15a15b),process['on']('SIGTERM',_0x15a15b);while(!![]){const _0xafe8d=findCoreScript();ensureNodePtyNativeModule(_0xafe8d),checkMacNodePtySpawnHelper(_0xafe8d);const _0x5d3d73={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xafe8d},_0x17a949=readUpgradeState(),_0x2d5c4f=!!_0x17a949?.[_0x268794(0x20b)];let _0x18ee92=![],_0x59e693=null,_0x5adf83='';const _0x33344f=[],_0x3745f9=0xc;console[_0x268794(0x249)](_0x268794(0x240)+_0x268794(0x207)+_0xafe8d),_0x19134b=(0x0,import_child_process['spawn'])(process['execPath'],[_0xafe8d,..._0x53c6fa],{'env':_0x5d3d73,'stdio':['inherit',_0x268794(0x23b),_0x268794(0x23b)]});const _0x1da1c2=()=>{const _0x4e1fe6=_0x268794;if(_0x18ee92)return;_0x18ee92=!![];if(_0x59e693)clearTimeout(_0x59e693);_0x26e11b['length']=0x0,_0xdcc511=MIN_RESTART_DELAY_MS;const _0x1554ea=readUpgradeState();_0x1554ea?.['pending']&&(writeUpgradeState({..._0x1554ea,'pending':![],'rollback':![],'health_status':_0x4e1fe6(0x239)}),console['log'](_0x4e1fe6(0x23d)+_0x4e1fe6(0x234)+(_0x1554ea['installed_version']||_0x1554ea['target_version']||'')));},_0x1b234e=(_0x588898,_0x1ff551=![])=>{const _0x138e24=_0x268794,_0x532b98=_0x588898['toString']();(_0x1ff551?process['stderr']:process[_0x138e24(0x1cc)])['write'](_0x532b98);if(_0x1ff551)for(const _0x10570d of _0x532b98[_0x138e24(0x22d)](/\r?\n/)){if(!_0x10570d['trim']())continue;_0x33344f['push'](_0x10570d);if(_0x33344f['length']>_0x3745f9)_0x33344f[_0x138e24(0x22f)]();const _0x496ffe=_0x10570d['match'](FATAL_PATTERN);if(_0x496ffe)_0x5adf83=_0x496ffe[0x0];}(_0x532b98[_0x138e24(0x214)]('[gateway]\x20Connected')||_0x532b98[_0x138e24(0x214)](_0x138e24(0x248)+'achine')||_0x532b98['includes'](_0x138e24(0x219)))&&_0x1da1c2();};_0x19134b[_0x268794(0x1cc)]?.['on']('data',_0x562b7f=>_0x1b234e(_0x562b7f,![])),_0x19134b[_0x268794(0x1fa)]?.['on'](_0x268794(0x1cd),_0xc3403f=>_0x1b234e(_0xc3403f,!![]));_0x2d5c4f&&(_0x59e693=setTimeout(()=>{const _0x1cdcc0=_0x268794;if(_0x18ee92||!_0x19134b||_0x19134b[_0x1cdcc0(0x1eb)])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+_0x1cdcc0(0x1c4)+_0x1cdcc0(0x21a));try{_0x19134b[_0x1cdcc0(0x259)](_0x1cdcc0(0x251));}catch{}},HEALTH_TIMEOUT_MS));const _0x588314=await new Promise(_0x1cc324=>{const _0x415b11=_0x268794;_0x19134b['once'](_0x415b11(0x1e1),(_0x1db52a,_0x1c4e67)=>_0x1cc324({'code':_0x1db52a,'signal':_0x1c4e67}));});if(_0x59e693)clearTimeout(_0x59e693);_0x19134b=null;if(_0x271aa6)process['exit'](_0x588314[_0x268794(0x229)]??0x0);const _0x4c076b=readUpgradeState();if(_0x4c076b?.['pending']&&!_0x18ee92){const _0x4a3b80=String(_0x4c076b[_0x268794(0x20d)+'n']||'')[_0x268794(0x1e0)]();if(_0x4a3b80){console['error']('[wrapper]\x20rolling\x20ba'+_0x268794(0x204)+_0x4a3b80);const _0x129f4d=installCoreVersion(_0x4a3b80);writeUpgradeState({..._0x4c076b,'pending':![],'rollback':!![],'health_status':_0x129f4d['ok']?_0x268794(0x1cf):_0x268794(0x1e5),'error':_0x129f4d['ok']?'':_0x129f4d[_0x268794(0x1f5)]});}else writeUpgradeState({..._0x4c076b,'pending':![],'rollback':!![],'health_status':_0x268794(0x235),'error':_0x268794(0x1e8)+'n\x20unknown'});}const _0x392804=_0x588314['code']===SUPERVISED_RESTART_CODE||_0x4c076b?.['pending'];if(!_0x392804&&_0x588314[_0x268794(0x229)]===0x0)process['exit'](0x0);const _0x24dd9f=Date['now']();_0x26e11b[_0x268794(0x221)](_0x24dd9f);while(_0x26e11b['length']>0x0&&_0x24dd9f-_0x26e11b[0x0]>CRASH_WINDOW_MS){_0x26e11b[_0x268794(0x22f)]();}const _0x450dbd=_0x26e11b['length'];writeLastCrash({'timestamp':_0x24dd9f,'exit_code':_0x588314['code'],'exit_signal':_0x588314['signal']||null,'fatal_line':_0x5adf83,'raw_tail':_0x33344f[_0x268794(0x1ff)]('\x0a'),'consecutive_crashes':_0x450dbd}),console[_0x268794(0x249)](_0x268794(0x1fb)+'d\x20code='+(_0x588314[_0x268794(0x229)]??'')+(_0x588314[_0x268794(0x1ce)]?_0x268794(0x212)+_0x588314['signal']:'')+'\x20('+_0x450dbd+'/'+MAX_CRASHES_IN_WINDOW+_0x268794(0x22c)+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x5adf83)console[_0x268794(0x249)](_0x268794(0x1ef)+':\x20'+_0x5adf83);_0x450dbd>=MAX_CRASHES_IN_WINDOW&&(console[_0x268794(0x1d0)](_0x268794(0x220)+'d\x20'+_0x450dbd+_0x268794(0x20a)+Math[_0x268794(0x24f)](CRASH_WINDOW_MS/0x3e8)+(_0x268794(0x241)+'record:\x20')+lastCrashFilePath()+(_0x268794(0x1d2)+'nually\x20after\x20the\x20und'+_0x268794(0x23c)+'ed.')),process[_0x268794(0x1e1)](0x1)),console['log'](_0x268794(0x23a)+_0x268794(0x233)+_0xdcc511+'ms'),await new Promise(_0x8a91bf=>setTimeout(_0x8a91bf,_0xdcc511)),_0xdcc511=Math[_0x268794(0x236)](_0xdcc511*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3c0b0c=a0_0x5141f2,_0x5bb2a8=process['argv'][_0x3c0b0c(0x1d5)](0x2);if(_0x5bb2a8[0x0]==='--version'||_0x5bb2a8[0x0]==='-v'||_0x5bb2a8[0x0]===_0x3c0b0c(0x22e)){printVersion();return;}if((_0x5bb2a8[0x0]==='status'||_0x5bb2a8[0x0]==='ls'||_0x5bb2a8[0x0]==='ps')&&!_0x5bb2a8['includes']('--json')){console['log'](_0x3c0b0c(0x211)+WRAPPER_VERSION);try{console[_0x3c0b0c(0x249)](_0x3c0b0c(0x1e6)+(coreVersion()||'not\x20installed'));}catch{console['log'](_0x3c0b0c(0x222));}}maybeUpdateWrapper(_0x5bb2a8);if(!shouldSupervise(_0x5bb2a8))directCore(_0x5bb2a8);await superviseCore(_0x5bb2a8);}main()[a0_0x5141f2(0x1c6)](_0x4fee31=>{const _0x1783dc=a0_0x5141f2;console['error']('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x4fee31?.[_0x1783dc(0x218)]||String(_0x4fee31))),process[_0x1783dc(0x1e1)](0x1);});
2
+ 'use strict';const a0_0x502ea5=a0_0x5c12;(function(_0x9a74f7,_0x5bb460){const _0x4ca89b=a0_0x5c12,_0x457090=_0x9a74f7();while(!![]){try{const _0x145126=-parseInt(_0x4ca89b(0xc1))/0x1+-parseInt(_0x4ca89b(0xb7))/0x2*(parseInt(_0x4ca89b(0x13e))/0x3)+-parseInt(_0x4ca89b(0xac))/0x4+parseInt(_0x4ca89b(0x124))/0x5*(parseInt(_0x4ca89b(0xec))/0x6)+parseInt(_0x4ca89b(0x130))/0x7*(-parseInt(_0x4ca89b(0xb8))/0x8)+-parseInt(_0x4ca89b(0xbf))/0x9+parseInt(_0x4ca89b(0xd1))/0xa*(parseInt(_0x4ca89b(0x12b))/0xb);if(_0x145126===_0x5bb460)break;else _0x457090['push'](_0x457090['shift']());}catch(_0x66dc4e){_0x457090['push'](_0x457090['shift']());}}}(a0_0x5b5f,0xe10e2));var __create=Object[a0_0x502ea5(0xab)],__defProp=Object[a0_0x502ea5(0xf7)],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x502ea5(0x115)][a0_0x502ea5(0x107)],__copyProps=(_0x3f9ad6,_0x27a388,_0x5711bf,_0x3919cb)=>{const _0x3f3755=a0_0x502ea5;if(_0x27a388&&typeof _0x27a388==='object'||typeof _0x27a388==='function'){for(let _0x533836 of __getOwnPropNames(_0x27a388))if(!__hasOwnProp['call'](_0x3f9ad6,_0x533836)&&_0x533836!==_0x5711bf)__defProp(_0x3f9ad6,_0x533836,{'get':()=>_0x27a388[_0x533836],'enumerable':!(_0x3919cb=__getOwnPropDesc(_0x27a388,_0x533836))||_0x3919cb[_0x3f3755(0xc9)]});}return _0x3f9ad6;},__toESM=(_0x2807f3,_0x39ed2f,_0x278185)=>(_0x278185=_0x2807f3!=null?__create(__getProtoOf(_0x2807f3)):{},__copyProps(_0x39ed2f||!_0x2807f3||!_0x2807f3['__esModule']?__defProp(_0x278185,'default',{'value':_0x2807f3,'enumerable':!![]}):_0x278185,_0x2807f3)),import_child_process=require(a0_0x502ea5(0xff)),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x502ea5(0x10b),NPM_REGISTRY=a0_0x502ea5(0xea)+a0_0x502ea5(0xd0),SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set(),CHECKED_NODE_PTY_RUNTIMES=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){return path['join'](os['homedir'](),'.whalent-agent');}function upgradeStatePath(){const _0x91ee9b=a0_0x502ea5;return path[_0x91ee9b(0x13d)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x51eec5=a0_0x502ea5;return path[_0x51eec5(0x13d)](configDir(),_0x51eec5(0x9e));}function writeLastCrash(_0x1ab541){const _0x3818b7=a0_0x502ea5;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x2290dd={..._0x1ab541,'reported':![]};fs[_0x3818b7(0x137)](lastCrashFilePath(),JSON[_0x3818b7(0xad)](_0x2290dd,null,0x2),'utf-8');}catch{}}function a0_0x5b5f(){const _0x2103dc=['CgfJA2fNzs5QC29U','BNbTig5VDcbMB3vUzcbVBIbqqvq','w3DYyxbWzxjDihjVBgXPBMCGyMe','ChvZAa','qgXHDgvZDa','mtGWnJG5nw5pt3DkAG','D2HPy2G','BwvZC2fNzq','DxrMltG','C2LNBMfS','ls1YzwDPC3rYEt0','ig5VDcbLEgvJDxrHyMXLoIa','nJm4AuLPCfD2','zxHPC3rZu3LUyW','ls1Hz2vUDc1Pza','CMvZDw1L','BwnW','mJi4mLfcrMXzra','C3bHD25tEw5J','CMvJB3jKoIa','CMvHBhbHDgHtEw5J','w3DYyxbWzxjDignVCMuGzMfPBgu','DgfYz2v0x3zLCNnPB24','ig5VzguTChr5igjLzM9YzsbZDge','D3jPDgvgAwXLu3LUyW','y2f0y2G','DxrMoa','lxb0EsbZCgf3BI1OzwXWzxiGBM8','BNbTig5VDcbMB3vUza','BwTKAxjtEw5J','AM9PBG','ndKWndeWsuTfAwfL','CgXHDgzVCM0','igLUigXHC3qG','D2HLCMuUzxHL','ywrK','BgfZDc1JCMfZAc5QC29U','y3jLyxrLuMvXDwLYzq','zgLZDa','CgvUzgLUzW','u0Lhvevstq','ywDLBNqTy29Yzq','ig5VDcbMB3vUzdSGAw5ZDgfSBca','qhDOywXLBNq','C3bSAxq','zxHLy1bHDgG','D2LUmZi','D2fYBG','CMvHzezPBgvtEw5J','y3jLyxrL','nda5mJaWmhfzqNLMBG','C3rYAw5NAwz5','BIb1BMTUB3DU','B3iGCMvIDwLSzcbaD2HHBgvUDc8','zMLSDgvY','zxHPDa','Bw9Kzq','A2LSBa','BNbT','CgvYigv4zwn1DgfIBguGyML0oIa','yxrPDMuGBw9KDwXLigLZig1PC3m','mLv5zwH6rW','mJC0odH4quXIyNO','CgfYC2u','CgLWzq','j1WNjW','BM93','zxjYB3i','zwj1AwXKigzHAwXLza','mZGWndyXnwXss2nAsq','AwqGBM90igjLy29TzsbOzwfSDgG','oda2ntC4qNLnBunf','r2f0zxDHEtOGy29UBMvJDgvK','DhKGls12zxjIB3nL','y29Kzq','yxjJAa','Aw5KzxGUy2PZ','CM9SBgjHy2TFzMfPBgvK','ls12zxjIB3nL','zw51BwvYywjSzq','C29YDa','ChjLDMLVDxnFy29Yzv92zxjZAw8','Dg9mB3DLCKnHC2u','y2SGy29Yzsb0BYa','C2XPy2u','ywnOAw5L','ANmUB3jN','nZa2mJCWyxDhrNDf','EwvZ','BM9Kzs1WDhKGyxv0B21HDgLJywW','C3rKB3v0','CNrPBMCGy29Yzs4UlG','DhjPBq','w3DYyxbWzxjDig5VzguTChr5ig4','ls12zxjZAw9U','zcbJB2rLpq','BM90igLUC3rHBgXLza','DMvYC2LVBG','icbSCYaTBcaIjeHftfbfuIi','DgfYDa','w3DYyxbWzxjDihn0yxj0Aw5Nigm','CMvZB2X2zq','CgfYC2vjBNq','oYbJB3jLig1HEsbMywLSihrVihm','w3DYyxbWzxjDihvWzgf0zsbHDMe','AgvHBhrOEq','w3DYyxbWzxjDig1Hy09tig5Vzgu','Aw5KzxG','ywjSzsbMB3iGy29YztOG','AgfZ','CZSGz2L2Aw5NihvWlIbdCMfZAca','icbUCg0GCMvIDwLSzcbUB2rLlxa','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','C3rHDhvZ','nNDKvxnLBW','w3DYyxbWzxjDifj1BIb0AgLZig8','CMvWBgfJzq','icbJAg1VzcaREcaIjeHftfbfuIi','zgfLBw9Ulw1JCa','lIbszxn0yxj0ihDYyxbWzxiGBwe','CM9SBgjHy2TFDw5HDMfPBgfIBgu','yxrLoIbUCg0GAw5ZDgfSBcaTzYa','B3jLoIa','C29Tzq','C3rKzxjY','zgvMAw5LuhjVCgvYDhK','ChjLyNvPBgrZ','icbiruXqrvi9','ic0TCMvNAxn0CNK9','zxjSEwLUzYbPC3n1zsbPCYbMAxG','Dg9tDhjPBMC','w3DYyxbWzxjDie1HBNvHBcbMAxG','zgLYBMfTzq','y2HPBgrFChjVy2vZCW','Aw5NihDPDgGG','Bg9N','BM9Kzs1WDhK','BwfW','Bwf0y2G','zgfYD2LUlq','y29Yzs5JANm','AgfZt3DUuhjVCgvYDhK','zwj1AwXKignVBxbSzxrLza','w3DYyxbWzxjDig5VzguTChr5ihi','w3DYyxbWzxjDihDYyxbWzxiGDxa','qhDOywXLBNqVywDLBNqTy29Yzq','Aw5JBhvKzxm','ChjLDMLVDxmGy29Yzsb2zxjZAw8','CM91BMq','C3rHDfn5BMm','ihrPBwvZihDPDgHPBIa','BgvUz3rO','Aw5OzxjPDa','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','w3DYyxbWzxjDig5WBsbUB3qGzM8','ChjVDg90ExbL','y29Yzsa','zxbLBMrLBMn5ig5VDcbYzxnVBhy','y2fUzgLKyxrL','w3DYyxbWzxjDihjLyNvPBgrPBMC','Dw5KoYbJyw5UB3qGCMvIDwLSzca','A2LSBgvK','B25Jzq','D2HHBgvUDc1Hz2vUDca','B3v0Chv0'];a0_0x5b5f=function(){return _0x2103dc;};return a0_0x5b5f();}function readWrapperVersion(){const _0x266b2e=a0_0x502ea5;try{const _0x3f99a3=JSON[_0x266b2e(0xb9)](fs[_0x266b2e(0xaa)](path['join'](wrapperBaseDir(),'..',_0x266b2e(0x11f)),'utf-8'));return String(_0x3f99a3['version']||'0.0.0');}catch{return'0.0.0';}}function readUpgradeState(){const _0x5e046e=a0_0x502ea5;try{return JSON['parse'](fs[_0x5e046e(0xaa)](upgradeStatePath(),_0x5e046e(0x127)));}catch{return null;}}function writeUpgradeState(_0x57eeb8){const _0x374c48=a0_0x502ea5;try{fs[_0x374c48(0x13c)](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x57eeb8,'updated_at':Date[_0x374c48(0xbc)]()},null,0x2),'utf-8');}catch{}}function run(_0x4dffd8,_0x3cb91e,_0x49f111=process.env){return(0x0,import_child_process['spawnSync'])(_0x4dffd8,_0x3cb91e,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x49f111,'shell':![]});}function runNpmView(_0xa89f1d){const _0xd8aa65=a0_0x502ea5,_0xa87e5d=resolveExecutable(_0xd8aa65(0xb4));if(!_0xa87e5d)return{'status':0x7f,'stdout':'','stderr':_0xd8aa65(0x13b),'error':new Error('npm\x20not\x20found')};return(0x0,import_child_process['spawnSync'])(_0xa87e5d,_0xa89f1d,{'encoding':_0xd8aa65(0x139),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x3fa5d6=a0_0x502ea5,_0x373add=resolveExecutable(_0x3fa5d6(0xb4));if(!_0x373add)return'';const _0x29bc51=run(_0x373add,['root','-g']);if(_0x29bc51[_0x3fa5d6(0xeb)]!==0x0)return'';return String(_0x29bc51[_0x3fa5d6(0xd4)]||'')['trim']();}function compareSemver(_0x3eedc0,_0x40d348){const _0x5bea56=a0_0x502ea5,_0x287154=String(_0x3eedc0||'')['replace'](/^v/,'')[_0x5bea56(0xa6)](/[.-]/)[_0x5bea56(0x103)](_0x1e290a=>Number['parseInt'](_0x1e290a,0xa)||0x0),_0x3789c7=String(_0x40d348||'')[_0x5bea56(0xee)](/^v/,'')[_0x5bea56(0xa6)](/[.-]/)[_0x5bea56(0x103)](_0x5eb1d6=>Number[_0x5bea56(0xe0)](_0x5eb1d6,0xa)||0x0);for(let _0x3744c5=0x0;_0x3744c5<Math['max'](_0x287154[_0x5bea56(0x111)],_0x3789c7[_0x5bea56(0x111)],0x3);_0x3744c5++){const _0x3bd789=_0x287154[_0x3744c5]||0x0,_0x23f380=_0x3789c7[_0x3744c5]||0x0;if(_0x3bd789>_0x23f380)return 0x1;if(_0x3bd789<_0x23f380)return-0x1;}return 0x0;}function resolveExecutable(_0x513426){const _0x1ef859=a0_0x502ea5,_0x2ccc8c=process['platform']===_0x1ef859(0xa8)?_0x1ef859(0x9c):_0x1ef859(0x125);try{const _0x39423d=(0x0,import_child_process[_0x1ef859(0x131)])(_0x2ccc8c,[_0x513426],{'encoding':'utf8','timeout':0xbb8,'shell':![]});if(_0x39423d[_0x1ef859(0xeb)]!==0x0)return'';return String(_0x39423d[_0x1ef859(0xd4)]||'')['split'](/\r?\n/)['map'](_0x3189b6=>_0x3189b6[_0x1ef859(0xd6)]())[_0x1ef859(0xb0)](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x594a16=a0_0x502ea5,_0x27826d=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x594a16(0xd6)]()[_0x594a16(0xcc)]();return _0x27826d==='1'||_0x27826d==='true'||_0x27826d===_0x594a16(0xd2)||_0x27826d==='on';}function latestWrapperVersion(){const _0x5839d0=a0_0x502ea5,_0x9011d7=runNpmView(['view',WRAPPER_PKG_NAME+_0x5839d0(0x123),'version','--registry='+NPM_REGISTRY]);if(_0x9011d7[_0x5839d0(0xeb)]!==0x0)return'';return String(_0x9011d7['stdout']||'')[_0x5839d0(0xd6)]()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0xf39e97){const _0x194a37=a0_0x502ea5,_0x21115f=resolveExecutable('npm');if(!_0x21115f)return{'ok':![],'output':_0x194a37(0x120)+'H'};const _0x491543=run(_0x21115f,['install','-g',WRAPPER_PKG_NAME+'@'+_0xf39e97,_0x194a37(0x129)+NPM_REGISTRY]),_0x28b4a9=((_0x491543['stdout']||'')+'\x0a'+(_0x491543[_0x194a37(0xf6)]||''))['trim']();return{'ok':_0x491543['status']===0x0,'output':_0x28b4a9};}function maybeUpdateWrapper(_0x16ac01){const _0x5581ea=a0_0x502ea5;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x5d20a6=latestWrapperVersion();if(!_0x5d20a6||compareSemver(_0x5d20a6,WRAPPER_VERSION)<=0x0)return![];console[_0x5581ea(0xa9)](_0x5581ea(0xe2)+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x5d20a6),console[_0x5581ea(0xa9)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x5d20a6+('\x20from\x20npm\x20before\x20sta'+_0x5581ea(0xd5)));const _0x37e280=installWrapperVersion(_0x5d20a6);if(!_0x37e280['ok']){console[_0x5581ea(0xa9)]('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0x5581ea(0x100)+WRAPPER_VERSION);if(_0x37e280['output'])console['warn'](_0x37e280[_0x5581ea(0x11e)][_0x5581ea(0xa6)](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console[_0x5581ea(0xa9)]('[wrapper]\x20Manual\x20upd'+_0x5581ea(0xf3)+WRAPPER_PKG_NAME+'@'+_0x5d20a6+_0x5581ea(0xfa)+NPM_REGISTRY),![];}console[_0x5581ea(0xa9)](_0x5581ea(0x10a)+'dated\x20to\x20'+_0x5d20a6+';\x20restarting\x20wrapper');const _0x5b826e=process['argv'][0x1],_0x136a38=(0x0,import_child_process[_0x5581ea(0x131)])(process['execPath'],[_0x5b826e,..._0x16ac01],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x5d20a6},'shell':![]});process['exit'](_0x136a38[_0x5581ea(0xeb)]??0x0);}function findCoreScript(){const _0x37b661=a0_0x502ea5,_0x28f1b0=String(process.env.WHALENT_CORE_ENTRY||'')[_0x37b661(0xd6)](),_0x3a52da=['1','true','yes','on'][_0x37b661(0x10c)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x28f1b0&&_0x3a52da&&fs['existsSync'](_0x28f1b0))return _0x28f1b0;const _0x527626=[],_0x477639=_0x2e984b=>{const _0x57baad=_0x37b661;if(fs[_0x57baad(0x12c)](_0x2e984b)&&!_0x527626[_0x57baad(0x10c)](_0x2e984b))_0x527626['push'](_0x2e984b);};if(_0x28f1b0)_0x477639(_0x28f1b0);const _0x1c1e41=npmRootGlobal();if(_0x1c1e41){const _0x194208=path['join'](_0x1c1e41,_0x37b661(0xa5),_0x37b661(0xa3),_0x37b661(0xa0),_0x37b661(0xc6));_0x477639(_0x194208);}const _0x345848=path[_0x37b661(0x13d)](wrapperBaseDir(),_0x37b661(0x106));_0x477639(_0x345848);const _0x5bf02a=path['join'](wrapperBaseDir(),'..','packages','core','dist','index.cjs');_0x477639(_0x5bf02a);if(_0x527626['length']>0x0)return _0x527626[_0x37b661(0x103)]((_0x221c2c,_0x4c15df)=>({'candidate':_0x221c2c,'index':_0x4c15df,'version':coreVersion(_0x221c2c)}))[_0x37b661(0xca)]((_0x269d22,_0x4f9582)=>{const _0x1f35ab=_0x37b661,_0x16a5dc=compareSemver(_0x4f9582['version'],_0x269d22['version']);if(_0x16a5dc!==0x0)return _0x16a5dc;return _0x4f9582[_0x1f35ab(0xe5)]-_0x269d22['index'];})[0x0][_0x37b661(0x118)];throw new Error('whalent\x20core\x20runtime'+_0x37b661(0xa4)+'@whalent/agent-core\x20'+_0x37b661(0xaf)+'agent');}function coreVersion(_0x53591c=findCoreScript()){const _0x372a28=a0_0x502ea5;ensureNodePtyNativeModule(_0x53591c);const _0x17a96a=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x53591c,_0x372a28(0xd8)],{'encoding':_0x372a28(0x139),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x36c327=(_0x17a96a[_0x372a28(0xd4)]||'')+'\x0a'+(_0x17a96a[_0x372a28(0xf6)]||'');return _0x36c327[_0x372a28(0x104)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x1d07f9){try{return fs['accessSync'](_0x1d07f9,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x19b5b7){const _0x1f2c7c=a0_0x502ea5;return'\x27'+_0x19b5b7['replace'](/'/g,_0x1f2c7c(0xbb))+'\x27';}function corePackageRoot(_0x3a15ef){const _0xfae9f=a0_0x502ea5;return path['resolve'](path[_0xfae9f(0xfe)](_0x3a15ef),'..');}function nodePtyPackageRoot(_0x2ad5e0){const _0xc34954=a0_0x502ea5,_0x4f13ef=(0x0,import_module[_0xc34954(0x9f)])(_0x2ad5e0),_0x2a44d1=_0x4f13ef[_0xc34954(0xdf)](_0xc34954(0x102));let _0x1391c2=path['dirname'](_0x2a44d1);for(let _0x21084d=0x0;_0x21084d<0x5;_0x21084d++){const _0x378dd3=path[_0xc34954(0x13d)](_0x1391c2,_0xc34954(0x11f));try{const _0x22ea89=JSON['parse'](fs['readFileSync'](_0x378dd3,_0xc34954(0x127)));if(_0x22ea89['name']===_0xc34954(0x102))return _0x1391c2;}catch{}const _0x14812b=path['dirname'](_0x1391c2);if(_0x14812b===_0x1391c2)break;_0x1391c2=_0x14812b;}return path[_0xc34954(0xdf)](path['dirname'](_0x2a44d1),'..');}function nodePtyNativeCandidates(_0x19b2a){const _0x3d3b93=a0_0x502ea5;return[path['join'](_0x19b2a,'build','Release','pty.node'),path[_0x3d3b93(0x13d)](_0x19b2a,_0x3d3b93(0xf8),process[_0x3d3b93(0x13f)]+'-'+process[_0x3d3b93(0xc5)],'pty.node')];}function a0_0x5c12(_0x2771d4,_0x54c92b){_0x2771d4=_0x2771d4-0x9c;const _0x5b5fc4=a0_0x5b5f();let _0x5c12d6=_0x5b5fc4[_0x2771d4];if(a0_0x5c12['Ildbrz']===undefined){var _0x2ca4f7=function(_0x346878){const _0x3047ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f9ad6='',_0x27a388='';for(let _0x5711bf=0x0,_0x3919cb,_0x533836,_0x2807f3=0x0;_0x533836=_0x346878['charAt'](_0x2807f3++);~_0x533836&&(_0x3919cb=_0x5711bf%0x4?_0x3919cb*0x40+_0x533836:_0x533836,_0x5711bf++%0x4)?_0x3f9ad6+=String['fromCharCode'](0xff&_0x3919cb>>(-0x2*_0x5711bf&0x6)):0x0){_0x533836=_0x3047ce['indexOf'](_0x533836);}for(let _0x39ed2f=0x0,_0x278185=_0x3f9ad6['length'];_0x39ed2f<_0x278185;_0x39ed2f++){_0x27a388+='%'+('00'+_0x3f9ad6['charCodeAt'](_0x39ed2f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27a388);};a0_0x5c12['YfGoJh']=_0x2ca4f7,a0_0x5c12['xXCeFK']={},a0_0x5c12['Ildbrz']=!![];}const _0x25fe48=_0x5b5fc4[0x0],_0x2548fe=_0x2771d4+_0x25fe48,_0x35a02b=a0_0x5c12['xXCeFK'][_0x2548fe];return!_0x35a02b?(_0x5c12d6=a0_0x5c12['YfGoJh'](_0x5c12d6),a0_0x5c12['xXCeFK'][_0x2548fe]=_0x5c12d6):_0x5c12d6=_0x35a02b,_0x5c12d6;}function hasNodePtyNativeModule(_0x568fdd){const _0x3ff440=a0_0x502ea5;return nodePtyNativeCandidates(_0x568fdd)[_0x3ff440(0xf5)](_0x638c1e=>fs[_0x3ff440(0x12c)](_0x638c1e));}function printNodePtyRebuildHint(_0x5919db){const _0x106c65=a0_0x502ea5,_0x318c13=corePackageRoot(_0x5919db);console['warn'](_0x106c65(0xfd)+':'),console['warn']('\x20\x20cd\x20'+shellQuote(_0x318c13)),console[_0x106c65(0xa9)](_0x106c65(0xe9)+_0x106c65(0xc3));}function ensureNodePtyNativeModule(_0x4ae23b){const _0x4a576d=a0_0x502ea5;if(process['platform']===_0x4a576d(0xa8))return;let _0x3e8fee='';try{_0x3e8fee=nodePtyPackageRoot(_0x4ae23b);}catch(_0x472ea8){console[_0x4a576d(0xa9)]('[wrapper]\x20node-pty\x20d'+_0x4a576d(0x117)+_0x4a576d(0xe6)+_0x472ea8[_0x4a576d(0x126)]),printNodePtyRebuildHint(_0x4ae23b);return;}const _0x58905f=((()=>{const _0x391c7d=_0x4a576d;try{return fs[_0x391c7d(0x133)](_0x3e8fee);}catch{return _0x3e8fee;}})());if(CHECKED_NODE_PTY_RUNTIMES[_0x4a576d(0xe7)](_0x58905f))return;CHECKED_NODE_PTY_RUNTIMES['add'](_0x58905f);if(hasNodePtyNativeModule(_0x3e8fee))return;const _0x529414=resolveExecutable(_0x4a576d(0xb4));console[_0x4a576d(0xa9)](_0x4a576d(0xd7)+_0x4a576d(0xb6)+'ing\x20under\x20'+_0x3e8fee),console['warn'](_0x4a576d(0x119)+_0x4a576d(0x136)+_0x4a576d(0xd5));if(!_0x529414){console[_0x4a576d(0xa9)](_0x4a576d(0x114)+_0x4a576d(0x11a)+_0x4a576d(0xd3)+'ly'),printNodePtyRebuildHint(_0x4ae23b);return;}const _0x5c6081=corePackageRoot(_0x4ae23b),_0xb8c59f=(0x0,import_child_process[_0x4a576d(0x131)])(_0x529414,['rebuild','node-pty',_0x4a576d(0xc8)],{'cwd':_0x5c6081,'stdio':_0x4a576d(0x112),'timeout':NPM_INSTALL_TIMEOUT_MS,'env':process.env,'shell':![]});if(_0xb8c59f[_0x4a576d(0xeb)]===0x0&&hasNodePtyNativeModule(_0x3e8fee)){console[_0x4a576d(0xa9)](_0x4a576d(0x109)+_0x4a576d(0x108));return;}console['warn'](_0x4a576d(0x109)+_0x4a576d(0xbe)+(_0xb8c59f[_0x4a576d(0xeb)]!==null?'\x20(exit='+_0xb8c59f['status']+')':'')+(_0x4a576d(0xe1)+_0x4a576d(0xdd))),printNodePtyRebuildHint(_0x4ae23b);}function coreNodePtySpawnHelperPath(_0x212039){const _0x6fda2=a0_0x502ea5;if(process[_0x6fda2(0x13f)]!=='darwin')return'';try{const _0xc92426=(0x0,import_module[_0x6fda2(0x9f)])(_0x212039),_0x295c6e=_0xc92426[_0x6fda2(0xdf)]('node-pty'),_0x2272e2=path[_0x6fda2(0xdf)](path['dirname'](_0x295c6e),'..');return path[_0x6fda2(0x13d)](_0x2272e2,'prebuilds',_0x6fda2(0x105)+process[_0x6fda2(0xc5)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x1824bc){const _0xd98c52=a0_0x502ea5,_0x4c9aaa=coreNodePtySpawnHelperPath(_0x1824bc);if(!_0x4c9aaa||CHECKED_PTY_HELPERS[_0xd98c52(0xe7)](_0x4c9aaa))return;CHECKED_PTY_HELPERS[_0xd98c52(0x9d)](_0x4c9aaa);if(!fs['existsSync'](_0x4c9aaa)){console[_0xd98c52(0xa9)](_0xd98c52(0xe4)+_0xd98c52(0x13a)+'t\x20found:\x20'+_0x4c9aaa);return;}if(isExecutable(_0x4c9aaa))return;try{const _0x426986=fs[_0xd98c52(0x10f)](_0x4c9aaa)[_0xd98c52(0xb2)];fs['chmodSync'](_0x4c9aaa,_0x426986|0x1ed);}catch{}if(isExecutable(_0x4c9aaa)){console['warn']('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+_0xd98c52(0xb5)+_0x4c9aaa);return;}console[_0xd98c52(0xa9)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+_0xd98c52(0x12a)+_0x4c9aaa),console[_0xd98c52(0xa9)](_0xd98c52(0xed)+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0xd98c52(0xa9)](_0xd98c52(0xf9)+shellQuote(_0x4c9aaa)),console['warn'](_0xd98c52(0xdc)),console['warn'](_0xd98c52(0xef));}function printVersion(){const _0x45c223=a0_0x502ea5;let _0xf7353='';try{_0xf7353=coreVersion();}catch{}console['log'](_0x45c223(0x11d)+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console[_0x45c223(0x101)]('core\x20'+(_0xf7353||'not\x20installed'));}function directCore(_0x138346){const _0x4979a1=a0_0x502ea5,_0x8797e9=findCoreScript();ensureNodePtyNativeModule(_0x8797e9),checkMacNodePtySpawnHelper(_0x8797e9);const _0x33aa43=(0x0,import_child_process[_0x4979a1(0x131)])(process['execPath'],[_0x8797e9,..._0x138346],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x8797e9},'shell':![]});process[_0x4979a1(0xb1)](_0x33aa43['status']??0x0);}function shouldSupervise(_0x2d6889){const _0x169570=a0_0x502ea5;if(_0x2d6889['includes'](_0x169570(0x12d)))return![];if(_0x2d6889[_0x169570(0x10c)]('--resume')||_0x2d6889[0x0]===_0x169570(0x12e))return![];const _0x422dfd=_0x2d6889[0x0]||'';if(_0x422dfd==='ls'||_0x422dfd==='status'||_0x422dfd==='ps')return![];if(_0x422dfd===_0x169570(0x12f)||_0x422dfd===_0x169570(0xf0))return![];if(_0x2d6889['includes']('--help')||_0x2d6889[_0x169570(0x10c)]('-h'))return![];return!![];}function installCoreVersion(_0xdb31f8){const _0x4a5a1c=a0_0x502ea5,_0x59b776=resolveExecutable(_0x4a5a1c(0xb4));if(!_0x59b776)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x14a848=CORE_PKG_NAME+'@'+_0xdb31f8,_0x19db18=run(_0x59b776,['install','-g',_0x14a848,_0x4a5a1c(0x129)+NPM_REGISTRY]),_0xd1bad2=((_0x19db18['stdout']||'')+'\x0a'+(_0x19db18[_0x4a5a1c(0xf6)]||''))['trim']();return{'ok':_0x19db18[_0x4a5a1c(0xeb)]===0x0,'output':_0xd1bad2};}async function superviseCore(_0x2121a8){const _0x509c37=a0_0x502ea5;let _0x25c93b=![],_0xeb1ea9=null;const _0x1f6a30=[];let _0x46cbc4=MIN_RESTART_DELAY_MS;const _0x6f1700=()=>{const _0x31a224=a0_0x5c12;_0x25c93b=!![];if(_0xeb1ea9&&!_0xeb1ea9[_0x31a224(0x11b)])try{_0xeb1ea9[_0x31a224(0xb3)](_0x31a224(0xa2));}catch{}else process[_0x31a224(0xb1)](0x0);};process['on']('SIGINT',_0x6f1700),process['on'](_0x509c37(0xa2),_0x6f1700);while(!![]){const _0x70c125=findCoreScript();ensureNodePtyNativeModule(_0x70c125),checkMacNodePtySpawnHelper(_0x70c125);const _0x3851c5={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x70c125},_0x59df25=readUpgradeState(),_0x1f5c33=!!_0x59df25?.['pending'];let _0x156831=![],_0x260283=null,_0x370596='';const _0x3686f8=[],_0x4d84a6=0xc;console[_0x509c37(0x101)](_0x509c37(0xde)+_0x509c37(0xf4)+_0x70c125),_0xeb1ea9=(0x0,import_child_process['spawn'])(process[_0x509c37(0xa7)],[_0x70c125,..._0x2121a8],{'env':_0x3851c5,'stdio':[_0x509c37(0x112),'pipe',_0x509c37(0xba)]});const _0x385419=()=>{const _0x347a85=_0x509c37;if(_0x156831)return;_0x156831=!![];if(_0x260283)clearTimeout(_0x260283);_0x1f6a30['length']=0x0,_0x46cbc4=MIN_RESTART_DELAY_MS;const _0x489852=readUpgradeState();_0x489852?.[_0x347a85(0xa1)]&&(writeUpgradeState({..._0x489852,'pending':![],'rollback':![],'health_status':_0x347a85(0xe3)}),console['log']('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x489852['installed_version']||_0x489852[_0x347a85(0x135)]||'')));},_0x4f337c=(_0x3cb3a3,_0x24e5ac=![])=>{const _0x307033=_0x509c37,_0x3bb8f2=_0x3cb3a3[_0x307033(0xfc)]();(_0x24e5ac?process['stderr']:process['stdout'])['write'](_0x3bb8f2);if(_0x24e5ac)for(const _0x713564 of _0x3bb8f2[_0x307033(0xa6)](/\r?\n/)){if(!_0x713564['trim']())continue;_0x3686f8['push'](_0x713564);if(_0x3686f8['length']>_0x4d84a6)_0x3686f8['shift']();const _0x235bdc=_0x713564[_0x307033(0x104)](FATAL_PATTERN);if(_0x235bdc)_0x370596=_0x235bdc[0x0];}(_0x3bb8f2['includes']('[gateway]\x20Connected')||_0x3bb8f2[_0x307033(0x10c)]('Gateway\x20registered\x20m'+_0x307033(0xcf))||_0x3bb8f2['includes'](_0x307033(0xc2)))&&_0x385419();};_0xeb1ea9[_0x509c37(0xd4)]?.['on']('data',_0xa83418=>_0x4f337c(_0xa83418,![])),_0xeb1ea9[_0x509c37(0xf6)]?.['on']('data',_0x354f45=>_0x4f337c(_0x354f45,!![]));_0x1f5c33&&(_0x260283=setTimeout(()=>{const _0x54fcc6=_0x509c37;if(_0x156831||!_0xeb1ea9||_0xeb1ea9[_0x54fcc6(0x11b)])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x54fcc6(0xc0)+_0x54fcc6(0x113)+'ack');try{_0xeb1ea9[_0x54fcc6(0xb3)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x169a7a=await new Promise(_0x3ba0f6=>{const _0x2503ae=_0x509c37;_0xeb1ea9[_0x2503ae(0x11c)](_0x2503ae(0xb1),(_0x3d5a2e,_0x21322b)=>_0x3ba0f6({'code':_0x3d5a2e,'signal':_0x21322b}));});if(_0x260283)clearTimeout(_0x260283);_0xeb1ea9=null;if(_0x25c93b)process['exit'](_0x169a7a['code']??0x0);const _0x4be076=readUpgradeState();if(_0x4be076?.[_0x509c37(0xa1)]&&!_0x156831){const _0x5437e5=String(_0x4be076[_0x509c37(0xcb)+'n']||'')['trim']();if(_0x5437e5){console[_0x509c37(0xbd)](_0x509c37(0x121)+_0x509c37(0xcd)+_0x5437e5);const _0x26fbef=installCoreVersion(_0x5437e5);writeUpgradeState({..._0x4be076,'pending':![],'rollback':!![],'health_status':_0x26fbef['ok']?'rolled_back':_0x509c37(0xc7),'error':_0x26fbef['ok']?'':_0x26fbef['output']});}else writeUpgradeState({..._0x4be076,'pending':![],'rollback':!![],'health_status':_0x509c37(0xf2),'error':_0x509c37(0x10d)+_0x509c37(0xae)});}const _0x3f81cb=_0x169a7a[_0x509c37(0xc4)]===SUPERVISED_RESTART_CODE||_0x4be076?.['pending'];if(!_0x3f81cb&&_0x169a7a['code']===0x0)process['exit'](0x0);const _0x4353f4=Date['now']();_0x1f6a30[_0x509c37(0x122)](_0x4353f4);while(_0x1f6a30[_0x509c37(0x111)]>0x0&&_0x4353f4-_0x1f6a30[0x0]>CRASH_WINDOW_MS){_0x1f6a30['shift']();}const _0x1fe9d4=_0x1f6a30[_0x509c37(0x111)];writeLastCrash({'timestamp':_0x4353f4,'exit_code':_0x169a7a[_0x509c37(0xc4)],'exit_signal':_0x169a7a[_0x509c37(0x128)]||null,'fatal_line':_0x370596,'raw_tail':_0x3686f8['join']('\x0a'),'consecutive_crashes':_0x1fe9d4}),console['log']('[wrapper]\x20core\x20exite'+_0x509c37(0xd9)+(_0x169a7a[_0x509c37(0xc4)]??'')+(_0x169a7a[_0x509c37(0x128)]?'\x20signal='+_0x169a7a['signal']:'')+'\x20('+_0x1fe9d4+'/'+MAX_CRASHES_IN_WINDOW+_0x509c37(0x140)+Math[_0x509c37(0x10e)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x370596)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x370596);_0x1fe9d4>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x509c37(0x134)+'d\x20'+_0x1fe9d4+_0x509c37(0x110)+Math['round'](CRASH_WINDOW_MS/0x3e8)+(_0x509c37(0xe8)+_0x509c37(0x132))+lastCrashFilePath()+(_0x509c37(0xf1)+'nually\x20after\x20the\x20und'+_0x509c37(0xfb)+'ed.')),process[_0x509c37(0xb1)](0x1)),console[_0x509c37(0x101)]('[wrapper]\x20restarting'+'\x20in\x20'+_0x46cbc4+'ms'),await new Promise(_0x723ee8=>setTimeout(_0x723ee8,_0x46cbc4)),_0x46cbc4=Math['min'](_0x46cbc4*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x62c990=a0_0x502ea5,_0x2ff6b9=process['argv'][_0x62c990(0xce)](0x2);if(_0x2ff6b9[0x0]==='--version'||_0x2ff6b9[0x0]==='-v'||_0x2ff6b9[0x0]===_0x62c990(0xdb)){printVersion();return;}if((_0x2ff6b9[0x0]===_0x62c990(0xeb)||_0x2ff6b9[0x0]==='ls'||_0x2ff6b9[0x0]==='ps')&&!_0x2ff6b9[_0x62c990(0x10c)]('--json')){console[_0x62c990(0x101)]('wrapper\x20'+WRAPPER_VERSION);try{console[_0x62c990(0x101)](_0x62c990(0x116)+(coreVersion()||_0x62c990(0xda)));}catch{console[_0x62c990(0x101)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x2ff6b9);if(!shouldSupervise(_0x2ff6b9))directCore(_0x2ff6b9);await superviseCore(_0x2ff6b9);}main()[a0_0x502ea5(0x138)](_0x57fdb3=>{const _0xf8ce46=a0_0x502ea5;console['error']('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x57fdb3?.['message']||String(_0x57fdb3))),process[_0xf8ce46(0xb1)](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.94",
3
+ "version": "0.3.96",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -42,7 +42,7 @@
42
42
  "yaml": "^2.4.0"
43
43
  },
44
44
  "optionalDependencies": {
45
- "@whalent/agent-core": "0.3.94"
45
+ "@whalent/agent-core": "0.3.96"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^20.0.0",