@whalent/agent 0.3.119 → 0.3.121

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_0x3536bc=a0_0x3f79;(function(_0xe08cd6,_0xfda068){const _0x524e97=a0_0x3f79,_0x21c623=_0xe08cd6();while(!![]){try{const _0x223909=-parseInt(_0x524e97(0x1d2))/0x1*(parseInt(_0x524e97(0x223))/0x2)+-parseInt(_0x524e97(0x225))/0x3+parseInt(_0x524e97(0x24f))/0x4*(-parseInt(_0x524e97(0x1c1))/0x5)+parseInt(_0x524e97(0x1b4))/0x6+parseInt(_0x524e97(0x205))/0x7+parseInt(_0x524e97(0x24a))/0x8*(parseInt(_0x524e97(0x262))/0x9)+-parseInt(_0x524e97(0x25d))/0xa*(-parseInt(_0x524e97(0x248))/0xb);if(_0x223909===_0xfda068)break;else _0x21c623['push'](_0x21c623['shift']());}catch(_0x73eaea){_0x21c623['push'](_0x21c623['shift']());}}}(a0_0x48ff,0xdb768));var __create=Object['create'],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x3536bc(0x1ac)+'ptor'],__getOwnPropNames=Object[a0_0x3536bc(0x1f4)],__getProtoOf=Object[a0_0x3536bc(0x23e)],__hasOwnProp=Object[a0_0x3536bc(0x247)][a0_0x3536bc(0x25b)],__copyProps=(_0x12d985,_0x1792ad,_0xf7902b,_0x5a93dd)=>{const _0x38a864=a0_0x3536bc;if(_0x1792ad&&typeof _0x1792ad==='object'||typeof _0x1792ad==='function'){for(let _0x49fee6 of __getOwnPropNames(_0x1792ad))if(!__hasOwnProp['call'](_0x12d985,_0x49fee6)&&_0x49fee6!==_0xf7902b)__defProp(_0x12d985,_0x49fee6,{'get':()=>_0x1792ad[_0x49fee6],'enumerable':!(_0x5a93dd=__getOwnPropDesc(_0x1792ad,_0x49fee6))||_0x5a93dd[_0x38a864(0x1e0)]});}return _0x12d985;},__toESM=(_0x59fbb9,_0x559237,_0x1fcead)=>(_0x1fcead=_0x59fbb9!=null?__create(__getProtoOf(_0x59fbb9)):{},__copyProps(_0x559237||!_0x59fbb9||!_0x59fbb9[a0_0x3536bc(0x266)]?__defProp(_0x1fcead,a0_0x3536bc(0x24e),{'value':_0x59fbb9,'enumerable':!![]}):_0x1fcead,_0x59fbb9)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x3536bc(0x1c5)),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x3536bc(0x200)+'js.org',CHINA_NPM_REGISTRY='https://registry.npm'+a0_0x3536bc(0x1ce),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x614b43=explicitNpmRegistry();if(_0x614b43)return _0x614b43;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x1fed41=preferredNpmRegistry()){const _0x598f3d=a0_0x3536bc,_0x4a387e=explicitNpmRegistry();if(_0x4a387e)return[_0x4a387e];const _0x33d206=normalizeRegistry(_0x1fed41)||DEFAULT_NPM_REGISTRY,_0x226b9a=_0x33d206===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x598f3d(0x1ee)](new Set([_0x33d206,_0x226b9a]));}async function selectFastNpmRegistry(_0x162a92=REGISTRY_PROBE_TIMEOUT_MS){const _0x2d3761=a0_0x3536bc,_0x553a83=explicitNpmRegistry();if(_0x553a83)return rememberNpmRegistry(_0x553a83),_0x553a83;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x2d3761(0x1ed)];const _0x2807c7=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x3e4e3f=_0x2807c7[_0x2d3761(0x1f6)](()=>new AbortController());let _0x2767fe=-0x1;const _0x16b3ab=_0x2807c7[_0x2d3761(0x1f6)]((_0x1a7308,_0x4e3895)=>probeRegistry200(_0x1a7308,_0x162a92,_0x3e4e3f[_0x4e3895][_0x2d3761(0x227)])['then'](()=>({'registry':_0x1a7308,'index':_0x4e3895})));try{const _0x4a6a6e=await Promise[_0x2d3761(0x1e7)](_0x16b3ab);_0x2767fe=_0x4a6a6e[_0x2d3761(0x1f8)];const _0x63b61f=_0x4a6a6e[_0x2d3761(0x1ed)];return rememberNpmRegistry(_0x63b61f),_0x63b61f;}catch{const _0x4a361e=_0x2807c7[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x4a361e),_0x4a361e;}finally{_0x3e4e3f['forEach']((_0x103f43,_0x3e351c)=>{if(_0x3e351c!==_0x2767fe)_0x103f43['abort']();});}}function rememberNpmRegistry(_0x16c8ba){const _0x4706d4=a0_0x3536bc,_0x3578a3=normalizeRegistry(_0x16c8ba);if(_0x3578a3)selectedRegistryCache={'registry':_0x3578a3,'ts':Date[_0x4706d4(0x1bf)]()};}function npmRegistryArg(_0x14893c=preferredNpmRegistry()){return'--registry='+(normalizeRegistry(_0x14893c)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x32dbd5,_0x459ed1=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x32dbd5+'\x20'+npmRegistryArg(_0x459ed1);}function isChineseLocale(){const _0x2d9607=a0_0x3536bc,_0x4b18d4=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)['join']('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x4b18d4))return!![];try{const _0x410d8f=Intl['DateTimeFormat']()['resolvedOptions']()[_0x2d9607(0x1ae)]||'';return/(^|-)zh($|-)|-CN\b/i[_0x2d9607(0x260)](_0x410d8f);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x3368ad){const _0x1a8924=a0_0x3536bc;return String(_0x3368ad||'')[_0x1a8924(0x203)]()[_0x1a8924(0x1bd)](/\/+$/,'');}function probeRegistry200(_0x4a1a7b,_0x56e72d,_0x1c815e){return new Promise((_0x1b0ef2,_0x41860b)=>{const _0x201b3c=a0_0x3f79;let _0x105549=![];const _0x5f1c6b=_0x98520d=>{const _0xa5e956=a0_0x3f79;if(_0x105549)return;_0x105549=!![],clearTimeout(_0x57902c),_0x1c815e?.[_0xa5e956(0x23a)](_0xa5e956(0x1f7),_0x4979c9);if(!_0x1969b9['killed'])try{_0x1969b9[_0xa5e956(0x215)](_0xa5e956(0x20e));}catch{}if(_0x98520d)_0x41860b(_0x98520d);else _0x1b0ef2();},_0x4979c9=()=>{const _0x53be89=a0_0x3f79;_0x5f1c6b(new Error(_0x53be89(0x1d5)+'ed'));},_0x57902c=setTimeout(()=>{_0x5f1c6b(new Error('registry\x20probe\x20timed'+'\x20out'));},_0x56e72d);_0x57902c['unref']?.();const _0x1969b9=(0x0,import_child_process['spawn'])(process[_0x201b3c(0x22f)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x4a1a7b)||DEFAULT_NPM_REGISTRY,String(_0x56e72d)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x1969b9['on'](_0x201b3c(0x214),_0x5f1c6b),_0x1969b9['on'](_0x201b3c(0x226),_0xd03000=>{const _0x13a2a6=_0x201b3c;if(_0xd03000===0x0)_0x5f1c6b();else _0x5f1c6b(new Error('registry\x20probe\x20faile'+_0x13a2a6(0x269)+(_0xd03000??'signal')));}),_0x1c815e?.[_0x201b3c(0x1f2)](_0x201b3c(0x1f7),_0x4979c9,{'once':!![]});if(_0x1c815e?.['aborted']){_0x4979c9();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x3536bc(0x220)+a0_0x3536bc(0x24d)+a0_0x3536bc(0x204)+a0_0x3536bc(0x1ea)+'String(process.argv['+a0_0x3536bc(0x237)+'/+$/,\x20\x27\x27);\x0aconst\x20tim'+a0_0x3536bc(0x1bb)+'ess.argv[2]\x20||\x203000)'+'\x20||\x203000;\x0aconst\x20url\x20'+'=\x20new\x20URL(\x27/-/ping\x27,'+a0_0x3536bc(0x224)+'nst\x20mod\x20=\x20url.protoc'+a0_0x3536bc(0x230)+a0_0x3536bc(0x1d1)+a0_0x3536bc(0x1e6)+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+a0_0x3536bc(0x1d7)+a0_0x3536bc(0x1f3)+a0_0x3536bc(0x21c)+'\x20{\x20req.destroy();\x20}\x20'+'catch\x20{}\x0a\x20\x20process.e'+'xit(code);\x0a};\x0aconst\x20'+'timer\x20=\x20setTimeout(('+a0_0x3536bc(0x232)+a0_0x3536bc(0x1fe)+a0_0x3536bc(0x235)+a0_0x3536bc(0x243)+'meout:\x20timeoutMs,\x0a\x20\x20'+a0_0x3536bc(0x25f)+a0_0x3536bc(0x210)+a0_0x3536bc(0x1e4)+a0_0x3536bc(0x1ff)+'\x20\x27application/json,t'+a0_0x3536bc(0x213)+a0_0x3536bc(0x249)+a0_0x3536bc(0x1be)+a0_0x3536bc(0x1a9)+'.statusCode\x20===\x20200\x20'+a0_0x3536bc(0x1d6)+'\x27error\x27,\x20()\x20=>\x20finis'+a0_0x3536bc(0x246)+a0_0x3536bc(0x207)+a0_0x3536bc(0x221)+'\x27,\x20()\x20=>\x20finish(4));'+a0_0x3536bc(0x250),INSTALL_HINT={'codex':a0_0x3536bc(0x1df)+a0_0x3536bc(0x20f),'claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':a0_0x3536bc(0x21e)+'ode-ai','whalent':npmInstallCommand('@whalent/agent')+'\x20--prefer-online'};function isWindowsCmdFile(_0x5d4af4){const _0x947a6d=a0_0x3536bc;return process[_0x947a6d(0x264)]==='win32'&&/\.(cmd|bat)$/i[_0x947a6d(0x260)](_0x5d4af4||'');}function quoteCmdArg(_0x407de6){const _0x367c0d=a0_0x3536bc,_0x34fa97=String(_0x407de6??'');if(_0x34fa97&&!/[\s"&|<>^%]/[_0x367c0d(0x260)](_0x34fa97))return _0x34fa97;return'\x22'+_0x34fa97[_0x367c0d(0x1bd)](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x47e5ab,_0x432bba){return['/d','/s','/c',[quoteCmdArg(_0x47e5ab),..._0x432bba['map'](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x4572ea){const _0x20dcad=a0_0x3536bc;if(!_0x4572ea)return null;if(_0x4572ea['includes']('/')||_0x4572ea[_0x20dcad(0x22b)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x20dcad(0x260)](_0x4572ea))return(0x0,import_fs[_0x20dcad(0x228)])(_0x4572ea)?_0x4572ea:_0x4572ea;const _0x373f05=process['platform']==='win32',_0x3eb7fa=_0x373f05?_0x20dcad(0x202):_0x20dcad(0x251);try{const _0x2cb9cf=(0x0,import_child_process2['spawnSync'])(_0x3eb7fa,[_0x4572ea],{'encoding':_0x20dcad(0x24c),'timeout':0xbb8,'shell':![]});if(_0x2cb9cf[_0x20dcad(0x20b)]===0x0){const _0x164fc7=(_0x2cb9cf['stdout']||'')['trim']()[_0x20dcad(0x1fc)](/\r?\n/)[_0x20dcad(0x208)](Boolean);if(_0x164fc7['length']===0x0)return null;if(_0x373f05)for(const _0x1aba1d of[_0x20dcad(0x241),'.cmd',_0x20dcad(0x229),'.ps1']){const _0x33144a=_0x164fc7[_0x20dcad(0x1ad)](_0x49b007=>_0x49b007['toLowerCase']()[_0x20dcad(0x1b2)](_0x1aba1d));if(_0x33144a)return _0x33144a;}return _0x164fc7[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x6d418){const _0x59ff60=a0_0x3536bc;if(process[_0x59ff60(0x264)]!=='win32')return null;if(!/\.(cmd|bat)$/i['test'](_0x6d418))return null;let _0x47967d;try{_0x47967d=(0x0,import_fs['readFileSync'])(_0x6d418,_0x59ff60(0x24c));}catch{return null;}const _0x238ad4=_0x47967d['match'](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x238ad4){const _0x28adb8=(0x0,import_path['resolve'])((0x0,import_path[_0x59ff60(0x242)])(_0x6d418),_0x238ad4[0x2]);if((0x0,import_fs[_0x59ff60(0x228)])(_0x28adb8))return{'type':'node','path':_0x28adb8};}const _0x19ec1b=_0x47967d[_0x59ff60(0x231)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x19ec1b){const _0x32a678=(0x0,import_path[_0x59ff60(0x1af)])((0x0,import_path[_0x59ff60(0x242)])(_0x6d418),_0x19ec1b[0x2]);if((0x0,import_fs['existsSync'])(_0x32a678))return{'type':'exe','path':_0x32a678};}return null;}function safeSpawnSync(_0x232f3e,_0x2896e5,_0x1602da={}){const _0x344d73=a0_0x3536bc,_0x4239bc=unwrapWindowsCmdShim(_0x232f3e);if(_0x4239bc?.[_0x344d73(0x1fb)]===_0x344d73(0x1c6))return(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x4239bc[_0x344d73(0x1c5)],..._0x2896e5],_0x1602da);if(_0x4239bc?.['type']===_0x344d73(0x1f9))return(0x0,import_child_process2[_0x344d73(0x1b0)])(_0x4239bc['path'],_0x2896e5,_0x1602da);if(isWindowsCmdFile(_0x232f3e))return(0x0,import_child_process2['spawnSync'])(process.env.ComSpec||_0x344d73(0x1b8),cmdFallbackArgs(_0x232f3e,_0x2896e5),_0x1602da);return(0x0,import_child_process2[_0x344d73(0x1b0)])(_0x232f3e,_0x2896e5,_0x1602da);}var WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x3536bc(0x20a),SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function wrapperBaseDir(){return __dirname;}function configDir(){const _0x181171=a0_0x3536bc;return path[_0x181171(0x1d8)](os[_0x181171(0x21a)](),'.whalent-agent');}function upgradeStatePath(){const _0x45bc11=a0_0x3536bc;return path[_0x45bc11(0x1d8)](configDir(),_0x45bc11(0x1a8));}function lastCrashFilePath(){const _0x3975f5=a0_0x3536bc;return path[_0x3975f5(0x1d8)](configDir(),'last-crash.json');}function a0_0x3f79(_0x97f2f9,_0x2a3456){_0x97f2f9=_0x97f2f9-0x1a8;const _0x48ffef=a0_0x48ff();let _0x3f79cc=_0x48ffef[_0x97f2f9];if(a0_0x3f79['bCVFEZ']===undefined){var _0x6b18a6=function(_0x1c164b){const _0x111f57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12d985='',_0x1792ad='';for(let _0xf7902b=0x0,_0x5a93dd,_0x49fee6,_0x59fbb9=0x0;_0x49fee6=_0x1c164b['charAt'](_0x59fbb9++);~_0x49fee6&&(_0x5a93dd=_0xf7902b%0x4?_0x5a93dd*0x40+_0x49fee6:_0x49fee6,_0xf7902b++%0x4)?_0x12d985+=String['fromCharCode'](0xff&_0x5a93dd>>(-0x2*_0xf7902b&0x6)):0x0){_0x49fee6=_0x111f57['indexOf'](_0x49fee6);}for(let _0x559237=0x0,_0x1fcead=_0x12d985['length'];_0x559237<_0x1fcead;_0x559237++){_0x1792ad+='%'+('00'+_0x12d985['charCodeAt'](_0x559237)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1792ad);};a0_0x3f79['TeJSCs']=_0x6b18a6,a0_0x3f79['PhwkWM']={},a0_0x3f79['bCVFEZ']=!![];}const _0x5c6c43=_0x48ffef[0x0],_0x118dcb=_0x97f2f9+_0x5c6c43,_0x21d536=a0_0x3f79['PhwkWM'][_0x118dcb];return!_0x21d536?(_0x3f79cc=a0_0x3f79['TeJSCs'](_0x3f79cc),a0_0x3f79['PhwkWM'][_0x118dcb]=_0x3f79cc):_0x3f79cc=_0x21d536,_0x3f79cc;}function writeLastCrash(_0x317eab){const _0x3c608b=a0_0x3536bc;try{fs[_0x3c608b(0x1fa)](configDir(),{'recursive':!![]});const _0x2b64a5={..._0x317eab,'reported':![]};fs[_0x3c608b(0x22d)](lastCrashFilePath(),JSON[_0x3c608b(0x20c)](_0x2b64a5,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x4dbc73=a0_0x3536bc;try{const _0x3ca5d8=JSON[_0x4dbc73(0x1d4)](fs['readFileSync'](path[_0x4dbc73(0x1d8)](wrapperBaseDir(),'..',_0x4dbc73(0x259)),'utf-8'));return String(_0x3ca5d8['version']||_0x4dbc73(0x1dd));}catch{return _0x4dbc73(0x1dd);}}function readUpgradeState(){const _0x495ec9=a0_0x3536bc;try{return JSON[_0x495ec9(0x1d4)](fs[_0x495ec9(0x1e8)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x140724){const _0x416190=a0_0x3536bc;try{fs[_0x416190(0x1fa)](configDir(),{'recursive':!![]}),fs[_0x416190(0x22d)](upgradeStatePath(),JSON['stringify']({..._0x140724,'updated_at':Date['now']()},null,0x2),_0x416190(0x24c));}catch{}}function run(_0x3af74c,_0xd9ae9e,_0x20b7f8=process.env){return safeSpawnSync(_0x3af74c,_0xd9ae9e,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x20b7f8,'shell':![]});}function runNpmView(_0x512eeb){const _0x39ca62=a0_0x3536bc,_0xd3d959=resolveExecutablePath('npm');if(!_0xd3d959)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x39ca62(0x23c))};return safeSpawnSync(_0xd3d959,_0x512eeb,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x1acea6=a0_0x3536bc,_0x49eaed=resolveExecutablePath('npm');if(!_0x49eaed)return'';const _0x9cce7b=run(_0x49eaed,['root','-g']);if(_0x9cce7b[_0x1acea6(0x20b)]!==0x0)return'';return String(_0x9cce7b['stdout']||'')[_0x1acea6(0x203)]();}function compareSemver(_0x322ed5,_0x1ab940){const _0x25df80=a0_0x3536bc,_0x2a1be7=String(_0x322ed5||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x25df80(0x1f6)](_0x59afca=>Number['parseInt'](_0x59afca,0xa)||0x0),_0x2d1bb7=String(_0x1ab940||'')['replace'](/^v/,'')['split'](/[.-]/)['map'](_0x122470=>Number['parseInt'](_0x122470,0xa)||0x0);for(let _0x4a4878=0x0;_0x4a4878<Math['max'](_0x2a1be7[_0x25df80(0x216)],_0x2d1bb7['length'],0x3);_0x4a4878++){const _0x3a5586=_0x2a1be7[_0x4a4878]||0x0,_0x59e9ee=_0x2d1bb7[_0x4a4878]||0x0;if(_0x3a5586>_0x59e9ee)return 0x1;if(_0x3a5586<_0x59e9ee)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x1a356e=a0_0x3536bc,_0x29f9b7=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0x29f9b7==='1'||_0x29f9b7===_0x1a356e(0x21f)||_0x29f9b7===_0x1a356e(0x1cc)||_0x29f9b7==='on';}function latestWrapperVersion(_0x23c669){const _0x58e8ce=a0_0x3536bc,_0x4d6a08=runNpmView([_0x58e8ce(0x24b),WRAPPER_PKG_NAME+'@latest','version',npmRegistryArg(_0x23c669)]);if(_0x4d6a08['status']!==0x0)return'';return String(_0x4d6a08[_0x58e8ce(0x252)]||'')['trim']()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x172466,_0x3870ad){const _0x27e5eb=a0_0x3536bc,_0x4b09e9=resolveExecutablePath(_0x27e5eb(0x206));if(!_0x4b09e9)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x5b2021=run(_0x4b09e9,[_0x27e5eb(0x1f0),'-g',WRAPPER_PKG_NAME+'@'+_0x172466,npmRegistryArg(_0x3870ad)]),_0x85ed99=((_0x5b2021[_0x27e5eb(0x252)]||'')+'\x0a'+(_0x5b2021[_0x27e5eb(0x1c3)]||''))[_0x27e5eb(0x203)]();return{'ok':_0x5b2021[_0x27e5eb(0x20b)]===0x0,'output':_0x85ed99};}async function maybeUpdateWrapper(_0x4fb067,_0x4f6f07){const _0x224a7b=a0_0x3536bc;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x3fe4f1=latestWrapperVersion(_0x4f6f07);if(!_0x3fe4f1||compareSemver(_0x3fe4f1,WRAPPER_VERSION)<=0x0)return![];console[_0x224a7b(0x257)]('[wrapper]\x20update\x20ava'+_0x224a7b(0x1ab)+WRAPPER_VERSION+'\x20->\x20'+_0x3fe4f1),console[_0x224a7b(0x257)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x3fe4f1+_0x224a7b(0x268)+_0x4f6f07+('\x20before\x20starting\x20cor'+_0x224a7b(0x21b)));const _0x3f1f60=installWrapperVersion(_0x3fe4f1,_0x4f6f07);if(!_0x3f1f60['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x224a7b(0x1c4)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x3f1f60[_0x224a7b(0x256)])console[_0x224a7b(0x257)](_0x3f1f60[_0x224a7b(0x256)][_0x224a7b(0x1fc)](/\r?\n/)['slice'](-0xc)[_0x224a7b(0x1d8)]('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x3fe4f1,_0x4f6f07)),![];}console[_0x224a7b(0x257)](_0x224a7b(0x1de)+'dated\x20to\x20'+_0x3fe4f1+';\x20restarting\x20wrapper');const _0x2eea39=process['argv'][0x1],_0x1274cf=(0x0,import_child_process3[_0x224a7b(0x1b0)])(process[_0x224a7b(0x22f)],[_0x2eea39,..._0x4fb067],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x3fe4f1},'shell':![]});process['exit'](_0x1274cf['status']??0x0);}function findCoreScript(){const _0x51f82b=a0_0x3536bc,_0x4a3fe3=String(process.env.WHALENT_CORE_ENTRY||'')[_0x51f82b(0x203)](),_0xaec70b=['1',_0x51f82b(0x21f),_0x51f82b(0x1cc),'on'][_0x51f82b(0x22b)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x4a3fe3&&_0xaec70b&&fs[_0x51f82b(0x228)](_0x4a3fe3))return _0x4a3fe3;const _0x31ad7c=[],_0x36f511=_0x13f8a4=>{if(fs['existsSync'](_0x13f8a4)&&!_0x31ad7c['includes'](_0x13f8a4))_0x31ad7c['push'](_0x13f8a4);};if(_0x4a3fe3)_0x36f511(_0x4a3fe3);const _0x47eae8=npmRootGlobal();if(_0x47eae8){const _0x297c7e=path['join'](_0x47eae8,_0x51f82b(0x1b5),_0x51f82b(0x1da),_0x51f82b(0x1ba),_0x51f82b(0x22a));_0x36f511(_0x297c7e);}const _0x294df2=path['join'](wrapperBaseDir(),'core.cjs');_0x36f511(_0x294df2);const _0x2a2a70=path[_0x51f82b(0x1d8)](wrapperBaseDir(),'..',_0x51f82b(0x1c9),'core',_0x51f82b(0x1ba),_0x51f82b(0x22a));_0x36f511(_0x2a2a70);if(_0x31ad7c['length']>0x0)return _0x31ad7c[_0x51f82b(0x1f6)]((_0x16cd67,_0x5bd0d4)=>({'candidate':_0x16cd67,'index':_0x5bd0d4,'version':coreVersion(_0x16cd67)}))[_0x51f82b(0x1e3)]((_0x1c0c1a,_0x22a638)=>{const _0x4fa188=_0x51f82b,_0x45b9b8=compareSemver(_0x22a638['version'],_0x1c0c1a[_0x4fa188(0x1b1)]);if(_0x45b9b8!==0x0)return _0x45b9b8;return _0x22a638['index']-_0x1c0c1a[_0x4fa188(0x1f8)];})[0x0][_0x51f82b(0x263)];throw new Error(_0x51f82b(0x1e2)+_0x51f82b(0x255)+_0x51f82b(0x1d9)+'or\x20rebuild\x20@whalent/'+'agent');}function coreVersion(_0x5ab171=findCoreScript()){const _0x3755c4=a0_0x3536bc,_0x55de82=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x5ab171,'--version'],{'encoding':_0x3755c4(0x25a),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x3c9ccc=(_0x55de82[_0x3755c4(0x252)]||'')+'\x0a'+(_0x55de82[_0x3755c4(0x1c3)]||'');return _0x3c9ccc[_0x3755c4(0x231)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x56b7d3){const _0x2c4b16=a0_0x3536bc;try{return fs[_0x2c4b16(0x217)](_0x56b7d3,fs['constants']['X_OK']),!![];}catch{return![];}}function shellQuote(_0x5ac574){const _0x12e482=a0_0x3536bc;return'\x27'+_0x5ac574[_0x12e482(0x1bd)](/'/g,_0x12e482(0x238))+'\x27';}function coreNodePtySpawnHelperPath(_0x4fe1a1){const _0x11b183=a0_0x3536bc;if(process[_0x11b183(0x264)]!==_0x11b183(0x258))return'';try{const _0x5637e6=(0x0,import_module[_0x11b183(0x222)])(_0x4fe1a1),_0x32beb6=_0x5637e6[_0x11b183(0x1af)](_0x11b183(0x20d)),_0x7c7b30=path[_0x11b183(0x1af)](path['dirname'](_0x32beb6),'..');return path['join'](_0x7c7b30,'prebuilds','darwin-'+process['arch'],_0x11b183(0x1cb));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x738e27){const _0x35e780=a0_0x3536bc,_0x2e3a7b=coreNodePtySpawnHelperPath(_0x738e27);if(!_0x2e3a7b||CHECKED_PTY_HELPERS['has'](_0x2e3a7b))return;CHECKED_PTY_HELPERS['add'](_0x2e3a7b);if(!fs[_0x35e780(0x228)](_0x2e3a7b)){console[_0x35e780(0x257)]('[wrapper]\x20macOS\x20node'+_0x35e780(0x25c)+_0x35e780(0x1bc)+_0x2e3a7b);return;}if(isExecutable(_0x2e3a7b))return;try{const _0x5d5879=fs[_0x35e780(0x1aa)](_0x2e3a7b)['mode'];fs[_0x35e780(0x1ef)](_0x2e3a7b,_0x5d5879|0x1ed);}catch{}if(isExecutable(_0x2e3a7b)){console['warn'](_0x35e780(0x1c2)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x2e3a7b);return;}console[_0x35e780(0x257)]('[wrapper]\x20macOS\x20node'+'-pty\x20spawn-helper\x20is'+_0x35e780(0x1b3)+_0x2e3a7b),console[_0x35e780(0x257)](_0x35e780(0x236)+'nce\x20to\x20fix\x20terminal/'+_0x35e780(0x22e)),console[_0x35e780(0x257)]('\x20\x20HELPER='+shellQuote(_0x2e3a7b)),console['warn'](_0x35e780(0x1e1)),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x18a11c=a0_0x3536bc;let _0x2f3989='';try{_0x2f3989=coreVersion();}catch{}console[_0x18a11c(0x212)]('whalent-agent\x20'+WRAPPER_VERSION),console[_0x18a11c(0x212)](_0x18a11c(0x245)+WRAPPER_VERSION),console['log'](_0x18a11c(0x1f1)+(_0x2f3989||'not\x20installed'));}function directCore(_0x2c8bd4){const _0x3b9b5f=a0_0x3536bc,_0x27dccd=findCoreScript();checkMacNodePtySpawnHelper(_0x27dccd);const _0x57dd95=(0x0,import_child_process3['spawnSync'])(process[_0x3b9b5f(0x22f)],[_0x27dccd,..._0x2c8bd4],{'stdio':_0x3b9b5f(0x254),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x27dccd},'shell':![]});process[_0x3b9b5f(0x226)](_0x57dd95[_0x3b9b5f(0x20b)]??0x0);}function shouldSupervise(_0x5aeafb){const _0x872e29=a0_0x3536bc;if(_0x5aeafb[_0x872e29(0x22b)](_0x872e29(0x1eb)))return![];if(_0x5aeafb[_0x872e29(0x22b)]('--resume')||_0x5aeafb[0x0]===_0x872e29(0x23d))return![];const _0x4d3f64=_0x5aeafb[0x0]||'';if(_0x4d3f64==='ls'||_0x4d3f64===_0x872e29(0x20b)||_0x4d3f64==='ps')return![];if(_0x4d3f64===_0x872e29(0x240)||_0x4d3f64==='daemon-mcp')return![];if(_0x5aeafb[_0x872e29(0x22b)]('--help')||_0x5aeafb[_0x872e29(0x22b)]('-h'))return![];return!![];}function a0_0x48ff(){const _0x10edff=['CgvUzgLUzW','CMvTB3zLrxzLBNrmAxn0zw5LCG','ChjLDMLVDxnFy29Yzv92zxjZAw8','BNbTig5VDcbMB3vUza','CMvZDw1L','z2v0uhjVDg90ExbLt2y','w3DYyxbWzxjDiezHDgfSigvYCM8','BwnW','lMv4zq','zgLYBMfTzq','ig1LDgHVzdOGj0DfvcCScIaGDgK','y2SGy29Yzsb0BYa','D3jHChbLCIa','AcG0ksK7cN0PoWPYzxeUB24Oj3q','ChjVDg90ExbL','nde2mtK3mwvUAMzdBG','icHYzxmPid0+ihSkicbYzxmUCMu','mJmZnZa0vNHgwKTc','DMLLDW','DxrMltG','zsGNAhr0CcCPoWPJB25ZDcbODhq','zgvMyxvSDa','ner4B1LXuq','cNjLCs5LBMqOktSk','D2HPy2G','C3rKB3v0','D3jPDgu','Aw5OzxjPDa','ig5VDcbMB3vUzdSGAw5ZDgfSBca','B3v0Chv0','D2fYBG','zgfYD2LU','CgfJA2fNzs5QC29U','DxrMoa','AgfZt3DUuhjVCgvYDhK','lxb0EsbZCgf3BI1OzwXWzxiGBM8','ndb0ugfny1O','BNbTig5VDcbMB3vUzcbVBIbqqvq','ywDLBNq6igzHBhnLlaOGigHLywq','DgvZDa','CM91BMq','odf5qKvttMm','y2fUzgLKyxrL','CgXHDgzVCM0','w3DYyxbWzxjDihjVBgXPBMCGyMe','x19LC01VzhvSzq','C2HPzNq','igzYB20G','zdOGzxHPDd0','y29Yzs11CgDYywrLlMPZB24','zcCSicGPid0+igzPBMLZAcHYzxm','C3rHDfn5BMm','AwXHyMXLoIa','z2v0t3DUuhjVCgvYDhLezxnJCMK','zMLUza','Bg9JywXL','CMvZB2X2zq','C3bHD25tEw5J','DMvYC2LVBG','zw5KC1DPDgG','ig5VDcbLEgvJDxrHyMXLoIa','ota0nJu2mhvPrw1Rta','qhDOywXLBNq','zwqU','yxjNDG','y21KlMv4zq','A2LSBgvK','zgLZDa','zw91De1Zid0GtNvTyMvYkhbYB2m','DcbMB3vUzdOG','CMvWBgfJzq','C3vTzsGPoWOGihjLCY5VBIGNzw4','BM93','ChvZAa','otuXmdm1uK1tvevW','w3DYyxbWzxjDigzPEgvKig1Hy08','C3rKzxjY','zgf0zsbMywLSzwq7ignVBNrPBNu','Cgf0Aa','BM9Kzq','y29YzsbUB3qGAw5ZDgfSBgvK','B3jLoIa','CgfJA2fNzxm','C3bHD24','C3bHD24TAgvSCgvY','EwvZ','ls1QC29U','BwLYCM9YlMnVBq','CMvJB3jKoIa','lIbszxn0yxj0ihDYyxbWzxiGBwe','DhbZidOGAhr0CdSkBgv0igrVBMu','mte5odaZnejMwNrsDq','AwqGBM90igjLy29TzsbOzwfSDgG','CgfYC2u','CMvNAxn0CNKGChjVyMuGywjVCNq','pYaWidOGmIKPoWOGihjLCY5VBIG','zIaOzg9UzsKGCMv0DxjUoWOGigq','AM9PBG','qhDOywXLBNqVywDLBNqTy29Yzsa','ywDLBNqTy29Yzq','ywnOAw5L','BNvHBgX5igfMDgvYihrOzsb1BMq','mc4WlJa','w3DYyxbWzxjDihDYyxbWzxiGDxa','BNbTigLUC3rHBgWGlwCGqg9Wzw4','zw51BwvYywjSzq','icbSCYaTBcaIjeHftfbfuIi','D2HHBgvUDcbJB3jLihj1BNrPBwu','C29YDa','icD3AgfSzw50lwfNzw50lxjLz2K','y29Kzq','id0GzMfSC2u7cMnVBNn0igzPBMK','yw55','CMvHzezPBgvtEw5J','CM9SBgvKx2jHy2S','ktSky29UC3qGCMvNAxn0CNKGpsa','ls1Hz2vUDc1Pza','zxjSEwLUzYbPC3n1zsbPCYbMAxG','CMvNAxn0CNK','zNjVBq','y2HTB2rtEw5J','Aw5ZDgfSBa','y29Yzsa','ywrKrxzLBNrmAxn0zw5LCG','B25Lid0GDhj1ztSkicbJBgvHCLq','z2v0t3DUuhjVCgvYDhLoyw1LCW','ls12zxjZAw9U','BwfW','ywjVCNq','Aw5KzxG','zxHL','BwTKAxjtEw5J','DhLWzq','C3bSAxq','w3DYyxbWzxjDignVCMuGzxHPDgu','B3v0txmPoWPJB25ZDcbYzxeGpsa','C3rYEs1WCM9IzsCSiefJy2vWDdO','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','AgvHBhrOEq','D2HLCMuUzxHL','DhjPBq','ChmGpsbYzxf1AxjLkcDODhrWCYC','nZa0mtuXEfndwu9q','BNbT','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','zMLSDgvY','ihrPBwvZihDPDgHPBIa','qhDOywXLBNqVywDLBNqTy29Yzq','C3rHDhvZ','C3rYAw5NAwz5','BM9Kzs1WDhK','u0Lhvevstq','ywKVy29KzxG','zxjZoIb7icDvC2vYlufNzw50jZO','Aw5ZDgfSBgvKx3zLCNnPB24','Bg9N','zxH0l3bSywLUlcOVkICGFsWkFsW','zxjYB3i','A2LSBa','BgvUz3rO','ywnJzxnZu3LUyW','w3DYyxbWzxjDignVCMuGDxbNCMe','C2XPy2u','Ag9TzwrPCG','zs4UlG','Aw1LB3v0khrPBwvYktSkicb0CNK','ihnPz25HBd0','BNbTigLUC3rHBgWGlwCGB3bLBMm','Dhj1zq','cMnVBNn0igH0DhaGpsbYzxf1Axi','AcGZksK7cNjLCs5VBIGNzxjYB3i','y3jLyxrLuMvXDwLYzq','mNbAvfD3AG','ihjLz2LZDhj5icSGjY8NktSky28','mZi5mJy1oxzqv09eyW','zxHPDa','C2LNBMfS','zxHPC3rZu3LUyW','lMjHDa','Aw5KzxGUy2PZ','Aw5JBhvKzxm','DgfYz2v0x3zLCNnPB24','D3jPDgvgAwXLu3LUyW','ufrzihn0yxj0Dxa6','zxHLy1bHDgG','B2WGpt09icDODhrWCZONid8GAhq','Bwf0y2G','ksa9pIbMAw5PC2GOmYKSihrPBwu','CJOG','r2f0zxDHEsbYzwDPC3rLCMvKig0','Bw9KlNjLCxvLC3qODxjSlcb7cIa','w3DYyxbWzxjDifj1BIb0AgLZig8','mv0GFhWGjYCPlNjLCgXHy2uOl1W','j1WNjW'];a0_0x48ff=function(){return _0x10edff;};return a0_0x48ff();}function installCoreVersion(_0x4ef23d){const _0x3a1369=a0_0x3536bc,_0x4e5338=resolveExecutablePath(_0x3a1369(0x206));if(!_0x4e5338)return{'ok':![],'output':_0x3a1369(0x25e)+'H'};const _0x226846=CORE_PKG_NAME+'@'+_0x4ef23d,_0x12b7bb=run(_0x4e5338,['install','-g',_0x226846,npmRegistryArg()]),_0x3da10c=((_0x12b7bb[_0x3a1369(0x252)]||'')+'\x0a'+(_0x12b7bb[_0x3a1369(0x1c3)]||''))['trim']();return{'ok':_0x12b7bb['status']===0x0,'output':_0x3da10c};}async function superviseCore(_0x190e1d){const _0x378f8b=a0_0x3536bc;let _0x35b508=![],_0x233a34=null;const _0x3858e8=[];let _0x3e1bb0=MIN_RESTART_DELAY_MS;const _0x1ba11d=()=>{const _0x102505=a0_0x3f79;_0x35b508=!![];if(_0x233a34&&!_0x233a34[_0x102505(0x1b9)])try{_0x233a34[_0x102505(0x215)](_0x102505(0x20e));}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x1ba11d),process['on'](_0x378f8b(0x20e),_0x1ba11d);while(!![]){const _0x234c42=findCoreScript();checkMacNodePtySpawnHelper(_0x234c42);const _0x2ab7d4={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x234c42},_0x196d90=readUpgradeState(),_0x5dbfdc=!!_0x196d90?.[_0x378f8b(0x239)];let _0x1ac674=![],_0x29b39b=null,_0x43120e='';const _0x22ba61=[],_0x307f37=0xc;console['log']('[wrapper]\x20starting\x20c'+_0x378f8b(0x1c8)+_0x234c42),_0x233a34=(0x0,import_child_process3[_0x378f8b(0x1ca)])(process[_0x378f8b(0x22f)],[_0x234c42,..._0x190e1d],{'env':_0x2ab7d4,'stdio':['inherit','pipe','pipe']});const _0x2f325b=()=>{const _0x443bc3=_0x378f8b;if(_0x1ac674)return;_0x1ac674=!![];if(_0x29b39b)clearTimeout(_0x29b39b);_0x3858e8['length']=0x0,_0x3e1bb0=MIN_RESTART_DELAY_MS;const _0x2d886a=readUpgradeState();_0x2d886a?.[_0x443bc3(0x239)]&&(writeUpgradeState({..._0x2d886a,'pending':![],'rollback':![],'health_status':_0x443bc3(0x201)}),console['log'](_0x443bc3(0x218)+'de\x20healthy:\x20'+(_0x2d886a[_0x443bc3(0x211)]||_0x2d886a[_0x443bc3(0x22c)]||'')));},_0x14aec2=(_0x12e680,_0x2a4fd8=![])=>{const _0x8fde53=_0x378f8b,_0x203b4d=_0x12e680['toString']();(_0x2a4fd8?process[_0x8fde53(0x1c3)]:process[_0x8fde53(0x252)])[_0x8fde53(0x253)](_0x203b4d);if(_0x2a4fd8)for(const _0x5b86ea of _0x203b4d[_0x8fde53(0x1fc)](/\r?\n/)){if(!_0x5b86ea[_0x8fde53(0x203)]())continue;_0x22ba61[_0x8fde53(0x1c0)](_0x5b86ea);if(_0x22ba61[_0x8fde53(0x216)]>_0x307f37)_0x22ba61[_0x8fde53(0x267)]();const _0xd87de1=_0x5b86ea['match'](FATAL_PATTERN);if(_0xd87de1)_0x43120e=_0xd87de1[0x0];}(_0x203b4d[_0x8fde53(0x22b)]('[gateway]\x20Connected')||_0x203b4d['includes'](_0x8fde53(0x234)+_0x8fde53(0x1db))||_0x203b4d['includes']('Gateway:\x20connected'))&&_0x2f325b();};_0x233a34['stdout']?.['on']('data',_0x128705=>_0x14aec2(_0x128705,![])),_0x233a34[_0x378f8b(0x1c3)]?.['on']('data',_0x2267cc=>_0x14aec2(_0x2267cc,!![]));_0x5dbfdc&&(_0x29b39b=setTimeout(()=>{const _0x286c86=_0x378f8b;if(_0x1ac674||!_0x233a34||_0x233a34[_0x286c86(0x1b9)])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x286c86(0x1d3)+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x233a34['kill'](_0x286c86(0x20e));}catch{}},HEALTH_TIMEOUT_MS));const _0x5b80c9=await new Promise(_0x5190ca=>{const _0x524a1d=_0x378f8b;_0x233a34['once'](_0x524a1d(0x226),(_0x2fddfa,_0x5c06f7)=>_0x5190ca({'code':_0x2fddfa,'signal':_0x5c06f7}));});if(_0x29b39b)clearTimeout(_0x29b39b);_0x233a34=null;if(_0x35b508)process[_0x378f8b(0x226)](_0x5b80c9[_0x378f8b(0x1e5)]??0x0);const _0x4ead28=readUpgradeState();if(_0x4ead28?.['pending']&&!_0x1ac674){const _0x43d91a=String(_0x4ead28[_0x378f8b(0x23b)+'n']||'')[_0x378f8b(0x203)]();if(_0x43d91a){console[_0x378f8b(0x214)](_0x378f8b(0x265)+_0x378f8b(0x244)+_0x43d91a);const _0x27b7bc=installCoreVersion(_0x43d91a);writeUpgradeState({..._0x4ead28,'pending':![],'rollback':!![],'health_status':_0x27b7bc['ok']?_0x378f8b(0x1e9):'rollback_failed','error':_0x27b7bc['ok']?'':_0x27b7bc[_0x378f8b(0x256)]});}else writeUpgradeState({..._0x4ead28,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x4a9f22=_0x5b80c9['code']===SUPERVISED_RESTART_CODE||_0x4ead28?.['pending'];if(!_0x4a9f22&&_0x5b80c9['code']===0x0)process['exit'](0x0);const _0x7e6f6=Date['now']();_0x3858e8['push'](_0x7e6f6);while(_0x3858e8['length']>0x0&&_0x7e6f6-_0x3858e8[0x0]>CRASH_WINDOW_MS){_0x3858e8['shift']();}const _0x2a6c90=_0x3858e8['length'];writeLastCrash({'timestamp':_0x7e6f6,'exit_code':_0x5b80c9[_0x378f8b(0x1e5)],'exit_signal':_0x5b80c9[_0x378f8b(0x227)]||null,'fatal_line':_0x43120e,'raw_tail':_0x22ba61['join']('\x0a'),'consecutive_crashes':_0x2a6c90}),console[_0x378f8b(0x212)](_0x378f8b(0x1fd)+'d\x20code='+(_0x5b80c9['code']??'')+(_0x5b80c9[_0x378f8b(0x227)]?_0x378f8b(0x21d)+_0x5b80c9['signal']:'')+'\x20('+_0x2a6c90+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math[_0x378f8b(0x261)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x43120e)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x43120e);_0x2a6c90>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x2a6c90+_0x378f8b(0x209)+Math[_0x378f8b(0x261)](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x378f8b(0x1cf))+lastCrashFilePath()+(_0x378f8b(0x1d0)+_0x378f8b(0x1dc)+_0x378f8b(0x1ec)+_0x378f8b(0x1b6))),process[_0x378f8b(0x226)](0x1)),console['log']('[wrapper]\x20restarting'+'\x20in\x20'+_0x3e1bb0+'ms'),await new Promise(_0x37fd81=>setTimeout(_0x37fd81,_0x3e1bb0)),_0x3e1bb0=Math['min'](_0x3e1bb0*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x27d0bc=a0_0x3536bc,_0x49c254=process[_0x27d0bc(0x1b7)][_0x27d0bc(0x219)](0x2);if(_0x49c254[0x0]===_0x27d0bc(0x1f5)||_0x49c254[0x0]==='-v'||_0x49c254[0x0]===_0x27d0bc(0x1b1)){printVersion();return;}if((_0x49c254[0x0]==='status'||_0x49c254[0x0]==='ls'||_0x49c254[0x0]==='ps')&&!_0x49c254['includes'](_0x27d0bc(0x1cd))){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console['log'](_0x27d0bc(0x1f1)+(coreVersion()||'not\x20installed'));}catch{console['log'](_0x27d0bc(0x1c7));}}const _0x17b89f=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x49c254,_0x17b89f);if(!shouldSupervise(_0x49c254))directCore(_0x49c254);await superviseCore(_0x49c254);}main()['catch'](_0x2d2317=>{const _0x15e8b6=a0_0x3536bc;console[_0x15e8b6(0x214)](_0x15e8b6(0x23f)+_0x15e8b6(0x233)+(_0x2d2317?.['message']||String(_0x2d2317))),process[_0x15e8b6(0x226)](0x1);});
2
+ 'use strict';const a0_0x7626b3=a0_0x22c0;(function(_0x25b9a3,_0x43006b){const _0x2b1c7c=a0_0x22c0,_0x1cc034=_0x25b9a3();while(!![]){try{const _0x41a6df=-parseInt(_0x2b1c7c(0x23e))/0x1*(-parseInt(_0x2b1c7c(0x1d8))/0x2)+parseInt(_0x2b1c7c(0x1e1))/0x3*(parseInt(_0x2b1c7c(0x28f))/0x4)+parseInt(_0x2b1c7c(0x23f))/0x5*(-parseInt(_0x2b1c7c(0x226))/0x6)+-parseInt(_0x2b1c7c(0x26c))/0x7*(-parseInt(_0x2b1c7c(0x1cd))/0x8)+-parseInt(_0x2b1c7c(0x22a))/0x9+-parseInt(_0x2b1c7c(0x270))/0xa+parseInt(_0x2b1c7c(0x1c5))/0xb*(parseInt(_0x2b1c7c(0x1d2))/0xc);if(_0x41a6df===_0x43006b)break;else _0x1cc034['push'](_0x1cc034['shift']());}catch(_0x5950eb){_0x1cc034['push'](_0x1cc034['shift']());}}}(a0_0x55e8,0xee9f0));var __create=Object[a0_0x7626b3(0x25b)],__defProp=Object[a0_0x7626b3(0x1cf)],__getOwnPropDesc=Object['getOwnPropertyDescri'+a0_0x7626b3(0x267)],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x7626b3(0x1de)]['hasOwnProperty'],__copyProps=(_0x29d688,_0x493842,_0x428f7a,_0x398436)=>{const _0x9d407e=a0_0x7626b3;if(_0x493842&&typeof _0x493842===_0x9d407e(0x291)||typeof _0x493842==='function'){for(let _0x1b1cd7 of __getOwnPropNames(_0x493842))if(!__hasOwnProp['call'](_0x29d688,_0x1b1cd7)&&_0x1b1cd7!==_0x428f7a)__defProp(_0x29d688,_0x1b1cd7,{'get':()=>_0x493842[_0x1b1cd7],'enumerable':!(_0x398436=__getOwnPropDesc(_0x493842,_0x1b1cd7))||_0x398436[_0x9d407e(0x1e3)]});}return _0x29d688;},__toESM=(_0x598cca,_0x419834,_0x5bbc30)=>(_0x5bbc30=_0x598cca!=null?__create(__getProtoOf(_0x598cca)):{},__copyProps(_0x419834||!_0x598cca||!_0x598cca['__esModule']?__defProp(_0x5bbc30,a0_0x7626b3(0x250),{'value':_0x598cca,'enumerable':!![]}):_0x5bbc30,_0x598cca)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x7626b3(0x21f)),path2=__toESM(require('path'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require('path'),import_child_process=require(a0_0x7626b3(0x1ea)),DEFAULT_NPM_REGISTRY=a0_0x7626b3(0x1ef)+a0_0x7626b3(0x276),CHINA_NPM_REGISTRY=a0_0x7626b3(0x1ef)+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x56157e=a0_0x7626b3,_0x5712f6=explicitNpmRegistry();if(_0x5712f6)return _0x5712f6;if(selectedRegistryCache&&Date[_0x56157e(0x213)]()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x56157e(0x1ce)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x2dd854=preferredNpmRegistry()){const _0x5e450f=a0_0x7626b3,_0x48959c=explicitNpmRegistry();if(_0x48959c)return[_0x48959c];const _0x1516c5=normalizeRegistry(_0x2dd854)||DEFAULT_NPM_REGISTRY,_0x1652cd=_0x1516c5===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x5e450f(0x204)](new Set([_0x1516c5,_0x1652cd]));}function a0_0x22c0(_0x27bbb2,_0x18dd86){_0x27bbb2=_0x27bbb2-0x1c1;const _0x55e83c=a0_0x55e8();let _0x22c0d5=_0x55e83c[_0x27bbb2];if(a0_0x22c0['IiwoLh']===undefined){var _0x351065=function(_0x4f2a7f){const _0x4c5903='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29d688='',_0x493842='';for(let _0x428f7a=0x0,_0x398436,_0x1b1cd7,_0x598cca=0x0;_0x1b1cd7=_0x4f2a7f['charAt'](_0x598cca++);~_0x1b1cd7&&(_0x398436=_0x428f7a%0x4?_0x398436*0x40+_0x1b1cd7:_0x1b1cd7,_0x428f7a++%0x4)?_0x29d688+=String['fromCharCode'](0xff&_0x398436>>(-0x2*_0x428f7a&0x6)):0x0){_0x1b1cd7=_0x4c5903['indexOf'](_0x1b1cd7);}for(let _0x419834=0x0,_0x5bbc30=_0x29d688['length'];_0x419834<_0x5bbc30;_0x419834++){_0x493842+='%'+('00'+_0x29d688['charCodeAt'](_0x419834)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x493842);};a0_0x22c0['tBzEoB']=_0x351065,a0_0x22c0['hMEpWv']={},a0_0x22c0['IiwoLh']=!![];}const _0x353455=_0x55e83c[0x0],_0x275801=_0x27bbb2+_0x353455,_0x2ddd0d=a0_0x22c0['hMEpWv'][_0x275801];return!_0x2ddd0d?(_0x22c0d5=a0_0x22c0['tBzEoB'](_0x22c0d5),a0_0x22c0['hMEpWv'][_0x275801]=_0x22c0d5):_0x22c0d5=_0x2ddd0d,_0x22c0d5;}async function selectFastNpmRegistry(_0x59bca1=REGISTRY_PROBE_TIMEOUT_MS){const _0x5b2137=a0_0x7626b3,_0xfcc2fb=explicitNpmRegistry();if(_0xfcc2fb)return rememberNpmRegistry(_0xfcc2fb),_0xfcc2fb;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x5b2137(0x1ce)];const _0x1c5b4a=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x4d7b89=_0x1c5b4a[_0x5b2137(0x255)](()=>new AbortController());let _0x468238=-0x1;const _0x795c92=_0x1c5b4a[_0x5b2137(0x255)]((_0xae0a85,_0x4c094a)=>probeRegistry200(_0xae0a85,_0x59bca1,_0x4d7b89[_0x4c094a][_0x5b2137(0x227)])[_0x5b2137(0x1d9)](()=>({'registry':_0xae0a85,'index':_0x4c094a})));try{const _0x3d314e=await Promise[_0x5b2137(0x269)](_0x795c92);_0x468238=_0x3d314e['index'];const _0x1269bf=_0x3d314e[_0x5b2137(0x1ce)];return rememberNpmRegistry(_0x1269bf),_0x1269bf;}catch{const _0x41bd4f=_0x1c5b4a[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x41bd4f),_0x41bd4f;}finally{_0x4d7b89[_0x5b2137(0x254)]((_0xf686b6,_0x3ba898)=>{const _0x2e8b78=_0x5b2137;if(_0x3ba898!==_0x468238)_0xf686b6[_0x2e8b78(0x21d)]();});}}function rememberNpmRegistry(_0x1387cd){const _0x53b170=a0_0x7626b3,_0x1e13b7=normalizeRegistry(_0x1387cd);if(_0x1e13b7)selectedRegistryCache={'registry':_0x1e13b7,'ts':Date[_0x53b170(0x213)]()};}function npmRegistryArg(_0x15c10a=preferredNpmRegistry()){const _0x89d7a9=a0_0x7626b3;return _0x89d7a9(0x243)+(normalizeRegistry(_0x15c10a)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x4e4a76,_0x4c3571=preferredNpmRegistry()){const _0x269f1e=a0_0x7626b3;return _0x269f1e(0x1f7)+_0x4e4a76+'\x20'+npmRegistryArg(_0x4c3571);}function isChineseLocale(){const _0x381a4f=a0_0x7626b3,_0x2c74f3=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE]['filter'](Boolean)[_0x381a4f(0x1fd)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i[_0x381a4f(0x1cb)](_0x2c74f3))return!![];try{const _0x3d5765=Intl['DateTimeFormat']()['resolvedOptions']()['locale']||'';return/(^|-)zh($|-)|-CN\b/i[_0x381a4f(0x1cb)](_0x3d5765);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x3e5b20){const _0x5d02cc=a0_0x7626b3;return String(_0x3e5b20||'')[_0x5d02cc(0x252)]()['replace'](/\/+$/,'');}function probeRegistry200(_0x4cd0eb,_0x41aee6,_0x5bb836){return new Promise((_0x124a16,_0x44e08c)=>{const _0x621f89=a0_0x22c0;let _0x274deb=![];const _0x521940=_0x287bf6=>{const _0x531df6=a0_0x22c0;if(_0x274deb)return;_0x274deb=!![],clearTimeout(_0x59970b),_0x5bb836?.['removeEventListener'](_0x531df6(0x21d),_0x3a27ae);if(!_0x16fc54['killed'])try{_0x16fc54['kill']('SIGTERM');}catch{}if(_0x287bf6)_0x44e08c(_0x287bf6);else _0x124a16();},_0x3a27ae=()=>{const _0x343cf5=a0_0x22c0;_0x521940(new Error(_0x343cf5(0x20b)+'ed'));},_0x59970b=setTimeout(()=>{const _0xc59afb=a0_0x22c0;_0x521940(new Error(_0xc59afb(0x275)+'\x20out'));},_0x41aee6);_0x59970b[_0x621f89(0x21a)]?.();const _0x16fc54=(0x0,import_child_process[_0x621f89(0x23d)])(process[_0x621f89(0x205)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x4cd0eb)||DEFAULT_NPM_REGISTRY,String(_0x41aee6)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x16fc54['on'](_0x621f89(0x281),_0x521940),_0x16fc54['on'](_0x621f89(0x1da),_0x5d37db=>{const _0x27befe=_0x621f89;if(_0x5d37db===0x0)_0x521940();else _0x521940(new Error(_0x27befe(0x284)+'d:\x20exit='+(_0x5d37db??_0x27befe(0x227))));}),_0x5bb836?.['addEventListener'](_0x621f89(0x21d),_0x3a27ae,{'once':!![]});if(_0x5bb836?.['aborted']){_0x3a27ae();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x7626b3(0x22c)+'e(\x27http\x27);\x0aconst\x20htt'+a0_0x7626b3(0x236)+');\x0aconst\x20registry\x20=\x20'+a0_0x7626b3(0x1c3)+a0_0x7626b3(0x1c8)+a0_0x7626b3(0x20c)+'eoutMs\x20=\x20Number(proc'+'ess.argv[2]\x20||\x203000)'+a0_0x7626b3(0x1fb)+a0_0x7626b3(0x1e5)+a0_0x7626b3(0x214)+'nst\x20mod\x20=\x20url.protoc'+a0_0x7626b3(0x28b)+a0_0x7626b3(0x1f9)+'\x20=\x20false;\x0aconst\x20fini'+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+'f\x20(done)\x20return;\x0a\x20\x20d'+a0_0x7626b3(0x246)+'imeout(timer);\x0a\x20\x20try'+'\x20{\x20req.destroy();\x20}\x20'+'catch\x20{}\x0a\x20\x20process.e'+a0_0x7626b3(0x217)+'timer\x20=\x20setTimeout(('+')\x20=>\x20finish(3),\x20time'+a0_0x7626b3(0x261)+'mod.request(url,\x20{\x0a\x20'+a0_0x7626b3(0x215)+a0_0x7626b3(0x259)+'agent:\x20false,\x0a\x20\x20head'+a0_0x7626b3(0x237)+'\x20\x27whalent-agent-regi'+'stry-probe\x27,\x20Accept:'+a0_0x7626b3(0x287)+'ext/plain,*/*\x27\x20},\x0a},'+a0_0x7626b3(0x206)+'sume();\x0a\x20\x20res.on(\x27en'+'d\x27,\x20()\x20=>\x20finish(res'+'.statusCode\x20===\x20200\x20'+'?\x200\x20:\x202));\x0a\x20\x20res.on('+'\x27error\x27,\x20()\x20=>\x20finis'+'h(4));\x0a});\x0areq.on(\x27t'+'imeout\x27,\x20()\x20=>\x20finis'+a0_0x7626b3(0x256)+'\x27,\x20()\x20=>\x20finish(4));'+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+'ai/codex','claude':'npm\x20install\x20-g\x20@anth'+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+a0_0x7626b3(0x290),'whalent':npmInstallCommand('@whalent/agent')+a0_0x7626b3(0x1f6)};function isWindowsCmdFile(_0x60e373){const _0x16f1d4=a0_0x7626b3;return process[_0x16f1d4(0x209)]===_0x16f1d4(0x245)&&/\.(cmd|bat)$/i['test'](_0x60e373||'');}function quoteCmdArg(_0x34e794){const _0x4e73c8=a0_0x7626b3,_0x5608f9=String(_0x34e794??'');if(_0x5608f9&&!/[\s"&|<>^%]/['test'](_0x5608f9))return _0x5608f9;return'\x22'+_0x5608f9[_0x4e73c8(0x1c4)](/(["^&|<>%])/g,_0x4e73c8(0x272))+'\x22';}function cmdFallbackArgs(_0x391869,_0xe1bd78){const _0x32e2b2=a0_0x7626b3;return['/d','/s','/c',[quoteCmdArg(_0x391869),..._0xe1bd78[_0x32e2b2(0x255)](quoteCmdArg)][_0x32e2b2(0x1fd)]('\x20')];}function resolveExecutablePath(_0x4f216d){const _0x5dac4b=a0_0x7626b3;if(!_0x4f216d)return null;if(_0x4f216d['includes']('/')||_0x4f216d['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x5dac4b(0x1cb)](_0x4f216d))return(0x0,import_fs[_0x5dac4b(0x1e4)])(_0x4f216d)?_0x4f216d:_0x4f216d;const _0x5a0cac=process[_0x5dac4b(0x209)]==='win32',_0x280628=_0x5a0cac?'where.exe':_0x5dac4b(0x26b);try{const _0x2f1438=(0x0,import_child_process2[_0x5dac4b(0x279)])(_0x280628,[_0x4f216d],{'encoding':'utf-8','timeout':0xbb8,'shell':![]});if(_0x2f1438['status']===0x0){const _0x13a8fb=(_0x2f1438[_0x5dac4b(0x221)]||'')[_0x5dac4b(0x252)]()[_0x5dac4b(0x1d1)](/\r?\n/)['filter'](Boolean);if(_0x13a8fb[_0x5dac4b(0x241)]===0x0)return null;if(_0x5a0cac)for(const _0x1d6e94 of[_0x5dac4b(0x268),'.cmd',_0x5dac4b(0x1e2),_0x5dac4b(0x263)]){const _0x283985=_0x13a8fb['find'](_0x218fe7=>_0x218fe7['toLowerCase']()['endsWith'](_0x1d6e94));if(_0x283985)return _0x283985;}return _0x13a8fb[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x5996c3){const _0x14bd6c=a0_0x7626b3;if(process[_0x14bd6c(0x209)]!=='win32')return null;if(!/\.(cmd|bat)$/i[_0x14bd6c(0x1cb)](_0x5996c3))return null;let _0x54afeb;try{_0x54afeb=(0x0,import_fs['readFileSync'])(_0x5996c3,_0x14bd6c(0x283));}catch{return null;}const _0x17b7bc=_0x54afeb[_0x14bd6c(0x28c)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x17b7bc){const _0x479c80=(0x0,import_path[_0x14bd6c(0x1dd)])((0x0,import_path['dirname'])(_0x5996c3),_0x17b7bc[0x2]);if((0x0,import_fs[_0x14bd6c(0x1e4)])(_0x479c80))return{'type':_0x14bd6c(0x212),'path':_0x479c80};}const _0x4bf17b=_0x54afeb['match'](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x4bf17b){const _0x13e0ae=(0x0,import_path[_0x14bd6c(0x1dd)])((0x0,import_path['dirname'])(_0x5996c3),_0x4bf17b[0x2]);if((0x0,import_fs[_0x14bd6c(0x1e4)])(_0x13e0ae))return{'type':_0x14bd6c(0x23b),'path':_0x13e0ae};}return null;}function safeSpawnSync(_0x31af85,_0x27e895,_0x7cc14e={}){const _0x413488=a0_0x7626b3,_0xcefa52=unwrapWindowsCmdShim(_0x31af85);if(_0xcefa52?.['type']===_0x413488(0x212))return(0x0,import_child_process2['spawnSync'])(process[_0x413488(0x205)],[_0xcefa52['path'],..._0x27e895],_0x7cc14e);if(_0xcefa52?.[_0x413488(0x1f8)]===_0x413488(0x23b))return(0x0,import_child_process2['spawnSync'])(_0xcefa52['path'],_0x27e895,_0x7cc14e);if(isWindowsCmdFile(_0x31af85))return(0x0,import_child_process2['spawnSync'])(process.env.ComSpec||'cmd.exe',cmdFallbackArgs(_0x31af85,_0x27e895),_0x7cc14e);return(0x0,import_child_process2['spawnSync'])(_0x31af85,_0x27e895,_0x7cc14e);}var os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),import_crypto=require('crypto'),PROFILE_ROOT=path['join'](os['homedir'](),'.whalent-agent',a0_0x7626b3(0x25f)),WHALENT_AGENT_DEFAULT_HOME=path['join'](os['homedir'](),'.whalent-agent');function argValue(_0x2ffa6c,_0x1fec60){const _0xac1f1=a0_0x7626b3;for(let _0x3c4a4d=0x0;_0x3c4a4d<_0x2ffa6c[_0xac1f1(0x241)];_0x3c4a4d++){const _0x37d03b=_0x2ffa6c[_0x3c4a4d]||'';if(_0x37d03b===_0x1fec60)return _0x2ffa6c[_0x3c4a4d+0x1]||'';if(_0x37d03b['startsWith'](_0x1fec60+'='))return _0x37d03b[_0xac1f1(0x200)](_0x1fec60[_0xac1f1(0x241)]+0x1);}return'';}function expandHome(_0x3f25fb){const _0x4c619d=a0_0x7626b3,_0x19c78a=String(_0x3f25fb||'')['trim']();if(_0x19c78a==='~')return os['homedir']();if(_0x19c78a['startsWith']('~/')||_0x19c78a[_0x4c619d(0x27b)]('~\x5c'))return path['join'](os[_0x4c619d(0x210)](),_0x19c78a[_0x4c619d(0x200)](0x2));return _0x19c78a;}function sanitizeProfileName(_0x434ddd){const _0x587271=a0_0x7626b3;return String(_0x434ddd||'')[_0x587271(0x252)]()['replace'](/[^a-zA-Z0-9._-]+/g,'-')[_0x587271(0x1c4)](/^-+|-+$/g,'')||_0x587271(0x250);}function whalentTokenFingerprint(_0x15d3ac){const _0x3da9ca=a0_0x7626b3,_0x1c149c=String(_0x15d3ac||'')[_0x3da9ca(0x252)]();if(!_0x1c149c)return'';return(0x0,import_crypto['createHash'])(_0x3da9ca(0x271))['update'](_0x1c149c)['digest']('hex')['slice'](0x0,0x10);}function startupToken(_0x2d86bf,_0x1b892d){const _0x514b68=a0_0x7626b3;return argValue(_0x2d86bf,_0x514b68(0x216))||_0x1b892d['WHALENT_TOKEN']||_0x1b892d[_0x514b68(0x1d5)]||_0x1b892d['CLAUDE_AGENT_TOKEN']||'';}function whalentProfileHome(_0x5b909f){return path['join'](PROFILE_ROOT,sanitizeProfileName(_0x5b909f));}function resolveWhalentAgentHome(_0x59d23e=process[a0_0x7626b3(0x247)]['slice'](0x2),_0x36747f=process.env){const _0x2c83b3=a0_0x7626b3,_0x49b24a=String(_0x36747f[_0x2c83b3(0x1ee)]||'')[_0x2c83b3(0x252)]();if(_0x49b24a)return path[_0x2c83b3(0x1dd)](expandHome(_0x49b24a));const _0x221861=argValue(_0x59d23e,_0x2c83b3(0x244))||_0x36747f[_0x2c83b3(0x24f)+'E']||_0x36747f[_0x2c83b3(0x203)]||'';if(String(_0x221861||'')[_0x2c83b3(0x252)]())return whalentProfileHome(_0x221861);const _0x1d5aaa=whalentTokenFingerprint(startupToken(_0x59d23e,_0x36747f));if(_0x1d5aaa)return whalentProfileHome('tok-'+_0x1d5aaa);return WHALENT_AGENT_DEFAULT_HOME;}var WHALENT_AGENT_HOME=resolveWhalentAgentHome(),WRAPPER_PKG_NAME=a0_0x7626b3(0x1cc),CORE_PKG_NAME=a0_0x7626b3(0x1ca),SUPERVISED_RESTART_CODE=0x4b,NPM_VIEW_TIMEOUT_MS=0x3a98,HEALTH_TIMEOUT_MS=0xafc8,MIN_RESTART_DELAY_MS=0x3e8,MAX_RESTART_DELAY_MS=0xea60,MAX_CRASHES_IN_WINDOW=0x3,CRASH_WINDOW_MS=0x3*0x3c*0x3e8,NPM_INSTALL_TIMEOUT_MS=0xa*0x3c*0x3e8,NPM_INSTALL_MAX_BUFFER=0x20*0x400*0x400,FATAL_PATTERN=/\[(?:agent|daemon|wrapper)\][^\n]*\bFatal error:[^\n]+|\[daemon\] Failed to start:[^\n]+|Error:[^\n]+/,WRAPPER_VERSION=readWrapperVersion(),CHECKED_PTY_HELPERS=new Set();function a0_0x55e8(){const _0x501b77=['zNjVBq','zxHLy1bHDgG','icHYzxmPid0+ihSkicbYzxmUCMu','u0Lhvevstq','D3jHChbLCIa','CgXHDgzVCM0','icbSCYaTBcaIjeHftfbfuIi','CMvNAxn0CNKGChjVyMuGywjVCNq','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','zgLZDa','CgfJA2fNzxm','CgfYC2u','Ag9TzwrPCG','BNqUy29Tl3b0','BM9Kzq','BM93','ihjLz2LZDhj5icSGjY8NktSky28','ig1LDgHVzdOGj0DfvcCScIaGDgK','ls10B2TLBG','EgL0kgnVzguPoWP9oWPJB25ZDca','w3DYyxbWzxjDihjLC3rHCNrPBMC','CMvZDw1L','Dw5Yzwy','DMLLDW','r2f0zxDHEtOGy29UBMvJDgvK','ywjVCNq','j1WNjW','Bw9KDwXL','ue9tva','C3rKB3v0','zwqU','ChjLyNvPBgrZ','w3DYyxbWzxjDihDYyxbWzxiGDxa','yxbWBgLJyxrPB24VANnVBG','nJK1mti0A1vrqxDg','C2LNBMfS','C3rKzxjY','Aw5JBhvKzxm','nJe0mJeZmxDNuwvVra','ls1Yzxn1Bwu','cMnVBNn0igH0DhaGpsbYzxf1Axi','CgvYigv4zwn1DgfIBguGyML0oIa','B3v0Chv0','ls12zxjZAw9U','y29YzsbUB3qGAw5ZDgfSBgvK','C3rHDfn5BMm','igLUigXHC3qG','zs4UlG','zgLYBMfTzq','ywnOAw5L','ChmGpsbYzxf1AxjLkcDODhrWCYC','zxjZoIb7icDvC2vYlufNzw50jZO','A2LSBa','w3DYyxbWzxjDifj1BIb0AgLZig8','ls1QC29U','zxHL','zxjSEwLUzYbPC3n1zsbPCYbMAxG','C3bHD24','m2DrsvrAvq','nJvMAxDWCem','oYbYzxn0yxj0Aw5NihDYyxbWzxi','BgvUz3rO','y2HTB2rtEw5J','ls1YzwDPC3rYEt0','ls1WCM9MAwXL','D2LUmZi','B25Lid0GDhj1ztSkicbJBgvHCLq','yxjNDG','uYbUB2rLlxb0EsbZCgf3BI1OzwW','ls1WBgf0zM9YBs11CMW','BIb1BMTUB3DU','ywnJzxnZu3LUyW','w3DYyxbWzxjDihvWzgf0zsbHDMe','BM9Kzs1WDhK','CgLWzq','v0Hbtevovf9br0vovf9quK9gsuW','zgvMyxvSDa','D3nZoG','DhjPBq','A2LSBgvK','zM9YrwfJAa','BwfW','AcGZksK7cNjLCs5VBIGNzxjYB3i','zgf0zsbMywLSzwq7ignVBNrPBNu','w3DYyxbWzxjDig1Hy09tig5Vzgu','BwvVDxq6ihrPBwvVDxrnCYWkica','ig5VDcbLEgvJDxrHyMXLoIa','y3jLyxrL','C3rYAw5NAwz5','ANnVBG','Aw5KzxG','ChjVzMLSzxm','BM90igLUC3rHBgXLza','B3v0txmPoWPJB25ZDcbYzxeGpsa','D3jPDgvgAwXLu3LUyW','lNbZmq','ic0+ia','CMvHzezPBgvtEw5J','BNvHBgX5igfMDgvYihrOzsb1BMq','ChrVCG','lMv4zq','yw55','zgfYD2LU','D2HPy2G','mtrhuwvhq1C','wf9psW','y29Yzq','BNbT','mtG0odiXmfHzrgTYAq','C2HHmJu2','xIqX','D3nZoI8VBwvTB3j5lNDOywXLBNq','Aw5OzxjPDa','CMvNAxn0CNKGChjVyMuGDgLTzwq','ANmUB3jN','qhDOywXLBNqVywDLBNqTy29Yzsa','ywrK','C3bHD25tEw5J','Bg9N','C3rHCNrZv2L0Aa','w3DYyxbWzxjDigzPEgvKig1Hy08','Dg9tDhjPBMC','Dg9mB3DLCKnHC2u','BNbTig5VDcbMB3vUzcbVBIbqqvq','y29Yzs11CgDYywrLlMPZB24','zxjYB3i','CM9SBgjHy2TFzMfPBgvK','DxrMltG','CMvNAxn0CNKGChjVyMuGzMfPBgu','w3DYyxbWzxjDie1HBNvHBcb1Cgq','DxrMoa','icDHChbSAwnHDgLVBI9QC29Ulhq','CMvJB3jKoIa','ihrPBwvZihDPDgHPBIa','w3DYyxbWzxjDignVCMuGzMfPBgu','B2WGpt09icDODhrWCZONid8GAhq','Bwf0y2G','ls1Hz2vUDc1Pza','C2HPzNq','mJaYoty4ngf1swjNEG','B2rLlwfP','B2jQzwn0','ChvZAa','w3DYyxbWzxjDiezHDgfSigvYCM8','Bw9Kzq','mc4WlJa','u3rYAw5NkhbYB2nLC3mUyxjNDLS','CMvWBgfJzq','mZy3ndm4nuv6swvvza','u0Lhsu5u','B3jLoIa','mv0GFhWGjYCPlNjLCgXHy2uOl1W','BwTKAxjtEw5J','qhDOywXLBNqVywDLBNqTy29Yzq','DgvZDa','qhDOywXLBNqVywDLBNq','mJK3mtyWme14yu1jDW','CMvNAxn0CNK','zgvMAw5LuhjVCgvYDhK','CgfJA2fNzs5QC29U','C3bSAxq','nZjuseL4BNG','zgf0zwqGDg8G','CM91BMq','q09ervHFquDftLrFve9lru4','DcbMB3vUzdOG','ls1OzwXW','nJqXnJjoz3L2uLy','DgHLBG','zxHPDa','BwnW','igjLzM9YzsbZDgfYDgLUzYbJB3i','CMvZB2X2zq','ChjVDg90ExbL','D2HHBgvUDc1Hz2vUDca','CM9SBgvKx2jHy2S','m1HsDwryvq','lMjHDa','zw51BwvYywjSzq','zxHPC3rZu3LUyW','psbUzxCGvvjmkcCVls9WAw5NjYW','ig5VDcbMB3vUzdSGAw5ZDgfSBca','yxjJAa','y29Yzsa','l3b0','y2HPBgrFChjVy2vZCW','DMvYC2LVBG','AgvHBhrOEq','Aw5KzxGUy2PZ','v0Hbtevovf9br0vovf9it01f','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','ywDLBNqTy29Yzq','ls1NyxrLD2f5','C3rHDhvZ','zgfLBw9Ulw1JCa','w3DYyxbWzxjDigLUC3rHBgXPBMC','Dhj1zq','ic0TChjLzMvYlw9UBgLUzq','BNbTigLUC3rHBgWGlwCG','DhLWzq','DhbZidOGAhr0CdSkBgv0igrVBMu','CM9VDa','ihX8idmWmda7cMnVBNn0ihvYBca','ywDLBNq','AM9PBG','y29Kzq','Aw5ZDgfSBgvKx3zLCNnPB24','C2XPy2u','D2fYBG','AwqGBM90igjLy29TzsbOzwfSDgG','v0Hbtevovf9quK9gsuXf'];a0_0x55e8=function(){return _0x501b77;};return a0_0x55e8();}function wrapperBaseDir(){return __dirname;}function configDir(){const _0x24cb63=a0_0x7626b3;return resolveWhalentAgentHome(process['argv'][_0x24cb63(0x200)](0x2),process.env);}function upgradeStatePath(){const _0x232daa=a0_0x7626b3;return path2[_0x232daa(0x1fd)](configDir(),_0x232daa(0x280));}function lastCrashFilePath(){return path2['join'](configDir(),'last-crash.json');}function writeLastCrash(_0x227ecf){const _0x3a12d7=a0_0x7626b3;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x32988c={..._0x227ecf,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x3a12d7(0x25c)](_0x32988c,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x10cec1=a0_0x7626b3;try{const _0x191fbb=JSON[_0x10cec1(0x20f)](fs['readFileSync'](path2['join'](wrapperBaseDir(),'..',_0x10cec1(0x1d0)),_0x10cec1(0x283)));return String(_0x191fbb['version']||_0x10cec1(0x1c2));}catch{return'0.0.0';}}function readUpgradeState(){const _0x1284ba=a0_0x7626b3;try{return JSON['parse'](fs[_0x1284ba(0x265)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x374c62){const _0x561b8c=a0_0x7626b3;try{fs[_0x561b8c(0x1c9)](configDir(),{'recursive':!![]}),fs[_0x561b8c(0x262)](upgradeStatePath(),JSON['stringify']({..._0x374c62,'updated_at':Date[_0x561b8c(0x213)]()},null,0x2),_0x561b8c(0x283));}catch{}}function run(_0x411262,_0xb41f3a,_0x8c363=process.env){return safeSpawnSync(_0x411262,_0xb41f3a,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x8c363,'shell':![]});}function runNpmView(_0x3e7995){const _0x2caeb1=a0_0x7626b3,_0x4759e2=resolveExecutablePath(_0x2caeb1(0x26f));if(!_0x4759e2)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x4759e2,_0x3e7995,{'encoding':_0x2caeb1(0x286),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x4176a6=a0_0x7626b3,_0x238c39=resolveExecutablePath(_0x4176a6(0x26f));if(!_0x238c39)return'';const _0x4319e8=run(_0x238c39,[_0x4176a6(0x1fa),'-g']);if(_0x4319e8['status']!==0x0)return'';return String(_0x4319e8['stdout']||'')[_0x4176a6(0x252)]();}function compareSemver(_0x101a62,_0x56208a){const _0x346a25=a0_0x7626b3,_0x26b4be=String(_0x101a62||'')['replace'](/^v/,'')[_0x346a25(0x1d1)](/[.-]/)['map'](_0x9200ba=>Number['parseInt'](_0x9200ba,0xa)||0x0),_0x890ec6=String(_0x56208a||'')[_0x346a25(0x1c4)](/^v/,'')['split'](/[.-]/)['map'](_0x4b2013=>Number['parseInt'](_0x4b2013,0xa)||0x0);for(let _0x47a400=0x0;_0x47a400<Math['max'](_0x26b4be[_0x346a25(0x241)],_0x890ec6['length'],0x3);_0x47a400++){const _0x5e3b99=_0x26b4be[_0x47a400]||0x0,_0x31222e=_0x890ec6[_0x47a400]||0x0;if(_0x5e3b99>_0x31222e)return 0x1;if(_0x5e3b99<_0x31222e)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x11099f=a0_0x7626b3,_0x4daae2=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x11099f(0x27e)]();return _0x4daae2==='1'||_0x4daae2==='true'||_0x4daae2==='yes'||_0x4daae2==='on';}function latestWrapperVersion(_0x40706d){const _0x1eea35=a0_0x7626b3,_0x1edad1=runNpmView([_0x1eea35(0x21b),WRAPPER_PKG_NAME+'@latest','version',npmRegistryArg(_0x40706d)]);if(_0x1edad1[_0x1eea35(0x1f2)]!==0x0)return'';return String(_0x1edad1[_0x1eea35(0x221)]||'')[_0x1eea35(0x252)]()['split'](/\r?\n/)['filter'](Boolean)['pop']()||'';}function installWrapperVersion(_0x3ea7fa,_0x2ebdb2){const _0x11bde4=a0_0x7626b3,_0x4744be=resolveExecutablePath('npm');if(!_0x4744be)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x45c0c1=run(_0x4744be,['install','-g',WRAPPER_PKG_NAME+'@'+_0x3ea7fa,npmRegistryArg(_0x2ebdb2)]),_0x12e6f0=((_0x45c0c1[_0x11bde4(0x221)]||'')+'\x0a'+(_0x45c0c1[_0x11bde4(0x228)]||''))['trim']();return{'ok':_0x45c0c1['status']===0x0,'output':_0x12e6f0};}async function maybeUpdateWrapper(_0x525486,_0xd531ed){const _0x2f78ad=a0_0x7626b3;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x2c43bf=latestWrapperVersion(_0xd531ed);if(!_0x2c43bf||compareSemver(_0x2c43bf,WRAPPER_VERSION)<=0x0)return![];console[_0x2f78ad(0x201)](_0x2f78ad(0x24c)+'ilable:\x20'+WRAPPER_VERSION+_0x2f78ad(0x264)+_0x2c43bf),console[_0x2f78ad(0x201)](_0x2f78ad(0x1f4)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x2c43bf+'\x20from\x20'+_0xd531ed+(_0x2f78ad(0x1dc)+_0x2f78ad(0x233)));const _0xb1ceac=installWrapperVersion(_0x2c43bf,_0xd531ed);if(!_0xb1ceac['ok']){console[_0x2f78ad(0x201)](_0x2f78ad(0x224)+_0x2f78ad(0x257)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0xb1ceac[_0x2f78ad(0x22e)])console[_0x2f78ad(0x201)](_0xb1ceac['output']['split'](/\r?\n/)[_0x2f78ad(0x200)](-0xc)['join']('\x0a'));return console[_0x2f78ad(0x201)](_0x2f78ad(0x285)+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x2c43bf,_0xd531ed)),![];}console[_0x2f78ad(0x201)]('[wrapper]\x20wrapper\x20up'+_0x2f78ad(0x1d3)+_0x2c43bf+_0x2f78ad(0x240));const _0x4d4de0=process[_0x2f78ad(0x247)][0x1],_0x56e2a4=(0x0,import_child_process3[_0x2f78ad(0x279)])(process[_0x2f78ad(0x205)],[_0x4d4de0,..._0x525486],{'stdio':_0x2f78ad(0x274),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x2c43bf},'shell':![]});process['exit'](_0x56e2a4[_0x2f78ad(0x1f2)]??0x0);}function findCoreScript(){const _0x2fec55=a0_0x7626b3,_0x1a392a=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x12185d=['1',_0x2fec55(0x1f5),'yes','on'][_0x2fec55(0x229)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()['toLowerCase']());if(_0x1a392a&&_0x12185d&&fs[_0x2fec55(0x1e4)](_0x1a392a))return _0x1a392a;const _0x5e46f7=[],_0x48825e=_0x21995b=>{const _0x3b1c6a=_0x2fec55;if(fs[_0x3b1c6a(0x1e4)](_0x21995b)&&!_0x5e46f7[_0x3b1c6a(0x229)](_0x21995b))_0x5e46f7[_0x3b1c6a(0x292)](_0x21995b);};if(_0x1a392a)_0x48825e(_0x1a392a);const _0x20819a=npmRootGlobal();if(_0x20819a){const _0x1b1992=path2[_0x2fec55(0x1fd)](_0x20819a,'@whalent',_0x2fec55(0x1f0),'dist','index.cjs');_0x48825e(_0x1b1992);}const _0x53b479=path2['join'](wrapperBaseDir(),'core.cjs');_0x48825e(_0x53b479);const _0x3cd505=path2['join'](wrapperBaseDir(),'..',_0x2fec55(0x20e),_0x2fec55(0x26e),_0x2fec55(0x20d),_0x2fec55(0x1ed));_0x48825e(_0x3cd505);if(_0x5e46f7['length']>0x0)return _0x5e46f7[_0x2fec55(0x255)]((_0x2bcb07,_0x182c36)=>({'candidate':_0x2bcb07,'index':_0x182c36,'version':coreVersion(_0x2bcb07)}))['sort']((_0x2fe371,_0x1510fe)=>{const _0x5cad2b=_0x2fec55,_0x8aab96=compareSemver(_0x1510fe[_0x5cad2b(0x1eb)],_0x2fe371['version']);if(_0x8aab96!==0x0)return _0x8aab96;return _0x1510fe[_0x5cad2b(0x25e)]-_0x2fe371[_0x5cad2b(0x25e)];})[0x0]['candidate'];throw new Error('whalent\x20core\x20runtime'+_0x2fec55(0x1e6)+_0x2fec55(0x277)+'or\x20rebuild\x20@whalent/'+_0x2fec55(0x1fc));}function coreVersion(_0x1870f2=findCoreScript()){const _0xb6d53e=a0_0x7626b3,_0x1b81b7=(0x0,import_child_process3[_0xb6d53e(0x279)])(process[_0xb6d53e(0x205)],[_0x1870f2,_0xb6d53e(0x22f)],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x4b5ec4=(_0x1b81b7['stdout']||'')+'\x0a'+(_0x1b81b7[_0xb6d53e(0x228)]||'');return _0x4b5ec4['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0xfa5c76){const _0xaa28df=a0_0x7626b3;try{return fs[_0xaa28df(0x24b)](_0xfa5c76,fs['constants'][_0xaa28df(0x26d)]),!![];}catch{return![];}}function shellQuote(_0x32386a){const _0x1f6e5c=a0_0x7626b3;return'\x27'+_0x32386a[_0x1f6e5c(0x1c4)](/'/g,_0x1f6e5c(0x21e))+'\x27';}function coreNodePtySpawnHelperPath(_0x3d47d1){const _0x44d04a=a0_0x7626b3;if(process['platform']!==_0x44d04a(0x26a))return'';try{const _0x161051=(0x0,import_module['createRequire'])(_0x3d47d1),_0x107fec=_0x161051['resolve'](_0x44d04a(0x24d)),_0x508c1f=path2['resolve'](path2[_0x44d04a(0x234)](_0x107fec),'..');return path2['join'](_0x508c1f,_0x44d04a(0x223),'darwin-'+process[_0x44d04a(0x1e7)],'spawn-helper');}catch{return'';}}function checkMacNodePtySpawnHelper(_0x239110){const _0x4e89c0=a0_0x7626b3,_0x3411ff=coreNodePtySpawnHelperPath(_0x239110);if(!_0x3411ff||CHECKED_PTY_HELPERS['has'](_0x3411ff))return;CHECKED_PTY_HELPERS[_0x4e89c0(0x278)](_0x3411ff);if(!fs['existsSync'](_0x3411ff)){console[_0x4e89c0(0x201)](_0x4e89c0(0x258)+'-pty\x20spawn-helper\x20no'+_0x4e89c0(0x1d6)+_0x3411ff);return;}if(isExecutable(_0x3411ff))return;try{const _0x14d919=fs[_0x4e89c0(0x231)](_0x3411ff)[_0x4e89c0(0x1c1)];fs[_0x4e89c0(0x242)](_0x3411ff,_0x14d919|0x1ed);}catch{}if(isExecutable(_0x3411ff)){console[_0x4e89c0(0x201)](_0x4e89c0(0x27c)+_0x4e89c0(0x248)+_0x4e89c0(0x22d)+_0x3411ff);return;}console[_0x4e89c0(0x201)](_0x4e89c0(0x258)+'-pty\x20spawn-helper\x20is'+_0x4e89c0(0x25a)+_0x3411ff),console[_0x4e89c0(0x201)](_0x4e89c0(0x239)+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console['warn']('\x20\x20HELPER='+shellQuote(_0x3411ff)),console[_0x4e89c0(0x201)](_0x4e89c0(0x20a)),console['warn']('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x153910=a0_0x7626b3;let _0x3dce13='';try{_0x3dce13=coreVersion();}catch{}console['log'](_0x153910(0x1df)+WRAPPER_VERSION),console[_0x153910(0x27a)](_0x153910(0x208)+WRAPPER_VERSION),console['log'](_0x153910(0x1e8)+(_0x3dce13||_0x153910(0x260)));}function getArgValue(_0x357288,_0x116f17){const _0x1e1336=a0_0x7626b3;for(let _0x17435b=0x0;_0x17435b<_0x357288[_0x1e1336(0x241)];_0x17435b++){const _0x5cb633=_0x357288[_0x17435b]||'';if(_0x5cb633===_0x116f17)return _0x357288[_0x17435b+0x1]||'';if(_0x5cb633[_0x1e1336(0x27b)](_0x116f17+'='))return _0x5cb633['slice'](_0x116f17[_0x1e1336(0x241)]+0x1);}return'';}function platformUrlFromGateway(_0x39330c){const _0x1ca574=a0_0x7626b3;try{const _0x1d3b5f=new URL(_0x39330c);return(_0x1d3b5f['protocol']===_0x1ca574(0x251)?'https:':'http:')+'//'+_0x1d3b5f['host']+_0x1ca574(0x1e9);}catch{return'https://memory.whale'+_0x1ca574(0x211);}}function hasExplicitProfile(_0x3ad1a9){const _0x4a3b56=a0_0x7626b3;return!!String(process.env.WHALENT_AGENT_HOME||'')[_0x4a3b56(0x252)]()||!!String(getArgValue(_0x3ad1a9,_0x4a3b56(0x244))||process.env.WHALENT_AGENT_PROFILE||process.env.WHALENT_PROFILE||'')[_0x4a3b56(0x252)]();}function writeProfileIdentity(_0x58b0a9,_0x4972c9){const _0x3b4644=a0_0x7626b3;try{fs[_0x3b4644(0x1c9)](_0x58b0a9,{'recursive':!![],'mode':0x1c0});const _0x4ea9b2=path2[_0x3b4644(0x1fd)](_0x58b0a9,'profile-identity.jso'+'n');let _0x51578e={};if(fs[_0x3b4644(0x1e4)](_0x4ea9b2))try{_0x51578e=JSON['parse'](fs['readFileSync'](_0x4ea9b2,'utf-8'))||{};}catch{}const _0x520b74=Date[_0x3b4644(0x213)]();fs['writeFileSync'](_0x4ea9b2,JSON['stringify']({'version':0x1,..._0x51578e,..._0x4972c9,'profile_home':_0x58b0a9,'created_at':Number(_0x51578e['created_at']||0x0)||_0x520b74,'updated_at':_0x520b74},null,0x2),{'mode':0x180});try{fs[_0x3b4644(0x242)](_0x4ea9b2,0x180);}catch{}}catch{}}async function maybeBootstrapAccountProfile(_0x28dda3){const _0x2c98f4=a0_0x7626b3;if(hasExplicitProfile(_0x28dda3))return;const _0xcf8b9c=getArgValue(_0x28dda3,_0x2c98f4(0x216))||process.env.WHALENT_TOKEN||process.env.CODEX_AGENT_TOKEN||process.env.CLAUDE_AGENT_TOKEN||'';if(!_0xcf8b9c)return;const _0x151ccc=getArgValue(_0x28dda3,_0x2c98f4(0x1f1))||process.env.WHALENT_GATEWAY||process.env.CODEX_AGENT_GATEWAY||process.env.CLAUDE_AGENT_GATEWAY||_0x2c98f4(0x273)+'.com/gw/sdk/ws',_0x2c770d=getArgValue(_0x28dda3,_0x2c98f4(0x249))||process.env.WHALENT_PLATFORM_URL||platformUrlFromGateway(_0x151ccc),_0x2cae20=new AbortController(),_0x57160e=setTimeout(()=>_0x2cae20['abort'](),0xbb8);try{const _0x5e331b=await fetch(_0x2c770d['replace'](/\/$/,'')+'/auth/token-login',{'method':_0x2c98f4(0x220),'headers':{'Content-Type':_0x2c98f4(0x225),'User-Agent':'whalent-agent-wrappe'+'r/'+WRAPPER_VERSION},'body':JSON[_0x2c98f4(0x25c)]({'token':_0xcf8b9c,'source':_0x2c98f4(0x1fc)}),'signal':_0x2cae20['signal']});if(!_0x5e331b['ok'])return;const _0x491ba3=await _0x5e331b[_0x2c98f4(0x25d)](),_0x3bb90a=String(_0x491ba3['agent_profile_id']||'')['trim']();if(!_0x3bb90a)return;const _0x1c1fcb=whalentProfileHome(_0x3bb90a);process.env.WHALENT_AGENT_HOME=_0x1c1fcb,process.env.WHALENT_AGENT_PROFILE_ID=_0x3bb90a,writeProfileIdentity(_0x1c1fcb,{'agent_profile_id':_0x3bb90a,'token_fp':whalentTokenFingerprint(_0xcf8b9c),'app_id':_0x491ba3['app_id']||'','token_name':_0x491ba3['token_name']||''});}catch{}finally{clearTimeout(_0x57160e);}}function directCore(_0x4ee1e1){const _0x457fe1=a0_0x7626b3,_0x3f061c=findCoreScript();checkMacNodePtySpawnHelper(_0x3f061c);const _0x188273=(0x0,import_child_process3[_0x457fe1(0x279)])(process['execPath'],[_0x3f061c,..._0x4ee1e1],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x3f061c,'WHALENT_AGENT_HOME':configDir()},'shell':![]});process[_0x457fe1(0x1da)](_0x188273['status']??0x0);}function shouldSupervise(_0x259b4e){const _0x32e520=a0_0x7626b3;if(_0x259b4e[_0x32e520(0x229)](_0x32e520(0x28d)))return![];if(_0x259b4e['includes'](_0x32e520(0x22b))||_0x259b4e[0x0]===_0x32e520(0x219))return![];const _0x14d90e=_0x259b4e[0x0]||'';if(_0x14d90e==='ls'||_0x14d90e==='status'||_0x14d90e==='ps')return![];if(_0x14d90e===_0x32e520(0x1db)||_0x14d90e===_0x32e520(0x1f3))return![];if(_0x259b4e['includes'](_0x32e520(0x1d7))||_0x259b4e['includes']('-h'))return![];return!![];}function installCoreVersion(_0x187773){const _0x2af210=a0_0x7626b3,_0x40fcff=resolveExecutablePath('npm');if(!_0x40fcff)return{'ok':![],'output':_0x2af210(0x27f)+'H'};const _0x68973a=CORE_PKG_NAME+'@'+_0x187773,_0x555664=run(_0x40fcff,['install','-g',_0x68973a,npmRegistryArg()]),_0x1ba004=((_0x555664[_0x2af210(0x221)]||'')+'\x0a'+(_0x555664[_0x2af210(0x228)]||''))[_0x2af210(0x252)]();return{'ok':_0x555664['status']===0x0,'output':_0x1ba004};}async function superviseCore(_0xb2f1ac){const _0x2b9a25=a0_0x7626b3;let _0x30aea0=![],_0x3b2af8=null;const _0x239660=[];let _0x1cc3b7=MIN_RESTART_DELAY_MS;const _0x407774=()=>{const _0x303007=a0_0x22c0;_0x30aea0=!![];if(_0x3b2af8&&!_0x3b2af8[_0x303007(0x253)])try{_0x3b2af8[_0x303007(0x238)]('SIGTERM');}catch{}else process['exit'](0x0);};process['on'](_0x2b9a25(0x1c6),_0x407774),process['on'](_0x2b9a25(0x207),_0x407774);while(!![]){const _0x597c32=findCoreScript();checkMacNodePtySpawnHelper(_0x597c32);const _0x2a2b65={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x597c32,'WHALENT_AGENT_HOME':configDir()},_0x488ddc=readUpgradeState(),_0x38275d=!!_0x488ddc?.['pending'];let _0x156d03=![],_0x56509e=null,_0x25f9e8='';const _0x2cb9ea=[],_0xb3a692=0xc;console[_0x2b9a25(0x27a)]('[wrapper]\x20starting\x20c'+_0x2b9a25(0x1c7)+_0x597c32),_0x3b2af8=(0x0,import_child_process3[_0x2b9a25(0x23d)])(process[_0x2b9a25(0x205)],[_0x597c32,..._0xb2f1ac],{'env':_0x2a2b65,'stdio':[_0x2b9a25(0x274),_0x2b9a25(0x24e),'pipe']});const _0x35cc61=()=>{const _0x11f123=_0x2b9a25;if(_0x156d03)return;_0x156d03=!![];if(_0x56509e)clearTimeout(_0x56509e);_0x239660[_0x11f123(0x241)]=0x0,_0x1cc3b7=MIN_RESTART_DELAY_MS;const _0x34dc84=readUpgradeState();_0x34dc84?.['pending']&&(writeUpgradeState({..._0x34dc84,'pending':![],'rollback':![],'health_status':_0x11f123(0x1ec)}),console[_0x11f123(0x27a)]('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x34dc84[_0x11f123(0x1ff)]||_0x34dc84['target_version']||'')));},_0x465d58=(_0x3e871a,_0x468827=![])=>{const _0x2925d5=_0x2b9a25,_0x53f5d1=_0x3e871a[_0x2925d5(0x27d)]();(_0x468827?process[_0x2925d5(0x228)]:process[_0x2925d5(0x221)])['write'](_0x53f5d1);if(_0x468827)for(const _0x4058e5 of _0x53f5d1['split'](/\r?\n/)){if(!_0x4058e5['trim']())continue;_0x2cb9ea[_0x2925d5(0x292)](_0x4058e5);if(_0x2cb9ea['length']>_0xb3a692)_0x2cb9ea['shift']();const _0x152ef3=_0x4058e5['match'](FATAL_PATTERN);if(_0x152ef3)_0x25f9e8=_0x152ef3[0x0];}(_0x53f5d1[_0x2925d5(0x229)]('[gateway]\x20Connected')||_0x53f5d1['includes']('Gateway\x20registered\x20m'+_0x2925d5(0x235))||_0x53f5d1['includes'](_0x2925d5(0x21c)))&&_0x35cc61();};_0x3b2af8[_0x2b9a25(0x221)]?.['on']('data',_0x593296=>_0x465d58(_0x593296,![])),_0x3b2af8[_0x2b9a25(0x228)]?.['on']('data',_0x5924f1=>_0x465d58(_0x5924f1,!![]));_0x38275d&&(_0x56509e=setTimeout(()=>{const _0x2e46e2=_0x2b9a25;if(_0x156d03||!_0x3b2af8||_0x3b2af8['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x2e46e2(0x202)+'y\x20in\x20time;\x20rolling\x20b'+'ack');try{_0x3b2af8[_0x2e46e2(0x238)]('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0xff6a9f=await new Promise(_0xdddb8e=>{const _0x4facda=_0x2b9a25;_0x3b2af8['once'](_0x4facda(0x1da),(_0x34866b,_0x213793)=>_0xdddb8e({'code':_0x34866b,'signal':_0x213793}));});if(_0x56509e)clearTimeout(_0x56509e);_0x3b2af8=null;if(_0x30aea0)process[_0x2b9a25(0x1da)](_0xff6a9f['code']??0x0);const _0x11e0b8=readUpgradeState();if(_0x11e0b8?.['pending']&&!_0x156d03){const _0x5246a4=String(_0x11e0b8['previous_core_versio'+'n']||'')[_0x2b9a25(0x252)]();if(_0x5246a4){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x5246a4);const _0x5e7fdf=installCoreVersion(_0x5246a4);writeUpgradeState({..._0x11e0b8,'pending':![],'rollback':!![],'health_status':_0x5e7fdf['ok']?_0x2b9a25(0x1e0):_0x2b9a25(0x282),'error':_0x5e7fdf['ok']?'':_0x5e7fdf['output']});}else writeUpgradeState({..._0x11e0b8,'pending':![],'rollback':!![],'health_status':'rollback_unavailable','error':'previous\x20core\x20versio'+_0x2b9a25(0x24a)});}const _0x3be506=_0xff6a9f['code']===SUPERVISED_RESTART_CODE||_0x11e0b8?.['pending'];if(!_0x3be506&&_0xff6a9f['code']===0x0)process[_0x2b9a25(0x1da)](0x0);const _0x4c068b=Date[_0x2b9a25(0x213)]();_0x239660[_0x2b9a25(0x292)](_0x4c068b);while(_0x239660[_0x2b9a25(0x241)]>0x0&&_0x4c068b-_0x239660[0x0]>CRASH_WINDOW_MS){_0x239660[_0x2b9a25(0x28e)]();}const _0x55c226=_0x239660[_0x2b9a25(0x241)];writeLastCrash({'timestamp':_0x4c068b,'exit_code':_0xff6a9f[_0x2b9a25(0x1fe)],'exit_signal':_0xff6a9f['signal']||null,'fatal_line':_0x25f9e8,'raw_tail':_0x2cb9ea['join']('\x0a'),'consecutive_crashes':_0x55c226}),console['log']('[wrapper]\x20core\x20exite'+'d\x20code='+(_0xff6a9f[_0x2b9a25(0x1fe)]??'')+(_0xff6a9f[_0x2b9a25(0x227)]?'\x20signal='+_0xff6a9f['signal']:'')+'\x20('+_0x55c226+'/'+MAX_CRASHES_IN_WINDOW+_0x2b9a25(0x232)+Math[_0x2b9a25(0x1d4)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x25f9e8)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x25f9e8);_0x55c226>=MAX_CRASHES_IN_WINDOW&&(console[_0x2b9a25(0x281)](_0x2b9a25(0x28a)+'d\x20'+_0x55c226+_0x2b9a25(0x289)+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0x2b9a25(0x288))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0x2b9a25(0x266)+_0x2b9a25(0x23c)+_0x2b9a25(0x222))),process[_0x2b9a25(0x1da)](0x1)),console['log'](_0x2b9a25(0x218)+'\x20in\x20'+_0x1cc3b7+'ms'),await new Promise(_0x4dab2f=>setTimeout(_0x4dab2f,_0x1cc3b7)),_0x1cc3b7=Math['min'](_0x1cc3b7*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x1705a6=a0_0x7626b3,_0x48c483=process[_0x1705a6(0x247)][_0x1705a6(0x200)](0x2);if(_0x48c483[0x0]===_0x1705a6(0x22f)||_0x48c483[0x0]==='-v'||_0x48c483[0x0]==='version'){printVersion();return;}if((_0x48c483[0x0]==='status'||_0x48c483[0x0]==='ls'||_0x48c483[0x0]==='ps')&&!_0x48c483['includes'](_0x1705a6(0x23a))){console[_0x1705a6(0x27a)](_0x1705a6(0x208)+WRAPPER_VERSION);try{console[_0x1705a6(0x27a)](_0x1705a6(0x1e8)+(coreVersion()||_0x1705a6(0x260)));}catch{console['log'](_0x1705a6(0x230));}}await maybeBootstrapAccountProfile(_0x48c483);const _0x4813e4=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x48c483,_0x4813e4);if(!shouldSupervise(_0x48c483))directCore(_0x48c483);await superviseCore(_0x48c483);}main()['catch'](_0x5c91ac=>{const _0x192e4a=a0_0x7626b3;console['error'](_0x192e4a(0x293)+'r:\x20'+(_0x5c91ac?.['message']||String(_0x5c91ac))),process[_0x192e4a(0x1da)](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.119",
3
+ "version": "0.3.121",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -43,7 +43,7 @@
43
43
  "yaml": "^2.4.0"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@whalent/agent-core": "0.3.119",
46
+ "@whalent/agent-core": "0.3.121",
47
47
  "node-pty": "^1.1.0"
48
48
  },
49
49
  "devDependencies": {