apt-mcp-agent-setup 3.0.2 → 3.0.6
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 +52 -46
- package/package.json +4 -1
- package/release-check.js +121 -0
- package/src/backends/codegraph-1.6.0.json +180 -0
- package/src/backends/index-store.js +1 -0
- package/src/backends/profiles.js +1 -0
- package/src/backends/review_graph.py +29 -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/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-launcher.js +33 -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/bin/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x4057b5=_0x1524;(function(_0x5dc59e,_0x44666b){const _0x11cf4a=_0x1524,_0x4c1baa=_0x5dc59e();while(!![]){try{const _0x221c32=-parseInt(_0x11cf4a(0x107))/0x1*(-parseInt(_0x11cf4a(0x119))/0x2)+parseInt(_0x11cf4a(0x118))/0x3*(parseInt(_0x11cf4a(0xf6))/0x4)+parseInt(_0x11cf4a(0x103))/0x5*(parseInt(_0x11cf4a(0xfd))/0x6)+-parseInt(_0x11cf4a(0xcd))/0x7*(-parseInt(_0x11cf4a(0xd1))/0x8)+-parseInt(_0x11cf4a(0xe3))/0x9*(-parseInt(_0x11cf4a(0xe5))/0xa)+-parseInt(_0x11cf4a(0xb0))/0xb+parseInt(_0x11cf4a(0x152))/0xc*(-parseInt(_0x11cf4a(0x123))/0xd);if(_0x221c32===_0x44666b)break;else _0x4c1baa['push'](_0x4c1baa['shift']());}catch(_0xc4f911){_0x4c1baa['push'](_0x4c1baa['shift']());}}}(_0x30cc,0x19d43));const fs=require('fs'),path=require(_0x4057b5(0x13a)),os=require('os'),readline=require(_0x4057b5(0x136)),http=require(_0x4057b5(0xb3)),https=require(_0x4057b5(0xbe)),{getFingerprint}=require(_0x4057b5(0xe8)),{verifyLicense}=require(_0x4057b5(0x15a)),{checkPrerequisites}=require(_0x4057b5(0xa6)),{installGlobalTools}=require(_0x4057b5(0xe0)),{deployProject,ensureStitchAuthentication}=require(_0x4057b5(0x14a)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x4057b5(0xee)),{runSetupWizard}=require(_0x4057b5(0x130));function _0x30cc(){const _0x45e212=['ChvZAa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4','yM9KEq','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','rxHWAxjLCZOGicaGia','Cgf0Ag5HBwu','otL6EKfNChi','ls1RzxK','nZe3otbzuwPLy0C','icbUB2rLigjPBI9JBgKUANmGAw5ZDgfSBcaTlwTLEsa8teLdru5trv9lrvK+ifSTlxbYzxnLDca8ufjfu0vupL0GwY0TChjVAMvJDca8uefusd5D','AM9PBG','lI4VC3jJl2XPy2vUC2uVzMLUz2vYChjPBNqUANm','C2v0Dxa','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','zxHPDa','DhjPBq','y3jLyxrLsw50zxjMywnL','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','v2fYBMLUzZOGrMfSBgjHy2SGsurfignVBMzPz3vYyxrPB24GywXZBYbMywLSzwq6ia','zMLUz2vYChjPBNq','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','A2v5x2LK','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','Aw5ZDgfSBa','mJmWntC2tgDssMPi','icaGDhjPywDLigXHyMvSCYWGyw5KigrVBwfPBIbKB2nZigXHEw91DcbMB3iGDgHPCYbWCM9Qzwn0lG','C2XPy2u','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','CMvZB2X2zq','ww91CIbezxzPy2uGsuq6ia','ls1WCMvZzxq','mtaYntm3nKnIDvL4vW','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','zgv0zwn0zwq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlxjLyNvPBgqTAw5KzxHD','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','nwnQs1PwEa','DMfSAwq','BwfZDgvYlNb1yMXPyY5Wzw0','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','mtm1neTcrK1IBG','Bwv0Ag9K','C3rHDhvZq29Kzq','Dg9ju09tDhjPBMC','ChjLC2v0tMfTzq','q0Xjigv4zwn1DgLVBIbLCNjVCJO','B3v0Chv0','y3DK','CgfYC2u','zMLSDgvY','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','Ag9TzwrPCG','zNjVBq','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','C3jJl3bYB3H5l3nLCNzLCI5QCW','yxjNDG','m211yNbJAq','odjHtvzyBwW','q29UDgvUDc1uExbL','cLvZywDLoG','yw50AwDYyxzPDhK','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','A2v5','ChjVAMvJDa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZDgf0Dxm','Ahr0Chm6','zw50CMLLCW','mty5ANPQr2nI','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','vxnHz2u6','vxnLCJOGicaG','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','lMfNzw50CW','Aw5WDxq','D3jPDgvgAwXLu3LUyW','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','r0vu','Ag9ZDg5HBwu','ls1Yzwj1AwXKlwLUzgv4','lI4VC3jJl2LUC3rHBgXLCI9Zzxr1Cc13AxPHCMqUANm','yMfZzty0DxjS','C3bSAxq','iokaLca','ywn0AxzHDgu','Cgf5Bg9Hza','CMvHzgXPBMu','vw5RBM93BIbJB21Tyw5KoIa','ls10zxjTCW','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','Cgf0Aa','Aw5JBhvKzxm','BgLJzw5Zzs5RzxK','C2vHCMnO','uhjVAMvJDdOG','zxjYB3i','C3rYAw5NAwz5','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','D3jPDgu','q2HVB3nLoIa','lI4VyNvUzgXL','CMvIDwLSzeLUzgv4','CMvHC29U','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','y2XHDwrL','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','AgvHzgvYCW','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','C3rHDhvZ','mJi1otyWu2jOu2v1','DMvYC2LVBG','Dg9mB3DLCKnHC2u','Cgf1C2u','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','yNL0zuXLBMD0Aa','Aw5ZDgfSBfj1BNrPBwu','cLnLBgvJDcbjrevZihrVignVBMzPz3vYzsaOy29TBweTC2vWyxjHDgvKig51BwjLCNmPoG','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','CMvJDxjZAxzL','BwfW','A2v5swq','C3vJy2vZCW','l2fJDgL2yxrL','ChjVDg9JB2W','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','yxbWBgLJyxrPB24VANnVBG','BwvZC2fNzq','BwTKAxjtEw5J','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','zg9JDg9Y','uhjLC2v0oIaGicaGia','ls1UB3rPy2vZ','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','zgv2AwnL','BgvUz3rO','D2fYBG','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','Dg9tDhjPBMC','y2f0y2G','cLvWzgf0Aw5NigDSB2jHBcbjreuGy29UzMLNDxjHDgLVBNmGDg8GDxnLihrOzsbUzxCGChjVEhKGDMvYC2LVBI4UlG','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','mtm2ndm1mNDrs1Hqtq','DxrMoa','zxjYB3jZ','Ahr0Ca','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','DxnLCG','Bg9N','ChjLC2v0','zxHW','C3rKB3v0','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','vxbKyxrLigzHAwXLzdOG','CMvHzezPBgvtEw5J','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','Ahr0Chm','v2fYBMLUzZOGrMfPBgvKihrVihvWzgf0zsbNBg9IywWGsurfignVBMzPz3vYyxrPB25ZoIa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','zgLYBMfTzq','EwvZ','C3rKAw4','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','Cg9YDa','lI4VyNvUzgXLl05pveLdrvmUBwq','zwrPDa','zgLZCgXHEu5HBwu','uhjVAMvJDcbZzxr1CcbKzxbSB3LTzw50igzHAwXLzdOG','ywnJzxb0yw5Jzs5SB2C','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','zxHPC3rZu3LUyW','mJfjwLHbAuC','Dg9Rzw4','v2fYBMLUzZOGsurfigf1Dg8Tzgv0zwn0Aw9UigzHAwXLzdOG','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','mJK3ntG0uNvty3D4','ihWGs2v5oIa','q29UDgvUDc1mzw5NDgG','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','ANnVBG','zw5K','y29TBwfUza','ChvIBgLJs2v5','lMfUAgrO','rgv2AwnLieLeoIaGia','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq'];_0x30cc=function(){return _0x45e212;};return _0x30cc();}function runtimeLauncher(_0x4dfff9){const _0x2cf6d0=_0x4057b5,_0xe0f728=path[_0x2cf6d0(0xfa)](__dirname,'..');if(!fs[_0x2cf6d0(0xcc)](path['join'](_0xe0f728,_0x2cf6d0(0x102))))return console['warn']('Development\x20checkout:\x20automatic\x20runtime\x20updates\x20require\x20a\x20signed\x20package.'),path[_0x2cf6d0(0xe7)](_0xe0f728,_0x2cf6d0(0x116));const _0x3ff99f={};return _0x3ff99f[_0x2cf6d0(0xd8)]=_0x4dfff9,require(_0x2cf6d0(0x125))[_0x2cf6d0(0x158)](_0xe0f728,_0x3ff99f)['launcherPath'];}function parseArgs(){const _0x4cda5c=_0x4057b5,_0x4fe531=process[_0x4cda5c(0x117)][_0x4cda5c(0xf8)](0x2),_0xab39f1=_0x4fe531[0x0],_0x33e351={};for(let _0x59847a=0x1;_0x59847a<_0x4fe531[_0x4cda5c(0xa9)];_0x59847a++){if(_0x4fe531[_0x59847a]===_0x4cda5c(0xe4)||_0x4fe531[_0x59847a]==='-k')_0x33e351[_0x4cda5c(0x11e)]=_0x4fe531[_0x59847a+0x1],_0x59847a++;else{if(_0x4fe531[_0x59847a]===_0x4cda5c(0xfc)||_0x4fe531[_0x59847a]==='-p')_0x33e351[_0x4cda5c(0xb7)]=_0x4fe531[_0x59847a+0x1],_0x59847a++;else{if(_0x4fe531[_0x59847a]==='--project')_0x33e351['project']=_0x4fe531[_0x59847a+0x1],_0x59847a++;else _0x4fe531[_0x59847a]===_0x4cda5c(0x12f)&&(_0x33e351[_0x4cda5c(0x148)]=!![]);}}}const _0x512984={};return _0x512984[_0x4cda5c(0xd7)]=_0xab39f1,_0x512984['options']=_0x33e351,_0x512984;}function getPublicKey(){const _0x1e45a2=_0x4057b5;if(process.env.MCP_ADMIN_DIR){const _0x1a8288=path[_0x1e45a2(0xe7)](process.env.MCP_ADMIN_DIR,_0x1e45a2(0x105));if(fs[_0x1e45a2(0xcc)](_0x1a8288))return fs[_0x1e45a2(0xbc)](_0x1a8288,'utf8')[_0x1e45a2(0xec)]();}let _0x435c9a=path[_0x1e45a2(0xe7)](__dirname,_0x1e45a2(0xc4));if(fs['existsSync'](_0x435c9a))return fs[_0x1e45a2(0xbc)](_0x435c9a,_0x1e45a2(0xb1))[_0x1e45a2(0xec)]();_0x435c9a=path['join'](__dirname,_0x1e45a2(0xd4));if(fs[_0x1e45a2(0xcc)](_0x435c9a))return fs[_0x1e45a2(0xbc)](_0x435c9a,_0x1e45a2(0xb1))[_0x1e45a2(0xec)]();return null;}function handleInit(){const _0xfdf788=_0x4057b5,_0x5da097=getFingerprint();console[_0xfdf788(0xb6)](_0xfdf788(0xfb)+_0x5da097);}function handleStatus(){const _0x3195f0=_0x4057b5,_0x37f0e4=path['join'](os[_0x3195f0(0x112)](),_0x3195f0(0xd9),'license.key');let _0x55a41b;try{_0x55a41b=fs[_0x3195f0(0xbc)](_0x37f0e4,_0x3195f0(0xb1))['trim']();}catch(_0x42fa13){console[_0x3195f0(0x13f)](_0x3195f0(0xdb)),process[_0x3195f0(0xeb)](0x1);return;}const _0x28ec1c=getFingerprint(),_0xb07f03=getPublicKey(),_0x1facb2=verifyLicense(_0x55a41b,_0x28ec1c,_0xb07f03);!_0x1facb2[_0x3195f0(0x104)]&&(console[_0x3195f0(0x13f)]('License\x20key\x20verification\x20failed:\x20'+_0x1facb2[_0x3195f0(0x149)]),process[_0x3195f0(0xeb)](0x1));const _0x41afb6=_0x1facb2[_0x3195f0(0x135)];console[_0x3195f0(0xb6)]('Base\x20MCP\x20AI\x20Agent\x20—\x20Setup\x20Status'),console['log'](_0x3195f0(0x14e)),console['log'](_0x3195f0(0xef)),console['log']('User:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x41afb6[_0x3195f0(0xb5)]),console[_0x3195f0(0xb6)](_0x3195f0(0xa4)+_0x41afb6[_0x3195f0(0xb7)]),console['log'](_0x3195f0(0xda)+_0x41afb6[_0x3195f0(0xa8)]),console[_0x3195f0(0xb6)](_0x3195f0(0xe1)+new Date(_0x41afb6[_0x3195f0(0xb8)])[_0x3195f0(0x10a)]());}function extractKeyId(_0x3f94b3){const _0xaf9630=_0x4057b5;try{const _0x47cab5=_0x3f94b3[_0xaf9630(0x132)]('.'),_0xe5bee7=JSON[_0xaf9630(0x10f)](Buffer[_0xaf9630(0x113)](_0x47cab5[0x1],_0xaf9630(0x131))['toString'](_0xaf9630(0xb1)));return _0xe5bee7[_0xaf9630(0x15d)]||_0xe5bee7[_0xaf9630(0xf3)];}catch(_0x210b94){return null;}}function httpRequest(_0x36ad02,_0x27e2f3={}){return new Promise((_0x2733ec,_0x256018)=>{const _0x5e0312=_0x1524;try{const _0x4367f3=new URL(_0x36ad02),_0x3c6c1d=_0x4367f3[_0x5e0312(0x160)]===_0x5e0312(0x121)?https:http,_0x4f8cfc={'User-Agent':_0x5e0312(0xa7)+process[_0x5e0312(0x153)]+')',..._0x27e2f3[_0x5e0312(0x14f)]},_0x258818=_0x4f8cfc;if(_0x27e2f3[_0x5e0312(0xde)]){const _0x59bf40=typeof _0x27e2f3[_0x5e0312(0xde)]==='string'?_0x27e2f3[_0x5e0312(0xde)]:JSON[_0x5e0312(0x140)](_0x27e2f3[_0x5e0312(0xde)]);!_0x258818['Content-Length']&&!_0x258818['content-length']&&(_0x258818[_0x5e0312(0xd3)]=Buffer[_0x5e0312(0x157)](_0x59bf40));}const _0x905760={};_0x905760['method']=_0x27e2f3[_0x5e0312(0x108)]||_0x5e0312(0x12d),_0x905760['hostname']=_0x4367f3[_0x5e0312(0x12e)],_0x905760[_0x5e0312(0xc5)]=_0x4367f3[_0x5e0312(0xc5)]||(_0x4367f3[_0x5e0312(0x160)]===_0x5e0312(0x121)?0x1bb:0x50),_0x905760[_0x5e0312(0x13a)]=_0x4367f3[_0x5e0312(0xe2)]+_0x4367f3[_0x5e0312(0x13d)],_0x905760['headers']=_0x258818;const _0x176056=_0x905760,_0x5070ff=_0x3c6c1d['request'](_0x176056,_0x338685=>{const _0x2c9d1f=_0x5e0312;let _0x1f082e='';_0x338685['on']('data',_0x50ef56=>{_0x1f082e+=_0x50ef56;}),_0x338685['on'](_0x2c9d1f(0xd6),()=>{const _0x276b82=_0x2c9d1f;_0x2733ec({'ok':_0x338685['statusCode']>=0xc8&&_0x338685[_0x276b82(0x109)]<0x12c,'status':_0x338685['statusCode'],'json':async()=>JSON[_0x276b82(0x10f)](_0x1f082e),'text':async()=>_0x1f082e});});});_0x5070ff['on']('error',_0x3f9782=>{_0x256018(_0x3f9782);}),_0x27e2f3[_0x5e0312(0xde)]&&_0x5070ff[_0x5e0312(0x145)](_0x27e2f3[_0x5e0312(0xde)]),_0x5070ff[_0x5e0312(0xd6)]();}catch(_0xf1c1ad){_0x256018(_0xf1c1ad);}});}async function activateLicense(_0x3d8dc4,_0x2f0008){const _0x2ebf71=_0x4057b5,_0x47b88f=extractKeyId(_0x3d8dc4);if(!_0x47b88f)throw new Error(_0x2ebf71(0xa2));const _0x249df2=process.env.MCP_ACTIVATION_URL||_0x2ebf71(0xcb),_0x46b033=_0x249df2+_0x2ebf71(0x15f),_0x40e1d1={};_0x40e1d1[_0x2ebf71(0x11a)]=_0x2ebf71(0x162);const _0x249f50={};_0x249f50[_0x2ebf71(0xf3)]=_0x47b88f,_0x249f50[_0x2ebf71(0xf1)]=_0x2f0008;const _0x41c4c9=await httpRequest(_0x46b033,{'method':'POST','headers':_0x40e1d1,'body':JSON[_0x2ebf71(0x140)](_0x249f50)});if(!_0x41c4c9['ok']){let _0x30b939='Server\x20returned\x20status\x20'+_0x41c4c9[_0x2ebf71(0x151)];try{const _0x3caa88=await _0x41c4c9['json']();if(_0x3caa88&&_0x3caa88[_0x2ebf71(0x13f)])_0x30b939=_0x3caa88[_0x2ebf71(0x13f)];}catch(_0x3a4513){}throw new Error(_0x30b939);}const _0x46c05f=await _0x41c4c9[_0x2ebf71(0xd5)]();if(!_0x46c05f||!_0x46c05f[_0x2ebf71(0xce)])throw new Error('Server\x20response\x20missing\x20token');return _0x46c05f[_0x2ebf71(0xce)];}async function handleActivate(_0x26e39f){const _0x1078ae=_0x4057b5,_0x15f03a=_0x26e39f[_0x1078ae(0x11e)];!_0x15f03a&&(console[_0x1078ae(0x13f)](_0x1078ae(0x150)),console['log'](_0x1078ae(0x126)),console[_0x1078ae(0xb6)](_0x1078ae(0x144)),process[_0x1078ae(0xeb)](0x1));const _0x5cbe67=getFingerprint(),_0x26cbec=getPublicKey(),_0x47ffbb=verifyLicense(_0x15f03a,null,_0x26cbec);!_0x47ffbb[_0x1078ae(0x104)]&&(console[_0x1078ae(0x13f)]('License\x20verification\x20failed:\x20'+_0x47ffbb[_0x1078ae(0x149)]),process[_0x1078ae(0xeb)](0x1));try{console['log'](_0x1078ae(0xff));const _0x31b8be=await activateLicense(_0x15f03a,_0x5cbe67),_0xaee667=path[_0x1078ae(0xe7)](os['homedir'](),_0x1078ae(0xd9),_0x1078ae(0x13c)),_0x29e90c={};_0x29e90c['recursive']=!![],fs['mkdirSync'](path[_0x1078ae(0xc1)](_0xaee667),_0x29e90c),fs['writeFileSync'](_0xaee667,_0x31b8be,'utf8'),console[_0x1078ae(0xb6)]('License\x20key\x20activated\x20and\x20saved\x20to:\x20'+_0xaee667);}catch(_0x309a68){console[_0x1078ae(0x13f)]('Activation\x20failed:\x20'+_0x309a68[_0x1078ae(0x163)]),process[_0x1078ae(0xeb)](0x1);}}function askQuestion(_0x414e67){const _0x34e409=_0x4057b5,_0x2cd9e9={};_0x2cd9e9[_0x34e409(0x12a)]=process[_0x34e409(0xc3)],_0x2cd9e9[_0x34e409(0x10d)]=process[_0x34e409(0xb9)];const _0x362957=readline[_0x34e409(0xed)](_0x2cd9e9);return new Promise(_0xd2e16d=>_0x362957['question'](_0x414e67,_0x860258=>{const _0x1d2ddd=_0x34e409;_0x362957['close'](),process[_0x1d2ddd(0xc3)][_0x1d2ddd(0x155)](),_0xd2e16d(_0x860258);}));}async function handleInstall(_0x4bbcfd){const _0xb3ba86=_0x4057b5,_0x10a4d7=_0x4bbcfd[_0xb3ba86(0x11e)];if(!_0x10a4d7){console[_0xb3ba86(0x13f)](_0xb3ba86(0x150)),console[_0xb3ba86(0xb6)](_0xb3ba86(0x126)),console[_0xb3ba86(0xb6)](_0xb3ba86(0xe6)),process[_0xb3ba86(0xeb)](0x1);return;}console[_0xb3ba86(0xb6)]('By\x20continuing,\x20you\x20agree\x20to\x20the\x20Terms\x20of\x20Service\x20at\x20https://agentkit.alphatechs.ai/terms.');const _0xc5fbc8=await askQuestion(_0xb3ba86(0x124));if(_0xc5fbc8['trim']()['toLowerCase']()!==_0xb3ba86(0xc2)){console['error'](_0xb3ba86(0x14c)),process[_0xb3ba86(0xeb)](0x1);return;}const _0x4b01b1=extractKeyId(_0x10a4d7),_0x420c81=path['join'](os[_0xb3ba86(0x112)](),'.anhdh',_0xb3ba86(0xca)),_0x362a90=new Date()[_0xb3ba86(0x10a)]()+_0xb3ba86(0xd2)+(_0x4b01b1||'unknown')+'\x20|\x20Accepted\x20Terms\x20of\x20Service\x0a';try{const _0x5d0dcd={};_0x5d0dcd[_0xb3ba86(0x15b)]=!![],fs[_0xb3ba86(0xa1)](path[_0xb3ba86(0xc1)](_0x420c81),_0x5d0dcd),fs['appendFileSync'](_0x420c81,_0x362a90,_0xb3ba86(0xb1));}catch(_0x265c22){console[_0xb3ba86(0xaa)](_0xb3ba86(0x14d)+_0x265c22[_0xb3ba86(0x163)]);}const _0x2e35ac=getFingerprint(),_0x1e3f6a=getPublicKey(),_0x3450b6=verifyLicense(_0x10a4d7,null,_0x1e3f6a);!_0x3450b6['valid']&&(console[_0xb3ba86(0x13f)](_0xb3ba86(0xf2)+_0x3450b6['reason']),process[_0xb3ba86(0xeb)](0x1));let _0x1e7048;try{console[_0xb3ba86(0xb6)](_0xb3ba86(0xff)),_0x1e7048=await activateLicense(_0x10a4d7,_0x2e35ac);}catch(_0x14ad96){console[_0xb3ba86(0x13f)](_0xb3ba86(0x114)+_0x14ad96[_0xb3ba86(0x163)]),process['exit'](0x1);}const _0x48e811=verifyLicense(_0x1e7048,_0x2e35ac,_0x1e3f6a);!_0x48e811['valid']&&(console['error']('Activated\x20token\x20validation\x20failed:\x20'+_0x48e811['reason']),process[_0xb3ba86(0xeb)](0x1));const _0x17f1f6=checkPrerequisites();!_0x17f1f6[_0xb3ba86(0x15e)]&&(console[_0xb3ba86(0x13f)](_0xb3ba86(0xd0)),_0x17f1f6[_0xb3ba86(0xb2)]['forEach'](_0x4dfb7e=>console[_0xb3ba86(0x13f)]('-\x20'+_0x4dfb7e)),process[_0xb3ba86(0xeb)](0x1));try{installGlobalTools();}catch(_0x26d090){console[_0xb3ba86(0x13f)](_0xb3ba86(0xf4)+_0x26d090[_0xb3ba86(0x163)]),process[_0xb3ba86(0xeb)](0x1);}const _0x53282c=_0x4bbcfd[_0xb3ba86(0x11f)]||process['cwd'](),_0x5cc151=_0x4bbcfd[_0xb3ba86(0xb7)]||_0x48e811[_0xb3ba86(0x135)][_0xb3ba86(0xb7)],_0x20cb1a=runtimeLauncher(_0x1e3f6a);try{deployProject({'licenseKey':_0x1e7048,'projectPath':_0x53282c,'presetName':_0x5cc151,'deviceId':_0x2e35ac,'masterSecret':_0x1e3f6a,'runtimeLauncherPath':_0x20cb1a,'bundleDir':path['join'](__dirname,_0xb3ba86(0x147))});}catch(_0x3541ee){console[_0xb3ba86(0x13f)](_0xb3ba86(0xc9)+_0x3541ee[_0xb3ba86(0x163)]),process[_0xb3ba86(0xeb)](0x1);}try{console[_0xb3ba86(0xb6)](_0xb3ba86(0xdf));const _0x5e3391=detectInstalledIDEs(),_0x2de29f=[],_0x2f851e=[];for(const [_0x48f8ce,_0x4343c6]of Object[_0xb3ba86(0x122)](_0x5e3391)){_0x4343c6[_0xb3ba86(0x100)]?(_0x2de29f[_0xb3ba86(0xdc)](_0x48f8ce),console['log']('\x20\x20✅\x20'+_0x4343c6[_0xb3ba86(0xc8)]+_0xb3ba86(0x133)+_0x4343c6[_0xb3ba86(0x108)])):(_0x2f851e[_0xb3ba86(0xdc)](_0x48f8ce),console['log']('\x20\x20❌\x20'+_0x4343c6['displayName']+'\x20—\x20Not\x20found'));}let _0x15495c=_0x2de29f;if(_0x2de29f['length']>0x0){console[_0xb3ba86(0xb6)]('\x0aWill\x20configure\x20MCP\x20for:\x20'+_0x2de29f[_0xb3ba86(0x15c)](_0x12b41e=>_0x5e3391[_0x12b41e][_0xb3ba86(0xc8)])[_0xb3ba86(0xe7)](',\x20'));const _0x42a88b=await askQuestion(_0xb3ba86(0x143)),_0x423f0d=_0x42a88b[_0xb3ba86(0xec)]()[_0xb3ba86(0x154)]();if(_0x423f0d==='n'||_0x423f0d==='no')console[_0xb3ba86(0xb6)](_0xb3ba86(0xbd)),_0x15495c=[];else{if(_0x423f0d===_0xb3ba86(0xc7)){const _0x382a52=Object[_0xb3ba86(0x122)](_0x5e3391);console['log'](_0xb3ba86(0x159)),_0x382a52['forEach'](([_0x40b6d5,_0x2f46dc],_0x1cb8d8)=>{const _0x55202d=_0xb3ba86,_0x149d7a=_0x2f46dc[_0x55202d(0x100)]?'✅':'❌';console[_0x55202d(0xb6)]('\x20\x20'+(_0x1cb8d8+0x1)+')\x20'+_0x149d7a+'\x20'+_0x2f46dc[_0x55202d(0xc8)]);});const _0x4654a8=await askQuestion(_0xb3ba86(0x146));_0x15495c=_0x4654a8[_0xb3ba86(0x132)](',')[_0xb3ba86(0x15c)](_0xb57b76=>{const _0x59e5ae=parseInt(_0xb57b76['trim'](),0xa)-0x1;return _0x382a52[_0x59e5ae]?_0x382a52[_0x59e5ae][0x0]:null;})[_0xb3ba86(0x110)](Boolean);}}}else console[_0xb3ba86(0xb6)]('\x0aNo\x20AI-powered\x20IDEs\x20detected.\x20Skipping\x20global\x20IDE\x20configuration.'),console[_0xb3ba86(0xb6)](_0xb3ba86(0x106));if(_0x15495c['length']>0x0){const _0x212138=configureMultipleIDEs(_0x15495c,_0x20cb1a),_0x4b7aea=_0x212138['filter'](_0xf0667b=>_0xf0667b[_0xb3ba86(0x15e)])[_0xb3ba86(0xa9)];console[_0xb3ba86(0xb6)]('\x0a'+_0x4b7aea+'/'+_0x15495c[_0xb3ba86(0xa9)]+'\x20IDE(s)\x20configured\x20successfully.');}}catch(_0x59e560){console[_0xb3ba86(0xaa)](_0xb3ba86(0xcf)+_0x59e560['message']);try{configureIDE(_0xb3ba86(0x11c),_0x20cb1a),configureIDE(_0xb3ba86(0x14b),_0x20cb1a);}catch(_0x4e2a80){console[_0xb3ba86(0xaa)](_0xb3ba86(0xf0)+_0x4e2a80[_0xb3ba86(0x163)]);}}const _0x778653=path[_0xb3ba86(0xe7)](os['homedir'](),_0xb3ba86(0xd9),'license.key');try{const _0x12ac10={};_0x12ac10['recursive']=!![],fs[_0xb3ba86(0xa1)](path[_0xb3ba86(0xc1)](_0x778653),_0x12ac10),fs[_0xb3ba86(0x12b)](_0x778653,_0x1e7048,_0xb3ba86(0xb1)),console[_0xb3ba86(0xb6)](_0xb3ba86(0xba)+_0x778653);}catch(_0x196fed){console['error'](_0xb3ba86(0xab)+_0x196fed[_0xb3ba86(0x163)]),process[_0xb3ba86(0xeb)](0x1);}console[_0xb3ba86(0xb6)](_0xb3ba86(0xb4)),console['log'](''),console['log']('💡\x20Tip:\x20Run\x20`npx\x20apt-mcp-agent-setup\x20setup`\x20to\x20customize\x20your\x20issue\x20tracker,'),console['log'](_0xb3ba86(0xf7));}async function handleUpdate(_0x45956b){const _0x1ae109=_0x4057b5,_0x22cc62=path[_0x1ae109(0xe7)](os[_0x1ae109(0x112)](),_0x1ae109(0xd9),'license.key');let _0x107b2a;try{_0x107b2a=fs[_0x1ae109(0xbc)](_0x22cc62,'utf8')[_0x1ae109(0xec)]();}catch(_0x1e3d32){console[_0x1ae109(0x13f)](_0x1ae109(0x142)),console[_0x1ae109(0xb6)](_0x1ae109(0xdd)),process[_0x1ae109(0xeb)](0x1);return;}const _0x1f1070=getFingerprint(),_0xa02f37=getPublicKey(),_0x2692d3=verifyLicense(_0x107b2a,_0x1f1070,_0xa02f37);if(!_0x2692d3[_0x1ae109(0x104)]){_0x2692d3['reason']&&_0x2692d3[_0x1ae109(0x149)][_0x1ae109(0x13b)]('expired')?console['error'](_0x1ae109(0xfe)):console['error'](_0x1ae109(0xf2)+_0x2692d3[_0x1ae109(0x149)]);process['exit'](0x1);return;}const _0x116128=_0x2692d3[_0x1ae109(0x135)],_0x2b801e=_0x45956b['project']||process['cwd'](),_0x447ace=_0x45956b['preset']||_0x116128[_0x1ae109(0xb7)],_0x4d5efe=path['join'](_0x2b801e,_0x1ae109(0x129),'manifest.json');if(!fs[_0x1ae109(0xcc)](_0x4d5efe)){console[_0x1ae109(0x13f)](_0x1ae109(0x111)),console[_0x1ae109(0xb6)](_0x1ae109(0xaf)),console[_0x1ae109(0xb6)](_0x1ae109(0x161)+_0x2b801e+'\x22'),process[_0x1ae109(0xeb)](0x1);return;}console[_0x1ae109(0xb6)](_0x1ae109(0xea)),console[_0x1ae109(0xb6)](_0x1ae109(0x115)),console[_0x1ae109(0xb6)]('╚══════════════════════════════════════════╝'),console[_0x1ae109(0xb6)](_0x1ae109(0x127)+_0x116128['user']),console[_0x1ae109(0xb6)]('Preset:\x20\x20'+_0x447ace),console[_0x1ae109(0xb6)](_0x1ae109(0x13e)+_0x2b801e),console[_0x1ae109(0xb6)]('');try{installGlobalTools();}catch(_0x159056){console['error']('Global\x20tools\x20update\x20failed:\x20'+_0x159056[_0x1ae109(0x163)]),process[_0x1ae109(0xeb)](0x1);}const _0xe635aa=runtimeLauncher(_0xa02f37);try{deployProject({'licenseKey':_0x107b2a,'projectPath':_0x2b801e,'presetName':_0x447ace,'deviceId':_0x1f1070,'masterSecret':_0xa02f37,'runtimeLauncherPath':_0xe635aa,'bundleDir':path['join'](__dirname,'../bundle'),'isUpdate':!![],'rebuildIndex':_0x45956b['rebuildIndex']||![]});}catch(_0x361674){console[_0x1ae109(0x13f)](_0x1ae109(0xbb)+_0x361674[_0x1ae109(0x163)]),process[_0x1ae109(0xeb)](0x1);}const _0x18bf74={};_0x18bf74[_0x1ae109(0x10b)]=_0x447ace,ensureStitchAuthentication(_0x18bf74);try{console[_0x1ae109(0xb6)](_0x1ae109(0xae));const _0xc67af8=detectInstalledIDEs(),_0x201304=Object['keys'](_0xc67af8)[_0x1ae109(0x110)](_0x582406=>_0xc67af8[_0x582406][_0x1ae109(0x100)]);if(_0x201304[_0x1ae109(0xa9)]>0x0){const _0x1f69ab=configureMultipleIDEs(_0x201304,_0xe635aa),_0x594708=_0x1f69ab[_0x1ae109(0x110)](_0x3c3a26=>_0x3c3a26[_0x1ae109(0x15e)])[_0x1ae109(0xa9)];console[_0x1ae109(0xb6)]('\x20\x20'+_0x594708+'/'+_0x201304[_0x1ae109(0xa9)]+'\x20IDE(s)\x20updated\x20successfully.');}}catch(_0x254003){console[_0x1ae109(0xaa)](_0x1ae109(0xbf)+_0x254003[_0x1ae109(0x163)]);}console[_0x1ae109(0xb6)](''),console[_0x1ae109(0xb6)](_0x1ae109(0x139));}async function handleNotices(){const _0x22a2f6=_0x4057b5,{decrypt:_0x2f4485}=require('../src/license/crypto.js'),_0x2490bc=path['join'](__dirname,_0x22a2f6(0xc6));if(!fs[_0x22a2f6(0xcc)](_0x2490bc)){console[_0x22a2f6(0x13f)](_0x22a2f6(0x128)),process[_0x22a2f6(0xeb)](0x1);return;}try{const _0x143e7f=fs[_0x22a2f6(0xbc)](_0x2490bc),_0x5c1e87=_0x2f4485(_0x143e7f,'anhdh-open-source-attributions');console[_0x22a2f6(0xb6)](_0x5c1e87[_0x22a2f6(0xac)](_0x22a2f6(0xb1)));}catch(_0x23f4d9){console[_0x22a2f6(0x13f)](_0x22a2f6(0x12c),_0x23f4d9['message']),process[_0x22a2f6(0xeb)](0x1);}}function _0x1524(_0x254520,_0x362eb0){_0x254520=_0x254520-0xa1;const _0x30cc68=_0x30cc();let _0x152480=_0x30cc68[_0x254520];if(_0x1524['JncoaO']===undefined){var _0x41f471=function(_0x462527){const _0xc53bff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38b364='',_0x5f579c='';for(let _0x543fc2=0x0,_0xf9f550,_0x3ebddf,_0x37a662=0x0;_0x3ebddf=_0x462527['charAt'](_0x37a662++);~_0x3ebddf&&(_0xf9f550=_0x543fc2%0x4?_0xf9f550*0x40+_0x3ebddf:_0x3ebddf,_0x543fc2++%0x4)?_0x38b364+=String['fromCharCode'](0xff&_0xf9f550>>(-0x2*_0x543fc2&0x6)):0x0){_0x3ebddf=_0xc53bff['indexOf'](_0x3ebddf);}for(let _0x4e22a4=0x0,_0xd612d2=_0x38b364['length'];_0x4e22a4<_0xd612d2;_0x4e22a4++){_0x5f579c+='%'+('00'+_0x38b364['charCodeAt'](_0x4e22a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f579c);};_0x1524['gUqyEM']=_0x41f471,_0x1524['fItbRG']={},_0x1524['JncoaO']=!![];}const _0x2fbedd=_0x30cc68[0x0],_0x335d06=_0x254520+_0x2fbedd,_0x385607=_0x1524['fItbRG'][_0x335d06];return!_0x385607?(_0x152480=_0x1524['gUqyEM'](_0x152480),_0x1524['fItbRG'][_0x335d06]=_0x152480):_0x152480=_0x385607,_0x152480;}async function main(){const _0x4e8422=_0x4057b5;if(process[_0x4e8422(0x117)]['includes'](_0x4e8422(0x138))){const {EULA_TEXT:_0x17bfc4}=require('../src/license/terms.js');console[_0x4e8422(0xb6)](_0x17bfc4);return;}if(process[_0x4e8422(0x117)][_0x4e8422(0x13b)]('--notices')){await handleNotices();return;}const {command:_0x2d7251,options:_0xb95671}=parseArgs();switch(_0x2d7251){case _0x4e8422(0x138):const {EULA_TEXT:_0x202722}=require('../src/license/terms.js');console[_0x4e8422(0xb6)](_0x202722);break;case _0x4e8422(0xa5):await handleNotices();break;case'init':handleInit();break;case _0x4e8422(0xa3):console['log'](JSON['stringify'](require('../src/core/doctor')[_0x4e8422(0xa3)](_0xb95671['project']||process[_0x4e8422(0x10e)]()),null,0x2));break;case _0x4e8422(0x151):handleStatus();break;case _0x4e8422(0xf5):await handleInstall(_0xb95671);break;case _0x4e8422(0x134):await handleActivate(_0xb95671);break;case'update':await handleUpdate(_0xb95671);break;case _0x4e8422(0xe9):await runSetupWizard(_0xb95671[_0x4e8422(0x11f)]||process[_0x4e8422(0x10e)]());break;default:console[_0x4e8422(0x13f)](_0x4e8422(0x137)+(_0x2d7251||'')),console[_0x4e8422(0xb6)](_0x4e8422(0x11b)),console[_0x4e8422(0xb6)](_0x4e8422(0x11d)),console[_0x4e8422(0xb6)](_0x4e8422(0x120)),console['log'](_0x4e8422(0x156)),console['log'](_0x4e8422(0xf9)),console[_0x4e8422(0xb6)](_0x4e8422(0x101)),console[_0x4e8422(0xb6)]('\x20\x20npx\x20apt-mcp-agent-setup\x20activate\x20--key\x20<LICENSE_KEY>'),console[_0x4e8422(0xb6)](_0x4e8422(0x141)),console['log'](_0x4e8422(0xc0)),console[_0x4e8422(0xb6)]('\x20\x20npx\x20apt-mcp-agent-setup\x20--terms'),process[_0x4e8422(0xeb)](0x1);}}main()['then'](()=>{const _0x321f27=_0x4057b5;process[_0x321f27(0xeb)](0x0);})[_0x4057b5(0xad)](_0x14df80=>{const _0x29ab76=_0x4057b5;console[_0x29ab76(0x13f)](_0x29ab76(0x10c),_0x14df80['message']),process[_0x29ab76(0xeb)](0x1);});
|
|
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);});
|
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,53 +1,59 @@
|
|
|
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": "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",
|
|
15
15
|
"LICENSE": "e9b3c5c1f9dc65f8591339e144dc7a1d1266886dc63c01edfeebd83a46315e36",
|
|
16
|
-
"package.json": "
|
|
16
|
+
"package.json": "67ec94de4a5c53ab496cc515cc5adc56b93a173f26032d53f5cf81e098832976",
|
|
17
17
|
"README.md": "8e1344617a746b27c0bbed718e04fa297fbd967971d1d25b95d149b094f917da",
|
|
18
|
-
"
|
|
19
|
-
"src/
|
|
20
|
-
"src/
|
|
21
|
-
"src/
|
|
22
|
-
"src/
|
|
23
|
-
"src/core/
|
|
24
|
-
"src/core/
|
|
25
|
-
"src/core/
|
|
26
|
-
"src/core/
|
|
27
|
-
"src/core/
|
|
28
|
-
"src/core/
|
|
18
|
+
"release-check.js": "3df1db22ab830cfa7bc43ea5f43b42a0107145b98c088ba0ca66483c48f2779a",
|
|
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",
|
|
29
35
|
"src/installer/context-legacy-hashes.json": "43ae3b192ee2c95943cfb9b7fe7f55714487ce6138701f49ad7187f403f7c918",
|
|
30
|
-
"src/installer/global-setup.js": "
|
|
31
|
-
"src/installer/host-hooks.js": "
|
|
32
|
-
"src/installer/managed-config.js": "
|
|
33
|
-
"src/installer/platform-config.js": "
|
|
34
|
-
"src/installer/prerequisites.js": "
|
|
35
|
-
"src/installer/project-setup.js": "
|
|
36
|
-
"src/installer/runtime-launcher.js": "
|
|
37
|
-
"src/installer/runtime-lock.js": "
|
|
38
|
-
"src/installer/runtime-store.js": "
|
|
39
|
-
"src/installer/setup-wizard.js": "
|
|
40
|
-
"src/license/crypto.js": "
|
|
41
|
-
"src/license/fingerprint.js": "
|
|
42
|
-
"src/license/terms.js": "
|
|
43
|
-
"src/license/verify.js": "
|
|
44
|
-
"src/presets/index.js": "
|
|
45
|
-
"src/proxy/backends.js": "
|
|
46
|
-
"src/proxy/core-tools.js": "
|
|
47
|
-
"src/proxy/pipeline.js": "
|
|
48
|
-
"src/proxy/router.config.js": "
|
|
49
|
-
"src/proxy/router.js": "
|
|
50
|
-
"src/proxy/server.js": "
|
|
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",
|
|
42
|
+
"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",
|
|
51
57
|
"src/templates/AGENTS.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
|
|
52
58
|
"src/templates/apt-runtime.md": "0bf4c0938f867e64e758a7dd93a16ca0a533587beb7b83c76359ed9a90e6935c",
|
|
53
59
|
"src/templates/CLAUDE.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
|
|
@@ -63,5 +69,5 @@
|
|
|
63
69
|
"src/templates/triage-labels.md": "d9297e8ec0537342575432e46f8b7334791564c8f48b73b0d8920a82282aac75",
|
|
64
70
|
"src/templates/windsurfrules.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22"
|
|
65
71
|
},
|
|
66
|
-
"signature": "
|
|
72
|
+
"signature": "HwBkZ2OhsPfnalZFCscO_38FKp3C5i-SQ4z2Ufozgb-pEKhm13PhGz2IJVDdFRcqPyq6k5aKo0Zkp3ZmjjakBw"
|
|
67
73
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apt-mcp-agent-setup",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"description": "One-command setup package for Base MCP AI Agent infrastructure",
|
|
5
5
|
"main": "bin/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
"engines": {
|
|
11
11
|
"node": ">=18"
|
|
12
12
|
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"prepublishOnly": "node release-check.js --dist ."
|
|
15
|
+
},
|
|
13
16
|
"repository": {
|
|
14
17
|
"type": "git",
|
|
15
18
|
"url": "git+https://gitlab.com/anhdh/base_mcp_ai_agent.git"
|
package/release-check.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const os = require('os');
|
|
4
|
+
const crypto = require('crypto');
|
|
5
|
+
const { spawn, execFileSync } = require('child_process');
|
|
6
|
+
const assert = require('assert/strict');
|
|
7
|
+
|
|
8
|
+
// Standalone: this file is also shipped as the signed dist prepublish gate.
|
|
9
|
+
async function handshake(installed, workspace, fixture) {
|
|
10
|
+
const child = spawn(process.execPath, ['--require', fixture, installed.launcherPath, '--path', workspace], {
|
|
11
|
+
windowsHide: true,
|
|
12
|
+
env: { ...process.env, APT_TEST_RELEASE: installed.path, MCP_SKIP_LICENSE_CHECK: '1', MCP_SKIP_INTEGRITY_CHECK: '0' },
|
|
13
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
14
|
+
});
|
|
15
|
+
let buffer = '', stderr = '', initialized = false, listed = false;
|
|
16
|
+
const send = message => child.stdin.write(JSON.stringify({ jsonrpc: '2.0', ...message }) + '\n');
|
|
17
|
+
await new Promise((resolve, reject) => {
|
|
18
|
+
const timer = setTimeout(() => fail(new Error(`Launcher handshake/EOF timed out: ${stderr}`)), 20000);
|
|
19
|
+
const fail = error => { clearTimeout(timer); child.kill(); reject(error); };
|
|
20
|
+
child.on('error', fail);
|
|
21
|
+
child.stdin.on('error', fail);
|
|
22
|
+
child.stderr.on('data', data => { stderr += data; });
|
|
23
|
+
child.stdout.on('data', data => {
|
|
24
|
+
buffer += data;
|
|
25
|
+
try {
|
|
26
|
+
let newline;
|
|
27
|
+
while ((newline = buffer.indexOf('\n')) >= 0) {
|
|
28
|
+
const line = buffer.slice(0, newline); buffer = buffer.slice(newline + 1);
|
|
29
|
+
const message = JSON.parse(line); // Logs or blank lines on stdout are failures.
|
|
30
|
+
assert.equal(message.jsonrpc, '2.0');
|
|
31
|
+
if (message.id === 1) {
|
|
32
|
+
assert.ok(message.result?.protocolVersion, JSON.stringify(message));
|
|
33
|
+
assert.equal(initialized, false); initialized = true;
|
|
34
|
+
send({ method: 'notifications/initialized' });
|
|
35
|
+
send({ id: 2, method: 'tools/list', params: {} });
|
|
36
|
+
} else if (message.id === 2) {
|
|
37
|
+
assert.ok(initialized);
|
|
38
|
+
for (const name of ['session_bootstrap', 'route_request', 'pipeline_status']) {
|
|
39
|
+
assert.ok(message.result?.tools?.some(tool => tool.name === name), `Missing ${name}: ${JSON.stringify(message)}`);
|
|
40
|
+
}
|
|
41
|
+
listed = true;
|
|
42
|
+
child.stdin.end();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} catch (error) { fail(error); }
|
|
46
|
+
});
|
|
47
|
+
child.on('close', code => {
|
|
48
|
+
clearTimeout(timer);
|
|
49
|
+
try { assert.equal(code, 0, stderr); assert.ok(initialized && listed, `No complete MCP handshake: ${stderr}`); assert.equal(buffer, ''); resolve(); }
|
|
50
|
+
catch (error) { reject(error); }
|
|
51
|
+
});
|
|
52
|
+
send({ id: 1, method: 'initialize', params: { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'apt-package-gate', version: '1' } } });
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function main() {
|
|
57
|
+
const args = process.argv.slice(2);
|
|
58
|
+
const value = name => { const i = args.indexOf(name); return i < 0 ? null : args[i + 1]; };
|
|
59
|
+
const temp = fs.mkdtempSync(path.join(os.tmpdir(), 'apt-package-gate-'));
|
|
60
|
+
const root = path.resolve(__dirname, '..');
|
|
61
|
+
const keep = args.includes('--keep');
|
|
62
|
+
try {
|
|
63
|
+
let dist = value('--dist'), publicKey;
|
|
64
|
+
if (!dist) {
|
|
65
|
+
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']) {
|
|
67
|
+
fs.cpSync(path.join(root, item), path.join(build, item), { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
// Dependencies only; no source fallback and no mutation of the live checkout.
|
|
70
|
+
fs.symlinkSync(path.join(root, 'node_modules'), path.join(build, 'node_modules'), process.platform === 'win32' ? 'junction' : 'dir');
|
|
71
|
+
const admin = path.join(build, 'admin'); fs.mkdirSync(admin);
|
|
72
|
+
const keys = crypto.generateKeyPairSync('ed25519');
|
|
73
|
+
publicKey = keys.publicKey.export({ type: 'spki', format: 'pem' });
|
|
74
|
+
fs.writeFileSync(path.join(admin, 'master.private.pem'), keys.privateKey.export({ type: 'pkcs8', format: 'pem' }));
|
|
75
|
+
fs.writeFileSync(path.join(admin, 'master.public.pem'), publicKey);
|
|
76
|
+
const log = fs.openSync(path.join(temp, 'build.log'), 'w');
|
|
77
|
+
try { execFileSync(process.execPath, ['scripts/build.js'], { cwd: build, windowsHide: true, stdio: ['ignore', log, log], env: { ...process.env, MCP_ADMIN_DIR: admin } }); }
|
|
78
|
+
finally { fs.closeSync(log); }
|
|
79
|
+
dist = path.join(build, 'dist');
|
|
80
|
+
execFileSync(process.execPath, ['-r', './test/setup.js', '--test', 'test/installer/runtime-store.test.js', 'test/proxy/transport-reliability.test.js'], { cwd: build, windowsHide: true, stdio: 'inherit' });
|
|
81
|
+
} else {
|
|
82
|
+
dist = path.resolve(dist);
|
|
83
|
+
publicKey = value('--public-key') ? fs.readFileSync(value('--public-key'), 'utf8') : require(path.join(dist, 'src/license/verify.js')).PRODUCTION_PUBLIC_KEY;
|
|
84
|
+
}
|
|
85
|
+
const npm = process.env.npm_execpath || path.join(path.dirname(process.execPath), 'node_modules/npm/bin/npm-cli.js');
|
|
86
|
+
const packed = JSON.parse(execFileSync(process.execPath, [npm, 'pack', '--ignore-scripts', '--json', '--pack-destination', temp], { cwd: dist, windowsHide: true, encoding: 'utf8' }));
|
|
87
|
+
execFileSync('tar', ['-xzf', path.join(temp, packed[0].filename), '-C', temp], { windowsHide: true });
|
|
88
|
+
const pkg = path.join(temp, 'package');
|
|
89
|
+
const installer = require(path.join(pkg, 'src/installer/runtime-store.js'));
|
|
90
|
+
const runtimeRoot = path.join(temp, 'runtime tiếng Việt');
|
|
91
|
+
const installed = installer.installRuntime(pkg, { root: runtimeRoot, publicKey });
|
|
92
|
+
fs.writeFileSync(path.join(runtimeRoot, 'updates.json'), JSON.stringify({ checkedAt: Date.now() }));
|
|
93
|
+
const workspace = path.join(temp, 'workspace thử nghiệm'); fs.mkdirSync(workspace);
|
|
94
|
+
const fixture = path.join(temp, 'backend-fixture.cjs');
|
|
95
|
+
fs.writeFileSync(fixture, `const path = require('path'), Module = require('module');
|
|
96
|
+
const root = process.env.APT_TEST_RELEASE, load = Module._load;
|
|
97
|
+
Module._load = function(id, parent, isMain) {
|
|
98
|
+
const result = load.apply(this, arguments);
|
|
99
|
+
const file = Module._resolveFilename(id, parent);
|
|
100
|
+
if (file === path.join(root, 'src/proxy/backends.js')) result.spawnBackends = () => ({});
|
|
101
|
+
if (file === path.join(root, 'src/proxy/server.js')) result.ProxyServer.prototype.checkLatestVersion = async () => {};
|
|
102
|
+
return result;
|
|
103
|
+
};`);
|
|
104
|
+
await handshake(installed, workspace, fixture);
|
|
105
|
+
const good = fs.readFileSync(installed.launcherPath);
|
|
106
|
+
for (const old of ['_0x5e52();', "require('./server.js');"]) {
|
|
107
|
+
fs.writeFileSync(installed.launcherPath, old);
|
|
108
|
+
installer.installRuntime(pkg, { root: runtimeRoot, publicKey });
|
|
109
|
+
assert.ok(fs.readFileSync(installed.launcherPath).equals(good));
|
|
110
|
+
const backup = path.join(runtimeRoot, 'launcher-backups', crypto.createHash('sha256').update(old).digest('hex') + '.js');
|
|
111
|
+
assert.equal(fs.readFileSync(backup, 'utf8'), old);
|
|
112
|
+
await handshake(installed, workspace, fixture);
|
|
113
|
+
}
|
|
114
|
+
console.log(`Package gate passed: ${packed[0].filename}; fresh install + two repairs, initialize/tools/list/EOF, signature verification enabled.`);
|
|
115
|
+
} finally {
|
|
116
|
+
if (keep) console.log(`Validation artifacts: ${temp}`);
|
|
117
|
+
else fs.rmSync(temp, { recursive: true, force: true });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
main().catch(error => { console.error(error); process.exitCode = 1; });
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
{
|
|
2
|
+
"source": "@colbymchenry/codegraph@1.6.0 (MIT), MCP input schemas",
|
|
3
|
+
"tools": [
|
|
4
|
+
{
|
|
5
|
+
"name": "codegraph_search",
|
|
6
|
+
"description": "Search indexed source symbols.",
|
|
7
|
+
"inputSchema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"query": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Symbol name or partial name (e.g., \"auth\", \"signIn\", \"UserService\")"
|
|
13
|
+
},
|
|
14
|
+
"kind": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Filter by node kind",
|
|
17
|
+
"enum": [
|
|
18
|
+
"function",
|
|
19
|
+
"method",
|
|
20
|
+
"class",
|
|
21
|
+
"interface",
|
|
22
|
+
"type",
|
|
23
|
+
"variable",
|
|
24
|
+
"route",
|
|
25
|
+
"component"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"limit": {
|
|
29
|
+
"type": "number",
|
|
30
|
+
"description": "Maximum results (default: 10)",
|
|
31
|
+
"default": 10
|
|
32
|
+
},
|
|
33
|
+
"projectPath": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": [
|
|
39
|
+
"query"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "codegraph_callers",
|
|
45
|
+
"description": "Find callers of a source symbol.",
|
|
46
|
+
"inputSchema": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"symbol": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Name of the function, method, or class to find callers for"
|
|
52
|
+
},
|
|
53
|
+
"file": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Narrow to the definition in this file (path or suffix) when several same-named symbols exist (e.g. one UserService per app in a monorepo)"
|
|
56
|
+
},
|
|
57
|
+
"limit": {
|
|
58
|
+
"type": "number",
|
|
59
|
+
"description": "Maximum number of callers to return (default: 20)",
|
|
60
|
+
"default": 20
|
|
61
|
+
},
|
|
62
|
+
"projectPath": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"required": [
|
|
68
|
+
"symbol"
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "codegraph_callees",
|
|
74
|
+
"description": "Find callees of a source symbol.",
|
|
75
|
+
"inputSchema": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"symbol": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "Name of the function, method, or class to find callees for"
|
|
81
|
+
},
|
|
82
|
+
"file": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Narrow to the definition in this file (path or suffix) when several same-named symbols exist"
|
|
85
|
+
},
|
|
86
|
+
"limit": {
|
|
87
|
+
"type": "number",
|
|
88
|
+
"description": "Maximum number of callees to return (default: 20)",
|
|
89
|
+
"default": 20
|
|
90
|
+
},
|
|
91
|
+
"projectPath": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"required": [
|
|
97
|
+
"symbol"
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "codegraph_explore",
|
|
103
|
+
"description": "Explore source symbols and their relationships.",
|
|
104
|
+
"inputSchema": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"query": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "Symbol names, file names, or short code terms to explore (e.g., \"AuthService loginUser session-manager\", \"GraphTraverser BFS impact traversal.ts\"). For a flow question, name the symbols spanning the flow (e.g. \"mutateElement renderScene\"). A natural-language question works too — no prior codegraph_search needed."
|
|
110
|
+
},
|
|
111
|
+
"maxFiles": {
|
|
112
|
+
"type": "number",
|
|
113
|
+
"description": "Maximum number of files to include source code from (default: 12)",
|
|
114
|
+
"default": 12
|
|
115
|
+
},
|
|
116
|
+
"projectPath": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"required": [
|
|
122
|
+
"query"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "codegraph_status",
|
|
128
|
+
"description": "Inspect the bound workspace index.",
|
|
129
|
+
"inputSchema": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"properties": {
|
|
132
|
+
"projectPath": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "codegraph_files",
|
|
141
|
+
"description": "List indexed code files.",
|
|
142
|
+
"inputSchema": {
|
|
143
|
+
"type": "object",
|
|
144
|
+
"properties": {
|
|
145
|
+
"path": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Filter to files under this directory path (e.g., \"src/components\"). Returns all files if not specified."
|
|
148
|
+
},
|
|
149
|
+
"pattern": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"description": "Filter files matching this glob pattern (e.g., \"*.tsx\", \"**/*.test.ts\")"
|
|
152
|
+
},
|
|
153
|
+
"format": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"description": "Output format: \"tree\" (hierarchical, default), \"flat\" (simple list), \"grouped\" (by language)",
|
|
156
|
+
"enum": [
|
|
157
|
+
"tree",
|
|
158
|
+
"flat",
|
|
159
|
+
"grouped"
|
|
160
|
+
],
|
|
161
|
+
"default": "tree"
|
|
162
|
+
},
|
|
163
|
+
"includeMetadata": {
|
|
164
|
+
"type": "boolean",
|
|
165
|
+
"description": "Include file metadata like language and symbol count (default: true)",
|
|
166
|
+
"default": true
|
|
167
|
+
},
|
|
168
|
+
"maxDepth": {
|
|
169
|
+
"type": "number",
|
|
170
|
+
"description": "Maximum directory depth to show (default: unlimited)"
|
|
171
|
+
},
|
|
172
|
+
"projectPath": {
|
|
173
|
+
"type": "string",
|
|
174
|
+
"description": "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project)."
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|