apt-mcp-agent-setup 3.0.6 → 3.0.8

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.
Files changed (53) hide show
  1. package/bin/cli.js +1 -1
  2. package/bundle/NOTICES.md +0 -0
  3. package/bundle/core.enc +0 -0
  4. package/bundle/mcp-rules.enc +0 -0
  5. package/bundle/skills-aso.enc +0 -0
  6. package/bundle/skills-ba.enc +0 -0
  7. package/bundle/skills-base.enc +0 -0
  8. package/bundle/skills-be.enc +0 -0
  9. package/bundle/skills-design.enc +0 -0
  10. package/bundle/skills-fe.enc +0 -0
  11. package/bundle/skills-mobile.enc +0 -0
  12. package/bundle/skills-pm.enc +0 -0
  13. package/integrity-manifest.json +53 -51
  14. package/package.json +1 -1
  15. package/release-check.js +70 -13
  16. package/src/backends/index-command.js +1 -0
  17. package/src/backends/index-store.js +1 -1
  18. package/src/backends/profiles.js +1 -1
  19. package/src/backends/review_graph.py +6 -5
  20. package/src/core/catalog.js +1 -1
  21. package/src/core/context-metrics.js +1 -1
  22. package/src/core/doctor.js +1 -1
  23. package/src/core/execution.js +1 -1
  24. package/src/core/hook-bridge.js +1 -1
  25. package/src/core/host-adapters.js +1 -1
  26. package/src/core/memory-store.js +1 -1
  27. package/src/core/model-routing.js +1 -1
  28. package/src/core/owned-lock.js +1 -1
  29. package/src/core/session.js +1 -1
  30. package/src/core/skill-names.js +1 -1
  31. package/src/core/workspace-path.js +1 -1
  32. package/src/installer/bounded-command.js +1 -0
  33. package/src/installer/global-setup.js +1 -1
  34. package/src/installer/host-hooks.js +1 -1
  35. package/src/installer/managed-config.js +1 -1
  36. package/src/installer/platform-config.js +1 -1
  37. package/src/installer/prerequisites.js +1 -1
  38. package/src/installer/project-setup.js +1 -1
  39. package/src/installer/runtime-lock.js +1 -1
  40. package/src/installer/runtime-store.js +1 -1
  41. package/src/installer/setup-wizard.js +1 -1
  42. package/src/license/crypto.js +1 -1
  43. package/src/license/fingerprint.js +1 -1
  44. package/src/license/terms.js +1 -1
  45. package/src/license/verify.js +1 -1
  46. package/src/presets/index.js +1 -1
  47. package/src/proxy/backends.js +1 -1
  48. package/src/proxy/core-tools.js +1 -1
  49. package/src/proxy/pipeline.js +1 -1
  50. package/src/proxy/router.config.js +1 -1
  51. package/src/proxy/router.js +1 -1
  52. package/src/proxy/server.js +1 -1
  53. package/src/templates/mcp-tools.md +3 -1
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x152fb6=_0x1955;(function(_0x211084,_0x362b7e){const _0x45d9f5=_0x1955,_0x2982bd=_0x211084();while(!![]){try{const _0x21c13c=parseInt(_0x45d9f5(0x1a0))/0x1*(parseInt(_0x45d9f5(0x18a))/0x2)+-parseInt(_0x45d9f5(0x1c8))/0x3+parseInt(_0x45d9f5(0x170))/0x4+-parseInt(_0x45d9f5(0x1ab))/0x5*(-parseInt(_0x45d9f5(0x180))/0x6)+parseInt(_0x45d9f5(0x1f7))/0x7*(-parseInt(_0x45d9f5(0x1ec))/0x8)+parseInt(_0x45d9f5(0x1d7))/0x9+-parseInt(_0x45d9f5(0x1af))/0xa;if(_0x21c13c===_0x362b7e)break;else _0x2982bd['push'](_0x2982bd['shift']());}catch(_0x14879d){_0x2982bd['push'](_0x2982bd['shift']());}}}(_0x9077,0x98c47));const fs=require('fs'),path=require('path'),os=require('os'),readline=require(_0x152fb6(0x1c7)),http=require('http'),https=require(_0x152fb6(0x1f6)),{getFingerprint}=require(_0x152fb6(0x214)),{verifyLicense}=require('../src/license/verify.js'),{checkPrerequisites}=require(_0x152fb6(0x1c4)),{installGlobalTools}=require(_0x152fb6(0x210)),{deployProject,ensureStitchAuthentication}=require('../src/installer/project-setup.js'),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x152fb6(0x1bc)),{runSetupWizard}=require(_0x152fb6(0x176));function runtimeLauncher(_0x3e6e44){const _0x4befe2=_0x152fb6,_0xabf985=path[_0x4befe2(0x1e2)](__dirname,'..');if(!fs[_0x4befe2(0x17d)](path[_0x4befe2(0x19f)](_0xabf985,_0x4befe2(0x1c1))))return console['warn'](_0x4befe2(0x196)),path['join'](_0xabf985,_0x4befe2(0x16d));const _0x20549c={};return _0x20549c[_0x4befe2(0x1e6)]=_0x3e6e44,require(_0x4befe2(0x15f))[_0x4befe2(0x1e8)](_0xabf985,_0x20549c)['launcherPath'];}function parseArgs(){const _0x5548df=_0x152fb6,_0x38a3f1=process['argv']['slice'](0x2),_0x3b7b82=_0x38a3f1[0x0],_0x17644d={};for(let _0x1822f8=0x1;_0x1822f8<_0x38a3f1[_0x5548df(0x1f4)];_0x1822f8++){if(_0x38a3f1[_0x1822f8]===_0x5548df(0x20d)||_0x38a3f1[_0x1822f8]==='-k')_0x17644d[_0x5548df(0x1f8)]=_0x38a3f1[_0x1822f8+0x1],_0x1822f8++;else{if(_0x38a3f1[_0x1822f8]===_0x5548df(0x173)||_0x38a3f1[_0x1822f8]==='-p')_0x17644d[_0x5548df(0x1dd)]=_0x38a3f1[_0x1822f8+0x1],_0x1822f8++;else{if(_0x38a3f1[_0x1822f8]==='--project')_0x17644d['project']=_0x38a3f1[_0x1822f8+0x1],_0x1822f8++;else _0x38a3f1[_0x1822f8]===_0x5548df(0x188)&&(_0x17644d[_0x5548df(0x1fd)]=!![]);}}}const _0x688051={};return _0x688051['command']=_0x3b7b82,_0x688051[_0x5548df(0x183)]=_0x17644d,_0x688051;}function getPublicKey(){const _0x429e81=_0x152fb6;if(process.env.MCP_ADMIN_DIR){const _0xbc419b=path['join'](process.env.MCP_ADMIN_DIR,'master.public.pem');if(fs[_0x429e81(0x17d)](_0xbc419b))return fs[_0x429e81(0x1d5)](_0xbc419b,_0x429e81(0x167))['trim']();}let _0xa112d2=path[_0x429e81(0x19f)](__dirname,_0x429e81(0x1ad));if(fs[_0x429e81(0x17d)](_0xa112d2))return fs[_0x429e81(0x1d5)](_0xa112d2,_0x429e81(0x167))[_0x429e81(0x172)]();_0xa112d2=path[_0x429e81(0x19f)](__dirname,_0x429e81(0x17e));if(fs['existsSync'](_0xa112d2))return fs['readFileSync'](_0xa112d2,_0x429e81(0x167))[_0x429e81(0x172)]();return null;}function handleInit(){const _0x37b5b7=_0x152fb6,_0x45177c=getFingerprint();console[_0x37b5b7(0x1e7)](_0x37b5b7(0x1cb)+_0x45177c);}function handleStatus(){const _0x371dc7=_0x152fb6,_0x57877e=path[_0x371dc7(0x19f)](os[_0x371dc7(0x178)](),'.anhdh',_0x371dc7(0x19c));let _0x111a39;try{_0x111a39=fs[_0x371dc7(0x1d5)](_0x57877e,_0x371dc7(0x167))[_0x371dc7(0x172)]();}catch(_0x26dccf){console[_0x371dc7(0x1f0)](_0x371dc7(0x17a)),process['exit'](0x1);return;}const _0x172e87=getFingerprint(),_0x520257=getPublicKey(),_0xbf6c4=verifyLicense(_0x111a39,_0x172e87,_0x520257);!_0xbf6c4['valid']&&(console[_0x371dc7(0x1f0)](_0x371dc7(0x1ee)+_0xbf6c4[_0x371dc7(0x15e)]),process[_0x371dc7(0x1d6)](0x1));const _0x385af8=_0xbf6c4['payload'];console['log'](_0x371dc7(0x212)),console[_0x371dc7(0x1e7)](_0x371dc7(0x1c5)),console[_0x371dc7(0x1e7)]('Status:\x20\x20\x20\x20\x20\x20Valid\x20/\x20Active'),console['log'](_0x371dc7(0x1a6)+_0x385af8[_0x371dc7(0x207)]),console[_0x371dc7(0x1e7)](_0x371dc7(0x1aa)+_0x385af8['preset']),console['log']('Device\x20ID:\x20\x20\x20'+_0x385af8['device']),console[_0x371dc7(0x1e7)](_0x371dc7(0x179)+new Date(_0x385af8[_0x371dc7(0x1b4)])['toISOString']());}function extractKeyId(_0x3542cf){const _0x26cf01=_0x152fb6;try{const _0x165007=_0x3542cf[_0x26cf01(0x1b9)]('.'),_0x4ddc45=JSON[_0x26cf01(0x18d)](Buffer[_0x26cf01(0x1ea)](_0x165007[0x1],'base64url')[_0x26cf01(0x18e)](_0x26cf01(0x167)));return _0x4ddc45[_0x26cf01(0x203)]||_0x4ddc45[_0x26cf01(0x1e3)];}catch(_0xf64336){return null;}}function httpRequest(_0x5c410a,_0x553917={}){return new Promise((_0x4273b2,_0x2dd917)=>{const _0x225a00=_0x1955;try{const _0x41c6c3=new URL(_0x5c410a),_0x54d762=_0x41c6c3[_0x225a00(0x1f1)]==='https:'?https:http,_0x4f9abd={'User-Agent':_0x225a00(0x1f5)+process[_0x225a00(0x20e)]+')',..._0x553917[_0x225a00(0x16e)]},_0x412f1f=_0x4f9abd;if(_0x553917[_0x225a00(0x164)]){const _0x250bf3=typeof _0x553917[_0x225a00(0x164)]===_0x225a00(0x1de)?_0x553917['body']:JSON['stringify'](_0x553917['body']);!_0x412f1f[_0x225a00(0x191)]&&!_0x412f1f['content-length']&&(_0x412f1f[_0x225a00(0x191)]=Buffer['byteLength'](_0x250bf3));}const _0x3d02b7={};_0x3d02b7['method']=_0x553917[_0x225a00(0x1ef)]||_0x225a00(0x19e),_0x3d02b7[_0x225a00(0x190)]=_0x41c6c3[_0x225a00(0x190)],_0x3d02b7[_0x225a00(0x1eb)]=_0x41c6c3[_0x225a00(0x1eb)]||(_0x41c6c3[_0x225a00(0x1f1)]==='https:'?0x1bb:0x50),_0x3d02b7[_0x225a00(0x1c6)]=_0x41c6c3[_0x225a00(0x18b)]+_0x41c6c3[_0x225a00(0x1ac)],_0x3d02b7[_0x225a00(0x16e)]=_0x412f1f;const _0x50b692=_0x3d02b7,_0x386a2e=_0x54d762['request'](_0x50b692,_0x4055da=>{const _0x5bd02d=_0x225a00;let _0x312286='';_0x4055da['on'](_0x5bd02d(0x1cc),_0x86f4cb=>{_0x312286+=_0x86f4cb;}),_0x4055da['on'](_0x5bd02d(0x1db),()=>{const _0x38e16e=_0x5bd02d;_0x4273b2({'ok':_0x4055da['statusCode']>=0xc8&&_0x4055da[_0x38e16e(0x1a4)]<0x12c,'status':_0x4055da[_0x38e16e(0x1a4)],'json':async()=>JSON[_0x38e16e(0x18d)](_0x312286),'text':async()=>_0x312286});});});_0x386a2e['on'](_0x225a00(0x1f0),_0x8e3bb9=>{_0x2dd917(_0x8e3bb9);}),_0x553917[_0x225a00(0x164)]&&_0x386a2e[_0x225a00(0x1e0)](_0x553917[_0x225a00(0x164)]),_0x386a2e[_0x225a00(0x1db)]();}catch(_0x311f1c){_0x2dd917(_0x311f1c);}});}async function activateLicense(_0x5a62de,_0x4b7528){const _0x221e9c=_0x152fb6,_0x257fd7=extractKeyId(_0x5a62de);if(!_0x257fd7)throw new Error(_0x221e9c(0x1a3));const _0x22a14d=process.env.MCP_ACTIVATION_URL||_0x221e9c(0x175),_0x5d7ddf=_0x22a14d+_0x221e9c(0x165),_0x4a1645={};_0x4a1645[_0x221e9c(0x1a8)]='application/json';const _0x1c5e58={};_0x1c5e58[_0x221e9c(0x1e3)]=_0x257fd7,_0x1c5e58[_0x221e9c(0x182)]=_0x4b7528;const _0x390e1e=await httpRequest(_0x5d7ddf,{'method':_0x221e9c(0x16f),'headers':_0x4a1645,'body':JSON[_0x221e9c(0x1fb)](_0x1c5e58)});if(!_0x390e1e['ok']){let _0x325c49=_0x221e9c(0x199)+_0x390e1e[_0x221e9c(0x15c)];try{const _0x217a5d=await _0x390e1e['json']();if(_0x217a5d&&_0x217a5d['error'])_0x325c49=_0x217a5d['error'];}catch(_0xc4d06e){}throw new Error(_0x325c49);}const _0xa089da=await _0x390e1e[_0x221e9c(0x18c)]();if(!_0xa089da||!_0xa089da[_0x221e9c(0x1fa)])throw new Error(_0x221e9c(0x1bb));return _0xa089da[_0x221e9c(0x1fa)];}async function handleActivate(_0x2ed4e1){const _0x2a244c=_0x152fb6,_0x236aae=_0x2ed4e1[_0x2a244c(0x1f8)];!_0x236aae&&(console['error'](_0x2a244c(0x15a)),console[_0x2a244c(0x1e7)](_0x2a244c(0x1ca)),console[_0x2a244c(0x1e7)](_0x2a244c(0x184)),process[_0x2a244c(0x1d6)](0x1));const _0x299b60=getFingerprint(),_0x10f45d=getPublicKey(),_0x3b4558=verifyLicense(_0x236aae,null,_0x10f45d);!_0x3b4558['valid']&&(console[_0x2a244c(0x1f0)]('License\x20verification\x20failed:\x20'+_0x3b4558['reason']),process[_0x2a244c(0x1d6)](0x1));try{console[_0x2a244c(0x1e7)](_0x2a244c(0x19d));const _0x502128=await activateLicense(_0x236aae,_0x299b60),_0x3fd734=path[_0x2a244c(0x19f)](os[_0x2a244c(0x178)](),_0x2a244c(0x1b2),'license.key'),_0xbf316e={};_0xbf316e[_0x2a244c(0x187)]=!![],fs[_0x2a244c(0x1cf)](path[_0x2a244c(0x166)](_0x3fd734),_0xbf316e),fs[_0x2a244c(0x18f)](_0x3fd734,_0x502128,'utf8'),console['log']('License\x20key\x20activated\x20and\x20saved\x20to:\x20'+_0x3fd734);}catch(_0x325778){console[_0x2a244c(0x1f0)](_0x2a244c(0x1c9)+_0x325778[_0x2a244c(0x1ae)]),process[_0x2a244c(0x1d6)](0x1);}}function askQuestion(_0x562bce){const _0x3e5789=_0x152fb6,_0x3ee280={};_0x3ee280['input']=process[_0x3e5789(0x1b6)],_0x3ee280['output']=process['stdout'];const _0x2562dc=readline[_0x3e5789(0x20a)](_0x3ee280);return new Promise(_0xd9591f=>_0x2562dc[_0x3e5789(0x177)](_0x562bce,_0x271191=>{const _0x7cb52e=_0x3e5789;_0x2562dc['close'](),process[_0x7cb52e(0x1b6)][_0x7cb52e(0x19b)](),_0xd9591f(_0x271191);}));}async function handleInstall(_0x23a21f){const _0x1217a5=_0x152fb6,_0x37c27a=_0x23a21f[_0x1217a5(0x1f8)];if(!_0x37c27a){console[_0x1217a5(0x1f0)](_0x1217a5(0x15a)),console[_0x1217a5(0x1e7)](_0x1217a5(0x1ca)),console[_0x1217a5(0x1e7)](_0x1217a5(0x1b7)),process[_0x1217a5(0x1d6)](0x1);return;}console[_0x1217a5(0x1e7)](_0x1217a5(0x1d1));const _0x50f442=await askQuestion('Type\x20\x27yes\x27\x20to\x20accept:\x20');if(_0x50f442['trim']()[_0x1217a5(0x1bf)]()!==_0x1217a5(0x1b3)){console[_0x1217a5(0x1f0)]('Installation\x20aborted.\x20You\x20must\x20accept\x20the\x20terms\x20to\x20install.'),process['exit'](0x1);return;}const _0x24179d=extractKeyId(_0x37c27a),_0x449c8d=path[_0x1217a5(0x19f)](os['homedir'](),_0x1217a5(0x1b2),_0x1217a5(0x197)),_0x441334=new Date()[_0x1217a5(0x185)]()+_0x1217a5(0x171)+(_0x24179d||_0x1217a5(0x157))+_0x1217a5(0x1f9);try{const _0x3b6777={};_0x3b6777[_0x1217a5(0x187)]=!![],fs[_0x1217a5(0x1cf)](path[_0x1217a5(0x166)](_0x449c8d),_0x3b6777),fs['appendFileSync'](_0x449c8d,_0x441334,_0x1217a5(0x167));}catch(_0x38a854){console[_0x1217a5(0x181)](_0x1217a5(0x156)+_0x38a854[_0x1217a5(0x1ae)]);}const _0x3911fe=getFingerprint(),_0x54ac49=getPublicKey(),_0x1d882a=verifyLicense(_0x37c27a,null,_0x54ac49);!_0x1d882a['valid']&&(console['error'](_0x1217a5(0x195)+_0x1d882a[_0x1217a5(0x15e)]),process[_0x1217a5(0x1d6)](0x1));let _0xfade22;try{console['log'](_0x1217a5(0x19d)),_0xfade22=await activateLicense(_0x37c27a,_0x3911fe);}catch(_0x5d1b48){console[_0x1217a5(0x1f0)](_0x1217a5(0x194)+_0x5d1b48[_0x1217a5(0x1ae)]),process['exit'](0x1);}const _0x222985=verifyLicense(_0xfade22,_0x3911fe,_0x54ac49);!_0x222985['valid']&&(console[_0x1217a5(0x1f0)](_0x1217a5(0x1e4)+_0x222985[_0x1217a5(0x15e)]),process[_0x1217a5(0x1d6)](0x1));const _0x75e2dd=checkPrerequisites();!_0x75e2dd[_0x1217a5(0x1d2)]&&(console['error'](_0x1217a5(0x1df)),_0x75e2dd['errors'][_0x1217a5(0x1ba)](_0x263265=>console[_0x1217a5(0x1f0)]('-\x20'+_0x263265)),process[_0x1217a5(0x1d6)](0x1));try{installGlobalTools();}catch(_0x2241ed){console['error'](_0x1217a5(0x168)+_0x2241ed[_0x1217a5(0x1ae)]),process['exit'](0x1);}const _0x2736aa=_0x23a21f[_0x1217a5(0x20b)]||process[_0x1217a5(0x17b)](),_0x39a570=_0x23a21f[_0x1217a5(0x1dd)]||_0x222985[_0x1217a5(0x16c)]['preset'],_0x498953=runtimeLauncher(_0x54ac49);try{deployProject({'licenseKey':_0xfade22,'projectPath':_0x2736aa,'presetName':_0x39a570,'deviceId':_0x3911fe,'masterSecret':_0x54ac49,'runtimeLauncherPath':_0x498953,'bundleDir':path[_0x1217a5(0x19f)](__dirname,'../bundle')});}catch(_0x27510d){console['error']('Project\x20setup\x20deployment\x20failed:\x20'+_0x27510d[_0x1217a5(0x1ae)]),process[_0x1217a5(0x1d6)](0x1);}try{console[_0x1217a5(0x1e7)](_0x1217a5(0x15d));const _0x382ae9=detectInstalledIDEs(),_0x4c88bf=[],_0xe06754=[];for(const [_0x3481c8,_0x2cc5b2]of Object[_0x1217a5(0x189)](_0x382ae9)){_0x2cc5b2[_0x1217a5(0x1b0)]?(_0x4c88bf[_0x1217a5(0x200)](_0x3481c8),console[_0x1217a5(0x1e7)](_0x1217a5(0x208)+_0x2cc5b2['displayName']+_0x1217a5(0x16a)+_0x2cc5b2[_0x1217a5(0x1ef)])):(_0xe06754[_0x1217a5(0x200)](_0x3481c8),console[_0x1217a5(0x1e7)](_0x1217a5(0x161)+_0x2cc5b2['displayName']+_0x1217a5(0x1fe)));}let _0x115a4a=_0x4c88bf;if(_0x4c88bf['length']>0x0){console[_0x1217a5(0x1e7)](_0x1217a5(0x163)+_0x4c88bf['map'](_0x3828a4=>_0x382ae9[_0x3828a4]['displayName'])[_0x1217a5(0x19f)](',\x20'));const _0x503fdd=await askQuestion(_0x1217a5(0x1ff)),_0x570074=_0x503fdd[_0x1217a5(0x172)]()[_0x1217a5(0x1bf)]();if(_0x570074==='n'||_0x570074==='no')console[_0x1217a5(0x1e7)](_0x1217a5(0x160)),_0x115a4a=[];else{if(_0x570074===_0x1217a5(0x1c3)){const _0x31978f=Object['entries'](_0x382ae9);console[_0x1217a5(0x1e7)](_0x1217a5(0x213)),_0x31978f[_0x1217a5(0x1ba)](([_0x2d322c,_0x1c1a24],_0x32434b)=>{const _0x4b0ba4=_0x1217a5,_0x500916=_0x1c1a24['detected']?'✅':'❌';console[_0x4b0ba4(0x1e7)]('\x20\x20'+(_0x32434b+0x1)+')\x20'+_0x500916+'\x20'+_0x1c1a24['displayName']);});const _0x3b6bad=await askQuestion(_0x1217a5(0x20c));_0x115a4a=_0x3b6bad[_0x1217a5(0x1b9)](',')['map'](_0x167461=>{const _0x5dd3c7=parseInt(_0x167461['trim'](),0xa)-0x1;return _0x31978f[_0x5dd3c7]?_0x31978f[_0x5dd3c7][0x0]:null;})[_0x1217a5(0x1ce)](Boolean);}}}else console[_0x1217a5(0x1e7)](_0x1217a5(0x1e9)),console[_0x1217a5(0x1e7)](_0x1217a5(0x1cd));if(_0x115a4a[_0x1217a5(0x1f4)]>0x0){const _0x5b5ce1=configureMultipleIDEs(_0x115a4a,_0x498953),_0x50011a=_0x5b5ce1[_0x1217a5(0x1ce)](_0x57ca7e=>_0x57ca7e[_0x1217a5(0x1d2)])['length'];console[_0x1217a5(0x1e7)]('\x0a'+_0x50011a+'/'+_0x115a4a[_0x1217a5(0x1f4)]+_0x1217a5(0x193));}}catch(_0x214859){console[_0x1217a5(0x181)]('Warning:\x20IDE\x20auto-detection\x20failed:\x20'+_0x214859[_0x1217a5(0x1ae)]);try{configureIDE(_0x1217a5(0x1d3),_0x498953),configureIDE(_0x1217a5(0x211),_0x498953);}catch(_0x29b6b9){console[_0x1217a5(0x181)](_0x1217a5(0x198)+_0x29b6b9['message']);}}const _0xa58339=path[_0x1217a5(0x19f)](os[_0x1217a5(0x178)](),'.anhdh',_0x1217a5(0x19c));try{const _0x14c3d3={};_0x14c3d3['recursive']=!![],fs[_0x1217a5(0x1cf)](path[_0x1217a5(0x166)](_0xa58339),_0x14c3d3),fs[_0x1217a5(0x18f)](_0xa58339,_0xfade22,_0x1217a5(0x167)),console[_0x1217a5(0x1e7)](_0x1217a5(0x17c)+_0xa58339);}catch(_0x48d2cb){console[_0x1217a5(0x1f0)]('Failed\x20to\x20save\x20license\x20key\x20file:\x20'+_0x48d2cb['message']),process[_0x1217a5(0x1d6)](0x1);}console[_0x1217a5(0x1e7)](_0x1217a5(0x158)),console[_0x1217a5(0x1e7)](''),console[_0x1217a5(0x1e7)](_0x1217a5(0x1c0)),console['log'](_0x1217a5(0x1d9));}async function handleUpdate(_0xbeb52){const _0xf8a1fe=_0x152fb6,_0x2083b6=path[_0xf8a1fe(0x19f)](os[_0xf8a1fe(0x178)](),'.anhdh',_0xf8a1fe(0x19c));let _0x264688;try{_0x264688=fs[_0xf8a1fe(0x1d5)](_0x2083b6,_0xf8a1fe(0x167))[_0xf8a1fe(0x172)]();}catch(_0x180a1d){console[_0xf8a1fe(0x1f0)]('License\x20key\x20not\x20found.\x20Please\x20run\x20\x22install\x22\x20first:'),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x186)),process[_0xf8a1fe(0x1d6)](0x1);return;}const _0x47a857=getFingerprint(),_0x2efe12=getPublicKey(),_0x24c6a8=verifyLicense(_0x264688,_0x47a857,_0x2efe12);if(!_0x24c6a8[_0xf8a1fe(0x1b1)]){_0x24c6a8[_0xf8a1fe(0x15e)]&&_0x24c6a8['reason'][_0xf8a1fe(0x1b8)]('expired')?console['error'](_0xf8a1fe(0x192)):console[_0xf8a1fe(0x1f0)](_0xf8a1fe(0x195)+_0x24c6a8[_0xf8a1fe(0x15e)]);process[_0xf8a1fe(0x1d6)](0x1);return;}const _0x5b6476=_0x24c6a8['payload'],_0x2b25c7=_0xbeb52['project']||process[_0xf8a1fe(0x17b)](),_0xe63f79=_0xbeb52[_0xf8a1fe(0x1dd)]||_0x5b6476['preset'],_0x97fe88=path[_0xf8a1fe(0x19f)](_0x2b25c7,'.agents',_0xf8a1fe(0x1be));if(!fs[_0xf8a1fe(0x17d)](_0x97fe88)){console[_0xf8a1fe(0x1f0)](_0xf8a1fe(0x205)),console['log'](_0xf8a1fe(0x1bd)),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x15b)+_0x2b25c7+'\x22'),process[_0xf8a1fe(0x1d6)](0x1);return;}console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x1a7)),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x162)),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x1c2)),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x216)+_0x5b6476[_0xf8a1fe(0x207)]),console[_0xf8a1fe(0x1e7)](_0xf8a1fe(0x1f2)+_0xe63f79),console[_0xf8a1fe(0x1e7)]('Project:\x20'+_0x2b25c7),console['log']('');try{installGlobalTools();}catch(_0x25d199){console[_0xf8a1fe(0x1f0)]('Global\x20tools\x20update\x20failed:\x20'+_0x25d199[_0xf8a1fe(0x1ae)]),process[_0xf8a1fe(0x1d6)](0x1);}const _0x43fe0e=runtimeLauncher(_0x2efe12);try{deployProject({'licenseKey':_0x264688,'projectPath':_0x2b25c7,'presetName':_0xe63f79,'deviceId':_0x47a857,'masterSecret':_0x2efe12,'runtimeLauncherPath':_0x43fe0e,'bundleDir':path[_0xf8a1fe(0x19f)](__dirname,_0xf8a1fe(0x215)),'isUpdate':!![],'rebuildIndex':_0xbeb52[_0xf8a1fe(0x1fd)]||![]});}catch(_0x3dc072){console[_0xf8a1fe(0x1f0)]('Update\x20failed:\x20'+_0x3dc072[_0xf8a1fe(0x1ae)]),process[_0xf8a1fe(0x1d6)](0x1);}const _0x440717={};_0x440717['presetName']=_0xe63f79,ensureStitchAuthentication(_0x440717);try{console[_0xf8a1fe(0x1e7)]('\x0aUpdating\x20global\x20IDE\x20configurations\x20to\x20use\x20the\x20new\x20proxy\x20version...');const _0x3a87d7=detectInstalledIDEs(),_0x2486d8=Object[_0xf8a1fe(0x1a1)](_0x3a87d7)[_0xf8a1fe(0x1ce)](_0x315970=>_0x3a87d7[_0x315970]['detected']);if(_0x2486d8[_0xf8a1fe(0x1f4)]>0x0){const _0x37d6fc=configureMultipleIDEs(_0x2486d8,_0x43fe0e),_0x59900d=_0x37d6fc[_0xf8a1fe(0x1ce)](_0x3db5f5=>_0x3db5f5[_0xf8a1fe(0x1d2)])[_0xf8a1fe(0x1f4)];console[_0xf8a1fe(0x1e7)]('\x20\x20'+_0x59900d+'/'+_0x2486d8['length']+_0xf8a1fe(0x1a9));}}catch(_0x51f7ff){console['warn'](_0xf8a1fe(0x16b)+_0x51f7ff['message']);}console['log'](''),console[_0xf8a1fe(0x1e7)]('💡\x20Tip:\x20Run\x20\x22npx\x20apt-mcp-agent-setup\x20setup\x22\x20to\x20reconfigure\x20project\x20settings.');}function _0x1955(_0x52e34d,_0x3289d5){_0x52e34d=_0x52e34d-0x156;const _0x907709=_0x9077();let _0x1955ef=_0x907709[_0x52e34d];if(_0x1955['GqCdLU']===undefined){var _0x1c5448=function(_0xfc570c){const _0x55ce49='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x359c36='',_0x1e1d9a='';for(let _0x1b802c=0x0,_0x12b467,_0x455550,_0x20253f=0x0;_0x455550=_0xfc570c['charAt'](_0x20253f++);~_0x455550&&(_0x12b467=_0x1b802c%0x4?_0x12b467*0x40+_0x455550:_0x455550,_0x1b802c++%0x4)?_0x359c36+=String['fromCharCode'](0xff&_0x12b467>>(-0x2*_0x1b802c&0x6)):0x0){_0x455550=_0x55ce49['indexOf'](_0x455550);}for(let _0x4d3c36=0x0,_0x11a0ad=_0x359c36['length'];_0x4d3c36<_0x11a0ad;_0x4d3c36++){_0x1e1d9a+='%'+('00'+_0x359c36['charCodeAt'](_0x4d3c36)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e1d9a);};_0x1955['HTliUq']=_0x1c5448,_0x1955['PSuTTx']={},_0x1955['GqCdLU']=!![];}const _0x4ccd9e=_0x907709[0x0],_0x4c9c1c=_0x52e34d+_0x4ccd9e,_0x199216=_0x1955['PSuTTx'][_0x4c9c1c];return!_0x199216?(_0x1955ef=_0x1955['HTliUq'](_0x1955ef),_0x1955['PSuTTx'][_0x4c9c1c]=_0x1955ef):_0x1955ef=_0x199216,_0x1955ef;}async function handleNotices(){const _0x516782=_0x152fb6,{decrypt:_0x19957f}=require(_0x516782(0x201)),_0xe52986=path[_0x516782(0x19f)](__dirname,'../bundle/NOTICES.md');if(!fs[_0x516782(0x17d)](_0xe52986)){console[_0x516782(0x1f0)](_0x516782(0x206)),process[_0x516782(0x1d6)](0x1);return;}try{const _0x3652cf=fs['readFileSync'](_0xe52986),_0x103c64=_0x19957f(_0x3652cf,_0x516782(0x20f));console[_0x516782(0x1e7)](_0x103c64[_0x516782(0x18e)](_0x516782(0x167)));}catch(_0x2ed203){console[_0x516782(0x1f0)](_0x516782(0x209),_0x2ed203['message']),process[_0x516782(0x1d6)](0x1);}}function _0x9077(){const _0x542313=['mZC1nxHer01MDq','C2vHCMnO','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','BwvZC2fNzq','mtu5nJCZodbcCK55rNq','zgv0zwn0zwq','DMfSAwq','lMfUAgrO','EwvZ','zxHW','DgHLBG','C3rKAw4','icbUB2rLigjPBI9JBgKUANmGAw5ZDgfSBcaTlwTLEsa8teLdru5trv9lrvK+ifSTlxbYzxnLDca8ufjfu0vupL0GwY0TChjVAMvJDca8uefusd5D','Aw5JBhvKzxm','C3bSAxq','zM9YrwfJAa','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','BwfUAwzLC3qUANnVBG','Dg9mB3DLCKnHC2u','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4PwD','zwrPDa','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','Cgf0Aa','CMvHzgXPBMu','ndG2nde0rLHfs3nQ','qwn0AxzHDgLVBIbMywLSzwq6ia','vxnHz2u6','ww91CIbezxzPy2uGsuq6ia','zgf0yq','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','zMLSDgvY','BwTKAxjtEw5J','ls10zxjTCW','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','C3vJy2vZCW','yw50AwDYyxzPDhK','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','CMvHzezPBgvtEw5J','zxHPDa','mJi2ntG0mfrJtxLVAq','q0Xjigv4zwn1DgLVBIbLCNjVCJO','icaGDhjPywDLigXHyMvSCYWGyw5KigrVBwfPBIbKB2nZigXHEw91DcbMB3iGDgHPCYbWCM9Qzwn0lG','Aw5PDa','zw5K','C2v0Dxa','ChjLC2v0','C3rYAw5N','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','D3jPDgu','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','CMvZB2X2zq','A2v5x2LK','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','cLvZywDLoG','ChvIBgLJs2v5','Bg9N','Aw5ZDgfSBfj1BNrPBwu','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','zNjVBq','Cg9YDa','ndiZntjOBNDbzhK','vw5RBM93BIbJB21Tyw5KoIa','tgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','Bwv0Ag9K','zxjYB3i','ChjVDg9JB2W','uhjLC2v0oIaG','Aw5ZDgfSBa','BgvUz3rO','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','Ahr0Chm','odrluNvREuy','A2v5','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','Dg9Rzw4','C3rYAw5NAwz5','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','CMvIDwLSzeLUzgv4','iokaLcboB3qGzM91BMq','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','ChvZAa','lI4VC3jJl2XPy2vUC2uVy3j5ChrVlMPZ','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','A2v5swq','yxjNDG','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','DxnLCG','icdINiuG','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','y3jLyxrLsw50zxjMywnL','ChjVAMvJDa','q2HVB3nLoIa','ls1RzxK','DMvYC2LVBG','yw5OzgGTB3bLBI1ZB3vYy2uTyxr0CMLIDxrPB25Z','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','y2XHDwrL','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','cLnLBgvJDcbjrevZihrVignVBMzPz3vYzsaOy29TBweTC2vWyxjHDgvKig51BwjLCNmPoG','lI4VC3jJl2XPy2vUC2uVzMLUz2vYChjPBNqUANm','lI4VyNvUzgXL','vxnLCJOGicaG','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','Dw5RBM93BG','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','C3rHDhvZ','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','CMvHC29U','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','icdINyWG','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','cLDPBgWGy29UzMLNDxjLie1ducbMB3i6ia','yM9KEq','l2fJDgL2yxrL','zgLYBMfTzq','DxrMoa','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','lI4VC3jJl2nVCMuVzg9JDg9Y','iokaLca','v2fYBMLUzZOGrMfPBgvKihrVihvWzgf0zsbNBg9IywWGsurfignVBMzPz3vYyxrPB25ZoIa','Cgf5Bg9Hza','C3jJl3bYB3H5l3nLCNzLCI5QCW','AgvHzgvYCW','ue9tva','mJKYntC4ngvizurnqW','ihWGs2v5oIa','DhjPBq','ls1WCMvZzxq','y2f0y2G','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','lI4VC3jJl2LUC3rHBgXLCI9Zzxr1Cc13AxPHCMqUANm','CxvLC3rPB24','Ag9TzwrPCG','rxHWAxjLCZOGicaGia','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq','y3DK','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','zxHPC3rZu3LUyW','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','ls1UB3rPy2vZ','nZKZmMHbrwPeCG','D2fYBG','zMLUz2vYChjPBNq','B3b0Aw9UCW','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','Dg9ju09tDhjPBMC','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4','CMvJDxjZAxzL','ls1Yzwj1AwXKlwLUzgv4','zw50CMLLCW','mKLiug1IqG','Cgf0Ag5HBwu','ANnVBG','CgfYC2u','Dg9tDhjPBMC','D3jPDgvgAwXLu3LUyW','Ag9ZDg5HBwu','q29UDgvUDc1mzw5NDgG','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','rgv2zwXVCg1LBNqGy2HLy2TVDxq6igf1Dg9TyxrPyYbYDw50Aw1LihvWzgf0zxmGCMvXDwLYzsbHihnPz25LzcbWywnRywDLlG','ywnJzxb0yw5Jzs5SB2C','v2fYBMLUzZOGrMfSBgjHy2SGsurfignVBMzPz3vYyxrPB24GywXZBYbMywLSzwq6ia','u2vYDMvYihjLDhvYBMvKihn0yxr1CYa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','Cgf1C2u','BgLJzw5Zzs5RzxK','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','r0vu','AM9PBG','ndCYmteXD1zStLPA','A2v5CW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','C3rHDhvZq29Kzq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlxjLyNvPBgqTAw5KzxHD','vxnLCJOGicaGicaGia','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','q29UDgvUDc1uExbL','ieLersHZksb1CgrHDgvKihn1y2nLC3nMDwXSEs4','uhjLC2v0oIaGicaGia'];_0x9077=function(){return _0x542313;};return _0x9077();}async function main(){const _0x187f04=_0x152fb6;if(process['argv'][_0x187f04(0x1b8)](_0x187f04(0x1d0))){const {EULA_TEXT:_0x45a816}=require(_0x187f04(0x1d4));console[_0x187f04(0x1e7)](_0x45a816);return;}if(process[_0x187f04(0x204)][_0x187f04(0x1b8)](_0x187f04(0x17f))){await handleNotices();return;}const {command:_0x44df6a,options:_0x39280f}=parseArgs();switch(_0x44df6a){case _0x187f04(0x1d0):const {EULA_TEXT:_0x5501bf}=require('../src/license/terms.js');console[_0x187f04(0x1e7)](_0x5501bf);break;case'--notices':await handleNotices();break;case _0x187f04(0x1da):handleInit();break;case'doctor':console[_0x187f04(0x1e7)](JSON[_0x187f04(0x1fb)](require(_0x187f04(0x169))['doctor'](_0x39280f[_0x187f04(0x20b)]||process[_0x187f04(0x17b)]()),null,0x2));break;case _0x187f04(0x15c):handleStatus();break;case _0x187f04(0x1f3):await handleInstall(_0x39280f);break;case'activate':await handleActivate(_0x39280f);break;case'update':await handleUpdate(_0x39280f);break;case _0x187f04(0x1dc):await runSetupWizard(_0x39280f[_0x187f04(0x20b)]||process[_0x187f04(0x17b)]());break;default:console[_0x187f04(0x1f0)](_0x187f04(0x1ed)+(_0x44df6a||'')),console[_0x187f04(0x1e7)](_0x187f04(0x1e5)),console[_0x187f04(0x1e7)](_0x187f04(0x1e1)),console['log']('\x20\x20npx\x20apt-mcp-agent-setup\x20status'),console['log'](_0x187f04(0x202)),console[_0x187f04(0x1e7)](_0x187f04(0x19a)),console[_0x187f04(0x1e7)](_0x187f04(0x1a5)),console[_0x187f04(0x1e7)](_0x187f04(0x1a2)),console[_0x187f04(0x1e7)](_0x187f04(0x159)),console[_0x187f04(0x1e7)](_0x187f04(0x1fc)),console[_0x187f04(0x1e7)]('\x20\x20npx\x20apt-mcp-agent-setup\x20--terms'),process[_0x187f04(0x1d6)](0x1);}}main()[_0x152fb6(0x1b5)](()=>{process['exit'](0x0);})[_0x152fb6(0x174)](_0x59c48f=>{const _0x54b3df=_0x152fb6;console[_0x54b3df(0x1f0)](_0x54b3df(0x1d8),_0x59c48f[_0x54b3df(0x1ae)]),process[_0x54b3df(0x1d6)](0x1);});
2
+ const _0x5b736f=_0x2712;(function(_0x4e45cf,_0x1af5b6){const _0x462236=_0x2712,_0x2bb86c=_0x4e45cf();while(!![]){try{const _0x321d3b=parseInt(_0x462236(0x144))/0x1+-parseInt(_0x462236(0x191))/0x2+parseInt(_0x462236(0x168))/0x3+parseInt(_0x462236(0x16f))/0x4*(parseInt(_0x462236(0x185))/0x5)+-parseInt(_0x462236(0x192))/0x6+-parseInt(_0x462236(0x152))/0x7*(parseInt(_0x462236(0x11b))/0x8)+-parseInt(_0x462236(0x16c))/0x9;if(_0x321d3b===_0x1af5b6)break;else _0x2bb86c['push'](_0x2bb86c['shift']());}catch(_0x619d43){_0x2bb86c['push'](_0x2bb86c['shift']());}}}(_0x4943,0x999b4));const fs=require('fs'),path=require('path'),os=require('os'),readline=require(_0x5b736f(0x1b2)),http=require(_0x5b736f(0x139)),https=require(_0x5b736f(0x198)),{getFingerprint}=require(_0x5b736f(0xfc)),{verifyLicense}=require('../src/license/verify.js'),{checkPrerequisites}=require(_0x5b736f(0x17b)),{installGlobalTools}=require(_0x5b736f(0x165)),{deployProject,ensureStitchAuthentication}=require(_0x5b736f(0xf1)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x5b736f(0x106)),{runSetupWizard}=require(_0x5b736f(0x1b6));function runtimeLauncher(_0x2f1f69){const _0xa857aa=_0x5b736f,_0x2f7256=path[_0xa857aa(0x18b)](__dirname,'..');if(!fs[_0xa857aa(0x148)](path[_0xa857aa(0x17f)](_0x2f7256,'integrity-manifest.json')))return console['warn'](_0xa857aa(0x132)),path['join'](_0x2f7256,'src/proxy/server.js');const _0x40d827={};return _0x40d827[_0xa857aa(0x13d)]=_0x2f1f69,require(_0xa857aa(0x18c))['installRuntime'](_0x2f7256,_0x40d827)['launcherPath'];}function _0x4943(){const _0x519f2b=['tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','tgLJzw5ZzsbRzxKGywn0AxzHDgvKigfUzcbZyxzLzcb0BZOG','uhjVAMvJDcbZzxr1CcbKzxbSB3LTzw50igzHAwXLzdOG','C3rHDhvZ','vw5RBM93BIbJB21Tyw5KoIa','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','r2XVyMfSihrVB2XZihvWzgf0zsbMywLSzwq6ia','mJqYoty3nNzHyvHbDW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','mty3ndy0oefbvfjitG','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','mtC0ntmXmLn6tfHVEa','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','D3jPDgvgAwXLu3LUyW','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','ywnJzxb0yw5Jzs5SB2C','Bwv0Ag9K','BwTKAxjtEw5J','q2HVB3nLoIa','q29UDgvUDc1uExbL','BgvUz3rO','v2fYBMLUzZOGrMfSBgjHy2SGsurfignVBMzPz3vYyxrPB24GywXZBYbMywLSzwq6ia','lMfUAgrO','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','A2v5swq','uhjLC2v0oIaG','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','AM9PBG','icbUB2rLigjPBI9JBgKUANmGAw5ZDgfSBcaTlwTLEsa8teLdru5trv9lrvK+ifSTlxbYzxnLDca8ufjfu0vupL0GwY0TChjVAMvJDca8uefusd5D','icdINiuG','y29UDgvUDc1Szw5NDgG','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','yNvPBhq','nxPKAfH0uq','lI4VyNvUzgXL','C2vHCMnO','C3rKAw4','l2fJDgL2yxrL','Dg9mB3DLCKnHC2u','CMvZB2X2zq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','zxHWAxjLza','q0Xjigv4zwn1DgLVBIbLCNjVCJO','CMvIDwLSzeLUzgv4','ww91CIbezxzPy2uGsuq6ia','nZG2mdCWALjqt3rp','nZeYmJi2neLIDuP0Da','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','ls1Yzwj1AwXKlwLUzgv4','zxjYB3i','v2fYBMLUzZOGsurfigf1Dg8Tzgv0zwn0Aw9UigzHAwXLzdOG','C3bSAxq','Ahr0Chm','lMfNzw50CW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','ywn0AxzHDgu','BwvZC2fNzq','y3DK','ChvZAa','vxbKyxrLigzHAwXLzdOG','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','EwvZ','zgf0yq','zw50CMLLCW','D2fYBG','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','Dg9tDhjPBMC','yNL0zuXLBMD0Aa','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','zg9JDg9Y','A2v5x2LK','DMfSAwq','ls1RzxK','Dg9ju09tDhjPBMC','ANnVBG','A2v5CW','Ahr0Chm6','CMvHzgXPBMu','lI4VyNvUzgXLl05pveLdrvmUBwq','yw50AwDYyxzPDhK','zgv0zwn0zwq','lI4VC3jJl2LUC3rHBgXLCI9Zzxr1Cc13AxPHCMqUANm','ieLersHZksb1CgrHDgvKihn1y2nLC3nMDwXSEs4','C3rYAw5NAwz5','Cg9YDa','Aw5JBhvKzxm','AgvHzgvYCW','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','y2f0y2G','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','CxvLC3rPB24','vxnLCJOGicaG','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','ls10zxjTCW','rxHWAxjLCZOGicaGia','C2XPy2u','Cgf1C2u','lI4VC3jJl2XPy2vUC2uVzMLUz2vYChjPBNqUANm','ChjVAMvJDa','zxHW','zgLZCgXHEu5HBwu','DxbKyxrL','DMvYC2LVBG','zwrPDa','zxHPDenVzgu','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','Cgf0Aa','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','zM9YrwfJAa','A2v5','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','zgv2AwnL','DxnLCG','CMvHC29U','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','C3rHDhvZq29Kzq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','vxnHz2u6','Aw5PDa','CMvHzezPBgvtEw5J','qwn0AxzHDgLVBIbMywLSzwq6ia','CMvJDxjZAxzL','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','ChjLC2v0','yxbWBgLJyxrPB24VANnVBG','mJrYEvfMANu','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','Aw5WDxq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZDgf0Dxm','ChjVDg9JB2W','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','ChjLC2v0tMfTzq','q29UDgvUDc1mzw5NDgG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlxjLyNvPBgqTAw5KzxHD','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','Cgf5Bg9Hza','y3jLyxrLsw50zxjMywnL','y29TBwfUza','Ag9ZDg5HBwu','zxHPDa','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','C3vJy2vZCW','cLnLBgvJDcbjrevZihrVignVBMzPz3vYzsaOy29TBweTC2vWyxjHDgvKig51BwjLCNmPoG','iokaLca','BwfZDgvYlNb1yMXPyY5Wzw0','cLvWzgf0Aw5NigDSB2jHBcbjreuGy29UzMLNDxjHDgLVBNmGDg8GDxnLihrOzsbUzxCGChjVEhKGDMvYC2LVBI4UlG','CgfYC2u','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','rgv2zwXVCg1LBNqGy2HLy2TVDxq6igf1Dg9TyxrPyYbYDw50Aw1LihvWzgf0zxmGCMvXDwLYzsbHihnPz25LzcbWywnRywDLlG','lI4VC3jJl2nVCMuVzg9JDg9Y','B3b0Aw9UCW','C3rKB3v0','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','Dg9Rzw4','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','Ahr0Ca','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq','Dw5RBM93BG','ChvIBgLJs2v5','DxrMoa','zMLSDgvY','cLDPBgWGy29UzMLNDxjLie1ducbMB3i6ia','yxjNDG','ls1UB3rPy2vZ','ihWGs2v5oIa','mte4nde5n2Lpt1DusW','zNjVBq','C3rYAw5N','icaGDhjPywDLigXHyMvSCYWGyw5KigrVBwfPBIbKB2nZigXHEw91DcbMB3iGDgHPCYbWCM9Qzwn0lG','zxHPC3rZu3LUyW','Bg9N','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','uhjVAMvJDdOG','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','DhjPBq','Cgf0Ag5HBwu','Ag9TzwrPCG','BgLJzw5Zzs5RzxK','ode4odzJtwPyz0K','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','Aw5KzxHtzxr1Ca','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','cLvZywDLoG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','yw5OzgGTB3bLBI1ZB3vYy2uTyxr0CMLIDxrPB25Z','yM9KEq','icdINyWG','BwfW','ue9tva','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG'];_0x4943=function(){return _0x519f2b;};return _0x4943();}function _0x2712(_0x5abff8,_0x357b98){_0x5abff8=_0x5abff8-0xee;const _0x49431d=_0x4943();let _0x27123d=_0x49431d[_0x5abff8];if(_0x2712['eskbgq']===undefined){var _0x4e272b=function(_0x2f7133){const _0x153f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c19d5='',_0x2f0a2b='';for(let _0x2d34ac=0x0,_0x3a5528,_0x212b87,_0x140103=0x0;_0x212b87=_0x2f7133['charAt'](_0x140103++);~_0x212b87&&(_0x3a5528=_0x2d34ac%0x4?_0x3a5528*0x40+_0x212b87:_0x212b87,_0x2d34ac++%0x4)?_0x3c19d5+=String['fromCharCode'](0xff&_0x3a5528>>(-0x2*_0x2d34ac&0x6)):0x0){_0x212b87=_0x153f01['indexOf'](_0x212b87);}for(let _0xf06b90=0x0,_0x5dfbbe=_0x3c19d5['length'];_0xf06b90<_0x5dfbbe;_0xf06b90++){_0x2f0a2b+='%'+('00'+_0x3c19d5['charCodeAt'](_0xf06b90)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f0a2b);};_0x2712['NFfbiZ']=_0x4e272b,_0x2712['mRxlek']={},_0x2712['eskbgq']=!![];}const _0x303d1f=_0x49431d[0x0],_0x4ff16e=_0x5abff8+_0x303d1f,_0xbc2351=_0x2712['mRxlek'][_0x4ff16e];return!_0xbc2351?(_0x27123d=_0x2712['NFfbiZ'](_0x27123d),_0x2712['mRxlek'][_0x4ff16e]=_0x27123d):_0x27123d=_0xbc2351,_0x27123d;}function parseArgs(){const _0x8a03c8=_0x5b736f,_0x3dcfb5=process[_0x8a03c8(0x141)][_0x8a03c8(0xfa)](0x2),_0x4fecae=_0x3dcfb5[0x0],_0x5a13da={};for(let _0x3cd48e=0x1;_0x3cd48e<_0x3dcfb5['length'];_0x3cd48e++){if(_0x3dcfb5[_0x3cd48e]===_0x8a03c8(0x1ad)||_0x3dcfb5[_0x3cd48e]==='-k')_0x5a13da[_0x8a03c8(0x10a)]=_0x3dcfb5[_0x3cd48e+0x1],_0x3cd48e++;else{if(_0x3dcfb5[_0x3cd48e]==='--preset'||_0x3dcfb5[_0x3cd48e]==='-p')_0x5a13da['preset']=_0x3dcfb5[_0x3cd48e+0x1],_0x3cd48e++;else{if(_0x3dcfb5[_0x3cd48e]==='--project')_0x5a13da[_0x8a03c8(0xfd)]=_0x3dcfb5[_0x3cd48e+0x1],_0x3cd48e++;else _0x3dcfb5[_0x3cd48e]===_0x8a03c8(0x194)&&(_0x5a13da['rebuildIndex']=!![]);}}}const _0x5231d2={};return _0x5231d2[_0x8a03c8(0x127)]=_0x4fecae,_0x5231d2[_0x8a03c8(0x134)]=_0x5a13da,_0x5231d2;}function getPublicKey(){const _0x438002=_0x5b736f;if(process.env.MCP_ADMIN_DIR){const _0x3e22e8=path['join'](process.env.MCP_ADMIN_DIR,_0x438002(0x12e));if(fs['existsSync'](_0x3e22e8))return fs['readFileSync'](_0x3e22e8,_0x438002(0x13e))[_0x438002(0x14e)]();}let _0x461af2=path[_0x438002(0x17f)](__dirname,_0x438002(0x1a6));if(fs[_0x438002(0x148)](_0x461af2))return fs[_0x438002(0x115)](_0x461af2,_0x438002(0x13e))[_0x438002(0x14e)]();_0x461af2=path[_0x438002(0x17f)](__dirname,_0x438002(0x155));if(fs[_0x438002(0x148)](_0x461af2))return fs[_0x438002(0x115)](_0x461af2,'utf8')[_0x438002(0x14e)]();return null;}function handleInit(){const _0x22248e=_0x5b736f,_0x1d8a08=getFingerprint();console[_0x22248e(0x149)](_0x22248e(0x190)+_0x1d8a08);}function handleStatus(){const _0x4c4850=_0x5b736f,_0x3f7b73=path[_0x4c4850(0x17f)](os[_0x4c4850(0x150)](),_0x4c4850(0x17a),'license.key');let _0x49d63f;try{_0x49d63f=fs[_0x4c4850(0x115)](_0x3f7b73,_0x4c4850(0x13e))[_0x4c4850(0x14e)]();}catch(_0x4c70b4){console[_0x4c4850(0x195)](_0x4c4850(0x13b)),process['exit'](0x1);return;}const _0x44b713=getFingerprint(),_0x5ac520=getPublicKey(),_0x46ef91=verifyLicense(_0x49d63f,_0x44b713,_0x5ac520);!_0x46ef91[_0x4c4850(0x1ac)]&&(console[_0x4c4850(0x195)]('License\x20key\x20verification\x20failed:\x20'+_0x46ef91[_0x4c4850(0x10e)]),process['exit'](0x1));const _0x22a67d=_0x46ef91[_0x4c4850(0x125)];console['log'](_0x4c4850(0xf3)),console[_0x4c4850(0x149)]('================================'),console[_0x4c4850(0x149)](_0x4c4850(0x131)),console['log']('User:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x22a67d[_0x4c4850(0x10d)]),console['log']('Preset:\x20\x20\x20\x20\x20\x20'+_0x22a67d[_0x4c4850(0x119)]),console[_0x4c4850(0x149)]('Device\x20ID:\x20\x20\x20'+_0x22a67d[_0x4c4850(0x10c)]),console[_0x4c4850(0x149)](_0x4c4850(0xf9)+new Date(_0x22a67d[_0x4c4850(0xfe)])['toISOString']());}function extractKeyId(_0x3151a9){const _0x14b9e8=_0x5b736f;try{const _0xa1ab8d=_0x3151a9[_0x14b9e8(0x197)]('.'),_0x222d9b=JSON[_0x14b9e8(0x130)](Buffer[_0x14b9e8(0x145)](_0xa1ab8d[0x1],'base64url')[_0x14b9e8(0x1a7)](_0x14b9e8(0x13e)));return _0x222d9b[_0x14b9e8(0x17c)]||_0x222d9b[_0x14b9e8(0x1ab)];}catch(_0x353d03){return null;}}function httpRequest(_0xdd015d,_0x1f7963={}){return new Promise((_0x13bb22,_0x4e26f9)=>{const _0x2ae1cb=_0x2712;try{const _0x26a484=new URL(_0xdd015d),_0x361fd8=_0x26a484['protocol']==='https:'?https:http,_0x1dc0d5={'User-Agent':_0x2ae1cb(0x15f)+process[_0x2ae1cb(0x101)]+')',..._0x1f7963[_0x2ae1cb(0xf0)]},_0x27b531=_0x1dc0d5;if(_0x1f7963[_0x2ae1cb(0x159)]){const _0x333695=typeof _0x1f7963[_0x2ae1cb(0x159)]===_0x2ae1cb(0x146)?_0x1f7963[_0x2ae1cb(0x159)]:JSON[_0x2ae1cb(0x1b8)](_0x1f7963['body']);!_0x27b531[_0x2ae1cb(0x122)]&&!_0x27b531[_0x2ae1cb(0x182)]&&(_0x27b531[_0x2ae1cb(0x122)]=Buffer[_0x2ae1cb(0x1a8)](_0x333695));}const _0x3910d1={};_0x3910d1['method']=_0x1f7963['method']||'GET',_0x3910d1[_0x2ae1cb(0x128)]=_0x26a484[_0x2ae1cb(0x128)],_0x3910d1[_0x2ae1cb(0xee)]=_0x26a484['port']||(_0x26a484[_0x2ae1cb(0x11f)]===_0x2ae1cb(0x1b1)?0x1bb:0x50),_0x3910d1[_0x2ae1cb(0x105)]=_0x26a484[_0x2ae1cb(0x14f)]+_0x26a484[_0x2ae1cb(0x187)],_0x3910d1[_0x2ae1cb(0xf0)]=_0x27b531;const _0x4b9368=_0x3910d1,_0x599440=_0x361fd8['request'](_0x4b9368,_0x1c4523=>{const _0x22ecca=_0x2ae1cb;let _0x3e7d46='';_0x1c4523['on'](_0x22ecca(0x1a3),_0x10829c=>{_0x3e7d46+=_0x10829c;}),_0x1c4523['on']('end',()=>{const _0x9be5d5=_0x22ecca;_0x13bb22({'ok':_0x1c4523[_0x9be5d5(0x111)]>=0xc8&&_0x1c4523['statusCode']<0x12c,'status':_0x1c4523[_0x9be5d5(0x111)],'json':async()=>JSON[_0x9be5d5(0x130)](_0x3e7d46),'text':async()=>_0x3e7d46});});});_0x599440['on'](_0x2ae1cb(0x195),_0x16a1f0=>{_0x4e26f9(_0x16a1f0);}),_0x1f7963[_0x2ae1cb(0x159)]&&_0x599440['write'](_0x1f7963[_0x2ae1cb(0x159)]),_0x599440['end']();}catch(_0x349d7e){_0x4e26f9(_0x349d7e);}});}async function activateLicense(_0x6de4ac,_0x21445f){const _0x5aef49=_0x5b736f,_0x1ab707=extractKeyId(_0x6de4ac);if(!_0x1ab707)throw new Error(_0x5aef49(0x172));const _0x405c4a=process.env.MCP_ACTIVATION_URL||'https://agentkit.alphatechs.ai/api',_0x1d6156=_0x405c4a+_0x5aef49(0x189),_0x55876a={};_0x55876a[_0x5aef49(0x177)]=_0x5aef49(0x11a);const _0x29d7b8={};_0x29d7b8[_0x5aef49(0x1ab)]=_0x1ab707,_0x29d7b8['fingerprint']=_0x21445f;const _0x3bef76=await httpRequest(_0x1d6156,{'method':_0x5aef49(0x15c),'headers':_0x55876a,'body':JSON['stringify'](_0x29d7b8)});if(!_0x3bef76['ok']){let _0x10a0a7='Server\x20returned\x20status\x20'+_0x3bef76[_0x5aef49(0x162)];try{const _0x479284=await _0x3bef76['json']();if(_0x479284&&_0x479284['error'])_0x10a0a7=_0x479284['error'];}catch(_0x12118b){}throw new Error(_0x10a0a7);}const _0x4b0640=await _0x3bef76[_0x5aef49(0x1af)]();if(!_0x4b0640||!_0x4b0640[_0x5aef49(0x137)])throw new Error(_0x5aef49(0x183));return _0x4b0640[_0x5aef49(0x137)];}async function handleActivate(_0x1ca762){const _0x31da21=_0x5b736f,_0x93be99=_0x1ca762[_0x31da21(0x10a)];!_0x93be99&&(console[_0x31da21(0x195)](_0x31da21(0x170)),console[_0x31da21(0x149)](_0x31da21(0x113)),console[_0x31da21(0x149)](_0x31da21(0x1a1)),process[_0x31da21(0x129)](0x1));const _0x381395=getFingerprint(),_0x2ab355=getPublicKey(),_0x190d6a=verifyLicense(_0x93be99,null,_0x2ab355);!_0x190d6a['valid']&&(console['error']('License\x20verification\x20failed:\x20'+_0x190d6a['reason']),process['exit'](0x1));try{console['log'](_0x31da21(0x16e));const _0x5af35e=await activateLicense(_0x93be99,_0x381395),_0x357d3c=path[_0x31da21(0x17f)](os[_0x31da21(0x150)](),_0x31da21(0x17a),_0x31da21(0x151)),_0x2457bc={};_0x2457bc[_0x31da21(0x117)]=!![],fs[_0x31da21(0x175)](path['dirname'](_0x357d3c),_0x2457bc),fs[_0x31da21(0x171)](_0x357d3c,_0x5af35e,_0x31da21(0x13e)),console['log'](_0x31da21(0x160)+_0x357d3c);}catch(_0x463e14){console[_0x31da21(0x195)](_0x31da21(0x116)+_0x463e14['message']),process['exit'](0x1);}}function askQuestion(_0x523f84){const _0x478ba6=_0x5b736f,_0x2f3aaf={};_0x2f3aaf[_0x478ba6(0x11d)]=process[_0x478ba6(0x188)],_0x2f3aaf['output']=process[_0x478ba6(0x135)];const _0x29f005=readline[_0x478ba6(0x126)](_0x2f3aaf);return new Promise(_0x3955a7=>_0x29f005[_0x478ba6(0xf5)](_0x523f84,_0x54e5a1=>{const _0x482c64=_0x478ba6;_0x29f005['close'](),process[_0x482c64(0x188)][_0x482c64(0xfb)](),_0x3955a7(_0x54e5a1);}));}async function handleInstall(_0x50bc6d){const _0x298a29=_0x5b736f,_0x56d079=_0x50bc6d[_0x298a29(0x10a)];if(!_0x56d079){console[_0x298a29(0x195)](_0x298a29(0x170)),console['log']('Usage:'),console[_0x298a29(0x149)](_0x298a29(0x180)),process[_0x298a29(0x129)](0x1);return;}console[_0x298a29(0x149)](_0x298a29(0x136));const _0x565968=await askQuestion(_0x298a29(0x17e));if(_0x565968['trim']()[_0x298a29(0x18a)]()!==_0x298a29(0x1a2)){console[_0x298a29(0x195)](_0x298a29(0x110)),process['exit'](0x1);return;}const _0x23bd7f=extractKeyId(_0x56d079),_0x5b1833=path['join'](os[_0x298a29(0x150)](),_0x298a29(0x17a),_0x298a29(0x173)),_0x5b0c9c=new Date()[_0x298a29(0x1ae)]()+_0x298a29(0x143)+(_0x23bd7f||_0x298a29(0x13c))+_0x298a29(0xf7);try{const _0xcb380b={};_0xcb380b[_0x298a29(0x117)]=!![],fs[_0x298a29(0x175)](path['dirname'](_0x5b1833),_0xcb380b),fs['appendFileSync'](_0x5b1833,_0x5b0c9c,'utf8');}catch(_0x503a45){console['warn']('Warning:\x20Failed\x20to\x20log\x20EULA\x20acceptance:\x20'+_0x503a45[_0x298a29(0x19c)]);}const _0x136ba6=getFingerprint(),_0xe6aa0b=getPublicKey(),_0x27b148=verifyLicense(_0x56d079,null,_0xe6aa0b);!_0x27b148['valid']&&(console[_0x298a29(0x195)](_0x298a29(0x11c)+_0x27b148[_0x298a29(0x10e)]),process[_0x298a29(0x129)](0x1));let _0x540817;try{console['log'](_0x298a29(0x16e)),_0x540817=await activateLicense(_0x56d079,_0x136ba6);}catch(_0x4d79bb){console[_0x298a29(0x195)](_0x298a29(0x14b)+_0x4d79bb['message']),process[_0x298a29(0x129)](0x1);}const _0x13c6a8=verifyLicense(_0x540817,_0x136ba6,_0xe6aa0b);!_0x13c6a8['valid']&&(console[_0x298a29(0x195)](_0x298a29(0x108)+_0x13c6a8[_0x298a29(0x10e)]),process[_0x298a29(0x129)](0x1));const _0xcdc9c3=checkPrerequisites();!_0xcdc9c3[_0x298a29(0x12b)]&&(console['error'](_0x298a29(0x1a0)),_0xcdc9c3['errors'][_0x298a29(0x109)](_0x432081=>console[_0x298a29(0x195)]('-\x20'+_0x432081)),process[_0x298a29(0x129)](0x1));try{installGlobalTools();}catch(_0x454393){console['error']('Global\x20tools\x20installation\x20failed:\x20'+_0x454393[_0x298a29(0x19c)]),process[_0x298a29(0x129)](0x1);}const _0x1e6a0c=_0x50bc6d[_0x298a29(0xfd)]||process[_0x298a29(0x19d)](),_0x4fdb03=_0x50bc6d[_0x298a29(0x119)]||_0x13c6a8[_0x298a29(0x125)]['preset'],_0x51f7a1=runtimeLauncher(_0xe6aa0b);try{deployProject({'licenseKey':_0x540817,'projectPath':_0x1e6a0c,'presetName':_0x4fdb03,'deviceId':_0x136ba6,'masterSecret':_0xe6aa0b,'runtimeLauncherPath':_0x51f7a1,'bundleDir':path[_0x298a29(0x17f)](__dirname,_0x298a29(0x186))});}catch(_0xdf708d){console[_0x298a29(0x195)](_0x298a29(0x161)+_0xdf708d['message']),process[_0x298a29(0x129)](0x1);}try{console[_0x298a29(0x149)](_0x298a29(0x1a9));const _0x5d13f1=detectInstalledIDEs(),_0x17f775=[],_0x25b3c3=[];for(const [_0x91732c,_0x54d06b]of Object[_0x298a29(0x1a4)](_0x5d13f1)){_0x54d06b[_0x298a29(0x1b5)]?(_0x17f775[_0x298a29(0x19e)](_0x91732c),console[_0x298a29(0x149)](_0x298a29(0x181)+_0x54d06b[_0x298a29(0xff)]+_0x298a29(0x12d)+_0x54d06b[_0x298a29(0x174)])):(_0x25b3c3['push'](_0x91732c),console[_0x298a29(0x149)](_0x298a29(0x15a)+_0x54d06b[_0x298a29(0xff)]+'\x20—\x20Not\x20found'));}let _0x24a8b2=_0x17f775;if(_0x17f775[_0x298a29(0x178)]>0x0){console[_0x298a29(0x149)](_0x298a29(0x140)+_0x17f775[_0x298a29(0x15b)](_0x35bf00=>_0x5d13f1[_0x35bf00][_0x298a29(0xff)])[_0x298a29(0x17f)](',\x20'));const _0x1d9ea2=await askQuestion(_0x298a29(0x13a)),_0x3a3c55=_0x1d9ea2[_0x298a29(0x14e)]()[_0x298a29(0x18a)]();if(_0x3a3c55==='n'||_0x3a3c55==='no')console['log'](_0x298a29(0x138)),_0x24a8b2=[];else{if(_0x3a3c55===_0x298a29(0x102)){const _0xf2d7a5=Object[_0x298a29(0x1a4)](_0x5d13f1);console[_0x298a29(0x149)](_0x298a29(0x12c)),_0xf2d7a5['forEach'](([_0x4892e2,_0x50f48f],_0x5cdf7e)=>{const _0x484c04=_0x298a29,_0x5c2280=_0x50f48f[_0x484c04(0x1b5)]?'✅':'❌';console[_0x484c04(0x149)]('\x20\x20'+(_0x5cdf7e+0x1)+')\x20'+_0x5c2280+'\x20'+_0x50f48f[_0x484c04(0xff)]);});const _0x47f9f9=await askQuestion(_0x298a29(0x176));_0x24a8b2=_0x47f9f9[_0x298a29(0x197)](',')[_0x298a29(0x15b)](_0x257807=>{const _0x371559=_0x298a29,_0x1966b6=parseInt(_0x257807[_0x371559(0x14e)](),0xa)-0x1;return _0xf2d7a5[_0x1966b6]?_0xf2d7a5[_0x1966b6][0x0]:null;})[_0x298a29(0x13f)](Boolean);}}}else console[_0x298a29(0x149)](_0x298a29(0x118)),console[_0x298a29(0x149)](_0x298a29(0x15d));if(_0x24a8b2[_0x298a29(0x178)]>0x0){const _0x1929e2=configureMultipleIDEs(_0x24a8b2,_0x51f7a1),_0x57e82f=_0x1929e2[_0x298a29(0x13f)](_0x502dc0=>_0x502dc0[_0x298a29(0x12b)])[_0x298a29(0x178)];console[_0x298a29(0x149)]('\x0a'+_0x57e82f+'/'+_0x24a8b2['length']+_0x298a29(0x16b));}}catch(_0x277fad){console[_0x298a29(0x1a5)](_0x298a29(0x196)+_0x277fad[_0x298a29(0x19c)]);try{configureIDE(_0x298a29(0x1b4),_0x51f7a1),configureIDE('claude',_0x51f7a1);}catch(_0x4ee26c){console[_0x298a29(0x1a5)](_0x298a29(0x179)+_0x4ee26c[_0x298a29(0x19c)]);}}const _0x512513=path[_0x298a29(0x17f)](os['homedir'](),_0x298a29(0x17a),'license.key');try{const _0x3dc4d8={};_0x3dc4d8[_0x298a29(0x117)]=!![],fs[_0x298a29(0x175)](path['dirname'](_0x512513),_0x3dc4d8),fs[_0x298a29(0x171)](_0x512513,_0x540817,_0x298a29(0x13e)),console['log'](_0x298a29(0x10b)+_0x512513);}catch(_0x1143e4){console[_0x298a29(0x195)](_0x298a29(0x14d)+_0x1143e4[_0x298a29(0x19c)]),process[_0x298a29(0x129)](0x1);}console[_0x298a29(0x149)](_0x298a29(0x120)),console[_0x298a29(0x149)](''),console[_0x298a29(0x149)](_0x298a29(0xf4)),console[_0x298a29(0x149)](_0x298a29(0x147));}async function handleUpdate(_0x5de9ed){const _0x1c19d8=_0x5b736f,_0x5194b1=path[_0x1c19d8(0x17f)](os['homedir'](),'.anhdh',_0x1c19d8(0x151));let _0x4d1181;try{_0x4d1181=fs['readFileSync'](_0x5194b1,_0x1c19d8(0x13e))[_0x1c19d8(0x14e)]();}catch(_0x3bf2fc){console['error'](_0x1c19d8(0x10f)),console['log']('\x20\x20npx\x20apt-mcp-agent-setup\x20install\x20--key\x20<LICENSE_KEY>'),process[_0x1c19d8(0x129)](0x1);return;}const _0x1f90fa=getFingerprint(),_0x3f228f=getPublicKey(),_0x20acf8=verifyLicense(_0x4d1181,_0x1f90fa,_0x3f228f);if(!_0x20acf8[_0x1c19d8(0x1ac)]){_0x20acf8[_0x1c19d8(0x10e)]&&_0x20acf8['reason'][_0x1c19d8(0xef)](_0x1c19d8(0x18d))?console[_0x1c19d8(0x195)](_0x1c19d8(0x15e)):console[_0x1c19d8(0x195)](_0x1c19d8(0x11c)+_0x20acf8[_0x1c19d8(0x10e)]);process['exit'](0x1);return;}const _0x94da03=_0x20acf8[_0x1c19d8(0x125)],_0x549b9c=_0x5de9ed[_0x1c19d8(0xfd)]||process[_0x1c19d8(0x19d)](),_0x1333b1=_0x5de9ed['preset']||_0x94da03[_0x1c19d8(0x119)],_0xee4452=path[_0x1c19d8(0x17f)](_0x549b9c,_0x1c19d8(0x199),'manifest.json');if(!fs[_0x1c19d8(0x148)](_0xee4452)){console[_0x1c19d8(0x195)](_0x1c19d8(0x164)),console[_0x1c19d8(0x149)](_0x1c19d8(0x124)),console[_0x1c19d8(0x149)](_0x1c19d8(0x169)+_0x549b9c+'\x22'),process[_0x1c19d8(0x129)](0x1);return;}console[_0x1c19d8(0x149)](_0x1c19d8(0x16d)),console[_0x1c19d8(0x149)](_0x1c19d8(0x16a)),console[_0x1c19d8(0x149)]('╚══════════════════════════════════════════╝'),console[_0x1c19d8(0x149)](_0x1c19d8(0xf6)+_0x94da03[_0x1c19d8(0x10d)]),console[_0x1c19d8(0x149)](_0x1c19d8(0x17d)+_0x1333b1),console[_0x1c19d8(0x149)](_0x1c19d8(0x14c)+_0x549b9c),console['log']('');try{installGlobalTools();}catch(_0x223cdc){console[_0x1c19d8(0x195)](_0x1c19d8(0x167)+_0x223cdc[_0x1c19d8(0x19c)]),process[_0x1c19d8(0x129)](0x1);}const _0x42766e=runtimeLauncher(_0x3f228f);try{const _0x16a5ed=deployProject({'licenseKey':_0x4d1181,'projectPath':_0x549b9c,'presetName':_0x1333b1,'deviceId':_0x1f90fa,'masterSecret':_0x3f228f,'runtimeLauncherPath':_0x42766e,'bundleDir':path[_0x1c19d8(0x17f)](__dirname,_0x1c19d8(0x186)),'isUpdate':!![],'rebuildIndex':_0x5de9ed[_0x1c19d8(0x18f)]||![]});if(_0x5de9ed['rebuildIndex']){if(_0x16a5ed[_0x1c19d8(0x154)]?.[_0x1c19d8(0x162)]!==_0x1c19d8(0x184))process[_0x1c19d8(0x103)]=0x2;}}catch(_0x59dea8){console[_0x1c19d8(0x195)](_0x1c19d8(0x19f)+_0x59dea8[_0x1c19d8(0x19c)]),process[_0x1c19d8(0x129)](0x1);}const _0x59bb55={};_0x59bb55[_0x1c19d8(0x121)]=_0x1333b1,ensureStitchAuthentication(_0x59bb55);try{console[_0x1c19d8(0x149)](_0x1c19d8(0x12f));const _0x4aedec=detectInstalledIDEs(),_0xa84595=Object[_0x1c19d8(0x1b0)](_0x4aedec)[_0x1c19d8(0x13f)](_0x5ec17a=>_0x4aedec[_0x5ec17a][_0x1c19d8(0x1b5)]);if(_0xa84595['length']>0x0){const _0x3c48ae=configureMultipleIDEs(_0xa84595,_0x42766e),_0xefeda2=_0x3c48ae['filter'](_0x4fd8a4=>_0x4fd8a4[_0x1c19d8(0x12b)])['length'];console[_0x1c19d8(0x149)]('\x20\x20'+_0xefeda2+'/'+_0xa84595[_0x1c19d8(0x178)]+_0x1c19d8(0x1b7));}}catch(_0x704169){console[_0x1c19d8(0x1a5)]('Warning:\x20Failed\x20to\x20update\x20global\x20IDE\x20configurations:\x20'+_0x704169[_0x1c19d8(0x19c)]);}console['log'](''),console['log'](_0x1c19d8(0x12a));}async function handleNotices(){const _0x550944=_0x5b736f,{decrypt:_0x36158c}=require('../src/license/crypto.js'),_0x43d67c=path[_0x550944(0x17f)](__dirname,_0x550944(0x1b3));if(!fs[_0x550944(0x148)](_0x43d67c)){console[_0x550944(0x195)](_0x550944(0x14a)),process[_0x550944(0x129)](0x1);return;}try{const _0x53dd7e=fs[_0x550944(0x115)](_0x43d67c),_0x2c30d8=_0x36158c(_0x53dd7e,_0x550944(0x158));console[_0x550944(0x149)](_0x2c30d8[_0x550944(0x1a7)](_0x550944(0x13e)));}catch(_0x2b10e2){console[_0x550944(0x195)](_0x550944(0x107),_0x2b10e2['message']),process[_0x550944(0x129)](0x1);}}async function main(){const _0xee50c8=_0x5b736f;if(process['argv']['includes'](_0xee50c8(0xf8))){const {EULA_TEXT:_0x470246}=require('../src/license/terms.js');console[_0xee50c8(0x149)](_0x470246);return;}if(process[_0xee50c8(0x141)][_0xee50c8(0xef)]('--notices')){await handleNotices();return;}const {command:_0x58f846,options:_0x1bbd42}=parseArgs();switch(_0x58f846){case _0xee50c8(0xf8):const {EULA_TEXT:_0xef99e1}=require(_0xee50c8(0x153));console[_0xee50c8(0x149)](_0xef99e1);break;case _0xee50c8(0x142):await handleNotices();break;case _0xee50c8(0x114):handleInit();break;case _0xee50c8(0x1aa):console[_0xee50c8(0x149)](JSON[_0xee50c8(0x1b8)](require(_0xee50c8(0x133))[_0xee50c8(0x1aa)](_0x1bbd42[_0xee50c8(0xfd)]||process[_0xee50c8(0x19d)]()),null,0x2));break;case _0xee50c8(0x162):handleStatus();break;case'install':await handleInstall(_0x1bbd42);break;case _0xee50c8(0x19b):await handleActivate(_0x1bbd42);break;case _0xee50c8(0x100):await handleUpdate(_0x1bbd42);break;case'setup':await runSetupWizard(_0x1bbd42[_0xee50c8(0xfd)]||process[_0xee50c8(0x19d)]());break;default:console[_0xee50c8(0x195)](_0xee50c8(0x163)+(_0x58f846||'')),console[_0xee50c8(0x149)](_0xee50c8(0x156)),console['log'](_0xee50c8(0x104)),console[_0xee50c8(0x149)](_0xee50c8(0x11e)),console[_0xee50c8(0x149)](_0xee50c8(0x193)),console['log'](_0xee50c8(0x166)),console[_0xee50c8(0x149)](_0xee50c8(0x123)),console[_0xee50c8(0x149)](_0xee50c8(0x157)),console[_0xee50c8(0x149)](_0xee50c8(0x19a)),console[_0xee50c8(0x149)]('\x20\x20npx\x20apt-mcp-agent-setup\x20--notices'),console[_0xee50c8(0x149)](_0xee50c8(0x112)),process[_0xee50c8(0x129)](0x1);}}main()['then'](()=>{const _0xe86c15=_0x5b736f;process['exit'](process[_0xe86c15(0x103)]||0x0);})[_0x5b736f(0xf2)](_0xd4db1c=>{const _0x3a541e=_0x5b736f;console[_0x3a541e(0x195)](_0x3a541e(0x18e),_0xd4db1c[_0x3a541e(0x19c)]),process['exit'](0x1);});
package/bundle/NOTICES.md CHANGED
Binary file
package/bundle/core.enc CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,59 +1,61 @@
1
1
  {
2
2
  "files": {
3
- "bin/cli.js": "1bee0a9c463c2c9fbdc3d270422fd92295dcd6751fe587df01e1ed448eada280",
4
- "bundle/core.enc": "e57e87e7bbb9d11bae5238325018edd8150e8fcc73c15b2e09e1d1690a62f986",
5
- "bundle/mcp-rules.enc": "7cccea125ce6fdcc49961bfd8b0100e9e6b2291fab3a3f8165873421bd247304",
6
- "bundle/NOTICES.md": "1b75e92243f8d102f82c013972c38abfd66adfc1a4573d89897a153fe1d08333",
7
- "bundle/skills-aso.enc": "2fd628ac793f1205c444768139906ba60e35d6836f90c25aeefe87c5cfdf33fa",
8
- "bundle/skills-ba.enc": "000b8019f328aea99bdd28a535cf55bb168f935d07ce09f2700ceb89af0ffb88",
9
- "bundle/skills-base.enc": "134dbd38aab026c54e9841d770999f99e83e136644a2750a5a9c2b6b7c0deff4",
10
- "bundle/skills-be.enc": "d9b8178ccd420319f58b1554773cfeeb5ebf1f4a959c7e1b4fe216e962b78776",
11
- "bundle/skills-design.enc": "b2de3ec5c31eb895f3ce64f37aae9991226055abaf520bc1bc72084dfca7c79b",
12
- "bundle/skills-fe.enc": "ab24e8f38c69bb6c8c146fddf597232d5423be1f8809bcda036677ba0df9fd81",
13
- "bundle/skills-mobile.enc": "8c36fa5d7910de889f577899cf88ef205c2f06063c7b4078fd31455d02d59b48",
14
- "bundle/skills-pm.enc": "8f4fb1d25452242a35aa7e7839c84360a71e5c7026d86e3ef9add6e2ab8a77af",
3
+ "bin/cli.js": "85f7e49ea1bbc64af1b3d5a3513a3338ccbb2e38ad7243525090be70177117fa",
4
+ "bundle/core.enc": "a6bb969171dcb21d7cb83a2565a9a1d9253199c0b0fcf1e469750cf3c2bc89c2",
5
+ "bundle/mcp-rules.enc": "f1bc29d1f928490b619f175ac2324c4329ddc4932c5a3d2de03373c7f65ebdec",
6
+ "bundle/NOTICES.md": "69a59cbd7fe4d8030bc8456ddb459b17e1663e8da9a2c97f80711f87f8d4b49b",
7
+ "bundle/skills-aso.enc": "377f2607c3266228b16d07bb3296a6601ab9563c5f3c400646a308d276a72ae7",
8
+ "bundle/skills-ba.enc": "e0dc5f37696f895fa3047a2972dc3c07d3091e2ebe687c0e1c14f7cf0034d630",
9
+ "bundle/skills-base.enc": "29e66a84401135c254acc882e6d11a0ae6d0878befc5defbcf8494774ffae1d8",
10
+ "bundle/skills-be.enc": "7b0f8d424a24437803783cfe21a4cb4d5f2716f90b5f59b02d6c50653118988a",
11
+ "bundle/skills-design.enc": "d4f698e0910b6d9ccbcf53fe0a2f83a598e1ac6e1bbb734f8513642092d5faab",
12
+ "bundle/skills-fe.enc": "e67cc436a49a206a21cb5a70fe3ea1df24b8f682eced32f597b4a69b3e1a2825",
13
+ "bundle/skills-mobile.enc": "79b8ed4f049ad02d3899c7f69bb4a8797312f05dbc2c508164c52bbd151bded2",
14
+ "bundle/skills-pm.enc": "3dec6d2d27ea7b8382d92a531171a7db32b5cefcce22f742da5a8ddb6e107b1e",
15
15
  "LICENSE": "e9b3c5c1f9dc65f8591339e144dc7a1d1266886dc63c01edfeebd83a46315e36",
16
- "package.json": "67ec94de4a5c53ab496cc515cc5adc56b93a173f26032d53f5cf81e098832976",
16
+ "package.json": "31190feb58669cff6d7731a279f5d5e010ac49c6f40d4a4c26bef31c9dcd6938",
17
17
  "README.md": "8e1344617a746b27c0bbed718e04fa297fbd967971d1d25b95d149b094f917da",
18
- "release-check.js": "3df1db22ab830cfa7bc43ea5f43b42a0107145b98c088ba0ca66483c48f2779a",
18
+ "release-check.js": "36a2bbae3236fdc9d5a5bb60116bd82981b0975480ee12d21deda37642a1b812",
19
19
  "src/backends/codegraph-1.6.0.json": "082a6cb00dd124c67ac073c24443bb41edc06d93de54673f068f6daaccd50b55",
20
- "src/backends/index-store.js": "b8dc999b88e5d96e43c23d954add94256e940c9fd8592b3db974e1f9e2034355",
21
- "src/backends/profiles.js": "4089901beaefbbe20cb19c4056f838bdb30edb9ce266edb394656665cc0cb528",
22
- "src/backends/review_graph.py": "11c4825731fbba839fb5fb4379d00e5f2cb40705a226b87d1d86807e22b0e17a",
23
- "src/core/catalog.js": "b3c22cfcaa7837f871f80a84cb27320ea20a9a27991f1075b4b02905ff92d1b9",
24
- "src/core/context-metrics.js": "3d3db990b84aa142bb451b1b85e0b5ec826ce6f618b039e1aa65c81ac9c14367",
25
- "src/core/doctor.js": "a38ae9b44efb6f0dad5fd35376a8f7c70eeae2e1d76201a3f478f463c83a909e",
26
- "src/core/execution.js": "6c5844648a1f9f283f3034b8618c7be0cbb404f42cb4ad70e61ac2a36fe180b5",
27
- "src/core/hook-bridge.js": "670023b963154a8b883ef7b7abd03a042d767c69defce76beeffcb9789320810",
28
- "src/core/host-adapters.js": "97df8c966d769b12958ba730603d0d12e71d6d7109afe4815b7dd2d0ab88e13b",
29
- "src/core/memory-store.js": "25bb6ce3793f9674d7f442b1d88e06bcfbd118748abc90e228488c329c29d017",
30
- "src/core/model-routing.js": "1b9801f7fa6060629d2999950cebb203365b8917638e799f4047ced296688cbc",
31
- "src/core/owned-lock.js": "e6b27baaf18709564412ff89627489b998890d39051945b7bb1ef294b6d3fa50",
32
- "src/core/session.js": "c690b889621896685562d678ae991118e36e8f18599cc9489f6eae0981858753",
33
- "src/core/skill-names.js": "c732dc0d4d4fcf41640dff60e35cf2918ee37807fdc64762376f5002db5918e2",
34
- "src/core/workspace-path.js": "a4dcd8d163bbb0fdf62b07e20f8d006fb97450cc8c78c4370e153b6439a6ebbd",
20
+ "src/backends/index-command.js": "7c80ebbc15d86e898b5c398e5449c1d46092c26de48a4d1f0c7ac5d8c0d12df6",
21
+ "src/backends/index-store.js": "d9d0b8427b4c8eddf582c9b431f322d130188331d14977f62b07fc711711c702",
22
+ "src/backends/profiles.js": "58df1bd457c6adffba35da96de488d98fd700b236f1635ddb0bd5f1f4b9781cf",
23
+ "src/backends/review_graph.py": "72c3b304a806ae367ad24431ca8dacbe529ecca41bd14ebaecda0d8ccda800be",
24
+ "src/core/catalog.js": "d9dda7a5cd9dc70c86e7283ab5ee5bd73fd8a1597061447432224342578946eb",
25
+ "src/core/context-metrics.js": "eec2ce93fb7b133fd00987b9aaf9aea16a6612a0d794bddc46f23f7c2a38e74a",
26
+ "src/core/doctor.js": "b794bf1d84d18b902f85cd6b93d9a7811b93e049acb01e5f6db224d81ce8e0c4",
27
+ "src/core/execution.js": "126cd9671d25d1f2ec6ee60ff292b79b8c20bb53e996d810195179ec711e1f26",
28
+ "src/core/hook-bridge.js": "812c551cda42e492ffa20b4db2d5b93312a0a8c4423f6d774921cb0bf9648d03",
29
+ "src/core/host-adapters.js": "7de3be65d010f4972a3914e07e05967b07273be338e1240bc9b5069d226e62be",
30
+ "src/core/memory-store.js": "51b860a7f92db06100f32c60858acbe2f58224cbfb0959a6e139cae60b70196b",
31
+ "src/core/model-routing.js": "ac4cf9c71b9041fd2d93fe12753e0ee66380007c9cae40bdc68cef58f7f33260",
32
+ "src/core/owned-lock.js": "acfc3f435b5911cddad7378fd578c7d263207ec912ad9af86a45cfef29c9788e",
33
+ "src/core/session.js": "c78275b7007d1372d42f8a75847f5e059689cb40c2ab4abdf59b6b19c9853e73",
34
+ "src/core/skill-names.js": "4591be80c854037b07c43c1b82236adbc8213e0f5afaa5b7179b5a8e51b12d68",
35
+ "src/core/workspace-path.js": "9ca5bbaafe82d168c557b15dc04fbeabfb897116d4d5598ece7e0ad76116875a",
36
+ "src/installer/bounded-command.js": "f2d3a818260c5f37e1ecd64c91d138ea5e69117914bd1910948c4a85fbe57972",
35
37
  "src/installer/context-legacy-hashes.json": "43ae3b192ee2c95943cfb9b7fe7f55714487ce6138701f49ad7187f403f7c918",
36
- "src/installer/global-setup.js": "9d29a525f60fbe971956f884664dd0fb14941d34a7f5b67f951f069dc8353716",
37
- "src/installer/host-hooks.js": "b5c9fed9834de31d3d97660d3b86c0199017d5aa76cf844ae30174524aa1312a",
38
- "src/installer/managed-config.js": "a46d1081686ef4f8358d1b819aca4c9cd58546a8183bb54b269315328dde45bb",
39
- "src/installer/platform-config.js": "2e6c3380a84960ece34b7cb9b6b19cfb351cf634bc3824cfd2f2077b46c82e50",
40
- "src/installer/prerequisites.js": "591dbcd2744dc1505b4bbc4618145dd47d673c451a3af3f774e5a2a3dd1676e3",
41
- "src/installer/project-setup.js": "8a02ffa6d04ed2363ca065d68126e8b6133c754e40701ba29e0e80220fb6db64",
38
+ "src/installer/global-setup.js": "67d6e45a822d7cf98e3650cf3ef0e8293bec5e4776dbee69d1885c742ce1cd08",
39
+ "src/installer/host-hooks.js": "a1b940599edb2545ad6e9b471e814f4dfb714d6c1fdb8d0f395c45f258e10f0f",
40
+ "src/installer/managed-config.js": "32341eadccea6b54965b2b4b39a974a851245f09fe965e0898296ae6d7569a36",
41
+ "src/installer/platform-config.js": "eed6a0302484972489d837c24d11f371190ac75c6ee443843ea1bf6c1e3adbcf",
42
+ "src/installer/prerequisites.js": "d5c29b010b91bb05f213a40fb3b3721799a155fea7df727ce2d0f464d60a106f",
43
+ "src/installer/project-setup.js": "6bde027c2ac5ff12710e558d7250f4071a7c1bcdcf90126a95c66e684446071f",
42
44
  "src/installer/runtime-launcher.js": "8b4b06d43967a616e45bb7226639997b061c1e66ab71bacf438f6ffd7bd86777",
43
- "src/installer/runtime-lock.js": "f92ff9122e1c91450d1cfddc776f1db8e1ba10a6e3f30a67f2eef7a733cdbb3f",
44
- "src/installer/runtime-store.js": "9240777b31d0a45fae760d3ca6170b15adad571d212e54688888a4dbd7d71d57",
45
- "src/installer/setup-wizard.js": "7435b80fd4d0892a699817d568b1717716451db34df046e96569f75dc2faa2a3",
46
- "src/license/crypto.js": "0b3ae9619bbfa673ea7a3f91f17bc53c2feadac53c2fe635ec1d917f7a0e7da5",
47
- "src/license/fingerprint.js": "345a1cf99afa6fb4d632531633a4454141a1e18124c8754025a5cb0f924431cd",
48
- "src/license/terms.js": "e31315448e3d8ed3e594e5f6a049e7f28c0c528d890217514c1a5fa98f3a33dc",
49
- "src/license/verify.js": "4140bf2b09af6f39ea8cf8b3397a04f4f5386aff2dc72d4bd7dc439ef202398d",
50
- "src/presets/index.js": "738e35c3f1b78beeeeeba35930c193f404d7b9e7b6e7db37f6b98840cfdde7f9",
51
- "src/proxy/backends.js": "65a770d0ea6d455f3001882b1e22dd81fd4ec77a397deb86d77a51c4ce6a89c7",
52
- "src/proxy/core-tools.js": "32003a471a4314054fc252e7927b791033313697c69176df3f6836952656194f",
53
- "src/proxy/pipeline.js": "a567cc27f36b6743896e27af88ff580898e04418a3ffdae2c2e67b079db95f52",
54
- "src/proxy/router.config.js": "d1ae3f93bc864f6c961062d4dcf027c0f2c31d8d3f2f144e490b11bef43edc8e",
55
- "src/proxy/router.js": "4be694a25b98c23af96f22d57e064b237ebfb4e22e3f777714b42c28795499e3",
56
- "src/proxy/server.js": "c24a4edd9c81e920744f99d14184642c871d3268147186ab18952dbe64f2835d",
45
+ "src/installer/runtime-lock.js": "ea9809ae61524db1bc07646d08b3c50e83e518dbb6e380f4729dc5a47f185c5e",
46
+ "src/installer/runtime-store.js": "702d4bba83c3827d644e98c203af5284f8532b7b70d5970999560d8ceb438507",
47
+ "src/installer/setup-wizard.js": "f274f818a248e34ff7c615106f20d5c573f931a573f9f81230d019d4a7bb19d5",
48
+ "src/license/crypto.js": "8ac79d1f5761f3efe457b1b2568f7a738b1c12f2a2faa3ac1275b0f65497762e",
49
+ "src/license/fingerprint.js": "30d332028be221b8a64f6d7220e93cad79afaa89ef2e7a89cc6d8ea96605c9d6",
50
+ "src/license/terms.js": "04241d15747362ff425601addeb6743d28642eb937859fcff3744dd90e3da218",
51
+ "src/license/verify.js": "16d0783dd36795092b61282c7eb5365a5b0a885c30ccab6c1c815b856bbee7fc",
52
+ "src/presets/index.js": "f4a611f70ff9b7aca14564fbcd968770254b6b24f62cc68f8906bd30291020fd",
53
+ "src/proxy/backends.js": "ac0a9d2a141fc3513817c424929b857d584e7a911f985b1763614bdf577a9b05",
54
+ "src/proxy/core-tools.js": "c19e892ed110574c5e7979e515ac3ae5d23f9ebb98fe7f976981c96a59f03d35",
55
+ "src/proxy/pipeline.js": "1643e46af51a40a72cd07c437b412870fe5d51cfa4aebb6aa662419a51ec8c41",
56
+ "src/proxy/router.config.js": "1bc6bd1f8ff4bd5a3dd6743ff938776e018b19c7223588e40bcad445f383e644",
57
+ "src/proxy/router.js": "f92bc242ad4bdb62443c4eb5e0051c083a6ac19e107f09ffabdbb8b20b3e4b35",
58
+ "src/proxy/server.js": "a7c362b5c0ab11be210acf010c2ed5a398287bc60f657ae004c101bf8cf73681",
57
59
  "src/templates/AGENTS.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
58
60
  "src/templates/apt-runtime.md": "0bf4c0938f867e64e758a7dd93a16ca0a533587beb7b83c76359ed9a90e6935c",
59
61
  "src/templates/CLAUDE.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
@@ -65,9 +67,9 @@
65
67
  "src/templates/GEMINI.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
66
68
  "src/templates/issue-tracker.md": "b5ff3149352c6e036a3aab0d90347a3ca3fabaef8134b057c1f514d5e0389d9f",
67
69
  "src/templates/jira-config.md": "e18330e519736a40ca39d0f823cc7a564b7c0fc4eca75681933a3412d27f46de",
68
- "src/templates/mcp-tools.md": "4070983bcbe1da928dcd91d9bd13bc4b6fb8cd0bfdff4efa45082985704a8fed",
70
+ "src/templates/mcp-tools.md": "838e61aec5e9e2c8207dc00f4ddfedd8fa921ca7c21f071e3a9634d0da80924a",
69
71
  "src/templates/triage-labels.md": "d9297e8ec0537342575432e46f8b7334791564c8f48b73b0d8920a82282aac75",
70
72
  "src/templates/windsurfrules.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22"
71
73
  },
72
- "signature": "HwBkZ2OhsPfnalZFCscO_38FKp3C5i-SQ4z2Ufozgb-pEKhm13PhGz2IJVDdFRcqPyq6k5aKo0Zkp3ZmjjakBw"
74
+ "signature": "SS8jwxjonTr2HRoNXC-I-vHIGga01wsHSyP8LPgm7np4BEB3jQzZMtvwFOak0KWTk2azkdpptyZw6PKNGuiRBQ"
73
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apt-mcp-agent-setup",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "One-command setup package for Base MCP AI Agent infrastructure",
5
5
  "main": "bin/cli.js",
6
6
  "bin": {
package/release-check.js CHANGED
@@ -6,16 +6,30 @@ const { spawn, execFileSync } = require('child_process');
6
6
  const assert = require('assert/strict');
7
7
 
8
8
  // Standalone: this file is also shipped as the signed dist prepublish gate.
9
- async function handshake(installed, workspace, fixture) {
9
+ async function handshake(installed, workspace, fixture, realBackends = false) {
10
10
  const child = spawn(process.execPath, ['--require', fixture, installed.launcherPath, '--path', workspace], {
11
11
  windowsHide: true,
12
- env: { ...process.env, APT_TEST_RELEASE: installed.path, MCP_SKIP_LICENSE_CHECK: '1', MCP_SKIP_INTEGRITY_CHECK: '0' },
12
+ env: { ...process.env, APT_TEST_RELEASE: installed.path, APT_GATE_REAL: realBackends ? '1' : '0', MCP_SKIP_LICENSE_CHECK: '1', MCP_SKIP_INTEGRITY_CHECK: '0' },
13
13
  stdio: ['pipe', 'pipe', 'pipe']
14
14
  });
15
- let buffer = '', stderr = '', initialized = false, listed = false;
16
- const send = message => child.stdin.write(JSON.stringify({ jsonrpc: '2.0', ...message }) + '\n');
15
+ let buffer = '', stderr = '', initialized = false, listed = false;
16
+ const checks = realBackends ? [
17
+ ['session_bootstrap', {sessionId:'package-gate',workspacePath:workspace}, /workspace/],
18
+ ['code_search', {query:'callee'}, /callee/],
19
+ ['find_callers', {symbol:'callee'}, /caller/],
20
+ ['find_callees', {symbol:'caller'}, /callee/],
21
+ ['explore_code', {query:'callee'}, /callee/],
22
+ ['list_code_files', {pattern:'sample.py'}, /sample\.py/],
23
+ ['impact_analysis', {changed_files:['sample.py'],repo_root:workspace}, /sample\.py/]
24
+ ] : [];
25
+ let completed = 0;
26
+ const send = message => child.stdin.write(JSON.stringify({ jsonrpc: '2.0', ...message }) + '\n');
27
+ const next = () => {
28
+ if (completed === checks.length) return child.stdin.end();
29
+ send({id:3+completed,method:'tools/call',params:{name:checks[completed][0],arguments:checks[completed][1]}});
30
+ };
17
31
  await new Promise((resolve, reject) => {
18
- const timer = setTimeout(() => fail(new Error(`Launcher handshake/EOF timed out: ${stderr}`)), 20000);
32
+ const timer = setTimeout(() => fail(new Error(`Launcher handshake/EOF timed out: ${stderr}`)), realBackends ? 120000 : 20000);
19
33
  const fail = error => { clearTimeout(timer); child.kill(); reject(error); };
20
34
  child.on('error', fail);
21
35
  child.stdin.on('error', fail);
@@ -38,15 +52,20 @@ async function handshake(installed, workspace, fixture) {
38
52
  for (const name of ['session_bootstrap', 'route_request', 'pipeline_status']) {
39
53
  assert.ok(message.result?.tools?.some(tool => tool.name === name), `Missing ${name}: ${JSON.stringify(message)}`);
40
54
  }
41
- listed = true;
42
- child.stdin.end();
55
+ listed = true;
56
+ next();
57
+ } else if (message.id === 3 + completed && completed < checks.length) {
58
+ assert.ok(!message.error && !message.result?.isError, JSON.stringify(message));
59
+ assert.match(JSON.stringify(message.result), checks[completed][2]);
60
+ completed++;
61
+ next();
43
62
  }
44
63
  }
45
64
  } catch (error) { fail(error); }
46
65
  });
47
66
  child.on('close', code => {
48
67
  clearTimeout(timer);
49
- try { assert.equal(code, 0, stderr); assert.ok(initialized && listed, `No complete MCP handshake: ${stderr}`); assert.equal(buffer, ''); resolve(); }
68
+ try { assert.equal(code, 0, stderr); assert.ok(initialized && listed, `No complete MCP handshake: ${stderr}`); assert.equal(completed,checks.length); assert.equal(buffer, ''); resolve(); }
50
69
  catch (error) { reject(error); }
51
70
  });
52
71
  send({ id: 1, method: 'initialize', params: { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'apt-package-gate', version: '1' } } });
@@ -63,7 +82,7 @@ async function main() {
63
82
  let dist = value('--dist'), publicKey;
64
83
  if (!dist) {
65
84
  const build = path.join(temp, 'build'); fs.mkdirSync(build);
66
- for (const item of ['src', 'bin', 'scripts', '.agents', 'test', 'package.json', 'package-lock.json', 'README.md', 'LICENSE', '.npmignore']) {
85
+ for (const item of ['src', 'bin', 'scripts', '.agents', 'docs', 'test', 'package.json', 'package-lock.json', 'README.md', 'LICENSE', '.npmignore']) {
67
86
  fs.cpSync(path.join(root, item), path.join(build, item), { recursive: true });
68
87
  }
69
88
  // Dependencies only; no source fallback and no mutation of the live checkout.
@@ -97,20 +116,58 @@ async function main() {
97
116
  Module._load = function(id, parent, isMain) {
98
117
  const result = load.apply(this, arguments);
99
118
  const file = Module._resolveFilename(id, parent);
100
- if (file === path.join(root, 'src/proxy/backends.js')) result.spawnBackends = () => ({});
119
+ if (file === path.join(root, 'src/proxy/backends.js')) {
120
+ const original = result.spawnBackends;
121
+ result.spawnBackends = workspace => process.env.APT_GATE_REAL === '1'
122
+ ? Object.fromEntries(Object.entries(original(workspace)).filter(([name]) => ['codegraph','code-review-graph'].includes(name))) : {};
123
+ }
101
124
  if (file === path.join(root, 'src/proxy/server.js')) result.ProxyServer.prototype.checkLatestVersion = async () => {};
102
125
  return result;
103
126
  };`);
104
127
  await handshake(installed, workspace, fixture);
105
128
  const good = fs.readFileSync(installed.launcherPath);
106
- for (const old of ['_0x5e52();', "require('./server.js');"]) {
129
+ for (const old of ['_0x5e52();', "require('./server.js');"]) {
107
130
  fs.writeFileSync(installed.launcherPath, old);
108
131
  installer.installRuntime(pkg, { root: runtimeRoot, publicKey });
109
132
  assert.ok(fs.readFileSync(installed.launcherPath).equals(good));
110
133
  const backup = path.join(runtimeRoot, 'launcher-backups', crypto.createHash('sha256').update(old).digest('hex') + '.js');
111
134
  assert.equal(fs.readFileSync(backup, 'utf8'), old);
112
- await handshake(installed, workspace, fixture);
113
- }
135
+ await handshake(installed, workspace, fixture);
136
+ }
137
+ // Exercise the extracted signed runtime with real pinned backends. No source fallback.
138
+ const realWorkspace = path.join(temp, 'real backend workspace');
139
+ fs.mkdirSync(realWorkspace);
140
+ fs.writeFileSync(path.join(realWorkspace, 'sample.py'), 'def callee():\n return 1\ndef caller():\n return callee()\n');
141
+ const indexCli = path.join(installed.path, 'src/backends/index-store.js');
142
+ const reportFile = path.join(realWorkspace, '.agents/runtime/backends/index-build-last.json');
143
+ for (let cycle = 0; cycle < 3; cycle++) {
144
+ if (cycle === 2) {
145
+ // Cross CodeGraph's 500-file tool visibility boundary on restart.
146
+ const sources=path.join(realWorkspace,'sources'); fs.mkdirSync(sources);
147
+ for (let i=0;i<500;i++) fs.writeFileSync(path.join(sources,`unit_${i}.py`), `def fixture_${i}():\n return ${i}\n`);
148
+ }
149
+ // Simulate the upstream two-minute stale-lock threshold in this fixture.
150
+ // Never age a lock unless its recorded PID is already confirmed dead.
151
+ const nativeLock = path.join(realWorkspace, `.codegraph-${process.platform}-${process.arch}`, 'codegraph.lock');
152
+ if (cycle && fs.existsSync(nativeLock)) {
153
+ const pid = Number(fs.readFileSync(nativeLock, 'utf8'));
154
+ assert.ok(Number.isSafeInteger(pid) && pid > 0);
155
+ assert.throws(() => process.kill(pid, 0), {code:'ESRCH'});
156
+ fs.utimesSync(nativeLock, new Date(0), new Date(0));
157
+ }
158
+ if (cycle === 1) fs.writeFileSync(path.join(realWorkspace, '.agents/.data/graph/graph.db'), 'package recovery fixture');
159
+ execFileSync(process.execPath, [indexCli, realWorkspace], { windowsHide:true, stdio:'inherit', timeout:120000 });
160
+ const report = JSON.parse(fs.readFileSync(reportFile, 'utf8'));
161
+ assert.equal(report.status, 'built');
162
+ assert.equal(report.backends.length, 2);
163
+ for (const backend of report.backends) assert.equal(backend.functionalReady, true);
164
+ if (cycle === 1) {
165
+ const review = report.backends.find(backend=>backend.backend === 'code-review-graph');
166
+ assert.equal(review.recoveryStatus, 'recovered');
167
+ assert.equal(fs.readFileSync(path.join(review.backup, 'graph.db'),'utf8'), 'package recovery fixture');
168
+ }
169
+ await handshake(installed, realWorkspace, fixture, true);
170
+ }
114
171
  console.log(`Package gate passed: ${packed[0].filename}; fresh install + two repairs, initialize/tools/list/EOF, signature verification enabled.`);
115
172
  } finally {
116
173
  if (keep) console.log(`Validation artifacts: ${temp}`);
@@ -0,0 +1 @@
1
+ const _0x283c79=_0x48ba;(function(_0x4869af,_0x376f85){const _0x5b50f0=_0x48ba,_0x231c01=_0x4869af();while(!![]){try{const _0x3357aa=-parseInt(_0x5b50f0(0x1fd))/0x1*(parseInt(_0x5b50f0(0x1fa))/0x2)+-parseInt(_0x5b50f0(0x1f3))/0x3*(-parseInt(_0x5b50f0(0x1de))/0x4)+parseInt(_0x5b50f0(0x1fc))/0x5+-parseInt(_0x5b50f0(0x1ec))/0x6*(-parseInt(_0x5b50f0(0x1ee))/0x7)+-parseInt(_0x5b50f0(0x1dc))/0x8+parseInt(_0x5b50f0(0x1db))/0x9+-parseInt(_0x5b50f0(0x1f8))/0xa;if(_0x3357aa===_0x376f85)break;else _0x231c01['push'](_0x231c01['shift']());}catch(_0x54ab42){_0x231c01['push'](_0x231c01['shift']());}}}(_0x4018,0x39200));const {execFile}=require(_0x283c79(0x1f7));function indexTimeout(_0x4ced73=process.env){const _0x414e08=_0x283c79,_0x567ffc=_0x4ced73[_0x414e08(0x1fb)];if(_0x567ffc===undefined||_0x567ffc==='')return 0x1e*0x3c*0x3e8;const _0x2ca936=Number(_0x567ffc);if(!Number[_0x414e08(0x1f0)](_0x2ca936)||_0x2ca936<0x1||_0x2ca936>0x7fffffff)throw new Error(_0x414e08(0x1f1));return _0x2ca936;}function runIndexCommand(_0x56379d,_0x3e0466,_0x18676f={}){const _0x4fe419=_0x283c79,_0x5c9459=Date[_0x4fe419(0x1e6)](),_0x66c5eb=_0x18676f[_0x4fe419(0x1da)]??indexTimeout();return new Promise((_0x3c4634,_0x15e431)=>{const _0x260c92=_0x4fe419,_0x3e6d91={'windowsHide':!![],'encoding':_0x260c92(0x1ed),'maxBuffer':0x4*0x400*0x400,..._0x18676f};_0x3e6d91['timeout']=_0x66c5eb,execFile(_0x56379d,_0x3e0466,_0x3e6d91,(_0x16dad9,_0x16677e,_0x1ac26e)=>{const _0xdc64d4=_0x260c92,_0xf18e7a=Date[_0xdc64d4(0x1e6)](),_0x477829=Boolean(_0x16dad9?.[_0xdc64d4(0x1df)]&&_0xf18e7a-_0x5c9459>=_0x66c5eb),_0x3b1715={'executable':_0x56379d,'args':_0x3e0466,'startedAt':new Date(_0x5c9459)[_0xdc64d4(0x1f5)](),'endedAt':new Date(_0xf18e7a)[_0xdc64d4(0x1f5)](),'durationMs':_0xf18e7a-_0x5c9459,'exitCode':_0x16dad9?Number[_0xdc64d4(0x1e9)](_0x16dad9[_0xdc64d4(0x1e3)])?_0x16dad9[_0xdc64d4(0x1e3)]:null:0x0,'signal':_0x16dad9?.['signal']||null,'timedOut':_0x477829,'stdout':String(_0x16677e||'')[_0xdc64d4(0x1ea)](-0x3e80),'stderr':String(_0x1ac26e||'')[_0xdc64d4(0x1ea)](-0x3e80)},_0x381f90={};_0x381f90[_0xdc64d4(0x1f2)]=_0x16677e,_0x381f90[_0xdc64d4(0x1ef)]=_0x1ac26e,_0x381f90[_0xdc64d4(0x1e7)]=_0x3b1715;if(!_0x16dad9)return _0x3c4634(_0x381f90);const _0x2bc94e=[_0x1ac26e,_0x16677e,_0x16dad9[_0xdc64d4(0x1e5)]]['filter'](Boolean)[_0xdc64d4(0x1f6)]('\x0a'),_0x4674fd=_0x477829?_0xdc64d4(0x1e8):/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0xdc64d4(0x1eb)](_0x2bc94e)?_0xdc64d4(0x1dd):/database is locked|SQLITE_BUSY|locked by another process/i[_0xdc64d4(0x1eb)](_0x2bc94e)?_0xdc64d4(0x1f9):_0x16dad9[_0xdc64d4(0x1e1)]?'INDEX_SIGNAL':_0xdc64d4(0x1e2),_0x31f9b4={};_0x31f9b4['code']=_0x4674fd,_0x31f9b4[_0xdc64d4(0x1e7)]=_0x3b1715,_0x31f9b4['cause']=_0x16dad9,_0x15e431(Object[_0xdc64d4(0x1f4)](new Error(_0x2bc94e[_0xdc64d4(0x1ea)](-0x3e80)),_0x31f9b4));});});}const _0x1b72f3={};function _0x48ba(_0x42445e,_0x3abf14){_0x42445e=_0x42445e-0x1da;const _0x4018b2=_0x4018();let _0x48bacf=_0x4018b2[_0x42445e];if(_0x48ba['PPjvhm']===undefined){var _0x41093b=function(_0x4fe966){const _0x302c62='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b4ce4='',_0x38477d='';for(let _0x57e7b9=0x0,_0x1b72f3,_0x4ced73,_0x567ffc=0x0;_0x4ced73=_0x4fe966['charAt'](_0x567ffc++);~_0x4ced73&&(_0x1b72f3=_0x57e7b9%0x4?_0x1b72f3*0x40+_0x4ced73:_0x4ced73,_0x57e7b9++%0x4)?_0x4b4ce4+=String['fromCharCode'](0xff&_0x1b72f3>>(-0x2*_0x57e7b9&0x6)):0x0){_0x4ced73=_0x302c62['indexOf'](_0x4ced73);}for(let _0x2ca936=0x0,_0x56379d=_0x4b4ce4['length'];_0x2ca936<_0x56379d;_0x2ca936++){_0x38477d+='%'+('00'+_0x4b4ce4['charCodeAt'](_0x2ca936)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38477d);};_0x48ba['szazyr']=_0x41093b,_0x48ba['GUxjKv']={},_0x48ba['PPjvhm']=!![];}const _0x805be=_0x4018b2[0x0],_0x3a08d0=_0x42445e+_0x805be,_0x11a227=_0x48ba['GUxjKv'][_0x3a08d0];return!_0x11a227?(_0x48bacf=_0x48ba['szazyr'](_0x48bacf),_0x48ba['GUxjKv'][_0x3a08d0]=_0x48bacf):_0x48bacf=_0x11a227,_0x48bacf;}_0x1b72f3[_0x283c79(0x1e0)]=indexTimeout,_0x1b72f3['runIndexCommand']=runIndexCommand,module[_0x283c79(0x1e4)]=_0x1b72f3;function _0x4018(){const _0x50be54=['qvbux0Lorevyx1rjtuvpvvrFtvm','mJe0ndq2mefKshL5AW','ntmZqurYtgDv','DgLTzw91Da','odm4mtC5zefkBxHJ','mZG1mtq0wM1Tvwvt','su5ervHFq09suLvqva','mty0yuvqBuTv','A2LSBgvK','Aw5KzxHuAw1LB3v0','C2LNBMfS','su5ervHFqLvjterFrKfjteve','y29Kzq','zxHWB3j0CW','BwvZC2fNzq','BM93','zgLHz25VC3rPyW','su5ervHFveLnru9vva','AxnjBNrLz2vY','C2XPy2u','DgvZDa','mJG4s1nXtNLd','DxrMoa','mJK4ntvvrwz2A2q','C3rKzxjY','AxntywzLsw50zwDLCG','qvbux0Lorevyx1rjtuvpvvrFtvmGBxvZDcbIzsbHihbVC2L0AxzLigLUDgvNzxiGyMvSB3CGmJe0nZq4mZy0oa','C3rKB3v0','mZi4mJLvt0PuwKq','yxnZAwDU','Dg9ju09tDhjPBMC','AM9PBG','y2HPBgrFChjVy2vZCW','odu3nty4mhfLwNDUyW','su5ervHFqLvtwq','mtm0yuzwDfzP'];_0x4018=function(){return _0x50be54;};return _0x4018();}