apt-mcp-agent-setup 1.1.2 → 1.2.0

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.
@@ -1 +1 @@
1
- const _0x2fb957=_0x49a4;(function(_0x244f05,_0x43ecf8){const _0x436102=_0x49a4,_0x104d2d=_0x244f05();while(!![]){try{const _0x38ce90=parseInt(_0x436102(0x1d2))/0x1+-parseInt(_0x436102(0x190))/0x2+parseInt(_0x436102(0x162))/0x3*(-parseInt(_0x436102(0x19c))/0x4)+parseInt(_0x436102(0x175))/0x5*(parseInt(_0x436102(0x193))/0x6)+parseInt(_0x436102(0x1a3))/0x7+-parseInt(_0x436102(0x164))/0x8*(-parseInt(_0x436102(0x156))/0x9)+parseInt(_0x436102(0x1aa))/0xa;if(_0x38ce90===_0x43ecf8)break;else _0x104d2d['push'](_0x104d2d['shift']());}catch(_0x50e0bb){_0x104d2d['push'](_0x104d2d['shift']());}}}(_0x40ed,0xf3d2e));function _0x49a4(_0xf04edc,_0x2d12fc){_0xf04edc=_0xf04edc-0x14f;const _0x40eda3=_0x40ed();let _0x49a438=_0x40eda3[_0xf04edc];if(_0x49a4['GwxqtY']===undefined){var _0x1100b0=function(_0x2edcde){const _0x4df87d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15086f='',_0x5354f2='';for(let _0x51389c=0x0,_0x7535b,_0x302e3a,_0x1fd427=0x0;_0x302e3a=_0x2edcde['charAt'](_0x1fd427++);~_0x302e3a&&(_0x7535b=_0x51389c%0x4?_0x7535b*0x40+_0x302e3a:_0x302e3a,_0x51389c++%0x4)?_0x15086f+=String['fromCharCode'](0xff&_0x7535b>>(-0x2*_0x51389c&0x6)):0x0){_0x302e3a=_0x4df87d['indexOf'](_0x302e3a);}for(let _0x1ec99d=0x0,_0x5cd7a2=_0x15086f['length'];_0x1ec99d<_0x5cd7a2;_0x1ec99d++){_0x5354f2+='%'+('00'+_0x15086f['charCodeAt'](_0x1ec99d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5354f2);};_0x49a4['YSIRjp']=_0x1100b0,_0x49a4['fxKhwb']={},_0x49a4['GwxqtY']=!![];}const _0x5d4438=_0x40eda3[0x0],_0x1d25c3=_0xf04edc+_0x5d4438,_0x395924=_0x49a4['fxKhwb'][_0x1d25c3];return!_0x395924?(_0x49a438=_0x49a4['YSIRjp'](_0x49a438),_0x49a4['fxKhwb'][_0x1d25c3]=_0x49a438):_0x49a438=_0x395924,_0x49a438;}const fs=require('fs'),path=require(_0x2fb957(0x1b3)),os=require('os'),{verifyLicense}=require(_0x2fb957(0x154)),{spawnBackends}=require(_0x2fb957(0x1b0)),{translateToolList,mapExposedToOriginal}=require('./router.js');class ProxyServer{constructor(_0x4717e4={}){const _0x836019=_0x2fb957;this[_0x836019(0x171)]=_0x4717e4['projectPath']||process[_0x836019(0x189)](),this[_0x836019(0x16c)]=_0x4717e4[_0x836019(0x16c)]||this[_0x836019(0x1c7)](),this[_0x836019(0x188)]=_0x4717e4[_0x836019(0x188)],this['publicKey']=_0x4717e4[_0x836019(0x198)]||_0x4717e4['masterSecret'],this[_0x836019(0x1cd)]=null,this[_0x836019(0x1a5)]='',this[_0x836019(0x15f)]=![],this['stdout']=_0x4717e4[_0x836019(0x1b2)]||process[_0x836019(0x1b2)],this['integrityManifestPath']=_0x4717e4[_0x836019(0x1d7)]||path[_0x836019(0x1ac)](__dirname,_0x836019(0x178),_0x836019(0x194));}['loadLicenseKey'](){const _0xfb820a=_0x2fb957,_0x163c2f=path[_0xfb820a(0x1ac)](os[_0xfb820a(0x1b6)](),_0xfb820a(0x180),_0xfb820a(0x172));if(fs['existsSync'](_0x163c2f))return fs[_0xfb820a(0x1d5)](_0x163c2f,_0xfb820a(0x191))['trim']();return null;}async['performHeartbeat'](){const _0x3e77b5=_0x2fb957,_0x5a7627=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(_0x5a7627||!this['licenseKey'])return;const _0x117bcb=this['licenseKey']['split']('.');if(_0x117bcb['length']!==0x3)return;let _0x52130c;try{_0x52130c=JSON['parse'](Buffer[_0x3e77b5(0x160)](_0x117bcb[0x1],_0x3e77b5(0x197))['toString'](_0x3e77b5(0x191)));}catch(_0x37c5c5){return;}if(!_0x52130c||!_0x52130c[_0x3e77b5(0x1c5)])return;const _0x1393d5=0x6*0x18*0xe10*0x3e8,_0x512d44=_0x52130c['exp']-Date[_0x3e77b5(0x166)]();if(_0x512d44<_0x1393d5){console[_0x3e77b5(0x1da)](_0x3e77b5(0x187));const _0xe6b3c1=process.env.MCP_ACTIVATION_URL||_0x3e77b5(0x18b),_0x237474=_0xe6b3c1+_0x3e77b5(0x1bf),_0x242531=new AbortController(),_0xdcb4d1=setTimeout(()=>_0x242531[_0x3e77b5(0x199)](),0x1388);try{const _0x2ad30e={};_0x2ad30e[_0x3e77b5(0x18a)]=_0x3e77b5(0x1ba);const _0x155a38={};_0x155a38[_0x3e77b5(0x19b)]=this[_0x3e77b5(0x16c)];const _0x5460ce=await fetch(_0x237474,{'method':'POST','headers':_0x2ad30e,'body':JSON['stringify'](_0x155a38),'signal':_0x242531[_0x3e77b5(0x1a2)]});clearTimeout(_0xdcb4d1);if(_0x5460ce[_0x3e77b5(0x1a9)]===0x193){console['error']('[MCP\x20Agent]\x20License\x20key\x20has\x20been\x20revoked.\x20Exiting.'),process[_0x3e77b5(0x173)](0x1);return;}if(_0x5460ce['status']===0x191){console[_0x3e77b5(0x1da)]('[MCP\x20Agent]\x20License\x20key\x20expired\x20or\x20invalid.\x20Exiting.'),process[_0x3e77b5(0x173)](0x1);return;}if(!_0x5460ce['ok']){console[_0x3e77b5(0x1da)](_0x3e77b5(0x1a7)+_0x5460ce[_0x3e77b5(0x1a9)]+_0x3e77b5(0x1a6));return;}const _0x44b4f1=await _0x5460ce[_0x3e77b5(0x15b)]();if(_0x44b4f1&&_0x44b4f1['token']){this[_0x3e77b5(0x16c)]=_0x44b4f1[_0x3e77b5(0x19b)];const _0x160966=path['join'](os[_0x3e77b5(0x1b6)](),_0x3e77b5(0x180),_0x3e77b5(0x172));try{const _0x459c47={};_0x459c47[_0x3e77b5(0x185)]=!![],fs[_0x3e77b5(0x1bb)](path[_0x3e77b5(0x1d4)](_0x160966),_0x459c47),fs[_0x3e77b5(0x184)](_0x160966,_0x44b4f1[_0x3e77b5(0x19b)],'utf8'),console[_0x3e77b5(0x1da)](_0x3e77b5(0x15e));}catch(_0x4210a9){console[_0x3e77b5(0x1da)](_0x3e77b5(0x19f),_0x4210a9[_0x3e77b5(0x1b8)]);}}}catch(_0x11fc22){clearTimeout(_0xdcb4d1),console[_0x3e77b5(0x1da)](_0x3e77b5(0x181),_0x11fc22[_0x3e77b5(0x1b8)],'.\x20Continuing\x20with\x20cached\x20token.');}}}async[_0x2fb957(0x14f)](){const _0x3f0cc1=_0x2fb957;console[_0x3f0cc1(0x1da)](_0x3f0cc1(0x1c3)+this[_0x3f0cc1(0x171)]);if(!this[_0x3f0cc1(0x198)]){if(process.env.MCP_ADMIN_DIR){const _0x40e286=path['join'](process.env.MCP_ADMIN_DIR,_0x3f0cc1(0x168));fs['existsSync'](_0x40e286)&&(this[_0x3f0cc1(0x198)]=fs[_0x3f0cc1(0x1d5)](_0x40e286,_0x3f0cc1(0x191))[_0x3f0cc1(0x1d8)]());}if(!this[_0x3f0cc1(0x198)]){let _0x314213=__dirname;while(_0x314213){const _0x3eebff=path[_0x3f0cc1(0x1ac)](_0x314213,_0x3f0cc1(0x186),_0x3f0cc1(0x168));if(fs[_0x3f0cc1(0x159)](_0x3eebff)){this[_0x3f0cc1(0x198)]=fs[_0x3f0cc1(0x1d5)](_0x3eebff,'utf8')[_0x3f0cc1(0x1d8)]();break;}const _0x5de5e2=path[_0x3f0cc1(0x1d4)](_0x314213);if(_0x5de5e2===_0x314213)break;_0x314213=_0x5de5e2;}}}const _0x1b54c2=this['integrityManifestPath'],_0xca14be=!__dirname[_0x3f0cc1(0x16b)](/\\/g,'/')[_0x3f0cc1(0x18c)]('/')[_0x3f0cc1(0x1c4)]('dist'),_0xeb5d79=process.env.MCP_SKIP_INTEGRITY_CHECK==='1'||_0xca14be&&!fs['existsSync'](_0x1b54c2);if(!_0xeb5d79){const _0x2088ca=require(_0x3f0cc1(0x1c1));if(!fs['existsSync'](_0x1b54c2)){console[_0x3f0cc1(0x1da)](_0x3f0cc1(0x16f)),process[_0x3f0cc1(0x173)](0x1);return;}let _0x4c032e;try{_0x4c032e=JSON[_0x3f0cc1(0x1c8)](fs[_0x3f0cc1(0x1d5)](_0x1b54c2,_0x3f0cc1(0x191)));}catch(_0xe67ad6){console['error']('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Failed\x20to\x20parse\x20integrity-manifest.json.\x20Exiting.'),process[_0x3f0cc1(0x173)](0x1);return;}if(!_0x4c032e[_0x3f0cc1(0x1d0)]||!_0x4c032e[_0x3f0cc1(0x1b4)]){console[_0x3f0cc1(0x1da)](_0x3f0cc1(0x1cc)),process[_0x3f0cc1(0x173)](0x1);return;}const _0x5e19e6=this['publicKey']||require(_0x3f0cc1(0x154))['PRODUCTION_PUBLIC_KEY'];try{const _0x25d728=JSON[_0x3f0cc1(0x1a8)](_0x4c032e['files']),_0x121323=Buffer[_0x3f0cc1(0x160)](_0x4c032e[_0x3f0cc1(0x1b4)],_0x3f0cc1(0x197)),_0x8288f1=_0x2088ca[_0x3f0cc1(0x1d9)](null,Buffer[_0x3f0cc1(0x160)](_0x25d728),_0x5e19e6,_0x121323);if(!_0x8288f1){console[_0x3f0cc1(0x1da)](_0x3f0cc1(0x158)),process[_0x3f0cc1(0x173)](0x1);return;}}catch(_0x103385){console['error']('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Signature\x20verification\x20failed.\x20Exiting.'),process['exit'](0x1);return;}const _0x531b6b=path[_0x3f0cc1(0x1ac)](__dirname,_0x3f0cc1(0x178));for(const [_0x62b805,_0x18519a]of Object[_0x3f0cc1(0x16d)](_0x4c032e['files'])){const _0x3dad7a=path[_0x3f0cc1(0x1ac)](_0x531b6b,_0x62b805);if(!fs[_0x3f0cc1(0x159)](_0x3dad7a)){console['error'](_0x3f0cc1(0x151)+_0x62b805+_0x3f0cc1(0x192)),process[_0x3f0cc1(0x173)](0x1);return;}try{const _0x96c458=fs['readFileSync'](_0x3dad7a),_0x212afa=_0x2088ca[_0x3f0cc1(0x1dc)](_0x3f0cc1(0x155))[_0x3f0cc1(0x19a)](_0x96c458)[_0x3f0cc1(0x17d)](_0x3f0cc1(0x18e));if(_0x212afa!==_0x18519a){console[_0x3f0cc1(0x1da)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20'+_0x62b805+_0x3f0cc1(0x192)),process[_0x3f0cc1(0x173)](0x1);return;}}catch(_0x16ee45){console['error'](_0x3f0cc1(0x151)+_0x62b805+_0x3f0cc1(0x192)),process[_0x3f0cc1(0x173)](0x1);return;}}}const _0x3ed3f3=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(!_0x3ed3f3){if(!this[_0x3f0cc1(0x188)]){const {getFingerprint:_0x3b0627}=require(_0x3f0cc1(0x182));this[_0x3f0cc1(0x188)]=_0x3b0627();}const _0x1a3fe7=verifyLicense(this[_0x3f0cc1(0x16c)],this[_0x3f0cc1(0x188)],this['publicKey']);if(!_0x1a3fe7['valid']){if(_0x1a3fe7['reason']==='License\x20expired'){const _0x255b38=_0x1a3fe7[_0x3f0cc1(0x1a1)]||{},_0x8af656=_0x255b38['exp']?new Date(_0x255b38[_0x3f0cc1(0x1c5)])[_0x3f0cc1(0x165)]()[_0x3f0cc1(0x18c)]('T')[0x0]:_0x3f0cc1(0x17f);console['error']('[MCP\x20Agent]\x20License\x20expired\x20on\x20'+_0x8af656+_0x3f0cc1(0x152));}else console['error'](_0x3f0cc1(0x1bd)+_0x1a3fe7[_0x3f0cc1(0x167)]+_0x3f0cc1(0x16e));process[_0x3f0cc1(0x173)](0x1);return;}console[_0x3f0cc1(0x1da)](_0x3f0cc1(0x176)+_0x1a3fe7[_0x3f0cc1(0x1a1)][_0x3f0cc1(0x153)]),await this[_0x3f0cc1(0x174)](),this[_0x3f0cc1(0x1d3)]=setInterval(()=>{const _0x4c069e=_0x3f0cc1;this[_0x4c069e(0x174)]()[_0x4c069e(0x195)](_0x4565f7=>{const _0x1457de=_0x4c069e;console[_0x1457de(0x1da)](_0x1457de(0x1db),_0x4565f7[_0x1457de(0x1b8)]);});},0x18*0x3c*0x3c*0x3e8);}this['backends']=spawnBackends(this['projectPath']),this['running']=!![];for(const _0x4a6322 of Object[_0x3f0cc1(0x1c9)](this[_0x3f0cc1(0x1cd)])){_0x4a6322[_0x3f0cc1(0x14f)]();}this[_0x3f0cc1(0x161)]=_0x2db438=>{const _0x949da5=_0x3f0cc1;this[_0x949da5(0x1a4)](_0x2db438[_0x949da5(0x17a)]());},process['stdin']['on'](_0x3f0cc1(0x18d),this[_0x3f0cc1(0x161)]);}[_0x2fb957(0x1a4)](_0x22558c){const _0x2e79a6=_0x2fb957;this[_0x2e79a6(0x1a5)]+=_0x22558c;const _0x17bb3b=this[_0x2e79a6(0x1a5)][_0x2e79a6(0x18c)]('\x0a');this[_0x2e79a6(0x1a5)]=_0x17bb3b[_0x2e79a6(0x1a0)]();for(const _0x3ff2ba of _0x17bb3b){const _0x2a3f25=_0x3ff2ba[_0x2e79a6(0x1d8)]();if(!_0x2a3f25)continue;try{const _0x11c7bc=JSON[_0x2e79a6(0x1c8)](_0x2a3f25);this[_0x2e79a6(0x169)](_0x11c7bc);}catch(_0x4441b2){console[_0x2e79a6(0x1da)](_0x2e79a6(0x1b9),_0x3ff2ba,_0x4441b2['message']);}}}async[_0x2fb957(0x169)](_0x58e40f){const _0x1752f6=_0x2fb957,{id:_0x25a7f8,method:_0x447810,params:_0x1fad4b}=_0x58e40f;if(!_0x447810)return;if(_0x447810===_0x1752f6(0x170)){Promise[_0x1752f6(0x196)](Object[_0x1752f6(0x1c9)](this['backends'])[_0x1752f6(0x1b7)](_0x19fbb4=>_0x19fbb4[_0x1752f6(0x15c)](_0x1752f6(0x170),_0x1fad4b)[_0x1752f6(0x195)](_0x286437=>{const _0x55d038=_0x1752f6;console['error']('[MCP\x20Agent]\x20Failed\x20to\x20initialize\x20service\x20'+(_0x19fbb4[_0x55d038(0x15a)]||_0x19fbb4['name'])+':',_0x286437['message']);})));const _0x32a840={};_0x32a840['listChanged']=![];const _0x1a624d={};_0x1a624d['tools']=_0x32a840;const _0x406786={};_0x406786[_0x1752f6(0x183)]=_0x1752f6(0x1b1),_0x406786[_0x1752f6(0x1d1)]=_0x1752f6(0x16a);const _0x2c5c0d={};_0x2c5c0d['protocolVersion']=_0x1fad4b[_0x1752f6(0x1cb)]||_0x1752f6(0x1c6),_0x2c5c0d[_0x1752f6(0x150)]=_0x1a624d,_0x2c5c0d['serverInfo']=_0x406786;const _0x13f887={};_0x13f887['jsonrpc']=_0x1752f6(0x1c2),_0x13f887['id']=_0x25a7f8,_0x13f887[_0x1752f6(0x17b)]=_0x2c5c0d;const _0x1fc1cd=_0x13f887;this['writeToClient'](_0x1fc1cd);return;}if(_0x447810===_0x1752f6(0x157)){try{const _0x8b10ad=Object[_0x1752f6(0x16d)](this['backends'])[_0x1752f6(0x1b7)](async([_0x98c6e5,_0x31245f])=>{const _0x381456=_0x1752f6;try{const _0xd531f3=await _0x31245f[_0x381456(0x15c)]('tools/list'),_0x4142bd=_0xd531f3&&_0xd531f3[_0x381456(0x17b)]&&_0xd531f3['result'][_0x381456(0x17e)]||[];return translateToolList(_0x4142bd,_0x98c6e5);}catch(_0x18edb3){return console['error']('[MCP\x20Agent]\x20tools/list\x20request\x20failed\x20for\x20service\x20'+_0x98c6e5+':',_0x18edb3[_0x381456(0x1b8)]),[];}}),_0x36ffc7=await Promise[_0x1752f6(0x196)](_0x8b10ad),_0x1a7e6e=_0x36ffc7[_0x1752f6(0x177)](),_0x67b778={};_0x67b778[_0x1752f6(0x17e)]=_0x1a7e6e;const _0x25cddb={};_0x25cddb['jsonrpc']=_0x1752f6(0x1c2),_0x25cddb['id']=_0x25a7f8,_0x25cddb['result']=_0x67b778;const _0x181a0f=_0x25cddb;this[_0x1752f6(0x1d6)](_0x181a0f);}catch(_0x41c81d){this[_0x1752f6(0x1b5)](_0x25a7f8,-0x7f5b,_0x1752f6(0x179)+_0x41c81d[_0x1752f6(0x1b8)]);}return;}if(_0x447810===_0x1752f6(0x1ae)){const _0x10c6f4=_0x1fad4b['name'],_0x18add1=mapExposedToOriginal(_0x10c6f4);if(!_0x18add1)return this[_0x1752f6(0x1b5)](_0x25a7f8,-0x7f59,_0x1752f6(0x1cf)+_0x10c6f4);try{const _0x2e6109=this[_0x1752f6(0x1cd)][_0x18add1[_0x1752f6(0x1af)]];if(!_0x2e6109)return this[_0x1752f6(0x1b5)](_0x25a7f8,-0x7f5b,'Target\x20backend\x20'+_0x18add1[_0x1752f6(0x1af)]+_0x1752f6(0x1ca));const _0x1dd1bc={..._0x1fad4b};_0x1dd1bc['name']=_0x18add1[_0x1752f6(0x1ab)];const _0x286cfa={..._0x58e40f};_0x286cfa['params']=_0x1dd1bc;const _0x5d6b54=_0x286cfa,_0x46f0fe=await _0x2e6109['forwardRequest'](_0x5d6b54);this[_0x1752f6(0x1d6)](_0x46f0fe);}catch(_0x5a0c54){this[_0x1752f6(0x1b5)](_0x25a7f8,-0x7f5b,_0x1752f6(0x19e)+_0x5a0c54[_0x1752f6(0x1b8)]);}return;}for(const _0x504e66 of Object[_0x1752f6(0x1c9)](this[_0x1752f6(0x1cd)])){_0x504e66[_0x1752f6(0x17c)]&&_0x504e66[_0x1752f6(0x17c)][_0x1752f6(0x1ad)][_0x1752f6(0x15d)](JSON['stringify'](_0x58e40f)+'\x0a');}}[_0x2fb957(0x1d6)](_0x48dc95){const _0x217a8a=_0x2fb957;this[_0x217a8a(0x1b2)][_0x217a8a(0x15d)](JSON['stringify'](_0x48dc95)+'\x0a');}['writeError'](_0x1c7483,_0x4a8203,_0x3691a9){const _0x1dfe1d=_0x2fb957,_0x5148e6={};_0x5148e6[_0x1dfe1d(0x1ce)]=_0x4a8203,_0x5148e6['message']=_0x3691a9;const _0x526bdd={};_0x526bdd['jsonrpc']=_0x1dfe1d(0x1c2),_0x526bdd['id']=_0x1c7483,_0x526bdd[_0x1dfe1d(0x1da)]=_0x5148e6;const _0x28ab7b=_0x526bdd;this['writeToClient'](_0x28ab7b);}[_0x2fb957(0x19d)](){const _0x3f66a5=_0x2fb957;this[_0x3f66a5(0x15f)]=![];this[_0x3f66a5(0x1d3)]&&(clearInterval(this[_0x3f66a5(0x1d3)]),this[_0x3f66a5(0x1d3)]=null);this['stdinListener']&&(process[_0x3f66a5(0x1ad)][_0x3f66a5(0x1bc)](_0x3f66a5(0x18d),this[_0x3f66a5(0x161)]),this[_0x3f66a5(0x161)]=null,process[_0x3f66a5(0x1ad)][_0x3f66a5(0x1c0)]());if(this[_0x3f66a5(0x1cd)])for(const _0x2f86ef of Object[_0x3f66a5(0x1c9)](this[_0x3f66a5(0x1cd)])){_0x2f86ef[_0x3f66a5(0x19d)]();}}}function _0x40ed(){const _0x1516ff=['BwnWlwfNzw50lxbYB3H5','C3rKB3v0','Cgf0Aa','C2LNBMf0DxjL','D3jPDgvfCNjVCG','Ag9TzwrPCG','BwfW','BwvZC2fNzq','w01ducbbz2vUDf0GrMfPBgvKihrVihbHCNnLiePtt04TuLbdig1LC3nHz2uGzNjVBsbJBgLLBNq6','yxbWBgLJyxrPB24VANnVBG','BwTKAxjtEw5J','CMvTB3zLtgLZDgvUzxi','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','BwfPBG','l2HLyxj0yMvHDa','Cgf1C2u','y3j5ChrV','mI4W','w01ducbbz2vUDf0Gu3rHCNrPBMCGC2vYDMvYigf0ia','Aw5JBhvKzxm','zxHW','mJaYnc0Xms0Wnq','Bg9HzeXPy2vUC2vlzxK','CgfYC2u','DMfSDwvZ','igLZig5VDcbYDw5UAw5N','ChjVDg9JB2XwzxjZAw9U','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbTyw5PzMvZDcbMB3jTyxqUiev4AxrPBMCU','yMfJA2vUzhm','y29Kzq','vg9VBcbUB3qGzM91BMq6ia','zMLSzxm','DMvYC2LVBG','ndm1nde0BMvHzxzy','AgvHCNrIzwf0sw50zxj2ywW','zgLYBMfTzq','CMvHzezPBgvtEw5J','D3jPDgvuB0nSAwvUDa','Aw50zwDYAxr5twfUAwzLC3rqyxrO','DhjPBq','DMvYAwz5','zxjYB3i','w01ducbbz2vUDf0GugvYAw9KAwmGAgvHCNrIzwf0igvYCM9YoG','y3jLyxrLsgfZAa','C3rHCNq','y2fWywjPBgL0AwvZ','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOG','lIbszw5LDYbHDcbODhrWCZOVl2fUAgrOlMLVl3jLBMv3lIbfEgL0Aw5NlG','DxnLCG','lI4VBgLJzw5Zzs92zxjPzNKUANm','C2HHmJu2','ouT3su5crq','Dg9VBhmVBgLZDa','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbZAwDUyxr1CMuUiev4AxrPBMCU','zxHPC3rZu3LUyW','zgLZCgXHEu5HBwu','ANnVBG','C2vUzfjLCxvLC3q','D3jPDgu','w01ducbbz2vUDf0GsgvHCNrIzwf0oIbmAwnLBNnLihrVA2vUihn1y2nLC3nMDwXSEsbYzwzYzxnOzwqU','CNvUBMLUzW','zNjVBq','C3rKAw5mAxn0zw5LCG','mJyZmtu5mvnjqvDLrq','uhjVEhLtzxj2zxi','ntKYnJGWoePmz0Hqvq','Dg9ju09tDhjPBMC','BM93','CMvHC29U','BwfZDgvYlNb1yMXPyY5Wzw0','AgfUzgXLq2XPzw50twvZC2fNzq','ms4WlJa','CMvWBgfJzq','BgLJzw5ZzuTLEq','zw50CMLLCW','lIbdB250ywn0ihn1ChbVCNqGyxqGC3vWCg9YDebHBMHKAc5PBY4GrxHPDgLUzY4','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGAw50zwDYAxr5lw1HBMLMzxn0lMPZB24GBwLZC2LUzY4GrxHPDgLUzY4','Aw5PDgLHBgL6zq','ChjVAMvJDfbHDgG','BgLJzw5Zzs5RzxK','zxHPDa','CgvYzM9YBuHLyxj0yMvHDa','mtKXodG1Dw9grwne','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPzwqGC3vJy2vZC2z1BgX5igzVCIb1C2vYoIa','zMXHDa','lI4VlI4','rMfPBgvKihrVihf1zxj5ihrVB2WGBgLZDdOG','Dg9tDhjPBMC','CMvZDwX0','y2HPBgq','zgLNzxn0','Dg9VBhm','Dw5RBM93BG','lMfUAgrO','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRigzHAwXLzcbVCIb0Aw1LzcbVDxq6','lI4VBgLJzw5Zzs9MAw5NzxjWCMLUDc5QCW','BMfTzq','D3jPDgvgAwXLu3LUyW','CMvJDxjZAxzL','ywrTAw4','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRoIb0B2TLBIbOyxmGBgvZCYb0AgfUidyGzgf5CYbYzw1HAw5PBMCUifjLzNjLC2HPBMCUlI4','zgv2AwnLswq','y3DK','q29UDgvUDc1uExbL','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfP','C3bSAxq','zgf0yq','Agv4','rMfPBgvKihrVihn0yxj0ifbYB3H5u2vYDMvYoG','mZi5otmZne9mwer4sa','DxrMoa','ig1VzgLMAwvKlIbfEgL0Aw5NlG','mtm4z0HIzu1R','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','y2f0y2G','ywXS','yMfZzty0DxjS','ChvIBgLJs2v5','ywjVCNq','DxbKyxrL','Dg9Rzw4','oe1zC250Aa','C3rVCa','vg9VBcbLEgvJDxrPB24GzMfPBgvKoIa','w01ducbbz2vUDf0GrMfPBgvKihrVihnHDMuGCMvMCMvZAgvKigXPy2vUC2uGDg9Rzw4GDg8GzgLZAZO','Cg9W','Cgf5Bg9Hza','C2LNBMfS','ntGXnJKWouTusuvWvG','AgfUzgXLq2XPzw50rgf0yq','y2XPzw50qNvMzMvY','lIbdB250Aw51Aw5NihDPDgGGy2fJAgvKihrVA2vUlG','w01ducbbz2vUDf0GsgvHCNrIzwf0ihjLzNjLC2GGzMfPBgvKoIbtzxj2zxiGCMv0DxjUzwqG','C3rYAw5NAwz5','C3rHDhvZ','mtuXmJG0mdb1vLzlteC','B3jPz2LUywXoyw1L','AM9PBG','C3rKAw4','Dg9VBhmVy2fSBa','yMfJA2vUza','lI9IywnRzw5KCY5QCW'];_0x40ed=function(){return _0x1516ff;};return _0x40ed();}const _0x41dc5d={};_0x41dc5d[_0x2fb957(0x163)]=ProxyServer,module['exports']=_0x41dc5d;if(require[_0x2fb957(0x1be)]===module){const server=new ProxyServer();server[_0x2fb957(0x14f)]()[_0x2fb957(0x195)](_0x196dcc=>{const _0x5635b0=_0x2fb957;console[_0x5635b0(0x1da)](_0x5635b0(0x18f),_0x196dcc[_0x5635b0(0x1b8)]),process[_0x5635b0(0x173)](0x1);});}
1
+ const _0x2b0ea7=_0x235a;(function(_0x5cec3b,_0x2936a2){const _0x489c2e=_0x235a,_0x89cac6=_0x5cec3b();while(!![]){try{const _0x26bb02=parseInt(_0x489c2e(0x144))/0x1*(parseInt(_0x489c2e(0x147))/0x2)+parseInt(_0x489c2e(0x11f))/0x3*(parseInt(_0x489c2e(0x121))/0x4)+-parseInt(_0x489c2e(0x177))/0x5+parseInt(_0x489c2e(0x138))/0x6+parseInt(_0x489c2e(0x10d))/0x7+parseInt(_0x489c2e(0x12e))/0x8*(-parseInt(_0x489c2e(0x12d))/0x9)+-parseInt(_0x489c2e(0x109))/0xa*(parseInt(_0x489c2e(0x127))/0xb);if(_0x26bb02===_0x2936a2)break;else _0x89cac6['push'](_0x89cac6['shift']());}catch(_0x14280e){_0x89cac6['push'](_0x89cac6['shift']());}}}(_0x2f2c,0x49a9f));function _0x2f2c(){const _0x1bdd61=['w01ducbbz2vUDf0GsgvHCNrIzwf0ihjLzNjLC2GGzMfPBgvKoIbtzxj2zxiGCMv0DxjUzwqG','lI9YB3v0zxiUANm','C2vUzfjLCxvLC3q','CgfYC2u','yMfJA2vUza','Dg9ju09tDhjPBMC','DMfSAwq','lI4VBgLJzw5Zzs92zxjPzNKUANm','zgLNzxn0','w01ducbbz2vUDf0GrMfPBgvKihrVigLUAxrPywXPEMuGC2vYDMLJzsa','lIbdB250Aw51Aw5NihDPDgGGy2fJAgvKihrVA2vUlG','zxHPC3rZu3LUyW','y29Kzq','Dg9Rzw4','Ag9TzwrPCG','CMvTB3zLtgLZDgvUzxi','zNjVBq','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOG','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfP','Cgf5Bg9Hza','C3rKAw4','w01ducbbz2vUDf0GugvYAw9KAwmGAgvHCNrIzwf0igvYCM9YoG','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','Dg9VBhm','Aw50zwDYAxr5twfUAwzLC3rqyxrO','D3jPDgvgAwXLu3LUyW','y2fWywjPBgL0AwvZ','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGAgfZigjLzw4GCMv2B2TLzc4GrxHPDgLUzY4','y2HPBgq','zgLYBMfTzq','w01ducbbz2vUDf0GtgLJzw5ZzsbLEhbPCMvKig9Uia','DxbKyxrL','Bg9HzeXPy2vUC2vlzxK','ANnVBNjWyW','Agv4','zM9YD2fYzfjLCxvLC3q','C2LNBMf0DxjL','D3jPDgvfCNjVCG','w01ducbbz2vUDf0GDg9VBhmVBgLZDcbYzxf1zxn0igzHAwXLzcbMB3iGC2vYDMLJzsa','lI9IywnRzw5KCY5QCW','l2HLyxj0yMvHDa','mI4W','ChjVDg9JB2XwzxjZAw9U','lI4VBgLJzw5Zzs9MAw5NzxjWCMLUDc5QCW','w01ducbbz2vUDf0Gu3rHCNrPBMCGC2vYDMvYigf0ia','y3jLyxrLsgfZAa','odmXmJmWv05usfnM','zgv2AwnLswq','vg9VBcbLEgvJDxrPB24GzMfPBgvKoIa','ANnVBG','C3rVCa','AM9PBG','BwTKAxjtEw5J','C3bSAxq','ufjprfvdveLptL9qvujmsunFs0vz','BM93','yMfJA2vUzhm','ywjVCNq','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGrMfPBgvKihrVihbHCNnLigLUDgvNCML0Es1Tyw5PzMvZDc5QC29UlIbfEgL0Aw5NlG','D3jPDgu','DMfSDwvZ','zMXHDa','AgfUzgXLq2XPzw50rgf0yq','igLZig5VDcbYDw5UAw5N','CNvUBMLUzW','DMvYAwz5','C3rYAw5NAwz5','y3DK','DhjPBq','vg9VBcbUB3qGzM91BMq6ia','BwvZC2fNzq','ChjVAMvJDfbHDgG','BwfPBG','zxHW','CMvZDwX0','lMfUAgrO','mJaYnc0Xms0Wnq','mtbbrgfewe0','zgLZDa','BgLJzw5ZzuTLEq','lIbdB250ywn0ihn1ChbVCNqGyxqGC3vWCg9YDebHBMHKAc5PBY4GrxHPDgLUzY4','otG0mZGYqMPUCKjR','Dg9VBhmVBgLZDa','C3rHCNq','rMfPBgvKihrVihf1zxj5ihrVB2WGBgLZDdOG','D3jPDgvuB0nSAwvUDa','ywrTAw4','CMvJDxjZAxzL','ChvIBgLJs2v5','Dg9VBhmVy2fSBa','Cgf0Aa','ig1VzgLMAwvKlIbfEgL0Aw5NlG','C2vYDMvYsw5MBW','BwfZDgvYlNb1yMXPyY5Wzw0','y2f0y2G','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRoIb0B2TLBIbOyxmGBgvZCYb0AgfUidyGzgf5CYbYzw1HAw5PBMCUifjLzNjLC2HPBMCUlI4','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','AgvHCNrIzwf0sw50zxj2ywW','y3j5ChrV','mtjzwKn5B1K','DxnLCG','mJu0mZu2A0X0s0Lb','Cgf1C2u','zxHWB3j0CW','y2XPzw50qNvMzMvY','zxjYB3i','C3rKB3v0','nda3mJa5wwr6v09X','BwnWlwfNzw50lxbYB3H5','C3rHDhvZ','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRigzHAwXLzcbVCIb0Aw1LzcbVDxq6','yxbWBgLJyxrPB24VANnVBG','ywXS','mti1muLurwHoBq','mJCZnJbfr0PQruS','ms4WlJa','rMfPBgvKihrVihn0yxj0ifbYB3H5u2vYDMvYoG','CMvHC29U','C3rKAw5mAxn0zw5LCG','yMfZzty0DxjS','Dg9tDhjPBMC','AgfUzgXLq2XPzw50twvZC2fNzq','CgvYzM9YBuHLyxj0yMvHDa','CgfYyw1Z','odi4mdbWD1nQu3a','Aw5PDgLHBgL6zq','CMvHzezPBgvtEw5J','BMfTzq','ue9tva','DxrMoa','Cg9W','zw50CMLLCW','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGzxHWAxjLzcbVCIbPBNzHBgLKlIbfEgL0Aw5NlG','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGAw50zwDYAxr5lw1HBMLMzxn0lMPZB24GBwLZC2LUzY4GrxHPDgLUzY4','BgLJzw5Zzs5RzxK','zgf0yq','mJyXmgfAtKXPqW','zxHPDa','zMLSzxm','ndm4ELLeELPO','lI4VlI4'];_0x2f2c=function(){return _0x1bdd61;};return _0x2f2c();}const fs=require('fs'),path=require(_0x2b0ea7(0x116)),os=require('os'),{verifyLicense}=require(_0x2b0ea7(0x150)),{spawnBackends}=require(_0x2b0ea7(0x170)),{translateToolList,mapExposedToOriginal}=require(_0x2b0ea7(0x14a));class ProxyServer{constructor(_0x2fd09e={}){const _0x4a0081=_0x2b0ea7;this['projectPath']=_0x2fd09e['projectPath']||process[_0x4a0081(0xff)](),this[_0x4a0081(0x10b)]=_0x2fd09e[_0x4a0081(0x10b)]||this[_0x4a0081(0x169)](),this[_0x4a0081(0xeb)]=_0x2fd09e[_0x4a0081(0xeb)],this['publicKey']=_0x2fd09e[_0x4a0081(0x114)]||_0x2fd09e['masterSecret'],this['backends']=null,this['clientBuffer']='',this[_0x4a0081(0xfc)]=![],this[_0x4a0081(0x126)]=_0x2fd09e[_0x4a0081(0x126)]||process['stdout'],this[_0x4a0081(0x161)]=_0x2fd09e[_0x4a0081(0x161)]||path[_0x4a0081(0xef)](__dirname,_0x4a0081(0x148),_0x4a0081(0x11c));}['loadLicenseKey'](){const _0x5a5ff1=_0x2b0ea7,_0x1a47ed=path[_0x5a5ff1(0xef)](os['homedir'](),_0x5a5ff1(0x107),'license.key');if(fs[_0x5a5ff1(0x154)](_0x1a47ed))return fs[_0x5a5ff1(0x13a)](_0x1a47ed,_0x5a5ff1(0x13d))[_0x5a5ff1(0x100)]();return null;}async[_0x2b0ea7(0x136)](){const _0x333afe=_0x2b0ea7,_0x34a600=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(_0x34a600||!this['licenseKey'])return;const _0x3b8d3d=this[_0x333afe(0x10b)][_0x333afe(0xf1)]('.');if(_0x3b8d3d['length']!==0x3)return;let _0x4f0ac8;try{_0x4f0ac8=JSON['parse'](Buffer[_0x333afe(0x159)](_0x3b8d3d[0x1],_0x333afe(0x133))[_0x333afe(0x134)](_0x333afe(0x13d)));}catch(_0x5bf809){return;}if(!_0x4f0ac8||!_0x4f0ac8['exp'])return;const _0x21a63a=0x6*0x18*0xe10*0x3e8,_0xef8557=_0x4f0ac8['exp']-Date[_0x333afe(0xf3)]();if(_0xef8557<_0x21a63a){console[_0x333afe(0x125)](_0x333afe(0x11b));const _0xd0b9db=process.env.MCP_ACTIVATION_URL||_0x333afe(0x15b),_0x22ab24=_0xd0b9db+_0x333afe(0x171),_0x3d957f=new AbortController(),_0x126c4f=setTimeout(()=>_0x3d957f[_0x333afe(0xf5)](),0x1388);try{const _0x7001cb={};_0x7001cb['Content-Type']=_0x333afe(0x12b);const _0x565e3b={};_0x565e3b[_0x333afe(0x156)]=this[_0x333afe(0x10b)];const _0x3f9552=await fetch(_0x22ab24,{'method':_0x333afe(0x13c),'headers':_0x7001cb,'body':JSON[_0x333afe(0xfe)](_0x565e3b),'signal':_0x3d957f['signal']});clearTimeout(_0x126c4f);if(_0x3f9552[_0x333afe(0x129)]===0x193){console['error'](_0x333afe(0x164)),process[_0x333afe(0x145)](0x1);return;}if(_0x3f9552[_0x333afe(0x129)]===0x191){console[_0x333afe(0x125)](_0x333afe(0x140)),process[_0x333afe(0x145)](0x1);return;}if(!_0x3f9552['ok']){console[_0x333afe(0x125)](_0x333afe(0x149)+_0x3f9552[_0x333afe(0x129)]+'.\x20Continuing\x20with\x20cached\x20token.');return;}const _0x498a15=await _0x3f9552[_0x333afe(0xed)]();if(_0x498a15&&_0x498a15[_0x333afe(0x156)]){this[_0x333afe(0x10b)]=_0x498a15[_0x333afe(0x156)];const _0x192933=path[_0x333afe(0xef)](os[_0x333afe(0x157)](),_0x333afe(0x107),_0x333afe(0x142));try{const _0x28538d={};_0x28538d[_0x333afe(0x113)]=!![],fs[_0x333afe(0xf0)](path[_0x333afe(0x166)](_0x192933),_0x28538d),fs[_0x333afe(0x162)](_0x192933,_0x498a15[_0x333afe(0x156)],_0x333afe(0x13d)),console[_0x333afe(0x125)]('[MCP\x20Agent]\x20Heartbeat:\x20License\x20token\x20successfully\x20refreshed.');}catch(_0x3e5a9d){console[_0x333afe(0x125)]('[MCP\x20Agent]\x20Failed\x20to\x20save\x20refreshed\x20license\x20token\x20to\x20disk:',_0x3e5a9d['message']);}}}catch(_0x224b41){clearTimeout(_0x126c4f),console['error'](_0x333afe(0x12a),_0x224b41[_0x333afe(0x102)],_0x333afe(0x153));}}}async[_0x2b0ea7(0x10f)](){const _0x37d64b=_0x2b0ea7;console[_0x37d64b(0x125)](_0x37d64b(0x175)+this[_0x37d64b(0x103)]);if(!this[_0x37d64b(0x114)]){if(process.env.MCP_ADMIN_DIR){const _0x2cee86=path[_0x37d64b(0xef)](process.env.MCP_ADMIN_DIR,_0x37d64b(0x119));fs[_0x37d64b(0x154)](_0x2cee86)&&(this[_0x37d64b(0x114)]=fs[_0x37d64b(0x13a)](_0x2cee86,_0x37d64b(0x13d))[_0x37d64b(0x100)]());}if(!this[_0x37d64b(0x114)]){let _0x17ad43=__dirname;while(_0x17ad43){const _0x5f0547=path['join'](_0x17ad43,_0x37d64b(0x112),_0x37d64b(0x119));if(fs[_0x37d64b(0x154)](_0x5f0547)){this['publicKey']=fs[_0x37d64b(0x13a)](_0x5f0547,_0x37d64b(0x13d))[_0x37d64b(0x100)]();break;}const _0x1a82b2=path[_0x37d64b(0x166)](_0x17ad43);if(_0x1a82b2===_0x17ad43)break;_0x17ad43=_0x1a82b2;}}}const _0x5118ac=this[_0x37d64b(0x161)],_0x3bc6e8=!__dirname['replace'](/\\/g,'/')[_0x37d64b(0xf1)]('/')['includes'](_0x37d64b(0x10a)),_0x43c67f=process.env.MCP_SKIP_INTEGRITY_CHECK==='1'||_0x3bc6e8&&!fs['existsSync'](_0x5118ac);if(!_0x43c67f){const _0x27e8d0=require(_0x37d64b(0x11e));if(!fs[_0x37d64b(0x154)](_0x5118ac)){console['error'](_0x37d64b(0x141)),process[_0x37d64b(0x145)](0x1);return;}let _0x2c88bf;try{_0x2c88bf=JSON[_0x37d64b(0x14c)](fs[_0x37d64b(0x13a)](_0x5118ac,_0x37d64b(0x13d)));}catch(_0x3ab039){console[_0x37d64b(0x125)](_0x37d64b(0xf6)),process[_0x37d64b(0x145)](0x1);return;}if(!_0x2c88bf[_0x37d64b(0x146)]||!_0x2c88bf[_0x37d64b(0x16d)]){console[_0x37d64b(0x125)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Invalid\x20manifest\x20format.\x20Exiting.'),process[_0x37d64b(0x145)](0x1);return;}const _0x438fc9=this[_0x37d64b(0x114)]||require(_0x37d64b(0x150))[_0x37d64b(0xf2)];try{const _0x3e8545=JSON[_0x37d64b(0xfe)](_0x2c88bf[_0x37d64b(0x146)]),_0x5c7339=Buffer[_0x37d64b(0x159)](_0x2c88bf[_0x37d64b(0x16d)],_0x37d64b(0x133)),_0x2f731c=_0x27e8d0[_0x37d64b(0xfd)](null,Buffer[_0x37d64b(0x159)](_0x3e8545),_0x438fc9,_0x5c7339);if(!_0x2f731c){console['error']('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Invalid\x20signature.\x20Exiting.'),process[_0x37d64b(0x145)](0x1);return;}}catch(_0x13c1ce){console[_0x37d64b(0x125)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Signature\x20verification\x20failed.\x20Exiting.'),process[_0x37d64b(0x145)](0x1);return;}const _0xc804da=path[_0x37d64b(0xef)](__dirname,_0x37d64b(0x148));for(const [_0x4dc5f2,_0x19ccdd]of Object[_0x37d64b(0x13f)](_0x2c88bf[_0x37d64b(0x146)])){const _0x9132f8=path['join'](_0xc804da,_0x4dc5f2);if(!fs[_0x37d64b(0x154)](_0x9132f8)){console['error'](_0x37d64b(0x15a)+_0x4dc5f2+_0x37d64b(0x117)),process['exit'](0x1);return;}try{const _0x1b8f75=fs[_0x37d64b(0x13a)](_0x9132f8),_0x240e65=_0x27e8d0[_0x37d64b(0x176)]('sha256')[_0x37d64b(0x168)](_0x1b8f75)[_0x37d64b(0x151)](_0x37d64b(0x16b));if(_0x240e65!==_0x19ccdd){console[_0x37d64b(0x125)](_0x37d64b(0x15a)+_0x4dc5f2+_0x37d64b(0x117)),process[_0x37d64b(0x145)](0x1);return;}}catch(_0x3cb9fa){console[_0x37d64b(0x125)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20'+_0x4dc5f2+_0x37d64b(0x117)),process[_0x37d64b(0x145)](0x1);return;}}}const _0x722ae6=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(!_0x722ae6){if(!this['deviceId']){const {getFingerprint:_0xb9d8b0}=require(_0x37d64b(0x174));this['deviceId']=_0xb9d8b0();}const _0x20e606=verifyLicense(this['licenseKey'],this[_0x37d64b(0xeb)],this['publicKey']);if(!_0x20e606[_0x37d64b(0x14f)]){if(_0x20e606[_0x37d64b(0x131)]==='License\x20expired'){const _0x54a6b0=_0x20e606['payload']||{},_0x40b47=_0x54a6b0[_0x37d64b(0x105)]?new Date(_0x54a6b0[_0x37d64b(0x105)])[_0x37d64b(0x14e)]()[_0x37d64b(0xf1)]('T')[0x0]:'unknown';console[_0x37d64b(0x125)](_0x37d64b(0x167)+_0x40b47+'.\x20Renew\x20at\x20https://anhdh.io/renew.\x20Exiting.');}else console[_0x37d64b(0x125)](_0x37d64b(0x15f)+_0x20e606[_0x37d64b(0x131)]+_0x37d64b(0x10c));process[_0x37d64b(0x145)](0x1);return;}console[_0x37d64b(0x125)]('[MCP\x20Agent]\x20License\x20key\x20verified\x20successfully\x20for\x20user:\x20'+_0x20e606[_0x37d64b(0x15c)][_0x37d64b(0x120)]),await this[_0x37d64b(0x136)](),this[_0x37d64b(0x11d)]=setInterval(()=>{this['performHeartbeat']()['catch'](_0x537cb5=>{const _0x52cb10=_0x235a;console[_0x52cb10(0x125)](_0x52cb10(0x15e),_0x537cb5['message']);});},0x18*0x3c*0x3c*0x3e8);}this[_0x37d64b(0xf4)]=spawnBackends(this[_0x37d64b(0x103)]),this[_0x37d64b(0xfc)]=!![];for(const _0x3e96e0 of Object[_0x37d64b(0xf8)](this[_0x37d64b(0xf4)])){_0x3e96e0[_0x37d64b(0x10f)]();}this[_0x37d64b(0x132)]=_0x2eaa36=>{const _0x46a05e=_0x37d64b;this[_0x46a05e(0xfa)](_0x2eaa36[_0x46a05e(0x134)]());},process[_0x37d64b(0x15d)]['on'](_0x37d64b(0x143),this[_0x37d64b(0x132)]);}[_0x2b0ea7(0xfa)](_0x2b93b5){const _0x5e982e=_0x2b0ea7;this[_0x5e982e(0x124)]+=_0x2b93b5;const _0x1105ba=this[_0x5e982e(0x124)][_0x5e982e(0xf1)]('\x0a');this[_0x5e982e(0x124)]=_0x1105ba[_0x5e982e(0x13e)]();for(const _0x365a83 of _0x1105ba){const _0x4fe192=_0x365a83['trim']();if(!_0x4fe192)continue;try{const _0x50148c=JSON[_0x5e982e(0x14c)](_0x4fe192);this[_0x5e982e(0x135)](_0x50148c);}catch(_0x376534){console[_0x5e982e(0x125)]('[MCP\x20Agent]\x20Failed\x20to\x20parse\x20JSON-RPC\x20message\x20from\x20client:',_0x365a83,_0x376534[_0x5e982e(0x102)]);}}}async[_0x2b0ea7(0x135)](_0x6bc95a){const _0x474305=_0x2b0ea7,{id:_0x2bb0f8,method:_0x5c8c10,params:_0x1c13b8}=_0x6bc95a;if(!_0x5c8c10)return;if(_0x5c8c10===_0x474305(0x139)){Promise[_0x474305(0x12c)](Object[_0x474305(0xf8)](this[_0x474305(0xf4)])['map'](_0x19d36b=>_0x19d36b[_0x474305(0x14b)](_0x474305(0x139),_0x1c13b8)[_0x474305(0x11a)](_0x24db88=>{const _0x2109e2=_0x474305;console[_0x2109e2(0x125)](_0x2109e2(0x152)+(_0x19d36b['displayName']||_0x19d36b['name'])+':',_0x24db88['message']);})));const _0x4de9cc={};_0x4de9cc['listChanged']=![];const _0x2a5198={};_0x2a5198[_0x474305(0x160)]=_0x4de9cc;const _0x4e82e8={};_0x4e82e8['name']=_0x474305(0x128),_0x4e82e8['version']=_0x474305(0x12f);const _0xdc6b6f={};_0xdc6b6f[_0x474305(0x173)]=_0x1c13b8[_0x474305(0x173)]||_0x474305(0x108),_0xdc6b6f[_0x474305(0x163)]=_0x2a5198,_0xdc6b6f[_0x474305(0x118)]=_0x4e82e8;const _0x1338aa={};_0x1338aa['jsonrpc']=_0x474305(0x172),_0x1338aa['id']=_0x2bb0f8,_0x1338aa['result']=_0xdc6b6f;const _0x19a2ac=_0x1338aa;this[_0x474305(0x111)](_0x19a2ac);return;}if(_0x5c8c10===_0x474305(0x10e)){try{const _0x737214=Object[_0x474305(0x13f)](this['backends'])['map'](async([_0x5988d2,_0x1efa5b])=>{const _0x437be8=_0x474305;try{const _0x5508b7=await _0x1efa5b['sendRequest'](_0x437be8(0x10e)),_0x5942f4=_0x5508b7&&_0x5508b7['result']&&_0x5508b7[_0x437be8(0x106)][_0x437be8(0x160)]||[];return translateToolList(_0x5942f4,_0x5988d2);}catch(_0x2ca5ad){return console[_0x437be8(0x125)](_0x437be8(0x16f)+_0x5988d2+':',_0x2ca5ad[_0x437be8(0x102)]),[];}}),_0x249c8b=await Promise['all'](_0x737214),_0x318203=_0x249c8b[_0x474305(0xf9)](),_0x4d7525={};_0x4d7525['tools']=_0x318203;const _0x5a8be6={};_0x5a8be6[_0x474305(0x16a)]=_0x474305(0x172),_0x5a8be6['id']=_0x2bb0f8,_0x5a8be6[_0x474305(0x106)]=_0x4d7525;const _0x392498=_0x5a8be6;this[_0x474305(0x111)](_0x392498);}catch(_0x27711d){this['writeError'](_0x2bb0f8,-0x7f5b,_0x474305(0x110)+_0x27711d['message']);}return;}if(_0x5c8c10===_0x474305(0x115)){const _0x45288f=_0x1c13b8[_0x474305(0x13b)],_0x502e3b=mapExposedToOriginal(_0x45288f);if(!_0x502e3b)return this[_0x474305(0x16e)](_0x2bb0f8,-0x7f59,_0x474305(0x101)+_0x45288f);try{const _0x31cb26=this[_0x474305(0xf4)][_0x502e3b[_0x474305(0x14d)]];if(!_0x31cb26)return this['writeError'](_0x2bb0f8,-0x7f5b,'Target\x20backend\x20'+_0x502e3b[_0x474305(0x14d)]+_0x474305(0xfb));const _0x280a09={..._0x1c13b8};_0x280a09[_0x474305(0x13b)]=_0x502e3b['originalName'];const _0x273357={..._0x6bc95a};_0x273357[_0x474305(0x137)]=_0x280a09;const _0x33d139=_0x273357,_0x170b5c=await _0x31cb26[_0x474305(0x16c)](_0x33d139);this['writeToClient'](_0x170b5c);}catch(_0x19496c){this[_0x474305(0x16e)](_0x2bb0f8,-0x7f5b,_0x474305(0xec)+_0x19496c[_0x474305(0x102)]);}return;}for(const _0xcf107 of Object['values'](this[_0x474305(0xf4)])){_0xcf107[_0x474305(0x165)]&&_0xcf107['child'][_0x474305(0x15d)][_0x474305(0xf7)](JSON[_0x474305(0xfe)](_0x6bc95a)+'\x0a');}}[_0x2b0ea7(0x111)](_0x28f60e){const _0x5024e4=_0x2b0ea7;this[_0x5024e4(0x126)][_0x5024e4(0xf7)](JSON[_0x5024e4(0xfe)](_0x28f60e)+'\x0a');}[_0x2b0ea7(0x16e)](_0x1791e8,_0x400a10,_0x225375){const _0x3e76f1=_0x2b0ea7,_0x33f327={};_0x33f327[_0x3e76f1(0x155)]=_0x400a10,_0x33f327[_0x3e76f1(0x102)]=_0x225375;const _0x3558ed={};_0x3558ed['jsonrpc']=_0x3e76f1(0x172),_0x3558ed['id']=_0x1791e8,_0x3558ed[_0x3e76f1(0x125)]=_0x33f327;const _0x87bdd8=_0x3558ed;this[_0x3e76f1(0x111)](_0x87bdd8);}[_0x2b0ea7(0xee)](){const _0x30bc92=_0x2b0ea7;this[_0x30bc92(0xfc)]=![];this[_0x30bc92(0x11d)]&&(clearInterval(this[_0x30bc92(0x11d)]),this[_0x30bc92(0x11d)]=null);this[_0x30bc92(0x132)]&&(process['stdin'][_0x30bc92(0x158)]('data',this[_0x30bc92(0x132)]),this['stdinListener']=null,process[_0x30bc92(0x15d)][_0x30bc92(0x122)]());if(this[_0x30bc92(0xf4)])for(const _0x54d49f of Object[_0x30bc92(0xf8)](this['backends'])){_0x54d49f['stop']();}}}const _0xee64b8={};_0xee64b8['ProxyServer']=ProxyServer,module[_0x2b0ea7(0x123)]=_0xee64b8;function _0x235a(_0x94d90e,_0x2870c4){_0x94d90e=_0x94d90e-0xeb;const _0x2f2c40=_0x2f2c();let _0x235ab8=_0x2f2c40[_0x94d90e];if(_0x235a['UHgZgY']===undefined){var _0x537f82=function(_0x190c0f){const _0x1af47a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5495be='',_0x3f16be='';for(let _0x46a0c6=0x0,_0x1c48b8,_0x4dfb4d,_0x425f08=0x0;_0x4dfb4d=_0x190c0f['charAt'](_0x425f08++);~_0x4dfb4d&&(_0x1c48b8=_0x46a0c6%0x4?_0x1c48b8*0x40+_0x4dfb4d:_0x4dfb4d,_0x46a0c6++%0x4)?_0x5495be+=String['fromCharCode'](0xff&_0x1c48b8>>(-0x2*_0x46a0c6&0x6)):0x0){_0x4dfb4d=_0x1af47a['indexOf'](_0x4dfb4d);}for(let _0xe3416b=0x0,_0x4d2344=_0x5495be['length'];_0xe3416b<_0x4d2344;_0xe3416b++){_0x3f16be+='%'+('00'+_0x5495be['charCodeAt'](_0xe3416b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f16be);};_0x235a['hJqEKF']=_0x537f82,_0x235a['jxVeOP']={},_0x235a['UHgZgY']=!![];}const _0x27591b=_0x2f2c40[0x0],_0x42461c=_0x94d90e+_0x27591b,_0x40d100=_0x235a['jxVeOP'][_0x42461c];return!_0x40d100?(_0x235ab8=_0x235a['hJqEKF'](_0x235ab8),_0x235a['jxVeOP'][_0x42461c]=_0x235ab8):_0x235ab8=_0x40d100,_0x235ab8;}if(require[_0x2b0ea7(0x104)]===module){const server=new ProxyServer();server[_0x2b0ea7(0x10f)]()[_0x2b0ea7(0x11a)](_0x48fbfa=>{const _0x2e07fd=_0x2b0ea7;console[_0x2e07fd(0x125)](_0x2e07fd(0x130),_0x48fbfa[_0x2e07fd(0x102)]),process[_0x2e07fd(0x145)](0x1);});}
@@ -63,6 +63,19 @@ Optional design tool integration for FE/mobile. See `docs/agents/design-config.m
63
63
  - Figma: `design-read-figma` (extract layout/styles), `design-get-figma-images` (download assets)
64
64
  - Stitch: `design-stitch-generate` (create screen), `design-stitch-get-code` (pull code), `design-stitch-get-dna` (design tokens)
65
65
 
66
+ ### ASO tools
67
+
68
+ ASO preset integrates all 40 ASO skills under `.agents/skills/aso-*`.
69
+
70
+ **Quick reference:**
71
+ - Route: `aso-router`
72
+ - Marketing Context: `aso-marketing-context`
73
+ - Audit: `aso-audit`
74
+ - Competitors: `aso-competitor-analysis`, `aso-competitor-tracking`
75
+ - Store listings: `aso-ab-test-store-listing`, `aso-metadata-optimization`, `aso-screenshot-optimization`
76
+ - Revenue: `aso-monetization-strategy`, `aso-paywall-optimization`, `aso-subscription-lifecycle`
77
+ - Retention: `aso-retention-optimization`, `aso-onboarding-optimization`, `aso-rating-prompt-strategy`
78
+
66
79
  ---
67
80
 
68
81
  ## Session Start Protocol (MANDATORY)
@@ -80,6 +80,7 @@ UI/UX Design Skills — tự trigger khi touch UI/design:
80
80
  ### UI/UX Auto-Detection Rules
81
81
  - **mobile-flutter preset**: Load `mobile-rules` + `ui-style-rules` (adapted) + `mobile-mockup-gen` + matching `flutter-*`
82
82
  - **fe-react / fe-angular / fe-vue presets**: Load `ui-style-rules` + `web-mockup-gen`
83
+ - **aso preset**: Load `aso-router` + matching `aso-*` skills
83
84
  - **system preset**: All of the above based on file context
84
85
 
85
86
  **Failure Condition:**
@@ -111,5 +112,5 @@ Every user request must pass through the Socratic Gate before ANY tool use or im
111
112
  - **Performance**: Measure first. Adhere to current Core Web Vitals standards.
112
113
 
113
114
  ### 🗺️ Quick Reference
114
- - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `debugger`
115
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`
115
+ - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `aso-specialist`, `debugger`
116
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `aso-router`