@whalent/agent 0.3.111 → 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_0x3c3ed8=a0_0x5a40;(function(_0x34017e,_0x5a7e95){const _0xaefdef=a0_0x5a40,_0x364857=_0x34017e();while(!![]){try{const _0x151048=parseInt(_0xaefdef(0x95))/0x1+-parseInt(_0xaefdef(0x81))/0x2+parseInt(_0xaefdef(0x78))/0x3*(parseInt(_0xaefdef(0xa3))/0x4)+parseInt(_0xaefdef(0xf1))/0x5*(-parseInt(_0xaefdef(0xa7))/0x6)+-parseInt(_0xaefdef(0xa0))/0x7+-parseInt(_0xaefdef(0xbb))/0x8+parseInt(_0xaefdef(0x7d))/0x9;if(_0x151048===_0x5a7e95)break;else _0x364857['push'](_0x364857['shift']());}catch(_0x1100e7){_0x364857['push'](_0x364857['shift']());}}}(a0_0x1038,0x6d3c4));var __create=Object['create'],__defProp=Object[a0_0x3c3ed8(0xab)],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object[a0_0x3c3ed8(0x6f)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype'][a0_0x3c3ed8(0x7c)],__copyProps=(_0xd2dfc7,_0x58e1d0,_0xa49847,_0x1648b7)=>{const _0x23cba6=a0_0x3c3ed8;if(_0x58e1d0&&typeof _0x58e1d0===_0x23cba6(0xc8)||typeof _0x58e1d0===_0x23cba6(0xce)){for(let _0x248275 of __getOwnPropNames(_0x58e1d0))if(!__hasOwnProp[_0x23cba6(0xae)](_0xd2dfc7,_0x248275)&&_0x248275!==_0xa49847)__defProp(_0xd2dfc7,_0x248275,{'get':()=>_0x58e1d0[_0x248275],'enumerable':!(_0x1648b7=__getOwnPropDesc(_0x58e1d0,_0x248275))||_0x1648b7['enumerable']});}return _0xd2dfc7;},__toESM=(_0x253b72,_0x3024d7,_0x7c5521)=>(_0x7c5521=_0x253b72!=null?__create(__getProtoOf(_0x253b72)):{},__copyProps(_0x3024d7||!_0x253b72||!_0x253b72[a0_0x3c3ed8(0x74)]?__defProp(_0x7c5521,a0_0x3c3ed8(0xbe),{'value':_0x253b72,'enumerable':!![]}):_0x7c5521,_0x253b72)),import_child_process2=require(a0_0x3c3ed8(0x88)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x3c3ed8(0x84)),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x3c3ed8(0xa9)),0x1),import_child_process=require(a0_0x3c3ed8(0x88)),import_fs=require('fs'),import_path=require('path'),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x3c3ed8(0xea),CHINA_NPM_REGISTRY=a0_0x3c3ed8(0xc1)+'mirror.com';function preferredNpmRegistry(){const _0x2f00e5=normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');if(_0x2f00e5)return _0x2f00e5;return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryArg(_0x64cb3b=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x64cb3b)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x1a442e,_0x3a6845=preferredNpmRegistry()){const _0x131cf0=a0_0x3c3ed8;return _0x131cf0(0xd0)+_0x1a442e+'\x20'+npmRegistryArg(_0x3a6845);}function isChineseLocale(){const _0x581d37=a0_0x3c3ed8,_0x416716=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)[_0x581d37(0xe9)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x581d37(0xe6)](_0x416716))return!![];try{const _0xf7b605=Intl[_0x581d37(0xdf)]()[_0x581d37(0x89)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i[_0x581d37(0xe6)](_0xf7b605);}catch{return![];}}function normalizeRegistry(_0x4ca1a2){const _0x36a3e2=a0_0x3c3ed8;return String(_0x4ca1a2||'')[_0x36a3e2(0x80)]()['replace'](/\/+$/,'');}var INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x3c3ed8(0x86),'claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':a0_0x3c3ed8(0xe8)+a0_0x3c3ed8(0x75),'whalent':npmInstallCommand('@whalent/agent')+a0_0x3c3ed8(0x9b)};function isWindowsCmdFile(_0x2d4e1b){return process['platform']==='win32'&&/\.(cmd|bat)$/i['test'](_0x2d4e1b||'');}function quoteCmdArg(_0x1686bc){const _0x31755d=a0_0x3c3ed8,_0x4664ce=String(_0x1686bc??'');if(_0x4664ce&&!/[\s"&|<>^%]/['test'](_0x4664ce))return _0x4664ce;return'\x22'+_0x4664ce[_0x31755d(0x82)](/(["^&|<>%])/g,_0x31755d(0xf7))+'\x22';}function cmdFallbackArgs(_0x472721,_0xc05c75){const _0xaf6503=a0_0x3c3ed8;return['/d','/s','/c',[quoteCmdArg(_0x472721),..._0xc05c75[_0xaf6503(0x91)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x496c7f){const _0x5afd9a=a0_0x3c3ed8;if(!_0x496c7f)return null;if(_0x496c7f['includes']('/')||_0x496c7f['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x496c7f))return(0x0,import_fs[_0x5afd9a(0xaf)])(_0x496c7f)?_0x496c7f:_0x496c7f;const _0x460bee=process['platform']===_0x5afd9a(0x7b),_0x2dfaec=_0x460bee?'where.exe':'which';try{const _0x4accac=(0x0,import_child_process['spawnSync'])(_0x2dfaec,[_0x496c7f],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x4accac['status']===0x0){const _0x22cae0=(_0x4accac[_0x5afd9a(0xf4)]||'')['trim']()['split'](/\r?\n/)[_0x5afd9a(0x71)](Boolean);if(_0x22cae0['length']===0x0)return null;if(_0x460bee)for(const _0x1a38d5 of['.exe','.cmd',_0x5afd9a(0xb5),'.ps1']){const _0x5c7807=_0x22cae0[_0x5afd9a(0xa6)](_0x13e30a=>_0x13e30a['toLowerCase']()['endsWith'](_0x1a38d5));if(_0x5c7807)return _0x5c7807;}return _0x22cae0[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x3f8d29){const _0x497c4e=a0_0x3c3ed8;if(process[_0x497c4e(0xd3)]!==_0x497c4e(0x7b))return null;if(!/\.(cmd|bat)$/i['test'](_0x3f8d29))return null;let _0x453cb5;try{_0x453cb5=(0x0,import_fs[_0x497c4e(0xc3)])(_0x3f8d29,_0x497c4e(0xbc));}catch{return null;}const _0x13e062=_0x453cb5['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x13e062){const _0x4ec940=(0x0,import_path[_0x497c4e(0x9a)])((0x0,import_path[_0x497c4e(0xe5)])(_0x3f8d29),_0x13e062[0x2]);if((0x0,import_fs['existsSync'])(_0x4ec940))return{'type':_0x497c4e(0xbf),'path':_0x4ec940};}const _0x5945bb=_0x453cb5[_0x497c4e(0xb3)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x5945bb){const _0x400a65=(0x0,import_path[_0x497c4e(0x9a)])((0x0,import_path[_0x497c4e(0xe5)])(_0x3f8d29),_0x5945bb[0x2]);if((0x0,import_fs[_0x497c4e(0xaf)])(_0x400a65))return{'type':'exe','path':_0x400a65};}return null;}function safeSpawnSync(_0x5227c9,_0x54eb5c,_0x4c3423={}){const _0x5345e6=a0_0x3c3ed8,_0x8e0c3f=unwrapWindowsCmdShim(_0x5227c9);if(_0x8e0c3f?.[_0x5345e6(0xf0)]==='node')return(0x0,import_child_process['spawnSync'])(process[_0x5345e6(0x9f)],[_0x8e0c3f[_0x5345e6(0xa9)],..._0x54eb5c],_0x4c3423);if(_0x8e0c3f?.[_0x5345e6(0xf0)]==='exe')return(0x0,import_child_process['spawnSync'])(_0x8e0c3f['path'],_0x54eb5c,_0x4c3423);if(isWindowsCmdFile(_0x5227c9))return(0x0,import_child_process[_0x5345e6(0xc4)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x5227c9,_0x54eb5c),_0x4c3423);return(0x0,import_child_process['spawnSync'])(_0x5227c9,_0x54eb5c,_0x4c3423);}function a0_0x5a40(_0x3a8fae,_0xbeef4b){_0x3a8fae=_0x3a8fae-0x6f;const _0x103884=a0_0x1038();let _0x5a40c6=_0x103884[_0x3a8fae];if(a0_0x5a40['eHHTPw']===undefined){var _0x439734=function(_0x53c074){const _0x268b80='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd2dfc7='',_0x58e1d0='';for(let _0xa49847=0x0,_0x1648b7,_0x248275,_0x253b72=0x0;_0x248275=_0x53c074['charAt'](_0x253b72++);~_0x248275&&(_0x1648b7=_0xa49847%0x4?_0x1648b7*0x40+_0x248275:_0x248275,_0xa49847++%0x4)?_0xd2dfc7+=String['fromCharCode'](0xff&_0x1648b7>>(-0x2*_0xa49847&0x6)):0x0){_0x248275=_0x268b80['indexOf'](_0x248275);}for(let _0x3024d7=0x0,_0x7c5521=_0xd2dfc7['length'];_0x3024d7<_0x7c5521;_0x3024d7++){_0x58e1d0+='%'+('00'+_0xd2dfc7['charCodeAt'](_0x3024d7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58e1d0);};a0_0x5a40['pkrAsN']=_0x439734,a0_0x5a40['BWdmXP']={},a0_0x5a40['eHHTPw']=!![];}const _0x4bc1af=_0x103884[0x0],_0x56d4d6=_0x3a8fae+_0x4bc1af,_0x473a93=a0_0x5a40['BWdmXP'][_0x56d4d6];return!_0x473a93?(_0x5a40c6=a0_0x5a40['pkrAsN'](_0x5a40c6),a0_0x5a40['BWdmXP'][_0x56d4d6]=_0x5a40c6):_0x5a40c6=_0x473a93,_0x5a40c6;}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 _0x3661f7=a0_0x3c3ed8;return path['join'](os[_0x3661f7(0x8d)](),'.whalent-agent');}function upgradeStatePath(){const _0xd88707=a0_0x3c3ed8;return path[_0xd88707(0xe9)](configDir(),_0xd88707(0xb1));}function lastCrashFilePath(){return path['join'](configDir(),'last-crash.json');}function writeLastCrash(_0x531d74){const _0x18546e=a0_0x3c3ed8;try{fs[_0x18546e(0x8b)](configDir(),{'recursive':!![]});const _0xf1eb14={..._0x531d74,'reported':![]};fs[_0x18546e(0x8c)](lastCrashFilePath(),JSON['stringify'](_0xf1eb14,null,0x2),_0x18546e(0xbc));}catch{}}function readWrapperVersion(){const _0x3b0b05=a0_0x3c3ed8;try{const _0x9dc640=JSON[_0x3b0b05(0xd6)](fs['readFileSync'](path['join'](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0x9dc640[_0x3b0b05(0xde)]||'0.0.0');}catch{return _0x3b0b05(0xaa);}}function readUpgradeState(){const _0x530c09=a0_0x3c3ed8;try{return JSON[_0x530c09(0xd6)](fs[_0x530c09(0xc3)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x55e679){try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x55e679,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x477f47,_0x33c409,_0x44b1ef=process.env){return safeSpawnSync(_0x477f47,_0x33c409,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x44b1ef,'shell':![]});}function runNpmView(_0x33ed29){const _0x3cea13=a0_0x3c3ed8,_0x337d2b=resolveExecutablePath('npm');if(!_0x337d2b)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x3cea13(0x98))};return safeSpawnSync(_0x337d2b,_0x33ed29,{'encoding':_0x3cea13(0xeb),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x13b946=a0_0x3c3ed8,_0x257f61=resolveExecutablePath(_0x13b946(0xb8));if(!_0x257f61)return'';const _0x1ff61d=run(_0x257f61,['root','-g']);if(_0x1ff61d['status']!==0x0)return'';return String(_0x1ff61d[_0x13b946(0xf4)]||'')[_0x13b946(0x80)]();}function compareSemver(_0x28674f,_0x19755c){const _0x391c37=a0_0x3c3ed8,_0x27314e=String(_0x28674f||'')[_0x391c37(0x82)](/^v/,'')[_0x391c37(0xbd)](/[.-]/)[_0x391c37(0x91)](_0x43e065=>Number[_0x391c37(0x85)](_0x43e065,0xa)||0x0),_0x5e3f4a=String(_0x19755c||'')['replace'](/^v/,'')[_0x391c37(0xbd)](/[.-]/)['map'](_0x1cf714=>Number['parseInt'](_0x1cf714,0xa)||0x0);for(let _0x15fe22=0x0;_0x15fe22<Math[_0x391c37(0xee)](_0x27314e[_0x391c37(0x70)],_0x5e3f4a[_0x391c37(0x70)],0x3);_0x15fe22++){const _0x3291f1=_0x27314e[_0x15fe22]||0x0,_0x24ba39=_0x5e3f4a[_0x15fe22]||0x0;if(_0x3291f1>_0x24ba39)return 0x1;if(_0x3291f1<_0x24ba39)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x429a02=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0x429a02==='1'||_0x429a02==='true'||_0x429a02==='yes'||_0x429a02==='on';}function latestWrapperVersion(){const _0x1e0692=a0_0x3c3ed8,_0x537394=runNpmView(['view',WRAPPER_PKG_NAME+_0x1e0692(0xe4),'version',npmRegistryArg()]);if(_0x537394[_0x1e0692(0x83)]!==0x0)return'';return String(_0x537394[_0x1e0692(0xf4)]||'')['trim']()[_0x1e0692(0xbd)](/\r?\n/)[_0x1e0692(0x71)](Boolean)[_0x1e0692(0xb4)]()||'';}function installWrapperVersion(_0x591c83){const _0x4d86aa=a0_0x3c3ed8,_0x5aba23=resolveExecutablePath(_0x4d86aa(0xb8));if(!_0x5aba23)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x513584=run(_0x5aba23,['install','-g',WRAPPER_PKG_NAME+'@'+_0x591c83,npmRegistryArg()]),_0x355027=((_0x513584[_0x4d86aa(0xf4)]||'')+'\x0a'+(_0x513584[_0x4d86aa(0xdb)]||''))[_0x4d86aa(0x80)]();return{'ok':_0x513584['status']===0x0,'output':_0x355027};}function maybeUpdateWrapper(_0x5d8d90){const _0x3e01a6=a0_0x3c3ed8;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x7caf76=latestWrapperVersion();if(!_0x7caf76||compareSemver(_0x7caf76,WRAPPER_VERSION)<=0x0)return![];const _0x2fc052=preferredNpmRegistry();console[_0x3e01a6(0xd1)]('[wrapper]\x20update\x20ava'+_0x3e01a6(0xf8)+WRAPPER_VERSION+'\x20->\x20'+_0x7caf76),console[_0x3e01a6(0xd1)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x7caf76+'\x20from\x20'+_0x2fc052+('\x20before\x20starting\x20cor'+'e...'));const _0x53bb7d=installWrapperVersion(_0x7caf76);if(!_0x53bb7d['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x3e01a6(0x92)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x53bb7d[_0x3e01a6(0x7e)])console['warn'](_0x53bb7d['output']['split'](/\r?\n/)[_0x3e01a6(0xca)](-0xc)[_0x3e01a6(0xe9)]('\x0a'));return console[_0x3e01a6(0xd1)]('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x7caf76,_0x2fc052)),![];}console['warn']('[wrapper]\x20wrapper\x20up'+_0x3e01a6(0xac)+_0x7caf76+';\x20restarting\x20wrapper');const _0x4c44ed=process[_0x3e01a6(0x96)][0x1],_0xbbe918=(0x0,import_child_process2[_0x3e01a6(0xc4)])(process[_0x3e01a6(0x9f)],[_0x4c44ed,..._0x5d8d90],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x7caf76},'shell':![]});process[_0x3e01a6(0xcb)](_0xbbe918[_0x3e01a6(0x83)]??0x0);}function findCoreScript(){const _0x30eae8=a0_0x3c3ed8,_0x43f9c8=String(process.env.WHALENT_CORE_ENTRY||'')[_0x30eae8(0x80)](),_0x59bd07=['1','true',_0x30eae8(0x9d),'on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x30eae8(0x80)]()[_0x30eae8(0x94)]());if(_0x43f9c8&&_0x59bd07&&fs['existsSync'](_0x43f9c8))return _0x43f9c8;const _0x54fdcc=[],_0x67324a=_0x5d8392=>{const _0x29a53f=_0x30eae8;if(fs['existsSync'](_0x5d8392)&&!_0x54fdcc['includes'](_0x5d8392))_0x54fdcc[_0x29a53f(0xba)](_0x5d8392);};if(_0x43f9c8)_0x67324a(_0x43f9c8);const _0x3365f3=npmRootGlobal();if(_0x3365f3){const _0x19ed89=path['join'](_0x3365f3,'@whalent',_0x30eae8(0xc7),'dist',_0x30eae8(0xc5));_0x67324a(_0x19ed89);}const _0x545d3a=path[_0x30eae8(0xe9)](wrapperBaseDir(),_0x30eae8(0xcd));_0x67324a(_0x545d3a);const _0xcc0b66=path[_0x30eae8(0xe9)](wrapperBaseDir(),'..',_0x30eae8(0xe7),'core','dist',_0x30eae8(0xc5));_0x67324a(_0xcc0b66);if(_0x54fdcc[_0x30eae8(0x70)]>0x0)return _0x54fdcc['map']((_0x1dae45,_0x16b0a1)=>({'candidate':_0x1dae45,'index':_0x16b0a1,'version':coreVersion(_0x1dae45)}))['sort']((_0x3e6cb6,_0x31b015)=>{const _0x4f7111=_0x30eae8,_0x5f2cb1=compareSemver(_0x31b015['version'],_0x3e6cb6['version']);if(_0x5f2cb1!==0x0)return _0x5f2cb1;return _0x31b015['index']-_0x3e6cb6[_0x4f7111(0xd7)];})[0x0][_0x30eae8(0xcc)];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+_0x30eae8(0x79));}function coreVersion(_0x1c7e99=findCoreScript()){const _0xc3a143=a0_0x3c3ed8,_0x4dab00=(0x0,import_child_process2[_0xc3a143(0xc4)])(process['execPath'],[_0x1c7e99,'--version'],{'encoding':_0xc3a143(0xeb),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x1447d5=(_0x4dab00['stdout']||'')+'\x0a'+(_0x4dab00[_0xc3a143(0xdb)]||'');return _0x1447d5[_0xc3a143(0xb3)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x458d8f){const _0x198895=a0_0x3c3ed8;try{return fs[_0x198895(0x7a)](_0x458d8f,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x2258d1){return'\x27'+_0x2258d1['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x45696d){const _0x3f1cac=a0_0x3c3ed8;if(process['platform']!==_0x3f1cac(0xb0))return'';try{const _0x3fd339=(0x0,import_module[_0x3f1cac(0xcf)])(_0x45696d),_0x4cd55e=_0x3fd339[_0x3f1cac(0x9a)](_0x3f1cac(0x7f)),_0x3e14f8=path['resolve'](path[_0x3f1cac(0xe5)](_0x4cd55e),'..');return path['join'](_0x3e14f8,'prebuilds','darwin-'+process[_0x3f1cac(0xb2)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x14a77c){const _0x29d606=a0_0x3c3ed8,_0x37ee48=coreNodePtySpawnHelperPath(_0x14a77c);if(!_0x37ee48||CHECKED_PTY_HELPERS['has'](_0x37ee48))return;CHECKED_PTY_HELPERS[_0x29d606(0xd8)](_0x37ee48);if(!fs[_0x29d606(0xaf)](_0x37ee48)){console['warn']('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+'t\x20found:\x20'+_0x37ee48);return;}if(isExecutable(_0x37ee48))return;try{const _0x28686c=fs['statSync'](_0x37ee48)[_0x29d606(0xa4)];fs[_0x29d606(0xa8)](_0x37ee48,_0x28686c|0x1ed);}catch{}if(isExecutable(_0x37ee48)){console['warn'](_0x29d606(0xad)+'S\x20node-pty\x20spawn-hel'+_0x29d606(0xe0)+_0x37ee48);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x29d606(0x97)+_0x29d606(0x8f)+_0x37ee48),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+_0x29d606(0xf3)),console['warn'](_0x29d606(0xed)+shellQuote(_0x37ee48)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn'](_0x29d606(0xa2));}function printVersion(){const _0x4783cd=a0_0x3c3ed8;let _0x10e4d8='';try{_0x10e4d8=coreVersion();}catch{}console['log'](_0x4783cd(0x77)+WRAPPER_VERSION),console[_0x4783cd(0xc6)](_0x4783cd(0x9e)+WRAPPER_VERSION),console['log']('core\x20'+(_0x10e4d8||'not\x20installed'));}function directCore(_0x56f127){const _0x38894f=a0_0x3c3ed8,_0x4fe0a0=findCoreScript();checkMacNodePtySpawnHelper(_0x4fe0a0);const _0x486465=(0x0,import_child_process2['spawnSync'])(process[_0x38894f(0x9f)],[_0x4fe0a0,..._0x56f127],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x4fe0a0},'shell':![]});process[_0x38894f(0xcb)](_0x486465['status']??0x0);}function shouldSupervise(_0x1f8a22){const _0x313057=a0_0x3c3ed8;if(_0x1f8a22[_0x313057(0x99)](_0x313057(0xda)))return![];if(_0x1f8a22['includes']('--resume')||_0x1f8a22[0x0]==='resume')return![];const _0x4431e4=_0x1f8a22[0x0]||'';if(_0x4431e4==='ls'||_0x4431e4===_0x313057(0x83)||_0x4431e4==='ps')return![];if(_0x4431e4===_0x313057(0x8e)||_0x4431e4===_0x313057(0xb7))return![];if(_0x1f8a22['includes'](_0x313057(0xfa))||_0x1f8a22['includes']('-h'))return![];return!![];}function installCoreVersion(_0x377860){const _0x164821=a0_0x3c3ed8,_0x43efd6=resolveExecutablePath('npm');if(!_0x43efd6)return{'ok':![],'output':_0x164821(0xd2)+'H'};const _0x4c13d3=CORE_PKG_NAME+'@'+_0x377860,_0x56f4e3=run(_0x43efd6,['install','-g',_0x4c13d3,npmRegistryArg()]),_0x259006=((_0x56f4e3['stdout']||'')+'\x0a'+(_0x56f4e3[_0x164821(0xdb)]||''))['trim']();return{'ok':_0x56f4e3[_0x164821(0x83)]===0x0,'output':_0x259006};}async function superviseCore(_0x57c266){const _0xd3705=a0_0x3c3ed8;let _0xc6c9c5=![],_0x32a204=null;const _0x2ced13=[];let _0x45678b=MIN_RESTART_DELAY_MS;const _0x1457c2=()=>{const _0x277c02=a0_0x5a40;_0xc6c9c5=!![];if(_0x32a204&&!_0x32a204['killed'])try{_0x32a204['kill'](_0x277c02(0xdc));}catch{}else process[_0x277c02(0xcb)](0x0);};process['on'](_0xd3705(0x72),_0x1457c2),process['on']('SIGTERM',_0x1457c2);while(!![]){const _0x4b6593=findCoreScript();checkMacNodePtySpawnHelper(_0x4b6593);const _0x1227e7={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x4b6593},_0x3afa7c=readUpgradeState(),_0x42a87d=!!_0x3afa7c?.['pending'];let _0xb9ded9=![],_0x4a006a=null,_0x50daa7='';const _0x506e0a=[],_0x12778b=0xc;console['log']('[wrapper]\x20starting\x20c'+_0xd3705(0xfb)+_0x4b6593),_0x32a204=(0x0,import_child_process2[_0xd3705(0xe2)])(process[_0xd3705(0x9f)],[_0x4b6593,..._0x57c266],{'env':_0x1227e7,'stdio':[_0xd3705(0xa5),'pipe','pipe']});const _0x354efb=()=>{const _0x33b8e4=_0xd3705;if(_0xb9ded9)return;_0xb9ded9=!![];if(_0x4a006a)clearTimeout(_0x4a006a);_0x2ced13[_0x33b8e4(0x70)]=0x0,_0x45678b=MIN_RESTART_DELAY_MS;const _0x4bfb99=readUpgradeState();_0x4bfb99?.[_0x33b8e4(0xef)]&&(writeUpgradeState({..._0x4bfb99,'pending':![],'rollback':![],'health_status':'healthy'}),console['log']('[wrapper]\x20core\x20upgra'+_0x33b8e4(0xc9)+(_0x4bfb99[_0x33b8e4(0xf9)]||_0x4bfb99['target_version']||'')));},_0x5bd13a=(_0x22514c,_0x3754f0=![])=>{const _0x2012fb=_0xd3705,_0x1ca4dd=_0x22514c[_0x2012fb(0xb9)]();(_0x3754f0?process['stderr']:process[_0x2012fb(0xf4)])[_0x2012fb(0xdd)](_0x1ca4dd);if(_0x3754f0)for(const _0x2c6cf6 of _0x1ca4dd['split'](/\r?\n/)){if(!_0x2c6cf6['trim']())continue;_0x506e0a[_0x2012fb(0xba)](_0x2c6cf6);if(_0x506e0a['length']>_0x12778b)_0x506e0a[_0x2012fb(0x73)]();const _0x436070=_0x2c6cf6['match'](FATAL_PATTERN);if(_0x436070)_0x50daa7=_0x436070[0x0];}(_0x1ca4dd['includes']('[gateway]\x20Connected')||_0x1ca4dd[_0x2012fb(0x99)]('Gateway\x20registered\x20m'+_0x2012fb(0xf6))||_0x1ca4dd['includes']('Gateway:\x20connected'))&&_0x354efb();};_0x32a204[_0xd3705(0xf4)]?.['on'](_0xd3705(0xd4),_0x5f3cb5=>_0x5bd13a(_0x5f3cb5,![])),_0x32a204[_0xd3705(0xdb)]?.['on'](_0xd3705(0xd4),_0x31e92b=>_0x5bd13a(_0x31e92b,!![]));_0x42a87d&&(_0x4a006a=setTimeout(()=>{const _0x5eb3f2=_0xd3705;if(_0xb9ded9||!_0x32a204||_0x32a204[_0x5eb3f2(0x76)])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+_0x5eb3f2(0x8a)+_0x5eb3f2(0x90));try{_0x32a204['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x520120=await new Promise(_0x25ef8c=>{const _0x1e9a23=_0xd3705;_0x32a204[_0x1e9a23(0xd5)]('exit',(_0x2a5bb3,_0x47eeca)=>_0x25ef8c({'code':_0x2a5bb3,'signal':_0x47eeca}));});if(_0x4a006a)clearTimeout(_0x4a006a);_0x32a204=null;if(_0xc6c9c5)process['exit'](_0x520120[_0xd3705(0xe1)]??0x0);const _0x1fe299=readUpgradeState();if(_0x1fe299?.[_0xd3705(0xef)]&&!_0xb9ded9){const _0x2ee796=String(_0x1fe299['previous_core_versio'+'n']||'')[_0xd3705(0x80)]();if(_0x2ee796){console[_0xd3705(0xec)]('[wrapper]\x20rolling\x20ba'+_0xd3705(0xf2)+_0x2ee796);const _0x1d50a1=installCoreVersion(_0x2ee796);writeUpgradeState({..._0x1fe299,'pending':![],'rollback':!![],'health_status':_0x1d50a1['ok']?_0xd3705(0x93):_0xd3705(0xf5),'error':_0x1d50a1['ok']?'':_0x1d50a1['output']});}else writeUpgradeState({..._0x1fe299,'pending':![],'rollback':!![],'health_status':_0xd3705(0xb6),'error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x21534a=_0x520120['code']===SUPERVISED_RESTART_CODE||_0x1fe299?.[_0xd3705(0xef)];if(!_0x21534a&&_0x520120[_0xd3705(0xe1)]===0x0)process['exit'](0x0);const _0x1aa94c=Date['now']();_0x2ced13['push'](_0x1aa94c);while(_0x2ced13['length']>0x0&&_0x1aa94c-_0x2ced13[0x0]>CRASH_WINDOW_MS){_0x2ced13['shift']();}const _0xae5f37=_0x2ced13['length'];writeLastCrash({'timestamp':_0x1aa94c,'exit_code':_0x520120['code'],'exit_signal':_0x520120[_0xd3705(0x87)]||null,'fatal_line':_0x50daa7,'raw_tail':_0x506e0a[_0xd3705(0xe9)]('\x0a'),'consecutive_crashes':_0xae5f37}),console['log']('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x520120[_0xd3705(0xe1)]??'')+(_0x520120['signal']?_0xd3705(0xe3)+_0x520120['signal']:'')+'\x20('+_0xae5f37+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x50daa7)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x50daa7);_0xae5f37>=MAX_CRASHES_IN_WINDOW&&(console[_0xd3705(0xec)](_0xd3705(0xd9)+'d\x20'+_0xae5f37+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0xd3705(0xc2))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+_0xd3705(0xc0))),process[_0xd3705(0xcb)](0x1)),console['log']('[wrapper]\x20restarting'+'\x20in\x20'+_0x45678b+'ms'),await new Promise(_0x1f3f49=>setTimeout(_0x1f3f49,_0x45678b)),_0x45678b=Math['min'](_0x45678b*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x11bce1=a0_0x3c3ed8,_0x2b660d=process['argv']['slice'](0x2);if(_0x2b660d[0x0]==='--version'||_0x2b660d[0x0]==='-v'||_0x2b660d[0x0]===_0x11bce1(0xde)){printVersion();return;}if((_0x2b660d[0x0]===_0x11bce1(0x83)||_0x2b660d[0x0]==='ls'||_0x2b660d[0x0]==='ps')&&!_0x2b660d[_0x11bce1(0x99)]('--json')){console[_0x11bce1(0xc6)]('wrapper\x20'+WRAPPER_VERSION);try{console[_0x11bce1(0xc6)]('core\x20'+(coreVersion()||'not\x20installed'));}catch{console[_0x11bce1(0xc6)]('core\x20not\x20installed');}}maybeUpdateWrapper(_0x2b660d);if(!shouldSupervise(_0x2b660d))directCore(_0x2b660d);await superviseCore(_0x2b660d);}function a0_0x1038(){const _0x1a3f3e=['w3DYyxbWzxjDignVCMuGzMfPBgu','ls1Hz2vUDc1Pza','C3rKzxjY','u0Lhvevstq','D3jPDgu','DMvYC2LVBG','rgf0zvrPBwvgB3jTyxq','CgvYigv4zwn1DgfIBguGyML0oIa','y29Kzq','C3bHD24','ihnPz25HBd0','qgXHDgvZDa','zgLYBMfTzq','DgvZDa','CgfJA2fNzxm','BNbTigLUC3rHBgWGlwCGB3bLBMm','AM9PBG','ANmUB3jN','DxrMoa','zxjYB3i','icbiruXqrvi9','Bwf4','CgvUzgLUzW','DhLWzq','mtbTq2r2r0i','y2SGy29Yzsb0BYa','ufrzihn0yxj0Dxa6','C3rKB3v0','CM9SBgjHy2TFzMfPBgvK','ywnOAw5L','xIqX','AwXHyMXLoIa','Aw5ZDgfSBgvKx3zLCNnPB24','ls1OzwXW','B3jLoIa','z2v0t3DUuhjVCgvYDhLoyw1LCW','BgvUz3rO','zMLSDgvY','u0Lhsu5u','C2HPzNq','x19LC01VzhvSzq','B2rLlwfP','A2LSBgvK','D2HHBgvUDc1Hz2vUDca','mti3nJK4m1rAugDPBa','ywDLBNq','ywnJzxnZu3LUyW','D2LUmZi','AgfZt3DUuhjVCgvYDhK','ody4nZiYm1rHAxjpyq','B3v0Chv0','BM9Kzs1WDhK','DhjPBq','mtC0nJiXnLDHrK1oza','CMvWBgfJzq','C3rHDhvZ','Bw9KDwXL','CgfYC2vjBNq','ywKVy29KzxG','C2LNBMfS','y2HPBgrFChjVy2vZCW','CMvZB2X2zwrpChrPB25Z','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','BwTKAxjtEw5J','D3jPDgvgAwXLu3LUyW','Ag9TzwrPCG','BwnW','ig5VDcbLEgvJDxrHyMXLoIa','ywnR','BwfW','zgf0zsbMywLSzwq7ignVBNrPBNu','CM9SBgvKx2jHy2S','Dg9mB3DLCKnHC2u','nZm5nJG3wM5bu1bs','yxjNDG','lxb0EsbZCgf3BI1OzwXWzxiGAxm','BNbTig5VDcbMB3vUza','Aw5JBhvKzxm','CMvZB2X2zq','ic0TChjLzMvYlw9UBgLUzq','w3DYyxbWzxjDiezHDgfSigvYCM8','EwvZ','D3jHChbLCIa','zxHLy1bHDgG','mti3mZyZnNzqzevVEa','CJOG','icbJAg1VzcaREcaIjeHftfbfuIi','oeXuv0XZuG','Bw9Kzq','Aw5OzxjPDa','zMLUza','mJa5ntGZnKLvAfDcwG','y2HTB2rtEw5J','Cgf0Aa','mc4WlJa','zgvMAw5LuhjVCgvYDhK','zgf0zwqGDg8G','w3DYyxbWzxjDigzPEgvKig1Hy08','y2fSBa','zxHPC3rZu3LUyW','zgfYD2LU','y29Yzs11CgDYywrLlMPZB24','yxjJAa','Bwf0y2G','Cg9W','lMjHDa','CM9SBgjHy2TFDw5HDMfPBgfIBgu','zgfLBw9Ulw1JCa','BNbT','Dg9tDhjPBMC','ChvZAa','mJG0mti4mhrcvvv3CW','DxrMltG','C3bSAxq','zgvMyxvSDa','BM9Kzq','zwqU','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','CMvJB3jKoIa','CMvHzezPBgvtEw5J','C3bHD25tEw5J','Aw5KzxGUy2PZ','Bg9N','ywDLBNqTy29Yzq','B2jQzwn0','zguGAgvHBhrOEtOG','C2XPy2u','zxHPDa','y2fUzgLKyxrL','y29Yzs5JANm','zNvUy3rPB24','y3jLyxrLuMvXDwLYzq','BNbTigLUC3rHBgWGlwCG','D2fYBG','BNbTig5VDcbMB3vUzcbVBIbqqvq','CgXHDgzVCM0','zgf0yq','B25Jzq','CgfYC2u','Aw5KzxG','ywrK'];a0_0x1038=function(){return _0x1a3f3e;};return a0_0x1038();}main()['catch'](_0xc9a67e=>{const _0x2d7aef=a0_0x3c3ed8;console['error'](_0x2d7aef(0x9c)+_0x2d7aef(0xa1)+(_0xc9a67e?.['message']||String(_0xc9a67e))),process[_0x2d7aef(0xcb)](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.111",
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.111",
46
+ "@whalent/agent-core": "0.3.113",
47
47
  "node-pty": "^1.1.0"
48
48
  },
49
49
  "devDependencies": {