apt-mcp-agent-setup 3.0.4 → 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.
- 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-ba.enc +0 -0
- package/bundle/skills-base.enc +0 -0
- package/bundle/skills-be.enc +0 -0
- package/bundle/skills-design.enc +0 -0
- package/bundle/skills-fe.enc +0 -0
- package/bundle/skills-mobile.enc +0 -0
- package/bundle/skills-pm.enc +0 -0
- package/integrity-manifest.json +54 -47
- package/package.json +1 -1
- package/release-check.js +70 -13
- package/src/backends/codegraph-1.6.0.json +180 -0
- package/src/backends/index-command.js +1 -0
- package/src/backends/index-store.js +1 -0
- package/src/backends/profiles.js +1 -0
- package/src/backends/review_graph.py +30 -0
- package/src/core/catalog.js +1 -1
- package/src/core/context-metrics.js +1 -1
- package/src/core/doctor.js +1 -1
- package/src/core/execution.js +1 -1
- package/src/core/hook-bridge.js +1 -1
- package/src/core/host-adapters.js +1 -1
- package/src/core/memory-store.js +1 -1
- package/src/core/model-routing.js +1 -1
- package/src/core/owned-lock.js +1 -1
- package/src/core/session.js +1 -1
- package/src/core/skill-names.js +1 -1
- package/src/core/workspace-path.js +1 -0
- package/src/installer/bounded-command.js +1 -0
- package/src/installer/global-setup.js +1 -1
- package/src/installer/host-hooks.js +1 -1
- package/src/installer/managed-config.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/runtime-lock.js +1 -1
- package/src/installer/runtime-store.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/core-tools.js +1 -1
- package/src/proxy/pipeline.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/mcp-tools.md +3 -1
package/bin/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x49bcf4=_0x307f;(function(_0x58597d,_0x5229d2){const _0x381670=_0x307f,_0x2c0c3a=_0x58597d();while(!![]){try{const _0x3897c3=-parseInt(_0x381670(0x213))/0x1*(-parseInt(_0x381670(0x21a))/0x2)+-parseInt(_0x381670(0x1cb))/0x3*(parseInt(_0x381670(0x163))/0x4)+parseInt(_0x381670(0x17f))/0x5*(parseInt(_0x381670(0x1de))/0x6)+-parseInt(_0x381670(0x169))/0x7*(parseInt(_0x381670(0x1c6))/0x8)+-parseInt(_0x381670(0x189))/0x9*(parseInt(_0x381670(0x194))/0xa)+parseInt(_0x381670(0x1a1))/0xb+-parseInt(_0x381670(0x1c4))/0xc*(-parseInt(_0x381670(0x191))/0xd);if(_0x3897c3===_0x5229d2)break;else _0x2c0c3a['push'](_0x2c0c3a['shift']());}catch(_0x2b41a7){_0x2c0c3a['push'](_0x2c0c3a['shift']());}}}(_0x2311,0x280bd));const fs=require('fs'),path=require(_0x49bcf4(0x20e)),os=require('os'),readline=require(_0x49bcf4(0x1c2)),http=require(_0x49bcf4(0x158)),https=require(_0x49bcf4(0x1d3)),{getFingerprint}=require('../src/license/fingerprint.js'),{verifyLicense}=require(_0x49bcf4(0x1c7)),{checkPrerequisites}=require(_0x49bcf4(0x1b8)),{installGlobalTools}=require('../src/installer/global-setup.js'),{deployProject,ensureStitchAuthentication}=require(_0x49bcf4(0x16d)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x49bcf4(0x1fb)),{runSetupWizard}=require(_0x49bcf4(0x185));function runtimeLauncher(_0x4fb22c){const _0x22039c=_0x49bcf4,_0x52f34c=path[_0x22039c(0x202)](__dirname,'..');if(!fs[_0x22039c(0x1a9)](path[_0x22039c(0x209)](_0x52f34c,_0x22039c(0x1c9))))return console['warn']('Development\x20checkout:\x20automatic\x20runtime\x20updates\x20require\x20a\x20signed\x20package.'),path[_0x22039c(0x209)](_0x52f34c,_0x22039c(0x1b4));const _0x5f286b={};return _0x5f286b['publicKey']=_0x4fb22c,require('../src/installer/runtime-store')['installRuntime'](_0x52f34c,_0x5f286b)[_0x22039c(0x199)];}function parseArgs(){const _0x48e117=_0x49bcf4,_0x3b04c7=process[_0x48e117(0x159)]['slice'](0x2),_0x1792d0=_0x3b04c7[0x0],_0x2b70fb={};for(let _0x49db9f=0x1;_0x49db9f<_0x3b04c7[_0x48e117(0x15d)];_0x49db9f++){if(_0x3b04c7[_0x49db9f]===_0x48e117(0x1b3)||_0x3b04c7[_0x49db9f]==='-k')_0x2b70fb[_0x48e117(0x1bb)]=_0x3b04c7[_0x49db9f+0x1],_0x49db9f++;else{if(_0x3b04c7[_0x49db9f]==='--preset'||_0x3b04c7[_0x49db9f]==='-p')_0x2b70fb[_0x48e117(0x167)]=_0x3b04c7[_0x49db9f+0x1],_0x49db9f++;else{if(_0x3b04c7[_0x49db9f]===_0x48e117(0x172))_0x2b70fb[_0x48e117(0x216)]=_0x3b04c7[_0x49db9f+0x1],_0x49db9f++;else _0x3b04c7[_0x49db9f]===_0x48e117(0x1e4)&&(_0x2b70fb[_0x48e117(0x1d9)]=!![]);}}}const _0x2428f3={};return _0x2428f3[_0x48e117(0x1a4)]=_0x1792d0,_0x2428f3[_0x48e117(0x18f)]=_0x2b70fb,_0x2428f3;}function getPublicKey(){const _0x4e8b20=_0x49bcf4;if(process.env.MCP_ADMIN_DIR){const _0x28a527=path['join'](process.env.MCP_ADMIN_DIR,_0x4e8b20(0x219));if(fs['existsSync'](_0x28a527))return fs[_0x4e8b20(0x208)](_0x28a527,'utf8')['trim']();}let _0x4374bc=path[_0x4e8b20(0x209)](__dirname,_0x4e8b20(0x171));if(fs[_0x4e8b20(0x1a9)](_0x4374bc))return fs[_0x4e8b20(0x208)](_0x4374bc,_0x4e8b20(0x212))[_0x4e8b20(0x20f)]();_0x4374bc=path[_0x4e8b20(0x209)](__dirname,'../../admin/master.public.pem');if(fs[_0x4e8b20(0x1a9)](_0x4374bc))return fs[_0x4e8b20(0x208)](_0x4374bc,_0x4e8b20(0x212))[_0x4e8b20(0x20f)]();return null;}function handleInit(){const _0x164639=_0x49bcf4,_0x543265=getFingerprint();console[_0x164639(0x1ce)](_0x164639(0x16b)+_0x543265);}function handleStatus(){const _0x309846=_0x49bcf4,_0x35b307=path[_0x309846(0x209)](os[_0x309846(0x1ab)](),_0x309846(0x1a6),'license.key');let _0x41bd22;try{_0x41bd22=fs[_0x309846(0x208)](_0x35b307,_0x309846(0x212))[_0x309846(0x20f)]();}catch(_0x5c94c9){console[_0x309846(0x18c)](_0x309846(0x16a)),process['exit'](0x1);return;}const _0x2f3ac0=getFingerprint(),_0x8e9781=getPublicKey(),_0xb0ecab=verifyLicense(_0x41bd22,_0x2f3ac0,_0x8e9781);!_0xb0ecab['valid']&&(console[_0x309846(0x18c)]('License\x20key\x20verification\x20failed:\x20'+_0xb0ecab['reason']),process[_0x309846(0x1cc)](0x1));const _0x190a05=_0xb0ecab['payload'];console[_0x309846(0x1ce)](_0x309846(0x1dd)),console[_0x309846(0x1ce)]('================================'),console[_0x309846(0x1ce)](_0x309846(0x1a5)),console[_0x309846(0x1ce)](_0x309846(0x200)+_0x190a05[_0x309846(0x1ef)]),console['log'](_0x309846(0x1b5)+_0x190a05[_0x309846(0x167)]),console[_0x309846(0x1ce)](_0x309846(0x1e0)+_0x190a05['device']),console[_0x309846(0x1ce)](_0x309846(0x1fd)+new Date(_0x190a05['exp'])[_0x309846(0x1db)]());}function extractKeyId(_0x3c3de4){const _0x5728fc=_0x49bcf4;try{const _0xe5b413=_0x3c3de4[_0x5728fc(0x1ca)]('.'),_0x10fe30=JSON[_0x5728fc(0x19e)](Buffer[_0x5728fc(0x1e8)](_0xe5b413[0x1],_0x5728fc(0x182))['toString']('utf8'));return _0x10fe30[_0x5728fc(0x1ed)]||_0x10fe30[_0x5728fc(0x1ac)];}catch(_0x524b4e){return null;}}function httpRequest(_0x50fb6a,_0x544050={}){return new Promise((_0x47be91,_0x1187fd)=>{const _0xba725=_0x307f;try{const _0x5500ea=new URL(_0x50fb6a),_0x280b4f=_0x5500ea[_0xba725(0x17e)]===_0xba725(0x196)?https:http,_0x170fdc={'User-Agent':_0xba725(0x210)+process['version']+')',..._0x544050[_0xba725(0x1ba)]},_0x4a6337=_0x170fdc;if(_0x544050['body']){const _0xc0ba38=typeof _0x544050[_0xba725(0x162)]===_0xba725(0x1d8)?_0x544050[_0xba725(0x162)]:JSON['stringify'](_0x544050['body']);!_0x4a6337[_0xba725(0x19d)]&&!_0x4a6337[_0xba725(0x17b)]&&(_0x4a6337['Content-Length']=Buffer[_0xba725(0x20d)](_0xc0ba38));}const _0x199091={};_0x199091['method']=_0x544050['method']||'GET',_0x199091['hostname']=_0x5500ea['hostname'],_0x199091[_0xba725(0x192)]=_0x5500ea[_0xba725(0x192)]||(_0x5500ea[_0xba725(0x17e)]==='https:'?0x1bb:0x50),_0x199091['path']=_0x5500ea[_0xba725(0x1cf)]+_0x5500ea[_0xba725(0x1e2)],_0x199091[_0xba725(0x1ba)]=_0x4a6337;const _0x2301a2=_0x199091,_0xb6faf7=_0x280b4f['request'](_0x2301a2,_0x86cfb3=>{const _0x4bd2a8=_0xba725;let _0x580dbb='';_0x86cfb3['on'](_0x4bd2a8(0x1b1),_0x467ae6=>{_0x580dbb+=_0x467ae6;}),_0x86cfb3['on']('end',()=>{const _0x119e3b=_0x4bd2a8;_0x47be91({'ok':_0x86cfb3[_0x119e3b(0x170)]>=0xc8&&_0x86cfb3[_0x119e3b(0x170)]<0x12c,'status':_0x86cfb3[_0x119e3b(0x170)],'json':async()=>JSON[_0x119e3b(0x19e)](_0x580dbb),'text':async()=>_0x580dbb});});});_0xb6faf7['on']('error',_0x39f904=>{_0x1187fd(_0x39f904);}),_0x544050['body']&&_0xb6faf7['write'](_0x544050[_0xba725(0x162)]),_0xb6faf7[_0xba725(0x1f7)]();}catch(_0xbf7636){_0x1187fd(_0xbf7636);}});}async function activateLicense(_0x3c4655,_0x1dbb99){const _0x427e3f=_0x49bcf4,_0x79cba4=extractKeyId(_0x3c4655);if(!_0x79cba4)throw new Error('Invalid\x20license\x20key\x20format');const _0x3ee826=process.env.MCP_ACTIVATION_URL||'https://agentkit.alphatechs.ai/api',_0x4715e1=_0x3ee826+'/activate',_0x47e70b={};_0x47e70b[_0x427e3f(0x207)]=_0x427e3f(0x175);const _0x5a3322={};_0x5a3322['key_id']=_0x79cba4,_0x5a3322[_0x427e3f(0x180)]=_0x1dbb99;const _0x59bf81=await httpRequest(_0x4715e1,{'method':_0x427e3f(0x1ad),'headers':_0x47e70b,'body':JSON[_0x427e3f(0x205)](_0x5a3322)});if(!_0x59bf81['ok']){let _0x3f4fcb=_0x427e3f(0x1df)+_0x59bf81[_0x427e3f(0x1ec)];try{const _0x5a32d4=await _0x59bf81[_0x427e3f(0x201)]();if(_0x5a32d4&&_0x5a32d4[_0x427e3f(0x18c)])_0x3f4fcb=_0x5a32d4['error'];}catch(_0x49f339){}throw new Error(_0x3f4fcb);}const _0x4a2b56=await _0x59bf81[_0x427e3f(0x201)]();if(!_0x4a2b56||!_0x4a2b56['token'])throw new Error('Server\x20response\x20missing\x20token');return _0x4a2b56[_0x427e3f(0x15f)];}async function handleActivate(_0x5427df){const _0x58e76c=_0x49bcf4,_0x5c29c8=_0x5427df['key'];!_0x5c29c8&&(console[_0x58e76c(0x18c)]('Error:\x20Missing\x20required\x20argument\x20--key'),console[_0x58e76c(0x1ce)](_0x58e76c(0x1fa)),console[_0x58e76c(0x1ce)](_0x58e76c(0x1bf)),process['exit'](0x1));const _0x500fd3=getFingerprint(),_0x306763=getPublicKey(),_0x184d50=verifyLicense(_0x5c29c8,null,_0x306763);!_0x184d50[_0x58e76c(0x15a)]&&(console[_0x58e76c(0x18c)](_0x58e76c(0x161)+_0x184d50[_0x58e76c(0x1eb)]),process[_0x58e76c(0x1cc)](0x1));try{console['log'](_0x58e76c(0x183));const _0x2e64a2=await activateLicense(_0x5c29c8,_0x500fd3),_0x473b42=path[_0x58e76c(0x209)](os[_0x58e76c(0x1ab)](),_0x58e76c(0x1a6),_0x58e76c(0x1e5)),_0x2067fe={};_0x2067fe[_0x58e76c(0x1bc)]=!![],fs['mkdirSync'](path[_0x58e76c(0x1e9)](_0x473b42),_0x2067fe),fs[_0x58e76c(0x1e6)](_0x473b42,_0x2e64a2,'utf8'),console[_0x58e76c(0x1ce)]('License\x20key\x20activated\x20and\x20saved\x20to:\x20'+_0x473b42);}catch(_0x4bc56b){console[_0x58e76c(0x18c)](_0x58e76c(0x19f)+_0x4bc56b['message']),process[_0x58e76c(0x1cc)](0x1);}}function _0x2311(){const _0x50f7d5=['B3b0Aw9UCW','Aw5ZDgfSBa','mJzlvLjQwKm','Cg9YDa','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','mJbyAvfUA2K','C3rKAw4','Ahr0Chm6','DxbKyxrL','lI4VyNvUzgXLl05pveLdrvmUBwq','Bgf1BMnOzxjqyxrO','lMfNzw50CW','BwfUAwzLC3qUANnVBG','zwrPDa','q29UDgvUDc1mzw5NDgG','CgfYC2u','qwn0AxzHDgLVBIbMywLSzwq6ia','BwvZC2fNzq','mtqXndG5n0nLANnWwa','yxbWzw5KrMLSzvn5BMm','BwTKAxjtEw5J','y29TBwfUza','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','lMfUAgrO','v2fYBMLUzZOGsurfigf1Dg8Tzgv0zwn0Aw9UigzHAwXLzdOG','Bwv0Ag9K','zxHPC3rZu3LUyW','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','Ag9TzwrPCG','A2v5x2LK','ue9tva','A2v5CW','C2v0Dxa','lI4VyNvUzgXL','zgf0yq','v2fYBMLUzZOGrMfSBgjHy2SGsurfignVBMzPz3vYyxrPB24GywXZBYbMywLSzwq6ia','ls1RzxK','C3jJl3bYB3H5l3nLCNzLCI5QCW','uhjLC2v0oIaGicaGia','zM9YrwfJAa','zgLZCgXHEu5HBwu','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','BwfW','AgvHzgvYCW','A2v5','CMvJDxjZAxzL','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','ls10zxjTCW','lI4VC3jJl2nVCMuVzg9JDg9Y','CMvHzgXPBMu','zxHWAxjLza','mJiWotmZmLL1AfDQrG','zw50CMLLCW','mtC2mefxtfrIrW','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','r2XVyMfSihrVB2XZihvWzgf0zsbMywLSzwq6ia','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','C3bSAxq','ourbAuTxva','zxHPDa','B3v0Chv0','Bg9N','Cgf0Ag5HBwu','icdINyWG','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','icaGDhjPywDLigXHyMvSCYWGyw5KigrVBwfPBIbKB2nZigXHEw91DcbMB3iGDgHPCYbWCM9Qzwn0lG','Ahr0Chm','ieLersHZksb1CgrHDgvKihn1y2nLC3nMDwXSEs4','D2fYBG','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','ls1UB3rPy2vZ','C3rYAw5N','CMvIDwLSzeLUzgv4','Cgf5Bg9Hza','Dg9ju09tDhjPBMC','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','nMfdELrcua','u2vYDMvYihjLDhvYBMvKihn0yxr1CYa','rgv2AwnLieLeoIaGia','ywnJzxb0yw5Jzs5SB2C','C2vHCMnO','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','ls1Yzwj1AwXKlwLUzgv4','BgLJzw5Zzs5RzxK','D3jPDgvgAwXLu3LUyW','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','zNjVBq','zgLYBMfTzq','q2HVB3nLoIa','CMvHC29U','C3rHDhvZ','A2v5swq','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','DxnLCG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlxjLyNvPBgqTAw5KzxHD','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','ChvZAa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','C3vJy2vZCW','iokaLcboB3qGzM91BMq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','zw5K','zg9JDg9Y','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','vxnHz2u6','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','DgHLBG','rxHWAxjLCZOGicaGia','vxnLCJOGicaG','q0Xjigv4zwn1DgLVBIbLCNjVCJO','vxnLCJOGicaGicaGia','ANnVBG','CMvZB2X2zq','yw50AwDYyxzPDhK','y3DK','C3rYAw5NAwz5','zMLSDgvY','q29UDgvUDc1uExbL','CMvHzezPBgvtEw5J','AM9PBG','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','CxvLC3rPB24','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','yNL0zuXLBMD0Aa','Cgf0Aa','DhjPBq','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','DxrMoa','mZfNu0TOsfy','vxbKyxrLigzHAwXLzdOG','y2XVC2u','ChjVAMvJDa','yw5OzgGTB3bLBI1ZB3vYy2uTyxr0CMLIDxrPB25Z','zgv0zwn0zwq','BwfZDgvYlNb1yMXPyY5Wzw0','mZe2ng1msxr2EG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','Aw5WDxq','Ahr0Ca','yxjNDG','DMfSAwq','zxjYB3jZ','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','BgvUz3rO','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','Dg9Rzw4','Aw5PDa','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','yM9KEq','nda3nJrkEhnWzwW','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','uhjVAMvJDcbZzxr1CcbKzxbSB3LTzw50igzHAwXLzdOG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','ChjLC2v0','v2fYBMLUzZOGrMfPBgvKihrVihvWzgf0zsbNBg9IywWGsurfignVBMzPz3vYyxrPB25ZoIa','odC2neruC0v5qG','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq','ww91CIbezxzPy2uGsuq6ia','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','y3jLyxrLsw50zxjMywnL','Aw5JBhvKzxm','C3rHDhvZq29Kzq','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','ls1WCM9Qzwn0','ywn0AxzHDgu','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','yxbWBgLJyxrPB24VANnVBG','Cgf1C2u','C3rKB3v0','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','y29UDgvUDc1Szw5NDgG','y2XHDwrL','4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4PwD','ChjVDg9JB2W','mte3ntiXnu9uBxjiuG','zMLUz2vYChjPBNq','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','yMfZzty0DxjS','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','lI4VC3jJl2LUC3rHBgXLCI9Zzxr1Cc13AxPHCMqUANm','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','Dg9tDhjPBMC','mtm5otaXnhPjDwX5Ca','iokaLca','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','zxjYB3i','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','cLnLBgvJDcbjrevZihrVignVBMzPz3vYzsaOy29TBweTC2vWyxjHDgvKig51BwjLCNmPoG'];_0x2311=function(){return _0x50f7d5;};return _0x2311();}function askQuestion(_0x5a0e3a){const _0x2daa73=_0x49bcf4,_0x20074b={};_0x20074b[_0x2daa73(0x157)]=process['stdin'],_0x20074b[_0x2daa73(0x1cd)]=process[_0x2daa73(0x177)];const _0x5ec168=readline[_0x2daa73(0x16e)](_0x20074b);return new Promise(_0x333220=>_0x5ec168[_0x2daa73(0x20b)](_0x5a0e3a,_0x145e17=>{const _0x3f2046=_0x2daa73;_0x5ec168[_0x3f2046(0x215)](),process[_0x3f2046(0x195)][_0x3f2046(0x176)](),_0x333220(_0x145e17);}));}async function handleInstall(_0x532291){const _0x15560e=_0x49bcf4,_0x5be617=_0x532291[_0x15560e(0x1bb)];if(!_0x5be617){console[_0x15560e(0x18c)](_0x15560e(0x186)),console[_0x15560e(0x1ce)](_0x15560e(0x1fa)),console[_0x15560e(0x1ce)]('\x20\x20node\x20bin/cli.js\x20install\x20--key\x20<LICENSE_KEY>\x20[--preset\x20<PRESET>]\x20[--project\x20<PATH>]'),process['exit'](0x1);return;}console['log'](_0x15560e(0x1e3));const _0x327163=await askQuestion(_0x15560e(0x18b));if(_0x327163['trim']()['toLowerCase']()!=='yes'){console[_0x15560e(0x18c)](_0x15560e(0x184)),process[_0x15560e(0x1cc)](0x1);return;}const _0x2004f7=extractKeyId(_0x5be617),_0x25d59d=path[_0x15560e(0x209)](os[_0x15560e(0x1ab)](),_0x15560e(0x1a6),_0x15560e(0x1e1)),_0x400693=new Date()[_0x15560e(0x1db)]()+'\x20|\x20Key:\x20'+(_0x2004f7||'unknown')+'\x20|\x20Accepted\x20Terms\x20of\x20Service\x0a';try{const _0x5a6474={};_0x5a6474[_0x15560e(0x1bc)]=!![],fs[_0x15560e(0x1a3)](path[_0x15560e(0x1e9)](_0x25d59d),_0x5a6474),fs[_0x15560e(0x1a2)](_0x25d59d,_0x400693,_0x15560e(0x212));}catch(_0x4d1d4b){console['warn'](_0x15560e(0x17a)+_0x4d1d4b[_0x15560e(0x1a0)]);}const _0x48fbbc=getFingerprint(),_0x554f81=getPublicKey(),_0x4153c9=verifyLicense(_0x5be617,null,_0x554f81);!_0x4153c9['valid']&&(console[_0x15560e(0x18c)](_0x15560e(0x161)+_0x4153c9[_0x15560e(0x1eb)]),process[_0x15560e(0x1cc)](0x1));let _0x1f986e;try{console[_0x15560e(0x1ce)](_0x15560e(0x183)),_0x1f986e=await activateLicense(_0x5be617,_0x48fbbc);}catch(_0xd71a27){console[_0x15560e(0x18c)]('Online\x20activation\x20failed:\x20'+_0xd71a27[_0x15560e(0x1a0)]),process[_0x15560e(0x1cc)](0x1);}const _0x511353=verifyLicense(_0x1f986e,_0x48fbbc,_0x554f81);!_0x511353[_0x15560e(0x15a)]&&(console[_0x15560e(0x18c)](_0x15560e(0x1dc)+_0x511353[_0x15560e(0x1eb)]),process[_0x15560e(0x1cc)](0x1));const _0x560f4b=checkPrerequisites();!_0x560f4b['success']&&(console[_0x15560e(0x18c)](_0x15560e(0x1d1)),_0x560f4b[_0x15560e(0x15b)][_0x15560e(0x1b6)](_0x16bf15=>console[_0x15560e(0x18c)]('-\x20'+_0x16bf15)),process['exit'](0x1));try{installGlobalTools();}catch(_0x39dbe8){console[_0x15560e(0x18c)](_0x15560e(0x1aa)+_0x39dbe8['message']),process['exit'](0x1);}const _0x4277e9=_0x532291[_0x15560e(0x216)]||process[_0x15560e(0x204)](),_0x5d8990=_0x532291[_0x15560e(0x167)]||_0x511353[_0x15560e(0x1da)][_0x15560e(0x167)],_0x10df9f=runtimeLauncher(_0x554f81);try{deployProject({'licenseKey':_0x1f986e,'projectPath':_0x4277e9,'presetName':_0x5d8990,'deviceId':_0x48fbbc,'masterSecret':_0x554f81,'runtimeLauncherPath':_0x10df9f,'bundleDir':path[_0x15560e(0x209)](__dirname,'../bundle')});}catch(_0x5a41c6){console[_0x15560e(0x18c)](_0x15560e(0x165)+_0x5a41c6[_0x15560e(0x1a0)]),process[_0x15560e(0x1cc)](0x1);}try{console[_0x15560e(0x1ce)](_0x15560e(0x1f1));const _0x134047=detectInstalledIDEs(),_0x402d3d=[],_0x586d39=[];for(const [_0x543445,_0x13a0bf]of Object[_0x15560e(0x1c5)](_0x134047)){_0x13a0bf['detected']?(_0x402d3d[_0x15560e(0x1f2)](_0x543445),console[_0x15560e(0x1ce)]('\x20\x20✅\x20'+_0x13a0bf[_0x15560e(0x1b7)]+_0x15560e(0x18a)+_0x13a0bf[_0x15560e(0x1a8)])):(_0x586d39[_0x15560e(0x1f2)](_0x543445),console[_0x15560e(0x1ce)](_0x15560e(0x1d0)+_0x13a0bf[_0x15560e(0x1b7)]+_0x15560e(0x1f5)));}let _0x32e9fe=_0x402d3d;if(_0x402d3d[_0x15560e(0x15d)]>0x0){console[_0x15560e(0x1ce)]('\x0aWill\x20configure\x20MCP\x20for:\x20'+_0x402d3d[_0x15560e(0x1b9)](_0x48df55=>_0x134047[_0x48df55]['displayName'])[_0x15560e(0x209)](',\x20'));const _0x27a0ce=await askQuestion(_0x15560e(0x1ee)),_0xacf15f=_0x27a0ce[_0x15560e(0x20f)]()['toLowerCase']();if(_0xacf15f==='n'||_0xacf15f==='no')console[_0x15560e(0x1ce)](_0x15560e(0x1f9)),_0x32e9fe=[];else{if(_0xacf15f===_0x15560e(0x19c)){const _0x196d68=Object['entries'](_0x134047);console['log'](_0x15560e(0x18e)),_0x196d68[_0x15560e(0x1b6)](([_0x337905,_0x315044],_0x18a60e)=>{const _0x4782cd=_0x15560e,_0x50291b=_0x315044[_0x4782cd(0x218)]?'✅':'❌';console[_0x4782cd(0x1ce)]('\x20\x20'+(_0x18a60e+0x1)+')\x20'+_0x50291b+'\x20'+_0x315044[_0x4782cd(0x1b7)]);});const _0x88ec75=await askQuestion(_0x15560e(0x1ea));_0x32e9fe=_0x88ec75[_0x15560e(0x1ca)](',')['map'](_0x3e1396=>{const _0x13cc58=_0x15560e,_0xdc1663=parseInt(_0x3e1396[_0x13cc58(0x20f)](),0xa)-0x1;return _0x196d68[_0xdc1663]?_0x196d68[_0xdc1663][0x0]:null;})[_0x15560e(0x206)](Boolean);}}}else console['log'](_0x15560e(0x211)),console[_0x15560e(0x1ce)](_0x15560e(0x164));if(_0x32e9fe[_0x15560e(0x15d)]>0x0){const _0x28153d=configureMultipleIDEs(_0x32e9fe,_0x10df9f),_0x43cb0c=_0x28153d[_0x15560e(0x206)](_0x13167c=>_0x13167c[_0x15560e(0x1f4)])[_0x15560e(0x15d)];console[_0x15560e(0x1ce)]('\x0a'+_0x43cb0c+'/'+_0x32e9fe[_0x15560e(0x15d)]+_0x15560e(0x16c));}}catch(_0x14555d){console['warn'](_0x15560e(0x1a7)+_0x14555d[_0x15560e(0x1a0)]);try{configureIDE(_0x15560e(0x203),_0x10df9f),configureIDE(_0x15560e(0x17c),_0x10df9f);}catch(_0x164923){console['warn'](_0x15560e(0x1b2)+_0x164923[_0x15560e(0x1a0)]);}}const _0x122173=path[_0x15560e(0x209)](os['homedir'](),'.anhdh','license.key');try{const _0x117ec6={};_0x117ec6[_0x15560e(0x1bc)]=!![],fs[_0x15560e(0x1a3)](path['dirname'](_0x122173),_0x117ec6),fs[_0x15560e(0x1e6)](_0x122173,_0x1f986e,_0x15560e(0x212)),console[_0x15560e(0x1ce)](_0x15560e(0x181)+_0x122173);}catch(_0x43c0f6){console[_0x15560e(0x18c)](_0x15560e(0x20a)+_0x43c0f6[_0x15560e(0x1a0)]),process[_0x15560e(0x1cc)](0x1);}console[_0x15560e(0x1ce)](_0x15560e(0x1e7)),console['log'](''),console[_0x15560e(0x1ce)](_0x15560e(0x15c)),console[_0x15560e(0x1ce)](_0x15560e(0x1d2));}function _0x307f(_0x3f52fd,_0x448f16){_0x3f52fd=_0x3f52fd-0x156;const _0x231101=_0x2311();let _0x307f0a=_0x231101[_0x3f52fd];if(_0x307f['GUFdQi']===undefined){var _0x40c90b=function(_0x568a0d){const _0x1c566d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x401b1e='',_0x10e4dc='';for(let _0x4a40bb=0x0,_0x3aa8b4,_0x376ada,_0x213172=0x0;_0x376ada=_0x568a0d['charAt'](_0x213172++);~_0x376ada&&(_0x3aa8b4=_0x4a40bb%0x4?_0x3aa8b4*0x40+_0x376ada:_0x376ada,_0x4a40bb++%0x4)?_0x401b1e+=String['fromCharCode'](0xff&_0x3aa8b4>>(-0x2*_0x4a40bb&0x6)):0x0){_0x376ada=_0x1c566d['indexOf'](_0x376ada);}for(let _0x528ae9=0x0,_0x471431=_0x401b1e['length'];_0x528ae9<_0x471431;_0x528ae9++){_0x10e4dc+='%'+('00'+_0x401b1e['charCodeAt'](_0x528ae9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10e4dc);};_0x307f['QdyzbY']=_0x40c90b,_0x307f['ILKKAE']={},_0x307f['GUFdQi']=!![];}const _0x37d4f8=_0x231101[0x0],_0x43c710=_0x3f52fd+_0x37d4f8,_0x23b426=_0x307f['ILKKAE'][_0x43c710];return!_0x23b426?(_0x307f0a=_0x307f['QdyzbY'](_0x307f0a),_0x307f['ILKKAE'][_0x43c710]=_0x307f0a):_0x307f0a=_0x23b426,_0x307f0a;}async function handleUpdate(_0x21aaf7){const _0xe1deaa=_0x49bcf4,_0x27e77a=path[_0xe1deaa(0x209)](os[_0xe1deaa(0x1ab)](),'.anhdh',_0xe1deaa(0x1e5));let _0xc866c9;try{_0xc866c9=fs[_0xe1deaa(0x208)](_0x27e77a,_0xe1deaa(0x212))[_0xe1deaa(0x20f)]();}catch(_0x3a94a8){console[_0xe1deaa(0x18c)]('License\x20key\x20not\x20found.\x20Please\x20run\x20\x22install\x22\x20first:'),console[_0xe1deaa(0x1ce)]('\x20\x20npx\x20apt-mcp-agent-setup\x20install\x20--key\x20<LICENSE_KEY>'),process['exit'](0x1);return;}const _0x4c72b7=getFingerprint(),_0x177dfc=getPublicKey(),_0x25c475=verifyLicense(_0xc866c9,_0x4c72b7,_0x177dfc);if(!_0x25c475[_0xe1deaa(0x15a)]){_0x25c475[_0xe1deaa(0x1eb)]&&_0x25c475[_0xe1deaa(0x1eb)]['includes'](_0xe1deaa(0x1c3))?console[_0xe1deaa(0x18c)](_0xe1deaa(0x187)):console[_0xe1deaa(0x18c)](_0xe1deaa(0x161)+_0x25c475['reason']);process[_0xe1deaa(0x1cc)](0x1);return;}const _0x38eef6=_0x25c475[_0xe1deaa(0x1da)],_0x45202f=_0x21aaf7['project']||process[_0xe1deaa(0x204)](),_0x4bcdf7=_0x21aaf7[_0xe1deaa(0x167)]||_0x38eef6['preset'],_0x22a572=path['join'](_0x45202f,_0xe1deaa(0x19a),_0xe1deaa(0x19b));if(!fs['existsSync'](_0x22a572)){console[_0xe1deaa(0x18c)](_0xe1deaa(0x1d6)),console[_0xe1deaa(0x1ce)](_0xe1deaa(0x178)),console[_0xe1deaa(0x1ce)](_0xe1deaa(0x1f3)+_0x45202f+'\x22'),process['exit'](0x1);return;}console['log'](_0xe1deaa(0x1bd)),console['log'](_0xe1deaa(0x18d)),console[_0xe1deaa(0x1ce)](_0xe1deaa(0x17d)),console[_0xe1deaa(0x1ce)](_0xe1deaa(0x1fe)+_0x38eef6[_0xe1deaa(0x1ef)]),console[_0xe1deaa(0x1ce)]('Preset:\x20\x20'+_0x4bcdf7),console['log']('Project:\x20'+_0x45202f),console[_0xe1deaa(0x1ce)]('');try{installGlobalTools();}catch(_0x456b58){console[_0xe1deaa(0x18c)](_0xe1deaa(0x1c8)+_0x456b58['message']),process[_0xe1deaa(0x1cc)](0x1);}const _0x436fac=runtimeLauncher(_0x177dfc);try{deployProject({'licenseKey':_0xc866c9,'projectPath':_0x45202f,'presetName':_0x4bcdf7,'deviceId':_0x4c72b7,'masterSecret':_0x177dfc,'runtimeLauncherPath':_0x436fac,'bundleDir':path[_0xe1deaa(0x209)](__dirname,_0xe1deaa(0x1b0)),'isUpdate':!![],'rebuildIndex':_0x21aaf7[_0xe1deaa(0x1d9)]||![]});}catch(_0x42a1f7){console[_0xe1deaa(0x18c)](_0xe1deaa(0x214)+_0x42a1f7[_0xe1deaa(0x1a0)]),process[_0xe1deaa(0x1cc)](0x1);}const _0x425f92={};_0x425f92['presetName']=_0x4bcdf7,ensureStitchAuthentication(_0x425f92);try{console[_0xe1deaa(0x1ce)]('\x0aUpdating\x20global\x20IDE\x20configurations\x20to\x20use\x20the\x20new\x20proxy\x20version...');const _0x510f4c=detectInstalledIDEs(),_0x19b598=Object[_0xe1deaa(0x1ae)](_0x510f4c)['filter'](_0x54dd16=>_0x510f4c[_0x54dd16][_0xe1deaa(0x218)]);if(_0x19b598['length']>0x0){const _0x1c2d9b=configureMultipleIDEs(_0x19b598,_0x436fac),_0x3da744=_0x1c2d9b[_0xe1deaa(0x206)](_0x3277c3=>_0x3277c3['success'])[_0xe1deaa(0x15d)];console[_0xe1deaa(0x1ce)]('\x20\x20'+_0x3da744+'/'+_0x19b598[_0xe1deaa(0x15d)]+_0xe1deaa(0x1d4));}}catch(_0x3f4587){console[_0xe1deaa(0x1d5)](_0xe1deaa(0x168)+_0x3f4587[_0xe1deaa(0x1a0)]);}console['log'](''),console[_0xe1deaa(0x1ce)](_0xe1deaa(0x1be));}async function handleNotices(){const _0x4fea75=_0x49bcf4,{decrypt:_0x500bbf}=require('../src/license/crypto.js'),_0x1be4c7=path[_0x4fea75(0x209)](__dirname,_0x4fea75(0x198));if(!fs[_0x4fea75(0x1a9)](_0x1be4c7)){console['error']('Attributions\x20file\x20(NOTICES.md)\x20not\x20found.'),process[_0x4fea75(0x1cc)](0x1);return;}try{const _0x4a15f9=fs['readFileSync'](_0x1be4c7),_0x2156fc=_0x500bbf(_0x4a15f9,_0x4fea75(0x217));console[_0x4fea75(0x1ce)](_0x2156fc[_0x4fea75(0x188)](_0x4fea75(0x212)));}catch(_0x125882){console['error']('Failed\x20to\x20decrypt\x20attributions:',_0x125882[_0x4fea75(0x1a0)]),process[_0x4fea75(0x1cc)](0x1);}}async function main(){const _0x211f57=_0x49bcf4;if(process[_0x211f57(0x159)][_0x211f57(0x16f)](_0x211f57(0x1c0))){const {EULA_TEXT:_0x38b55f}=require(_0x211f57(0x193));console[_0x211f57(0x1ce)](_0x38b55f);return;}if(process[_0x211f57(0x159)][_0x211f57(0x16f)](_0x211f57(0x1d7))){await handleNotices();return;}const {command:_0x532781,options:_0x3e0888}=parseArgs();switch(_0x532781){case'--terms':const {EULA_TEXT:_0x212d3c}=require(_0x211f57(0x193));console[_0x211f57(0x1ce)](_0x212d3c);break;case _0x211f57(0x1d7):await handleNotices();break;case _0x211f57(0x160):handleInit();break;case'doctor':console['log'](JSON[_0x211f57(0x205)](require(_0x211f57(0x1c1))[_0x211f57(0x1f8)](_0x3e0888[_0x211f57(0x216)]||process[_0x211f57(0x204)]()),null,0x2));break;case _0x211f57(0x1ec):handleStatus();break;case _0x211f57(0x190):await handleInstall(_0x3e0888);break;case _0x211f57(0x173):await handleActivate(_0x3e0888);break;case _0x211f57(0x197):await handleUpdate(_0x3e0888);break;case _0x211f57(0x1af):await runSetupWizard(_0x3e0888[_0x211f57(0x216)]||process[_0x211f57(0x204)]());break;default:console['error']('Unknown\x20command:\x20'+(_0x532781||'')),console['log']('\x0aUsage:'),console[_0x211f57(0x1ce)](_0x211f57(0x1f6)),console['log']('\x20\x20npx\x20apt-mcp-agent-setup\x20status'),console[_0x211f57(0x1ce)](_0x211f57(0x20c)),console[_0x211f57(0x1ce)](_0x211f57(0x179)),console[_0x211f57(0x1ce)](_0x211f57(0x1f0)),console[_0x211f57(0x1ce)](_0x211f57(0x166)),console[_0x211f57(0x1ce)](_0x211f57(0x156)),console[_0x211f57(0x1ce)](_0x211f57(0x174)),console[_0x211f57(0x1ce)](_0x211f57(0x15e)),process[_0x211f57(0x1cc)](0x1);}}main()[_0x49bcf4(0x1fc)](()=>{process['exit'](0x0);})['catch'](_0x45b061=>{const _0x336f62=_0x49bcf4;console[_0x336f62(0x18c)](_0x336f62(0x1ff),_0x45b061[_0x336f62(0x1a0)]),process['exit'](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
|
package/bundle/mcp-rules.enc
CHANGED
|
Binary file
|
package/bundle/skills-aso.enc
CHANGED
|
Binary file
|
package/bundle/skills-ba.enc
CHANGED
|
Binary file
|
package/bundle/skills-base.enc
CHANGED
|
Binary file
|
package/bundle/skills-be.enc
CHANGED
|
Binary file
|
package/bundle/skills-design.enc
CHANGED
|
Binary file
|
package/bundle/skills-fe.enc
CHANGED
|
Binary file
|
package/bundle/skills-mobile.enc
CHANGED
|
Binary file
|
package/bundle/skills-pm.enc
CHANGED
|
Binary file
|
package/integrity-manifest.json
CHANGED
|
@@ -1,54 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"bin/cli.js": "
|
|
4
|
-
"bundle/core.enc": "
|
|
5
|
-
"bundle/mcp-rules.enc": "
|
|
6
|
-
"bundle/NOTICES.md": "
|
|
7
|
-
"bundle/skills-aso.enc": "
|
|
8
|
-
"bundle/skills-ba.enc": "
|
|
9
|
-
"bundle/skills-base.enc": "
|
|
10
|
-
"bundle/skills-be.enc": "
|
|
11
|
-
"bundle/skills-design.enc": "
|
|
12
|
-
"bundle/skills-fe.enc": "
|
|
13
|
-
"bundle/skills-mobile.enc": "
|
|
14
|
-
"bundle/skills-pm.enc": "
|
|
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": "
|
|
16
|
+
"package.json": "31190feb58669cff6d7731a279f5d5e010ac49c6f40d4a4c26bef31c9dcd6938",
|
|
17
17
|
"README.md": "8e1344617a746b27c0bbed718e04fa297fbd967971d1d25b95d149b094f917da",
|
|
18
|
-
"release-check.js": "
|
|
19
|
-
"src/
|
|
20
|
-
"src/
|
|
21
|
-
"src/
|
|
22
|
-
"src/
|
|
23
|
-
"src/
|
|
24
|
-
"src/core/
|
|
25
|
-
"src/core/
|
|
26
|
-
"src/core/
|
|
27
|
-
"src/core/
|
|
28
|
-
"src/core/
|
|
29
|
-
"src/core/
|
|
18
|
+
"release-check.js": "36a2bbae3236fdc9d5a5bb60116bd82981b0975480ee12d21deda37642a1b812",
|
|
19
|
+
"src/backends/codegraph-1.6.0.json": "082a6cb00dd124c67ac073c24443bb41edc06d93de54673f068f6daaccd50b55",
|
|
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",
|
|
30
37
|
"src/installer/context-legacy-hashes.json": "43ae3b192ee2c95943cfb9b7fe7f55714487ce6138701f49ad7187f403f7c918",
|
|
31
|
-
"src/installer/global-setup.js": "
|
|
32
|
-
"src/installer/host-hooks.js": "
|
|
33
|
-
"src/installer/managed-config.js": "
|
|
34
|
-
"src/installer/platform-config.js": "
|
|
35
|
-
"src/installer/prerequisites.js": "
|
|
36
|
-
"src/installer/project-setup.js": "
|
|
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",
|
|
37
44
|
"src/installer/runtime-launcher.js": "8b4b06d43967a616e45bb7226639997b061c1e66ab71bacf438f6ffd7bd86777",
|
|
38
|
-
"src/installer/runtime-lock.js": "
|
|
39
|
-
"src/installer/runtime-store.js": "
|
|
40
|
-
"src/installer/setup-wizard.js": "
|
|
41
|
-
"src/license/crypto.js": "
|
|
42
|
-
"src/license/fingerprint.js": "
|
|
43
|
-
"src/license/terms.js": "
|
|
44
|
-
"src/license/verify.js": "
|
|
45
|
-
"src/presets/index.js": "
|
|
46
|
-
"src/proxy/backends.js": "
|
|
47
|
-
"src/proxy/core-tools.js": "
|
|
48
|
-
"src/proxy/pipeline.js": "
|
|
49
|
-
"src/proxy/router.config.js": "
|
|
50
|
-
"src/proxy/router.js": "
|
|
51
|
-
"src/proxy/server.js": "
|
|
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",
|
|
52
59
|
"src/templates/AGENTS.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
|
|
53
60
|
"src/templates/apt-runtime.md": "0bf4c0938f867e64e758a7dd93a16ca0a533587beb7b83c76359ed9a90e6935c",
|
|
54
61
|
"src/templates/CLAUDE.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
|
|
@@ -60,9 +67,9 @@
|
|
|
60
67
|
"src/templates/GEMINI.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
|
|
61
68
|
"src/templates/issue-tracker.md": "b5ff3149352c6e036a3aab0d90347a3ca3fabaef8134b057c1f514d5e0389d9f",
|
|
62
69
|
"src/templates/jira-config.md": "e18330e519736a40ca39d0f823cc7a564b7c0fc4eca75681933a3412d27f46de",
|
|
63
|
-
"src/templates/mcp-tools.md": "
|
|
70
|
+
"src/templates/mcp-tools.md": "838e61aec5e9e2c8207dc00f4ddfedd8fa921ca7c21f071e3a9634d0da80924a",
|
|
64
71
|
"src/templates/triage-labels.md": "d9297e8ec0537342575432e46f8b7334791564c8f48b73b0d8920a82282aac75",
|
|
65
72
|
"src/templates/windsurfrules.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22"
|
|
66
73
|
},
|
|
67
|
-
"signature": "
|
|
74
|
+
"signature": "SS8jwxjonTr2HRoNXC-I-vHIGga01wsHSyP8LPgm7np4BEB3jQzZMtvwFOak0KWTk2azkdpptyZw6PKNGuiRBQ"
|
|
68
75
|
}
|
package/package.json
CHANGED
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
|
|
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
|
-
|
|
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'))
|
|
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}`);
|