apt-mcp-agent-setup 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/bin/cli.js +1 -1
  2. package/bundle/NOTICES.md +0 -0
  3. package/bundle/core.enc +0 -0
  4. package/bundle/mcp-rules.enc +0 -0
  5. package/bundle/skills-aso.enc +0 -0
  6. package/bundle/skills-ba.enc +0 -0
  7. package/bundle/skills-base.enc +0 -0
  8. package/bundle/skills-be.enc +0 -0
  9. package/bundle/skills-design.enc +0 -0
  10. package/bundle/skills-fe.enc +0 -0
  11. package/bundle/skills-mobile.enc +0 -0
  12. package/bundle/skills-pm.enc +0 -0
  13. package/integrity-manifest.json +47 -46
  14. package/package.json +4 -1
  15. package/release-check.js +121 -0
  16. package/src/core/catalog.js +1 -1
  17. package/src/core/context-metrics.js +1 -1
  18. package/src/core/doctor.js +1 -1
  19. package/src/core/execution.js +1 -1
  20. package/src/core/hook-bridge.js +1 -1
  21. package/src/core/host-adapters.js +1 -1
  22. package/src/core/memory-store.js +1 -1
  23. package/src/core/model-routing.js +1 -1
  24. package/src/core/owned-lock.js +1 -1
  25. package/src/core/session.js +1 -1
  26. package/src/core/skill-names.js +1 -1
  27. package/src/installer/global-setup.js +1 -1
  28. package/src/installer/host-hooks.js +1 -1
  29. package/src/installer/managed-config.js +1 -1
  30. package/src/installer/platform-config.js +1 -1
  31. package/src/installer/prerequisites.js +1 -1
  32. package/src/installer/project-setup.js +1 -1
  33. package/src/installer/runtime-launcher.js +33 -1
  34. package/src/installer/runtime-lock.js +1 -1
  35. package/src/installer/runtime-store.js +1 -1
  36. package/src/installer/setup-wizard.js +1 -1
  37. package/src/license/crypto.js +1 -1
  38. package/src/license/fingerprint.js +1 -1
  39. package/src/license/terms.js +1 -1
  40. package/src/license/verify.js +1 -1
  41. package/src/presets/index.js +1 -1
  42. package/src/proxy/backends.js +1 -1
  43. package/src/proxy/core-tools.js +1 -1
  44. package/src/proxy/pipeline.js +1 -1
  45. package/src/proxy/router.config.js +1 -1
  46. package/src/proxy/router.js +1 -1
  47. 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 _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);});
package/bundle/NOTICES.md CHANGED
Binary file
package/bundle/core.enc CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,53 +1,54 @@
1
1
  {
2
2
  "files": {
3
- "bin/cli.js": "425a89f93cb091fe1263711b54c393cfa4a3bddc22cfbf5895291849d07cbd86",
4
- "bundle/core.enc": "d21c44053177ac434a2b47b373775417717653f73aed179e1c944f9780ef8391",
5
- "bundle/mcp-rules.enc": "c226dc6c8fc47948aae02e7ca1c7fc4bcf6e5eeebdabedb59281b0a437bb25fd",
6
- "bundle/NOTICES.md": "fc4102b4621b8e153a089e71e5e9f264c1b0adafa888cfa2493a72c4d8c623f8",
7
- "bundle/skills-aso.enc": "d72a8a6cd3d1eb5a11d575300626c9ad1ee5877e4a0c40b4a04a6a8d6a71fbf4",
8
- "bundle/skills-ba.enc": "6b3085c993c7df00b7dd0da569f6eb317c93b845aa41083c0721249d3ac73c54",
9
- "bundle/skills-base.enc": "8723b3e8aff01fdb07301e6412cfcb1c6c547875f80a5446eba7acaf9b530a24",
10
- "bundle/skills-be.enc": "845f39ccfcbadd13dcfd38963518a3a7c86429966288830b672626a8678fc015",
11
- "bundle/skills-design.enc": "82b684631e14bfb7d3f64594571136d457ac7989781408859baf6fe09cd9704e",
12
- "bundle/skills-fe.enc": "1b5b0eff9b775690e5732a905d2243e2760644945a67ecc944ebfb0568c3770a",
13
- "bundle/skills-mobile.enc": "c6490a909e965c60757a2825df8af040c32e09ef328bc89e39fba3ef22acca66",
14
- "bundle/skills-pm.enc": "6efbc347b2624ab2612d02b70b46ab47f5c2943002e64dc39a9646a74ebb35dd",
3
+ "bin/cli.js": "aa8830825d9361c4b9762ce3833cccc679a7194577404dbe713262eca4b2657a",
4
+ "bundle/core.enc": "170223596634c6c3896a9f330f1ccdca808c02faf35f0f9ccad58ee474f18ae7",
5
+ "bundle/mcp-rules.enc": "1205ce5fe1d6052a36302d90fc5f8f8f98a3b5632d8871a900ae5ac5e6bbebc3",
6
+ "bundle/NOTICES.md": "5bc6925da7cc44ac5df11771543bad93954fa31f9299666a03497b1fed6bad52",
7
+ "bundle/skills-aso.enc": "4d51b2da89c09545b6c75bb4b301f5ad498320992243c0ebe17600823fd84aa4",
8
+ "bundle/skills-ba.enc": "22ac61386c961462dca5643c95629f8f86ba151421436a4c1d06650b4628806d",
9
+ "bundle/skills-base.enc": "92f17d4c53f13fd51e054db4c898c0496dc51eab32cafe7addce9171250b4a73",
10
+ "bundle/skills-be.enc": "2296fecebc93cb8f905caba2f84043c78a80a9fee6dedb2e6f97332a07c5b95d",
11
+ "bundle/skills-design.enc": "2023fd8b0394e926a3ac3dcf00e59f827594ba13e87a57d75d592efc7bfbafec",
12
+ "bundle/skills-fe.enc": "19111e548680beda654cc3cefd60b83250f69278abb76a67376c0bbba5b93b69",
13
+ "bundle/skills-mobile.enc": "22b932a8cd5328eb887af668da6c1c03ab26f06af2c9ecf3ce85cd2c774cbbba",
14
+ "bundle/skills-pm.enc": "4a7190bc5132ad22fef2c0fa57b2e5c16de249e96580062020c8ca37c057f1ff",
15
15
  "LICENSE": "e9b3c5c1f9dc65f8591339e144dc7a1d1266886dc63c01edfeebd83a46315e36",
16
- "package.json": "8c6b1b05955762d1fb35fd1c8d00ac9eb15843fd4851b320f73dc03be4f973d2",
16
+ "package.json": "479c1a7f2bc2b6180449711d36666a0eef23cfd7af5d591ddb3a88f8663729fa",
17
17
  "README.md": "8e1344617a746b27c0bbed718e04fa297fbd967971d1d25b95d149b094f917da",
18
- "src/core/catalog.js": "992cdc7357dc339ff5ad818746d3674522c61e60e16410af137365640ecacbd2",
19
- "src/core/context-metrics.js": "e60cabbd280a22cea5d8e46f0a4f4a2e8012b9f8b82cb5856d503bb89530796b",
20
- "src/core/doctor.js": "bb88ad4603eb9e80baf4faead5e8ff877efd591ec95b3392bbd562f1b32310d7",
21
- "src/core/execution.js": "1b7a821f33e3b0df7b6a378f848dbfa5ad57c74950350ba42f37d4392b2ed928",
22
- "src/core/hook-bridge.js": "2d42918ce75eb6d6d61bf6a88f4620e70e58da7cc99ca22be7fb3dfe7bec0cb4",
23
- "src/core/host-adapters.js": "d864957c62f8d4c89f86cccba5a73a8034dbc3ea111c835b0f2877d04b651dfb",
24
- "src/core/memory-store.js": "ab68d19b79c567eef656d23e3601e62e3a8ab054aa674be404982cdb6606ccb1",
25
- "src/core/model-routing.js": "cad2f50e8a621654a720fe5dcf1db2732faf7b68ba2be3ff001bfe1220d86199",
26
- "src/core/owned-lock.js": "717c14c8a0200d9ab81b0956bb95e1c3bfd4915aabd255a485353b2de9cc0c75",
27
- "src/core/session.js": "dd677b6a66843a55ee127b1069614f05270e296bfacc9c2ae3b23548dc0db98c",
28
- "src/core/skill-names.js": "dd63ce40f7ea050d251ea1ec109e00b7d11e1de9f5745dc463e4096a1410e071",
18
+ "release-check.js": "3df1db22ab830cfa7bc43ea5f43b42a0107145b98c088ba0ca66483c48f2779a",
19
+ "src/core/catalog.js": "52233373f956fb46f89467f5218836c543ee9fa2d9701bc4e40ad7fe33a84192",
20
+ "src/core/context-metrics.js": "9f8a6ea11f54da345e3ff0d0bc1ae4a3110a574739b3e5d57ca6fbbbcd5be978",
21
+ "src/core/doctor.js": "13bfb49705b5d499e83f13a9149004ee10c1c6d725f28721dbb75976fea737a7",
22
+ "src/core/execution.js": "9bb7ab7ea5b1055a2e2348a330c596fe14319f9c8d5b79bf8af4950538a3becc",
23
+ "src/core/hook-bridge.js": "6f11fb3cb0f6c2a951ef39a3072c3a8c585980ea212b91a7ccc2dcf0cbddacf4",
24
+ "src/core/host-adapters.js": "8c3a7deb60509ce3fe45b48a184641a5db1b5fd6affa340a85de5655feed9b1b",
25
+ "src/core/memory-store.js": "9d66fa44bb22ea68ad68c96dd36a0be552a29eb45e1e1d720d6e5fac10ca1cea",
26
+ "src/core/model-routing.js": "36502fd69cdd248f0e73f867ad665d269d0ba969d67d8d4c1f3894ea10c27c3c",
27
+ "src/core/owned-lock.js": "2249c81265b3bd63ce543f1a249bb34482446f0196e5580327fb4ca6a3f367cf",
28
+ "src/core/session.js": "14967df1ec73cc7154e605a3704f7c54a0113eac32743677d4a5ee1efa661e73",
29
+ "src/core/skill-names.js": "d07dc888f72c5a283d8ba3e52670807393a78a8ca4fa251af9ddbd60b8368df4",
29
30
  "src/installer/context-legacy-hashes.json": "43ae3b192ee2c95943cfb9b7fe7f55714487ce6138701f49ad7187f403f7c918",
30
- "src/installer/global-setup.js": "103eb0b43a44edd1a2df1a55f5e3bde4c0ccedf3bed37b0219c4ffb49fe49b27",
31
- "src/installer/host-hooks.js": "73488c2b94d34cd6fc0197225536592c01274c48f0e1d8dd71f2f0c215cfa182",
32
- "src/installer/managed-config.js": "745e9ee9552a2dc9deb8b9444126b511090d438dc39227bacee36a3adf82d167",
33
- "src/installer/platform-config.js": "4cd4ab66c7186da438e823b340a74427d0c798398b1bb4e723fc41aeb759a41b",
34
- "src/installer/prerequisites.js": "2b77bf632174e711a269b8d9354c6f91073728a2d7f9046423601bea610be4ed",
35
- "src/installer/project-setup.js": "b1bb0b8b202d3a5408bb61e0e966469b4d75b6a374d9ec427eefb5bb2b936358",
36
- "src/installer/runtime-launcher.js": "cef4dd543f74e134a781085915124daefe9cbe890635c941d15e93408db1e76d",
37
- "src/installer/runtime-lock.js": "dcffb2c3fb784b4cd016d497b662998a8216fb2319704b6d95d33f9a10e5a4c6",
38
- "src/installer/runtime-store.js": "fac96c0b3ad0cd3f7e1e06cc0b0a4c6275e7152a9a70e38e46e84375eb5bb276",
39
- "src/installer/setup-wizard.js": "2081a9559a5bccac4f15501cfbe63bae0548b88660dfe3b6d218f64a2104f7f8",
40
- "src/license/crypto.js": "e4a0aafb4fe5a72b71bfa6a840c35371b172eab600ba76a2a6de0f434e82bf5b",
41
- "src/license/fingerprint.js": "f6597a5664cfc53bc384d5f7d770f495d51480e20a5f84d5ebb86e70ddd61117",
42
- "src/license/terms.js": "af9061ebcfc396e85be58206cbe757bed40dd7cf7101cec167c85deae8763838",
43
- "src/license/verify.js": "f8faa0e522e4755d0605f4d9a8cf91b436756e41cd785b78d61a205622d11a10",
44
- "src/presets/index.js": "b2d79bfd261f8485ce04a78b871d04e22a5f27dfd1bd9db338cce6649d5d9036",
45
- "src/proxy/backends.js": "60180b55298ffcf1e9e28e9f8886de3dc5eaf2c2e2601022a59a7722b0a0a7e8",
46
- "src/proxy/core-tools.js": "0423395b1d5d7c7f39221ded399803929f7aeacc1503f835f82726e61145a1c8",
47
- "src/proxy/pipeline.js": "a7fa3592bb5eddd2cfaa01872d92d42ff89d15e69d442b3bfc15e5e2222ef9bf",
48
- "src/proxy/router.config.js": "dc3eabffb5af86ec044c183b284bad7e7bcf8177691642c0a30903c5009299fa",
49
- "src/proxy/router.js": "ae74b7797c25b685a9eb71e06fbec976e82aa9aad96f0ca67dbb7df2620fa7e2",
50
- "src/proxy/server.js": "7d6f58cf679600c34dcd0c17d80817af7b705c8ea62ceb1661ac49a71386df95",
31
+ "src/installer/global-setup.js": "68044f4e85124eed185ad596a3d757c1b919fa1900386cc7e670ec5f09fa7462",
32
+ "src/installer/host-hooks.js": "3b67bdd8241abb0879ecd3ca570dc4cfc544ecbb58757d5a760348ffaaf045ca",
33
+ "src/installer/managed-config.js": "931f9535777ea5c793a45957f71ec4a46f3752d4c238d662bcf58fb1d055923b",
34
+ "src/installer/platform-config.js": "fc7aba1466d5279e6878e74b5f34653e52a91b971567066a305f6d10ea8f251f",
35
+ "src/installer/prerequisites.js": "50f4c792651eeafef52e5121f90955f1371c33c058e691c173246133db786d59",
36
+ "src/installer/project-setup.js": "ea268894fb2d6bfbeaa5565afb2d4833aa5cf0b03d215e6ee82bedf5af0158c1",
37
+ "src/installer/runtime-launcher.js": "8b4b06d43967a616e45bb7226639997b061c1e66ab71bacf438f6ffd7bd86777",
38
+ "src/installer/runtime-lock.js": "35bed35060c4fa6ec48c454287028a49fe67b835824eacb9638a5ef18a8cc753",
39
+ "src/installer/runtime-store.js": "03f0dbaebea029b70c05c3a46c65bf4e03b354ed1d9759f38680f0cc8100c10c",
40
+ "src/installer/setup-wizard.js": "532b92341e07aad9cb92715e8a9569fbc8ac7d4fa4c94de6b8bc9564ec959f0d",
41
+ "src/license/crypto.js": "d17875f4bc75e62164e1aa15383953399b98f08c35ed8d8ca242651afe743402",
42
+ "src/license/fingerprint.js": "c0a6cf3c11050e6bd1ae109198b1cb0c46e74b86f9ebce141d3b80a64e2dfa27",
43
+ "src/license/terms.js": "1582cf528ca0365d469b3c8bda0a7c3a0a8456f156b7dc3624c0f7cb4854ceae",
44
+ "src/license/verify.js": "9cf393e4bc040e80e48fc5e69d06c0f63158fae526c44a5a3028504596a1db34",
45
+ "src/presets/index.js": "2cf7da7bb11801d6942625e582423fcfbf359bd15328c8244830096d25d85268",
46
+ "src/proxy/backends.js": "ff0731619891eb28cd43fd99a6cb79d28f2fead796a0ffb91baedd20469ab81e",
47
+ "src/proxy/core-tools.js": "bbf17eb9e3d51ec7d9f9e12ca11c7386906e48fa9a9754f76bb149f15e3830df",
48
+ "src/proxy/pipeline.js": "8b9e138db2a70de4cab2482599715148099aa72cd1127371471fc400288eb6d2",
49
+ "src/proxy/router.config.js": "86e8cfbdeeb1c8fc48415924ba73688e38fa552d47f8f021b624069a96d85015",
50
+ "src/proxy/router.js": "26d1a8a51e065daec19f1e58ddc045caa318cb593f357239b139db3147351c0b",
51
+ "src/proxy/server.js": "905c64a8765a55e5fa1e147072f426dec3dc866a3843b69b46590e2356907c0a",
51
52
  "src/templates/AGENTS.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
52
53
  "src/templates/apt-runtime.md": "0bf4c0938f867e64e758a7dd93a16ca0a533587beb7b83c76359ed9a90e6935c",
53
54
  "src/templates/CLAUDE.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22",
@@ -63,5 +64,5 @@
63
64
  "src/templates/triage-labels.md": "d9297e8ec0537342575432e46f8b7334791564c8f48b73b0d8920a82282aac75",
64
65
  "src/templates/windsurfrules.md": "316f4b7b37fd37db13edc9437d631d7448dd47e4c030e5e01a90f1731437ce22"
65
66
  },
66
- "signature": "jv4SXNA8gbyuYMjCyxfXHHiO4tLgHw0-ixh_cQxX66CtLxpxmC47zJziQsmdN6RsFTWSCsgGOgBtYe6jonZEBw"
67
+ "signature": "rXWtMVJSYr8wSh8feJ_xFmOOFTtpbhOySHvuYjcyTkCXRl41VzGbq_5kKC8-Hc2WW4Dm066bbIQIXFB5aS29Dw"
67
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apt-mcp-agent-setup",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
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"
@@ -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; });
@@ -1 +1 @@
1
- const _0x2d3dc1=_0x1212;(function(_0x253dba,_0x5436f7){const _0x5bce68=_0x1212,_0x50e1f1=_0x253dba();while(!![]){try{const _0x2225ba=parseInt(_0x5bce68(0xed))/0x1*(parseInt(_0x5bce68(0x75))/0x2)+-parseInt(_0x5bce68(0xf5))/0x3*(parseInt(_0x5bce68(0x77))/0x4)+-parseInt(_0x5bce68(0xb8))/0x5+-parseInt(_0x5bce68(0xcb))/0x6+parseInt(_0x5bce68(0x82))/0x7*(parseInt(_0x5bce68(0xe8))/0x8)+parseInt(_0x5bce68(0xde))/0x9+-parseInt(_0x5bce68(0xf1))/0xa*(parseInt(_0x5bce68(0xe7))/0xb);if(_0x2225ba===_0x5436f7)break;else _0x50e1f1['push'](_0x50e1f1['shift']());}catch(_0x33beb5){_0x50e1f1['push'](_0x50e1f1['shift']());}}}(_0x342b,0x353c1));const fs=require('fs'),path=require(_0x2d3dc1(0x79)),crypto=require(_0x2d3dc1(0xbf)),{SKILL_NAME_MAPPING,CANONICAL_SKILL_SOURCES}=require(_0x2d3dc1(0xd0)),normalize=(_0x416e38='')=>String(_0x416e38)[_0x2d3dc1(0xd1)]('NFD')[_0x2d3dc1(0xcf)](/[\u0300-\u036f]/g,'')['replace'](/đ/g,'d')[_0x2d3dc1(0xcf)](/Đ/g,'D')[_0x2d3dc1(0xdc)](),digest=_0x465f31=>crypto[_0x2d3dc1(0xb2)](_0x2d3dc1(0xee))[_0x2d3dc1(0xeb)](_0x465f31)[_0x2d3dc1(0xd3)](_0x2d3dc1(0xac)),canonical=_0x1e1819=>SKILL_NAME_MAPPING[_0x1e1819]||_0x1e1819,safeId=_0x2a09ad=>typeof _0x2a09ad===_0x2d3dc1(0xa9)&&/^[a-z0-9][a-z0-9-]*$/['test'](_0x2a09ad),has=(_0x5c528e,_0x4c4e4b)=>_0x4c4e4b[_0x2d3dc1(0xe5)](_0x5c528e),phrase=(_0x122e4d,_0x4302d0)=>new RegExp(_0x2d3dc1(0xaf)+normalize(_0x4302d0)['replace'](/[.*+?^${}()|[\]\\]/g,_0x2d3dc1(0xf8))+_0x2d3dc1(0x97))[_0x2d3dc1(0xe5)](_0x122e4d);class Catalog{constructor(_0x4585a8,_0x35a517={}){const _0x18e3c9=_0x2d3dc1;this[_0x18e3c9(0x87)]=fs[_0x18e3c9(0xb0)](_0x4585a8),this[_0x18e3c9(0xa5)]=path[_0x18e3c9(0xc3)](_0x35a517[_0x18e3c9(0xa5)]||path[_0x18e3c9(0xc4)](this[_0x18e3c9(0x87)],_0x18e3c9(0x101),_0x18e3c9(0xef)));const _0x32f6a8=_0x35a517[_0x18e3c9(0x9d)]||path['join'](this[_0x18e3c9(0x87)],_0x18e3c9(0x101),_0x18e3c9(0xc5)),_0x4acc13={};_0x4acc13['version']=_0x18e3c9(0x90),_0x4acc13[_0x18e3c9(0x100)]=[],this[_0x18e3c9(0x8b)]=_0x35a517[_0x18e3c9(0x8b)]||(fs['existsSync'](_0x32f6a8)?JSON[_0x18e3c9(0xa4)](fs[_0x18e3c9(0xd4)](_0x32f6a8,_0x18e3c9(0x8a))):_0x4acc13),this[_0x18e3c9(0xfb)]=_0x35a517[_0x18e3c9(0xfb)]||{},this[_0x18e3c9(0xa8)]=digest(JSON[_0x18e3c9(0xd5)](this['data'])),this[_0x18e3c9(0xff)]=new Map(),this[_0x18e3c9(0x85)]=new Map();try{this[_0x18e3c9(0xf7)]=String(JSON[_0x18e3c9(0xa4)](fs[_0x18e3c9(0xd4)](path[_0x18e3c9(0xc4)](this['projectPath'],_0x18e3c9(0xb1))))[_0x18e3c9(0xc8)]||'')[_0x18e3c9(0x8c)](/[,+]/)['filter'](Boolean);}catch{this[_0x18e3c9(0xf7)]=null;}for(const _0x3ee8f3 of this[_0x18e3c9(0x8b)][_0x18e3c9(0x100)]||[]){const _0x4784f5=_0x3ee8f3[_0x18e3c9(0xf9)]===_0x18e3c9(0xfe)?canonical(_0x3ee8f3['id']):_0x3ee8f3['id'],_0x42a23e=[...new Set([..._0x3ee8f3[_0x18e3c9(0x85)]||[],..._0x4784f5!==_0x3ee8f3['id']?[_0x3ee8f3['id']]:[],...Object['keys'](SKILL_NAME_MAPPING)['filter'](_0x179748=>SKILL_NAME_MAPPING[_0x179748]===_0x4784f5)])],_0x2900a9=this[_0x18e3c9(0xff)]['get'](_0x4784f5);if(_0x2900a9&&_0x2900a9[_0x18e3c9(0xf9)]!==_0x3ee8f3[_0x18e3c9(0xf9)])throw new Error(_0x18e3c9(0x103)+_0x4784f5);this['entries']['set'](_0x4784f5,{..._0x2900a9,..._0x3ee8f3,'id':_0x4784f5,'aliases':_0x42a23e,'target':_0x3ee8f3[_0x18e3c9(0xe6)]||(_0x3ee8f3[_0x18e3c9(0xf9)]===_0x18e3c9(0xc6)?_0x18e3c9(0x104)+_0x4784f5[_0x18e3c9(0xcf)](/^\//,'')[_0x18e3c9(0xcf)](/-workflow$/,'')+_0x18e3c9(0xbc):_0x4784f5[_0x18e3c9(0xec)](_0x18e3c9(0x9f))?_0x18e3c9(0xc7):_0x4784f5===_0x18e3c9(0x84)?_0x18e3c9(0x7c):'any'),'dependencies':_0x3ee8f3[_0x18e3c9(0x81)]||[],'companions':_0x3ee8f3[_0x18e3c9(0xdd)]||[]});for(const _0x36a0bc of[_0x4784f5,..._0x42a23e]){if(this['aliases']['has'](_0x36a0bc)&&this['aliases'][_0x18e3c9(0x8f)](_0x36a0bc)!==_0x4784f5)throw new Error(_0x18e3c9(0xd7)+_0x36a0bc);this['aliases'][_0x18e3c9(0x96)](_0x36a0bc,_0x4784f5);}}}[_0x2d3dc1(0xc3)](_0x388659){const _0x4038f7=_0x2d3dc1;if(!safeId(_0x388659))throw new Error('Invalid\x20skill\x20ID');return this['aliases'][_0x4038f7(0x8f)](_0x388659)||canonical(_0x388659);}[_0x2d3dc1(0xab)](_0x6490c9){const _0x4c2e83=_0x2d3dc1;_0x6490c9=this[_0x4c2e83(0xc3)](_0x6490c9);const _0x328e0d=[_0x6490c9,CANONICAL_SKILL_SOURCES[_0x6490c9],...Object[_0x4c2e83(0x83)](SKILL_NAME_MAPPING)[_0x4c2e83(0x7b)](_0xd36862=>SKILL_NAME_MAPPING[_0xd36862]===_0x6490c9)][_0x4c2e83(0x7b)](Boolean);if(!fs[_0x4c2e83(0xbd)](this[_0x4c2e83(0xa5)]))return null;const _0x5a7e51=fs[_0x4c2e83(0xb0)](this[_0x4c2e83(0xa5)]);for(const _0x3f71eb of _0x328e0d){const _0x4d2364=path[_0x4c2e83(0xc4)](_0x5a7e51,_0x3f71eb,_0x4c2e83(0xf6));if(fs[_0x4c2e83(0xbd)](_0x4d2364)){const _0x2caa4e=fs[_0x4c2e83(0xb0)](_0x4d2364);if(!_0x2caa4e[_0x4c2e83(0xec)](_0x5a7e51+path[_0x4c2e83(0x9b)]))throw new Error(_0x4c2e83(0xfd));return _0x2caa4e;}}return null;}['route'](_0x4dbaf1={}){const _0x62b701=_0x2d3dc1,_0x193dd2=normalize(_0x4dbaf1[_0x62b701(0xea)]),_0x21f963=_0x4dbaf1['context']||{},_0x51c485=has(_0x193dd2,/\b(web|website|browser|playwright|react|angular|vue|nextjs|trinh duyet)\b/)&&!has(_0x193dd2,/\breact native\b/),_0x586285=has(_0x193dd2,/\b(mobile|android|ios|di dong)\b/),_0x17efbb=has(_0x193dd2,/\bflutter\b|\bintegration_test\b|\bwidgettester\b/),_0x490f54=_0x4dbaf1[_0x62b701(0xe6)]||(_0x51c485&&(_0x586285||_0x17efbb)?_0x62b701(0xda):_0x51c485?_0x62b701(0x7c):_0x17efbb?'flutter':_0x586285?'mobile':null),_0x1c83da=this[_0x62b701(0xf0)](),_0xcce474=_0x490f54||_0x21f963[_0x62b701(0xe6)]||_0x4dbaf1[_0x62b701(0x7e)]||_0x1c83da[_0x62b701(0xe6)]||'unknown',_0x217606=_0x4dbaf1[_0x62b701(0xe3)]||(_0x17efbb?_0x62b701(0xc7):_0x490f54?null:_0x21f963[_0x62b701(0xe3)]||_0x1c83da[_0x62b701(0xe3)]||null),_0x1de4b1=_0xcce474===_0x62b701(0x7a)&&_0x217606===_0x62b701(0xc7)?_0x62b701(0xc7):_0xcce474,_0x5bde9f=has(_0x193dd2,/\b(test|tests|testing|kiem thu)\b/),_0x41304b=has(_0x193dd2,/\b(integration|tich hop|e2e|end to end|integration_test)\b/),_0x15b8e4=has(_0x193dd2,/\b(widget|widgettester)\b/),_0x13a3c8=has(_0x193dd2,/\b(review|danh gia|ra soat)\b/)&&has(_0x193dd2,/\b(code|mr|pr|branch|commit|nhanh|ma nguon)\b/),_0x233858=has(_0x193dd2,/\b(fix bug|debug|broken|crashes|sua loi|bi loi|khong hoat dong)\b/),_0x206c69=_0x233858||has(_0x193dd2,/\b(implement|build|create|refactor|change|edit|add|sua|them|xay dung|trien khai|nang cap)\b/),_0x2015bf=new Set(),_0x3883d3=[],_0x2bc1fb=[],_0xbd25c5=[],_0x5c2108=_0x4dbaf1['installedPresets']||this[_0x62b701(0xf7)],_0x820ac0=_0x2316bc=>!_0x2316bc?.[_0x62b701(0xf2)]?.['length']||!Array[_0x62b701(0xfc)](_0x5c2108)||_0x5c2108[_0x62b701(0x98)](_0x62b701(0xa3))||_0x2316bc['presets']['some'](_0x3e18c2=>_0x5c2108[_0x62b701(0x98)](_0x3e18c2)),_0x241f2b=(_0x389252,_0x268942=![],_0x449bf0=new Set())=>{const _0x181067=_0x62b701,_0x33d7bc=this[_0x181067(0xc3)](_0x389252);if(_0x449bf0[_0x181067(0x86)](_0x33d7bc))return;_0x449bf0[_0x181067(0x102)](_0x33d7bc);const _0x5cb3bd=this[_0x181067(0xff)][_0x181067(0x8f)](_0x33d7bc),_0x4dac15=_0x5cb3bd?.[_0x181067(0xe6)]||(_0x33d7bc[_0x181067(0xec)](_0x181067(0x9f))?_0x181067(0xc7):_0x33d7bc===_0x181067(0x84)?_0x181067(0x7c):'any');if(_0x4dac15!==_0x181067(0x80)&&_0x4dac15!==_0x1de4b1){const _0x414f00={};_0x414f00['id']=_0x33d7bc,_0x414f00[_0x181067(0xa1)]=_0x181067(0xb7),_0x414f00[_0x181067(0xc1)]=_0x4dac15;if(_0x268942)_0x3883d3[_0x181067(0xb9)](_0x414f00);return;}if(!_0x820ac0(_0x5cb3bd)){const _0x2dde98={};_0x2dde98['id']=_0x33d7bc,_0x2dde98[_0x181067(0xa1)]=_0x181067(0x9e),_0x2dde98[_0x181067(0xf2)]=_0x5cb3bd['presets'],_0x3883d3[_0x181067(0xb9)](_0x2dde98);return;}if(!this[_0x181067(0xfb)][_0x33d7bc]&&!this[_0x181067(0xab)](_0x33d7bc)){const _0x389970={};_0x389970['id']=_0x33d7bc,_0x389970[_0x181067(0xa1)]=_0x181067(0xb5),_0x3883d3['push'](_0x389970);return;}_0x2015bf[_0x181067(0x102)](_0x33d7bc);for(const _0x32e734 of[..._0x5cb3bd?.[_0x181067(0x81)]||[],..._0x5cb3bd?.[_0x181067(0xdd)]||[]])_0x241f2b(_0x32e734,![],_0x449bf0);};for(const _0x2efaf of _0x4dbaf1[_0x62b701(0xf3)]||[])_0x241f2b(_0x2efaf,!![]);const _0x3a8a7c=[..._0x2015bf][_0x62b701(0xad)](_0x36a97a=>[_0x62b701(0x84),'flutter-add-integration-test',_0x62b701(0xb4)][_0x62b701(0x98)](_0x36a97a));if(_0x5bde9f){_0x241f2b(_0x62b701(0xd6));if(!_0x3a8a7c&&_0x1de4b1===_0x62b701(0x7c))_0x241f2b(_0x62b701(0x84));else{if(!_0x3a8a7c&&_0x1de4b1===_0x62b701(0xc7))_0x241f2b(_0x41304b||!_0x15b8e4?_0x62b701(0xa0):_0x62b701(0xb4));else{if(_0x1de4b1==='mobile'||_0x1de4b1===_0x62b701(0xda)||_0x1de4b1===_0x62b701(0xc0))_0xbd25c5['push'](_0x62b701(0x89));}}_0x2bc1fb[_0x62b701(0xb9)](_0x62b701(0x74));}if(_0x13a3c8){_0x241f2b(_0x62b701(0x88)),_0x241f2b('code-review-checklist');if(_0x4dbaf1['graphAvailable']||has(_0x193dd2,/\b(graph|impact|structure|cau truc)\b/))_0x241f2b(_0x62b701(0x93));_0x2bc1fb[_0x62b701(0xb9)](_0x62b701(0xce));}for(const _0x20622b of this[_0x62b701(0xff)][_0x62b701(0x9c)]()){if(_0x20622b['type']!==_0x62b701(0xfe)||['webapp-testing',_0x62b701(0xd6),_0x62b701(0x88),_0x62b701(0xae),_0x62b701(0xa7),_0x62b701(0xa0),_0x62b701(0xb4)]['includes'](_0x20622b['id']))continue;if(Object['values'](_0x20622b[_0x62b701(0xa6)]||{})[_0x62b701(0xe9)]()[_0x62b701(0xad)](_0x3f93b9=>phrase(_0x193dd2,_0x3f93b9)))_0x241f2b(_0x20622b['id']);}const _0x5578f4=[...this['entries']['values']()]['filter'](_0x452886=>_0x452886[_0x62b701(0xf9)]===_0x62b701(0xc6))[_0x62b701(0xc2)](_0x3e9f1f=>({'entry':_0x3e9f1f,'score':Math[_0x62b701(0x94)](0x0,...Object[_0x62b701(0x9c)](_0x3e9f1f['keywords']||{})[_0x62b701(0xe9)]()[_0x62b701(0x7b)](_0x1bd1e8=>phrase(_0x193dd2,_0x1bd1e8))[_0x62b701(0xc2)](_0x3c88b9=>_0x3c88b9[_0x62b701(0x7f)]),...(_0x3e9f1f[_0x62b701(0x8e)]||[])[_0x62b701(0x7b)](_0x567966=>_0x193dd2[_0x62b701(0x98)](normalize(_0x567966)))['map'](()=>0x64))}))[_0x62b701(0x7b)](_0x3b4132=>_0x3b4132[_0x62b701(0xe1)]>0x0)[_0x62b701(0xc9)]((_0x456301,_0x57d55a)=>_0x57d55a['score']-_0x456301['score']||_0x456301[_0x62b701(0xbe)]['id']['localeCompare'](_0x57d55a[_0x62b701(0xbe)]['id'])),_0x3f3ada=_0x5578f4[0x0]?.['entry'];let _0x412914=_0x3f3ada;if(_0x3f3ada&&!_0x820ac0(_0x3f3ada)){const _0x3f6241={};_0x3f6241['id']=_0x3f3ada['id'],_0x3f6241[_0x62b701(0xa1)]=_0x62b701(0x9e),_0x3f6241[_0x62b701(0xf2)]=_0x3f3ada[_0x62b701(0xf2)],_0x3883d3[_0x62b701(0xb9)](_0x3f6241),_0x412914=null;}if(_0x412914){for(const _0x17e418 of[..._0x412914['dependencies']||[],..._0x412914['companions']||[]])_0x241f2b(_0x17e418);}const _0x2d6d32=_0x4dbaf1[_0x62b701(0xf4)]||{},_0x8a19ad=[_0x62b701(0xb6),_0x62b701(0xbb),'dependency','permissions',_0x62b701(0xd9),_0x62b701(0x76),'migration']['some'](_0x5f3c5d=>_0x2d6d32[_0x5f3c5d]),_0x20bf3e=_0x206c69&&!_0x8a19ad&&Number[_0x62b701(0x91)](_0x4dbaf1[_0x62b701(0xd8)])&&_0x4dbaf1[_0x62b701(0xd8)]>=0x0&&_0x4dbaf1[_0x62b701(0xd8)]<=0x3,_0x30a491=_0x13a3c8&&!_0x206c69||_0x5bde9f&&!_0x206c69||!_0x206c69?_0x62b701(0xdb):_0x8a19ad?_0x62b701(0xcd):_0x233858?_0x62b701(0xa2):_0x20bf3e?_0x62b701(0xca):'feature';return{'catalogVersion':this[_0x62b701(0xa8)],'workflow':_0x13a3c8?'review':_0x5bde9f?_0x62b701(0xe5):_0x233858?'debug':_0x412914?.['id']||(_0x206c69?'implement':_0x62b701(0xb3)),'workflowId':_0x412914?.['id']||null,'workflowPath':_0x412914?'.agents/'+(_0x412914[_0x62b701(0xe6)]||_0x62b701(0x104)+_0x412914['id'][_0x62b701(0xcf)](/^\//,'')['replace'](/-workflow$/,'')+_0x62b701(0xbc)):null,'skills':[..._0x2015bf],'pipeline':_0x30a491,'target':_0x1de4b1,'stack':_0x217606,'reasons':_0x2bc1fb,'missing':_0x3883d3,'questions':_0xbd25c5,'needsClarification':_0xbd25c5[_0x62b701(0x7f)]>0x0,'authorizesEdits':_0x30a491!=='read-only'};}[_0x2d3dc1(0xf0)](){const _0x404b41=_0x2d3dc1,_0x859865=new Set(),_0x3cab38=_0x178661=>{const _0x4049a5=_0x1212;if(fs[_0x4049a5(0xbd)](path[_0x4049a5(0xc4)](_0x178661,_0x4049a5(0x99))))_0x859865['add']('flutter');try{const _0x53a3c4=JSON[_0x4049a5(0xa4)](fs[_0x4049a5(0xd4)](path[_0x4049a5(0xc4)](_0x178661,_0x4049a5(0xe4)),'utf8')),_0x41f819={..._0x53a3c4['dependencies'],..._0x53a3c4[_0x4049a5(0x7d)]},_0x1cf1b3=_0x41f819;if(_0x1cf1b3[_0x4049a5(0x8d)])_0x859865[_0x4049a5(0x102)]('mobile');else{if([_0x4049a5(0xdf),_0x4049a5(0xaa),'next',_0x4049a5(0xfa),_0x4049a5(0x95),_0x4049a5(0xd2)]['some'](_0x32cf1a=>_0x1cf1b3[_0x32cf1a]))_0x859865[_0x4049a5(0x102)](_0x4049a5(0x7c));}}catch{}};_0x3cab38(this[_0x404b41(0x87)]);for(const _0x2c1871 of[_0x404b41(0xcc),_0x404b41(0xe0)]){const _0x5ba964=path[_0x404b41(0xc4)](this[_0x404b41(0x87)],_0x2c1871);if(!fs[_0x404b41(0xbd)](_0x5ba964))continue;const _0x1c5e9a={};_0x1c5e9a[_0x404b41(0x78)]=!![];for(const _0x4510c1 of fs[_0x404b41(0x92)](_0x5ba964,_0x1c5e9a))if(_0x4510c1['isDirectory']())_0x3cab38(path[_0x404b41(0xc4)](_0x5ba964,_0x4510c1[_0x404b41(0xe2)]));}const _0x4e8381=_0x859865[_0x404b41(0x9a)]>0x1?_0x404b41(0xda):[..._0x859865][0x0],_0x5a43d3={};return _0x5a43d3[_0x404b41(0xe6)]=_0x4e8381,_0x5a43d3['stack']=_0x4e8381===_0x404b41(0xc7)?_0x404b41(0xc7):null,_0x5a43d3;}}function _0x1212(_0x1fbee8,_0x3d25da){_0x1fbee8=_0x1fbee8-0x74;const _0x342b14=_0x342b();let _0x121251=_0x342b14[_0x1fbee8];if(_0x1212['eLdboV']===undefined){var _0x200c6f=function(_0x6a0341){const _0x180630='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x340531='',_0x342907='';for(let _0x47ef37=0x0,_0x467fc7,_0x339022,_0x354de6=0x0;_0x339022=_0x6a0341['charAt'](_0x354de6++);~_0x339022&&(_0x467fc7=_0x47ef37%0x4?_0x467fc7*0x40+_0x339022:_0x339022,_0x47ef37++%0x4)?_0x340531+=String['fromCharCode'](0xff&_0x467fc7>>(-0x2*_0x47ef37&0x6)):0x0){_0x339022=_0x180630['indexOf'](_0x339022);}for(let _0x662577=0x0,_0x543952=_0x340531['length'];_0x662577<_0x543952;_0x662577++){_0x342907+='%'+('00'+_0x340531['charCodeAt'](_0x662577)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x342907);};_0x1212['qfMSch']=_0x200c6f,_0x1212['uMEYZV']={},_0x1212['eLdboV']=!![];}const _0x439656=_0x342b14[0x0],_0x1cb618=_0x1fbee8+_0x439656,_0x173ea9=_0x1212['uMEYZV'][_0x1cb618];return!_0x173ea9?(_0x121251=_0x1212['qfMSch'](_0x121251),_0x1212['uMEYZV'][_0x1cb618]=_0x121251):_0x121251=_0x173ea9,_0x121251;}const _0x270862={};_0x270862['Catalog']=Catalog,_0x270862[_0x2d3dc1(0xba)]=canonical,_0x270862[_0x2d3dc1(0xd1)]=normalize,_0x270862['digest']=digest,module['exports']=_0x270862;function _0x342b(){const _0x1016bc=['ChvZAa','y2fUB25Py2fS','C2nOzw1H','lM1K','zxHPC3rZu3LUyW','zw50CNK','y3j5ChrV','Dw5RBM93BG','CMvXDwLYzwruyxjNzxq','BwfW','CMvZB2X2zq','AM9PBG','C2TPBgWTDhjPz2DLCNmUANnVBG','D29YA2zSB3C','zMX1DhrLCG','ChjLC2v0','C29YDa','Ag90zML4','mtu0odyZmefjtuLbtq','yxbWCW','AgLNAc1YAxnR','uMv2Awv3igLUDgvUDcbPBMnSDwrLCYbHignOzwnRBgLZDdSGC3rHBMrHBg9UzsbYzxzPzxCGzg9LCYbUB3qGyxv0Ag9YAxPLigvKAxrZlG','CMvWBgfJzq','lI9ZA2LSBc1Uyw1LCW','BM9YBwfSAxPL','qhbSyxL3CMLNAhqVDgvZDa','zgLNzxn0','CMvHzezPBgvtEw5J','C3rYAw5NAwz5','DgvZDgLUzY1Wyxr0zxjUCW','q2f0ywXVzYbHBgLHCYbJB25MBgLJDdOG','y2HHBMDLzezPBgvdB3vUDa','ywDLBNrdB250CMfJDa','BwL4zwq','CMvHzc1VBMX5','Dg9mB3DLCKnHC2u','y29TCgfUAw9UCW','nZe5nJeZtvfqAez1','CMvHy3q','CgfJA2fNzxm','C2nVCMu','BMfTzq','C3rHy2S','CgfJA2fNzs5QC29U','DgvZDa','DgfYz2v0','mtmWmJrXzKvKt3y','ofzYDuHZEG','zMXHDa','ChjVBxb0','DxbKyxrL','C3rHCNrZv2L0Aa','mtvhCKrcsMu','C2HHmJu2','C2TPBgXZ','D29YA3nWywnLq29UDgv4Da','odqWy3jvrLfy','ChjLC2v0CW','zxHWBgLJAxrtA2LSBhm','CMLZAW','m1LXswLvyq','u0TjteWUBwq','Aw5ZDgfSBgvKuhjLC2v0CW','xcqM','DhLWzq','qgfUz3vSyxiVy29Yzq','CgLUCW','AxnbCNjHEq','u2TPBgWGCgf0AcbLC2nHCgvZignHDgfSB2CGCM9VDa','C2TPBgW','zw50CMLLCW','DhjPz2DLCNm','lMfNzw50CW','ywrK','q2f0ywXVzYbjrcbJB25MBgLJDdOG','D29YA2zSB3DZlW','vgvZDgLUzYbPBNrLBNqGy29TCg9ZzwqGD2L0Acb0yxjNzxqTC3bLy2LMAwmGC2TPBgXZlG','nty5nJzUqLbJDge','C2vJDxjPDhK','mta3ntG4uuvSsKPI','D2L0AezPBgvuExbLCW','Cgf0Aa','Bw9IAwXL','zMLSDgvY','D2vI','zgv2rgvWzw5Kzw5JAwvZ','D29YA3nWywnLvgfYz2v0','BgvUz3rO','yw55','zgvWzw5Kzw5JAwvZ','mta0nZK5mufetMTQtW','A2v5CW','D2vIyxbWlxrLC3rPBMC','ywXPyxnLCW','AgfZ','ChjVAMvJDfbHDgG','CMv2Awv3','swrLBNrPzNKGDgHLihrLC3qGDgfYz2v0igfUzcbMCMfTzxDVCMSGyMvMB3jLignOB29ZAw5NihbSyxrMB3jTihrLC3qGC2TPBgXZlG','DxrMoa','zgf0yq','C3bSAxq','CMvHy3qTBMf0AxzL','DxjSugf0DgvYBNm','z2v0','zw1WDhK','AxnjBNrLz2vY','CMvHzgrPCLn5BMm','y29Kzs1YzxzPzxCTz3jHCgG','Bwf4','CgXHExDYAwDODa','C2v0','kcr8w15HlxOWltLDkq','Aw5JBhvKzxm','ChvIC3bLyY55yw1S','C2L6zq','C2vW','DMfSDwvZ','y2f0ywXVz1bHDgG','BwLZC2LUzY1WCMvZzxq','zMX1DhrLCI0','zMX1DhrLCI1HzgqTAw50zwDYyxrPB24TDgvZDa','CMvHC29U','yNvNzML4','C3LZDgvT','CgfYC2u','C2TPBgXZuM9VDa','A2v5D29Yzhm','DgvYC2uTy29TBxvUAwnHDgLVBG','DMvYC2LVBG','C3rYAw5N','DNvL','C2TPBgXgAwXL','Agv4','C29Tzq','y29Kzs1YzxzPzxCTy2HLy2TSAxn0','kf58w15HlxOWltLDkq','CMvHBhbHDgHtEw5J','lMfNzw50CY9Tyw5PzMvZDc5QC29U','y3jLyxrLsgfZAa','CMvZzwfYy2G','zMX1DhrLCI1HzgqTD2LKz2v0lxrLC3q','BM90lwLUC3rHBgXLza','ChvIBgLJqxbP','DgfYz2v0lwnVBMzSAwn0','mJCYmdqWtgjXt21I'];_0x342b=function(){return _0x1016bc;};return _0x342b();}
1
+ function _0x2630(){const _0x4307a2=['D29YA2zSB3C','Bwf4','AgfZ','uMv2Awv3igLUDgvUDcbPBMnSDwrLCYbHignOzwnRBgLZDdSGC3rHBMrHBg9UzsbYzxzPzxCGzg9LCYbUB3qGyxv0Ag9YAxPLigvKAxrZlG','yNvNzML4','DxrMoa','C3rHy2S','CMvHzgrPCLn5BMm','CMvHy3q','zxHPC3rZu3LUyW','AxnjBNrLz2vY','odm5B3DJzujY','CMvZzwfYy2G','BM9YBwfSAxPL','tKze','C29YDa','DgfYz2v0','Aw5ZDgfSBgvKuhjLC2v0CW','C2nOzw1H','Bg9JywXLq29TCgfYzq','y29Kzs1YzxzPzxCTy2HLy2TSAxn0','C2TPBgXZuM9VDa','D2vI','BwLNCMf0Aw9U','CMvHBhbHDgHtEw5J','C2L6zq','ywXPyxnLCW','AM9PBG','ywDLBNrdB250CMfJDa','xcqM','q2f0ywXVzW','CgfJA2fNzs5QC29U','BM90lwLUC3rHBgXLza','Aw1WBgvTzw50','ChjVBxb0','u2TPBgWGCgf0AcbLC2nHCgvZignHDgfSB2CGCM9VDa','nJGXm1fXwun4Aq','lMfNzw50CY8','mtuWmdCYoe5iy1jzDa','y29UDgv4Da','A2v5D29Yzhm','mJKZmZbOEMXdvMe','BgvUz3rO','CMvHzezPBgvtEw5J','mJmYmti0ngXJvMjHzG','ChvIBgLJqxbP','D29YA3nWywnLq29UDgv4Da','y3jLyxrLsgfZAa','BMv4Da','Dg9mB3DLCKnHC2u','lM1K','D29YA2zSB3DZlW','DgvZDa','zMXHDa','zgvWzw5Kzw5JAwvZ','kf58w15HlxOWltLDkq','mJe5mKrdDhrisW','ChjVAMvJDfbHDgG','C3rHCNrZv2L0Aa','C2TPBgXgAwXL','AxnbCNjHEq','zMLSDgvY','AxneAxjLy3rVCNK','DgvYC2uTy29TBxvUAwnHDgLVBG','CMvHC29U','C29Tzq','z3jHCgHbDMfPBgfIBgu','y29Kzs1YzxzPzxCTz3jHCgG','DxjSugf0DgvYBNm','CgfYC2u','yxbWCW','zw50CNK','Aw5JBhvKzxm','zxHWB3j0CW','CMvHzc1VBMX5','C2v0','C2vJDxjPDhK','CMvWBgfJzq','y2f0ywXVz1bHDgG','CMvHy3qTBMf0AxzL','DMvYC2LVBG','DMfSDwvZ','C3bSAxq','q2f0ywXVzYbHBgLHCYbJB25MBgLJDdOG','yw55','zMX1DhrLCI1HzgqTAw50zwDYyxrPB24TDgvZDa','y29TCgfUAw9UCW','DgfYz2v0lwnVBMzSAwn0','C3rYAw5NAwz5','D2vIyxbWlxrLC3rPBMC','C2TPBgXZ','mty0ntC5me5bz3j4zW','zgLNzxn0','DgvZDgLUzY1Wyxr0zxjUCW','BwfW','z2v0','u0TjteWUBwq','zMX1DhrLCI1HzgqTD2LKz2v0lxrLC3q','ow1YqujWsa','C2TPBgW','zMX1DhrLCI0','zgf0yq','lI9ZA2LSBc1Uyw1LCW','CgfJA2fNzxm','mtaZmdy2oej3Dxb0ta','ChvZAa','BwLZC2LUzY1WCMvZzxq','CMv2Awv3','CMvZB2X2zq','zgv2rgvWzw5Kzw5JAwvZ','CgXHExDYAwDODa','C2TPBgWTDhjPz2DLCNmUANnVBG','CgLUCW','zgvIDwC','qhbSyxL3CMLNAhqVDgvZDa','ndGXmZGZvMTQBvnz','ywrK','DhjPz2DLCNm','y3j5ChrV','zMX1DhrLCG','qgfUz3vSyxiVy29Yzq','DxbKyxrL','zw50CMLLCW','DhLWzq','A2v5CW','C2nVCMu','y2HHBMDLzezPBgvdB3vUDa','zMvHDhvYzq','BwL4zwq','CMvXDwLYzwruyxjNzxq','ChjLC2v0CW','ChvIC3bLyY55yw1S','D29YA3nWywnLvgfYz2v0','D2L0AezPBgvuExbLCW','lMfNzw50CW','y2fUB25Py2fS','Bw9IAwXL','CMLZAW'];_0x2630=function(){return _0x4307a2;};return _0x2630();}const _0x4c9abf=_0x3836;(function(_0x4f90ef,_0x562f6e){const _0x5f4d49=_0x3836,_0x3722aa=_0x4f90ef();while(!![]){try{const _0x4a0ff1=parseInt(_0x5f4d49(0x102))/0x1*(-parseInt(_0x5f4d49(0xa5))/0x2)+-parseInt(_0x5f4d49(0xcf))/0x3*(parseInt(_0x5f4d49(0xd5))/0x4)+-parseInt(_0x5f4d49(0xc8))/0x5+parseInt(_0x5f4d49(0x99))/0x6+parseInt(_0x5f4d49(0xe0))/0x7+-parseInt(_0x5f4d49(0x93))/0x8+parseInt(_0x5f4d49(0x91))/0x9*(parseInt(_0x5f4d49(0x96))/0xa);if(_0x4a0ff1===_0x562f6e)break;else _0x3722aa['push'](_0x3722aa['shift']());}catch(_0x476111){_0x3722aa['push'](_0x3722aa['shift']());}}}(_0x2630,0x71ec6));const fs=require('fs'),path=require('path'),crypto=require(_0x4c9abf(0xe3)),{SKILL_NAME_MAPPING,CANONICAL_SKILL_SOURCES}=require(_0x4c9abf(0xd3)),normalize=(_0x287030='')=>String(_0x287030)[_0x4c9abf(0x104)](_0x4c9abf(0x105))['replace'](/[\u0300-\u036f]/g,'')[_0x4c9abf(0xba)](/đ/g,'d')[_0x4c9abf(0xba)](/Đ/g,'D')[_0x4c9abf(0x9e)](),digest=_0xaeade9=>crypto[_0x4c9abf(0x9c)]('sha256')[_0x4c9abf(0xe6)](_0xaeade9)[_0x4c9abf(0xc9)]('hex'),canonical=_0x416948=>SKILL_NAME_MAPPING[_0x416948]||_0x416948,safeId=_0x2f7655=>typeof _0x2f7655==='string'&&/^[a-z0-9][a-z0-9-]*$/[_0x4c9abf(0xa1)](_0x2f7655),has=(_0x4115d0,_0xb316ef)=>_0xb316ef[_0x4c9abf(0xa1)](_0x4115d0),phrase=(_0x2a83cf,_0x25e627)=>new RegExp(_0x4c9abf(0xa4)+normalize(_0x25e627)[_0x4c9abf(0xba)](/[.*+?^${}()|[\]\\]/g,_0x4c9abf(0x8a))+'($|[^a-z0-9])')['test'](_0x2a83cf);function _0x3836(_0x3cce4a,_0x5028d4){_0x3cce4a=_0x3cce4a-0x7d;const _0x2630b5=_0x2630();let _0x3836a8=_0x2630b5[_0x3cce4a];if(_0x3836['TSGPRQ']===undefined){var _0x43c87d=function(_0x5ef7ce){const _0x2c63fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2aaf58='',_0x2a87c2='';for(let _0x53f0c7=0x0,_0x5815e4,_0xce6982,_0x31b7ab=0x0;_0xce6982=_0x5ef7ce['charAt'](_0x31b7ab++);~_0xce6982&&(_0x5815e4=_0x53f0c7%0x4?_0x5815e4*0x40+_0xce6982:_0xce6982,_0x53f0c7++%0x4)?_0x2aaf58+=String['fromCharCode'](0xff&_0x5815e4>>(-0x2*_0x53f0c7&0x6)):0x0){_0xce6982=_0x2c63fe['indexOf'](_0xce6982);}for(let _0x50359d=0x0,_0x266bf1=_0x2aaf58['length'];_0x50359d<_0x266bf1;_0x50359d++){_0x2a87c2+='%'+('00'+_0x2aaf58['charCodeAt'](_0x50359d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a87c2);};_0x3836['hHkxtW']=_0x43c87d,_0x3836['Ouinrn']={},_0x3836['TSGPRQ']=!![];}const _0x208932=_0x2630b5[0x0],_0x3c18f2=_0x3cce4a+_0x208932,_0x26b88d=_0x3836['Ouinrn'][_0x3c18f2];return!_0x26b88d?(_0x3836a8=_0x3836['hHkxtW'](_0x3836a8),_0x3836['Ouinrn'][_0x3c18f2]=_0x3836a8):_0x3836a8=_0x26b88d,_0x3836a8;}class Catalog{constructor(_0x2af6c7,_0x5d65ae={}){const _0x30a4b7=_0x4c9abf;this[_0x30a4b7(0xa6)]=fs[_0x30a4b7(0x85)](_0x2af6c7),this[_0x30a4b7(0x82)]=path['resolve'](_0x5d65ae[_0x30a4b7(0x82)]||path['join'](this[_0x30a4b7(0xa6)],_0x30a4b7(0xf3),_0x30a4b7(0xc7)));const _0x5a9956=_0x5d65ae[_0x30a4b7(0xbb)]||path[_0x30a4b7(0x88)](this['projectPath'],_0x30a4b7(0xf3),_0x30a4b7(0xdc)),_0x2bad59={};_0x2bad59[_0x30a4b7(0xbd)]='empty',_0x2bad59[_0x30a4b7(0xe2)]=[],this[_0x30a4b7(0xd2)]=_0x5d65ae[_0x30a4b7(0xd2)]||(fs[_0x30a4b7(0x100)](_0x5a9956)?JSON[_0x30a4b7(0xb2)](fs['readFileSync'](_0x5a9956,'utf8')):_0x2bad59),this[_0x30a4b7(0xdd)]=_0x5d65ae['pins']||{},this[_0x30a4b7(0xbd)]=digest(JSON[_0x30a4b7(0xc5)](this[_0x30a4b7(0xd2)])),this[_0x30a4b7(0xe7)]=new Map(),this[_0x30a4b7(0x87)]=new Map();try{this['installedPresets']=String(JSON[_0x30a4b7(0xb2)](fs['readFileSync'](path['join'](this[_0x30a4b7(0xa6)],'.agents/manifest.json')))['preset']||'')[_0x30a4b7(0xbf)](/[,+]/)[_0x30a4b7(0xaa)](Boolean);}catch{this[_0x30a4b7(0x7e)]=null;}for(const _0x5ac391 of this[_0x30a4b7(0xd2)]['triggers']||[]){const _0x349d38=_0x5ac391[_0x30a4b7(0xe8)]===_0x30a4b7(0xd0)?canonical(_0x5ac391['id']):_0x5ac391['id'],_0x33ca93=[...new Set([..._0x5ac391['aliases']||[],..._0x349d38!==_0x5ac391['id']?[_0x5ac391['id']]:[],...Object[_0x30a4b7(0xe9)](SKILL_NAME_MAPPING)[_0x30a4b7(0xaa)](_0x542a71=>SKILL_NAME_MAPPING[_0x542a71]===_0x349d38)])],_0x181de4=this[_0x30a4b7(0xe7)][_0x30a4b7(0xcc)](_0x349d38);if(_0x181de4&&_0x181de4['type']!==_0x5ac391[_0x30a4b7(0xe8)])throw new Error('Catalog\x20ID\x20conflict:\x20'+_0x349d38);this[_0x30a4b7(0xe7)][_0x30a4b7(0xb8)](_0x349d38,{..._0x181de4,..._0x5ac391,'id':_0x349d38,'aliases':_0x33ca93,'target':_0x5ac391[_0x30a4b7(0x7d)]||(_0x5ac391[_0x30a4b7(0xe8)]==='workflow'?_0x30a4b7(0xa0)+_0x349d38['replace'](/^\//,'')[_0x30a4b7(0xba)](/-workflow$/,'')+_0x30a4b7(0x9f):_0x349d38[_0x30a4b7(0xa7)](_0x30a4b7(0xd1))?_0x30a4b7(0xe4):_0x349d38==='webapp-testing'?_0x30a4b7(0x83):'any'),'dependencies':_0x5ac391['dependencies']||[],'companions':_0x5ac391[_0x30a4b7(0xc3)]||[]});for(const _0x34f1ce of[_0x349d38,..._0x33ca93]){if(this[_0x30a4b7(0x87)][_0x30a4b7(0xf9)](_0x34f1ce)&&this[_0x30a4b7(0x87)][_0x30a4b7(0xcc)](_0x34f1ce)!==_0x349d38)throw new Error(_0x30a4b7(0xc0)+_0x34f1ce);this[_0x30a4b7(0x87)]['set'](_0x34f1ce,_0x349d38);}}}['resolve'](_0x5b5beb){const _0x33d0d1=_0x4c9abf;if(!safeId(_0x5b5beb))throw new Error('Invalid\x20skill\x20ID');return this[_0x33d0d1(0x87)][_0x33d0d1(0xcc)](_0x5b5beb)||canonical(_0x5b5beb);}[_0x4c9abf(0xa8)](_0x252514){const _0x54c409=_0x4c9abf;_0x252514=this[_0x54c409(0xd9)](_0x252514);const _0x2c1cfe=[_0x252514,CANONICAL_SKILL_SOURCES[_0x252514],...Object[_0x54c409(0xe9)](SKILL_NAME_MAPPING)[_0x54c409(0xaa)](_0x2f49b3=>SKILL_NAME_MAPPING[_0x2f49b3]===_0x252514)][_0x54c409(0xaa)](Boolean);if(!fs[_0x54c409(0x100)](this[_0x54c409(0x82)]))return null;const _0x398aa8=fs[_0x54c409(0x85)](this[_0x54c409(0x82)]);for(const _0x5ad75e of _0x2c1cfe){const _0x5d51df=path['join'](_0x398aa8,_0x5ad75e,_0x54c409(0xcd));if(fs[_0x54c409(0x100)](_0x5d51df)){const _0x70bc32=fs[_0x54c409(0x85)](_0x5d51df);if(!_0x70bc32[_0x54c409(0xa7)](_0x398aa8+path['sep']))throw new Error(_0x54c409(0x90));return _0x70bc32;}}return null;}['route'](_0x21399d={}){const _0x4a2b41=_0x4c9abf,_0x38a3ce=normalize(_0x21399d[_0x4a2b41(0x8f)]),_0x5427a9=_0x21399d[_0x4a2b41(0x94)]||{},_0x113099=has(_0x38a3ce,/\b(web|website|browser|playwright|react|angular|vue|nextjs|trinh duyet)\b/)&&!has(_0x38a3ce,/\breact native\b/),_0x2dcb68=has(_0x38a3ce,/\b(mobile|android|ios|di dong)\b/),_0x197030=has(_0x38a3ce,/\bflutter\b|\bintegration_test\b|\bwidgettester\b/),_0x83255e=_0x21399d[_0x4a2b41(0x7d)]||(_0x113099&&(_0x2dcb68||_0x197030)?'mixed':_0x113099?'web':_0x197030?_0x4a2b41(0xe4):_0x2dcb68?'mobile':null),_0x41484b=this['workspaceContext'](),_0xe5c4ac=_0x83255e||_0x5427a9[_0x4a2b41(0x7d)]||_0x21399d[_0x4a2b41(0xf1)]||_0x41484b[_0x4a2b41(0x7d)]||'unknown',_0x531d47=_0x21399d['stack']||(_0x197030?_0x4a2b41(0xe4):_0x83255e?null:_0x5427a9[_0x4a2b41(0xfd)]||_0x41484b['stack']||null),_0x5e6c42=_0xe5c4ac===_0x4a2b41(0xf5)&&_0x531d47==='flutter'?_0x4a2b41(0xe4):_0xe5c4ac,_0x481465=has(_0x38a3ce,/\b(test|tests|testing|kiem thu)\b/),_0x3d8055=has(_0x38a3ce,/\b(integration|tich hop|e2e|end to end|integration_test)\b/),_0x1a933a=has(_0x38a3ce,/\b(widget|widgettester)\b/),_0xd05d8c=has(_0x38a3ce,/\b(review|danh gia|ra soat)\b/)&&has(_0x38a3ce,/\b(code|mr|pr|branch|commit|nhanh|ma nguon)\b/),_0x3334d1=has(_0x38a3ce,/\b(fix bug|debug|broken|crashes|sua loi|bi loi|khong hoat dong)\b/),_0xfd43a4=_0x3334d1||has(_0x38a3ce,/\b(implement|build|create|refactor|change|edit|add|sua|them|xay dung|trien khai|nang cap)\b/),_0x154ba8=new Set(),_0x119f9a=[],_0xfa2ec0=[],_0x89b05c=[],_0x23e52e=_0x21399d['installedPresets']||this[_0x4a2b41(0x7e)],_0x2ce30e=_0xdb49bf=>!_0xdb49bf?.[_0x4a2b41(0xef)]?.[_0x4a2b41(0x97)]||!Array[_0x4a2b41(0xa9)](_0x23e52e)||_0x23e52e['includes']('system')||_0xdb49bf[_0x4a2b41(0xef)][_0x4a2b41(0xae)](_0x13e846=>_0x23e52e['includes'](_0x13e846)),_0x47b8e2=(_0x3c132e,_0x37c44a=![],_0x24b8b3=new Set())=>{const _0x11db19=_0x4a2b41,_0x9e2272=this['resolve'](_0x3c132e);if(_0x24b8b3[_0x11db19(0xf9)](_0x9e2272))return;_0x24b8b3['add'](_0x9e2272);const _0x169917=this['entries']['get'](_0x9e2272),_0x103d01=_0x169917?.['target']||(_0x9e2272[_0x11db19(0xa7)](_0x11db19(0xd1))?'flutter':_0x9e2272===_0x11db19(0xc6)?_0x11db19(0x83):_0x11db19(0xc1));if(_0x103d01!==_0x11db19(0xc1)&&_0x103d01!==_0x5e6c42){const _0x54c085={};_0x54c085['id']=_0x9e2272,_0x54c085['reason']=_0x11db19(0xc4),_0x54c085[_0x11db19(0xee)]=_0x103d01;if(_0x37c44a)_0x119f9a[_0x11db19(0xd6)](_0x54c085);return;}if(!_0x2ce30e(_0x169917)){const _0x2d2624={};_0x2d2624['id']=_0x9e2272,_0x2d2624['reason']=_0x11db19(0xd7),_0x2d2624[_0x11db19(0xef)]=_0x169917[_0x11db19(0xef)],_0x119f9a[_0x11db19(0xd6)](_0x2d2624);return;}if(!this[_0x11db19(0xdd)][_0x9e2272]&&!this[_0x11db19(0xa8)](_0x9e2272)){const _0x253c8f={};_0x253c8f['id']=_0x9e2272,_0x253c8f[_0x11db19(0xad)]=_0x11db19(0x8d),_0x119f9a[_0x11db19(0xd6)](_0x253c8f);return;}_0x154ba8[_0x11db19(0xe1)](_0x9e2272);for(const _0x495737 of[..._0x169917?.[_0x11db19(0xa3)]||[],..._0x169917?.[_0x11db19(0xc3)]||[]])_0x47b8e2(_0x495737,![],_0x24b8b3);};for(const _0x4ffc33 of _0x21399d['explicitSkills']||[])_0x47b8e2(_0x4ffc33,!![]);const _0x590d61=[..._0x154ba8][_0x4a2b41(0xae)](_0x2f8af8=>[_0x4a2b41(0xc6),_0x4a2b41(0xc2),_0x4a2b41(0xce)][_0x4a2b41(0xb5)](_0x2f8af8));if(_0x481465){_0x47b8e2(_0x4a2b41(0xca));if(!_0x590d61&&_0x5e6c42===_0x4a2b41(0x83))_0x47b8e2('webapp-testing');else{if(!_0x590d61&&_0x5e6c42===_0x4a2b41(0xe4))_0x47b8e2(_0x3d8055||!_0x1a933a?_0x4a2b41(0xc2):_0x4a2b41(0xce));else{if(_0x5e6c42===_0x4a2b41(0xf5)||_0x5e6c42===_0x4a2b41(0xed)||_0x5e6c42==='unknown')_0x89b05c[_0x4a2b41(0xd6)]('Identify\x20the\x20test\x20target\x20and\x20framework\x20before\x20choosing\x20platform\x20test\x20skills.');}}_0xfa2ec0[_0x4a2b41(0xd6)]('Testing\x20intent\x20composed\x20with\x20target-specific\x20skills.');}if(_0xd05d8c){_0x47b8e2(_0x4a2b41(0xd8)),_0x47b8e2(_0x4a2b41(0x81));if(_0x21399d[_0x4a2b41(0xaf)]||has(_0x38a3ce,/\b(graph|impact|structure|cau truc)\b/))_0x47b8e2(_0x4a2b41(0xb0));_0xfa2ec0[_0x4a2b41(0xd6)](_0x4a2b41(0xfa));}for(const _0x11b02f of this[_0x4a2b41(0xe7)][_0x4a2b41(0xbe)]()){if(_0x11b02f['type']!==_0x4a2b41(0xd0)||[_0x4a2b41(0xc6),_0x4a2b41(0xca),_0x4a2b41(0xd8),_0x4a2b41(0x81),_0x4a2b41(0xac),_0x4a2b41(0xc2),_0x4a2b41(0xce)][_0x4a2b41(0xb5)](_0x11b02f['id']))continue;if(Object['values'](_0x11b02f[_0x4a2b41(0x95)]||{})[_0x4a2b41(0xa2)]()['some'](_0x1dce22=>phrase(_0x38a3ce,_0x1dce22)))_0x47b8e2(_0x11b02f['id']);}const _0x24b40e=[...this[_0x4a2b41(0xe7)][_0x4a2b41(0xbe)]()]['filter'](_0x212710=>_0x212710[_0x4a2b41(0xe8)]===_0x4a2b41(0xf7))[_0x4a2b41(0xcb)](_0x29d982=>({'entry':_0x29d982,'score':Math[_0x4a2b41(0xf8)](0x0,...Object[_0x4a2b41(0xbe)](_0x29d982[_0x4a2b41(0x95)]||{})[_0x4a2b41(0xa2)]()[_0x4a2b41(0xaa)](_0x1fec2a=>phrase(_0x38a3ce,_0x1fec2a))[_0x4a2b41(0xcb)](_0x3a267a=>_0x3a267a[_0x4a2b41(0x97)]),...(_0x29d982[_0x4a2b41(0xb1)]||[])[_0x4a2b41(0xaa)](_0x5e4cda=>_0x38a3ce['includes'](normalize(_0x5e4cda)))[_0x4a2b41(0xcb)](()=>0x64))}))[_0x4a2b41(0xaa)](_0x7c5367=>_0x7c5367[_0x4a2b41(0xea)]>0x0)[_0x4a2b41(0x106)]((_0x553ed2,_0x54df7c)=>_0x54df7c[_0x4a2b41(0xea)]-_0x553ed2[_0x4a2b41(0xea)]||_0x553ed2[_0x4a2b41(0xb4)]['id'][_0x4a2b41(0x80)](_0x54df7c[_0x4a2b41(0xb4)]['id'])),_0x5b766d=_0x24b40e[0x0]?.['entry'];let _0x180e52=_0x5b766d;if(_0x5b766d&&!_0x2ce30e(_0x5b766d)){const _0x12ea54={};_0x12ea54['id']=_0x5b766d['id'],_0x12ea54[_0x4a2b41(0xad)]=_0x4a2b41(0xd7),_0x12ea54[_0x4a2b41(0xef)]=_0x5b766d[_0x4a2b41(0xef)],_0x119f9a[_0x4a2b41(0xd6)](_0x12ea54),_0x180e52=null;}if(_0x180e52){for(const _0x25df0 of[..._0x180e52[_0x4a2b41(0xa3)]||[],..._0x180e52[_0x4a2b41(0xc3)]||[]])_0x47b8e2(_0x25df0);}const _0x393f37=_0x21399d[_0x4a2b41(0xf6)]||{},_0x1f3d6f=[_0x4a2b41(0x9a),_0x4a2b41(0x7f),'dependency','permissions',_0x4a2b41(0x89),_0x4a2b41(0xb9),_0x4a2b41(0x84)][_0x4a2b41(0xae)](_0x1714f4=>_0x393f37[_0x1714f4]),_0x5a3ce6=_0xfd43a4&&!_0x1f3d6f&&Number[_0x4a2b41(0x101)](_0x21399d['changedFileCount'])&&_0x21399d['changedFileCount']>=0x0&&_0x21399d[_0x4a2b41(0xeb)]<=0x3,_0x5588c2=_0xd05d8c&&!_0xfd43a4||_0x481465&&!_0xfd43a4||!_0xfd43a4?'read-only':_0x1f3d6f?'high-risk':_0x3334d1?_0x4a2b41(0xfb):_0x5a3ce6?'hotfix':_0x4a2b41(0xec);return{'catalogVersion':this[_0x4a2b41(0xbd)],'workflow':_0xd05d8c?_0x4a2b41(0xd8):_0x481465?_0x4a2b41(0xa1):_0x3334d1?_0x4a2b41(0xde):_0x180e52?.['id']||(_0xfd43a4?_0x4a2b41(0x8e):_0x4a2b41(0x103)),'workflowId':_0x180e52?.['id']||null,'workflowPath':_0x180e52?_0x4a2b41(0x92)+(_0x180e52[_0x4a2b41(0x7d)]||'workflows/'+_0x180e52['id'][_0x4a2b41(0xba)](/^\//,'')[_0x4a2b41(0xba)](/-workflow$/,'')+_0x4a2b41(0x9f)):null,'skills':[..._0x154ba8],'pipeline':_0x5588c2,'target':_0x5e6c42,'stack':_0x531d47,'reasons':_0xfa2ec0,'missing':_0x119f9a,'questions':_0x89b05c,'needsClarification':_0x89b05c['length']>0x0,'authorizesEdits':_0x5588c2!==_0x4a2b41(0xb7)};}[_0x4c9abf(0x9b)](){const _0x2a7288=_0x4c9abf,_0xe63eec=new Set(),_0x42519f=_0x2124a5=>{const _0xa05d45=_0x3836;if(fs[_0xa05d45(0x100)](path[_0xa05d45(0x88)](_0x2124a5,_0xa05d45(0xf0))))_0xe63eec[_0xa05d45(0xe1)](_0xa05d45(0xe4));try{const _0x1eda5d=JSON[_0xa05d45(0xb2)](fs[_0xa05d45(0x98)](path[_0xa05d45(0x88)](_0x2124a5,_0xa05d45(0x8c)),_0xa05d45(0xfc))),_0x52f40a={..._0x1eda5d['dependencies'],..._0x1eda5d[_0xa05d45(0xda)]},_0x1cb200=_0x52f40a;if(_0x1cb200[_0xa05d45(0xbc)])_0xe63eec[_0xa05d45(0xe1)](_0xa05d45(0xf5));else{if([_0xa05d45(0xff),'vue',_0xa05d45(0x9d),_0xa05d45(0xe5),_0xa05d45(0xdb),_0xa05d45(0xdf)][_0xa05d45(0xae)](_0x50ea53=>_0x1cb200[_0x50ea53]))_0xe63eec[_0xa05d45(0xe1)](_0xa05d45(0x83));}}catch{}};_0x42519f(this[_0x2a7288(0xa6)]);for(const _0x4108b4 of[_0x2a7288(0xb3),_0x2a7288(0xd4)]){const _0xdd0151=path[_0x2a7288(0x88)](this[_0x2a7288(0xa6)],_0x4108b4);if(!fs['existsSync'](_0xdd0151))continue;const _0x50da38={};_0x50da38[_0x2a7288(0xf2)]=!![];for(const _0x1541d1 of fs[_0x2a7288(0xfe)](_0xdd0151,_0x50da38))if(_0x1541d1[_0x2a7288(0xab)]())_0x42519f(path[_0x2a7288(0x88)](_0xdd0151,_0x1541d1['name']));}const _0x63531d=_0xe63eec[_0x2a7288(0x86)]>0x1?_0x2a7288(0xed):[..._0xe63eec][0x0],_0x4eb124={};return _0x4eb124[_0x2a7288(0x7d)]=_0x63531d,_0x4eb124['stack']=_0x63531d===_0x2a7288(0xe4)?'flutter':null,_0x4eb124;}}const _0xdac840={};_0xdac840[_0x4c9abf(0x8b)]=Catalog,_0xdac840[_0x4c9abf(0xf4)]=canonical,_0xdac840[_0x4c9abf(0x104)]=normalize,_0xdac840[_0x4c9abf(0xc9)]=digest,module[_0x4c9abf(0xb6)]=_0xdac840;
@@ -1 +1 @@
1
- const _0x2a4796=_0x516c;(function(_0x438a80,_0x50b77e){const _0x7d4baa=_0x516c,_0x3c7605=_0x438a80();while(!![]){try{const _0x4c669b=-parseInt(_0x7d4baa(0x131))/0x1+parseInt(_0x7d4baa(0x125))/0x2+parseInt(_0x7d4baa(0x14c))/0x3+parseInt(_0x7d4baa(0x166))/0x4*(parseInt(_0x7d4baa(0x14a))/0x5)+-parseInt(_0x7d4baa(0x133))/0x6*(-parseInt(_0x7d4baa(0x15f))/0x7)+-parseInt(_0x7d4baa(0x15a))/0x8*(-parseInt(_0x7d4baa(0x14d))/0x9)+-parseInt(_0x7d4baa(0x156))/0xa;if(_0x4c669b===_0x50b77e)break;else _0x3c7605['push'](_0x3c7605['shift']());}catch(_0x72a5b9){_0x3c7605['push'](_0x3c7605['shift']());}}}(_0x3ab7,0xaf2c8));const {digest}=require(_0x2a4796(0x15b)),TOKEN_FIELDS=[_0x2a4796(0x127),_0x2a4796(0x12b),_0x2a4796(0x13f),_0x2a4796(0x157),_0x2a4796(0x12d)],finite=_0x549d9a=>Number[_0x2a4796(0x143)](_0x549d9a)&&_0x549d9a>=0x0;function observe(_0x5df74f,_0x1c7e9e,_0x2e56db={}){const _0x118b7c=_0x2a4796,_0x3bd9aa=String(_0x1c7e9e[_0x118b7c(0x158)]||_0x1c7e9e[_0x118b7c(0x141)]||'coordinator'),_0xcb7ef6=_0x2e56db[_0x118b7c(0x139)]===_0x118b7c(0x136)?_0x118b7c(0x13a):_0x1c7e9e[_0x118b7c(0x139)]===_0x118b7c(0x14e)?'estimated':'reported',_0x148291={};for(const _0x503e02 of[...TOKEN_FIELDS,_0x118b7c(0x128)])if(finite(_0x1c7e9e[_0x118b7c(0x126)]?.[_0x503e02]))_0x148291[_0x503e02]=_0x1c7e9e[_0x118b7c(0x126)][_0x503e02];if(finite(_0x1c7e9e[_0x118b7c(0x126)]?.[_0x118b7c(0x140)]?.['cached_tokens']))_0x148291[_0x118b7c(0x157)]=_0x1c7e9e['tokenUsage'][_0x118b7c(0x140)]['cached_tokens'];if(finite(_0x1c7e9e[_0x118b7c(0x126)]?.['output_tokens_details']?.[_0x118b7c(0x12d)]))_0x148291[_0x118b7c(0x12d)]=_0x1c7e9e[_0x118b7c(0x126)][_0x118b7c(0x150)][_0x118b7c(0x12d)];const _0x3e2482={'workerId':_0x3bd9aa,'source':_0xcb7ef6,'usage':_0x148291,'toolCompleted':_0x1c7e9e[_0x118b7c(0x167)]===!![],'durationMs':finite(_0x1c7e9e['durationMs'])?_0x1c7e9e['durationMs']:0x0},_0x3fa08=_0x5df74f[_0x118b7c(0x13c)]||={},_0x2a66b6=_0x1c7e9e['eventId']?digest(JSON[_0x118b7c(0x138)]([_0x3bd9aa,_0x1c7e9e[_0x118b7c(0x12e)]])):null,_0x17a185=digest(JSON['stringify'](_0x3e2482));if(_0x2a66b6&&_0x3fa08[_0x2a66b6]){if(_0x3fa08[_0x2a66b6]!==_0x17a185)throw new Error('Telemetry\x20eventId\x20was\x20reused\x20for\x20different\x20input');const _0x38800e={..._0x5df74f[_0x118b7c(0x12f)]};return _0x38800e[_0x118b7c(0x12a)]=!![],_0x38800e;}if(_0x2a66b6)_0x3fa08[_0x2a66b6]=_0x17a185;const _0xfa2ffb={};_0xfa2ffb[_0x118b7c(0x13a)]={},_0xfa2ffb[_0x118b7c(0x15e)]={},_0xfa2ffb['estimated']={},_0xfa2ffb['unidentifiedEvents']=0x0,_0xfa2ffb[_0x118b7c(0x153)]=0x0;const _0x462721=_0x5df74f['metrics'][_0x118b7c(0x146)]||=_0xfa2ffb;if(!_0x2a66b6)_0x462721[_0x118b7c(0x147)]++;_0x462721[_0x118b7c(0x153)]++;for(const _0x55f8b1 of TOKEN_FIELDS)if(_0x148291[_0x55f8b1]!==undefined)_0x462721[_0xcb7ef6][_0x55f8b1]=(_0x462721[_0xcb7ef6][_0x55f8b1]||0x0)+_0x148291[_0x55f8b1];_0x5df74f[_0x118b7c(0x12f)][_0x118b7c(0x144)]=(_0x5df74f[_0x118b7c(0x12f)][_0x118b7c(0x144)]||0x0)+Number(_0x3e2482[_0x118b7c(0x167)]),_0x5df74f[_0x118b7c(0x12f)][_0x118b7c(0x134)]=(_0x5df74f['metrics']['toolDurationMs']||0x0)+_0x3e2482[_0x118b7c(0x13b)];if(Object['keys'](_0x148291)[_0x118b7c(0x145)])_0x5df74f[_0x118b7c(0x12f)][_0x118b7c(0x160)]={..._0x462721[_0x118b7c(0x13a)],...Object[_0x118b7c(0x154)](TOKEN_FIELDS[_0x118b7c(0x169)](_0xbe86ee=>_0x462721[_0x118b7c(0x15e)][_0xbe86ee]!==undefined)[_0x118b7c(0x159)](_0xaebbaa=>[_0xaebbaa,(_0x462721[_0x118b7c(0x13a)][_0xaebbaa]||0x0)+_0x462721['reported'][_0xaebbaa]]))};if(_0x148291[_0x118b7c(0x128)]!==undefined){const _0xed0a62=_0x5df74f[_0x118b7c(0x132)]||={};_0xed0a62[digest(_0x3bd9aa)]={'workerId':_0x3bd9aa,'value':_0x148291['context_tokens'],'source':_0xcb7ef6,'epoch':_0x5df74f[_0x118b7c(0x14b)]};}const _0x1601f6={..._0x5df74f[_0x118b7c(0x12f)]};return _0x1601f6[_0x118b7c(0x12a)]=![],_0x1601f6[_0x118b7c(0x151)]=_0xcb7ef6,_0x1601f6;}function _0x516c(_0xc118d6,_0x4f82e3){_0xc118d6=_0xc118d6-0x124;const _0x3ab7a6=_0x3ab7();let _0x516c87=_0x3ab7a6[_0xc118d6];if(_0x516c['ZSxIvk']===undefined){var _0x254de3=function(_0x312056){const _0x41f22e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x471106='',_0x8d6b9f='';for(let _0x36d660=0x0,_0x1ff8df,_0x5f4ab8,_0x549d9a=0x0;_0x5f4ab8=_0x312056['charAt'](_0x549d9a++);~_0x5f4ab8&&(_0x1ff8df=_0x36d660%0x4?_0x1ff8df*0x40+_0x5f4ab8:_0x5f4ab8,_0x36d660++%0x4)?_0x471106+=String['fromCharCode'](0xff&_0x1ff8df>>(-0x2*_0x36d660&0x6)):0x0){_0x5f4ab8=_0x41f22e['indexOf'](_0x5f4ab8);}for(let _0x5df74f=0x0,_0x1c7e9e=_0x471106['length'];_0x5df74f<_0x1c7e9e;_0x5df74f++){_0x8d6b9f+='%'+('00'+_0x471106['charCodeAt'](_0x5df74f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8d6b9f);};_0x516c['toCYvL']=_0x254de3,_0x516c['sdZjVq']={},_0x516c['ZSxIvk']=!![];}const _0x6b2671=_0x3ab7a6[0x0],_0x29e66f=_0xc118d6+_0x6b2671,_0x5a0b14=_0x516c['sdZjVq'][_0x29e66f];return!_0x5a0b14?(_0x516c87=_0x516c['toCYvL'](_0x516c87),_0x516c['sdZjVq'][_0x29e66f]=_0x516c87):_0x516c87=_0x5a0b14,_0x516c87;}function contextBudget(_0x152186){const _0x3fd8ae=_0x2a4796,_0xf1519=Object[_0x3fd8ae(0x164)](null),_0x4ed638={};_0x4ed638[_0x3fd8ae(0x135)]=0x0,_0x4ed638[_0x3fd8ae(0x137)]=0x0,_0x4ed638[_0x3fd8ae(0x163)]=null,_0x4ed638[_0x3fd8ae(0x15d)]=_0x3fd8ae(0x15c),_0x4ed638['overTarget']=null;const _0x3bad15=_0x2ee446=>_0xf1519[_0x2ee446]||=_0x4ed638;for(const _0x5c72d1 of Object[_0x3fd8ae(0x142)](_0x152186[_0x3fd8ae(0x13e)]||{}))_0x3bad15(_0x5c72d1['workerId']||_0x3fd8ae(0x165))['loadedBytes']+=_0x5c72d1['bytes']||0x0;for(const _0x4d51df of Object[_0x3fd8ae(0x142)](_0x152186[_0x3fd8ae(0x132)]||{}))if(_0x4d51df[_0x3fd8ae(0x168)]===_0x152186[_0x3fd8ae(0x14b)]){const _0x13bbf7=_0x3bad15(_0x4d51df['workerId']);_0x13bbf7[_0x3fd8ae(0x163)]=_0x4d51df[_0x3fd8ae(0x129)],_0x13bbf7[_0x3fd8ae(0x15d)]=_0x4d51df['source'];}const _0x5d4182=_0x152186['capabilities']?.[_0x3fd8ae(0x12c)]||{},_0xd3cf20=_0x5d4182[_0x3fd8ae(0x139)]===_0x3fd8ae(0x162)&&finite(_0x5d4182[_0x3fd8ae(0x161)])&&_0x5d4182[_0x3fd8ae(0x161)]>0x0?_0x5d4182[_0x3fd8ae(0x161)]:null,_0x1aabcf=finite(_0x5d4182[_0x3fd8ae(0x149)])&&_0x5d4182[_0x3fd8ae(0x149)]>0x0&&_0x5d4182[_0x3fd8ae(0x149)]<=0x1?_0x5d4182[_0x3fd8ae(0x149)]:0.6;for(const _0xbb61dd of Object[_0x3fd8ae(0x142)](_0xf1519)){_0xbb61dd['estimatedLoadedTokens']=Math[_0x3fd8ae(0x124)](_0xbb61dd['loadedBytes']/0x4);if(_0xd3cf20&&_0xbb61dd[_0x3fd8ae(0x15d)]==='actual')_0xbb61dd[_0x3fd8ae(0x148)]=_0xbb61dd[_0x3fd8ae(0x163)]>_0xd3cf20*_0x1aabcf;}return{'contextEpoch':_0x152186[_0x3fd8ae(0x14b)],'limitTokens':_0xd3cf20,'targetRatio':_0x1aabcf,'targetTokens':_0xd3cf20?Math[_0x3fd8ae(0x13d)](_0xd3cf20*_0x1aabcf):null,'tokenMeasurement':Object[_0x3fd8ae(0x142)](_0xf1519)['some'](_0x1c2f6c=>_0x1c2f6c[_0x3fd8ae(0x15d)]===_0x3fd8ae(0x13a))?_0x3fd8ae(0x152):_0x3fd8ae(0x15c),'estimateMethod':_0x3fd8ae(0x130),'workers':_0xf1519,'enforcement':_0x3fd8ae(0x155)};}function _0x3ab7(){const _0x1e7d7c=['Ag9ZDc1VyNnLCNzLza','zxzLBNrZ','zNjVBuvUDhjPzxm','ywr2AxnVCNK7ihjLCxvPCMvKihnRAwXSCYbHCMuGBMv2zxiGC2LSzw50BhKGB21PDhrLza','mJuWnZiZmJbSAgDJyMC','y2fJAgvKx2LUChv0x3rVA2vUCW','D29YA2vYswq','BwfW','odHpBLrzs0y','lI9JyxrHBg9N','Dw5RBM93BG','BwvHC3vYzw1LBNrtB3vYy2u','CMvWB3j0zwq','mJG2m3HpyKTmsG','Ag9ZDfjLCg9YDgvKvg9Rzw5Z','BgLTAxruB2TLBNm','Ag9ZDa','B2jZzxj2zwrdB250zxH0vg9Rzw5Z','y3jLyxrL','y29VCMrPBMf0B3i','nhfvDhPrsW','Dg9VBenVBxbSzxrLza','zxbVy2G','zMLSDgvY','y2vPBa','mtuYmdC2ofvuCe5VvG','Dg9Rzw5vC2fNzq','Aw5WDxrFDg9Rzw5Z','y29UDgv4Df90B2TLBNm','DMfSDwu','zgvKDxbSAwnHDgvK','B3v0Chv0x3rVA2vUCW','y29UDgv4Dej1zgDLDa','CMvHC29UAw5Nx3rVA2vUCW','zxzLBNrjza','Bwv0CMLJCW','DxrMoc1IExrLCY80icHOzxvYAxn0AwmSig5VDcbOB3n0ihrVA2vUCYK','mtiYodKZnwnAy2TlDW','y29UDgv4De1Lyxn1CMvTzw50CW','mtKXndzkvLL6rwm','Dg9VBer1CMf0Aw9Utxm','Bg9HzgvKqNL0zxm','Ag9ZDc1OB29R','zxn0Aw1HDgvKtg9HzgvKvg9Rzw5Z','C3rYAw5NAwz5','C291CMnL','ywn0DwfS','zhvYyxrPB25nCW','DgvSzw1LDhj5rxzLBNrZ','zMXVB3i','Bg9HzgvK','Dg90ywXFDg9Rzw5Z','Aw5WDxrFDg9Rzw5Zx2rLDgfPBhm','ywn0B3jjza','DMfSDwvZ','AxngAw5PDgu','Dg9VBenHBgXZ','BgvUz3rO','DgvSzw1LDhj5','Dw5PzgvUDgLMAwvKrxzLBNrZ','B3zLCLrHCMDLDa','DgfYz2v0uMf0Aw8','mZCWmJG2nxHKtMPgvG','y29UDgv4DevWB2nO','mtG4mtq2nvjjwNPcCa','odm0oteYvwDjAu1w','zxn0Aw1HDgvK','B2jZzxj2zq','B3v0Chv0x3rVA2vUC19KzxrHAwXZ','CMvJzwLWDfnVDxjJzq'];_0x3ab7=function(){return _0x1e7d7c;};return _0x3ab7();}const _0x5f4ab8={};_0x5f4ab8[_0x2a4796(0x14f)]=observe,_0x5f4ab8[_0x2a4796(0x12c)]=contextBudget,module['exports']=_0x5f4ab8;
1
+ const _0xafd030=_0x3ff2;function _0x1f58(){const _0x161401=['y29UDgv4De1Lyxn1CMvTzw50CW','ovr6txPszW','y3jLyxrL','mtj2yvr0zKu','DMfSDwu','y29UDgv4DevWB2nO','zhvYyxrPB25nCW','y2fJAgvKx3rVA2vUCW','y2fJAgvKx2LUChv0x3rVA2vUCW','CMvHC29UAw5Nx3rVA2vUCW','BwvHC3vYzw1LBNrtB3vYy2u','zxn0Aw1HDgvK','vgvSzw1LDhj5igv2zw50swqGD2fZihjLDxnLzcbMB3iGzgLMzMvYzw50igLUChv0','B3v0Chv0x3rVA2vUC19KzxrHAwXZ','y29VCMrPBMf0B3i','BgLTAxruB2TLBNm','zMXVB3i','mtKXnty3nNfdwhbetG','A2v5CW','B3v0Chv0x3rVA2vUCW','yNL0zxm','ywn0DwfS','ohfwuejuDG','Bg9HzgvKqNL0zxm','Dw5PzgvUDgLMAwvKrxzLBNrZ','B3zLCLrHCMDLDa','zxzLBNrZ','CMvJzwLWDfnVDxjJzq','mtaZmJqXotbzANr0AuC','ywn0B3jjza','Dw5RBM93BG','Aw5WDxrFDg9Rzw5Zx2rLDgfPBhm','D29YA2vYswq','Dg9Rzw5vC2fNzq','B2jZzxj2zwrdB250zxH0vg9Rzw5Z','ywr2AxnVCNK7ihjLCxvPCMvKihnRAwXSCYbHCMuGBMv2zxiGC2LSzw50BhKGB21PDhrLza','Dg90ywXFDg9Rzw5Z','y29UDgv4Dej1zgDLDa','C3rYAw5NAwz5','BwfW','zMLSDgvY','y29UDgv4Df90B2TLBNm','Dg9VBenVBxbSzxrLza','Dg9VBenHBgXZ','zxn0Aw1HDgvKtg9HzgvKvg9Rzw5Z','zxzLBNrjza','y2fWywjPBgL0AwvZ','DMfSDwvZ','C29Tzq','C291CMnL','Ag9ZDa','CMvWB3j0zwq','DgvSzw1LDhj5rxzLBNrZ','zgvKDxbSAwnHDgvK','ota1mtC4t2j3B05p','odu2mdy2A1LNv2jo','mtiZntK2nxLjqwTfrG','DgfYz2v0uMf0Aw8','nduXntCYmhvJzun4AG','Bwv0CMLJCW','otqZnJG1nKTeu3zksG','Ag9ZDc1OB29R','Dg9VBer1CMf0Aw9Utxm'];_0x1f58=function(){return _0x161401;};return _0x1f58();}function _0x3ff2(_0x39cf21,_0x8529a0){_0x39cf21=_0x39cf21-0x15d;const _0x1f58d5=_0x1f58();let _0x3ff28e=_0x1f58d5[_0x39cf21];if(_0x3ff2['fcMBgD']===undefined){var _0x4a8306=function(_0x5e7df5){const _0x5c9046='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fac58='',_0x5b5b9d='';for(let _0x39559f=0x0,_0x3e227f,_0x34975a,_0x429e13=0x0;_0x34975a=_0x5e7df5['charAt'](_0x429e13++);~_0x34975a&&(_0x3e227f=_0x39559f%0x4?_0x3e227f*0x40+_0x34975a:_0x34975a,_0x39559f++%0x4)?_0x4fac58+=String['fromCharCode'](0xff&_0x3e227f>>(-0x2*_0x39559f&0x6)):0x0){_0x34975a=_0x5c9046['indexOf'](_0x34975a);}for(let _0x573cb5=0x0,_0x10479d=_0x4fac58['length'];_0x573cb5<_0x10479d;_0x573cb5++){_0x5b5b9d+='%'+('00'+_0x4fac58['charCodeAt'](_0x573cb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b5b9d);};_0x3ff2['NSTZQz']=_0x4a8306,_0x3ff2['zfDQPB']={},_0x3ff2['fcMBgD']=!![];}const _0x5ee415=_0x1f58d5[0x0],_0x443bd5=_0x39cf21+_0x5ee415,_0x3d8dcb=_0x3ff2['zfDQPB'][_0x443bd5];return!_0x3d8dcb?(_0x3ff28e=_0x3ff2['NSTZQz'](_0x3ff28e),_0x3ff2['zfDQPB'][_0x443bd5]=_0x3ff28e):_0x3ff28e=_0x3d8dcb,_0x3ff28e;}(function(_0x271646,_0xe6931){const _0x3f202b=_0x3ff2,_0x4f0b0b=_0x271646();while(!![]){try{const _0x577e42=-parseInt(_0x3f202b(0x165))/0x1+-parseInt(_0x3f202b(0x183))/0x2*(-parseInt(_0x3f202b(0x164))/0x3)+-parseInt(_0x3f202b(0x168))/0x4+-parseInt(_0x3f202b(0x166))/0x5+-parseInt(_0x3f202b(0x170))/0x6*(parseInt(_0x3f202b(0x17e))/0x7)+parseInt(_0x3f202b(0x16a))/0x8+-parseInt(_0x3f202b(0x16e))/0x9*(-parseInt(_0x3f202b(0x189))/0xa);if(_0x577e42===_0xe6931)break;else _0x4f0b0b['push'](_0x4f0b0b['shift']());}catch(_0x560580){_0x4f0b0b['push'](_0x4f0b0b['shift']());}}}(_0x1f58,0x9c1ad));const {digest}=require('./catalog'),TOKEN_FIELDS=['input_tokens',_0xafd030(0x180),_0xafd030(0x191),'cached_input_tokens',_0xafd030(0x176)],finite=_0x429e13=>Number['isFinite'](_0x429e13)&&_0x429e13>=0x0;function observe(_0x573cb5,_0x10479d,_0x113d07={}){const _0x1c803c=_0xafd030,_0x391298=String(_0x10479d[_0x1c803c(0x18d)]||_0x10479d[_0x1c803c(0x18a)]||_0x1c803c(0x17b)),_0x5b7e52=_0x113d07['source']===_0x1c803c(0x16b)?'actual':_0x10479d[_0x1c803c(0x15f)]==='estimated'?_0x1c803c(0x178):_0x1c803c(0x161),_0x580c99={};for(const _0x9bd4da of[...TOKEN_FIELDS,'context_tokens'])if(finite(_0x10479d[_0x1c803c(0x18e)]?.[_0x9bd4da]))_0x580c99[_0x9bd4da]=_0x10479d[_0x1c803c(0x18e)][_0x9bd4da];if(finite(_0x10479d['tokenUsage']?.['input_tokens_details']?.['cached_tokens']))_0x580c99[_0x1c803c(0x175)]=_0x10479d[_0x1c803c(0x18e)][_0x1c803c(0x18c)][_0x1c803c(0x174)];if(finite(_0x10479d['tokenUsage']?.[_0x1c803c(0x17a)]?.[_0x1c803c(0x176)]))_0x580c99['reasoning_tokens']=_0x10479d[_0x1c803c(0x18e)]['output_tokens_details']['reasoning_tokens'];const _0x83bae3={'workerId':_0x391298,'source':_0x5b7e52,'usage':_0x580c99,'toolCompleted':_0x10479d[_0x1c803c(0x197)]===!![],'durationMs':finite(_0x10479d[_0x1c803c(0x173)])?_0x10479d[_0x1c803c(0x173)]:0x0},_0x8b6859=_0x573cb5[_0x1c803c(0x162)]||={},_0x550e4c=_0x10479d[_0x1c803c(0x19a)]?digest(JSON['stringify']([_0x391298,_0x10479d[_0x1c803c(0x19a)]])):null,_0xd6a574=digest(JSON[_0x1c803c(0x193)](_0x83bae3));if(_0x550e4c&&_0x8b6859[_0x550e4c]){if(_0x8b6859[_0x550e4c]!==_0xd6a574)throw new Error(_0x1c803c(0x179));const _0x163b04={..._0x573cb5['metrics']};return _0x163b04[_0x1c803c(0x163)]=!![],_0x163b04;}if(_0x550e4c)_0x8b6859[_0x550e4c]=_0xd6a574;const _0x419e0d={};_0x419e0d[_0x1c803c(0x182)]={},_0x419e0d[_0x1c803c(0x161)]={},_0x419e0d[_0x1c803c(0x178)]={},_0x419e0d[_0x1c803c(0x185)]=0x0,_0x419e0d[_0x1c803c(0x187)]=0x0;const _0x370c38=_0x573cb5[_0x1c803c(0x169)]['telemetry']||=_0x419e0d;if(!_0x550e4c)_0x370c38[_0x1c803c(0x185)]++;_0x370c38['events']++;for(const _0x5491bf of TOKEN_FIELDS)if(_0x580c99[_0x5491bf]!==undefined)_0x370c38[_0x5b7e52][_0x5491bf]=(_0x370c38[_0x5b7e52][_0x5491bf]||0x0)+_0x580c99[_0x5491bf];_0x573cb5[_0x1c803c(0x169)][_0x1c803c(0x198)]=(_0x573cb5[_0x1c803c(0x169)]['toolCalls']||0x0)+Number(_0x83bae3[_0x1c803c(0x197)]),_0x573cb5[_0x1c803c(0x169)][_0x1c803c(0x16c)]=(_0x573cb5['metrics']['toolDurationMs']||0x0)+_0x83bae3[_0x1c803c(0x173)];if(Object[_0x1c803c(0x17f)](_0x580c99)['length'])_0x573cb5[_0x1c803c(0x169)]['hostReportedTokens']={..._0x370c38[_0x1c803c(0x182)],...Object['fromEntries'](TOKEN_FIELDS[_0x1c803c(0x195)](_0xa5c0f5=>_0x370c38['reported'][_0xa5c0f5]!==undefined)[_0x1c803c(0x194)](_0x3cd72d=>[_0x3cd72d,(_0x370c38[_0x1c803c(0x182)][_0x3cd72d]||0x0)+_0x370c38[_0x1c803c(0x161)][_0x3cd72d]]))};if(_0x580c99[_0x1c803c(0x196)]!==undefined){const _0x75e4ca=_0x573cb5[_0x1c803c(0x16d)]||={};_0x75e4ca[digest(_0x391298)]={'workerId':_0x391298,'value':_0x580c99['context_tokens'],'source':_0x5b7e52,'epoch':_0x573cb5['contextEpoch']};}const _0xbec863={..._0x573cb5[_0x1c803c(0x169)]};return _0xbec863[_0x1c803c(0x163)]=![],_0xbec863[_0x1c803c(0x188)]=_0x5b7e52,_0xbec863;}function contextBudget(_0x1c21b5){const _0x2db49b=_0xafd030,_0x4eef2d=Object[_0x2db49b(0x16f)](null),_0x22978a={};_0x22978a[_0x2db49b(0x184)]=0x0,_0x22978a['estimatedLoadedTokens']=0x0,_0x22978a['observedContextTokens']=null,_0x22978a[_0x2db49b(0x177)]=_0x2db49b(0x18b),_0x22978a[_0x2db49b(0x186)]=null;const _0x531797=_0x588d2f=>_0x4eef2d[_0x588d2f]||=_0x22978a;for(const _0x39d44b of Object[_0x2db49b(0x15d)](_0x1c21b5['loaded']||{}))_0x531797(_0x39d44b[_0x2db49b(0x18d)]||_0x2db49b(0x17b))[_0x2db49b(0x184)]+=_0x39d44b[_0x2db49b(0x181)]||0x0;for(const _0x32c72b of Object['values'](_0x1c21b5['contextMeasurements']||{}))if(_0x32c72b['epoch']===_0x1c21b5[_0x2db49b(0x172)]){const _0x1b4a5d=_0x531797(_0x32c72b[_0x2db49b(0x18d)]);_0x1b4a5d[_0x2db49b(0x18f)]=_0x32c72b[_0x2db49b(0x171)],_0x1b4a5d[_0x2db49b(0x177)]=_0x32c72b[_0x2db49b(0x15f)];}const _0x34348f=_0x1c21b5[_0x2db49b(0x19b)]?.[_0x2db49b(0x192)]||{},_0x9c889b=_0x34348f[_0x2db49b(0x15f)]===_0x2db49b(0x160)&&finite(_0x34348f[_0x2db49b(0x17c)])&&_0x34348f['limitTokens']>0x0?_0x34348f[_0x2db49b(0x17c)]:null,_0x4a75a6=finite(_0x34348f[_0x2db49b(0x167)])&&_0x34348f[_0x2db49b(0x167)]>0x0&&_0x34348f[_0x2db49b(0x167)]<=0x1?_0x34348f[_0x2db49b(0x167)]:0.6;for(const _0x4524bd of Object['values'](_0x4eef2d)){_0x4524bd[_0x2db49b(0x199)]=Math['ceil'](_0x4524bd['loadedBytes']/0x4);if(_0x9c889b&&_0x4524bd[_0x2db49b(0x177)]==='actual')_0x4524bd['overTarget']=_0x4524bd[_0x2db49b(0x18f)]>_0x9c889b*_0x4a75a6;}return{'contextEpoch':_0x1c21b5[_0x2db49b(0x172)],'limitTokens':_0x9c889b,'targetRatio':_0x4a75a6,'targetTokens':_0x9c889b?Math[_0x2db49b(0x17d)](_0x9c889b*_0x4a75a6):null,'tokenMeasurement':Object[_0x2db49b(0x15d)](_0x4eef2d)[_0x2db49b(0x15e)](_0x4b1b55=>_0x4b1b55['measurementSource']===_0x2db49b(0x182))?'host-observed':_0x2db49b(0x18b),'estimateMethod':'utf8-bytes/4\x20(heuristic,\x20not\x20host\x20tokens)','workers':_0x4eef2d,'enforcement':_0x2db49b(0x190)};}const _0x34975a={};_0x34975a['observe']=observe,_0x34975a[_0xafd030(0x192)]=contextBudget,module['exports']=_0x34975a;