@whalent/agent 0.3.135 → 0.3.137
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/core.cjs +7 -7
- package/dist/index.cjs +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const a0_0x169355=a0_0x1f25;(function(_0x47fae9,_0x4da99b){const _0x2ce1c6=a0_0x1f25,_0x458c4b=_0x47fae9();while(!![]){try{const _0x5c85dd=parseInt(_0x2ce1c6(0x248))/0x1*(-parseInt(_0x2ce1c6(0x1f6))/0x2)+parseInt(_0x2ce1c6(0x23b))/0x3*(parseInt(_0x2ce1c6(0x247))/0x4)+parseInt(_0x2ce1c6(0x21a))/0x5+-parseInt(_0x2ce1c6(0x293))/0x6*(-parseInt(_0x2ce1c6(0x24e))/0x7)+parseInt(_0x2ce1c6(0x243))/0x8*(parseInt(_0x2ce1c6(0x24b))/0x9)+parseInt(_0x2ce1c6(0x273))/0xa+-parseInt(_0x2ce1c6(0x1e5))/0xb;if(_0x5c85dd===_0x4da99b)break;else _0x458c4b['push'](_0x458c4b['shift']());}catch(_0x4a602b){_0x458c4b['push'](_0x458c4b['shift']());}}}(a0_0x2f44,0x897e5));var __create=Object[a0_0x169355(0x2b1)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object[a0_0x169355(0x270)+a0_0x169355(0x234)],__getOwnPropNames=Object[a0_0x169355(0x215)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x169355(0x1e1)]['hasOwnProperty'],__copyProps=(_0xbb795d,_0x4ead7e,_0x120553,_0x48b1e0)=>{if(_0x4ead7e&&typeof _0x4ead7e==='object'||typeof _0x4ead7e==='function'){for(let _0x429e78 of __getOwnPropNames(_0x4ead7e))if(!__hasOwnProp['call'](_0xbb795d,_0x429e78)&&_0x429e78!==_0x120553)__defProp(_0xbb795d,_0x429e78,{'get':()=>_0x4ead7e[_0x429e78],'enumerable':!(_0x48b1e0=__getOwnPropDesc(_0x4ead7e,_0x429e78))||_0x48b1e0['enumerable']});}return _0xbb795d;},__toESM=(_0xa38836,_0xa59b8d,_0x4619ed)=>(_0x4619ed=_0xa38836!=null?__create(__getProtoOf(_0xa38836)):{},__copyProps(_0xa59b8d||!_0xa38836||!_0xa38836[a0_0x169355(0x1de)]?__defProp(_0x4619ed,a0_0x169355(0x249),{'value':_0xa38836,'enumerable':!![]}):_0x4619ed,_0xa38836)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x169355(0x2a9)),path2=__toESM(require('path'),0x1),readline=__toESM(require('readline'),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require('path'),import_child_process=require(a0_0x169355(0x237)),DEFAULT_NPM_REGISTRY='https://registry.npm'+'js.org',CHINA_NPM_REGISTRY='https://registry.npm'+a0_0x169355(0x267),REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x22c169=a0_0x169355,_0x3980f7=explicitNpmRegistry();if(_0x3980f7)return _0x3980f7;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x22c169(0x29b)];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x25fb68=preferredNpmRegistry()){const _0x4bec3a=a0_0x169355,_0x101ab9=explicitNpmRegistry();if(_0x101ab9)return[_0x101ab9];const _0x1c1086=normalizeRegistry(_0x25fb68)||DEFAULT_NPM_REGISTRY,_0x517ad5=_0x1c1086===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array[_0x4bec3a(0x28d)](new Set([_0x1c1086,_0x517ad5]));}async function selectFastNpmRegistry(_0x449fc9=REGISTRY_PROBE_TIMEOUT_MS){const _0x4dc695=a0_0x169355,_0xce1cbc=explicitNpmRegistry();if(_0xce1cbc)return rememberNpmRegistry(_0xce1cbc),_0xce1cbc;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache[_0x4dc695(0x29b)];const _0x2e0f80=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0xf8a95b=_0x2e0f80[_0x4dc695(0x24a)](()=>new AbortController());let _0x5b4c2a=-0x1;const _0x49f263=_0x2e0f80[_0x4dc695(0x24a)]((_0x467501,_0x45876a)=>probeRegistry200(_0x467501,_0x449fc9,_0xf8a95b[_0x45876a]['signal'])[_0x4dc695(0x224)](()=>({'registry':_0x467501,'index':_0x45876a})));try{const _0x5c4782=await Promise[_0x4dc695(0x1db)](_0x49f263);_0x5b4c2a=_0x5c4782[_0x4dc695(0x26f)];const _0x4e39ba=_0x5c4782['registry'];return rememberNpmRegistry(_0x4e39ba),_0x4e39ba;}catch{const _0xcfe649=_0x2e0f80[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0xcfe649),_0xcfe649;}finally{_0xf8a95b[_0x4dc695(0x2aa)]((_0x2f2d85,_0x110c86)=>{const _0x5158c0=_0x4dc695;if(_0x110c86!==_0x5b4c2a)_0x2f2d85[_0x5158c0(0x210)]();});}}function rememberNpmRegistry(_0x121389){const _0x25908e=a0_0x169355,_0x2eb7a9=normalizeRegistry(_0x121389);if(_0x2eb7a9)selectedRegistryCache={'registry':_0x2eb7a9,'ts':Date[_0x25908e(0x1e0)]()};}function npmRegistryArg(_0x22f96d=preferredNpmRegistry()){const _0x2e0e70=a0_0x169355;return _0x2e0e70(0x209)+(normalizeRegistry(_0x22f96d)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x1e9331,_0x624399=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x1e9331+'\x20'+npmRegistryArg(_0x624399);}function isChineseLocale(){const _0x2c6410=a0_0x169355,_0x1f85c2=[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'](_0x1f85c2))return!![];try{const _0x12238d=Intl[_0x2c6410(0x2ac)]()[_0x2c6410(0x1ea)]()['locale']||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x12238d);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x23fc4b){const _0x56ebca=a0_0x169355;return String(_0x23fc4b||'')[_0x56ebca(0x2b4)]()[_0x56ebca(0x281)](/\/+$/,'');}function probeRegistry200(_0x28e421,_0x54c0b6,_0x2593c6){return new Promise((_0x422b72,_0x263717)=>{const _0x5e3908=a0_0x1f25;let _0x446093=![];const _0x105838=_0x2b7446=>{const _0x44460e=a0_0x1f25;if(_0x446093)return;_0x446093=!![],clearTimeout(_0xb033fb),_0x2593c6?.[_0x44460e(0x223)]('abort',_0xfb9a81);if(!_0x328a7a[_0x44460e(0x257)])try{_0x328a7a[_0x44460e(0x287)]('SIGTERM');}catch{}if(_0x2b7446)_0x263717(_0x2b7446);else _0x422b72();},_0xfb9a81=()=>{const _0x4997eb=a0_0x1f25;_0x105838(new Error(_0x4997eb(0x20d)+'ed'));},_0xb033fb=setTimeout(()=>{const _0x173f1a=a0_0x1f25;_0x105838(new Error(_0x173f1a(0x2b9)+'\x20out'));},_0x54c0b6);_0xb033fb['unref']?.();const _0x328a7a=(0x0,import_child_process[_0x5e3908(0x2a5)])(process[_0x5e3908(0x1e6)],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x28e421)||DEFAULT_NPM_REGISTRY,String(_0x54c0b6)],{'stdio':'ignore','shell':![],'windowsHide':!![]});_0x328a7a['on']('error',_0x105838),_0x328a7a['on']('exit',_0x18ad64=>{const _0x5adcde=_0x5e3908;if(_0x18ad64===0x0)_0x105838();else _0x105838(new Error('registry\x20probe\x20faile'+_0x5adcde(0x1f0)+(_0x18ad64??_0x5adcde(0x28b))));}),_0x2593c6?.[_0x5e3908(0x236)]('abort',_0xfb9a81,{'once':!![]});if(_0x2593c6?.[_0x5e3908(0x255)]){_0xfb9a81();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x169355(0x251)+a0_0x169355(0x1f1)+'ps\x20=\x20require(\x27https\x27'+');\x0aconst\x20registry\x20=\x20'+'String(process.argv['+a0_0x169355(0x25c)+a0_0x169355(0x2a6)+'eoutMs\x20=\x20Number(proc'+a0_0x169355(0x1e2)+'\x20||\x203000;\x0aconst\x20url\x20'+a0_0x169355(0x28a)+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+'ol\x20===\x20\x27https:\x27\x20?\x20ht'+'tps\x20:\x20http;\x0alet\x20done'+'\x20=\x20false;\x0aconst\x20fini'+a0_0x169355(0x276)+'f\x20(done)\x20return;\x0a\x20\x20d'+'one\x20=\x20true;\x0a\x20\x20clearT'+a0_0x169355(0x2bb)+a0_0x169355(0x242)+a0_0x169355(0x25f)+a0_0x169355(0x206)+'timer\x20=\x20setTimeout(('+')\x20=>\x20finish(3),\x20time'+a0_0x169355(0x2be)+'mod.request(url,\x20{\x0a\x20'+'\x20method:\x20\x27GET\x27,\x0a\x20\x20ti'+'meout:\x20timeoutMs,\x0a\x20\x20'+'agent:\x20false,\x0a\x20\x20head'+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x169355(0x2a0)+'stry-probe\x27,\x20Accept:'+'\x20\x27application/json,t'+'ext/plain,*/*\x27\x20},\x0a},'+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+a0_0x169355(0x295)+a0_0x169355(0x22b)+a0_0x169355(0x208)+a0_0x169355(0x205)+'\x27error\x27,\x20()\x20=>\x20finis'+a0_0x169355(0x2ad)+'imeout\x27,\x20()\x20=>\x20finis'+a0_0x169355(0x1f2)+a0_0x169355(0x20b)+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x169355(0x2b2),'claude':'npm\x20install\x20-g\x20@anth'+a0_0x169355(0x2ba),'opencode':a0_0x169355(0x1fc)+'ode-ai','whalent':npmInstallCommand(a0_0x169355(0x212))+a0_0x169355(0x232)};function isWindowsCmdFile(_0x1c8bf3){const _0x46c84f=a0_0x169355;return process[_0x46c84f(0x298)]===_0x46c84f(0x22f)&&/\.(cmd|bat)$/i[_0x46c84f(0x1fb)](_0x1c8bf3||'');}function quoteCmdArg(_0x120173){const _0x4c5c2a=a0_0x169355,_0x2be5d4=String(_0x120173??'');if(_0x2be5d4&&!/[\s"&|<>^%]/['test'](_0x2be5d4))return _0x2be5d4;return'\x22'+_0x2be5d4[_0x4c5c2a(0x281)](/(["^&|<>%])/g,'^$1')+'\x22';}function cmdFallbackArgs(_0x5889a3,_0x7976f6){return['/d','/s','/c',[quoteCmdArg(_0x5889a3),..._0x7976f6['map'](quoteCmdArg)]['join']('\x20')];}function resolveExecutablePath(_0x1a6fb7){const _0x3ceed7=a0_0x169355;if(!_0x1a6fb7)return null;if(_0x1a6fb7[_0x3ceed7(0x1e3)]('/')||_0x1a6fb7[_0x3ceed7(0x1e3)]('\x5c')||/\.[A-Za-z0-9]{1,5}$/[_0x3ceed7(0x1fb)](_0x1a6fb7))return(0x0,import_fs['existsSync'])(_0x1a6fb7)?_0x1a6fb7:_0x1a6fb7;const _0x2a2fc2=process[_0x3ceed7(0x298)]==='win32',_0x4acec3=_0x2a2fc2?'where.exe':'which';try{const _0x43f60f=(0x0,import_child_process2['spawnSync'])(_0x4acec3,[_0x1a6fb7],{'encoding':_0x3ceed7(0x28f),'timeout':0xbb8,'shell':![]});if(_0x43f60f[_0x3ceed7(0x264)]===0x0){const _0x55389e=(_0x43f60f[_0x3ceed7(0x21b)]||'')[_0x3ceed7(0x2b4)]()['split'](/\r?\n/)['filter'](Boolean);if(_0x55389e[_0x3ceed7(0x283)]===0x0)return null;if(_0x2a2fc2)for(const _0x17781d of['.exe','.cmd','.bat','.ps1']){const _0x4d2e60=_0x55389e['find'](_0x539de0=>_0x539de0['toLowerCase']()['endsWith'](_0x17781d));if(_0x4d2e60)return _0x4d2e60;}return _0x55389e[0x0]||null;}}catch{}return null;}function a0_0x2f44(){const _0x2a7c88=['zgf0yq','nZa2mJe5ogfKtKjftG','zxHLy1bHDgG','y3jLyxrLsw50zxjMywnL','icaJig1Hy09toIaGicaGicaGica','AgvHBhrOEq','CMvZB2X2zwrpChrPB25Z','w3DYyxbWzxjDig5LDYbJB3jLigq','ihn1zg8GCgfJBwfUic1tihnJCMu','C3rKAw4','CMvJB3jKoIa','mc4WlJa','zdOGzxHPDd0','zsGNAhr0CcCPoWPJB25ZDcbODhq','AcGZksK7cNjLCs5VBIGNzxjYB3i','iow3SUwUIEIJHE+8Jos9HUw9K+wjJEs4JEwCQoE7IoERR+wKJEEuQowzQoMhJoI/KoIHJooaGG','C2HPzNq','y21KlMv4zq','nJi1ntG2DgHqq1vI','C3bHD25tEw5J','CgfJA2fNzs5QC29U','w3DYyxbWzxjDihjLC3rHCNrPBMC','CgfYC2vjBNq','DgvZDa','BNbTigLUC3rHBgWGlwCGB3bLBMm','BM90igLUC3rHBgXLza','ig5VDcbLEgvJDxrHyMXLoIa','CMvZDw1L','w3DYyxbWzxjDiow8UUEdIow7UUIURUwUIEIJHEs4Gos4QUE7IoERRW','5Asn55sO5zMO5lUL5A6E546W5l+D5Rs777YA','ywDLBNq','ihnJCMvLBIaGicaGiYbVCJOGC3u','icaGicaGicaGicaGihrTDxGGBMu','pYaWidOGmIKPoWOGihjLCY5VBIG','EgL0kgnVzguPoWP9oWPJB25ZDca','w3DYyxbWzxjDioEuQoAiT+EHRUIUPowCQoAxOos/NEA0U+EoR+wIGW','lNn0yxr1C0nVzguGpt09idiWmca','ls1YzwDPC3rYEt0','CM9SBgjHy2TFzMfPBgvK','jYWGkcKGpt4GzMLUAxnOkdqPktS','CM9VDa','CMvNAxn0CNKGChjVyMuGywjVCNq','zxjSEwLUzYbPC3n1zsbPCYbMAxG','CMvLBIdPH4ZOV5dOOyWGD2HHBgvUDa','ywjVCNq','u0Lhvevstq','qhDOywXLBNqVywDLBNq','C3rYAw5NAwz5','ls1OzwXW','z2v0t3DUuhjVCgvYDhLoyw1LCW','zgLYBMfTzq','AgfZ','Aw5ZDgfSBgvKx3zLCNnPB24','BNbT','mtu3ndqWmfr3rvvura','C3rKB3v0','C3rKzxjY','u1rftKnfx0nirunlpthJGii','uYbUB2rLlxb0EsbZCgf3BI1OzwW','DMLLDW','C2XPy2u','5BEY5zYOia','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUw9K+wjJq','CMvTB3zLrxzLBNrmAxn0zw5LCG','DgHLBG','zxjYB3i','CxvLC3rPB24','CM9SBgjHy2TFDw5HDMfPBgfIBgu','C3LZDgvTza','w3DYyxbWzxjDioAJGoA1I+wiSca','D3jPDgvgAwXLu3LUyW','zcCSicGPid0+igzPBMLZAcHYzxm','r2f0zxDHEsbYzwDPC3rLCMvKig0','DcbMB3vUzdOG','ywXLBNtVVjS','D2LUmZi','oYbYzxn0yxj0Aw5NihDYyxbWzxi','ChjVzMLSzxm','ic0TChjLzMvYlw9UBgLUzq','DMvYC2LVBG','ChrVCG','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','ywrKrxzLBNrmAxn0zw5LCG','y2HPBgrFChjVy2vZCW','Cg9W','w3DYyxbWzxjDigLUC3rHBgXPBMC','zxHL','mta3ndLhq1jpAvu','y2f0y2G','ywnR','ls1Yzxn1Bwu','ic8G','ic0+ia','Ag9TzwrPCG','ihSGCMvXlMrLC3rYB3KOktSGFsa','ndb2ue5sCgS','BMnLihrVigzPEcb0zxjTAw5HBc8','ywnJzxnZu3LUyW','D2HHBgvUDc1Hz2vUDca','nJy0qNLzD2L5','muPZDNfKAG','zgvMyxvSDa','BwfW','mZyXnZaXv1LZrhrS','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','y29UC3rHBNrZ','n1zsDu1uAa','lxb0EsbZCgf3BI1OzwXWzxiGBM8','CMvZB2X2zq','cMnVBNn0igH0DhaGpsbYzxf1Axi','w3DYyxbWzxjDioE7IoERR+s/NEA0UYbps++8MUAJGoA1IW','CJOG','Aw5OzxjPDa','ywjVCNrLza','6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBUoaGUw7UUIURUAuVUI/MYbZ','A2LSBgvK','BgLUDxG','zxHPDa','icaJifrOzw4GCMuTyxr0ywnOigK','AM9PBG','mv0GFhWGjYCPlNjLCgXHy2uOl1W','Dg11Ea','y29YzsbUB3qGAw5ZDgfSBgvK','y2f0y2GGE30kicbWCM9JzxnZlMu','Dg9mB3DLCKnHC2u','zMLSDgvY','ihn1zg8GExvTigLUC3rHBgWGlxK','AgfZvg11Ea','C3rHDhvZ','y2fUzgLKyxrL','igLUia','BwLYCM9YlMnVBq','zgfYD2LU','zg8Gzg5MigLUC3rHBgWGlxKGC2m','ihn1zg8GyxbRigfKzcbZy3jLzw4','C2nYzwvU','BNbTig5VDcbMB3vUza','qhDOywXLBNqVywDLBNqTy29Yzsa','AxnuvfK','Aw5KzxG','z2v0t3DUuhjVCgvYDhLezxnJCMK','Bw9Kzq','Cgf0Aa','mJe2ndu4mhjZqwnrBq','vf9ts0Lqx1bfuLnju1rftKnfx0m','EwvZ','C2GGpsaOy29KzsKGpt4GEWOGigK','5ywZ6zET57Ui56UV77YmzgfLBw9Uios8MUIIQYbtsuDivq','w3DYyxbWzxjDihn0yxj0Aw5Nigm','y29Kzq','CgLWzq','Aw5tzxnZAw9U','Bwf4','BNvHBgX5igfMDgvYihrOzsb1BMq','BNbTig5VDcbMB3vUzcbVBIbqqvq','C3bSAxq','y29Yzq','CMvWBgfJzq','44cc5lUn54s257UN57UT5zcx77YFw3KVtL06ia','BgvUz3rO','D2fYBG','w3DYyxbWzxjDig1Hy09tig5Vzgu','ChvZAa','A2LSBa','lxb0EsbZCgf3BI1OzwXWzxiGAxm','yxjNDG','psbUzxCGvvjmkcCVls9WAw5NjYW','C2LNBMfS','DYaTCYb3AgfSzw50','zNjVBq','CM9SBgvKx2jHy2S','DxrMltG','Bg9N','D3jHChbLCIa','CM91BMq','mte0ntuZohvYz2HiBG','zgLZDa','C3vTzsGPoWOGihjLCY5VBIGNzw4','CgvUzgLUzW','ChjLDMLVDxnFy29Yzv92zxjZAw8','CgXHDgzVCM0','ls12zxjZAw9U','icaJiefSCgLUztOGicaGicaGica','CMvNAxn0CNK','ihnPz25HBd0','B3v0Chv0','w3DYyxbWzxjDihDYyxbWzxiGDxa','y3jLzw4GlYb0Bxv4iowgHE+8MG','icD3AgfSzw50lwfNzw50lxjLz2K','igzYB20G','BgfZDc1JCMfZAc5QC29U','lNDOywXLBNqTywDLBNq','ios8MUIVNEs4Rq','C3bHD24','lYSKlYWGjYCPoWPJB25ZDcb0Aw0','ioAjMoEUOq','icaGicaGicaGicaGihnJCMvLBIa','Bw9KDwXL','zM9YrwfJAa','zgfYD2LUlq','rgf0zvrPBwvgB3jTyxq','AcG0ksK7cN0PoWPYzxeUB24Oj3q','qgXHDgvZDa','AgfZu2nYzwvU','y29Yzs5JANm','y3jLyxrL','ywKVy29KzxG','yxrLoIa','DhjPBq','j1WNjW','khj1BIaND2HHBgvUDcCGAw5ZAwq','zxHPC3rZu3LUyW','Dhj1zq','CMvNAxn0CNKGChjVyMuGDgLTzwq','CM9WAwmTywKVy2XHDwrLlwnVzgu','Aw1LB3v0khrPBwvYktSkicb0CNK','lIbszxn0yxj0ihDYyxbWzxiGBwe','BwTKAxjtEw5J','B3v0txmPoWPJB25ZDcbYzxeGpsa','zgf0zwqGDg8G','w3DYyxbWzxjDigzPEgvKig1Hy08','yw55','w3DYyxbWzxjDigXHC3qGzMf0ywW','Bwf0y2G','x19LC01VzhvSzq','BwvZC2fNzq','BM93','ChjVDg90ExbL','zxnZlMfYz3zBmL0GFhWGmZaWmcK','Aw5JBhvKzxm'];a0_0x2f44=function(){return _0x2a7c88;};return a0_0x2f44();}function unwrapWindowsCmdShim(_0x558cb2){const _0x5bceb6=a0_0x169355;if(process['platform']!==_0x5bceb6(0x22f))return null;if(!/\.(cmd|bat)$/i[_0x5bceb6(0x1fb)](_0x558cb2))return null;let _0x4811ca;try{_0x4811ca=(0x0,import_fs['readFileSync'])(_0x558cb2,'utf-8');}catch{return null;}const _0x2b6a72=_0x4811ca[_0x5bceb6(0x1dd)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x2b6a72){const _0x151e7a=(0x0,import_path['resolve'])((0x0,import_path[_0x5bceb6(0x216)])(_0x558cb2),_0x2b6a72[0x2]);if((0x0,import_fs[_0x5bceb6(0x2b7)])(_0x151e7a))return{'type':'node','path':_0x151e7a};}const _0x54b411=_0x4811ca[_0x5bceb6(0x1dd)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x54b411){const _0x329cb4=(0x0,import_path[_0x5bceb6(0x250)])((0x0,import_path['dirname'])(_0x558cb2),_0x54b411[0x2]);if((0x0,import_fs[_0x5bceb6(0x2b7)])(_0x329cb4))return{'type':'exe','path':_0x329cb4};}return null;}function safeSpawnSync(_0x205e79,_0x35b547,_0x4d92e4={}){const _0x4b8c30=a0_0x169355,_0x5c8fd4=unwrapWindowsCmdShim(_0x205e79);if(_0x5c8fd4?.['type']==='node')return(0x0,import_child_process2['spawnSync'])(process['execPath'],[_0x5c8fd4[_0x4b8c30(0x272)],..._0x35b547],_0x4d92e4);if(_0x5c8fd4?.['type']===_0x4b8c30(0x23a))return(0x0,import_child_process2[_0x4b8c30(0x1f7)])(_0x5c8fd4['path'],_0x35b547,_0x4d92e4);if(isWindowsCmdFile(_0x205e79))return(0x0,import_child_process2[_0x4b8c30(0x1f7)])(process.env.ComSpec||_0x4b8c30(0x1f5),cmdFallbackArgs(_0x205e79,_0x35b547),_0x4d92e4);return(0x0,import_child_process2['spawnSync'])(_0x205e79,_0x35b547,_0x4d92e4);}var os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),PROFILE_ROOT=path['join'](os[a0_0x169355(0x241)](),'.whalent-agent',a0_0x169355(0x231)),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x169355(0x25b)](os['homedir'](),a0_0x169355(0x2a3)),WRAPPER_PKG_NAME=a0_0x169355(0x212),CORE_PKG_NAME='@whalent/agent-core',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(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){return path2['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x10aa42=a0_0x169355;return path2['join'](configDir(),_0x10aa42(0x2a2));}function writeLastCrash(_0x3a1909){const _0x240ca2=a0_0x169355;try{fs['mkdirSync'](configDir(),{'recursive':!![]});const _0x49dcda={..._0x3a1909,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0x240ca2(0x213)](_0x49dcda,null,0x2),_0x240ca2(0x28f));}catch{}}function readWrapperVersion(){const _0x51a87c=a0_0x169355;try{const _0x6a138=JSON['parse'](fs['readFileSync'](path2[_0x51a87c(0x25b)](wrapperBaseDir(),'..',_0x51a87c(0x1f8)),_0x51a87c(0x28f)));return String(_0x6a138['version']||_0x51a87c(0x1ef));}catch{return'0.0.0';}}function readUpgradeState(){try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0xa10b74){const _0x273c18=a0_0x169355;try{fs[_0x273c18(0x2bd)](configDir(),{'recursive':!![]}),fs[_0x273c18(0x22a)](upgradeStatePath(),JSON['stringify']({..._0xa10b74,'updated_at':Date['now']()},null,0x2),'utf-8');}catch{}}function run(_0x42c001,_0x1531d5,_0x534699=process.env){return safeSpawnSync(_0x42c001,_0x1531d5,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x534699,'shell':![]});}function runNpmView(_0x5ebe11){const _0x33ddf0=a0_0x169355,_0x415db3=resolveExecutablePath(_0x33ddf0(0x219));if(!_0x415db3)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error(_0x33ddf0(0x26c))};return safeSpawnSync(_0x415db3,_0x5ebe11,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0xaf19ba=a0_0x169355,_0x516b78=resolveExecutablePath(_0xaf19ba(0x219));if(!_0x516b78)return'';const _0x251102=run(_0x516b78,[_0xaf19ba(0x20c),'-g']);if(_0x251102['status']!==0x0)return'';return String(_0x251102[_0xaf19ba(0x21b)]||'')[_0xaf19ba(0x2b4)]();}function compareSemver(_0x4dfd65,_0x4184b5){const _0x2f7c6d=a0_0x169355,_0xde4b2c=String(_0x4dfd65||'')[_0x2f7c6d(0x281)](/^v/,'')['split'](/[.-]/)['map'](_0x2826a1=>Number['parseInt'](_0x2826a1,0xa)||0x0),_0x5504c8=String(_0x4184b5||'')[_0x2f7c6d(0x281)](/^v/,'')[_0x2f7c6d(0x27f)](/[.-]/)[_0x2f7c6d(0x24a)](_0x5bd914=>Number[_0x2f7c6d(0x1fa)](_0x5bd914,0xa)||0x0);for(let _0x370464=0x0;_0x370464<Math[_0x2f7c6d(0x27c)](_0xde4b2c[_0x2f7c6d(0x283)],_0x5504c8[_0x2f7c6d(0x283)],0x3);_0x370464++){const _0x5cc177=_0xde4b2c[_0x370464]||0x0,_0x1f0c3b=_0x5504c8[_0x370464]||0x0;if(_0x5cc177>_0x1f0c3b)return 0x1;if(_0x5cc177<_0x1f0c3b)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0x2d7367=a0_0x169355,_0x1c43ca=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0x2d7367(0x260)]();return _0x1c43ca==='1'||_0x1c43ca===_0x2d7367(0x2b8)||_0x1c43ca===_0x2d7367(0x275)||_0x1c43ca==='on';}function latestWrapperVersion(_0x53517d){const _0x40db8e=a0_0x169355,_0x153482=runNpmView([_0x40db8e(0x21f),WRAPPER_PKG_NAME+_0x40db8e(0x2ae),_0x40db8e(0x233),npmRegistryArg(_0x53517d)]);if(_0x153482['status']!==0x0)return'';return String(_0x153482['stdout']||'')['trim']()['split'](/\r?\n/)[_0x40db8e(0x261)](Boolean)[_0x40db8e(0x238)]()||'';}function installWrapperVersion(_0x5e3bad,_0x26e1c0){const _0x5f2949=a0_0x169355,_0x1f05eb=resolveExecutablePath(_0x5f2949(0x219));if(!_0x1f05eb)return{'ok':![],'output':_0x5f2949(0x27e)+'H'};const _0x2df704=run(_0x1f05eb,['install','-g',WRAPPER_PKG_NAME+'@'+_0x5e3bad,npmRegistryArg(_0x26e1c0)]),_0x1971fc=((_0x2df704[_0x5f2949(0x21b)]||'')+'\x0a'+(_0x2df704[_0x5f2949(0x21c)]||''))['trim']();return{'ok':_0x2df704[_0x5f2949(0x264)]===0x0,'output':_0x1971fc};}async function maybeUpdateWrapper(_0x1a3234,_0x49d1f3){const _0x30fabe=a0_0x169355;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x46e86a=latestWrapperVersion(_0x49d1f3);if(!_0x46e86a||compareSemver(_0x46e86a,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+'ilable:\x20'+WRAPPER_VERSION+_0x30fabe(0x240)+_0x46e86a),console['warn'](_0x30fabe(0x239)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x46e86a+_0x30fabe(0x2a1)+_0x49d1f3+('\x20before\x20starting\x20cor'+'e...'));const _0x457f86=installWrapperVersion(_0x46e86a,_0x49d1f3);if(!_0x457f86['ok']){console['warn'](_0x30fabe(0x29e)+'date\x20failed;\x20continu'+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x457f86['output'])console[_0x30fabe(0x284)](_0x457f86[_0x30fabe(0x29d)]['split'](/\r?\n/)['slice'](-0xc)[_0x30fabe(0x25b)]('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+_0x30fabe(0x2b3)+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x46e86a,_0x49d1f3)),![];}console['warn']('[wrapper]\x20wrapper\x20up'+_0x30fabe(0x1d9)+_0x46e86a+_0x30fabe(0x230));const _0x2b5b89=process[_0x30fabe(0x289)][0x1],_0x3a493f=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x2b5b89,..._0x1a3234],{'stdio':_0x30fabe(0x254),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x46e86a},'shell':![]});process[_0x30fabe(0x259)](_0x3a493f['status']??0x0);}function findCoreScript(){const _0x4f9d25=a0_0x169355,_0x3752b5=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0xab24f4=['1','true',_0x4f9d25(0x275),'on'][_0x4f9d25(0x1e3)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x4f9d25(0x2b4)]()[_0x4f9d25(0x260)]());if(_0x3752b5&&_0xab24f4&&fs[_0x4f9d25(0x2b7)](_0x3752b5))return _0x3752b5;const _0x5c7dab=[],_0x50e897=_0xb60279=>{const _0x5caf9b=_0x4f9d25;if(fs[_0x5caf9b(0x2b7)](_0xb60279)&&!_0x5c7dab['includes'](_0xb60279))_0x5c7dab['push'](_0xb60279);};if(_0x3752b5)_0x50e897(_0x3752b5);const _0x1c5603=npmRootGlobal();if(_0x1c5603){const _0x18f217=path2['join'](_0x1c5603,'@whalent','agent-core',_0x4f9d25(0x294),'index.cjs');_0x50e897(_0x18f217);}const _0x82b4e1=path2[_0x4f9d25(0x25b)](wrapperBaseDir(),_0x4f9d25(0x2b0));_0x50e897(_0x82b4e1);const _0x2f433f=path2['join'](wrapperBaseDir(),'..','packages',_0x4f9d25(0x280),_0x4f9d25(0x294),'index.cjs');_0x50e897(_0x2f433f);if(_0x5c7dab['length']>0x0)return _0x5c7dab[_0x4f9d25(0x24a)]((_0x15f06f,_0x40105f)=>({'candidate':_0x15f06f,'index':_0x40105f,'version':coreVersion(_0x15f06f)}))['sort']((_0x8c26b3,_0x3f7728)=>{const _0xc09c98=_0x4f9d25,_0x469666=compareSemver(_0x3f7728[_0xc09c98(0x233)],_0x8c26b3['version']);if(_0x469666!==0x0)return _0x469666;return _0x3f7728[_0xc09c98(0x26f)]-_0x8c26b3[_0xc09c98(0x26f)];})[0x0][_0x4f9d25(0x265)];throw new Error('whalent\x20core\x20runtime'+'\x20not\x20found;\x20install\x20'+_0x4f9d25(0x26d)+'or\x20rebuild\x20@whalent/'+_0x4f9d25(0x202));}function coreVersion(_0x4350e4=findCoreScript()){const _0x505947=a0_0x169355,_0x4eb057=(0x0,import_child_process3['spawnSync'])(process[_0x505947(0x1e6)],[_0x4350e4,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x1ccd88=(_0x4eb057['stdout']||'')+'\x0a'+(_0x4eb057['stderr']||'');return _0x1ccd88['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x438b27){const _0x4cd0ea=a0_0x169355;try{return fs[_0x4cd0ea(0x245)](_0x438b27,fs[_0x4cd0ea(0x24d)]['X_OK']),!![];}catch{return![];}}function shellQuote(_0x228006){const _0x5dd6e5=a0_0x169355;return'\x27'+_0x228006['replace'](/'/g,_0x5dd6e5(0x2b5))+'\x27';}function coreNodePtySpawnHelperPath(_0xe2a501){const _0x1a760f=a0_0x169355;if(process['platform']!==_0x1a760f(0x268))return'';try{const _0x1c0e5f=(0x0,import_module['createRequire'])(_0xe2a501),_0x34d975=_0x1c0e5f[_0x1a760f(0x250)]('node-pty'),_0x4da34f=path2['resolve'](path2[_0x1a760f(0x216)](_0x34d975),'..');return path2['join'](_0x4da34f,'prebuilds',_0x1a760f(0x2ab)+process['arch'],'spawn-helper');}catch{return'';}}function a0_0x1f25(_0x136421,_0x4202c1){_0x136421=_0x136421-0x1d9;const _0x2f440f=a0_0x2f44();let _0x1f25cf=_0x2f440f[_0x136421];if(a0_0x1f25['dJINkE']===undefined){var _0x176f6a=function(_0x322c85){const _0xe3fd2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbb795d='',_0x4ead7e='';for(let _0x120553=0x0,_0x48b1e0,_0x429e78,_0xa38836=0x0;_0x429e78=_0x322c85['charAt'](_0xa38836++);~_0x429e78&&(_0x48b1e0=_0x120553%0x4?_0x48b1e0*0x40+_0x429e78:_0x429e78,_0x120553++%0x4)?_0xbb795d+=String['fromCharCode'](0xff&_0x48b1e0>>(-0x2*_0x120553&0x6)):0x0){_0x429e78=_0xe3fd2['indexOf'](_0x429e78);}for(let _0xa59b8d=0x0,_0x4619ed=_0xbb795d['length'];_0xa59b8d<_0x4619ed;_0xa59b8d++){_0x4ead7e+='%'+('00'+_0xbb795d['charCodeAt'](_0xa59b8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ead7e);};a0_0x1f25['IVbLUD']=_0x176f6a,a0_0x1f25['CyBilN']={},a0_0x1f25['dJINkE']=!![];}const _0x545279=_0x2f440f[0x0],_0x46c86f=_0x136421+_0x545279,_0x32fdbc=a0_0x1f25['CyBilN'][_0x46c86f];return!_0x32fdbc?(_0x1f25cf=a0_0x1f25['IVbLUD'](_0x1f25cf),a0_0x1f25['CyBilN'][_0x46c86f]=_0x1f25cf):_0x1f25cf=_0x32fdbc,_0x1f25cf;}function checkMacNodePtySpawnHelper(_0x44a1a7){const _0x163f9e=a0_0x169355,_0x335910=coreNodePtySpawnHelperPath(_0x44a1a7);if(!_0x335910||CHECKED_PTY_HELPERS[_0x163f9e(0x217)](_0x335910))return;CHECKED_PTY_HELPERS['add'](_0x335910);if(!fs['existsSync'](_0x335910)){console[_0x163f9e(0x284)](_0x163f9e(0x285)+_0x163f9e(0x24f)+_0x163f9e(0x22d)+_0x335910);return;}if(isExecutable(_0x335910))return;try{const _0xcc63e0=fs['statSync'](_0x335910)[_0x163f9e(0x271)];fs['chmodSync'](_0x335910,_0xcc63e0|0x1ed);}catch{}if(isExecutable(_0x335910)){console[_0x163f9e(0x284)](_0x163f9e(0x1da)+_0x163f9e(0x21e)+'per\x20executable\x20bit:\x20'+_0x335910);return;}console[_0x163f9e(0x284)]('[wrapper]\x20macOS\x20node'+_0x163f9e(0x288)+_0x163f9e(0x1fe)+_0x335910),console['warn']('[wrapper]\x20Run\x20this\x20o'+_0x163f9e(0x244)+'PTY\x20startup:'),console['warn']('\x20\x20HELPER='+shellQuote(_0x335910)),console[_0x163f9e(0x284)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0x163f9e(0x284)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x5a1288=a0_0x169355;let _0x1e981a='';try{_0x1e981a=coreVersion();}catch{}console[_0x5a1288(0x290)](_0x5a1288(0x246)+WRAPPER_VERSION),console['log'](_0x5a1288(0x291)+WRAPPER_VERSION),console[_0x5a1288(0x290)]('core\x20'+(_0x1e981a||'not\x20installed'));}function detectPersistenceContext(){const _0x499836=a0_0x169355;let _0x5c571c='';if(process.env.STY)_0x5c571c=_0x499836(0x26b);else{if(process.env.TMUX)_0x5c571c=_0x499836(0x25d);else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x5c571c=_0x499836(0x228);else{if(process.env.PM2_HOME)_0x5c571c='pm2';else process['platform']!=='win32'&&typeof process['ppid']==='number'&&process['ppid']===0x1&&(_0x5c571c='systemd');}}}return{'inSession':_0x5c571c,'hasScreen':process[_0x499836(0x298)]===_0x499836(0x22f)?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']==='win32'?![]:!!resolveExecutablePath(_0x499836(0x25d))};}function persistenceCheckSkipped(){const _0x5cce0b=a0_0x169355,_0xc017b9=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')['trim']()[_0x5cce0b(0x260)]();return _0xc017b9==='1'||_0xc017b9===_0x5cce0b(0x2b8)||_0xc017b9===_0x5cce0b(0x275)||_0xc017b9==='on';}function persistenceInstallHint(){const _0x3093c6=a0_0x169355,_0x1c15bb=[];if(process[_0x3093c6(0x298)]===_0x3093c6(0x268))_0x1c15bb[_0x3093c6(0x286)](_0x3093c6(0x1e8)+'\x20brew\x20install\x20screen');else process['platform']===_0x3093c6(0x258)&&(_0x1c15bb['push']('\x20\x20#\x20Debian\x20/\x20Ubuntu:'+'\x20sudo\x20apt-get\x20instal'+'l\x20-y\x20screen'),_0x1c15bb[_0x3093c6(0x286)]('\x20\x20#\x20CentOS\x20/\x20Rocky:\x20'+_0x3093c6(0x262)+_0x3093c6(0x203)+_0x3093c6(0x269)+'reen'),_0x1c15bb['push'](_0x3093c6(0x29a)+_0x3093c6(0x26a)),_0x1c15bb[_0x3093c6(0x286)]('\x20\x20#\x20Arch:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3093c6(0x1ec)+'en'));return _0x1c15bb['push'](_0x3093c6(0x25a)+'nside\x20screen,\x20e.g.:\x20'+'\x20screen\x20-S\x20whalent\x20\x20'+_0x3093c6(0x2b6)+'e)'),_0x1c15bb;}async function confirmContinueWithoutPersistence(){const _0x4ab4a7=a0_0x169355;if(!process['stdin']['isTTY']||!process['stdout'][_0x4ab4a7(0x26e)])return![];return new Promise(_0x51f0df=>{const _0x15e6ed=_0x4ab4a7,_0x18bc0e=readline[_0x15e6ed(0x1e7)]({'input':process['stdin'],'output':process['stderr']});_0x18bc0e[_0x15e6ed(0x226)]('[wrapper]\x20没有终端保活,断开\x20'+'SSH\x20/\x20关闭终端会终止\x20daemon'+_0x15e6ed(0x282),_0x115d46=>{const _0x584472=_0x15e6ed;_0x18bc0e['close']();const _0x3ddbb4=String(_0x115d46||'')[_0x584472(0x2b4)]()[_0x584472(0x260)]();_0x51f0df(_0x3ddbb4==='y'||_0x3ddbb4==='yes');});});}async function ensurePersistencePrompt(_0x45e06b){const _0x4e7113=a0_0x169355;if(!shouldSupervise(_0x45e06b))return;if(persistenceCheckSkipped())return;const _0x336e6a=detectPersistenceContext();if(_0x336e6a['inSession']==='screen'||_0x336e6a[_0x4e7113(0x27b)]==='tmux'){console['log'](_0x4e7113(0x222)+_0x4e7113(0x221)+_0x336e6a[_0x4e7113(0x27b)]+_0x4e7113(0x2a4));return;}if(_0x336e6a['inSession']===_0x4e7113(0x228)||_0x336e6a['inSession']==='pm2'){console[_0x4e7113(0x290)](_0x4e7113(0x252)+'到\x20'+_0x336e6a[_0x4e7113(0x27b)]+_0x4e7113(0x2a7));return;}if(_0x336e6a[_0x4e7113(0x2af)]||_0x336e6a['hasTmux']){const _0x5ff6fd=[_0x336e6a[_0x4e7113(0x2af)]?'screen':'',_0x336e6a[_0x4e7113(0x263)]?_0x4e7113(0x25d):'']['filter'](Boolean)[_0x4e7113(0x25b)](_0x4e7113(0x23f));console[_0x4e7113(0x284)](_0x4e7113(0x229)+_0x5ff6fd+_0x4e7113(0x1f3)),console['warn']('[wrapper]\x20断开\x20SSH\x20/\x20关'+_0x4e7113(0x256)+_0x4e7113(0x29f));if(_0x336e6a[_0x4e7113(0x2af)])console['warn'](_0x4e7113(0x2a8)+'-S\x20whalent\x20\x20\x20#\x20再在\x20sc'+_0x4e7113(0x20f));if(_0x336e6a[_0x4e7113(0x263)])console[_0x4e7113(0x284)](_0x4e7113(0x204)+_0x4e7113(0x28c));return;}console[_0x4e7113(0x284)](_0x4e7113(0x24c)+'n\x20/\x20tmux。'),console['warn']('[wrapper]\x20一旦断开\x20SSH\x20或'+_0x4e7113(0x277)+'P\x20终止,所有正在跑的任务都会中断。'),console['warn'](_0x4e7113(0x200)+_0x4e7113(0x201));for(const _0x16062b of persistenceInstallHint())console[_0x4e7113(0x284)](_0x16062b);if(!process[_0x4e7113(0x1ed)][_0x4e7113(0x26e)]){console['warn']('[wrapper]\x20当前不是交互式\x20sh'+'ell(CI\x20/\x20后台脚本),跳过二次确'+'认,继续启动。'),console[_0x4e7113(0x284)]('[wrapper]\x20若想抑制此告警,可设'+'置\x20WHALENT_SKIP_PERSI'+_0x4e7113(0x21d));return;}const _0x4a05e9=await confirmContinueWithoutPersistence();!_0x4a05e9&&(console['warn']('[wrapper]\x20已取消。请先安装\x20s'+'creen\x20/\x20tmux\x20后再运行\x20wh'+_0x4e7113(0x22e)),console['warn']('[wrapper]\x20或设置\x20WHALEN'+_0x4e7113(0x274)+'HECK=1\x20强制跳过此检查。'),process['exit'](0x0)),console['warn'](_0x4e7113(0x207)+'下继续。');}function directCore(_0x247061){const _0xded747=a0_0x169355,_0x43e881=findCoreScript();checkMacNodePtySpawnHelper(_0x43e881);const _0x297a7d=(0x0,import_child_process3[_0xded747(0x1f7)])(process[_0xded747(0x1e6)],[_0x43e881,..._0x247061],{'stdio':_0xded747(0x254),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x43e881},'shell':![]});process['exit'](_0x297a7d['status']??0x0);}function shouldSupervise(_0x3db4b9){const _0x587e3e=a0_0x169355;if(_0x3db4b9['includes']('--agent-id'))return![];if(_0x3db4b9['includes'](_0x587e3e(0x23e))||_0x3db4b9[0x0]===_0x587e3e(0x1ff))return![];const _0x1583d0=_0x3db4b9[0x0]||'';if(_0x1583d0==='ls'||_0x1583d0==='status'||_0x1583d0==='ps')return![];if(_0x1583d0==='mcp'||_0x1583d0==='daemon-mcp')return![];if(_0x3db4b9[_0x587e3e(0x1e3)](_0x587e3e(0x214))||_0x3db4b9[_0x587e3e(0x1e3)]('-h'))return![];return!![];}function installCoreVersion(_0x46cecf){const _0x432ce2=a0_0x169355,_0x42cc03=resolveExecutablePath(_0x432ce2(0x219));if(!_0x42cc03)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x9a3f23=CORE_PKG_NAME+'@'+_0x46cecf,_0x5a92f0=run(_0x42cc03,['install','-g',_0x9a3f23,npmRegistryArg()]),_0x48a07d=((_0x5a92f0[_0x432ce2(0x21b)]||'')+'\x0a'+(_0x5a92f0[_0x432ce2(0x21c)]||''))['trim']();return{'ok':_0x5a92f0[_0x432ce2(0x264)]===0x0,'output':_0x48a07d};}async function superviseCore(_0x4492bd){const _0xc4fe71=a0_0x169355;let _0x3337f0=![],_0x34639c=null;const _0x292b2c=[];let _0x1b4969=MIN_RESTART_DELAY_MS;const _0x19e2ad=()=>{const _0x51b546=a0_0x1f25;_0x3337f0=!![];if(_0x34639c&&!_0x34639c['killed'])try{_0x34639c['kill']('SIGTERM');}catch{}else process[_0x51b546(0x259)](0x0);};process['on']('SIGINT',_0x19e2ad),process['on'](_0xc4fe71(0x211),_0x19e2ad);while(!![]){const _0x3b2a8b=findCoreScript();checkMacNodePtySpawnHelper(_0x3b2a8b);const _0x1c8b2a={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x3b2a8b},_0x59ba27=readUpgradeState(),_0x5071e0=!!_0x59ba27?.[_0xc4fe71(0x296)];let _0x5820b6=![],_0x2e76d9=null,_0x391715='';const _0x5bffb6=[],_0x4a8a50=0xc;console['log'](_0xc4fe71(0x278)+'ore:\x20'+_0x3b2a8b),_0x34639c=(0x0,import_child_process3[_0xc4fe71(0x2a5)])(process[_0xc4fe71(0x1e6)],[_0x3b2a8b,..._0x4492bd],{'env':_0x1c8b2a,'stdio':[_0xc4fe71(0x254),_0xc4fe71(0x27a),_0xc4fe71(0x27a)]});const _0x2e4219=()=>{const _0x4b2fb6=_0xc4fe71;if(_0x5820b6)return;_0x5820b6=!![];if(_0x2e76d9)clearTimeout(_0x2e76d9);_0x292b2c['length']=0x0,_0x1b4969=MIN_RESTART_DELAY_MS;const _0x3796e0=readUpgradeState();_0x3796e0?.['pending']&&(writeUpgradeState({..._0x3796e0,'pending':![],'rollback':![],'health_status':_0x4b2fb6(0x1e9)}),console[_0x4b2fb6(0x290)]('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x3796e0[_0x4b2fb6(0x218)]||_0x3796e0['target_version']||'')));},_0x4f6b75=(_0x21e6b4,_0xa54100=![])=>{const _0xaf5873=_0xc4fe71,_0x56c235=_0x21e6b4['toString']();(_0xa54100?process[_0xaf5873(0x21c)]:process[_0xaf5873(0x21b)])['write'](_0x56c235);if(_0xa54100)for(const _0x126b58 of _0x56c235[_0xaf5873(0x27f)](/\r?\n/)){if(!_0x126b58[_0xaf5873(0x2b4)]())continue;_0x5bffb6['push'](_0x126b58);if(_0x5bffb6['length']>_0x4a8a50)_0x5bffb6['shift']();const _0x46c621=_0x126b58[_0xaf5873(0x1dd)](FATAL_PATTERN);if(_0x46c621)_0x391715=_0x46c621[0x0];}(_0x56c235[_0xaf5873(0x1e3)]('[gateway]\x20Connected')||_0x56c235['includes'](_0xaf5873(0x22c)+'achine')||_0x56c235[_0xaf5873(0x1e3)]('Gateway:\x20connected'))&&_0x2e4219();};_0x34639c['stdout']?.['on'](_0xc4fe71(0x1e4),_0x279619=>_0x4f6b75(_0x279619,![])),_0x34639c['stderr']?.['on'](_0xc4fe71(0x1e4),_0x264987=>_0x4f6b75(_0x264987,!![]));_0x5071e0&&(_0x2e76d9=setTimeout(()=>{const _0x1bb0ba=_0xc4fe71;if(_0x5820b6||!_0x34639c||_0x34639c['killed'])return;console['error'](_0x1bb0ba(0x1eb)+'id\x20not\x20become\x20health'+_0x1bb0ba(0x235)+_0x1bb0ba(0x23d));try{_0x34639c['kill']('SIGTERM');}catch{}},HEALTH_TIMEOUT_MS));const _0x328a9f=await new Promise(_0x43809c=>{_0x34639c['once']('exit',(_0x58ee66,_0x477292)=>_0x43809c({'code':_0x58ee66,'signal':_0x477292}));});if(_0x2e76d9)clearTimeout(_0x2e76d9);_0x34639c=null;if(_0x3337f0)process['exit'](_0x328a9f['code']??0x0);const _0xc8193=readUpgradeState();if(_0xc8193?.['pending']&&!_0x5820b6){const _0x166de6=String(_0xc8193[_0xc4fe71(0x297)+'n']||'')['trim']();if(_0x166de6){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x166de6);const _0x3854ae=installCoreVersion(_0x166de6);writeUpgradeState({..._0xc8193,'pending':![],'rollback':!![],'health_status':_0x3854ae['ok']?_0xc4fe71(0x28e):_0xc4fe71(0x20a),'error':_0x3854ae['ok']?'':_0x3854ae[_0xc4fe71(0x29d)]});}else writeUpgradeState({..._0xc8193,'pending':![],'rollback':!![],'health_status':_0xc4fe71(0x227),'error':'previous\x20core\x20versio'+'n\x20unknown'});}const _0x21cace=_0x328a9f[_0xc4fe71(0x279)]===SUPERVISED_RESTART_CODE||_0xc8193?.[_0xc4fe71(0x296)];if(!_0x21cace&&_0x328a9f['code']===0x0)process[_0xc4fe71(0x259)](0x0);const _0x4cf2e4=Date['now']();_0x292b2c[_0xc4fe71(0x286)](_0x4cf2e4);while(_0x292b2c['length']>0x0&&_0x4cf2e4-_0x292b2c[0x0]>CRASH_WINDOW_MS){_0x292b2c[_0xc4fe71(0x1f4)]();}const _0x57de75=_0x292b2c['length'];writeLastCrash({'timestamp':_0x4cf2e4,'exit_code':_0x328a9f[_0xc4fe71(0x279)],'exit_signal':_0x328a9f['signal']||null,'fatal_line':_0x391715,'raw_tail':_0x5bffb6['join']('\x0a'),'consecutive_crashes':_0x57de75}),console[_0xc4fe71(0x290)]('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x328a9f[_0xc4fe71(0x279)]??'')+(_0x328a9f['signal']?_0xc4fe71(0x29c)+_0x328a9f['signal']:'')+'\x20('+_0x57de75+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math[_0xc4fe71(0x292)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x391715)console[_0xc4fe71(0x290)](_0xc4fe71(0x1dc)+':\x20'+_0x391715);_0x57de75>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x57de75+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+('s;\x20giving\x20up.\x20Crash\x20'+_0xc4fe71(0x1ee))+lastCrashFilePath()+(_0xc4fe71(0x2bc)+_0xc4fe71(0x27d)+_0xc4fe71(0x20e)+'ed.')),process[_0xc4fe71(0x259)](0x1)),console[_0xc4fe71(0x290)](_0xc4fe71(0x1f9)+_0xc4fe71(0x266)+_0x1b4969+'ms'),await new Promise(_0x67726f=>setTimeout(_0x67726f,_0x1b4969)),_0x1b4969=Math['min'](_0x1b4969*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x440639=a0_0x169355,_0x139828=process[_0x440639(0x289)][_0x440639(0x220)](0x2);if(_0x139828[0x0]===_0x440639(0x299)||_0x139828[0x0]==='-v'||_0x139828[0x0]==='version'){printVersion();return;}if((_0x139828[0x0]==='status'||_0x139828[0x0]==='ls'||_0x139828[0x0]==='ps')&&!_0x139828['includes']('--json')){console['log'](_0x440639(0x291)+WRAPPER_VERSION);try{console['log']('core\x20'+(coreVersion()||_0x440639(0x1fd)));}catch{console['log'](_0x440639(0x25e));}}const _0x3f49b0=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x139828,_0x3f49b0),await ensurePersistencePrompt(_0x139828);if(!shouldSupervise(_0x139828))directCore(_0x139828);await superviseCore(_0x139828);}main()[a0_0x169355(0x23c)](_0x52601f=>{const _0x655529=a0_0x169355;console[_0x655529(0x225)]('[wrapper]\x20Fatal\x20erro'+_0x655529(0x253)+(_0x52601f?.[_0x655529(0x1df)]||String(_0x52601f))),process['exit'](0x1);});
|
|
2
|
+
'use strict';const a0_0x3ad1de=a0_0x3d50;(function(_0x190291,_0x5230d1){const _0x15befc=a0_0x3d50,_0xd2185c=_0x190291();while(!![]){try{const _0x112b16=-parseInt(_0x15befc(0x17a))/0x1*(parseInt(_0x15befc(0xb3))/0x2)+-parseInt(_0x15befc(0x17f))/0x3*(parseInt(_0x15befc(0x12e))/0x4)+-parseInt(_0x15befc(0x159))/0x5+parseInt(_0x15befc(0x162))/0x6+parseInt(_0x15befc(0x10b))/0x7+parseInt(_0x15befc(0xdc))/0x8+parseInt(_0x15befc(0xd8))/0x9*(-parseInt(_0x15befc(0xd1))/0xa);if(_0x112b16===_0x5230d1)break;else _0xd2185c['push'](_0xd2185c['shift']());}catch(_0x326bf3){_0xd2185c['push'](_0xd2185c['shift']());}}}(a0_0x5f05,0x68cd6));var __create=Object[a0_0x3ad1de(0x182)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x3ad1de(0x132)],__hasOwnProp=Object['prototype'][a0_0x3ad1de(0x115)],__copyProps=(_0x4a68c4,_0x4497de,_0x4faac2,_0x26a8e1)=>{const _0x507275=a0_0x3ad1de;if(_0x4497de&&typeof _0x4497de===_0x507275(0xff)||typeof _0x4497de===_0x507275(0x12f)){for(let _0x10d277 of __getOwnPropNames(_0x4497de))if(!__hasOwnProp[_0x507275(0x114)](_0x4a68c4,_0x10d277)&&_0x10d277!==_0x4faac2)__defProp(_0x4a68c4,_0x10d277,{'get':()=>_0x4497de[_0x10d277],'enumerable':!(_0x26a8e1=__getOwnPropDesc(_0x4497de,_0x10d277))||_0x26a8e1[_0x507275(0x146)]});}return _0x4a68c4;},__toESM=(_0x33e030,_0x201f5d,_0x50b946)=>(_0x50b946=_0x33e030!=null?__create(__getProtoOf(_0x33e030)):{},__copyProps(_0x201f5d||!_0x33e030||!_0x33e030['__esModule']?__defProp(_0x50b946,a0_0x3ad1de(0xea),{'value':_0x33e030,'enumerable':!![]}):_0x50b946,_0x33e030)),import_child_process3=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x3ad1de(0x143)),path2=__toESM(require('path'),0x1),readline=__toESM(require(a0_0x3ad1de(0x12c)),0x1),import_child_process2=require('child_process'),import_fs=require('fs'),import_path=require(a0_0x3ad1de(0xde)),import_child_process=require('child_process'),DEFAULT_NPM_REGISTRY=a0_0x3ad1de(0x126)+'js.org',CHINA_NPM_REGISTRY=a0_0x3ad1de(0x126)+'mirror.com',REGISTRY_PROBE_TIMEOUT_MS=0xbb8,REGISTRY_CACHE_TTL_MS=0xa*0x3c*0x3e8,selectedRegistryCache=null;function preferredNpmRegistry(){const _0x1c0057=explicitNpmRegistry();if(_0x1c0057)return _0x1c0057;if(selectedRegistryCache&&Date['now']()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];return isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY;}function npmRegistryCandidates(_0x10b6c6=preferredNpmRegistry()){const _0x29478e=explicitNpmRegistry();if(_0x29478e)return[_0x29478e];const _0x560781=normalizeRegistry(_0x10b6c6)||DEFAULT_NPM_REGISTRY,_0x552127=_0x560781===CHINA_NPM_REGISTRY?DEFAULT_NPM_REGISTRY:CHINA_NPM_REGISTRY;return Array['from'](new Set([_0x560781,_0x552127]));}async function selectFastNpmRegistry(_0x1d9f5d=REGISTRY_PROBE_TIMEOUT_MS){const _0xf14b99=a0_0x3ad1de,_0x23297f=explicitNpmRegistry();if(_0x23297f)return rememberNpmRegistry(_0x23297f),_0x23297f;if(selectedRegistryCache&&Date[_0xf14b99(0x13b)]()-selectedRegistryCache['ts']<REGISTRY_CACHE_TTL_MS)return selectedRegistryCache['registry'];const _0x1a356f=npmRegistryCandidates(isChineseLocale()?CHINA_NPM_REGISTRY:DEFAULT_NPM_REGISTRY),_0x10cbee=_0x1a356f['map'](()=>new AbortController());let _0x42d7b6=-0x1;const _0x1bf2f8=_0x1a356f['map']((_0x115a29,_0x36f1a8)=>probeRegistry200(_0x115a29,_0x1d9f5d,_0x10cbee[_0x36f1a8]['signal'])[_0xf14b99(0x127)](()=>({'registry':_0x115a29,'index':_0x36f1a8})));try{const _0x34e0e3=await Promise[_0xf14b99(0xb1)](_0x1bf2f8);_0x42d7b6=_0x34e0e3['index'];const _0x2c4da3=_0x34e0e3['registry'];return rememberNpmRegistry(_0x2c4da3),_0x2c4da3;}catch{const _0x25bac7=_0x1a356f[0x0]||DEFAULT_NPM_REGISTRY;return rememberNpmRegistry(_0x25bac7),_0x25bac7;}finally{_0x10cbee[_0xf14b99(0x110)]((_0x9991f7,_0x291d4f)=>{const _0x26255b=_0xf14b99;if(_0x291d4f!==_0x42d7b6)_0x9991f7[_0x26255b(0xc9)]();});}}function rememberNpmRegistry(_0x2896ad){const _0x383b1c=a0_0x3ad1de,_0x2526d4=normalizeRegistry(_0x2896ad);if(_0x2526d4)selectedRegistryCache={'registry':_0x2526d4,'ts':Date[_0x383b1c(0x13b)]()};}function npmRegistryArg(_0x2f7714=preferredNpmRegistry()){const _0x564f93=a0_0x3ad1de;return _0x564f93(0xb4)+(normalizeRegistry(_0x2f7714)||DEFAULT_NPM_REGISTRY);}function npmInstallCommand(_0x303a4d,_0x3c0962=preferredNpmRegistry()){return'npm\x20install\x20-g\x20'+_0x303a4d+'\x20'+npmRegistryArg(_0x3c0962);}function isChineseLocale(){const _0x47b857=a0_0x3ad1de,_0x5a00b1=[process.env.LC_ALL,process.env.LC_MESSAGES,process.env.LANG,process.env.LANGUAGE][_0x47b857(0xfc)](Boolean)[_0x47b857(0x16b)]('\x20');if(/(^|[_.-])zh([_.-]|$)|chinese|china|cn\b/i['test'](_0x5a00b1))return!![];try{const _0x4a83da=Intl['DateTimeFormat']()['resolvedOptions']()[_0x47b857(0x161)]||'';return/(^|-)zh($|-)|-CN\b/i['test'](_0x4a83da);}catch{return![];}}function explicitNpmRegistry(){return normalizeRegistry(process.env.WHALENT_NPM_REGISTRY||process.env.NPM_CONFIG_REGISTRY||'');}function normalizeRegistry(_0x5b8bc0){return String(_0x5b8bc0||'')['trim']()['replace'](/\/+$/,'');}function probeRegistry200(_0x5cc38e,_0x4b7277,_0x538325){return new Promise((_0x47121f,_0x265af0)=>{const _0x2e8714=a0_0x3d50;let _0x42d0e9=![];const _0x307837=_0x1eeb44=>{const _0x556d7b=a0_0x3d50;if(_0x42d0e9)return;_0x42d0e9=!![],clearTimeout(_0x24801b),_0x538325?.['removeEventListener'](_0x556d7b(0xc9),_0x47f9d1);if(!_0x52eed5['killed'])try{_0x52eed5[_0x556d7b(0xca)](_0x556d7b(0xf4));}catch{}if(_0x1eeb44)_0x265af0(_0x1eeb44);else _0x47121f();},_0x47f9d1=()=>{_0x307837(new Error('registry\x20probe\x20abort'+'ed'));},_0x24801b=setTimeout(()=>{const _0x1e20c7=a0_0x3d50;_0x307837(new Error(_0x1e20c7(0x173)+'\x20out'));},_0x4b7277);_0x24801b['unref']?.();const _0x52eed5=(0x0,import_child_process['spawn'])(process['execPath'],['-e',REGISTRY_PROBE_SCRIPT,normalizeRegistry(_0x5cc38e)||DEFAULT_NPM_REGISTRY,String(_0x4b7277)],{'stdio':_0x2e8714(0x148),'shell':![],'windowsHide':!![]});_0x52eed5['on']('error',_0x307837),_0x52eed5['on'](_0x2e8714(0x13e),_0x19eb57=>{const _0x58fa15=_0x2e8714;if(_0x19eb57===0x0)_0x307837();else _0x307837(new Error(_0x58fa15(0xf7)+'d:\x20exit='+(_0x19eb57??_0x58fa15(0x154))));}),_0x538325?.['addEventListener'](_0x2e8714(0xc9),_0x47f9d1,{'once':!![]});if(_0x538325?.[_0x2e8714(0xc1)]){_0x47f9d1();return;}});}var REGISTRY_PROBE_SCRIPT=a0_0x3ad1de(0xf1)+a0_0x3ad1de(0xbc)+'ps\x20=\x20require(\x27https\x27'+a0_0x3ad1de(0xc0)+a0_0x3ad1de(0xc2)+'1]\x20||\x20\x27\x27).replace(/\x5c'+'/+$/,\x20\x27\x27);\x0aconst\x20tim'+'eoutMs\x20=\x20Number(proc'+a0_0x3ad1de(0x156)+'\x20||\x203000;\x0aconst\x20url\x20'+'=\x20new\x20URL(\x27/-/ping\x27,'+'\x20registry\x20+\x20\x27/\x27);\x0aco'+'nst\x20mod\x20=\x20url.protoc'+a0_0x3ad1de(0x149)+a0_0x3ad1de(0x113)+'\x20=\x20false;\x0aconst\x20fini'+'sh\x20=\x20(code)\x20=>\x20{\x0a\x20\x20i'+'f\x20(done)\x20return;\x0a\x20\x20d'+a0_0x3ad1de(0xf9)+'imeout(timer);\x0a\x20\x20try'+'\x20{\x20req.destroy();\x20}\x20'+'catch\x20{}\x0a\x20\x20process.e'+'xit(code);\x0a};\x0aconst\x20'+'timer\x20=\x20setTimeout(('+a0_0x3ad1de(0x11c)+a0_0x3ad1de(0x11e)+'mod.request(url,\x20{\x0a\x20'+'\x20method:\x20\x27GET\x27,\x0a\x20\x20ti'+'meout:\x20timeoutMs,\x0a\x20\x20'+a0_0x3ad1de(0x119)+'ers:\x20{\x20\x27User-Agent\x27:'+a0_0x3ad1de(0x185)+a0_0x3ad1de(0xb8)+a0_0x3ad1de(0x11f)+'ext/plain,*/*\x27\x20},\x0a},'+'\x20(res)\x20=>\x20{\x0a\x20\x20res.re'+a0_0x3ad1de(0x177)+'d\x27,\x20()\x20=>\x20finish(res'+a0_0x3ad1de(0xdf)+a0_0x3ad1de(0xf2)+'\x27error\x27,\x20()\x20=>\x20finis'+a0_0x3ad1de(0x11d)+a0_0x3ad1de(0x125)+a0_0x3ad1de(0x15d)+'\x27,\x20()\x20=>\x20finish(4));'+'\x0areq.end();\x0a',INSTALL_HINT={'codex':'npm\x20install\x20-g\x20@open'+a0_0x3ad1de(0xd7),'claude':a0_0x3ad1de(0x175)+'ropic-ai/claude-code','opencode':'npm\x20install\x20-g\x20openc'+'ode-ai','whalent':npmInstallCommand(a0_0x3ad1de(0xd6))+a0_0x3ad1de(0x160)};function isWindowsCmdFile(_0x26d320){const _0x27dccb=a0_0x3ad1de;return process[_0x27dccb(0x130)]==='win32'&&/\.(cmd|bat)$/i['test'](_0x26d320||'');}function quoteCmdArg(_0x37aeff){const _0x2ae137=a0_0x3ad1de,_0xbcfebe=String(_0x37aeff??'');if(_0xbcfebe&&!/[\s"&|<>^%]/[_0x2ae137(0x124)](_0xbcfebe))return _0xbcfebe;return'\x22'+_0xbcfebe['replace'](/(["^&|<>%])/g,_0x2ae137(0x141))+'\x22';}function cmdFallbackArgs(_0x53e67b,_0x5420b7){const _0x34ac42=a0_0x3ad1de;return['/d','/s','/c',[quoteCmdArg(_0x53e67b),..._0x5420b7['map'](quoteCmdArg)][_0x34ac42(0x16b)]('\x20')];}function resolveExecutablePath(_0x5e8fdd){const _0x27a06a=a0_0x3ad1de;if(!_0x5e8fdd)return null;if(_0x5e8fdd['includes']('/')||_0x5e8fdd['includes']('\x5c')||/\.[A-Za-z0-9]{1,5}$/['test'](_0x5e8fdd))return(0x0,import_fs[_0x27a06a(0xf6)])(_0x5e8fdd)?_0x5e8fdd:_0x5e8fdd;const _0x5ba443=process['platform']===_0x27a06a(0x179),_0x592fa1=_0x5ba443?_0x27a06a(0x147):_0x27a06a(0xe9);try{const _0x5df0af=(0x0,import_child_process2['spawnSync'])(_0x592fa1,[_0x5e8fdd],{'encoding':_0x27a06a(0x15a),'timeout':0xbb8,'shell':![]});if(_0x5df0af['status']===0x0){const _0x435c60=(_0x5df0af['stdout']||'')['trim']()['split'](/\r?\n/)['filter'](Boolean);if(_0x435c60[_0x27a06a(0xe0)]===0x0)return null;if(_0x5ba443)for(const _0x4aa2b8 of['.exe','.cmd',_0x27a06a(0xf8),_0x27a06a(0x12a)]){const _0x475f30=_0x435c60['find'](_0xf66f25=>_0xf66f25['toLowerCase']()[_0x27a06a(0x14d)](_0x4aa2b8));if(_0x475f30)return _0x475f30;}return _0x435c60[0x0]||null;}}catch{}return null;}function unwrapWindowsCmdShim(_0x4ebb11){const _0x2e3c1f=a0_0x3ad1de;if(process['platform']!==_0x2e3c1f(0x179))return null;if(!/\.(cmd|bat)$/i[_0x2e3c1f(0x124)](_0x4ebb11))return null;let _0x5abd98;try{_0x5abd98=(0x0,import_fs[_0x2e3c1f(0x102)])(_0x4ebb11,'utf-8');}catch{return null;}const _0x4794fd=_0x5abd98[_0x2e3c1f(0xdb)](/"(%~?dp0%?)[\\/]+([^"]+\.(?:js|cjs|mjs))"/i);if(_0x4794fd){const _0x5aa99d=(0x0,import_path[_0x2e3c1f(0x165)])((0x0,import_path[_0x2e3c1f(0x17d)])(_0x4ebb11),_0x4794fd[0x2]);if((0x0,import_fs[_0x2e3c1f(0xf6)])(_0x5aa99d))return{'type':'node','path':_0x5aa99d};}const _0x41e5cf=_0x5abd98[_0x2e3c1f(0xdb)](/"(%~?dp0%?)[\\/]+([^"]+\.exe)"/i);if(_0x41e5cf){const _0x352329=(0x0,import_path[_0x2e3c1f(0x165)])((0x0,import_path['dirname'])(_0x4ebb11),_0x41e5cf[0x2]);if((0x0,import_fs[_0x2e3c1f(0xf6)])(_0x352329))return{'type':'exe','path':_0x352329};}return null;}function safeSpawnSync(_0x41f718,_0x980e96,_0x55ad6f={}){const _0x2958ab=a0_0x3ad1de,_0x39a0e8=unwrapWindowsCmdShim(_0x41f718);if(_0x39a0e8?.[_0x2958ab(0x16c)]==='node')return(0x0,import_child_process2['spawnSync'])(process[_0x2958ab(0xc5)],[_0x39a0e8[_0x2958ab(0xde)],..._0x980e96],_0x55ad6f);if(_0x39a0e8?.[_0x2958ab(0x16c)]===_0x2958ab(0x13d))return(0x0,import_child_process2['spawnSync'])(_0x39a0e8['path'],_0x980e96,_0x55ad6f);if(isWindowsCmdFile(_0x41f718))return(0x0,import_child_process2[_0x2958ab(0x15b)])(process.env.ComSpec||_0x2958ab(0xfa),cmdFallbackArgs(_0x41f718,_0x980e96),_0x55ad6f);return(0x0,import_child_process2['spawnSync'])(_0x41f718,_0x980e96,_0x55ad6f);}var os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x3ad1de(0xde)),0x1),PROFILE_ROOT=path['join'](os['homedir'](),a0_0x3ad1de(0x164),'profiles'),WHALENT_AGENT_DEFAULT_HOME=path[a0_0x3ad1de(0x16b)](os['homedir'](),a0_0x3ad1de(0x164)),WRAPPER_PKG_NAME=a0_0x3ad1de(0xd6),CORE_PKG_NAME=a0_0x3ad1de(0xe7),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(){return WHALENT_AGENT_DEFAULT_HOME;}function upgradeStatePath(){const _0x53a036=a0_0x3ad1de;return path2['join'](configDir(),_0x53a036(0x180));}function lastCrashFilePath(){const _0x165225=a0_0x3ad1de;return path2[_0x165225(0x16b)](configDir(),'last-crash.json');}function writeLastCrash(_0x13bf87){const _0x5568aa=a0_0x3ad1de;try{fs[_0x5568aa(0x172)](configDir(),{'recursive':!![]});const _0x24daf8={..._0x13bf87,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON['stringify'](_0x24daf8,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x344e46=a0_0x3ad1de;try{const _0x3217c1=JSON[_0x344e46(0xc4)](fs['readFileSync'](path2[_0x344e46(0x16b)](wrapperBaseDir(),'..','package.json'),_0x344e46(0x15a)));return String(_0x3217c1['version']||'0.0.0');}catch{return _0x344e46(0x135);}}function readUpgradeState(){const _0x456c9b=a0_0x3ad1de;try{return JSON[_0x456c9b(0xc4)](fs[_0x456c9b(0x102)](upgradeStatePath(),_0x456c9b(0x15a)));}catch{return null;}}function writeUpgradeState(_0x2312f8){const _0x4cbd80=a0_0x3ad1de;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs['writeFileSync'](upgradeStatePath(),JSON[_0x4cbd80(0xef)]({..._0x2312f8,'updated_at':Date[_0x4cbd80(0x13b)]()},null,0x2),'utf-8');}catch{}}function run(_0x5d879d,_0x1aab80,_0x39345f=process.env){return safeSpawnSync(_0x5d879d,_0x1aab80,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x39345f,'shell':![]});}function runNpmView(_0x57d861){const _0x22bf77=a0_0x3ad1de,_0x44be5e=resolveExecutablePath(_0x22bf77(0x14b));if(!_0x44be5e)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return safeSpawnSync(_0x44be5e,_0x57d861,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x5cfe80=a0_0x3ad1de,_0x1b6852=resolveExecutablePath('npm');if(!_0x1b6852)return'';const _0x3013af=run(_0x1b6852,['root','-g']);if(_0x3013af[_0x5cfe80(0xd9)]!==0x0)return'';return String(_0x3013af[_0x5cfe80(0x188)]||'')['trim']();}function compareSemver(_0x462dd9,_0x4e2fb5){const _0x58a604=a0_0x3ad1de,_0x3402fe=String(_0x462dd9||'')[_0x58a604(0x111)](/^v/,'')[_0x58a604(0x12d)](/[.-]/)['map'](_0x19c29e=>Number[_0x58a604(0x142)](_0x19c29e,0xa)||0x0),_0x47fa66=String(_0x4e2fb5||'')[_0x58a604(0x111)](/^v/,'')[_0x58a604(0x12d)](/[.-]/)[_0x58a604(0x103)](_0x3c9554=>Number['parseInt'](_0x3c9554,0xa)||0x0);for(let _0x38977f=0x0;_0x38977f<Math['max'](_0x3402fe['length'],_0x47fa66['length'],0x3);_0x38977f++){const _0x4e8808=_0x3402fe[_0x38977f]||0x0,_0x2c45ab=_0x47fa66[_0x38977f]||0x0;if(_0x4e8808>_0x2c45ab)return 0x1;if(_0x4e8808<_0x2c45ab)return-0x1;}return 0x0;}function skipWrapperUpdateCheck(){const _0xe46352=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()['toLowerCase']();return _0xe46352==='1'||_0xe46352==='true'||_0xe46352==='yes'||_0xe46352==='on';}function latestWrapperVersion(_0x3462f1){const _0x24f676=a0_0x3ad1de,_0x519d72=runNpmView(['view',WRAPPER_PKG_NAME+_0x24f676(0x144),_0x24f676(0xec),npmRegistryArg(_0x3462f1)]);if(_0x519d72[_0x24f676(0xd9)]!==0x0)return'';return String(_0x519d72[_0x24f676(0x188)]||'')[_0x24f676(0xc6)]()['split'](/\r?\n/)[_0x24f676(0xfc)](Boolean)['pop']()||'';}function installWrapperVersion(_0x18b3d5,_0x985077){const _0x37d3d9=a0_0x3ad1de,_0x53858b=resolveExecutablePath('npm');if(!_0x53858b)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x2d88cc=run(_0x53858b,[_0x37d3d9(0x128),'-g',WRAPPER_PKG_NAME+'@'+_0x18b3d5,npmRegistryArg(_0x985077)]),_0x1305d9=((_0x2d88cc['stdout']||'')+'\x0a'+(_0x2d88cc['stderr']||''))[_0x37d3d9(0xc6)]();return{'ok':_0x2d88cc[_0x37d3d9(0xd9)]===0x0,'output':_0x1305d9};}async function maybeUpdateWrapper(_0x5cf7d6,_0x559eff){const _0x4b761d=a0_0x3ad1de;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x509e9d=latestWrapperVersion(_0x559eff);if(!_0x509e9d||compareSemver(_0x509e9d,WRAPPER_VERSION)<=0x0)return![];console['warn'](_0x4b761d(0x109)+_0x4b761d(0x134)+WRAPPER_VERSION+_0x4b761d(0x133)+_0x509e9d),console[_0x4b761d(0x122)]('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x509e9d+_0x4b761d(0x167)+_0x559eff+('\x20before\x20starting\x20cor'+'e...'));const _0x2d0303=installWrapperVersion(_0x509e9d,_0x559eff);if(!_0x2d0303['ok']){console[_0x4b761d(0x122)]('[wrapper]\x20wrapper\x20up'+'date\x20failed;\x20continu'+_0x4b761d(0xbf)+WRAPPER_VERSION);if(_0x2d0303[_0x4b761d(0x184)])console[_0x4b761d(0x122)](_0x2d0303['output'][_0x4b761d(0x12d)](/\r?\n/)['slice'](-0xc)['join']('\x0a'));return console['warn']('[wrapper]\x20Manual\x20upd'+'ate:\x20'+npmInstallCommand(WRAPPER_PKG_NAME+'@'+_0x509e9d,_0x559eff)),![];}console['warn']('[wrapper]\x20wrapper\x20up'+_0x4b761d(0xb5)+_0x509e9d+';\x20restarting\x20wrapper');const _0x4c4ad5=process['argv'][0x1],_0x52e620=(0x0,import_child_process3[_0x4b761d(0x15b)])(process['execPath'],[_0x4c4ad5,..._0x5cf7d6],{'stdio':_0x4b761d(0xce),'env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x509e9d},'shell':![]});process[_0x4b761d(0x13e)](_0x52e620['status']??0x0);}function findCoreScript(){const _0x426842=a0_0x3ad1de,_0x4ee3ef=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x4cc230=['1','true','yes','on'][_0x426842(0x16a)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x426842(0xc6)]()['toLowerCase']());if(_0x4ee3ef&&_0x4cc230&&fs[_0x426842(0xf6)](_0x4ee3ef))return _0x4ee3ef;const _0x44becd=[],_0x12e226=_0x295afc=>{const _0x33f716=_0x426842;if(fs[_0x33f716(0xf6)](_0x295afc)&&!_0x44becd[_0x33f716(0x16a)](_0x295afc))_0x44becd[_0x33f716(0x15f)](_0x295afc);};if(_0x4ee3ef)_0x12e226(_0x4ee3ef);const _0x520ba4=npmRootGlobal();if(_0x520ba4){const _0x5443b0=path2[_0x426842(0x16b)](_0x520ba4,_0x426842(0xcf),'agent-core','dist',_0x426842(0x183));_0x12e226(_0x5443b0);}const _0x42ae53=path2['join'](wrapperBaseDir(),'core.cjs');_0x12e226(_0x42ae53);const _0x3ead10=path2[_0x426842(0x16b)](wrapperBaseDir(),'..',_0x426842(0xb7),'core',_0x426842(0x123),'index.cjs');_0x12e226(_0x3ead10);if(_0x44becd['length']>0x0)return _0x44becd['map']((_0x152d9c,_0x1eaf64)=>({'candidate':_0x152d9c,'index':_0x1eaf64,'version':coreVersion(_0x152d9c)}))[_0x426842(0x17c)]((_0x2a0138,_0x57298c)=>{const _0x387010=_0x426842,_0x53e18c=compareSemver(_0x57298c[_0x387010(0xec)],_0x2a0138['version']);if(_0x53e18c!==0x0)return _0x53e18c;return _0x57298c['index']-_0x2a0138[_0x387010(0xbb)];})[0x0]['candidate'];throw new Error(_0x426842(0x136)+'\x20not\x20found;\x20install\x20'+_0x426842(0x15e)+_0x426842(0x10a)+'agent');}function coreVersion(_0x442626=findCoreScript()){const _0x11c20f=a0_0x3ad1de,_0x50404c=(0x0,import_child_process3[_0x11c20f(0x15b)])(process['execPath'],[_0x442626,'--version'],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x459b5b=(_0x50404c[_0x11c20f(0x188)]||'')+'\x0a'+(_0x50404c['stderr']||'');return _0x459b5b['match'](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0xed44ce){const _0x38d6f4=a0_0x3ad1de;try{return fs['accessSync'](_0xed44ce,fs['constants'][_0x38d6f4(0xe6)]),!![];}catch{return![];}}function a0_0x5f05(){const _0x1310e3=['igjYzxCGAw5ZDgfSBcbZy3jLzw4','D2fYBG','zgLZDa','DgvZDa','Aw1LB3v0jYWGkcKGpt4GzMLUAxm','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','DgHLBG','Aw5ZDgfSBa','BNvTyMvY','lNbZmq','icaJierLyMLHBIaVifvIDw50DtO','CMvHzgXPBMu','C3bSAxq','mZjsr1fSB2q','zNvUy3rPB24','CgXHDgzVCM0','zgfYD2LUlq','z2v0uhjVDg90ExbLt2y','ic0+ia','AwXHyMXLoIa','mc4WlJa','D2HHBgvUDcbJB3jLihj1BNrPBwu','BNvHBgX5igfMDgvYihrOzsb1BMq','CgLWzq','BIaVihrTDxJJGii','ioAjMoEUOq','BM93','BwLU','zxHL','zxHPDa','Bw9Kzq','DYaTCYb3AgfSzw50','xIqX','CgfYC2vjBNq','Bw9KDwXL','qgXHDgvZDa','ChjLDMLVDxmGy29Yzsb2zxjZAw8','zw51BwvYywjSzq','D2HLCMuUzxHL','AwDUB3jL','B2WGpt09icDODhrWCZONid8GAhq','AwqGBM90igjLy29TzsbOzwfSDgG','BNbT','Dg11Ea','zw5KC1DPDgG','Dg9mB3DLCKnHC2u','w3DYyxbWzxjDignVCMuGDxbNCMe','j1WNjW','w3DYyxbWzxjDifj1BIb0AgLZig8','ihn1zg8Gyxb0lwDLDcbPBNn0ywW','w3DYyxbWzxjDioAJGoA1I+wiSca','C2LNBMfS','icaJig1Hy09toIaGicaGicaGica','zxnZlMfYz3zBmL0GFhWGmZaWmcK','BgLUDxG','AgfZu2nYzwvU','mZiWmdmYmgfHz251yG','DxrMltG','C3bHD25tEw5J','CgvUzgLUzW','AcGZksK7cNjLCs5VBIGNzxjYB3i','qhDOywXLBNqVywDLBNqTy29Yzsa','ChvZAa','ic0TChjLzMvYlw9UBgLUzq','Bg9JywXL','mJK2nZCYnLzpzfr3Eq','BM9Kzs1WDhK','lNDOywXLBNqTywDLBNq','CMvZB2X2zq','zwqU','igzYB20G','u1niic8G5ywZ6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBG','CZSGz2L2Aw5NihvWlIbdCMfZAca','Aw5JBhvKzxm','AM9PBG','DhLWzq','6zET57Ui56UV5lYA57Ui5Q2IigrHzw1VBUoaGUw7UUIURUAuVUI/MYbZ','ucdNU4JMRAlVViZMIydMNiNMRApLNkJOT5hNMOtKU7VLIQhPG73KVjRKUk3MLQ3JGii','w3DYyxbWzxjDioAwREw8Gcbtu0GGlYdLHBm','ywnOAw5L','w3DYyxbWzxjDignVCMuGzMfPBgu','BwTKAxjtEw5J','CMvNAxn0CNKGChjVyMuGDgLTzwq','C3rKzxjY','BNbTigLUC3rHBgWGlwCGqgfUDgG','zxjYB3i','C3vTzsGPoWOGihjLCY5VBIGNzw4','icaJiefYy2G6icaGicaGicaGica','D2LUmZi','mvHZB1fjEa','sevdsZ0Xiow8UUwiTUI3S+I/H+ATPoAJGoAFPEoaGG','C29YDa','zgLYBMfTzq','5lIl57UN57UT44cc','ntC5mZbzwvHZu2m','y29Yzs11CgDYywrLlMPZB24','C3LZDgvTza','y3jLyxrL','Aw5KzxGUy2PZ','B3v0Chv0','icD3AgfSzw50lwfNzw50lxjLz2K','CxvLC3rPB24','C3bHD24TAgvSCgvY','C3rKB3v0','yw55','w2DHDgv3yxLDienVBM5Ly3rLza','ndi1nZrqrgPRANm','ls1YzwDPC3rYEt0','zgf0zwqGDg8G','lxb0EsbZCgf3BI1OzwXWzxiGBM8','CgfJA2fNzxm','C3rYEs1WCM9IzsCSiefJy2vWDdO','yxjJAa','lxb0EsbZCgf3BI1OzwXWzxiGAxm','Aw5KzxG','zsGNAhr0CcCPoWPJB25ZDcbODhq','ig5VDcbLEgvJDxrHyMXLoIa','r2f0zxDHEtOGy29UBMvJDgvK','Aw5NihDPDgGG','ktSky29UC3qGCMvNAxn0CNKGpsa','ywjVCNrLza','u3rYAw5NkhbYB2nLC3mUyxjNDLS','w3DYyxbWzxjDigXHC3qGzMf0ywW','CgfYC2u','zxHLy1bHDgG','DhjPBq','A2LSBgvK','w3DYyxbWzxjDioAiLUIUVUE9RIbxsefmru4','ywjVCNq','A2LSBa','Cg0Y','ywnR','BNnPzguGC2nYzwvUlcbLlMCUoIa','Aw5OzxjPDa','qhDOywXLBNq','C2nYzwvU','ndm3mdGXmhrpCej1Eq','CM9SBgvKx2jHy2S','AxnuvfK','C3rKAw4','Aw5tzxnZAw9U','qhDOywXLBNqVywDLBNq','ywKVy29KzxG','ovHSyMfeqG','C3rHDhvZ','5BEY5zYOia','Bwf0y2G','ndq3ndmYoerxy0XxAW','ihrPBwvZihDPDgHPBIa','Cgf0Aa','lNn0yxr1C0nVzguGpt09idiWmca','BgvUz3rO','CgvYigv4zwn1DgfIBguGyML0oIa','lvmGD2HHBgvUDcaGicmG5yAn5zYOihnJ','D3jPDgu','CM9SBgjHy2TFDw5HDMfPBgfIBgu','BwvZC2fNzq','wf9psW','qhDOywXLBNqVywDLBNqTy29Yzq','w3DYyxbWzxjDiow8UUEdIow7UUIURUwUIEIJHEs4Gos4QUE7IoERRW','D2HPy2G','zgvMyxvSDa','ihn1zg8GyxbRigfKzcbZy3jLzw4','DMvYC2LVBG','zcbJB2rLpq','C2HPzNq','C3rYAw5NAwz5','ChbPza','cMnVBNn0igH0DhaGpsbYzxf1Axi','pYaWidOGmIKPoWOGihjLCY5VBIG','EwvZ','u0Lhvevstq','BcaTEsbZy3jLzw4','zxHPC3rZu3LUyW','CMvNAxn0CNKGChjVyMuGzMfPBgu','lMjHDa','B25Lid0GDhj1ztSkicbJBgvHCLq','y21KlMv4zq','icaGicaGicaGicaGihnJCMvLBIa','zMLSDgvY','ywrK','CJOG','B2jQzwn0','icbJAg1VzcaREcaIjeHftfbfuIi','CMvZDw1L','CMvHzezPBgvtEw5J','BwfW','r2f0zxDHEsbYzwDPC3rLCMvKig0','572UifDiquXftLrFu0Tjuf9qrvjtsq','CMvJB3jKoIa','ChjLyNvPBgrZ','ihnJCMvLBIaGicaGiYbVCJOGC3u','w3DYyxbWzxjDihvWzgf0zsbHDMe','B3iGCMvIDwLSzcbaD2HHBgvUDc8','ndm5nZG5mhPzvgHwvW','w3DYyxbWzxjDioACQUAJGoA1I+wiScbZy3jLzq','ufrzihn0yxj0Dxa6','u1rftKnfx0nirunlpthJGii','ihn1zg8GCgfJBwfUic1tihnJCMu','zM9YrwfJAa','CMvWBgfJzq','Dg9tDhjPBMC','DhbZidOGAhr0CdSkBgv0igrVBMu','y2fSBa','AgfZt3DUuhjVCgvYDhK','Bg9N','zguGAgvHBhrOEtOG','CM91BMq','ywDLBNq6igzHBhnLlaOGigHLywq','5Asn55sO5zMO5lUL5A6E546W5l+D5Rs777YA','icaJienLBNrpuYaVifjVy2T5oIa','ksa9pIbMAw5PC2GOmYKSihrPBwu','AcG0ksK7cN0PoWPYzxeUB24Oj3q','B3v0txmPoWPJB25ZDcbYzxeGpsa','icDHChbSAwnHDgLVBI9QC29Ulhq','y29Kzq'];a0_0x5f05=function(){return _0x1310e3;};return a0_0x5f05();}function shellQuote(_0x6d264e){const _0x3cfac0=a0_0x3ad1de;return'\x27'+_0x6d264e['replace'](/'/g,_0x3cfac0(0x150))+'\x27';}function coreNodePtySpawnHelperPath(_0x1722a4){const _0x4797a9=a0_0x3ad1de;if(process['platform']!=='darwin')return'';try{const _0x37365f=(0x0,import_module['createRequire'])(_0x1722a4),_0x5e29b6=_0x37365f[_0x4797a9(0x165)](_0x4797a9(0x163)),_0x43887d=path2['resolve'](path2[_0x4797a9(0x17d)](_0x5e29b6),'..');return path2['join'](_0x43887d,_0x4797a9(0x107),_0x4797a9(0x131)+process[_0x4797a9(0xb9)],_0x4797a9(0x187));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x4e9523){const _0x41d002=a0_0x3ad1de,_0x1b3822=coreNodePtySpawnHelperPath(_0x4e9523);if(!_0x1b3822||CHECKED_PTY_HELPERS['has'](_0x1b3822))return;CHECKED_PTY_HELPERS[_0x41d002(0xfd)](_0x1b3822);if(!fs['existsSync'](_0x1b3822)){console['warn']('[wrapper]\x20macOS\x20node'+_0x41d002(0xb6)+'t\x20found:\x20'+_0x1b3822);return;}if(isExecutable(_0x1b3822))return;try{const _0x372d5f=fs['statSync'](_0x1b3822)[_0x41d002(0x13f)];fs['chmodSync'](_0x1b3822,_0x372d5f|0x1ed);}catch{}if(isExecutable(_0x1b3822)){console['warn']('[wrapper]\x20fixed\x20macO'+'S\x20node-pty\x20spawn-hel'+_0x41d002(0xe1)+_0x1b3822);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0x41d002(0xba)+_0x41d002(0xbd)+_0x1b3822),console['warn'](_0x41d002(0x151)+'nce\x20to\x20fix\x20terminal/'+_0x41d002(0x10d)),console['warn']('\x20\x20HELPER='+shellQuote(_0x1b3822)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console['warn'](_0x41d002(0x100));}function printVersion(){const _0x5d9642=a0_0x3ad1de;let _0x267d35='';try{_0x267d35=coreVersion();}catch{}console[_0x5d9642(0x116)]('whalent-agent\x20'+WRAPPER_VERSION),console['log']('wrapper\x20'+WRAPPER_VERSION),console['log']('core\x20'+(_0x267d35||'not\x20installed'));}function detectPersistenceContext(){const _0xb79764=a0_0x3ad1de;let _0x3a264e='';if(process.env.STY)_0x3a264e=_0xb79764(0xd0);else{if(process.env.TMUX)_0x3a264e='tmux';else{if(process.env.INVOCATION_ID||process.env.SYSTEMD_EXEC_PID)_0x3a264e=_0xb79764(0x181);else{if(process.env.PM2_HOME)_0x3a264e='pm2';else process[_0xb79764(0x130)]!==_0xb79764(0x179)&&typeof process[_0xb79764(0xf0)]===_0xb79764(0x129)&&process[_0xb79764(0xf0)]===0x1&&(_0x3a264e='systemd');}}}return{'inSession':_0x3a264e,'hasScreen':process[_0xb79764(0x130)]==='win32'?![]:!!resolveExecutablePath('screen'),'hasTmux':process['platform']===_0xb79764(0x179)?![]:!!resolveExecutablePath('tmux')};}function a0_0x3d50(_0x5287e0,_0x4628f7){_0x5287e0=_0x5287e0-0xb1;const _0x5f0573=a0_0x5f05();let _0x3d50c4=_0x5f0573[_0x5287e0];if(a0_0x3d50['ZrGVbR']===undefined){var _0x541242=function(_0x37e4a2){const _0x5b3910='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a68c4='',_0x4497de='';for(let _0x4faac2=0x0,_0x26a8e1,_0x10d277,_0x33e030=0x0;_0x10d277=_0x37e4a2['charAt'](_0x33e030++);~_0x10d277&&(_0x26a8e1=_0x4faac2%0x4?_0x26a8e1*0x40+_0x10d277:_0x10d277,_0x4faac2++%0x4)?_0x4a68c4+=String['fromCharCode'](0xff&_0x26a8e1>>(-0x2*_0x4faac2&0x6)):0x0){_0x10d277=_0x5b3910['indexOf'](_0x10d277);}for(let _0x201f5d=0x0,_0x50b946=_0x4a68c4['length'];_0x201f5d<_0x50b946;_0x201f5d++){_0x4497de+='%'+('00'+_0x4a68c4['charCodeAt'](_0x201f5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4497de);};a0_0x3d50['ovUUap']=_0x541242,a0_0x3d50['tQCQlI']={},a0_0x3d50['ZrGVbR']=!![];}const _0x3ecfdc=_0x5f0573[0x0],_0x408321=_0x5287e0+_0x3ecfdc,_0x331a15=a0_0x3d50['tQCQlI'][_0x408321];return!_0x331a15?(_0x3d50c4=a0_0x3d50['ovUUap'](_0x3d50c4),a0_0x3d50['tQCQlI'][_0x408321]=_0x3d50c4):_0x3d50c4=_0x331a15,_0x3d50c4;}function persistenceCheckSkipped(){const _0x1c5b62=a0_0x3ad1de,_0x468913=String(process.env.WHALENT_SKIP_PERSISTENCE_CHECK||process.env.WHALENT_NO_PERSISTENCE_CHECK||'')[_0x1c5b62(0xc6)]()[_0x1c5b62(0x14e)]();return _0x468913==='1'||_0x468913==='true'||_0x468913==='yes'||_0x468913==='on';}function persistenceInstallHint(){const _0xf41ac1=a0_0x3ad1de,_0x29cd61=[];if(process['platform']==='darwin')_0x29cd61[_0xf41ac1(0x15f)](_0xf41ac1(0x155)+_0xf41ac1(0x121));else process['platform']===_0xf41ac1(0x157)&&(_0x29cd61['push'](_0xf41ac1(0x12b)+_0xf41ac1(0x152)+_0xf41ac1(0xf5)),_0x29cd61['push'](_0xf41ac1(0x11b)+'\x20sudo\x20yum\x20install\x20-y'+_0xf41ac1(0x108)+'do\x20dnf\x20install\x20-y\x20sc'+'reen'),_0x29cd61['push']('\x20\x20#\x20Alpine:\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0xf41ac1(0xeb)),_0x29cd61[_0xf41ac1(0x15f)](_0xf41ac1(0x178)+_0xf41ac1(0x10f)+'en'));return _0x29cd61[_0xf41ac1(0x15f)]('\x20\x20#\x20Then\x20re-attach\x20i'+_0xf41ac1(0xcd)+'\x20screen\x20-S\x20whalent\x20\x20'+'(run\x20\x27whalent\x27\x20insid'+'e)'),_0x29cd61;}async function confirmContinueWithoutPersistence(){const _0x1a2fef=a0_0x3ad1de;if(!process[_0x1a2fef(0xd4)]['isTTY']||!process[_0x1a2fef(0x188)][_0x1a2fef(0xd3)])return![];return new Promise(_0x3d10a3=>{const _0x18865e=_0x1a2fef,_0x18e74a=readline['createInterface']({'input':process['stdin'],'output':process['stderr']});_0x18e74a[_0x18865e(0x186)]('[wrapper]\x20没有终端保活,断开\x20'+_0x18865e(0x168)+'。仍然继续吗?[y/N]:\x20',_0x500115=>{const _0x3abfdd=_0x18865e;_0x18e74a['close']();const _0x4f40a2=String(_0x500115||'')['trim']()['toLowerCase']();_0x3d10a3(_0x4f40a2==='y'||_0x4f40a2===_0x3abfdd(0xf3));});});}async function ensurePersistencePrompt(_0x201c63){const _0x279226=a0_0x3ad1de;if(!shouldSupervise(_0x201c63))return;if(persistenceCheckSkipped())return;const _0x438d44=detectPersistenceContext();if(_0x438d44['inSession']==='screen'||_0x438d44[_0x279226(0xd5)]==='tmux'){console['log']('[wrapper]\x20终端保活\x20OK:当前'+_0x279226(0xda)+_0x438d44['inSession']+'\x20会话中');return;}if(_0x438d44['inSession']==='systemd'||_0x438d44['inSession']===_0x279226(0xcb)){console[_0x279226(0x116)]('[wrapper]\x20终端保活\x20OK:检测'+'到\x20'+_0x438d44['inSession']+_0x279226(0x13a));return;}if(_0x438d44['hasScreen']||_0x438d44['hasTmux']){const _0x24b2d4=[_0x438d44[_0x279226(0x158)]?'screen':'',_0x438d44['hasTmux']?_0x279226(0x14c):''][_0x279226(0xfc)](Boolean)[_0x279226(0x16b)]('\x20/\x20');console['warn'](_0x279226(0x153)+_0x24b2d4+'\x20已安装,但当前不在终端复用器里运行。'),console[_0x279226(0x122)](_0x279226(0x16f)+_0x279226(0x16d)+'creen\x20/\x20tmux\x20内:');if(_0x438d44[_0x279226(0x158)])console['warn'](_0x279226(0xfb)+_0x279226(0xe2)+'reen\x20里运行\x20whalent');if(_0x438d44['hasTmux'])console['warn']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tmux\x20ne'+_0x279226(0x140));return;}console[_0x279226(0x122)](_0x279226(0x10c)+_0x279226(0x139)),console[_0x279226(0x122)]('[wrapper]\x20一旦断开\x20SSH\x20或'+'关闭终端,daemon\x20会被\x20SIGHU'+_0x279226(0x16e)),console['warn'](_0x279226(0xe8)+_0x279226(0x11a));for(const _0x10afe2 of persistenceInstallHint())console['warn'](_0x10afe2);if(!process[_0x279226(0xd4)]['isTTY']){console[_0x279226(0x122)]('[wrapper]\x20当前不是交互式\x20sh'+'ell(CI\x20/\x20后台脚本),跳过二次确'+'认,继续启动。'),console['warn']('[wrapper]\x20若想抑制此告警,可设'+_0x279226(0x105)+_0x279226(0x10e));return;}const _0x1266b9=await confirmContinueWithoutPersistence();!_0x1266b9&&(console['warn']('[wrapper]\x20已取消。请先安装\x20s'+'creen\x20/\x20tmux\x20后再运行\x20wh'+'alent;'),console[_0x279226(0x122)](_0x279226(0xc8)+'T_SKIP_PERSISTENCE_C'+_0x279226(0x17b)),process[_0x279226(0x13e)](0x0)),console['warn']('[wrapper]\x20用户确认在无保活环境'+_0x279226(0x17e));}function directCore(_0x52396c){const _0x4f18d0=findCoreScript();checkMacNodePtySpawnHelper(_0x4f18d0);const _0x61c58a=(0x0,import_child_process3['spawnSync'])(process['execPath'],[_0x4f18d0,..._0x52396c],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x4f18d0},'shell':![]});process['exit'](_0x61c58a['status']??0x0);}function shouldSupervise(_0x35cce7){const _0xcb5a68=a0_0x3ad1de;if(_0x35cce7['includes']('--agent-id'))return![];if(_0x35cce7['includes']('--resume')||_0x35cce7[0x0]===_0xcb5a68(0x101))return![];const _0x3adb79=_0x35cce7[0x0]||'';if(_0x3adb79==='ls'||_0x3adb79===_0xcb5a68(0xd9)||_0x3adb79==='ps')return![];if(_0x3adb79==='mcp'||_0x3adb79==='daemon-mcp')return![];if(_0x35cce7[_0xcb5a68(0x16a)]('--help')||_0x35cce7[_0xcb5a68(0x16a)]('-h'))return![];return!![];}function installCoreVersion(_0x2e2c58){const _0x371ce7=a0_0x3ad1de,_0x4666ca=resolveExecutablePath('npm');if(!_0x4666ca)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x386fe7=CORE_PKG_NAME+'@'+_0x2e2c58,_0x97ff34=run(_0x4666ca,['install','-g',_0x386fe7,npmRegistryArg()]),_0x5ca2d6=((_0x97ff34[_0x371ce7(0x188)]||'')+'\x0a'+(_0x97ff34['stderr']||''))[_0x371ce7(0xc6)]();return{'ok':_0x97ff34[_0x371ce7(0xd9)]===0x0,'output':_0x5ca2d6};}async function superviseCore(_0x15c683){const _0x23f0bb=a0_0x3ad1de;let _0x4ba52a=![],_0x4c2f7f=null;const _0x1c4aec=[];let _0x5f0f79=MIN_RESTART_DELAY_MS;const _0x37d06b=()=>{const _0x56fcf8=a0_0x3d50;_0x4ba52a=!![];if(_0x4c2f7f&&!_0x4c2f7f[_0x56fcf8(0xc7)])try{_0x4c2f7f['kill']('SIGTERM');}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x37d06b),process['on'](_0x23f0bb(0xf4),_0x37d06b);while(!![]){const _0x1a2955=findCoreScript();checkMacNodePtySpawnHelper(_0x1a2955);const _0xd7559c={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x1a2955},_0x2e00a3=readUpgradeState(),_0x49424c=!!_0x2e00a3?.['pending'];let _0x27c936=![],_0x5df46d=null,_0x175eb9='';const _0x258af2=[],_0x40a2be=0xc;console['log']('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x1a2955),_0x4c2f7f=(0x0,import_child_process3['spawn'])(process['execPath'],[_0x1a2955,..._0x15c683],{'env':_0xd7559c,'stdio':[_0x23f0bb(0xce),_0x23f0bb(0x138),_0x23f0bb(0x138)]});const _0x115e4f=()=>{const _0xd757f4=_0x23f0bb;if(_0x27c936)return;_0x27c936=!![];if(_0x5df46d)clearTimeout(_0x5df46d);_0x1c4aec['length']=0x0,_0x5f0f79=MIN_RESTART_DELAY_MS;const _0x26e4d8=readUpgradeState();_0x26e4d8?.[_0xd757f4(0x15c)]&&(writeUpgradeState({..._0x26e4d8,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0xd757f4(0x116)](_0xd757f4(0x14f)+_0xd757f4(0x117)+(_0x26e4d8['installed_version']||_0x26e4d8['target_version']||'')));},_0x55907b=(_0x4b2b18,_0x4b0729=![])=>{const _0x12cbe7=_0x23f0bb,_0x474c85=_0x4b2b18[_0x12cbe7(0x112)]();(_0x4b0729?process[_0x12cbe7(0x174)]:process[_0x12cbe7(0x188)])[_0x12cbe7(0xe3)](_0x474c85);if(_0x4b0729)for(const _0x12d4a7 of _0x474c85[_0x12cbe7(0x12d)](/\r?\n/)){if(!_0x12d4a7[_0x12cbe7(0xc6)]())continue;_0x258af2[_0x12cbe7(0x15f)](_0x12d4a7);if(_0x258af2['length']>_0x40a2be)_0x258af2[_0x12cbe7(0xee)]();const _0x1331b9=_0x12d4a7['match'](FATAL_PATTERN);if(_0x1331b9)_0x175eb9=_0x1331b9[0x0];}(_0x474c85['includes'](_0x12cbe7(0xb2))||_0x474c85[_0x12cbe7(0x16a)](_0x12cbe7(0x104)+_0x12cbe7(0x170))||_0x474c85['includes'](_0x12cbe7(0xbe)))&&_0x115e4f();};_0x4c2f7f[_0x23f0bb(0x188)]?.['on']('data',_0x545ef5=>_0x55907b(_0x545ef5,![])),_0x4c2f7f['stderr']?.['on']('data',_0x4adc71=>_0x55907b(_0x4adc71,!![]));_0x49424c&&(_0x5df46d=setTimeout(()=>{const _0x4464db=_0x23f0bb;if(_0x27c936||!_0x4c2f7f||_0x4c2f7f['killed'])return;console['error']('[wrapper]\x20new\x20core\x20d'+_0x4464db(0x14a)+'y\x20in\x20time;\x20rolling\x20b'+_0x4464db(0xcc));try{_0x4c2f7f['kill'](_0x4464db(0xf4));}catch{}},HEALTH_TIMEOUT_MS));const _0x1434ad=await new Promise(_0x228b55=>{const _0x251dc8=_0x23f0bb;_0x4c2f7f['once'](_0x251dc8(0x13e),(_0x325506,_0x114fea)=>_0x228b55({'code':_0x325506,'signal':_0x114fea}));});if(_0x5df46d)clearTimeout(_0x5df46d);_0x4c2f7f=null;if(_0x4ba52a)process[_0x23f0bb(0x13e)](_0x1434ad['code']??0x0);const _0x3299b6=readUpgradeState();if(_0x3299b6?.['pending']&&!_0x27c936){const _0x7fa1c3=String(_0x3299b6['previous_core_versio'+'n']||'')['trim']();if(_0x7fa1c3){console[_0x23f0bb(0x176)]('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x7fa1c3);const _0xfdc116=installCoreVersion(_0x7fa1c3);writeUpgradeState({..._0x3299b6,'pending':![],'rollback':!![],'health_status':_0xfdc116['ok']?_0x23f0bb(0xd2):'rollback_failed','error':_0xfdc116['ok']?'':_0xfdc116[_0x23f0bb(0x184)]});}else writeUpgradeState({..._0x3299b6,'pending':![],'rollback':!![],'health_status':_0x23f0bb(0xe4),'error':_0x23f0bb(0x145)+'n\x20unknown'});}const _0x58d297=_0x1434ad[_0x23f0bb(0x120)]===SUPERVISED_RESTART_CODE||_0x3299b6?.[_0x23f0bb(0x15c)];if(!_0x58d297&&_0x1434ad[_0x23f0bb(0x120)]===0x0)process['exit'](0x0);const _0x3d5ff5=Date[_0x23f0bb(0x13b)]();_0x1c4aec['push'](_0x3d5ff5);while(_0x1c4aec[_0x23f0bb(0xe0)]>0x0&&_0x3d5ff5-_0x1c4aec[0x0]>CRASH_WINDOW_MS){_0x1c4aec['shift']();}const _0x990d31=_0x1c4aec[_0x23f0bb(0xe0)];writeLastCrash({'timestamp':_0x3d5ff5,'exit_code':_0x1434ad['code'],'exit_signal':_0x1434ad[_0x23f0bb(0x154)]||null,'fatal_line':_0x175eb9,'raw_tail':_0x258af2['join']('\x0a'),'consecutive_crashes':_0x990d31}),console['log']('[wrapper]\x20core\x20exite'+_0x23f0bb(0xed)+(_0x1434ad['code']??'')+(_0x1434ad['signal']?'\x20signal='+_0x1434ad['signal']:'')+'\x20('+_0x990d31+'/'+MAX_CRASHES_IN_WINDOW+'\x20in\x20last\x20'+Math[_0x23f0bb(0x118)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x175eb9)console[_0x23f0bb(0x116)](_0x23f0bb(0xc3)+':\x20'+_0x175eb9);_0x990d31>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x23f0bb(0x171)+'d\x20'+_0x990d31+_0x23f0bb(0xdd)+Math['round'](CRASH_WINDOW_MS/0x3e8)+(_0x23f0bb(0x169)+_0x23f0bb(0x106))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+_0x23f0bb(0x137)+'erlying\x20issue\x20is\x20fix'+_0x23f0bb(0x166))),process[_0x23f0bb(0x13e)](0x1)),console['log']('[wrapper]\x20restarting'+'\x20in\x20'+_0x5f0f79+'ms'),await new Promise(_0x42290e=>setTimeout(_0x42290e,_0x5f0f79)),_0x5f0f79=Math[_0x23f0bb(0x13c)](_0x5f0f79*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3e71ce=a0_0x3ad1de,_0x4e4816=process['argv']['slice'](0x2);if(_0x4e4816[0x0]==='--version'||_0x4e4816[0x0]==='-v'||_0x4e4816[0x0]==='version'){printVersion();return;}if((_0x4e4816[0x0]===_0x3e71ce(0xd9)||_0x4e4816[0x0]==='ls'||_0x4e4816[0x0]==='ps')&&!_0x4e4816['includes']('--json')){console['log']('wrapper\x20'+WRAPPER_VERSION);try{console['log']('core\x20'+(coreVersion()||'not\x20installed'));}catch{console[_0x3e71ce(0x116)]('core\x20not\x20installed');}}const _0x434b13=await selectFastNpmRegistry();await maybeUpdateWrapper(_0x4e4816,_0x434b13),await ensurePersistencePrompt(_0x4e4816);if(!shouldSupervise(_0x4e4816))directCore(_0x4e4816);await superviseCore(_0x4e4816);}main()['catch'](_0x265d36=>{const _0x593bf2=a0_0x3ad1de;console[_0x593bf2(0x176)]('[wrapper]\x20Fatal\x20erro'+_0x593bf2(0xfe)+(_0x265d36?.[_0x593bf2(0xe5)]||String(_0x265d36))),process[_0x593bf2(0x13e)](0x1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whalent/agent",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.137",
|
|
4
4
|
"description": "Stable wrapper for Whalent Agent core runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"yaml": "^2.4.0"
|
|
45
45
|
},
|
|
46
46
|
"optionalDependencies": {
|
|
47
|
-
"@whalent/agent-core": "0.3.
|
|
47
|
+
"@whalent/agent-core": "0.3.137",
|
|
48
48
|
"node-pty": "^1.1.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|