@whalent/agent 0.3.112 → 0.3.113

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_0x5037bd=a0_0x12d6;(function(_0x23d946,_0x35cd17){const _0x592800=a0_0x12d6,_0x4f5b38=_0x23d946();while(!![]){try{const _0x37abde=-parseInt(_0x592800(0x18f))/0x1+parseInt(_0x592800(0x1e0))/0x2+-parseInt(_0x592800(0x15c))/0x3+parseInt(_0x592800(0x15f))/0x4*(-parseInt(_0x592800(0x171))/0x5)+-parseInt(_0x592800(0x175))/0x6*(-parseInt(_0x592800(0x1a4))/0x7)+-parseInt(_0x592800(0x195))/0x8*(parseInt(_0x592800(0x19d))/0x9)+parseInt(_0x592800(0x1d1))/0xa;if(_0x37abde===_0x35cd17)break;else _0x4f5b38['push'](_0x4f5b38['shift']());}catch(_0x2c0c04){_0x4f5b38['push'](_0x4f5b38['shift']());}}}(a0_0x32ae,0xa9162));var __create=Object['create'],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+a0_0x5037bd(0x1ac)],__getOwnPropNames=Object[a0_0x5037bd(0x16c)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype'][a0_0x5037bd(0x1cd)],__copyProps=(_0x195f8a,_0x4100d2,_0x3e552c,_0x91d6c7)=>{const _0x3ace8b=a0_0x5037bd;if(_0x4100d2&&typeof _0x4100d2==='object'||typeof _0x4100d2==='function'){for(let _0x58c171 of __getOwnPropNames(_0x4100d2))if(!__hasOwnProp[_0x3ace8b(0x1d5)](_0x195f8a,_0x58c171)&&_0x58c171!==_0x3e552c)__defProp(_0x195f8a,_0x58c171,{'get':()=>_0x4100d2[_0x58c171],'enumerable':!(_0x91d6c7=__getOwnPropDesc(_0x4100d2,_0x58c171))||_0x91d6c7[_0x3ace8b(0x1c5)]});}return _0x195f8a;},__toESM=(_0x330a0f,_0x34767e,_0x407d0b)=>(_0x407d0b=_0x330a0f!=null?__create(__getProtoOf(_0x330a0f)):{},__copyProps(_0x34767e||!_0x330a0f||!_0x330a0f[a0_0x5037bd(0x182)]?__defProp(_0x407d0b,'default',{'value':_0x330a0f,'enumerable':!![]}):_0x407d0b,_0x330a0f)),import_child_process2=require(a0_0x5037bd(0x1d3)),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x5037bd(0x1bf)),0x1),import_child_process=require(a0_0x5037bd(0x1d3)),import_fs=require('fs'),import_path=require('path'),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x5037bd(0x1af),CHINA_NPM_REGISTRY=a0_0x5037bd(0x178)+'mirror.com';function preferredNpmRegistry(){const _0x247dc8=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x247dc8)return _0x247dc8;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x291453=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x291453)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x19535f,_0x40ca2d=preferredNpmRegistry()){const _0x3b82b1=a0_0x5037bd;return _0x3b82b1(0x1b6)+_0x19535f+'\x20'+npmRegistryArg(_0x40ca2d);}function isChineseLocale(){const _0x327e32=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x327e32))return!![];try{const _0x3d8408=Intl['DateTimeFormat']()['resolvedOptions']()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x3d8408);}catch{return![];}}function normalizeRegistry(_0x2e2a56){const _0x414926=a0_0x5037bd;return String(_0x2e2a56||'')[_0x414926(0x14d)]()['replace'](/\/+$/,'');}var INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x5037bd(0x17a),'claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x5037bd(0x18b))+a0_0x5037bd(0x14f)};function isWindowsCmdFile(_0x36895f){const _0x405402=a0_0x5037bd;return process['platform']==='win32'&&/\.(cmd|bat)$/i[_0x405402(0x191)](_0x36895f||'');}function quoteCmdArg(_0x4f6eee){const _0x1850ee=a0_0x5037bd,_0x740797=String(_0x4f6eee??'');if(_0x740797&&!/[\s"&|<>^%]/['test'](_0x740797))return _0x740797;return'\x22'+_0x740797[_0x1850ee(0x158)](/(["^&|<>%])/g,_0x1850ee(0x1c3))+'\x22';}function cmdFallbackArgs(_0x46226a,_0x19af2d){const _0x5e2e31=a0_0x5037bd;return['/d','/s','/c',[quoteCmdArg(_0x46226a),..._0x19af2d[_0x5e2e31(0x1da)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x55fe12){const _0x1c95f5=a0_0x5037bd;if(!_0x55fe12)return null;if(_0x55fe12[_0x1c95f5(0x19e)]('/')||_0x55fe12['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x1c95f5(0x191)](_0x55fe12))return(0x0,import_fs['existsSync'])(_0x55fe12)?_0x55fe12:_0x55fe12;const _0x32a319=process[_0x1c95f5(0x1d2)]==='win32',_0x29bbdd=_0x32a319?'where.exe':_0x1c95f5(0x181);try{const _0x2b50f3=(0x0,import_child_process[_0x1c95f5(0x19f)])(_0x29bbdd,[_0x55fe12],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x2b50f3[_0x1c95f5(0x167)]===0x0){const _0x842774=(_0x2b50f3[_0x1c95f5(0x1bd)]||'')[_0x1c95f5(0x14d)]()[_0x1c95f5(0x16e)](/\r?\n/)['filter'](Boolean);if(_0x842774['length']===0x0)return null;if(_0x32a319)for(const _0x543987 of['.exe',_0x1c95f5(0x1bc),'.bat',_0x1c95f5(0x187)]){const _0x3e9ac6=_0x842774[_0x1c95f5(0x147)](_0x53a02c=>_0x53a02c[_0x1c95f5(0x1a1)]()[_0x1c95f5(0x1b5)](_0x543987));if(_0x3e9ac6)return _0x3e9ac6;}return _0x842774[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x4def3f){const _0x27e2af=a0_0x5037bd;if(process[_0x27e2af(0x1d2)]!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x4def3f))return null;let _0x85b9f1;try{_0x85b9f1=(0x0,import_fs['readFileSync'])(_0x4def3f,'utf-8');}catch{return null;}const _0x5a78c1=_0x85b9f1['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x5a78c1){const _0x3c74cf=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x4def3f),_0x5a78c1[0x2]);if((0x0,import_fs[_0x27e2af(0x17e)])(_0x3c74cf))return{'type':_0x27e2af(0x18c),'path':_0x3c74cf};}const _0x118ff2=_0x85b9f1['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x118ff2){const _0x3c2682=(0x0,import_path[_0x27e2af(0x1be)])((0x0,import_path[_0x27e2af(0x1b7)])(_0x4def3f),_0x118ff2[0x2]);if((0x0,import_fs['existsSync'])(_0x3c2682))return{'type':'exe','path':_0x3c2682};}return null;}function safeSpawnSync(_0xd19ddb,_0x2a8875,_0xdf7df8={}){const _0x3fad58=a0_0x5037bd,_0x4e31b4=unwrapWindowsCmdShim(_0xd19ddb);if(_0x4e31b4?.[_0x3fad58(0x1b1)]===_0x3fad58(0x18c))return(0x0,import_child_process[_0x3fad58(0x19f)])(process['execPath'],[_0x4e31b4['path'],..._0x2a8875],_0xdf7df8);if(_0x4e31b4?.['type']===_0x3fad58(0x185))return(0x0,import_child_process[_0x3fad58(0x19f)])(_0x4e31b4[_0x3fad58(0x1bf)],_0x2a8875,_0xdf7df8);if(isWindowsCmdFile(_0xd19ddb))return(0x0,import_child_process['spawnSync'])(process.env.ComSpec||_0x3fad58(0x198),cmdFallbackArgs(_0xd19ddb,_0x2a8875),_0xdf7df8);return(0x0,import_child_process['spawnSync'])(_0xd19ddb,_0x2a8875,_0xdf7df8);}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x5037bd(0x177),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 _0x41df0b=a0_0x5037bd;return path['join'](os['homedir'](),_0x41df0b(0x160));}function upgradeStatePath(){const _0x285e8a=a0_0x5037bd;return path[_0x285e8a(0x168)](configDir(),_0x285e8a(0x174));}function lastCrashFilePath(){const _0x2aeeb6=a0_0x5037bd;return path[_0x2aeeb6(0x168)](configDir(),_0x2aeeb6(0x196));}function writeLastCrash(_0x12dc80){const _0x1402ec=a0_0x5037bd;try{fs[_0x1402ec(0x1c2)](configDir(),{'recursive':!![]});const _0x487250={..._0x12dc80,'reported':![]};fs[_0x1402ec(0x148)](lastCrashFilePath(),JSON[_0x1402ec(0x1a5)](_0x487250,null,0x2),_0x1402ec(0x1c6));}catch{}}function readWrapperVersion(){const _0x1b8617=a0_0x5037bd;try{const _0x26d83d=JSON[_0x1b8617(0x157)](fs['readFileSync'](path['join'](wrapperBaseDir(),'..',_0x1b8617(0x194)),_0x1b8617(0x1c6)));return String(_0x26d83d['version']||_0x1b8617(0x1ca));}catch{return'0.0.0';}}function a0_0x32ae(){const _0x562980=['BNbTig5VDcbMB3vUzcbVBIbqqvq','CgfJA2fNzs5QC29U','mJy0DgHtsM1J','BgfZDc1JCMfZAc5QC29U','C2LNBMfS','y21KlMv4zq','w3DYyxbWzxjDig1Hy09tig5Vzgu','ig5VDcbLEgvJDxrHyMXLoIa','CM9VDa','AwqGBM90igjLy29TzsbOzwfSDgG','mtuWntC5A292uwzU','Aw5JBhvKzxm','C3bHD25tEw5J','icbSCYaTBcaIjeHftfbfuIi','Dg9mB3DLCKnHC2u','Dg9tDhjPBMC','A2LSBgvK','mJuZndqYEg9TALnz','C3rYAw5NAwz5','ihnPz25HBd0','D3jPDgu','w3DYyxbWzxjDihvWzgf0zsbHDMe','wf9psW','DxrMoa','BwnW','ChrVCG','ls1Hz2vUDc1Pza','ChjLyNvPBgrZ','ANmUB3jN','CgfYC2vjBNq','DhLWzq','y29Yzsa','ls1OzwXW','Bwf0y2G','zw5KC1DPDgG','BNbTigLUC3rHBgWGlwCG','zgLYBMfTzq','y29YzsbUB3qGAw5ZDgfSBgvK','DMvYC2LVBG','CgvUzgLUzW','igLUia','lMnTza','C3rKB3v0','CMvZB2X2zq','Cgf0Aa','D2fYBG','C2XPy2u','BwTKAxjtEw5J','xIqX','CM9SBgjHy2TFzMfPBgvK','zw51BwvYywjSzq','DxrMltG','B3jLoIa','w3DYyxbWzxjDihjLC3rHCNrPBMC','BNbT','mc4WlJa','BgvUz3rO','CM9SBgjHy2TFDw5HDMfPBgfIBgu','AgfZt3DUuhjVCgvYDhK','CM9SBgvKx2jHy2S','w3DYyxbWzxjDihDYyxbWzxiGDxa','BNbTig5VDcbMB3vUza','mJq5mJy1mtbNzwjftLO','CgXHDgzVCM0','y2HPBgrFChjVy2vZCW','Bw9Kzq','y2fSBa','CgvYigv4zwn1DgfIBguGyML0oIa','Bg9N','y29UC3rHBNrZ','yxjNDG','BwfW','BNvHBgX5igfMDgvYihrOzsb1BMq','B3iGCMvIDwLSzcbaD2HHBgvUDc8','y29Kzq','y29Yzq','igjLzM9YzsbZDgfYDgLUzYbJB3i','mta3mZq1ofnmug1mzW','igzYB20G','zgfYD2LU','ChvZAa','u0Lhsu5u','zMLUza','D3jPDgvgAwXLu3LUyW','lxb0EsbZCgf3BI1OzwXWzxiGBM8','w3DYyxbWzxjDignVCMuGzMfPBgu','CgLWzq','zxjYB3i','DhjPBq','CMvHzezPBgvtEw5J','ic0TChjLzMvYlw9UBgLUzq','r2f0zxDHEsbYzwDPC3rLCMvKig0','EwvZ','CMvJB3jKoIa','icbJAg1VzcaREcaIjeHftfbfuIi','C2HPzNq','lxb0EsbZCgf3BI1OzwXWzxiGAxm','Aw5OzxjPDa','CgfYC2u','CMvWBgfJzq','BM9Kzs1WDhK','u0Lhvevstq','zxHPDa','mJGZnJG0mLz2z29VCq','Aw5KzxGUy2PZ','AgfZ','mtyWmtq4B2vzsKTn','lNDOywXLBNqTywDLBNq','zwqU','w3DYyxbWzxjDifj1BIb0AgLZig8','C3rKzxjY','Aw5KzxG','Dhj1zq','w3DYyxbWzxjDie1HBNvHBcb1Cgq','C3rHDhvZ','AM9PBG','zgf0zwqGDg8G','y29Yzs5JANm','ic0+ia','z2v0t3DUuhjVCgvYDhLoyw1LCW','AgvHBhrOEq','C3bSAxq','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','zxHLy1bHDgG','mtmWrNrktLjw','BM93','CMvZDw1L','y29Yzs11CgDYywrLlMPZB24','nZHzsvjxwwC','A2LSBa','qhDOywXLBNqVywDLBNqTy29Yzq','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','D3jHChbLCIa','ywKVy29KzxG','zgLZDa','zxjSEwLUzYbPC3n1zsbPCYbMAxG','w3DYyxbWzxjDihn0yxj0Aw5Nigm','zxHPC3rZu3LUyW','w3DYyxbWzxjDigLUC3rHBgXPBMC','DgfYz2v0x3zLCNnPB24','D2HPy2G','x19LC01VzhvSzq','ywnOAw5L','qhDOywXLBNqVywDLBNqTy29Yzsa','zxHL','ChjLDMLVDxnFy29Yzv92zxjZAw8','lNbZmq','oYbYzxn0yxj0Aw5NihDYyxbWzxi','C29YDa','y3jLyxrLuMvXDwLYzq','qhDOywXLBNqVywDLBNq','BM9Kzq','zMLSDgvY','BMnLihrVigzPEcb0zxjTAw5HBc8','mJy4nZGXvNfsBNPc','w3DYyxbWzxjDihjVBgXPBMCGyMe','DgvZDa','qhDOywXLBNq'];a0_0x32ae=function(){return _0x562980;};return a0_0x32ae();}function readUpgradeState(){const _0x2274c4=a0_0x5037bd;try{return JSON[_0x2274c4(0x157)](fs[_0x2274c4(0x14e)](upgradeStatePath(),_0x2274c4(0x1c6)));}catch{return null;}}function writeUpgradeState(_0x3706b5){const _0x4e7123=a0_0x5037bd;try{fs[_0x4e7123(0x1c2)](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x3706b5,'updated_at':Date[_0x4e7123(0x172)]()},null,0x2),'utf-8');}catch{}}function run(_0x242bb7,_0x577e11,_0xa21513=process.env){return safeSpawnSync(_0x242bb7,_0x577e11,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0xa21513,'shell':![]});}function runNpmView(_0x314675){const _0x3b98ab=a0_0x5037bd,_0x1b641c=resolveExecutablePath('npm');if(!_0x1b641c)return{'status':0x7f,'stdout':'','stderr':_0x3b98ab(0x1d0),'error':new Error(_0x3b98ab(0x1d0))};return safeSpawnSync(_0x1b641c,_0x314675,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function a0_0x12d6(_0x3ebaae,_0x88b318){_0x3ebaae=_0x3ebaae-0x144;const _0x32aef3=a0_0x32ae();let _0x12d656=_0x32aef3[_0x3ebaae];if(a0_0x12d6['OlLzRv']===undefined){var _0x27b11a=function(_0x4c2c72){const _0x455dce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x195f8a='',_0x4100d2='';for(let _0x3e552c=0x0,_0x91d6c7,_0x58c171,_0x330a0f=0x0;_0x58c171=_0x4c2c72['charAt'](_0x330a0f++);~_0x58c171&&(_0x91d6c7=_0x3e552c%0x4?_0x91d6c7*0x40+_0x58c171:_0x58c171,_0x3e552c++%0x4)?_0x195f8a+=String['fromCharCode'](0xff&_0x91d6c7>>(-0x2*_0x3e552c&0x6)):0x0){_0x58c171=_0x455dce['indexOf'](_0x58c171);}for(let _0x34767e=0x0,_0x407d0b=_0x195f8a['length'];_0x34767e<_0x407d0b;_0x34767e++){_0x4100d2+='%'+('00'+_0x195f8a['charCodeAt'](_0x34767e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4100d2);};a0_0x12d6['BdgaaO']=_0x27b11a,a0_0x12d6['bulUsl']={},a0_0x12d6['OlLzRv']=!![];}const _0xb261e8=_0x32aef3[0x0],_0x4d5971=_0x3ebaae+_0xb261e8,_0x2911db=a0_0x12d6['bulUsl'][_0x4d5971];return!_0x2911db?(_0x12d656=a0_0x12d6['BdgaaO'](_0x12d656),a0_0x12d6['bulUsl'][_0x4d5971]=_0x12d656):_0x12d656=_0x2911db,_0x12d656;}function npmRootGlobal(){const _0x2531be=a0_0x5037bd,_0x39991b=resolveExecutablePath('npm');if(!_0x39991b)return'';const _0x3725d1=run(_0x39991b,[_0x2531be(0x19b),'-g']);if(_0x3725d1['status']!==0x0)return'';return String(_0x3725d1['stdout']||'')['trim']();}function compareSemver(_0x42b05d,_0xcc8b3d){const _0x26a31e=a0_0x5037bd,_0x30644b=String(_0x42b05d||'')['replace'](/^v/,'')[_0x26a31e(0x16e)](/[.-]/)[_0x26a31e(0x1da)](_0x1c5eae=>Number[_0x26a31e(0x1b0)](_0x1c5eae,0xa)||0x0),_0x2ffbcc=String(_0xcc8b3d||'')['replace'](/^v/,'')[_0x26a31e(0x16e)](/[.-]/)[_0x26a31e(0x1da)](_0x58d3c6=>Number[_0x26a31e(0x1b0)](_0x58d3c6,0xa)||0x0);for(let _0x3ce415=0x0;_0x3ce415<Math['max'](_0x30644b['length'],_0x2ffbcc['length'],0x3);_0x3ce415++){const _0x560567=_0x30644b[_0x3ce415]||0x0,_0x15dccd=_0x2ffbcc[_0x3ce415]||0x0;if(_0x560567>_0x15dccd)return 0x1;if(_0x560567<_0x15dccd)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x3a903d=a0_0x5037bd,_0x2675e7=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x3a903d(0x14d)]()[_0x3a903d(0x1a1)]();return _0x2675e7==='1'||_0x2675e7==='true'||_0x2675e7==='yes'||_0x2675e7==='on';}function latestWrapperVersion(){const _0x293b3e=a0_0x5037bd,_0x160b49=runNpmView(['view',WRAPPER_PKG_NAME+'@latest',_0x293b3e(0x1b9),npmRegistryArg()]);if(_0x160b49['status']!==0x0)return'';return String(_0x160b49[_0x293b3e(0x1bd)]||'')[_0x293b3e(0x14d)]()['split'](/\r?\n/)[_0x293b3e(0x18d)](Boolean)['pop']()||'';}function installWrapperVersion(_0x21b818){const _0x4afc71=a0_0x5037bd,_0x1245f7=resolveExecutablePath('npm');if(!_0x1245f7)return{'ok':![],'output':_0x4afc71(0x193)+'H'};const _0x3ff0b1=run(_0x1245f7,['install','-g',WRAPPER_PKG_NAME+'@'+_0x21b818,npmRegistryArg()]),_0x5f06e8=((_0x3ff0b1['stdout']||'')+'\x0a'+(_0x3ff0b1[_0x4afc71(0x163)]||''))['trim']();return{'ok':_0x3ff0b1[_0x4afc71(0x167)]===0x0,'output':_0x5f06e8};}function maybeUpdateWrapper(_0x211af1){const _0x244096=a0_0x5037bd;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x163325=latestWrapperVersion();if(!_0x163325||compareSemver(_0x163325,WRAPPER_VERSION)<=0x0)return![];const _0x2ea4ad=preferredNpmRegistry();console[_0x244096(0x1c0)](_0x244096(0x1a8)+'ilable:\x20'+WRAPPER_VERSION+_0x244096(0x16b)+_0x163325),console['warn'](_0x244096(0x17f)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x163325+_0x244096(0x1e1)+_0x2ea4ad+(_0x244096(0x1df)+'e...'));const _0x5e73e6=installWrapperVersion(_0x163325);if(!_0x5e73e6['ok']){console['warn'](_0x244096(0x1cf)+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x5e73e6['output'])console['warn'](_0x5e73e6['output']['split'](/\r?\n/)['slice'](-0xc)[_0x244096(0x168)]('\x0a'));return console[_0x244096(0x1c0)](_0x244096(0x166)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x163325,_0x2ea4ad)),![];}console[_0x244096(0x1c0)]('[wrapper]\x20wrapper\x20up'+_0x244096(0x169)+_0x163325+_0x244096(0x188));const _0x5e5310=process[_0x244096(0x1d9)][0x1],_0x3fa72e=(0x0,import_child_process2[_0x244096(0x19f)])(process['execPath'],[_0x5e5310,..._0x211af1],{'stdio':_0x244096(0x156),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x163325},'shell':![]});process['exit'](_0x3fa72e[_0x244096(0x167)]??0x0);}function findCoreScript(){const _0x5c86e4=a0_0x5037bd,_0x20bdb7=String(process.env.WHALENT_CORE_ENTRY||'')[_0x5c86e4(0x14d)](),_0x57e43b=['1',_0x5c86e4(0x165),_0x5c86e4(0x151),'on'][_0x5c86e4(0x19e)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x5c86e4(0x1a1)]());if(_0x20bdb7&&_0x57e43b&&fs[_0x5c86e4(0x17e)](_0x20bdb7))return _0x20bdb7;const _0x36aec7=[],_0x18b449=_0x5c02bc=>{const _0x2a85a8=_0x5c86e4;if(fs[_0x2a85a8(0x17e)](_0x5c02bc)&&!_0x36aec7[_0x2a85a8(0x19e)](_0x5c02bc))_0x36aec7[_0x2a85a8(0x145)](_0x5c02bc);};if(_0x20bdb7)_0x18b449(_0x20bdb7);const _0x56d52a=npmRootGlobal();if(_0x56d52a){const _0x1bd37f=path['join'](_0x56d52a,_0x5c86e4(0x192),'agent-core',_0x5c86e4(0x17b),_0x5c86e4(0x15d));_0x18b449(_0x1bd37f);}const _0x3509ce=path[_0x5c86e4(0x168)](wrapperBaseDir(),_0x5c86e4(0x16a));_0x18b449(_0x3509ce);const _0xae0f0b=path[_0x5c86e4(0x168)](wrapperBaseDir(),'..','packages',_0x5c86e4(0x1de),_0x5c86e4(0x17b),'index.cjs');_0x18b449(_0xae0f0b);if(_0x36aec7[_0x5c86e4(0x1cb)]>0x0)return _0x36aec7['map']((_0xfab49,_0x34cddd)=>({'candidate':_0xfab49,'index':_0x34cddd,'version':coreVersion(_0xfab49)}))[_0x5c86e4(0x189)]((_0x4615f3,_0x2831d9)=>{const _0x1881a4=_0x5c86e4,_0x10e794=compareSemver(_0x2831d9['version'],_0x4615f3['version']);if(_0x10e794!==0x0)return _0x10e794;return _0x2831d9[_0x1881a4(0x164)]-_0x4615f3[_0x1881a4(0x164)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+_0x5c86e4(0x184)+_0x5c86e4(0x1dc)+'agent');}function coreVersion(_0xaa6ca1=findCoreScript()){const _0x4095df=a0_0x5037bd,_0x3ed9f4=(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0xaa6ca1,'--version'],{'encoding':_0x4095df(0x1aa),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x433a4e=(_0x3ed9f4['stdout']||'')+'\x0a'+(_0x3ed9f4['stderr']||'');return _0x433a4e[_0x4095df(0x1b4)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0xec73a0){const _0x4da705=a0_0x5037bd;try{return fs['accessSync'](_0xec73a0,fs[_0x4da705(0x1d8)][_0x4da705(0x1a9)]),!![];}catch{return![];}}function shellQuote(_0x350593){const _0x293c11=a0_0x5037bd;return'\x27'+_0x350593[_0x293c11(0x158)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x2087ad){const _0x37f200=a0_0x5037bd;if(process[_0x37f200(0x1d2)]!==_0x37f200(0x144))return'';try{const _0x300f3d=(0x0,import_module[_0x37f200(0x18a)])(_0x2087ad),_0xeae5f9=_0x300f3d['resolve'](_0x37f200(0x159)),_0x36800d=path['resolve'](path[_0x37f200(0x1b7)](_0xeae5f9),'..');return path['join'](_0x36800d,_0x37f200(0x1ae),'darwin-'+process['arch'],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x51e5ba){const _0x405a56=a0_0x5037bd,_0xd2dcd9=coreNodePtySpawnHelperPath(_0x51e5ba);if(!_0xd2dcd9||CHECKED_PTY_HELPERS[_0x405a56(0x15e)](_0xd2dcd9))return;CHECKED_PTY_HELPERS['add'](_0xd2dcd9);if(!fs['existsSync'](_0xd2dcd9)){console['warn'](_0x405a56(0x199)+_0x405a56(0x149)+'t\x20found:\x20'+_0xd2dcd9);return;}if(isExecutable(_0xd2dcd9))return;try{const _0x2b0073=fs['statSync'](_0xd2dcd9)[_0x405a56(0x1d4)];fs['chmodSync'](_0xd2dcd9,_0x2b0073|0x1ed);}catch{}if(isExecutable(_0xd2dcd9)){console[_0x405a56(0x1c0)]('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+_0x405a56(0x1d6)+_0xd2dcd9);return;}console[_0x405a56(0x1c0)]('[wrapper]\x20macOS\x20node'+_0x405a56(0x155)+_0x405a56(0x19a)+_0xd2dcd9),console[_0x405a56(0x1c0)](_0x405a56(0x162)+_0x405a56(0x18e)+'PTY\x20startup:'),console['warn']('\x20\x20HELPER='+shellQuote(_0xd2dcd9)),console[_0x405a56(0x1c0)](_0x405a56(0x1a0)),console[_0x405a56(0x1c0)](_0x405a56(0x153));}function printVersion(){const _0x47d9e4=a0_0x5037bd;let _0x209198='';try{_0x209198=coreVersion();}catch{}console[_0x47d9e4(0x1d7)]('whalent-agent\x20'+WRAPPER_VERSION),console['log'](_0x47d9e4(0x179)+WRAPPER_VERSION),console[_0x47d9e4(0x1d7)](_0x47d9e4(0x1b2)+(_0x209198||'not\x20installed'));}function directCore(_0x5792ac){const _0x498e68=a0_0x5037bd,_0x4e3da3=findCoreScript();checkMacNodePtySpawnHelper(_0x4e3da3);const _0x55398d=(0x0,import_child_process2['spawnSync'])(process[_0x498e68(0x170)],[_0x4e3da3,..._0x5792ac],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x4e3da3},'shell':![]});process['exit'](_0x55398d['status']??0x0);}function shouldSupervise(_0xbfb32e){const _0x176dca=a0_0x5037bd;if(_0xbfb32e['includes'](_0x176dca(0x1ad)))return![];if(_0xbfb32e[_0x176dca(0x19e)]('--resume')||_0xbfb32e[0x0]===_0x176dca(0x173))return![];const _0x4c4b33=_0xbfb32e[0x0]||'';if(_0x4c4b33==='ls'||_0x4c4b33===_0x176dca(0x167)||_0x4c4b33==='ps')return![];if(_0x4c4b33===_0x176dca(0x1ab)||_0x4c4b33==='daemon-mcp')return![];if(_0xbfb32e['includes'](_0x176dca(0x1b3))||_0xbfb32e[_0x176dca(0x19e)]('-h'))return![];return!![];}function installCoreVersion(_0x1c559b){const _0x303279=a0_0x5037bd,_0x583e52=resolveExecutablePath(_0x303279(0x1c9));if(!_0x583e52)return{'ok':![],'output':_0x303279(0x193)+'H'};const _0x24b4d3=CORE_PKG_NAME+'@'+_0x1c559b,_0x548b3c=run(_0x583e52,['install','-g',_0x24b4d3,npmRegistryArg()]),_0x1e2545=((_0x548b3c['stdout']||'')+'\x0a'+(_0x548b3c['stderr']||''))['trim']();return{'ok':_0x548b3c[_0x303279(0x167)]===0x0,'output':_0x1e2545};}async function superviseCore(_0x1c7690){const _0xf3d7c8=a0_0x5037bd;let _0x2aea46=![],_0x56466a=null;const _0x2bbf15=[];let _0x2cb04e=MIN_RESTART_DELAY_MS;const _0x14fb16=()=>{const _0x8da95a=a0_0x12d6;_0x2aea46=!![];if(_0x56466a&&!_0x56466a[_0x8da95a(0x1a3)])try{_0x56466a[_0x8da95a(0x176)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0xf3d7c8(0x146),_0x14fb16),process['on'](_0xf3d7c8(0x15a),_0x14fb16);while(!![]){const _0x1bfeee=findCoreScript();checkMacNodePtySpawnHelper(_0x1bfeee);const _0x550fd5={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1bfeee},_0x4bdfde=readUpgradeState(),_0x24428b=!!_0x4bdfde?.[_0xf3d7c8(0x1ba)];let _0x9b71c6=![],_0xd3acf0=null,_0xeffd8c='';const _0x3c7c14=[],_0x5f8cd1=0xc;console['log'](_0xf3d7c8(0x17d)+_0xf3d7c8(0x1c7)+_0x1bfeee),_0x56466a=(0x0,import_child_process2['spawn'])(process['execPath'],[_0x1bfeee,..._0x1c7690],{'env':_0x550fd5,'stdio':['inherit',_0xf3d7c8(0x14b),_0xf3d7c8(0x14b)]});const _0x2afd17=()=>{const _0x3ea990=_0xf3d7c8;if(_0x9b71c6)return;_0x9b71c6=!![];if(_0xd3acf0)clearTimeout(_0xd3acf0);_0x2bbf15['length']=0x0,_0x2cb04e=MIN_RESTART_DELAY_MS;const _0x5adfd6=readUpgradeState();_0x5adfd6?.['pending']&&(writeUpgradeState({..._0x5adfd6,'pending':![],'rollback':![],'health_status':_0x3ea990(0x16d)}),console['log']('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x5adfd6['installed_version']||_0x5adfd6[_0x3ea990(0x180)]||'')));},_0xae01f9=(_0x1df0f7,_0x5920ed=![])=>{const _0x3f7204=_0xf3d7c8,_0x1d200d=_0x1df0f7[_0x3f7204(0x1a2)]();(_0x5920ed?process[_0x3f7204(0x163)]:process[_0x3f7204(0x1bd)])[_0x3f7204(0x1a7)](_0x1d200d);if(_0x5920ed)for(const _0x29f7ea of _0x1d200d[_0x3f7204(0x16e)](/\r?\n/)){if(!_0x29f7ea[_0x3f7204(0x14d)]())continue;_0x3c7c14['push'](_0x29f7ea);if(_0x3c7c14['length']>_0x5f8cd1)_0x3c7c14[_0x3f7204(0x154)]();const _0x1b0acb=_0x29f7ea[_0x3f7204(0x1b4)](FATAL_PATTERN);if(_0x1b0acb)_0xeffd8c=_0x1b0acb[0x0];}(_0x1d200d[_0x3f7204(0x19e)]('[gateway]\x20Connected')||_0x1d200d[_0x3f7204(0x19e)](_0x3f7204(0x150)+_0x3f7204(0x183))||_0x1d200d[_0x3f7204(0x19e)]('Gateway:\x20connected'))&&_0x2afd17();};_0x56466a[_0xf3d7c8(0x1bd)]?.['on']('data',_0x211d95=>_0xae01f9(_0x211d95,![])),_0x56466a['stderr']?.['on']('data',_0x45bfa4=>_0xae01f9(_0x45bfa4,!![]));_0x24428b&&(_0xd3acf0=setTimeout(()=>{const _0x134204=_0xf3d7c8;if(_0x9b71c6||!_0x56466a||_0x56466a['killed'])return;console[_0x134204(0x14c)]('[wrapper]\x20new\x20core\x20d'+_0x134204(0x19c)+_0x134204(0x16f)+'ack');try{_0x56466a[_0x134204(0x176)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x581f19=await new Promise(_0x40247e=>{_0x56466a['once']('exit',(_0x321448,_0x24e1c3)=>_0x40247e({'code':_0x321448,'signal':_0x24e1c3}));});if(_0xd3acf0)clearTimeout(_0xd3acf0);_0x56466a=null;if(_0x2aea46)process[_0xf3d7c8(0x15b)](_0x581f19[_0xf3d7c8(0x1dd)]??0x0);const _0x55733c=readUpgradeState();if(_0x55733c?.[_0xf3d7c8(0x1ba)]&&!_0x9b71c6){const _0x57c106=String(_0x55733c[_0xf3d7c8(0x186)+'n']||'')['trim']();if(_0x57c106){console[_0xf3d7c8(0x14c)](_0xf3d7c8(0x190)+'ck\x20core\x20to\x20'+_0x57c106);const _0x4ecaa3=installCoreVersion(_0x57c106);writeUpgradeState({..._0x55733c,'pending':![],'rollback':!![],'health_status':_0x4ecaa3['ok']?_0xf3d7c8(0x1ce):_0xf3d7c8(0x1c4),'error':_0x4ecaa3['ok']?'':_0x4ecaa3['output']});}else writeUpgradeState({..._0x55733c,'pending':![],'rollback':!![],'health_status':_0xf3d7c8(0x1cc),'error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x44ca01=_0x581f19[_0xf3d7c8(0x1dd)]===SUPERVISED_RESTART_CODE||_0x55733c?.[_0xf3d7c8(0x1ba)];if(!_0x44ca01&&_0x581f19[_0xf3d7c8(0x1dd)]===0x0)process['exit'](0x0);const _0xc3e311=Date[_0xf3d7c8(0x172)]();_0x2bbf15['push'](_0xc3e311);while(_0x2bbf15['length']>0x0&&_0xc3e311-_0x2bbf15[0x0]>CRASH_WINDOW_MS){_0x2bbf15['shift']();}const _0x5b2e68=_0x2bbf15['length'];writeLastCrash({'timestamp':_0xc3e311,'exit_code':_0x581f19['code'],'exit_signal':_0x581f19[_0xf3d7c8(0x197)]||null,'fatal_line':_0xeffd8c,'raw_tail':_0x3c7c14[_0xf3d7c8(0x168)]('\x0a'),'consecutive_crashes':_0x5b2e68}),console[_0xf3d7c8(0x1d7)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x581f19[_0xf3d7c8(0x1dd)]??'')+(_0x581f19[_0xf3d7c8(0x197)]?_0xf3d7c8(0x1a6)+_0x581f19[_0xf3d7c8(0x197)]:'')+'\x20('+_0x5b2e68+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0xeffd8c)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0xeffd8c);_0x5b2e68>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0xf3d7c8(0x14a)+'d\x20'+_0x5b2e68+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0xf3d7c8(0x152))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0xf3d7c8(0x1db)+_0xf3d7c8(0x17c)+_0xf3d7c8(0x161))),process[_0xf3d7c8(0x15b)](0x1)),console['log'](_0xf3d7c8(0x1c8)+_0xf3d7c8(0x1bb)+_0x2cb04e+'ms'),await new Promise(_0x41110c=>setTimeout(_0x41110c,_0x2cb04e)),_0x2cb04e=Math['min'](_0x2cb04e*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0xa6653b=a0_0x5037bd,_0x5be0b5=process['argv'][_0xa6653b(0x1c1)](0x2);if(_0x5be0b5[0x0]==='--version'||_0x5be0b5[0x0]==='-v'||_0x5be0b5[0x0]===_0xa6653b(0x1b9)){printVersion();return;}if((_0x5be0b5[0x0]===_0xa6653b(0x167)||_0x5be0b5[0x0]==='ls'||_0x5be0b5[0x0]==='ps')&&!_0x5be0b5['includes']('--json')){console['log'](_0xa6653b(0x179)+WRAPPER_VERSION);try{console['log']('core\x20'+(coreVersion()||'not\x20installed'));}catch{console['log'](_0xa6653b(0x1b8));}}maybeUpdateWrapper(_0x5be0b5);if(!shouldSupervise(_0x5be0b5))directCore(_0x5be0b5);await superviseCore(_0x5be0b5);}main()['catch'](_0x550cfc=>{const _0x5c8552=a0_0x5037bd;console['error']('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x550cfc?.['message']||String(_0x550cfc))),process[_0x5c8552(0x15b)](0x1);});
2
+ 'use strict';const a0_0x3d8be0=a0_0x162f;function a0_0x29ba(){const _0x1de94a=['ihnPz25HBd0','zgvMAw5LuhjVCgvYDhK','lMnTza','ywnJzxnZu3LUyW','mJrQrLfsyvK','zw91De1Zid0GtNvTyMvYkhbYB2m','B25Lid0GDhj1ztSkicbJBgvHCLq','CMvNAxn0CNK','BMnLihrVigzPEcb0zxjTAw5HBc8','D3jHChbLCIa','ywjVCNrLza','CM9SBgjHy2TFDw5HDMfPBgfIBgu','yw55','C3bSAxq','zgfLBw9Ulw1JCa','D2fYBG','AwXHyMXLoIa','w3DYyxbWzxjDigXHC3qGzMf0ywW','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','BNbT','zgfYD2LUlq','BgvUz3rO','B3jLoIa','qhDOywXLBNq','zNjVBq','ANmUB3jN','mtDXvLvhreu','BM93','B2WGpt09icDODhrWCZONid8GAhq','qgXHDgvZDa','BwvVDxq6ihrPBwvVDxrnCYWkica','ywDLBNqTy29Yzq','ig1LDgHVzdOGj0DfvcCScIaGDgK','mteWotmWnLvurfLfDW','CMvWBgfJzq','ywnOAw5L','r2f0zxDHEtOGy29UBMvJDgvK','zdOGzxHPDd0','Bwf4','DhLWzq','zgf0yq','mZzgv3jwvxe','yxjJAa','icDHChbSAwnHDgLVBI9QC29Ulhq','ywDLBNq6igzHBhnLlaOGigHLywq','cMnVBNn0igH0DhaGpsbYzxf1Axi','EgL0kgnVzguPoWP9oWPJB25ZDca','D3jPDgvgAwXLu3LUyW','zw5KC1DPDgG','Bw9KDwXL','zxjSEwLUzYbPC3n1zsbPCYbMAxG','lIbszxn0yxj0ihDYyxbWzxiGBwe','w3DYyxbWzxjDignVCMuGzMfPBgu','Dhj1zq','ChmGpsbYzxf1AxjLkcDODhrWCYC','ihX8idmWmda7cMnVBNn0ihvYBca','CMvZDw1L','ihjLz2LZDhj5icSGjY8NktSky28','psbUzxCGvvjmkcCVls9WAw5NjYW','BM9Kzs1WDhK','y2HPBgrFChjVy2vZCW','y2f0y2GGE30kicbWCM9JzxnZlMu','AM9PBG','mc4WlJa','DxrMoa','Bg9N','y3jLyxrLuMvXDwLYzq','y2fSBa','Aw5NihDPDgGG','ls1YzwDPC3rYEt0','CM91BMq','zIaOzg9UzsKGCMv0DxjUoWOGigq','ChjLDMLVDxnFy29Yzv92zxjZAw8','mv0GFhWGjYCPlNjLCgXHy2uOl1W','ihSGCMvXlMrLC3rYB3KOktSGFsa','igjLzM9YzsbZDgfYDgLUzYbJB3i','Ag9TzwrPCG','icD3AgfSzw50lwfNzw50lxjLz2K','zw51BwvYywjSzq','z2v0t3DUuhjVCgvYDhLezxnJCMK','CMvZB2X2zq','y29Kzq','C3rYAw5NAwz5','y29Yzq','CMvZB2X2zwrpChrPB25Z','BM9Kzq','z2v0t3DUuhjVCgvYDhLoyw1LCW','D2HPy2G','lNbZmq','w3DYyxbWzxjDigzPEgvKig1Hy08','mJKYndy5nfvrq3bYyq','otC2qMXOr3zh','zxHLy1bHDgG','w3DYyxbWzxjDignVCMuGzxHPDgu','ic0TChjLzMvYlw9UBgLUzq','icbJAg1VzcaREcaIjeHftfbfuIi','w3DYyxbWzxjDig1Hy09tig5Vzgu','CZSGz2L2Aw5NihvWlIbdCMfZAca','ChvZAa','Bwf0y2G','C2LNBMfS','DgvZDa','zgfYD2LU','C3rKB3v0','Cgf0Aa','zgLYBMfTzq','ls1Yzxn1Bwu','CgvUzgLUzW','CM9WAwmTywKVy2XHDwrLlwnVzgu','DcbMB3vUzdOG','C3rHDhvZ','ic0+ia','AcG0ksK7cN0PoWPYzxeUB24Oj3q','BgfZDc1JCMfZAc5QC29U','lxb0EsbZCgf3BI1OzwXWzxiGAxm','z2v0uhjVDg90ExbLt2y','AgfZ','BNbTigLUC3rHBgWGlwCGqgfUDgG','BIb1BMTUB3DU','igLUia','BwLU','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','BNbTigLUC3rHBgWGlwCGB3bLBMm','BNbTig5VDcbMB3vUza','DMvYC2LVBG','ywjVCNq','CMvNAxn0CNKGChjVyMuGDgLTzwq','zxHPC3rZu3LUyW','BM90igLUC3rHBgXLza','w3DYyxbWzxjDifj1BIb0AgLZig8','u3rYAw5NkhbYB2nLC3mUyxjNDLS','Aw5KzxGUy2PZ','Dg9mB3DLCKnHC2u','u0Lhsu5u','ChrVCG','Aw5JBhvKzxm','lNn0yxr1C0nVzguGpt09idiWmca','yxjNDG','A2LSBa','C29YDa','AgvHBhrOEq','zs4UlG','nJiXowvLwgXHwa','jYWGkcKGpt4GzMLUAxnOkdqPktS','ksa9pIbMAw5PC2GOmYKSihrPBwu','CgfJA2fNzxm','lMjHDa','mZvZEKP3CLe','icbSCYaTBcaIjeHftfbfuIi','j2vYCM9YjYWGkcKGpt4GzMLUAxm','nZeYodu4mgv2qvriAW','zgLZDa','xIqX','D2HHBgvUDcbJB3jLihj1BNrPBwu','zxHPDa','zxH0l3bSywLUlcOVkICGFsWkFsW','ihrPBwvZihDPDgHPBIa','C2GGpsaOy29KzsKGpt4GEWOGigK','y2f0y2G','y2SGy29Yzsb0BYa','id0GzMfSC2u7cMnVBNn0igzPBMK','A2LSBgvK','ktSky29UC3qGCMvNAxn0CNKGpsa','mJaZndGYwMjzsejI','CgfYC2u','mta3mtm1z2LzDhz4','DxrMltG','ufrzihn0yxj0Dxa6','zguGAgvHBhrOEtOG','BwfW','ls12zxjZAw9U','CgfYC2vjBNq','ywDLBNq','CgLWzq','pYaWidOGmIKPoWOGihjLCY5VBIG','zxjYB3i','zMLSDgvY','DhjPBq','u0Lhvevstq','uYbUB2rLlxb0EsbZCgf3BI1OzwW','C3bHD25tEw5J','ChjLDMLVDxmGy29Yzsb2zxjZAw8','mZi0nJi4ugLSwhjw','Aw5ZDgfSBa','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','D2HLCMuUzxHL','CMvNAxn0CNKGChjVyMuGywjVCNq','CgXHDgzVCM0','AgfZt3DUuhjVCgvYDhK'];a0_0x29ba=function(){return _0x1de94a;};return a0_0x29ba();}(function(_0x11db23,_0x44cfba){const _0x2b615f=a0_0x162f,_0x11fbc9=_0x11db23();while(!![]){try{const _0x32cfba=-parseInt(_0x2b615f(0x24c))/0x1*(-parseInt(_0x2b615f(0x218))/0x2)+-parseInt(_0x2b615f(0x28c))/0x3+parseInt(_0x2b615f(0x22b))/0x4*(-parseInt(_0x2b615f(0x208))/0x5)+-parseInt(_0x2b615f(0x25b))/0x6*(parseInt(_0x2b615f(0x21a))/0x7)+parseInt(_0x2b615f(0x28d))/0x8*(-parseInt(_0x2b615f(0x203))/0x9)+parseInt(_0x2b615f(0x20b))/0xa+parseInt(_0x2b615f(0x253))/0xb*(parseInt(_0x2b615f(0x236))/0xc);if(_0x32cfba===_0x44cfba)break;else _0x11fbc9['push'](_0x11fbc9['shift']());}catch(_0x355aa2){_0x11fbc9['push'](_0x11fbc9['shift']());}}}(a0_0x29ba,0xe1d5a));var __create=Object['create'],__defProp=Object[a0_0x3d8be0(0x233)],__getOwnPropDesc=Object[a0_0x3d8be0(0x281)+a0_0x3d8be0(0x1fb)],__getOwnPropNames=Object[a0_0x3d8be0(0x288)],__getProtoOf=Object[a0_0x3d8be0(0x1e8)],__hasOwnProp=Object['prototype'][a0_0x3d8be0(0x231)],__copyProps=(_0x4aff29,_0x5ca23e,_0x210804,_0x1f9da6)=>{const _0x59309d=a0_0x3d8be0;if(_0x5ca23e&&typeof _0x5ca23e==='object'||typeof _0x5ca23e==='function'){for(let _0x43b705 of __getOwnPropNames(_0x5ca23e))if(!__hasOwnProp[_0x59309d(0x275)](_0x4aff29,_0x43b705)&&_0x43b705!==_0x210804)__defProp(_0x4aff29,_0x43b705,{'get':()=>_0x5ca23e[_0x43b705],'enumerable':!(_0x1f9da6=__getOwnPropDesc(_0x5ca23e,_0x43b705))||_0x1f9da6[_0x59309d(0x280)]});}return _0x4aff29;},__toESM=(_0x3ab24e,_0x65c64f,_0x3d642e)=>(_0x3d642e=_0x3ab24e!=null?__create(__getProtoOf(_0x3ab24e)):{},__copyProps(_0x65c64f||!_0x3ab24e||!_0x3ab24e['__esModule']?__defProp(_0x3d642e,'default',{'value':_0x3ab24e,'enumerable':!![]}):_0x3d642e,_0x3ab24e)),import_child_process3=require(a0_0x3d8be0(0x26e)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x3d8be0(0x263)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x3d8be0(0x29a)),import_child_process=require(a0_0x3d8be0(0x26e)),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x3d8be0(0x24b),CHINA_NPM_REGISTRY='https://registry.npm'+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x58f651=a0_0x3d8be0,_0x294ba4=explicitNpmRegistry();if(_0x294ba4)return _0x294ba4;if(selectedRegistryCache&&Date[_0x58f651(0x24d)]()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x1aad1d=preferredNpmRegistry()){const _0x1d6116=a0_0x3d8be0,_0xd35e9c=explicitNpmRegistry();if(_0xd35e9c)return[_0xd35e9c];const _0x52b16e=normalizeRegistry(_0x1aad1d)||DEFAULT_NPM_REGISTRY,_0x39feb9=_0x52b16e===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x1d6116(0x24a)](new Set([_0x52b16e,_0x39feb9]));}async function selectFastNpmRegistry(_0x17d7c2=REGISTRY_PROBE_TIMEOUT_MS){const _0x17c6f5=a0_0x3d8be0,_0x49c0fd=explicitNpmRegistry();if(_0x49c0fd)return rememberNpmRegistry(_0x49c0fd),_0x49c0fd;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x1046dc=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x4aab14=_0x1046dc[_0x17c6f5(0x21e)](()=>new AbortController());let _0x405fb5=-0x1;const _0x4b259f=_0x1046dc['map']((_0x3c5214,_0x3634c7)=>probeRegistry200(_0x3c5214,_0x17d7c2,_0x4aab14[_0x3634c7]['signal'])['then'](()=>({'registry':_0x3c5214,'index':_0x3634c7})));try{const _0x47372d=await Promise[_0x17c6f5(0x23e)](_0x4b259f);_0x405fb5=_0x47372d['index'];const _0x315787=_0x47372d[_0x17c6f5(0x239)];return rememberNpmRegistry(_0x315787),_0x315787;}catch{const _0x39ccf8=_0x1046dc[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x39ccf8),_0x39ccf8;}finally{_0x4aab14['forEach']((_0x56d6ec,_0x3cef06)=>{if(_0x3cef06!==_0x405fb5)_0x56d6ec['abort']();});}}function rememberNpmRegistry(_0x15d58a){const _0x1ff327=a0_0x3d8be0,_0x4c4f54=normalizeRegistry(_0x15d58a);if(_0x4c4f54)selectedRegistryCache={'registry':_0x4c4f54,'ts':Date[_0x1ff327(0x24d)]()};}function npmRegistryArg(_0x1836bb=preferredNpmRegistry()){const _0xe075fb=a0_0x3d8be0;return _0xe075fb(0x277)+(normalizeRegistry(_0x1836bb)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x4e192a,_0x87381a=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x4e192a+'\x20'+npmRegistryArg(_0x87381a);}function isChineseLocale(){const _0x25cd3e=a0_0x3d8be0,_0x5ccef8=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x25cd3e(0x225)](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x25cd3e(0x297)](_0x5ccef8))return!![];try{const _0x4076e0=Intl['DateTimeFormat']()[_0x25cd3e(0x286)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i[_0x25cd3e(0x297)](_0x4076e0);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0xbc1ae5){const _0x26dbd6=a0_0x3d8be0;return String(_0xbc1ae5||'')[_0x26dbd6(0x226)]()[_0x26dbd6(0x254)](/\/+$/,'');}function probeRegistry200(_0x3a6307,_0x4345b1,_0x3e74e4){return new Promise((_0x726cc,_0x3333c9)=>{const _0x20456b=a0_0x162f;let _0x21ecfd=![];const _0x4bfff7=_0x3315e1=>{const _0x344670=a0_0x162f;if(_0x21ecfd)return;_0x21ecfd=!![],clearTimeout(_0x4bb34e),_0x3e74e4?.['removeEventListener'](_0x344670(0x1f2),_0x21feaa);if(!_0x45a19e[_0x344670(0x216)])try{_0x45a19e[_0x344670(0x1ff)](_0x344670(0x227));}catch{}if(_0x3315e1)_0x3333c9(_0x3315e1);else _0x726cc();},_0x21feaa=()=>{const _0x248209=a0_0x162f;_0x4bfff7(new Error(_0x248209(0x22f)+'ed'));},_0x4bb34e=setTimeout(()=>{const _0x2fd499=a0_0x162f;_0x4bfff7(new Error(_0x2fd499(0x1f3)+'\x20out'));},_0x4345b1);_0x4bb34e['unref']?.();const _0x45a19e=(0x0,import_child_process['spawn'])(process['execPath'],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x3a6307)||DEFAULT_NPM_REGISTRY,String(_0x4345b1)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x45a19e['on'](_0x20456b(0x224),_0x4bfff7),_0x45a19e['on']('exit',_0x5e44e9=>{const _0x4af4c2=_0x20456b;if(_0x5e44e9===0x0)_0x4bfff7();else _0x4bfff7(new Error('registry\x20probe\x20faile'+_0x4af4c2(0x257)+(_0x5e44e9??_0x4af4c2(0x296))));}),_0x3e74e4?.['addEventListener'](_0x20456b(0x1f2),_0x21feaa,{'once':!![]});if(_0x3e74e4?.[_0x20456b(0x23c)]){_0x21feaa();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x3d8be0(0x25f)+'e(\x27http\x27);\x0aconst\x20htt'+a0_0x3d8be0(0x268)+a0_0x3d8be0(0x217)+a0_0x3d8be0(0x1f7)+a0_0x3d8be0(0x27b)+a0_0x3d8be0(0x1ee)+a0_0x3d8be0(0x237)+'ess.argv[2]\x20||\x203000)'+a0_0x3d8be0(0x269)+a0_0x3d8be0(0x26c)+a0_0x3d8be0(0x26b)+'nst\x20mod\x20=\x20url.protoc'+a0_0x3d8be0(0x24e)+'tps\x20:\x20http;\x0alet\x20done'+a0_0x3d8be0(0x215)+a0_0x3d8be0(0x212)+a0_0x3d8be0(0x279)+a0_0x3d8be0(0x238)+'imeout(timer);\x0a\x20\x20try'+a0_0x3d8be0(0x27c)+a0_0x3d8be0(0x26f)+a0_0x3d8be0(0x260)+'timer\x20=\x20setTimeout(('+a0_0x3d8be0(0x205)+'outMs);\x0aconst\x20req\x20=\x20'+'mod.request(url,\x20{\x0a\x20'+a0_0x3d8be0(0x252)+a0_0x3d8be0(0x250)+a0_0x3d8be0(0x25e)+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x3d8be0(0x27f)+'stry-probe\x27,\x20Accept:'+a0_0x3d8be0(0x25d)+a0_0x3d8be0(0x210)+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+'sume();\x0a\x20\x20res.on(\x27en'+'d\x27,\x20()\x20=>\x20finish(res'+a0_0x3d8be0(0x1fd)+a0_0x3d8be0(0x223)+a0_0x3d8be0(0x20a)+a0_0x3d8be0(0x1e5)+a0_0x3d8be0(0x244)+'h(3));\x0areq.on(\x27error'+a0_0x3d8be0(0x204)+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+'ai/codex','claude':a0_0x3d8be0(0x1ea)+a0_0x3d8be0(0x1e1),'opencode':a0_0x3d8be0(0x1ef)+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+a0_0x3d8be0(0x290)};function isWindowsCmdFile(_0x4e2e31){const _0x216ca8=a0_0x3d8be0;return process['platform']==='win32'&&/\.(cmd|bat)$/i[_0x216ca8(0x297)](_0x4e2e31||'');}function quoteCmdArg(_0x4f13d2){const _0x54326d=a0_0x3d8be0,_0x4265b6=String(_0x4f13d2??'');if(_0x4265b6&&!/[\s"&|<>^%]/[_0x54326d(0x297)](_0x4265b6))return _0x4265b6;return'\x22'+_0x4265b6['replace'](/(["^&|<>%])/g,_0x54326d(0x20d))+'\x22';}function cmdFallbackArgs(_0x16962f,_0x4d38b4){const _0x491d87=a0_0x3d8be0;return['/d','/s','/c',[quoteCmdArg(_0x16962f),..._0x4d38b4['map'](quoteCmdArg)][_0x491d87(0x270)]('\x20')];}function resolveExecutablePath(_0x5cb859){const _0x26e0c6=a0_0x3d8be0;if(!_0x5cb859)return null;if(_0x5cb859['includes']('/')||_0x5cb859[_0x26e0c6(0x1fc)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x5cb859))return(0x0,import_fs['existsSync'])(_0x5cb859)?_0x5cb859:_0x5cb859;const _0x1f1953=process[_0x26e0c6(0x230)]==='win32',_0xcb6c5b=_0x1f1953?_0x26e0c6(0x22e):_0x26e0c6(0x289);try{const _0x463da6=(0x0,import_child_process2[_0x26e0c6(0x229)])(_0xcb6c5b,[_0x5cb859],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x463da6['status']===0x0){const _0x2c67a7=(_0x463da6[_0x26e0c6(0x299)]||'')[_0x26e0c6(0x226)]()['split'](/\r?\n/)[_0x26e0c6(0x225)](Boolean);if(_0x2c67a7[_0x26e0c6(0x247)]===0x0)return null;if(_0x1f1953)for(const _0x40e3e4 of['.exe',_0x26e0c6(0x234),_0x26e0c6(0x207),_0x26e0c6(0x28a)]){const _0x22a519=_0x2c67a7['find'](_0xe53c2e=>_0xe53c2e['toLowerCase']()[_0x26e0c6(0x262)](_0x40e3e4));if(_0x22a519)return _0x22a519;}return _0x2c67a7[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x504961){const _0x2de451=a0_0x3d8be0;if(process[_0x2de451(0x230)]!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x504961))return null;let _0x127821;try{_0x127821=(0x0,import_fs['readFileSync'])(_0x504961,_0x2de451(0x21b));}catch{return null;}const _0x2997a7=_0x127821['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x2997a7){const _0x5501eb=(0x0,import_path[_0x2de451(0x282)])((0x0,import_path['dirname'])(_0x504961),_0x2997a7[0x2]);if((0x0,import_fs['existsSync'])(_0x5501eb))return{'type':_0x2de451(0x287),'path':_0x5501eb};}const _0x20bf17=_0x127821['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x20bf17){const _0x3180fd=(0x0,import_path[_0x2de451(0x282)])((0x0,import_path['dirname'])(_0x504961),_0x20bf17[0x2]);if((0x0,import_fs['existsSync'])(_0x3180fd))return{'type':'exe','path':_0x3180fd};}return null;}function safeSpawnSync(_0x2f25b5,_0x4fa9b6,_0x5d77c6={}){const _0x1f2fe9=a0_0x3d8be0,_0x241666=unwrapWindowsCmdShim(_0x2f25b5);if(_0x241666?.[_0x1f2fe9(0x259)]==='node')return(0x0,import_child_process2['spawnSync'])(process[_0x1f2fe9(0x28e)],[_0x241666[_0x1f2fe9(0x29a)],..._0x4fa9b6],_0x5d77c6);if(_0x241666?.[_0x1f2fe9(0x259)]==='exe')return(0x0,import_child_process2['spawnSync'])(_0x241666[_0x1f2fe9(0x29a)],_0x4fa9b6,_0x5d77c6);if(isWindowsCmdFile(_0x2f25b5))return(0x0,import_child_process2[_0x1f2fe9(0x229)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x2f25b5,_0x4fa9b6),_0x5d77c6);return(0x0,import_child_process2[_0x1f2fe9(0x229)])(_0x2f25b5,_0x4fa9b6,_0x5d77c6);}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 _0x505120=a0_0x3d8be0;return path[_0x505120(0x270)](os[_0x505120(0x27e)](),'.whalent-agent');}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function a0_0x162f(_0x4a0ec5,_0x27c5d6){_0x4a0ec5=_0x4a0ec5-0x1e0;const _0x29ba02=a0_0x29ba();let _0x162fcb=_0x29ba02[_0x4a0ec5];if(a0_0x162f['KzdCtG']===undefined){var _0xdc9cee=function(_0x1b002e){const _0x29afa2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4aff29='',_0x5ca23e='';for(let _0x210804=0x0,_0x1f9da6,_0x43b705,_0x3ab24e=0x0;_0x43b705=_0x1b002e['charAt'](_0x3ab24e++);~_0x43b705&&(_0x1f9da6=_0x210804%0x4?_0x1f9da6*0x40+_0x43b705:_0x43b705,_0x210804++%0x4)?_0x4aff29+=String['fromCharCode'](0xff&_0x1f9da6>>(-0x2*_0x210804&0x6)):0x0){_0x43b705=_0x29afa2['indexOf'](_0x43b705);}for(let _0x65c64f=0x0,_0x3d642e=_0x4aff29['length'];_0x65c64f<_0x3d642e;_0x65c64f++){_0x5ca23e+='%'+('00'+_0x4aff29['charCodeAt'](_0x65c64f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ca23e);};a0_0x162f['mQZEbo']=_0xdc9cee,a0_0x162f['GEjHiu']={},a0_0x162f['KzdCtG']=!![];}const _0xb1a77f=_0x29ba02[0x0],_0x258e4f=_0x4a0ec5+_0xb1a77f,_0x37c08a=a0_0x162f['GEjHiu'][_0x258e4f];return!_0x37c08a?(_0x162fcb=a0_0x162f['mQZEbo'](_0x162fcb),a0_0x162f['GEjHiu'][_0x258e4f]=_0x162fcb):_0x162fcb=_0x37c08a,_0x162fcb;}function lastCrashFilePath(){const _0x483852=a0_0x3d8be0;return path[_0x483852(0x270)](configDir(),_0x483852(0x1e6));}function writeLastCrash(_0x506fbf){const _0x9aedc6=a0_0x3d8be0;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x49e298={..._0x506fbf,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x9aedc6(0x284)](_0x49e298,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x2e51ff=a0_0x3d8be0;try{const _0x260333=JSON[_0x2e51ff(0x219)](fs['readFileSync'](path['join'](wrapperBaseDir(),'..','package.json'),_0x2e51ff(0x21b)));return String(_0x260333['version']||'0.0.0');}catch{return _0x2e51ff(0x271);}}function readUpgradeState(){const _0x119904=a0_0x3d8be0;try{return JSON[_0x119904(0x219)](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x48765a){const _0x3fbb1e=a0_0x3d8be0;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x3fbb1e(0x261)](upgradeStatePath(),JSON['stringify']({..._0x48765a,'updated_at':Date['now']()},null,0x2),_0x3fbb1e(0x21b));}catch{}}function run(_0x2d0014,_0x220659,_0x2b3169=process.env){const _0x1036da=a0_0x3d8be0;return safeSpawnSync(_0x2d0014,_0x220659,{'encoding':_0x1036da(0x272),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x2b3169,'shell':![]});}function runNpmView(_0x5b915e){const _0x4bb650=a0_0x3d8be0,_0x5c569e=resolveExecutablePath('npm');if(!_0x5c569e)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x4bb650(0x1f0))};return safeSpawnSync(_0x5c569e,_0x5b915e,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x44b0a4=a0_0x3d8be0,_0x40443=resolveExecutablePath(_0x44b0a4(0x245));if(!_0x40443)return'';const _0x4cbe22=run(_0x40443,['root','-g']);if(_0x4cbe22['status']!==0x0)return'';return String(_0x4cbe22['stdout']||'')[_0x44b0a4(0x226)]();}function compareSemver(_0x18fea4,_0x44c2ee){const _0x2ada5b=a0_0x3d8be0,_0x5d133f=String(_0x18fea4||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0xcbf42c=>Number[_0x2ada5b(0x220)](_0xcbf42c,0xa)||0x0),_0x4260c2=String(_0x44c2ee||'')['replace'](/^v/,'')[_0x2ada5b(0x23f)](/[.-]/)[_0x2ada5b(0x21e)](_0x9c423b=>Number[_0x2ada5b(0x220)](_0x9c423b,0xa)||0x0);for(let _0x580477=0x0;_0x580477<Math[_0x2ada5b(0x258)](_0x5d133f[_0x2ada5b(0x247)],_0x4260c2['length'],0x3);_0x580477++){const _0x2a5756=_0x5d133f[_0x580477]||0x0,_0x323f6f=_0x4260c2[_0x580477]||0x0;if(_0x2a5756>_0x323f6f)return 0x1;if(_0x2a5756<_0x323f6f)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x3ed0b0=a0_0x3d8be0,_0x5acec0=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x3ed0b0(0x226)]()[_0x3ed0b0(0x1f9)]();return _0x5acec0==='1'||_0x5acec0===_0x3ed0b0(0x267)||_0x5acec0==='yes'||_0x5acec0==='on';}function latestWrapperVersion(_0xd7a44f){const _0x15709a=a0_0x3d8be0,_0x4a849e=runNpmView(['view',WRAPPER_PKG_NAME+_0x15709a(0x24f),'version',npmRegistryArg(_0xd7a44f)]);if(_0x4a849e[_0x15709a(0x1e3)]!==0x0)return'';return String(_0x4a849e[_0x15709a(0x299)]||'')['trim']()['split'](/\r?\n/)[_0x15709a(0x225)](Boolean)['pop']()||'';}function installWrapperVersion(_0x8ab761,_0x52dd51){const _0x16a39c=a0_0x3d8be0,_0x44c640=resolveExecutablePath('npm');if(!_0x44c640)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x733f4a=run(_0x44c640,['install','-g',WRAPPER_PKG_NAME+'@'+_0x8ab761,npmRegistryArg(_0x52dd51)]),_0x162a61=((_0x733f4a[_0x16a39c(0x299)]||'')+'\x0a'+(_0x733f4a['stderr']||''))['trim']();return{'ok':_0x733f4a['status']===0x0,'output':_0x162a61};}async function maybeUpdateWrapper(_0x4b321a,_0x102290){const _0x62a202=a0_0x3d8be0;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x309568=latestWrapperVersion(_0x102290);if(!_0x309568||compareSemver(_0x309568,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+_0x62a202(0x242)+WRAPPER_VERSION+_0x62a202(0x1e4)+_0x309568),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x309568+'\x20from\x20'+_0x102290+(_0x62a202(0x27d)+_0x62a202(0x202)));const _0x3a9d85=installWrapperVersion(_0x309568,_0x102290);if(!_0x3a9d85['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0x62a202(0x276)+WRAPPER_VERSION);if(_0x3a9d85['output'])console[_0x62a202(0x241)](_0x3a9d85['output'][_0x62a202(0x23f)](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x309568,_0x102290)),![];}console[_0x62a202(0x241)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x309568+';\x20restarting\x20wrapper');const _0x350f59=process[_0x62a202(0x1fe)][0x1],_0x2c25a4=(0x0,import_child_process3[_0x62a202(0x229)])(process[_0x62a202(0x28e)],[_0x350f59,..._0x4b321a],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x309568},'shell':![]});process[_0x62a202(0x20f)](_0x2c25a4[_0x62a202(0x1e3)]??0x0);}function findCoreScript(){const _0x3f4cea=a0_0x3d8be0,_0x120e94=String(process.env.WHALENT_CORE_ENTRY||'')[_0x3f4cea(0x226)](),_0x48c72e=['1','true','yes','on'][_0x3f4cea(0x1fc)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x3f4cea(0x226)]()[_0x3f4cea(0x1f9)]());if(_0x120e94&&_0x48c72e&&fs[_0x3f4cea(0x1f4)](_0x120e94))return _0x120e94;const _0x5cefa2=[],_0x46feb5=_0x47f124=>{const _0x43b28c=_0x3f4cea;if(fs['existsSync'](_0x47f124)&&!_0x5cefa2['includes'](_0x47f124))_0x5cefa2[_0x43b28c(0x294)](_0x47f124);};if(_0x120e94)_0x46feb5(_0x120e94);const _0x44c225=npmRootGlobal();if(_0x44c225){const _0x2a4e8f=path[_0x3f4cea(0x270)](_0x44c225,_0x3f4cea(0x249),_0x3f4cea(0x251),'dist',_0x3f4cea(0x1f8));_0x46feb5(_0x2a4e8f);}const _0x24ded5=path[_0x3f4cea(0x270)](wrapperBaseDir(),'core.cjs');_0x46feb5(_0x24ded5);const _0x1715e1=path[_0x3f4cea(0x270)](wrapperBaseDir(),'..',_0x3f4cea(0x206),_0x3f4cea(0x285),_0x3f4cea(0x20c),'index.cjs');_0x46feb5(_0x1715e1);if(_0x5cefa2['length']>0x0)return _0x5cefa2[_0x3f4cea(0x21e)]((_0x43eb9c,_0xb1f317)=>({'candidate':_0x43eb9c,'index':_0xb1f317,'version':coreVersion(_0x43eb9c)}))[_0x3f4cea(0x200)]((_0xf67128,_0x33b8bf)=>{const _0x3a4428=_0x3f4cea,_0x21d520=compareSemver(_0x33b8bf['version'],_0xf67128[_0x3a4428(0x1f1)]);if(_0x21d520!==0x0)return _0x21d520;return _0x33b8bf['index']-_0xf67128['index'];})[0x0]['candidate'];throw new Error(_0x3f4cea(0x20e)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+_0x3f4cea(0x221));}function coreVersion(_0x6b41d4=findCoreScript()){const _0x51b332=a0_0x3d8be0,_0x28398b=(0x0,import_child_process3[_0x51b332(0x229)])(process[_0x51b332(0x28e)],[_0x6b41d4,'--version'],{'encoding':_0x51b332(0x272),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x5d92b8=(_0x28398b['stdout']||'')+'\x0a'+(_0x28398b['stderr']||'');return _0x5d92b8[_0x51b332(0x295)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x28d962){const _0x59dcdd=a0_0x3d8be0;try{return fs[_0x59dcdd(0x235)](_0x28d962,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x806e68){const _0x582d81=a0_0x3d8be0;return'\x27'+_0x806e68[_0x582d81(0x254)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x223899){const _0x5c997f=a0_0x3d8be0;if(process['platform']!==_0x5c997f(0x298))return'';try{const _0x1c461b=(0x0,import_module[_0x5c997f(0x274)])(_0x223899),_0x48bb32=_0x1c461b['resolve'](_0x5c997f(0x26d)),_0x11a5d8=path[_0x5c997f(0x282)](path[_0x5c997f(0x29b)](_0x48bb32),'..');return path['join'](_0x11a5d8,'prebuilds',_0x5c997f(0x246)+process[_0x5c997f(0x25c)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x244ee5){const _0x7bfd5e=a0_0x3d8be0,_0x448eba=coreNodePtySpawnHelperPath(_0x244ee5);if(!_0x448eba||CHECKED_PTY_HELPERS[_0x7bfd5e(0x1e9)](_0x448eba))return;CHECKED_PTY_HELPERS['add'](_0x448eba);if(!fs['existsSync'](_0x448eba)){console['warn'](_0x7bfd5e(0x292)+'-pty\x20spawn-helper\x20no'+_0x7bfd5e(0x1e2)+_0x448eba);return;}if(isExecutable(_0x448eba))return;try{const _0x25ce9f=fs['statSync'](_0x448eba)['mode'];fs['chmodSync'](_0x448eba,_0x25ce9f|0x1ed);}catch{}if(isExecutable(_0x448eba)){console[_0x7bfd5e(0x241)](_0x7bfd5e(0x28b)+_0x7bfd5e(0x228)+'per\x20executable\x20bit:\x20'+_0x448eba);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x7bfd5e(0x1e7)+'\x20not\x20executable:\x20'+_0x448eba),console['warn'](_0x7bfd5e(0x1f6)+_0x7bfd5e(0x23a)+_0x7bfd5e(0x21c)),console['warn']('\x20\x20HELPER='+shellQuote(_0x448eba)),console['warn'](_0x7bfd5e(0x209)),console[_0x7bfd5e(0x241)](_0x7bfd5e(0x291));}function printVersion(){const _0x51f496=a0_0x3d8be0;let _0x5eaf9d='';try{_0x5eaf9d=coreVersion();}catch{}console[_0x51f496(0x273)]('whalent-agent\x20'+WRAPPER_VERSION),console['log'](_0x51f496(0x23b)+WRAPPER_VERSION),console[_0x51f496(0x273)]('core\x20'+(_0x5eaf9d||_0x51f496(0x1f5)));}function directCore(_0x49359c){const _0x3ff029=a0_0x3d8be0,_0x8b0b05=findCoreScript();checkMacNodePtySpawnHelper(_0x8b0b05);const _0x493232=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x8b0b05,..._0x49359c],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x8b0b05},'shell':![]});process['exit'](_0x493232[_0x3ff029(0x1e3)]??0x0);}function shouldSupervise(_0x2aa891){const _0x21fdc1=a0_0x3d8be0;if(_0x2aa891[_0x21fdc1(0x1fc)]('--agent-id'))return![];if(_0x2aa891['includes'](_0x21fdc1(0x29c))||_0x2aa891[0x0]===_0x21fdc1(0x26a))return![];const _0x51a456=_0x2aa891[0x0]||'';if(_0x51a456==='ls'||_0x51a456==='status'||_0x51a456==='ps')return![];if(_0x51a456==='mcp'||_0x51a456===_0x21fdc1(0x240))return![];if(_0x2aa891[_0x21fdc1(0x1fc)]('--help')||_0x2aa891[_0x21fdc1(0x1fc)]('-h'))return![];return!![];}function installCoreVersion(_0x55ca17){const _0x54843a=a0_0x3d8be0,_0x46ee42=resolveExecutablePath(_0x54843a(0x245));if(!_0x46ee42)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x1ecbc8=CORE_PKG_NAME+'@'+_0x55ca17,_0x4fd1c7=run(_0x46ee42,[_0x54843a(0x22c),'-g',_0x1ecbc8,npmRegistryArg()]),_0x401dcc=((_0x4fd1c7[_0x54843a(0x299)]||'')+'\x0a'+(_0x4fd1c7['stderr']||''))[_0x54843a(0x226)]();return{'ok':_0x4fd1c7[_0x54843a(0x1e3)]===0x0,'output':_0x401dcc};}async function superviseCore(_0x4567fc){const _0x5ddb42=a0_0x3d8be0;let _0x3c0cdc=![],_0x4575d0=null;const _0x428bbf=[];let _0x103636=MIN_RESTART_DELAY_MS;const _0x1d947d=()=>{const _0x390b7f=a0_0x162f;_0x3c0cdc=!![];if(_0x4575d0&&!_0x4575d0[_0x390b7f(0x216)])try{_0x4575d0[_0x390b7f(0x1ff)](_0x390b7f(0x227));}catch{}else process[_0x390b7f(0x20f)](0x0);};process['on'](_0x5ddb42(0x1fa),_0x1d947d),process['on'](_0x5ddb42(0x227),_0x1d947d);while(!![]){const _0xece8b6=findCoreScript();checkMacNodePtySpawnHelper(_0xece8b6);const _0x5d54d8={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xece8b6},_0x247401=readUpgradeState(),_0x648043=!!_0x247401?.['pending'];let _0x1235a7=![],_0xfdf57=null,_0x2cefc8='';const _0x45885c=[],_0x20b6bf=0xc;console['log']('[wrapper]\x20starting\x20c'+_0x5ddb42(0x248)+_0xece8b6),_0x4575d0=(0x0,import_child_process3['spawn'])(process[_0x5ddb42(0x28e)],[_0xece8b6,..._0x4567fc],{'env':_0x5d54d8,'stdio':['inherit',_0x5ddb42(0x222),'pipe']});const _0x2f5618=()=>{const _0x873d74=_0x5ddb42;if(_0x1235a7)return;_0x1235a7=!![];if(_0xfdf57)clearTimeout(_0xfdf57);_0x428bbf[_0x873d74(0x247)]=0x0,_0x103636=MIN_RESTART_DELAY_MS;const _0x55ae47=readUpgradeState();_0x55ae47?.['pending']&&(writeUpgradeState({..._0x55ae47,'pending':![],'rollback':![],'health_status':_0x873d74(0x201)}),console[_0x873d74(0x273)]('[wrapper]\x20core\x20upgra'+_0x873d74(0x21d)+(_0x55ae47['installed_version']||_0x55ae47['target_version']||'')));},_0x30f167=(_0x11a0c2,_0x2d256d=![])=>{const _0x39c8e5=_0x5ddb42,_0x3e18ff=_0x11a0c2['toString']();(_0x2d256d?process['stderr']:process[_0x39c8e5(0x299)])['write'](_0x3e18ff);if(_0x2d256d)for(const _0x328db1 of _0x3e18ff[_0x39c8e5(0x23f)](/\r?\n/)){if(!_0x328db1[_0x39c8e5(0x226)]())continue;_0x45885c[_0x39c8e5(0x294)](_0x328db1);if(_0x45885c[_0x39c8e5(0x247)]>_0x20b6bf)_0x45885c['shift']();const _0x46e1e6=_0x328db1['match'](FATAL_PATTERN);if(_0x46e1e6)_0x2cefc8=_0x46e1e6[0x0];}(_0x3e18ff['includes']('[gateway]\x20Connected')||_0x3e18ff[_0x39c8e5(0x1fc)]('Gateway\x20registered\x20m'+_0x39c8e5(0x255))||_0x3e18ff[_0x39c8e5(0x1fc)](_0x39c8e5(0x256)))&&_0x2f5618();};_0x4575d0[_0x5ddb42(0x299)]?.['on']('data',_0x5171f6=>_0x30f167(_0x5171f6,![])),_0x4575d0['stderr']?.['on'](_0x5ddb42(0x25a),_0x2323b5=>_0x30f167(_0x2323b5,!![]));_0x648043&&(_0xfdf57=setTimeout(()=>{const _0x127dde=_0x5ddb42;if(_0x1235a7||!_0x4575d0||_0x4575d0[_0x127dde(0x216)])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+_0x127dde(0x22d)+'ack');try{_0x4575d0['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x593208=await new Promise(_0xb30163=>{_0x4575d0['once']('exit',(_0x42d3ee,_0x2c8484)=>_0xb30163({'code':_0x42d3ee,'signal':_0x2c8484}));});if(_0xfdf57)clearTimeout(_0xfdf57);_0x4575d0=null;if(_0x3c0cdc)process[_0x5ddb42(0x20f)](_0x593208[_0x5ddb42(0x283)]??0x0);const _0x1aeb6c=readUpgradeState();if(_0x1aeb6c?.['pending']&&!_0x1235a7){const _0x1486ac=String(_0x1aeb6c[_0x5ddb42(0x27a)+'n']||'')['trim']();if(_0x1486ac){console[_0x5ddb42(0x224)]('[wrapper]\x20rolling\x20ba'+_0x5ddb42(0x214)+_0x1486ac);const _0x447a1d=installCoreVersion(_0x1486ac);writeUpgradeState({..._0x1aeb6c,'pending':![],'rollback':!![],'health_status':_0x447a1d['ok']?'rolled_back':'rollback_failed','error':_0x447a1d['ok']?'':_0x447a1d['output']});}else writeUpgradeState({..._0x1aeb6c,'pending':![],'rollback':!![],'health_status':_0x5ddb42(0x23d),'error':_0x5ddb42(0x22a)+_0x5ddb42(0x1eb)});}const _0x49abaa=_0x593208[_0x5ddb42(0x283)]===SUPERVISED_RESTART_CODE||_0x1aeb6c?.[_0x5ddb42(0x1e0)];if(!_0x49abaa&&_0x593208['code']===0x0)process['exit'](0x0);const _0x463837=Date['now']();_0x428bbf[_0x5ddb42(0x294)](_0x463837);while(_0x428bbf['length']>0x0&&_0x463837-_0x428bbf[0x0]>CRASH_WINDOW_MS){_0x428bbf['shift']();}const _0x226902=_0x428bbf['length'];writeLastCrash({'timestamp':_0x463837,'exit_code':_0x593208[_0x5ddb42(0x283)],'exit_signal':_0x593208[_0x5ddb42(0x296)]||null,'fatal_line':_0x2cefc8,'raw_tail':_0x45885c['join']('\x0a'),'consecutive_crashes':_0x226902}),console['log'](_0x5ddb42(0x28f)+'d\x20code='+(_0x593208[_0x5ddb42(0x283)]??'')+(_0x593208['signal']?_0x5ddb42(0x232)+_0x593208['signal']:'')+'\x20('+_0x226902+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x2cefc8)console['log'](_0x5ddb42(0x243)+':\x20'+_0x2cefc8);_0x226902>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x5ddb42(0x266)+'d\x20'+_0x226902+_0x5ddb42(0x211)+Math[_0x5ddb42(0x278)](CRASH_WINDOW_MS/0x3e8)+(_0x5ddb42(0x293)+'record:\x20')+lastCrashFilePath()+(_0x5ddb42(0x265)+'nually\x20after\x20the\x20und'+_0x5ddb42(0x264)+'ed.')),process['exit'](0x1)),console['log']('[wrapper]\x20restarting'+_0x5ddb42(0x1ec)+_0x103636+'ms'),await new Promise(_0x45ce66=>setTimeout(_0x45ce66,_0x103636)),_0x103636=Math[_0x5ddb42(0x1ed)](_0x103636*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x52471d=a0_0x3d8be0,_0x595e49=process[_0x52471d(0x1fe)]['slice'](0x2);if(_0x595e49[0x0]===_0x52471d(0x21f)||_0x595e49[0x0]==='-v'||_0x595e49[0x0]==='version'){printVersion();return;}if((_0x595e49[0x0]==='status'||_0x595e49[0x0]==='ls'||_0x595e49[0x0]==='ps')&&!_0x595e49['includes']('--json')){console['log'](_0x52471d(0x23b)+WRAPPER_VERSION);try{console[_0x52471d(0x273)]('core\x20'+(coreVersion()||'not\x20installed'));}catch{console[_0x52471d(0x273)]('core\x20not\x20installed');}}const _0x2b41e5=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x595e49,_0x2b41e5);if(!shouldSupervise(_0x595e49))directCore(_0x595e49);await superviseCore(_0x595e49);}main()[a0_0x3d8be0(0x213)](_0x41071f=>{const _0x6f77dd=a0_0x3d8be0;console[_0x6f77dd(0x224)]('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x41071f?.['message']||String(_0x41071f))),process['exit'](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.112",
3
+ "version": "0.3.113",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -43,7 +43,7 @@
43
43
  "yaml": "^2.4.0"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@whalent/agent-core": "0.3.112",
46
+ "@whalent/agent-core": "0.3.113",
47
47
  "node-pty": "^1.1.0"
48
48
  },
49
49
  "devDependencies": {