@whalent/agent 0.3.229 → 0.3.230

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_0x45ba1d=a0_0x27f0;(function(_0x1cd017,_0x188867){const _0x27c013=a0_0x27f0,_0x288ffa=_0x1cd017();while(!![]){try{const _0x14f0e1=parseInt(_0x27c013(0x2b4))/0x1+-parseInt(_0x27c013(0x20d))/0x2*(-parseInt(_0x27c013(0x266))/0x3)+parseInt(_0x27c013(0x293))/0x4+parseInt(_0x27c013(0x23b))/0x5+parseInt(_0x27c013(0x2e7))/0x6+-parseInt(_0x27c013(0x2be))/0x7*(-parseInt(_0x27c013(0x2f4))/0x8)+-parseInt(_0x27c013(0x2c4))/0x9*(parseInt(_0x27c013(0x22f))/0xa);if(_0x14f0e1===_0x188867)break;else _0x288ffa['push'](_0x288ffa['shift']());}catch(_0x2b2699){_0x288ffa['push'](_0x288ffa['shift']());}}}(a0_0x107d,0xe8204));var __create=Object[a0_0x45ba1d(0x23f)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x45ba1d(0x302)],__hasOwnProp=Object[a0_0x45ba1d(0x2ae)][a0_0x45ba1d(0x214)],__copyProps=(_0x4276af,_0x19fe1f,_0x4dda1e,_0x36a8e1)=>{const _0x5e1c64=a0_0x45ba1d;if(_0x19fe1f&&typeof _0x19fe1f===_0x5e1c64(0x26d)||typeof _0x19fe1f==='function'){for(let _0x32acce of __getOwnPropNames(_0x19fe1f))if(!__hasOwnProp['call'](_0x4276af,_0x32acce)&&_0x32acce!==_0x4dda1e)__defProp(_0x4276af,_0x32acce,{'get':()=>_0x19fe1f[_0x32acce],'enumerable':!(_0x36a8e1=__getOwnPropDesc(_0x19fe1f,_0x32acce))||_0x36a8e1[_0x5e1c64(0x200)]});}return _0x4276af;},__toESM=(_0x14f731,_0x274dae,_0x2dad22)=>(_0x2dad22=_0x14f731!=null?__create(__getProtoOf(_0x14f731)):{},__copyProps(_0x274dae||!_0x14f731||!_0x14f731[a0_0x45ba1d(0x28c)]?__defProp(_0x2dad22,a0_0x45ba1d(0x22c),{'value':_0x14f731,'enumerable':!![]}):_0x2dad22,_0x14f731)),import_child_process3=require(a0_0x45ba1d(0x243)),fs=__toESM(require('fs'),0x1),import_module=require('module'),path2=__toESM(require(a0_0x45ba1d(0x28d)),0x1),readline=__toESM(require('readline'),0x1),import_child_process2=require(a0_0x45ba1d(0x243)),import_fs=require('fs'),import_os=__toESM(require('os'),0x1),import_path=require(a0_0x45ba1d(0x28d)),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x45ba1d(0x2d4)+'js.org',CHINA_NPM_REGISTRY=a0_0x45ba1d(0x2d4)+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x4d3d58=explicitNpmRegistry();if(_0x4d3d58)return _0x4d3d58;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x1b30a0=preferredNpmRegistry()){const _0x2fd5dc=a0_0x45ba1d,_0x90cfcd=explicitNpmRegistry(),_0x10127e=_0x90cfcd||normalizeRegistry(_0x1b30a0)||DEFAULT_NPM_REGISTRY;return Array[_0x2fd5dc(0x27f)](new Set([_0x10127e,DEFAULT_NPM_REGISTRY,CHINA_NPM_REGISTRY]));}async function selectFastNpmRegistry(_0x4e28db=REGISTRY_PROBE_TIMEOUT_MS){const _0x4f4207=a0_0x45ba1d,_0x58c185=explicitNpmRegistry();if(_0x58c185)return rememberNpmRegistry(_0x58c185),_0x58c185;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x4f4207(0x2fd)];const _0x58953a=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x17f0c8=_0x58953a['map'](()=>new AbortController());let _0x229519=-0x1;const _0x7a4327=_0x58953a[_0x4f4207(0x22a)]((_0x35875d,_0x3d577f)=>probeRegistry200(_0x35875d,_0x4e28db,_0x17f0c8[_0x3d577f][_0x4f4207(0x2aa)])['then'](()=>({'registry':_0x35875d,'index':_0x3d577f})));try{const _0x249624=await Promise[_0x4f4207(0x255)](_0x7a4327);_0x229519=_0x249624['index'];const _0x45b4a4=_0x249624['registry'];return rememberNpmRegistry(_0x45b4a4),_0x45b4a4;}catch{const _0x149cb4=_0x58953a[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x149cb4),_0x149cb4;}finally{_0x17f0c8[_0x4f4207(0x203)]((_0x767519,_0x2f6dfd)=>{const _0x4e2eb2=_0x4f4207;if(_0x2f6dfd!==_0x229519)_0x767519[_0x4e2eb2(0x25c)]();});}}function rememberNpmRegistry(_0x2d9382){const _0x5f593c=a0_0x45ba1d,_0x3fdb13=normalizeRegistry(_0x2d9382);if(_0x3fdb13)selectedRegistryCache={'registry':_0x3fdb13,'ts':Date[_0x5f593c(0x25b)]()};}function npmRegistryArg(_0x255c93=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x255c93)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x377114,_0x262a7d=preferredNpmRegistry()){const _0x55d7b8=a0_0x45ba1d;return _0x55d7b8(0x275)+_0x377114+'\x20'+npmRegistryArg(_0x262a7d);}function isChineseLocale(){const _0xeebe27=a0_0x45ba1d,_0x4322fd=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0xeebe27(0x217)](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x4322fd))return!![];try{const _0x4dd5bf=Intl[_0xeebe27(0x23a)]()[_0xeebe27(0x27c)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x4dd5bf);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x209834){return String(_0x209834||'')['trim']()['replace'](/\/+$/,'');}function probeRegistry200(_0xc0af04,_0x48a782,_0x52bad8){return new Promise((_0x3f3d6b,_0x20e70e)=>{const _0x436f41=a0_0x27f0;let _0x4b057a=![];const _0x4ea065=_0x5881bf=>{const _0x5f4649=a0_0x27f0;if(_0x4b057a)return;_0x4b057a=!![],clearTimeout(_0x21a165),_0x52bad8?.['removeEventListener']('abort',_0x2be551);if(!_0x4b3fd6[_0x5f4649(0x1fa)])try{_0x4b3fd6['kill']('SIGTERM');}catch{}if(_0x5881bf)_0x20e70e(_0x5881bf);else _0x3f3d6b();},_0x2be551=()=>{_0x4ea065(new Error('registry\x20probe\x20abort'+'ed'));},_0x21a165=setTimeout(()=>{_0x4ea065(new Error('registry\x20probe\x20timed'+'\x20out'));},_0x48a782);_0x21a165[_0x436f41(0x2e5)]?.();const _0x4b3fd6=(0x0,import_child_process[_0x436f41(0x2b6)])(process[_0x436f41(0x2d8)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0xc0af04)||DEFAULT_NPM_REGISTRY,String(_0x48a782)],{'stdio':_0x436f41(0x218),'shell':![],'windowsHide':!![]});_0x4b3fd6['on']('error',_0x4ea065),_0x4b3fd6['on'](_0x436f41(0x29b),_0x523934=>{const _0x33fdf2=_0x436f41;if(_0x523934===0x0)_0x4ea065();else _0x4ea065(new Error(_0x33fdf2(0x227)+_0x33fdf2(0x2ba)+(_0x523934??_0x33fdf2(0x2aa))));}),_0x52bad8?.['addEventListener']('abort',_0x2be551,{'once':!![]});if(_0x52bad8?.[_0x436f41(0x235)]){_0x2be551();return;}});}var REGISTRY_PROBE_SCRIPT='\x0aconst\x20http\x20=\x20requir'+'e(\x27http\x27);\x0aconst\x20htt'+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+a0_0x45ba1d(0x2c9)+'1]\x20||\x20\x27\x27).replace(/\x5c'+'/+$/,\x20\x27\x27);\x0aconst\x20tim'+'eoutMs\x20=\x20Number(proc'+a0_0x45ba1d(0x2b5)+a0_0x45ba1d(0x2ea)+a0_0x45ba1d(0x2ef)+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+a0_0x45ba1d(0x2d5)+a0_0x45ba1d(0x262)+a0_0x45ba1d(0x28f)+a0_0x45ba1d(0x27e)+a0_0x45ba1d(0x241)+'one\x20=\x20true;\x0a\x20\x20clearT'+a0_0x45ba1d(0x287)+a0_0x45ba1d(0x253)+'catch\x20{}\x0a\x20\x20process.e'+'xit(code);\x0a};\x0aconst\x20'+a0_0x45ba1d(0x2e4)+')\x20=>\x20finish(3),\x20time'+a0_0x45ba1d(0x2c0)+'mod.request(url,\x20{\x0a\x20'+a0_0x45ba1d(0x284)+'meout:\x20timeoutMs,\x0a\x20\x20'+'agent:\x20false,\x0a\x20\x20head'+a0_0x45ba1d(0x289)+a0_0x45ba1d(0x278)+a0_0x45ba1d(0x23d)+a0_0x45ba1d(0x2ab)+'ext/plain,*/*\x27\x20},\x0a},'+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+a0_0x45ba1d(0x258)+'d\x27,\x20()\x20=>\x20finish(res'+a0_0x45ba1d(0x2c1)+a0_0x45ba1d(0x2a0)+a0_0x45ba1d(0x24c)+'h(4));\x0a});\x0areq.on(\x27t'+a0_0x45ba1d(0x234)+'h(3));\x0areq.on(\x27error'+'\x27,\x20()\x20=>\x20finish(4));'+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+'ai/codex','claude':a0_0x45ba1d(0x1fb)+a0_0x45ba1d(0x269),'opencode':a0_0x45ba1d(0x29d)+a0_0x45ba1d(0x245),'whalent':npmInstallCommand(a0_0x45ba1d(0x2ed))+a0_0x45ba1d(0x22d)};function isWindowsCmdFile(_0x291d13){const _0x2d87c9=a0_0x45ba1d;return process[_0x2d87c9(0x2dd)]==='win32'&&/\.(cmd|bat)$/i[_0x2d87c9(0x27b)](_0x291d13||'');}function quoteCmdArg(_0xa16269){const _0x50a285=a0_0x45ba1d,_0x133a1c=String(_0xa16269??'');if(_0x133a1c&&!/[\s"&|<>^%]/['test'](_0x133a1c))return _0x133a1c;return'\x22'+_0x133a1c[_0x50a285(0x28a)](/(["^&|<>%])/g,_0x50a285(0x2ff))+'\x22';}function cmdFallbackArgs(_0x5474bc,_0x5f0af7){return['/d','/s','/c',[quoteCmdArg(_0x5474bc),..._0x5f0af7['map'](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x4fd960,_0x2d540f=process.env){const _0x505b95=a0_0x45ba1d;if(!_0x4fd960)return null;if(_0x4fd960[_0x505b95(0x2d2)]('/')||_0x4fd960['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x505b95(0x27b)](_0x4fd960))return(0x0,import_fs[_0x505b95(0x2e8)])(_0x4fd960)?_0x4fd960:_0x4fd960;const _0x3fdcdf=process['platform']==='win32',_0x4cc082=String(_0x2d540f[_0x505b95(0x2f5)]||_0x2d540f[_0x505b95(0x299)]||'')[_0x505b95(0x2d3)](),_0x5a77cf=_0x4cc082?(0x0,import_path['resolve'])(_0x4cc082['replace'](/^~(?=[\\/]|$)/,import_os['default'][_0x505b95(0x2b2)]())):(0x0,import_path[_0x505b95(0x2fe)])(import_os['default']['homedir'](),'.npm-global'),_0x2b3e70=_0x3fdcdf?['.exe','.cmd','.bat','.ps1','']['map'](_0x13e430=>(0x0,import_path[_0x505b95(0x2fe)])(_0x5a77cf,''+_0x4fd960+_0x13e430)):[(0x0,import_path[_0x505b95(0x2fe)])(_0x5a77cf,_0x505b95(0x2eb),_0x4fd960)],_0x850142=_0x2b3e70['find'](_0x1e07fc=>(0x0,import_fs[_0x505b95(0x2e8)])(_0x1e07fc));if(_0x850142)return _0x850142;const _0x540a51=_0x3fdcdf?'where.exe':'which';try{const _0x241697=(0x0,import_child_process2[_0x505b95(0x2dc)])(_0x540a51,[_0x4fd960],{'encoding':'utf-8','timeout':0xbb8,'shell':![],'env':_0x2d540f});if(_0x241697[_0x505b95(0x270)]===0x0){const _0x2dc49d=(_0x241697[_0x505b95(0x2a8)]||'')['trim']()[_0x505b95(0x2fb)](/\r?\n/)[_0x505b95(0x217)](Boolean);if(_0x2dc49d[_0x505b95(0x261)]===0x0)return null;if(_0x3fdcdf)for(const _0x3eeb9f of['.exe','.cmd',_0x505b95(0x2a9),'.ps1']){const _0x4a1d4a=_0x2dc49d[_0x505b95(0x281)](_0x58833e=>_0x58833e[_0x505b95(0x1fd)]()['endsWith'](_0x3eeb9f));if(_0x4a1d4a)return _0x4a1d4a;}return _0x2dc49d[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0xce788a){const _0x47b0d4=a0_0x45ba1d;if(process['platform']!==_0x47b0d4(0x2f8))return null;if(!/\.(cmd|bat)$/i['test'](_0xce788a))return null;let _0x3b9481;try{_0x3b9481=(0x0,import_fs[_0x47b0d4(0x25a)])(_0xce788a,'utf-8');}catch{return null;}const _0x48ecdf=_0x3b9481[_0x47b0d4(0x290)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x48ecdf){const _0x4edb7d=(0x0,import_path['resolve'])((0x0,import_path[_0x47b0d4(0x232)])(_0xce788a),_0x48ecdf[0x2]);if((0x0,import_fs[_0x47b0d4(0x2e8)])(_0x4edb7d))return{'type':_0x47b0d4(0x221),'path':_0x4edb7d};}const _0xb1bca=_0x3b9481[_0x47b0d4(0x290)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0xb1bca){const _0x126742=(0x0,import_path[_0x47b0d4(0x2bc)])((0x0,import_path['dirname'])(_0xce788a),_0xb1bca[0x2]);if((0x0,import_fs['existsSync'])(_0x126742))return{'type':_0x47b0d4(0x26c),'path':_0x126742};}return null;}function safeSpawnSync(_0x3cfd3a,_0x54d6f0,_0x5cd16c={}){const _0x2b8e3f=a0_0x45ba1d,_0x18c10f=unwrapWindowsCmdShim(_0x3cfd3a);if(_0x18c10f?.[_0x2b8e3f(0x2b0)]==='node')return(0x0,import_child_process2[_0x2b8e3f(0x2dc)])(process[_0x2b8e3f(0x2d8)],[_0x18c10f[_0x2b8e3f(0x28d)],..._0x54d6f0],_0x5cd16c);if(_0x18c10f?.[_0x2b8e3f(0x2b0)]==='exe')return(0x0,import_child_process2['spawnSync'])(_0x18c10f[_0x2b8e3f(0x28d)],_0x54d6f0,_0x5cd16c);if(isWindowsCmdFile(_0x3cfd3a))return(0x0,import_child_process2[_0x2b8e3f(0x2dc)])(process.env.ComSpec||_0x2b8e3f(0x1fc),cmdFallbackArgs(_0x3cfd3a,_0x54d6f0),_0x5cd16c);return(0x0,import_child_process2[_0x2b8e3f(0x2dc)])(_0x3cfd3a,_0x54d6f0,_0x5cd16c);}var VALUE_FLAG_ALIASES={'t':'--token','g':'--gateway','w':a0_0x45ba1d(0x274),'p':a0_0x45ba1d(0x26b),'m':'--model'},BOOL_FLAG_ALIASES={'h':a0_0x45ba1d(0x296),'v':'--version'},KNOWN_LONG_FLAGS=[a0_0x45ba1d(0x247),a0_0x45ba1d(0x2c2),'--approval','--claude-config-dir','--claude-path',a0_0x45ba1d(0x20e),a0_0x45ba1d(0x2a7),'--composer-id',a0_0x45ba1d(0x1f7),'--effort',a0_0x45ba1d(0x2f3)+'-id',a0_0x45ba1d(0x2bf),a0_0x45ba1d(0x21f),a0_0x45ba1d(0x296),'--home',a0_0x45ba1d(0x1f9),a0_0x45ba1d(0x1f1),'--json',a0_0x45ba1d(0x26e),a0_0x45ba1d(0x267),a0_0x45ba1d(0x301),'--model',a0_0x45ba1d(0x2a4),'--no-replace-exit','--opencode-base-url','--opencode-config-di'+'r',a0_0x45ba1d(0x2f1),a0_0x45ba1d(0x280),'--platform-url','--profile','--provider',a0_0x45ba1d(0x239),'--resume-session-id','--sandbox',a0_0x45ba1d(0x288),'--terminal-persisten'+'t',a0_0x45ba1d(0x2b3)+'dir','--terminal-session-p'+a0_0x45ba1d(0x303),'--title','--token','--verbose',a0_0x45ba1d(0x295),a0_0x45ba1d(0x274),a0_0x45ba1d(0x23c)],VALUE_LONG_FLAGS=new Set(['--agent-id',a0_0x45ba1d(0x246),a0_0x45ba1d(0x2bd),a0_0x45ba1d(0x292),a0_0x45ba1d(0x20e),'--codex-path','--composer-id',a0_0x45ba1d(0x220),a0_0x45ba1d(0x2f3)+a0_0x45ba1d(0x206),a0_0x45ba1d(0x21f),'--home','--instance-id','--machine',a0_0x45ba1d(0x267),a0_0x45ba1d(0x301),'--model',a0_0x45ba1d(0x2b1),a0_0x45ba1d(0x264)+'r',a0_0x45ba1d(0x2f1),a0_0x45ba1d(0x280),'--platform-url',a0_0x45ba1d(0x26b),a0_0x45ba1d(0x21e),'--resume',a0_0x45ba1d(0x294),'--sandbox',a0_0x45ba1d(0x288),'--terminal-persisten'+'t',a0_0x45ba1d(0x2b3)+a0_0x45ba1d(0x210),'--terminal-session-p'+a0_0x45ba1d(0x303),a0_0x45ba1d(0x21d),'--token',a0_0x45ba1d(0x274),...Object[a0_0x45ba1d(0x24e)](VALUE_FLAG_ALIASES)]),KNOWN_LONG_SET=new Set(KNOWN_LONG_FLAGS),MIN_LONG_PREFIX_LEN=0x2;function isValueFlag(_0x29cdf1){const _0x44e180=a0_0x45ba1d;return VALUE_LONG_FLAGS[_0x44e180(0x2ec)](_0x29cdf1);}function nextArgValue(_0x258fc4,_0x381818){const _0x5b63d2=_0x258fc4[_0x381818+0x1]||'';if(!_0x5b63d2||_0x5b63d2['startsWith']('-'))return'';return _0x5b63d2;}function resolveLongOption(_0x42309d){const _0x5076f1=a0_0x45ba1d;if(!_0x42309d[_0x5076f1(0x272)]('--'))return _0x42309d;const _0x593d7d=_0x42309d['indexOf']('='),_0x353f76=_0x593d7d>=0x0?_0x42309d[_0x5076f1(0x2e2)](0x0,_0x593d7d):_0x42309d,_0x52028c=_0x593d7d>=0x0?_0x42309d['slice'](_0x593d7d):'';if(KNOWN_LONG_SET[_0x5076f1(0x2ec)](_0x353f76))return _0x42309d;const _0x56ce24=_0x353f76[_0x5076f1(0x2e2)](0x2);if(_0x56ce24[_0x5076f1(0x261)]<MIN_LONG_PREFIX_LEN)return _0x42309d;const _0xd256ff=KNOWN_LONG_FLAGS[_0x5076f1(0x217)](_0x2be3e0=>_0x2be3e0['slice'](0x2)['startsWith'](_0x56ce24));if(_0xd256ff[_0x5076f1(0x261)]===0x1)return _0xd256ff[0x0]+_0x52028c;if(_0xd256ff[_0x5076f1(0x261)]>0x1)throw new Error(_0x5076f1(0x230)+_0x353f76+'\x27\x20—\x20matches:\x20'+_0xd256ff['join'](',\x20')+(';\x20please\x20type\x20more\x20c'+'haracters'));return _0x42309d;}function normalizeCliArgv(_0x588348){const _0x34a6b7=a0_0x45ba1d,_0x5cdfbb=[];for(let _0x40f318=0x0;_0x40f318<_0x588348['length'];_0x40f318++){let _0x2ac912=_0x588348[_0x40f318]||'';if(!_0x2ac912[_0x34a6b7(0x272)]('-')||_0x2ac912==='-'){_0x5cdfbb['push'](_0x2ac912);continue;}if(_0x2ac912[_0x34a6b7(0x272)]('--')){_0x5cdfbb['push'](resolveLongOption(_0x2ac912));continue;}const _0x31bd36=_0x2ac912[_0x34a6b7(0x2e2)](0x1);if(!_0x31bd36){_0x5cdfbb[_0x34a6b7(0x2d9)](_0x2ac912);continue;}const _0x4c76f1=_0x31bd36['indexOf']('=');if(_0x4c76f1>=0x0){const _0x473641=_0x31bd36[_0x34a6b7(0x2e2)](0x0,_0x4c76f1),_0x8862b8=_0x31bd36['slice'](_0x4c76f1+0x1),_0x5c3687=VALUE_FLAG_ALIASES[_0x473641]||BOOL_FLAG_ALIASES[_0x473641];if(_0x5c3687&&_0x8862b8){_0x5cdfbb[_0x34a6b7(0x2d9)](_0x5c3687+'='+_0x8862b8);continue;}_0x5cdfbb[_0x34a6b7(0x2d9)](_0x2ac912);continue;}if(_0x31bd36[_0x34a6b7(0x261)]>0x1&&VALUE_FLAG_ALIASES[_0x31bd36[0x0]]){_0x5cdfbb[_0x34a6b7(0x2d9)](VALUE_FLAG_ALIASES[_0x31bd36[0x0]],_0x31bd36['slice'](0x1));continue;}if(_0x31bd36['length']===0x1){const _0x1a4434=VALUE_FLAG_ALIASES[_0x31bd36]||BOOL_FLAG_ALIASES[_0x31bd36];if(_0x1a4434){if(isValueFlag(_0x1a4434)){const _0x118a17=nextArgValue(_0x588348,_0x40f318);_0x118a17?(_0x5cdfbb['push'](_0x1a4434,_0x118a17),_0x40f318++):_0x5cdfbb[_0x34a6b7(0x2d9)](_0x1a4434);}else _0x5cdfbb['push'](_0x1a4434);continue;}}_0x5cdfbb[_0x34a6b7(0x2d9)](_0x2ac912);}return _0x5cdfbb;}function argValue(_0x1807c1,_0x83232a){const _0xaa7597=a0_0x45ba1d;for(let _0x3d6ff6=0x0;_0x3d6ff6<_0x1807c1[_0xaa7597(0x261)];_0x3d6ff6++){const _0x5e8f4a=_0x1807c1[_0x3d6ff6]||'';if(_0x5e8f4a===_0x83232a)return nextArgValue(_0x1807c1,_0x3d6ff6);if(_0x5e8f4a['startsWith'](_0x83232a+'='))return _0x5e8f4a[_0xaa7597(0x2e2)](_0x83232a[_0xaa7597(0x261)]+0x1);}return'';}var os2=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1);function whalentBaseDir(_0x304bf6=process.env,_0x77d532=normalizeCliArgv(process['argv']['slice'](0x2))){const _0x2ea4f7=a0_0x45ba1d,_0x44e776=String(argValue(_0x77d532,_0x2ea4f7(0x304))||'')[_0x2ea4f7(0x2d3)]();if(_0x44e776)return path[_0x2ea4f7(0x2bc)](expandHome(_0x44e776));const _0x2713ef=String(_0x304bf6['WHALENT_HOME']||'')['trim']();if(_0x2713ef)return path[_0x2ea4f7(0x2bc)](expandHome(_0x2713ef));return os2['homedir']();}var PROFILE_ROOT=path['join'](whalentBaseDir(),'.whalent-agent','profiles'),WHALENT_AGENT_DEFAULT_HOME=path['join'](whalentBaseDir(),'.whalent-agent'),WHALENT_SHARED_HELPERS_DIR=path[a0_0x45ba1d(0x2fe)](WHALENT_AGENT_DEFAULT_HOME,'helpers');function expandHome(_0x5405dc){const _0x448d45=a0_0x45ba1d,_0x2940cd=String(_0x5405dc||'')['trim']();if(_0x2940cd==='~')return os2[_0x448d45(0x2b2)]();if(_0x2940cd['startsWith']('~/')||_0x2940cd['startsWith']('~\x5c'))return path[_0x448d45(0x2fe)](os2['homedir'](),_0x2940cd['slice'](0x2));return _0x2940cd;}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x45ba1d(0x2f9),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 _0x1eeb13=a0_0x45ba1d;return path2[_0x1eeb13(0x2fe)](configDir(),_0x1eeb13(0x211));}function lastCrashFilePath(){const _0x380d22=a0_0x45ba1d;return path2['join'](configDir(),_0x380d22(0x29c));}function writeLastCrash(_0x541029){const _0x1e2ad7=a0_0x45ba1d;try{fs[_0x1e2ad7(0x2ad)](configDir(),{'recursive':!![]});const _0x26d940={..._0x541029,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x1e2ad7(0x2ca)](_0x26d940,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x3fe0af=a0_0x45ba1d;try{const _0x2a9b54=JSON[_0x3fe0af(0x273)](fs['readFileSync'](path2['join'](wrapperBaseDir(),'..','package.json'),_0x3fe0af(0x2d0)));return String(_0x2a9b54['version']||_0x3fe0af(0x1f8));}catch{return'0.0.0';}}function readUpgradeState(){const _0x209608=a0_0x45ba1d;try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),_0x209608(0x2d0)));}catch{return null;}}function writeUpgradeState(_0x3e11b2){const _0x3abeb2=a0_0x45ba1d;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x3abeb2(0x2c6)](upgradeStatePath(),JSON['stringify']({..._0x3e11b2,'updated_at':Date['now']()},null,0x2),_0x3abeb2(0x2d0));}catch{}}function run(_0x56db78,_0x192cea,_0x4eb77f=process.env){const _0x23b610=a0_0x45ba1d;return safeSpawnSync(_0x56db78,_0x192cea,{'encoding':_0x23b610(0x2ee),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x4eb77f,'shell':![]});}function runNpmView(_0x38a283){const _0x430ed2=resolveExecutablePath('npm');if(!_0x430ed2)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x430ed2,_0x38a283,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x50b3b0=a0_0x45ba1d,_0x4de365=resolveExecutablePath(_0x50b3b0(0x2f2));if(!_0x4de365)return'';const _0x12f034=run(_0x4de365,[_0x50b3b0(0x2e9),'-g']);if(_0x12f034['status']!==0x0)return'';return String(_0x12f034[_0x50b3b0(0x2a8)]||'')['trim']();}function compareSemver(_0x3f8c2a,_0x4bfb80){const _0x4fa685=a0_0x45ba1d,_0x4e6f8d=String(_0x3f8c2a||'')['replace'](/^v/,'')[_0x4fa685(0x2fb)](/[.-]/)['map'](_0xd024ec=>Number[_0x4fa685(0x208)](_0xd024ec,0xa)||0x0),_0x53ec63=String(_0x4bfb80||'')[_0x4fa685(0x28a)](/^v/,'')[_0x4fa685(0x2fb)](/[.-]/)['map'](_0x5ef091=>Number['parseInt'](_0x5ef091,0xa)||0x0);for(let _0x1ff389=0x0;_0x1ff389<Math['max'](_0x4e6f8d[_0x4fa685(0x261)],_0x53ec63[_0x4fa685(0x261)],0x3);_0x1ff389++){const _0x304bd3=_0x4e6f8d[_0x1ff389]||0x0,_0x21f812=_0x53ec63[_0x1ff389]||0x0;if(_0x304bd3>_0x21f812)return 0x1;if(_0x304bd3<_0x21f812)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x4e40b9=a0_0x45ba1d,_0x207fa5=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x4e40b9(0x1fd)]();return _0x207fa5==='1'||_0x207fa5===_0x4e40b9(0x300)||_0x207fa5==='yes'||_0x207fa5==='on';}function latestWrapperVersion(_0x13db53){const _0x406955=a0_0x45ba1d;let _0x279c10={'version':'','registry':_0x13db53};for(const _0x1a4227 of npmRegistryCandidates(_0x13db53)){const _0x428ed1=runNpmView([_0x406955(0x2cf),WRAPPER_PKG_NAME+'@latest',_0x406955(0x276),npmRegistryArg(_0x1a4227)]);if(_0x428ed1['status']!==0x0)continue;const _0x1cc6ef=String(_0x428ed1[_0x406955(0x2a8)]||'')[_0x406955(0x2d3)]()[_0x406955(0x2fb)](/\r?\n/)['filter'](Boolean)[_0x406955(0x2cb)]()||'';_0x1cc6ef&&(!_0x279c10[_0x406955(0x276)]||compareSemver(_0x1cc6ef,_0x279c10[_0x406955(0x276)])>0x0)&&(_0x279c10={'version':_0x1cc6ef,'registry':_0x1a4227});}return _0x279c10;}function installWrapperVersion(_0x34102f,_0x386b72){const _0x4ae3af=a0_0x45ba1d,_0x2124a0=resolveExecutablePath(_0x4ae3af(0x2f2));if(!_0x2124a0)return{'ok':![],'output':_0x4ae3af(0x2a1)+'H'};const _0x138a03=run(_0x2124a0,[_0x4ae3af(0x2ac),'-g',WRAPPER_PKG_NAME+'@'+_0x34102f,npmRegistryArg(_0x386b72)]),_0x53bbf8=((_0x138a03['stdout']||'')+'\x0a'+(_0x138a03['stderr']||''))['trim']();return{'ok':_0x138a03[_0x4ae3af(0x270)]===0x0,'output':_0x53bbf8};}async function maybeUpdateWrapper(_0x56641a,_0x56abc2){const _0x56c9d8=a0_0x45ba1d;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x31c2fe=latestWrapperVersion(_0x56abc2),_0x5139dd=_0x31c2fe[_0x56c9d8(0x276)];if(!_0x5139dd||compareSemver(_0x5139dd,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+_0x56c9d8(0x257)+WRAPPER_VERSION+'\x20->\x20'+_0x5139dd),console[_0x56c9d8(0x20c)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x5139dd+_0x56c9d8(0x25e)+_0x31c2fe['registry']+('\x20before\x20starting\x20cor'+_0x56c9d8(0x2a2)));const _0x466c14=installWrapperVersion(_0x5139dd,_0x31c2fe['registry']);if(!_0x466c14['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0x56c9d8(0x2e0)+WRAPPER_VERSION);if(_0x466c14['output'])console['warn'](_0x466c14[_0x56c9d8(0x22b)][_0x56c9d8(0x2fb)](/\r?\n/)[_0x56c9d8(0x2e2)](-0xc)['join']('\x0a'));return console[_0x56c9d8(0x20c)]('[wrapper]\x20Manual\x20upd'+_0x56c9d8(0x251)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x5139dd,_0x31c2fe[_0x56c9d8(0x2fd)])),![];}process[_0x56c9d8(0x2dd)]==='win32'&&(console[_0x56c9d8(0x20c)]('[wrapper]\x20wrapper\x20up'+_0x56c9d8(0x2ce)+_0x5139dd+'.'),console[_0x56c9d8(0x20c)](_0x56c9d8(0x27a)+'nnot\x20safely\x20re-enter'+'\x20the\x20updated\x20npm\x20shi'+_0x56c9d8(0x225)),console[_0x56c9d8(0x20c)](_0x56c9d8(0x21c)+_0x56c9d8(0x259)),process['exit'](0x0));console['warn'](_0x56c9d8(0x22e)+'dated\x20to\x20'+_0x5139dd+_0x56c9d8(0x219));const _0x1fdce2=process[_0x56c9d8(0x212)][0x1],_0x4a86c7=(0x0,import_child_process3[_0x56c9d8(0x2dc)])(process[_0x56c9d8(0x2d8)],[_0x1fdce2,..._0x56641a],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x5139dd},'shell':![]});process[_0x56c9d8(0x29b)](_0x4a86c7[_0x56c9d8(0x270)]??0x0);}function findCoreScript(){const _0x4cdf68=a0_0x45ba1d,_0x196454=String(process.env.WHALENT_CORE_ENTRY||'')[_0x4cdf68(0x2d3)](),_0x530aee=['1','true','yes','on'][_0x4cdf68(0x2d2)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x4cdf68(0x2d3)]()[_0x4cdf68(0x1fd)]());if(_0x196454&&_0x530aee&&fs[_0x4cdf68(0x2e8)](_0x196454))return _0x196454;const _0x2f192a=[],_0x5b0cf7=_0x47bd78=>{const _0x207664=_0x4cdf68;if(fs['existsSync'](_0x47bd78)&&!_0x2f192a[_0x207664(0x2d2)](_0x47bd78))_0x2f192a['push'](_0x47bd78);};if(_0x196454)_0x5b0cf7(_0x196454);const _0x57f909=npmRootGlobal();if(_0x57f909){const _0x195a4=path2[_0x4cdf68(0x2fe)](_0x57f909,_0x4cdf68(0x268),'agent-core',_0x4cdf68(0x201),'index.cjs');_0x5b0cf7(_0x195a4);}const _0x4e489c=path2[_0x4cdf68(0x2fe)](wrapperBaseDir(),'core.cjs');_0x5b0cf7(_0x4e489c);const _0x351bd2=path2['join'](wrapperBaseDir(),'..',_0x4cdf68(0x244),_0x4cdf68(0x2f7),_0x4cdf68(0x201),'index.cjs');_0x5b0cf7(_0x351bd2);if(_0x2f192a[_0x4cdf68(0x261)]>0x0)return _0x2f192a[_0x4cdf68(0x22a)]((_0x1ebe4e,_0x5a2f1b)=>({'candidate':_0x1ebe4e,'index':_0x5a2f1b,'version':coreVersion(_0x1ebe4e)}))['sort']((_0x2c09cc,_0x12fb8d)=>{const _0xbbe779=_0x4cdf68,_0x5312e4=compareSemver(_0x12fb8d['version'],_0x2c09cc['version']);if(_0x5312e4!==0x0)return _0x5312e4;return _0x12fb8d[_0xbbe779(0x291)]-_0x2c09cc[_0xbbe779(0x291)];})[0x0][_0x4cdf68(0x260)];throw new Error('whalent\x20core\x20runtime'+_0x4cdf68(0x29a)+_0x4cdf68(0x26f)+'or\x20rebuild\x20@whalent/'+_0x4cdf68(0x271));}function coreVersion(_0x214e9b=findCoreScript()){const _0xf22f6d=a0_0x45ba1d,_0x3c19d6=(0x0,import_child_process3[_0xf22f6d(0x2dc)])(process['execPath'],[_0x214e9b,'--version'],{'encoding':_0xf22f6d(0x2ee),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x1d3cc1=(_0x3c19d6['stdout']||'')+'\x0a'+(_0x3c19d6['stderr']||'');return _0x1d3cc1['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x53451e){const _0x31e1ae=a0_0x45ba1d;try{return fs[_0x31e1ae(0x2b8)](_0x53451e,fs['constants'][_0x31e1ae(0x226)]),!![];}catch{return![];}}function shellQuote(_0x3c9d31){return'\x27'+_0x3c9d31['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x2fb1c6){const _0x4ba08c=a0_0x45ba1d;if(process['platform']!=='darwin')return'';try{const _0x3241b4=(0x0,import_module[_0x4ba08c(0x25d)])(_0x2fb1c6),_0x407717=_0x3241b4[_0x4ba08c(0x2bc)](_0x4ba08c(0x2c5)),_0x1d2d27=path2['resolve'](path2['dirname'](_0x407717),'..');return path2['join'](_0x1d2d27,_0x4ba08c(0x2d1),_0x4ba08c(0x263)+process[_0x4ba08c(0x240)],_0x4ba08c(0x24d));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x2a8766){const _0x4c231b=a0_0x45ba1d,_0x34318f=coreNodePtySpawnHelperPath(_0x2a8766);if(!_0x34318f||CHECKED_PTY_HELPERS['has'](_0x34318f))return;CHECKED_PTY_HELPERS[_0x4c231b(0x248)](_0x34318f);if(!fs[_0x4c231b(0x2e8)](_0x34318f)){console[_0x4c231b(0x20c)]('[wrapper]\x20macOS\x20node'+_0x4c231b(0x277)+_0x4c231b(0x2b9)+_0x34318f);return;}if(isExecutable(_0x34318f))return;try{const _0x54c146=fs['statSync'](_0x34318f)['mode'];fs['chmodSync'](_0x34318f,_0x54c146|0x1ed);}catch{}if(isExecutable(_0x34318f)){console[_0x4c231b(0x20c)](_0x4c231b(0x213)+'S\x20node-pty\x20spawn-hel'+_0x4c231b(0x233)+_0x34318f);return;}console['warn'](_0x4c231b(0x2f6)+_0x4c231b(0x2a3)+'\x20not\x20executable:\x20'+_0x34318f),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0x4c231b(0x20c)](_0x4c231b(0x256)+shellQuote(_0x34318f)),console[_0x4c231b(0x20c)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x3038d4=a0_0x45ba1d;let _0x4f3476='';try{_0x4f3476=coreVersion();}catch{}console['log'](_0x3038d4(0x2d6)+WRAPPER_VERSION),console['log'](_0x3038d4(0x207)+WRAPPER_VERSION),console[_0x3038d4(0x1f3)](_0x3038d4(0x2e1)+(_0x4f3476||'not\x20installed'));}function detectPersistenceContext(){const _0x493ced=a0_0x45ba1d;let _0x3b59f3='';if(process.env.STY)_0x3b59f3=_0x493ced(0x24b);else{if(process.env.TMUX)_0x3b59f3=_0x493ced(0x26a);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x3b59f3='systemd';else{if(process.env.PM2_HOME)_0x3b59f3='pm2';else process[_0x493ced(0x2dd)]!=='win32'&&typeof process['ppid']==='number'&&process['ppid']===0x1&&(_0x3b59f3='systemd');}}}return{'inSession':_0x3b59f3,'hasScreen':process['platform']===_0x493ced(0x2f8)?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']==='win32'?![]:!!resolveExecutablePath(_0x493ced(0x26a))};}function persistenceCheckSkipped(){const _0x559978=a0_0x45ba1d,_0x2061d4=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()['toLowerCase']();return _0x2061d4==='1'||_0x2061d4===_0x559978(0x300)||_0x2061d4===_0x559978(0x254)||_0x2061d4==='on';}function a0_0x107d(){const _0x22bd37=['B2rLlwfP','ls1HChbYB3zHBa','ls1Hz2vUDc1Pza','ywrK','w3DYyxbWzxjDioIVT+wCQcbZy3jLzw4G','BwvZC2fNzq','C2nYzwvU','j2vYCM9YjYWGkcKGpt4GzMLUAxm','C3bHD24TAgvSCgvY','DMfSDwvZ','6k6K77Ym57UN57UT5zcV5yQO44cc','BwnW','yxrLoIa','AxnuvfK','ihSGCMvXlMrLC3rYB3KOktSGFsa','EwvZ','yw55','icbiruXqrvi9','AwXHyMXLoIa','C3vTzsGPoWOGihjLCY5VBIGNzw4','AgfSzw50iowrVEs7Pos7PEs9V+EuQoAwSoEjIoACRooaGG','CMvHzezPBgvtEw5J','BM93','ywjVCNq','y3jLyxrLuMvXDwLYzq','igzYB20G','tLrFu0Tjuf9qrvjtsvnuru5drv8','y2fUzgLKyxrL','BgvUz3rO','DhbZidOGAhr0CdSkBgv0igrVBMu','zgfYD2LUlq','ls1VCgvUy29Kzs1JB25MAwCTzgK','CMvZDw1L','mJGZndq1n2L0ugrrqW','ls1TywnOAw5Llw5HBwu','qhDOywXLBNq','CM9WAwmTywKVy2XHDwrLlwnVzgu','Dg11Ea','ls1WCM9MAwXL','zxHL','B2jQzwn0','ls1TywnOAw5L','qhDOywXLBNqVywDLBNqTy29Yzsa','C3rHDhvZ','ywDLBNq','C3rHCNrZv2L0Aa','CgfYC2u','ls13B3jRC3bHy2u','BNbTigLUC3rHBgWGlwCG','DMvYC2LVBG','lxb0EsbZCgf3BI1OzwXWzxiGBM8','icD3AgfSzw50lwfNzw50lxjLz2K','BIaVihrTDxJJGii','w3DYyxbWzxjDifDPBMrVD3mGy2e','DgvZDa','CMvZB2X2zwrpChrPB25Z','u1rftKnfx0nirunlpthJGii','C2GGpsaOy29KzsKGpt4GEWOGigK','zNjVBq','ls1WzxjTAxnZAw9U','zMLUza','ihnJCMvLBIaGicaGiYbVCJOGC3u','AgfZu2nYzwvU','ig1LDgHVzdOGj0DfvcCScIaGDgK','zgfLBw9Ulw1JCa','zguGAgvHBhrOEtOG','Aw1LB3v0khrPBwvYktSkicb0CNK','ls10zxjTAw5HBc1IywnRzw5K','zxjZoIb7icDvC2vYlufNzw50jZO','CMvWBgfJzq','Bw9Uig9UihrOzsbZyw1LihvZzxi','x19LC01VzhvSzq','Cgf0Aa','w3DYyxbWzxjDihjLC3rHCNrPBMC','id0GzMfSC2u7cMnVBNn0igzPBMK','Bwf0y2G','Aw5KzxG','ls1JBgf1zguTCgf0Aa','mZKZoty1mLDKBuTcta','ls1Yzxn1BwuTC2vZC2LVBI1Pza','ls12zxjZAw9U','ls1OzwXW','CYdOTOxML7BVViNJGiik','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','BNbTx2nVBMzPz19WCMvMAxG','ig5VDcbMB3vUzdSGAw5ZDgfSBca','zxHPDa','BgfZDc1JCMfZAc5QC29U','BNbTigLUC3rHBgWGlwCGB3bLBMm','igjYzxCGAw5ZDgfSBcbZy3jLzw4','CJOG','pYaWidOGmIKPoWOGihjLCY5VBIG','BNbTig5VDcbMB3vUzcbVBIbqqvq','zs4UlG','lxb0EsbZCgf3BI1OzwXWzxiGAxm','ls1UBY1KzwXLDgu','ihn1zg8GyxbRigfKzcbZy3jLzw4','y3jLzw4GlYb0Bxv4iowgHE+8MG','ls1JB2rLEc1WyxrO','C3rKB3v0','lMjHDa','C2LNBMfS','icDHChbSAwnHDgLVBI9QC29Ulhq','Aw5ZDgfSBa','BwTKAxjtEw5J','ChjVDg90ExbL','w2DHDgv3yxLDienVBM5Ly3rLza','DhLWzq','ls1VCgvUy29Kzs1IyxnLlxvYBa','Ag9TzwrPCG','ls10zxjTAw5HBc1YzwDPC3rYEs0','mtiXmZmYz1LHsuDU','zxnZlMfYz3zBmL0GFhWGmZaWmcK','C3bHD24','BwLU','ywnJzxnZu3LUyW','DcbMB3vUzdOG','zdOGzxHPDd0','CM91BMq','CMvZB2X2zq','ls1JBgf1zguTy29UzMLNlwrPCG','mJq4nJyXD3HiB0Pe','ls1MB3jJzq','B3v0txmPoWPJB25ZDcbYzxeGpsa','lNn0yxr1C0nVzguGpt09idiWmca','ls1HChbSEq','y2XVC2u','mty2mdG4n0nHBej5Bq','BM9Kzs1WDhK','D3jPDgvgAwXLu3LUyW','y2SGy29Yzsb0BYa','Aw5OzxjPDa','u3rYAw5NkhbYB2nLC3mUyxjNDLS','C3rYAw5NAwz5','Cg9W','u0Lhvevstq','CM9SBgjHy2TFzMfPBgvK','zgf0zwqGDg8G','DMLLDW','DxrMltG','ChjLyNvPBgrZ','Aw5JBhvKzxm','DhjPBq','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','B2WGpt09icDODhrWCZONid8GAhq','D2HHBgvUDc1Hz2vUDca','zcbJB2rLpq','zxHLy1bHDgG','ChvZAa','igLUia','ihn1zg8GCgfJBwfUic1tihnJCMu','C3bHD25tEw5J','CgXHDgzVCM0','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','Aw5NihDPDgGG','y29Yzsa','C2XPy2u','lIbszxn0yxj0ihDYyxbWzxiGBwe','DgLTzxiGpsbZzxruAw1LB3v0kcG','Dw5Yzwy','C3rKAw4','mtqZmtC4t2rOsKnd','zxHPC3rZu3LUyW','CM9VDa','ihX8idmWmda7cMnVBNn0ihvYBca','yMLU','AgfZ','qhDOywXLBNqVywDLBNq','DxrMoa','psbUzxCGvvjmkcCVls9WAw5NjYW','C3LZDgvTza','ls1VCgvUy29Kzs1WyxrO','BNbT','ls1MB3jRlwzYB20TzxH0zxjUywW','mJqWu2HVuKXn','tLbnx0nptKzjr19quKvgsvG','w3DYyxbWzxjDig1Hy09tig5Vzgu','y29Yzq','D2LUmZi','qhDOywXLBNqVywDLBNqTy29Yzq','icaGicaGicaGicaGihrTDxGGBMu','C3bSAxq','zgfYD2LU','CMvNAxn0CNK','AM9PBG','xIqX','Dhj1zq','ls1TyxGTDhvYBNm','z2v0uhjVDg90ExbLt2y','CMvMAxG','ls1OB21L','ls1PBNn0yw5Jzs1Pza','lvmGD2HHBgvUDcaGicmG5yAn5zYOihnJ','Bg9N','w3DYyxbWzxjDiezHDgfSigvYCM8','ios8MUIVNEs4Rq','C2HPzNq','ls1KCNKTCNvU','mc4WlJa','ls1PBMnSDwrLlwLUC3rHBMnLCW','A2LSBgvK','BNbTigLUC3rHBgWGlwCGqgfUDgG','y21KlMv4zq','Dg9mB3DLCKnHC2u','y3jLyxrLsw50zxjMywnL','DYaTCYb3AgfSzw50','zw51BwvYywjSzq','zgLZDa','zwqU','zM9YrwfJAa','B3jLoIa','y2f0y2G','lwLK','D3jHChbLCIa','CgfYC2vjBNq','w3DYyxbWzxjDigXHC3qGzMf0ywW','AgfZvg11Ea','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','D2fYBG','mLHOzxLZBa','ls1JB2rLEc1OB21L','q0Hfq0S9msdLVlRLIlBOT7pOV4FMRAtMO4dMN6xJGii','zgLY','y29Yzs11CgDYywrLlMPZB24','yxjNDG','w3DYyxbWzxjDigzPEgvKig1Hy08','AgfZt3DUuhjVCgvYDhK','5zMO5lUL5A6E546W5l+D5Rs777YA','CxvLC3rPB24','zMLSDgvY','AwDUB3jL','oYbYzxn0yxj0Aw5NihDYyxbWzxi','w3DYyxbWzxjDioIlPEMCGoIMGEwqJUwpSos/NEA0U++8Jow7UUIURG','u0Lhsu5u','w3DYyxbWzxjDioIVT+MhJEAwSoI+K+wfPEs4IUs4GoADOsb3','ls10AxrSzq','ls1WCM92AwrLCG','ls1NyxrLD2f5','ls1LzMzVCNq','BM9Kzq','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','C3rKzxjY','w3DYyxbWzxjDihn0yxj0Aw5Nigm','BsbMCM9TihrOAxmGChjVy2vZCY4','wf9psW','CMvNAxn0CNKGChjVyMuGzMfPBgu','Aw5tzxnZAw9U','ywnOAw5L','BwfW','B3v0Chv0','zgvMyxvSDa','ic0TChjLzMvYlw9UBgLUzq','w3DYyxbWzxjDihDYyxbWzxiGDxa','mtKWwuPTt3DP','yw1IAwD1B3vZig9WDgLVBIaN','CMvJB3jKoIa','zgLYBMfTzq','CgvYigv4zwn1DgfIBguGyML0oIa','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','ywjVCNrLza','y29Kzq','w3DYyxbWzxjDignVCMuGzMfPBgu','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','ls1Yzxn1Bwu','rgf0zvrPBwvgB3jTyxq','nJu4mJq0mfzeu3rguq','ls15zxm','C3rYEs1WCM9IzsCSiefJy2vWDdO','572UifDiquXftLrFu0Tjuf9qrvjtsq','y3jLyxrL','yxjJAa','zIaOzg9UzsKGCMv0DxjUoWOGigq','ihnJCMvLBIaTuYb3AgfSzw50ica','y2HPBgrFChjVy2vZCW','CgfJA2fNzxm'];a0_0x107d=function(){return _0x22bd37;};return a0_0x107d();}function persistenceInstallHint(){const _0x8543bb=a0_0x45ba1d,_0x3e2c26=[];if(process['platform']===_0x8543bb(0x2fc))_0x3e2c26['push']('\x20\x20#\x20macOS:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x8543bb(0x29e));else process[_0x8543bb(0x2dd)]==='linux'&&(_0x3e2c26[_0x8543bb(0x2d9)]('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+'\x20sudo\x20apt-get\x20instal'+'l\x20-y\x20screen'),_0x3e2c26[_0x8543bb(0x2d9)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x8543bb(0x282)+'do\x20dnf\x20install\x20-y\x20sc'+'reen'),_0x3e2c26[_0x8543bb(0x2d9)]('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x8543bb(0x2a5)),_0x3e2c26[_0x8543bb(0x2d9)]('\x20\x20#\x20Arch:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x8543bb(0x2db)+'en'));return _0x3e2c26['push']('\x20\x20#\x20Then\x20re-attach\x20i'+'nside\x20screen,\x20e.g.:\x20'+_0x8543bb(0x242)+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0x3e2c26;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;function a0_0x27f0(_0x4cde70,_0x273897){_0x4cde70=_0x4cde70-0x1f1;const _0x107d92=a0_0x107d();let _0x27f088=_0x107d92[_0x4cde70];if(a0_0x27f0['ZbGLyu']===undefined){var _0x2f6cba=function(_0x3824b0){const _0x996e09='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4276af='',_0x19fe1f='';for(let _0x4dda1e=0x0,_0x36a8e1,_0x32acce,_0x14f731=0x0;_0x32acce=_0x3824b0['charAt'](_0x14f731++);~_0x32acce&&(_0x36a8e1=_0x4dda1e%0x4?_0x36a8e1*0x40+_0x32acce:_0x32acce,_0x4dda1e++%0x4)?_0x4276af+=String['fromCharCode'](0xff&_0x36a8e1>>(-0x2*_0x4dda1e&0x6)):0x0){_0x32acce=_0x996e09['indexOf'](_0x32acce);}for(let _0x274dae=0x0,_0x2dad22=_0x4276af['length'];_0x274dae<_0x2dad22;_0x274dae++){_0x19fe1f+='%'+('00'+_0x4276af['charCodeAt'](_0x274dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19fe1f);};a0_0x27f0['oJbVOO']=_0x2f6cba,a0_0x27f0['GbJSGj']={},a0_0x27f0['ZbGLyu']=!![];}const _0x2ec1d3=_0x107d92[0x0],_0x10ee77=_0x4cde70+_0x2ec1d3,_0x52b233=a0_0x27f0['GbJSGj'][_0x10ee77];return!_0x52b233?(_0x27f088=a0_0x27f0['oJbVOO'](_0x27f088),a0_0x27f0['GbJSGj'][_0x10ee77]=_0x27f088):_0x27f088=_0x52b233,_0x27f088;}async function confirmContinueWithoutPersistence(){if(!process['stdin']['isTTY'])return!![];return new Promise(_0x60c5b1=>{const _0x586e3d=a0_0x27f0,_0xa0a640=readline[_0x586e3d(0x1fe)]({'input':process['stdin'],'output':process[_0x586e3d(0x223)]});let _0x436c0c=![];const _0x4d17e7=_0x5b811a=>{if(_0x436c0c)return;_0x436c0c=!![];try{_0xa0a640['close']();}catch{}_0x60c5b1(_0x5b811a);},_0x10d2e3=setTimeout(()=>{const _0x20cf6a=_0x586e3d;process[_0x20cf6a(0x223)]['write']('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math[_0x20cf6a(0x2bb)](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x20cf6a(0x297)),_0x4d17e7(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x10d2e3['unref']==='function')_0x10d2e3[_0x586e3d(0x2e5)]();_0xa0a640['on'](_0x586e3d(0x2c3),()=>{clearTimeout(_0x10d2e3);}),_0xa0a640['on'](_0x586e3d(0x21b),()=>{clearTimeout(_0x10d2e3),_0x4d17e7(![]);}),_0xa0a640[_0x586e3d(0x216)]('[wrapper]\x20没有终端保活,断开\x20'+'SSH\x20/\x20关闭终端会终止\x20daemon'+'。仍然继续吗?[Y/n]('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20默认继续):\x20',_0x3bdabb=>{const _0x171af3=_0x586e3d;clearTimeout(_0x10d2e3);const _0x505c68=String(_0x3bdabb||'')[_0x171af3(0x2d3)]()['toLowerCase']();_0x4d17e7(!(_0x505c68==='n'||_0x505c68==='no'));});});}async function ensurePersistencePrompt(_0x499012){const _0x1818de=a0_0x45ba1d;if(!shouldSupervise(_0x499012))return;if(persistenceCheckSkipped())return;if(process[_0x1818de(0x2dd)]===_0x1818de(0x2f8)){console['warn']('[wrapper]\x20Windows\x20上不'+'要求\x20screen\x20/\x20tmux;将使用'+'平台终端能力并继续启动。'),console[_0x1818de(0x20c)](_0x1818de(0x21a)+'使用\x20Windows\x20任务计划、服务管理'+'器或保持终端窗口打开。');return;}const _0x5dda94=detectPersistenceContext();if(_0x5dda94['inSession']==='screen'||_0x5dda94[_0x1818de(0x228)]==='tmux'){console['log']('[wrapper]\x20终端保活\x20OK:当前'+'已在\x20'+_0x5dda94[_0x1818de(0x228)]+_0x1818de(0x1f5));return;}if(_0x5dda94['inSession']===_0x1818de(0x2f0)||_0x5dda94[_0x1818de(0x228)]==='pm2'){console['log'](_0x1818de(0x2df)+'到\x20'+_0x5dda94['inSession']+'\x20托管');return;}if(_0x5dda94[_0x1818de(0x283)]||_0x5dda94['hasTmux']){const _0x41a87d=[_0x5dda94[_0x1818de(0x283)]?_0x1818de(0x24b):'',_0x5dda94[_0x1818de(0x20a)]?'tmux':''][_0x1818de(0x217)](Boolean)['join']('\x20/\x20');console[_0x1818de(0x20c)]('[wrapper]\x20检测到\x20'+_0x41a87d+'\x20已安装,但当前不在终端复用器里运行。'),console['warn'](_0x1818de(0x20b)+'闭终端会终止\x20daemon。建议放进\x20s'+_0x1818de(0x2a6));if(_0x5dda94['hasScreen'])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20screen\x20'+_0x1818de(0x1f2)+'reen\x20里运行\x20whalent');if(_0x5dda94['hasTmux'])console[_0x1818de(0x20c)](_0x1818de(0x2fa)+_0x1818de(0x1ff));if(!process[_0x1818de(0x2e6)][_0x1818de(0x252)]){console[_0x1818de(0x20c)](_0x1818de(0x2de)+'ell(CI\x20/\x20后台脚本),跳过二次确'+_0x1818de(0x24f)),console['warn']('[wrapper]\x20若想抑制此告警,可设'+_0x1818de(0x23e)+_0x1818de(0x27d));return;}const _0x5472fe=await confirmContinueWithoutPersistence();!_0x5472fe&&(console[_0x1818de(0x20c)]('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn'](_0x1818de(0x249)+'/\x20tmux\x20内重跑,或设置\x20WHALE'+_0x1818de(0x25f)+_0x1818de(0x20f)),process[_0x1818de(0x29b)](0x0));return;}console['warn'](_0x1818de(0x222)+_0x1818de(0x279)),console[_0x1818de(0x20c)]('[wrapper]\x20一旦断开\x20SSH\x20或'+'关闭终端,daemon\x20会被\x20SIGHU'+_0x1818de(0x238)),console[_0x1818de(0x20c)](_0x1818de(0x298)+_0x1818de(0x215));for(const _0x2d63fa of persistenceInstallHint())console['warn'](_0x2d63fa);if(!process['stdin'][_0x1818de(0x252)]){console[_0x1818de(0x20c)](_0x1818de(0x2de)+'ell(CI\x20/\x20后台脚本),跳过二次确'+_0x1818de(0x24f)),console['warn']('[wrapper]\x20若想抑制此告警,可设'+'置\x20WHALENT_SKIP_PERSI'+'STENCE_CHECK=1。');return;}const _0x259a13=await confirmContinueWithoutPersistence();!_0x259a13&&(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'+'T_SKIP_PERSISTENCE_C'+'HECK=1\x20强制跳过此检查。'),process[_0x1818de(0x29b)](0x0));}function directCore(_0x20b3f6){const _0x22e2d1=a0_0x45ba1d,_0x3cf493=findCoreScript();checkMacNodePtySpawnHelper(_0x3cf493);const _0x11c37c=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x3cf493,..._0x20b3f6],{'stdio':_0x22e2d1(0x2c8),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x3cf493},'shell':![]});process[_0x22e2d1(0x29b)](_0x11c37c[_0x22e2d1(0x270)]??0x0);}function shouldSupervise(_0x2d05a1){const _0x34a506=a0_0x45ba1d;if(_0x2d05a1['includes'](_0x34a506(0x247)))return![];if(_0x2d05a1['includes']('--resume')||_0x2d05a1[0x0]===_0x34a506(0x265))return![];const _0x2efe71=_0x2d05a1[0x0]||'';if(_0x2efe71==='ls'||_0x2efe71==='status'||_0x2efe71==='ps')return![];if(_0x2efe71===_0x34a506(0x250)||_0x2efe71===_0x34a506(0x285))return![];if(_0x2d05a1['includes'](_0x34a506(0x296))||_0x2d05a1['includes']('-h'))return![];return!![];}function installCoreVersion(_0x4efa71){const _0x178ad4=a0_0x45ba1d,_0x3acb1a=resolveExecutablePath('npm');if(!_0x3acb1a)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x5f4801=CORE_PKG_NAME+'@'+_0x4efa71,_0x2fde93=run(_0x3acb1a,['install','-g',_0x5f4801,npmRegistryArg()]),_0x2c1a90=((_0x2fde93['stdout']||'')+'\x0a'+(_0x2fde93[_0x178ad4(0x223)]||''))[_0x178ad4(0x2d3)]();return{'ok':_0x2fde93['status']===0x0,'output':_0x2c1a90};}async function superviseCore(_0x25103a){const _0x4535cd=a0_0x45ba1d;let _0x4b90ec=![],_0x422813=null;const _0x3e1302=[];let _0x3f62b8=MIN_RESTART_DELAY_MS;const _0x33373f=()=>{const _0x23aa53=a0_0x27f0;_0x4b90ec=!![];if(_0x422813&&!_0x422813[_0x23aa53(0x1fa)])try{_0x422813['kill']('SIGTERM');}catch{}else process[_0x23aa53(0x29b)](0x0);};process['on']('SIGINT',_0x33373f),process['on']('SIGTERM',_0x33373f);while(!![]){const _0xac7fb=findCoreScript();checkMacNodePtySpawnHelper(_0xac7fb);const _0x1c3d8e={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0xac7fb},_0x415ab6=readUpgradeState(),_0x11fe41=!!_0x415ab6?.['pending'];let _0x507c82=![],_0xcb506a=null,_0x537b9e='';const _0x2afa80=[],_0x49af90=0xc;console['log'](_0x4535cd(0x224)+_0x4535cd(0x204)+_0xac7fb),_0x422813=(0x0,import_child_process3['spawn'])(process[_0x4535cd(0x2d8)],[_0xac7fb,..._0x25103a],{'env':_0x1c3d8e,'stdio':[_0x4535cd(0x2c8),'pipe','pipe']});const _0x189ab1=()=>{const _0x3164e1=_0x4535cd;if(_0x507c82)return;_0x507c82=!![];if(_0xcb506a)clearTimeout(_0xcb506a);_0x3e1302['length']=0x0,_0x3f62b8=MIN_RESTART_DELAY_MS;const _0x55ce76=readUpgradeState();_0x55ce76?.['pending']&&(writeUpgradeState({..._0x55ce76,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x3164e1(0x1f3)]('[wrapper]\x20core\x20upgra'+_0x3164e1(0x286)+(_0x55ce76['installed_version']||_0x55ce76['target_version']||'')));},_0x28f8ac=(_0x5229c5,_0xfae3a4=![])=>{const _0xab9634=_0x4535cd,_0x2a097e=_0x5229c5['toString']();(_0xfae3a4?process[_0xab9634(0x223)]:process[_0xab9634(0x2a8)])['write'](_0x2a097e);if(_0xfae3a4)for(const _0x570f88 of _0x2a097e['split'](/\r?\n/)){if(!_0x570f88['trim']())continue;_0x2afa80[_0xab9634(0x2d9)](_0x570f88);if(_0x2afa80[_0xab9634(0x261)]>_0x49af90)_0x2afa80[_0xab9634(0x1f6)]();const _0xcc2520=_0x570f88['match'](FATAL_PATTERN);if(_0xcc2520)_0x537b9e=_0xcc2520[0x0];}(_0x2a097e[_0xab9634(0x2d2)](_0xab9634(0x2af))||_0x2a097e['includes']('Gateway\x20registered\x20m'+_0xab9634(0x229))||_0x2a097e[_0xab9634(0x2d2)]('Gateway:\x20connected'))&&_0x189ab1();};_0x422813[_0x4535cd(0x2a8)]?.['on']('data',_0x331d84=>_0x28f8ac(_0x331d84,![])),_0x422813[_0x4535cd(0x223)]?.['on']('data',_0xd70b49=>_0x28f8ac(_0xd70b49,!![]));_0x11fe41&&(_0xcb506a=setTimeout(()=>{const _0x440b2a=_0x4535cd;if(_0x507c82||!_0x422813||_0x422813[_0x440b2a(0x1fa)])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x422813['kill'](_0x440b2a(0x2cc));}catch{}},HEALTH_TIMEOUT_MS));const _0x16a12a=await new Promise(_0x48336c=>{const _0x41475=_0x4535cd;_0x422813['once'](_0x41475(0x29b),(_0x5f0d64,_0x1db2e7)=>_0x48336c({'code':_0x5f0d64,'signal':_0x1db2e7}));});if(_0xcb506a)clearTimeout(_0xcb506a);_0x422813=null;if(_0x4b90ec)process[_0x4535cd(0x29b)](_0x16a12a['code']??0x0);const _0x3e968d=readUpgradeState();_0x16a12a['code']===DAEMON_REPLACED_EXIT_CODE&&(console[_0x4535cd(0x1f3)]('[wrapper]\x20daemon\x20rep'+'laced\x20by\x20a\x20newer\x20dae'+_0x4535cd(0x28b)+'+machine;\x20wrapper\x20ex'+'iting'),process[_0x4535cd(0x29b)](0x0));if(_0x3e968d?.['pending']&&!_0x507c82){const _0x343cef=String(_0x3e968d['previous_core_versio'+'n']||'')[_0x4535cd(0x2d3)]();if(_0x343cef){console['error']('[wrapper]\x20rolling\x20ba'+_0x4535cd(0x2c7)+_0x343cef);const _0x120574=installCoreVersion(_0x343cef);writeUpgradeState({..._0x3e968d,'pending':![],'rollback':!![],'health_status':_0x120574['ok']?'rolled_back':_0x4535cd(0x2cd),'error':_0x120574['ok']?'':_0x120574[_0x4535cd(0x22b)]});}else writeUpgradeState({..._0x3e968d,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x15190b=_0x16a12a['code']===SUPERVISED_RESTART_CODE||_0x3e968d?.['pending'];if(!_0x15190b&&_0x16a12a[_0x4535cd(0x236)]===0x0)process[_0x4535cd(0x29b)](0x0);const _0x48d379=Date['now']();_0x3e1302[_0x4535cd(0x2d9)](_0x48d379);while(_0x3e1302[_0x4535cd(0x261)]>0x0&&_0x48d379-_0x3e1302[0x0]>CRASH_WINDOW_MS){_0x3e1302['shift']();}const _0x511108=_0x3e1302['length'];writeLastCrash({'timestamp':_0x48d379,'exit_code':_0x16a12a[_0x4535cd(0x236)],'exit_signal':_0x16a12a['signal']||null,'fatal_line':_0x537b9e,'raw_tail':_0x2afa80['join']('\x0a'),'consecutive_crashes':_0x511108}),console[_0x4535cd(0x1f3)]('[wrapper]\x20core\x20exite'+_0x4535cd(0x2d7)+(_0x16a12a['code']??'')+(_0x16a12a['signal']?'\x20signal='+_0x16a12a[_0x4535cd(0x2aa)]:'')+'\x20('+_0x511108+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math[_0x4535cd(0x2bb)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x537b9e)console[_0x4535cd(0x1f3)](_0x4535cd(0x209)+':\x20'+_0x537b9e);_0x511108>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x4535cd(0x237)+'d\x20'+_0x511108+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x4535cd(0x231))+lastCrashFilePath()+(_0x4535cd(0x2e3)+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+_0x4535cd(0x202))),process['exit'](0x1)),console[_0x4535cd(0x1f3)](_0x4535cd(0x28e)+_0x4535cd(0x2da)+_0x3f62b8+'ms'),await new Promise(_0x2aa83c=>setTimeout(_0x2aa83c,_0x3f62b8)),_0x3f62b8=Math[_0x4535cd(0x2b7)](_0x3f62b8*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3cf304=a0_0x45ba1d,_0x1a3b32=normalizeCliArgv(process[_0x3cf304(0x212)][_0x3cf304(0x2e2)](0x2));if(_0x1a3b32[0x0]===_0x3cf304(0x295)||_0x1a3b32[0x0]==='-v'||_0x1a3b32[0x0]==='version'){printVersion();return;}if((_0x1a3b32[0x0]===_0x3cf304(0x270)||_0x1a3b32[0x0]==='ls'||_0x1a3b32[0x0]==='ps')&&!_0x1a3b32[_0x3cf304(0x2d2)]('--json')){console['log'](_0x3cf304(0x207)+WRAPPER_VERSION);try{console[_0x3cf304(0x1f3)](_0x3cf304(0x2e1)+(coreVersion()||'not\x20installed'));}catch{console['log']('core\x20not\x20installed');}}const _0x5d290b=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x1a3b32,_0x5d290b),await ensurePersistencePrompt(_0x1a3b32);if(!shouldSupervise(_0x1a3b32))directCore(_0x1a3b32);await superviseCore(_0x1a3b32);}main()[a0_0x45ba1d(0x205)](_0xd9f6e5=>{const _0x5da8fe=a0_0x45ba1d;console['error'](_0x5da8fe(0x1f4)+_0x5da8fe(0x29f)+(_0xd9f6e5?.[_0x5da8fe(0x24a)]||String(_0xd9f6e5))),process[_0x5da8fe(0x29b)](0x1);});
2
+ 'use strict';const a0_0xd702d1=a0_0x3174;(function(_0x2ba457,_0x2dcb9c){const _0x2c08fa=a0_0x3174,_0x2c8e6e=_0x2ba457();while(!![]){try{const _0x1ed39e=-parseInt(_0x2c08fa(0x18b))/0x1+-parseInt(_0x2c08fa(0x168))/0x2+-parseInt(_0x2c08fa(0x239))/0x3+parseInt(_0x2c08fa(0x19f))/0x4*(parseInt(_0x2c08fa(0x1db))/0x5)+-parseInt(_0x2c08fa(0x202))/0x6+parseInt(_0x2c08fa(0x207))/0x7+parseInt(_0x2c08fa(0x220))/0x8;if(_0x1ed39e===_0x2dcb9c)break;else _0x2c8e6e['push'](_0x2c8e6e['shift']());}catch(_0x24d7da){_0x2c8e6e['push'](_0x2c8e6e['shift']());}}}(a0_0x4a20,0xdf27b));var __create=Object['create'],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0xd702d1(0x1c9)+'ptor'],__getOwnPropNames=Object[a0_0xd702d1(0x18a)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object['prototype']['hasOwnProperty'],__copyProps=(_0x354928,_0xfcf88b,_0xa63f83,_0x1d7b43)=>{const _0x3d9f20=a0_0xd702d1;if(_0xfcf88b&&typeof _0xfcf88b==='object'||typeof _0xfcf88b===_0x3d9f20(0x153)){for(let _0x166c11 of __getOwnPropNames(_0xfcf88b))if(!__hasOwnProp['call'](_0x354928,_0x166c11)&&_0x166c11!==_0xa63f83)__defProp(_0x354928,_0x166c11,{'get':()=>_0xfcf88b[_0x166c11],'enumerable':!(_0x1d7b43=__getOwnPropDesc(_0xfcf88b,_0x166c11))||_0x1d7b43['enumerable']});}return _0x354928;},__toESM=(_0x324f22,_0x3c4891,_0x47f728)=>(_0x47f728=_0x324f22!=null?__create(__getProtoOf(_0x324f22)):{},__copyProps(_0x3c4891||!_0x324f22||!_0x324f22['__esModule']?__defProp(_0x47f728,a0_0xd702d1(0x1a7),{'value':_0x324f22,'enumerable':!![]}):_0x47f728,_0x324f22)),import_child_process3=require(a0_0xd702d1(0x1b1)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0xd702d1(0x221)),path2=__toESM(require('path'),0x1),readline=__toESM(require(a0_0xd702d1(0x1f8)),0x1),import_child_process2=require(a0_0xd702d1(0x1b1)),import_fs=require('fs'),import_os=__toESM(require('os'),0x1),import_path=require(a0_0xd702d1(0x1b4)),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0xd702d1(0x1c2)+'js.org',CHINA_NPM_REGISTRY='https://registry.npm'+a0_0xd702d1(0x20a),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x36d387=a0_0xd702d1,_0x27f02a=explicitNpmRegistry();if(_0x27f02a)return _0x27f02a;if(selectedRegistryCache&&Date[_0x36d387(0x176)]()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x36d387(0x14b)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x4bbfa6=preferredNpmRegistry()){const _0x3057a4=a0_0xd702d1,_0x33095f=explicitNpmRegistry(),_0x2860de=_0x33095f||normalizeRegistry(_0x4bbfa6)||DEFAULT_NPM_REGISTRY;return Array[_0x3057a4(0x222)](new Set([_0x2860de,DEFAULT_NPM_REGISTRY,CHINA_NPM_REGISTRY]));}function a0_0x3174(_0x14a5b8,_0x569ca5){_0x14a5b8=_0x14a5b8-0x14b;const _0x4a209b=a0_0x4a20();let _0x317405=_0x4a209b[_0x14a5b8];if(a0_0x3174['AJhsms']===undefined){var _0x52dc68=function(_0x3ee9c4){const _0x165a5b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x354928='',_0xfcf88b='';for(let _0xa63f83=0x0,_0x1d7b43,_0x166c11,_0x324f22=0x0;_0x166c11=_0x3ee9c4['charAt'](_0x324f22++);~_0x166c11&&(_0x1d7b43=_0xa63f83%0x4?_0x1d7b43*0x40+_0x166c11:_0x166c11,_0xa63f83++%0x4)?_0x354928+=String['fromCharCode'](0xff&_0x1d7b43>>(-0x2*_0xa63f83&0x6)):0x0){_0x166c11=_0x165a5b['indexOf'](_0x166c11);}for(let _0x3c4891=0x0,_0x47f728=_0x354928['length'];_0x3c4891<_0x47f728;_0x3c4891++){_0xfcf88b+='%'+('00'+_0x354928['charCodeAt'](_0x3c4891)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfcf88b);};a0_0x3174['GNCUFG']=_0x52dc68,a0_0x3174['WTgzxS']={},a0_0x3174['AJhsms']=!![];}const _0x2f8656=_0x4a209b[0x0],_0x4bd0e4=_0x14a5b8+_0x2f8656,_0x435571=a0_0x3174['WTgzxS'][_0x4bd0e4];return!_0x435571?(_0x317405=a0_0x3174['GNCUFG'](_0x317405),a0_0x3174['WTgzxS'][_0x4bd0e4]=_0x317405):_0x317405=_0x435571,_0x317405;}async function selectFastNpmRegistry(_0x1a1d49=REGISTRY_PROBE_TIMEOUT_MS){const _0x180c36=a0_0xd702d1,_0x2f60e4=explicitNpmRegistry();if(_0x2f60e4)return rememberNpmRegistry(_0x2f60e4),_0x2f60e4;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x3849a8=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x4b5187=_0x3849a8['map'](()=>new AbortController());let _0x395178=-0x1;const _0x1e898c=_0x3849a8[_0x180c36(0x262)]((_0x14ed5a,_0x3c03d0)=>probeRegistry200(_0x14ed5a,_0x1a1d49,_0x4b5187[_0x3c03d0][_0x180c36(0x232)])['then'](()=>({'registry':_0x14ed5a,'index':_0x3c03d0})));try{const _0x131f86=await Promise[_0x180c36(0x208)](_0x1e898c);_0x395178=_0x131f86['index'];const _0x3a6db6=_0x131f86[_0x180c36(0x14b)];return rememberNpmRegistry(_0x3a6db6),_0x3a6db6;}catch{const _0x5af87d=_0x3849a8[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x5af87d),_0x5af87d;}finally{_0x4b5187['forEach']((_0x218501,_0xa67e8f)=>{const _0x581c29=_0x180c36;if(_0xa67e8f!==_0x395178)_0x218501[_0x581c29(0x219)]();});}}function rememberNpmRegistry(_0x7902ce){const _0x43f30f=a0_0xd702d1,_0x40c6ca=normalizeRegistry(_0x7902ce);if(_0x40c6ca)selectedRegistryCache={'registry':_0x40c6ca,'ts':Date[_0x43f30f(0x176)]()};}function npmRegistryArg(_0x177966=preferredNpmRegistry()){const _0xaaf627=a0_0xd702d1;return _0xaaf627(0x1bb)+(normalizeRegistry(_0x177966)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x16dcdc,_0x49dc4b=preferredNpmRegistry()){const _0xb18f29=a0_0xd702d1;return _0xb18f29(0x21c)+_0x16dcdc+'\x20'+npmRegistryArg(_0x49dc4b);}function isChineseLocale(){const _0x3dc1ff=a0_0xd702d1,_0x4b167c=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x3dc1ff(0x244)](Boolean)[_0x3dc1ff(0x17b)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x4b167c))return!![];try{const _0x1472bf=Intl[_0x3dc1ff(0x1e0)]()[_0x3dc1ff(0x224)]()[_0x3dc1ff(0x20c)]||'';return/(^|-)zh($|-)|-CN\b/i[_0x3dc1ff(0x184)](_0x1472bf);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x1bace0){const _0x384ba0=a0_0xd702d1;return String(_0x1bace0||'')[_0x384ba0(0x167)]()[_0x384ba0(0x1a6)](/\/+$/,'');}function probeRegistry200(_0x2c4e5f,_0x48f1a0,_0x40b723){return new Promise((_0x440af3,_0x529399)=>{const _0x4550f7=a0_0x3174;let _0x15d749=![];const _0x7c16f6=_0x8976d1=>{const _0x570b04=a0_0x3174;if(_0x15d749)return;_0x15d749=!![],clearTimeout(_0x78b67f),_0x40b723?.['removeEventListener'](_0x570b04(0x219),_0xf255ba);if(!_0x2c8202['killed'])try{_0x2c8202[_0x570b04(0x24b)]('SIGTERM');}catch{}if(_0x8976d1)_0x529399(_0x8976d1);else _0x440af3();},_0xf255ba=()=>{const _0x43399c=a0_0x3174;_0x7c16f6(new Error(_0x43399c(0x1eb)+'ed'));},_0x78b67f=setTimeout(()=>{const _0xf3bcc1=a0_0x3174;_0x7c16f6(new Error(_0xf3bcc1(0x24e)+'\x20out'));},_0x48f1a0);_0x78b67f['unref']?.();const _0x2c8202=(0x0,import_child_process[_0x4550f7(0x256)])(process[_0x4550f7(0x204)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x2c4e5f)||DEFAULT_NPM_REGISTRY,String(_0x48f1a0)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x2c8202['on']('error',_0x7c16f6),_0x2c8202['on'](_0x4550f7(0x22f),_0x25781b=>{if(_0x25781b===0x0)_0x7c16f6();else _0x7c16f6(new Error('registry\x20probe\x20faile'+'d:\x20exit='+(_0x25781b??'signal')));}),_0x40b723?.['addEventListener'](_0x4550f7(0x219),_0xf255ba,{'once':!![]});if(_0x40b723?.[_0x4550f7(0x169)]){_0xf255ba();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0xd702d1(0x154)+'e(\x27http\x27);\x0aconst\x20htt'+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+a0_0xd702d1(0x1b7)+'1]\x20||\x20\x27\x27).replace(/\x5c'+'/+$/,\x20\x27\x27);\x0aconst\x20tim'+a0_0xd702d1(0x1c5)+'ess.argv[2]\x20||\x203000)'+a0_0xd702d1(0x182)+a0_0xd702d1(0x240)+a0_0xd702d1(0x161)+'nst\x20mod\x20=\x20url.protoc'+a0_0xd702d1(0x195)+a0_0xd702d1(0x251)+'\x20=\x20false;\x0aconst\x20fini'+a0_0xd702d1(0x25c)+'f\x20(done)\x20return;\x0a\x20\x20d'+a0_0xd702d1(0x151)+'imeout(timer);\x0a\x20\x20try'+a0_0xd702d1(0x15a)+'catch\x20{}\x0a\x20\x20process.e'+a0_0xd702d1(0x21b)+a0_0xd702d1(0x23a)+a0_0xd702d1(0x1f9)+'outMs);\x0aconst\x20req\x20=\x20'+a0_0xd702d1(0x185)+'\x20method:\x20\x27GET\x27,\x0a\x20\x20ti'+'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'+'ext/plain,*/*\x27\x20},\x0a},'+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+a0_0xd702d1(0x156)+'d\x27,\x20()\x20=>\x20finish(res'+a0_0xd702d1(0x258)+'?\x200\x20:\x202));\x0a\x20\x20res.on('+'\x27error\x27,\x20()\x20=>\x20finis'+a0_0xd702d1(0x250)+'imeout\x27,\x20()\x20=>\x20finis'+'h(3));\x0areq.on(\x27error'+'\x27,\x20()\x20=>\x20finish(4));'+a0_0xd702d1(0x1f0),INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0xd702d1(0x1cc),'claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':a0_0xd702d1(0x209)+a0_0xd702d1(0x164),'whalent':npmInstallCommand(a0_0xd702d1(0x214))+a0_0xd702d1(0x17a)};function isWindowsCmdFile(_0x3aea80){return process['platform']==='win32'&&/\.(cmd|bat)$/i['test'](_0x3aea80||'');}function quoteCmdArg(_0x382084){const _0x2c49cc=a0_0xd702d1,_0x2774db=String(_0x382084??'');if(_0x2774db&&!/[\s"&|<>^%]/['test'](_0x2774db))return _0x2774db;return'\x22'+_0x2774db[_0x2c49cc(0x1a6)](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x4e7c7f,_0x215fee){const _0xfd8656=a0_0xd702d1;return['/d','/s','/c',[quoteCmdArg(_0x4e7c7f),..._0x215fee[_0xfd8656(0x262)](quoteCmdArg)][_0xfd8656(0x17b)]('\x20')];}function resolveExecutablePath(_0x17dac0,_0x233f40=process.env){const _0x2802dc=a0_0xd702d1;if(!_0x17dac0)return null;if(_0x17dac0['includes']('/')||_0x17dac0['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x2802dc(0x184)](_0x17dac0))return(0x0,import_fs[_0x2802dc(0x1d9)])(_0x17dac0)?_0x17dac0:_0x17dac0;const _0x3ea0b0=process[_0x2802dc(0x1bc)]==='win32',_0x2020d6=String(_0x233f40['NPM_CONFIG_PREFIX']||_0x233f40['npm_config_prefix']||'')[_0x2802dc(0x167)](),_0x2445c2=_0x2020d6?(0x0,import_path['resolve'])(_0x2020d6['replace'](/^~(?=[\\/]|$)/,import_os[_0x2802dc(0x1a7)]['homedir']())):(0x0,import_path['join'])(import_os['default'][_0x2802dc(0x21f)](),'.npm-global'),_0x306edf=_0x3ea0b0?['.exe',_0x2802dc(0x1f1),_0x2802dc(0x193),'.ps1',''][_0x2802dc(0x262)](_0x4d54a7=>(0x0,import_path['join'])(_0x2445c2,''+_0x17dac0+_0x4d54a7)):[(0x0,import_path['join'])(_0x2445c2,'bin',_0x17dac0)],_0x4e38d9=_0x306edf[_0x2802dc(0x188)](_0x47274c=>(0x0,import_fs[_0x2802dc(0x1d9)])(_0x47274c));if(_0x4e38d9)return _0x4e38d9;const _0x349afa=_0x3ea0b0?_0x2802dc(0x170):'which';try{const _0x3ad3e4=(0x0,import_child_process2[_0x2802dc(0x215)])(_0x349afa,[_0x17dac0],{'encoding':'utf-8','timeout':0xbb8,'shell':![],'env':_0x233f40});if(_0x3ad3e4['status']===0x0){const _0x514891=(_0x3ad3e4[_0x2802dc(0x173)]||'')['trim']()[_0x2802dc(0x24d)](/\r?\n/)['filter'](Boolean);if(_0x514891[_0x2802dc(0x1e7)]===0x0)return null;if(_0x3ea0b0)for(const _0xc1de57 of[_0x2802dc(0x158),_0x2802dc(0x1f1),_0x2802dc(0x193),_0x2802dc(0x1cf)]){const _0x5a26b5=_0x514891['find'](_0x292387=>_0x292387[_0x2802dc(0x21e)]()[_0x2802dc(0x1d5)](_0xc1de57));if(_0x5a26b5)return _0x5a26b5;}return _0x514891[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x17d186){const _0x1ca893=a0_0xd702d1;if(process[_0x1ca893(0x1bc)]!==_0x1ca893(0x1be))return null;if(!/\.(cmd|bat)$/i[_0x1ca893(0x184)](_0x17d186))return null;let _0x92f426;try{_0x92f426=(0x0,import_fs['readFileSync'])(_0x17d186,_0x1ca893(0x18d));}catch{return null;}const _0x53629b=_0x92f426['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x53629b){const _0xe6700a=(0x0,import_path['resolve'])((0x0,import_path[_0x1ca893(0x1ed)])(_0x17d186),_0x53629b[0x2]);if((0x0,import_fs['existsSync'])(_0xe6700a))return{'type':_0x1ca893(0x155),'path':_0xe6700a};}const _0x330f0e=_0x92f426[_0x1ca893(0x261)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x330f0e){const _0x33cdbc=(0x0,import_path['resolve'])((0x0,import_path[_0x1ca893(0x1ed)])(_0x17d186),_0x330f0e[0x2]);if((0x0,import_fs['existsSync'])(_0x33cdbc))return{'type':_0x1ca893(0x230),'path':_0x33cdbc};}return null;}function safeSpawnSync(_0x1788b2,_0x29a315,_0x219cd5={}){const _0x354502=a0_0xd702d1,_0x20a1bb=unwrapWindowsCmdShim(_0x1788b2);if(_0x20a1bb?.[_0x354502(0x25d)]===_0x354502(0x155))return(0x0,import_child_process2[_0x354502(0x215)])(process['execPath'],[_0x20a1bb[_0x354502(0x1b4)],..._0x29a315],_0x219cd5);if(_0x20a1bb?.[_0x354502(0x25d)]===_0x354502(0x230))return(0x0,import_child_process2[_0x354502(0x215)])(_0x20a1bb[_0x354502(0x1b4)],_0x29a315,_0x219cd5);if(isWindowsCmdFile(_0x1788b2))return(0x0,import_child_process2['spawnSync'])(process.env.ComSpec||_0x354502(0x197),cmdFallbackArgs(_0x1788b2,_0x29a315),_0x219cd5);return(0x0,import_child_process2[_0x354502(0x215)])(_0x1788b2,_0x29a315,_0x219cd5);}var VALUE_FLAG_ALIASES={'t':'--token','g':a0_0xd702d1(0x1a4),'w':a0_0xd702d1(0x211),'p':a0_0xd702d1(0x20f),'m':a0_0xd702d1(0x186)},BOOL_FLAG_ALIASES={'h':a0_0xd702d1(0x166),'v':a0_0xd702d1(0x255)},KNOWN_LONG_FLAGS=['--agent-id',a0_0xd702d1(0x177),'--approval',a0_0xd702d1(0x162),'--claude-path','--codex-home','--codex-path',a0_0xd702d1(0x1e2),'--dry-run',a0_0xd702d1(0x1cd),a0_0xd702d1(0x14d)+a0_0xd702d1(0x1e1),'--force','--gateway',a0_0xd702d1(0x166),'--home',a0_0xd702d1(0x1e5),a0_0xd702d1(0x200),'--json','--machine',a0_0xd702d1(0x1fa),a0_0xd702d1(0x17c),'--model','--no-delete',a0_0xd702d1(0x165),a0_0xd702d1(0x235),a0_0xd702d1(0x1c7),'--opencode-config-di'+'r','--opencode-path',a0_0xd702d1(0x1de),'--platform-url','--profile',a0_0xd702d1(0x1d2),'--resume','--resume-session-id',a0_0xd702d1(0x180),'--terminal-backend',a0_0xd702d1(0x21a)+'t',a0_0xd702d1(0x15e)+a0_0xd702d1(0x1ae),'--terminal-session-p'+'refix',a0_0xd702d1(0x1fd),'--token',a0_0xd702d1(0x14e),a0_0xd702d1(0x23e),a0_0xd702d1(0x255),'--workspace','--yes'],VALUE_LONG_FLAGS=new Set([a0_0xd702d1(0x21d),a0_0xd702d1(0x1ef),a0_0xd702d1(0x162),a0_0xd702d1(0x225),'--codex-home',a0_0xd702d1(0x213),'--composer-id',a0_0xd702d1(0x1cd),a0_0xd702d1(0x14d)+'-id',a0_0xd702d1(0x1a4),a0_0xd702d1(0x1e8),'--instance-id','--machine','--machine-name','--max-turns','--model',a0_0xd702d1(0x1c7),a0_0xd702d1(0x1a0)+'r','--opencode-path',a0_0xd702d1(0x1de),a0_0xd702d1(0x252),'--profile',a0_0xd702d1(0x1d2),'--resume',a0_0xd702d1(0x22e),'--sandbox','--terminal-backend',a0_0xd702d1(0x21a)+'t','--terminal-registry-'+'dir','--terminal-session-p'+'refix',a0_0xd702d1(0x1fd),'--token',a0_0xd702d1(0x211),...Object[a0_0xd702d1(0x1f6)](VALUE_FLAG_ALIASES)]),KNOWN_LONG_SET=new Set(KNOWN_LONG_FLAGS),MIN_LONG_PREFIX_LEN=0x2;function isValueFlag(_0x5dbc9a){return VALUE_LONG_FLAGS['has'](_0x5dbc9a);}function nextArgValue(_0xbc3d5f,_0x43f0d6){const _0xdb3987=a0_0xd702d1,_0x58fefb=_0xbc3d5f[_0x43f0d6+0x1]||'';if(!_0x58fefb||_0x58fefb[_0xdb3987(0x1b8)]('-'))return'';return _0x58fefb;}function resolveLongOption(_0x11fead){const _0x3f9bac=a0_0xd702d1;if(!_0x11fead[_0x3f9bac(0x1b8)]('--'))return _0x11fead;const _0x2d51c2=_0x11fead['indexOf']('='),_0x2c121a=_0x2d51c2>=0x0?_0x11fead['slice'](0x0,_0x2d51c2):_0x11fead,_0x3b38c7=_0x2d51c2>=0x0?_0x11fead['slice'](_0x2d51c2):'';if(KNOWN_LONG_SET[_0x3f9bac(0x175)](_0x2c121a))return _0x11fead;const _0x58361a=_0x2c121a[_0x3f9bac(0x1ec)](0x2);if(_0x58361a['length']<MIN_LONG_PREFIX_LEN)return _0x11fead;const _0x2de0c7=KNOWN_LONG_FLAGS['filter'](_0x54d885=>_0x54d885[_0x3f9bac(0x1ec)](0x2)[_0x3f9bac(0x1b8)](_0x58361a));if(_0x2de0c7[_0x3f9bac(0x1e7)]===0x1)return _0x2de0c7[0x0]+_0x3b38c7;if(_0x2de0c7['length']>0x1)throw new Error(_0x3f9bac(0x1a5)+_0x2c121a+'\x27\x20—\x20matches:\x20'+_0x2de0c7[_0x3f9bac(0x17b)](',\x20')+(_0x3f9bac(0x1ba)+'haracters'));return _0x11fead;}function normalizeCliArgv(_0x197883){const _0x452867=a0_0xd702d1,_0x22675d=[];for(let _0x389dc6=0x0;_0x389dc6<_0x197883[_0x452867(0x1e7)];_0x389dc6++){let _0x2cbcb4=_0x197883[_0x389dc6]||'';if(!_0x2cbcb4['startsWith']('-')||_0x2cbcb4==='-'){_0x22675d['push'](_0x2cbcb4);continue;}if(_0x2cbcb4['startsWith']('--')){_0x22675d['push'](resolveLongOption(_0x2cbcb4));continue;}const _0x3b9128=_0x2cbcb4[_0x452867(0x1ec)](0x1);if(!_0x3b9128){_0x22675d['push'](_0x2cbcb4);continue;}const _0x3f90d5=_0x3b9128[_0x452867(0x1d3)]('=');if(_0x3f90d5>=0x0){const _0x4b27f0=_0x3b9128['slice'](0x0,_0x3f90d5),_0x4acd0c=_0x3b9128[_0x452867(0x1ec)](_0x3f90d5+0x1),_0xcd8166=VALUE_FLAG_ALIASES[_0x4b27f0]||BOOL_FLAG_ALIASES[_0x4b27f0];if(_0xcd8166&&_0x4acd0c){_0x22675d['push'](_0xcd8166+'='+_0x4acd0c);continue;}_0x22675d[_0x452867(0x16c)](_0x2cbcb4);continue;}if(_0x3b9128[_0x452867(0x1e7)]>0x1&&VALUE_FLAG_ALIASES[_0x3b9128[0x0]]){_0x22675d['push'](VALUE_FLAG_ALIASES[_0x3b9128[0x0]],_0x3b9128[_0x452867(0x1ec)](0x1));continue;}if(_0x3b9128['length']===0x1){const _0x150f7b=VALUE_FLAG_ALIASES[_0x3b9128]||BOOL_FLAG_ALIASES[_0x3b9128];if(_0x150f7b){if(isValueFlag(_0x150f7b)){const _0x786d9=nextArgValue(_0x197883,_0x389dc6);_0x786d9?(_0x22675d[_0x452867(0x16c)](_0x150f7b,_0x786d9),_0x389dc6++):_0x22675d[_0x452867(0x16c)](_0x150f7b);}else _0x22675d['push'](_0x150f7b);continue;}}_0x22675d['push'](_0x2cbcb4);}return _0x22675d;}function argValue(_0x44b9d1,_0x3da85c){const _0x425f64=a0_0xd702d1;for(let _0x43845a=0x0;_0x43845a<_0x44b9d1[_0x425f64(0x1e7)];_0x43845a++){const _0x5247e7=_0x44b9d1[_0x43845a]||'';if(_0x5247e7===_0x3da85c)return nextArgValue(_0x44b9d1,_0x43845a);if(_0x5247e7[_0x425f64(0x1b8)](_0x3da85c+'='))return _0x5247e7[_0x425f64(0x1ec)](_0x3da85c['length']+0x1);}return'';}var os2=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1);function whalentBaseDir(_0xa725e4=process.env,_0x3b968e=normalizeCliArgv(process[a0_0xd702d1(0x22b)]['slice'](0x2))){const _0x22d794=a0_0xd702d1,_0x14c57c=String(argValue(_0x3b968e,_0x22d794(0x1e8))||'')['trim']();if(_0x14c57c)return path[_0x22d794(0x25b)](expandHome(_0x14c57c));const _0x22ef99=String(_0xa725e4[_0x22d794(0x171)]||'')['trim']();if(_0x22ef99)return path[_0x22d794(0x25b)](expandHome(_0x22ef99));return os2[_0x22d794(0x21f)]();}var PROFILE_ROOT=path['join'](whalentBaseDir(),'.whalent-agent',a0_0xd702d1(0x25f)),WHALENT_AGENT_DEFAULT_HOME=path['join'](whalentBaseDir(),'.whalent-agent'),WHALENT_SHARED_HELPERS_DIR=path[a0_0xd702d1(0x17b)](WHALENT_AGENT_DEFAULT_HOME,a0_0xd702d1(0x1e6));function expandHome(_0x25c9da){const _0x161c99=a0_0xd702d1,_0x25b2c5=String(_0x25c9da||'')['trim']();if(_0x25b2c5==='~')return os2['homedir']();if(_0x25b2c5[_0x161c99(0x1b8)]('~/')||_0x25b2c5[_0x161c99(0x1b8)]('~\x5c'))return path[_0x161c99(0x17b)](os2[_0x161c99(0x21f)](),_0x25b2c5['slice'](0x2));return _0x25b2c5;}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0xd702d1(0x245),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 _0x1ebcc2=a0_0xd702d1;return path2[_0x1ebcc2(0x17b)](configDir(),_0x1ebcc2(0x1e4));}function lastCrashFilePath(){const _0x3eb22e=a0_0xd702d1;return path2[_0x3eb22e(0x17b)](configDir(),'last-crash.json');}function a0_0x4a20(){const _0x323842=['BwTKAxjtEw5J','DcdIHPiG5zYOihnJCMvLBIdPH4WGD2HHBgu','igLUigXHC3qG','ntqWmZK1mxbhBwzywq','DgLTzxiGpsbZzxruAw1LB3v0kcG','BM90igLUC3rHBgXLza','AgfZvg11Ea','B25Jzq','ls12zxjIB3nL','w3DYyxbWzxjDihDYyxbWzxiGDxa','psbUzxCGvvjmkcCVls9WAw5NjYW','zgfYD2LUlq','y2HTB2rtEw5J','ywDLBNq','zMLSDgvY','qhDOywXLBNqVywDLBNqTy29Yzq','Dw5Yzwy','zgf0zwqGDg8G','Dg11Ea','Dhj1zq','Aw5KzxGUy2PZ','A2LSBa','zwqU','C3bSAxq','CMvNAxn0CNKGChjVyMuGDgLTzwq','BgLUDxG','AcG0ksK7cN0PoWPYzxeUB24Oj3q','DhbZidOGAhr0CdSkBgv0igrVBMu','ls1WBgf0zM9YBs11CMW','BwLU','Aw5ZDgfSBgvKx3zLCNnPB24','ls12zxjZAw9U','C3bHD24','yxrLoIa','lNn0yxr1C0nVzguGpt09idiWmca','AgfSzw50iowrVEs7Pos7PEs9V+EuQoAwSoEjIoACRooaGG','y2fUzgLKyxrL','CMvZB2X2zq','C2GGpsaOy29KzsKGpt4GEWOGigK','DhLWzq','AwqGBM90igjLy29TzsbOzwfSDgG','ChjVzMLSzxm','D2fYBG','Bwf0y2G','BwfW','CgfJA2fNzs5QC29U','w3DYyxbWzxjDignVCMuGzMfPBgu','ywnJzxnZu3LUyW','C2nYzwvU','CMvNAxn0CNK','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','ls1MB3jRlwzYB20TzxH0zxjUywW','ls10CMf5','lvmGD2HHBgvUDcaGicmG5yAn5zYOihnJ','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','B25Lid0GDhj1ztSkicbJBgvHCLq','C2HPzNq','zNvUy3rPB24','cMnVBNn0igH0DhaGpsbYzxf1Axi','BM9Kzq','C3vTzsGPoWOGihjLCY5VBIGNzw4','5zco6yEn6lEr77YAC2nYzwvUic1tihDOywXLBG','lMv4zq','Aw5OzxjPDa','ihSGCMvXlMrLC3rYB3KOktSGFsa','5zMO5lUL5A6E546W5l+D5Rs777YA','C3rKAw4','w3DYyxbWzxjDiow3SUAmIEEuQoAiT+IMGEAXGUwpLUA2IowqR+wkQa','ls10zxjTAw5HBc1YzwDPC3rYEs0','w3DYyxbWzxjDioAJGoA1I+wiSca','ihn1zg8GyxbRigfKzcbZy3jLzw4','ihjLz2LZDhj5icSGjY8NktSky28','ls1JBgf1zguTy29UzMLNlwrPCG','BNbTig5VDcbMB3vUzcbVBIbqqvq','B2rLlwfP','ls1UBY1YzxbSywnLlwv4Axq','ls1OzwXW','DhjPBq','nZa5nZrYzK9Xtuu','ywjVCNrLza','zwXS77Yiq0KGlYdLKi7LJ7dOHjRMNkZVViNVViZOT7pOV4FKUOZMRkhNOA4','icaGicaGicaGicaGihnJCMvLBIa','ChvZAa','D3jPDgvgAwXLu3LUyW','CM91BMq','CMvLBG','D2HLCMuUzxHL','v0Hbtevovf9it01f','CYdPU5JORQtNU6FNU63VViK6ia','C3rKB3v0','u1rftKnfx0nirunlpthJGii','AgfZ','BM93','ls1HChbSEq','BM9Kzs1WDhK','w3DYyxbWzxjDiow7UUIURUwUIEIJHEs4Gos4QUE7IoERR+wKJEEuQa','ic0TChjLzMvYlw9UBgLUzq','AM9PBG','ls1TyxGTDhvYBNm','zgLZDa','BIb1BMTUB3DU','Aw5JBhvKzxm','ls1Zyw5KyM94','DMLLDW','ihX8idmWmda7cMnVBNn0ihvYBca','y29Yzs5JANm','DgvZDa','Bw9KlNjLCxvLC3qODxjSlcb7cIa','ls1TB2rLBa','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','zMLUza','w3DYyxbWzxjDifj1BIb0AgLZig8','z2v0t3DUuhjVCgvYDhLoyw1LCW','odiWnJG0ww5swwjw','B3iGCMvIDwLSzcbaD2HHBgvUDc8','DxrMltG','C3rHDfn5BMm','lxb0EsbZCgf3BI1OzwXWzxiGBM8','Aw5tzxnZAw9U','ywnOAw5L','C29YDa','lMjHDa','CJOG','B2WGpt09icDODhrWCZONid8GAhq','zgfLBw9Ulw1JCa','y21KlMv4zq','CgvUzgLUzW','AgvHBhrOEq','CgfYC2vjBNq','zxjSEwLUzYbPC3n1zsbPCYbMAxG','BNnPzguGC2nYzwvUlcbLlMCUoIa','y29YzsbUB3qGAw5ZDgfSBgvK','D3jPDgu','mtm3mLbwvLjoCW','ls1VCgvUy29Kzs1JB25MAwCTzgK','tLrFu0Tjuf9qrvjtsvnuru5drv8','y2XVC2u','Cg9W','ls1NyxrLD2f5','yw1IAwD1B3vZig9WDgLVBIaN','CMvWBgfJzq','zgvMyxvSDa','BcaTEsbZy3jLzw4','A2LSBgvK','CMvHzezPBgvtEw5J','ios8MUIVNEs4Rq','mc4WlJa','Bg9N','zgLY','C3rKzxjY','icaJig1Hy09toIaGicaGicaGica','y2HPBgrFChjVy2vZCW','C3rHDhvZ','y29Kzq','Cgf0Aa','AgfZu2nYzwvU','DMvYC2LVBG','u3rYAw5NkhbYB2nLC3mUyxjNDLS','C3rHCNrZv2L0Aa','w3DYyxbWzxjDignVCMuGzxHPDgu','oYbWBgvHC2uGDhLWzsbTB3jLigm','ls1YzwDPC3rYEt0','CgXHDgzVCM0','Bw9Kzq','D2LUmZi','BNbTig5VDcbMB3vUza','khj1BIaND2HHBgvUDcCGAw5ZAwq','ywrK','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','w3DYyxbWzxjDiow9K+wjJEs4JEAyR+s6Pos6KUw8JYbZAa','vf9ts0Lqx1bfuLnju1rftKnfx0m','zw91De1Zid0GtNvTyMvYkhbYB2m','ywDLBNqTy29Yzq','ls1VCgvUy29Kzs1IyxnLlxvYBa','Aw5ZDgfSBa','z2v0t3DUuhjVCgvYDhLezxnJCMK','572UifDiquXftLrFu0Tjuf9qrvjtsq','CgfYC2u','ywKVy29KzxG','ls1LzMzVCNq','qhDOywXLBNqVywDLBNqTy29Yzsa','lNbZmq','5zMO5OIw5l+D5OYb57Ui56UV56Qx5y+J5OMt5BYa44cc','DxrMoa','ls1WCM92AwrLCG','Aw5KzxHpzG','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','zw5KC1DPDgG','BIaVihrTDxJJGii','ihnJCMvLBIaGicaGiYbVCJOGC3u','CMvZDw1L','zxHPC3rZu3LUyW','6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBUoaGUw7UUIURUAuVUI/MYbZ','mJq4ndvOyKzxvKW','q0Hfq0S9msdLVlRLIlBOT7pOV4FMRAtMO4dMN6xJGii','ihn1zg8Gyxb0lwDLDcbPBNn0ywW','ls1WzxjTAxnZAw9U','AxnuvfK','rgf0zvrPBwvgB3jTyxq','lwLK','ls1JB21WB3nLCI1Pza','y29Yzsa','y29Yzs11CgDYywrLlMPZB24','ls1PBMnSDwrLlwLUC3rHBMnLCW','AgvSCgvYCW','BgvUz3rO','ls1OB21L','wf9psW','CM9VDa','CMvNAxn0CNKGChjVyMuGywjVCNq','C2XPy2u','zgLYBMfTzq','lIbszxn0yxj0ihDYyxbWzxiGBwe','ls1HChbYB3zHBa','cNjLCs5LBMqOktSk','lMnTza','w3DYyxbWzxjDie1HBNvHBcb1Cgq','ihrOzsb1CgrHDgvKig5WBsbZAgK','y3jLyxrLuMvXDwLYzq','6k6K77Ym57UN57UT5zcV5yQO44cc','DMfSDwvZ','w3DYyxbWzxjDigrHzw1VBIbYzxa','CMvHzgXPBMu','ksa9pIbMAw5PC2GOmYKSihrPBwu','ls1TywnOAw5Llw5HBwu','k21Hy2HPBMu7ihDYyxbWzxiGzxG','igjLzM9YzsbZDgfYDgLUzYbJB3i','ls10AxrSzq','CM9SBgvKx2jHy2S','CgvYigv4zwn1DgfIBguGyML0oIa','ls1PBNn0yw5Jzs1Pza','r2f0zxDHEtOGy29UBMvJDgvK','mtm2nJu0mLPVtKLSDW','44cc5lUn54s257UN57UT5zcx77YFw1KVBL3VViG','zxHLy1bHDgG','lYb0Bxv4iowgHEMhJEI3KE+8JoAiLUIUVUE9RIbxsefmrq','zgf0zsbMywLSzwq7ignVBNrPBNu','mtiXmJKZndfpD2LAyNG','yw55','BNbTigLUC3rHBgWGlwCGB3bLBMm','BwLYCM9YlMnVBq','CgfJA2fNzxm','Bg9JywXL','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','u0Lhvevstq','ls1WCM9MAwXL','Aw5KzxG','ls13B3jRC3bHy2u','BMnLihrVigzPEcb0zxjTAw5HBc8','ls1JB2rLEc1WyxrO','qhDOywXLBNqVywDLBNq','C3bHD25tEw5J','w3DYyxbWzxjDihn0yxj0Aw5Nigm','zxjYB3i','Cg0Y','ywjVCNq','ls10zxjTAw5HBc1WzxjZAxn0zw4','EgL0kgnVzguPoWP9oWPJB25ZDca','BNbTigLUC3rHBgWGlwCG','ls1Hz2vUDc1Pza','Dg9mB3DLCKnHC2u','Ag9TzwrPCG','mJG5nZi2nhP1yxDfyq','Bw9KDwXL','zNjVBq','EwvZ','CMvZB2X2zwrpChrPB25Z','ls1JBgf1zguTCgf0Aa','u0Lhsu5u','ChbPza','Bw9Uig9UihrOzsbZyw1LihvZzxi','zgfYD2LU','ChjLDMLVDxmGy29Yzsb2zxjZAw8','yxjNDG','B3jLoIa','CM9SBgjHy2TFDw5HDMfPBgfIBgu','ls1Yzxn1BwuTC2vZC2LVBI1Pza','zxHPDa','zxHL','BNbT','C2LNBMfS','B3v0Chv0','igzYB20G','ls1UBY10CMf5'];a0_0x4a20=function(){return _0x323842;};return a0_0x4a20();}function writeLastCrash(_0x3365fc){const _0x21417f=a0_0xd702d1;try{fs[_0x21417f(0x236)](configDir(),{'recursive':!![]});const _0x1e900f={..._0x3365fc,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON['stringify'](_0x1e900f,null,0x2),_0x21417f(0x18d));}catch{}}function readWrapperVersion(){const _0x4f016f=a0_0xd702d1;try{const _0x4d7741=JSON[_0x4f016f(0x1cb)](fs['readFileSync'](path2['join'](wrapperBaseDir(),'..',_0x4f016f(0x263)),'utf-8'));return String(_0x4d7741['version']||_0x4f016f(0x1ac));}catch{return _0x4f016f(0x1ac);}}function readUpgradeState(){const _0x850327=a0_0xd702d1;try{return JSON['parse'](fs[_0x850327(0x1aa)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x4cbfa3){const _0x45999f=a0_0xd702d1;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x45999f(0x16d)](upgradeStatePath(),JSON['stringify']({..._0x4cbfa3,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x8d7b8e,_0x2997a7,_0x3954a8=process.env){const _0xabe07b=a0_0xd702d1;return safeSpawnSync(_0x8d7b8e,_0x2997a7,{'encoding':_0xabe07b(0x1d1),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x3954a8,'shell':![]});}function runNpmView(_0xdb07e7){const _0x3fe3f5=a0_0xd702d1,_0x241f1f=resolveExecutablePath(_0x3fe3f5(0x231));if(!_0x241f1f)return{'status':0x7f,'stdout':'','stderr':_0x3fe3f5(0x1bf),'error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x241f1f,_0xdb07e7,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x4064cf=a0_0xd702d1,_0x2c4a76=resolveExecutablePath('npm');if(!_0x2c4a76)return'';const _0x3d55d7=run(_0x2c4a76,[_0x4064cf(0x1ea),'-g']);if(_0x3d55d7[_0x4064cf(0x1b2)]!==0x0)return'';return String(_0x3d55d7['stdout']||'')[_0x4064cf(0x167)]();}function compareSemver(_0x40f4d6,_0x2d86d2){const _0xddfda4=a0_0xd702d1,_0x2e8180=String(_0x40f4d6||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0x4ac65b=>Number[_0xddfda4(0x19a)](_0x4ac65b,0xa)||0x0),_0x13b3e3=String(_0x2d86d2||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0x4df8c6=>Number['parseInt'](_0x4df8c6,0xa)||0x0);for(let _0x2a3402=0x0;_0x2a3402<Math['max'](_0x2e8180[_0xddfda4(0x1e7)],_0x13b3e3[_0xddfda4(0x1e7)],0x3);_0x2a3402++){const _0xfe34ae=_0x2e8180[_0x2a3402]||0x0,_0x4c1c9a=_0x13b3e3[_0x2a3402]||0x0;if(_0xfe34ae>_0x4c1c9a)return 0x1;if(_0xfe34ae<_0x4c1c9a)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0xe78a4f=a0_0xd702d1,_0x1dea2f=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0xe78a4f(0x167)]()['toLowerCase']();return _0x1dea2f==='1'||_0x1dea2f==='true'||_0x1dea2f===_0xe78a4f(0x223)||_0x1dea2f==='on';}function latestWrapperVersion(_0x44532f){const _0x5ae251=a0_0xd702d1;let _0x31b95a={'version':'','registry':_0x44532f};for(const _0xe749b9 of npmRegistryCandidates(_0x44532f)){const _0x516f14=runNpmView([_0x5ae251(0x181),WRAPPER_PKG_NAME+'@latest','version',npmRegistryArg(_0xe749b9)]);if(_0x516f14['status']!==0x0)continue;const _0xeb71be=String(_0x516f14['stdout']||'')['trim']()[_0x5ae251(0x24d)](/\r?\n/)['filter'](Boolean)[_0x5ae251(0x1a3)]()||'';_0xeb71be&&(!_0x31b95a['version']||compareSemver(_0xeb71be,_0x31b95a[_0x5ae251(0x1b6)])>0x0)&&(_0x31b95a={'version':_0xeb71be,'registry':_0xe749b9});}return _0x31b95a;}function installWrapperVersion(_0x215ecb,_0x442b59){const _0x4a3466=a0_0xd702d1,_0x15dca8=resolveExecutablePath(_0x4a3466(0x231));if(!_0x15dca8)return{'ok':![],'output':_0x4a3466(0x163)+'H'};const _0x3dda03=run(_0x15dca8,[_0x4a3466(0x1c8),'-g',WRAPPER_PKG_NAME+'@'+_0x215ecb,npmRegistryArg(_0x442b59)]),_0x419868=((_0x3dda03[_0x4a3466(0x173)]||'')+'\x0a'+(_0x3dda03[_0x4a3466(0x1af)]||''))[_0x4a3466(0x167)]();return{'ok':_0x3dda03[_0x4a3466(0x1b2)]===0x0,'output':_0x419868};}async function maybeUpdateWrapper(_0x2da3bd,_0x4b69c2){const _0x1b766d=a0_0xd702d1;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x3ce57c=latestWrapperVersion(_0x4b69c2),_0x787d97=_0x3ce57c['version'];if(!_0x787d97||compareSemver(_0x787d97,WRAPPER_VERSION)<=0x0)return![];console[_0x1b766d(0x260)]('[wrapper]\x20update\x20ava'+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x787d97),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x787d97+_0x1b766d(0x234)+_0x3ce57c[_0x1b766d(0x14b)]+(_0x1b766d(0x1fc)+'e...'));const _0x35ac96=installWrapperVersion(_0x787d97,_0x3ce57c[_0x1b766d(0x14b)]);if(!_0x35ac96['ok']){console[_0x1b766d(0x260)]('[wrapper]\x20wrapper\x20up'+_0x1b766d(0x206)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x35ac96[_0x1b766d(0x233)])console[_0x1b766d(0x260)](_0x35ac96[_0x1b766d(0x233)][_0x1b766d(0x24d)](/\r?\n/)[_0x1b766d(0x1ec)](-0xc)[_0x1b766d(0x17b)]('\x0a'));return console[_0x1b766d(0x260)](_0x1b766d(0x1f2)+_0x1b766d(0x257)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x787d97,_0x3ce57c['registry'])),![];}process['platform']==='win32'&&(console['warn'](_0x1b766d(0x23f)+_0x1b766d(0x247)+_0x787d97+'.'),console[_0x1b766d(0x260)]('[wrapper]\x20Windows\x20ca'+'nnot\x20safely\x20re-enter'+_0x1b766d(0x1f3)+'m\x20from\x20this\x20process.'),console['warn']('[wrapper]\x20请重新输入上一条\x20w'+_0x1b766d(0x259)),process[_0x1b766d(0x22f)](0x0));console['warn'](_0x1b766d(0x23f)+'dated\x20to\x20'+_0x787d97+';\x20restarting\x20wrapper');const _0x16d7d6=process['argv'][0x1],_0x3722a8=(0x0,import_child_process3['spawnSync'])(process[_0x1b766d(0x204)],[_0x16d7d6,..._0x2da3bd],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x787d97},'shell':![]});process['exit'](_0x3722a8[_0x1b766d(0x1b2)]??0x0);}function findCoreScript(){const _0x27c5bb=a0_0xd702d1,_0x8f0b2f=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x5aacb7=['1',_0x27c5bb(0x249),'yes','on']['includes'](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x8f0b2f&&_0x5aacb7&&fs[_0x27c5bb(0x1d9)](_0x8f0b2f))return _0x8f0b2f;const _0x1d89ac=[],_0x3bcfe3=_0x170639=>{const _0x104e1d=_0x27c5bb;if(fs['existsSync'](_0x170639)&&!_0x1d89ac['includes'](_0x170639))_0x1d89ac[_0x104e1d(0x16c)](_0x170639);};if(_0x8f0b2f)_0x3bcfe3(_0x8f0b2f);const _0x356ab7=npmRootGlobal();if(_0x356ab7){const _0x29cd2d=path2[_0x27c5bb(0x17b)](_0x356ab7,'@whalent',_0x27c5bb(0x1c6),_0x27c5bb(0x17d),'index.cjs');_0x3bcfe3(_0x29cd2d);}const _0x24afdc=path2[_0x27c5bb(0x17b)](wrapperBaseDir(),_0x27c5bb(0x183));_0x3bcfe3(_0x24afdc);const _0xf59f4f=path2[_0x27c5bb(0x17b)](wrapperBaseDir(),'..',_0x27c5bb(0x20b),'core','dist',_0x27c5bb(0x24a));_0x3bcfe3(_0xf59f4f);if(_0x1d89ac[_0x27c5bb(0x1e7)]>0x0)return _0x1d89ac[_0x27c5bb(0x262)]((_0x3c5705,_0x46124a)=>({'candidate':_0x3c5705,'index':_0x46124a,'version':coreVersion(_0x3c5705)}))[_0x27c5bb(0x192)]((_0x370521,_0xc20719)=>{const _0x214ec9=_0x27c5bb,_0x2ac6f1=compareSemver(_0xc20719[_0x214ec9(0x1b6)],_0x370521[_0x214ec9(0x1b6)]);if(_0x2ac6f1!==0x0)return _0x2ac6f1;return _0xc20719[_0x214ec9(0x210)]-_0x370521['index'];})[0x0][_0x27c5bb(0x25a)];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+_0x27c5bb(0x1ce)+_0x27c5bb(0x18c)+_0x27c5bb(0x243));}function coreVersion(_0x3d9dee=findCoreScript()){const _0x5bb660=a0_0xd702d1,_0x3a5f67=(0x0,import_child_process3[_0x5bb660(0x215)])(process[_0x5bb660(0x204)],[_0x3d9dee,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x144771=(_0x3a5f67[_0x5bb660(0x173)]||'')+'\x0a'+(_0x3a5f67['stderr']||'');return _0x144771[_0x5bb660(0x261)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x24e3ee){const _0x18ebbe=a0_0xd702d1;try{return fs[_0x18ebbe(0x265)](_0x24e3ee,fs['constants'][_0x18ebbe(0x1e9)]),!![];}catch{return![];}}function shellQuote(_0x3f26c6){const _0x503b64=a0_0xd702d1;return'\x27'+_0x3f26c6[_0x503b64(0x1a6)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x55c26d){const _0x57031b=a0_0xd702d1;if(process[_0x57031b(0x1bc)]!==_0x57031b(0x229))return'';try{const _0x1773d4=(0x0,import_module[_0x57031b(0x1f4)])(_0x55c26d),_0x3e7d3c=_0x1773d4[_0x57031b(0x25b)](_0x57031b(0x178)),_0x423805=path2[_0x57031b(0x25b)](path2['dirname'](_0x3e7d3c),'..');return path2[_0x57031b(0x17b)](_0x423805,'prebuilds',_0x57031b(0x241)+process['arch'],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x146f71){const _0x208190=a0_0xd702d1,_0xe0dec=coreNodePtySpawnHelperPath(_0x146f71);if(!_0xe0dec||CHECKED_PTY_HELPERS[_0x208190(0x175)](_0xe0dec))return;CHECKED_PTY_HELPERS[_0x208190(0x1c1)](_0xe0dec);if(!fs['existsSync'](_0xe0dec)){console[_0x208190(0x260)]('[wrapper]\x20macOS\x20node'+_0x208190(0x18f)+'t\x20found:\x20'+_0xe0dec);return;}if(isExecutable(_0xe0dec))return;try{const _0x474184=fs[_0x208190(0x18e)](_0xe0dec)[_0x208190(0x1bd)];fs[_0x208190(0x242)](_0xe0dec,_0x474184|0x1ed);}catch{}if(isExecutable(_0xe0dec)){console[_0x208190(0x260)]('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+_0x208190(0x1ff)+_0xe0dec);return;}console[_0x208190(0x260)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+'\x20not\x20executable:\x20'+_0xe0dec),console['warn'](_0x208190(0x189)+_0x208190(0x212)+'PTY\x20startup:'),console[_0x208190(0x260)]('\x20\x20HELPER='+shellQuote(_0xe0dec)),console[_0x208190(0x260)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0x208190(0x260)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x3fb531=a0_0xd702d1;let _0xce03a2='';try{_0xce03a2=coreVersion();}catch{}console['log']('whalent-agent\x20'+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console[_0x3fb531(0x1ad)](_0x3fb531(0x1e3)+(_0xce03a2||_0x3fb531(0x23b)));}function detectPersistenceContext(){const _0x450216=a0_0xd702d1;let _0x42170a='';if(process.env.STY)_0x42170a='screen';else{if(process.env.TMUX)_0x42170a=_0x450216(0x248);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x42170a='systemd';else{if(process.env.PM2_HOME)_0x42170a=_0x450216(0x218);else process['platform']!==_0x450216(0x1be)&&typeof process[_0x450216(0x227)]==='number'&&process['ppid']===0x1&&(_0x42170a='systemd');}}}return{'inSession':_0x42170a,'hasScreen':process[_0x450216(0x1bc)]===_0x450216(0x1be)?![]:!!resolveExecutablePath('screen'),'hasTmux':process[_0x450216(0x1bc)]==='win32'?![]:!!resolveExecutablePath('tmux')};}function persistenceCheckSkipped(){const _0x2e8afd=a0_0xd702d1,_0x3303dc=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')[_0x2e8afd(0x167)]()[_0x2e8afd(0x21e)]();return _0x3303dc==='1'||_0x3303dc==='true'||_0x3303dc===_0x2e8afd(0x223)||_0x3303dc==='on';}function persistenceInstallHint(){const _0x1be74d=a0_0xd702d1,_0x2a466c=[];if(process[_0x1be74d(0x1bc)]===_0x1be74d(0x229))_0x2a466c[_0x1be74d(0x16c)](_0x1be74d(0x1b0)+'\x20brew\x20install\x20screen');else process[_0x1be74d(0x1bc)]===_0x1be74d(0x24f)&&(_0x2a466c['push']('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+_0x1be74d(0x1dd)+_0x1be74d(0x1a8)),_0x2a466c[_0x1be74d(0x16c)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+'\x20sudo\x20yum\x20install\x20-y'+_0x1be74d(0x1d7)+'do\x20dnf\x20install\x20-y\x20sc'+_0x1be74d(0x16f)),_0x2a466c[_0x1be74d(0x16c)]('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1be74d(0x160)),_0x2a466c[_0x1be74d(0x16c)]('\x20\x20#\x20Arch:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'\x20sudo\x20pacman\x20-S\x20scre'+'en'));return _0x2a466c[_0x1be74d(0x16c)]('\x20\x20#\x20Then\x20re-attach\x20i'+_0x1be74d(0x19c)+'\x20screen\x20-S\x20whalent\x20\x20'+_0x1be74d(0x1c0)+'e)'),_0x2a466c;}var PERSISTENCE_PROMPT_TIMEOUT_MS=0x1388;async function confirmContinueWithoutPersistence(){if(!process['stdin']['isTTY'])return!![];return new Promise(_0x2b71ae=>{const _0x4af3e2=a0_0x3174,_0x4aea50=readline['createInterface']({'input':process['stdin'],'output':process['stderr']});let _0x48815f=![];const _0x565d9b=_0x2e6dc0=>{const _0x182141=a0_0x3174;if(_0x48815f)return;_0x48815f=!![];try{_0x4aea50[_0x182141(0x1a2)]();}catch{}_0x2b71ae(_0x2e6dc0);},_0x5192bf=setTimeout(()=>{const _0x424ef3=a0_0x3174;process['stderr'][_0x424ef3(0x19e)]('\x0a[wrapper]\x20无输入,默认继续启'+'动('+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+'s\x20超时)。\x0a'),_0x565d9b(!![]);},PERSISTENCE_PROMPT_TIMEOUT_MS);if(typeof _0x5192bf[_0x4af3e2(0x246)]==='function')_0x5192bf['unref']();_0x4aea50['on'](_0x4af3e2(0x1a2),()=>{clearTimeout(_0x5192bf);}),_0x4aea50['on'](_0x4af3e2(0x226),()=>{clearTimeout(_0x5192bf),_0x565d9b(![]);}),_0x4aea50['question']('[wrapper]\x20没有终端保活,断开\x20'+'SSH\x20/\x20关闭终端会终止\x20daemon'+_0x4af3e2(0x203)+Math['round'](PERSISTENCE_PROMPT_TIMEOUT_MS/0x3e8)+_0x4af3e2(0x172),_0x365042=>{clearTimeout(_0x5192bf);const _0x39f153=String(_0x365042||'')['trim']()['toLowerCase']();_0x565d9b(!(_0x39f153==='n'||_0x39f153==='no'));});});}async function ensurePersistencePrompt(_0x144b3f){const _0x20b0ff=a0_0xd702d1;if(!shouldSupervise(_0x144b3f))return;if(persistenceCheckSkipped())return;if(process['platform']===_0x20b0ff(0x1be)){console['warn']('[wrapper]\x20Windows\x20上不'+'要求\x20screen\x20/\x20tmux;将使用'+'平台终端能力并继续启动。'),console[_0x20b0ff(0x260)]('[wrapper]\x20若需要后台保活,建议'+'使用\x20Windows\x20任务计划、服务管理'+_0x20b0ff(0x1d0));return;}const _0x176776=detectPersistenceContext();if(_0x176776['inSession']==='screen'||_0x176776[_0x20b0ff(0x190)]===_0x20b0ff(0x248)){console[_0x20b0ff(0x1ad)](_0x20b0ff(0x1d4)+'已在\x20'+_0x176776[_0x20b0ff(0x190)]+_0x20b0ff(0x1ab));return;}if(_0x176776['inSession']==='systemd'||_0x176776['inSession']==='pm2'){console[_0x20b0ff(0x1ad)](_0x20b0ff(0x187)+'到\x20'+_0x176776[_0x20b0ff(0x190)]+'\x20托管');return;}if(_0x176776[_0x20b0ff(0x1b5)]||_0x176776[_0x20b0ff(0x23c)]){const _0x150ade=[_0x176776[_0x20b0ff(0x1b5)]?_0x20b0ff(0x266):'',_0x176776['hasTmux']?_0x20b0ff(0x248):''][_0x20b0ff(0x244)](Boolean)['join']('\x20/\x20');console['warn'](_0x20b0ff(0x15f)+_0x150ade+_0x20b0ff(0x150)),console['warn'](_0x20b0ff(0x14c)+_0x20b0ff(0x1da)+'creen\x20/\x20tmux\x20内:');if(_0x176776['hasScreen'])console['warn'](_0x20b0ff(0x16b)+_0x20b0ff(0x14f)+'reen\x20里运行\x20whalent');if(_0x176776['hasTmux'])console[_0x20b0ff(0x260)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+'w\x20-s\x20whalent');if(!process['stdin']['isTTY']){console['warn'](_0x20b0ff(0x1c3)+'ell(CI\x20/\x20后台脚本),跳过二次确'+_0x20b0ff(0x1f5)),console['warn']('[wrapper]\x20若想抑制此告警,可设'+'置\x20WHALENT_SKIP_PERSI'+'STENCE_CHECK=1。');return;}const _0x37a9ed=await confirmContinueWithoutPersistence();!_0x37a9ed&&(console['warn']('[wrapper]\x20已按用户要求取消启动'+'。'),console['warn']('[wrapper]\x20请在\x20screen\x20'+_0x20b0ff(0x205)+_0x20b0ff(0x1a1)+_0x20b0ff(0x1dc)),process['exit'](0x0));return;}console['warn']('[wrapper]\x20未检测到\x20scree'+_0x20b0ff(0x1d6)),console[_0x20b0ff(0x260)]('[wrapper]\x20一旦断开\x20SSH\x20或'+_0x20b0ff(0x20d)+'P\x20终止,所有正在跑的任务都会中断。'),console['warn'](_0x20b0ff(0x179)+_0x20b0ff(0x15b));for(const _0x595aaf of persistenceInstallHint())console['warn'](_0x595aaf);if(!process[_0x20b0ff(0x15c)][_0x20b0ff(0x1df)]){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+_0x20b0ff(0x16a)+_0x20b0ff(0x1f5)),console['warn']('[wrapper]\x20若想抑制此告警,可设'+_0x20b0ff(0x1ca)+_0x20b0ff(0x174));return;}const _0xa527fb=await confirmContinueWithoutPersistence();!_0xa527fb&&(console[_0x20b0ff(0x260)](_0x20b0ff(0x15d)+'。'),console[_0x20b0ff(0x260)]('[wrapper]\x20安装\x20screen\x20'+_0x20b0ff(0x157)+_0x20b0ff(0x237)+'nt'),console['warn']('[wrapper]\x20或设置\x20WHALEN'+_0x20b0ff(0x1c4)+'HECK=1\x20强制跳过此检查。'),process[_0x20b0ff(0x22f)](0x0));}function directCore(_0x463d1a){const _0x3600e3=a0_0xd702d1,_0x185e65=findCoreScript();checkMacNodePtySpawnHelper(_0x185e65);const _0x58334c=(0x0,import_child_process3[_0x3600e3(0x215)])(process[_0x3600e3(0x204)],[_0x185e65,..._0x463d1a],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x185e65},'shell':![]});process['exit'](_0x58334c['status']??0x0);}function shouldSupervise(_0xe7a6f4){const _0xb2d1a0=a0_0xd702d1;if(_0xe7a6f4['includes'](_0xb2d1a0(0x21d)))return![];if(_0xe7a6f4[_0xb2d1a0(0x17f)]('--resume')||_0xe7a6f4[0x0]===_0xb2d1a0(0x1d8))return![];const _0x5466a9=_0xe7a6f4[0x0]||'';if(_0x5466a9==='ls'||_0x5466a9==='status'||_0x5466a9==='ps')return![];if(_0x5466a9==='mcp'||_0x5466a9===_0xb2d1a0(0x196))return![];if(_0xe7a6f4[_0xb2d1a0(0x17f)](_0xb2d1a0(0x166))||_0xe7a6f4['includes']('-h'))return![];return!![];}function installCoreVersion(_0x3fdbc2){const _0xf60dd8=a0_0xd702d1,_0x5961f5=resolveExecutablePath('npm');if(!_0x5961f5)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x274562=CORE_PKG_NAME+'@'+_0x3fdbc2,_0x404069=run(_0x5961f5,[_0xf60dd8(0x1c8),'-g',_0x274562,npmRegistryArg()]),_0x504015=((_0x404069[_0xf60dd8(0x173)]||'')+'\x0a'+(_0x404069[_0xf60dd8(0x1af)]||''))['trim']();return{'ok':_0x404069['status']===0x0,'output':_0x504015};}async function superviseCore(_0x44ef77){const _0x23fb34=a0_0xd702d1;let _0x3f6a6e=![],_0x27c330=null;const _0x4c54d4=[];let _0x59f48d=MIN_RESTART_DELAY_MS;const _0x4f7c9b=()=>{const _0x2d2575=a0_0x3174;_0x3f6a6e=!![];if(_0x27c330&&!_0x27c330[_0x2d2575(0x1a9)])try{_0x27c330['kill'](_0x2d2575(0x20e));}catch{}else process[_0x2d2575(0x22f)](0x0);};process['on'](_0x23fb34(0x226),_0x4f7c9b),process['on']('SIGTERM',_0x4f7c9b);while(!![]){const _0x8aa1b=findCoreScript();checkMacNodePtySpawnHelper(_0x8aa1b);const _0x2f9312={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x8aa1b},_0x52437a=readUpgradeState(),_0x268845=!!_0x52437a?.[_0x23fb34(0x198)];let _0x374d48=![],_0x57b80a=null,_0x48b856='';const _0x50235d=[],_0x297e27=0xc;console[_0x23fb34(0x1ad)](_0x23fb34(0x216)+_0x23fb34(0x22c)+_0x8aa1b),_0x27c330=(0x0,import_child_process3['spawn'])(process['execPath'],[_0x8aa1b,..._0x44ef77],{'env':_0x2f9312,'stdio':[_0x23fb34(0x159),'pipe','pipe']});const _0xf21e1c=()=>{const _0x2a8b3a=_0x23fb34;if(_0x374d48)return;_0x374d48=!![];if(_0x57b80a)clearTimeout(_0x57b80a);_0x4c54d4['length']=0x0,_0x59f48d=MIN_RESTART_DELAY_MS;const _0x187b7a=readUpgradeState();_0x187b7a?.['pending']&&(writeUpgradeState({..._0x187b7a,'pending':![],'rollback':![],'health_status':_0x2a8b3a(0x199)}),console[_0x2a8b3a(0x1ad)]('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x187b7a[_0x2a8b3a(0x254)]||_0x187b7a['target_version']||'')));},_0x2fff6c=(_0x295b11,_0x14ea7d=![])=>{const _0x481d03=_0x23fb34,_0xabae5b=_0x295b11['toString']();(_0x14ea7d?process['stderr']:process['stdout'])[_0x481d03(0x19e)](_0xabae5b);if(_0x14ea7d)for(const _0x2d2b55 of _0xabae5b[_0x481d03(0x24d)](/\r?\n/)){if(!_0x2d2b55[_0x481d03(0x167)]())continue;_0x50235d['push'](_0x2d2b55);if(_0x50235d[_0x481d03(0x1e7)]>_0x297e27)_0x50235d[_0x481d03(0x152)]();const _0x1fe7bd=_0x2d2b55['match'](FATAL_PATTERN);if(_0x1fe7bd)_0x48b856=_0x1fe7bd[0x0];}(_0xabae5b[_0x481d03(0x17f)]('[gateway]\x20Connected')||_0xabae5b['includes']('Gateway\x20registered\x20m'+_0x481d03(0x191))||_0xabae5b[_0x481d03(0x17f)](_0x481d03(0x201)))&&_0xf21e1c();};_0x27c330[_0x23fb34(0x173)]?.['on']('data',_0x232d2b=>_0x2fff6c(_0x232d2b,![])),_0x27c330[_0x23fb34(0x1af)]?.['on']('data',_0x356bcc=>_0x2fff6c(_0x356bcc,!![]));_0x268845&&(_0x57b80a=setTimeout(()=>{const _0x2eb3d1=_0x23fb34;if(_0x374d48||!_0x27c330||_0x27c330[_0x2eb3d1(0x1a9)])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x2eb3d1(0x25e)+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x27c330[_0x2eb3d1(0x24b)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x6244c2=await new Promise(_0x4c90fa=>{const _0x264ab5=_0x23fb34;_0x27c330[_0x264ab5(0x23d)]('exit',(_0x20dd9b,_0x1b1eda)=>_0x4c90fa({'code':_0x20dd9b,'signal':_0x1b1eda}));});if(_0x57b80a)clearTimeout(_0x57b80a);_0x27c330=null;if(_0x3f6a6e)process[_0x23fb34(0x22f)](_0x6244c2['code']??0x0);const _0x27c903=readUpgradeState();_0x6244c2[_0x23fb34(0x1b3)]===DAEMON_REPLACED_EXIT_CODE&&(console[_0x23fb34(0x1ad)](_0x23fb34(0x1f7)+'laced\x20by\x20a\x20newer\x20dae'+_0x23fb34(0x228)+_0x23fb34(0x1fb)+'iting'),process[_0x23fb34(0x22f)](0x0));if(_0x27c903?.['pending']&&!_0x374d48){const _0x5424c3=String(_0x27c903['previous_core_versio'+'n']||'')['trim']();if(_0x5424c3){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x5424c3);const _0x15b67f=installCoreVersion(_0x5424c3);writeUpgradeState({..._0x27c903,'pending':![],'rollback':!![],'health_status':_0x15b67f['ok']?_0x23fb34(0x1fe):'rollback_failed','error':_0x15b67f['ok']?'':_0x15b67f[_0x23fb34(0x233)]});}else writeUpgradeState({..._0x27c903,'pending':![],'rollback':!![],'health_status':_0x23fb34(0x22d),'error':_0x23fb34(0x22a)+_0x23fb34(0x17e)});}const _0xdee2fb=_0x6244c2['code']===SUPERVISED_RESTART_CODE||_0x27c903?.[_0x23fb34(0x198)];if(!_0xdee2fb&&_0x6244c2[_0x23fb34(0x1b3)]===0x0)process['exit'](0x0);const _0x359ea7=Date[_0x23fb34(0x176)]();_0x4c54d4['push'](_0x359ea7);while(_0x4c54d4[_0x23fb34(0x1e7)]>0x0&&_0x359ea7-_0x4c54d4[0x0]>CRASH_WINDOW_MS){_0x4c54d4[_0x23fb34(0x152)]();}const _0x311178=_0x4c54d4['length'];writeLastCrash({'timestamp':_0x359ea7,'exit_code':_0x6244c2[_0x23fb34(0x1b3)],'exit_signal':_0x6244c2['signal']||null,'fatal_line':_0x48b856,'raw_tail':_0x50235d['join']('\x0a'),'consecutive_crashes':_0x311178}),console[_0x23fb34(0x1ad)](_0x23fb34(0x1b9)+'d\x20code='+(_0x6244c2[_0x23fb34(0x1b3)]??'')+(_0x6244c2[_0x23fb34(0x232)]?'\x20signal='+_0x6244c2['signal']:'')+'\x20('+_0x311178+'/'+MAX_CRASHES_IN_WINDOW+_0x23fb34(0x238)+Math[_0x23fb34(0x16e)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x48b856)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x48b856);_0x311178>=MAX_CRASHES_IN_WINDOW&&(console[_0x23fb34(0x217)](_0x23fb34(0x264)+'d\x20'+_0x311178+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+'record:\x20')+lastCrashFilePath()+(_0x23fb34(0x1ee)+'nually\x20after\x20the\x20und'+_0x23fb34(0x19b)+_0x23fb34(0x24c))),process['exit'](0x1)),console[_0x23fb34(0x1ad)]('[wrapper]\x20restarting'+'\x20in\x20'+_0x59f48d+'ms'),await new Promise(_0x896b43=>setTimeout(_0x896b43,_0x59f48d)),_0x59f48d=Math[_0x23fb34(0x253)](_0x59f48d*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3d553a=a0_0xd702d1,_0x2eb811=normalizeCliArgv(process[_0x3d553a(0x22b)]['slice'](0x2));if(_0x2eb811[0x0]===_0x3d553a(0x255)||_0x2eb811[0x0]==='-v'||_0x2eb811[0x0]==='version'){printVersion();return;}if((_0x2eb811[0x0]==='status'||_0x2eb811[0x0]==='ls'||_0x2eb811[0x0]==='ps')&&!_0x2eb811[_0x3d553a(0x17f)]('--json')){console[_0x3d553a(0x1ad)]('wrapper\x20'+WRAPPER_VERSION);try{console[_0x3d553a(0x1ad)](_0x3d553a(0x1e3)+(coreVersion()||'not\x20installed'));}catch{console['log'](_0x3d553a(0x19d));}}const _0x3710eb=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x2eb811,_0x3710eb),await ensurePersistencePrompt(_0x2eb811);if(!shouldSupervise(_0x2eb811))directCore(_0x2eb811);await superviseCore(_0x2eb811);}main()['catch'](_0x269345=>{const _0xeb5fdf=a0_0xd702d1;console['error']('[wrapper]\x20Fatal\x20erro'+_0xeb5fdf(0x194)+(_0x269345?.['message']||String(_0x269345))),process[_0xeb5fdf(0x22f)](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.229",
3
+ "version": "0.3.230",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -23,6 +23,8 @@
23
23
  "build:sqlite-helper:all": "node scripts/build-sqlite-helper.mjs --all",
24
24
  "build:terminal-helper": "node scripts/build-terminal-helper.mjs",
25
25
  "build:terminal-helper:all": "node scripts/build-terminal-helper.mjs --all",
26
+ "build:tray-helper": "node scripts/build-tray-helper.mjs",
27
+ "build:tray-helper:all": "node scripts/build-tray-helper.mjs --all",
26
28
  "preinstall": "node scripts/preinstall-check.cjs",
27
29
  "prepublishOnly": "node build.mjs",
28
30
  "start": "node dist/index.cjs"
@@ -47,7 +49,7 @@
47
49
  "yaml": "^2.4.0"
48
50
  },
49
51
  "optionalDependencies": {
50
- "@whalent/agent-core": "0.3.229",
52
+ "@whalent/agent-core": "0.3.230",
51
53
  "node-pty": "^1.1.0"
52
54
  },
53
55
  "devDependencies": {