@whalent/agent 0.3.100 → 0.3.102

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