apt-mcp-agent-setup 3.3.4 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +6 -1
  2. package/bin/cli.js +1 -1
  3. package/bundle/NOTICES.md +0 -0
  4. package/bundle/core.enc +0 -0
  5. package/bundle/mcp-rules.enc +0 -0
  6. package/bundle/skills-aso.enc +0 -0
  7. package/bundle/skills-ba.enc +0 -0
  8. package/bundle/skills-base.enc +0 -0
  9. package/bundle/skills-be.enc +0 -0
  10. package/bundle/skills-design.enc +0 -0
  11. package/bundle/skills-fe.enc +0 -0
  12. package/bundle/skills-marketing.enc +0 -0
  13. package/bundle/skills-mobile.enc +0 -0
  14. package/bundle/skills-pm.enc +0 -0
  15. package/docs/apt-3.5.0-migration.md +37 -0
  16. package/docs/technical-sources-release-checklist.md +14 -0
  17. package/docs/technical-sources.md +125 -0
  18. package/docs/upstream-manifest.json +89 -0
  19. package/integrity-manifest.json +127 -106
  20. package/package.json +1 -1
  21. package/release-check.js +76 -71
  22. package/source-skills-lock.json +311 -0
  23. package/src/backends/browser-tools.js +1 -1
  24. package/src/backends/index-command.js +1 -1
  25. package/src/backends/index-store.js +1 -1
  26. package/src/backends/memory-2026.8.31.json +34 -34
  27. package/src/backends/profiles.js +1 -1
  28. package/src/core/admission-fence.js +1 -1
  29. package/src/core/aso-import.js +1 -1
  30. package/src/core/caller-context.js +1 -1
  31. package/src/core/catalog.js +1 -1
  32. package/src/core/claude-caller-authority.js +1 -1
  33. package/src/core/claude-invocation.js +1 -1
  34. package/src/core/claude-native.js +1 -1
  35. package/src/core/claude-plan.js +1 -0
  36. package/src/core/claude-worker-transcript.js +1 -1
  37. package/src/core/codex-host-metadata.js +1 -1
  38. package/src/core/codex-transcript-receipt.js +1 -1
  39. package/src/core/context-metrics.js +1 -1
  40. package/src/core/doctor.js +1 -1
  41. package/src/core/draining-completion.js +1 -1
  42. package/src/core/execution.js +1 -1
  43. package/src/core/git-context.js +1 -0
  44. package/src/core/hook-bridge.js +1 -1
  45. package/src/core/host-adapters.js +1 -1
  46. package/src/core/ipc-envelope.js +1 -1
  47. package/src/core/memory-scope.js +1 -0
  48. package/src/core/memory-store.js +1 -1
  49. package/src/core/model-inventory.js +1 -1
  50. package/src/core/model-routing.js +1 -1
  51. package/src/core/native-dispatch.js +1 -1
  52. package/src/core/node-version.js +1 -1
  53. package/src/core/npm-cli.js +1 -1
  54. package/src/core/owned-command-child.js +1 -0
  55. package/src/core/owned-command.js +1 -0
  56. package/src/core/owned-lock.js +1 -1
  57. package/src/core/owned-process.js +1 -0
  58. package/src/core/presentations.js +1 -1
  59. package/src/core/quality-artifacts.js +1 -1
  60. package/src/core/quality.js +1 -1
  61. package/src/core/read-command.js +1 -0
  62. package/src/core/readonly-skill.js +1 -0
  63. package/src/core/resource-transaction.js +1 -1
  64. package/src/core/run-compatibility.js +1 -1
  65. package/src/core/runtime-info.js +1 -1
  66. package/src/core/runtime-ownership.js +1 -1
  67. package/src/core/session.js +1 -1
  68. package/src/core/skill-companions.js +1 -1
  69. package/src/core/skill-names.js +1 -1
  70. package/src/core/storage-retry.js +1 -0
  71. package/src/core/tool-contracts.js +1 -1
  72. package/src/core/update-control.js +1 -1
  73. package/src/core/upgrade-runs.js +1 -0
  74. package/src/core/upgrade-stop.js +1 -0
  75. package/src/core/windows-job.js +1 -0
  76. package/src/core/windows-job.ps1 +75 -0
  77. package/src/core/workspace-generation.js +1 -1
  78. package/src/core/workspace-path.js +1 -1
  79. package/src/installer/bounded-command.js +1 -1
  80. package/src/installer/candidate-preflight.js +1 -1
  81. package/src/installer/connection-activation.js +1 -1
  82. package/src/installer/connection-supervisor.js +1 -1
  83. package/src/installer/deployment-draft.js +1 -1
  84. package/src/installer/gateway-context.js +1 -1
  85. package/src/installer/gateway-migration.js +1 -1
  86. package/src/installer/gateway-runtime.js +1 -1
  87. package/src/installer/global-setup.js +1 -1
  88. package/src/installer/hook-context-client.js +1 -1
  89. package/src/installer/hook-dispatcher.js +51 -51
  90. package/src/installer/host-hooks.js +1 -1
  91. package/src/installer/managed-config.js +1 -1
  92. package/src/installer/platform-config.js +1 -1
  93. package/src/installer/prerequisites.js +1 -1
  94. package/src/installer/presentations.js +1 -1
  95. package/src/installer/project-setup.js +1 -1
  96. package/src/installer/registration-closure.js +1 -0
  97. package/src/installer/registration-plan.js +1 -1
  98. package/src/installer/registration-receipt.js +1 -1
  99. package/src/installer/registrations.js +1 -1
  100. package/src/installer/runtime-activation.js +1 -1
  101. package/src/installer/runtime-child.js +1 -1
  102. package/src/installer/runtime-launcher.js +50 -50
  103. package/src/installer/runtime-lock.js +1 -1
  104. package/src/installer/runtime-store.js +1 -1
  105. package/src/installer/runtime-supervisor.js +1 -1
  106. package/src/installer/setup-wizard.js +1 -1
  107. package/src/installer/update-addons.js +1 -1
  108. package/src/installer/update-executor.js +1 -1
  109. package/src/installer/workspace-registry.js +1 -1
  110. package/src/installer/workspace-transaction.js +1 -1
  111. package/src/installer/workspace-update.js +1 -1
  112. package/src/license/crypto.js +1 -1
  113. package/src/license/fingerprint.js +1 -1
  114. package/src/license/terms.js +1 -1
  115. package/src/license/verify.js +1 -1
  116. package/src/presets/index.js +1 -1
  117. package/src/proxy/backends.js +1 -1
  118. package/src/proxy/browser-sessions.js +1 -1
  119. package/src/proxy/core-tools.js +1 -1
  120. package/src/proxy/pipeline.js +1 -1
  121. package/src/proxy/public-catalog.js +1 -1
  122. package/src/proxy/router.config.js +1 -1
  123. package/src/proxy/router.js +1 -1
  124. package/src/proxy/server.js +1 -1
  125. package/src/proxy/workspace-gateway.js +1 -1
  126. package/technical-sources-check.js +249 -0
package/README.md CHANGED
@@ -1,4 +1,9 @@
1
- # Core MCP AI Agent (`apt-mcp-agent-setup`)
1
+ # Core MCP AI Agent (`apt-mcp-agent-setup`)
2
+
3
+ APT 3.5.0 candidate: [build and gate report](docs/apt-3.5.0-build-report.md), [runtime migration and recovery](docs/apt-3.5.0-migration.md). An explicit update cancels unfinished runs in its scope while preserving files and history. Serving activation still requires direct process evidence.
4
+
5
+
6
+ Nguồn kỹ thuật và nhánh tham khảo được quản lý tại [Technical Sources Registry](docs/technical-sources.md). Khi thêm một repo, skill, backend hoặc kỹ thuật mới, hãy ghi nguồn và bằng chứng pin/license vào danh mục trước khi tích hợp. Mỗi đợt cập nhật source APT chạy `npm run sources:validate` offline; dùng `npm run sources:refresh -- --json` để kiểm tra upstream có chủ đích. Refresh chỉ xuất báo cáo đề xuất. Xem [checklist release](docs/technical-sources-release-checklist.md) trước khi nâng nguồn hoặc đóng gói.
2
7
 
3
8
  > Bộ cổng kết nối AI Agent bảo mật, tích hợp hệ thống quản lý License Key và Skill bundle mã hóa động dành cho doanh nghiệp.
4
9
 
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x3a1ca8=_0x302d;(function(_0x3f00fe,_0x27bb87){const _0x1e4fd9=_0x302d,_0x578c04=_0x3f00fe();while(!![]){try{const _0xa853da=parseInt(_0x1e4fd9(0x24c))/0x1*(parseInt(_0x1e4fd9(0x23b))/0x2)+-parseInt(_0x1e4fd9(0x284))/0x3+-parseInt(_0x1e4fd9(0x2ba))/0x4+parseInt(_0x1e4fd9(0x307))/0x5+parseInt(_0x1e4fd9(0x1f2))/0x6*(-parseInt(_0x1e4fd9(0x2e4))/0x7)+parseInt(_0x1e4fd9(0x321))/0x8*(-parseInt(_0x1e4fd9(0x327))/0x9)+parseInt(_0x1e4fd9(0x20e))/0xa*(parseInt(_0x1e4fd9(0x2af))/0xb);if(_0xa853da===_0x27bb87)break;else _0x578c04['push'](_0x578c04['shift']());}catch(_0x134937){_0x578c04['push'](_0x578c04['shift']());}}}(_0x58f1,0x7f0fc));const fs=require('fs'),path=require('path'),os=require('os'),readline=require(_0x3a1ca8(0x22e)),http=require(_0x3a1ca8(0x25b)),https=require(_0x3a1ca8(0x227)),{getFingerprint}=require('../src/license/fingerprint.js'),{verifyLicense}=require(_0x3a1ca8(0x241)),{checkPrerequisites}=require(_0x3a1ca8(0x1de)),{installGlobalTools}=require(_0x3a1ca8(0x204)),{deployProject,ensureStitchAuthentication}=require('../src/installer/project-setup.js'),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x3a1ca8(0x202)),{runSetupWizard}=require('../src/installer/setup-wizard.js'),{registrations,cleanupPlan,applyCleanup}=require('../src/installer/registrations.js');function runtimeLauncher(_0x6bcdd2,_0x25e8d0=!![]){const _0x15f477=_0x3a1ca8,_0x5a986a=path[_0x15f477(0x30e)](__dirname,'..');if(!fs[_0x15f477(0x2ab)](path['join'](_0x5a986a,'integrity-manifest.json')))return console[_0x15f477(0x20c)](_0x15f477(0x205)),path[_0x15f477(0x262)](_0x5a986a,_0x15f477(0x283));const _0x1610d2=require(_0x15f477(0x266)),_0x4d087b={};_0x4d087b[_0x15f477(0x216)]=_0x6bcdd2,_0x4d087b['activate']=_0x25e8d0;const _0x4a4d50=_0x1610d2[_0x15f477(0x302)](_0x5a986a,_0x4d087b),_0x1d4061={};_0x1d4061['publicKey']=_0x6bcdd2,_0x1d4061[_0x15f477(0x2b8)]=!![];if(!_0x25e8d0&&!fs[_0x15f477(0x2ab)](path[_0x15f477(0x262)](_0x1610d2[_0x15f477(0x2e6)],_0x15f477(0x26e))))return _0x1610d2['installRuntime'](_0x4a4d50[_0x15f477(0x2aa)],_0x1d4061)[_0x15f477(0x25c)];return _0x4a4d50['launcherPath'];}function reportInstalledRuntime(_0x4d0be2){const _0x19e5dd=_0x3a1ca8;if(!fs[_0x19e5dd(0x2ab)](path['join'](__dirname,_0x19e5dd(0x2fd))))return!![];return require(_0x19e5dd(0x24f))['reportRuntimeActivation'](_0x4d0be2);}function parseArgs(){const _0x168fa2=_0x3a1ca8,_0x2e3484=process[_0x168fa2(0x1fd)]['slice'](0x2),_0x1b215b=_0x2e3484[0x0],_0x354a4b={};for(let _0x5993ea=0x1;_0x5993ea<_0x2e3484[_0x168fa2(0x24a)];_0x5993ea++){if(_0x2e3484[_0x5993ea]===_0x168fa2(0x2b6)||_0x2e3484[_0x5993ea]==='-k')_0x354a4b[_0x168fa2(0x21f)]=_0x2e3484[_0x5993ea+0x1],_0x5993ea++;else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x31f)||_0x2e3484[_0x5993ea]==='-p')_0x354a4b[_0x168fa2(0x1f7)]=_0x2e3484[_0x5993ea+0x1],_0x5993ea++;else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x2f7))_0x354a4b[_0x168fa2(0x270)]=_0x2e3484[_0x5993ea+0x1],_0x5993ea++;else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x2a8))_0x354a4b['rebuildIndex']=!![];else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x208))_0x354a4b[_0x168fa2(0x320)]=!![];else{if(_0x2e3484[_0x5993ea]==='--wait')_0x354a4b[_0x168fa2(0x28d)]=Number(_0x2e3484[_0x5993ea+0x1]),_0x5993ea++;else{if([_0x168fa2(0x21c),_0x168fa2(0x296),_0x168fa2(0x2ea)][_0x168fa2(0x23a)](_0x2e3484[_0x5993ea])){const _0x5c71e1={};_0x5c71e1[_0x168fa2(0x274)]=_0x168fa2(0x20f);if(_0x354a4b[_0x168fa2(0x252)]||!_0x2e3484[_0x5993ea+0x1]||_0x2e3484[_0x5993ea+0x1][_0x168fa2(0x2dd)]('--'))throw Object[_0x168fa2(0x250)](new Error('Choose\x20one\x20update\x20transaction\x20action\x20with\x20its\x20ID'),_0x5c71e1);_0x354a4b['transactionAction']=_0x2e3484[_0x5993ea]['slice'](0x2)['split']('-')[0x0],_0x354a4b[_0x168fa2(0x21e)]=_0x2e3484[++_0x5993ea];}else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x29d))_0x354a4b[_0x168fa2(0x1e7)]=!![];else{if(_0x2e3484[_0x5993ea]===_0x168fa2(0x27a))_0x354a4b[_0x168fa2(0x1e3)]=_0x2e3484[_0x5993ea+0x1],_0x5993ea++;else{if(_0x2e3484[_0x5993ea]==='--dry-run')_0x354a4b[_0x168fa2(0x22b)]=!![];else _0x2e3484[_0x5993ea]===_0x168fa2(0x2de)&&(_0x354a4b[_0x168fa2(0x1ec)]=_0x2e3484[_0x5993ea+0x1],_0x5993ea++);}}}}}}}}}}const _0x56deaf={};return _0x56deaf[_0x168fa2(0x2b1)]=_0x1b215b,_0x56deaf[_0x168fa2(0x256)]=_0x354a4b,_0x56deaf;}function getPublicKey(){const _0x103432=_0x3a1ca8;if(process.env.MCP_ADMIN_DIR){const _0x6dc15a=path[_0x103432(0x262)](process.env.MCP_ADMIN_DIR,_0x103432(0x2d1));if(fs['existsSync'](_0x6dc15a))return fs[_0x103432(0x229)](_0x6dc15a,_0x103432(0x232))[_0x103432(0x228)]();}let _0x5ea7dd=path[_0x103432(0x262)](__dirname,_0x103432(0x210));if(fs[_0x103432(0x2ab)](_0x5ea7dd))return fs[_0x103432(0x229)](_0x5ea7dd,_0x103432(0x232))[_0x103432(0x228)]();_0x5ea7dd=path['join'](__dirname,_0x103432(0x2d2));if(fs['existsSync'](_0x5ea7dd))return fs[_0x103432(0x229)](_0x5ea7dd,_0x103432(0x232))[_0x103432(0x228)]();return require(_0x103432(0x241))[_0x103432(0x2d6)];}function handleInit(){const _0x4d7987=getFingerprint();console['log']('Your\x20Device\x20ID:\x20'+_0x4d7987);}function handleStatus(){const _0x14e845=_0x3a1ca8,_0x4f58af=path[_0x14e845(0x262)](os['homedir'](),_0x14e845(0x1fc),'license.key');let _0x1b5890;try{_0x1b5890=fs[_0x14e845(0x229)](_0x4f58af,'utf8')[_0x14e845(0x228)]();}catch(_0x1f907a){console['error'](_0x14e845(0x261)),process['exit'](0x1);return;}const _0x5ebc81=getFingerprint(),_0x2e3938=getPublicKey(),_0x1b69cf=verifyLicense(_0x1b5890,_0x5ebc81,_0x2e3938);!_0x1b69cf['valid']&&(console[_0x14e845(0x2bf)](_0x14e845(0x2ec)+_0x1b69cf[_0x14e845(0x31c)]),process[_0x14e845(0x2ad)](0x1));const _0x551757=_0x1b69cf[_0x14e845(0x271)];console[_0x14e845(0x221)](_0x14e845(0x288)),console[_0x14e845(0x221)](_0x14e845(0x328)),console[_0x14e845(0x221)]('Status:\x20\x20\x20\x20\x20\x20Valid\x20/\x20Active'),console['log'](_0x14e845(0x306)+_0x551757[_0x14e845(0x2c6)]),console['log'](_0x14e845(0x289)+_0x551757[_0x14e845(0x1f7)]),console['log'](_0x14e845(0x1f1)+_0x551757['device']),console[_0x14e845(0x221)](_0x14e845(0x2cd)+new Date(_0x551757['exp'])[_0x14e845(0x1ed)]());}function _0x58f1(){const _0x523db8=['vvbeqvrfx0Lox1bst0Dsrvnt','ufjpsKvdvf9ot1rFsu5tvefmteve','BgvUz3rO','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','ndi3m0vHwKTeCa','r0XpqKfmx1rpt0Xtx1vqrefurv9gquLmruq','Cg9YDa','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1LlwfJDgL2yxrPB24','yxnZAwDU','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','DhjHBNnHy3rPB25by3rPB24','BNbTigXHDgvZDcbKAwqGBM90igLKzw50Awz5igeGC3rHyMXLihjLBgvHC2u','uhjVAMvJDdOG','ic0+ia','B3b0Aw9UCW','ue9tva','CMvHzhKTBMv4Dc1JB25Uzwn0Aw9U','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','y3vYCMvUDe5Vzgu','Ahr0Ca','Bgf1BMnOzxjqyxrO','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24TCMvJzwLWDa','C3bSAxq','CMvXDwLYzwroB2rL','Dg9Rzw4','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq','AM9PBG','ls10zxjTCW','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTywrKB25Z','C29Tzq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','yMXVy2TLCNm','Aw5PDa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','lMfNzw50CW','CMvZB3vYy2vZqxbWBgLLza','u2vYDMvYihjLDhvYBMvKihn0yxr1CYa','q0Xjigv4zwn1DgLVBIbLCNjVCJO','y3vYCMvUDc5QC29U','A2v5x2LK','ChjVAMvJDa','Cgf5Bg9Hza','ChjLCgfYzvvWzgf0zufKzg9UCW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGls1WCM9Qzwn0idXqqvripIaTlxn1C3bLBMqTDhjHBNnHy3rPB24GpeLepIb8ic0Ty2fUy2vSlxrYyw5Zywn0Aw9UidXjrd4GwY0TANnVBL0','y29Kzq','cLvZywDLoG','q29UDgvUDc1mzw5NDgG','su5ervHFuKvcvuLmrf9gquLmruq','zgLNzxn0','CgvUzgLUzY1ZywzLlwjVDw5Kyxj5','ls1Ty3aTC2nVCgu','BwnWx2nVBMzPzY5QC29U','lI4VC3jJl2LUC3rHBgXLCI9NyxrLD2f5lw1Pz3jHDgLVBG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','l2fJDgL2yxrL','uhjVAMvJDcbPBNn0ywXSzwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','Ag9ZDg5HBwu','qwn0AxzHDgLVBIbMywLSzwq6ia','zxzLCNK','C3jJl3bYB3H5l3nLCNzLCI5QCW','mtiWodq1nenZrhrguq','y29Uy2f0','vvbeqvrfx0zbsuXfra','uhjVAMvJDcb1CgrHDguGzgvWBg95zwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','uhjLC2v0oIaGicaGia','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','C3rHDhvZq29Kzq','y2XHDwrL','D2fPDa','tgf0zxn0ihn0ywjSzsbYzwXLyxnLignVBMzPCM1LzdOG','C2v0Dxa','CM9SBgvKlwjHy2S','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','BgLJzw5Zzs5RzxK','BwTKAxjtEw5J','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZDgf0Dxm','y29UDgvUDc1Szw5NDgG','ls1Yzxn1BwuTDhjHBNnHy3rPB24','C3rYAw5N','vMvYAwzPzwqGqvbuia','igLZihjLywr5igzVCIb0AguGBMv4DcbJB25Uzwn0Aw9UihrVia','Bwv0ywrHDge','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','revmruDbveLptL9gquLmruq','ls1QC29U','ihWGs2v5oIa','lI4VC3jJl2LUC3rHBgXLCI93B3jRC3bHy2uTDxbKyxrL','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','BgvNywn5lw93BMvYC2HPCc11BNzLCMLMAwvK','ywnJzxb0yw5Jzs5SB2C','yxbWBgLJyxrPB24VANnVBG','ihjLz2LZDhjHDgLVBIbJBgvHBNvWkhmPlIbcywnRDxbZignYzwf0zwqU','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','zxHWAxjLza','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','ls1Yzwj1AwXKlwLUzgv4','qxbWBgLLzca','Cgf0Aa','zxHPC3rZu3LUyW','Aw5OzxjPDa','zxHPDa','zxHPDenVzgu','ndr6zxLQEhy','B3DUzxjZAgLW','y29TBwfUza','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','D3jPDgvgAwXLu3LUyW','yNvPBhq','yxv0BW','ls1RzxK','CMvSzwfZzq','ywn0AxzHDgu','ChjLCgfYzvj1BNrPBwvszwXLyxnL','mJuZotm1mMzNr2HKwG','DMfSAwq','uMvXDwvZDgvKigLUzgv4ihjLyNvPBgqGzMfPBgvK','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','yMXVy2TLzc1WCM9Qzwn0lxn5BMm','zxjYB3i','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','C3rYAw5NAwz5','uhjVAMvJDca','CMvZDwX0CW','AxngAw5PDgu','CMvXDwvZDa','DxnLCG','AwrL','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','CgfYC2u','C3rKAw4','zM9YrwfJAa','vxnLCJOGicaG','rxHWAxjLCZOGicaGia','zwXPz2LIBgvwzxjZAw9U','igLZihnLCNzPBMCG','Bwv0Ag9K','BwfZDgvYlNb1yMXPyY5Wzw0','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','uhjVAMvJDcbYzwDPC3rYyxrPB24GD2fZig9UBhKGCgfYDgX5ihvWzgf0zwq','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','ufjprfvdveLptL9qvujmsunFs0vz','zw50CMLLCW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIbBls1WCM9Qzwn0idXqqvripL0GwY0TANnVBL0GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','ywn0AxzL','C2XPy2u','q2HVB3nLoIa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlwfSBc1WCM9Qzwn0C10GwY0TD2fPDca8u0vdt05euZ5DifSTlw1JCc1Zy29WzsbHDxrVFhbYB2PLy3r8z2XVyMfSxsbBls1QC29Uxq','C3rHCNrZv2L0Aa','ls1HChbSEq','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','y2fUy2vSBgvK','vxbKyxrLigzHAwXLzcbIzwzVCMuGywn0AxzHDgLVBJOG','y2HPBgrFChjVy2vZCW','q29UDgvUDc1uExbL','n1fjtNnYDW','C3vJy2vZCW','revgqvvmvf9st09u','Dg9tDhjPBMC','lMDLBwLUAq','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','ls1Jyw5JzwWTDhjHBNnHy3rPB24','y2fUzgLKyxrLCW','tgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','BwfW','CgfYDgLHBa','DgHLBG','CMvZB3vYy2vqBgfU','4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4PwD','vxbKyxrLignVBxbSzxrLlG','zgLYBMfTzq','C2nVCgu','y2XVC2u','vvbeqvrfx1jfu1vmvf9nsvntsu5h','ls1WCM9Qzwn0','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','C2vHCMnO','zgvSzwDHDgvK','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','lI4VAw50zwDYAxr5lw1HBMLMzxn0lMPZB24','zgLZCgXHEu5HBwu','zMLUza','r0vu','CNvUDgLTzvjVB3q','Aw5ZDgfSBfj1BNrPBwu','y29TCgXLDgu','D29YA3nWywnL','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','vxnLCJOGicaGicaGia','mZK0ntiXmhr6ALHTqW','r2XVyMfSihrVB2XZihvWzgf0zsbMywLSzwq6ia','v2fYBMLUzZOGq2XHDwrLigzHBgXIywnRignVBMzPz3vYyxrPB24GzMfPBgvKoIa','yw50AwDYyxzPDhK','ktSGy29UDgLUDwLUzYb1CgrHDguGzNjVBsb0AguGC2LNBMvKihjLBgvHC2uU','oYbHBgWGBwfUywDLzcbJB25Uzwn0Aw9UCYbJB25MAxjTzwqU','CNvUDgLTzunHBMrPzgf0zq','CMvZB2X2zq','ChjLCgfYzvbYB2PLy3q','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','AgvHzgvYCW','yxbWBhLnAwDYyxrPB24','teLdru5trv9lrvLFtuLtu0LorW','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','Ag9TzwrPCG','lI4VyNvUzgXLl05pveLdrvmUBwq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','Cgf1C2u','y2XPlMPZ','Aw5WDxq','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','CMvHC29U','ywrKB25Z','CMvJDxjZAxzL','ls1WCMvZzxq','ywXSuhjVAMvJDhm','ogTUvuHUwG','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','zxjYB3jZ','tunqihj1BNrPBwuG','ywXPyxm','vhjHBNnHy3rPB24Gy29UDhjVBcbYzxf1AxjLCYbVBMuGChjVAMvJDa','mtyWnJe2n0vUEgfRza','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','DgvZDa','vxbKyxrLigzHAwXLzdOGBgf0zxn0ihn0ywjSzsbYzwXLyxnLignVDwXKig5VDcbIzsbJB25MAxjTzwq6ia','y2f0y2G','vxnHz2u6ig1JCcbYzwDPC3rYyxrPB25ZihWGBwnWignSzwfUDxaGls1KCNKTCNvUihWGBwnWignSzwfUDxaGls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4GFcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIb8ig1JCcbTAwDYyxrPB24Gls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4','BwnWu2nVCgu','ls1UB3rPy2vZ','y2XLyw51Ca','zMLSDgvY','ANnVBG','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','icdINyWG','yM9KEq','ru5pru5u','yxbWBhK','Dg9ju09tDhjPBMC','quret05Fufjfuefsqvrjt05FrKfjteve','Aw5KzxHtzxr1Ca','yw5OzgGTB3bLBI1ZB3vYy2uTyxr0CMLIDxrPB25Z','rgv2AwnLieLeoIaGia','mty4odq1ng1OqNLbyW','Cgf0Ag5HBwu','tunqihj1BNrPBwuGywn0AxzHDgLVBIbMB3iG','CMvXDwLYzvn1ChbVCNrLze5Vzgu','lI4VC3jJl2LUC3rHBgXLCI9KzxbSB3LTzw50lwrYywz0','ChjLC2v0','uhjLC2v0oIaG','ChvZAa','BwvZC2fNzq','CMvIDwLSzeLUzgv4','lMfUAgrO','yxjNDG','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','zw5K','y29UzMLN','vxbKyxrLigzHAwXLzdOG','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','v2fYBMLUzZOGqw50AwDYyxzPDhKGzMfSBgjHy2SGy29UzMLNDxjHDgLVBIbMywLSzwq6ia','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','rgv2zwXVCg1LBNqGy2HLy2TVDxq6igf1Dg9TyxrPyYbYDw50Aw1LihvWzgf0zxmGCMvXDwLYzsbHihnPz25LzcbWywnRywDLlG','lcb3AgLSzsb0AgLZihbHy2THz2uGAxmG','y3jLyxrLsw50zxjMywnL','ls1HBgWTChjVAMvJDhm','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','teLdru5trv9jtLzbteLe','yxbWzw5KrMLSzvn5BMm','D2fYBG','B3v0Chv0','mJC1mtG1mhLzuM9iqG','su5wquXjrf9vuerbvevFqunusu9o','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','D3jPDgu','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','tM8GDMfSAwrHDgLVBIbHBgLHC2vZigzVDw5KlG','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','ChvIBgLJs2v5','Ahr0Chm6','A2v5CW','lI4VCgfJA2fNzs5QC29U','lI4VyNvUzgXL','CMvNAxn0CMf0Aw9UugXHBG','ls1ZDxnWzw5KlxrYyw5Zywn0Aw9U','zgv0zwn0zwq','DhjHBNnHy3rPB25jza','A2v5','ChjVDg9JB2W','Bg9N','iokaLcboB3qGzM91BMq','vxnHz2u6','yNL0zuXLBMD0Aa','v2fYBMLUzZOGsurfigf1Dg8Tzgv0zwn0Aw9UigzHAwXLzdOG','Dg9mB3DLCKnHC2u','Ahr0Chm','DhjPBq','CMvHzezPBgvtEw5J','uKvhsvnuuKfusu9ox1vqrefurv9gquLmruq','zhj5uNvU','Ag9ZDa','zMfPBgvK','CMvHzgXPBMu','C3rHDhvZ','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','DxrMoa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGy2XLyw51CcaTlwrYEs1YDw4GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','rgv2zwXVCg1LBNqGy2HLy2TVDxq6ig5WBsbSyxrLC3qGAxmGBM90ihzLCMLMAwvKigfUzcb0AgLZignVBw1HBMqGy2fUBM90ignSywLTigeGCMvSzwfZzsb1CgrHDguU','DgfYz2v0','ChjVAMvJDfbHDgG','zwXPz2LIBguGywz0zxiGCMv2Awv3','yMLU','q2XLyw51CcbWBgfUigzPBguGD2fZig5VDcbMB3vUza','Aw5JBhvKzxm','nJblyujZweS','y3DK','Dw5RBM93BG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGCMvNAxn0CMf0Aw9UCYbBls1QC29Uxq','tgLJzw5ZzsbRzxKGywn0AxzHDgvKigfUzcbZyxzLzcb0BZOG','tefurvnux1voq09orKLstuve','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','D2fPDfnLy29Uzhm','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTzxHLy3v0B3i','iokaLca','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','DMvYC2LVBG'];_0x58f1=function(){return _0x523db8;};return _0x58f1();}function extractKeyId(_0x4f8759){const _0x57d1b1=_0x3a1ca8;try{const _0x41992b=_0x4f8759[_0x57d1b1(0x25e)]('.'),_0x5e721e=JSON[_0x57d1b1(0x2c9)](Buffer['from'](_0x41992b[0x1],'base64url')[_0x57d1b1(0x2e7)](_0x57d1b1(0x232)));return _0x5e721e['keyId']||_0x5e721e[_0x57d1b1(0x26f)];}catch(_0x2e7e87){return null;}}function httpRequest(_0x3cc274,_0x16c95c={}){return new Promise((_0x134918,_0x48d5e0)=>{const _0x2b06bb=_0x302d;try{const _0x2f87d5=new URL(_0x3cc274),_0x28a65d=_0x2f87d5[_0x2b06bb(0x220)]===_0x2b06bb(0x217)?https:http,_0x465676={'User-Agent':_0x2b06bb(0x2e9)+process[_0x2b06bb(0x247)]+')',..._0x16c95c[_0x2b06bb(0x311)]},_0x42ce00=_0x465676;if(_0x16c95c[_0x2b06bb(0x1ea)]){const _0x39d6f6=typeof _0x16c95c[_0x2b06bb(0x1ea)]===_0x2b06bb(0x297)?_0x16c95c['body']:JSON[_0x2b06bb(0x2c1)](_0x16c95c[_0x2b06bb(0x1ea)]);!_0x42ce00[_0x2b06bb(0x276)]&&!_0x42ce00[_0x2b06bb(0x295)]&&(_0x42ce00[_0x2b06bb(0x276)]=Buffer[_0x2b06bb(0x224)](_0x39d6f6));}const _0x5900fa={};_0x5900fa[_0x2b06bb(0x2d0)]=_0x16c95c[_0x2b06bb(0x2d0)]||_0x2b06bb(0x300),_0x5900fa[_0x2b06bb(0x280)]=_0x2f87d5[_0x2b06bb(0x280)],_0x5900fa[_0x2b06bb(0x24e)]=_0x2f87d5['port']||(_0x2f87d5[_0x2b06bb(0x220)]==='https:'?0x1bb:0x50),_0x5900fa[_0x2b06bb(0x2aa)]=_0x2f87d5[_0x2b06bb(0x1f3)]+_0x2f87d5[_0x2b06bb(0x2f9)],_0x5900fa[_0x2b06bb(0x311)]=_0x42ce00;const _0x2522a7=_0x5900fa,_0x38fccc=_0x28a65d[_0x2b06bb(0x2c5)](_0x2522a7,_0x6bf5ea=>{const _0x5c3b97=_0x2b06bb;let _0x198424='';_0x6bf5ea['on']('data',_0x3353bf=>{_0x198424+=_0x3353bf;}),_0x6bf5ea['on'](_0x5c3b97(0x1ff),()=>{const _0x5b33d5=_0x5c3b97;_0x134918({'ok':_0x6bf5ea[_0x5b33d5(0x28b)]>=0xc8&&_0x6bf5ea[_0x5b33d5(0x28b)]<0x12c,'status':_0x6bf5ea[_0x5b33d5(0x28b)],'json':async()=>JSON['parse'](_0x198424),'text':async()=>_0x198424});});});_0x38fccc['on'](_0x2b06bb(0x2bf),_0x207c7a=>{_0x48d5e0(_0x207c7a);}),_0x16c95c[_0x2b06bb(0x1ea)]&&_0x38fccc[_0x2b06bb(0x211)](_0x16c95c['body']),_0x38fccc[_0x2b06bb(0x1ff)]();}catch(_0x59cffb){_0x48d5e0(_0x59cffb);}});}async function activateLicense(_0x515232,_0x225bd1){const _0x73249e=_0x3a1ca8,_0x14a88d=extractKeyId(_0x515232);if(!_0x14a88d)throw new Error('Invalid\x20license\x20key\x20format');const _0x3d7daa=process.env.MCP_ACTIVATION_URL||_0x73249e(0x2bd),_0x4bc8c3=_0x3d7daa+_0x73249e(0x27e),_0x104f03={};_0x104f03[_0x73249e(0x2e3)]=_0x73249e(0x2a3);const _0x35b444={};_0x35b444[_0x73249e(0x26f)]=_0x14a88d,_0x35b444['fingerprint']=_0x225bd1;const _0x3cbac1=await httpRequest(_0x4bc8c3,{'method':_0x73249e(0x257),'headers':_0x104f03,'body':JSON[_0x73249e(0x2c1)](_0x35b444)});if(!_0x3cbac1['ok']){let _0x376495=_0x73249e(0x26c)+_0x3cbac1[_0x73249e(0x22f)];try{const _0x581ad3=await _0x3cbac1[_0x73249e(0x1e7)]();if(_0x581ad3&&_0x581ad3['error'])_0x376495=_0x581ad3[_0x73249e(0x2bf)];}catch(_0x38ea94){}throw new Error(_0x376495);}const _0x3c4c7f=await _0x3cbac1['json']();if(!_0x3c4c7f||!_0x3c4c7f['token'])throw new Error(_0x73249e(0x2fc));return _0x3c4c7f[_0x73249e(0x260)];}async function handleActivate(_0x2a40f4){const _0x49d20c=_0x3a1ca8,_0x220015=_0x2a40f4[_0x49d20c(0x21f)];!_0x220015&&(console[_0x49d20c(0x2bf)](_0x49d20c(0x2c0)),console[_0x49d20c(0x221)](_0x49d20c(0x223)),console[_0x49d20c(0x221)](_0x49d20c(0x215)),process[_0x49d20c(0x2ad)](0x1));const _0x4ac47d=getFingerprint(),_0x3f6d31=getPublicKey(),_0x229a07=verifyLicense(_0x220015,null,_0x3f6d31);!_0x229a07['valid']&&(console[_0x49d20c(0x2bf)](_0x49d20c(0x291)+_0x229a07[_0x49d20c(0x31c)]),process['exit'](0x1));try{console['log'](_0x49d20c(0x1e8));const _0x287a37=await activateLicense(_0x220015,_0x4ac47d),_0x238563=path['join'](os[_0x49d20c(0x315)](),_0x49d20c(0x1fc),_0x49d20c(0x292)),_0x5eb2d5={};_0x5eb2d5['recursive']=!![],fs[_0x49d20c(0x293)](path[_0x49d20c(0x2f3)](_0x238563),_0x5eb2d5),fs[_0x49d20c(0x2b3)](_0x238563,_0x287a37,_0x49d20c(0x232)),console[_0x49d20c(0x221)](_0x49d20c(0x23f)+_0x238563);}catch(_0x3b5c3f){console[_0x49d20c(0x2bf)](_0x49d20c(0x281)+_0x3b5c3f[_0x49d20c(0x1fa)]),process[_0x49d20c(0x2ad)](0x1);}}function askQuestion(_0x5415d1){const _0x211455=_0x3a1ca8,_0x5b0356={};_0x5b0356[_0x211455(0x31a)]=process[_0x211455(0x2ca)],_0x5b0356[_0x211455(0x20d)]=process['stdout'];const _0x4dc0dc=readline[_0x211455(0x207)](_0x5b0356);return new Promise(_0x3179a8=>_0x4dc0dc['question'](_0x5415d1,_0x18c6f5=>{const _0x2d7305=_0x211455;_0x4dc0dc[_0x2d7305(0x2f5)](),process['stdin'][_0x2d7305(0x318)](),_0x3179a8(_0x18c6f5);}));}async function handleInstall(_0x516379){const _0x1e380a=_0x3a1ca8,_0x3fbba4=_0x516379[_0x1e380a(0x21f)];if(!_0x3fbba4){console[_0x1e380a(0x2bf)](_0x1e380a(0x2c0)),console[_0x1e380a(0x221)](_0x1e380a(0x223)),console['log']('\x20\x20node\x20bin/cli.js\x20install\x20--key\x20<LICENSE_KEY>\x20[--preset\x20<PRESET>]\x20[--project\x20<PATH>]'),process[_0x1e380a(0x2ad)](0x1);return;}console[_0x1e380a(0x221)](_0x1e380a(0x1fe));const _0x83680d=await askQuestion(_0x1e380a(0x28a));if(_0x83680d['trim']()[_0x1e380a(0x226)]()!=='yes'){console['error'](_0x1e380a(0x209)),process[_0x1e380a(0x2ad)](0x1);return;}const _0x5e7caf=extractKeyId(_0x3fbba4),_0x172af2=path['join'](os[_0x1e380a(0x315)](),_0x1e380a(0x1fc),_0x1e380a(0x2a2)),_0x4e2f4b=new Date()[_0x1e380a(0x1ed)]()+_0x1e380a(0x29e)+(_0x5e7caf||_0x1e380a(0x23d))+_0x1e380a(0x251);try{const _0x359094={};_0x359094[_0x1e380a(0x31e)]=!![],fs[_0x1e380a(0x293)](path[_0x1e380a(0x2f3)](_0x172af2),_0x359094),fs[_0x1e380a(0x20b)](_0x172af2,_0x4e2f4b,_0x1e380a(0x232));}catch(_0x490b00){console[_0x1e380a(0x20c)](_0x1e380a(0x212)+_0x490b00['message']);}const _0x43d88f=getFingerprint(),_0x31e05a=getPublicKey(),_0x49180a=verifyLicense(_0x3fbba4,null,_0x31e05a);!_0x49180a['valid']&&(console[_0x1e380a(0x2bf)](_0x1e380a(0x291)+_0x49180a['reason']),process[_0x1e380a(0x2ad)](0x1));let _0x89cba6;try{console['log'](_0x1e380a(0x1e8)),_0x89cba6=await activateLicense(_0x3fbba4,_0x43d88f);}catch(_0x46424a){console[_0x1e380a(0x2bf)]('Online\x20activation\x20failed:\x20'+_0x46424a[_0x1e380a(0x1fa)]),process[_0x1e380a(0x2ad)](0x1);}const _0x467d3e=verifyLicense(_0x89cba6,_0x43d88f,_0x31e05a);!_0x467d3e[_0x1e380a(0x2bb)]&&(console[_0x1e380a(0x2bf)](_0x1e380a(0x305)+_0x467d3e[_0x1e380a(0x31c)]),process[_0x1e380a(0x2ad)](0x1));const _0x4147a0=checkPrerequisites();!_0x4147a0[_0x1e380a(0x2e5)]&&(console[_0x1e380a(0x2bf)]('Prerequisites\x20check\x20failed:'),_0x4147a0[_0x1e380a(0x323)][_0x1e380a(0x2cb)](_0x4d7028=>console[_0x1e380a(0x2bf)]('-\x20'+_0x4d7028)),process['exit'](0x1));try{installGlobalTools();}catch(_0x2146c1){console[_0x1e380a(0x2bf)]('Global\x20tools\x20installation\x20failed:\x20'+_0x2146c1['message']),process[_0x1e380a(0x2ad)](0x1);}const _0x15befa=_0x516379['project']||process[_0x1e380a(0x23c)](),_0x258f9e=_0x516379[_0x1e380a(0x1f7)]||_0x467d3e[_0x1e380a(0x271)][_0x1e380a(0x1f7)],_0x34ee3c=runtimeLauncher(_0x31e05a);try{deployProject({'licenseKey':_0x89cba6,'projectPath':_0x15befa,'presetName':_0x258f9e,'deviceId':_0x43d88f,'masterSecret':_0x31e05a,'runtimeLauncherPath':_0x34ee3c,'mcpConfigTargets':[],'bundleDir':path[_0x1e380a(0x262)](__dirname,_0x1e380a(0x21a))});}catch(_0x203053){console[_0x1e380a(0x2bf)]('Project\x20setup\x20deployment\x20failed:\x20'+_0x203053[_0x1e380a(0x1fa)]),process[_0x1e380a(0x2ad)](0x1);}let _0x3a6412=null;try{console[_0x1e380a(0x221)]('\x0aScanning\x20for\x20installed\x20AI-powered\x20IDEs...');const _0x353fd5=detectInstalledIDEs(),_0x4b0078=[],_0x18353a=[];for(const [_0x18388c,_0x2d5e58]of Object[_0x1e380a(0x2d7)](_0x353fd5)){_0x2d5e58[_0x1e380a(0x21d)]?(_0x4b0078['push'](_0x18388c),console['log']('\x20\x20✅\x20'+_0x2d5e58[_0x1e380a(0x2fe)]+_0x1e380a(0x245)+_0x2d5e58[_0x1e380a(0x2d0)])):(_0x18353a['push'](_0x18388c),console[_0x1e380a(0x221)](_0x1e380a(0x1e9)+_0x2d5e58[_0x1e380a(0x2fe)]+_0x1e380a(0x222)));}let _0x34911d=_0x4b0078;if(_0x4b0078[_0x1e380a(0x24a)]>0x0){console['log']('\x0aWill\x20configure\x20MCP\x20for:\x20'+_0x4b0078[_0x1e380a(0x2ed)](_0x13b64d=>_0x353fd5[_0x13b64d][_0x1e380a(0x2fe)])[_0x1e380a(0x262)](',\x20'));const _0x299150=await askQuestion(_0x1e380a(0x2d5)),_0x42803c=_0x299150[_0x1e380a(0x228)]()[_0x1e380a(0x226)]();if(_0x42803c==='n'||_0x42803c==='no')console['log'](_0x1e380a(0x2f8)),_0x34911d=[];else{if(_0x42803c==='edit'){const _0x4333e9=Object['entries'](_0x353fd5);console['log']('\x0aSelect\x20IDEs\x20to\x20configure\x20(comma-separated\x20numbers):'),_0x4333e9[_0x1e380a(0x2cb)](([_0x415cd5,_0x5637bc],_0x4d690f)=>{const _0x5663e4=_0x1e380a,_0x290601=_0x5637bc[_0x5663e4(0x21d)]?'✅':'❌';console[_0x5663e4(0x221)]('\x20\x20'+(_0x4d690f+0x1)+')\x20'+_0x290601+'\x20'+_0x5637bc[_0x5663e4(0x2fe)]);});const _0x1a622d=await askQuestion(_0x1e380a(0x2db));_0x34911d=_0x1a622d[_0x1e380a(0x25e)](',')[_0x1e380a(0x2ed)](_0x1f57cb=>{const _0x473fd4=_0x1e380a,_0x324e1f=parseInt(_0x1f57cb[_0x473fd4(0x228)](),0xa)-0x1;return _0x4333e9[_0x324e1f]?_0x4333e9[_0x324e1f][0x0]:null;})[_0x1e380a(0x1e6)](Boolean);}}}else console[_0x1e380a(0x221)](_0x1e380a(0x2a5)),console[_0x1e380a(0x221)](_0x1e380a(0x230));if(_0x34911d['length']>0x0){const _0x4b7c58={};_0x4b7c58['projectPath']=_0x15befa,_0x4b7c58[_0x1e380a(0x1e3)]=_0x516379[_0x1e380a(0x1e3)]||_0x1e380a(0x2b5);const _0x20339a=configureMultipleIDEs(_0x34911d,_0x34ee3c,_0x4b7c58),_0x388479=_0x20339a[_0x1e380a(0x1e6)](_0x4bbaed=>_0x4bbaed['success'])[_0x1e380a(0x24a)];console[_0x1e380a(0x221)]('\x0a'+_0x388479+'/'+_0x34911d[_0x1e380a(0x24a)]+_0x1e380a(0x2a7)),_0x3a6412=_0x20339a[_0x1e380a(0x2ff)](_0x52b311=>_0x52b311[_0x1e380a(0x2c7)]===_0x1e380a(0x30a)&&!_0x52b311[_0x1e380a(0x2e5)])?.[_0x1e380a(0x2bf)]||null;}}catch(_0x479c02){console[_0x1e380a(0x20c)](_0x1e380a(0x225)+_0x479c02[_0x1e380a(0x1fa)]);try{const _0x316fae={};_0x316fae[_0x1e380a(0x236)]=_0x15befa,_0x316fae['mcpScope']=_0x516379[_0x1e380a(0x1e3)]||_0x1e380a(0x2b5),configureIDE(_0x1e380a(0x30a),_0x34ee3c,_0x316fae);}catch(_0x5786b4){console[_0x1e380a(0x20c)](_0x1e380a(0x203)+_0x5786b4[_0x1e380a(0x1fa)]),_0x3a6412=_0x5786b4[_0x1e380a(0x1fa)];}try{const _0x2a0d4b={};_0x2a0d4b[_0x1e380a(0x236)]=_0x15befa,_0x2a0d4b[_0x1e380a(0x1e3)]=_0x516379[_0x1e380a(0x1e3)]||_0x1e380a(0x2b5),configureIDE(_0x1e380a(0x28c),_0x34ee3c,_0x2a0d4b);}catch(_0x381fbf){console['warn'](_0x1e380a(0x309)+_0x381fbf['message']);}}const _0x4cbf1b=path[_0x1e380a(0x262)](os[_0x1e380a(0x315)](),'.anhdh',_0x1e380a(0x292));try{const _0x574871={};_0x574871[_0x1e380a(0x31e)]=!![],fs['mkdirSync'](path[_0x1e380a(0x2f3)](_0x4cbf1b),_0x574871),fs[_0x1e380a(0x2b3)](_0x4cbf1b,_0x89cba6,'utf8'),console[_0x1e380a(0x221)](_0x1e380a(0x2df)+_0x4cbf1b);}catch(_0x55db12){console[_0x1e380a(0x2bf)](_0x1e380a(0x314)+_0x55db12[_0x1e380a(0x1fa)]),process[_0x1e380a(0x2ad)](0x1);}_0x3a6412&&(console[_0x1e380a(0x2bf)](_0x1e380a(0x27f)+_0x3a6412),process[_0x1e380a(0x2ae)]=0x2);if(!reportInstalledRuntime(_0x15befa))process['exitCode']=0x2;!process[_0x1e380a(0x2ae)]&&console[_0x1e380a(0x221)](_0x1e380a(0x29b)),console[_0x1e380a(0x221)](''),console['log'](_0x1e380a(0x24b)),console[_0x1e380a(0x221)]('\x20\x20\x20triage\x20labels,\x20and\x20domain\x20docs\x20layout\x20for\x20this\x20project.');}async function updateProject(_0x36052b,_0xfcf746,_0x31a9f0,_0x4f87f4,_0x41aecf,_0x50d72b){const _0xbb9c3d=_0x3a1ca8;if(_0xfcf746[_0xbb9c3d(0x30d)]){const _0xb05b2f=path[_0xbb9c3d(0x262)](_0x36052b,_0xbb9c3d(0x26a),'runtime','update-transaction.json');let _0x1d2baa;try{_0x1d2baa=JSON[_0xbb9c3d(0x2c9)](fs[_0xbb9c3d(0x229)](_0xb05b2f,_0xbb9c3d(0x232)));}catch(_0x4e4215){const _0x199f77={};_0x199f77['projectPath']=_0x36052b,_0x199f77[_0xbb9c3d(0x22f)]=_0xbb9c3d(0x22d),_0x199f77['reason']='UPDATE_JOURNAL_UNREADABLE';if(_0x4e4215['code']!==_0xbb9c3d(0x1eb))return _0x199f77;}const _0x1ed596=_0x1d2baa&&!['active',_0xbb9c3d(0x258),_0xbb9c3d(0x290),'cancelled'][_0xbb9c3d(0x23a)](_0x1d2baa[_0xbb9c3d(0x22f)]);if(_0x1ed596&&(_0x1d2baa[_0xbb9c3d(0x235)]?.[_0xbb9c3d(0x247)]!==_0xfcf746[_0xbb9c3d(0x30d)]['version']||_0x1d2baa[_0xbb9c3d(0x235)]?.[_0xbb9c3d(0x278)]!==_0xfcf746[_0xbb9c3d(0x30d)][_0xbb9c3d(0x278)]))return{'projectPath':_0x36052b,'status':_0xbb9c3d(0x279),'transactionId':_0x1d2baa[_0xbb9c3d(0x21e)],'blockers':[{'code':_0xbb9c3d(0x248),'target':_0x1d2baa[_0xbb9c3d(0x235)]}]};let _0x272f66;const _0x384a95={};_0x384a95[_0xbb9c3d(0x22f)]='unverified',_0x384a95[_0xbb9c3d(0x2c3)]=[];const _0x3ec418=_0x1ed596?_0x1d2baa[_0xbb9c3d(0x31d)]||_0x384a95:require(_0xbb9c3d(0x264))[_0xbb9c3d(0x272)](_0x50d72b),_0x10e0b9={};_0x10e0b9[_0xbb9c3d(0x274)]=_0xbb9c3d(0x1ee);if(_0x3ec418[_0xbb9c3d(0x22f)]!=='ready')return{'projectPath':_0x36052b,'status':_0xbb9c3d(0x2be),'blockers':[_0x10e0b9],'addons':_0x3ec418};try{const _0x2bcc6a=detectInstalledIDEs(),_0xaf9cff=Object['keys'](_0x2bcc6a)[_0xbb9c3d(0x1e6)](_0xd96dae=>_0x2bcc6a[_0xd96dae]['detected']);_0x272f66=_0x1ed596&&_0x1d2baa['resourcePlan']?{'resourcePlan':new(require('../src/core/resource-transaction'))['ResourceTransaction'](_0x1d2baa['resourcePlan']),'registrationPlan':_0x1d2baa[_0xbb9c3d(0x21b)]||null}:require(_0xbb9c3d(0x1f6))[_0xbb9c3d(0x30f)]({'licenseKey':_0x41aecf,'projectPath':_0x36052b,'presetName':_0x50d72b,'deviceId':getFingerprint(),'masterSecret':_0x4f87f4,'runtimeLauncherPath':_0xfcf746[_0xbb9c3d(0x25c)],'bundleDir':path[_0xbb9c3d(0x262)](__dirname,_0xbb9c3d(0x21a)),'isUpdate':!![],'rebuildIndex':_0xfcf746[_0xbb9c3d(0x1fb)]===!![],'registrationHosts':_0xaf9cff,'mcpScope':_0xfcf746['mcpScope']||_0xbb9c3d(0x2b5)});}catch(_0x1b5d39){const _0xa9119c={};return _0xa9119c[_0xbb9c3d(0x236)]=_0x36052b,_0xa9119c[_0xbb9c3d(0x22f)]='blocked-project-sync',_0xa9119c[_0xbb9c3d(0x31c)]=_0x1b5d39[_0xbb9c3d(0x274)]||'RESOURCE_PREPARATION_FAILED',_0xa9119c;}const _0x29e39b={};_0x29e39b[_0xbb9c3d(0x304)]=_0x36052b,_0x29e39b[_0xbb9c3d(0x301)]=_0xfcf746[_0xbb9c3d(0x301)],_0x29e39b[_0xbb9c3d(0x2b7)]=_0xfcf746['runtimeCandidate'][_0xbb9c3d(0x2aa)],_0x29e39b[_0xbb9c3d(0x216)]=_0x4f87f4,_0x29e39b[_0xbb9c3d(0x243)]=_0xfcf746[_0xbb9c3d(0x28d)]===undefined?0x78:_0xfcf746['wait'],_0x29e39b[_0xbb9c3d(0x2f0)]=_0x272f66[_0xbb9c3d(0x2f0)],_0x29e39b[_0xbb9c3d(0x21b)]=_0x272f66[_0xbb9c3d(0x21b)],_0x29e39b['addons']=_0x3ec418,_0x29e39b['rebuildIndex']=_0xfcf746[_0xbb9c3d(0x1fb)]===!![];const _0x50ebe3=await require(_0xbb9c3d(0x29f))['activateWorkspace'](_0x29e39b),_0x27d98b={'projectPath':_0x36052b,..._0x50ebe3};return _0x27d98b[_0xbb9c3d(0x31d)]=_0x3ec418,_0x27d98b;}const _0x313c9e=async()=>{const _0x4edb56=_0xbb9c3d,_0x1ce838=deployProject({'licenseKey':_0x41aecf,'projectPath':_0x36052b,'presetName':_0x50d72b,'deviceId':getFingerprint(),'masterSecret':_0x4f87f4,'runtimeLauncherPath':_0xfcf746['launcherPath'],'bundleDir':path['join'](__dirname,_0x4edb56(0x21a)),'isUpdate':!![],'mcpConfigTargets':[],'rebuildIndex':_0xfcf746['rebuildIndex']||![]});if(_0xfcf746['rebuildIndex']&&_0x1ce838[_0x4edb56(0x1ef)]?.[_0x4edb56(0x22f)]!==_0x4edb56(0x2b4)){const _0x40446e={};_0x40446e['code']=_0x4edb56(0x277);throw Object[_0x4edb56(0x250)](new Error(_0x4edb56(0x2bc)),_0x40446e);}const _0x36bc26=detectInstalledIDEs(),_0x2ea1d4=Object[_0x4edb56(0x218)](_0x36bc26)[_0x4edb56(0x1e6)](_0x5718fd=>_0x36bc26[_0x5718fd]['detected']);if(!_0x2ea1d4['includes'](_0x4edb56(0x30a))){const _0x19c639=path[_0x4edb56(0x262)](_0x36052b,'.agents',_0x4edb56(0x27b)),_0x56b4c=path[_0x4edb56(0x262)](os[_0x4edb56(0x315)](),_0x4edb56(0x2e8),_0x4edb56(0x200),_0x4edb56(0x27b));(fs[_0x4edb56(0x2ab)](_0x19c639)||fs[_0x4edb56(0x2ab)](_0x56b4c))&&_0x2ea1d4['push'](_0x4edb56(0x30a));}const _0x1b6a45=_0xfcf746[_0x4edb56(0x1e3)]||_0x4edb56(0x2b5),_0x3f4727={};_0x3f4727[_0x4edb56(0x236)]=_0x36052b,_0x3f4727['mcpScope']=_0x1b6a45;const _0x54efea=_0x2ea1d4[_0x4edb56(0x24a)]?configureMultipleIDEs(_0x2ea1d4,_0xfcf746[_0x4edb56(0x25c)],_0x3f4727):[],_0x365dcd=_0x54efea['filter'](_0x4846d7=>!_0x4846d7[_0x4edb56(0x2e5)]),_0x2c2d00=_0x365dcd[_0x4edb56(0x2ff)](_0x3cf506=>_0x3cf506[_0x4edb56(0x2c7)]===_0x4edb56(0x30a));if(_0x2c2d00)console[_0x4edb56(0x2bf)](_0x4edb56(0x287)+_0x2c2d00['error']);const _0x1addfd={};_0x1addfd[_0x4edb56(0x274)]=_0x4edb56(0x22a);if(_0x365dcd['length'])throw Object['assign'](new Error(_0x4edb56(0x2d4)),_0x1addfd);return{'scope':_0x1b6a45,'configured':_0x54efea[_0x4edb56(0x2ed)](_0x12ae79=>_0x12ae79[_0x4edb56(0x2c7)])};};try{const _0x443c87=await _0x313c9e(),_0x52c736={'projectPath':_0x36052b,'status':_0xbb9c3d(0x258),..._0x443c87};return _0x52c736;}catch(_0x3296b2){const _0x1ba780={};return _0x1ba780[_0xbb9c3d(0x236)]=_0x36052b,_0x1ba780[_0xbb9c3d(0x22f)]=_0xbb9c3d(0x2ee),_0x1ba780['reason']=_0x3296b2[_0xbb9c3d(0x274)]||_0xbb9c3d(0x286),_0x1ba780;}}function _0x302d(_0x47d4f9,_0x4ee516){_0x47d4f9=_0x47d4f9-0x1de;const _0x58f1ab=_0x58f1();let _0x302d2b=_0x58f1ab[_0x47d4f9];if(_0x302d['QQmCDd']===undefined){var _0x11b882=function(_0x3e93d2){const _0x2bbeae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4af169='',_0x1e677f='';for(let _0x36881c=0x0,_0x3125c6,_0x48c5a0,_0x266d18=0x0;_0x48c5a0=_0x3e93d2['charAt'](_0x266d18++);~_0x48c5a0&&(_0x3125c6=_0x36881c%0x4?_0x3125c6*0x40+_0x48c5a0:_0x48c5a0,_0x36881c++%0x4)?_0x4af169+=String['fromCharCode'](0xff&_0x3125c6>>(-0x2*_0x36881c&0x6)):0x0){_0x48c5a0=_0x2bbeae['indexOf'](_0x48c5a0);}for(let _0x309d1b=0x0,_0x4bd7c3=_0x4af169['length'];_0x309d1b<_0x4bd7c3;_0x309d1b++){_0x1e677f+='%'+('00'+_0x4af169['charCodeAt'](_0x309d1b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e677f);};_0x302d['DXhjLr']=_0x11b882,_0x302d['daYlwi']={},_0x302d['QQmCDd']=!![];}const _0x43ac6a=_0x58f1ab[0x0],_0x4b2fdb=_0x47d4f9+_0x43ac6a,_0x1a638d=_0x302d['daYlwi'][_0x4b2fdb];return!_0x1a638d?(_0x302d2b=_0x302d['DXhjLr'](_0x302d2b),_0x302d['daYlwi'][_0x4b2fdb]=_0x302d2b):_0x302d2b=_0x1a638d,_0x302d2b;}async function handleUpdate(_0x1a8233){const _0x13df50=_0x3a1ca8,_0x28a62e=console[_0x13df50(0x221)];if(_0x1a8233[_0x13df50(0x1e7)])console['log']=(..._0x54f0cb)=>console[_0x13df50(0x2bf)](..._0x54f0cb);try{const _0x1874bd=await handleUpdateCore(_0x1a8233),_0x53ab39={};_0x53ab39[_0x13df50(0x22f)]=_0x13df50(0x22d),_0x53ab39[_0x13df50(0x274)]=_0x13df50(0x2f6);if(_0x1a8233[_0x13df50(0x1e7)]&&!_0x1874bd?.[_0x13df50(0x2fa)])process['stdout']['write'](JSON[_0x13df50(0x2c1)](_0x1874bd||_0x53ab39)+'\x0a');}catch(_0x3ad24b){console['error'](_0x13df50(0x201)+_0x3ad24b[_0x13df50(0x1fa)]),process['exitCode']=0x1;const _0x48a5b0={};_0x48a5b0[_0x13df50(0x22f)]=_0x13df50(0x22d),_0x48a5b0[_0x13df50(0x274)]=_0x3ad24b[_0x13df50(0x274)]||_0x13df50(0x286);if(_0x1a8233[_0x13df50(0x1e7)])process['stdout'][_0x13df50(0x211)](JSON['stringify'](_0x48a5b0)+'\x0a');}finally{console[_0x13df50(0x221)]=_0x28a62e;}}async function handleUpdateCore(_0x20a3d7){const _0x2cf694=_0x3a1ca8;if(_0x20a3d7[_0x2cf694(0x252)]){const _0x12fd0a={};_0x12fd0a[_0x2cf694(0x274)]=_0x2cf694(0x20f);if(_0x20a3d7['allProjects']||_0x20a3d7[_0x2cf694(0x1fb)])throw Object['assign'](new Error(_0x2cf694(0x326)),_0x12fd0a);const _0x29be45=await require(_0x2cf694(0x244))['controlPending'](path[_0x2cf694(0x30e)](_0x20a3d7[_0x2cf694(0x270)]||process[_0x2cf694(0x23c)]()),_0x20a3d7[_0x2cf694(0x21e)],_0x20a3d7[_0x2cf694(0x252)],getPublicKey());process['exitCode']=_0x29be45[_0x2cf694(0x22f)]==='failed'?0x1:[_0x2cf694(0x2d9),'ready-next-connection',_0x2cf694(0x2e0)][_0x2cf694(0x23a)](_0x29be45[_0x2cf694(0x22f)])?0x0:0x2;if(!_0x20a3d7[_0x2cf694(0x1e7)])console[_0x2cf694(0x221)](JSON[_0x2cf694(0x2c1)](_0x29be45));return _0x29be45;}const _0x27f5e5=path[_0x2cf694(0x262)](os['homedir'](),_0x2cf694(0x1fc),_0x2cf694(0x292));let _0xe22798;try{_0xe22798=fs[_0x2cf694(0x229)](_0x27f5e5,_0x2cf694(0x232))[_0x2cf694(0x228)]();}catch(_0x27b484){console[_0x2cf694(0x2bf)](_0x2cf694(0x242)),console[_0x2cf694(0x221)]('\x20\x20npx\x20apt-mcp-agent-setup\x20install\x20--key\x20<LICENSE_KEY>'),process[_0x2cf694(0x2ae)]=0x1;const _0x226bc9={};return _0x226bc9[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x226bc9[_0x2cf694(0x274)]=_0x2cf694(0x313),_0x226bc9;}const _0x5561cf=getFingerprint(),_0x233fb2=getPublicKey(),_0x256a5f=verifyLicense(_0xe22798,_0x5561cf,_0x233fb2);if(!_0x256a5f[_0x2cf694(0x2bb)]){_0x256a5f['reason']&&_0x256a5f[_0x2cf694(0x31c)][_0x2cf694(0x23a)](_0x2cf694(0x2a6))?console[_0x2cf694(0x2bf)](_0x2cf694(0x259)):console[_0x2cf694(0x2bf)](_0x2cf694(0x291)+_0x256a5f['reason']);process[_0x2cf694(0x2ae)]=0x1;const _0x1e4d3c={};return _0x1e4d3c[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x1e4d3c['code']=_0x2cf694(0x20a),_0x1e4d3c;}const _0x4f2bd4=_0x256a5f[_0x2cf694(0x271)],_0x1f7ff0=_0x20a3d7[_0x2cf694(0x270)]||process[_0x2cf694(0x23c)](),_0x3321a7=_0x20a3d7['preset']||_0x4f2bd4[_0x2cf694(0x1f7)],_0x24e9c3=path['join'](_0x1f7ff0,_0x2cf694(0x26a),'manifest.json');if(!fs[_0x2cf694(0x2ab)](_0x24e9c3)){console['error'](_0x2cf694(0x2c8)),console[_0x2cf694(0x221)](_0x2cf694(0x2a0)),console['log'](_0x2cf694(0x213)+_0x1f7ff0+'\x22'),process[_0x2cf694(0x2ae)]=0x1;const _0x16a283={};return _0x16a283[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x16a283[_0x2cf694(0x274)]=_0x2cf694(0x249),_0x16a283[_0x2cf694(0x236)]=_0x1f7ff0,_0x16a283;}console['log']('╔══════════════════════════════════════════╗'),console[_0x2cf694(0x221)]('║\x20\x20\x20MCP\x20Agent\x20—\x20Update\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║'),console['log'](_0x2cf694(0x2f1)),console['log'](_0x2cf694(0x2cc)+_0x4f2bd4[_0x2cf694(0x2c6)]),console[_0x2cf694(0x221)](_0x2cf694(0x1f8)+_0x3321a7),console[_0x2cf694(0x221)](_0x2cf694(0x254)+_0x1f7ff0),console['log']('');const _0x1d9856=path['resolve'](__dirname,'..');if(fs[_0x2cf694(0x2ab)](path[_0x2cf694(0x262)](_0x1d9856,_0x2cf694(0x2d3)))){const _0x1159b7=require('../src/installer/runtime-store'),_0x25fa26=require('../package.json')[_0x2cf694(0x247)];let _0x250694,_0x987995=![];try{_0x250694=process.env.APT_UPDATE_DELEGATED==='1'&&process.env.APT_VERIFIED_LATEST===_0x25fa26?_0x25fa26:(await _0x1159b7[_0x2cf694(0x29a)]())[_0x2cf694(0x247)];if(!/^\d+\.\d+\.\d+$/[_0x2cf694(0x1df)](_0x250694))throw new Error(_0x2cf694(0x253));}catch(_0x59c164){console['error'](_0x2cf694(0x1e0)+_0x59c164[_0x2cf694(0x1fa)]),process[_0x2cf694(0x2ae)]=0x1;const _0x2cd087={};return _0x2cd087[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x2cd087[_0x2cf694(0x274)]=_0x2cf694(0x240),_0x2cd087[_0x2cf694(0x236)]=_0x1f7ff0,_0x2cd087;}if(_0x250694!==_0x25fa26){if(!_0x1159b7[_0x2cf694(0x2ce)](_0x250694,_0x25fa26)){const _0x17a6ea=_0x250694[_0x2cf694(0x25e)]('.')[_0x2cf694(0x2ed)](Number),_0x45ec62=_0x25fa26['split']('.')[_0x2cf694(0x2ed)](Number);if(_0x17a6ea[0x0]===_0x45ec62[0x0]&&_0x17a6ea[_0x2cf694(0x282)](Number[_0x2cf694(0x2c4)]))_0x987995=!![],console[_0x2cf694(0x20c)]('npm\x20latest\x20is\x20'+_0x250694+_0x2cf694(0x206)+_0x25fa26+';\x20keeping\x20the\x20newer\x20local\x20runtime.');else{console[_0x2cf694(0x2bf)]('Update\x20failed:\x20npm\x20latest\x20is\x20'+_0x250694+_0x2cf694(0x206)+_0x25fa26+'.\x20A\x20major-version\x20migration\x20needs\x20a\x20compatible\x20release.'),process[_0x2cf694(0x2ae)]=0x1;const _0x4b3cba={};return _0x4b3cba[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x4b3cba[_0x2cf694(0x274)]='VERSION_INCOMPATIBLE',_0x4b3cba['projectPath']=_0x1f7ff0,_0x4b3cba;}}else try{const _0x838f88={};_0x838f88['publicKey']=_0x233fb2;const _0x5aac9c=await _0x1159b7[_0x2cf694(0x2b9)](_0x250694,_0x838f88);console['log'](_0x2cf694(0x298)+_0x250694+'\x20('+_0x5aac9c['digest']+_0x2cf694(0x30b));const _0x54fdc0=require(_0x2cf694(0x2e2))['spawnSync'](process['execPath'],[path[_0x2cf694(0x262)](_0x5aac9c[_0x2cf694(0x2aa)],_0x2cf694(0x238),_0x2cf694(0x319)),...process[_0x2cf694(0x1fd)][_0x2cf694(0x2da)](0x2)],{'stdio':_0x2cf694(0x2ac),'windowsHide':!![],'timeout':0x927c0,'env':{...process.env,'APT_UPDATE_DELEGATED':'1','APT_VERIFIED_LATEST':_0x250694}});if(_0x54fdc0[_0x2cf694(0x2bf)])throw _0x54fdc0[_0x2cf694(0x2bf)];process[_0x2cf694(0x2ae)]=_0x54fdc0[_0x2cf694(0x22f)]===null?0x1:_0x54fdc0[_0x2cf694(0x22f)];const _0x1c274e={};return _0x1c274e['delegated']=!![],_0x1c274e;}catch(_0x4d4d07){console[_0x2cf694(0x2bf)](_0x2cf694(0x2e1)+_0x4d4d07['message']),process[_0x2cf694(0x2ae)]=0x1;const _0x1594f1={};return _0x1594f1[_0x2cf694(0x22f)]=_0x2cf694(0x22d),_0x1594f1[_0x2cf694(0x274)]=_0x2cf694(0x29c),_0x1594f1[_0x2cf694(0x236)]=_0x1f7ff0,_0x1594f1;}}if(!_0x987995)console[_0x2cf694(0x221)](_0x2cf694(0x28e)+_0x250694+'.');}else console['warn'](_0x2cf694(0x234));try{installGlobalTools();}catch(_0x1cb89e){console[_0x2cf694(0x2bf)](_0x2cf694(0x308)+_0x1cb89e[_0x2cf694(0x1fa)]),process[_0x2cf694(0x2ae)]=0x1;const _0x4de0b7={};return _0x4de0b7[_0x2cf694(0x22f)]='failed',_0x4de0b7[_0x2cf694(0x274)]=_0x2cf694(0x24d),_0x4de0b7[_0x2cf694(0x236)]=_0x1f7ff0,_0x4de0b7;}const _0x419c0c=fs[_0x2cf694(0x2ab)](path[_0x2cf694(0x262)](__dirname,'../integrity-manifest.json')),_0xc30b15=_0x419c0c?require('../src/installer/runtime-store'):null,_0x4469c8={};_0x4469c8[_0x2cf694(0x216)]=_0x233fb2,_0x4469c8[_0x2cf694(0x2b8)]=![];const _0x3c5d29=_0xc30b15?_0xc30b15[_0x2cf694(0x302)](path[_0x2cf694(0x30e)](__dirname,'..'),_0x4469c8):null,_0x2f6558=runtimeLauncher(_0x233fb2,![]);let _0xfb2b8b;try{const _0x4b85da={};_0x4b85da[_0x2cf694(0x236)]=_0x1f7ff0;const _0x1f6d6d=_0x20a3d7[_0x2cf694(0x320)]?require(_0x2cf694(0x25d))['registeredProjects']()[_0x2cf694(0x285)](registrations(_0x4b85da)[_0x2cf694(0x1e6)](_0x3d8dcf=>_0x3d8dcf[_0x2cf694(0x304)])[_0x2cf694(0x2ed)](_0x4e386=>_0x4e386[_0x2cf694(0x304)]),_0x1f7ff0):[_0x1f7ff0],_0x1ac97e=[...new Set(_0x1f6d6d[_0x2cf694(0x2ed)](_0x3fba3e=>path[_0x2cf694(0x30e)](_0x3fba3e)))];_0xfb2b8b=[];for(const _0x2021d3 of _0x1ac97e)_0xfb2b8b[_0x2cf694(0x1f9)](await updateProject(_0x2021d3,{..._0x20a3d7,'launcherPath':_0x2f6558,'runtimeCandidate':_0x3c5d29,'runtimeRoot':_0xc30b15?.[_0x2cf694(0x2e6)]},_0x4f2bd4,_0x233fb2,_0xe22798,_0x3321a7));const _0x562ef5={};_0x562ef5[_0x2cf694(0x216)]=_0x233fb2,_0x562ef5[_0x2cf694(0x2b8)]=!![];if(_0xc30b15&&_0xfb2b8b[_0x2cf694(0x282)](_0x140cdd=>_0x140cdd[_0x2cf694(0x26b)]===!![]&&['active',_0x2cf694(0x258)][_0x2cf694(0x23a)](_0x140cdd[_0x2cf694(0x22f)])))_0xc30b15[_0x2cf694(0x302)](_0x3c5d29['path'],_0x562ef5);if(!_0x20a3d7[_0x2cf694(0x1e7)]){for(const _0x16f4b9 of _0xfb2b8b)console[_0x2cf694(0x221)](_0x2cf694(0x2c2)+_0x16f4b9['projectPath']+':\x20'+_0x16f4b9[_0x2cf694(0x22f)]);}if(_0xfb2b8b[_0x2cf694(0x265)](_0x31279d=>_0x31279d['status']===_0x2cf694(0x22d)))process[_0x2cf694(0x2ae)]=0x1;else{if(_0xfb2b8b['some'](_0x4b9c28=>!['active',_0x2cf694(0x258)][_0x2cf694(0x23a)](_0x4b9c28[_0x2cf694(0x22f)])))process['exitCode']=0x2;}}catch(_0x2892a1){console['error']('Update\x20failed:\x20'+_0x2892a1[_0x2cf694(0x1fa)]),process[_0x2cf694(0x2ae)]=0x1;const _0x434c61={};return _0x434c61['status']=_0x2cf694(0x22d),_0x434c61[_0x2cf694(0x274)]=_0x2892a1[_0x2cf694(0x274)]||_0x2cf694(0x286),_0x434c61[_0x2cf694(0x236)]=_0x1f7ff0,_0x434c61;}const _0x289d28={};_0x289d28['presetName']=_0x3321a7,ensureStitchAuthentication(_0x289d28);if(!_0x20a3d7['json'])for(const _0x565a1a of _0xfb2b8b){if(_0x565a1a['status']===_0x2cf694(0x2d9))console[_0x2cf694(0x221)]('MCP\x20runtime\x20'+_0x565a1a[_0x2cf694(0x235)]?.[_0x2cf694(0x247)]+_0x2cf694(0x2cf)+_0x565a1a[_0x2cf694(0x236)]+_0x2cf694(0x30c));else{if(_0x565a1a[_0x2cf694(0x22f)]===_0x2cf694(0x258))console[_0x2cf694(0x221)](_0x2cf694(0x324)+_0x565a1a[_0x2cf694(0x235)]?.[_0x2cf694(0x247)]+_0x2cf694(0x299)+_0x565a1a[_0x2cf694(0x236)]+'.');else console[_0x2cf694(0x20c)](_0x2cf694(0x1f4)+_0x565a1a[_0x2cf694(0x236)]+':\x20'+_0x565a1a[_0x2cf694(0x22f)]+'.\x20'+(_0x565a1a[_0x2cf694(0x31c)]||_0x565a1a[_0x2cf694(0x267)]?.[_0x2cf694(0x2ed)](_0x1c6d29=>_0x1c6d29[_0x2cf694(0x274)])[_0x2cf694(0x262)](',\x20')||''));}}if(!process[_0x2cf694(0x2ae)])console[_0x2cf694(0x221)](_0x2cf694(0x2f2));return console[_0x2cf694(0x221)](''),console[_0x2cf694(0x221)](_0x2cf694(0x231)),{'status':process[_0x2cf694(0x2ae)]?_0x2cf694(0x2ee):_0x2cf694(0x303),'version':require(_0x2cf694(0x219))[_0x2cf694(0x247)],'latestConfirmed':fs[_0x2cf694(0x2ab)](path[_0x2cf694(0x262)](__dirname,_0x2cf694(0x2fd))),'results':_0xfb2b8b,'exitCode':process[_0x2cf694(0x2ae)]||0x0};}function handleRegistrations(_0x1bf8cb){const _0x5ac9c9=_0x3a1ca8,_0x3de2db=cleanupPlan({'projectPath':_0x1bf8cb['project']||process['cwd']()});if(_0x1bf8cb['apply']){if(!fs['existsSync'](_0x1bf8cb[_0x5ac9c9(0x1ec)]))throw new Error(_0x5ac9c9(0x239));const _0x50cece=JSON['parse'](fs[_0x5ac9c9(0x229)](_0x1bf8cb[_0x5ac9c9(0x1ec)],_0x5ac9c9(0x232))),_0xba83=applyCleanup(_0x50cece,_0x1bf8cb);console['log'](_0x1bf8cb[_0x5ac9c9(0x1e7)]?JSON[_0x5ac9c9(0x2c1)](_0xba83,null,0x2):_0x5ac9c9(0x2a9)+_0xba83['applied'][_0x5ac9c9(0x24a)]+_0x5ac9c9(0x2a4));return;}if(_0x1bf8cb[_0x5ac9c9(0x22b)]||!_0x1bf8cb[_0x5ac9c9(0x1ec)])console[_0x5ac9c9(0x221)](_0x1bf8cb[_0x5ac9c9(0x1e7)]?JSON['stringify'](_0x3de2db,null,0x2):_0x3de2db[_0x5ac9c9(0x2eb)]['length']?_0x3de2db[_0x5ac9c9(0x2eb)][_0x5ac9c9(0x2ed)](_0x5c3efd=>_0x5c3efd[_0x5ac9c9(0x22c)]+'\x20'+_0x5c3efd[_0x5ac9c9(0x325)]+_0x5ac9c9(0x255)+_0x5c3efd[_0x5ac9c9(0x304)]+'\x20('+(_0x5c3efd[_0x5ac9c9(0x2b0)]==='receipt-confirmed'?_0x5ac9c9(0x237):'unowned;\x20manual\x20review\x20only')+')')['join']('\x0a'):_0x5ac9c9(0x214));}async function handleNotices(){const _0x140426=_0x3a1ca8,{decrypt:_0x3dc327}=require('../src/license/crypto.js'),_0x41d9aa=path[_0x140426(0x262)](__dirname,_0x140426(0x316));if(!fs[_0x140426(0x2ab)](_0x41d9aa)){console[_0x140426(0x2bf)](_0x140426(0x322)),process[_0x140426(0x2ad)](0x1);return;}try{const _0x209fc2=fs['readFileSync'](_0x41d9aa),_0x4ba0fa=_0x3dc327(_0x209fc2,_0x140426(0x1f0));console['log'](_0x4ba0fa['toString'](_0x140426(0x232)));}catch(_0x2e4da6){console['error'](_0x140426(0x2b2),_0x2e4da6[_0x140426(0x1fa)]),process['exit'](0x1);}}async function main(){const _0x82a4d7=_0x3a1ca8;try{require('../src/core/node-version')[_0x82a4d7(0x1f5)]();}catch(_0x268835){if(!process['argv']['includes'](_0x82a4d7(0x29d)))throw _0x268835;const _0x58a088={};_0x58a088['status']=_0x82a4d7(0x22d),_0x58a088[_0x82a4d7(0x274)]=_0x268835[_0x82a4d7(0x274)],_0x58a088['error']=_0x268835['message'],_0x58a088[_0x82a4d7(0x25f)]=_0x268835[_0x82a4d7(0x25f)],_0x58a088[_0x82a4d7(0x25a)]=_0x268835[_0x82a4d7(0x25a)],console[_0x82a4d7(0x221)](JSON[_0x82a4d7(0x2c1)](_0x58a088)),process[_0x82a4d7(0x2ae)]=0x1;return;}if(process['argv']['includes']('--terms')){const {EULA_TEXT:_0x5bf6cd}=require('../src/license/terms.js');console[_0x82a4d7(0x221)](_0x5bf6cd);return;}if(process['argv'][_0x82a4d7(0x23a)]('--notices')){await handleNotices();return;}const {command:_0x26e7b3,options:_0x40d528}=parseArgs();switch(_0x26e7b3){case _0x82a4d7(0x263):const {EULA_TEXT:_0x4f4094}=require(_0x82a4d7(0x31b));console[_0x82a4d7(0x221)](_0x4f4094);break;case _0x82a4d7(0x1e4):await handleNotices();break;case _0x82a4d7(0x268):handleInit();break;case'doctor':console[_0x82a4d7(0x221)](JSON['stringify'](await require('../src/core/doctor')['doctorLive'](_0x40d528['project']||process[_0x82a4d7(0x23c)]()),null,0x2));break;case _0x82a4d7(0x22f):handleStatus();break;case'install':await handleInstall(_0x40d528);break;case'activate':await handleActivate(_0x40d528);break;case'update':await handleUpdate(_0x40d528);break;case _0x82a4d7(0x28f):await runSetupWizard(_0x40d528[_0x82a4d7(0x270)]||process[_0x82a4d7(0x23c)]());break;case'mcp':if(process[_0x82a4d7(0x1fd)][0x3]==='registrations'){const _0x5d9e5e=registrations({'projectPath':_0x40d528[_0x82a4d7(0x270)]||process[_0x82a4d7(0x23c)]()});console[_0x82a4d7(0x221)](_0x40d528[_0x82a4d7(0x1e7)]?JSON['stringify'](_0x5d9e5e,null,0x2):_0x5d9e5e[_0x82a4d7(0x2ed)](_0x5a4317=>_0x5a4317['host']+'\x20'+_0x5a4317[_0x82a4d7(0x2f4)]+'\x20'+_0x5a4317[_0x82a4d7(0x325)]+'\x20'+(_0x5a4317['workspace']||'(global)'))[_0x82a4d7(0x262)]('\x0a'));}else{if(process['argv'][0x3]===_0x82a4d7(0x1e5))handleRegistrations(_0x40d528);else{if(process[_0x82a4d7(0x1fd)][0x3]==='migration'){const _0x31e1e5=require(_0x82a4d7(0x27c)),_0xe5b277=_0x40d528[_0x82a4d7(0x1ec)]?await _0x31e1e5[_0x82a4d7(0x312)](JSON['parse'](fs['readFileSync'](_0x40d528[_0x82a4d7(0x1ec)],_0x82a4d7(0x232)))):_0x31e1e5['migrationPlan']({'projectPaths':[_0x40d528['project']||process['cwd']()]});console[_0x82a4d7(0x221)](JSON[_0x82a4d7(0x2c1)](_0xe5b277,null,0x2)),process['exitCode']=[_0x82a4d7(0x22d)][_0x82a4d7(0x23a)](_0xe5b277[_0x82a4d7(0x22f)])?0x1:[_0x82a4d7(0x279),'reconnect-required',_0x82a4d7(0x2a1),_0x82a4d7(0x2be),'blocked'][_0x82a4d7(0x23a)](_0xe5b277[_0x82a4d7(0x22f)])?0x2:0x0;}else throw new Error(_0x82a4d7(0x1e2));}}break;default:console['error']('Unknown\x20command:\x20'+(_0x26e7b3||'')),console[_0x82a4d7(0x221)](_0x82a4d7(0x275)),console['log']('\x20\x20npx\x20apt-mcp-agent-setup\x20init'),console[_0x82a4d7(0x221)](_0x82a4d7(0x294)),console[_0x82a4d7(0x221)](_0x82a4d7(0x2fb)),console[_0x82a4d7(0x221)](_0x82a4d7(0x317)),console[_0x82a4d7(0x221)](_0x82a4d7(0x2dc)),console[_0x82a4d7(0x221)]('\x20\x20npx\x20apt-mcp-agent-setup\x20update\x20--project\x20<PATH>\x20--resume-transaction\x20<ID>\x20[--json]'),console[_0x82a4d7(0x221)](_0x82a4d7(0x273)),console[_0x82a4d7(0x221)](_0x82a4d7(0x23e)),console['log'](_0x82a4d7(0x233)),console[_0x82a4d7(0x221)](_0x82a4d7(0x2d8)),console[_0x82a4d7(0x221)](_0x82a4d7(0x310)),console[_0x82a4d7(0x221)](_0x82a4d7(0x27d)),console[_0x82a4d7(0x221)](_0x82a4d7(0x246)),console[_0x82a4d7(0x221)](_0x82a4d7(0x269)),process[_0x82a4d7(0x2ad)](0x1);}}main()[_0x3a1ca8(0x2ef)](()=>{const _0x433561=_0x3a1ca8;process[_0x433561(0x2ad)](process[_0x433561(0x2ae)]||0x0);})[_0x3a1ca8(0x1e1)](_0x1a26ba=>{const _0x1804e3=_0x3a1ca8;console[_0x1804e3(0x2bf)](_0x1804e3(0x26d),_0x1a26ba[_0x1804e3(0x1fa)]),process[_0x1804e3(0x2ad)](0x1);});
2
+ const _0x569465=_0x1f67;(function(_0x2c6067,_0x549ffa){const _0x2eb548=_0x1f67,_0x346f28=_0x2c6067();while(!![]){try{const _0x4bbbce=-parseInt(_0x2eb548(0x1d8))/0x1*(-parseInt(_0x2eb548(0x166))/0x2)+parseInt(_0x2eb548(0x212))/0x3*(-parseInt(_0x2eb548(0x1a3))/0x4)+parseInt(_0x2eb548(0x108))/0x5*(parseInt(_0x2eb548(0x19e))/0x6)+parseInt(_0x2eb548(0x128))/0x7+parseInt(_0x2eb548(0x1c2))/0x8*(parseInt(_0x2eb548(0x120))/0x9)+-parseInt(_0x2eb548(0x150))/0xa*(-parseInt(_0x2eb548(0x139))/0xb)+-parseInt(_0x2eb548(0x1ba))/0xc*(parseInt(_0x2eb548(0x16c))/0xd);if(_0x4bbbce===_0x549ffa)break;else _0x346f28['push'](_0x346f28['shift']());}catch(_0x1c1d56){_0x346f28['push'](_0x346f28['shift']());}}}(_0x2cae,0x73d9a));const fs=require('fs'),path=require(_0x569465(0x22a)),os=require('os'),readline=require(_0x569465(0x19c)),http=require(_0x569465(0x1ec)),https=require(_0x569465(0x121)),{getFingerprint}=require('../src/license/fingerprint.js'),{verifyLicense}=require(_0x569465(0x23e)),{checkPrerequisites}=require(_0x569465(0x175)),{installGlobalTools}=require(_0x569465(0x1c7)),{deployProject,ensureStitchAuthentication}=require(_0x569465(0x15b)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require('../src/installer/platform-config.js'),{runSetupWizard}=require(_0x569465(0xf1)),{registrations,cleanupPlan,applyCleanup}=require(_0x569465(0x187));function runtimeLauncher(_0x46d725,_0x388cab=!![]){const _0x4062d6=_0x569465,_0x99d014=path[_0x4062d6(0x1d2)](__dirname,'..');if(!fs[_0x4062d6(0xfb)](path[_0x4062d6(0x185)](_0x99d014,_0x4062d6(0x16b))))return console[_0x4062d6(0x18a)]('Development\x20checkout:\x20automatic\x20runtime\x20updates\x20require\x20a\x20signed\x20package.'),path[_0x4062d6(0x185)](_0x99d014,_0x4062d6(0xe8));const _0x5ad278=require(_0x4062d6(0x210)),_0x25b6ce={};_0x25b6ce[_0x4062d6(0xf2)]=_0x46d725,_0x25b6ce[_0x4062d6(0x205)]=_0x388cab;const _0x2e6c6c=_0x5ad278[_0x4062d6(0x15d)](_0x99d014,_0x25b6ce),_0x14ec54={};_0x14ec54[_0x4062d6(0xf2)]=_0x46d725,_0x14ec54['activate']=!![];if(!_0x388cab&&!fs[_0x4062d6(0xfb)](path[_0x4062d6(0x185)](_0x5ad278[_0x4062d6(0xf0)],_0x4062d6(0x1a9))))return _0x5ad278['installRuntime'](_0x2e6c6c[_0x4062d6(0x22a)],_0x14ec54)[_0x4062d6(0xf3)];return _0x2e6c6c[_0x4062d6(0xf3)];}function reportInstalledRuntime(_0x6eb97e){const _0x5ea6fe=_0x569465;if(!fs[_0x5ea6fe(0xfb)](path['join'](__dirname,_0x5ea6fe(0x197))))return!![];return require(_0x5ea6fe(0x22d))['reportRuntimeActivation'](_0x6eb97e);}function parseArgs(){const _0x556249=_0x569465,_0x3b2899=process[_0x556249(0x1b5)]['slice'](0x2),_0x3af3b1=_0x3b2899[0x0],_0x4bb205={};for(let _0x3b8fcc=0x1;_0x3b8fcc<_0x3b2899['length'];_0x3b8fcc++){if(_0x3b2899[_0x3b8fcc]==='--key'||_0x3b2899[_0x3b8fcc]==='-k')_0x4bb205[_0x556249(0x178)]=_0x3b2899[_0x3b8fcc+0x1],_0x3b8fcc++;else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x19f)||_0x3b2899[_0x3b8fcc]==='-p')_0x4bb205['preset']=_0x3b2899[_0x3b8fcc+0x1],_0x3b8fcc++;else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x19a))_0x4bb205[_0x556249(0x1da)]=_0x3b2899[_0x3b8fcc+0x1],_0x3b8fcc++;else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x1c3))_0x4bb205[_0x556249(0x20a)]=!![];else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x17e))_0x4bb205[_0x556249(0x23f)]=!![];else{if(_0x3b2899[_0x3b8fcc]==='--wait')_0x4bb205[_0x556249(0x1ea)]=Number(_0x3b2899[_0x3b8fcc+0x1]),_0x3b8fcc++;else{if([_0x556249(0x10c),_0x556249(0xeb),_0x556249(0xef)][_0x556249(0x11a)](_0x3b2899[_0x3b8fcc])){const _0x575a22={};_0x575a22['code']='INVALID_UPDATE_ACTION';if(_0x4bb205[_0x556249(0x1f9)]||!_0x3b2899[_0x3b8fcc+0x1]||_0x3b2899[_0x3b8fcc+0x1]['startsWith']('--'))throw Object[_0x556249(0x1a5)](new Error(_0x556249(0x158)),_0x575a22);_0x4bb205[_0x556249(0x1f9)]=_0x3b2899[_0x3b8fcc][_0x556249(0x1a4)](0x2)[_0x556249(0x138)]('-')[0x0],_0x4bb205[_0x556249(0x1c5)]=_0x3b2899[++_0x3b8fcc];}else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x134))_0x4bb205[_0x556249(0x1bf)]=!![];else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x1ce))_0x4bb205[_0x556249(0x236)]=_0x3b2899[_0x3b8fcc+0x1],_0x3b8fcc++;else{if(_0x3b2899[_0x3b8fcc]===_0x556249(0x105))_0x4bb205['dryRun']=!![];else _0x3b2899[_0x3b8fcc]===_0x556249(0x1dd)&&(_0x4bb205[_0x556249(0x140)]=_0x3b2899[_0x3b8fcc+0x1],_0x3b8fcc++);}}}}}}}}}}const _0x1383d4={};return _0x1383d4[_0x556249(0x226)]=_0x3af3b1,_0x1383d4[_0x556249(0x151)]=_0x4bb205,_0x1383d4;}function getPublicKey(){const _0x49ab6a=_0x569465;if(process.env.MCP_ADMIN_DIR){const _0x345f24=path[_0x49ab6a(0x185)](process.env.MCP_ADMIN_DIR,_0x49ab6a(0x156));if(fs[_0x49ab6a(0xfb)](_0x345f24))return fs[_0x49ab6a(0xf4)](_0x345f24,_0x49ab6a(0x1fd))[_0x49ab6a(0x1fe)]();}let _0x33d754=path[_0x49ab6a(0x185)](__dirname,'../admin/master.public.pem');if(fs[_0x49ab6a(0xfb)](_0x33d754))return fs[_0x49ab6a(0xf4)](_0x33d754,'utf8')['trim']();_0x33d754=path[_0x49ab6a(0x185)](__dirname,'../../admin/master.public.pem');if(fs[_0x49ab6a(0xfb)](_0x33d754))return fs['readFileSync'](_0x33d754,'utf8')[_0x49ab6a(0x1fe)]();return require(_0x49ab6a(0x23e))['PRODUCTION_PUBLIC_KEY'];}function handleInit(){const _0x392270=_0x569465,_0x40a584=getFingerprint();console[_0x392270(0x14f)]('Your\x20Device\x20ID:\x20'+_0x40a584);}function handleStatus(){const _0x3bf2ac=_0x569465,_0x42f037=path['join'](os[_0x3bf2ac(0x103)](),_0x3bf2ac(0x147),_0x3bf2ac(0x1f6));let _0x218eb6;try{_0x218eb6=fs[_0x3bf2ac(0xf4)](_0x42f037,_0x3bf2ac(0x1fd))[_0x3bf2ac(0x1fe)]();}catch(_0x47d640){console[_0x3bf2ac(0x1d0)](_0x3bf2ac(0x1bc)),process[_0x3bf2ac(0x216)](0x1);return;}const _0x3c5627=getFingerprint(),_0x7e234f=getPublicKey(),_0x58da42=verifyLicense(_0x218eb6,_0x3c5627,_0x7e234f);!_0x58da42[_0x3bf2ac(0x10b)]&&(console['error']('License\x20key\x20verification\x20failed:\x20'+_0x58da42[_0x3bf2ac(0x186)]),process['exit'](0x1));const _0xffd628=_0x58da42[_0x3bf2ac(0x1b2)];console[_0x3bf2ac(0x14f)](_0x3bf2ac(0x1f7)),console[_0x3bf2ac(0x14f)]('================================'),console[_0x3bf2ac(0x14f)](_0x3bf2ac(0x1e2)),console[_0x3bf2ac(0x14f)](_0x3bf2ac(0x1fc)+_0xffd628['user']),console[_0x3bf2ac(0x14f)]('Preset:\x20\x20\x20\x20\x20\x20'+_0xffd628[_0x3bf2ac(0x176)]),console['log'](_0x3bf2ac(0x201)+_0xffd628['device']),console[_0x3bf2ac(0x14f)](_0x3bf2ac(0x10f)+new Date(_0xffd628[_0x3bf2ac(0x13a)])[_0x3bf2ac(0x214)]());}function extractKeyId(_0x3cce7e){const _0x699664=_0x569465;try{const _0x54f53d=_0x3cce7e[_0x699664(0x138)]('.'),_0x3ad3f5=JSON['parse'](Buffer[_0x699664(0x229)](_0x54f53d[0x1],'base64url')[_0x699664(0x13d)](_0x699664(0x1fd)));return _0x3ad3f5[_0x699664(0x135)]||_0x3ad3f5[_0x699664(0x23c)];}catch(_0x4663ee){return null;}}function httpRequest(_0x26afe9,_0xd81e7f={}){return new Promise((_0x33251e,_0x11f02b)=>{const _0xb0202b=_0x1f67;try{const _0x4c4552=new URL(_0x26afe9),_0x1c8640=_0x4c4552[_0xb0202b(0x1be)]==='https:'?https:http,_0x3a5aca={'User-Agent':_0xb0202b(0xfa)+process[_0xb0202b(0xfe)]+')',..._0xd81e7f[_0xb0202b(0x1d7)]},_0x50ec23=_0x3a5aca;if(_0xd81e7f[_0xb0202b(0x227)]){const _0x5cb058=typeof _0xd81e7f[_0xb0202b(0x227)]==='string'?_0xd81e7f[_0xb0202b(0x227)]:JSON[_0xb0202b(0xec)](_0xd81e7f['body']);!_0x50ec23['Content-Length']&&!_0x50ec23['content-length']&&(_0x50ec23[_0xb0202b(0x148)]=Buffer[_0xb0202b(0xfc)](_0x5cb058));}const _0x96a269={};_0x96a269[_0xb0202b(0x1b7)]=_0xd81e7f[_0xb0202b(0x1b7)]||_0xb0202b(0x1b4),_0x96a269[_0xb0202b(0x202)]=_0x4c4552['hostname'],_0x96a269[_0xb0202b(0x235)]=_0x4c4552[_0xb0202b(0x235)]||(_0x4c4552[_0xb0202b(0x1be)]==='https:'?0x1bb:0x50),_0x96a269[_0xb0202b(0x22a)]=_0x4c4552['pathname']+_0x4c4552['search'],_0x96a269['headers']=_0x50ec23;const _0x48ec3b=_0x96a269,_0x555a9f=_0x1c8640[_0xb0202b(0x1d3)](_0x48ec3b,_0x339d99=>{const _0x57c330=_0xb0202b;let _0x1c22ae='';_0x339d99['on'](_0x57c330(0x17d),_0x211456=>{_0x1c22ae+=_0x211456;}),_0x339d99['on']('end',()=>{const _0x1cf8de=_0x57c330;_0x33251e({'ok':_0x339d99['statusCode']>=0xc8&&_0x339d99[_0x1cf8de(0x1c1)]<0x12c,'status':_0x339d99[_0x1cf8de(0x1c1)],'json':async()=>JSON['parse'](_0x1c22ae),'text':async()=>_0x1c22ae});});});_0x555a9f['on'](_0xb0202b(0x1d0),_0x5d8c44=>{_0x11f02b(_0x5d8c44);}),_0xd81e7f['body']&&_0x555a9f[_0xb0202b(0x145)](_0xd81e7f[_0xb0202b(0x227)]),_0x555a9f[_0xb0202b(0x127)]();}catch(_0x4615ff){_0x11f02b(_0x4615ff);}});}async function activateLicense(_0x315dc3,_0x2125f6){const _0x6c82b2=_0x569465,_0xcb2f79=extractKeyId(_0x315dc3);if(!_0xcb2f79)throw new Error('Invalid\x20license\x20key\x20format');const _0x547d14=process.env.MCP_ACTIVATION_URL||_0x6c82b2(0x211),_0x32229c=_0x547d14+_0x6c82b2(0x15f),_0x33047f={};_0x33047f[_0x6c82b2(0x18b)]='application/json';const _0x559e34={};_0x559e34[_0x6c82b2(0x23c)]=_0xcb2f79,_0x559e34[_0x6c82b2(0x196)]=_0x2125f6;const _0x3104a1=await httpRequest(_0x32229c,{'method':_0x6c82b2(0x162),'headers':_0x33047f,'body':JSON[_0x6c82b2(0xec)](_0x559e34)});if(!_0x3104a1['ok']){let _0x3b5a6c=_0x6c82b2(0x1b3)+_0x3104a1[_0x6c82b2(0x174)];try{const _0x2ce700=await _0x3104a1[_0x6c82b2(0x1bf)]();if(_0x2ce700&&_0x2ce700[_0x6c82b2(0x1d0)])_0x3b5a6c=_0x2ce700[_0x6c82b2(0x1d0)];}catch(_0x274757){}throw new Error(_0x3b5a6c);}const _0x43c445=await _0x3104a1[_0x6c82b2(0x1bf)]();if(!_0x43c445||!_0x43c445[_0x6c82b2(0x167)])throw new Error(_0x6c82b2(0x1e9));return _0x43c445[_0x6c82b2(0x167)];}async function handleActivate(_0x2cb640){const _0x14eaee=_0x569465,_0x5ac29a=_0x2cb640['key'];!_0x5ac29a&&(console[_0x14eaee(0x1d0)](_0x14eaee(0x21f)),console[_0x14eaee(0x14f)](_0x14eaee(0x1e7)),console[_0x14eaee(0x14f)](_0x14eaee(0x23a)),process[_0x14eaee(0x216)](0x1));const _0x12e4b7=getFingerprint(),_0x535532=getPublicKey(),_0x25d924=verifyLicense(_0x5ac29a,null,_0x535532);!_0x25d924['valid']&&(console[_0x14eaee(0x1d0)]('License\x20verification\x20failed:\x20'+_0x25d924[_0x14eaee(0x186)]),process['exit'](0x1));try{console['log'](_0x14eaee(0x231));const _0x4bb5f1=await activateLicense(_0x5ac29a,_0x12e4b7),_0x231a35=path[_0x14eaee(0x185)](os[_0x14eaee(0x103)](),_0x14eaee(0x147),_0x14eaee(0x1f6)),_0x3f7270={};_0x3f7270['recursive']=!![],fs[_0x14eaee(0x14a)](path[_0x14eaee(0x177)](_0x231a35),_0x3f7270),fs['writeFileSync'](_0x231a35,_0x4bb5f1,_0x14eaee(0x1fd)),console[_0x14eaee(0x14f)](_0x14eaee(0x1d6)+_0x231a35);}catch(_0x5990f1){console[_0x14eaee(0x1d0)]('Activation\x20failed:\x20'+_0x5990f1[_0x14eaee(0x21c)]),process[_0x14eaee(0x216)](0x1);}}function askQuestion(_0x1f81cf){const _0x47a1c5=_0x569465,_0x294ce5={};_0x294ce5[_0x47a1c5(0x1bd)]=process['stdin'],_0x294ce5[_0x47a1c5(0x13b)]=process[_0x47a1c5(0x1a2)];const _0x7a8be5=readline[_0x47a1c5(0x223)](_0x294ce5);return new Promise(_0x10fd03=>_0x7a8be5[_0x47a1c5(0x1a1)](_0x1f81cf,_0xe96e02=>{const _0x327965=_0x47a1c5;_0x7a8be5[_0x327965(0x1e3)](),process[_0x327965(0x188)][_0x327965(0x11d)](),_0x10fd03(_0xe96e02);}));}async function handleInstall(_0x581b0){const _0x65f803=_0x569465,_0x1f0624=_0x581b0[_0x65f803(0x178)];if(!_0x1f0624){console[_0x65f803(0x1d0)](_0x65f803(0x21f)),console['log'](_0x65f803(0x1e7)),console[_0x65f803(0x14f)]('\x20\x20node\x20bin/cli.js\x20install\x20--key\x20<LICENSE_KEY>\x20[--preset\x20<PRESET>]\x20[--project\x20<PATH>]'),process[_0x65f803(0x216)](0x1);return;}console[_0x65f803(0x14f)]('By\x20continuing,\x20you\x20agree\x20to\x20the\x20Terms\x20of\x20Service\x20at\x20https://agentkit.alphatechs.ai/terms.');const _0xbad8ca=await askQuestion(_0x65f803(0x154));if(_0xbad8ca[_0x65f803(0x1fe)]()[_0x65f803(0x1ad)]()!==_0x65f803(0x1b6)){console['error'](_0x65f803(0x20c)),process[_0x65f803(0x216)](0x1);return;}const _0x4a41be=extractKeyId(_0x1f0624),_0x24c620=path[_0x65f803(0x185)](os[_0x65f803(0x103)](),'.anhdh',_0x65f803(0x225)),_0x22e61d=new Date()[_0x65f803(0x214)]()+_0x65f803(0x206)+(_0x4a41be||'unknown')+_0x65f803(0x16f);try{const _0x5dba03={};_0x5dba03[_0x65f803(0x100)]=!![],fs[_0x65f803(0x14a)](path['dirname'](_0x24c620),_0x5dba03),fs[_0x65f803(0x23b)](_0x24c620,_0x22e61d,_0x65f803(0x1fd));}catch(_0x5a180c){console['warn'](_0x65f803(0xe9)+_0x5a180c['message']);}const _0x198c19=getFingerprint(),_0x35add3=getPublicKey(),_0x306723=verifyLicense(_0x1f0624,null,_0x35add3);!_0x306723['valid']&&(console[_0x65f803(0x1d0)](_0x65f803(0x183)+_0x306723['reason']),process[_0x65f803(0x216)](0x1));let _0x11f7f9;try{console['log']('Activating\x20license\x20key\x20online...'),_0x11f7f9=await activateLicense(_0x1f0624,_0x198c19);}catch(_0x53b3be){console[_0x65f803(0x1d0)](_0x65f803(0x136)+_0x53b3be[_0x65f803(0x21c)]),process[_0x65f803(0x216)](0x1);}const _0x3a226f=verifyLicense(_0x11f7f9,_0x198c19,_0x35add3);!_0x3a226f['valid']&&(console[_0x65f803(0x1d0)]('Activated\x20token\x20validation\x20failed:\x20'+_0x3a226f[_0x65f803(0x186)]),process['exit'](0x1));const _0x449d87=checkPrerequisites();!_0x449d87['success']&&(console['error'](_0x65f803(0xea)),_0x449d87[_0x65f803(0x165)]['forEach'](_0x2129c7=>console[_0x65f803(0x1d0)]('-\x20'+_0x2129c7)),process['exit'](0x1));try{installGlobalTools();}catch(_0x598cc7){console[_0x65f803(0x1d0)](_0x65f803(0x117)+_0x598cc7[_0x65f803(0x21c)]),process[_0x65f803(0x216)](0x1);}const _0x396e6f=_0x581b0[_0x65f803(0x1da)]||process[_0x65f803(0xf9)](),_0x4f7725=_0x581b0[_0x65f803(0x176)]||_0x3a226f[_0x65f803(0x1b2)][_0x65f803(0x176)],_0x41e8e5=runtimeLauncher(_0x35add3);try{deployProject({'licenseKey':_0x11f7f9,'projectPath':_0x396e6f,'presetName':_0x4f7725,'deviceId':_0x198c19,'masterSecret':_0x35add3,'runtimeLauncherPath':_0x41e8e5,'mcpConfigTargets':[],'bundleDir':path[_0x65f803(0x185)](__dirname,_0x65f803(0x15c))});}catch(_0x427316){console['error']('Project\x20setup\x20deployment\x20failed:\x20'+_0x427316['message']),process['exit'](0x1);}let _0x35fcf3=null;try{console[_0x65f803(0x14f)](_0x65f803(0x1e0));const _0x4fbeb9=detectInstalledIDEs(),_0x387256=[],_0x44560f=[];for(const [_0x456429,_0x38a14e]of Object[_0x65f803(0x237)](_0x4fbeb9)){_0x38a14e['detected']?(_0x387256['push'](_0x456429),console[_0x65f803(0x14f)](_0x65f803(0x200)+_0x38a14e[_0x65f803(0x228)]+_0x65f803(0x14b)+_0x38a14e[_0x65f803(0x1b7)])):(_0x44560f[_0x65f803(0x119)](_0x456429),console[_0x65f803(0x14f)](_0x65f803(0x170)+_0x38a14e[_0x65f803(0x228)]+_0x65f803(0x1d9)));}let _0x32745b=_0x387256;if(_0x387256[_0x65f803(0x164)]>0x0){console['log']('\x0aWill\x20configure\x20MCP\x20for:\x20'+_0x387256[_0x65f803(0x239)](_0x407d00=>_0x4fbeb9[_0x407d00][_0x65f803(0x228)])['join'](',\x20'));const _0x5e7836=await askQuestion('Confirm?\x20[Y/n/edit]\x20(default:\x20Y):\x20'),_0x2c7420=_0x5e7836[_0x65f803(0x1fe)]()['toLowerCase']();if(_0x2c7420==='n'||_0x2c7420==='no')console[_0x65f803(0x14f)](_0x65f803(0xfd)),_0x32745b=[];else{if(_0x2c7420===_0x65f803(0x12f)){const _0x4e16a8=Object[_0x65f803(0x237)](_0x4fbeb9);console[_0x65f803(0x14f)]('\x0aSelect\x20IDEs\x20to\x20configure\x20(comma-separated\x20numbers):'),_0x4e16a8['forEach'](([_0x44d727,_0x53ae9f],_0x359c53)=>{const _0x5dc663=_0x65f803,_0x25492c=_0x53ae9f['detected']?'✅':'❌';console[_0x5dc663(0x14f)]('\x20\x20'+(_0x359c53+0x1)+')\x20'+_0x25492c+'\x20'+_0x53ae9f[_0x5dc663(0x228)]);});const _0x42673e=await askQuestion(_0x65f803(0x161));_0x32745b=_0x42673e[_0x65f803(0x138)](',')[_0x65f803(0x239)](_0x4ab51a=>{const _0x3c8ab5=_0x65f803,_0x4648c9=parseInt(_0x4ab51a[_0x3c8ab5(0x1fe)](),0xa)-0x1;return _0x4e16a8[_0x4648c9]?_0x4e16a8[_0x4648c9][0x0]:null;})[_0x65f803(0x1cf)](Boolean);}}}else console[_0x65f803(0x14f)](_0x65f803(0x152)),console[_0x65f803(0x14f)](_0x65f803(0x104));if(_0x32745b['length']>0x0){const _0xe11391={};_0xe11391['projectPath']=_0x396e6f,_0xe11391['mcpScope']=_0x581b0[_0x65f803(0x236)]||_0x65f803(0x191);const _0x1bc7ca=configureMultipleIDEs(_0x32745b,_0x41e8e5,_0xe11391),_0x290327=_0x1bc7ca['filter'](_0x2d15a3=>_0x2d15a3['success'])['length'];console['log']('\x0a'+_0x290327+'/'+_0x32745b['length']+_0x65f803(0x1ca)),_0x35fcf3=_0x1bc7ca[_0x65f803(0x1a7)](_0x2460e1=>_0x2460e1[_0x65f803(0x1af)]===_0x65f803(0x141)&&!_0x2460e1[_0x65f803(0x238)])?.[_0x65f803(0x1d0)]||null;}}catch(_0x2b55ef){console['warn']('Warning:\x20IDE\x20auto-detection\x20failed:\x20'+_0x2b55ef[_0x65f803(0x21c)]);try{const _0x13feaf={};_0x13feaf[_0x65f803(0x1b1)]=_0x396e6f,_0x13feaf[_0x65f803(0x236)]=_0x581b0['mcpScope']||_0x65f803(0x191),configureIDE(_0x65f803(0x141),_0x41e8e5,_0x13feaf);}catch(_0x1e623f){console[_0x65f803(0x18a)](_0x65f803(0x131)+_0x1e623f[_0x65f803(0x21c)]),_0x35fcf3=_0x1e623f[_0x65f803(0x21c)];}try{const _0x4eaf63={};_0x4eaf63[_0x65f803(0x1b1)]=_0x396e6f,_0x4eaf63[_0x65f803(0x236)]=_0x581b0['mcpScope']||'auto',configureIDE(_0x65f803(0x22f),_0x41e8e5,_0x4eaf63);}catch(_0x3afb38){console[_0x65f803(0x18a)](_0x65f803(0x180)+_0x3afb38[_0x65f803(0x21c)]);}}const _0x12959d=path['join'](os['homedir'](),_0x65f803(0x147),_0x65f803(0x1f6));try{const _0x18e8a9={};_0x18e8a9['recursive']=!![],fs['mkdirSync'](path[_0x65f803(0x177)](_0x12959d),_0x18e8a9),fs[_0x65f803(0x172)](_0x12959d,_0x11f7f9,_0x65f803(0x1fd)),console[_0x65f803(0x14f)](_0x65f803(0x16e)+_0x12959d);}catch(_0x4d9e45){console[_0x65f803(0x1d0)]('Failed\x20to\x20save\x20license\x20key\x20file:\x20'+_0x4d9e45[_0x65f803(0x21c)]),process['exit'](0x1);}_0x35fcf3&&(console[_0x65f803(0x1d0)](_0x65f803(0x1de)+_0x35fcf3),process['exitCode']=0x2);if(!reportInstalledRuntime(_0x396e6f))process[_0x65f803(0x1c9)]=0x2;!process['exitCode']&&console[_0x65f803(0x14f)](_0x65f803(0x207)),console[_0x65f803(0x14f)](''),console[_0x65f803(0x14f)](_0x65f803(0x193)),console[_0x65f803(0x14f)]('\x20\x20\x20triage\x20labels,\x20and\x20domain\x20docs\x20layout\x20for\x20this\x20project.');}async function updateProject(_0x5b0bbc,_0xaf388a,_0x47bbbc,_0x19df76,_0x380746,_0x5ced61){const _0x210cd8=_0x569465;if(_0xaf388a[_0x210cd8(0x142)]){const _0x531f86=path[_0x210cd8(0x185)](_0x5b0bbc,_0x210cd8(0x101),_0x210cd8(0x230),_0x210cd8(0x18e));let _0x502011;try{_0x502011=JSON['parse'](fs[_0x210cd8(0xf4)](_0x531f86,'utf8'));}catch(_0x775c47){const _0x5e3a40={};_0x5e3a40['projectPath']=_0x5b0bbc,_0x5e3a40[_0x210cd8(0x174)]=_0x210cd8(0x1eb),_0x5e3a40['reason']=_0x210cd8(0x1f4);if(_0x775c47[_0x210cd8(0x21b)]!==_0x210cd8(0x219))return _0x5e3a40;}const _0x4804a5=_0x502011&&![_0x210cd8(0xf5),'ready-next-connection',_0x210cd8(0x1fa),'cancelled'][_0x210cd8(0x11a)](_0x502011[_0x210cd8(0x174)]);if(_0x4804a5&&(_0x502011[_0x210cd8(0x115)]?.['version']!==_0xaf388a[_0x210cd8(0x142)][_0x210cd8(0xfe)]||_0x502011[_0x210cd8(0x115)]?.[_0x210cd8(0x204)]!==_0xaf388a[_0x210cd8(0x142)][_0x210cd8(0x204)]))return{'projectPath':_0x5b0bbc,'status':_0x210cd8(0x199),'transactionId':_0x502011[_0x210cd8(0x1c5)],'blockers':[{'code':'UPDATE_IN_PROGRESS','target':_0x502011[_0x210cd8(0x115)]}]};let _0x454ace;const _0x4df3d4={};_0x4df3d4[_0x210cd8(0x174)]=_0x210cd8(0x221),_0x4df3d4[_0x210cd8(0x146)]=[];const _0x95220d=_0x4804a5?_0x502011[_0x210cd8(0x17c)]||_0x4df3d4:require(_0x210cd8(0x1a8))[_0x210cd8(0x1ef)](_0x5ced61),_0x2b69cc={};_0x2b69cc['code']=_0x210cd8(0x12c);if(_0x95220d['status']!==_0x210cd8(0x13e))return{'projectPath':_0x5b0bbc,'status':'blocked-project-sync','blockers':[_0x2b69cc],'addons':_0x95220d};try{let _0x21b5c0=require(_0x210cd8(0x11b))['workspaceHosts'](_0x5b0bbc);const _0x4bebae=detectInstalledIDEs(),_0x433ef5=new Set(_0x21b5c0);for(const [_0x188e3e,_0x697a11]of Object[_0x210cd8(0x237)](_0x4bebae)){if(_0x697a11&&_0x697a11[_0x210cd8(0x192)])_0x433ef5[_0x210cd8(0x124)](_0x188e3e);}const _0x67620f=[path[_0x210cd8(0x185)](_0x5b0bbc,_0x210cd8(0x101),_0x210cd8(0x1c8)),path[_0x210cd8(0x185)](os[_0x210cd8(0x103)](),_0x210cd8(0x122),_0x210cd8(0x234),'mcp_config.json')];if(_0x67620f['some'](_0x4d63f3=>fs[_0x210cd8(0xfb)](_0x4d63f3)))_0x433ef5[_0x210cd8(0x124)]('antigravity');_0x21b5c0=[..._0x433ef5],_0x454ace=_0x4804a5&&_0x502011[_0x210cd8(0x10d)]?{'resourcePlan':new(require(_0x210cd8(0x189)))[(_0x210cd8(0xf7))](_0x502011[_0x210cd8(0x10d)]),'registrationPlan':_0x502011[_0x210cd8(0x194)]||null,'registrationMigration':_0x502011[_0x210cd8(0x1ed)]}:require(_0x210cd8(0x1aa))[_0x210cd8(0x14c)]({'licenseKey':_0x380746,'projectPath':_0x5b0bbc,'presetName':_0x5ced61,'deviceId':getFingerprint(),'masterSecret':_0x19df76,'runtimeLauncherPath':_0xaf388a[_0x210cd8(0xf3)],'bundleDir':path[_0x210cd8(0x185)](__dirname,_0x210cd8(0x15c)),'isUpdate':!![],'rebuildIndex':_0xaf388a[_0x210cd8(0x20a)]===!![],'registrationHosts':_0x21b5c0,'mcpScope':_0xaf388a[_0x210cd8(0x236)]||_0x210cd8(0x191)});}catch(_0x36708f){const _0x14a2d3={};return _0x14a2d3['projectPath']=_0x5b0bbc,_0x14a2d3[_0x210cd8(0x174)]=_0x210cd8(0x11e),_0x14a2d3[_0x210cd8(0x186)]=_0x36708f['code']||'RESOURCE_PREPARATION_FAILED',_0x14a2d3;}const _0x473212={};_0x473212[_0x210cd8(0x15a)]=_0x5b0bbc,_0x473212[_0x210cd8(0x1f2)]=_0xaf388a[_0x210cd8(0x1f2)],_0x473212['release']=_0xaf388a[_0x210cd8(0x142)][_0x210cd8(0x22a)],_0x473212[_0x210cd8(0xf2)]=_0x19df76,_0x473212[_0x210cd8(0x10e)]=_0xaf388a[_0x210cd8(0x1ea)]===undefined?0x78:_0xaf388a[_0x210cd8(0x1ea)],_0x473212[_0x210cd8(0x10d)]=_0x454ace[_0x210cd8(0x10d)],_0x473212[_0x210cd8(0x194)]=_0x454ace['registrationPlan'],_0x473212[_0x210cd8(0x1ed)]=_0x454ace[_0x210cd8(0x1ed)],_0x473212[_0x210cd8(0x17c)]=_0x95220d,_0x473212[_0x210cd8(0x20a)]=_0xaf388a[_0x210cd8(0x20a)]===!![];const _0x3268d2=await require(_0x210cd8(0x18f))['activateWorkspace'](_0x473212),_0x44e4d8={};_0x44e4d8[_0x210cd8(0x174)]=_0x210cd8(0x1dc),_0x44e4d8[_0x210cd8(0x14e)]=[];const _0x37419f=_0x454ace[_0x210cd8(0x1ed)]||_0x44e4d8;return{'projectPath':_0x5b0bbc,..._0x3268d2,'runtimeActivation':_0x3268d2[_0x210cd8(0x174)],'addons':_0x95220d,'registrationMigration':_0x37419f,..._0x37419f[_0x210cd8(0x174)]===_0x210cd8(0x22e)&&[_0x210cd8(0xf5),_0x210cd8(0x220)][_0x210cd8(0x11a)](_0x3268d2[_0x210cd8(0x174)])?{'status':_0x210cd8(0x1d4),'blockers':_0x37419f[_0x210cd8(0x14e)]}:{}};}const _0x4b09b5=async()=>{const _0x28a14f=_0x210cd8,_0x579ebb=deployProject({'licenseKey':_0x380746,'projectPath':_0x5b0bbc,'presetName':_0x5ced61,'deviceId':getFingerprint(),'masterSecret':_0x19df76,'runtimeLauncherPath':_0xaf388a['launcherPath'],'bundleDir':path[_0x28a14f(0x185)](__dirname,_0x28a14f(0x15c)),'isUpdate':!![],'mcpConfigTargets':[],'rebuildIndex':_0xaf388a['rebuildIndex']||![]});if(_0xaf388a[_0x28a14f(0x20a)]&&_0x579ebb[_0x28a14f(0x179)]?.[_0x28a14f(0x174)]!==_0x28a14f(0x1e4)){const _0x268d47={};_0x268d47['code']='INDEX_REBUILD_FAILED';throw Object[_0x28a14f(0x1a5)](new Error('Requested\x20index\x20rebuild\x20failed'),_0x268d47);}const _0xefd50f=detectInstalledIDEs(),_0x3f8e90=Object[_0x28a14f(0xed)](_0xefd50f)['filter'](_0x3be538=>_0xefd50f[_0x3be538][_0x28a14f(0x192)]);if(!_0x3f8e90[_0x28a14f(0x11a)]('antigravity')){const _0x36ff65=path[_0x28a14f(0x185)](_0x5b0bbc,'.agents','mcp_config.json'),_0x5b0279=path['join'](os[_0x28a14f(0x103)](),_0x28a14f(0x122),_0x28a14f(0x234),_0x28a14f(0x1c8));(fs[_0x28a14f(0xfb)](_0x36ff65)||fs[_0x28a14f(0xfb)](_0x5b0279))&&_0x3f8e90[_0x28a14f(0x119)](_0x28a14f(0x141));}const _0x7bffa9=_0xaf388a[_0x28a14f(0x236)]||'auto',_0x1c5552={};_0x1c5552['projectPath']=_0x5b0bbc,_0x1c5552[_0x28a14f(0x236)]=_0x7bffa9;const _0x4993a9=_0x3f8e90[_0x28a14f(0x164)]?configureMultipleIDEs(_0x3f8e90,_0xaf388a['launcherPath'],_0x1c5552):[],_0x566e62=_0x4993a9[_0x28a14f(0x1cf)](_0x1fe2f3=>!_0x1fe2f3['success']),_0x4e78c0=_0x566e62[_0x28a14f(0x1a7)](_0x536e58=>_0x536e58['ide']==='antigravity');if(_0x4e78c0)console[_0x28a14f(0x1d0)]('Project\x20update\x20deployed;\x20Antigravity\x20MCP\x20registration\x20failed:\x20'+_0x4e78c0['error']);const _0x20596b={};_0x20596b[_0x28a14f(0x21b)]=_0x28a14f(0x1c4);if(_0x566e62['length'])throw Object[_0x28a14f(0x1a5)](new Error(_0x28a14f(0x190)),_0x20596b);return{'scope':_0x7bffa9,'configured':_0x4993a9[_0x28a14f(0x239)](_0x2a61f9=>_0x2a61f9[_0x28a14f(0x1af)])};};try{const _0x5f0665=await _0x4b09b5(),_0x175ab0={'projectPath':_0x5b0bbc,'status':_0x210cd8(0x220),..._0x5f0665};return _0x175ab0;}catch(_0x5a68e3){const _0x37f594={};return _0x37f594[_0x210cd8(0x1b1)]=_0x5b0bbc,_0x37f594[_0x210cd8(0x174)]=_0x210cd8(0x1d4),_0x37f594[_0x210cd8(0x186)]=_0x5a68e3['code']||'UPDATE_FAILED',_0x37f594;}}async function handleUpdate(_0xe9fd97){const _0x34b0ba=_0x569465,_0x56e45a=console['log'];if(_0xe9fd97[_0x34b0ba(0x1bf)])console[_0x34b0ba(0x14f)]=(..._0x303372)=>console[_0x34b0ba(0x1d0)](..._0x303372);try{const _0x1d6311=await handleUpdateCore(_0xe9fd97),_0x4e5474={};_0x4e5474['status']=_0x34b0ba(0x1eb),_0x4e5474[_0x34b0ba(0x21b)]=_0x34b0ba(0x109);if(_0xe9fd97['json']&&!_0x1d6311?.[_0x34b0ba(0x195)])process['stdout'][_0x34b0ba(0x145)](JSON[_0x34b0ba(0xec)](_0x1d6311||_0x4e5474)+'\x0a');}catch(_0x3b09ee){console[_0x34b0ba(0x1d0)](_0x34b0ba(0x143)+_0x3b09ee[_0x34b0ba(0x21c)]),process['exitCode']=0x1;const _0x504f27={};_0x504f27['status']=_0x34b0ba(0x1eb),_0x504f27['code']=_0x3b09ee[_0x34b0ba(0x21b)]||'UPDATE_FAILED';if(_0xe9fd97[_0x34b0ba(0x1bf)])process['stdout'][_0x34b0ba(0x145)](JSON[_0x34b0ba(0xec)](_0x504f27)+'\x0a');}finally{console[_0x34b0ba(0x14f)]=_0x56e45a;}}async function handleUpdateCore(_0x53b817){const _0x2bce38=_0x569465;if(_0x53b817[_0x2bce38(0x1f9)]){const _0x12bd15={};_0x12bd15['code']=_0x2bce38(0x1ee);if(_0x53b817[_0x2bce38(0x23f)]||_0x53b817[_0x2bce38(0x20a)])throw Object['assign'](new Error(_0x2bce38(0x19b)),_0x12bd15);const _0x21c247=await require(_0x2bce38(0x1f3))[_0x2bce38(0x21d)](path[_0x2bce38(0x1d2)](_0x53b817[_0x2bce38(0x1da)]||process[_0x2bce38(0xf9)]()),_0x53b817['transactionId'],_0x53b817[_0x2bce38(0x1f9)],getPublicKey());process[_0x2bce38(0x1c9)]=_0x21c247[_0x2bce38(0x174)]===_0x2bce38(0x1eb)?0x1:[_0x2bce38(0xf5),_0x2bce38(0x220),_0x2bce38(0x149)][_0x2bce38(0x11a)](_0x21c247[_0x2bce38(0x174)])?0x0:0x2;if(!_0x53b817[_0x2bce38(0x1bf)])console['log'](JSON[_0x2bce38(0xec)](_0x21c247));return _0x21c247;}const _0xdb1654=path[_0x2bce38(0x185)](os[_0x2bce38(0x103)](),_0x2bce38(0x147),_0x2bce38(0x1f6));let _0x250c94;try{_0x250c94=fs[_0x2bce38(0xf4)](_0xdb1654,_0x2bce38(0x1fd))['trim']();}catch(_0x32d2b5){console[_0x2bce38(0x1d0)](_0x2bce38(0x224)),console['log'](_0x2bce38(0x137)),process['exitCode']=0x1;const _0x29e26d={};return _0x29e26d[_0x2bce38(0x174)]='failed',_0x29e26d[_0x2bce38(0x21b)]=_0x2bce38(0x169),_0x29e26d;}const _0x3fca77=getFingerprint(),_0x2d2fd6=getPublicKey(),_0x50ae1c=verifyLicense(_0x250c94,_0x3fca77,_0x2d2fd6);if(!_0x50ae1c[_0x2bce38(0x10b)]){_0x50ae1c[_0x2bce38(0x186)]&&_0x50ae1c['reason'][_0x2bce38(0x11a)]('expired')?console['error'](_0x2bce38(0x23d)):console[_0x2bce38(0x1d0)]('License\x20verification\x20failed:\x20'+_0x50ae1c[_0x2bce38(0x186)]);process['exitCode']=0x1;const _0x4aad3c={};return _0x4aad3c[_0x2bce38(0x174)]=_0x2bce38(0x1eb),_0x4aad3c[_0x2bce38(0x21b)]=_0x2bce38(0x16a),_0x4aad3c;}const _0x1f16b8=_0x50ae1c['payload'],_0x46b8a8=_0x53b817[_0x2bce38(0x1da)]||process[_0x2bce38(0xf9)](),_0xecdae1=_0x53b817[_0x2bce38(0x176)]||_0x1f16b8[_0x2bce38(0x176)],_0x1e8834=path[_0x2bce38(0x185)](_0x46b8a8,_0x2bce38(0x101),_0x2bce38(0x114));if(!fs[_0x2bce38(0xfb)](_0x1e8834)){console[_0x2bce38(0x1d0)](_0x2bce38(0x157)),console[_0x2bce38(0x14f)](_0x2bce38(0x132)),console[_0x2bce38(0x14f)](_0x2bce38(0x198)+_0x46b8a8+'\x22'),process[_0x2bce38(0x1c9)]=0x1;const _0x34910e={};return _0x34910e['status']=_0x2bce38(0x1eb),_0x34910e['code']='PROJECT_NOT_INSTALLED',_0x34910e[_0x2bce38(0x1b1)]=_0x46b8a8,_0x34910e;}console[_0x2bce38(0x14f)]('╔══════════════════════════════════════════╗'),console[_0x2bce38(0x14f)]('║\x20\x20\x20MCP\x20Agent\x20—\x20Update\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║'),console[_0x2bce38(0x14f)](_0x2bce38(0x217)),console[_0x2bce38(0x14f)](_0x2bce38(0x1b0)+_0x1f16b8[_0x2bce38(0x163)]),console[_0x2bce38(0x14f)](_0x2bce38(0x155)+_0xecdae1),console[_0x2bce38(0x14f)](_0x2bce38(0x1a0)+_0x46b8a8),console[_0x2bce38(0x14f)]('');const _0x5059d1=path[_0x2bce38(0x1d2)](__dirname,'..');if(fs[_0x2bce38(0xfb)](path[_0x2bce38(0x185)](_0x5059d1,_0x2bce38(0x16b)))){const _0x4d7a1c=require('../src/installer/runtime-store'),_0x46efef=require(_0x2bce38(0x20e))[_0x2bce38(0xfe)];let _0x3de600,_0xc8fbd1=![];try{_0x3de600=process.env.APT_UPDATE_DELEGATED==='1'&&process.env.APT_VERIFIED_LATEST===_0x46efef?_0x46efef:(await _0x4d7a1c['metadata']())['version'];if(!/^\d+\.\d+\.\d+$/['test'](_0x3de600))throw new Error('npm\x20latest\x20did\x20not\x20identify\x20a\x20stable\x20release');}catch(_0x523f67){console[_0x2bce38(0x1d0)](_0x2bce38(0x111)+_0x523f67[_0x2bce38(0x21c)]),process['exitCode']=0x1;const _0x2edddf={};return _0x2edddf[_0x2bce38(0x174)]=_0x2bce38(0x1eb),_0x2edddf[_0x2bce38(0x21b)]=_0x2bce38(0x233),_0x2edddf[_0x2bce38(0x1b1)]=_0x46b8a8,_0x2edddf;}if(_0x3de600!==_0x46efef){if(!_0x4d7a1c[_0x2bce38(0x13f)](_0x3de600,_0x46efef)){const _0x5864ec=_0x3de600[_0x2bce38(0x138)]('.')['map'](Number),_0x573b3f=_0x46efef['split']('.')['map'](Number);if(_0x5864ec[0x0]===_0x573b3f[0x0]&&_0x5864ec[_0x2bce38(0x17f)](Number[_0x2bce38(0x1df)]))_0xc8fbd1=!![],console['warn'](_0x2bce38(0x1f1)+_0x3de600+_0x2bce38(0x144)+_0x46efef+_0x2bce38(0x129));else{console['error'](_0x2bce38(0x107)+_0x3de600+_0x2bce38(0x144)+_0x46efef+'.\x20A\x20major-version\x20migration\x20needs\x20a\x20compatible\x20release.'),process[_0x2bce38(0x1c9)]=0x1;const _0x251e38={};return _0x251e38[_0x2bce38(0x174)]=_0x2bce38(0x1eb),_0x251e38[_0x2bce38(0x21b)]=_0x2bce38(0x160),_0x251e38[_0x2bce38(0x1b1)]=_0x46b8a8,_0x251e38;}}else try{const _0x5287d4={};_0x5287d4['publicKey']=_0x2d2fd6;const _0x53a199=await _0x4d7a1c[_0x2bce38(0x130)](_0x3de600,_0x5287d4);console[_0x2bce38(0x14f)](_0x2bce38(0x1e6)+_0x3de600+'\x20('+_0x53a199[_0x2bce38(0x204)]+');\x20continuing\x20update\x20from\x20the\x20signed\x20release.');const _0x445768=require(_0x2bce38(0xf6))['spawnSync'](process['execPath'],[path[_0x2bce38(0x185)](_0x53a199['path'],'bin',_0x2bce38(0x15e)),...process[_0x2bce38(0x1b5)]['slice'](0x2)],{'stdio':_0x2bce38(0x240),'windowsHide':!![],'timeout':0x927c0,'env':{...process.env,'APT_UPDATE_DELEGATED':'1','APT_VERIFIED_LATEST':_0x3de600}});if(_0x445768[_0x2bce38(0x1d0)])throw _0x445768[_0x2bce38(0x1d0)];process[_0x2bce38(0x1c9)]=_0x445768[_0x2bce38(0x174)]===null?0x1:_0x445768[_0x2bce38(0x174)];const _0x380620={};return _0x380620['delegated']=!![],_0x380620;}catch(_0x3ec8be){console[_0x2bce38(0x1d0)]('Update\x20failed\x20before\x20activation:\x20'+_0x3ec8be[_0x2bce38(0x21c)]),process['exitCode']=0x1;const _0x3f0e10={};return _0x3f0e10[_0x2bce38(0x174)]=_0x2bce38(0x1eb),_0x3f0e10['code']=_0x2bce38(0x21e),_0x3f0e10[_0x2bce38(0x1b1)]=_0x46b8a8,_0x3f0e10;}}if(!_0xc8fbd1)console[_0x2bce38(0x14f)]('Latest\x20stable\x20release\x20confirmed:\x20'+_0x3de600+'.');}else console[_0x2bce38(0x18a)]('Development\x20checkout:\x20npm\x20latest\x20is\x20not\x20verified\x20and\x20this\x20command\x20cannot\x20claim\x20a\x20release\x20update.');try{installGlobalTools();}catch(_0x41ef78){console[_0x2bce38(0x1d0)](_0x2bce38(0xf8)+_0x41ef78[_0x2bce38(0x21c)]),process[_0x2bce38(0x1c9)]=0x1;const _0x2754a8={};return _0x2754a8[_0x2bce38(0x174)]=_0x2bce38(0x1eb),_0x2754a8[_0x2bce38(0x21b)]=_0x2bce38(0x1db),_0x2754a8['projectPath']=_0x46b8a8,_0x2754a8;}const _0x3f28a7=fs[_0x2bce38(0xfb)](path[_0x2bce38(0x185)](__dirname,_0x2bce38(0x197))),_0x5ed833=_0x3f28a7?require(_0x2bce38(0x210)):null,_0x46a405={};_0x46a405['publicKey']=_0x2d2fd6,_0x46a405[_0x2bce38(0x205)]=![];const _0x334115=_0x5ed833?_0x5ed833[_0x2bce38(0x15d)](path[_0x2bce38(0x1d2)](__dirname,'..'),_0x46a405):null,_0x2333f2=runtimeLauncher(_0x2d2fd6,![]);let _0x2b17db;try{const _0x410ccf={};_0x410ccf[_0x2bce38(0x1b1)]=_0x46b8a8;const _0x3b5416=_0x53b817[_0x2bce38(0x23f)]?require('../src/installer/registration-receipt')[_0x2bce38(0x116)]()[_0x2bce38(0x110)](registrations(_0x410ccf)[_0x2bce38(0x1cf)](_0xc98d66=>_0xc98d66['workspace'])[_0x2bce38(0x239)](_0x46dfe7=>_0x46dfe7['workspace']),_0x46b8a8):[_0x46b8a8],_0xbc2c64=[...new Set(_0x3b5416[_0x2bce38(0x239)](_0x2b3ab0=>path[_0x2bce38(0x1d2)](_0x2b3ab0)))];_0x2b17db=[];for(const _0x305b9f of _0xbc2c64)_0x2b17db[_0x2bce38(0x119)](await updateProject(_0x305b9f,{..._0x53b817,'launcherPath':_0x2333f2,'runtimeCandidate':_0x334115,'runtimeRoot':_0x5ed833?.[_0x2bce38(0xf0)]},_0x1f16b8,_0x2d2fd6,_0x250c94,_0xecdae1));const _0x13950c={};_0x13950c[_0x2bce38(0xf2)]=_0x2d2fd6,_0x13950c[_0x2bce38(0x205)]=!![];if(_0x5ed833&&_0x2b17db[_0x2bce38(0x17f)](_0x625a34=>(_0x625a34[_0x2bce38(0xee)]===!![]||_0x625a34[_0x2bce38(0x1c0)]===!![])&&[_0x2bce38(0xf5),_0x2bce38(0x220)][_0x2bce38(0x11a)](_0x625a34['runtimeActivation']||_0x625a34[_0x2bce38(0x174)])))_0x5ed833['installRuntime'](_0x334115[_0x2bce38(0x22a)],_0x13950c);if(!_0x53b817[_0x2bce38(0x1bf)]){for(const _0x2b94b7 of _0x2b17db)console[_0x2bce38(0x14f)](_0x2bce38(0x168)+_0x2b94b7[_0x2bce38(0x1b1)]+':\x20'+_0x2b94b7[_0x2bce38(0x174)]);}if(_0x2b17db[_0x2bce38(0x1ff)](_0x40271f=>_0x40271f[_0x2bce38(0x174)]===_0x2bce38(0x1eb)))process[_0x2bce38(0x1c9)]=0x1;else{if(_0x2b17db[_0x2bce38(0x1ff)](_0x3adbb7=>![_0x2bce38(0xf5),'ready-next-connection']['includes'](_0x3adbb7['status'])))process[_0x2bce38(0x1c9)]=0x2;}}catch(_0x472ef2){console[_0x2bce38(0x1d0)](_0x2bce38(0x143)+_0x472ef2['message']),process[_0x2bce38(0x1c9)]=0x1;const _0x16b9db={};return _0x16b9db[_0x2bce38(0x174)]='failed',_0x16b9db[_0x2bce38(0x21b)]=_0x472ef2['code']||'UPDATE_FAILED',_0x16b9db[_0x2bce38(0x1b1)]=_0x46b8a8,_0x16b9db;}const _0x577665={};_0x577665[_0x2bce38(0x22b)]=_0xecdae1,ensureStitchAuthentication(_0x577665);if(!_0x53b817[_0x2bce38(0x1bf)])for(const _0x1242cf of _0x2b17db){if(_0x1242cf[_0x2bce38(0x174)]===_0x2bce38(0xf5))console[_0x2bce38(0x14f)](_0x2bce38(0x153)+_0x1242cf[_0x2bce38(0x115)]?.[_0x2bce38(0xfe)]+_0x2bce38(0x17a)+_0x1242cf['projectPath']+_0x2bce38(0x184));else{if(_0x1242cf['status']===_0x2bce38(0x220))console[_0x2bce38(0x14f)]('MCP\x20runtime\x20'+_0x1242cf[_0x2bce38(0x115)]?.[_0x2bce38(0xfe)]+_0x2bce38(0x209)+_0x1242cf[_0x2bce38(0x1b1)]+'.');else console['warn'](_0x2bce38(0x1a6)+_0x1242cf['projectPath']+':\x20'+_0x1242cf[_0x2bce38(0x174)]+'.\x20'+(_0x1242cf[_0x2bce38(0x186)]||_0x1242cf[_0x2bce38(0x14e)]?.[_0x2bce38(0x239)](_0x37a6dd=>_0x37a6dd[_0x2bce38(0x21b)])[_0x2bce38(0x185)](',\x20')||''));}}if(!process[_0x2bce38(0x1c9)])console[_0x2bce38(0x14f)](_0x2bce38(0x113));return console[_0x2bce38(0x14f)](''),console[_0x2bce38(0x14f)](_0x2bce38(0x1fb)),{'status':process[_0x2bce38(0x1c9)]?_0x2bce38(0x1d4):_0x2bce38(0x1f5),'version':require('../package.json')[_0x2bce38(0xfe)],'latestConfirmed':fs[_0x2bce38(0xfb)](path[_0x2bce38(0x185)](__dirname,_0x2bce38(0x197))),'results':_0x2b17db,'exitCode':process['exitCode']||0x0};}function _0x2cae(){const _0x13151e=['zwXPz2LIBgvwzxjZAw9U','yxbWBhK','yw50AwDYyxzPDhK','CNvUDgLTzunHBMrPzgf0zq','vxbKyxrLigzHAwXLzdOG','lcb3AgLSzsb0AgLZihbHy2THz2uGAxmG','D3jPDgu','CMvZDwX0CW','lMfUAgrO','q29UDgvUDc1mzw5NDgG','y2fUy2vSBgvK','BwTKAxjtEw5J','iokaLca','ChjLCgfYzvbYB2PLy3q','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24Ty2XVC3vYzq','yMXVy2TLCNm','Bg9N','mtqWA05qsu1W','B3b0Aw9UCW','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','tunqihj1BNrPBwuG','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','uhjLC2v0oIaG','BwfZDgvYlNb1yMXPyY5Wzw0','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','q2HVB3nLig9Uzsb1CgrHDguGDhjHBNnHy3rPB24Gywn0Aw9UihDPDgGGAxrZieLe','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','D29YA3nWywnL','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','lI4VyNvUzgXL','Aw5ZDgfSBfj1BNrPBwu','y2XPlMPZ','l2fJDgL2yxrL','vKvsu0LptL9jtKnptvbbveLcteu','q2HVB3nLoIa','ue9tva','DxnLCG','BgvUz3rO','zxjYB3jZ','mNDetuPNva','Dg9Rzw4','uhjVAMvJDca','teLdru5trv9lrvLFtuLtu0LorW','teLdru5trv9jtLzbteLe','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','mJK5ndy0mvLdBLj4rq','ls1UB3rPy2vZ','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','icdINyWG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','D3jPDgvgAwXLu3LUyW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIbBls1WCM9Qzwn0idXqqvripL0GwY0TANnVBL0GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','C3rHDhvZ','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','ChjLC2v0','zgLYBMfTzq','A2v5','Aw5KzxHtzxr1Ca','igLZihnLCNzPBMCG','yxbWBhLnAwDYyxrPB24','ywrKB25Z','zgf0yq','ls1HBgWTChjVAMvJDhm','zxzLCNK','v2fYBMLUzZOGq2XHDwrLigzHBgXIywnRignVBMzPz3vYyxrPB24GzMfPBgvKoIa','CMvXDwLYzvn1ChbVCNrLze5Vzgu','BgvNywn5lw93BMvYC2HPCc11BNzLCMLMAwvK','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','oYbHBgWGBwfUywDLzcbJB25Uzwn0Aw9UCYbJB25MAxjTzwqU','AM9PBG','CMvHC29U','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB25ZlMPZ','C3rKAw4','lI4VC3jJl2nVCMuVCMvZB3vYy2uTDhjHBNnHy3rPB24','D2fYBG','q29UDgvUDc1uExbL','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','y2f0y2G','DxbKyxrLlxrYyw5Zywn0Aw9UlMPZB24','lI4VC3jJl2LUC3rHBgXLCI93B3jRC3bHy2uTDxbKyxrL','uhjVAMvJDcbYzwDPC3rYyxrPB24GD2fZig9UBhKGCgfYDgX5ihvWzgf0zwq','yxv0BW','zgv0zwn0zwq','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','CMvNAxn0CMf0Aw9UugXHBG','zgvSzwDHDgvK','zMLUz2vYChjPBNq','lI4VAw50zwDYAxr5lw1HBMLMzxn0lMPZB24','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','CgvUzgLUzY1ZywzLlwjVDw5Kyxj5','ls1WCM9Qzwn0','vhjHBNnHy3rPB24Gy29UDhjVBcbYzxf1AxjLCYbVBMuGChjVAMvJDa','CMvHzgXPBMu','zhj5uNvU','mZm3nduYu1vpEefQ','ls1WCMvZzxq','uhjVAMvJDdOG','CxvLC3rPB24','C3rKB3v0','mJG3ode3mLDQCKnpEG','C2XPy2u','yxnZAwDU','tunqihj1BNrPBwuGywn0AxzHDgLVBIbMB3iG','zMLUza','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTywrKB25Z','y3vYCMvUDc5QC29U','lI4VC3jJl2LUC3rHBgXLCI9KzxbSB3LTzw50lwrYywz0','q0Xjigv4zwn1DgLVBIbLCNjVCJO','lI4VC3jJl2XPy2vUC2uVy3j5ChrVlMPZ','Dg9mB3DLCKnHC2u','CgfYC2u','AwrL','vxnLCJOGicaG','ChjVAMvJDfbHDgG','Cgf5Bg9Hza','u2vYDMvYihjLDhvYBMvKihn0yxr1CYa','r0vu','yxjNDG','EwvZ','Bwv0Ag9K','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','y3vYCMvUDe5Vzgu','mJrXvhvbrKe','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','tgLJzw5ZzsbRzxKGzMLSzsbUB3qGzM91BMq','Aw5WDxq','ChjVDg9JB2W','ANnVBG','BM9pCa','C3rHDhvZq29Kzq','ntzhDgz0De8','ls1Yzwj1AwXKlwLUzgv4','uKvhsvnuuKfusu9ox1vqrefurv9gquLmruq','DhjHBNnHy3rPB25jza','zg9JDg9YtgL2zq','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','BwnWx2nVBMzPzY5QC29U','zxHPDenVzgu','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','ls10zxjTCW','ywXPyxm','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','ls1Ty3aTC2nVCgu','zMLSDgvY','zxjYB3i','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGy2XLyw51CcaTlwrYEs1YDw4GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','CMvZB2X2zq','CMvXDwvZDa','CgfYDgLHBa','y2fUzgLKyxrLCW','tgLJzw5ZzsbRzxKGywn0AxzHDgvKigfUzcbZyxzLzcb0BZOG','AgvHzgvYCW','nde0nJy5CgrWwgDe','iokaLcboB3qGzM91BMq','ChjVAMvJDa','r0XpqKfmx1rpt0Xtx1vqrefurv9gquLmruq','BM90lxjLCxvPCMvK','ls1HChbSEq','uhjVAMvJDcbPBNn0ywXSzwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','AxngAw5PDgu','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','CMvNAxn0CMf0Aw9UCW','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','y2XVC2u','yNvPBhq','lI4VC3jJl2LUC3rHBgXLCI9NyxrLD2f5lw1Pz3jHDgLVBG','vMvYAwzPzwqGqvbuia','vxnHz2u6','CMvJzwLWDc1JB25MAxjTzwq','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','D2fPDa','zMfPBgvK','Ahr0Ca','CMvNAxn0CMf0Aw9UtwLNCMf0Aw9U','su5wquXjrf9vuerbvevFqunusu9o','ChjLCgfYzvvWzgf0zufKzg9UCW','CMvJB25Uzwn0lxjLCxvPCMvK','BNbTigXHDgvZDcbPCYa','CNvUDgLTzvjVB3q','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTzxHLy3v0B3i','vvbeqvrfx0PpvvjoquXFvu5srufequjmrq','y29TCgXLDgu','BgLJzw5Zzs5RzxK','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','Aw5ZDgfSBa','DhjHBNnHy3rPB25by3rPB24','CM9SBgvKlwjHy2S','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','vxnLCJOGicaGicaGia','DxrMoa','DhjPBq','C29Tzq','icdINiuG','rgv2AwnLieLeoIaGia','Ag9ZDg5HBwu','kgDSB2jHBcK','zgLNzxn0','ywn0AxzHDgu','ihWGs2v5oIa','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','ic0+ia','igLZihjLywr5igzVCIb0AguGBMv4DcbJB25Uzwn0Aw9UihrVia','CMvIDwLSzeLUzgv4','C2v0Dxa','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','qxbWBgLLzca','lI4VCgfJA2fNzs5QC29U','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlwfSBc1WCM9Qzwn0C10GwY0TD2fPDca8u0vdt05euZ5DifSTlw1JCc1Zy29WzsbHDxrVFhbYB2PLy3r8z2XVyMfSxsbBls1QC29Uxq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','m2j5CKHUtq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGCMvNAxn0CMf0Aw9UCYbBls1QC29Uxq','Dg9ju09tDhjPBMC','BwnW','zxHPDa','4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4PwD','q2XLyw51CcbWBgfUigzPBguGD2fZig5VDcbMB3vUza','ru5pru5u','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZzxr1CcbBls1WCM9Qzwn0idXqqvripL0','y29Kzq','BwvZC2fNzq','y29UDhjVBfbLBMrPBMC','revmruDbveLptL9gquLmruq','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','CMvHzhKTBMv4Dc1JB25Uzwn0Aw9U','Dw52zxjPzMLLza','y2XLyw51Ca','y3jLyxrLsw50zxjMywnL','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','ywnJzxb0yw5Jzs5SB2C','y29TBwfUza','yM9KEq','zgLZCgXHEu5HBwu','zNjVBq','Cgf0Aa','ChjLC2v0tMfTzq','lI4VC3jJl2nVCMuVBM9Kzs12zxjZAw9U','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1LlwfJDgL2yxrPB24','BwLNCMf0Aw9UlxjLCxvPCMvK','y2XHDwrL','CNvUDgLTzq','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','BwLNCMf0Aw9UugXHBG','tefurvnux1voq09orKLstuve','y29UzMLN','Cg9YDa','BwnWu2nVCgu','zw50CMLLCW','C3vJy2vZCW','BwfW','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','yxbWzw5KrMLSzvn5BMm','A2v5x2LK','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','ywXSuhjVAMvJDhm','Aw5OzxjPDa','C3jJl3bYB3H5l3nLCNzLCI5QCW','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','ls1Yzxn1BwuTDhjHBNnHy3rPB24','C3rYAw5NAwz5','A2v5CW','CMvZB3vYy2vZqxbWBgLLza','ls1Jyw5JzwWTDhjHBNnHy3rPB24','revgqvvmvf9st09u','lI4VC3jJl2LUC3rHBgXLCI9Zzxr1Cc13AxPHCMqUANm','ChvIBgLJs2v5','Bgf1BMnOzxjqyxrO','CMvHzezPBgvtEw5J','ywn0AxzL','y2HPBgrFChjVy2vZCW','uMvZB3vYy2vuCMfUC2fJDgLVBG','r2XVyMfSihrVB2XZihvWzgf0zsbMywLSzwq6ia','y3DK','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','zxHPC3rZu3LUyW','yNL0zuXLBMD0Aa','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','DMvYC2LVBG','C2nVCgu','CMvJDxjZAxzL','lMfNzw50CW','B3DUzxjZAgLW','Ag9TzwrPCG','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','ls1KCNKTCNvU','zwXPz2LIBguGywz0zxiGCMv2Awv3','vxbKyxrLigzHAwXLzdOGBNbTigXHDgvZDcbPCYa','ntb0vKXWrLe','vvbeqvrfx1jfu1vmvf9nsvntsu5h','ihjLz2LZDhjHDgLVBIbJBgvHBNvWkhmPlIbcywnRDxbZignYzwf0zwqU','DMfSAwq','ls1ZDxnWzw5KlxrYyw5Zywn0Aw9U','CMvZB3vYy2vqBgfU','D2fPDfnLy29Uzhm','rxHWAxjLCZOGicaGia','y29Uy2f0','vxbKyxrLigzHAwXLzdOGBgf0zxn0ihn0ywjSzsbYzwXLyxnLignVDwXKig5VDcbIzsbJB25MAxjTzwq6ia','DgHLBG','vxbKyxrLignVBxbSzxrLlG','BwfUAwzLC3qUANnVBG','DgfYz2v0','CMvNAxn0zxjLzfbYB2PLy3rZ','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','vw5RBM93BIbJB21Tyw5KoIa','ChvZAa','Aw5JBhvKzxm','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24TCMvJzwLWDa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZDgf0Dxm','Cgf1C2u','yMXVy2TLzc1WCM9Qzwn0lxn5BMm','Ag9ZDa','odqXmJnjqwPjrfi','Ahr0Chm','lMDLBwLUAq','lI4VyNvUzgXLl05pveLdrvmUBwq','ywrK','BwLNCMf0Aw9U','Aw5PDa','zw5K','mtaYnZiYoxfmtgnTEG','oYbRzwvWAw5NihrOzsbUzxDLCIbSB2nHBcbYDw50Aw1LlG','vxnHz2u6ig1JCcbYzwDPC3rYyxrPB25ZihWGBwnWignSzwfUDxaGls1KCNKTCNvUihWGBwnWignSzwfUDxaGls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4GFcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIb8ig1JCcbTAwDYyxrPB24Gls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGls1WCM9Qzwn0idXqqvripIaTlxn1C3bLBMqTDhjHBNnHy3rPB24GpeLepIb8ic0Ty2fUy2vSlxrYyw5Zywn0Aw9UidXjrd4GwY0TANnVBL0','quret05Fufjfuefsqvrjt05FrKfjteve','CMvXDwLYzwroB2rL','DxbKyxrL','zwrPDa','ChjLCgfYzvj1BNrPBwvszwXLyxnL','v2fYBMLUzZOGqw50AwDYyxzPDhKGzMfSBgjHy2SGy29UzMLNDxjHDgLVBIbMywLSzwq6ia','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','ls1QC29U','A2v5swq','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4','C3bSAxq','mZy1nZyXB1HJCKL5','zxHW','B3v0Chv0','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','Dg9tDhjPBMC','CMvHzhK'];_0x2cae=function(){return _0x13151e;};return _0x2cae();}function handleRegistrations(_0x4cf9dc){const _0x2f0b95=_0x569465,_0x4c1af9=cleanupPlan({'projectPath':_0x4cf9dc['project']||process['cwd']()});if(_0x4cf9dc[_0x2f0b95(0x140)]){if(!fs['existsSync'](_0x4cf9dc[_0x2f0b95(0x140)]))throw new Error(_0x2f0b95(0x218));const _0x336eca=JSON[_0x2f0b95(0x1ae)](fs[_0x2f0b95(0xf4)](_0x4cf9dc[_0x2f0b95(0x140)],'utf8')),_0x280015=applyCleanup(_0x336eca,_0x4cf9dc);console[_0x2f0b95(0x14f)](_0x4cf9dc[_0x2f0b95(0x1bf)]?JSON[_0x2f0b95(0xec)](_0x280015,null,0x2):_0x2f0b95(0x20d)+_0x280015['applied'][_0x2f0b95(0x164)]+_0x2f0b95(0x10a));return;}if(_0x4cf9dc[_0x2f0b95(0x19d)]||!_0x4cf9dc[_0x2f0b95(0x140)])console[_0x2f0b95(0x14f)](_0x4cf9dc[_0x2f0b95(0x1bf)]?JSON[_0x2f0b95(0xec)](_0x4c1af9,null,0x2):_0x4c1af9[_0x2f0b95(0x1d5)]['length']?_0x4c1af9[_0x2f0b95(0x1d5)]['map'](_0x17d4f1=>_0x17d4f1['host']+'\x20'+_0x17d4f1['alias']+_0x2f0b95(0x208)+_0x17d4f1[_0x2f0b95(0x15a)]+'\x20('+(_0x17d4f1[_0x2f0b95(0x102)]===_0x2f0b95(0x1e8)?_0x2f0b95(0x106):'unowned;\x20manual\x20review\x20only')+')')[_0x2f0b95(0x185)]('\x0a'):'No\x20validation\x20aliases\x20found.');}function _0x1f67(_0x173462,_0x30d525){_0x173462=_0x173462-0xe8;const _0x2cae1e=_0x2cae();let _0x1f679f=_0x2cae1e[_0x173462];if(_0x1f67['CUPYwT']===undefined){var _0x3b0415=function(_0x3ee247){const _0x116f5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5406ad='',_0x143f27='';for(let _0x1a7bab=0x0,_0x56d883,_0x2938dd,_0x148534=0x0;_0x2938dd=_0x3ee247['charAt'](_0x148534++);~_0x2938dd&&(_0x56d883=_0x1a7bab%0x4?_0x56d883*0x40+_0x2938dd:_0x2938dd,_0x1a7bab++%0x4)?_0x5406ad+=String['fromCharCode'](0xff&_0x56d883>>(-0x2*_0x1a7bab&0x6)):0x0){_0x2938dd=_0x116f5f['indexOf'](_0x2938dd);}for(let _0x3aa280=0x0,_0x227afb=_0x5406ad['length'];_0x3aa280<_0x227afb;_0x3aa280++){_0x143f27+='%'+('00'+_0x5406ad['charCodeAt'](_0x3aa280)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x143f27);};_0x1f67['FJnnGW']=_0x3b0415,_0x1f67['SsoePt']={},_0x1f67['CUPYwT']=!![];}const _0x56fffd=_0x2cae1e[0x0],_0x3f02fd=_0x173462+_0x56fffd,_0x380026=_0x1f67['SsoePt'][_0x3f02fd];return!_0x380026?(_0x1f679f=_0x1f67['FJnnGW'](_0x1f679f),_0x1f67['SsoePt'][_0x3f02fd]=_0x1f679f):_0x1f679f=_0x380026,_0x1f679f;}async function handleNotices(){const _0x178944=_0x569465,{decrypt:_0xb66f0f}=require(_0x178944(0x1ac)),_0x8e7819=path[_0x178944(0x185)](__dirname,_0x178944(0x123));if(!fs['existsSync'](_0x8e7819)){console['error']('Attributions\x20file\x20(NOTICES.md)\x20not\x20found.'),process['exit'](0x1);return;}try{const _0x18fb3b=fs[_0x178944(0xf4)](_0x8e7819),_0x579941=_0xb66f0f(_0x18fb3b,'anhdh-open-source-attributions');console[_0x178944(0x14f)](_0x579941[_0x178944(0x13d)](_0x178944(0x1fd)));}catch(_0x492740){console[_0x178944(0x1d0)](_0x178944(0x18c),_0x492740[_0x178944(0x21c)]),process[_0x178944(0x216)](0x1);}}async function main(){const _0x5f31b6=_0x569465;try{require(_0x5f31b6(0x22c))[_0x5f31b6(0x181)]();}catch(_0x1d3023){if(!process[_0x5f31b6(0x1b5)]['includes'](_0x5f31b6(0x134)))throw _0x1d3023;const _0x565ec6={};_0x565ec6[_0x5f31b6(0x174)]=_0x5f31b6(0x1eb),_0x565ec6[_0x5f31b6(0x21b)]=_0x1d3023[_0x5f31b6(0x21b)],_0x565ec6[_0x5f31b6(0x1d0)]=_0x1d3023[_0x5f31b6(0x21c)],_0x565ec6[_0x5f31b6(0x12d)]=_0x1d3023[_0x5f31b6(0x12d)],_0x565ec6[_0x5f31b6(0x1b9)]=_0x1d3023[_0x5f31b6(0x1b9)],console[_0x5f31b6(0x14f)](JSON[_0x5f31b6(0xec)](_0x565ec6)),process[_0x5f31b6(0x1c9)]=0x1;return;}if(process[_0x5f31b6(0x1b5)][_0x5f31b6(0x11a)]('--terms')){const {EULA_TEXT:_0xb16da8}=require(_0x5f31b6(0x159));console['log'](_0xb16da8);return;}if(process[_0x5f31b6(0x1b5)]['includes'](_0x5f31b6(0x16d))){await handleNotices();return;}const {command:_0x51a4a3,options:_0x1491be}=parseArgs();switch(_0x51a4a3){case _0x5f31b6(0x1cb):const {EULA_TEXT:_0x254143}=require(_0x5f31b6(0x159));console[_0x5f31b6(0x14f)](_0x254143);break;case _0x5f31b6(0x16d):await handleNotices();break;case _0x5f31b6(0x126):handleInit();break;case'doctor':console[_0x5f31b6(0x14f)](JSON['stringify'](await require('../src/core/doctor')[_0x5f31b6(0x1c6)](_0x1491be['project']||process[_0x5f31b6(0xf9)]()),null,0x2));break;case _0x5f31b6(0x174):handleStatus();break;case _0x5f31b6(0x1f8):await handleInstall(_0x1491be);break;case'activate':await handleActivate(_0x1491be);break;case _0x5f31b6(0x12e):await handleUpdate(_0x1491be);break;case _0x5f31b6(0x20b):await runSetupWizard(_0x1491be[_0x5f31b6(0x1da)]||process['cwd']());break;case _0x5f31b6(0x215):if(process[_0x5f31b6(0x1b5)][0x3]===_0x5f31b6(0x1e1)){const _0x5ee801=registrations({'projectPath':_0x1491be[_0x5f31b6(0x1da)]||process['cwd']()});console[_0x5f31b6(0x14f)](_0x1491be[_0x5f31b6(0x1bf)]?JSON[_0x5f31b6(0xec)](_0x5ee801,null,0x2):_0x5ee801[_0x5f31b6(0x239)](_0x3d714a=>_0x3d714a[_0x5f31b6(0x11f)]+'\x20'+_0x3d714a[_0x5f31b6(0xff)]+'\x20'+_0x3d714a[_0x5f31b6(0x1cc)]+'\x20'+(_0x3d714a[_0x5f31b6(0x15a)]||_0x5f31b6(0x203)))[_0x5f31b6(0x185)]('\x0a'));}else{if(process[_0x5f31b6(0x1b5)][0x3]===_0x5f31b6(0x222))handleRegistrations(_0x1491be);else{if(process[_0x5f31b6(0x1b5)][0x3]===_0x5f31b6(0x125)){const _0x3965bc=require(_0x5f31b6(0x1e5)),_0x428f2d=_0x1491be[_0x5f31b6(0x140)]?await _0x3965bc[_0x5f31b6(0x17b)](JSON['parse'](fs[_0x5f31b6(0xf4)](_0x1491be[_0x5f31b6(0x140)],_0x5f31b6(0x1fd))),{'verifyClosure':require(_0x5f31b6(0x14d))['verifyRegistrationClosure']}):_0x3965bc[_0x5f31b6(0x232)]({'projectPaths':[_0x1491be[_0x5f31b6(0x1da)]||process[_0x5f31b6(0xf9)]()]});console[_0x5f31b6(0x14f)](JSON['stringify'](_0x428f2d,null,0x2)),process['exitCode']=[_0x5f31b6(0x1eb)][_0x5f31b6(0x11a)](_0x428f2d[_0x5f31b6(0x174)])?0x1:[_0x5f31b6(0x199),_0x5f31b6(0x1f0),_0x5f31b6(0x182),_0x5f31b6(0x11e),'blocked'][_0x5f31b6(0x11a)](_0x428f2d[_0x5f31b6(0x174)])?0x2:0x0;}else throw new Error(_0x5f31b6(0x12a));}}break;default:console[_0x5f31b6(0x1d0)](_0x5f31b6(0x118)+(_0x51a4a3||'')),console[_0x5f31b6(0x14f)]('\x0aUsage:'),console[_0x5f31b6(0x14f)](_0x5f31b6(0x1cd)),console['log'](_0x5f31b6(0x11c)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x133)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x13c)),console['log'](_0x5f31b6(0x20f)),console[_0x5f31b6(0x14f)]('\x20\x20npx\x20apt-mcp-agent-setup\x20update\x20--project\x20<PATH>\x20--resume-transaction\x20<ID>\x20[--json]'),console['log'](_0x5f31b6(0x12b)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x213)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x1d1)),console['log'](_0x5f31b6(0x173)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x1bb)),console['log'](_0x5f31b6(0x21a)),console[_0x5f31b6(0x14f)](_0x5f31b6(0x171)),console['log'](_0x5f31b6(0x1b8)),process['exit'](0x1);}}main()[_0x569465(0x112)](()=>{const _0x5e0567=_0x569465;process[_0x5e0567(0x216)](process[_0x5e0567(0x1c9)]||0x0);})[_0x569465(0x18d)](_0x5914f2=>{const _0x26a2ff=_0x569465;console['error'](_0x26a2ff(0x1ab),_0x5914f2['message']),process[_0x26a2ff(0x216)](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
Binary file
@@ -0,0 +1,37 @@
1
+ # APT 3.5.0 runtime migration
2
+
3
+ An explicit project update cancels its nonterminal runs with reason `runtime-upgrade`. It retains files, journals, criteria, findings, evidence and spent budgets. Cancelled runs cannot resume. Update the selected project, or explicitly use `--all-projects`; another project's run is outside that scope. A same-target, same-resource update is a no-op and retains newly created runs.
4
+
5
+ ## Process retirement and activation
6
+
7
+ The updater verifies a signed candidate and staged resources before closing workspace admission. It requests worker release and cooperative runtime/backend shutdown. A report, PID lookup, timeout or stale receipt cannot confirm retirement. Late reports cannot reopen a cancelled run or satisfy a new run's gates.
8
+
9
+ On Windows, managed backend and command processes enter a launch barrier before executing their target. A signed runtime child starts with process creation disabled. Initialize, cached tools/list, bootstrap, model_list and default health need no backend or lifecycle helper. Before an operational call, explicit discovery or shutdown, the supervisor verifies the still-owned child identity, assigns its Job and obtains the child's process-dispatch ACK. Failed attachment forwards no operational call. A crash before attachment retains an ownership blocker. Shutdown evidence requires root closure, zero active Job processes and broker closure. Forced retirement is restricted to that Job; the IDE and unrelated processes are outside it. Enterprise Job control failures remain blockers.
10
+
11
+ Linux process groups do not contain arbitrary `setsid()` descendants. Cooperative supervisor retirement requires the exact runtime child's shutdown ACK, including connection, PID, generation and confirmation that registered owners stopped. A forced or crashed root without this ACK remains unverified. Group evidence explicitly reports `treeConfirmed:false`. Native WSL force-retirement acceptance is still required; do not equate an empty group with complete tree containment.
12
+
13
+ Project resources, target version and serving version are separate. Success requires authenticated responses from every managed connection with the committed version, runtime digest, resource digest and generation. With no live connection, the state is `ready-next-connection`. A legacy direct process or cached host schema can require host reconnect. The updater does not kill the IDE or claim that reconnect happened.
14
+
15
+ Exit codes are `0` for confirmed activation or readiness without live connections, `2` for pending/reconnect/partial activation, and `1` for failure. Required custom-file conflicts block project synchronization; they are not resolved by cancelling runs. Operational resource plans use immutable contract hashes so progress journaling does not invalidate valid recovery. Changed contract bytes or foreign workspace state remain structured blockers.
16
+
17
+ ## Client recovery after approved rollout
18
+
19
+ 1. Preserve the update JSON and doctor output. Check target, deployed resources, serving connections, generation and blockers.
20
+ 2. If resource conflicts are reported, review the affected operational files and prepare a normal update that preserves custom content. Do not overwrite user files or edit pipeline journals.
21
+ 3. If native worker ownership is pending, use the host's normal stop/release lifecycle. Missing ownership evidence requires reconnect or verified recovery; it does not authorize terminating unknown processes.
22
+ 4. Reconnect the MCP host once when `reconnect-required` is reported. Use `session_bootstrap` through the IDE MCP interface to confirm the serving tuple. A manifest or shell probe is insufficient.
23
+ 5. Create a new run for unfinished work. Carry requirements and unresolved findings as context. Prior evidence remains history and does not meet new acceptance gates.
24
+
25
+ No migration has been applied to KidsPrep, iOT, Comaker or existing machine aliases during this build. Native rollout and publication require the artifact-specific gate decision.
26
+
27
+ ## Claude read access
28
+
29
+ Read, Glob, Grep, ToolSearch, WebFetch, diagnostics, questions and recall remain available before a code-change pipeline, subject to host permissions. Research workers require verified native schema and remain read-only. Memory writes require an unstopped, bootstrapped workspace session, default mode and the verified `.memory/memory.jsonl` backend. Native caller grants and child restrictions still apply.
30
+
31
+ Native Skill expansion is not automatically assumed read-only. Personal, enterprise and plugin precedence, dynamic shell context and skill hooks require verified resolution. Where the host cannot supply that proof, use APT `skill_load`; the reason is `NATIVE_SKILL_EFFECT_UNVERIFIED`. This limitation must appear in native validation results.
32
+
33
+ Session reads do not acquire the mutation lock. No-op state transactions do not rewrite files. Mutation locks have bounded retries, and transient Windows rename failures retain syscall/path/retry diagnostics. Unrelated workspace records are reported as `FOREIGN_WORKSPACE_STATE` without deleting their original data.
34
+
35
+ Default `pipeline_status` does not run Git or recompute evidence. Its quality freshness is `unverified`; use `pipeline_status(refresh:true)` for current snapshot validation. Acceptance always validates the actual snapshot. Bootstrap and cached tool discovery use the same conservative presentation. CLI model metadata requires explicit inventory refresh, and custom Python discovery waits for backend activation.
36
+
37
+ Repository state storage resolves `.git`, gitfiles and linked-worktree `commondir` from the filesystem. Managed worktrees retain their recorded origin ownership. Foreign runs in a shared Git directory remain history and are excluded from this workspace's active view. Explicit `GIT_DIR`, `GIT_COMMON_DIR` or `GIT_WORK_TREE` environment overrides return `GIT_CONTEXT_OVERRIDE_UNSUPPORTED` rather than silently selecting unrelated state.
@@ -0,0 +1,14 @@
1
+ # Technical source review before release
2
+
3
+ The [source registry](technical-sources.md) records imported sources, adaptations, references and branch history. It does not prove that an IDE connection is running this package.
4
+
5
+ - Add each new technical source before integrating it. Record repository, consumer, role, license/notice, pin, integrity evidence and compatibility gate. Keep unknown provenance visible as `needs-pinning`.
6
+ - Run `npm run sources:validate` before each APT development update and release. It is offline and runs again before the production build. Validation errors block packaging. Resolve or explicitly document remaining pin/license warnings in the release decision.
7
+ - Run `npm run sources:refresh -- --json` explicitly when reviewing upstream changes. Save the report as a release artifact if needed. The command only prints a report; it does not apply upgrades. Use `--source ID` for a focused check.
8
+ - Use `npm run --silent sources:refresh -- --json` when piping the report into a JSON parser. The silent option suppresses npm's lifecycle banner; it does not hide CLI discovery errors.
9
+ - Review compare links, tags, default-branch changes, licenses, removed/renamed files, and changes to tool/skill contracts. Discovery errors and API rate limits mean the check is incomplete. No cached value proves latest.
10
+ - After approval, update the existing artifact manifest, lockfile, resource hashes, notices and registry together. Preserve APT policies, wrappers and exclusion rules. Do not import upstream credentials, plugin registries, automatic network setup or extra MCP registrations.
11
+ - Run focused regression tests, `npm test`, `npm run build`, `npm run test:dist`, and signed package gates. Source refresh leaves runtime/native compatibility `unverified` until affected tests and host receipts exist. Record unavailable Windows/WSL/native environments separately.
12
+ - Review local branch snapshots with `git merge-base` and committed-tip ancestry. A branch name, stash or old release label is not proof its edits are in `main`.
13
+
14
+ These commands are maintainer commands. Installing APT on an end client does not require a source checkout or run upstream discovery. Adding a registry entry never creates an MCP server.
@@ -0,0 +1,125 @@
1
+ # APT technical sources
2
+
3
+ This is the human-reviewed registry for APT upstreams and internal technical branches. Add every new imported, adapted or referenced technique here before integration. A newer upstream is a review candidate, never an automatic upgrade.
4
+
5
+ Schema: source-table-v1. The fixed column headers below are parsed by sources:validate. Do not put an unescaped table separator inside a cell. Dates mean local evidence reviewed, not a claim that upstream latest was checked.
6
+
7
+ Resource digest is SHA-256 of pinned vendor provenance or the reviewed local skill snapshot. none means external installation, no imported bytes, or historical provenance unavailable as described in Notes. Skill snapshots normalize CRLF to LF; vendor files are byte-exact. skills-lock computedHash describes the imported upstream skill and may differ from APT adaptations.
8
+
9
+ Integrated sources include shipped adaptations awaiting provenance. needs-pinning is a visible review backlog, not verified upstream pinning. References cannot be promoted to managed sources without license, provenance and compatibility review. Existing manifests govern individual artifacts; this registry does not replace them.
10
+
11
+ ## Integrated sources
12
+
13
+ | ID | Repository | Role | Consumer | Ref type | Pinned ref | Resource digest | License / notice | Last reviewed | Refresh policy | Compatibility gate | Status | Notes |
14
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
15
+ | codegraph | https://github.com/colbymchenry/codegraph | managed-backend | src/backends/profiles.js | commit | dfccdf62547fcd76d343344d823a0e1998d3a89f; version=1.6.0 | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=@colbymchenry/codegraph; Pinned tool contract and platform-isolated cache; External package or adapted history, no vendored bytes digest. |
16
+ | code-review-graph | https://github.com/tirth8205/code-review-graph | managed-backend | src/backends/profiles.js | commit | fa04ea21e701d9feb748199dbb0b4cf4f365f8f9; version=2.3.9 | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | Versioned Python environment, registry and workspace cache; External package or adapted history, no vendored bytes digest. |
17
+ | mcp-memory | https://github.com/modelcontextprotocol/servers | managed-backend | src/backends/profiles.js | commit | 153cc26a3b3796a17b693277b5e0e1232a76940e; version=2026.8.31 | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=@modelcontextprotocol/server-memory; Pinned npm package and workspace memory migration; External package or adapted history, no vendored bytes digest. |
18
+ | ag-kit | https://github.com/vudovn/ag-kit | adapted-reference | .agents/agent; .agents/skills | commit | f017f41054775a8ec91f54e93acc9ba6a9430070; version=2026.8.31 | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Specialist routing and dependency checks adapted to the APT catalog; no wholesale import; External package or adapted history, no vendored bytes digest. |
19
+ | matt-pocock | https://github.com/mattpocock/skills | adapted-reference | skills-lock.json | commit | c55ee46073ed923f86ce59a5eb3b6d895095d1b7 | 7aa7c92621f6ee56c2ebdfd7a673d62216ba4f1c770f230eba36dabe12dd6265 | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Keep APT canonical skill IDs and execution rules; Hash is reviewed local snapshot, not unmodified upstream bytes. |
20
+ | taste-skill | https://github.com/leonxlnx/taste-skill | adapted-reference | skills-lock.json | commit | c184364c58658b2f131b4ae8bd3d206cabb3deee | 2ad21943b66f1674670a681fe370cf854a6978abd14323dedc5d9910171f16ed | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Landing and redesign routing only; experimental changes are not the default; Hash is reviewed local snapshot, not unmodified upstream bytes. |
21
+ | web-interface-guidelines | https://github.com/vercel-labs/web-interface-guidelines | adapted-reference | .agents/skills/web-design-guidelines/SKILL.md | commit | e3d624baaf29dc1fc645aff3e38f03e564d2d6b1 | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Use at UI review; preserve the packaged skill version for active runs; External package or adapted history, no vendored bytes digest. |
22
+ | marketing-skills | https://github.com/coreyhaines31/marketingskills | managed-bundle | .agents/marketing-manifest.json | commit | dda3841f0b294e01e93b1541486beefbfab0915e; version=2.11.17 | 71ad0f392c3505b7837436130e099c6a40a52621a32af3db5c05b2adc6d17fa5 | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | Package only pinned Markdown and static reference data. Exclude plugin manifests, CLI tools, integrations, partner registries, credentials and network setup. APT SEO/GEO/ASO routing remains authoritative.; Hash is reviewed local snapshot, not unmodified upstream bytes. |
23
+ | ui-ux-pro-max | https://github.com/nextlevelbuilder/ui-ux-pro-max-skill | packaged-vendor | .agents/skills/ui-ux-pro-max/provenance.json | commit | 4d140cf8ff6842de13213c7214eff3810371beb2; version=v2.13.0 | e0988f6a63d757c73d034c95d84814a480e91bd162045bbbaf47c44b5fba3de3 | MIT @ .agents/skills/ui-ux-pro-max/vendor/LICENSE | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | Pinned vendor bytes; upstream tag differs from embedded metadata when reported in provenance. |
24
+ | archify | https://github.com/tt-a1i/archify | packaged-vendor | .agents/skills/archify/provenance.json | commit | 2ab3cae7ac2c2a55d7386ca789d03c4fcd31816c; version=v3.0.1 | 962f27d14cb81c41c34afe1623e357087262d0faf11ce7a4c7c74e8072737c42 | MIT @ .agents/skills/archify/vendor/LICENSE | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | Pinned vendor bytes; upstream tag differs from embedded metadata when reported in provenance. |
25
+ | flutter-skills | https://github.com/flutter/skills | managed-bundle | skills-lock.json | unpinned | unknown | 9a8ddb42c1795c6b1757ec9511eeb27edbce902752979e36fa2e04b9923a1a84 | BSD-3-Clause @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Local skill hashes only. Upstream URL redirects to flutter/agent-plugins; review rename before changing locks. |
26
+ | aso-skills | https://github.com/Eronred/aso-skills | adapted-reference | scripts/fetch-aso-skills.js | unpinned | unknown | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Fetch script currently reads main; not a release pin. |
27
+ | superpowers | https://github.com/obra/superpowers | adapted-reference | .agents/skills/plan-writing/SKILL.md; .agents/skills/subagent-driven-development/SKILL.md | unpinned | unknown | none | MIT @ .agents/NOTICES.md | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Adapted workflow; no original commit has been recorded. |
28
+ | ponytail | https://github.com/DietrichGebert/ponytail | adapted-reference | .agents/skills/ponytail-lazy-dev/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Inspired workflow via AG Kit; verify original license and commit before importing additional bytes. |
29
+ | ppt-master | https://github.com/hugohe3/ppt-master | addon | src/installer/presentations.js | commit | a50758ac29ec027e85966db33e2ae80031446756; version=6.6.0 | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Installed addon validates commit. License review required; external install, no local vendor digest. |
30
+ | playwright-mcp | https://github.com/microsoft/playwright-mcp | managed-backend | src/backends/profiles.js | version | 0.0.82 | none | Apache-2.0 @ https://github.com/microsoft/playwright-mcp/blob/main/LICENSE | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=@playwright/mcp; Browser profile separately pins core and Chromium. |
31
+ | fastmcp | https://github.com/jlowin/fastmcp | addon | src/backends/profiles.js | version | 3.4.2 | none | Apache-2.0 | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Python review dependency; pip=fastmcp. External install, no vendor digest. |
32
+ | mcp-python | https://github.com/modelcontextprotocol/python-sdk | addon | src/backends/profiles.js | version | 1.28.1 | none | MIT | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Python review dependency; pip=mcp. External install, no vendor digest. |
33
+ | stitch-mcp | https://github.com/davideast/stitch-mcp | addon | src/installer/project-setup.js | version | 0.9.0 | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | npm=@_davideast/stitch-mcp; optional connector. External install, no vendor digest. |
34
+ | mcp-atlassian | https://github.com/sooperset/mcp-atlassian | addon | src/installer/project-setup.js | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Installer uses pip without a version pin. External install, no vendor digest. |
35
+ | context7 | https://github.com/upstash/context7 | addon | .agents/mcp_config.json | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | needs-pinning | Optional documentation connector template; not installed automatically by registry. External install, no vendor digest. |
36
+ | docx | https://github.com/dolanmiu/docx | addon | package-lock.json | version | 9.7.1 | none | MIT @ https://github.com/dolanmiu/docx | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=docx; Lockfile integrity governs installed package. No vendored bytes. |
37
+ | javascript-obfuscator | https://github.com/javascript-obfuscator/javascript-obfuscator | addon | package-lock.json | version | 5.4.3 | none | BSD-2-Clause @ https://github.com/javascript-obfuscator/javascript-obfuscator | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=javascript-obfuscator; Lockfile integrity governs installed package. No vendored bytes. |
38
+ | ssh2 | https://github.com/mscdex/ssh2 | addon | package-lock.json | version | 1.17.0 | none | MIT @ https://github.com/mscdex/ssh2 | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | active | npm=ssh2; Lockfile integrity governs installed package. No vendored bytes. |
39
+
40
+ | figma-context | https://github.com/figma-developer/figma-context-mcp | addon | src/proxy/backends.js | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; connector/schema/native gates | needs-pinning | Backend command currently references GitHub latest. Verify repository resolution and license before pinning; no vendor bytes. |
41
+
42
+ ## Reviewed references
43
+
44
+ Design systems, font notices, marketing citations and host protocol references are grouped by consumer. These rows do not describe installed APT backends.
45
+
46
+ | ID | Repository | Role | Consumer | Ref type | Pinned ref | Resource digest | License / notice | Last reviewed | Refresh policy | Compatibility gate | Status | Notes |
47
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
48
+ | git-repository-layout | https://git-scm.com/docs/gitrepository-layout | citation-only | src/core/git-context.js | version | 2.49.0 | none | GPL-2.0 @ https://github.com/git/git/blob/master/COPYING | 2026-10-04 | Explicit review when repository discovery changes | sources:validate; repository/worktree/bare/invalid metadata regression; source/dist/package gates | reference-only | Original filesystem resolver based on documented gitdir/commondir layout. No upstream code imported; Git operations remain explicit. |
49
+ | material-web | https://github.com/material-components/material-web | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
50
+ | fluent-ui | https://github.com/microsoft/fluentui | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
51
+ | carbon | https://github.com/carbon-design-system/carbon | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
52
+ | polaris | https://github.com/Shopify/polaris-react | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
53
+ | primer-css | https://github.com/primer/css | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
54
+ | primer-brand | https://github.com/primer/brand | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
55
+ | govuk | https://github.com/alphagov/govuk-frontend | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
56
+ | uswds | https://github.com/uswds/uswds | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
57
+ | radix | https://github.com/radix-ui/themes | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
58
+ | shadcn | https://github.com/shadcn-ui/ui | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
59
+ | bootstrap | https://github.com/twbs/bootstrap | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
60
+ | tailwind | https://github.com/tailwindlabs/tailwindcss | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
61
+ | atlassian-design | https://atlassian.design | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
62
+ | mdn | https://developer.mozilla.org | citation-only | .agents/skills/design-taste-frontend/SKILL.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
63
+ | humanizer | https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing | citation-only | .agents/skills/humanizer/references/patterns.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Documentation/reference only; no package installation or model capability claim. |
64
+ | simple-icons | https://github.com/simple-icons/simple-icons | citation-only | .agents/skills/archify/vendor/THIRD_PARTY_NOTICES.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Third-party notice/design source. Archify font bytes remain governed by its provenance and SIL OFL notice; no separate backend. |
65
+ | jetbrains-mono | https://github.com/JetBrains/JetBrainsMono | citation-only | .agents/skills/archify/vendor/THIRD_PARTY_NOTICES.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Third-party notice/design source. Archify font bytes remain governed by its provenance and SIL OFL notice; no separate backend. |
66
+ | dotnet-brand | https://github.com/dotnet/brand | citation-only | .agents/skills/archify/vendor/THIRD_PARTY_NOTICES.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Third-party notice/design source. Archify font bytes remain governed by its provenance and SIL OFL notice; no separate backend. |
67
+ | javascript-logo | https://github.com/voodootikigod/logo.js | citation-only | .agents/skills/archify/vendor/THIRD_PARTY_NOTICES.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Third-party notice/design source. Archify font bytes remain governed by its provenance and SIL OFL notice; no separate backend. |
68
+ | vue-art | https://github.com/vuejs/art | citation-only | .agents/skills/archify/vendor/THIRD_PARTY_NOTICES.md | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Third-party notice/design source. Archify font bytes remain governed by its provenance and SIL OFL notice; no separate backend. |
69
+ | claude-ads | https://github.com/AgriciDaniel/claude-ads | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
70
+ | gooseworks-ads | https://github.com/gooseworks-ai/gooseworks-ads-skills | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
71
+ | super-video-maker | https://github.com/Bomx/super-video-maker-skill | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
72
+ | ai-visibility | https://github.com/Knowatoa/ai-visibility-skills | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
73
+ | knowledge-catalog | https://github.com/GoogleCloudPlatform/knowledge-catalog | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
74
+ | x-algorithm | https://github.com/xai-org/x-algorithm | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
75
+ | voicebox | https://github.com/jamiepine/voicebox | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
76
+ | better-all | https://github.com/shuding/better-all | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
77
+ | lru-cache | https://github.com/isaacs/node-lru-cache | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
78
+ | mcp-registry | https://github.com/modelcontextprotocol/registry | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
79
+ | posthog | https://github.com/PostHog/posthog-js | citation-only | .agents/skills; marketing/architecture references | unpinned | unknown | none | unknown | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Citation only. Nested upstream reference does not authorize importing code, credentials, plugins or network setup. |
80
+ | codex-host | https://developers.openai.com/codex | citation-only | src/core/host-adapters.js | unpinned | unknown | none | Documentation terms | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Native protocol reference; runtime capability still needs host evidence. |
81
+ | claude-host | https://code.claude.com/docs/en/hooks | citation-only | src/core/host-adapters.js; src/core/readonly-skill.js | unpinned | unknown | none | Documentation terms | 2026-10-04 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Native protocol and skills resolution reference at https://code.claude.com/docs/en/skills; personal/enterprise precedence, dynamic context and skill hooks require verified resolution. Runtime capability still needs host evidence. |
82
+ | windows-job-objects | https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects | citation-only | src/core/windows-job.ps1; src/core/windows-job.js | unpinned | unknown | none | Microsoft documentation terms @ https://learn.microsoft.com/en-us/legal/termsofuse | 2026-10-04 | Explicit before each process lifecycle change | sources:validate; Windows owned tree regression; signed package and native shutdown gates | reference-only | Original APT implementation uses Windows APIs. No Microsoft sample code, package, service or MCP registration is imported. Job assignment happens at a controlled launch barrier; no breakaway permissions. |
83
+ | node-runtime | https://github.com/nodejs/node | citation-only | package.json; isolated minimum-version test fixtures | version | 18.20.8 | none | MIT @ https://github.com/nodejs/node/blob/main/LICENSE | 2026-10-04 | Check announced minimum before each runtime release | source/dist/package tests on declared minimum; verified official archive checksum | reference-only | Test toolchain only. No Node binary is bundled or installed into client runtime by this registry. |
84
+ | openpyxl | https://foss.heptapod.net/openpyxl/openpyxl | citation-only | spreadsheet skill test prerequisites; isolated WSL test environment | version | 3.1.5 | none | MIT/Expat @ https://openpyxl.readthedocs.io/en/stable/ | 2026-10-04 | Review with spreadsheet skill changes | sources:validate; spreadsheet source/dist regression on Windows and WSL | reference-only | External test prerequisite. APT does not vendor or provision this library. Maintainer fixture uses 3.1.5; this entry does not claim a managed client dependency or a pinned release hash. |
85
+ | antigravity-host | https://www.antigravity.google/docs/hooks | citation-only | src/core/host-adapters.js | unpinned | unknown | none | Documentation terms | 2026-10-03 | Explicit before each APT release | sources:validate; source/dist/package tests; native gate if runtime changes | reference-only | Native protocol reference; runtime capability still needs host evidence. |
86
+
87
+ ## Update workflow
88
+
89
+ 1. Before every APT release/update, run npm run sources:validate offline. Errors block packaging; needs-pinning warnings stay visible in release decisions.
90
+ 2. Explicitly run npm run sources:refresh, optionally -- --source ID or -- --json. Only this command performs network discovery. It prints a report and does not change this file, pins, lockfiles, bundles or runtime.
91
+ 3. Review changed tags, branch head, license, paths and compare URLs. Compatibility remains unverified until focused tests and any affected native gates pass. Registry failures, API rate limits and missing license metadata are not evidence of up-to-date sources.
92
+ 4. Approve a source upgrade separately. Update its existing pin, per-file provenance, notices, lockfile and registry together. Keep APT wrappers and local policies; do not wholesale-import upstream plugins, CLIs or integrations.
93
+ 5. Run the compatibility gates and record release findings. Refresh results never confirm worker models or native IDE activation. No new MCP registration is created by source tracking.
94
+
95
+ Commands: npm run sources:validate; npm run sources:refresh; npm run sources:refresh -- --source ui-ux-pro-max --json. Exit 0 means local validation/discovery succeeded, not that upstream changes were approved. Exit 1 means invalid local metadata or incomplete discovery.
96
+
97
+ For JSON-only stdout, use npm run --silent sources:refresh -- --json (or node scripts/technical-sources.js refresh --json). Without --silent, npm prints its own lifecycle banner before the CLI report. The CLI itself emits one JSON document.
98
+
99
+ ## APT internal branches
100
+
101
+ Snapshot at 2026-10-03 against main at 666b9c6033193937ede4b10645b9407178045380. Base commit is the merge-base with main, not a reconstructed original branch-creation point. Inclusion checks committed tip ancestry only. Dirty worktrees and stash experiments are separate; a branch named 3.3.3 can point to an older baseline. Do not use branch labels as release provenance. Recheck ancestry when merging; retain historical snapshots when branches disappear.
102
+
103
+ | Branch | Purpose | Base commit | Tip | Status | Included in main | Release / artifact | Last reviewed |
104
+ | --- | --- | --- | --- | --- | --- | --- | --- |
105
+ | apt-3.3.1-runtime-fix | apt-3.3.1-runtime-fix | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
106
+ | apt-3.3.2-claude-runtime-fix | apt-3.3.2-claude-runtime-fix | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
107
+ | backup/apt340-before-335-merge | Recovery snapshot | e3e14b44e4d72b76e750e48271f3501ab92db077 | e3e14b44e4d72b76e750e48271f3501ab92db077 | archived | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
108
+ | develop | develop | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
109
+ | feat/apt-3.2.8-native-model-routing | apt-3.2.8-native-model-routing | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
110
+ | feat/apt-core-orchestration | apt-core-orchestration | e6aa5164a2ba4df98c536cbfa8375c8f179c72c1 | e6aa5164a2ba4df98c536cbfa8375c8f179c72c1 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
111
+ | feat/apt-output-quality | apt-output-quality | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
112
+ | feature/apt-3.1.0 | apt-3.1.0 | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
113
+ | feature/apt-3.3.3-design-doc-skills | apt-3.3.3-design-doc-skills | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
114
+ | feature/apt-3.4.0-candidate | apt-3.4.0-candidate | 105057d0520a31b5dcd53eda6d08fee4bb58f737 | 105057d0520a31b5dcd53eda6d08fee4bb58f737 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
115
+ | feature/apt-3.4.0-marketing | apt-3.4.0-marketing | b019507378a4b180a51f53c42ded42cb321d0058 | 2c771ec59df59b28f10bfb97830f8748f9e9c2e6 | local-only | no | Historical branch label; not proof of released content | 2026-10-03 |
116
+ | feature/quality-browser-presentations-aso | quality-browser-presentations-aso | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
117
+ | feature/technical-sources-registry | technical-sources-registry | 666b9c6033193937ede4b10645b9407178045380 | 666b9c6033193937ede4b10645b9407178045380 | active | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
118
+ | fix/apt-3.2.6-pipeline-workspace-recovery | apt-3.2.6-pipeline-workspace-recovery | b019507378a4b180a51f53c42ded42cb321d0058 | b019507378a4b180a51f53c42ded42cb321d0058 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
119
+ | fix/apt-3.3.5-runtime-upgrade | apt-3.3.5-runtime-upgrade | bab11e1af13ace6c1a576f69a9e5b49edd29ead9 | bab11e1af13ace6c1a576f69a9e5b49edd29ead9 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
120
+ | fix/apt-codex-hook-observation | apt-codex-hook-observation | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
121
+ | fix/apt-reliability-model-routing | apt-reliability-model-routing | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
122
+ | fix/backend-recovery-3.0.5 | backend-recovery-3.0.5 | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
123
+ | fix/launcher-startup-3.0.3 | launcher-startup-3.0.3 | d02e32f5eedafaa9077159afae4364f3ab95645f | d02e32f5eedafaa9077159afae4364f3ab95645f | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
124
+ | fix/sync-production-public-key | sync-production-public-key | 1d98999b73b7e5478700277b822566e7e3d41522 | 1d98999b73b7e5478700277b822566e7e3d41522 | merged | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |
125
+ | main | Release integration | 666b9c6033193937ede4b10645b9407178045380 | 666b9c6033193937ede4b10645b9407178045380 | active | yes (committed tip only) | Historical branch label; not proof of released content | 2026-10-03 |