@whalent/agent 0.3.170 → 0.3.171

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_0xea9ef9=a0_0x7490;(function(_0x4d37db,_0x7f2a58){const _0x4e3720=a0_0x7490,_0x2ff964=_0x4d37db();while(!![]){try{const _0xb3bfd1=-parseInt(_0x4e3720(0x224))/0x1+-parseInt(_0x4e3720(0x218))/0x2+-parseInt(_0x4e3720(0x24c))/0x3*(-parseInt(_0x4e3720(0x273))/0x4)+-parseInt(_0x4e3720(0x1e1))/0x5*(-parseInt(_0x4e3720(0x270))/0x6)+parseInt(_0x4e3720(0x255))/0x7*(parseInt(_0x4e3720(0x1ca))/0x8)+parseInt(_0x4e3720(0x1c3))/0x9*(parseInt(_0x4e3720(0x29c))/0xa)+-parseInt(_0x4e3720(0x27f))/0xb;if(_0xb3bfd1===_0x7f2a58)break;else _0x2ff964['push'](_0x2ff964['shift']());}catch(_0x489aa7){_0x2ff964['push'](_0x2ff964['shift']());}}}(a0_0x1a5b,0xdb384));var __create=Object['create'],__defProp=Object[a0_0xea9ef9(0x1c4)],__getOwnPropDesc=Object['getOwnPropertyDescri'+a0_0xea9ef9(0x2b1)],__getOwnPropNames=Object[a0_0xea9ef9(0x2b2)],__getProtoOf=Object[a0_0xea9ef9(0x249)],__hasOwnProp=Object['prototype']['hasOwnProperty'],__copyProps=(_0x5d4f22,_0x1dda4b,_0x58b736,_0x46cc29)=>{const _0x50dc99=a0_0xea9ef9;if(_0x1dda4b&&typeof _0x1dda4b==='object'||typeof _0x1dda4b===_0x50dc99(0x1fd)){for(let _0x45b9e9 of __getOwnPropNames(_0x1dda4b))if(!__hasOwnProp[_0x50dc99(0x2b4)](_0x5d4f22,_0x45b9e9)&&_0x45b9e9!==_0x58b736)__defProp(_0x5d4f22,_0x45b9e9,{'get':()=>_0x1dda4b[_0x45b9e9],'enumerable':!(_0x46cc29=__getOwnPropDesc(_0x1dda4b,_0x45b9e9))||_0x46cc29[_0x50dc99(0x205)]});}return _0x5d4f22;},__toESM=(_0x209b0d,_0x407062,_0xfa10d8)=>(_0xfa10d8=_0x209b0d!=null?__create(__getProtoOf(_0x209b0d)):{},__copyProps(_0x407062||!_0x209b0d||!_0x209b0d[a0_0xea9ef9(0x222)]?__defProp(_0xfa10d8,a0_0xea9ef9(0x277),{'value':_0x209b0d,'enumerable':!![]}):_0xfa10d8,_0x209b0d)),import_child_process3=require(a0_0xea9ef9(0x29d)),fs=__toESM(require('fs'),0x1),import_module=require('module'),path2=__toESM(require('path'),0x1),readline=__toESM(require('readline'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require('path'),import_child_process=require(a0_0xea9ef9(0x29d)),DEFAULT_NPM_REGISTRY=a0_0xea9ef9(0x251)+'js.org',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 _0x107c3c=explicitNpmRegistry();if(_0x107c3c)return _0x107c3c;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x43ab19=preferredNpmRegistry()){const _0x4791db=explicitNpmRegistry();if(_0x4791db)return[_0x4791db];const _0x24b268=normalizeRegistry(_0x43ab19)||DEFAULT_NPM_REGISTRY,_0x59b080=_0x24b268===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array['from'](new Set([_0x24b268,_0x59b080]));}async function selectFastNpmRegistry(_0x468f0b=REGISTRY_PROBE_TIMEOUT_MS){const _0x1e3157=a0_0xea9ef9,_0x22c32b=explicitNpmRegistry();if(_0x22c32b)return rememberNpmRegistry(_0x22c32b),_0x22c32b;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x1e3157(0x283)];const _0x35b9ef=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x5b1470=_0x35b9ef['map'](()=>new AbortController());let _0x59d9ef=-0x1;const _0x30bee5=_0x35b9ef['map']((_0x4dc48b,_0x1e9dfb)=>probeRegistry200(_0x4dc48b,_0x468f0b,_0x5b1470[_0x1e9dfb][_0x1e3157(0x221)])['then'](()=>({'registry':_0x4dc48b,'index':_0x1e9dfb})));try{const _0x79fd7f=await Promise['any'](_0x30bee5);_0x59d9ef=_0x79fd7f[_0x1e3157(0x28a)];const _0x4aa1ac=_0x79fd7f['registry'];return rememberNpmRegistry(_0x4aa1ac),_0x4aa1ac;}catch{const _0x2a1923=_0x35b9ef[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x2a1923),_0x2a1923;}finally{_0x5b1470[_0x1e3157(0x22e)]((_0x1422fd,_0x486495)=>{if(_0x486495!==_0x59d9ef)_0x1422fd['abort']();});}}function rememberNpmRegistry(_0x42bee9){const _0x2259b4=normalizeRegistry(_0x42bee9);if(_0x2259b4)selectedRegistryCache={'registry':_0x2259b4,'ts':Date['now']()};}function npmRegistryArg(_0x31f911=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x31f911)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x3ba6cc,_0x1fdd88=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x3ba6cc+'\x20'+npmRegistryArg(_0x1fdd88);}function isChineseLocale(){const _0x1317cf=a0_0xea9ef9,_0x103105=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x1317cf(0x246)](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x1317cf(0x1f9)](_0x103105))return!![];try{const _0x43ee33=Intl[_0x1317cf(0x2b6)]()[_0x1317cf(0x252)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x43ee33);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x1a89af){const _0x54b18b=a0_0xea9ef9;return String(_0x1a89af||'')[_0x54b18b(0x21c)]()[_0x54b18b(0x1d7)](/\/+$/,'');}function probeRegistry200(_0x536848,_0xbc7e1e,_0x282781){return new Promise((_0x5755fb,_0x259b38)=>{const _0x4cabb9=a0_0x7490;let _0x3f4909=![];const _0x5e65e3=_0x342ee4=>{const _0x52ee5c=a0_0x7490;if(_0x3f4909)return;_0x3f4909=!![],clearTimeout(_0x3f0e70),_0x282781?.[_0x52ee5c(0x258)](_0x52ee5c(0x1cd),_0x293a6c);if(!_0x5e9fea['killed'])try{_0x5e9fea['kill']('SIGTERM');}catch{}if(_0x342ee4)_0x259b38(_0x342ee4);else _0x5755fb();},_0x293a6c=()=>{const _0xb851ec=a0_0x7490;_0x5e65e3(new Error(_0xb851ec(0x264)+'ed'));},_0x3f0e70=setTimeout(()=>{_0x5e65e3(new Error('registry\x20probe\x20timed'+'\x20out'));},_0xbc7e1e);_0x3f0e70['unref']?.();const _0x5e9fea=(0x0,import_child_process['spawn'])(process['execPath'],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x536848)||DEFAULT_NPM_REGISTRY,String(_0xbc7e1e)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x5e9fea['on']('error',_0x5e65e3),_0x5e9fea['on']('exit',_0x902d62=>{const _0x4bd0f5=a0_0x7490;if(_0x902d62===0x0)_0x5e65e3();else _0x5e65e3(new Error('registry\x20probe\x20faile'+'d:\x20exit='+(_0x902d62??_0x4bd0f5(0x221))));}),_0x282781?.['addEventListener']('abort',_0x293a6c,{'once':!![]});if(_0x282781?.[_0x4cabb9(0x1c9)]){_0x293a6c();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0xea9ef9(0x2a7)+'e(\x27http\x27);\x0aconst\x20htt'+'ps\x20=\x20require(\x27https\x27'+a0_0xea9ef9(0x2ab)+'String(process.argv['+'1]\x20||\x20\x27\x27).replace(/\x5c'+a0_0xea9ef9(0x1da)+'eoutMs\x20=\x20Number(proc'+a0_0xea9ef9(0x298)+a0_0xea9ef9(0x1c2)+'=\x20new\x20URL(\x27/-/ping\x27,'+'\x20registry\x20+\x20\x27/\x27);\x0aco'+a0_0xea9ef9(0x261)+a0_0xea9ef9(0x1dd)+'tps\x20:\x20http;\x0alet\x20done'+a0_0xea9ef9(0x2b8)+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+a0_0xea9ef9(0x1f0)+a0_0xea9ef9(0x294)+a0_0xea9ef9(0x219)+a0_0xea9ef9(0x23b)+a0_0xea9ef9(0x1de)+a0_0xea9ef9(0x287)+a0_0xea9ef9(0x299)+a0_0xea9ef9(0x1c8)+a0_0xea9ef9(0x1bb)+'mod.request(url,\x20{\x0a\x20'+a0_0xea9ef9(0x20d)+a0_0xea9ef9(0x28d)+'agent:\x20false,\x0a\x20\x20head'+a0_0xea9ef9(0x280)+'\x20\x27whalent-agent-regi'+a0_0xea9ef9(0x1ea)+'\x20\x27application/json,t'+'ext/plain,*/*\x27\x20},\x0a},'+a0_0xea9ef9(0x24a)+a0_0xea9ef9(0x1e6)+'d\x27,\x20()\x20=>\x20finish(res'+'.statusCode\x20===\x20200\x20'+a0_0xea9ef9(0x2bb)+a0_0xea9ef9(0x2a1)+a0_0xea9ef9(0x26a)+'imeout\x27,\x20()\x20=>\x20finis'+a0_0xea9ef9(0x27e)+a0_0xea9ef9(0x1d8)+a0_0xea9ef9(0x29f),INSTALL_HINT={'codex':a0_0xea9ef9(0x276)+'ai/codex','claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+a0_0xea9ef9(0x233)};function isWindowsCmdFile(_0x1c9c99){const _0x10d850=a0_0xea9ef9;return process['platform']==='win32'&&/\.(cmd|bat)$/i[_0x10d850(0x1f9)](_0x1c9c99||'');}function quoteCmdArg(_0x21b717){const _0x491d82=String(_0x21b717??'');if(_0x491d82&&!/[\s"&|<>^%]/['test'](_0x491d82))return _0x491d82;return'\x22'+_0x491d82['replace'](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x280e62,_0x141449){const _0x358690=a0_0xea9ef9;return['/d','/s','/c',[quoteCmdArg(_0x280e62),..._0x141449[_0x358690(0x26e)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x2f2282){const _0x50f0e8=a0_0xea9ef9;if(!_0x2f2282)return null;if(_0x2f2282['includes']('/')||_0x2f2282['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x50f0e8(0x1f9)](_0x2f2282))return(0x0,import_fs[_0x50f0e8(0x250)])(_0x2f2282)?_0x2f2282:_0x2f2282;const _0x41f7e4=process[_0x50f0e8(0x201)]===_0x50f0e8(0x25d),_0xd74aba=_0x41f7e4?'where.exe':_0x50f0e8(0x257);try{const _0x3e70c0=(0x0,import_child_process2[_0x50f0e8(0x26f)])(_0xd74aba,[_0x2f2282],{'encoding':_0x50f0e8(0x1d0),'timeout':0xbb8,'shell':![]});if(_0x3e70c0[_0x50f0e8(0x265)]===0x0){const _0x1dd0f3=(_0x3e70c0['stdout']||'')[_0x50f0e8(0x21c)]()[_0x50f0e8(0x253)](/\r?\n/)['filter'](Boolean);if(_0x1dd0f3['length']===0x0)return null;if(_0x41f7e4)for(const _0x10c03b of[_0x50f0e8(0x2a9),_0x50f0e8(0x2a6),_0x50f0e8(0x200),_0x50f0e8(0x2b0)]){const _0x15ea07=_0x1dd0f3['find'](_0x187992=>_0x187992['toLowerCase']()['endsWith'](_0x10c03b));if(_0x15ea07)return _0x15ea07;}return _0x1dd0f3[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x13c2bf){const _0x2f125f=a0_0xea9ef9;if(process[_0x2f125f(0x201)]!==_0x2f125f(0x25d))return null;if(!/\.(cmd|bat)$/i['test'](_0x13c2bf))return null;let _0x458409;try{_0x458409=(0x0,import_fs['readFileSync'])(_0x13c2bf,_0x2f125f(0x1d0));}catch{return null;}const _0xec7325=_0x458409['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0xec7325){const _0x5478c8=(0x0,import_path[_0x2f125f(0x239)])((0x0,import_path['dirname'])(_0x13c2bf),_0xec7325[0x2]);if((0x0,import_fs['existsSync'])(_0x5478c8))return{'type':'node','path':_0x5478c8};}const _0x72c8f2=_0x458409[_0x2f125f(0x231)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x72c8f2){const _0x467aa5=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x13c2bf),_0x72c8f2[0x2]);if((0x0,import_fs['existsSync'])(_0x467aa5))return{'type':'exe','path':_0x467aa5};}return null;}function safeSpawnSync(_0x1d4e7b,_0x519c27,_0x3d797d={}){const _0x5d8bdc=a0_0xea9ef9,_0x436d2e=unwrapWindowsCmdShim(_0x1d4e7b);if(_0x436d2e?.[_0x5d8bdc(0x216)]===_0x5d8bdc(0x210))return(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x436d2e[_0x5d8bdc(0x262)],..._0x519c27],_0x3d797d);if(_0x436d2e?.[_0x5d8bdc(0x216)]==='exe')return(0x0,import_child_process2[_0x5d8bdc(0x26f)])(_0x436d2e['path'],_0x519c27,_0x3d797d);if(isWindowsCmdFile(_0x1d4e7b))return(0x0,import_child_process2[_0x5d8bdc(0x26f)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x1d4e7b,_0x519c27),_0x3d797d);return(0x0,import_child_process2[_0x5d8bdc(0x26f)])(_0x1d4e7b,_0x519c27,_0x3d797d);}var os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),PROFILE_ROOT=path[a0_0xea9ef9(0x247)](os['homedir'](),'.whalent-agent',a0_0xea9ef9(0x271)),WHALENT_AGENT_DEFAULT_HOME=path[a0_0xea9ef9(0x247)](os[a0_0xea9ef9(0x1c1)](),'.whalent-agent'),WHALENT_SHARED_HELPERS_DIR=path['join'](WHALENT_AGENT_DEFAULT_HOME,'helpers'),WRAPPER_PKG_NAME=a0_0xea9ef9(0x266),CORE_PKG_NAME='@whalent/agent-core',SUPERVISED_RESTART_CODE=0x4b,DAEMON_REPLACED_EXIT_CODE=0x4f,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(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){return path2['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x5d9142=a0_0xea9ef9;return path2[_0x5d9142(0x247)](configDir(),_0x5d9142(0x20b));}function writeLastCrash(_0x54bcca){const _0x9e3315=a0_0xea9ef9;try{fs[_0x9e3315(0x1cb)](configDir(),{'recursive':!![]});const _0x2b7d17={..._0x54bcca,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x9e3315(0x267)](_0x2b7d17,null,0x2),_0x9e3315(0x1d0));}catch{}}function readWrapperVersion(){const _0x37d82a=a0_0xea9ef9;try{const _0x4998a9=JSON[_0x37d82a(0x285)](fs['readFileSync'](path2['join'](wrapperBaseDir(),'..','package.json'),_0x37d82a(0x1d0)));return String(_0x4998a9[_0x37d82a(0x1fc)]||_0x37d82a(0x1d9));}catch{return _0x37d82a(0x1d9);}}function readUpgradeState(){const _0x1ef500=a0_0xea9ef9;try{return JSON[_0x1ef500(0x285)](fs['readFileSync'](upgradeStatePath(),_0x1ef500(0x1d0)));}catch{return null;}}function writeUpgradeState(_0x41e00d){const _0x106b8a=a0_0xea9ef9;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON['stringify']({..._0x41e00d,'updated_at':Date['now']()},null,0x2),_0x106b8a(0x1d0));}catch{}}function a0_0x7490(_0x44e9c9,_0x131a72){_0x44e9c9=_0x44e9c9-0x1ba;const _0x1a5bc5=a0_0x1a5b();let _0x749007=_0x1a5bc5[_0x44e9c9];if(a0_0x7490['rtLXbK']===undefined){var _0x1480f9=function(_0x3321da){const _0x367276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d4f22='',_0x1dda4b='';for(let _0x58b736=0x0,_0x46cc29,_0x45b9e9,_0x209b0d=0x0;_0x45b9e9=_0x3321da['charAt'](_0x209b0d++);~_0x45b9e9&&(_0x46cc29=_0x58b736%0x4?_0x46cc29*0x40+_0x45b9e9:_0x45b9e9,_0x58b736++%0x4)?_0x5d4f22+=String['fromCharCode'](0xff&_0x46cc29>>(-0x2*_0x58b736&0x6)):0x0){_0x45b9e9=_0x367276['indexOf'](_0x45b9e9);}for(let _0x407062=0x0,_0xfa10d8=_0x5d4f22['length'];_0x407062<_0xfa10d8;_0x407062++){_0x1dda4b+='%'+('00'+_0x5d4f22['charCodeAt'](_0x407062)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1dda4b);};a0_0x7490['iclyqs']=_0x1480f9,a0_0x7490['xyRMzF']={},a0_0x7490['rtLXbK']=!![];}const _0x1730cb=_0x1a5bc5[0x0],_0x2f6895=_0x44e9c9+_0x1730cb,_0x807251=a0_0x7490['xyRMzF'][_0x2f6895];return!_0x807251?(_0x749007=a0_0x7490['iclyqs'](_0x749007),a0_0x7490['xyRMzF'][_0x2f6895]=_0x749007):_0x749007=_0x807251,_0x749007;}function run(_0xc1c4e4,_0x33ba6c,_0xf7d8f8=process.env){return safeSpawnSync(_0xc1c4e4,_0x33ba6c,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0xf7d8f8,'shell':![]});}function runNpmView(_0x409821){const _0x332d2e=a0_0xea9ef9,_0x14e274=resolveExecutablePath('npm');if(!_0x14e274)return{'status':0x7f,'stdout':'','stderr':_0x332d2e(0x1f7),'error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x14e274,_0x409821,{'encoding':_0x332d2e(0x1e2),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x27b10a=a0_0xea9ef9,_0x1dcab3=resolveExecutablePath('npm');if(!_0x1dcab3)return'';const _0x822cad=run(_0x1dcab3,[_0x27b10a(0x229),'-g']);if(_0x822cad[_0x27b10a(0x265)]!==0x0)return'';return String(_0x822cad['stdout']||'')['trim']();}function compareSemver(_0x4946ab,_0x3bbab5){const _0x2f628f=a0_0xea9ef9,_0x6ad058=String(_0x4946ab||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x2f628f(0x26e)](_0x3d3378=>Number['parseInt'](_0x3d3378,0xa)||0x0),_0x3d70ff=String(_0x3bbab5||'')[_0x2f628f(0x1d7)](/^v/,'')[_0x2f628f(0x253)](/[.-]/)[_0x2f628f(0x26e)](_0x5941ee=>Number[_0x2f628f(0x22d)](_0x5941ee,0xa)||0x0);for(let _0xc9c9f2=0x0;_0xc9c9f2<Math[_0x2f628f(0x2ac)](_0x6ad058['length'],_0x3d70ff['length'],0x3);_0xc9c9f2++){const _0x24e3d7=_0x6ad058[_0xc9c9f2]||0x0,_0x70be74=_0x3d70ff[_0xc9c9f2]||0x0;if(_0x24e3d7>_0x70be74)return 0x1;if(_0x24e3d7<_0x70be74)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x40da3f=a0_0xea9ef9,_0x7911f0=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0x7911f0==='1'||_0x7911f0===_0x40da3f(0x214)||_0x7911f0===_0x40da3f(0x232)||_0x7911f0==='on';}function latestWrapperVersion(_0x4f18da){const _0x5cb11d=a0_0xea9ef9;let _0x34ed95={'version':'','registry':_0x4f18da};for(const _0x233ab6 of npmRegistryCandidates(_0x4f18da)){const _0x5cef0b=runNpmView(['view',WRAPPER_PKG_NAME+_0x5cb11d(0x2a8),'version',npmRegistryArg(_0x233ab6)]);if(_0x5cef0b[_0x5cb11d(0x265)]!==0x0)continue;const _0x296533=String(_0x5cef0b['stdout']||'')['trim']()['split'](/\r?\n/)['filter'](Boolean)[_0x5cb11d(0x217)]()||'';_0x296533&&(!_0x34ed95[_0x5cb11d(0x1fc)]||compareSemver(_0x296533,_0x34ed95['version'])>0x0)&&(_0x34ed95={'version':_0x296533,'registry':_0x233ab6});}return _0x34ed95;}function installWrapperVersion(_0x191ae0,_0xc22dbe){const _0x5f597b=a0_0xea9ef9,_0x29c602=resolveExecutablePath('npm');if(!_0x29c602)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x19d5ee=run(_0x29c602,[_0x5f597b(0x2ae),'-g',WRAPPER_PKG_NAME+'@'+_0x191ae0,npmRegistryArg(_0xc22dbe)]),_0x517d98=((_0x19d5ee['stdout']||'')+'\x0a'+(_0x19d5ee['stderr']||''))['trim']();return{'ok':_0x19d5ee['status']===0x0,'output':_0x517d98};}async function maybeUpdateWrapper(_0x585ede,_0x16d983){const _0x1cb040=a0_0xea9ef9;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x127426=latestWrapperVersion(_0x16d983),_0x307053=_0x127426[_0x1cb040(0x1fc)];if(!_0x307053||compareSemver(_0x307053,WRAPPER_VERSION)<=0x0)return![];console[_0x1cb040(0x2b7)](_0x1cb040(0x1d6)+'ilable:\x20'+WRAPPER_VERSION+_0x1cb040(0x223)+_0x307053),console[_0x1cb040(0x2b7)](_0x1cb040(0x24e)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x307053+'\x20from\x20'+_0x127426[_0x1cb040(0x283)]+(_0x1cb040(0x23c)+_0x1cb040(0x1e7)));const _0x26452e=installWrapperVersion(_0x307053,_0x127426['registry']);if(!_0x26452e['ok']){console[_0x1cb040(0x2b7)](_0x1cb040(0x1f6)+_0x1cb040(0x2a3)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x26452e['output'])console[_0x1cb040(0x2b7)](_0x26452e['output']['split'](/\r?\n/)[_0x1cb040(0x1fa)](-0xc)[_0x1cb040(0x247)]('\x0a'));return console[_0x1cb040(0x2b7)]('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x307053,_0x127426['registry'])),![];}process['platform']==='win32'&&(console[_0x1cb040(0x2b7)](_0x1cb040(0x1f6)+'dated\x20to\x20'+_0x307053+'.'),console[_0x1cb040(0x2b7)]('[wrapper]\x20Windows\x20ca'+_0x1cb040(0x25f)+_0x1cb040(0x297)+_0x1cb040(0x1f2)),console['warn']('[wrapper]\x20请重新输入上一条\x20w'+_0x1cb040(0x29a)),process['exit'](0x0));console['warn'](_0x1cb040(0x1f6)+'dated\x20to\x20'+_0x307053+_0x1cb040(0x254));const _0x4b09a6=process[_0x1cb040(0x1e8)][0x1],_0x6aa68c=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x4b09a6,..._0x585ede],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x307053},'shell':![]});process[_0x1cb040(0x225)](_0x6aa68c['status']??0x0);}function findCoreScript(){const _0x8be1e7=a0_0xea9ef9,_0x56b7e3=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x33cff5=['1',_0x8be1e7(0x214),'yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x8be1e7(0x21c)]()['toLowerCase']());if(_0x56b7e3&&_0x33cff5&&fs['existsSync'](_0x56b7e3))return _0x56b7e3;const _0x2fd017=[],_0x4c5b67=_0x551c13=>{const _0x2ecc0c=_0x8be1e7;if(fs['existsSync'](_0x551c13)&&!_0x2fd017[_0x2ecc0c(0x2b3)](_0x551c13))_0x2fd017['push'](_0x551c13);};if(_0x56b7e3)_0x4c5b67(_0x56b7e3);const _0x39726f=npmRootGlobal();if(_0x39726f){const _0x3a6cc8=path2[_0x8be1e7(0x247)](_0x39726f,'@whalent',_0x8be1e7(0x27b),_0x8be1e7(0x2ba),'index.cjs');_0x4c5b67(_0x3a6cc8);}const _0x3446ae=path2[_0x8be1e7(0x247)](wrapperBaseDir(),_0x8be1e7(0x29b));_0x4c5b67(_0x3446ae);const _0x509b9f=path2[_0x8be1e7(0x247)](wrapperBaseDir(),'..','packages','core','dist',_0x8be1e7(0x1db));_0x4c5b67(_0x509b9f);if(_0x2fd017['length']>0x0)return _0x2fd017[_0x8be1e7(0x26e)]((_0x4acd80,_0x191a29)=>({'candidate':_0x4acd80,'index':_0x191a29,'version':coreVersion(_0x4acd80)}))[_0x8be1e7(0x290)]((_0x38fdf0,_0x1b4c01)=>{const _0x1203a7=_0x8be1e7,_0x18d241=compareSemver(_0x1b4c01[_0x1203a7(0x1fc)],_0x38fdf0['version']);if(_0x18d241!==0x0)return _0x18d241;return _0x1b4c01[_0x1203a7(0x28a)]-_0x38fdf0['index'];})[0x0][_0x8be1e7(0x241)];throw new Error(_0x8be1e7(0x28b)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x8be1e7(0x22f)+_0x8be1e7(0x1ff));}function coreVersion(_0x78c019=findCoreScript()){const _0x533cec=a0_0xea9ef9,_0x182b2e=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x78c019,'--version'],{'encoding':_0x533cec(0x1e2),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x388f46=(_0x182b2e['stdout']||'')+'\x0a'+(_0x182b2e['stderr']||'');return _0x388f46['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x2a8ad3){const _0x165bb2=a0_0xea9ef9;try{return fs[_0x165bb2(0x1ba)](_0x2a8ad3,fs[_0x165bb2(0x2ad)][_0x165bb2(0x1ed)]),!![];}catch{return![];}}function shellQuote(_0x499c22){const _0x31f9f9=a0_0xea9ef9;return'\x27'+_0x499c22[_0x31f9f9(0x1d7)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x2f4b86){const _0x39bc88=a0_0xea9ef9;if(process[_0x39bc88(0x201)]!=='darwin')return'';try{const _0xb9a163=(0x0,import_module[_0x39bc88(0x268)])(_0x2f4b86),_0x3def5=_0xb9a163[_0x39bc88(0x239)](_0x39bc88(0x1eb)),_0x314564=path2['resolve'](path2[_0x39bc88(0x21a)](_0x3def5),'..');return path2[_0x39bc88(0x247)](_0x314564,_0x39bc88(0x227),'darwin-'+process[_0x39bc88(0x228)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x1287b7){const _0x417e32=a0_0xea9ef9,_0x5a1ed2=coreNodePtySpawnHelperPath(_0x1287b7);if(!_0x5a1ed2||CHECKED_PTY_HELPERS[_0x417e32(0x286)](_0x5a1ed2))return;CHECKED_PTY_HELPERS['add'](_0x5a1ed2);if(!fs['existsSync'](_0x5a1ed2)){console[_0x417e32(0x2b7)]('[wrapper]\x20macOS\x20node'+_0x417e32(0x204)+_0x417e32(0x25a)+_0x5a1ed2);return;}if(isExecutable(_0x5a1ed2))return;try{const _0x4315ab=fs[_0x417e32(0x1f1)](_0x5a1ed2)[_0x417e32(0x212)];fs['chmodSync'](_0x5a1ed2,_0x4315ab|0x1ed);}catch{}if(isExecutable(_0x5a1ed2)){console['warn'](_0x417e32(0x1bf)+_0x417e32(0x260)+'per\x20executable\x20bit:\x20'+_0x5a1ed2);return;}console['warn'](_0x417e32(0x1d5)+_0x417e32(0x28c)+'\x20not\x20executable:\x20'+_0x5a1ed2),console['warn']('[wrapper]\x20Run\x20this\x20o'+_0x417e32(0x288)+'PTY\x20startup:'),console[_0x417e32(0x2b7)]('\x20\x20HELPER='+shellQuote(_0x5a1ed2)),console[_0x417e32(0x2b7)](_0x417e32(0x20c)),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x16c30f=a0_0xea9ef9;let _0x5b5c50='';try{_0x5b5c50=coreVersion();}catch{}console[_0x16c30f(0x284)]('whalent-agent\x20'+WRAPPER_VERSION),console['log'](_0x16c30f(0x1d1)+WRAPPER_VERSION),console['log'](_0x16c30f(0x281)+(_0x5b5c50||_0x16c30f(0x230)));}function detectPersistenceContext(){const _0x5a97f3=a0_0xea9ef9;let _0x395cdb='';if(process.env.STY)_0x395cdb='screen';else{if(process.env.TMUX)_0x395cdb=_0x5a97f3(0x1ec);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x395cdb=_0x5a97f3(0x21e);else{if(process.env.PM2_HOME)_0x395cdb='pm2';else process['platform']!=='win32'&&typeof process[_0x5a97f3(0x278)]===_0x5a97f3(0x215)&&process['ppid']===0x1&&(_0x395cdb=_0x5a97f3(0x21e));}}}return{'inSession':_0x395cdb,'hasScreen':process['platform']===_0x5a97f3(0x25d)?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']==='win32'?![]:!!resolveExecutablePath(_0x5a97f3(0x1ec))};}function persistenceCheckSkipped(){const _0x467c32=a0_0xea9ef9,_0x2ddd63=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()['toLowerCase']();return _0x2ddd63==='1'||_0x2ddd63===_0x467c32(0x214)||_0x2ddd63==='yes'||_0x2ddd63==='on';}function persistenceInstallHint(){const _0x4d685e=a0_0xea9ef9,_0x53ecc8=[];if(process[_0x4d685e(0x201)]===_0x4d685e(0x1c7))_0x53ecc8[_0x4d685e(0x21b)](_0x4d685e(0x220)+'\x20brew\x20install\x20screen');else process['platform']===_0x4d685e(0x23a)&&(_0x53ecc8['push'](_0x4d685e(0x25c)+'\x20sudo\x20apt-get\x20instal'+_0x4d685e(0x23f)),_0x53ecc8[_0x4d685e(0x21b)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x4d685e(0x245)+'do\x20dnf\x20install\x20-y\x20sc'+'reen'),_0x53ecc8[_0x4d685e(0x21b)](_0x4d685e(0x1e4)+_0x4d685e(0x27c)),_0x53ecc8['push'](_0x4d685e(0x291)+_0x4d685e(0x275)+'en'));return _0x53ecc8[_0x4d685e(0x21b)](_0x4d685e(0x202)+_0x4d685e(0x2b5)+'\x20screen\x20-S\x20whalent\x20\x20'+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0x53ecc8;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){const _0x3f5707=a0_0xea9ef9;if(!process[_0x3f5707(0x27d)][_0x3f5707(0x20f)])return!![];return new Promise(_0x2f7846=>{const _0x8fec74=_0x3f5707,_0xe9302b=readline[_0x8fec74(0x243)]({'input':process['stdin'],'output':process['stderr']});let _0x1dc99d=![];const _0x35f8d1=_0x21ec29=>{const _0xd1b3e4=_0x8fec74;if(_0x1dc99d)return;_0x1dc99d=!![];try{_0xe9302b[_0xd1b3e4(0x235)]();}catch{}_0x2f7846(_0x21ec29);},_0x24c4d9=setTimeout(()=>{const _0x4d5b29=_0x8fec74;process['stderr'][_0x4d5b29(0x259)](_0x4d5b29(0x1fb)+'动('+Math[_0x4d5b29(0x1c6)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x4d5b29(0x23e)),_0x35f8d1(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x24c4d9[_0x8fec74(0x289)]==='function')_0x24c4d9[_0x8fec74(0x289)]();_0xe9302b['on'](_0x8fec74(0x235),()=>{clearTimeout(_0x24c4d9);}),_0xe9302b['on']('SIGINT',()=>{clearTimeout(_0x24c4d9),_0x35f8d1(![]);}),_0xe9302b['question']('[wrapper]\x20没有终端保活,断开\x20'+_0x8fec74(0x2b9)+_0x8fec74(0x22a)+Math[_0x8fec74(0x1c6)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20默认继续):\x20',_0x3cf415=>{const _0x34ab33=_0x8fec74;clearTimeout(_0x24c4d9);const _0x4e89bb=String(_0x3cf415||'')[_0x34ab33(0x21c)]()[_0x34ab33(0x269)]();_0x35f8d1(!(_0x4e89bb==='n'||_0x4e89bb==='no'));});});}function a0_0x1a5b(){const _0x40b0b8=['pYaWidOGmIKPoWOGihjLCY5VBIG','ywnJzxnZu3LUyW','B3v0txmPoWPJB25ZDcbYzxeGpsa','w3DYyxbWzxjDioAiLUIUVUE9RIbxsefmru4','BgvUz3rO','BIb1BMTUB3DU','w3DYyxbWzxjDigzPEgvKig1Hy08','zcbJB2rLpq','Ag9TzwrPCG','ihX8idmWmda7cMnVBNn0ihvYBca','ou9jruvgsG','zgvMAw5LuhjVCgvYDhK','w3DYyxbWzxjDignVCMuGzMfPBgu','CM91BMq','zgfYD2LU','ksa9pIbMAw5PC2GOmYKSihrPBwu','ywjVCNrLza','mtGXntiWofzuEMPgCa','BwTKAxjtEw5J','y29Kzq','ywjVCNq','ywnOAw5L','icaGicaGicaGicaGihnJCMvLBIa','DxrMltG','D3jHChbLCIa','w3DYyxbWzxjDignVCMuGDxbNCMe','AgfZu2nYzwvU','C3bHD24','w3DYyxbWzxjDig1Hy09tig5Vzgu','w3DYyxbWzxjDihvWzgf0zsbHDMe','CMvWBgfJzq','jYWGkcKGpt4GzMLUAxnOkdqPktS','mc4WlJa','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','Aw5KzxGUy2PZ','w3DYyxbWzxjDig5LDYbJB3jLigq','B2WGpt09icDODhrWCZONid8GAhq','y2f0y2GGE30kicbWCM9JzxnZlMu','igLUia','B3jLoIa','mZvfzu1Uq2W','DxrMoa','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','icaJiefSCgLUztOGicaGicaGica','u1rftKnfx0nirunlpthJGii','C3vTzsGPoWOGihjLCY5VBIGNzw4','zs4UlG','yxjNDG','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','C3rYEs1WCM9IzsCSiefJy2vWDdO','BM9Kzs1WDhK','Dg11Ea','wf9psW','C2nYzwvU','zguGAgvHBhrOEtOG','zIaOzg9UzsKGCMv0DxjUoWOGigq','C3rHDfn5BMm','BsbMCM9TihrOAxmGChjVy2vZCY4','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','572UifDiquXftLrFu0Tjuf9qrvjtsq','Aw5tzxnZAw9U','w3DYyxbWzxjDihDYyxbWzxiGDxa','BNbTig5VDcbMB3vUza','zxjYB3i','DgvZDa','C2XPy2u','cLT3CMfWCgvYxsdML6dOVPpLHAxVViZPU5JORQtNU6FNU63LKk8','DMvYC2LVBG','zNvUy3rPB24','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','ywDLBNq','lMjHDa','CgXHDgzVCM0','icaJifrOzw4GCMuTyxr0ywnOigK','zwqU','lxb0EsbZCgf3BI1OzwXWzxiGBM8','zw51BwvYywjSzq','ls12zxjZAw9U','ls1Yzxn1Bwu','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','ywnR','BgfZDc1JCMfZAc5QC29U','icbSCYaTBcaIjeHftfbfuIi','ig1LDgHVzdOGj0DfvcCScIaGDgK','ls1Hz2vUDc1Pza','AxnuvfK','BM9Kzq','CZSGz2L2Aw5NihvWlIbdCMfZAca','Bw9Kzq','zgfLBw9Ulw1JCa','Dhj1zq','BNvTyMvY','DhLWzq','Cg9W','nJu4mJm2u1Lvz2Tg','Aw1LB3v0khrPBwvYktSkicb0CNK','zgLYBMfTzq','ChvZAa','DhjPBq','A2LSBgvK','C3LZDgvTza','CMvZDw1L','icaJig1Hy09toIaGicaGicaGica','C2LNBMfS','x19LC01VzhvSzq','ic0+ia','nZa5ntqYD0fNqM5g','zxHPDa','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','ChjLyNvPBgrZ','yxjJAa','CM9VDa','44cc5lUn54s257UN57UT5zcx77YFw1KVBL3VViG','AgfZvg11Ea','r2f0zxDHEsbYzwDPC3rLCMvKig0','CgfYC2vjBNq','zM9YrwfJAa','B3iGCMvIDwLSzcbaD2HHBgvUDc8','BM90igLUC3rHBgXLza','Bwf0y2G','EwvZ','ic0TChjLzMvYlw9UBgLUzq','B25Jzq','y2XVC2u','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','w3DYyxbWzxjDioIVT+wCQcbZy3jLzw4G','zxHLy1bHDgG','CMvZB2X2zq','BgLUDxG','ihSGCMvXlMrLC3rYB3KOktSGFsa','igjLzM9YzsbZDgfYDgLUzYbJB3i','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','CYdOTOxML7BVViNJGiik','BcaTEsbZy3jLzw4','q0Hfq0S9msdLVlRLIlBOT7pOV4FMRAtMO4dMN6xJGii','y2fUzgLKyxrL','C3rKzxjY','y3jLyxrLsw50zxjMywnL','5zMO5OIw5l+D5OYb57Ui56UV56Qx5y+J5OMt5BYa44cc','ihnJCMvLBIaGicaGiYbVCJOGC3u','zMLSDgvY','AM9PBG','tLrFu0Tjuf9qrvjtsvnuru5drv8','z2v0uhjVDg90ExbLt2y','icHYzxmPid0+ihSkicbYzxmUCMu','DgfYz2v0x3zLCNnPB24','mJm4mtm3q3rRyuvo','ios8MUIVNEs4Rq','w3DYyxbWzxjDigLUC3rHBgXPBMC','ls1OzwXW','zxHPC3rZu3LUyW','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','CMvZB2X2zwrpChrPB25Z','C3bSAxq','oYbYzxn0yxj0Aw5NihDYyxbWzxi','mtr1wvDQENK','AwqGBM90igjLy29TzsbOzwfSDgG','D2HPy2G','CMvTB3zLrxzLBNrmAxn0zw5LCG','D3jPDgu','DcbMB3vUzdOG','5BMZ5y+W57Ui56UV6io95yQB5BM257UN57UT5zcV5yQO44cc','icaJierLyMLHBIaVifvIDw50DtO','D2LUmZi','CgvUzgLUzW','BM5VDcbZywzLBhKGCMuTzw50zxi','uYbUB2rLlxb0EsbZCgf3BI1OzwW','BNn0ig1Vzca9ihvYBc5WCM90B2m','Cgf0Aa','icaGicaGicaGicaGihrTDxGGBMu','CMvNAxn0CNKGChjVyMuGywjVCNq','C3rHDhvZ','qhDOywXLBNqVywDLBNq','C3rYAw5NAwz5','y3jLyxrLuMvXDwLYzq','Dg9mB3DLCKnHC2u','AcG0ksK7cN0PoWPYzxeUB24Oj3q','ioAjMoEUOq','y2f0y2G','ChjLDMLVDxmGy29Yzsb2zxjZAw8','BwfW','C3bHD25tEw5J','mteXnty3meHtzvb3Dq','ChjVzMLSzxm','w3DYyxbWzxjDigXHC3qGzMf0ywW','nZjZs2PwBLe','DcdIHPiG5zYOihnJCMvLBIdPH4WGD2HHBgu','ihn1zg8GCgfJBwfUic1tihnJCMu','BNbTigLUC3rHBgWGlwCGqg9Wzw4','zgvMyxvSDa','ChbPza','y2SGy29Yzsb0BYa','C2HPzNq','ywDLBNqTy29Yzq','ihn1zg8GyxbRigfKzcbZy3jLzw4','C3rKAw4','AcGZksK7cNjLCs5VBIGNzxjYB3i','mZa2mZy0ntjNuxbbr0m','zxjZoIb7icDvC2vYlufNzw50jZO','y29Yzsa','Aw5OzxjPDa','CMvNAxn0CNK','Bg9N','CgfYC2u','AgfZ','EgL0kgnVzguPoWP9oWPJB25ZDca','BMnLihrVigzPEcb0zxjTAw5HBc8','Dw5Yzwy','Aw5KzxG','D2HHBgvUDcbJB3jLihj1BNrPBwu','lxb0EsbZCgf3BI1OzwXWzxiGAxm','BwvVDxq6ihrPBwvVDxrnCYWkica','w3DYyxbWzxjDihjVBgXPBMCGyMe','5BEY5zYOia','C29YDa','icaJiefYy2G6icaGicaGicaGica','zgf0yq','BIaVihrTDxJJGii','B25Lid0GDhj1ztSkicbJBgvHCLq','zxjSEwLUzYbPC3n1zsbPCYbMAxG','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','ihrOzsb1CgrHDgvKig5WBsbZAgK','zxnZlMfYz3zBmL0GFhWGmZaWmcK','DgLTzxiGpsbZzxruAw1LB3v0kcG','AgfSzw50iowrVEs7Pos7PEs9V+EuQoAwSoEjIoACRooaGG','y29Yzs5JANm','mtuZnZq3nZbfqwHKEfq','y2HPBgrFChjVy2vZCW','CJOG','cNjLCs5LBMqOktSk','CMvJB3jKoIa','j2vYCM9YjYWGkcKGpt4GzMLUAxm','C3rKB3v0','zgf0zsbMywLSzwq7ignVBNrPBNu','BNbTig5VDcbMB3vUzcbVBIbqqvq','6k6K77Ym57UN57UT5zcV5yQO44cc','lMnTza','cMnVBNn0igH0DhaGpsbYzxf1Axi','qgXHDgvZDa','lMv4zq','5zco6yEn6lEr77YAC2nYzwvUic1tihDOywXLBG','ktSky29UC3qGCMvNAxn0CNKGpsa','Bwf4','y29UC3rHBNrZ','Aw5ZDgfSBa','u0Lhsu5u','lNbZmq','ChrVCG','z2v0t3DUuhjVCgvYDhLoyw1LCW','Aw5JBhvKzxm','y2fSBa','BNnPzguGC2nYzwvUlcbLlMCUoIa','rgf0zvrPBwvgB3jTyxq','D2fYBG','id0GzMfSC2u7cMnVBNn0igzPBMK','u1niic8G5ywZ6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBG','zgLZDa'];a0_0x1a5b=function(){return _0x40b0b8;};return a0_0x1a5b();}async function ensurePersistencePrompt(_0x3c4058){const _0x1cd57d=a0_0xea9ef9;if(!shouldSupervise(_0x3c4058))return;if(persistenceCheckSkipped())return;if(process['platform']==='win32'){console['warn']('[wrapper]\x20Windows\x20上不'+'要求\x20screen\x20/\x20tmux;将使用'+_0x1cd57d(0x25b)),console['warn']('[wrapper]\x20若需要后台保活,建议'+'使用\x20Windows\x20任务计划、服务管理'+_0x1cd57d(0x244));return;}const _0x8de859=detectPersistenceContext();if(_0x8de859[_0x1cd57d(0x1f5)]===_0x1cd57d(0x1ee)||_0x8de859['inSession']===_0x1cd57d(0x1ec)){console['log'](_0x1cd57d(0x1fe)+_0x1cd57d(0x28f)+_0x8de859['inSession']+_0x1cd57d(0x24d));return;}if(_0x8de859[_0x1cd57d(0x1f5)]==='systemd'||_0x8de859[_0x1cd57d(0x1f5)]==='pm2'){console[_0x1cd57d(0x284)](_0x1cd57d(0x23d)+'到\x20'+_0x8de859[_0x1cd57d(0x1f5)]+_0x1cd57d(0x26b));return;}if(_0x8de859[_0x1cd57d(0x1d3)]||_0x8de859[_0x1cd57d(0x22b)]){const _0xdea6b7=[_0x8de859[_0x1cd57d(0x1d3)]?'screen':'',_0x8de859[_0x1cd57d(0x22b)]?_0x1cd57d(0x1ec):''][_0x1cd57d(0x246)](Boolean)['join']('\x20/\x20');console['warn']('[wrapper]\x20检测到\x20'+_0xdea6b7+_0x1cd57d(0x208)),console[_0x1cd57d(0x2b7)]('[wrapper]\x20断开\x20SSH\x20/\x20关'+'闭终端会终止\x20daemon。建议放进\x20s'+'creen\x20/\x20tmux\x20内:');if(_0x8de859['hasScreen'])console[_0x1cd57d(0x2b7)](_0x1cd57d(0x1cf)+'-S\x20whalent\x20\x20\x20#\x20再在\x20sc'+'reen\x20里运行\x20whalent');if(_0x8de859['hasTmux'])console['warn'](_0x1cd57d(0x263)+'w\x20-s\x20whalent');if(!process[_0x1cd57d(0x27d)]['isTTY']){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+_0x1cd57d(0x1e3)+_0x1cd57d(0x2a5)),console['warn'](_0x1cd57d(0x296)+_0x1cd57d(0x1f4)+_0x1cd57d(0x1e5));return;}const _0x3a77c7=await confirmContinueWithoutPersistence();!_0x3a77c7&&(console[_0x1cd57d(0x2b7)]('[wrapper]\x20已按用户要求取消启动'+'。'),console[_0x1cd57d(0x2b7)](_0x1cd57d(0x237)+_0x1cd57d(0x209)+_0x1cd57d(0x248)+_0x1cd57d(0x240)),process[_0x1cd57d(0x225)](0x0));return;}console['warn'](_0x1cd57d(0x236)+_0x1cd57d(0x293)),console[_0x1cd57d(0x2b7)]('[wrapper]\x20一旦断开\x20SSH\x20或'+_0x1cd57d(0x226)+'P\x20终止,所有正在跑的任务都会中断。'),console[_0x1cd57d(0x2b7)](_0x1cd57d(0x1e9)+'器以实现保活:');for(const _0x3ad83a of persistenceInstallHint())console[_0x1cd57d(0x2b7)](_0x3ad83a);if(!process[_0x1cd57d(0x27d)]['isTTY']){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+_0x1cd57d(0x1e3)+_0x1cd57d(0x2a5)),console['warn']('[wrapper]\x20若想抑制此告警,可设'+'置\x20WHALENT_SKIP_PERSI'+_0x1cd57d(0x1e5));return;}const _0xb39307=await confirmContinueWithoutPersistence();!_0xb39307&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20安装\x20screen\x20'+_0x1cd57d(0x2aa)+_0x1cd57d(0x274)+'nt'),console['warn'](_0x1cd57d(0x1bc)+'T_SKIP_PERSISTENCE_C'+'HECK=1\x20强制跳过此检查。'),process['exit'](0x0));}function directCore(_0x33b7cf){const _0x15377d=a0_0xea9ef9,_0x4c7b3e=findCoreScript();checkMacNodePtySpawnHelper(_0x4c7b3e);const _0x16b5bc=(0x0,import_child_process3['spawnSync'])(process[_0x15377d(0x238)],[_0x4c7b3e,..._0x33b7cf],{'stdio':_0x15377d(0x282),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x4c7b3e},'shell':![]});process['exit'](_0x16b5bc[_0x15377d(0x265)]??0x0);}function shouldSupervise(_0x18c049){const _0xf4092c=a0_0xea9ef9;if(_0x18c049['includes'](_0xf4092c(0x20e)))return![];if(_0x18c049[_0xf4092c(0x2b3)](_0xf4092c(0x207))||_0x18c049[0x0]===_0xf4092c(0x21f))return![];const _0x57c3ac=_0x18c049[0x0]||'';if(_0x57c3ac==='ls'||_0x57c3ac==='status'||_0x57c3ac==='ps')return![];if(_0x57c3ac==='mcp'||_0x57c3ac===_0xf4092c(0x213))return![];if(_0x18c049[_0xf4092c(0x2b3)](_0xf4092c(0x24f))||_0x18c049[_0xf4092c(0x2b3)]('-h'))return![];return!![];}function installCoreVersion(_0x616e54){const _0x34ed92=a0_0xea9ef9,_0x46e776=resolveExecutablePath('npm');if(!_0x46e776)return{'ok':![],'output':_0x34ed92(0x2a4)+'H'};const _0x922527=CORE_PKG_NAME+'@'+_0x616e54,_0x5cd655=run(_0x46e776,['install','-g',_0x922527,npmRegistryArg()]),_0x2c51ea=((_0x5cd655['stdout']||'')+'\x0a'+(_0x5cd655['stderr']||''))[_0x34ed92(0x21c)]();return{'ok':_0x5cd655[_0x34ed92(0x265)]===0x0,'output':_0x2c51ea};}async function superviseCore(_0x5511a6){const _0x3288ce=a0_0xea9ef9;let _0x3d8506=![],_0x259add=null;const _0x2294f2=[];let _0x161958=MIN_RESTART_DELAY_MS;const _0x5dc96b=()=>{_0x3d8506=!![];if(_0x259add&&!_0x259add['killed'])try{_0x259add['kill']('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0x3288ce(0x2af),_0x5dc96b),process['on']('SIGTERM',_0x5dc96b);while(!![]){const _0x46fa3c=findCoreScript();checkMacNodePtySpawnHelper(_0x46fa3c);const _0x58cfc6={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x46fa3c},_0x3e23dd=readUpgradeState(),_0x442e45=!!_0x3e23dd?.[_0x3288ce(0x25e)];let _0x31f29e=![],_0x4ade17=null,_0x5e5bc9='';const _0x369beb=[],_0x2a653a=0xc;console['log']('[wrapper]\x20starting\x20c'+_0x3288ce(0x1e0)+_0x46fa3c),_0x259add=(0x0,import_child_process3[_0x3288ce(0x1d4)])(process['execPath'],[_0x46fa3c,..._0x5511a6],{'env':_0x58cfc6,'stdio':['inherit','pipe','pipe']});const _0x1822ed=()=>{const _0x2232c1=_0x3288ce;if(_0x31f29e)return;_0x31f29e=!![];if(_0x4ade17)clearTimeout(_0x4ade17);_0x2294f2['length']=0x0,_0x161958=MIN_RESTART_DELAY_MS;const _0x314489=readUpgradeState();_0x314489?.[_0x2232c1(0x25e)]&&(writeUpgradeState({..._0x314489,'pending':![],'rollback':![],'health_status':'healthy'}),console['log'](_0x2232c1(0x1d2)+_0x2232c1(0x1ef)+(_0x314489['installed_version']||_0x314489[_0x2232c1(0x24b)]||'')));},_0x557fa9=(_0x110c74,_0x1055db=![])=>{const _0x4fda0e=_0x3288ce,_0x533acc=_0x110c74['toString']();(_0x1055db?process[_0x4fda0e(0x242)]:process['stdout'])[_0x4fda0e(0x259)](_0x533acc);if(_0x1055db)for(const _0x2773aa of _0x533acc[_0x4fda0e(0x253)](/\r?\n/)){if(!_0x2773aa['trim']())continue;_0x369beb[_0x4fda0e(0x21b)](_0x2773aa);if(_0x369beb[_0x4fda0e(0x1bd)]>_0x2a653a)_0x369beb[_0x4fda0e(0x27a)]();const _0x52aa88=_0x2773aa[_0x4fda0e(0x231)](FATAL_PATTERN);if(_0x52aa88)_0x5e5bc9=_0x52aa88[0x0];}(_0x533acc['includes']('[gateway]\x20Connected')||_0x533acc[_0x4fda0e(0x2b3)](_0x4fda0e(0x22c)+_0x4fda0e(0x1ce))||_0x533acc['includes']('Gateway:\x20connected'))&&_0x1822ed();};_0x259add[_0x3288ce(0x2a2)]?.['on'](_0x3288ce(0x292),_0x458be9=>_0x557fa9(_0x458be9,![])),_0x259add[_0x3288ce(0x242)]?.['on']('data',_0x4abc30=>_0x557fa9(_0x4abc30,!![]));_0x442e45&&(_0x4ade17=setTimeout(()=>{const _0x53cdb5=_0x3288ce;if(_0x31f29e||!_0x259add||_0x259add[_0x53cdb5(0x21d)])return;console[_0x53cdb5(0x1f8)](_0x53cdb5(0x1dc)+_0x53cdb5(0x256)+_0x53cdb5(0x1f3)+_0x53cdb5(0x20a));try{_0x259add['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x1d0a4f=await new Promise(_0x41319a=>{const _0x39cee8=_0x3288ce;_0x259add[_0x39cee8(0x234)]('exit',(_0x28c5a6,_0x4fa079)=>_0x41319a({'code':_0x28c5a6,'signal':_0x4fa079}));});if(_0x4ade17)clearTimeout(_0x4ade17);_0x259add=null;if(_0x3d8506)process['exit'](_0x1d0a4f['code']??0x0);const _0x19d27a=readUpgradeState();_0x1d0a4f[_0x3288ce(0x1cc)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x3288ce(0x284)]('[wrapper]\x20daemon\x20rep'+'laced\x20by\x20a\x20newer\x20dae'+'mon\x20on\x20the\x20same\x20user'+'+machine;\x20wrapper\x20ex'+'iting'),process[_0x3288ce(0x225)](0x0));if(_0x19d27a?.['pending']&&!_0x31f29e){const _0x7e4d59=String(_0x19d27a['previous_core_versio'+'n']||'')['trim']();if(_0x7e4d59){console[_0x3288ce(0x1f8)](_0x3288ce(0x28e)+_0x3288ce(0x279)+_0x7e4d59);const _0x43aae8=installCoreVersion(_0x7e4d59);writeUpgradeState({..._0x19d27a,'pending':![],'rollback':!![],'health_status':_0x43aae8['ok']?'rolled_back':'rollback_failed','error':_0x43aae8['ok']?'':_0x43aae8['output']});}else writeUpgradeState({..._0x19d27a,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x3288ce(0x26d)+_0x3288ce(0x1be)});}const _0x17303e=_0x1d0a4f[_0x3288ce(0x1cc)]===SUPERVISED_RESTART_CODE||_0x19d27a?.[_0x3288ce(0x25e)];if(!_0x17303e&&_0x1d0a4f[_0x3288ce(0x1cc)]===0x0)process[_0x3288ce(0x225)](0x0);const _0x26aa7c=Date['now']();_0x2294f2[_0x3288ce(0x21b)](_0x26aa7c);while(_0x2294f2[_0x3288ce(0x1bd)]>0x0&&_0x26aa7c-_0x2294f2[0x0]>CRASH_WINDOW_MS){_0x2294f2['shift']();}const _0xf08724=_0x2294f2['length'];writeLastCrash({'timestamp':_0x26aa7c,'exit_code':_0x1d0a4f[_0x3288ce(0x1cc)],'exit_signal':_0x1d0a4f[_0x3288ce(0x221)]||null,'fatal_line':_0x5e5bc9,'raw_tail':_0x369beb['join']('\x0a'),'consecutive_crashes':_0xf08724}),console['log']('[wrapper]\x20core\x20exite'+_0x3288ce(0x1c0)+(_0x1d0a4f[_0x3288ce(0x1cc)]??'')+(_0x1d0a4f[_0x3288ce(0x221)]?'\x20signal='+_0x1d0a4f[_0x3288ce(0x221)]:'')+'\x20('+_0xf08724+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x5e5bc9)console[_0x3288ce(0x284)](_0x3288ce(0x272)+':\x20'+_0x5e5bc9);_0xf08724>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x3288ce(0x1c5)+'d\x20'+_0xf08724+'\x20times\x20within\x20'+Math[_0x3288ce(0x1c6)](CRASH_WINDOW_MS/0x3e8)+(_0x3288ce(0x211)+_0x3288ce(0x2a0))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+_0x3288ce(0x295)+_0x3288ce(0x203))),process[_0x3288ce(0x225)](0x1)),console['log']('[wrapper]\x20restarting'+_0x3288ce(0x1df)+_0x161958+'ms'),await new Promise(_0x48540c=>setTimeout(_0x48540c,_0x161958)),_0x161958=Math['min'](_0x161958*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0xc62e4b=a0_0xea9ef9,_0x29196b=process[_0xc62e4b(0x1e8)][_0xc62e4b(0x1fa)](0x2);if(_0x29196b[0x0]===_0xc62e4b(0x206)||_0x29196b[0x0]==='-v'||_0x29196b[0x0]===_0xc62e4b(0x1fc)){printVersion();return;}if((_0x29196b[0x0]==='status'||_0x29196b[0x0]==='ls'||_0x29196b[0x0]==='ps')&&!_0x29196b['includes']('--json')){console[_0xc62e4b(0x284)](_0xc62e4b(0x1d1)+WRAPPER_VERSION);try{console['log'](_0xc62e4b(0x281)+(coreVersion()||'not\x20installed'));}catch{console['log']('core\x20not\x20installed');}}const _0x534c56=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x29196b,_0x534c56),await ensurePersistencePrompt(_0x29196b);if(!shouldSupervise(_0x29196b))directCore(_0x29196b);await superviseCore(_0x29196b);}main()[a0_0xea9ef9(0x26c)](_0x3f05ab=>{const _0x27a7fd=a0_0xea9ef9;console[_0x27a7fd(0x1f8)]('[wrapper]\x20Fatal\x20erro'+_0x27a7fd(0x29e)+(_0x3f05ab?.['message']||String(_0x3f05ab))),process['exit'](0x1);});
2
+ 'use strict';const a0_0x492454=a0_0x5ecd;(function(_0x3194f1,_0x4a75cf){const _0x59d6cf=a0_0x5ecd,_0x43983c=_0x3194f1();while(!![]){try{const _0x569992=-parseInt(_0x59d6cf(0x13c))/0x1+parseInt(_0x59d6cf(0x10b))/0x2+parseInt(_0x59d6cf(0x149))/0x3+-parseInt(_0x59d6cf(0x90))/0x4+parseInt(_0x59d6cf(0x128))/0x5+parseInt(_0x59d6cf(0xae))/0x6*(-parseInt(_0x59d6cf(0xdf))/0x7)+parseInt(_0x59d6cf(0xb3))/0x8;if(_0x569992===_0x4a75cf)break;else _0x43983c['push'](_0x43983c['shift']());}catch(_0x55ee0b){_0x43983c['push'](_0x43983c['shift']());}}}(a0_0x53d6,0x73d2b));var __create=Object['create'],__defProp=Object[a0_0x492454(0x105)],__getOwnPropDesc=Object[a0_0x492454(0x89)+a0_0x492454(0x110)],__getOwnPropNames=Object[a0_0x492454(0x13d)],__getProtoOf=Object[a0_0x492454(0x137)],__hasOwnProp=Object[a0_0x492454(0x125)][a0_0x492454(0x107)],__copyProps=(_0x4b6846,_0x47a447,_0x16031d,_0x45ad90)=>{const _0x18904b=a0_0x492454;if(_0x47a447&&typeof _0x47a447==='object'||typeof _0x47a447===_0x18904b(0xbb)){for(let _0x2a9622 of __getOwnPropNames(_0x47a447))if(!__hasOwnProp[_0x18904b(0xaa)](_0x4b6846,_0x2a9622)&&_0x2a9622!==_0x16031d)__defProp(_0x4b6846,_0x2a9622,{'get':()=>_0x47a447[_0x2a9622],'enumerable':!(_0x45ad90=__getOwnPropDesc(_0x47a447,_0x2a9622))||_0x45ad90[_0x18904b(0xc3)]});}return _0x4b6846;},__toESM=(_0x33a741,_0x38401d,_0x34fa16)=>(_0x34fa16=_0x33a741!=null?__create(__getProtoOf(_0x33a741)):{},__copyProps(_0x38401d||!_0x33a741||!_0x33a741['__esModule']?__defProp(_0x34fa16,'default',{'value':_0x33a741,'enumerable':!![]}):_0x34fa16,_0x33a741)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x492454(0x99)),path2=__toESM(require('path'),0x1),readline=__toESM(require(a0_0x492454(0x155)),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require('path'),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x492454(0x8b)+'js.org',CHINA_NPM_REGISTRY=a0_0x492454(0x8b)+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x1963a5=a0_0x492454,_0x22e77b=explicitNpmRegistry();if(_0x22e77b)return _0x22e77b;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x1963a5(0x12a)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x42788e=preferredNpmRegistry()){const _0x147664=a0_0x492454,_0x2359ea=explicitNpmRegistry();if(_0x2359ea)return[_0x2359ea];const _0x20973b=normalizeRegistry(_0x42788e)||DEFAULT_NPM_REGISTRY,_0x1271ff=_0x20973b===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x147664(0xbc)](new Set([_0x20973b,_0x1271ff]));}async function selectFastNpmRegistry(_0x2bbf92=REGISTRY_PROBE_TIMEOUT_MS){const _0x75956d=a0_0x492454,_0x63bc7d=explicitNpmRegistry();if(_0x63bc7d)return rememberNpmRegistry(_0x63bc7d),_0x63bc7d;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x29b4ad=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x363edb=_0x29b4ad[_0x75956d(0xa1)](()=>new AbortController());let _0x50436f=-0x1;const _0x2b062c=_0x29b4ad[_0x75956d(0xa1)]((_0x1c592b,_0x3f95c4)=>probeRegistry200(_0x1c592b,_0x2bbf92,_0x363edb[_0x3f95c4]['signal'])[_0x75956d(0x134)](()=>({'registry':_0x1c592b,'index':_0x3f95c4})));try{const _0x49d6bb=await Promise[_0x75956d(0xd8)](_0x2b062c);_0x50436f=_0x49d6bb['index'];const _0x29f1bb=_0x49d6bb[_0x75956d(0x12a)];return rememberNpmRegistry(_0x29f1bb),_0x29f1bb;}catch{const _0x4e6954=_0x29b4ad[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x4e6954),_0x4e6954;}finally{_0x363edb['forEach']((_0x1aec2b,_0x59ad8c)=>{if(_0x59ad8c!==_0x50436f)_0x1aec2b['abort']();});}}function rememberNpmRegistry(_0x551400){const _0x13d8c4=a0_0x492454,_0xdf4dec=normalizeRegistry(_0x551400);if(_0xdf4dec)selectedRegistryCache={'registry':_0xdf4dec,'ts':Date[_0x13d8c4(0x153)]()};}function npmRegistryArg(_0x138a2a=preferredNpmRegistry()){const _0x25e4de=a0_0x492454;return _0x25e4de(0xda)+(normalizeRegistry(_0x138a2a)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x28e937,_0x28f268=preferredNpmRegistry()){const _0x4ba72b=a0_0x492454;return _0x4ba72b(0xf5)+_0x28e937+'\x20'+npmRegistryArg(_0x28f268);}function isChineseLocale(){const _0xf6400e=a0_0x492454,_0x5dcf2b=[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'](_0x5dcf2b))return!![];try{const _0x3bef35=Intl['DateTimeFormat']()[_0xf6400e(0x118)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x3bef35);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x5e2a8c){const _0x38ecd8=a0_0x492454;return String(_0x5e2a8c||'')['trim']()[_0x38ecd8(0x114)](/\/+$/,'');}function probeRegistry200(_0x4f8bc2,_0x3a90fb,_0x2b86f6){return new Promise((_0x242938,_0x155399)=>{const _0x359c44=a0_0x5ecd;let _0x17a921=![];const _0x32b697=_0x1cfa8b=>{const _0x54f86d=a0_0x5ecd;if(_0x17a921)return;_0x17a921=!![],clearTimeout(_0xca8b81),_0x2b86f6?.['removeEventListener'](_0x54f86d(0x94),_0x292bf3);if(!_0x6d1e92[_0x54f86d(0xdc)])try{_0x6d1e92[_0x54f86d(0xd7)](_0x54f86d(0x8f));}catch{}if(_0x1cfa8b)_0x155399(_0x1cfa8b);else _0x242938();},_0x292bf3=()=>{const _0x3376da=a0_0x5ecd;_0x32b697(new Error(_0x3376da(0xc6)+'ed'));},_0xca8b81=setTimeout(()=>{const _0x56523e=a0_0x5ecd;_0x32b697(new Error(_0x56523e(0x109)+_0x56523e(0xfe)));},_0x3a90fb);_0xca8b81[_0x359c44(0xed)]?.();const _0x6d1e92=(0x0,import_child_process['spawn'])(process[_0x359c44(0x7e)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x4f8bc2)||DEFAULT_NPM_REGISTRY,String(_0x3a90fb)],{'stdio':_0x359c44(0x7c),'shell':![],'windowsHide':!![]});_0x6d1e92['on']('error',_0x32b697),_0x6d1e92['on']('exit',_0x4d6880=>{if(_0x4d6880===0x0)_0x32b697();else _0x32b697(new Error('registry\x20probe\x20faile'+'d:\x20exit='+(_0x4d6880??'signal')));}),_0x2b86f6?.[_0x359c44(0xbf)]('abort',_0x292bf3,{'once':!![]});if(_0x2b86f6?.[_0x359c44(0x14f)]){_0x292bf3();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x492454(0xb5)+'e(\x27http\x27);\x0aconst\x20htt'+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+a0_0x492454(0x11e)+'1]\x20||\x20\x27\x27).replace(/\x5c'+a0_0x492454(0xaf)+'eoutMs\x20=\x20Number(proc'+a0_0x492454(0x158)+'\x20||\x203000;\x0aconst\x20url\x20'+'=\x20new\x20URL(\x27/-/ping\x27,'+a0_0x492454(0x92)+'nst\x20mod\x20=\x20url.protoc'+'ol\x20===\x20\x27https:\x27\x20?\x20ht'+'tps\x20:\x20http;\x0alet\x20done'+a0_0x492454(0xd1)+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+'f\x20(done)\x20return;\x0a\x20\x20d'+'one\x20=\x20true;\x0a\x20\x20clearT'+a0_0x492454(0xf1)+'\x20{\x20req.destroy();\x20}\x20'+'catch\x20{}\x0a\x20\x20process.e'+a0_0x492454(0x141)+a0_0x492454(0xb7)+a0_0x492454(0xc5)+a0_0x492454(0x81)+a0_0x492454(0x108)+a0_0x492454(0x91)+a0_0x492454(0x9d)+a0_0x492454(0x102)+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x492454(0x119)+a0_0x492454(0x9a)+'\x20\x27application/json,t'+'ext/plain,*/*\x27\x20},\x0a},'+a0_0x492454(0xe8)+'sume();\x0a\x20\x20res.on(\x27en'+a0_0x492454(0x86)+a0_0x492454(0x13e)+'?\x200\x20:\x202));\x0a\x20\x20res.on('+'\x27error\x27,\x20()\x20=>\x20finis'+'h(4));\x0a});\x0areq.on(\x27t'+a0_0x492454(0xe4)+a0_0x492454(0x7b)+'\x27,\x20()\x20=>\x20finish(4));'+a0_0x492454(0xfa),INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x492454(0xad),'claude':a0_0x492454(0xa0)+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x492454(0xa4))+a0_0x492454(0x96)};function isWindowsCmdFile(_0x5c7da7){const _0x178266=a0_0x492454;return process[_0x178266(0x87)]===_0x178266(0xf0)&&/\.(cmd|bat)$/i['test'](_0x5c7da7||'');}function quoteCmdArg(_0x4eed80){const _0xc453fe=a0_0x492454,_0x30027f=String(_0x4eed80??'');if(_0x30027f&&!/[\s"&|<>^%]/[_0xc453fe(0x100)](_0x30027f))return _0x30027f;return'\x22'+_0x30027f[_0xc453fe(0x114)](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x310e5d,_0xb02057){const _0x32651b=a0_0x492454;return['/d','/s','/c',[quoteCmdArg(_0x310e5d),..._0xb02057['map'](quoteCmdArg)][_0x32651b(0xf3)]('\x20')];}function resolveExecutablePath(_0x4e2eb6){const _0x3842ef=a0_0x492454;if(!_0x4e2eb6)return null;if(_0x4e2eb6['includes']('/')||_0x4e2eb6['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x4e2eb6))return(0x0,import_fs['existsSync'])(_0x4e2eb6)?_0x4e2eb6:_0x4e2eb6;const _0x1932b9=process['platform']==='win32',_0x57e342=_0x1932b9?_0x3842ef(0x98):'which';try{const _0x54805b=(0x0,import_child_process2[_0x3842ef(0xb4)])(_0x57e342,[_0x4e2eb6],{'encoding':_0x3842ef(0x143),'timeout':0xbb8,'shell':![]});if(_0x54805b[_0x3842ef(0x11d)]===0x0){const _0x172d30=(_0x54805b[_0x3842ef(0xd3)]||'')[_0x3842ef(0xb2)]()['split'](/\r?\n/)[_0x3842ef(0x112)](Boolean);if(_0x172d30['length']===0x0)return null;if(_0x1932b9)for(const _0x160dde of['.exe',_0x3842ef(0x93),_0x3842ef(0xa3),'.ps1']){const _0x31bc56=_0x172d30[_0x3842ef(0xf8)](_0x1c968a=>_0x1c968a['toLowerCase']()['endsWith'](_0x160dde));if(_0x31bc56)return _0x31bc56;}return _0x172d30[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x5403ba){const _0x1424eb=a0_0x492454;if(process['platform']!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x5403ba))return null;let _0x19a004;try{_0x19a004=(0x0,import_fs['readFileSync'])(_0x5403ba,'utf-8');}catch{return null;}const _0x17f375=_0x19a004[_0x1424eb(0x147)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x17f375){const _0x559b9b=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x5403ba),_0x17f375[0x2]);if((0x0,import_fs['existsSync'])(_0x559b9b))return{'type':_0x1424eb(0x12f),'path':_0x559b9b};}const _0x44a57c=_0x19a004[_0x1424eb(0x147)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x44a57c){const _0x20f7de=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x5403ba),_0x44a57c[0x2]);if((0x0,import_fs[_0x1424eb(0x122)])(_0x20f7de))return{'type':_0x1424eb(0x150),'path':_0x20f7de};}return null;}function safeSpawnSync(_0x15fc27,_0x5bfcf2,_0x1b31db={}){const _0x2940c5=a0_0x492454,_0x3c5d77=unwrapWindowsCmdShim(_0x15fc27);if(_0x3c5d77?.['type']===_0x2940c5(0x12f))return(0x0,import_child_process2['spawnSync'])(process[_0x2940c5(0x7e)],[_0x3c5d77['path'],..._0x5bfcf2],_0x1b31db);if(_0x3c5d77?.['type']===_0x2940c5(0x150))return(0x0,import_child_process2['spawnSync'])(_0x3c5d77[_0x2940c5(0x146)],_0x5bfcf2,_0x1b31db);if(isWindowsCmdFile(_0x15fc27))return(0x0,import_child_process2['spawnSync'])(process.env.ComSpec||_0x2940c5(0xf2),cmdFallbackArgs(_0x15fc27,_0x5bfcf2),_0x1b31db);return(0x0,import_child_process2['spawnSync'])(_0x15fc27,_0x5bfcf2,_0x1b31db);}var os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x492454(0x146)),0x1),PROFILE_ROOT=path[a0_0x492454(0xf3)](os['homedir'](),a0_0x492454(0xdd),'profiles'),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x492454(0xf3)](os['homedir'](),a0_0x492454(0xdd)),WHALENT_SHARED_HELPERS_DIR=path['join'](WHALENT_AGENT_DEFAULT_HOME,a0_0x492454(0xf6)),WRAPPER_PKG_NAME=a0_0x492454(0xa4),CORE_PKG_NAME=a0_0x492454(0x9e),SUPERVISED_RESTART_CODE=0x4b,DAEMON_REPLACED_EXIT_CODE=0x4f,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(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){return path2['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x241eab=a0_0x492454;return path2[_0x241eab(0xf3)](configDir(),_0x241eab(0x148));}function writeLastCrash(_0x219681){const _0x4d6cff=a0_0x492454;try{fs[_0x4d6cff(0xb6)](configDir(),{'recursive':!![]});const _0xb04a5={..._0x219681,'reported':![]};fs[_0x4d6cff(0x72)](lastCrashFilePath(),JSON['stringify'](_0xb04a5,null,0x2),_0x4d6cff(0x143));}catch{}}function readWrapperVersion(){const _0x18aa33=a0_0x492454;try{const _0xfeccfe=JSON['parse'](fs['readFileSync'](path2[_0x18aa33(0xf3)](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0xfeccfe[_0x18aa33(0x126)]||_0x18aa33(0x77));}catch{return _0x18aa33(0x77);}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x393e53){const _0x4a8767=a0_0x492454;try{fs[_0x4a8767(0xb6)](configDir(),{'recursive':!![]}),fs[_0x4a8767(0x72)](upgradeStatePath(),JSON['stringify']({..._0x393e53,'updated_at':Date['now']()},null,0x2),_0x4a8767(0x143));}catch{}}function a0_0x53d6(){const _0x56753f=['zxHPC3rZu3LUyW','C2LNBMfS','zgLZDa','ChjVDg90ExbL','DMvYC2LVBG','y3jLyxrLuMvXDwLYzq','ndi4oda5mePpz3vsBq','C2HPzNq','CMvNAxn0CNK','AwqGBM90igjLy29TzsbOzwfSDgG','ls1OzwXW','Aw5ZDgfSBgvKx3zLCNnPB24','ihrPBwvZihDPDgHPBIa','BM9Kzq','Dg9mB3DLCKnHC2u','w3DYyxbWzxjDihn0yxj0Aw5Nigm','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','D2HHBgvUDcbJB3jLihj1BNrPBwu','DgHLBG','w2DHDgv3yxLDienVBM5Ly3rLza','CM9VDa','z2v0uhjVDg90ExbLt2y','C3rKzxjY','yxjNDG','u0Lhsu5u','AwXHyMXLoIa','ndu2ndqYBffPqxD0','z2v0t3DUuhjVCgvYDhLoyw1LCW','lNn0yxr1C0nVzguGpt09idiWmca','ChbPza','BM90igLUC3rHBgXLza','EgL0kgnVzguPoWP9oWPJB25ZDca','DcbMB3vUzdOG','DxrMltG','C2nYzwvU','572UifDiquXftLrFu0Tjuf9qrvjtsq','Cgf0Aa','Bwf0y2G','BgfZDc1JCMfZAc5QC29U','nJaYndy5uvfoBLPY','CMvJB3jKoIa','qhDOywXLBNq','zguGAgvHBhrOEtOG','ywnOAw5L','ywnR','ywjVCNrLza','zxHL','CgfYC2vjBNq','w3DYyxbWzxjDignVCMuGzxHPDgu','BM93','BgvUz3rO','CMvHzgXPBMu','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','w3DYyxbWzxjDig1Hy09tig5Vzgu','zxnZlMfYz3zBmL0GFhWGmZaWmcK','BNbTig5VDcbMB3vUzcbVBIbqqvq','D3jPDgvgAwXLu3LUyW','ihnJCMvLBIaGicaGiYbVCJOGC3u','BNvTyMvY','igLUia','B3v0Chv0','mc4WlJa','44cc5lUn54s257UN57UT5zcx77YFw1KVBL3VViG','w3DYyxbWzxjDihjLC3rHCNrPBMC','ic0+ia','AcGZksK7cNjLCs5VBIGNzxjYB3i','AwDUB3jL','Aw5JBhvKzxm','zxHLy1bHDgG','B3iGCMvIDwLSzcbaD2HHBgvUDc8','Aw5tzxnZAw9U','B3v0txmPoWPJB25ZDcbYzxeGpsa','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','CM9SBgvKx2jHy2S','ywnJzxnZu3LUyW','BcaTEsbZy3jLzw4','zcCSicGPid0+igzPBMLZAcHYzxm','CgXHDgzVCM0','Dg9tDhjPBMC','z2v0t3DUuhjVCgvYDhLezxnJCMK','Dg11Ea','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','Aw5NihDPDgGG','icbSCYaTBcaIjeHftfbfuIi','w3DYyxbWzxjDioIVT+wCQcbZy3jLzw4G','u0Lhvevstq','mti2nJiWExbouwHo','ig1LDgHVzdOGj0DfvcCScIaGDgK','ihjLz2LZDhj5icSGjY8NktSky28','lMnTza','ywjVCNq','C3bSAxq','ic0TChjLzMvYlw9UBgLUzq','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','D2HLCMuUzxHL','Bw9KDwXL','C3rYEs1WCM9IzsCSiefJy2vWDdO','w3DYyxbWzxjDioIVT+MhJEAwSoI+K+wfPEs4IUs4GoADOsb3','6kAb5RgcihnJCMvLBIaVihrTDxJVVjVLSiBKVB/NLkG','BwvVDxq6ihrPBwvVDxrnCYWkica','qhDOywXLBNqVywDLBNqTy29Yzq','AxnuvfK','BNbTigLUC3rHBgWGlwCGqgfUDgG','BwfW','w3DYyxbWzxjDiezHDgfSigvYCM8','lMjHDa','qhDOywXLBNqVywDLBNq','D2HHBgvUDc1Hz2vUDca','zxHPDa','igLUigXHC3qG','BM9Kzs1WDhK','ls1QC29U','y2fSBa','w3DYyxbWzxjDie1HBNvHBcb1Cgq','ywDLBNq','ywKVy29KzxG','nMXrz1jbCG','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','Dhj1zq','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','DhjPBq','mtm1mJa0mezJqLjduq','C3bHD25tEw5J','cMnVBNn0igH0DhaGpsbYzxf1Axi','BwTKAxjtEw5J','DgLTzxiGpsbZzxruAw1LB3v0kcG','DxrMoa','y29Yzsa','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','zNvUy3rPB24','zNjVBq','CgLWzq','CMvLBG','ywrKrxzLBNrmAxn0zw5LCG','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','ywrK','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','zw51BwvYywjSzq','wf9psW','ksa9pIbMAw5PC2GOmYKSihrPBwu','CMvNAxn0CNKGChjVyMuGywjVCNq','w3DYyxbWzxjDig5LDYbJB3jLigq','Bw9Kzq','ChvZAa','Aw5KzxGUy2PZ','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','BwvZC2fNzq','vf9ts0Lqx1bfuLnju1rftKnfx0m','icaJiefYy2G6icaGicaGicaGica','C29YDa','ywDLBNqTy29Yzq','id0GzMfSC2u7cMnVBNn0igzPBMK','C3bHD24','C3rKB3v0','w3DYyxbWzxjDifDPBMrVD3mGy2e','C3LZDgvTza','y29Yzq','A2LSBa','yw55','y2XVC2u','ls1YzwDPC3rYEt0','Bwf4','A2LSBgvK','lNDOywXLBNqTywDLBNq','AxrPBMC','mJuXmJi5m21XsNrvqG','ls1Yzxn1Bwu','BNbT','j1WNjW','D3jHChbLCIa','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','5zMO5lUL5A6E546W5l+D5Rs777YA','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','icHYzxmPid0+ihSkicbYzxmUCMu','ChjLyNvPBgrZ','zgfYD2LUlq','zgfLBw9Ulw1JCa','BNbTig5VDcbMB3vUza','Dw5Yzwy','y2SGy29Yzsb0BYa','zgLYBMfTzq','D2LUmZi','Aw1LB3v0khrPBwvYktSkicb0CNK','y21KlMv4zq','AM9PBG','Aw5ZDgfSBa','BNbTigLUC3rHBgWGlwCG','AgvSCgvYCW','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','zMLUza','CM91BMq','cNjLCs5LBMqOktSk','w3DYyxbWzxjDigLUC3rHBgXPBMC','icbJAg1VzcaREcaIjeHftfbfuIi','C3rKAw4','ig91Da','y29Kzq','DgvZDa','CgfJA2fNzxm','ywDLBNq6igzHBhnLlaOGigHLywq','ChjLDMLVDxmGy29Yzsb2zxjZAw8','yxjJAa','zgvMAw5LuhjVCgvYDhK','6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBUoaGUw7UUIURUAuVUI/MYbZ','AgfZt3DUuhjVCgvYDhK','Bw9KlNjLCxvLC3qODxjSlcb7cIa','CMvNAxn0CNKGChjVyMuGDgLTzwq','y2fUzgLKyxrL','mtG3otiYAuvbzvrX','DYaTCYb3AgfSzw50','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','Aw5OzxjPDa','w3DYyxbWzxjDihDYyxbWzxiGDxa','ChrVCG','D3jPDgu','zMLSDgvY','AgvHBhrOEq','CMvWBgfJzq','Bg9N','D2fYBG','AgfZ','CMvZB2X2zwrpChrPB25Z','icD3AgfSzw50lwfNzw50lxjLz2K','r2f0zxDHEsbYzwDPC3rLCMvKig0','w3DYyxbWzxjDigzPEgvKig1Hy08','C2XPy2u','C3rHDhvZ','u3rYAw5NkhbYB2nLC3mUyxjNDLS','w3DYyxbWzxjDihjVBgXPBMCGyMe','CgvUzgLUzW','u1rftKnfx0nirunlpthJGii'];a0_0x53d6=function(){return _0x56753f;};return a0_0x53d6();}function run(_0x2e27b1,_0x3cb9d3,_0x2de12a=process.env){return safeSpawnSync(_0x2e27b1,_0x3cb9d3,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x2de12a,'shell':![]});}function runNpmView(_0x3004bc){const _0x4a24e6=a0_0x492454,_0x2461db=resolveExecutablePath('npm');if(!_0x2461db)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x4a24e6(0xec))};return safeSpawnSync(_0x2461db,_0x3004bc,{'encoding':_0x4a24e6(0xb8),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xf01b1d=a0_0x492454,_0x463621=resolveExecutablePath(_0xf01b1d(0xe1));if(!_0x463621)return'';const _0x53b630=run(_0x463621,[_0xf01b1d(0x136),'-g']);if(_0x53b630[_0xf01b1d(0x11d)]!==0x0)return'';return String(_0x53b630['stdout']||'')['trim']();}function compareSemver(_0x3e5601,_0x3563c3){const _0x52ed41=a0_0x492454,_0x3513c0=String(_0x3e5601||'')[_0x52ed41(0x114)](/^v/,'')['split'](/[.-]/)[_0x52ed41(0xa1)](_0x204312=>Number['parseInt'](_0x204312,0xa)||0x0),_0x47c370=String(_0x3563c3||'')[_0x52ed41(0x114)](/^v/,'')[_0x52ed41(0x95)](/[.-]/)['map'](_0x2c204b=>Number[_0x52ed41(0x151)](_0x2c204b,0xa)||0x0);for(let _0x11862b=0x0;_0x11862b<Math[_0x52ed41(0xdb)](_0x3513c0['length'],_0x47c370['length'],0x3);_0x11862b++){const _0x1feecc=_0x3513c0[_0x11862b]||0x0,_0x3cd6ce=_0x47c370[_0x11862b]||0x0;if(_0x1feecc>_0x3cd6ce)return 0x1;if(_0x1feecc<_0x3cd6ce)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x16e1e4=a0_0x492454,_0x4dc01c=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x16e1e4(0xb2)]()['toLowerCase']();return _0x4dc01c==='1'||_0x4dc01c===_0x16e1e4(0xb0)||_0x4dc01c==='yes'||_0x4dc01c==='on';}function latestWrapperVersion(_0x10b6b5){const _0x1ef727=a0_0x492454;let _0x364612={'version':'','registry':_0x10b6b5};for(const _0x39c602 of npmRegistryCandidates(_0x10b6b5)){const _0x3726e8=runNpmView(['view',WRAPPER_PKG_NAME+'@latest',_0x1ef727(0x126),npmRegistryArg(_0x39c602)]);if(_0x3726e8[_0x1ef727(0x11d)]!==0x0)continue;const _0x9c376f=String(_0x3726e8[_0x1ef727(0xd3)]||'')[_0x1ef727(0xb2)]()['split'](/\r?\n/)[_0x1ef727(0x112)](Boolean)['pop']()||'';_0x9c376f&&(!_0x364612[_0x1ef727(0x126)]||compareSemver(_0x9c376f,_0x364612['version'])>0x0)&&(_0x364612={'version':_0x9c376f,'registry':_0x39c602});}return _0x364612;}function installWrapperVersion(_0x19e59f,_0x277dd5){const _0x550995=a0_0x492454,_0x6e2bce=resolveExecutablePath(_0x550995(0xe1));if(!_0x6e2bce)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x1561a5=run(_0x6e2bce,['install','-g',WRAPPER_PKG_NAME+'@'+_0x19e59f,npmRegistryArg(_0x277dd5)]),_0x563cb7=((_0x1561a5[_0x550995(0xd3)]||'')+'\x0a'+(_0x1561a5[_0x550995(0x138)]||''))[_0x550995(0xb2)]();return{'ok':_0x1561a5['status']===0x0,'output':_0x563cb7};}async function maybeUpdateWrapper(_0x3139bb,_0x3bcc65){const _0xac6e56=a0_0x492454;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x424cac=latestWrapperVersion(_0x3bcc65),_0x382bb5=_0x424cac[_0xac6e56(0x126)];if(!_0x382bb5||compareSemver(_0x382bb5,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+_0xac6e56(0x13b)+WRAPPER_VERSION+_0xac6e56(0x7a)+_0x382bb5),console['warn'](_0xac6e56(0xfb)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x382bb5+'\x20from\x20'+_0x424cac[_0xac6e56(0x12a)]+('\x20before\x20starting\x20cor'+'e...'));const _0x2e0d5c=installWrapperVersion(_0x382bb5,_0x424cac[_0xac6e56(0x12a)]);if(!_0x2e0d5c['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0xac6e56(0x8c)+WRAPPER_VERSION);if(_0x2e0d5c[_0xac6e56(0x76)])console[_0xac6e56(0x116)](_0x2e0d5c['output']['split'](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn'](_0xac6e56(0xab)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x382bb5,_0x424cac['registry'])),![];}process['platform']===_0xac6e56(0xf0)&&(console[_0xac6e56(0x116)](_0xac6e56(0x10f)+'dated\x20to\x20'+_0x382bb5+'.'),console['warn'](_0xac6e56(0xd4)+'nnot\x20safely\x20re-enter'+'\x20the\x20updated\x20npm\x20shi'+'m\x20from\x20this\x20process.'),console['warn'](_0xac6e56(0x9b)+'halent\x20命令以使用新版本。'),process[_0xac6e56(0xa6)](0x0));console[_0xac6e56(0x116)]('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x382bb5+';\x20restarting\x20wrapper');const _0x2559c2=process[_0xac6e56(0x139)][0x1],_0x4dd37f=(0x0,import_child_process3['spawnSync'])(process[_0xac6e56(0x7e)],[_0x2559c2,..._0x3139bb],{'stdio':_0xac6e56(0x10e),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x382bb5},'shell':![]});process[_0xac6e56(0xa6)](_0x4dd37f['status']??0x0);}function findCoreScript(){const _0x537136=a0_0x492454,_0x22e811=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x46aabc=['1',_0x537136(0xb0),'yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x537136(0xb2)]()[_0x537136(0x130)]());if(_0x22e811&&_0x46aabc&&fs['existsSync'](_0x22e811))return _0x22e811;const _0x93975=[],_0x27fb29=_0x3397ce=>{const _0x30933d=_0x537136;if(fs[_0x30933d(0x122)](_0x3397ce)&&!_0x93975['includes'](_0x3397ce))_0x93975['push'](_0x3397ce);};if(_0x22e811)_0x27fb29(_0x22e811);const _0x513a67=npmRootGlobal();if(_0x513a67){const _0x433456=path2[_0x537136(0xf3)](_0x513a67,_0x537136(0x14b),_0x537136(0xd0),'dist',_0x537136(0xca));_0x27fb29(_0x433456);}const _0x3479a9=path2['join'](wrapperBaseDir(),'core.cjs');_0x27fb29(_0x3479a9);const _0x568e4c=path2['join'](wrapperBaseDir(),'..',_0x537136(0x101),_0x537136(0xd6),_0x537136(0x124),'index.cjs');_0x27fb29(_0x568e4c);if(_0x93975[_0x537136(0x154)]>0x0)return _0x93975[_0x537136(0xa1)]((_0xfff047,_0x5a94cd)=>({'candidate':_0xfff047,'index':_0x5a94cd,'version':coreVersion(_0xfff047)}))[_0x537136(0xcf)]((_0x164d3c,_0x4c95de)=>{const _0x3c89ea=_0x537136,_0x2d84ad=compareSemver(_0x4c95de[_0x3c89ea(0x126)],_0x164d3c['version']);if(_0x2d84ad!==0x0)return _0x2d84ad;return _0x4c95de['index']-_0x164d3c['index'];})[0x0][_0x537136(0x10a)];throw new Error(_0x537136(0x133)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x537136(0x7f)+_0x537136(0xac));}function coreVersion(_0x5101ea=findCoreScript()){const _0x5f14b6=a0_0x492454,_0x3edfe2=(0x0,import_child_process3[_0x5f14b6(0xb4)])(process[_0x5f14b6(0x7e)],[_0x5101ea,'--version'],{'encoding':_0x5f14b6(0xb8),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x2a1edb=(_0x3edfe2['stdout']||'')+'\x0a'+(_0x3edfe2[_0x5f14b6(0x138)]||'');return _0x2a1edb[_0x5f14b6(0x147)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x3a9efa){const _0x39cf67=a0_0x492454;try{return fs[_0x39cf67(0x84)](_0x3a9efa,fs['constants'][_0x39cf67(0xc4)]),!![];}catch{return![];}}function shellQuote(_0xa1df91){const _0x41e0e2=a0_0x492454;return'\x27'+_0xa1df91[_0x41e0e2(0x114)](/'/g,_0x41e0e2(0xe2))+'\x27';}function coreNodePtySpawnHelperPath(_0x5ec52d){const _0xb17850=a0_0x492454;if(process[_0xb17850(0x87)]!=='darwin')return'';try{const _0x318b79=(0x0,import_module[_0xb17850(0x127)])(_0x5ec52d),_0xf32cd3=_0x318b79['resolve'](_0xb17850(0xa8)),_0x2420dd=path2['resolve'](path2[_0xb17850(0xef)](_0xf32cd3),'..');return path2['join'](_0x2420dd,_0xb17850(0xe9),_0xb17850(0xea)+process[_0xb17850(0x104)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x1bdbb9){const _0x3e65e5=a0_0x492454,_0x5a9c4f=coreNodePtySpawnHelperPath(_0x1bdbb9);if(!_0x5a9c4f||CHECKED_PTY_HELPERS[_0x3e65e5(0x117)](_0x5a9c4f))return;CHECKED_PTY_HELPERS[_0x3e65e5(0xc1)](_0x5a9c4f);if(!fs[_0x3e65e5(0x122)](_0x5a9c4f)){console['warn']('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20no'+_0x3e65e5(0x142)+_0x5a9c4f);return;}if(isExecutable(_0x5a9c4f))return;try{const _0x190167=fs['statSync'](_0x5a9c4f)[_0x3e65e5(0xc8)];fs['chmodSync'](_0x5a9c4f,_0x190167|0x1ed);}catch{}if(isExecutable(_0x5a9c4f)){console['warn'](_0x3e65e5(0x11b)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x5a9c4f);return;}console['warn'](_0x3e65e5(0x157)+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x5a9c4f),console[_0x3e65e5(0x116)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0x3e65e5(0x116)]('\x20\x20HELPER='+shellQuote(_0x5a9c4f)),console[_0x3e65e5(0x116)](_0x3e65e5(0x8d)),console[_0x3e65e5(0x116)](_0x3e65e5(0xfc));}function printVersion(){const _0x4b99eb=a0_0x492454;let _0x1d36a5='';try{_0x1d36a5=coreVersion();}catch{}console[_0x4b99eb(0x115)](_0x4b99eb(0xa5)+WRAPPER_VERSION),console['log'](_0x4b99eb(0xe3)+WRAPPER_VERSION),console[_0x4b99eb(0x115)](_0x4b99eb(0xb9)+(_0x1d36a5||'not\x20installed'));}function detectPersistenceContext(){const _0x960333=a0_0x492454;let _0x1ef24b='';if(process.env.STY)_0x1ef24b=_0x960333(0x144);else{if(process.env.TMUX)_0x1ef24b=_0x960333(0x8a);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x1ef24b=_0x960333(0xd5);else{if(process.env.PM2_HOME)_0x1ef24b='pm2';else process['platform']!=='win32'&&typeof process[_0x960333(0x13f)]===_0x960333(0x74)&&process['ppid']===0x1&&(_0x1ef24b='systemd');}}}return{'inSession':_0x1ef24b,'hasScreen':process['platform']==='win32'?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']===_0x960333(0xf0)?![]:!!resolveExecutablePath('tmux')};}function persistenceCheckSkipped(){const _0x3a4a28=a0_0x492454,_0x4e5b9c=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()['toLowerCase']();return _0x4e5b9c==='1'||_0x4e5b9c===_0x3a4a28(0xb0)||_0x4e5b9c==='yes'||_0x4e5b9c==='on';}function persistenceInstallHint(){const _0x27f435=a0_0x492454,_0x465e62=[];if(process[_0x27f435(0x87)]==='darwin')_0x465e62['push']('\x20\x20#\x20macOS:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20brew\x20install\x20screen');else process['platform']==='linux'&&(_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+'\x20sudo\x20apt-get\x20instal'+_0x27f435(0x85)),_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x27f435(0x73)+'do\x20dnf\x20install\x20-y\x20sc'+_0x27f435(0xbe)),_0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20sudo\x20apk\x20add\x20screen'),_0x465e62['push'](_0x27f435(0xce)+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0x465e62[_0x27f435(0xc9)]('\x20\x20#\x20Then\x20re-attach\x20i'+'nside\x20screen,\x20e.g.:\x20'+'\x20screen\x20-S\x20whalent\x20\x20'+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0x465e62;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){const _0x23c42b=a0_0x492454;if(!process['stdin'][_0x23c42b(0x9f)])return!![];return new Promise(_0x28f780=>{const _0x3c257f=_0x23c42b,_0x5064d2=readline['createInterface']({'input':process[_0x3c257f(0xfd)],'output':process[_0x3c257f(0x138)]});let _0x344178=![];const _0x247175=_0xe40946=>{if(_0x344178)return;_0x344178=!![];try{_0x5064d2['close']();}catch{}_0x28f780(_0xe40946);},_0x248562=setTimeout(()=>{const _0x5e4317=_0x3c257f;process['stderr'][_0x5e4317(0x111)]('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20超时)。\x0a'),_0x247175(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x248562[_0x3c257f(0xed)]==='function')_0x248562['unref']();_0x5064d2['on'](_0x3c257f(0xd9),()=>{clearTimeout(_0x248562);}),_0x5064d2['on']('SIGINT',()=>{clearTimeout(_0x248562),_0x247175(![]);}),_0x5064d2['question']('[wrapper]\x20没有终端保活,断开\x20'+'SSH\x20/\x20关闭终端会终止\x20daemon'+_0x3c257f(0x78)+Math[_0x3c257f(0xf9)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20默认继续):\x20',_0x10ea56=>{clearTimeout(_0x248562);const _0x235265=String(_0x10ea56||'')['trim']()['toLowerCase']();_0x247175(!(_0x235265==='n'||_0x235265==='no'));});});}function a0_0x5ecd(_0x3a7f26,_0x35e957){_0x3a7f26=_0x3a7f26-0x71;const _0x53d66a=a0_0x53d6();let _0x5ecd7c=_0x53d66a[_0x3a7f26];if(a0_0x5ecd['ljXqBh']===undefined){var _0xda0dc6=function(_0x1e717b){const _0x36418f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6846='',_0x47a447='';for(let _0x16031d=0x0,_0x45ad90,_0x2a9622,_0x33a741=0x0;_0x2a9622=_0x1e717b['charAt'](_0x33a741++);~_0x2a9622&&(_0x45ad90=_0x16031d%0x4?_0x45ad90*0x40+_0x2a9622:_0x2a9622,_0x16031d++%0x4)?_0x4b6846+=String['fromCharCode'](0xff&_0x45ad90>>(-0x2*_0x16031d&0x6)):0x0){_0x2a9622=_0x36418f['indexOf'](_0x2a9622);}for(let _0x38401d=0x0,_0x34fa16=_0x4b6846['length'];_0x38401d<_0x34fa16;_0x38401d++){_0x47a447+='%'+('00'+_0x4b6846['charCodeAt'](_0x38401d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47a447);};a0_0x5ecd['dEuJtE']=_0xda0dc6,a0_0x5ecd['BDKFNx']={},a0_0x5ecd['ljXqBh']=!![];}const _0x37bba4=_0x53d66a[0x0],_0x2e3ad2=_0x3a7f26+_0x37bba4,_0x1d8d8f=a0_0x5ecd['BDKFNx'][_0x2e3ad2];return!_0x1d8d8f?(_0x5ecd7c=a0_0x5ecd['dEuJtE'](_0x5ecd7c),a0_0x5ecd['BDKFNx'][_0x2e3ad2]=_0x5ecd7c):_0x5ecd7c=_0x1d8d8f,_0x5ecd7c;}async function ensurePersistencePrompt(_0x47769c){const _0x2b18d6=a0_0x492454;if(!shouldSupervise(_0x47769c))return;if(persistenceCheckSkipped())return;if(process[_0x2b18d6(0x87)]==='win32'){console[_0x2b18d6(0x116)]('[wrapper]\x20Windows\x20上不'+_0x2b18d6(0x9c)+'平台终端能力并继续启动。'),console['warn'](_0x2b18d6(0xe6)+'使用\x20Windows\x20任务计划、服务管理'+'器或保持终端窗口打开。');return;}const _0x46eedd=detectPersistenceContext();if(_0x46eedd['inSession']===_0x2b18d6(0x144)||_0x46eedd[_0x2b18d6(0x80)]==='tmux'){console['log'](_0x2b18d6(0x97)+'已在\x20'+_0x46eedd[_0x2b18d6(0x80)]+'\x20会话中');return;}if(_0x46eedd[_0x2b18d6(0x80)]===_0x2b18d6(0xd5)||_0x46eedd[_0x2b18d6(0x80)]==='pm2'){console['log'](_0x2b18d6(0xc2)+'到\x20'+_0x46eedd[_0x2b18d6(0x80)]+'\x20托管');return;}if(_0x46eedd['hasScreen']||_0x46eedd['hasTmux']){const _0x17d3c8=[_0x46eedd['hasScreen']?'screen':'',_0x46eedd['hasTmux']?'tmux':'']['filter'](Boolean)['join']('\x20/\x20');console['warn']('[wrapper]\x20检测到\x20'+_0x17d3c8+_0x2b18d6(0xb1)),console['warn'](_0x2b18d6(0x10d)+_0x2b18d6(0x106)+'creen\x20/\x20tmux\x20内:');if(_0x46eedd['hasScreen'])console[_0x2b18d6(0x116)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+'-S\x20whalent\x20\x20\x20#\x20再在\x20sc'+'reen\x20里运行\x20whalent');if(_0x46eedd['hasTmux'])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+_0x2b18d6(0x10c));if(!process[_0x2b18d6(0xfd)]['isTTY']){console[_0x2b18d6(0x116)](_0x2b18d6(0xf7)+_0x2b18d6(0x156)+'认,继续启动。'),console['warn']('[wrapper]\x20若想抑制此告警,可设'+_0x2b18d6(0x145)+'STENCE_CHECK=1。');return;}const _0x45b81e=await confirmContinueWithoutPersistence();!_0x45b81e&&(console[_0x2b18d6(0x116)]('[wrapper]\x20已按用户要求取消启动'+'。'),console[_0x2b18d6(0x116)](_0x2b18d6(0x8e)+_0x2b18d6(0x82)+'NT_SKIP_PERSISTENCE_'+'CHECK=1\x20强制跳过此检查。'),process['exit'](0x0));return;}console[_0x2b18d6(0x116)](_0x2b18d6(0xc0)+'n\x20/\x20tmux。'),console[_0x2b18d6(0x116)]('[wrapper]\x20一旦断开\x20SSH\x20或'+'关闭终端,daemon\x20会被\x20SIGHU'+_0x2b18d6(0x132)),console['warn'](_0x2b18d6(0xcb)+_0x2b18d6(0xe5));for(const _0x61b134 of persistenceInstallHint())console['warn'](_0x61b134);if(!process['stdin']['isTTY']){console[_0x2b18d6(0x116)]('[wrapper]\x20当前不是交互式\x20sh'+_0x2b18d6(0x156)+'认,继续启动。'),console['warn'](_0x2b18d6(0xba)+'置\x20WHALENT_SKIP_PERSI'+_0x2b18d6(0x121));return;}const _0x2bf88a=await confirmContinueWithoutPersistence();!_0x2bf88a&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20安装\x20screen\x20'+'后重跑:screen\x20-S\x20whalen'+'t\x20→\x20在\x20screen\x20里\x20whale'+'nt'),console['warn']('[wrapper]\x20或设置\x20WHALEN'+_0x2b18d6(0xcd)+'HECK=1\x20强制跳过此检查。'),process['exit'](0x0));}function directCore(_0x18dda6){const _0x44e5da=a0_0x492454,_0x490472=findCoreScript();checkMacNodePtySpawnHelper(_0x490472);const _0x408939=(0x0,import_child_process3['spawnSync'])(process[_0x44e5da(0x7e)],[_0x490472,..._0x18dda6],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x490472},'shell':![]});process[_0x44e5da(0xa6)](_0x408939[_0x44e5da(0x11d)]??0x0);}function shouldSupervise(_0xb64026){const _0x567a3c=a0_0x492454;if(_0xb64026['includes']('--agent-id'))return![];if(_0xb64026['includes'](_0x567a3c(0xe0))||_0xb64026[0x0]==='resume')return![];const _0x5e1e56=_0xb64026[0x0]||'';if(_0x5e1e56==='ls'||_0x5e1e56===_0x567a3c(0x11d)||_0x5e1e56==='ps')return![];if(_0x5e1e56==='mcp'||_0x5e1e56===_0x567a3c(0xeb))return![];if(_0xb64026[_0x567a3c(0x7d)](_0x567a3c(0x12c))||_0xb64026['includes']('-h'))return![];return!![];}function installCoreVersion(_0x3816a7){const _0x6abe77=a0_0x492454,_0x2a7419=resolveExecutablePath(_0x6abe77(0xe1));if(!_0x2a7419)return{'ok':![],'output':_0x6abe77(0x71)+'H'};const _0x5392e9=CORE_PKG_NAME+'@'+_0x3816a7,_0x2014d7=run(_0x2a7419,[_0x6abe77(0xf4),'-g',_0x5392e9,npmRegistryArg()]),_0x245b93=((_0x2014d7['stdout']||'')+'\x0a'+(_0x2014d7[_0x6abe77(0x138)]||''))['trim']();return{'ok':_0x2014d7['status']===0x0,'output':_0x245b93};}async function superviseCore(_0x1ee840){const _0x2233ef=a0_0x492454;let _0xad0e18=![],_0x39f341=null;const _0xa58d2c=[];let _0x5d255b=MIN_RESTART_DELAY_MS;const _0x16b4ce=()=>{const _0x3e854f=a0_0x5ecd;_0xad0e18=!![];if(_0x39f341&&!_0x39f341[_0x3e854f(0xdc)])try{_0x39f341['kill'](_0x3e854f(0x8f));}catch{}else process['exit'](0x0);};process['on'](_0x2233ef(0x13a),_0x16b4ce),process['on']('SIGTERM',_0x16b4ce);while(!![]){const _0xcd203d=findCoreScript();checkMacNodePtySpawnHelper(_0xcd203d);const _0x4fed77={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xcd203d},_0x38b0a2=readUpgradeState(),_0x271c26=!!_0x38b0a2?.[_0x2233ef(0x120)];let _0x316ede=![],_0x3f9c1c=null,_0x10b7a7='';const _0x355ac2=[],_0x5e5e48=0xc;console[_0x2233ef(0x115)](_0x2233ef(0x131)+'ore:\x20'+_0xcd203d),_0x39f341=(0x0,import_child_process3[_0x2233ef(0xd2)])(process['execPath'],[_0xcd203d,..._0x1ee840],{'env':_0x4fed77,'stdio':['inherit',_0x2233ef(0xbd),'pipe']});const _0x156b92=()=>{const _0x9e0af4=_0x2233ef;if(_0x316ede)return;_0x316ede=!![];if(_0x3f9c1c)clearTimeout(_0x3f9c1c);_0xa58d2c[_0x9e0af4(0x154)]=0x0,_0x5d255b=MIN_RESTART_DELAY_MS;const _0x38c758=readUpgradeState();_0x38c758?.[_0x9e0af4(0x120)]&&(writeUpgradeState({..._0x38c758,'pending':![],'rollback':![],'health_status':_0x9e0af4(0x113)}),console[_0x9e0af4(0x115)]('[wrapper]\x20core\x20upgra'+_0x9e0af4(0x14c)+(_0x38c758[_0x9e0af4(0x12d)]||_0x38c758['target_version']||'')));},_0x538cd2=(_0x5ddbc2,_0x470b8b=![])=>{const _0x26d38f=_0x2233ef,_0x54b5b4=_0x5ddbc2[_0x26d38f(0x88)]();(_0x470b8b?process[_0x26d38f(0x138)]:process[_0x26d38f(0xd3)])['write'](_0x54b5b4);if(_0x470b8b)for(const _0x2b0a19 of _0x54b5b4['split'](/\r?\n/)){if(!_0x2b0a19['trim']())continue;_0x355ac2['push'](_0x2b0a19);if(_0x355ac2['length']>_0x5e5e48)_0x355ac2[_0x26d38f(0x129)]();const _0x1a154c=_0x2b0a19[_0x26d38f(0x147)](FATAL_PATTERN);if(_0x1a154c)_0x10b7a7=_0x1a154c[0x0];}(_0x54b5b4[_0x26d38f(0x7d)](_0x26d38f(0x135))||_0x54b5b4[_0x26d38f(0x7d)](_0x26d38f(0x11a)+_0x26d38f(0x14d))||_0x54b5b4[_0x26d38f(0x7d)]('Gateway:\x20connected'))&&_0x156b92();};_0x39f341[_0x2233ef(0xd3)]?.['on']('data',_0x145840=>_0x538cd2(_0x145840,![])),_0x39f341[_0x2233ef(0x138)]?.['on']('data',_0x72df0d=>_0x538cd2(_0x72df0d,!![]));_0x271c26&&(_0x3f9c1c=setTimeout(()=>{const _0x1d554a=_0x2233ef;if(_0x316ede||!_0x39f341||_0x39f341[_0x1d554a(0xdc)])return;console['error'](_0x1d554a(0xc7)+_0x1d554a(0x12b)+_0x1d554a(0xe7)+_0x1d554a(0x14e));try{_0x39f341[_0x1d554a(0xd7)](_0x1d554a(0x8f));}catch{}},HEALTH_TIMEOUT_MS));const _0x22bf51=await new Promise(_0x1e679b=>{const _0x3a9cb4=_0x2233ef;_0x39f341['once'](_0x3a9cb4(0xa6),(_0x43c655,_0x169891)=>_0x1e679b({'code':_0x43c655,'signal':_0x169891}));});if(_0x3f9c1c)clearTimeout(_0x3f9c1c);_0x39f341=null;if(_0xad0e18)process[_0x2233ef(0xa6)](_0x22bf51[_0x2233ef(0xff)]??0x0);const _0x298e9c=readUpgradeState();_0x22bf51[_0x2233ef(0xff)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x2233ef(0x115)]('[wrapper]\x20daemon\x20rep'+'laced\x20by\x20a\x20newer\x20dae'+'mon\x20on\x20the\x20same\x20user'+'+machine;\x20wrapper\x20ex'+_0x2233ef(0xde)),process[_0x2233ef(0xa6)](0x0));if(_0x298e9c?.[_0x2233ef(0x120)]&&!_0x316ede){const _0x17adf2=String(_0x298e9c['previous_core_versio'+'n']||'')[_0x2233ef(0xb2)]();if(_0x17adf2){console['error'](_0x2233ef(0x11f)+_0x2233ef(0xee)+_0x17adf2);const _0x2dcbdb=installCoreVersion(_0x17adf2);writeUpgradeState({..._0x298e9c,'pending':![],'rollback':!![],'health_status':_0x2dcbdb['ok']?_0x2233ef(0x83):'rollback_failed','error':_0x2dcbdb['ok']?'':_0x2dcbdb['output']});}else writeUpgradeState({..._0x298e9c,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x2233ef(0x103)+'n\x20unknown'});}const _0x4455dd=_0x22bf51[_0x2233ef(0xff)]===SUPERVISED_RESTART_CODE||_0x298e9c?.[_0x2233ef(0x120)];if(!_0x4455dd&&_0x22bf51['code']===0x0)process['exit'](0x0);const _0x1b4f4b=Date['now']();_0xa58d2c['push'](_0x1b4f4b);while(_0xa58d2c[_0x2233ef(0x154)]>0x0&&_0x1b4f4b-_0xa58d2c[0x0]>CRASH_WINDOW_MS){_0xa58d2c[_0x2233ef(0x129)]();}const _0x4d74df=_0xa58d2c[_0x2233ef(0x154)];writeLastCrash({'timestamp':_0x1b4f4b,'exit_code':_0x22bf51[_0x2233ef(0xff)],'exit_signal':_0x22bf51['signal']||null,'fatal_line':_0x10b7a7,'raw_tail':_0x355ac2['join']('\x0a'),'consecutive_crashes':_0x4d74df}),console[_0x2233ef(0x115)](_0x2233ef(0x152)+'d\x20code='+(_0x22bf51[_0x2233ef(0xff)]??'')+(_0x22bf51[_0x2233ef(0x123)]?'\x20signal='+_0x22bf51[_0x2233ef(0x123)]:'')+'\x20('+_0x4d74df+'/'+MAX_CRASHES_IN_WINDOW+_0x2233ef(0xa7)+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x10b7a7)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x10b7a7);_0x4d74df>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x4d74df+_0x2233ef(0x12e)+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x2233ef(0x14a))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console['log'](_0x2233ef(0x79)+_0x2233ef(0x75)+_0x5d255b+'ms'),await new Promise(_0x3c2871=>setTimeout(_0x3c2871,_0x5d255b)),_0x5d255b=Math['min'](_0x5d255b*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x222a4e=a0_0x492454,_0xc0ab36=process['argv'][_0x222a4e(0x11c)](0x2);if(_0xc0ab36[0x0]==='--version'||_0xc0ab36[0x0]==='-v'||_0xc0ab36[0x0]===_0x222a4e(0x126)){printVersion();return;}if((_0xc0ab36[0x0]===_0x222a4e(0x11d)||_0xc0ab36[0x0]==='ls'||_0xc0ab36[0x0]==='ps')&&!_0xc0ab36['includes'](_0x222a4e(0xa9))){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console[_0x222a4e(0x115)](_0x222a4e(0xb9)+(coreVersion()||_0x222a4e(0x140)));}catch{console['log']('core\x20not\x20installed');}}const _0x4d629c=await selectFastNpmRegistry();await maybeUpdateWrapper(_0xc0ab36,_0x4d629c),await ensurePersistencePrompt(_0xc0ab36);if(!shouldSupervise(_0xc0ab36))directCore(_0xc0ab36);await superviseCore(_0xc0ab36);}main()['catch'](_0x12198d=>{const _0x31e05e=a0_0x492454;console['error'](_0x31e05e(0xa2)+'r:\x20'+(_0x12198d?.[_0x31e05e(0xcc)]||String(_0x12198d))),process[_0x31e05e(0xa6)](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.170",
3
+ "version": "0.3.171",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -45,7 +45,7 @@
45
45
  "yaml": "^2.4.0"
46
46
  },
47
47
  "optionalDependencies": {
48
- "@whalent/agent-core": "0.3.170",
48
+ "@whalent/agent-core": "0.3.171",
49
49
  "node-pty": "^1.1.0"
50
50
  },
51
51
  "devDependencies": {