@whalent/agent 0.3.83 → 0.3.87

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_0x3670b6=a0_0x1813;(function(_0x2e584c,_0x71f6a0){const _0x472777=a0_0x1813,_0x366695=_0x2e584c();while(!![]){try{const _0x456af9=parseInt(_0x472777(0x169))/0x1*(-parseInt(_0x472777(0x196))/0x2)+parseInt(_0x472777(0x182))/0x3*(parseInt(_0x472777(0x18b))/0x4)+-parseInt(_0x472777(0x1a2))/0x5*(parseInt(_0x472777(0x1aa))/0x6)+-parseInt(_0x472777(0x134))/0x7+-parseInt(_0x472777(0x185))/0x8*(parseInt(_0x472777(0x141))/0x9)+parseInt(_0x472777(0x15c))/0xa*(-parseInt(_0x472777(0x18d))/0xb)+parseInt(_0x472777(0x162))/0xc;if(_0x456af9===_0x71f6a0)break;else _0x366695['push'](_0x366695['shift']());}catch(_0x8ce25d){_0x366695['push'](_0x366695['shift']());}}}(a0_0x2068,0x75893));var __create=Object[a0_0x3670b6(0x18a)],__defProp=Object[a0_0x3670b6(0x15a)],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object[a0_0x3670b6(0x150)],__getProtoOf=Object[a0_0x3670b6(0x1a7)],__hasOwnProp=Object[a0_0x3670b6(0x12d)][a0_0x3670b6(0x13e)],__copyProps=(_0x42ade2,_0x2ba3dd,_0x484a43,_0x5a7a53)=>{const _0x2a4ace=a0_0x3670b6;if(_0x2ba3dd&&typeof _0x2ba3dd===_0x2a4ace(0x197)||typeof _0x2ba3dd===_0x2a4ace(0x170)){for(let _0x4be5d6 of __getOwnPropNames(_0x2ba3dd))if(!__hasOwnProp[_0x2a4ace(0x16f)](_0x42ade2,_0x4be5d6)&&_0x4be5d6!==_0x484a43)__defProp(_0x42ade2,_0x4be5d6,{'get':()=>_0x2ba3dd[_0x4be5d6],'enumerable':!(_0x5a7a53=__getOwnPropDesc(_0x2ba3dd,_0x4be5d6))||_0x5a7a53[_0x2a4ace(0x177)]});}return _0x42ade2;},__toESM=(_0x35767f,_0x46f124,_0xddde40)=>(_0xddde40=_0x35767f!=null?__create(__getProtoOf(_0x35767f)):{},__copyProps(_0x46f124||!_0x35767f||!_0x35767f['__esModule']?__defProp(_0xddde40,'default',{'value':_0x35767f,'enumerable':!![]}):_0xddde40,_0x35767f)),import_child_process=require(a0_0x3670b6(0x17f)),fs=__toESM(require('fs'),0x1),import_module=require(a0_0x3670b6(0x166)),os=__toESM(require('os'),0x1),path=__toESM(require('path'),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x3670b6(0x19b),NPM_REGISTRY=a0_0x3670b6(0x136)+'js.org',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 _0x3335b3=a0_0x3670b6;return path[_0x3335b3(0x17e)](os[_0x3335b3(0x19e)](),_0x3335b3(0x14d));}function upgradeStatePath(){const _0x58cd35=a0_0x3670b6;return path[_0x58cd35(0x17e)](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0xf87602=a0_0x3670b6;return path['join'](configDir(),_0xf87602(0x158));}function writeLastCrash(_0x511a2f){const _0xdeeff7=a0_0x3670b6;try{fs[_0xdeeff7(0x14f)](configDir(),{'recursive':!![]});const _0x37782d={..._0x511a2f,'reported':![]};fs['writeFileSync'](lastCrashFilePath(),JSON[_0xdeeff7(0x163)](_0x37782d,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x3cc445=a0_0x3670b6;try{const _0x29c2c9=JSON['parse'](fs[_0x3cc445(0x1b1)](path['join'](wrapperBaseDir(),'..','package.json'),_0x3cc445(0x174)));return String(_0x29c2c9['version']||_0x3cc445(0x132));}catch{return'0.0.0';}}function readUpgradeState(){const _0x415ece=a0_0x3670b6;try{return JSON['parse'](fs['readFileSync'](upgradeStatePath(),_0x415ece(0x174)));}catch{return null;}}function writeUpgradeState(_0x3fcff2){const _0xe54652=a0_0x3670b6;try{fs[_0xe54652(0x14f)](configDir(),{'recursive':!![]}),fs[_0xe54652(0x189)](upgradeStatePath(),JSON[_0xe54652(0x163)]({..._0x3fcff2,'updated_at':Date[_0xe54652(0x1b2)]()},null,0x2),'utf-8');}catch{}}function run(_0x9efe93,_0x1d901c,_0x5b81be=process.env){const _0x2eaf0a=a0_0x3670b6;return(0x0,import_child_process[_0x2eaf0a(0x14a)])(_0x9efe93,_0x1d901c,{'encoding':'utf8','timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x5b81be,'shell':![]});}function runNpmView(_0xfa39f2){const _0x3cefeb=a0_0x3670b6,_0x25d6f6=resolveExecutable(_0x3cefeb(0x153));if(!_0x25d6f6)return{'status':0x7f,'stdout':'','stderr':_0x3cefeb(0x1a4),'error':new Error('npm\x20not\x20found')};return(0x0,import_child_process[_0x3cefeb(0x14a)])(_0x25d6f6,_0xfa39f2,{'encoding':_0x3cefeb(0x17b),'timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x36a1e5=a0_0x3670b6,_0x844c22=resolveExecutable('npm');if(!_0x844c22)return'';const _0x315503=run(_0x844c22,['root','-g']);if(_0x315503[_0x36a1e5(0x145)]!==0x0)return'';return String(_0x315503['stdout']||'')['trim']();}function compareSemver(_0x5240b5,_0x2f9fb7){const _0x48306a=a0_0x3670b6,_0x56c8a2=String(_0x5240b5||'')['replace'](/^v/,'')[_0x48306a(0x186)](/[.-]/)['map'](_0x42815e=>Number['parseInt'](_0x42815e,0xa)||0x0),_0x12b873=String(_0x2f9fb7||'')[_0x48306a(0x1a5)](/^v/,'')[_0x48306a(0x186)](/[.-]/)[_0x48306a(0x14e)](_0x3ded2e=>Number[_0x48306a(0x13b)](_0x3ded2e,0xa)||0x0);for(let _0x577409=0x0;_0x577409<Math['max'](_0x56c8a2['length'],_0x12b873['length'],0x3);_0x577409++){const _0x48928a=_0x56c8a2[_0x577409]||0x0,_0x14e633=_0x12b873[_0x577409]||0x0;if(_0x48928a>_0x14e633)return 0x1;if(_0x48928a<_0x14e633)return-0x1;}return 0x0;}function resolveExecutable(_0x59e77b){const _0x4ec083=a0_0x3670b6,_0x3a719d=process[_0x4ec083(0x18f)]===_0x4ec083(0x191)?_0x4ec083(0x16c):_0x4ec083(0x176);try{const _0x7d18da=(0x0,import_child_process[_0x4ec083(0x14a)])(_0x3a719d,[_0x59e77b],{'encoding':_0x4ec083(0x17b),'timeout':0xbb8,'shell':![]});if(_0x7d18da[_0x4ec083(0x145)]!==0x0)return'';return String(_0x7d18da[_0x4ec083(0x16b)]||'')[_0x4ec083(0x186)](/\r?\n/)['map'](_0x3930a0=>_0x3930a0[_0x4ec083(0x13a)]())['filter'](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0xb69eb4=a0_0x3670b6,_0x1371ca=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')['trim']()[_0xb69eb4(0x18e)]();return _0x1371ca==='1'||_0x1371ca==='true'||_0x1371ca==='yes'||_0x1371ca==='on';}function latestWrapperVersion(){const _0x4f134d=a0_0x3670b6,_0x63d5c0=runNpmView(['view',WRAPPER_PKG_NAME+'@latest','version',_0x4f134d(0x157)+NPM_REGISTRY]);if(_0x63d5c0[_0x4f134d(0x145)]!==0x0)return'';return String(_0x63d5c0[_0x4f134d(0x16b)]||'')['trim']()['split'](/\r?\n/)[_0x4f134d(0x16a)](Boolean)[_0x4f134d(0x17d)]()||'';}function installWrapperVersion(_0xadc1c0){const _0x1f2fe8=a0_0x3670b6,_0x549f79=resolveExecutable('npm');if(!_0x549f79)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x3ba271=run(_0x549f79,['install','-g',WRAPPER_PKG_NAME+'@'+_0xadc1c0,'--registry='+NPM_REGISTRY]),_0x2a1fe0=((_0x3ba271['stdout']||'')+'\x0a'+(_0x3ba271['stderr']||''))['trim']();return{'ok':_0x3ba271[_0x1f2fe8(0x145)]===0x0,'output':_0x2a1fe0};}function maybeUpdateWrapper(_0x49798f){const _0x124f67=a0_0x3670b6;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x56af56=latestWrapperVersion();if(!_0x56af56||compareSemver(_0x56af56,WRAPPER_VERSION)<=0x0)return![];console[_0x124f67(0x1af)](_0x124f67(0x151)+'ilable:\x20'+WRAPPER_VERSION+'\x20->\x20'+_0x56af56),console['warn']('[wrapper]\x20installing'+'\x20'+WRAPPER_PKG_NAME+'@'+_0x56af56+(_0x124f67(0x18c)+'rting\x20core...'));const _0x4d0d24=installWrapperVersion(_0x56af56);if(!_0x4d0d24['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x124f67(0x199)+'ing\x20with\x20'+WRAPPER_VERSION);if(_0x4d0d24['output'])console[_0x124f67(0x1af)](_0x4d0d24[_0x124f67(0x171)][_0x124f67(0x186)](/\r?\n/)[_0x124f67(0x131)](-0xc)[_0x124f67(0x17e)]('\x0a'));return console[_0x124f67(0x1af)](_0x124f67(0x1ae)+'ate:\x20npm\x20install\x20-g\x20'+WRAPPER_PKG_NAME+'@'+_0x56af56+'\x20--registry='+NPM_REGISTRY),![];}console[_0x124f67(0x1af)]('[wrapper]\x20wrapper\x20up'+_0x124f67(0x15b)+_0x56af56+';\x20restarting\x20wrapper');const _0x4095fa=process['argv'][0x1],_0x38f9bf=(0x0,import_child_process['spawnSync'])(process[_0x124f67(0x159)],[_0x4095fa,..._0x49798f],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x56af56},'shell':![]});process[_0x124f67(0x19a)](_0x38f9bf[_0x124f67(0x145)]??0x0);}function findCoreScript(){const _0x417104=a0_0x3670b6,_0x4f51f3=String(process.env.WHALENT_CORE_ENTRY||'')['trim'](),_0x317e07=['1','true','yes','on'][_0x417104(0x195)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')['trim']()[_0x417104(0x18e)]());if(_0x4f51f3&&_0x317e07&&fs['existsSync'](_0x4f51f3))return _0x4f51f3;const _0x2cd9a7=[],_0x4addc5=_0xea0d4d=>{const _0x4cd559=_0x417104;if(fs[_0x4cd559(0x13f)](_0xea0d4d)&&!_0x2cd9a7['includes'](_0xea0d4d))_0x2cd9a7['push'](_0xea0d4d);};if(_0x4f51f3)_0x4addc5(_0x4f51f3);const _0x34e260=npmRootGlobal();if(_0x34e260){const _0x2172ec=path['join'](_0x34e260,_0x417104(0x184),_0x417104(0x15d),'dist','index.cjs');_0x4addc5(_0x2172ec);}const _0x12d1ba=path[_0x417104(0x17e)](wrapperBaseDir(),'core.cjs');_0x4addc5(_0x12d1ba);const _0x3b23bd=path['join'](wrapperBaseDir(),'..','packages','core',_0x417104(0x1a3),'index.cjs');_0x4addc5(_0x3b23bd);if(_0x2cd9a7[_0x417104(0x193)]>0x0)return _0x2cd9a7[_0x417104(0x14e)]((_0x149779,_0x36ccb6)=>({'candidate':_0x149779,'index':_0x36ccb6,'version':coreVersion(_0x149779)}))['sort']((_0x682a2f,_0x3f81f8)=>{const _0x26605e=_0x417104,_0x51a022=compareSemver(_0x3f81f8[_0x26605e(0x181)],_0x682a2f[_0x26605e(0x181)]);if(_0x51a022!==0x0)return _0x51a022;return _0x3f81f8[_0x26605e(0x168)]-_0x682a2f['index'];})[0x0][_0x417104(0x1a8)];throw new Error(_0x417104(0x154)+_0x417104(0x187)+'@whalent/agent-core\x20'+'or\x20rebuild\x20@whalent/'+'agent');}function a0_0x1813(_0x4962ab,_0x4e0bc9){_0x4962ab=_0x4962ab-0x12d;const _0x20685b=a0_0x2068();let _0x181362=_0x20685b[_0x4962ab];if(a0_0x1813['hsPViw']===undefined){var _0x101fe9=function(_0x4468f5){const _0x23f521='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x42ade2='',_0x2ba3dd='';for(let _0x484a43=0x0,_0x5a7a53,_0x4be5d6,_0x35767f=0x0;_0x4be5d6=_0x4468f5['charAt'](_0x35767f++);~_0x4be5d6&&(_0x5a7a53=_0x484a43%0x4?_0x5a7a53*0x40+_0x4be5d6:_0x4be5d6,_0x484a43++%0x4)?_0x42ade2+=String['fromCharCode'](0xff&_0x5a7a53>>(-0x2*_0x484a43&0x6)):0x0){_0x4be5d6=_0x23f521['indexOf'](_0x4be5d6);}for(let _0x46f124=0x0,_0xddde40=_0x42ade2['length'];_0x46f124<_0xddde40;_0x46f124++){_0x2ba3dd+='%'+('00'+_0x42ade2['charCodeAt'](_0x46f124)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ba3dd);};a0_0x1813['QQAndZ']=_0x101fe9,a0_0x1813['iFJZdw']={},a0_0x1813['hsPViw']=!![];}const _0x383491=_0x20685b[0x0],_0x175c17=_0x4962ab+_0x383491,_0x2b0f1a=a0_0x1813['iFJZdw'][_0x175c17];return!_0x2b0f1a?(_0x181362=a0_0x1813['QQAndZ'](_0x181362),a0_0x1813['iFJZdw'][_0x175c17]=_0x181362):_0x181362=_0x2b0f1a,_0x181362;}function coreVersion(_0x1de9e9=findCoreScript()){const _0x5a4334=a0_0x3670b6,_0x236a7d=(0x0,import_child_process[_0x5a4334(0x14a)])(process[_0x5a4334(0x159)],[_0x1de9e9,_0x5a4334(0x1ad)],{'encoding':_0x5a4334(0x17b),'timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0x460f59=(_0x236a7d[_0x5a4334(0x16b)]||'')+'\x0a'+(_0x236a7d[_0x5a4334(0x194)]||'');return _0x460f59[_0x5a4334(0x19d)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0xfb1fec){const _0x14bef6=a0_0x3670b6;try{return fs[_0x14bef6(0x1ac)](_0xfb1fec,fs['constants'][_0x14bef6(0x155)]),!![];}catch{return![];}}function shellQuote(_0x1a63dc){const _0x52317d=a0_0x3670b6;return'\x27'+_0x1a63dc[_0x52317d(0x1a5)](/'/g,'\x27\x5c\x27\x27')+'\x27';}function a0_0x2068(){const _0x56f775=['mJC3mdqWnefmvhLbCa','CM9SBgjHy2TFDw5HDMfPBgfIBgu','Ahr0Chm6lY9YzwDPC3rYEs5UCg0','lxb0EsbZCgf3BI1OzwXWzxiGAxm','y2f0y2G','CM91BMq','DhjPBq','CgfYC2vjBNq','Aw5ZDgfSBgvKx3zLCNnPB24','w3DYyxbWzxjDiezHDgfSigvYCM8','AgfZt3DUuhjVCgvYDhK','zxHPC3rZu3LUyW','ls1QC29U','ou5dwfH6yG','u0Lhvevstq','Bg9N','CgvUzgLUzW','C3rHDhvZ','Bw9Kzq','ihnPz25HBd0','zgfLBw9Ulw1JCa','ChjLyNvPBgrZ','C3bHD25tEw5J','ywrK','icbiruXqrvi9','lNDOywXLBNqTywDLBNq','BwfW','BwTKAxjtEw5J','z2v0t3DUuhjVCgvYDhLoyw1LCW','w3DYyxbWzxjDihvWzgf0zsbHDMe','C3bHD24TAgvSCgvY','BNbT','D2HHBgvUDcbJB3jLihj1BNrPBwu','wf9psW','ChvZAa','ls1YzwDPC3rYEt0','BgfZDc1JCMfZAc5QC29U','zxHLy1bHDgG','zgvMAw5LuhjVCgvYDhK','zgf0zwqGDg8G','nJeWBhvPDeXO','ywDLBNqTy29Yzq','w3DYyxbWzxjDig1Hy09tig5Vzgu','CM9SBgjHy2TFzMfPBgvK','C3bHD24','C2LNBMfS','mZe5nZy4ntzxzuX1zMS','C3rYAw5NAwz5','ywnR','w3DYyxbWzxjDigzPEgvKig1Hy08','Bw9KDwXL','ChjLDMLVDxmGy29Yzsb2zxjZAw8','Aw5KzxG','mundqwfwra','zMLSDgvY','C3rKB3v0','D2HLCMuUzxHL','CZSGz2L2Aw5NihvWlIbdCMfZAca','igLUigXHC3qG','y2fSBa','zNvUy3rPB24','B3v0Chv0','CMvJB3jKoIa','ufrzihn0yxj0Dxa6','DxrMltG','D3jHChbLCIa','D2HPy2G','zw51BwvYywjSzq','Aw5OzxjPDa','C2HPzNq','BNbTig5VDcbMB3vUzcbVBIbqqvq','DxrMoa','zgLYBMfTzq','Cg9W','AM9PBG','y2HPBgrFChjVy2vZCW','CMvZB2X2zq','DMvYC2LVBG','m3bquNnzzq','y29Kzq','qhDOywXLBNq','ntq0mtKWne5pALzbqW','C3bSAxq','ig5VDcbMB3vUzdSGAw5ZDgfSBca','igLUia','D3jPDgvgAwXLu3LUyW','y3jLyxrL','otqZmJuYDezvwxbk','igzYB20GBNbTigjLzM9YzsbZDge','oti1muXqzvzbsa','Dg9mB3DLCKnHC2u','CgXHDgzVCM0','BM90igLUC3rHBgXLza','D2LUmZi','ywnOAw5L','BgvUz3rO','C3rKzxjY','Aw5JBhvKzxm','mtuWndK5nfzvuvbwBq','B2jQzwn0','ls1OzwXW','zgf0zsbMywLSzwq7ignVBNrPBNu','zxHPDa','qhDOywXLBNqVywDLBNqTy29Yzq','lxb0EsbZCgf3BI1OzwXWzxiGBM8','Bwf0y2G','Ag9TzwrPCG','w3DYyxbWzxjDignVCMuGDxbNCMe','CgLWzq','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','nJm5meLZsuTwsW','zgLZDa','BNbTig5VDcbMB3vUza','CMvWBgfJzq','w3DYyxbWzxjDihjLC3rHCNrPBMC','z2v0uhjVDg90ExbLt2y','y2fUzgLKyxrL','A2LSBgvK','mJuZmKnyyvLQDG','zgfYD2LUlq','ywnJzxnZu3LUyW','ls12zxjZAw9U','w3DYyxbWzxjDie1HBNvHBcb1Cgq','D2fYBG','Dg9tDhjPBMC','CMvHzezPBgvtEw5J','BM93','ChjVDg90ExbL','r2f0zxDHEtOGy29UBMvJDgvK','zguGAgvHBhrOEtOG','r2f0zxDHEsbYzwDPC3rLCMvKig0','C2XPy2u','mc4WlJa','y3jLyxrLuMvXDwLYzq'];a0_0x2068=function(){return _0x56f775;};return a0_0x2068();}function coreNodePtySpawnHelperPath(_0x518b74){const _0x18b29=a0_0x3670b6;if(process['platform']!=='darwin')return'';try{const _0x3e150e=(0x0,import_module[_0x18b29(0x133)])(_0x518b74),_0x586b07=_0x3e150e[_0x18b29(0x180)]('node-pty'),_0x4b1e60=path[_0x18b29(0x180)](path[_0x18b29(0x17c)](_0x586b07),'..');return path[_0x18b29(0x17e)](_0x4b1e60,_0x18b29(0x149),_0x18b29(0x1ab)+process['arch'],_0x18b29(0x152));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x3aa89d){const _0x3b3aa4=a0_0x3670b6,_0x5ddb13=coreNodePtySpawnHelperPath(_0x3aa89d);if(!_0x5ddb13||CHECKED_PTY_HELPERS['has'](_0x5ddb13))return;CHECKED_PTY_HELPERS[_0x3b3aa4(0x14b)](_0x5ddb13);if(!fs[_0x3b3aa4(0x13f)](_0x5ddb13)){console[_0x3b3aa4(0x1af)]('[wrapper]\x20macOS\x20node'+_0x3b3aa4(0x19c)+'t\x20found:\x20'+_0x5ddb13);return;}if(isExecutable(_0x5ddb13))return;try{const _0x2d7853=fs['statSync'](_0x5ddb13)[_0x3b3aa4(0x146)];fs['chmodSync'](_0x5ddb13,_0x2d7853|0x1ed);}catch{}if(isExecutable(_0x5ddb13)){console[_0x3b3aa4(0x1af)](_0x3b3aa4(0x165)+'S\x20node-pty\x20spawn-hel'+'per\x20executable\x20bit:\x20'+_0x5ddb13);return;}console[_0x3b3aa4(0x1af)](_0x3b3aa4(0x15e)+_0x3b3aa4(0x137)+'\x20not\x20executable:\x20'+_0x5ddb13),console['warn']('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+_0x3b3aa4(0x173)),console['warn'](_0x3b3aa4(0x14c)+shellQuote(_0x5ddb13)),console[_0x3b3aa4(0x1af)]('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0x3b3aa4(0x1af)]('\x20\x20chmod\x20+x\x20\x22$HELPER\x22');}function printVersion(){const _0x30f33d=a0_0x3670b6;let _0x552cc3='';try{_0x552cc3=coreVersion();}catch{}console[_0x30f33d(0x143)]('whalent-agent\x20'+WRAPPER_VERSION),console[_0x30f33d(0x143)](_0x30f33d(0x175)+WRAPPER_VERSION),console[_0x30f33d(0x143)]('core\x20'+(_0x552cc3||_0x30f33d(0x190)));}function directCore(_0x5096f9){const _0x5f21af=a0_0x3670b6,_0x73a843=findCoreScript();checkMacNodePtySpawnHelper(_0x73a843);const _0x28e5cd=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x73a843,..._0x5096f9],{'stdio':_0x5f21af(0x178),'env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x73a843},'shell':![]});process['exit'](_0x28e5cd['status']??0x0);}function shouldSupervise(_0x298545){const _0x4da1a3=a0_0x3670b6;if(_0x298545['includes']('--agent-id'))return![];const _0x53dcfd=_0x298545[0x0]||'';if(_0x53dcfd==='ls'||_0x53dcfd===_0x4da1a3(0x145)||_0x53dcfd==='ps')return![];if(_0x53dcfd==='mcp'||_0x53dcfd===_0x4da1a3(0x148))return![];if(_0x298545['includes'](_0x4da1a3(0x198))||_0x298545['includes']('-h'))return![];return!![];}function installCoreVersion(_0x3fdf5e){const _0x28dbf2=a0_0x3670b6,_0x52fd68=resolveExecutable('npm');if(!_0x52fd68)return{'ok':![],'output':_0x28dbf2(0x17a)+'H'};const _0x448150=CORE_PKG_NAME+'@'+_0x3fdf5e,_0x567a6f=run(_0x52fd68,['install','-g',_0x448150,_0x28dbf2(0x157)+NPM_REGISTRY]),_0x549b7f=((_0x567a6f['stdout']||'')+'\x0a'+(_0x567a6f[_0x28dbf2(0x194)]||''))['trim']();return{'ok':_0x567a6f[_0x28dbf2(0x145)]===0x0,'output':_0x549b7f};}async function superviseCore(_0x265a1d){const _0x75afd6=a0_0x3670b6;let _0x37d86f=![],_0x2ef961=null;const _0x352324=[];let _0x4e62a3=MIN_RESTART_DELAY_MS;const _0x40c110=()=>{const _0x523f59=a0_0x1813;_0x37d86f=!![];if(_0x2ef961&&!_0x2ef961[_0x523f59(0x1a9)])try{_0x2ef961['kill'](_0x523f59(0x142));}catch{}else process[_0x523f59(0x19a)](0x0);};process['on']('SIGINT',_0x40c110),process['on'](_0x75afd6(0x142),_0x40c110);while(!![]){const _0x8f4758=findCoreScript();checkMacNodePtySpawnHelper(_0x8f4758);const _0x5930da={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x8f4758},_0x3f0f4a=readUpgradeState(),_0x62a4e0=!!_0x3f0f4a?.['pending'];let _0x1bf13a=![],_0x5dda15=null,_0x367d3d='';const _0x21f737=[],_0x1c9470=0xc;console['log']('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x8f4758),_0x2ef961=(0x0,import_child_process[_0x75afd6(0x160)])(process['execPath'],[_0x8f4758,..._0x265a1d],{'env':_0x5930da,'stdio':['inherit','pipe',_0x75afd6(0x1a0)]});const _0x5726ce=()=>{const _0x57bfb8=_0x75afd6;if(_0x1bf13a)return;_0x1bf13a=!![];if(_0x5dda15)clearTimeout(_0x5dda15);_0x352324[_0x57bfb8(0x193)]=0x0,_0x4e62a3=MIN_RESTART_DELAY_MS;const _0x269d69=readUpgradeState();_0x269d69?.[_0x57bfb8(0x144)]&&(writeUpgradeState({..._0x269d69,'pending':![],'rollback':![],'health_status':'healthy'}),console['log'](_0x57bfb8(0x19f)+_0x57bfb8(0x12f)+(_0x269d69[_0x57bfb8(0x13c)]||_0x269d69['target_version']||'')));},_0x474496=(_0x97052b,_0x35ba9a=![])=>{const _0x1e28ff=_0x75afd6,_0x52b7dc=_0x97052b[_0x1e28ff(0x1b0)]();(_0x35ba9a?process[_0x1e28ff(0x194)]:process['stdout'])['write'](_0x52b7dc);if(_0x35ba9a)for(const _0x17233d of _0x52b7dc['split'](/\r?\n/)){if(!_0x17233d['trim']())continue;_0x21f737[_0x1e28ff(0x156)](_0x17233d);if(_0x21f737['length']>_0x1c9470)_0x21f737[_0x1e28ff(0x179)]();const _0x2f10e7=_0x17233d['match'](FATAL_PATTERN);if(_0x2f10e7)_0x367d3d=_0x2f10e7[0x0];}(_0x52b7dc[_0x1e28ff(0x195)]('[gateway]\x20Connected')||_0x52b7dc['includes'](_0x1e28ff(0x130)+_0x1e28ff(0x192))||_0x52b7dc[_0x1e28ff(0x195)](_0x1e28ff(0x12e)))&&_0x5726ce();};_0x2ef961[_0x75afd6(0x16b)]?.['on']('data',_0x133c77=>_0x474496(_0x133c77,![])),_0x2ef961['stderr']?.['on']('data',_0x52d098=>_0x474496(_0x52d098,!![]));_0x62a4e0&&(_0x5dda15=setTimeout(()=>{const _0x3a7735=_0x75afd6;if(_0x1bf13a||!_0x2ef961||_0x2ef961[_0x3a7735(0x1a9)])return;console['error']('[wrapper]\x20new\x20core\x20d'+'id\x20not\x20become\x20health'+_0x3a7735(0x1a1)+_0x3a7735(0x164));try{_0x2ef961['kill'](_0x3a7735(0x142));}catch{}},HEALTH_TIMEOUT_MS));const _0x4f0084=await new Promise(_0x24c8a7=>{const _0x3b8d25=_0x75afd6;_0x2ef961['once'](_0x3b8d25(0x19a),(_0x28e811,_0x2f7fb2)=>_0x24c8a7({'code':_0x28e811,'signal':_0x2f7fb2}));});if(_0x5dda15)clearTimeout(_0x5dda15);_0x2ef961=null;if(_0x37d86f)process[_0x75afd6(0x19a)](_0x4f0084['code']??0x0);const _0x21effc=readUpgradeState();if(_0x21effc?.['pending']&&!_0x1bf13a){const _0x315018=String(_0x21effc['previous_core_versio'+'n']||'')[_0x75afd6(0x13a)]();if(_0x315018){console['error']('[wrapper]\x20rolling\x20ba'+'ck\x20core\x20to\x20'+_0x315018);const _0x6635b0=installCoreVersion(_0x315018);writeUpgradeState({..._0x21effc,'pending':![],'rollback':!![],'health_status':_0x6635b0['ok']?'rolled_back':_0x75afd6(0x15f),'error':_0x6635b0['ok']?'':_0x6635b0['output']});}else writeUpgradeState({..._0x21effc,'pending':![],'rollback':!![],'health_status':_0x75afd6(0x135),'error':_0x75afd6(0x167)+'n\x20unknown'});}const _0x44e7f6=_0x4f0084['code']===SUPERVISED_RESTART_CODE||_0x21effc?.[_0x75afd6(0x144)];if(!_0x44e7f6&&_0x4f0084[_0x75afd6(0x183)]===0x0)process['exit'](0x0);const _0x168c77=Date[_0x75afd6(0x1b2)]();_0x352324[_0x75afd6(0x156)](_0x168c77);while(_0x352324['length']>0x0&&_0x168c77-_0x352324[0x0]>CRASH_WINDOW_MS){_0x352324[_0x75afd6(0x179)]();}const _0x3fc541=_0x352324[_0x75afd6(0x193)];writeLastCrash({'timestamp':_0x168c77,'exit_code':_0x4f0084[_0x75afd6(0x183)],'exit_signal':_0x4f0084['signal']||null,'fatal_line':_0x367d3d,'raw_tail':_0x21f737['join']('\x0a'),'consecutive_crashes':_0x3fc541}),console['log']('[wrapper]\x20core\x20exite'+'d\x20code='+(_0x4f0084[_0x75afd6(0x183)]??'')+(_0x4f0084[_0x75afd6(0x161)]?_0x75afd6(0x147)+_0x4f0084['signal']:'')+'\x20('+_0x3fc541+'/'+MAX_CRASHES_IN_WINDOW+_0x75afd6(0x16e)+Math['round'](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x367d3d)console[_0x75afd6(0x143)]('[wrapper]\x20last\x20fatal'+':\x20'+_0x367d3d);_0x3fc541>=MAX_CRASHES_IN_WINDOW&&(console['error']('[wrapper]\x20core\x20faile'+'d\x20'+_0x3fc541+'\x20times\x20within\x20'+Math[_0x75afd6(0x139)](CRASH_WINDOW_MS/0x3e8)+(_0x75afd6(0x16d)+_0x75afd6(0x172))+lastCrashFilePath()+('.\x20Restart\x20wrapper\x20ma'+'nually\x20after\x20the\x20und'+'erlying\x20issue\x20is\x20fix'+'ed.')),process['exit'](0x1)),console['log'](_0x75afd6(0x1a6)+_0x75afd6(0x188)+_0x4e62a3+'ms'),await new Promise(_0x16dc44=>setTimeout(_0x16dc44,_0x4e62a3)),_0x4e62a3=Math['min'](_0x4e62a3*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x58d2b8=a0_0x3670b6,_0x4d1c1c=process['argv'][_0x58d2b8(0x131)](0x2);if(_0x4d1c1c[0x0]==='--version'||_0x4d1c1c[0x0]==='-v'||_0x4d1c1c[0x0]===_0x58d2b8(0x181)){printVersion();return;}if((_0x4d1c1c[0x0]==='status'||_0x4d1c1c[0x0]==='ls'||_0x4d1c1c[0x0]==='ps')&&!_0x4d1c1c[_0x58d2b8(0x195)](_0x58d2b8(0x140))){console[_0x58d2b8(0x143)](_0x58d2b8(0x175)+WRAPPER_VERSION);try{console['log']('core\x20'+(coreVersion()||_0x58d2b8(0x190)));}catch{console['log']('core\x20not\x20installed');}}maybeUpdateWrapper(_0x4d1c1c);if(!shouldSupervise(_0x4d1c1c))directCore(_0x4d1c1c);await superviseCore(_0x4d1c1c);}main()[a0_0x3670b6(0x138)](_0x5f259e=>{const _0x51ab18=a0_0x3670b6;console['error'](_0x51ab18(0x13d)+'r:\x20'+(_0x5f259e?.['message']||String(_0x5f259e))),process['exit'](0x1);});
2
+ 'use strict';const a0_0x478b4f=a0_0x1105;(function(_0x556558,_0x402843){const _0x31499a=a0_0x1105,_0x269564=_0x556558();while(!![]){try{const _0xb4234d=parseInt(_0x31499a(0x13a))/0x1+parseInt(_0x31499a(0x10c))/0x2*(parseInt(_0x31499a(0x14b))/0x3)+-parseInt(_0x31499a(0x123))/0x4+parseInt(_0x31499a(0xf8))/0x5*(-parseInt(_0x31499a(0x16a))/0x6)+parseInt(_0x31499a(0x15f))/0x7*(-parseInt(_0x31499a(0x136))/0x8)+parseInt(_0x31499a(0xfc))/0x9*(parseInt(_0x31499a(0x124))/0xa)+parseInt(_0x31499a(0x138))/0xb;if(_0xb4234d===_0x402843)break;else _0x269564['push'](_0x269564['shift']());}catch(_0x51f4d1){_0x269564['push'](_0x269564['shift']());}}}(a0_0x4517,0x8f489));var __create=Object[a0_0x478b4f(0x14f)],__defProp=Object['defineProperty'],__getOwnPropDesc=Object['getOwnPropertyDescri'+'ptor'],__getOwnPropNames=Object[a0_0x478b4f(0x169)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x478b4f(0x141)][a0_0x478b4f(0x155)],__copyProps=(_0x56ff43,_0xf42654,_0x491e1b,_0x3d6800)=>{const _0x15d35b=a0_0x478b4f;if(_0xf42654&&typeof _0xf42654===_0x15d35b(0x166)||typeof _0xf42654==='function'){for(let _0x38b0b8 of __getOwnPropNames(_0xf42654))if(!__hasOwnProp['call'](_0x56ff43,_0x38b0b8)&&_0x38b0b8!==_0x491e1b)__defProp(_0x56ff43,_0x38b0b8,{'get':()=>_0xf42654[_0x38b0b8],'enumerable':!(_0x3d6800=__getOwnPropDesc(_0xf42654,_0x38b0b8))||_0x3d6800[_0x15d35b(0x175)]});}return _0x56ff43;},__toESM=(_0x3c3565,_0x588153,_0x157c41)=>(_0x157c41=_0x3c3565!=null?__create(__getProtoOf(_0x3c3565)):{},__copyProps(_0x588153||!_0x3c3565||!_0x3c3565[a0_0x478b4f(0x15d)]?__defProp(_0x157c41,a0_0x478b4f(0x17d),{'value':_0x3c3565,'enumerable':!![]}):_0x157c41,_0x3c3565)),import_child_process=require('child_process'),fs=__toESM(require('fs'),0x1),import_module=require('module'),os=__toESM(require('os'),0x1),path=__toESM(require(a0_0x478b4f(0x10b)),0x1),WRAPPER_PKG_NAME='@whalent/agent',CORE_PKG_NAME=a0_0x478b4f(0x16b),NPM_REGISTRY='https://registry.npm'+'js.org',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 a0_0x4517(){const _0x1e37ce=['CgLWzq','igzYB20GBNbTigjLzM9YzsbZDge','Aw5KzxG','C3rKB3v0','ig5VDcbLEgvJDxrHyMXLoIa','w3DYyxbWzxjDiezHDgfSigvYCM8','ic0+ia','w3DYyxbWzxjDig5LDYbJB3jLigq','DhjPBq','C3rHDhvZ','lNDOywXLBNqTywDLBNq','CM9SBgjHy2TFzMfPBgvK','BNbTig5VDcbMB3vUzcbVBIbqqvq','C3bHD24TAgvSCgvY','Cgf0Aa','nZe1odHMA01yv1q','w3DYyxbWzxjDihjVBgXPBMCGyMe','icbJAg1VzcaREcaIjeHftfbfuIi','CNrPBMCGy29Yzs4UlG','Bg9N','D3jPDgvgAwXLu3LUyW','D2fYBG','A2LSBgvK','oYbYzxn0yxj0Aw5NihDYyxbWzxi','y2fUzgLKyxrL','ls12zxjZAw9U','AwXHyMXLoIa','Aw5ZDgfSBa','EwvZ','zxHLy1bHDgG','CgfYC2vjBNq','w3DYyxbWzxjDigzPEgvKig1Hy08','C3rYAw5NAwz5','C3bHD24','Aw5NihDPDgGG','AM9PBG','ls1OzwXW','y29Yzs5JANm','mtu4nZa0ohHcs1jqzG','mZi3nZCWs0zvqMTr','B3iGCMvIDwLSzcbaD2HHBgvUDc8','C29YDa','qgXHDgvZDa','CM9SBgvKx2jHy2S','BM93','Dhj1zq','CM9SBgjHy2TFDw5HDMfPBgfIBgu','BwTKAxjtEw5J','zxjYB3i','ChvZAa','DxrMltG','zxHPDa','Bwf0y2G','zgfYD2LUlq','y2HTB2rtEw5J','CgvUzgLUzW','Bw9Kzq','ndbnDKj6zeu','y29UC3rHBNrZ','otu3mteWmeTytvHwsG','Bwf4','odyYmdzJEg9qA08','CgfYC2u','DgfYz2v0x3zLCNnPB24','ls1Hz2vUDc1Pza','Aw5OzxjPDa','C3rKzxjY','ywnR','ChjVDg90ExbL','BgvUz3rO','BIb1BMTUB3DU','lIbszxn0yxj0ihDYyxbWzxiGBwe','EsbPBIb0Aw1LoYbYB2XSAw5Nigi','zwqU','AwqGBM90igjLy29TzsbOzwfSDgG','yxjJAa','igLUigXHC3qG','ls1YzwDPC3rYEt0','nJzquwLQEwq','CMvWBgfJzq','CgvYigv4zwn1DgfIBguGyML0oIa','w3DYyxbWzxjDigLUC3rHBgXPBMC','y3jLyxrL','CgXHDgzVCM0','Aw5JBhvKzxm','lxb0EsbZCgf3BI1OzwXWzxiGAxm','u0Lhvevstq','Cg9W','AgfZt3DUuhjVCgvYDhK','zgf0zsbMywLSzwq7ignVBNrPBNu','BNbT','D2HHBgvUDcbJB3jLihj1BNrPBwu','BNvHBgX5igfMDgvYihrOzsb1BMq','w3DYyxbWzxjDihjLC3rHCNrPBMC','ls1QC29U','C3bHD25tEw5J','x19LC01VzhvSzq','BwfW','otyYmJeZy2LdB1jT','r2f0zxDHEsbYzwDPC3rLCMvKig0','yxrLoIbUCg0GAw5ZDgfSBcaTzYa','y29Yzsa','lxb0EsbZCgf3BI1OzwXWzxiGBM8','DMvYC2LVBG','BM90igLUC3rHBgXLza','B2jQzwn0','CM91BMq','DxrMoa','z2v0t3DUuhjVCgvYDhLoyw1LCW','nZm1nJqYtfrkC3Pb','qhDOywXLBNqVywDLBNqTy29Yzq','C3bSAxq','zMLSDgvY','D2HHBgvUDc1Hz2vUDca','Dg9mB3DLCKnHC2u','y29Yzq','CZSGz2L2Aw5NihvWlIbdCMfZAca','wf9psW','zgfLBw9Ulw1JCa','AgfZ','zw51BwvYywjSzq','CMvHzezPBgvtEw5J','y2SGy29Yzsb0BYa','yxjNDG','w3DYyxbWzxjDignVCMuGzMfPBgu','CMvZB2X2zq','icbiruXqrvi9','zgfYD2LU','zgvMyxvSDa','B3v0Chv0','y29Kzq','BwvZC2fNzq','Aw5KzxGUy2PZ','mtvqrKHsCKG','w3DYyxbWzxjDignVCMuGzxHPDgu','C2LNBMfS','w3DYyxbWzxjDie1HBNvHBcb1Cgq','odf0tvLzBKG'];a0_0x4517=function(){return _0x1e37ce;};return a0_0x4517();}function configDir(){const _0x5a7946=a0_0x478b4f;return path[_0x5a7946(0x120)](os['homedir'](),_0x5a7946(0x107));}function upgradeStatePath(){return path['join'](configDir(),'core-upgrade.json');}function lastCrashFilePath(){const _0x491b39=a0_0x478b4f;return path[_0x491b39(0x120)](configDir(),'last-crash.json');}function writeLastCrash(_0x4dc038){const _0x8e920=a0_0x478b4f;try{fs[_0x8e920(0x12c)](configDir(),{'recursive':!![]});const _0x2a6214={..._0x4dc038,'reported':![]};fs[_0x8e920(0x111)](lastCrashFilePath(),JSON[_0x8e920(0x11d)](_0x2a6214,null,0x2),'utf-8');}catch{}}function readWrapperVersion(){const _0x488461=a0_0x478b4f;try{const _0x4a8a3c=JSON[_0x488461(0x13b)](fs[_0x488461(0x176)](path['join'](wrapperBaseDir(),'..','package.json'),'utf-8'));return String(_0x4a8a3c['version']||'0.0.0');}catch{return'0.0.0';}}function readUpgradeState(){const _0x11c9a3=a0_0x478b4f;try{return JSON[_0x11c9a3(0x13b)](fs[_0x11c9a3(0x176)](upgradeStatePath(),'utf-8'));}catch{return null;}}function writeUpgradeState(_0x3e12f7){const _0x11f356=a0_0x478b4f;try{fs['mkdirSync'](configDir(),{'recursive':!![]}),fs[_0x11f356(0x111)](upgradeStatePath(),JSON[_0x11f356(0x11d)]({..._0x3e12f7,'updated_at':Date[_0x11f356(0x129)]()},null,0x2),_0x11f356(0x12f));}catch{}}function run(_0x3fecb6,_0x55ec78,_0x3d6b0a=process.env){const _0x29d192=a0_0x478b4f;return(0x0,import_child_process[_0x29d192(0x15c)])(_0x3fecb6,_0x55ec78,{'encoding':_0x29d192(0x168),'timeout':NPM_INSTALL_TIMEOUT_MS,'maxBuffer':NPM_INSTALL_MAX_BUFFER,'env':_0x3d6b0a,'shell':![]});}function runNpmView(_0x33b07a){const _0x2eb87c=resolveExecutable('npm');if(!_0x2eb87c)return{'status':0x7f,'stdout':'','stderr':'npm\x20not\x20found','error':new Error('npm\x20not\x20found')};return(0x0,import_child_process['spawnSync'])(_0x2eb87c,_0x33b07a,{'encoding':'utf8','timeout':NPM_VIEW_TIMEOUT_MS,'maxBuffer':0x400*0x400,'env':process.env,'shell':![]});}function npmRootGlobal(){const _0x4bad78=a0_0x478b4f,_0x55f99d=resolveExecutable('npm');if(!_0x55f99d)return'';const _0xa3840=run(_0x55f99d,['root','-g']);if(_0xa3840['status']!==0x0)return'';return String(_0xa3840[_0x4bad78(0x100)]||'')[_0x4bad78(0x105)]();}function compareSemver(_0x797cfb,_0x144082){const _0x5d23b1=a0_0x478b4f,_0x3d42e7=String(_0x797cfb||'')[_0x5d23b1(0x14c)](/^v/,'')[_0x5d23b1(0x16c)](/[.-]/)[_0x5d23b1(0x15e)](_0x134ae6=>Number[_0x5d23b1(0x11b)](_0x134ae6,0xa)||0x0),_0x4bd448=String(_0x144082||'')['replace'](/^v/,'')['split'](/[.-]/)[_0x5d23b1(0x15e)](_0x1e8ee5=>Number['parseInt'](_0x1e8ee5,0xa)||0x0);for(let _0x3d418d=0x0;_0x3d418d<Math[_0x5d23b1(0x139)](_0x3d42e7['length'],_0x4bd448['length'],0x3);_0x3d418d++){const _0x576ee2=_0x3d42e7[_0x3d418d]||0x0,_0x535e09=_0x4bd448[_0x3d418d]||0x0;if(_0x576ee2>_0x535e09)return 0x1;if(_0x576ee2<_0x535e09)return-0x1;}return 0x0;}function resolveExecutable(_0x364535){const _0x39e483=a0_0x478b4f,_0x45012f=process['platform']==='win32'?'where.exe':'which';try{const _0x30d270=(0x0,import_child_process[_0x39e483(0x15c)])(_0x45012f,[_0x364535],{'encoding':_0x39e483(0x168),'timeout':0xbb8,'shell':![]});if(_0x30d270[_0x39e483(0x106)]!==0x0)return'';return String(_0x30d270[_0x39e483(0x100)]||'')[_0x39e483(0x16c)](/\r?\n/)[_0x39e483(0x15e)](_0x496e22=>_0x496e22['trim']())['filter'](Boolean)[0x0]||'';}catch{return'';}}function skipWrapperUpdateCheck(){const _0x2ce006=a0_0x478b4f,_0x124d36=String(process.env.WHALENT_SKIP_UPDATE_CHECK||process.env.WHALENT_NO_UPDATE_CHECK||process.env.WHALENT_SKIP_WRAPPER_UPDATE||'')[_0x2ce006(0x105)]()['toLowerCase']();return _0x124d36==='1'||_0x124d36==='true'||_0x124d36==='yes'||_0x124d36==='on';}function latestWrapperVersion(){const _0x49d5f7=a0_0x478b4f,_0x2496d8=runNpmView(['view',WRAPPER_PKG_NAME+_0x49d5f7(0x127),_0x49d5f7(0x164),_0x49d5f7(0x14a)+NPM_REGISTRY]);if(_0x2496d8['status']!==0x0)return'';return String(_0x2496d8['stdout']||'')[_0x49d5f7(0x105)]()[_0x49d5f7(0x16c)](/\r?\n/)[_0x49d5f7(0x16d)](Boolean)[_0x49d5f7(0x154)]()||'';}function installWrapperVersion(_0x330a40){const _0x3ce4a3=a0_0x478b4f,_0x2b056f=resolveExecutable('npm');if(!_0x2b056f)return{'ok':![],'output':_0x3ce4a3(0x109)+'H'};const _0x2782c4=run(_0x2b056f,['install','-g',WRAPPER_PKG_NAME+'@'+_0x330a40,'--registry='+NPM_REGISTRY]),_0x35e3eb=((_0x2782c4['stdout']||'')+'\x0a'+(_0x2782c4['stderr']||''))[_0x3ce4a3(0x105)]();return{'ok':_0x2782c4['status']===0x0,'output':_0x35e3eb};}function maybeUpdateWrapper(_0x54d681){const _0x26378c=a0_0x478b4f;if(skipWrapperUpdateCheck())return![];if(process.env.WHALENT_WRAPPER_UPDATE_ATTEMPTED)return![];const _0x238736=latestWrapperVersion();if(!_0x238736||compareSemver(_0x238736,WRAPPER_VERSION)<=0x0)return![];console['warn']('[wrapper]\x20update\x20ava'+_0x26378c(0x117)+WRAPPER_VERSION+_0x26378c(0x103)+_0x238736),console['warn'](_0x26378c(0x14e)+'\x20'+WRAPPER_PKG_NAME+'@'+_0x238736+(_0x26378c(0xfe)+_0x26378c(0x10f)));const _0x2f85a7=installWrapperVersion(_0x238736);if(!_0x2f85a7['ok']){console['warn']('[wrapper]\x20wrapper\x20up'+_0x26378c(0x156)+_0x26378c(0x11f)+WRAPPER_VERSION);if(_0x2f85a7[_0x26378c(0x17e)])console['warn'](_0x2f85a7['output'][_0x26378c(0x16c)](/\r?\n/)['slice'](-0xc)[_0x26378c(0x120)]('\x0a'));return console[_0x26378c(0x112)](_0x26378c(0xfb)+_0x26378c(0x161)+WRAPPER_PKG_NAME+'@'+_0x238736+'\x20--registry='+NPM_REGISTRY),![];}console['warn']('[wrapper]\x20wrapper\x20up'+'dated\x20to\x20'+_0x238736+_0x26378c(0x114));const _0x4c85e7=process['argv'][0x1],_0x34a305=(0x0,import_child_process[_0x26378c(0x15c)])(process[_0x26378c(0x11a)],[_0x4c85e7,..._0x54d681],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_UPDATE_ATTEMPTED':_0x238736},'shell':![]});process[_0x26378c(0x130)](_0x34a305[_0x26378c(0x106)]??0x0);}function findCoreScript(){const _0x539019=a0_0x478b4f,_0x5ce22d=String(process.env.WHALENT_CORE_ENTRY||'')[_0x539019(0x105)](),_0x5b95ea=['1',_0x539019(0x12a),_0x539019(0x119),'on'][_0x539019(0x151)](String(process.env.WHALENT_FORCE_CORE_ENTRY||'')[_0x539019(0x105)]()[_0x539019(0x16f)]());if(_0x5ce22d&&_0x5b95ea&&fs['existsSync'](_0x5ce22d))return _0x5ce22d;const _0x339d26=[],_0x2d38eb=_0xaf57dc=>{const _0x267833=_0x539019;if(fs['existsSync'](_0xaf57dc)&&!_0x339d26[_0x267833(0x151)](_0xaf57dc))_0x339d26[_0x267833(0x12e)](_0xaf57dc);};if(_0x5ce22d)_0x2d38eb(_0x5ce22d);const _0x2fa84b=npmRootGlobal();if(_0x2fa84b){const _0x3e2532=path[_0x539019(0x120)](_0x2fa84b,'@whalent','agent-core','dist','index.cjs');_0x2d38eb(_0x3e2532);}const _0x129959=path['join'](wrapperBaseDir(),_0x539019(0x122));_0x2d38eb(_0x129959);const _0x65a64a=path['join'](wrapperBaseDir(),'..','packages',_0x539019(0x170),'dist',_0x539019(0xf7));_0x2d38eb(_0x65a64a);if(_0x339d26[_0x539019(0x142)]>0x0)return _0x339d26['map']((_0x18564d,_0x9b318b)=>({'candidate':_0x18564d,'index':_0x9b318b,'version':coreVersion(_0x18564d)}))[_0x539019(0x126)]((_0x132f50,_0x141ebf)=>{const _0x3acfb2=_0x539019,_0x1f0124=compareSemver(_0x141ebf['version'],_0x132f50[_0x3acfb2(0x164)]);if(_0x1f0124!==0x0)return _0x1f0124;return _0x141ebf[_0x3acfb2(0xff)]-_0x132f50['index'];})[0x0][_0x539019(0x115)];throw new Error(_0x539019(0x158)+'\x20not\x20found;\x20install\x20'+'@whalent/agent-core\x20'+_0x539019(0x125)+'agent');}function coreVersion(_0x489f2d=findCoreScript()){const _0x432a73=a0_0x478b4f,_0x516ebc=(0x0,import_child_process['spawnSync'])(process['execPath'],[_0x489f2d,_0x432a73(0x116)],{'encoding':'utf8','timeout':0x3a98,'env':{...process.env,'WHALENT_SKIP_UPDATE_CHECK':'1'},'shell':![]}),_0xb38b59=(_0x516ebc[_0x432a73(0x100)]||'')+'\x0a'+(_0x516ebc['stderr']||'');return _0xb38b59[_0x432a73(0x131)](/(\d+\.\d+\.\d+(?:[-\w.]+)?)/)?.[0x1]||'';}function isExecutable(_0x4b665f){const _0x23d6d7=a0_0x478b4f;try{return fs['accessSync'](_0x4b665f,fs[_0x23d6d7(0x137)][_0x23d6d7(0x172)]),!![];}catch{return![];}}function shellQuote(_0x1c4ff4){return'\x27'+_0x1c4ff4['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';}function coreNodePtySpawnHelperPath(_0x4c0721){const _0x1111cb=a0_0x478b4f;if(process[_0x1111cb(0x150)]!==_0x1111cb(0x17c))return'';try{const _0x18739e=(0x0,import_module['createRequire'])(_0x4c0721),_0x10598=_0x18739e[_0x1111cb(0x17a)]('node-pty'),_0x8ca09d=path[_0x1111cb(0x17a)](path['dirname'](_0x10598),'..');return path[_0x1111cb(0x120)](_0x8ca09d,'prebuilds',_0x1111cb(0x132)+process[_0x1111cb(0x148)],_0x1111cb(0x10a));}catch{return'';}}function checkMacNodePtySpawnHelper(_0x5abb95){const _0xe3b018=a0_0x478b4f,_0x105227=coreNodePtySpawnHelperPath(_0x5abb95);if(!_0x105227||CHECKED_PTY_HELPERS[_0xe3b018(0x174)](_0x105227))return;CHECKED_PTY_HELPERS['add'](_0x105227);if(!fs['existsSync'](_0x105227)){console[_0xe3b018(0x112)]('[wrapper]\x20macOS\x20node'+_0xe3b018(0x163)+'t\x20found:\x20'+_0x105227);return;}if(isExecutable(_0x105227))return;try{const _0x185919=fs['statSync'](_0x105227)[_0xe3b018(0x135)];fs[_0xe3b018(0x133)](_0x105227,_0x185919|0x1ed);}catch{}if(isExecutable(_0x105227)){console['warn'](_0xe3b018(0x11c)+'S\x20node-pty\x20spawn-hel'+_0xe3b018(0x14d)+_0x105227);return;}console['warn']('[wrapper]\x20macOS\x20node'+_0xe3b018(0x152)+_0xe3b018(0x101)+_0x105227),console[_0xe3b018(0x112)]('[wrapper]\x20Run\x20this\x20o'+'nce\x20to\x20fix\x20terminal/'+'PTY\x20startup:'),console[_0xe3b018(0x112)](_0xe3b018(0x17b)+shellQuote(_0x105227)),console['warn']('\x20\x20ls\x20-l\x20\x22$HELPER\x22'),console[_0xe3b018(0x112)](_0xe3b018(0x10e));}function printVersion(){const _0x39c981=a0_0x478b4f;let _0x416af5='';try{_0x416af5=coreVersion();}catch{}console['log'](_0x39c981(0x16e)+WRAPPER_VERSION),console[_0x39c981(0x110)]('wrapper\x20'+WRAPPER_VERSION),console['log'](_0x39c981(0x162)+(_0x416af5||_0x39c981(0x165)));}function a0_0x1105(_0x5975d7,_0x95ebc0){_0x5975d7=_0x5975d7-0xf6;const _0x4517f8=a0_0x4517();let _0x1105bc=_0x4517f8[_0x5975d7];if(a0_0x1105['sxJjLb']===undefined){var _0xbe5c6a=function(_0x2b38bb){const _0x40e9f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56ff43='',_0xf42654='';for(let _0x491e1b=0x0,_0x3d6800,_0x38b0b8,_0x3c3565=0x0;_0x38b0b8=_0x2b38bb['charAt'](_0x3c3565++);~_0x38b0b8&&(_0x3d6800=_0x491e1b%0x4?_0x3d6800*0x40+_0x38b0b8:_0x38b0b8,_0x491e1b++%0x4)?_0x56ff43+=String['fromCharCode'](0xff&_0x3d6800>>(-0x2*_0x491e1b&0x6)):0x0){_0x38b0b8=_0x40e9f5['indexOf'](_0x38b0b8);}for(let _0x588153=0x0,_0x157c41=_0x56ff43['length'];_0x588153<_0x157c41;_0x588153++){_0xf42654+='%'+('00'+_0x56ff43['charCodeAt'](_0x588153)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf42654);};a0_0x1105['lXufBD']=_0xbe5c6a,a0_0x1105['BiBaAc']={},a0_0x1105['sxJjLb']=!![];}const _0x2563ed=_0x4517f8[0x0],_0x276ade=_0x5975d7+_0x2563ed,_0x1c4d93=a0_0x1105['BiBaAc'][_0x276ade];return!_0x1c4d93?(_0x1105bc=a0_0x1105['lXufBD'](_0x1105bc),a0_0x1105['BiBaAc'][_0x276ade]=_0x1105bc):_0x1105bc=_0x1c4d93,_0x1105bc;}function directCore(_0x45d0fe){const _0x2bd070=a0_0x478b4f,_0x9021d=findCoreScript();checkMacNodePtySpawnHelper(_0x9021d);const _0x18980e=(0x0,import_child_process[_0x2bd070(0x15c)])(process[_0x2bd070(0x11a)],[_0x9021d,..._0x45d0fe],{'stdio':'inherit','env':{...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_CORE_ENTRY':_0x9021d},'shell':![]});process[_0x2bd070(0x130)](_0x18980e[_0x2bd070(0x106)]??0x0);}function shouldSupervise(_0x7c1aeb){const _0x28f63d=a0_0x478b4f;if(_0x7c1aeb['includes'](_0x28f63d(0x13d)))return![];const _0x57bdcf=_0x7c1aeb[0x0]||'';if(_0x57bdcf==='ls'||_0x57bdcf==='status'||_0x57bdcf==='ps')return![];if(_0x57bdcf==='mcp'||_0x57bdcf===_0x28f63d(0x173))return![];if(_0x7c1aeb['includes'](_0x28f63d(0x121))||_0x7c1aeb['includes']('-h'))return![];return!![];}function installCoreVersion(_0x33cb70){const _0x27e1a6=a0_0x478b4f,_0x512b72=resolveExecutable(_0x27e1a6(0x157));if(!_0x512b72)return{'ok':![],'output':'npm\x20not\x20found\x20on\x20PAT'+'H'};const _0x113a06=CORE_PKG_NAME+'@'+_0x33cb70,_0x374722=run(_0x512b72,[_0x27e1a6(0x118),'-g',_0x113a06,_0x27e1a6(0x14a)+NPM_REGISTRY]),_0xa1249=((_0x374722['stdout']||'')+'\x0a'+(_0x374722['stderr']||''))[_0x27e1a6(0x105)]();return{'ok':_0x374722['status']===0x0,'output':_0xa1249};}async function superviseCore(_0x301a06){const _0x5e3f11=a0_0x478b4f;let _0x3679fc=![],_0x4d7d0d=null;const _0x49a0f6=[];let _0x4d84e4=MIN_RESTART_DELAY_MS;const _0x5d2e11=()=>{const _0x947d01=a0_0x1105;_0x3679fc=!![];if(_0x4d7d0d&&!_0x4d7d0d[_0x947d01(0x113)])try{_0x4d7d0d['kill']('SIGTERM');}catch{}else process['exit'](0x0);};process['on']('SIGINT',_0x5d2e11),process['on'](_0x5e3f11(0x153),_0x5d2e11);while(!![]){const _0x20d6e7=findCoreScript();checkMacNodePtySpawnHelper(_0x20d6e7);const _0x2cb295={...process.env,'WHALENT_WRAPPER_VERSION':WRAPPER_VERSION,'WHALENT_WRAPPER_MANAGED':'1','WHALENT_CORE_ENTRY':_0x20d6e7},_0x582a65=readUpgradeState(),_0x473710=!!_0x582a65?.[_0x5e3f11(0x134)];let _0x376ed6=![],_0x3138bb=null,_0x47a515='';const _0x48b723=[],_0x83df1f=0xc;console[_0x5e3f11(0x110)]('[wrapper]\x20starting\x20c'+'ore:\x20'+_0x20d6e7),_0x4d7d0d=(0x0,import_child_process[_0x5e3f11(0x11e)])(process[_0x5e3f11(0x11a)],[_0x20d6e7,..._0x301a06],{'env':_0x2cb295,'stdio':[_0x5e3f11(0x13e),_0x5e3f11(0xfd),_0x5e3f11(0xfd)]});const _0x169224=()=>{const _0x5b382c=_0x5e3f11;if(_0x376ed6)return;_0x376ed6=!![];if(_0x3138bb)clearTimeout(_0x3138bb);_0x49a0f6[_0x5b382c(0x142)]=0x0,_0x4d84e4=MIN_RESTART_DELAY_MS;const _0x13216a=readUpgradeState();_0x13216a?.[_0x5b382c(0x134)]&&(writeUpgradeState({..._0x13216a,'pending':![],'rollback':![],'health_status':'healthy'}),console[_0x5b382c(0x110)]('[wrapper]\x20core\x20upgra'+'de\x20healthy:\x20'+(_0x13216a['installed_version']||_0x13216a[_0x5b382c(0x13c)]||'')));},_0x587502=(_0x27599b,_0x4d4cb3=![])=>{const _0x465105=_0x5e3f11,_0x19bbe7=_0x27599b['toString']();(_0x4d4cb3?process[_0x465105(0x13f)]:process['stdout'])['write'](_0x19bbe7);if(_0x4d4cb3)for(const _0x204549 of _0x19bbe7['split'](/\r?\n/)){if(!_0x204549['trim']())continue;_0x48b723['push'](_0x204549);if(_0x48b723[_0x465105(0x142)]>_0x83df1f)_0x48b723['shift']();const _0x1e64f4=_0x204549['match'](FATAL_PATTERN);if(_0x1e64f4)_0x47a515=_0x1e64f4[0x0];}(_0x19bbe7['includes']('[gateway]\x20Connected')||_0x19bbe7['includes'](_0x465105(0x160)+'achine')||_0x19bbe7['includes']('Gateway:\x20connected'))&&_0x169224();};_0x4d7d0d[_0x5e3f11(0x100)]?.['on']('data',_0xec0107=>_0x587502(_0xec0107,![])),_0x4d7d0d[_0x5e3f11(0x13f)]?.['on']('data',_0x3c6b8a=>_0x587502(_0x3c6b8a,!![]));_0x473710&&(_0x3138bb=setTimeout(()=>{const _0x141d18=_0x5e3f11;if(_0x376ed6||!_0x4d7d0d||_0x4d7d0d[_0x141d18(0x113)])return;console['error'](_0x141d18(0x104)+_0x141d18(0x147)+_0x141d18(0x145)+_0x141d18(0x140));try{_0x4d7d0d['kill'](_0x141d18(0x153));}catch{}},HEALTH_TIMEOUT_MS));const _0xbd22cd=await new Promise(_0x55503c=>{const _0x7606f4=_0x5e3f11;_0x4d7d0d['once'](_0x7606f4(0x130),(_0x27d3a7,_0x517924)=>_0x55503c({'code':_0x27d3a7,'signal':_0x517924}));});if(_0x3138bb)clearTimeout(_0x3138bb);_0x4d7d0d=null;if(_0x3679fc)process['exit'](_0xbd22cd['code']??0x0);const _0x26fa4a=readUpgradeState();if(_0x26fa4a?.['pending']&&!_0x376ed6){const _0x3bd8a7=String(_0x26fa4a['previous_core_versio'+'n']||'')[_0x5e3f11(0x105)]();if(_0x3bd8a7){console[_0x5e3f11(0x12d)](_0x5e3f11(0x10d)+_0x5e3f11(0x177)+_0x3bd8a7);const _0x43cf6b=installCoreVersion(_0x3bd8a7);writeUpgradeState({..._0x26fa4a,'pending':![],'rollback':!![],'health_status':_0x43cf6b['ok']?_0x5e3f11(0x128):_0x5e3f11(0x108),'error':_0x43cf6b['ok']?'':_0x43cf6b['output']});}else writeUpgradeState({..._0x26fa4a,'pending':![],'rollback':!![],'health_status':_0x5e3f11(0x12b),'error':'previous\x20core\x20versio'+_0x5e3f11(0x143)});}const _0x48775f=_0xbd22cd['code']===SUPERVISED_RESTART_CODE||_0x26fa4a?.['pending'];if(!_0x48775f&&_0xbd22cd['code']===0x0)process['exit'](0x0);const _0x3e0912=Date['now']();_0x49a0f6[_0x5e3f11(0x12e)](_0x3e0912);while(_0x49a0f6['length']>0x0&&_0x3e0912-_0x49a0f6[0x0]>CRASH_WINDOW_MS){_0x49a0f6['shift']();}const _0x2212f4=_0x49a0f6[_0x5e3f11(0x142)];writeLastCrash({'timestamp':_0x3e0912,'exit_code':_0xbd22cd[_0x5e3f11(0x17f)],'exit_signal':_0xbd22cd[_0x5e3f11(0xfa)]||null,'fatal_line':_0x47a515,'raw_tail':_0x48b723[_0x5e3f11(0x120)]('\x0a'),'consecutive_crashes':_0x2212f4}),console[_0x5e3f11(0x110)](_0x5e3f11(0xf9)+'d\x20code='+(_0xbd22cd[_0x5e3f11(0x17f)]??'')+(_0xbd22cd[_0x5e3f11(0xfa)]?'\x20signal='+_0xbd22cd[_0x5e3f11(0xfa)]:'')+'\x20('+_0x2212f4+'/'+MAX_CRASHES_IN_WINDOW+_0x5e3f11(0x149)+Math[_0x5e3f11(0x167)](CRASH_WINDOW_MS/0x3e8)+'s)');if(_0x47a515)console['log']('[wrapper]\x20last\x20fatal'+':\x20'+_0x47a515);_0x2212f4>=MAX_CRASHES_IN_WINDOW&&(console['error'](_0x5e3f11(0x179)+'d\x20'+_0x2212f4+'\x20times\x20within\x20'+Math['round'](CRASH_WINDOW_MS/0x3e8)+(_0x5e3f11(0x171)+'record:\x20')+lastCrashFilePath()+(_0x5e3f11(0x144)+_0x5e3f11(0x159)+'erlying\x20issue\x20is\x20fix'+_0x5e3f11(0x146))),process[_0x5e3f11(0x130)](0x1)),console[_0x5e3f11(0x110)](_0x5e3f11(0x15a)+'\x20in\x20'+_0x4d84e4+'ms'),await new Promise(_0x5af62a=>setTimeout(_0x5af62a,_0x4d84e4)),_0x4d84e4=Math['min'](_0x4d84e4*0x2,MAX_RESTART_DELAY_MS);}}async function main(){const _0x3d3dde=a0_0x478b4f,_0x413b94=process[_0x3d3dde(0x178)]['slice'](0x2);if(_0x413b94[0x0]==='--version'||_0x413b94[0x0]==='-v'||_0x413b94[0x0]===_0x3d3dde(0x164)){printVersion();return;}if((_0x413b94[0x0]==='status'||_0x413b94[0x0]==='ls'||_0x413b94[0x0]==='ps')&&!_0x413b94['includes'](_0x3d3dde(0x15b))){console[_0x3d3dde(0x110)]('wrapper\x20'+WRAPPER_VERSION);try{console['log'](_0x3d3dde(0x162)+(coreVersion()||_0x3d3dde(0x165)));}catch{console['log']('core\x20not\x20installed');}}maybeUpdateWrapper(_0x413b94);if(!shouldSupervise(_0x413b94))directCore(_0x413b94);await superviseCore(_0x413b94);}main()['catch'](_0x883815=>{const _0x10c4ff=a0_0x478b4f;console['error'](_0x10c4ff(0x102)+'r:\x20'+(_0x883815?.[_0x10c4ff(0xf6)]||String(_0x883815))),process['exit'](0x1);});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whalent/agent",
3
- "version": "0.3.83",
3
+ "version": "0.3.87",
4
4
  "description": "Stable wrapper for Whalent Agent core runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -17,6 +17,8 @@
17
17
  "scripts": {
18
18
  "build": "node build.mjs",
19
19
  "build:fast": "node build.mjs --no-obfuscate",
20
+ "build:sqlite-helper": "node scripts/build-sqlite-helper.mjs",
21
+ "build:sqlite-helper:all": "node scripts/build-sqlite-helper.mjs --all",
20
22
  "preinstall": "node scripts/preinstall-check.cjs",
21
23
  "prepublishOnly": "node build.mjs",
22
24
  "start": "node dist/index.cjs"
@@ -33,7 +35,6 @@
33
35
  "@anthropic-ai/claude-agent-sdk": "^0.2.138",
34
36
  "@modelcontextprotocol/sdk": "^1.27.1",
35
37
  "@opencode-ai/sdk": "^1.14.28",
36
- "better-sqlite3": "^12.10.0",
37
38
  "node-pty": "^1.1.0",
38
39
  "proxy-agent": "^7.0.0",
39
40
  "undici": "^6.25.0",
@@ -41,7 +42,8 @@
41
42
  "yaml": "^2.4.0"
42
43
  },
43
44
  "optionalDependencies": {
44
- "@whalent/agent-core": "0.3.83"
45
+ "@whalent/agent-core": "0.3.87",
46
+ "better-sqlite3": "^12.10.0"
45
47
  },
46
48
  "devDependencies": {
47
49
  "@types/better-sqlite3": "^7.6.13",