@whalent/agent 0.3.169 → 0.3.170

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_0x5c8b8d=a0_0x3721;(function(_0x58f548,_0x3b34a9){const _0x58da17=a0_0x3721,_0x523859=_0x58f548();while(!![]){try{const _0x1d8555=-parseInt(_0x58da17(0x1e6))/0x1+-parseInt(_0x58da17(0x1df))/0x2+parseInt(_0x58da17(0x203))/0x3*(-parseInt(_0x58da17(0x19e))/0x4)+-parseInt(_0x58da17(0x166))/0x5*(-parseInt(_0x58da17(0x24b))/0x6)+parseInt(_0x58da17(0x212))/0x7+-parseInt(_0x58da17(0x1ec))/0x8*(-parseInt(_0x58da17(0x173))/0x9)+-parseInt(_0x58da17(0x23f))/0xa*(-parseInt(_0x58da17(0x189))/0xb);if(_0x1d8555===_0x3b34a9)break;else _0x523859['push'](_0x523859['shift']());}catch(_0x2b9b97){_0x523859['push'](_0x523859['shift']());}}}(a0_0x18e1,0xd3cd8));var __create=Object[a0_0x5c8b8d(0x1bb)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x5c8b8d(0x17d)],__hasOwnProp=Object[a0_0x5c8b8d(0x21e)][a0_0x5c8b8d(0x248)],__copyProps=(_0x26d5d0,_0x3ef389,_0x3c9f45,_0x18c576)=>{const _0x3b88a4=a0_0x5c8b8d;if(_0x3ef389&&typeof _0x3ef389===_0x3b88a4(0x16c)||typeof _0x3ef389===_0x3b88a4(0x206)){for(let _0x4c89d1 of __getOwnPropNames(_0x3ef389))if(!__hasOwnProp['call'](_0x26d5d0,_0x4c89d1)&&_0x4c89d1!==_0x3c9f45)__defProp(_0x26d5d0,_0x4c89d1,{'get':()=>_0x3ef389[_0x4c89d1],'enumerable':!(_0x18c576=__getOwnPropDesc(_0x3ef389,_0x4c89d1))||_0x18c576['enumerable']});}return _0x26d5d0;},__toESM=(_0x3fd5f8,_0x4e3288,_0xbe532b)=>(_0xbe532b=_0x3fd5f8!=null?__create(__getProtoOf(_0x3fd5f8)):{},__copyProps(_0x4e3288||!_0x3fd5f8||!_0x3fd5f8['__esModule']?__defProp(_0xbe532b,a0_0x5c8b8d(0x227),{'value':_0x3fd5f8,'enumerable':!![]}):_0xbe532b,_0x3fd5f8)),import_child_process3=require(a0_0x5c8b8d(0x220)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x5c8b8d(0x24d)),path2=__toESM(require(a0_0x5c8b8d(0x184)),0x1),readline=__toESM(require(a0_0x5c8b8d(0x218)),0x1),import_child_process2=require(a0_0x5c8b8d(0x220)),import_fs=require('fs'),import_path=require(a0_0x5c8b8d(0x184)),import_child_process=require(a0_0x5c8b8d(0x220)),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x5c8b8d(0x19b),CHINA_NPM_REGISTRY=a0_0x5c8b8d(0x1bd)+a0_0x5c8b8d(0x1dd),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x355615=a0_0x5c8b8d,_0x3a0b31=explicitNpmRegistry();if(_0x3a0b31)return _0x3a0b31;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x355615(0x1f3)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x53ed55=preferredNpmRegistry()){const _0xbf7ce5=explicitNpmRegistry();if(_0xbf7ce5)return[_0xbf7ce5];const _0x465ed6=normalizeRegistry(_0x53ed55)||DEFAULT_NPM_REGISTRY,_0x1d0275=_0x465ed6===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array['from'](new Set([_0x465ed6,_0x1d0275]));}async function selectFastNpmRegistry(_0x3589c9=REGISTRY_PROBE_TIMEOUT_MS){const _0x8c5d09=a0_0x5c8b8d,_0x46ad1e=explicitNpmRegistry();if(_0x46ad1e)return rememberNpmRegistry(_0x46ad1e),_0x46ad1e;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x34b4e8=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x2cb7c1=_0x34b4e8[_0x8c5d09(0x1fb)](()=>new AbortController());let _0x45f347=-0x1;const _0x366333=_0x34b4e8['map']((_0x101aeb,_0xcfc885)=>probeRegistry200(_0x101aeb,_0x3589c9,_0x2cb7c1[_0xcfc885][_0x8c5d09(0x232)])[_0x8c5d09(0x187)](()=>({'registry':_0x101aeb,'index':_0xcfc885})));try{const _0x55d456=await Promise['any'](_0x366333);_0x45f347=_0x55d456['index'];const _0x4e0fb0=_0x55d456[_0x8c5d09(0x1f3)];return rememberNpmRegistry(_0x4e0fb0),_0x4e0fb0;}catch{const _0x578597=_0x34b4e8[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x578597),_0x578597;}finally{_0x2cb7c1[_0x8c5d09(0x241)]((_0x1debb5,_0x59171b)=>{const _0x4c6b44=_0x8c5d09;if(_0x59171b!==_0x45f347)_0x1debb5[_0x4c6b44(0x185)]();});}}function rememberNpmRegistry(_0x2d9bec){const _0x518b1b=a0_0x5c8b8d,_0x34ab3d=normalizeRegistry(_0x2d9bec);if(_0x34ab3d)selectedRegistryCache={'registry':_0x34ab3d,'ts':Date[_0x518b1b(0x1a5)]()};}function npmRegistryArg(_0x52639b=preferredNpmRegistry()){const _0x372753=a0_0x5c8b8d;return _0x372753(0x182)+(normalizeRegistry(_0x52639b)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x30ec48,_0x31d10e=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x30ec48+'\x20'+npmRegistryArg(_0x31d10e);}function a0_0x3721(_0x3b3297,_0x2b7a3f){_0x3b3297=_0x3b3297-0x159;const _0x18e1ff=a0_0x18e1();let _0x3721a0=_0x18e1ff[_0x3b3297];if(a0_0x3721['ZVZADb']===undefined){var _0x362436=function(_0x1d05ed){const _0x3b3ea7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26d5d0='',_0x3ef389='';for(let _0x3c9f45=0x0,_0x18c576,_0x4c89d1,_0x3fd5f8=0x0;_0x4c89d1=_0x1d05ed['charAt'](_0x3fd5f8++);~_0x4c89d1&&(_0x18c576=_0x3c9f45%0x4?_0x18c576*0x40+_0x4c89d1:_0x4c89d1,_0x3c9f45++%0x4)?_0x26d5d0+=String['fromCharCode'](0xff&_0x18c576>>(-0x2*_0x3c9f45&0x6)):0x0){_0x4c89d1=_0x3b3ea7['indexOf'](_0x4c89d1);}for(let _0x4e3288=0x0,_0xbe532b=_0x26d5d0['length'];_0x4e3288<_0xbe532b;_0x4e3288++){_0x3ef389+='%'+('00'+_0x26d5d0['charCodeAt'](_0x4e3288)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ef389);};a0_0x3721['gkdqxU']=_0x362436,a0_0x3721['cCxWtF']={},a0_0x3721['ZVZADb']=!![];}const _0x10dd23=_0x18e1ff[0x0],_0x520cfb=_0x3b3297+_0x10dd23,_0x2d53a6=a0_0x3721['cCxWtF'][_0x520cfb];return!_0x2d53a6?(_0x3721a0=a0_0x3721['gkdqxU'](_0x3721a0),a0_0x3721['cCxWtF'][_0x520cfb]=_0x3721a0):_0x3721a0=_0x2d53a6,_0x3721a0;}function isChineseLocale(){const _0x1b6025=a0_0x5c8b8d,_0x3caf6b=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)[_0x1b6025(0x20d)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x1b6025(0x1b5)](_0x3caf6b))return!![];try{const _0x5290c7=Intl[_0x1b6025(0x19f)]()['resolvedOptions']()[_0x1b6025(0x237)]||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x5290c7);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x40a580){const _0x177e6a=a0_0x5c8b8d;return String(_0x40a580||'')['trim']()[_0x177e6a(0x174)](/\/+$/,'');}function probeRegistry200(_0x2f3e46,_0x396c9b,_0x2019f7){return new Promise((_0x30fcf3,_0x55d8ad)=>{const _0x411ec6=a0_0x3721;let _0x54d9a1=![];const _0x41981d=_0x3aa184=>{const _0x3c6b08=a0_0x3721;if(_0x54d9a1)return;_0x54d9a1=!![],clearTimeout(_0x3e3832),_0x2019f7?.[_0x3c6b08(0x1c9)](_0x3c6b08(0x185),_0x452980);if(!_0x4241f1['killed'])try{_0x4241f1[_0x3c6b08(0x1c4)](_0x3c6b08(0x1ba));}catch{}if(_0x3aa184)_0x55d8ad(_0x3aa184);else _0x30fcf3();},_0x452980=()=>{_0x41981d(new Error('registry\x20probe\x20abort'+'ed'));},_0x3e3832=setTimeout(()=>{const _0x53bacb=a0_0x3721;_0x41981d(new Error(_0x53bacb(0x1d5)+_0x53bacb(0x22b)));},_0x396c9b);_0x3e3832['unref']?.();const _0x4241f1=(0x0,import_child_process[_0x411ec6(0x20f)])(process['execPath'],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x2f3e46)||DEFAULT_NPM_REGISTRY,String(_0x396c9b)],{'stdio':_0x411ec6(0x16d),'shell':![],'windowsHide':!![]});_0x4241f1['on']('error',_0x41981d),_0x4241f1['on']('exit',_0x369ef3=>{const _0x211273=_0x411ec6;if(_0x369ef3===0x0)_0x41981d();else _0x41981d(new Error(_0x211273(0x1e9)+'d:\x20exit='+(_0x369ef3??_0x211273(0x232))));}),_0x2019f7?.['addEventListener']('abort',_0x452980,{'once':!![]});if(_0x2019f7?.[_0x411ec6(0x1fd)]){_0x452980();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x5c8b8d(0x21d)+a0_0x5c8b8d(0x16f)+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+a0_0x5c8b8d(0x225)+'1]\x20||\x20\x27\x27).replace(/\x5c'+a0_0x5c8b8d(0x1c0)+a0_0x5c8b8d(0x1b2)+a0_0x5c8b8d(0x1c6)+'\x20||\x203000;\x0aconst\x20url\x20'+'=\x20new\x20URL(\x27/-/ping\x27,'+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+a0_0x5c8b8d(0x1b9)+a0_0x5c8b8d(0x21b)+a0_0x5c8b8d(0x15e)+a0_0x5c8b8d(0x1a0)+a0_0x5c8b8d(0x231)+a0_0x5c8b8d(0x1ea)+'imeout(timer);\x0a\x20\x20try'+'\x20{\x20req.destroy();\x20}\x20'+a0_0x5c8b8d(0x202)+'xit(code);\x0a};\x0aconst\x20'+'timer\x20=\x20setTimeout(('+')\x20=>\x20finish(3),\x20time'+'outMs);\x0aconst\x20req\x20=\x20'+'mod.request(url,\x20{\x0a\x20'+a0_0x5c8b8d(0x179)+'meout:\x20timeoutMs,\x0a\x20\x20'+'agent:\x20false,\x0a\x20\x20head'+'ers:\x20{\x20\x27User-Agent\x27:'+'\x20\x27whalent-agent-regi'+'stry-probe\x27,\x20Accept:'+'\x20\x27application/json,t'+a0_0x5c8b8d(0x23a)+a0_0x5c8b8d(0x24a)+a0_0x5c8b8d(0x16b)+a0_0x5c8b8d(0x1cd)+'.statusCode\x20===\x20200\x20'+a0_0x5c8b8d(0x1bf)+'\x27error\x27,\x20()\x20=>\x20finis'+'h(4));\x0a});\x0areq.on(\x27t'+'imeout\x27,\x20()\x20=>\x20finis'+a0_0x5c8b8d(0x20c)+'\x27,\x20()\x20=>\x20finish(4));'+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+'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_0x5c8b8d(0x192)};function isWindowsCmdFile(_0x25a595){const _0x4fcb76=a0_0x5c8b8d;return process[_0x4fcb76(0x244)]==='win32'&&/\.(cmd|bat)$/i[_0x4fcb76(0x1b5)](_0x25a595||'');}function quoteCmdArg(_0x353fbc){const _0x14bb6c=a0_0x5c8b8d,_0x2ac535=String(_0x353fbc??'');if(_0x2ac535&&!/[\s"&|<>^%]/['test'](_0x2ac535))return _0x2ac535;return'\x22'+_0x2ac535['replace'](/(["^&|<>%])/g,_0x14bb6c(0x1f4))+'\x22';}function cmdFallbackArgs(_0x3fc069,_0x22c2bf){const _0x483583=a0_0x5c8b8d;return['/d','/s','/c',[quoteCmdArg(_0x3fc069),..._0x22c2bf[_0x483583(0x1fb)](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x184921){const _0x4a54a3=a0_0x5c8b8d;if(!_0x184921)return null;if(_0x184921[_0x4a54a3(0x1c8)]('/')||_0x184921[_0x4a54a3(0x1c8)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x4a54a3(0x1b5)](_0x184921))return(0x0,import_fs['existsSync'])(_0x184921)?_0x184921:_0x184921;const _0x1e86ab=process['platform']===_0x4a54a3(0x191),_0x5d4751=_0x1e86ab?_0x4a54a3(0x198):_0x4a54a3(0x1d4);try{const _0x446700=(0x0,import_child_process2[_0x4a54a3(0x224)])(_0x5d4751,[_0x184921],{'encoding':_0x4a54a3(0x1c7),'timeout':0xbb8,'shell':![]});if(_0x446700['status']===0x0){const _0x436518=(_0x446700[_0x4a54a3(0x15a)]||'')['trim']()[_0x4a54a3(0x234)](/\r?\n/)[_0x4a54a3(0x19a)](Boolean);if(_0x436518[_0x4a54a3(0x22f)]===0x0)return null;if(_0x1e86ab)for(const _0x5787b3 of['.exe',_0x4a54a3(0x195),_0x4a54a3(0x159),'.ps1']){const _0x46b508=_0x436518['find'](_0x2080bd=>_0x2080bd['toLowerCase']()[_0x4a54a3(0x23b)](_0x5787b3));if(_0x46b508)return _0x46b508;}return _0x436518[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x26719){const _0x24c32b=a0_0x5c8b8d;if(process[_0x24c32b(0x244)]!==_0x24c32b(0x191))return null;if(!/\.(cmd|bat)$/i[_0x24c32b(0x1b5)](_0x26719))return null;let _0x2b4bc7;try{_0x2b4bc7=(0x0,import_fs[_0x24c32b(0x1aa)])(_0x26719,_0x24c32b(0x1c7));}catch{return null;}const _0x391174=_0x2b4bc7['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x391174){const _0x56b12f=(0x0,import_path[_0x24c32b(0x188)])((0x0,import_path[_0x24c32b(0x247)])(_0x26719),_0x391174[0x2]);if((0x0,import_fs[_0x24c32b(0x1a8)])(_0x56b12f))return{'type':'node','path':_0x56b12f};}const _0x32d45e=_0x2b4bc7[_0x24c32b(0x21f)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x32d45e){const _0xf00471=(0x0,import_path[_0x24c32b(0x188)])((0x0,import_path['dirname'])(_0x26719),_0x32d45e[0x2]);if((0x0,import_fs[_0x24c32b(0x1a8)])(_0xf00471))return{'type':_0x24c32b(0x246),'path':_0xf00471};}return null;}function safeSpawnSync(_0x5b63ce,_0x580143,_0x42534b={}){const _0x42e783=a0_0x5c8b8d,_0x3c38a5=unwrapWindowsCmdShim(_0x5b63ce);if(_0x3c38a5?.[_0x42e783(0x1fc)]===_0x42e783(0x250))return(0x0,import_child_process2[_0x42e783(0x224)])(process[_0x42e783(0x23d)],[_0x3c38a5[_0x42e783(0x184)],..._0x580143],_0x42534b);if(_0x3c38a5?.['type']===_0x42e783(0x246))return(0x0,import_child_process2['spawnSync'])(_0x3c38a5['path'],_0x580143,_0x42534b);if(isWindowsCmdFile(_0x5b63ce))return(0x0,import_child_process2[_0x42e783(0x224)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x5b63ce,_0x580143),_0x42534b);return(0x0,import_child_process2[_0x42e783(0x224)])(_0x5b63ce,_0x580143,_0x42534b);}var os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),PROFILE_ROOT=path['join'](os[a0_0x5c8b8d(0x213)](),'.whalent-agent',a0_0x5c8b8d(0x236)),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x5c8b8d(0x20d)](os['homedir'](),a0_0x5c8b8d(0x196)),WHALENT_SHARED_HELPERS_DIR=path['join'](WHALENT_AGENT_DEFAULT_HOME,a0_0x5c8b8d(0x210)),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x5c8b8d(0x1d1),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(){const _0x4854ff=a0_0x5c8b8d;return path2[_0x4854ff(0x20d)](configDir(),_0x4854ff(0x167));}function lastCrashFilePath(){const _0x3d0e5c=a0_0x5c8b8d;return path2[_0x3d0e5c(0x20d)](configDir(),'last-crash.json');}function writeLastCrash(_0x5cca3f){try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x5dde64={..._0x5cca3f,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON['stringify'](_0x5dde64,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x399505=a0_0x5c8b8d;try{const _0x4c23f6=JSON['parse'](fs[_0x399505(0x1aa)](path2['join'](wrapperBaseDir(),'..',_0x399505(0x1e7)),_0x399505(0x1c7)));return String(_0x4c23f6['version']||'0.0.0');}catch{return'0.0.0';}}function readUpgradeState(){const _0x3b68da=a0_0x5c8b8d;try{return JSON[_0x3b68da(0x163)](fs['readFileSync'](upgradeStatePath(),_0x3b68da(0x1c7)));}catch{return null;}}function writeUpgradeState(_0x178eaf){const _0x454b2e=a0_0x5c8b8d;try{fs[_0x454b2e(0x239)](configDir(),{'recursive':!![]}),fs[_0x454b2e(0x1b4)](upgradeStatePath(),JSON['stringify']({..._0x178eaf,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x4723dc,_0x388a1f,_0x1af61f=process.env){const _0x16b220=a0_0x5c8b8d;return safeSpawnSync(_0x4723dc,_0x388a1f,{'encoding':_0x16b220(0x205),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x1af61f,'shell':![]});}function runNpmView(_0x5c5180){const _0x2a295b=a0_0x5c8b8d,_0x12a14e=resolveExecutablePath(_0x2a295b(0x1b1));if(!_0x12a14e)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x12a14e,_0x5c5180,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x15a68a=a0_0x5c8b8d,_0x356757=resolveExecutablePath('npm');if(!_0x356757)return'';const _0x444d12=run(_0x356757,[_0x15a68a(0x1e5),'-g']);if(_0x444d12['status']!==0x0)return'';return String(_0x444d12['stdout']||'')['trim']();}function compareSemver(_0x2f9dac,_0x157d65){const _0x3b34ab=a0_0x5c8b8d,_0x459386=String(_0x2f9dac||'')['replace'](/^v/,'')[_0x3b34ab(0x234)](/[.-]/)[_0x3b34ab(0x1fb)](_0x1ebf7e=>Number[_0x3b34ab(0x160)](_0x1ebf7e,0xa)||0x0),_0xbe5a75=String(_0x157d65||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0x37f68f=>Number[_0x3b34ab(0x160)](_0x37f68f,0xa)||0x0);for(let _0x280d5b=0x0;_0x280d5b<Math['max'](_0x459386[_0x3b34ab(0x22f)],_0xbe5a75['length'],0x3);_0x280d5b++){const _0x4ce7cd=_0x459386[_0x280d5b]||0x0,_0x28a328=_0xbe5a75[_0x280d5b]||0x0;if(_0x4ce7cd>_0x28a328)return 0x1;if(_0x4ce7cd<_0x28a328)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x1dc3e7=a0_0x5c8b8d,_0xfb1b07=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x1dc3e7(0x1b3)]()['toLowerCase']();return _0xfb1b07==='1'||_0xfb1b07==='true'||_0xfb1b07==='yes'||_0xfb1b07==='on';}function latestWrapperVersion(_0x454d49){const _0x33546c=a0_0x5c8b8d;let _0x5a9d3c={'version':'','registry':_0x454d49};for(const _0x1f20ad of npmRegistryCandidates(_0x454d49)){const _0x3966dd=runNpmView([_0x33546c(0x229),WRAPPER_PKG_NAME+_0x33546c(0x217),'version',npmRegistryArg(_0x1f20ad)]);if(_0x3966dd['status']!==0x0)continue;const _0x5741a6=String(_0x3966dd[_0x33546c(0x15a)]||'')[_0x33546c(0x1b3)]()[_0x33546c(0x234)](/\r?\n/)['filter'](Boolean)['pop']()||'';_0x5741a6&&(!_0x5a9d3c['version']||compareSemver(_0x5741a6,_0x5a9d3c['version'])>0x0)&&(_0x5a9d3c={'version':_0x5741a6,'registry':_0x1f20ad});}return _0x5a9d3c;}function installWrapperVersion(_0x4d1868,_0x1badd4){const _0x29f066=a0_0x5c8b8d,_0x1d2145=resolveExecutablePath('npm');if(!_0x1d2145)return{'ok':![],'output':_0x29f066(0x240)+'H'};const _0x50745c=run(_0x1d2145,['install','-g',WRAPPER_PKG_NAME+'@'+_0x4d1868,npmRegistryArg(_0x1badd4)]),_0x3990a2=((_0x50745c['stdout']||'')+'\x0a'+(_0x50745c['stderr']||''))['trim']();return{'ok':_0x50745c['status']===0x0,'output':_0x3990a2};}async function maybeUpdateWrapper(_0x18901b,_0x1a6013){const _0x52e77f=a0_0x5c8b8d;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x29d631=latestWrapperVersion(_0x1a6013),_0x2ab324=_0x29d631[_0x52e77f(0x1d8)];if(!_0x2ab324||compareSemver(_0x2ab324,WRAPPER_VERSION)<=0x0)return![];console['warn'](_0x52e77f(0x1f8)+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x2ab324),console[_0x52e77f(0x193)](_0x52e77f(0x162)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x2ab324+_0x52e77f(0x20b)+_0x29d631[_0x52e77f(0x1f3)]+('\x20before\x20starting\x20cor'+_0x52e77f(0x1d7)));const _0x4b468a=installWrapperVersion(_0x2ab324,_0x29d631[_0x52e77f(0x1f3)]);if(!_0x4b468a['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x52e77f(0x169)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x4b468a['output'])console[_0x52e77f(0x193)](_0x4b468a['output']['split'](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+_0x52e77f(0x1db)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x2ab324,_0x29d631['registry'])),![];}process[_0x52e77f(0x244)]==='win32'&&(console['warn']('[wrapper]\x20wrapper\x20up'+_0x52e77f(0x17c)+_0x2ab324+'.'),console[_0x52e77f(0x193)](_0x52e77f(0x1be)+_0x52e77f(0x221)+'\x20the\x20updated\x20npm\x20shi'+'m\x20from\x20this\x20process.'),console['warn'](_0x52e77f(0x1af)+_0x52e77f(0x1d3)),process['exit'](0x0));console[_0x52e77f(0x193)]('[wrapper]\x20wrapper\x20up'+_0x52e77f(0x17c)+_0x2ab324+';\x20restarting\x20wrapper');const _0x5c8e78=process['argv'][0x1],_0x51a42c=(0x0,import_child_process3['spawnSync'])(process[_0x52e77f(0x23d)],[_0x5c8e78,..._0x18901b],{'stdio':_0x52e77f(0x22d),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x2ab324},'shell':![]});process[_0x52e77f(0x1cb)](_0x51a42c[_0x52e77f(0x19c)]??0x0);}function findCoreScript(){const _0x2f936b=a0_0x5c8b8d,_0x1bd1a7=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x432c5e=['1','true','yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x2f936b(0x18a)]());if(_0x1bd1a7&&_0x432c5e&&fs[_0x2f936b(0x1a8)](_0x1bd1a7))return _0x1bd1a7;const _0x4a1156=[],_0x4910ae=_0xbe0d1d=>{const _0x3e3e04=_0x2f936b;if(fs['existsSync'](_0xbe0d1d)&&!_0x4a1156['includes'](_0xbe0d1d))_0x4a1156[_0x3e3e04(0x201)](_0xbe0d1d);};if(_0x1bd1a7)_0x4910ae(_0x1bd1a7);const _0x1ea68a=npmRootGlobal();if(_0x1ea68a){const _0x464f97=path2[_0x2f936b(0x20d)](_0x1ea68a,'@whalent',_0x2f936b(0x22e),_0x2f936b(0x1f0),'index.cjs');_0x4910ae(_0x464f97);}const _0x243cd9=path2['join'](wrapperBaseDir(),_0x2f936b(0x1b7));_0x4910ae(_0x243cd9);const _0x535772=path2[_0x2f936b(0x20d)](wrapperBaseDir(),'..',_0x2f936b(0x16e),_0x2f936b(0x161),_0x2f936b(0x1f0),'index.cjs');_0x4910ae(_0x535772);if(_0x4a1156[_0x2f936b(0x22f)]>0x0)return _0x4a1156[_0x2f936b(0x1fb)]((_0x2cfad3,_0x26c90c)=>({'candidate':_0x2cfad3,'index':_0x26c90c,'version':coreVersion(_0x2cfad3)}))['sort']((_0x3dae26,_0x498170)=>{const _0x8155cd=_0x2f936b,_0x33e7ae=compareSemver(_0x498170['version'],_0x3dae26[_0x8155cd(0x1d8)]);if(_0x33e7ae!==0x0)return _0x33e7ae;return _0x498170['index']-_0x3dae26['index'];})[0x0][_0x2f936b(0x1ff)];throw new Error(_0x2f936b(0x197)+_0x2f936b(0x20a)+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+_0x2f936b(0x181));}function coreVersion(_0xe4e7a2=findCoreScript()){const _0x8bb0ba=a0_0x5c8b8d,_0x45dfec=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0xe4e7a2,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x5f2a4c=(_0x45dfec[_0x8bb0ba(0x15a)]||'')+'\x0a'+(_0x45dfec['stderr']||'');return _0x5f2a4c[_0x8bb0ba(0x21f)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4ea8e5){const _0x758ef1=a0_0x5c8b8d;try{return fs[_0x758ef1(0x223)](_0x4ea8e5,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x3726b9){const _0x3f20aa=a0_0x5c8b8d;return'\x27'+_0x3726b9[_0x3f20aa(0x174)](/'/g,_0x3f20aa(0x1d6))+'\x27';}function coreNodePtySpawnHelperPath(_0x244661){const _0x264665=a0_0x5c8b8d;if(process[_0x264665(0x244)]!==_0x264665(0x1a2))return'';try{const _0x41d006=(0x0,import_module['createRequire'])(_0x244661),_0x4833fa=_0x41d006['resolve']('node-pty'),_0x4caabd=path2['resolve'](path2['dirname'](_0x4833fa),'..');return path2['join'](_0x4caabd,'prebuilds','darwin-'+process[_0x264665(0x19d)],_0x264665(0x235));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x79acd){const _0x34014a=a0_0x5c8b8d,_0x5c586f=coreNodePtySpawnHelperPath(_0x79acd);if(!_0x5c586f||CHECKED_PTY_HELPERS['has'](_0x5c586f))return;CHECKED_PTY_HELPERS[_0x34014a(0x1f2)](_0x5c586f);if(!fs[_0x34014a(0x1a8)](_0x5c586f)){console['warn'](_0x34014a(0x1a6)+'-pty\x20spawn-helper\x20no'+_0x34014a(0x18e)+_0x5c586f);return;}if(isExecutable(_0x5c586f))return;try{const _0x255de7=fs['statSync'](_0x5c586f)[_0x34014a(0x199)];fs[_0x34014a(0x1ad)](_0x5c586f,_0x255de7|0x1ed);}catch{}if(isExecutable(_0x5c586f)){console[_0x34014a(0x193)](_0x34014a(0x216)+'S\x20node-pty\x20spawn-hel'+_0x34014a(0x1f6)+_0x5c586f);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x34014a(0x171)+'\x20not\x20executable:\x20'+_0x5c586f),console[_0x34014a(0x193)](_0x34014a(0x1ca)+_0x34014a(0x1ae)+_0x34014a(0x1a1)),console[_0x34014a(0x193)](_0x34014a(0x172)+shellQuote(_0x5c586f)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x3b31b4=a0_0x5c8b8d;let _0x2d1ad7='';try{_0x2d1ad7=coreVersion();}catch{}console['log'](_0x3b31b4(0x24e)+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console['log'](_0x3b31b4(0x226)+(_0x2d1ad7||_0x3b31b4(0x15f)));}function detectPersistenceContext(){const _0x5da008=a0_0x5c8b8d;let _0x2bd150='';if(process.env.STY)_0x2bd150='screen';else{if(process.env.TMUX)_0x2bd150=_0x5da008(0x183);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x2bd150='systemd';else{if(process.env.PM2_HOME)_0x2bd150='pm2';else process[_0x5da008(0x244)]!==_0x5da008(0x191)&&typeof process['ppid']===_0x5da008(0x1ce)&&process['ppid']===0x1&&(_0x2bd150=_0x5da008(0x1de));}}}return{'inSession':_0x2bd150,'hasScreen':process[_0x5da008(0x244)]===_0x5da008(0x191)?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']==='win32'?![]:!!resolveExecutablePath(_0x5da008(0x183))};}function persistenceCheckSkipped(){const _0x546413=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()['toLowerCase']();return _0x546413==='1'||_0x546413==='true'||_0x546413==='yes'||_0x546413==='on';}function persistenceInstallHint(){const _0x2eecd2=a0_0x5c8b8d,_0x2a2867=[];if(process['platform']==='darwin')_0x2a2867['push']('\x20\x20#\x20macOS:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2eecd2(0x168));else process['platform']==='linux'&&(_0x2a2867['push']('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+'\x20sudo\x20apt-get\x20instal'+_0x2eecd2(0x243)),_0x2a2867[_0x2eecd2(0x201)](_0x2eecd2(0x176)+'\x20sudo\x20yum\x20install\x20-y'+_0x2eecd2(0x178)+'do\x20dnf\x20install\x20-y\x20sc'+_0x2eecd2(0x1f5)),_0x2a2867[_0x2eecd2(0x201)](_0x2eecd2(0x207)+_0x2eecd2(0x1d9)),_0x2a2867['push'](_0x2eecd2(0x165)+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0x2a2867[_0x2eecd2(0x201)](_0x2eecd2(0x1e2)+_0x2eecd2(0x200)+_0x2eecd2(0x1fe)+_0x2eecd2(0x204)+'e)'),_0x2a2867;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;function a0_0x18e1(){const _0x195508=['zgLYBMfTzq','AgfZt3DUuhjVCgvYDhK','y2SGy29Yzsb0BYa','icHYzxmPid0+ihSkicbYzxmUCMu','mZzqAfbUufO','CM9SBgvKx2jHy2S','Bw9KDwXL','D2HHBgvUDc1Hz2vUDca','DcdIHPiG5zYOihnJCMvLBIdPH4WGD2HHBgu','BM9Kzq','w3DYyxbWzxjDioAYOEACIEE7IoERR+s/NEA0U++8JoAwREw8Gca','ChjLDMLVDxnFy29Yzv92zxjZAw8','lMjHDa','C3rKB3v0','w3DYyxbWzxjDioAiLUIUVUE9RIbxsefmru4','y29YzsbUB3qGAw5ZDgfSBgvK','zguGAgvHBhrOEtOG','id0GzMfSC2u7cMnVBNn0igzPBMK','BM90igLUC3rHBgXLza','CgfYC2vjBNq','y29Yzq','w3DYyxbWzxjDigLUC3rHBgXPBMC','CgfYC2u','BwLU','icaJiefYy2G6icaGicaGicaGica','mte3mJy5nxrfAuvuvG','y29Yzs11CgDYywrLlMPZB24','igjYzxCGAw5ZDgfSBcbZy3jLzw4','zgf0zsbMywLSzwq7ignVBNrPBNu','w3DYyxbWzxjDihjVBgXPBMCGyMe','C3vTzsGPoWOGihjLCY5VBIGNzw4','B2jQzwn0','AwDUB3jL','CgfJA2fNzxm','zsGNAhr0CcCPoWPJB25ZDcbODhq','572UifDiquXftLrFu0Tjuf9qrvjtsq','lxb0EsbZCgf3BI1OzwXWzxiGAxm','icbiruXqrvi9','nJu0nZaZmMv0s3Lmsq','CMvWBgfJzq','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','icaJienLBNrpuYaVifjVy2T5oIa','w3DYyxbWzxjDignVCMuGDxbNCMe','ihnJCMvLBIaGicaGiYbVCJOGC3u','ig1LDgHVzdOGj0DfvcCScIaGDgK','CM9SBgjHy2TFzMfPBgvK','C2nYzwvU','zgf0zwqGDg8G','z2v0uhjVDg90ExbLt2y','icaGicaGicaGicaGihrTDxGGBMu','zwqU','y2XVC2u','ywDLBNq','ls1YzwDPC3rYEt0','Dg11Ea','Cgf0Aa','ywjVCNq','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','DgHLBG','CMvZB2X2zq','nde3otq3mMT3wvPRrG','Dg9mB3DLCKnHC2u','CYdPU5JORQtNU6FNU63VViK6ia','AgfZvg11Ea','5zco6yEn6lEr77YAC2nYzwvUic1tihDOywXLBG','DcbMB3vUzdOG','w3DYyxbWzxjDihn0yxj0Aw5Nigm','AxrPBMC','D2LUmZi','ic0TChjLzMvYlw9UBgLUzq','D2fYBG','BgfJzwqGyNKGysbUzxDLCIbKywu','lMnTza','lNDOywXLBNqTywDLBNq','D2HHBgvUDcbJB3jLihj1BNrPBwu','D2HLCMuUzxHL','Bw9Kzq','zMLSDgvY','ANmUB3jN','C3rHDhvZ','yxjJAa','nZKYodrIwvDoteK','rgf0zvrPBwvgB3jTyxq','C2GGpsaOy29KzsKGpt4GEWOGigK','ufrzihn0yxj0Dxa6','zgfYD2LU','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','ywnR','BM93','w3DYyxbWzxjDig1Hy09tig5Vzgu','Dw5Yzwy','zxHPC3rZu3LUyW','BwnW','CMvHzezPBgvtEw5J','BwvZC2fNzq','Bg9N','y2HTB2rtEw5J','BMnLihrVigzPEcb0zxjTAw5HBc8','w3DYyxbWzxjDioIVT+MhJEAwSoI+K+wfPEs4IUs4GoADOsb3','w3DYyxbWzxjDiow3SUAmIEEuQoAiT+IMGEAXGUwpLUA2IowqR+wkQa','BNbT','zw91De1Zid0GtNvTyMvYkhbYB2m','DhjPBq','D3jPDgvgAwXLu3LUyW','DgvZDa','BIb1BMTUB3DU','y29Yzs5JANm','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','B2WGpt09icDODhrWCZONid8GAhq','u0Lhvevstq','y3jLyxrL','CYdOTOxML7BVViNJGiik','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','w3DYyxbWzxjDifDPBMrVD3mGy2e','pYaWidOGmIKPoWOGihjLCY5VBIG','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','ihnPz25HBd0','5BEY5zYOia','5l2/55sOifDPBMrVD3mG5lU75yQH6k6H5yIs44cb5PYn5yQH566H55cg','A2LSBa','6kAb5RgcihnJCMvLBIaVihrTDxJVVjVLSiBKVB/NLkG','zxnZlMfYz3zBmL0GFhWGmZaWmcK','DxrMltG','Aw5JBhvKzxm','CMvTB3zLrxzLBNrmAxn0zw5LCG','w3DYyxbWzxjDifj1BIb0AgLZig8','zxHPDa','Bw9Uig9UihrOzsbZyw1LihvZzxi','zcCSicGPid0+igzPBMLZAcHYzxm','BNvTyMvY','zxjYB3i','cLT3CMfWCgvYxsdML6dOVPpLHAxVViZPU5JORQtNU6FNU63LKk8','qhDOywXLBNqVywDLBNqTy29Yzq','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','AgfSzw50iowrVEs7Pos7PEs9V+EuQoAwSoEjIoACRooaGG','D2HPy2G','CMvNAxn0CNKGChjVyMuGDgLTzwq','j1WNjW','zs4UlG','DMvYC2LVBG','ihn1zg8GyxbRigfKzcbZy3jLzw4','ls1OzwXW','yxrLoIa','ChjLDMLVDxmGy29Yzsb2zxjZAw8','BwLYCM9YlMnVBq','C3LZDgvTza','mtCYmJKYy1nuqvnT','u1rftKnfx0nirunlpthJGii','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','icaJifrOzw4GCMuTyxr0ywnOigK','u0Lhsu5u','C3rKzxjY','CM9VDa','mty1ndG2nMn3C01Rqq','CgfJA2fNzs5QC29U','k21Hy2HPBMu7ihDYyxbWzxiGzxG','CMvNAxn0CNKGChjVyMuGzMfPBgu','B25Lid0GDhj1ztSkicbJBgvHCLq','BIaVihrTDxJJGii','mtzqr2r3yLy','A2LSBgvK','y29Kzq','zgf0yq','zgLZDa','AxnuvfK','ywrK','CMvNAxn0CNK','xIqX','CMvLBG','CgvYigv4zwn1DgfIBguGyML0oIa','Aw5tzxnZAw9U','w3DYyxbWzxjDihvWzgf0zsbHDMe','D3jPDgu','AgfZu2nYzwvU','BwfW','DhLWzq','ywjVCNrLza','ihnJCMvLBIaTuYb3AgfSzw50ica','y2fUzgLKyxrL','BNnPzguGC2nYzwvUlcbLlMCUoIa','ChvZAa','y2f0y2GGE30kicbWCM9JzxnZlMu','mJqZA1bisLfR','khj1BIaND2HHBgvUDcCGAw5ZAwq','DxrMoa','zNvUy3rPB24','icaJiefSCgLUztOGicaGicaGica','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','u1niic8G5ywZ6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBG','ig5VDcbMB3vUzdSGAw5ZDgfSBca','igzYB20G','AcGZksK7cNjLCs5VBIGNzxjYB3i','AM9PBG','sevdsZ0Xiow8UUwiTUI3S+I/H+ATPoAJGoAFPEoaGG','C3bHD24','AgvSCgvYCW','5BMZ5y+W57Ui56UV6io95yQB5BM257UN57UT5zcV5yQO44cc','nde0nde2mu1rv053vG','Ag9TzwrPCG','CMvZDw1L','C2XPy2u','w3DYyxbWzxjDigzPEgvKig1Hy08','qgXHDgvZDa','CMvHzgXPBMu','ic8G','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','DhbZidOGAhr0CdSkBgv0igrVBMu','C2HPzNq','cMnVBNn0igH0DhaGpsbYzxf1Axi','ChjVDg90ExbL','Bwf0y2G','y2HPBgrFChjVy2vZCW','BM5VDcbZywzLBhKGCMuTzw50zxi','w3DYyxbWzxjDiowUIEIJHsbZy3jLzw4G','ywnJzxnZu3LUyW','C3bHD25tEw5J','u3rYAw5NkhbYB2nLC3mUyxjNDLS','y29Yzsa','zgvMyxvSDa','CgLWzq','DMLLDW','y2f0y2G','ig91Da','CMvLBIdPH4ZOV5dOOyWGD2HHBgvUDa','Aw5OzxjPDa','ywDLBNqTy29Yzq','BgvUz3rO','CgvUzgLUzW','zIaOzg9UzsKGCMv0DxjUoWOGigq','C2LNBMfS','C3rKAw4','C3bSAxq','C3bHD24TAgvSCgvY','ChjVzMLSzxm','Bg9JywXL','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','BwTKAxjtEw5J','zxH0l3bSywLUlcOVkICGFsWkFsW','zw5KC1DPDgG','CM91BMq','zxHLy1bHDgG','D3jHChbLCIa','mJb2AgHKAuy','BNbTig5VDcbMB3vUzcbVBIbqqvq','zM9YrwfJAa','igLUigXHC3qG','BcaTEsbZy3jLzw4','CgXHDgzVCM0','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','zxHL'];a0_0x18e1=function(){return _0x195508;};return a0_0x18e1();}async function confirmContinueWithoutPersistence(){const _0x14ecc5=a0_0x5c8b8d;if(!process[_0x14ecc5(0x233)]['isTTY'])return!![];return new Promise(_0x3ba6ee=>{const _0x2ce71b=_0x14ecc5,_0x581b6a=readline['createInterface']({'input':process[_0x2ce71b(0x233)],'output':process[_0x2ce71b(0x1e4)]});let _0x13c74f=![];const _0x462ac1=_0x4eca1f=>{const _0x538c2a=_0x2ce71b;if(_0x13c74f)return;_0x13c74f=!![];try{_0x581b6a[_0x538c2a(0x180)]();}catch{}_0x3ba6ee(_0x4eca1f);},_0x38907e=setTimeout(()=>{const _0x2f227f=_0x2ce71b;process['stderr'][_0x2f227f(0x1f9)](_0x2f227f(0x1d0)+'动('+Math[_0x2f227f(0x23c)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x2f227f(0x1bc)),_0x462ac1(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x38907e[_0x2ce71b(0x1a7)]===_0x2ce71b(0x206))_0x38907e['unref']();_0x581b6a['on']('close',()=>{clearTimeout(_0x38907e);}),_0x581b6a['on'](_0x2ce71b(0x1e3),()=>{clearTimeout(_0x38907e),_0x462ac1(![]);}),_0x581b6a['question'](_0x2ce71b(0x251)+_0x2ce71b(0x209)+'。仍然继续吗?[Y/n]('+Math[_0x2ce71b(0x23c)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x2ce71b(0x18b),_0x9e63ea=>{const _0x1c00a2=_0x2ce71b;clearTimeout(_0x38907e);const _0x54b088=String(_0x9e63ea||'')['trim']()[_0x1c00a2(0x18a)]();_0x462ac1(!(_0x54b088==='n'||_0x54b088==='no'));});});}async function ensurePersistencePrompt(_0x3fc32c){const _0x4d4834=a0_0x5c8b8d;if(!shouldSupervise(_0x3fc32c))return;if(persistenceCheckSkipped())return;if(process[_0x4d4834(0x244)]==='win32'){console['warn']('[wrapper]\x20Windows\x20上不'+_0x4d4834(0x1c5)+_0x4d4834(0x211)),console[_0x4d4834(0x193)](_0x4d4834(0x238)+_0x4d4834(0x1c3)+'器或保持终端窗口打开。');return;}const _0x3fb5ed=detectPersistenceContext();if(_0x3fb5ed[_0x4d4834(0x1f7)]===_0x4d4834(0x17b)||_0x3fb5ed[_0x4d4834(0x1f7)]==='tmux'){console[_0x4d4834(0x1ac)]('[wrapper]\x20终端保活\x20OK:当前'+_0x4d4834(0x1c2)+_0x3fb5ed[_0x4d4834(0x1f7)]+'\x20会话中');return;}if(_0x3fb5ed['inSession']==='systemd'||_0x3fb5ed[_0x4d4834(0x1f7)]==='pm2'){console[_0x4d4834(0x1ac)](_0x4d4834(0x245)+'到\x20'+_0x3fb5ed['inSession']+'\x20托管');return;}if(_0x3fb5ed['hasScreen']||_0x3fb5ed[_0x4d4834(0x18c)]){const _0x44ebc9=[_0x3fb5ed[_0x4d4834(0x1fa)]?_0x4d4834(0x17b):'',_0x3fb5ed['hasTmux']?'tmux':''][_0x4d4834(0x19a)](Boolean)[_0x4d4834(0x20d)](_0x4d4834(0x219));console['warn']('[wrapper]\x20检测到\x20'+_0x44ebc9+_0x4d4834(0x21a)),console[_0x4d4834(0x193)](_0x4d4834(0x1b8)+'闭终端会终止\x20daemon。建议放进\x20s'+'creen\x20/\x20tmux\x20内:');if(_0x3fb5ed[_0x4d4834(0x1fa)])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+'-S\x20whalent\x20\x20\x20#\x20再在\x20sc'+_0x4d4834(0x22c));if(_0x3fb5ed['hasTmux'])console[_0x4d4834(0x193)](_0x4d4834(0x17e)+'w\x20-s\x20whalent');if(!process[_0x4d4834(0x233)][_0x4d4834(0x1f1)]){console[_0x4d4834(0x193)](_0x4d4834(0x1a3)+_0x4d4834(0x1d2)+'认,继续启动。'),console['warn'](_0x4d4834(0x1e1)+_0x4d4834(0x170)+'STENCE_CHECK=1。');return;}const _0x27a06d=await confirmContinueWithoutPersistence();!_0x27a06d&&(console[_0x4d4834(0x193)](_0x4d4834(0x1b0)+'。'),console[_0x4d4834(0x193)]('[wrapper]\x20请在\x20screen\x20'+_0x4d4834(0x175)+'NT_SKIP_PERSISTENCE_'+'CHECK=1\x20强制跳过此检查。'),process[_0x4d4834(0x1cb)](0x0));return;}console['warn']('[wrapper]\x20未检测到\x20scree'+_0x4d4834(0x1eb)),console['warn']('[wrapper]\x20一旦断开\x20SSH\x20或'+_0x4d4834(0x186)+'P\x20终止,所有正在跑的任务都会中断。'),console['warn'](_0x4d4834(0x208)+'器以实现保活:');for(const _0x410f87 of persistenceInstallHint())console[_0x4d4834(0x193)](_0x410f87);if(!process[_0x4d4834(0x233)][_0x4d4834(0x1f1)]){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+'ell(CI\x20/\x20后台脚本),跳过二次确'+'认,继续启动。'),console[_0x4d4834(0x193)]('[wrapper]\x20若想抑制此告警,可设'+_0x4d4834(0x170)+_0x4d4834(0x1e0));return;}const _0xfbe69a=await confirmContinueWithoutPersistence();!_0xfbe69a&&(console['warn'](_0x4d4834(0x1b0)+'。'),console[_0x4d4834(0x193)](_0x4d4834(0x222)+_0x4d4834(0x18d)+_0x4d4834(0x24f)+'nt'),console['warn'](_0x4d4834(0x15b)+'T_SKIP_PERSISTENCE_C'+_0x4d4834(0x20e)),process['exit'](0x0));}function directCore(_0x276844){const _0xb7a89b=a0_0x5c8b8d,_0x327bb7=findCoreScript();checkMacNodePtySpawnHelper(_0x327bb7);const _0x357c88=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x327bb7,..._0x276844],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x327bb7},'shell':![]});process['exit'](_0x357c88[_0xb7a89b(0x19c)]??0x0);}function shouldSupervise(_0xeff142){const _0x33a50c=a0_0x5c8b8d;if(_0xeff142['includes']('--agent-id'))return![];if(_0xeff142['includes']('--resume')||_0xeff142[0x0]===_0x33a50c(0x214))return![];const _0x1874d5=_0xeff142[0x0]||'';if(_0x1874d5==='ls'||_0x1874d5==='status'||_0x1874d5==='ps')return![];if(_0x1874d5===_0x33a50c(0x1a9)||_0x1874d5==='daemon-mcp')return![];if(_0xeff142[_0x33a50c(0x1c8)](_0x33a50c(0x1da))||_0xeff142[_0x33a50c(0x1c8)]('-h'))return![];return!![];}function installCoreVersion(_0x111f88){const _0x24648c=a0_0x5c8b8d,_0x299946=resolveExecutablePath('npm');if(!_0x299946)return{'ok':![],'output':_0x24648c(0x240)+'H'};const _0x559554=CORE_PKG_NAME+'@'+_0x111f88,_0x31a047=run(_0x299946,['install','-g',_0x559554,npmRegistryArg()]),_0x1f7ce4=((_0x31a047['stdout']||'')+'\x0a'+(_0x31a047['stderr']||''))['trim']();return{'ok':_0x31a047[_0x24648c(0x19c)]===0x0,'output':_0x1f7ce4};}async function superviseCore(_0xbcfdbb){const _0x3efb12=a0_0x5c8b8d;let _0x17df74=![],_0x19fff6=null;const _0x2ca316=[];let _0x29620f=MIN_RESTART_DELAY_MS;const _0x276b7f=()=>{const _0x1f55b9=a0_0x3721;_0x17df74=!![];if(_0x19fff6&&!_0x19fff6[_0x1f55b9(0x1ed)])try{_0x19fff6['kill'](_0x1f55b9(0x1ba));}catch{}else process['exit'](0x0);};process['on'](_0x3efb12(0x1e3),_0x276b7f),process['on'](_0x3efb12(0x1ba),_0x276b7f);while(!![]){const _0xe3953b=findCoreScript();checkMacNodePtySpawnHelper(_0xe3953b);const _0x2d9cb9={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xe3953b},_0x37adf4=readUpgradeState(),_0x8155d9=!!_0x37adf4?.['pending'];let _0x1b7ae6=![],_0x187ea1=null,_0x34fcaf='';const _0x2118da=[],_0x5d0bbd=0xc;console['log'](_0x3efb12(0x18f)+'ore:\x20'+_0xe3953b),_0x19fff6=(0x0,import_child_process3['spawn'])(process[_0x3efb12(0x23d)],[_0xe3953b,..._0xbcfdbb],{'env':_0x2d9cb9,'stdio':[_0x3efb12(0x22d),_0x3efb12(0x228),'pipe']});const _0x2aa1a5=()=>{const _0xaa33a5=_0x3efb12;if(_0x1b7ae6)return;_0x1b7ae6=!![];if(_0x187ea1)clearTimeout(_0x187ea1);_0x2ca316['length']=0x0,_0x29620f=MIN_RESTART_DELAY_MS;const _0xf158b9=readUpgradeState();_0xf158b9?.['pending']&&(writeUpgradeState({..._0xf158b9,'pending':![],'rollback':![],'health_status':'healthy'}),console['log'](_0xaa33a5(0x177)+_0xaa33a5(0x15d)+(_0xf158b9['installed_version']||_0xf158b9['target_version']||'')));},_0x28074a=(_0x57facf,_0x58ac3e=![])=>{const _0x475cb9=_0x3efb12,_0x32062a=_0x57facf['toString']();(_0x58ac3e?process[_0x475cb9(0x1e4)]:process[_0x475cb9(0x15a)])['write'](_0x32062a);if(_0x58ac3e)for(const _0x2675ba of _0x32062a[_0x475cb9(0x234)](/\r?\n/)){if(!_0x2675ba[_0x475cb9(0x1b3)]())continue;_0x2118da[_0x475cb9(0x201)](_0x2675ba);if(_0x2118da['length']>_0x5d0bbd)_0x2118da[_0x475cb9(0x21c)]();const _0x20be1e=_0x2675ba['match'](FATAL_PATTERN);if(_0x20be1e)_0x34fcaf=_0x20be1e[0x0];}(_0x32062a[_0x475cb9(0x1c8)]('[gateway]\x20Connected')||_0x32062a[_0x475cb9(0x1c8)]('Gateway\x20registered\x20m'+'achine')||_0x32062a[_0x475cb9(0x1c8)]('Gateway:\x20connected'))&&_0x2aa1a5();};_0x19fff6['stdout']?.['on'](_0x3efb12(0x1ef),_0x1b14bd=>_0x28074a(_0x1b14bd,![])),_0x19fff6[_0x3efb12(0x1e4)]?.['on'](_0x3efb12(0x1ef),_0x21eb87=>_0x28074a(_0x21eb87,!![]));_0x8155d9&&(_0x187ea1=setTimeout(()=>{const _0x441c35=_0x3efb12;if(_0x1b7ae6||!_0x19fff6||_0x19fff6['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+'y\x20in\x20time;\x20rolling\x20b'+_0x441c35(0x1a4));try{_0x19fff6[_0x441c35(0x1c4)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x366c4a=await new Promise(_0x418571=>{const _0x2a4c4d=_0x3efb12;_0x19fff6['once'](_0x2a4c4d(0x1cb),(_0x29137b,_0x50f245)=>_0x418571({'code':_0x29137b,'signal':_0x50f245}));});if(_0x187ea1)clearTimeout(_0x187ea1);_0x19fff6=null;if(_0x17df74)process[_0x3efb12(0x1cb)](_0x366c4a[_0x3efb12(0x1ee)]??0x0);const _0x5b5454=readUpgradeState();_0x366c4a[_0x3efb12(0x1ee)]===DAEMON_REPLACED_EXIT_CODE&&(console['log']('[wrapper]\x20daemon\x20rep'+_0x3efb12(0x194)+_0x3efb12(0x1cc)+_0x3efb12(0x1e8)+_0x3efb12(0x190)),process['exit'](0x0));if(_0x5b5454?.['pending']&&!_0x1b7ae6){const _0x231bef=String(_0x5b5454[_0x3efb12(0x252)+'n']||'')[_0x3efb12(0x1b3)]();if(_0x231bef){console['error'](_0x3efb12(0x16a)+_0x3efb12(0x249)+_0x231bef);const _0x4b3de8=installCoreVersion(_0x231bef);writeUpgradeState({..._0x5b5454,'pending':![],'rollback':!![],'health_status':_0x4b3de8['ok']?_0x3efb12(0x24c):_0x3efb12(0x17a),'error':_0x4b3de8['ok']?'':_0x4b3de8['output']});}else writeUpgradeState({..._0x5b5454,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':_0x3efb12(0x1dc)+_0x3efb12(0x1b6)});}const _0x56e024=_0x366c4a[_0x3efb12(0x1ee)]===SUPERVISED_RESTART_CODE||_0x5b5454?.[_0x3efb12(0x230)];if(!_0x56e024&&_0x366c4a['code']===0x0)process['exit'](0x0);const _0xc0b9c8=Date['now']();_0x2ca316[_0x3efb12(0x201)](_0xc0b9c8);while(_0x2ca316['length']>0x0&&_0xc0b9c8-_0x2ca316[0x0]>CRASH_WINDOW_MS){_0x2ca316['shift']();}const _0x1cc176=_0x2ca316['length'];writeLastCrash({'timestamp':_0xc0b9c8,'exit_code':_0x366c4a[_0x3efb12(0x1ee)],'exit_signal':_0x366c4a[_0x3efb12(0x232)]||null,'fatal_line':_0x34fcaf,'raw_tail':_0x2118da['join']('\x0a'),'consecutive_crashes':_0x1cc176}),console['log']('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x366c4a['code']??'')+(_0x366c4a[_0x3efb12(0x232)]?_0x3efb12(0x1c1)+_0x366c4a[_0x3efb12(0x232)]:'')+'\x20('+_0x1cc176+'/'+MAX_CRASHES_IN_WINDOW+_0x3efb12(0x242)+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x34fcaf)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x34fcaf);_0x1cc176>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x1cc176+'\x20times\x20within\x20'+Math[_0x3efb12(0x23c)](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+'record:\x20')+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+_0x3efb12(0x17f))),process[_0x3efb12(0x1cb)](0x1)),console[_0x3efb12(0x1ac)]('[wrapper]\x20restarting'+'\x20in\x20'+_0x29620f+'ms'),await new Promise(_0xcf1a16=>setTimeout(_0xcf1a16,_0x29620f)),_0x29620f=Math[_0x3efb12(0x164)](_0x29620f*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x16b926=a0_0x5c8b8d,_0x1c305d=process['argv'][_0x16b926(0x215)](0x2);if(_0x1c305d[0x0]==='--version'||_0x1c305d[0x0]==='-v'||_0x1c305d[0x0]===_0x16b926(0x1d8)){printVersion();return;}if((_0x1c305d[0x0]===_0x16b926(0x19c)||_0x1c305d[0x0]==='ls'||_0x1c305d[0x0]==='ps')&&!_0x1c305d[_0x16b926(0x1c8)]('--json')){console[_0x16b926(0x1ac)](_0x16b926(0x23e)+WRAPPER_VERSION);try{console[_0x16b926(0x1ac)](_0x16b926(0x226)+(coreVersion()||'not\x20installed'));}catch{console[_0x16b926(0x1ac)](_0x16b926(0x15c));}}const _0x4673a3=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x1c305d,_0x4673a3),await ensurePersistencePrompt(_0x1c305d);if(!shouldSupervise(_0x1c305d))directCore(_0x1c305d);await superviseCore(_0x1c305d);}main()[a0_0x5c8b8d(0x22a)](_0x25958b=>{const _0x361c1f=a0_0x5c8b8d;console[_0x361c1f(0x1cf)]('[wrapper]\x20Fatal\x20erro'+'r:\x20'+(_0x25958b?.[_0x361c1f(0x1ab)]||String(_0x25958b))),process[_0x361c1f(0x1cb)](0x1);});
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);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.169",
3
+ "version": "0.3.170",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -39,16 +39,18 @@
39
39
  "@opencode-ai/sdk": "^1.14.28",
40
40
  "proxy-agent": "^7.0.0",
41
41
  "socks-proxy-agent": "^10.0.0",
42
+ "ssh2": "^1.17.0",
42
43
  "undici": "^6.25.0",
43
44
  "ws": "^8.16.0",
44
45
  "yaml": "^2.4.0"
45
46
  },
46
47
  "optionalDependencies": {
47
- "@whalent/agent-core": "0.3.169",
48
+ "@whalent/agent-core": "0.3.170",
48
49
  "node-pty": "^1.1.0"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@types/node": "^20.0.0",
53
+ "@types/ssh2": "^1.15.5",
52
54
  "@types/ws": "^8.5.10",
53
55
  "esbuild": "^0.27.4",
54
56
  "javascript-obfuscator": "^5.3.0",