@whalent/agent 0.3.171 → 0.3.175

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_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);});
2
+ 'use strict';const a0_0x1e8305=a0_0x2475;(function(_0x4d078e,_0x4050b4){const _0x460b5b=a0_0x2475,_0x26891c=_0x4d078e();while(!![]){try{const _0x5ed14c=parseInt(_0x460b5b(0x152))/0x1+parseInt(_0x460b5b(0x74))/0x2*(-parseInt(_0x460b5b(0x127))/0x3)+-parseInt(_0x460b5b(0x147))/0x4*(parseInt(_0x460b5b(0x104))/0x5)+-parseInt(_0x460b5b(0xb6))/0x6+-parseInt(_0x460b5b(0x141))/0x7+parseInt(_0x460b5b(0x96))/0x8*(-parseInt(_0x460b5b(0xa8))/0x9)+parseInt(_0x460b5b(0x144))/0xa;if(_0x5ed14c===_0x4050b4)break;else _0x26891c['push'](_0x26891c['shift']());}catch(_0x247b53){_0x26891c['push'](_0x26891c['shift']());}}}(a0_0x532e,0x1f2fc));var __create=Object[a0_0x1e8305(0x160)],__defProp=Object[a0_0x1e8305(0x164)],__getOwnPropDesc=Object[a0_0x1e8305(0xa4)+a0_0x1e8305(0x13e)],__getOwnPropNames=Object[a0_0x1e8305(0x6d)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype']['hasOwnProperty'],__copyProps=(_0x5e85d1,_0x48bd2a,_0x11f196,_0x3bcc81)=>{const _0x409288=a0_0x1e8305;if(_0x48bd2a&&typeof _0x48bd2a==='object'||typeof _0x48bd2a===_0x409288(0x175)){for(let _0x1d2301 of __getOwnPropNames(_0x48bd2a))if(!__hasOwnProp['call'](_0x5e85d1,_0x1d2301)&&_0x1d2301!==_0x11f196)__defProp(_0x5e85d1,_0x1d2301,{'get':()=>_0x48bd2a[_0x1d2301],'enumerable':!(_0x3bcc81=__getOwnPropDesc(_0x48bd2a,_0x1d2301))||_0x3bcc81['enumerable']});}return _0x5e85d1;},__toESM=(_0x1b6609,_0x319726,_0x315a9d)=>(_0x315a9d=_0x1b6609!=null?__create(__getProtoOf(_0x1b6609)):{},__copyProps(_0x319726||!_0x1b6609||!_0x1b6609[a0_0x1e8305(0x6b)]?__defProp(_0x315a9d,a0_0x1e8305(0x118),{'value':_0x1b6609,'enumerable':!![]}):_0x315a9d,_0x1b6609)),import_child_process3=require(a0_0x1e8305(0xb1)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x1e8305(0x122)),path2=__toESM(require('path'),0x1),readline=__toESM(require('readline'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x1e8305(0x6e)),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY='https://registry.npm'+a0_0x1e8305(0xd0),CHINA_NPM_REGISTRY='https://registry.npm'+a0_0x1e8305(0x16a),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x5519ad=explicitNpmRegistry();if(_0x5519ad)return _0x5519ad;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x30e703=preferredNpmRegistry()){const _0x286d4e=a0_0x1e8305,_0x303979=explicitNpmRegistry();if(_0x303979)return[_0x303979];const _0x403f24=normalizeRegistry(_0x30e703)||DEFAULT_NPM_REGISTRY,_0x9afa0b=_0x403f24===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x286d4e(0x78)](new Set([_0x403f24,_0x9afa0b]));}async function selectFastNpmRegistry(_0x372a0f=REGISTRY_PROBE_TIMEOUT_MS){const _0x1c0c76=a0_0x1e8305,_0x31d571=explicitNpmRegistry();if(_0x31d571)return rememberNpmRegistry(_0x31d571),_0x31d571;if(selectedRegistryCache&&Date[_0x1c0c76(0x8a)]()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x1c0c76(0xbf)];const _0x410c85=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x3921f9=_0x410c85[_0x1c0c76(0x136)](()=>new AbortController());let _0x434845=-0x1;const _0x14cdff=_0x410c85['map']((_0x50ac72,_0x2f68ec)=>probeRegistry200(_0x50ac72,_0x372a0f,_0x3921f9[_0x2f68ec][_0x1c0c76(0xce)])['then'](()=>({'registry':_0x50ac72,'index':_0x2f68ec})));try{const _0x306517=await Promise['any'](_0x14cdff);_0x434845=_0x306517[_0x1c0c76(0x9f)];const _0x2803c7=_0x306517['registry'];return rememberNpmRegistry(_0x2803c7),_0x2803c7;}catch{const _0x3544ab=_0x410c85[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x3544ab),_0x3544ab;}finally{_0x3921f9['forEach']((_0x195df3,_0x4e9693)=>{if(_0x4e9693!==_0x434845)_0x195df3['abort']();});}}function rememberNpmRegistry(_0x3e5fd0){const _0x14f7b3=normalizeRegistry(_0x3e5fd0);if(_0x14f7b3)selectedRegistryCache={'registry':_0x14f7b3,'ts':Date['now']()};}function npmRegistryArg(_0x225f4f=preferredNpmRegistry()){const _0x4a6274=a0_0x1e8305;return _0x4a6274(0xb8)+(normalizeRegistry(_0x225f4f)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x4513b7,_0x4d5260=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x4513b7+'\x20'+npmRegistryArg(_0x4d5260);}function isChineseLocale(){const _0x23a3bb=a0_0x1e8305,_0x334cae=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x23a3bb(0x13f)](Boolean)[_0x23a3bb(0x183)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x23a3bb(0x70)](_0x334cae))return!![];try{const _0x9d10d7=Intl[_0x23a3bb(0x132)]()['resolvedOptions']()[_0x23a3bb(0xf2)]||'';return/(^|-)zh($|-)|-CN\b/i[_0x23a3bb(0x70)](_0x9d10d7);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0xcdad10){const _0x5c026a=a0_0x1e8305;return String(_0xcdad10||'')[_0x5c026a(0x11c)]()['replace'](/\/+$/,'');}function probeRegistry200(_0x30c2da,_0x2cbc09,_0x354ac9){return new Promise((_0x238ad5,_0xebff40)=>{const _0x148916=a0_0x2475;let _0x1671c3=![];const _0x3317bc=_0x4945e0=>{const _0x528ec9=a0_0x2475;if(_0x1671c3)return;_0x1671c3=!![],clearTimeout(_0x276d44),_0x354ac9?.['removeEventListener']('abort',_0x3363fd);if(!_0x5722f6[_0x528ec9(0xab)])try{_0x5722f6[_0x528ec9(0xd4)]('SIGTERM');}catch{}if(_0x4945e0)_0xebff40(_0x4945e0);else _0x238ad5();},_0x3363fd=()=>{const _0x4a40c3=a0_0x2475;_0x3317bc(new Error(_0x4a40c3(0x159)+'ed'));},_0x276d44=setTimeout(()=>{_0x3317bc(new Error('registry\x20probe\x20timed'+'\x20out'));},_0x2cbc09);_0x276d44['unref']?.();const _0x5722f6=(0x0,import_child_process[_0x148916(0x17a)])(process['execPath'],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x30c2da)||DEFAULT_NPM_REGISTRY,String(_0x2cbc09)],{'stdio':_0x148916(0x7f),'shell':![],'windowsHide':!![]});_0x5722f6['on']('error',_0x3317bc),_0x5722f6['on']('exit',_0xc4f752=>{const _0x23ffbc=_0x148916;if(_0xc4f752===0x0)_0x3317bc();else _0x3317bc(new Error('registry\x20probe\x20faile'+_0x23ffbc(0x14a)+(_0xc4f752??'signal')));}),_0x354ac9?.['addEventListener']('abort',_0x3363fd,{'once':!![]});if(_0x354ac9?.[_0x148916(0x6a)]){_0x3363fd();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x1e8305(0x11e)+a0_0x1e8305(0xc7)+a0_0x1e8305(0x10c)+a0_0x1e8305(0x75)+a0_0x1e8305(0xd6)+a0_0x1e8305(0x142)+a0_0x1e8305(0x14e)+a0_0x1e8305(0x182)+'ess.argv[2]\x20||\x203000)'+a0_0x1e8305(0xa1)+'=\x20new\x20URL(\x27/-/ping\x27,'+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+a0_0x1e8305(0x13d)+'tps\x20:\x20http;\x0alet\x20done'+a0_0x1e8305(0x125)+a0_0x1e8305(0xf5)+'f\x20(done)\x20return;\x0a\x20\x20d'+'one\x20=\x20true;\x0a\x20\x20clearT'+'imeout(timer);\x0a\x20\x20try'+'\x20{\x20req.destroy();\x20}\x20'+a0_0x1e8305(0x187)+a0_0x1e8305(0x84)+'timer\x20=\x20setTimeout(('+a0_0x1e8305(0x12b)+'outMs);\x0aconst\x20req\x20=\x20'+a0_0x1e8305(0x10e)+'\x20method:\x20\x27GET\x27,\x0a\x20\x20ti'+'meout:\x20timeoutMs,\x0a\x20\x20'+'agent:\x20false,\x0a\x20\x20head'+a0_0x1e8305(0x97)+'\x20\x27whalent-agent-regi'+'stry-probe\x27,\x20Accept:'+'\x20\x27application/json,t'+'ext/plain,*/*\x27\x20},\x0a},'+a0_0x1e8305(0xfb)+a0_0x1e8305(0xb2)+'d\x27,\x20()\x20=>\x20finish(res'+'.statusCode\x20===\x20200\x20'+a0_0x1e8305(0x102)+a0_0x1e8305(0xeb)+'h(4));\x0a});\x0areq.on(\x27t'+'imeout\x27,\x20()\x20=>\x20finis'+'h(3));\x0areq.on(\x27error'+'\x27,\x20()\x20=>\x20finish(4));'+a0_0x1e8305(0x178),INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x1e8305(0xf9),'claude':'npm\x20install\x20-g\x20@anth'+a0_0x1e8305(0xed),'opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x1e8305(0x91))+a0_0x1e8305(0x6c)};function isWindowsCmdFile(_0x4d5bc4){const _0xa07b16=a0_0x1e8305;return process['platform']==='win32'&&/\.(cmd|bat)$/i[_0xa07b16(0x70)](_0x4d5bc4||'');}function a0_0x2475(_0x54e31e,_0x4dce6e){_0x54e31e=_0x54e31e-0x68;const _0x532e14=a0_0x532e();let _0x2475e0=_0x532e14[_0x54e31e];if(a0_0x2475['ivlkIh']===undefined){var _0x53539d=function(_0x1ebad1){const _0x393ec4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e85d1='',_0x48bd2a='';for(let _0x11f196=0x0,_0x3bcc81,_0x1d2301,_0x1b6609=0x0;_0x1d2301=_0x1ebad1['charAt'](_0x1b6609++);~_0x1d2301&&(_0x3bcc81=_0x11f196%0x4?_0x3bcc81*0x40+_0x1d2301:_0x1d2301,_0x11f196++%0x4)?_0x5e85d1+=String['fromCharCode'](0xff&_0x3bcc81>>(-0x2*_0x11f196&0x6)):0x0){_0x1d2301=_0x393ec4['indexOf'](_0x1d2301);}for(let _0x319726=0x0,_0x315a9d=_0x5e85d1['length'];_0x319726<_0x315a9d;_0x319726++){_0x48bd2a+='%'+('00'+_0x5e85d1['charCodeAt'](_0x319726)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48bd2a);};a0_0x2475['dZMTpB']=_0x53539d,a0_0x2475['HfJFQe']={},a0_0x2475['ivlkIh']=!![];}const _0x3bb834=_0x532e14[0x0],_0x6c77c0=_0x54e31e+_0x3bb834,_0x3ac9e3=a0_0x2475['HfJFQe'][_0x6c77c0];return!_0x3ac9e3?(_0x2475e0=a0_0x2475['dZMTpB'](_0x2475e0),a0_0x2475['HfJFQe'][_0x6c77c0]=_0x2475e0):_0x2475e0=_0x3ac9e3,_0x2475e0;}function quoteCmdArg(_0x407a80){const _0x163530=a0_0x1e8305,_0xc67c56=String(_0x407a80??'');if(_0xc67c56&&!/[\s"&|<>^%]/[_0x163530(0x70)](_0xc67c56))return _0xc67c56;return'\x22'+_0xc67c56['replace'](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x49aa90,_0x429936){const _0x220135=a0_0x1e8305;return['/d','/s','/c',[quoteCmdArg(_0x49aa90),..._0x429936['map'](quoteCmdArg)][_0x220135(0x183)]('\x20')];}function resolveExecutablePath(_0x1ab589){const _0x3cbcb8=a0_0x1e8305;if(!_0x1ab589)return null;if(_0x1ab589['includes']('/')||_0x1ab589['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x3cbcb8(0x70)](_0x1ab589))return(0x0,import_fs['existsSync'])(_0x1ab589)?_0x1ab589:_0x1ab589;const _0x43b2d4=process['platform']===_0x3cbcb8(0x161),_0x42705c=_0x43b2d4?'where.exe':_0x3cbcb8(0xa5);try{const _0x23721b=(0x0,import_child_process2['spawnSync'])(_0x42705c,[_0x1ab589],{'encoding':_0x3cbcb8(0x154),'timeout':0xbb8,'shell':![]});if(_0x23721b['status']===0x0){const _0x4e6cda=(_0x23721b['stdout']||'')['trim']()[_0x3cbcb8(0xe6)](/\r?\n/)['filter'](Boolean);if(_0x4e6cda[_0x3cbcb8(0x163)]===0x0)return null;if(_0x43b2d4)for(const _0x4acbc8 of[_0x3cbcb8(0x16c),_0x3cbcb8(0x123),'.bat','.ps1']){const _0x6679f1=_0x4e6cda[_0x3cbcb8(0x82)](_0x518958=>_0x518958[_0x3cbcb8(0x173)]()[_0x3cbcb8(0x72)](_0x4acbc8));if(_0x6679f1)return _0x6679f1;}return _0x4e6cda[0x0]||null;}}catch{}return null;}function a0_0x532e(){const _0x46fe37=['u0Lhvevstq','CMvJB3jKoIa','y2XVC2u','ls1Yzxn1Bwu','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','y2HTB2rtEw5J','pYaWidOGmIKPoWOGihjLCY5VBIG','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','nxP2vLnSrq','C2nYzwvU','Aw5NihDPDgGG','CMvHzezPBgvtEw5J','DMvYC2LVBG','w3DYyxbWzxjDioAiLUIUVUE9RIbxsefmru4','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','ls10B2TLBG','ChmGpsbYzxf1AxjLkcDODhrWCYC','5BMZ5y+W57Ui56UV6io95yQB5BM257UN57UT5zcV5yQO44cc','Bw9KlNjLCxvLC3qODxjSlcb7cIa','6k6K77Ym57UN57UT5zcV5yQO44cc','zxHPDa','Ag9TzwrPCG','D2HHBgvUDcbJB3jLihj1BNrPBwu','44cc5lUn54s257UN57UT5zcx77YFw1KVBL3VViG','w3DYyxbWzxjDifDPBMrVD3mG5lIk5lIn','CMvLBG','lIbszxn0yxj0ihDYyxbWzxiGBwe','D3jHChbLCIa','zgvMyxvSDa','ls1Hz2vUDc1Pza','zxjSEwLUzYbPC3n1zsbPCYbMAxG','ls1TywnOAw5L','DhjPBq','Aw5JBhvKzxm','cMnVBNn0igH0DhaGpsbYzxf1Axi','ls12zxjZAw9U','B3v0Chv0','mc4WlJa','Bw9KDwXL','lMnTza','w3DYyxbWzxjDihvWzgf0zsbHDMe','id0GzMfSC2u7cMnVBNn0igzPBMK','AgfZvg11Ea','mtu5odC2seDMBNDW','y29Kzq','ls10zxjTAw5HBc1WzxjZAxn0zw4','vf9ts0Lqx1bfuLnju1rftKnfx0m','ksa9pIbMAw5PC2GOmYKSihrPBwu','CgXHDgzVCM0','C2XPy2u','ls10zxjTAw5HBc1YzwDPC3rYEs0','AxrPBMC','D2fYBG','CYdOTOxML7BVViNJGiik','rgf0zvrPBwvgB3jTyxq','zxjYB3i','ls1Zyw5KyM94','qhDOywXLBNqVywDLBNqTy29Yzq','BwfW','ihn1zg8GyxbRigfKzcbZy3jLzw4','w3DYyxbWzxjDigXHC3qGzMf0ywW','w3DYyxbWzxjDihn0yxj0Aw5Nigm','BwnW','igLUia','BgLUDxG','B2WGpt09icDODhrWCZONid8GAhq','ChrVCG','zMLSDgvY','ihn1zg8Gyxb0lwDLDcbPBNn0ywW','nJmZnZi0rfr3z1Pv','mv0GFhWGjYCPlNjLCgXHy2uOl1W','CgfYC2u','ndy1odK5mhPQwvrSyG','ls1PBNn0yw5Jzs1Pza','ls1TB2rLBa','mtyYmtCYCgvcqLzM','Dg9tDhjPBMC','zgLYBMfTzq','zdOGzxHPDd0','BNbTig5VDcbMB3vUzcbVBIbqqvq','u0Lhsu5u','ywnJzxnZu3LUyW','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','Dw5Yzwy','EwvZ','C3rKB3v0','mJm2nZqXq2Xiswre','w3DYyxbWzxjDigrHzw1VBIbYzxa','DxrMltG','zgfLBw9Ulw1JCa','w3DYyxbWzxjDifDPBMrVD3mGy2e','CMvWBgfJzq','zgf0yq','CMvNAxn0CNKGChjVyMuGywjVCNq','u1rftKnfx0nirunlpthJGii','AwXHyMXLoIa','Cg9W','icaJig1Hy09toIaGicaGicaGica','ywDLBNqTy29Yzq','CM9SBgjHy2TFDw5HDMfPBgfIBgu','y3jLyxrL','D2LUmZi','y29YzsbUB3qGAw5ZDgfSBgvK','BgvUz3rO','zgvMAw5LuhjVCgvYDhK','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','ls1WBgf0zM9YBs11CMW','CMvMAxG','ls1VCgvUy29Kzs1WyxrO','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','BwLYCM9YlMnVBq','Dhj1zq','lMv4zq','572UifDiquXftLrFu0Tjuf9qrvjtsq','DMLLDW','w3DYyxbWzxjDioIlPEAdS+AkKEwiTUATPowrIUITPU+8JowpR+IUVG','B25Jzq','oYbYzxn0yxj0Aw5NihDYyxbWzxi','ChjLyNvPBgrZ','Dg9mB3DLCKnHC2u','ic8G','zNvUy3rPB24','5zMO5OIw5l+D5OYb57Ui56UV56Qx5y+J5OMt5BYa44cc','ls1NyxrLD2f5','cNjLCs5LBMqOktSk','CgfJA2fNzs5QC29U','C3bHD24','zcbJB2rLpq','BM90igLUC3rHBgXLza','5BEY5zYOia','y3jLzw4GlYb0Bxv4iowgHE+8MG','C2HPzNq','5zMO5lUL5A6E546W5l+D5Rs777YA','yxjJAa','zw91De1Zid0GtNvTyMvYkhbYB2m','AM9PBG','ls1JBgf1zguTy29UzMLNlwrPCG','BwTKAxjtEw5J','ls1TywnOAw5Llw5HBwu','y2f0y2GGE30kicbWCM9JzxnZlMu','CMvLBIdPH4ZOV5dOOyWGD2HHBgvUDa','ls1QC29U','ic0+ia','ywjVCNrLza','x19LC01VzhvSzq','ic0TChjLzMvYlw9UBgLUzq','z2v0t3DUuhjVCgvYDhLoyw1LCW','Cgf0Aa','ywDLBNq','DgvZDa','DYaTCYb3AgfSzw50','zw5KC1DPDgG','zwqU','nKD2sgnHuW','ktSky29UC3qGCMvNAxn0CNKGpsa','w3DYyxbWzxjDioAJGoA1I+wiSca','C3LZDgvTza','zNjVBq','ls1MB3jRlwzYB20TzxH0zxjUywW','Bwf0y2G','CgfYC2vjBNq','CgvUzgLUzW','CM91BMq','qgXHDgvZDa','AwDUB3jL','w3DYyxbWzxjDignVCMuGDxbNCMe','qhDOywXLBNqVywDLBNqTy29Yzsa','zMLUza','BgfJzwqGyNKGysbUzxDLCIbKywu','EgL0kgnVzguPoWP9oWPJB25ZDca','ls1HChbYB3zHBa','zgLY','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','C3rHCNrZv2L0Aa','Aw5ZDgfSBa','BM93','6kAb5RgcihnJCMvLBIaVihrTDxJVVjVLSiBKVB/NLkG','ls13B3jRC3bHy2u','oYbWBgvHC2uGDhLWzsbTB3jLigm','zxHPC3rZu3LUyW','y29UC3rHBNrZ','CM9SBgvKx2jHy2S','qhDOywXLBNqVywDLBNq','Cg0Y','y29Yzsa','ls12zxjIB3nL','icaJienLBNrpuYaVifjVy2T5oIa','mJm5oda4wLHWwMLr','zxjZoIb7icDvC2vYlufNzw50jZO','CgLWzq','CM9VDa','ls10zxjTAw5HBc1ZzxnZAw9Ulxa','5l2/55sOifDPBMrVD3mG5lU75yQH6k6H5yIs44cb5PYn5yQH566H55cg','AgfZ','ChjLDMLVDxmGy29Yzsb2zxjZAw8','ywnR','Aw5KzxG','BM9Kzq','ihX8idmWmda7cMnVBNn0ihvYBca','yxjNDG','Dg11Ea','z2v0t3DUuhjVCgvYDhLezxnJCMK','D2HPy2G','BNbTig5VDcbMB3vUza','v0Hbtevovf9it01f','nZjcAfLJBwS','AgfZu2nYzwvU','w3DYyxbWzxjDigzPEgvKig1Hy08','A2LSBgvK','AgvSCgvYCW','y3jLyxrLsw50zxjMywnL','tLrFu0Tjuf9qrvjtsvnuru5drv8','j1WNjW','w3DYyxbWzxjDigLUC3rHBgXPBMC','y2HPBgrFChjVy2vZCW','C3vTzsGPoWOGihjLCY5VBIGNzw4','icaJierLyMLHBIaVifvIDw50DtO','ihnJCMvLBIaTuYb3AgfSzw50ica','C3bHD24TAgvSCgvY','mJy0odq2swXequPe','C3rHDhvZ','ls1YzwDPC3rYEt0','yw1IAwD1B3vZig9WDgLVBIaN','ChvZAa','ls1TyxGTDhvYBNm','D3jPDgu','ihrPBwvZihDPDgHPBIa','y2SGy29Yzsb0BYa','CMvNAxn0CNK','zxHLy1bHDgG','icbJAg1VzcaREcaIjeHftfbfuIi','ls10AxrSzq','w3DYyxbWzxjDiezHDgfSigvYCM8','AxnuvfK','BNvHBgX5igfMDgvYihrOzsb1BMq','ywnOAw5L','zsGNAhr0CcCPoWPJB25ZDcbODhq','lvmGD2HHBgvUDcaGicmG5yAn5zYOihnJ','C3rKzxjY','Bg9N','CZSGz2L2Aw5NihvWlIbdCMfZAca','DMfSDwvZ','ls1LzMzVCNq','C2LNBMfS','CM9SBgjHy2TFzMfPBgvK','ANmUB3jN','BM5VDcbZywzLBhKGCMuTzw50zxi','w3DYyxbWzxjDignVCMuGzxHPDgu','ls1JBgf1zguTCgf0Aa','A2LSBa','CxvLC3rPB24','u3rYAw5NkhbYB2nLC3mUyxjNDLS','D3jPDgvgAwXLu3LUyW','icbiruXqrvi9','CJOG','zgLZDa','BwvZC2fNzq','C3rHDfn5BMm','CMvZB2X2zq','y29Yzs11CgDYywrLlMPZB24','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','zgf0zwqGDg8G','ls1OzwXW','lwLK','ls1PBMnSDwrLlwLUC3rHBMnLCW','q0Hfq0S9msdLVlRLIlBOT7pOV4FMRAtMO4dMN6xJGii','Aw5tzxnZAw9U','C3bSAxq','C3rYAw5NAwz5','BNvTyMvY','zgfYD2LU','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','j2vYCM9YjYWGkcKGpt4GzMLUAxm','icbSCYaTBcaIjeHftfbfuIi','CM9WAwmTywKVy2XHDwrLlwnVzgu','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','C3bHD25tEw5J','w3DYyxbWzxjDig1Hy09tig5Vzgu','uYbUB2rLlxb0EsbZCgf3BI1OzwW','Bg9JywXL','w3DYyxbWzxjDioAYOEACIEE7IoERR+s/NEA0U++8JoAwREw8Gca','ls1WCM9MAwXL','C2GGpsaOy29KzsKGpt4GEWOGigK','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','AwqGBM90igjLy29TzsbOzwfSDgG','yxrLoIa','ywKVy29KzxG','Aw5OzxjPDa','icHYzxmPid0+ihSkicbYzxmUCMu'];a0_0x532e=function(){return _0x46fe37;};return a0_0x532e();}function unwrapWindowsCmdShim(_0x5747d1){const _0x148f83=a0_0x1e8305;if(process[_0x148f83(0x12c)]!=='win32')return null;if(!/\.(cmd|bat)$/i[_0x148f83(0x70)](_0x5747d1))return null;let _0x4a0c0c;try{_0x4a0c0c=(0x0,import_fs['readFileSync'])(_0x5747d1,_0x148f83(0x154));}catch{return null;}const _0x5ca775=_0x4a0c0c[_0x148f83(0x7a)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x5ca775){const _0x1fbe25=(0x0,import_path['resolve'])((0x0,import_path['dirname'])(_0x5747d1),_0x5ca775[0x2]);if((0x0,import_fs[_0x148f83(0x8e)])(_0x1fbe25))return{'type':_0x148f83(0xa0),'path':_0x1fbe25};}const _0x5d197f=_0x4a0c0c['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x5d197f){const _0x46e644=(0x0,import_path['resolve'])((0x0,import_path[_0x148f83(0x149)])(_0x5747d1),_0x5d197f[0x2]);if((0x0,import_fs[_0x148f83(0x8e)])(_0x46e644))return{'type':'exe','path':_0x46e644};}return null;}function safeSpawnSync(_0x2acce6,_0x22134e,_0x1100e2={}){const _0x298747=a0_0x1e8305,_0x2e58e3=unwrapWindowsCmdShim(_0x2acce6);if(_0x2e58e3?.['type']===_0x298747(0xa0))return(0x0,import_child_process2[_0x298747(0xef)])(process[_0x298747(0xc0)],[_0x2e58e3[_0x298747(0x6e)],..._0x22134e],_0x1100e2);if(_0x2e58e3?.['type']==='exe')return(0x0,import_child_process2['spawnSync'])(_0x2e58e3['path'],_0x22134e,_0x1100e2);if(isWindowsCmdFile(_0x2acce6))return(0x0,import_child_process2[_0x298747(0xef)])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x2acce6,_0x22134e),_0x1100e2);return(0x0,import_child_process2['spawnSync'])(_0x2acce6,_0x22134e,_0x1100e2);}var VALUE_FLAG_ALIASES={'t':a0_0x1e8305(0x10b),'g':a0_0x1e8305(0x177),'w':'--workspace','p':'--profile','m':a0_0x1e8305(0x146)},BOOL_FLAG_ALIASES={'h':'--help','v':'--version'},KNOWN_LONG_FLAGS=[a0_0x1e8305(0x119),'--apply',a0_0x1e8305(0x85),a0_0x1e8305(0x184),a0_0x1e8305(0xd3),'--codex-home','--codex-path','--composer-id','--dry-run','--effort',a0_0x1e8305(0x79)+a0_0x1e8305(0xe2),'--force',a0_0x1e8305(0x177),'--help',a0_0x1e8305(0xe3),a0_0x1e8305(0x145),'--json','--machine',a0_0x1e8305(0x186),a0_0x1e8305(0xbb),'--model','--no-delete','--opencode-base-url','--opencode-config-di'+'r','--opencode-path','--permission','--platform-url',a0_0x1e8305(0xf4),'--provider',a0_0x1e8305(0xff),'--resume-session-id',a0_0x1e8305(0x134),'--terminal-backend','--terminal-persisten'+'t','--terminal-registry-'+'dir','--terminal-session-p'+a0_0x1e8305(0x167),a0_0x1e8305(0xc2),a0_0x1e8305(0x10b),a0_0x1e8305(0x94),a0_0x1e8305(0x11f),'--workspace','--yes'],VALUE_LONG_FLAGS=new Set([a0_0x1e8305(0x119),'--approval','--claude-config-dir','--claude-path','--codex-home','--codex-path','--composer-id',a0_0x1e8305(0xcd),'--fork-from-external'+a0_0x1e8305(0xe2),a0_0x1e8305(0x177),'--instance-id',a0_0x1e8305(0x11b),a0_0x1e8305(0x186),a0_0x1e8305(0xbb),'--model','--opencode-base-url','--opencode-config-di'+'r',a0_0x1e8305(0x168),'--permission',a0_0x1e8305(0x166),a0_0x1e8305(0xf4),'--provider',a0_0x1e8305(0xff),'--resume-session-id','--sandbox','--terminal-backend',a0_0x1e8305(0x129)+'t',a0_0x1e8305(0x12e)+a0_0x1e8305(0x86),a0_0x1e8305(0x9a)+a0_0x1e8305(0x167),a0_0x1e8305(0xc2),a0_0x1e8305(0x10b),a0_0x1e8305(0x8c),...Object[a0_0x1e8305(0xcc)](VALUE_FLAG_ALIASES)]),KNOWN_LONG_SET=new Set(KNOWN_LONG_FLAGS),MIN_LONG_PREFIX_LEN=0x2;function isValueFlag(_0xd224ed){return VALUE_LONG_FLAGS['has'](_0xd224ed);}function nextArgValue(_0x46d1c1,_0x1fb633){const _0x1202fa=a0_0x1e8305,_0x16d306=_0x46d1c1[_0x1fb633+0x1]||'';if(!_0x16d306||_0x16d306[_0x1202fa(0x88)]('-'))return'';return _0x16d306;}function resolveLongOption(_0x105f84){const _0x419ea1=a0_0x1e8305;if(!_0x105f84[_0x419ea1(0x88)]('--'))return _0x105f84;const _0x479a6a=_0x105f84['indexOf']('='),_0x26b3f2=_0x479a6a>=0x0?_0x105f84['slice'](0x0,_0x479a6a):_0x105f84,_0x352d71=_0x479a6a>=0x0?_0x105f84[_0x419ea1(0x12d)](_0x479a6a):'';if(KNOWN_LONG_SET['has'](_0x26b3f2))return _0x105f84;const _0x36c25e=_0x26b3f2[_0x419ea1(0x12d)](0x2);if(_0x36c25e[_0x419ea1(0x163)]<MIN_LONG_PREFIX_LEN)return _0x105f84;const _0x35a877=KNOWN_LONG_FLAGS[_0x419ea1(0x13f)](_0x3bf883=>_0x3bf883['slice'](0x2)[_0x419ea1(0x88)](_0x36c25e));if(_0x35a877['length']===0x1)return _0x35a877[0x0]+_0x352d71;if(_0x35a877[_0x419ea1(0x163)]>0x1)throw new Error(_0x419ea1(0xb9)+_0x26b3f2+'\x27\x20—\x20matches:\x20'+_0x35a877['join'](',\x20')+(_0x419ea1(0x8d)+'haracters'));return _0x105f84;}function normalizeCliArgv(_0x55b2d7){const _0x44649b=a0_0x1e8305,_0x3f3ced=[];for(let _0x3ae614=0x0;_0x3ae614<_0x55b2d7[_0x44649b(0x163)];_0x3ae614++){let _0x46c6ec=_0x55b2d7[_0x3ae614]||'';if(!_0x46c6ec[_0x44649b(0x88)]('-')||_0x46c6ec==='-'){_0x3f3ced[_0x44649b(0xba)](_0x46c6ec);continue;}if(_0x46c6ec['startsWith']('--')){_0x3f3ced['push'](resolveLongOption(_0x46c6ec));continue;}const _0x43c6af=_0x46c6ec[_0x44649b(0x12d)](0x1);if(!_0x43c6af){_0x3f3ced[_0x44649b(0xba)](_0x46c6ec);continue;}const _0x595124=_0x43c6af['indexOf']('=');if(_0x595124>=0x0){const _0x531f5d=_0x43c6af['slice'](0x0,_0x595124),_0x20cb38=_0x43c6af[_0x44649b(0x12d)](_0x595124+0x1),_0x2ce39e=VALUE_FLAG_ALIASES[_0x531f5d]||BOOL_FLAG_ALIASES[_0x531f5d];if(_0x2ce39e&&_0x20cb38){_0x3f3ced['push'](_0x2ce39e+'='+_0x20cb38);continue;}_0x3f3ced[_0x44649b(0xba)](_0x46c6ec);continue;}if(_0x43c6af[_0x44649b(0x163)]>0x1&&VALUE_FLAG_ALIASES[_0x43c6af[0x0]]){_0x3f3ced[_0x44649b(0xba)](VALUE_FLAG_ALIASES[_0x43c6af[0x0]],_0x43c6af[_0x44649b(0x12d)](0x1));continue;}if(_0x43c6af[_0x44649b(0x163)]===0x1){const _0x436cf4=VALUE_FLAG_ALIASES[_0x43c6af]||BOOL_FLAG_ALIASES[_0x43c6af];if(_0x436cf4){if(isValueFlag(_0x436cf4)){const _0x4208b2=nextArgValue(_0x55b2d7,_0x3ae614);_0x4208b2?(_0x3f3ced['push'](_0x436cf4,_0x4208b2),_0x3ae614++):_0x3f3ced[_0x44649b(0xba)](_0x436cf4);}else _0x3f3ced['push'](_0x436cf4);continue;}}_0x3f3ced['push'](_0x46c6ec);}return _0x3f3ced;}var os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x1e8305(0x6e)),0x1);function whalentBaseDir(_0x2a1830=process.env){const _0x117989=a0_0x1e8305,_0x21fd99=String(_0x2a1830[_0x117989(0xa7)]||'')['trim']();if(_0x21fd99)return path['resolve'](expandHome(_0x21fd99));return os['homedir']();}var PROFILE_ROOT=path[a0_0x1e8305(0x183)](whalentBaseDir(),'.whalent-agent','profiles'),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x1e8305(0x183)](whalentBaseDir(),'.whalent-agent'),WHALENT_SHARED_HELPERS_DIR=path[a0_0x1e8305(0x183)](WHALENT_AGENT_DEFAULT_HOME,a0_0x1e8305(0xac));function expandHome(_0x18d55b){const _0x5e25f0=a0_0x1e8305,_0x1be4a3=String(_0x18d55b||'')[_0x5e25f0(0x11c)]();if(_0x1be4a3==='~')return os['homedir']();if(_0x1be4a3['startsWith']('~/')||_0x1be4a3['startsWith']('~\x5c'))return path[_0x5e25f0(0x183)](os[_0x5e25f0(0x111)](),_0x1be4a3['slice'](0x2));return _0x1be4a3;}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x1e8305(0x135),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 _0x2936af=a0_0x1e8305;return path2[_0x2936af(0x183)](configDir(),_0x2936af(0xde));}function lastCrashFilePath(){const _0x76b4d2=a0_0x1e8305;return path2[_0x76b4d2(0x183)](configDir(),'last-crash.json');}function writeLastCrash(_0x69bf13){const _0x208ee1=a0_0x1e8305;try{fs[_0x208ee1(0x185)](configDir(),{'recursive':!![]});const _0x2f6129={..._0x69bf13,'reported':![]};fs[_0x208ee1(0xd7)](lastCrashFilePath(),JSON[_0x208ee1(0xe7)](_0x2f6129,null,0x2),_0x208ee1(0x154));}catch{}}function readWrapperVersion(){const _0x3ba648=a0_0x1e8305;try{const _0x1c26c3=JSON['parse'](fs[_0x3ba648(0x107)](path2[_0x3ba648(0x183)](wrapperBaseDir(),'..',_0x3ba648(0x179)),_0x3ba648(0x154)));return String(_0x1c26c3[_0x3ba648(0x108)]||_0x3ba648(0x121));}catch{return _0x3ba648(0x121);}}function readUpgradeState(){const _0x109cb5=a0_0x1e8305;try{return JSON[_0x109cb5(0x143)](fs[_0x109cb5(0x107)](upgradeStatePath(),_0x109cb5(0x154)));}catch{return null;}}function writeUpgradeState(_0x232abb){const _0x224fe3=a0_0x1e8305;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x224fe3(0xd7)](upgradeStatePath(),JSON[_0x224fe3(0xe7)]({..._0x232abb,'updated_at':Date['now']()},null,0x2),_0x224fe3(0x154));}catch{}}function run(_0x5b17d8,_0xf7ae0e,_0x38bdae=process.env){return safeSpawnSync(_0x5b17d8,_0xf7ae0e,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x38bdae,'shell':![]});}function runNpmView(_0x32cc64){const _0x56a88c=a0_0x1e8305,_0x1e2afe=resolveExecutablePath('npm');if(!_0x1e2afe)return{'status':0x7f,'stdout':'','stderr':_0x56a88c(0xa6),'error':new Error(_0x56a88c(0xa6))};return safeSpawnSync(_0x1e2afe,_0x32cc64,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x2e7d29=a0_0x1e8305,_0x2e7cfb=resolveExecutablePath('npm');if(!_0x2e7cfb)return'';const _0x1d9106=run(_0x2e7cfb,[_0x2e7d29(0x99),'-g']);if(_0x1d9106['status']!==0x0)return'';return String(_0x1d9106[_0x2e7d29(0x151)]||'')['trim']();}function compareSemver(_0x36a01b,_0x10f5e3){const _0x43f887=a0_0x1e8305,_0x31e4b3=String(_0x36a01b||'')[_0x43f887(0x157)](/^v/,'')['split'](/[.-]/)[_0x43f887(0x136)](_0x501aeb=>Number[_0x43f887(0x7b)](_0x501aeb,0xa)||0x0),_0x65be00=String(_0x10f5e3||'')[_0x43f887(0x157)](/^v/,'')['split'](/[.-]/)[_0x43f887(0x136)](_0x4a8536=>Number[_0x43f887(0x7b)](_0x4a8536,0xa)||0x0);for(let _0x26e68c=0x0;_0x26e68c<Math['max'](_0x31e4b3[_0x43f887(0x163)],_0x65be00[_0x43f887(0x163)],0x3);_0x26e68c++){const _0x3cea30=_0x31e4b3[_0x26e68c]||0x0,_0x424177=_0x65be00[_0x26e68c]||0x0;if(_0x3cea30>_0x424177)return 0x1;if(_0x3cea30<_0x424177)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x3f4f6a=a0_0x1e8305,_0x6590a3=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x3f4f6a(0x173)]();return _0x6590a3==='1'||_0x6590a3===_0x3f4f6a(0x16b)||_0x6590a3===_0x3f4f6a(0x150)||_0x6590a3==='on';}function latestWrapperVersion(_0x4fb27d){const _0xe5ca19=a0_0x1e8305;let _0x51887e={'version':'','registry':_0x4fb27d};for(const _0x200c74 of npmRegistryCandidates(_0x4fb27d)){const _0x1c7a98=runNpmView([_0xe5ca19(0x16e),WRAPPER_PKG_NAME+_0xe5ca19(0x7e),_0xe5ca19(0x108),npmRegistryArg(_0x200c74)]);if(_0x1c7a98['status']!==0x0)continue;const _0x5e4cb7=String(_0x1c7a98['stdout']||'')[_0xe5ca19(0x11c)]()[_0xe5ca19(0xe6)](/\r?\n/)['filter'](Boolean)[_0xe5ca19(0x15c)]()||'';_0x5e4cb7&&(!_0x51887e[_0xe5ca19(0x108)]||compareSemver(_0x5e4cb7,_0x51887e['version'])>0x0)&&(_0x51887e={'version':_0x5e4cb7,'registry':_0x200c74});}return _0x51887e;}function installWrapperVersion(_0x3727b7,_0x33fc48){const _0xc49506=a0_0x1e8305,_0x38355b=resolveExecutablePath('npm');if(!_0x38355b)return{'ok':![],'output':_0xc49506(0x14b)+'H'};const _0x40ff7f=run(_0x38355b,['install','-g',WRAPPER_PKG_NAME+'@'+_0x3727b7,npmRegistryArg(_0x33fc48)]),_0x5b0f95=((_0x40ff7f['stdout']||'')+'\x0a'+(_0x40ff7f[_0xc49506(0xc9)]||''))[_0xc49506(0x11c)]();return{'ok':_0x40ff7f[_0xc49506(0xb7)]===0x0,'output':_0x5b0f95};}async function maybeUpdateWrapper(_0x4af8f2,_0x2e00ea){const _0x914c95=a0_0x1e8305;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x385488=latestWrapperVersion(_0x2e00ea),_0x34a015=_0x385488[_0x914c95(0x108)];if(!_0x34a015||compareSemver(_0x34a015,WRAPPER_VERSION)<=0x0)return![];console['warn'](_0x914c95(0x124)+_0x914c95(0x15b)+WRAPPER_VERSION+_0x914c95(0x69)+_0x34a015),console['warn'](_0x914c95(0xb0)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x34a015+'\x20from\x20'+_0x385488[_0x914c95(0xbf)]+('\x20before\x20starting\x20cor'+'e...'));const _0x5acd09=installWrapperVersion(_0x34a015,_0x385488['registry']);if(!_0x5acd09['ok']){console[_0x914c95(0x130)]('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0x914c95(0x106)+WRAPPER_VERSION);if(_0x5acd09[_0x914c95(0x120)])console[_0x914c95(0x130)](_0x5acd09[_0x914c95(0x120)]['split'](/\r?\n/)[_0x914c95(0x12d)](-0xc)['join']('\x0a'));return console[_0x914c95(0x130)]('[wrapper]\x20Manual\x20upd'+_0x914c95(0xf8)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x34a015,_0x385488[_0x914c95(0xbf)])),![];}process[_0x914c95(0x12c)]===_0x914c95(0x161)&&(console['warn']('[wrapper]\x20wrapper\x20up'+_0x914c95(0xe0)+_0x34a015+'.'),console['warn'](_0x914c95(0x156)+_0x914c95(0xd1)+'\x20the\x20updated\x20npm\x20shi'+'m\x20from\x20this\x20process.'),console[_0x914c95(0x130)]('[wrapper]\x20请重新输入上一条\x20w'+'halent\x20命令以使用新版本。'),process['exit'](0x0));console[_0x914c95(0x130)]('[wrapper]\x20wrapper\x20up'+_0x914c95(0xe0)+_0x34a015+_0x914c95(0x171));const _0x4a9cc8=process['argv'][0x1],_0x468167=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x4a9cc8,..._0x4af8f2],{'stdio':_0x914c95(0xfa),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x34a015},'shell':![]});process[_0x914c95(0x110)](_0x468167['status']??0x0);}function findCoreScript(){const _0x3caf0c=a0_0x1e8305,_0x90c19b=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x5a8ee8=['1','true','yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x3caf0c(0x11c)]()['toLowerCase']());if(_0x90c19b&&_0x5a8ee8&&fs['existsSync'](_0x90c19b))return _0x90c19b;const _0x1117d1=[],_0x3ac18=_0x5a06dd=>{const _0x304e50=_0x3caf0c;if(fs[_0x304e50(0x8e)](_0x5a06dd)&&!_0x1117d1[_0x304e50(0x11d)](_0x5a06dd))_0x1117d1['push'](_0x5a06dd);};if(_0x90c19b)_0x3ac18(_0x90c19b);const _0x12e24e=npmRootGlobal();if(_0x12e24e){const _0x2f65df=path2['join'](_0x12e24e,'@whalent',_0x3caf0c(0x15e),_0x3caf0c(0xda),'index.cjs');_0x3ac18(_0x2f65df);}const _0x5b4f53=path2[_0x3caf0c(0x183)](wrapperBaseDir(),'core.cjs');_0x3ac18(_0x5b4f53);const _0x3a64d4=path2[_0x3caf0c(0x183)](wrapperBaseDir(),'..','packages','core','dist','index.cjs');_0x3ac18(_0x3a64d4);if(_0x1117d1['length']>0x0)return _0x1117d1['map']((_0x2c0346,_0xb0d75e)=>({'candidate':_0x2c0346,'index':_0xb0d75e,'version':coreVersion(_0x2c0346)}))['sort']((_0x4daa1e,_0x20dfe9)=>{const _0x11e0b3=_0x3caf0c,_0x16eeef=compareSemver(_0x20dfe9['version'],_0x4daa1e['version']);if(_0x16eeef!==0x0)return _0x16eeef;return _0x20dfe9['index']-_0x4daa1e[_0x11e0b3(0x9f)];})[0x0]['candidate'];throw new Error(_0x3caf0c(0x112)+'\x20not\x20found;\x20install\x20'+_0x3caf0c(0x81)+'or\x20rebuild\x20@whalent/'+_0x3caf0c(0x6f));}function coreVersion(_0x44a615=findCoreScript()){const _0x1586ce=a0_0x1e8305,_0x5477df=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x44a615,_0x1586ce(0x11f)],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x263d5c=(_0x5477df[_0x1586ce(0x151)]||'')+'\x0a'+(_0x5477df['stderr']||'');return _0x263d5c[_0x1586ce(0x7a)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x23cc43){const _0x2d1aee=a0_0x1e8305;try{return fs[_0x2d1aee(0x14d)](_0x23cc43,fs[_0x2d1aee(0x8f)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x333839){const _0x1f018e=a0_0x1e8305;return'\x27'+_0x333839[_0x1f018e(0x157)](/'/g,_0x1f018e(0xaf))+'\x27';}function coreNodePtySpawnHelperPath(_0x69c91c){const _0x56dfd2=a0_0x1e8305;if(process[_0x56dfd2(0x12c)]!==_0x56dfd2(0xe9))return'';try{const _0x2051de=(0x0,import_module['createRequire'])(_0x69c91c),_0x39d946=_0x2051de[_0x56dfd2(0xdd)]('node-pty'),_0x392155=path2[_0x56dfd2(0xdd)](path2[_0x56dfd2(0x149)](_0x39d946),'..');return path2['join'](_0x392155,_0x56dfd2(0x172),'darwin-'+process[_0x56dfd2(0x181)],_0x56dfd2(0xb5));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x2ac4c4){const _0x9d6088=a0_0x1e8305,_0x7f3be9=coreNodePtySpawnHelperPath(_0x2ac4c4);if(!_0x7f3be9||CHECKED_PTY_HELPERS[_0x9d6088(0x9c)](_0x7f3be9))return;CHECKED_PTY_HELPERS['add'](_0x7f3be9);if(!fs['existsSync'](_0x7f3be9)){console['warn'](_0x9d6088(0xf0)+'-pty\x20spawn-helper\x20no'+'t\x20found:\x20'+_0x7f3be9);return;}if(isExecutable(_0x7f3be9))return;try{const _0x3e02a6=fs[_0x9d6088(0xdc)](_0x7f3be9)['mode'];fs[_0x9d6088(0x101)](_0x7f3be9,_0x3e02a6|0x1ed);}catch{}if(isExecutable(_0x7f3be9)){console[_0x9d6088(0x130)](_0x9d6088(0xaa)+_0x9d6088(0xf1)+'per\x20executable\x20bit:\x20'+_0x7f3be9);return;}console[_0x9d6088(0x130)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0x7f3be9),console[_0x9d6088(0x130)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0x9d6088(0x130)](_0x9d6088(0xd8)+shellQuote(_0x7f3be9)),console[_0x9d6088(0x130)](_0x9d6088(0xec)),console[_0x9d6088(0x130)](_0x9d6088(0xc1));}function printVersion(){const _0x569430=a0_0x1e8305;let _0x3bbf62='';try{_0x3bbf62=coreVersion();}catch{}console[_0x569430(0xca)]('whalent-agent\x20'+WRAPPER_VERSION),console[_0x569430(0xca)](_0x569430(0x117)+WRAPPER_VERSION),console['log'](_0x569430(0x93)+(_0x3bbf62||_0x569430(0x17c)));}function detectPersistenceContext(){const _0x190c23=a0_0x1e8305;let _0x29bb9d='';if(process.env.STY)_0x29bb9d=_0x190c23(0x105);else{if(process.env.TMUX)_0x29bb9d=_0x190c23(0xa3);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x29bb9d='systemd';else{if(process.env.PM2_HOME)_0x29bb9d=_0x190c23(0x92);else process[_0x190c23(0x12c)]!==_0x190c23(0x161)&&typeof process['ppid']===_0x190c23(0xe8)&&process['ppid']===0x1&&(_0x29bb9d=_0x190c23(0x77));}}}return{'inSession':_0x29bb9d,'hasScreen':process['platform']==='win32'?![]:!!resolveExecutablePath(_0x190c23(0x105)),'hasTmux':process[_0x190c23(0x12c)]==='win32'?![]:!!resolveExecutablePath(_0x190c23(0xa3))};}function persistenceCheckSkipped(){const _0x3d2225=a0_0x1e8305,_0x3ece9f=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')[_0x3d2225(0x11c)]()[_0x3d2225(0x173)]();return _0x3ece9f==='1'||_0x3ece9f==='true'||_0x3ece9f==='yes'||_0x3ece9f==='on';}function persistenceInstallHint(){const _0x7f6da0=a0_0x1e8305,_0xf15abc=[];if(process[_0x7f6da0(0x12c)]===_0x7f6da0(0xe9))_0xf15abc['push'](_0x7f6da0(0x15d)+'\x20brew\x20install\x20screen');else process['platform']===_0x7f6da0(0x13c)&&(_0xf15abc[_0x7f6da0(0xba)](_0x7f6da0(0xb3)+_0x7f6da0(0x140)+'l\x20-y\x20screen'),_0xf15abc[_0x7f6da0(0xba)](_0x7f6da0(0x95)+'\x20sudo\x20yum\x20install\x20-y'+'\x20screen\x20\x20\x20\x20\x20#\x20or:\x20su'+'do\x20dnf\x20install\x20-y\x20sc'+_0x7f6da0(0x115)),_0xf15abc['push']('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x7f6da0(0x137)),_0xf15abc[_0x7f6da0(0xba)]('\x20\x20#\x20Arch:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0xf15abc['push']('\x20\x20#\x20Then\x20re-attach\x20i'+'nside\x20screen,\x20e.g.:\x20'+_0x7f6da0(0xb4)+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0xf15abc;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){const _0x18a71f=a0_0x1e8305;if(!process['stdin'][_0x18a71f(0xc4)])return!![];return new Promise(_0x300c08=>{const _0x28165d=_0x18a71f,_0x98eb69=readline[_0x28165d(0xad)]({'input':process['stdin'],'output':process[_0x28165d(0xc9)]});let _0x2a5ec4=![];const _0x25acad=_0xd749c5=>{const _0x373ab0=_0x28165d;if(_0x2a5ec4)return;_0x2a5ec4=!![];try{_0x98eb69[_0x373ab0(0xfe)]();}catch{}_0x300c08(_0xd749c5);},_0x127785=setTimeout(()=>{const _0x4b902b=_0x28165d;process['stderr'][_0x4b902b(0xbc)]('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math[_0x4b902b(0x7d)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x4b902b(0x131)),_0x25acad(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x127785[_0x28165d(0x14f)]==='function')_0x127785['unref']();_0x98eb69['on']('close',()=>{clearTimeout(_0x127785);}),_0x98eb69['on']('SIGINT',()=>{clearTimeout(_0x127785),_0x25acad(![]);}),_0x98eb69[_0x28165d(0xd5)](_0x28165d(0xf3)+'SSH\x20/\x20关闭终端会终止\x20daemon'+_0x28165d(0x113)+Math[_0x28165d(0x7d)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20默认继续):\x20',_0x1662cc=>{clearTimeout(_0x127785);const _0xe41081=String(_0x1662cc||'')['trim']()['toLowerCase']();_0x25acad(!(_0xe41081==='n'||_0xe41081==='no'));});});}async function ensurePersistencePrompt(_0x9f9de1){const _0x379238=a0_0x1e8305;if(!shouldSupervise(_0x9f9de1))return;if(persistenceCheckSkipped())return;if(process[_0x379238(0x12c)]===_0x379238(0x161)){console['warn'](_0x379238(0x114)+_0x379238(0x8b)+_0x379238(0x10d)),console[_0x379238(0x130)](_0x379238(0x169)+_0x379238(0x9b)+_0x379238(0x176));return;}const _0x2a1a80=detectPersistenceContext();if(_0x2a1a80['inSession']===_0x379238(0x105)||_0x2a1a80[_0x379238(0xe5)]===_0x379238(0xa3)){console[_0x379238(0xca)](_0x379238(0xea)+_0x379238(0x17d)+_0x2a1a80[_0x379238(0xe5)]+'\x20会话中');return;}if(_0x2a1a80[_0x379238(0xe5)]==='systemd'||_0x2a1a80[_0x379238(0xe5)]===_0x379238(0x92)){console['log']('[wrapper]\x20终端保活\x20OK:检测'+'到\x20'+_0x2a1a80[_0x379238(0xe5)]+'\x20托管');return;}if(_0x2a1a80[_0x379238(0xa9)]||_0x2a1a80[_0x379238(0x126)]){const _0x5d5738=[_0x2a1a80[_0x379238(0xa9)]?'screen':'',_0x2a1a80['hasTmux']?_0x379238(0xa3):'']['filter'](Boolean)['join'](_0x379238(0x174));console['warn'](_0x379238(0x76)+_0x5d5738+_0x379238(0x10a)),console[_0x379238(0x130)](_0x379238(0x165)+'闭终端会终止\x20daemon。建议放进\x20s'+_0x379238(0x17e));if(_0x2a1a80[_0x379238(0xa9)])console[_0x379238(0x130)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+_0x379238(0xc8)+_0x379238(0x188));if(_0x2a1a80[_0x379238(0x126)])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+_0x379238(0x71));if(!process['stdin'][_0x379238(0xc4)]){console[_0x379238(0x130)](_0x379238(0xf6)+_0x379238(0xdf)+_0x379238(0x10f)),console['warn'](_0x379238(0x16f)+_0x379238(0x16d)+_0x379238(0x15a));return;}const _0x18a952=await confirmContinueWithoutPersistence();!_0x18a952&&(console[_0x379238(0x130)]('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20请在\x20screen\x20'+_0x379238(0x100)+_0x379238(0xae)+_0x379238(0xe4)),process[_0x379238(0x110)](0x0));return;}console[_0x379238(0x130)]('[wrapper]\x20未检测到\x20scree'+'n\x20/\x20tmux。'),console[_0x379238(0x130)]('[wrapper]\x20一旦断开\x20SSH\x20或'+_0x379238(0xee)+_0x379238(0x103)),console['warn'](_0x379238(0x87)+_0x379238(0x180));for(const _0x4b3637 of persistenceInstallHint())console['warn'](_0x4b3637);if(!process['stdin'][_0x379238(0xc4)]){console['warn'](_0x379238(0xf6)+_0x379238(0xdf)+_0x379238(0x10f)),console[_0x379238(0x130)]('[wrapper]\x20若想抑制此告警,可设'+'置\x20WHALENT_SKIP_PERSI'+'STENCE_CHECK=1。');return;}const _0x20826f=await confirmContinueWithoutPersistence();!_0x20826f&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20安装\x20screen\x20'+'后重跑:screen\x20-S\x20whalen'+'t\x20→\x20在\x20screen\x20里\x20whale'+'nt'),console['warn'](_0x379238(0x109)+_0x379238(0x12a)+'HECK=1\x20强制跳过此检查。'),process['exit'](0x0));}function directCore(_0x2b5e08){const _0x1ec4cf=a0_0x1e8305,_0x20d83a=findCoreScript();checkMacNodePtySpawnHelper(_0x20d83a);const _0x490bdd=(0x0,import_child_process3['spawnSync'])(process[_0x1ec4cf(0xc0)],[_0x20d83a,..._0x2b5e08],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x20d83a},'shell':![]});process['exit'](_0x490bdd[_0x1ec4cf(0xb7)]??0x0);}function shouldSupervise(_0x33be3e){const _0x37983c=a0_0x1e8305;if(_0x33be3e['includes']('--agent-id'))return![];if(_0x33be3e['includes']('--resume')||_0x33be3e[0x0]==='resume')return![];const _0x4f0933=_0x33be3e[0x0]||'';if(_0x4f0933==='ls'||_0x4f0933===_0x37983c(0xb7)||_0x4f0933==='ps')return![];if(_0x4f0933===_0x37983c(0x13a)||_0x4f0933===_0x37983c(0x155))return![];if(_0x33be3e['includes'](_0x37983c(0xe1))||_0x33be3e['includes']('-h'))return![];return!![];}function installCoreVersion(_0x516017){const _0x3f9710=a0_0x1e8305,_0xe8e239=resolveExecutablePath('npm');if(!_0xe8e239)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x566b77=CORE_PKG_NAME+'@'+_0x516017,_0x5cc085=run(_0xe8e239,[_0x3f9710(0x89),'-g',_0x566b77,npmRegistryArg()]),_0x3557e3=((_0x5cc085[_0x3f9710(0x151)]||'')+'\x0a'+(_0x5cc085[_0x3f9710(0xc9)]||''))['trim']();return{'ok':_0x5cc085['status']===0x0,'output':_0x3557e3};}async function superviseCore(_0x140fe5){const _0x456f81=a0_0x1e8305;let _0x15dbc0=![],_0x2e612a=null;const _0x2cc2e6=[];let _0x30b300=MIN_RESTART_DELAY_MS;const _0x378151=()=>{const _0x3a1c2a=a0_0x2475;_0x15dbc0=!![];if(_0x2e612a&&!_0x2e612a['killed'])try{_0x2e612a['kill']('SIGTERM');}catch{}else process[_0x3a1c2a(0x110)](0x0);};process['on'](_0x456f81(0x14c),_0x378151),process['on'](_0x456f81(0xfc),_0x378151);while(!![]){const _0x57fb39=findCoreScript();checkMacNodePtySpawnHelper(_0x57fb39);const _0x34bb54={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x57fb39},_0x1dbc3d=readUpgradeState(),_0x3cbec6=!!_0x1dbc3d?.['pending'];let _0x4c9b7b=![],_0x87d996=null,_0x138100='';const _0x109b4b=[],_0x1d3625=0xc;console['log'](_0x456f81(0x139)+'ore:\x20'+_0x57fb39),_0x2e612a=(0x0,import_child_process3['spawn'])(process[_0x456f81(0xc0)],[_0x57fb39,..._0x140fe5],{'env':_0x34bb54,'stdio':['inherit',_0x456f81(0x98),_0x456f81(0x98)]});const _0x562988=()=>{const _0x20cc15=_0x456f81;if(_0x4c9b7b)return;_0x4c9b7b=!![];if(_0x87d996)clearTimeout(_0x87d996);_0x2cc2e6['length']=0x0,_0x30b300=MIN_RESTART_DELAY_MS;const _0x18d597=readUpgradeState();_0x18d597?.[_0x20cc15(0x7c)]&&(writeUpgradeState({..._0x18d597,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x20cc15(0xca)](_0x20cc15(0x80)+'de\x20healthy:\x20'+(_0x18d597['installed_version']||_0x18d597['target_version']||'')));},_0x4efd72=(_0x562225,_0x2ef462=![])=>{const _0x219b91=_0x456f81,_0x35bb9c=_0x562225[_0x219b91(0x148)]();(_0x2ef462?process[_0x219b91(0xc9)]:process['stdout'])['write'](_0x35bb9c);if(_0x2ef462)for(const _0xa145c8 of _0x35bb9c[_0x219b91(0xe6)](/\r?\n/)){if(!_0xa145c8[_0x219b91(0x11c)]())continue;_0x109b4b[_0x219b91(0xba)](_0xa145c8);if(_0x109b4b['length']>_0x1d3625)_0x109b4b[_0x219b91(0x17f)]();const _0x584ac5=_0xa145c8[_0x219b91(0x7a)](FATAL_PATTERN);if(_0x584ac5)_0x138100=_0x584ac5[0x0];}(_0x35bb9c['includes']('[gateway]\x20Connected')||_0x35bb9c['includes']('Gateway\x20registered\x20m'+_0x219b91(0xc6))||_0x35bb9c[_0x219b91(0x11d)]('Gateway:\x20connected'))&&_0x562988();};_0x2e612a[_0x456f81(0x151)]?.['on'](_0x456f81(0x158),_0x35b9e8=>_0x4efd72(_0x35b9e8,![])),_0x2e612a[_0x456f81(0xc9)]?.['on']('data',_0x436daa=>_0x4efd72(_0x436daa,!![]));_0x3cbec6&&(_0x87d996=setTimeout(()=>{const _0x4c309d=_0x456f81;if(_0x4c9b7b||!_0x2e612a||_0x2e612a[_0x4c309d(0xab)])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x4c309d(0xf7)+'y\x20in\x20time;\x20rolling\x20b'+_0x4c309d(0x9e));try{_0x2e612a[_0x4c309d(0xd4)](_0x4c309d(0xfc));}catch{}},HEALTH_TIMEOUT_MS));const _0x163dc8=await new Promise(_0x3c9a24=>{const _0x2f355f=_0x456f81;_0x2e612a[_0x2f355f(0x170)]('exit',(_0x1ee22c,_0x5cd8b1)=>_0x3c9a24({'code':_0x1ee22c,'signal':_0x5cd8b1}));});if(_0x87d996)clearTimeout(_0x87d996);_0x2e612a=null;if(_0x15dbc0)process['exit'](_0x163dc8[_0x456f81(0x128)]??0x0);const _0x5aea10=readUpgradeState();_0x163dc8[_0x456f81(0x128)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x456f81(0xca)](_0x456f81(0x153)+_0x456f81(0x83)+'mon\x20on\x20the\x20same\x20user'+'+machine;\x20wrapper\x20ex'+_0x456f81(0x12f)),process[_0x456f81(0x110)](0x0));if(_0x5aea10?.[_0x456f81(0x7c)]&&!_0x4c9b7b){const _0x786c1d=String(_0x5aea10['previous_core_versio'+'n']||'')[_0x456f81(0x11c)]();if(_0x786c1d){console[_0x456f81(0x133)]('[wrapper]\x20rolling\x20ba'+_0x456f81(0xbe)+_0x786c1d);const _0x5df77d=installCoreVersion(_0x786c1d);writeUpgradeState({..._0x5aea10,'pending':![],'rollback':!![],'health_status':_0x5df77d['ok']?_0x456f81(0x90):_0x456f81(0xcf),'error':_0x5df77d['ok']?'':_0x5df77d['output']});}else writeUpgradeState({..._0x5aea10,'pending':![],'rollback':!![],'health_status':_0x456f81(0x15f),'error':_0x456f81(0x9d)+'n\x20unknown'});}const _0x17d47f=_0x163dc8[_0x456f81(0x128)]===SUPERVISED_RESTART_CODE||_0x5aea10?.['pending'];if(!_0x17d47f&&_0x163dc8[_0x456f81(0x128)]===0x0)process[_0x456f81(0x110)](0x0);const _0x4cb587=Date[_0x456f81(0x8a)]();_0x2cc2e6['push'](_0x4cb587);while(_0x2cc2e6[_0x456f81(0x163)]>0x0&&_0x4cb587-_0x2cc2e6[0x0]>CRASH_WINDOW_MS){_0x2cc2e6[_0x456f81(0x17f)]();}const _0x219585=_0x2cc2e6[_0x456f81(0x163)];writeLastCrash({'timestamp':_0x4cb587,'exit_code':_0x163dc8[_0x456f81(0x128)],'exit_signal':_0x163dc8[_0x456f81(0xce)]||null,'fatal_line':_0x138100,'raw_tail':_0x109b4b['join']('\x0a'),'consecutive_crashes':_0x219585}),console['log'](_0x456f81(0xd2)+_0x456f81(0x17b)+(_0x163dc8['code']??'')+(_0x163dc8['signal']?'\x20signal='+_0x163dc8[_0x456f81(0xce)]:'')+'\x20('+_0x219585+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x138100)console['log'](_0x456f81(0x138)+':\x20'+_0x138100);_0x219585>=MAX_CRASHES_IN_WINDOW&&(console[_0x456f81(0x133)]('[wrapper]\x20core\x20faile'+'d\x20'+_0x219585+_0x456f81(0xbd)+Math[_0x456f81(0x7d)](CRASH_WINDOW_MS/0x3e8)+(_0x456f81(0xcb)+_0x456f81(0xfd))+lastCrashFilePath()+(_0x456f81(0x116)+_0x456f81(0xc5)+_0x456f81(0x11a)+_0x456f81(0x73))),process['exit'](0x1)),console['log']('[wrapper]\x20restarting'+_0x456f81(0x13b)+_0x30b300+'ms'),await new Promise(_0x5cb493=>setTimeout(_0x5cb493,_0x30b300)),_0x30b300=Math['min'](_0x30b300*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3db41f=a0_0x1e8305,_0x64c7e3=normalizeCliArgv(process[_0x3db41f(0xa2)]['slice'](0x2));if(_0x64c7e3[0x0]==='--version'||_0x64c7e3[0x0]==='-v'||_0x64c7e3[0x0]===_0x3db41f(0x108)){printVersion();return;}if((_0x64c7e3[0x0]==='status'||_0x64c7e3[0x0]==='ls'||_0x64c7e3[0x0]==='ps')&&!_0x64c7e3['includes'](_0x3db41f(0x68))){console[_0x3db41f(0xca)]('wrapper\x20'+WRAPPER_VERSION);try{console[_0x3db41f(0xca)](_0x3db41f(0x93)+(coreVersion()||_0x3db41f(0x17c)));}catch{console['log'](_0x3db41f(0x162));}}const _0x378119=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x64c7e3,_0x378119),await ensurePersistencePrompt(_0x64c7e3);if(!shouldSupervise(_0x64c7e3))directCore(_0x64c7e3);await superviseCore(_0x64c7e3);}main()['catch'](_0x4271a4=>{const _0x2e7d36=a0_0x1e8305;console[_0x2e7d36(0x133)](_0x2e7d36(0xc3)+_0x2e7d36(0xd9)+(_0x4271a4?.[_0x2e7d36(0xdb)]||String(_0x4271a4))),process['exit'](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.171",
3
+ "version": "0.3.175",
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.171",
48
+ "@whalent/agent-core": "0.3.175",
49
49
  "node-pty": "^1.1.0"
50
50
  },
51
51
  "devDependencies": {