apt-mcp-agent-setup 1.1.3 → 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.
- package/bin/cli.js +1 -1
- package/bundle/NOTICES.md +0 -0
- package/bundle/core.enc +0 -0
- package/bundle/mcp-rules.enc +0 -0
- package/bundle/skills-aso.enc +0 -0
- package/bundle/skills-base.enc +0 -0
- package/bundle/skills-be.enc +0 -0
- package/bundle/skills-fe.enc +0 -0
- package/bundle/skills-mobile.enc +0 -0
- package/integrity-manifest.json +16 -16
- package/package.json +1 -1
- package/src/installer/global-setup.js +1 -1
- package/src/installer/platform-config.js +1 -1
- package/src/installer/prerequisites.js +1 -1
- package/src/installer/project-setup.js +1 -1
- package/src/installer/setup-wizard.js +1 -1
- package/src/license/crypto.js +1 -1
- package/src/license/fingerprint.js +1 -1
- package/src/license/terms.js +1 -1
- package/src/license/verify.js +1 -1
- package/src/presets/index.js +1 -1
- package/src/proxy/backends.js +1 -1
- package/src/proxy/router.config.js +1 -1
- package/src/proxy/router.js +1 -1
- package/src/proxy/server.js +1 -1
- package/src/templates/AGENTS.md +13 -0
- package/src/templates/GEMINI.md +3 -2
package/src/proxy/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5bdc97=_0x5583;(function(_0x16f6a7,_0x1833eb){const _0x398246=_0x5583,_0x36fce4=_0x16f6a7();while(!![]){try{const _0x57bbe5=-parseInt(_0x398246(0x120))/0x1*(parseInt(_0x398246(0x113))/0x2)+-parseInt(_0x398246(0xf9))/0x3*(-parseInt(_0x398246(0xc6))/0x4)+parseInt(_0x398246(0x9b))/0x5*(-parseInt(_0x398246(0xf1))/0x6)+-parseInt(_0x398246(0xc8))/0x7+-parseInt(_0x398246(0xeb))/0x8*(parseInt(_0x398246(0xa1))/0x9)+-parseInt(_0x398246(0x11f))/0xa*(-parseInt(_0x398246(0xde))/0xb)+parseInt(_0x398246(0xee))/0xc;if(_0x57bbe5===_0x1833eb)break;else _0x36fce4['push'](_0x36fce4['shift']());}catch(_0x350a21){_0x36fce4['push'](_0x36fce4['shift']());}}}(_0xd10e,0x3c956));const fs=require('fs'),path=require(_0x5bdc97(0xc3)),os=require('os'),{verifyLicense}=require(_0x5bdc97(0x9a)),{spawnBackends}=require(_0x5bdc97(0xb6)),{translateToolList,mapExposedToOriginal}=require('./router.js');class ProxyServer{constructor(_0x13f33e={}){const _0x59e307=_0x5bdc97;this['projectPath']=_0x13f33e[_0x59e307(0x9c)]||process[_0x59e307(0xab)](),this['licenseKey']=_0x13f33e[_0x59e307(0xd7)]||this[_0x59e307(0xdc)](),this['deviceId']=_0x13f33e[_0x59e307(0x11b)],this[_0x59e307(0xe4)]=_0x13f33e[_0x59e307(0xe4)]||_0x13f33e[_0x59e307(0xca)],this[_0x59e307(0x103)]=null,this['clientBuffer']='',this[_0x59e307(0x111)]=![],this[_0x59e307(0xbf)]=_0x13f33e[_0x59e307(0xbf)]||process['stdout'],this['integrityManifestPath']=_0x13f33e['integrityManifestPath']||path[_0x59e307(0xe5)](__dirname,_0x59e307(0xce),'integrity-manifest.json');}[_0x5bdc97(0xdc)](){const _0x5926b7=_0x5bdc97,_0x50d364=path['join'](os[_0x5926b7(0x106)](),'.anhdh',_0x5926b7(0xf2));if(fs[_0x5926b7(0xc2)](_0x50d364))return fs[_0x5926b7(0xfb)](_0x50d364,_0x5926b7(0x9d))[_0x5926b7(0x11a)]();return null;}async[_0x5bdc97(0xad)](){const _0x50b087=_0x5bdc97,_0x3089bf=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(_0x3089bf||!this[_0x50b087(0xd7)])return;const _0xb5937a=this[_0x50b087(0xd7)][_0x50b087(0xb9)]('.');if(_0xb5937a[_0x50b087(0x10f)]!==0x3)return;let _0x1ed06b;try{_0x1ed06b=JSON[_0x50b087(0x10e)](Buffer['from'](_0xb5937a[0x1],_0x50b087(0xa7))[_0x50b087(0xff)](_0x50b087(0x9d)));}catch(_0x1c8f9d){return;}if(!_0x1ed06b||!_0x1ed06b[_0x50b087(0x112)])return;const _0x7d1898=0x6*0x18*0xe10*0x3e8,_0x38dcbb=_0x1ed06b['exp']-Date[_0x50b087(0xd2)]();if(_0x38dcbb<_0x7d1898){console[_0x50b087(0xed)]('[MCP\x20Agent]\x20Heartbeat\x20check:\x20token\x20has\x20less\x20than\x206\x20days\x20remaining.\x20Refreshing...');const _0x469782=process.env.MCP_ACTIVATION_URL||_0x50b087(0xa3),_0x529da6=_0x469782+'/heartbeat',_0x19f607=new AbortController(),_0x5553c0=setTimeout(()=>_0x19f607[_0x50b087(0x10d)](),0x1388);try{const _0x5e4583={};_0x5e4583[_0x50b087(0x105)]=_0x50b087(0xcc);const _0xa238db={};_0xa238db[_0x50b087(0xd6)]=this['licenseKey'];const _0x3c23f0=await fetch(_0x529da6,{'method':_0x50b087(0xf3),'headers':_0x5e4583,'body':JSON[_0x50b087(0xda)](_0xa238db),'signal':_0x19f607[_0x50b087(0xb2)]});clearTimeout(_0x5553c0);if(_0x3c23f0[_0x50b087(0xd0)]===0x193){console[_0x50b087(0xed)](_0x50b087(0xa6)),process[_0x50b087(0xe3)](0x1);return;}if(_0x3c23f0['status']===0x191){console[_0x50b087(0xed)](_0x50b087(0xf0)),process['exit'](0x1);return;}if(!_0x3c23f0['ok']){console[_0x50b087(0xed)](_0x50b087(0xdd)+_0x3c23f0[_0x50b087(0xd0)]+_0x50b087(0xbc));return;}const _0x562af2=await _0x3c23f0[_0x50b087(0x119)]();if(_0x562af2&&_0x562af2['token']){this[_0x50b087(0xd7)]=_0x562af2[_0x50b087(0xd6)];const _0x2c1961=path[_0x50b087(0xe5)](os['homedir'](),_0x50b087(0x104),_0x50b087(0xf2));try{const _0x476de0={};_0x476de0[_0x50b087(0xa2)]=!![],fs[_0x50b087(0x114)](path[_0x50b087(0xa9)](_0x2c1961),_0x476de0),fs[_0x50b087(0xc4)](_0x2c1961,_0x562af2[_0x50b087(0xd6)],_0x50b087(0x9d)),console[_0x50b087(0xed)]('[MCP\x20Agent]\x20Heartbeat:\x20License\x20token\x20successfully\x20refreshed.');}catch(_0x40942b){console[_0x50b087(0xed)]('[MCP\x20Agent]\x20Failed\x20to\x20save\x20refreshed\x20license\x20token\x20to\x20disk:',_0x40942b[_0x50b087(0xfa)]);}}}catch(_0x542998){clearTimeout(_0x5553c0),console[_0x50b087(0xed)](_0x50b087(0xcf),_0x542998[_0x50b087(0xfa)],_0x50b087(0xbc));}}}async[_0x5bdc97(0xcb)](){const _0x14f31f=_0x5bdc97;console['error']('[MCP\x20Agent]\x20Starting\x20server\x20at\x20'+this[_0x14f31f(0x9c)]);if(!this[_0x14f31f(0xe4)]){if(process.env.MCP_ADMIN_DIR){const _0x6a90d8=path[_0x14f31f(0xe5)](process.env.MCP_ADMIN_DIR,_0x14f31f(0xbb));fs[_0x14f31f(0xc2)](_0x6a90d8)&&(this[_0x14f31f(0xe4)]=fs[_0x14f31f(0xfb)](_0x6a90d8,_0x14f31f(0x9d))[_0x14f31f(0x11a)]());}if(!this['publicKey']){let _0x3813ed=__dirname;while(_0x3813ed){const _0x431414=path[_0x14f31f(0xe5)](_0x3813ed,'admin',_0x14f31f(0xbb));if(fs[_0x14f31f(0xc2)](_0x431414)){this['publicKey']=fs[_0x14f31f(0xfb)](_0x431414,_0x14f31f(0x9d))[_0x14f31f(0x11a)]();break;}const _0xff8ad5=path[_0x14f31f(0xa9)](_0x3813ed);if(_0xff8ad5===_0x3813ed)break;_0x3813ed=_0xff8ad5;}}}const _0x5b2c4f=this[_0x14f31f(0xc1)],_0x1642d6=!__dirname['replace'](/\\/g,'/')['split']('/')[_0x14f31f(0x11c)](_0x14f31f(0x11d)),_0x3205ec=process.env.MCP_SKIP_INTEGRITY_CHECK==='1'||_0x1642d6&&!fs[_0x14f31f(0xc2)](_0x5b2c4f);if(!_0x3205ec){const _0x234808=require(_0x14f31f(0xba));if(!fs['existsSync'](_0x5b2c4f)){console['error'](_0x14f31f(0xd8)),process[_0x14f31f(0xe3)](0x1);return;}let _0x30c1be;try{_0x30c1be=JSON[_0x14f31f(0x10e)](fs['readFileSync'](_0x5b2c4f,'utf8'));}catch(_0x15a23d){console[_0x14f31f(0xed)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Failed\x20to\x20parse\x20integrity-manifest.json.\x20Exiting.'),process[_0x14f31f(0xe3)](0x1);return;}if(!_0x30c1be['files']||!_0x30c1be[_0x14f31f(0x107)]){console[_0x14f31f(0xed)](_0x14f31f(0xe0)),process[_0x14f31f(0xe3)](0x1);return;}const _0x1a9af3=this[_0x14f31f(0xe4)]||require(_0x14f31f(0x9a))[_0x14f31f(0xb1)];try{const _0x18ad65=JSON[_0x14f31f(0xda)](_0x30c1be[_0x14f31f(0xd1)]),_0x363830=Buffer[_0x14f31f(0xd5)](_0x30c1be[_0x14f31f(0x107)],_0x14f31f(0xa7)),_0x3413f9=_0x234808['verify'](null,Buffer['from'](_0x18ad65),_0x1a9af3,_0x363830);if(!_0x3413f9){console['error'](_0x14f31f(0x108)),process['exit'](0x1);return;}}catch(_0x578f96){console[_0x14f31f(0xed)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Signature\x20verification\x20failed.\x20Exiting.'),process[_0x14f31f(0xe3)](0x1);return;}const _0x2c7c82=path[_0x14f31f(0xe5)](__dirname,_0x14f31f(0xce));for(const [_0x30f571,_0x4004af]of Object[_0x14f31f(0xb5)](_0x30c1be[_0x14f31f(0xd1)])){const _0x1e357f=path[_0x14f31f(0xe5)](_0x2c7c82,_0x30f571);if(!fs[_0x14f31f(0xc2)](_0x1e357f)){console['error']('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20'+_0x30f571+'\x20modified.\x20Exiting.'),process[_0x14f31f(0xe3)](0x1);return;}try{const _0x3c83d6=fs[_0x14f31f(0xfb)](_0x1e357f),_0x36abe2=_0x234808[_0x14f31f(0xd4)]('sha256')[_0x14f31f(0xec)](_0x3c83d6)['digest'](_0x14f31f(0xef));if(_0x36abe2!==_0x4004af){console[_0x14f31f(0xed)](_0x14f31f(0xf8)+_0x30f571+_0x14f31f(0xe6)),process[_0x14f31f(0xe3)](0x1);return;}}catch(_0x1e8e84){console[_0x14f31f(0xed)](_0x14f31f(0xf8)+_0x30f571+_0x14f31f(0xe6)),process['exit'](0x1);return;}}}const _0x238166=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(!_0x238166){if(!this[_0x14f31f(0x11b)]){const {getFingerprint:_0x27f0af}=require('../license/fingerprint.js');this[_0x14f31f(0x11b)]=_0x27f0af();}const _0x29522d=verifyLicense(this[_0x14f31f(0xd7)],this[_0x14f31f(0x11b)],this[_0x14f31f(0xe4)]);if(!_0x29522d[_0x14f31f(0xaf)]){if(_0x29522d['reason']==='License\x20expired'){const _0x83590=_0x29522d['payload']||{},_0x36fd34=_0x83590[_0x14f31f(0x112)]?new Date(_0x83590['exp'])['toISOString']()['split']('T')[0x0]:_0x14f31f(0x110);console[_0x14f31f(0xed)](_0x14f31f(0xbe)+_0x36fd34+_0x14f31f(0xea));}else console['error'](_0x14f31f(0x9e)+_0x29522d['reason']+'.\x20Contact\x20support\x20at\x20support@anhdh.io.\x20Exiting.');process[_0x14f31f(0xe3)](0x1);return;}console['error'](_0x14f31f(0xdf)+_0x29522d['payload']['user']),await this[_0x14f31f(0xad)](),this[_0x14f31f(0x101)]=setInterval(()=>{const _0x504e83=_0x14f31f;this[_0x504e83(0xad)]()[_0x504e83(0x117)](_0x2a4244=>{const _0x497f9d=_0x504e83;console[_0x497f9d(0xed)](_0x497f9d(0xb0),_0x2a4244[_0x497f9d(0xfa)]);});},0x18*0x3c*0x3c*0x3e8);}this[_0x14f31f(0x103)]=spawnBackends(this['projectPath']),this[_0x14f31f(0x111)]=!![];for(const _0xa2c761 of Object[_0x14f31f(0x10a)](this['backends'])){_0xa2c761['start']();}this[_0x14f31f(0x109)]=_0x5a0d34=>{const _0x2c204a=_0x14f31f;this['handleClientData'](_0x5a0d34[_0x2c204a(0xff)]());},process['stdin']['on']('data',this[_0x14f31f(0x109)]);}[_0x5bdc97(0x100)](_0xe414cc){const _0x406ec3=_0x5bdc97;this[_0x406ec3(0xa5)]+=_0xe414cc;const _0x8da828=this['clientBuffer'][_0x406ec3(0xb9)]('\x0a');this['clientBuffer']=_0x8da828['pop']();for(const _0x392aeb of _0x8da828){const _0xe0bd13=_0x392aeb['trim']();if(!_0xe0bd13)continue;try{const _0x159fa1=JSON[_0x406ec3(0x10e)](_0xe0bd13);this[_0x406ec3(0xb4)](_0x159fa1);}catch(_0x282a34){console[_0x406ec3(0xed)](_0x406ec3(0x9f),_0x392aeb,_0x282a34[_0x406ec3(0xfa)]);}}}async[_0x5bdc97(0xb4)](_0x180e77){const _0x285e04=_0x5bdc97,{id:_0x5848e5,method:_0x284f0a,params:_0x2958d6}=_0x180e77;if(!_0x284f0a)return;if(_0x284f0a==='initialize'){Promise[_0x285e04(0x116)](Object['values'](this[_0x285e04(0x103)])[_0x285e04(0xc5)](_0x25aba2=>_0x25aba2['sendRequest'](_0x285e04(0xe7),_0x2958d6)['catch'](_0x16d1e6=>{const _0x24d10e=_0x285e04;console[_0x24d10e(0xed)](_0x24d10e(0xaa)+(_0x25aba2['displayName']||_0x25aba2[_0x24d10e(0xc9)])+':',_0x16d1e6['message']);})));const _0x25cf81={};_0x25cf81[_0x285e04(0xf5)]=![];const _0xd9155={};_0xd9155[_0x285e04(0xc7)]=_0x25cf81;const _0x5c1a9a={};_0x5c1a9a[_0x285e04(0xc9)]=_0x285e04(0xe8),_0x5c1a9a[_0x285e04(0x11e)]=_0x285e04(0xa4);const _0x25ba6d={};_0x25ba6d[_0x285e04(0xfd)]=_0x2958d6[_0x285e04(0xfd)]||'2024-11-05',_0x25ba6d[_0x285e04(0xae)]=_0xd9155,_0x25ba6d[_0x285e04(0xb7)]=_0x5c1a9a;const _0x26faa8={};_0x26faa8['jsonrpc']=_0x285e04(0xf7),_0x26faa8['id']=_0x5848e5,_0x26faa8[_0x285e04(0xa8)]=_0x25ba6d;const _0xf73e8e=_0x26faa8;this['writeToClient'](_0xf73e8e);return;}if(_0x284f0a===_0x285e04(0xa0)){try{const _0x2bb5c7=Object[_0x285e04(0xb5)](this[_0x285e04(0x103)])['map'](async([_0x506770,_0x57f0bf])=>{const _0x4294f1=_0x285e04;try{const _0x240266=await _0x57f0bf[_0x4294f1(0xfe)](_0x4294f1(0xa0)),_0x2d689d=_0x240266&&_0x240266[_0x4294f1(0xa8)]&&_0x240266[_0x4294f1(0xa8)][_0x4294f1(0xc7)]||[];return translateToolList(_0x2d689d,_0x506770);}catch(_0x3ccf68){return console['error'](_0x4294f1(0xdb)+_0x506770+':',_0x3ccf68[_0x4294f1(0xfa)]),[];}}),_0x511c0c=await Promise[_0x285e04(0x116)](_0x2bb5c7),_0x156f05=_0x511c0c[_0x285e04(0xbd)](),_0x361d82={};_0x361d82[_0x285e04(0xc7)]=_0x156f05;const _0x3df3f6={};_0x3df3f6['jsonrpc']=_0x285e04(0xf7),_0x3df3f6['id']=_0x5848e5,_0x3df3f6['result']=_0x361d82;const _0x2ab560=_0x3df3f6;this[_0x285e04(0xd9)](_0x2ab560);}catch(_0x5f0f44){this[_0x285e04(0xe1)](_0x5848e5,-0x7f5b,_0x285e04(0x102)+_0x5f0f44['message']);}return;}if(_0x284f0a==='tools/call'){const _0x2100a5=_0x2958d6['name'],_0x5bc68f=mapExposedToOriginal(_0x2100a5);if(!_0x5bc68f)return this[_0x285e04(0xe1)](_0x5848e5,-0x7f59,'Tool\x20not\x20found:\x20'+_0x2100a5);try{const _0x28a199=this[_0x285e04(0x103)][_0x5bc68f[_0x285e04(0xd3)]];if(!_0x28a199)return this[_0x285e04(0xe1)](_0x5848e5,-0x7f5b,_0x285e04(0xf6)+_0x5bc68f['backend']+'\x20is\x20not\x20running');const _0x1d9849={..._0x2958d6};_0x1d9849[_0x285e04(0xc9)]=_0x5bc68f[_0x285e04(0x118)];const _0x49f385={..._0x180e77};_0x49f385['params']=_0x1d9849;const _0xaf57cd=_0x49f385,_0x4fdf49=await _0x28a199[_0x285e04(0xb3)](_0xaf57cd);this['writeToClient'](_0x4fdf49);}catch(_0x6ce48a){this['writeError'](_0x5848e5,-0x7f5b,_0x285e04(0xb8)+_0x6ce48a['message']);}return;}for(const _0x2a4804 of Object[_0x285e04(0x10a)](this[_0x285e04(0x103)])){_0x2a4804[_0x285e04(0xe2)]&&_0x2a4804[_0x285e04(0xe2)][_0x285e04(0xe9)]['write'](JSON[_0x285e04(0xda)](_0x180e77)+'\x0a');}}[_0x5bdc97(0xd9)](_0x2ada1d){const _0xb6bbf2=_0x5bdc97;this[_0xb6bbf2(0xbf)][_0xb6bbf2(0xf4)](JSON[_0xb6bbf2(0xda)](_0x2ada1d)+'\x0a');}['writeError'](_0x34b65c,_0x340037,_0x4e44b8){const _0x4778cd=_0x5bdc97,_0xdedbd4={};_0xdedbd4[_0x4778cd(0xcd)]=_0x340037,_0xdedbd4[_0x4778cd(0xfa)]=_0x4e44b8;const _0x55f8c4={};_0x55f8c4[_0x4778cd(0xac)]='2.0',_0x55f8c4['id']=_0x34b65c,_0x55f8c4[_0x4778cd(0xed)]=_0xdedbd4;const _0x2d841c=_0x55f8c4;this['writeToClient'](_0x2d841c);}[_0x5bdc97(0x10b)](){const _0x362311=_0x5bdc97;this[_0x362311(0x111)]=![];this['heartbeatInterval']&&(clearInterval(this[_0x362311(0x101)]),this[_0x362311(0x101)]=null);this[_0x362311(0x109)]&&(process[_0x362311(0xe9)]['removeListener'](_0x362311(0xc0),this[_0x362311(0x109)]),this[_0x362311(0x109)]=null,process[_0x362311(0xe9)][_0x362311(0xfc)]());if(this[_0x362311(0x103)])for(const _0x4a5bcf of Object[_0x362311(0x10a)](this[_0x362311(0x103)])){_0x4a5bcf[_0x362311(0x10b)]();}}}const _0x3caedd={};function _0x5583(_0x1ccccc,_0x2e8c87){_0x1ccccc=_0x1ccccc-0x9a;const _0xd10eec=_0xd10e();let _0x5583e7=_0xd10eec[_0x1ccccc];if(_0x5583['eUanpR']===undefined){var _0x4507a7=function(_0x52f72f){const _0x4c5b3d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12daf3='',_0x4bb596='';for(let _0x553c6e=0x0,_0x5972dc,_0x25a35d,_0x3f5877=0x0;_0x25a35d=_0x52f72f['charAt'](_0x3f5877++);~_0x25a35d&&(_0x5972dc=_0x553c6e%0x4?_0x5972dc*0x40+_0x25a35d:_0x25a35d,_0x553c6e++%0x4)?_0x12daf3+=String['fromCharCode'](0xff&_0x5972dc>>(-0x2*_0x553c6e&0x6)):0x0){_0x25a35d=_0x4c5b3d['indexOf'](_0x25a35d);}for(let _0x3afd71=0x0,_0x25e63d=_0x12daf3['length'];_0x3afd71<_0x25e63d;_0x3afd71++){_0x4bb596+='%'+('00'+_0x12daf3['charCodeAt'](_0x3afd71)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bb596);};_0x5583['uckpQs']=_0x4507a7,_0x5583['CUKYGM']={},_0x5583['eUanpR']=!![];}const _0x2da4b7=_0xd10eec[0x0],_0x157838=_0x1ccccc+_0x2da4b7,_0x4f2e12=_0x5583['CUKYGM'][_0x157838];return!_0x4f2e12?(_0x5583e7=_0x5583['uckpQs'](_0x5583e7),_0x5583['CUKYGM'][_0x157838]=_0x5583e7):_0x5583e7=_0x4f2e12,_0x5583e7;}_0x3caedd['ProxyServer']=ProxyServer,module[_0x5bdc97(0x10c)]=_0x3caedd;function _0xd10e(){const _0x5aa30b=['BgLJzw5ZzuTLEq','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGAw50zwDYAxr5lw1HBMLMzxn0lMPZB24GBwLZC2LUzY4GrxHPDgLUzY4','D3jPDgvuB0nSAwvUDa','C3rYAw5NAwz5','w01ducbbz2vUDf0GDg9VBhmVBgLZDcbYzxf1zxn0igzHAwXLzcbMB3iGC2vYDMLJzsa','Bg9HzeXPy2vUC2vlzxK','w01ducbbz2vUDf0GsgvHCNrIzwf0ihjLzNjLC2GGzMfPBgvKoIbtzxj2zxiGCMv0DxjUzwqG','ndu2ndq1q0fcDLnN','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPzwqGC3vJy2vZC2z1BgX5igzVCIb1C2vYoIa','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbTyw5PzMvZDcbMB3jTyxqUiev4AxrPBMCU','D3jPDgvfCNjVCG','y2HPBgq','zxHPDa','ChvIBgLJs2v5','AM9PBG','ig1VzgLMAwvKlIbfEgL0Aw5NlG','Aw5PDgLHBgL6zq','BwnWlwfNzw50lxbYB3H5','C3rKAw4','lIbszw5LDYbHDcbODhrWCZOVl2fUAgrOlMLVl3jLBMv3lIbfEgL0Aw5NlG','ndeWnZq0B01VAKD3','DxbKyxrL','zxjYB3i','mZC2mZq3nM5UAhDyuG','Agv4','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGzxHWAxjLzcbVCIbPBNzHBgLKlIbfEgL0Aw5NlG','mtaZnJu1ngzqu0jOyG','BgLJzw5Zzs5RzxK','ue9tva','D3jPDgu','BgLZDenOyw5Nzwq','vgfYz2v0igjHy2TLBMqG','mI4W','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOG','oxfeEhvQrq','BwvZC2fNzq','CMvHzezPBgvtEw5J','Cgf1C2u','ChjVDg9JB2XwzxjZAw9U','C2vUzfjLCxvLC3q','Dg9tDhjPBMC','AgfUzgXLq2XPzw50rgf0yq','AgvHCNrIzwf0sw50zxj2ywW','rMfPBgvKihrVihf1zxj5ihrVB2WGBgLZDdOG','yMfJA2vUzhm','lMfUAgrO','q29UDgvUDc1uExbL','Ag9TzwrPCG','C2LNBMf0DxjL','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbZAwDUyxr1CMuUiev4AxrPBMCU','C3rKAw5mAxn0zw5LCG','DMfSDwvZ','C3rVCa','zxHWB3j0CW','ywjVCNq','CgfYC2u','BgvUz3rO','Dw5RBM93BG','CNvUBMLUzW','zxHW','mti4vu5Zr3HA','BwTKAxjtEw5J','rMfPBgvKihrVihn0yxj0ifbYB3H5u2vYDMvYoG','ywXS','y2f0y2G','B3jPz2LUywXoyw1L','ANnVBG','DhjPBq','zgv2AwnLswq','Aw5JBhvKzxm','zgLZDa','DMvYC2LVBG','mteWtvnwshvp','nZiYwvryvujR','BwfPBG','lI4VBgLJzw5Zzs92zxjPzNKUANm','nunvz0z3ta','ChjVAMvJDfbHDgG','DxrMoa','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','w01ducbbz2vUDf0GrMfPBgvKihrVihbHCNnLiePtt04TuLbdig1LC3nHz2uGzNjVBsbJBgLLBNq6','Dg9VBhmVBgLZDa','odfnqKrYzLi','CMvJDxjZAxzL','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfP','ms4WlJa','y2XPzw50qNvMzMvY','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGAgfZigjLzw4GCMv2B2TLzc4GrxHPDgLUzY4','yMfZzty0DxjS','CMvZDwX0','zgLYBMfTzq','w01ducbbz2vUDf0GrMfPBgvKihrVigLUAxrPywXPEMuGC2vYDMLJzsa','y3DK','ANnVBNjWyW','CgvYzM9YBuHLyxj0yMvHDa','y2fWywjPBgL0AwvZ','DMfSAwq','w01ducbbz2vUDf0GugvYAw9KAwmGAgvHCNrIzwf0igvYCM9YoG','ufjprfvdveLptL9qvujmsunFs0vz','C2LNBMfS','zM9YD2fYzfjLCxvLC3q','AgfUzgXLq2XPzw50twvZC2fNzq','zw50CMLLCW','lI9IywnRzw5KCY5QCW','C2vYDMvYsw5MBW','vg9VBcbLEgvJDxrPB24GzMfPBgvKoIa','C3bSAxq','y3j5ChrV','BwfZDgvYlNb1yMXPyY5Wzw0','lIbdB250Aw51Aw5NihDPDgGGy2fJAgvKihrVA2vUlG','zMXHDa','w01ducbbz2vUDf0GtgLJzw5ZzsbLEhbPCMvKig9Uia','C3rKB3v0','zgf0yq','Aw50zwDYAxr5twfUAwzLC3rqyxrO','zxHPC3rZu3LUyW','Cgf0Aa','D3jPDgvgAwXLu3LUyW','BwfW','mJq4ntq4uMLvDu1r','Dg9VBhm','mtKWoti1sfrmDw91','BMfTzq','BwfZDgvYu2vJCMv0','C3rHCNq','yxbWBgLJyxrPB24VANnVBG','y29Kzq','lI4VlI4','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRigzHAwXLzcbVCIb0Aw1LzcbVDxq6','C3rHDhvZ','zMLSzxm','BM93','yMfJA2vUza','y3jLyxrLsgfZAa','zNjVBq','Dg9Rzw4'];_0xd10e=function(){return _0x5aa30b;};return _0xd10e();}if(require[_0x5bdc97(0x121)]===module){const server=new ProxyServer();server[_0x5bdc97(0xcb)]()['catch'](_0x2d943c=>{const _0x4119b2=_0x5bdc97;console[_0x4119b2(0xed)](_0x4119b2(0x115),_0x2d943c['message']),process[_0x4119b2(0xe3)](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);});}
|
package/src/templates/AGENTS.md
CHANGED
|
@@ -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)
|
package/src/templates/GEMINI.md
CHANGED
|
@@ -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`
|