apt-mcp-agent-setup 3.4.0 → 3.5.2

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 (123) hide show
  1. package/README.md +17 -7
  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 +124 -108
  20. package/package.json +1 -1
  21. package/release-check.js +4 -2
  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/profiles.js +1 -1
  27. package/src/core/admission-fence.js +1 -1
  28. package/src/core/aso-import.js +1 -1
  29. package/src/core/caller-context.js +1 -1
  30. package/src/core/catalog.js +1 -1
  31. package/src/core/claude-caller-authority.js +1 -1
  32. package/src/core/claude-invocation.js +1 -1
  33. package/src/core/claude-native.js +1 -1
  34. package/src/core/claude-plan.js +1 -1
  35. package/src/core/claude-worker-transcript.js +1 -1
  36. package/src/core/codex-host-metadata.js +1 -1
  37. package/src/core/codex-transcript-receipt.js +1 -1
  38. package/src/core/context-metrics.js +1 -1
  39. package/src/core/doctor.js +1 -1
  40. package/src/core/draining-completion.js +1 -1
  41. package/src/core/execution.js +1 -1
  42. package/src/core/git-context.js +1 -0
  43. package/src/core/hook-bridge.js +1 -1
  44. package/src/core/host-adapters.js +1 -1
  45. package/src/core/ipc-envelope.js +1 -1
  46. package/src/core/memory-scope.js +1 -0
  47. package/src/core/memory-store.js +1 -1
  48. package/src/core/model-inventory.js +1 -1
  49. package/src/core/model-routing.js +1 -1
  50. package/src/core/native-dispatch.js +1 -1
  51. package/src/core/node-version.js +1 -1
  52. package/src/core/npm-cli.js +1 -1
  53. package/src/core/owned-command-child.js +1 -0
  54. package/src/core/owned-command.js +1 -0
  55. package/src/core/owned-lock.js +1 -1
  56. package/src/core/owned-process.js +1 -0
  57. package/src/core/presentations.js +1 -1
  58. package/src/core/quality-artifacts.js +1 -1
  59. package/src/core/quality.js +1 -1
  60. package/src/core/read-command.js +1 -0
  61. package/src/core/readonly-skill.js +1 -0
  62. package/src/core/resource-transaction.js +1 -1
  63. package/src/core/run-compatibility.js +1 -1
  64. package/src/core/runtime-info.js +1 -1
  65. package/src/core/runtime-ownership.js +1 -1
  66. package/src/core/session.js +1 -1
  67. package/src/core/skill-companions.js +1 -1
  68. package/src/core/skill-names.js +1 -1
  69. package/src/core/storage-retry.js +1 -0
  70. package/src/core/tool-contracts.js +1 -1
  71. package/src/core/update-control.js +1 -1
  72. package/src/core/upgrade-runs.js +1 -1
  73. package/src/core/upgrade-stop.js +1 -1
  74. package/src/core/windows-job.js +1 -0
  75. package/src/core/windows-job.ps1 +75 -0
  76. package/src/core/workspace-generation.js +1 -1
  77. package/src/core/workspace-path.js +1 -1
  78. package/src/installer/bounded-command.js +1 -1
  79. package/src/installer/candidate-preflight.js +1 -1
  80. package/src/installer/connection-activation.js +1 -1
  81. package/src/installer/connection-supervisor.js +1 -1
  82. package/src/installer/deployment-draft.js +1 -1
  83. package/src/installer/gateway-context.js +1 -1
  84. package/src/installer/gateway-migration.js +1 -1
  85. package/src/installer/gateway-runtime.js +1 -1
  86. package/src/installer/global-setup.js +1 -1
  87. package/src/installer/hook-context-client.js +1 -1
  88. package/src/installer/host-hooks.js +1 -1
  89. package/src/installer/managed-config.js +1 -1
  90. package/src/installer/platform-config.js +1 -1
  91. package/src/installer/prerequisites.js +1 -1
  92. package/src/installer/presentations.js +1 -1
  93. package/src/installer/project-setup.js +1 -1
  94. package/src/installer/registration-closure.js +1 -1
  95. package/src/installer/registration-plan.js +1 -1
  96. package/src/installer/registration-receipt.js +1 -1
  97. package/src/installer/registrations.js +1 -1
  98. package/src/installer/runtime-activation.js +1 -1
  99. package/src/installer/runtime-child.js +1 -1
  100. package/src/installer/runtime-lock.js +1 -1
  101. package/src/installer/runtime-store.js +1 -1
  102. package/src/installer/runtime-supervisor.js +1 -1
  103. package/src/installer/setup-wizard.js +1 -1
  104. package/src/installer/update-addons.js +1 -1
  105. package/src/installer/update-executor.js +1 -1
  106. package/src/installer/workspace-registry.js +1 -1
  107. package/src/installer/workspace-transaction.js +1 -1
  108. package/src/installer/workspace-update.js +1 -1
  109. package/src/license/crypto.js +1 -1
  110. package/src/license/fingerprint.js +1 -1
  111. package/src/license/terms.js +1 -1
  112. package/src/license/verify.js +1 -1
  113. package/src/presets/index.js +1 -1
  114. package/src/proxy/backends.js +1 -1
  115. package/src/proxy/browser-sessions.js +1 -1
  116. package/src/proxy/core-tools.js +1 -1
  117. package/src/proxy/pipeline.js +1 -1
  118. package/src/proxy/public-catalog.js +1 -1
  119. package/src/proxy/router.config.js +1 -1
  120. package/src/proxy/router.js +1 -1
  121. package/src/proxy/server.js +1 -1
  122. package/src/proxy/workspace-gateway.js +1 -1
  123. package/technical-sources-check.js +251 -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
 
@@ -64,12 +69,17 @@ Hệ thống được chia làm hai vai trò vận hành chính. Vui lòng tham
64
69
 
65
70
  ## ⚡ Tóm Tắt Quy Trình Phân Phối Trọn Gói (Deploy/Publish)
66
71
 
67
- ### Bước 1: Build đóng gói mã hóa (Admin)
68
- Đảm bảo bạn đã có các file khóa bảo mật trong thư mục `admin/`. Tăng version trong `package.json` và chạy:
69
- ```bash
70
- npm run build
71
- ```
72
- Lệnh này sẽ mã hóa thư mục `.agents/` và `src/templates` thành các file `.enc` trong thư mục `bundle/`, sau đó build mã nguồn JS đã được xáo trộn ra thư mục `dist/`.
72
+ ### Bước 1: Build đóng gói mã hóa (Admin)
73
+ Đảm bảo bạn đã có các file khóa bảo mật trong thư mục `admin/`. Dùng menu deploy để bump version và giữ đồng bộ `package.json` với hai trường version gốc trong `package-lock.json`:
74
+ ```bash
75
+ npm run deploy
76
+ ```
77
+
78
+ Nếu chỉ build local sau khi đã chọn version, chạy:
79
+ ```bash
80
+ npm run build
81
+ ```
82
+ Lệnh build mã hóa thư mục `.agents/` và `src/templates` thành các file `.enc` trong thư mục `bundle/`, sau đó build mã nguồn JS đã được xáo trộn ra thư mục `dist/`. Nếu `npm run deploy` đã mở từ trước rồi source thay đổi, hãy thoát menu cũ và chạy lại để nạp script mới. Menu cũ tự dừng trước khi build hoặc publish, tránh phát hành với logic version cũ.
73
83
 
74
84
  ### Bước 2: Publish lên npmjs.org (Admin)
75
85
  1. Đăng nhập vào tài khoản npm của bạn (nếu chưa đăng nhập):
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x4c9bf9=_0x2c3f;(function(_0x2d3dee,_0x1ab61b){const _0xd19b5f=_0x2c3f,_0x43d011=_0x2d3dee();while(!![]){try{const _0x4f128f=parseInt(_0xd19b5f(0x154))/0x1+parseInt(_0xd19b5f(0x104))/0x2+parseInt(_0xd19b5f(0x12c))/0x3*(-parseInt(_0xd19b5f(0xd9))/0x4)+-parseInt(_0xd19b5f(0x1cb))/0x5*(-parseInt(_0xd19b5f(0x197))/0x6)+-parseInt(_0xd19b5f(0x95))/0x7+parseInt(_0xd19b5f(0xf1))/0x8*(-parseInt(_0xd19b5f(0x127))/0x9)+parseInt(_0xd19b5f(0x149))/0xa*(parseInt(_0xd19b5f(0x10b))/0xb);if(_0x4f128f===_0x1ab61b)break;else _0x43d011['push'](_0x43d011['shift']());}catch(_0x31380b){_0x43d011['push'](_0x43d011['shift']());}}}(_0x4090,0xd2e14));const fs=require('fs'),path=require(_0x4c9bf9(0x9d)),os=require('os'),readline=require('readline'),http=require('http'),https=require(_0x4c9bf9(0x183)),{getFingerprint}=require(_0x4c9bf9(0xb2)),{verifyLicense}=require(_0x4c9bf9(0x155)),{checkPrerequisites}=require('../src/installer/prerequisites.js'),{installGlobalTools}=require(_0x4c9bf9(0x1b9)),{deployProject,ensureStitchAuthentication}=require(_0x4c9bf9(0x13a)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require('../src/installer/platform-config.js'),{runSetupWizard}=require('../src/installer/setup-wizard.js'),{registrations,cleanupPlan,applyCleanup}=require(_0x4c9bf9(0xa2));function runtimeLauncher(_0x3af109,_0x205508=!![]){const _0x4dacfd=_0x4c9bf9,_0x50060c=path['resolve'](__dirname,'..');if(!fs[_0x4dacfd(0xf0)](path[_0x4dacfd(0x19a)](_0x50060c,'integrity-manifest.json')))return console['warn'](_0x4dacfd(0x13d)),path[_0x4dacfd(0x19a)](_0x50060c,_0x4dacfd(0x134));const _0x56ce59=require(_0x4dacfd(0x187)),_0x16f821={};_0x16f821['publicKey']=_0x3af109,_0x16f821[_0x4dacfd(0x122)]=_0x205508;const _0x3607af=_0x56ce59[_0x4dacfd(0xf2)](_0x50060c,_0x16f821),_0x39fd64={};_0x39fd64[_0x4dacfd(0x153)]=_0x3af109,_0x39fd64['activate']=!![];if(!_0x205508&&!fs[_0x4dacfd(0xf0)](path[_0x4dacfd(0x19a)](_0x56ce59[_0x4dacfd(0x1a2)],'current.json')))return _0x56ce59[_0x4dacfd(0xf2)](_0x3607af[_0x4dacfd(0x9d)],_0x39fd64)['launcherPath'];return _0x3607af[_0x4dacfd(0x16f)];}function reportInstalledRuntime(_0x31dde9){const _0x308e6d=_0x4c9bf9;if(!fs[_0x308e6d(0xf0)](path[_0x308e6d(0x19a)](__dirname,_0x308e6d(0x191))))return!![];return require(_0x308e6d(0xb0))[_0x308e6d(0xf4)](_0x31dde9);}function parseArgs(){const _0xe3fa7c=_0x4c9bf9,_0x3b5c21=process[_0xe3fa7c(0x173)][_0xe3fa7c(0x14b)](0x2),_0x1ac068=_0x3b5c21[0x0],_0x57dd29={};for(let _0x31621e=0x1;_0x31621e<_0x3b5c21[_0xe3fa7c(0xb5)];_0x31621e++){if(_0x3b5c21[_0x31621e]==='--key'||_0x3b5c21[_0x31621e]==='-k')_0x57dd29[_0xe3fa7c(0xd0)]=_0x3b5c21[_0x31621e+0x1],_0x31621e++;else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0x10f)||_0x3b5c21[_0x31621e]==='-p')_0x57dd29[_0xe3fa7c(0x16e)]=_0x3b5c21[_0x31621e+0x1],_0x31621e++;else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0x13b))_0x57dd29['project']=_0x3b5c21[_0x31621e+0x1],_0x31621e++;else{if(_0x3b5c21[_0x31621e]==='--rebuild-index')_0x57dd29[_0xe3fa7c(0x169)]=!![];else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0x10c))_0x57dd29[_0xe3fa7c(0xab)]=!![];else{if(_0x3b5c21[_0x31621e]==='--wait')_0x57dd29[_0xe3fa7c(0xef)]=Number(_0x3b5c21[_0x31621e+0x1]),_0x31621e++;else{if([_0xe3fa7c(0x8e),_0xe3fa7c(0x1b4),_0xe3fa7c(0x18f)][_0xe3fa7c(0x1b1)](_0x3b5c21[_0x31621e])){const _0x3eca10={};_0x3eca10['code']=_0xe3fa7c(0x100);if(_0x57dd29['transactionAction']||!_0x3b5c21[_0x31621e+0x1]||_0x3b5c21[_0x31621e+0x1][_0xe3fa7c(0x135)]('--'))throw Object[_0xe3fa7c(0x193)](new Error(_0xe3fa7c(0x87)),_0x3eca10);_0x57dd29[_0xe3fa7c(0x188)]=_0x3b5c21[_0x31621e][_0xe3fa7c(0x14b)](0x2)[_0xe3fa7c(0x18c)]('-')[0x0],_0x57dd29[_0xe3fa7c(0x91)]=_0x3b5c21[++_0x31621e];}else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0xcf))_0x57dd29[_0xe3fa7c(0xc9)]=!![];else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0x14a))_0x57dd29[_0xe3fa7c(0xa9)]=_0x3b5c21[_0x31621e+0x1],_0x31621e++;else{if(_0x3b5c21[_0x31621e]===_0xe3fa7c(0x8b))_0x57dd29['dryRun']=!![];else _0x3b5c21[_0x31621e]===_0xe3fa7c(0x158)&&(_0x57dd29[_0xe3fa7c(0xbc)]=_0x3b5c21[_0x31621e+0x1],_0x31621e++);}}}}}}}}}}const _0x44df03={};return _0x44df03[_0xe3fa7c(0x96)]=_0x1ac068,_0x44df03['options']=_0x57dd29,_0x44df03;}function _0x4090(){const _0x3e3d39=['AM9PBG','ChjLC2v0tMfTzq','CMvJDxjZAxzL','ChjVDg9JB2W','Dg9ju09tDhjPBMC','y3jLyxrLsw50zxjMywnL','C3rKAw4','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','revgqvvmvf9st09u','Ag9ZDg5HBwu','y29TCgXLDgu','zg9JDg9YtgL2zq','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','CMvNAxn0zxjLzfbYB2PLy3rZ','zxzLCNK','AwrL','C29Tzq','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24Ty2XVC3vYzq','zxHLy1bHDgG','BwnW','lI4VyNvUzgXLl05pveLdrvmUBwq','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','zMLSDgvY','Aw5JBhvKzxm','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','zwXPz2LIBguGywz0zxiGCMv2Awv3','ls1Yzxn1BwuTDhjHBNnHy3rPB24','BgvNywn5lw93BMvYC2HPCc11BNzLCMLMAwvK','zMLUz2vYChjPBNq','C2vHCMnO','oYbRzwvWAw5NihrOzsbUzxDLCIbSB2nHBcbYDw50Aw1LlG','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','CNvUDgLTzvjVB3q','BgLJzw5Zzs5RzxK','C3rHDhvZq29Kzq','tgLJzw5ZzsbRzxKGAgfZigv4CgLYzwqUienVBNrHy3qGEw91CIbbzg1PBIbMB3iGysbUzxCGA2v5lG','CMvNAxn0CMf0Aw9UugXHBG','D2fYBG','y2XPlMPZ','uhjVAMvJDcbPBNn0ywXSzwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','BwTKAxjtEw5J','yMXVy2TLzc1WCM9Qzwn0lxn5BMm','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','kgDSB2jHBcK','C3rHDhvZ','yxbWBgLLza','BwLNCMf0Aw9UlxjLCxvPCMvK','CMvHzhK','mtGWnZu1D2vmv1HH','Cg9YDa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGy2XLyw51CcaTlwrYEs1YDw4GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','zhj5uNvU','BM90lxjLCxvPCMvK','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','yMXVy2TLCNm','B3DUzxjZAgLW','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','ww91ignHBIbTyw51ywXSEsbJB25MAwD1CMuGBgf0zxiGD2L0AdOGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0Dxa','u2vYDMvYihjLDhvYBMvKihn0yxr1CYa','y29UDgvUDc1Szw5NDgG','q2HVB3nLig9Uzsb1CgrHDguGDhjHBNnHy3rPB24Gywn0Aw9UihDPDgGGAxrZieLe','y2fUy2vSBgvK','BNbTigXHDgvZDcbKAwqGBM90igLKzw50Awz5igeGC3rHyMXLihjLBgvHC2u','Dg9Rzw4','ls1KCNKTCNvU','C3rYAw5NAwz5','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','ls1ZDxnWzw5KlxrYyw5Zywn0Aw9U','igLZihjLywr5igzVCIb0AguGBMv4DcbJB25Uzwn0Aw9UihrVia','zgv2AwnL','DhjHBNnHy3rPB25jza','BwfW','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTywrKB25Z','DgfYz2v0','ndmYmdu4mNnRy3voyW','y29TBwfUza','DMvYAwz5uMvNAxn0CMf0Aw9Uq2XVC3vYzq','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','q29UDgvUDc1mzw5NDgG','r2XVyMfSihrVB2XZihvWzgf0zsbMywLSzwq6ia','zgvSzwDHDgvK','vxnLCJOGicaGicaGia','Cgf0Aa','CMvXDwLYzwroB2rL','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','zgLNzxn0','Dw5VD25LzdSGBwfUDwfSihjLDMLLDYbVBMX5','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB25ZlMPZ','Aw5WDxq','D29YA3nWywnLsg9ZDhm','cLnLBgvJDcbjrevZihrVignVBMzPz3vYzsaOy29TBweTC2vWyxjHDgvKig51BwjLCNmPoG','vw5RBM93BIbJB21Tyw5KoIa','ywrKB25Z','A2v5x2LK','BwnWu2nVCgu','CMvZB2X2zq','ywXSuhjVAMvJDhm','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','DMfSAwq','CMvJzwLWDc1JB25MAxjTzwq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1LlwfJDgL2yxrPB24','lMDLBwLUAq','lI4VC3jJl2XPy2vUC2uVzMLUz2vYChjPBNqUANm','igLZihnLCNzPBMCG','yM9KEq','BgvUz3rO','CMvXDwLYzvn1ChbVCNrLze5Vzgu','v2fYBMLUzZOGrMfPBgvKihrVigXVzYbfvuXbigfJy2vWDgfUy2u6ia','zgLZCgXHEu5HBwu','zMLUza','CgvUzgLUzY1ZywzLlwjVDw5Kyxj5','CMvJB25Uzwn0lxjLCxvPCMvK','yxbWBhK','lIbbig1HAM9YlxzLCNnPB24GBwLNCMf0Aw9Uig5LzwrZigeGy29TCgf0AwjSzsbYzwXLyxnLlG','CM9SBgvKlwjHy2S','CMvSzwfZzq','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','revmruDbveLptL9gquLmruq','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','D3jPDgu','ihjLz2LZDhjHDgLVBIbJBgvHBNvWkhmPlIbcywnRDxbZignYzwf0zwqU','zxjYB3jZ','ChjLCgfYzvj1BNrPBwvszwXLyxnL','CgfYC2u','ywn0AxzL','ANnVBG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','y3vYCMvUDe5Vzgu','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGls1WCM9Qzwn0idXqqvripIaTlxjLC3vTzs10CMfUC2fJDgLVBIa8suq+ifSTlwPZB25D','y29Kzq','ww91CIbezxzPy2uGsuq6ia','ls1QC29U','A2v5','y3DK','ktSGy29UDgLUDwLUzYb1CgrHDguGzNjVBsb0AguGC2LNBMvKihjLBgvHC2uU','tgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','CMvHzhKTBMv4Dc1JB25Uzwn0Aw9U','tgf0zxn0ihn0ywjSzsbYzwXLyxnLignVBMzPCM1LzdOG','zxHPDa','zxHPDenVzgu','C2nVCgu','nJa1ndyWnfDKyKTPta','D29YA3nWywnL','ru5pru5u','yMLU','BwvZC2fNzq','uhjVAMvJDcbZzxr1CcbKzxbSB3LTzw50igzHAwXLzdOG','tunqihj1BNrPBwuGywn0AxzHDgLVBIbMB3iG','Bwv0ywrHDge','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','Bwv0Ag9K','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','iokaLcboB3qGzM91BMq','DxbKyxrL','CMvNAxn0CMf0Aw9UCW','DMvYC2LVBG','q0Xjigv4zwn1DgLVBIbLCNjVCJO','A2v5CW','y29UzMLN','BNbTigXHDgvZDcbPCYa','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','zw5K','zNjVBq','D2fPDa','zxHPC3rZu3LUyW','oteYBu9wswnh','Aw5ZDgfSBfj1BNrPBwu','yxv0BW','CMvWB3j0uNvUDgLTzufJDgL2yxrPB24','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','v2fYBMLUzZOGqw50AwDYyxzPDhKGzMfSBgjHy2SGy29UzMLNDxjHDgLVBIbMywLSzwq6ia','lI4VCgfJA2fNzs5QC29U','lMfNzw50CW','zgv0zwn0zwq','yw50AwDYyxzPDhK','yxbWBgLJyxrPB24VANnVBG','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlwfSBc1WCM9Qzwn0C10GwY0TD2fPDca8u0vdt05euZ5DifSTlw1JCc1Zy29WzsbHDxrVFhbYB2PLy3r8z2XVyMfSxsbBls1QC29Uxq','DxnLCG','BwnWx2nVBMzPzY5QC29U','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','su5wquXjrf9vuerbvevFqunusu9o','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','Cgf0Ag5HBwu','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','mty5nduYog16AMLzDq','B3v0Chv0','Ag9ZDa','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','DxrMoa','lI4VC3jJl2XPy2vUC2uVy3j5ChrVlMPZ','ufjprfvdveLptL9qvujmsunFs0vz','odHXwgfNrNy','ls1HBgWTChjVAMvJDhm','C3vJy2vZCW','oYbHBgWGBwfUywDLzcbJB25Uzwn0Aw9UCYbJB25MAxjTzwqU','ls1WCMvZzxq','qxbWBgLLzca','yxbWBhLnAwDYyxrPB24','ywnJzxb0yw5Jzs5SB2C','vvbeqvrfx0PpvvjoquXFvu5srufequjmrq','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','r0XpqKfmx1rpt0Xtx1vqrefurv9gquLmruq','lI4VyNvUzgXL','zw50CMLLCW','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','ic0+ia','zg9JDg9Y','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','ihWGs2v5oIa','iokaLca','q29UDgvUDc1uExbL','uhjVAMvJDca','Ahr0Chm6','CMvHzezPBgvtEw5J','ywn0AxzHDgu','BwLNCMf0Aw9U','y2fUzgLKyxrLCW','CNvUDgLTzunHBMrPzgf0zq','y29Uy2f0','mteZntK4vxfswLDW','CMvZDwX0CW','rxHWAxjLCZOGicaGia','lI4VC3jJl2LUC3rHBgXLCI9KzxbSB3LTzw50lwrYywz0','CMvXDwvZDa','m3DJsKXyqq','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','Dw5RBM93BG','y2f0y2G','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','Cgf5Bg9Hza','AgvHzgvYCW','C3jJl3bYB3H5l3nLCNzLCI5QCW','C3rHCNrZv2L0Aa','CMvZB3vYy2vqBgfU','uKvtt1vsq0vFufjfuefsqvrjt05FrKfjteve','y2XVC2u','lMfUAgrO','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','ls1WCM9Qzwn0','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','rgv2zwXVCg1LBNqGy2HLy2TVDxq6igf1Dg9TyxrPyYbYDw50Aw1LihvWzgf0zxmGCMvXDwLYzsbHihnPz25LzcbWywnRywDLlG','tunqihj1BNrPBwuG','CgfYDgLHBa','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','uhjLCMvXDwLZAxrLCYbJAgvJAYbMywLSzwq6','ufjpsKvdvf9ot1rFsu5tvefmteve','vvbeqvrfx0Lox1bst0Dsrvnt','uhjVAMvJDcb1CgrHDguGzgvWBg95zwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','ChjLCgfYzvvWzgf0zufKzg9UCW','vMvYAwzPzwqGqvbuia','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','Dw52zxjPzMLLza','mty0ndCZmenVs05XEG','ls1Ty3aTC2nVCgu','C2XPy2u','zgLYBMfTzq','lI4VC3jJl2nVCMuVBM9Kzs12zxjZAw9U','BM9pCa','vxnHz2u6','r0vu','ChvZAa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIbBls1WCM9Qzwn0idXqqvripL0GwY0TANnVBL0GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','ChvIBgLJs2v5','mta3nZuXohPZuwvVuq','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','vvbeqvrfx0zbsuXfra','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','ls1HChbSEq','zxjYB3i','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','yMXVy2TLza','CNvUDgLTzq','Ag9TzwrPCG','ls10zxjTCW','vxnHz2u6ig1JCcbYzwDPC3rYyxrPB25ZihWGBwnWignSzwfUDxaGls1KCNKTCNvUihWGBwnWignSzwfUDxaGls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4GFcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIb8ig1JCcbTAwDYyxrPB24Gls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4','uhjVAMvJDdOG','D3jPDgvgAwXLu3LUyW','cLDPBgWGy29UzMLNDxjLie1ducbMB3i6ia','C3rYAw5N','vxbKyxrLignVBxbSzxrLlG','zMfPBgvK','Bg9N','lI4VC3jJl2nVCMuVzg9JDg9Y','cLvZywDLoG','CMvIDwLSzeLUzgv4','CMvNAxn0CMf0Aw9UtwLNCMf0Aw9U','zwXPz2LIBgvwzxjZAw9U','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','lI4VC3jJl2LUC3rHBgXLCI93B3jRC3bHy2uTDxbKyxrL','ChjLC2v0','Bgf1BMnOzxjqyxrO','zgf0yq','DxbKyxrLlxrYyw5Zywn0Aw9UlMPZB24','uhjLC2v0oIaG','yxjNDG','vvbeqvrfx1jfu1vmvf9nsvntsu5h','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4','DhjPBq','tgLJzw5ZzsbRzxKGywn0AxzHDgvKigfUzcbZyxzLzcb0BZOG','y2XLyw51Ca','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','BwfZDgvYlNb1yMXPyY5Wzw0','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24TCMvJzwLWDa','Dg9mB3DLCKnHC2u','ChjVAMvJDfbHDgG','ywrK','icdINiuG','CMvHC29U','ywXPyxm','zM9YrwfJAa','Ahr0Chm','l2fJDgL2yxrL','y2HPBgrFChjVy2vZCW','yNvPBhq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','DhjHBNnHy3rPB25by3rPB24','quret05Fufjfuefsqvrjt05FrKfjteve','yNL0zuXLBMD0Aa','q2XLyw51CcbWBgfUigzPBguGD2fZig5VDcbMB3vUza','C3bSAxq','Aw5PDa','su5ervHFuKvcvuLmrf9gquLmruq','ls1Jyw5JzwWTDhjHBNnHy3rPB24','rgv2zwXVCg1LBNqGy2HLy2TVDxq6ig5WBsbSyxrLC3qGAxmGBM90ihzLCMLMAwvKigfUzcb0AgLZignVBw1HBMqGy2fUBM90ignSywLTigeGCMvSzwfZzsb1CgrHDguU','lI4VAw50zwDYAxr5lw1HBMLMzxn0lMPZB24','Dg9tDhjPBMC','yxnZAwDU','C2v0Dxa','v2fYBMLUzZOGq2XHDwrLigzHBgXIywnRignVBMzPz3vYyxrPB24GzMfPBgvKoIa','y29UDhjVBfbLBMrPBMC','mtK4DuHsqNfi','Aw5ZDgfSBa','ChjVAMvJDa'];_0x4090=function(){return _0x3e3d39;};return _0x4090();}function getPublicKey(){const _0x14e339=_0x4c9bf9;if(process.env.MCP_ADMIN_DIR){const _0x2700ad=path[_0x14e339(0x19a)](process.env.MCP_ADMIN_DIR,_0x14e339(0x17a));if(fs[_0x14e339(0xf0)](_0x2700ad))return fs['readFileSync'](_0x2700ad,'utf8')['trim']();}let _0x54ff14=path[_0x14e339(0x19a)](__dirname,_0x14e339(0x140));if(fs[_0x14e339(0xf0)](_0x54ff14))return fs[_0x14e339(0x121)](_0x54ff14,'utf8')[_0x14e339(0x176)]();_0x54ff14=path['join'](__dirname,_0x14e339(0x16c));if(fs[_0x14e339(0xf0)](_0x54ff14))return fs[_0x14e339(0x121)](_0x54ff14,_0x14e339(0x108))[_0x14e339(0x176)]();return require(_0x14e339(0x155))[_0x14e339(0x10a)];}function handleInit(){const _0x2369ba=_0x4c9bf9,_0x27b889=getFingerprint();console[_0x2369ba(0x166)](_0x2369ba(0xce)+_0x27b889);}function handleStatus(){const _0x248d1c=_0x4c9bf9,_0x52a50f=path[_0x248d1c(0x19a)](os['homedir'](),_0x248d1c(0x139),_0x248d1c(0x1bc));let _0x529046;try{_0x529046=fs['readFileSync'](_0x52a50f,_0x248d1c(0x108))['trim']();}catch(_0x15e622){console[_0x248d1c(0x159)]('License\x20key\x20file\x20not\x20found'),process[_0x248d1c(0xd6)](0x1);return;}const _0x3c9409=getFingerprint(),_0x286600=getPublicKey(),_0x509c09=verifyLicense(_0x529046,_0x3c9409,_0x286600);!_0x509c09[_0x248d1c(0xae)]&&(console[_0x248d1c(0x159)](_0x248d1c(0xd3)+_0x509c09[_0x248d1c(0x180)]),process['exit'](0x1));const _0x36b4ab=_0x509c09[_0x248d1c(0x132)];console['log'](_0x248d1c(0xe3)),console[_0x248d1c(0x166)]('================================'),console[_0x248d1c(0x166)](_0x248d1c(0x13c)),console[_0x248d1c(0x166)](_0x248d1c(0x9c)+_0x36b4ab[_0x248d1c(0xfd)]),console['log']('Preset:\x20\x20\x20\x20\x20\x20'+_0x36b4ab[_0x248d1c(0x16e)]),console[_0x248d1c(0x166)]('Device\x20ID:\x20\x20\x20'+_0x36b4ab[_0x248d1c(0x90)]),console[_0x248d1c(0x166)](_0x248d1c(0x129)+new Date(_0x36b4ab['exp'])[_0x248d1c(0x19e)]());}function extractKeyId(_0x77b9cf){const _0x10de6b=_0x4c9bf9;try{const _0x1aefd8=_0x77b9cf[_0x10de6b(0x18c)]('.'),_0x3928cf=JSON['parse'](Buffer[_0x10de6b(0xee)](_0x1aefd8[0x1],'base64url')[_0x10de6b(0x192)](_0x10de6b(0x108)));return _0x3928cf['keyId']||_0x3928cf[_0x10de6b(0xa8)];}catch(_0x5059f2){return null;}}function httpRequest(_0xe809f1,_0x2f7dde={}){return new Promise((_0xd8e7a2,_0xc69684)=>{const _0x4d4086=_0x2c3f;try{const _0x1f495a=new URL(_0xe809f1),_0x30719d=_0x1f495a[_0x4d4086(0x19d)]===_0x4d4086(0x120)?https:http,_0x538362={'User-Agent':_0x4d4086(0x1a1)+process['version']+')',..._0x2f7dde[_0x4d4086(0x133)]},_0x20a599=_0x538362;if(_0x2f7dde[_0x4d4086(0xb4)]){const _0x2a11cb=typeof _0x2f7dde[_0x4d4086(0xb4)]===_0x4d4086(0x163)?_0x2f7dde[_0x4d4086(0xb4)]:JSON[_0x4d4086(0x8c)](_0x2f7dde['body']);!_0x20a599['Content-Length']&&!_0x20a599[_0x4d4086(0x86)]&&(_0x20a599[_0x4d4086(0x99)]=Buffer[_0x4d4086(0x18a)](_0x2a11cb));}const _0x8a521e={};_0x8a521e['method']=_0x2f7dde[_0x4d4086(0xe2)]||_0x4d4086(0x150),_0x8a521e[_0x4d4086(0x1a3)]=_0x1f495a[_0x4d4086(0x1a3)],_0x8a521e[_0x4d4086(0x1cc)]=_0x1f495a[_0x4d4086(0x1cc)]||(_0x1f495a['protocol']===_0x4d4086(0x120)?0x1bb:0x50),_0x8a521e['path']=_0x1f495a[_0x4d4086(0x102)]+_0x1f495a[_0x4d4086(0x1b7)],_0x8a521e[_0x4d4086(0x133)]=_0x20a599;const _0x2be098=_0x8a521e,_0x4f81b8=_0x30719d[_0x4d4086(0x12b)](_0x2be098,_0x4498b5=>{const _0x394e08=_0x4d4086;let _0x39d228='';_0x4498b5['on'](_0x394e08(0x170),_0x555e78=>{_0x39d228+=_0x555e78;}),_0x4498b5['on']('end',()=>{const _0x3687af=_0x394e08;_0xd8e7a2({'ok':_0x4498b5[_0x3687af(0x1bd)]>=0xc8&&_0x4498b5[_0x3687af(0x1bd)]<0x12c,'status':_0x4498b5[_0x3687af(0x1bd)],'json':async()=>JSON[_0x3687af(0xc7)](_0x39d228),'text':async()=>_0x39d228});});});_0x4f81b8['on'](_0x4d4086(0x159),_0x4d23c7=>{_0xc69684(_0x4d23c7);}),_0x2f7dde[_0x4d4086(0xb4)]&&_0x4f81b8[_0x4d4086(0xc3)](_0x2f7dde[_0x4d4086(0xb4)]),_0x4f81b8[_0x4d4086(0xed)]();}catch(_0x29c39f){_0xc69684(_0x29c39f);}});}async function activateLicense(_0x342d39,_0x311031){const _0x2603d5=_0x4c9bf9,_0x1d0f89=extractKeyId(_0x342d39);if(!_0x1d0f89)throw new Error(_0x2603d5(0x179));const _0x133c4b=process.env.MCP_ACTIVATION_URL||'https://agentkit.alphatechs.ai/api',_0x8fc774=_0x133c4b+_0x2603d5(0x184),_0x41f8e9={};_0x41f8e9[_0x2603d5(0x11e)]=_0x2603d5(0xfb);const _0x53f72c={};_0x53f72c['key_id']=_0x1d0f89,_0x53f72c[_0x2603d5(0x1b6)]=_0x311031;const _0x5e5b41=await httpRequest(_0x8fc774,{'method':'POST','headers':_0x41f8e9,'body':JSON[_0x2603d5(0x8c)](_0x53f72c)});if(!_0x5e5b41['ok']){let _0x283835=_0x2603d5(0x85)+_0x5e5b41[_0x2603d5(0x1c7)];try{const _0x3a0e45=await _0x5e5b41['json']();if(_0x3a0e45&&_0x3a0e45[_0x2603d5(0x159)])_0x283835=_0x3a0e45[_0x2603d5(0x159)];}catch(_0x4112c4){}throw new Error(_0x283835);}const _0x1ac33e=await _0x5e5b41[_0x2603d5(0xc9)]();if(!_0x1ac33e||!_0x1ac33e[_0x2603d5(0x8a)])throw new Error(_0x2603d5(0x1c5));return _0x1ac33e['token'];}async function handleActivate(_0x599403){const _0x17f8ee=_0x4c9bf9,_0x31d5ba=_0x599403[_0x17f8ee(0xd0)];!_0x31d5ba&&(console[_0x17f8ee(0x159)](_0x17f8ee(0xf5)),console[_0x17f8ee(0x166)](_0x17f8ee(0x14f)),console[_0x17f8ee(0x166)](_0x17f8ee(0x114)),process[_0x17f8ee(0xd6)](0x1));const _0x536e4d=getFingerprint(),_0x1d4aca=getPublicKey(),_0x34b485=verifyLicense(_0x31d5ba,null,_0x1d4aca);!_0x34b485[_0x17f8ee(0xae)]&&(console[_0x17f8ee(0x159)](_0x17f8ee(0x11b)+_0x34b485[_0x17f8ee(0x180)]),process[_0x17f8ee(0xd6)](0x1));try{console[_0x17f8ee(0x166)]('Activating\x20license\x20key\x20online...');const _0x5453ca=await activateLicense(_0x31d5ba,_0x536e4d),_0x33520d=path[_0x17f8ee(0x19a)](os[_0x17f8ee(0x15d)](),_0x17f8ee(0x139),'license.key'),_0x2dc7c7={};_0x2dc7c7[_0x17f8ee(0x19c)]=!![],fs[_0x17f8ee(0x1c3)](path[_0x17f8ee(0x14c)](_0x33520d),_0x2dc7c7),fs[_0x17f8ee(0x161)](_0x33520d,_0x5453ca,_0x17f8ee(0x108)),console[_0x17f8ee(0x166)](_0x17f8ee(0x177)+_0x33520d);}catch(_0x401962){console[_0x17f8ee(0x159)]('Activation\x20failed:\x20'+_0x401962[_0x17f8ee(0xdd)]),process[_0x17f8ee(0xd6)](0x1);}}function askQuestion(_0x26efa4){const _0x47aca6=_0x4c9bf9,_0x109b37={};_0x109b37[_0x47aca6(0xa3)]=process[_0x47aca6(0x1a0)],_0x109b37[_0x47aca6(0x105)]=process['stdout'];const _0x289eba=readline[_0x47aca6(0x19f)](_0x109b37);return new Promise(_0x53b537=>_0x289eba['question'](_0x26efa4,_0x149511=>{const _0x2596f6=_0x47aca6;_0x289eba[_0x2596f6(0x138)](),process[_0x2596f6(0x1a0)]['pause'](),_0x53b537(_0x149511);}));}async function handleInstall(_0x3ad121){const _0x4076ce=_0x4c9bf9,_0x462761=_0x3ad121[_0x4076ce(0xd0)];if(!_0x462761){console[_0x4076ce(0x159)](_0x4076ce(0xf5)),console[_0x4076ce(0x166)](_0x4076ce(0x14f)),console[_0x4076ce(0x166)]('\x20\x20node\x20bin/cli.js\x20install\x20--key\x20<LICENSE_KEY>\x20[--preset\x20<PRESET>]\x20[--project\x20<PATH>]'),process['exit'](0x1);return;}console['log'](_0x4076ce(0xc0));const _0x4eca54=await askQuestion('Type\x20\x27yes\x27\x20to\x20accept:\x20');if(_0x4eca54[_0x4076ce(0x176)]()[_0x4076ce(0x17c)]()!=='yes'){console[_0x4076ce(0x159)](_0x4076ce(0x1a6)),process[_0x4076ce(0xd6)](0x1);return;}const _0xccede8=extractKeyId(_0x462761),_0x1582b1=path['join'](os[_0x4076ce(0x15d)](),_0x4076ce(0x139),_0x4076ce(0x112)),_0x40b15f=new Date()[_0x4076ce(0x19e)]()+_0x4076ce(0x11c)+(_0xccede8||_0x4076ce(0x12e))+_0x4076ce(0x15a);try{const _0x3288e1={};_0x3288e1[_0x4076ce(0x19c)]=!![],fs[_0x4076ce(0x1c3)](path['dirname'](_0x1582b1),_0x3288e1),fs['appendFileSync'](_0x1582b1,_0x40b15f,_0x4076ce(0x108));}catch(_0x5909f6){console[_0x4076ce(0x1c0)](_0x4076ce(0xb7)+_0x5909f6[_0x4076ce(0xdd)]);}const _0x5593ca=getFingerprint(),_0x904f8a=getPublicKey(),_0x264114=verifyLicense(_0x462761,null,_0x904f8a);!_0x264114[_0x4076ce(0xae)]&&(console['error'](_0x4076ce(0x11b)+_0x264114[_0x4076ce(0x180)]),process[_0x4076ce(0xd6)](0x1));let _0xb5b4a;try{console[_0x4076ce(0x166)]('Activating\x20license\x20key\x20online...'),_0xb5b4a=await activateLicense(_0x462761,_0x5593ca);}catch(_0xfcdb4e){console[_0x4076ce(0x159)](_0x4076ce(0x9f)+_0xfcdb4e[_0x4076ce(0xdd)]),process[_0x4076ce(0xd6)](0x1);}const _0x567ddc=verifyLicense(_0xb5b4a,_0x5593ca,_0x904f8a);!_0x567ddc[_0x4076ce(0xae)]&&(console[_0x4076ce(0x159)](_0x4076ce(0x1af)+_0x567ddc[_0x4076ce(0x180)]),process[_0x4076ce(0xd6)](0x1));const _0x4bb2f7=checkPrerequisites();!_0x4bb2f7[_0x4076ce(0x10d)]&&(console[_0x4076ce(0x159)](_0x4076ce(0x141)),_0x4bb2f7[_0x4076ce(0xc5)][_0x4076ce(0x182)](_0x100ab2=>console['error']('-\x20'+_0x100ab2)),process['exit'](0x1));try{installGlobalTools();}catch(_0x579546){console[_0x4076ce(0x159)](_0x4076ce(0xe1)+_0x579546[_0x4076ce(0xdd)]),process[_0x4076ce(0xd6)](0x1);}const _0xa01fb3=_0x3ad121[_0x4076ce(0x199)]||process[_0x4076ce(0xd1)](),_0x1d3e27=_0x3ad121[_0x4076ce(0x16e)]||_0x567ddc[_0x4076ce(0x132)][_0x4076ce(0x16e)],_0x17ec52=runtimeLauncher(_0x904f8a);try{deployProject({'licenseKey':_0xb5b4a,'projectPath':_0xa01fb3,'presetName':_0x1d3e27,'deviceId':_0x5593ca,'masterSecret':_0x904f8a,'runtimeLauncherPath':_0x17ec52,'mcpConfigTargets':[],'bundleDir':path['join'](__dirname,_0x4076ce(0x116))});}catch(_0x11e8b1){console['error'](_0x4076ce(0xde)+_0x11e8b1['message']),process[_0x4076ce(0xd6)](0x1);}let _0x304da5=null;try{console[_0x4076ce(0x166)](_0x4076ce(0x1d3));const _0x2a8a5f=detectInstalledIDEs(),_0x266194=[],_0x598eea=[];for(const [_0x2cc497,_0x241962]of Object['entries'](_0x2a8a5f)){_0x241962[_0x4076ce(0xf9)]?(_0x266194[_0x4076ce(0x151)](_0x2cc497),console['log'](_0x4076ce(0x17f)+_0x241962[_0x4076ce(0xb8)]+_0x4076ce(0x11d)+_0x241962[_0x4076ce(0xe2)])):(_0x598eea[_0x4076ce(0x151)](_0x2cc497),console[_0x4076ce(0x166)]('\x20\x20❌\x20'+_0x241962[_0x4076ce(0xb8)]+_0x4076ce(0xe4)));}let _0x543024=_0x266194;if(_0x266194[_0x4076ce(0xb5)]>0x0){console[_0x4076ce(0x166)](_0x4076ce(0x162)+_0x266194['map'](_0x1d8f55=>_0x2a8a5f[_0x1d8f55][_0x4076ce(0xb8)])[_0x4076ce(0x19a)](',\x20'));const _0x5b4b74=await askQuestion(_0x4076ce(0x131)),_0x45a88d=_0x5b4b74[_0x4076ce(0x176)]()[_0x4076ce(0x17c)]();if(_0x45a88d==='n'||_0x45a88d==='no')console['log']('Skipping\x20IDE\x20configuration.'),_0x543024=[];else{if(_0x45a88d==='edit'){const _0x186a8c=Object[_0x4076ce(0x117)](_0x2a8a5f);console[_0x4076ce(0x166)](_0x4076ce(0xa5)),_0x186a8c['forEach'](([_0x3bfcdb,_0x38b37],_0x247ba5)=>{const _0x37df65=_0x4076ce,_0x2b3e99=_0x38b37[_0x37df65(0xf9)]?'✅':'❌';console[_0x37df65(0x166)]('\x20\x20'+(_0x247ba5+0x1)+')\x20'+_0x2b3e99+'\x20'+_0x38b37['displayName']);});const _0x3ff391=await askQuestion('Choose:\x20');_0x543024=_0x3ff391['split'](',')[_0x4076ce(0x92)](_0x5610e5=>{const _0x471584=_0x4076ce,_0x1345ca=parseInt(_0x5610e5[_0x471584(0x176)](),0xa)-0x1;return _0x186a8c[_0x1345ca]?_0x186a8c[_0x1345ca][0x0]:null;})[_0x4076ce(0x1b0)](Boolean);}}}else console[_0x4076ce(0x166)](_0x4076ce(0xac)),console[_0x4076ce(0x166)](_0x4076ce(0x84));if(_0x543024[_0x4076ce(0xb5)]>0x0){const _0x4b5a1e={};_0x4b5a1e['projectPath']=_0xa01fb3,_0x4b5a1e['mcpScope']=_0x3ad121['mcpScope']||'auto';const _0x3b4c01=configureMultipleIDEs(_0x543024,_0x17ec52,_0x4b5a1e),_0xafd7de=_0x3b4c01[_0x4076ce(0x1b0)](_0x4f2176=>_0x4f2176['success'])[_0x4076ce(0xb5)];console[_0x4076ce(0x166)]('\x0a'+_0xafd7de+'/'+_0x543024['length']+'\x20IDE(s)\x20configured\x20successfully.'),_0x304da5=_0x3b4c01[_0x4076ce(0xb9)](_0x4a1e4e=>_0x4a1e4e['ide']===_0x4076ce(0xfa)&&!_0x4a1e4e[_0x4076ce(0x10d)])?.['error']||null;}}catch(_0x694bfd){console['warn']('Warning:\x20IDE\x20auto-detection\x20failed:\x20'+_0x694bfd['message']);try{const _0x5481be={};_0x5481be[_0x4076ce(0x17d)]=_0xa01fb3,_0x5481be[_0x4076ce(0xa9)]=_0x3ad121[_0x4076ce(0xa9)]||'auto',configureIDE(_0x4076ce(0xfa),_0x17ec52,_0x5481be);}catch(_0x28ba1e){console[_0x4076ce(0x1c0)](_0x4076ce(0xf6)+_0x28ba1e[_0x4076ce(0xdd)]),_0x304da5=_0x28ba1e['message'];}try{const _0x5a7c53={};_0x5a7c53[_0x4076ce(0x17d)]=_0xa01fb3,_0x5a7c53[_0x4076ce(0xa9)]=_0x3ad121[_0x4076ce(0xa9)]||_0x4076ce(0xf3),configureIDE('claude',_0x17ec52,_0x5a7c53);}catch(_0x1a60c6){console['warn'](_0x4076ce(0x195)+_0x1a60c6['message']);}}const _0x28eb8d=path[_0x4076ce(0x19a)](os[_0x4076ce(0x15d)](),_0x4076ce(0x139),_0x4076ce(0x1bc));try{const _0x56c1c7={};_0x56c1c7[_0x4076ce(0x19c)]=!![],fs[_0x4076ce(0x1c3)](path[_0x4076ce(0x14c)](_0x28eb8d),_0x56c1c7),fs[_0x4076ce(0x161)](_0x28eb8d,_0xb5b4a,_0x4076ce(0x108)),console[_0x4076ce(0x166)](_0x4076ce(0x118)+_0x28eb8d);}catch(_0x5e3394){console[_0x4076ce(0x159)](_0x4076ce(0xec)+_0x5e3394['message']),process[_0x4076ce(0xd6)](0x1);}_0x304da5&&(console[_0x4076ce(0x159)](_0x4076ce(0x1c2)+_0x304da5),process[_0x4076ce(0xd7)]=0x2);if(!reportInstalledRuntime(_0xa01fb3))process[_0x4076ce(0xd7)]=0x2;!process[_0x4076ce(0xd7)]&&console[_0x4076ce(0x166)](_0x4076ce(0x130)),console[_0x4076ce(0x166)](''),console[_0x4076ce(0x166)](_0x4076ce(0x12d)),console[_0x4076ce(0x166)]('\x20\x20\x20triage\x20labels,\x20and\x20domain\x20docs\x20layout\x20for\x20this\x20project.');}async function updateProject(_0x425226,_0x27afd3,_0x5808bf,_0x41cf2f,_0x12f9d7,_0x51edaa){const _0x52f487=_0x4c9bf9;if(_0x27afd3[_0x52f487(0x125)]){const _0x4e375a=path[_0x52f487(0x19a)](_0x425226,'.agents',_0x52f487(0x15c),_0x52f487(0x171));let _0x23decb;try{_0x23decb=JSON[_0x52f487(0xc7)](fs['readFileSync'](_0x4e375a,_0x52f487(0x108)));}catch(_0xb16b11){const _0x2de073={};_0x2de073['projectPath']=_0x425226,_0x2de073[_0x52f487(0x1c7)]=_0x52f487(0x165),_0x2de073['reason']=_0x52f487(0x113);if(_0xb16b11[_0x52f487(0xcd)]!==_0x52f487(0xdb))return _0x2de073;}const _0x993bd4=_0x23decb&&![_0x52f487(0xc8),_0x52f487(0xd4),_0x52f487(0xbe),'cancelled'][_0x52f487(0x1b1)](_0x23decb[_0x52f487(0x1c7)]);if(_0x993bd4&&(_0x23decb[_0x52f487(0x94)]?.[_0x52f487(0xe7)]!==_0x27afd3['runtimeCandidate'][_0x52f487(0xe7)]||_0x23decb[_0x52f487(0x94)]?.[_0x52f487(0xa0)]!==_0x27afd3[_0x52f487(0x125)][_0x52f487(0xa0)]))return{'projectPath':_0x425226,'status':'pending-safe-boundary','transactionId':_0x23decb[_0x52f487(0x91)],'blockers':[{'code':_0x52f487(0x143),'target':_0x23decb[_0x52f487(0x94)]}]};let _0x52f8fe;const _0x2d8e01={};_0x2d8e01[_0x52f487(0x1c7)]=_0x52f487(0x148),_0x2d8e01[_0x52f487(0x128)]=[];const _0x39587d=_0x993bd4?_0x23decb[_0x52f487(0xa7)]||_0x2d8e01:require(_0x52f487(0x93))[_0x52f487(0x145)](_0x51edaa),_0x5a87cd={};_0x5a87cd[_0x52f487(0xcd)]=_0x52f487(0x189);if(_0x39587d[_0x52f487(0x1c7)]!==_0x52f487(0x1ca))return{'projectPath':_0x425226,'status':'blocked-project-sync','blockers':[_0x5a87cd],'addons':_0x39587d};try{let _0x174a8b=require('../src/installer/registration-receipt')[_0x52f487(0xa4)](_0x425226);const _0x47a456=detectInstalledIDEs(),_0x4b336b=new Set(_0x174a8b);for(const [_0x73996f,_0x4df52b]of Object[_0x52f487(0x117)](_0x47a456)){if(_0x4df52b&&_0x4df52b[_0x52f487(0xf9)])_0x4b336b[_0x52f487(0x17e)](_0x73996f);}const _0x3cac37=[path['join'](_0x425226,_0x52f487(0xf8),_0x52f487(0xfe)),path['join'](os[_0x52f487(0x15d)](),_0x52f487(0xb1),_0x52f487(0xea),_0x52f487(0xfe))];if(_0x3cac37[_0x52f487(0x1aa)](_0x599578=>fs[_0x52f487(0xf0)](_0x599578)))_0x4b336b['add'](_0x52f487(0xfa));_0x174a8b=[..._0x4b336b],_0x52f8fe=_0x993bd4&&_0x23decb[_0x52f487(0x136)]?{'resourcePlan':new(require('../src/core/resource-transaction'))['ResourceTransaction'](_0x23decb[_0x52f487(0x136)]),'registrationPlan':_0x23decb[_0x52f487(0x1bf)]||null,'registrationMigration':_0x23decb[_0x52f487(0x16a)]}:require(_0x52f487(0x12a))['prepareProject']({'licenseKey':_0x12f9d7,'projectPath':_0x425226,'presetName':_0x51edaa,'deviceId':getFingerprint(),'masterSecret':_0x41cf2f,'runtimeLauncherPath':_0x27afd3['launcherPath'],'bundleDir':path[_0x52f487(0x19a)](__dirname,_0x52f487(0x116)),'isUpdate':!![],'rebuildIndex':_0x27afd3[_0x52f487(0x169)]===!![],'registrationHosts':_0x174a8b,'mcpScope':_0x27afd3[_0x52f487(0xa9)]||_0x52f487(0xf3)});}catch(_0xaddce6){const _0x419ca0={};return _0x419ca0['projectPath']=_0x425226,_0x419ca0[_0x52f487(0x1c7)]=_0x52f487(0x1c4),_0x419ca0[_0x52f487(0x180)]=_0xaddce6[_0x52f487(0xcd)]||_0x52f487(0x137),_0x419ca0;}const _0x12ea90={};_0x12ea90[_0x52f487(0xda)]=_0x425226,_0x12ea90[_0x52f487(0x1bb)]=_0x27afd3[_0x52f487(0x1bb)],_0x12ea90[_0x52f487(0xbf)]=_0x27afd3['runtimeCandidate'][_0x52f487(0x9d)],_0x12ea90[_0x52f487(0x153)]=_0x41cf2f,_0x12ea90['waitSeconds']=_0x27afd3[_0x52f487(0xef)]===undefined?0x78:_0x27afd3[_0x52f487(0xef)],_0x12ea90[_0x52f487(0x136)]=_0x52f8fe[_0x52f487(0x136)],_0x12ea90[_0x52f487(0x1bf)]=_0x52f8fe[_0x52f487(0x1bf)],_0x12ea90[_0x52f487(0x16a)]=_0x52f8fe[_0x52f487(0x16a)],_0x12ea90['addons']=_0x39587d,_0x12ea90[_0x52f487(0x169)]=_0x27afd3[_0x52f487(0x169)]===!![];const _0x377801=await require(_0x52f487(0x16d))['activateWorkspace'](_0x12ea90),_0x4b66c9={};_0x4b66c9[_0x52f487(0x1c7)]=_0x52f487(0x1cf),_0x4b66c9[_0x52f487(0x1d1)]=[];const _0x376a52=_0x52f8fe[_0x52f487(0x16a)]||_0x4b66c9;return{'projectPath':_0x425226,..._0x377801,'runtimeActivation':_0x377801[_0x52f487(0x1c7)],'addons':_0x39587d,'registrationMigration':_0x376a52,..._0x376a52[_0x52f487(0x1c7)]===_0x52f487(0x1c9)&&['active',_0x52f487(0xd4)][_0x52f487(0x1b1)](_0x377801[_0x52f487(0x1c7)])?{'status':_0x52f487(0x13f),'blockers':_0x376a52['blockers']}:{}};}const _0x35caf0=async()=>{const _0x2422b4=_0x52f487,_0x36739e=deployProject({'licenseKey':_0x12f9d7,'projectPath':_0x425226,'presetName':_0x51edaa,'deviceId':getFingerprint(),'masterSecret':_0x41cf2f,'runtimeLauncherPath':_0x27afd3[_0x2422b4(0x16f)],'bundleDir':path['join'](__dirname,_0x2422b4(0x116)),'isUpdate':!![],'mcpConfigTargets':[],'rebuildIndex':_0x27afd3['rebuildIndex']||![]});if(_0x27afd3['rebuildIndex']&&_0x36739e['indexSetup']?.['status']!==_0x2422b4(0x186)){const _0xf6bc9d={};_0xf6bc9d[_0x2422b4(0xcd)]=_0x2422b4(0x18e);throw Object[_0x2422b4(0x193)](new Error('Requested\x20index\x20rebuild\x20failed'),_0xf6bc9d);}const _0x28488d=detectInstalledIDEs(),_0x1a0b04=Object[_0x2422b4(0xe9)](_0x28488d)[_0x2422b4(0x1b0)](_0x52d9b4=>_0x28488d[_0x52d9b4][_0x2422b4(0xf9)]);if(!_0x1a0b04[_0x2422b4(0x1b1)](_0x2422b4(0xfa))){const _0x233506=path['join'](_0x425226,'.agents',_0x2422b4(0xfe)),_0x31a1bb=path[_0x2422b4(0x19a)](os[_0x2422b4(0x15d)](),_0x2422b4(0xb1),_0x2422b4(0xea),_0x2422b4(0xfe));(fs['existsSync'](_0x233506)||fs['existsSync'](_0x31a1bb))&&_0x1a0b04[_0x2422b4(0x151)](_0x2422b4(0xfa));}const _0x3082aa=_0x27afd3[_0x2422b4(0xa9)]||_0x2422b4(0xf3),_0x223e5a={};_0x223e5a[_0x2422b4(0x17d)]=_0x425226,_0x223e5a[_0x2422b4(0xa9)]=_0x3082aa;const _0x14ffff=_0x1a0b04[_0x2422b4(0xb5)]?configureMultipleIDEs(_0x1a0b04,_0x27afd3[_0x2422b4(0x16f)],_0x223e5a):[],_0x5289cf=_0x14ffff[_0x2422b4(0x1b0)](_0x8e944a=>!_0x8e944a['success']),_0x5baa9a=_0x5289cf[_0x2422b4(0xb9)](_0x5b1ad8=>_0x5b1ad8['ide']===_0x2422b4(0xfa));if(_0x5baa9a)console['error'](_0x2422b4(0x144)+_0x5baa9a[_0x2422b4(0x159)]);const _0x5dbbe1={};_0x5dbbe1[_0x2422b4(0xcd)]='REGISTRATION_UPDATE_FAILED';if(_0x5289cf[_0x2422b4(0xb5)])throw Object[_0x2422b4(0x193)](new Error('Project\x20registration\x20was\x20only\x20partly\x20updated'),_0x5dbbe1);return{'scope':_0x3082aa,'configured':_0x14ffff[_0x2422b4(0x92)](_0x21658d=>_0x21658d[_0x2422b4(0x1a9)])};};try{const _0x25d186=await _0x35caf0(),_0x4021bc={'projectPath':_0x425226,'status':'ready-next-connection',..._0x25d186};return _0x4021bc;}catch(_0x52962b){const _0x4c90e7={};return _0x4c90e7['projectPath']=_0x425226,_0x4c90e7[_0x52f487(0x1c7)]=_0x52f487(0x13f),_0x4c90e7[_0x52f487(0x180)]=_0x52962b[_0x52f487(0xcd)]||_0x52f487(0x156),_0x4c90e7;}}async function handleUpdate(_0x35cfe8){const _0xdfc8cf=_0x4c9bf9,_0x8fa8f2=console['log'];if(_0x35cfe8[_0xdfc8cf(0xc9)])console[_0xdfc8cf(0x166)]=(..._0x85aa59)=>console[_0xdfc8cf(0x159)](..._0x85aa59);try{const _0x3cb761=await handleUpdateCore(_0x35cfe8),_0x1fc68f={};_0x1fc68f[_0xdfc8cf(0x1c7)]=_0xdfc8cf(0x165),_0x1fc68f[_0xdfc8cf(0xcd)]=_0xdfc8cf(0x174);if(_0x35cfe8['json']&&!_0x3cb761?.[_0xdfc8cf(0x9b)])process['stdout']['write'](JSON[_0xdfc8cf(0x8c)](_0x3cb761||_0x1fc68f)+'\x0a');}catch(_0x103fac){console['error']('Update\x20failed:\x20'+_0x103fac[_0xdfc8cf(0xdd)]),process['exitCode']=0x1;const _0x40801f={};_0x40801f['status']=_0xdfc8cf(0x165),_0x40801f[_0xdfc8cf(0xcd)]=_0x103fac[_0xdfc8cf(0xcd)]||_0xdfc8cf(0x156);if(_0x35cfe8[_0xdfc8cf(0xc9)])process['stdout']['write'](JSON['stringify'](_0x40801f)+'\x0a');}finally{console[_0xdfc8cf(0x166)]=_0x8fa8f2;}}function _0x2c3f(_0x5d97ba,_0x4c3cd5){_0x5d97ba=_0x5d97ba-0x84;const _0x40901=_0x4090();let _0x2c3f1e=_0x40901[_0x5d97ba];if(_0x2c3f['pAKTHh']===undefined){var _0x5021a9=function(_0x2bdedb){const _0x523c8a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b2a24='',_0x42ba4e='';for(let _0x4db09d=0x0,_0x435239,_0x5e5d5c,_0x37fb02=0x0;_0x5e5d5c=_0x2bdedb['charAt'](_0x37fb02++);~_0x5e5d5c&&(_0x435239=_0x4db09d%0x4?_0x435239*0x40+_0x5e5d5c:_0x5e5d5c,_0x4db09d++%0x4)?_0x2b2a24+=String['fromCharCode'](0xff&_0x435239>>(-0x2*_0x4db09d&0x6)):0x0){_0x5e5d5c=_0x523c8a['indexOf'](_0x5e5d5c);}for(let _0x73fd22=0x0,_0x477180=_0x2b2a24['length'];_0x73fd22<_0x477180;_0x73fd22++){_0x42ba4e+='%'+('00'+_0x2b2a24['charCodeAt'](_0x73fd22)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42ba4e);};_0x2c3f['bQiOlI']=_0x5021a9,_0x2c3f['ETQQYv']={},_0x2c3f['pAKTHh']=!![];}const _0x368213=_0x40901[0x0],_0x17d2a5=_0x5d97ba+_0x368213,_0x3aff37=_0x2c3f['ETQQYv'][_0x17d2a5];return!_0x3aff37?(_0x2c3f1e=_0x2c3f['bQiOlI'](_0x2c3f1e),_0x2c3f['ETQQYv'][_0x17d2a5]=_0x2c3f1e):_0x2c3f1e=_0x3aff37,_0x2c3f1e;}async function handleUpdateCore(_0x33d4a9){const _0x65b44=_0x4c9bf9;if(_0x33d4a9['transactionAction']){const _0x58ab5e={};_0x58ab5e[_0x65b44(0xcd)]=_0x65b44(0x100);if(_0x33d4a9[_0x65b44(0xab)]||_0x33d4a9[_0x65b44(0x169)])throw Object['assign'](new Error('Transaction\x20control\x20requires\x20one\x20project'),_0x58ab5e);const _0x3b1d9b=await require('../src/installer/update-executor')[_0x65b44(0x196)](path[_0x65b44(0xaa)](_0x33d4a9[_0x65b44(0x199)]||process[_0x65b44(0xd1)]()),_0x33d4a9[_0x65b44(0x91)],_0x33d4a9[_0x65b44(0x188)],getPublicKey());process[_0x65b44(0xd7)]=_0x3b1d9b['status']===_0x65b44(0x165)?0x1:[_0x65b44(0xc8),_0x65b44(0xd4),_0x65b44(0x88)][_0x65b44(0x1b1)](_0x3b1d9b['status'])?0x0:0x2;if(!_0x33d4a9[_0x65b44(0xc9)])console['log'](JSON[_0x65b44(0x8c)](_0x3b1d9b));return _0x3b1d9b;}const _0x825043=path[_0x65b44(0x19a)](os[_0x65b44(0x15d)](),_0x65b44(0x139),_0x65b44(0x1bc));let _0x483bad;try{_0x483bad=fs['readFileSync'](_0x825043,_0x65b44(0x108))['trim']();}catch(_0x51a472){console['error'](_0x65b44(0xff)),console['log'](_0x65b44(0x175)),process[_0x65b44(0xd7)]=0x1;const _0x5c76d5={};return _0x5c76d5[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x5c76d5[_0x65b44(0xcd)]='LICENSE_KEY_MISSING',_0x5c76d5;}const _0x4df365=getFingerprint(),_0x4fff2b=getPublicKey(),_0x137bb8=verifyLicense(_0x483bad,_0x4df365,_0x4fff2b);if(!_0x137bb8[_0x65b44(0xae)]){_0x137bb8['reason']&&_0x137bb8[_0x65b44(0x180)][_0x65b44(0x1b1)]('expired')?console[_0x65b44(0x159)](_0x65b44(0x1be)):console[_0x65b44(0x159)](_0x65b44(0x11b)+_0x137bb8[_0x65b44(0x180)]);process[_0x65b44(0xd7)]=0x1;const _0x1de765={};return _0x1de765[_0x65b44(0x1c7)]='failed',_0x1de765['code']='LICENSE_INVALID',_0x1de765;}const _0x504257=_0x137bb8['payload'],_0x2f6752=_0x33d4a9['project']||process['cwd'](),_0x5b6f7b=_0x33d4a9[_0x65b44(0x16e)]||_0x504257[_0x65b44(0x16e)],_0x5c5bda=path['join'](_0x2f6752,_0x65b44(0xf8),'manifest.json');if(!fs[_0x65b44(0xf0)](_0x5c5bda)){console[_0x65b44(0x159)](_0x65b44(0x8d)),console[_0x65b44(0x166)](_0x65b44(0x103)),console[_0x65b44(0x166)](_0x65b44(0x1b2)+_0x2f6752+'\x22'),process[_0x65b44(0xd7)]=0x1;const _0x182268={};return _0x182268[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x182268[_0x65b44(0xcd)]=_0x65b44(0x142),_0x182268[_0x65b44(0x17d)]=_0x2f6752,_0x182268;}console[_0x65b44(0x166)](_0x65b44(0x1d0)),console[_0x65b44(0x166)](_0x65b44(0x157)),console[_0x65b44(0x166)]('╚══════════════════════════════════════════╝'),console['log']('User:\x20\x20\x20\x20'+_0x504257[_0x65b44(0xfd)]),console[_0x65b44(0x166)](_0x65b44(0x172)+_0x5b6f7b),console['log'](_0x65b44(0x160)+_0x2f6752),console[_0x65b44(0x166)]('');const _0x15359f=path[_0x65b44(0xaa)](__dirname,'..');if(fs[_0x65b44(0xf0)](path[_0x65b44(0x19a)](_0x15359f,'integrity-manifest.json'))){const _0x20882c=require('../src/installer/runtime-store'),_0x54194a=require(_0x65b44(0xf7))[_0x65b44(0xe7)];let _0x2b37a6,_0x4d611e=![];try{_0x2b37a6=process.env.APT_UPDATE_DELEGATED==='1'&&process.env.APT_VERIFIED_LATEST===_0x54194a?_0x54194a:(await _0x20882c[_0x65b44(0xe0)]())['version'];if(!/^\d+\.\d+\.\d+$/['test'](_0x2b37a6))throw new Error(_0x65b44(0x89));}catch(_0x27a5d6){console[_0x65b44(0x159)]('Update\x20failed:\x20latest\x20stable\x20release\x20could\x20not\x20be\x20confirmed:\x20'+_0x27a5d6['message']),process[_0x65b44(0xd7)]=0x1;const _0x5a2d01={};return _0x5a2d01[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x5a2d01[_0x65b44(0xcd)]='LATEST_UNCONFIRMED',_0x5a2d01[_0x65b44(0x17d)]=_0x2f6752,_0x5a2d01;}if(_0x2b37a6!==_0x54194a){if(!_0x20882c[_0x65b44(0x16b)](_0x2b37a6,_0x54194a)){const _0x18feee=_0x2b37a6['split']('.')[_0x65b44(0x92)](Number),_0x372f31=_0x54194a[_0x65b44(0x18c)]('.')['map'](Number);if(_0x18feee[0x0]===_0x372f31[0x0]&&_0x18feee[_0x65b44(0x1a8)](Number['isFinite']))_0x4d611e=!![],console[_0x65b44(0x1c0)](_0x65b44(0xeb)+_0x2b37a6+',\x20while\x20this\x20package\x20is\x20'+_0x54194a+_0x65b44(0x1b8));else{console[_0x65b44(0x159)]('Update\x20failed:\x20npm\x20latest\x20is\x20'+_0x2b37a6+',\x20while\x20this\x20package\x20is\x20'+_0x54194a+_0x65b44(0xbd)),process[_0x65b44(0xd7)]=0x1;const _0x1ab033={};return _0x1ab033[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x1ab033[_0x65b44(0xcd)]='VERSION_INCOMPATIBLE',_0x1ab033[_0x65b44(0x17d)]=_0x2f6752,_0x1ab033;}}else try{const _0x54e1db={};_0x54e1db[_0x65b44(0x153)]=_0x4fff2b;const _0x416c17=await _0x20882c[_0x65b44(0xc6)](_0x2b37a6,_0x54e1db);console['log'](_0x65b44(0x146)+_0x2b37a6+'\x20('+_0x416c17[_0x65b44(0xa0)]+_0x65b44(0xd2));const _0x5ced63=require(_0x65b44(0x185))['spawnSync'](process[_0x65b44(0x1ac)],[path['join'](_0x416c17[_0x65b44(0x9d)],_0x65b44(0xdc),_0x65b44(0x1c1)),...process[_0x65b44(0x173)][_0x65b44(0x14b)](0x2)],{'stdio':'inherit','windowsHide':!![],'timeout':0x927c0,'env':{...process.env,'APT_UPDATE_DELEGATED':'1','APT_VERIFIED_LATEST':_0x2b37a6}});if(_0x5ced63[_0x65b44(0x159)])throw _0x5ced63[_0x65b44(0x159)];process[_0x65b44(0xd7)]=_0x5ced63[_0x65b44(0x1c7)]===null?0x1:_0x5ced63['status'];const _0x24b66b={};return _0x24b66b['delegated']=!![],_0x24b66b;}catch(_0x535e49){console[_0x65b44(0x159)]('Update\x20failed\x20before\x20activation:\x20'+_0x535e49['message']),process[_0x65b44(0xd7)]=0x1;const _0x5f14f5={};return _0x5f14f5[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x5f14f5[_0x65b44(0xcd)]=_0x65b44(0xc1),_0x5f14f5['projectPath']=_0x2f6752,_0x5f14f5;}}if(!_0x4d611e)console[_0x65b44(0x166)](_0x65b44(0xd5)+_0x2b37a6+'.');}else console['warn'](_0x65b44(0x190));try{installGlobalTools();}catch(_0x31600c){console[_0x65b44(0x159)](_0x65b44(0x9a)+_0x31600c['message']),process['exitCode']=0x1;const _0x956579={};return _0x956579[_0x65b44(0x1c7)]='failed',_0x956579[_0x65b44(0xcd)]=_0x65b44(0x115),_0x956579[_0x65b44(0x17d)]=_0x2f6752,_0x956579;}const _0x471cdd=fs[_0x65b44(0xf0)](path['join'](__dirname,_0x65b44(0x191))),_0x5779d1=_0x471cdd?require(_0x65b44(0x187)):null,_0x1f0541={};_0x1f0541[_0x65b44(0x153)]=_0x4fff2b,_0x1f0541[_0x65b44(0x122)]=![];const _0x122937=_0x5779d1?_0x5779d1[_0x65b44(0xf2)](path[_0x65b44(0xaa)](__dirname,'..'),_0x1f0541):null,_0xd8a3d0=runtimeLauncher(_0x4fff2b,![]);let _0x578ac5;try{const _0x48379a={};_0x48379a[_0x65b44(0x17d)]=_0x2f6752;const _0x2e989d=_0x33d4a9[_0x65b44(0xab)]?require(_0x65b44(0x17b))[_0x65b44(0x1a7)]()[_0x65b44(0x126)](registrations(_0x48379a)[_0x65b44(0x1b0)](_0x5363a7=>_0x5363a7[_0x65b44(0xda)])[_0x65b44(0x92)](_0x314f05=>_0x314f05['workspace']),_0x2f6752):[_0x2f6752],_0x970295=[...new Set(_0x2e989d['map'](_0x522c7d=>path[_0x65b44(0xaa)](_0x522c7d)))];_0x578ac5=[];for(const _0x50ee8c of _0x970295)_0x578ac5['push'](await updateProject(_0x50ee8c,{..._0x33d4a9,'launcherPath':_0xd8a3d0,'runtimeCandidate':_0x122937,'runtimeRoot':_0x5779d1?.[_0x65b44(0x1a2)]},_0x504257,_0x4fff2b,_0x483bad,_0x5b6f7b));const _0x4d7447={};_0x4d7447['publicKey']=_0x4fff2b,_0x4d7447['activate']=!![];if(_0x5779d1&&_0x578ac5['every'](_0x5998a0=>(_0x5998a0['resourcesApplied']===!![]||_0x5998a0[_0x65b44(0x14e)]===!![])&&[_0x65b44(0xc8),_0x65b44(0xd4)]['includes'](_0x5998a0['runtimeActivation']||_0x5998a0[_0x65b44(0x1c7)])))_0x5779d1[_0x65b44(0xf2)](_0x122937[_0x65b44(0x9d)],_0x4d7447);if(!_0x33d4a9[_0x65b44(0xc9)]){for(const _0x15e6bc of _0x578ac5)console[_0x65b44(0x166)](_0x65b44(0x11f)+_0x15e6bc[_0x65b44(0x17d)]+':\x20'+_0x15e6bc[_0x65b44(0x1c7)]);}if(_0x578ac5['some'](_0x5119eb=>_0x5119eb['status']===_0x65b44(0x165)))process[_0x65b44(0xd7)]=0x1;else{if(_0x578ac5[_0x65b44(0x1aa)](_0x3244da=>![_0x65b44(0xc8),_0x65b44(0xd4)][_0x65b44(0x1b1)](_0x3244da['status'])))process[_0x65b44(0xd7)]=0x2;}}catch(_0x3071e0){console[_0x65b44(0x159)]('Update\x20failed:\x20'+_0x3071e0['message']),process[_0x65b44(0xd7)]=0x1;const _0x4573c9={};return _0x4573c9[_0x65b44(0x1c7)]=_0x65b44(0x165),_0x4573c9[_0x65b44(0xcd)]=_0x3071e0[_0x65b44(0xcd)]||_0x65b44(0x156),_0x4573c9[_0x65b44(0x17d)]=_0x2f6752,_0x4573c9;}const _0x31609b={};_0x31609b[_0x65b44(0x19b)]=_0x5b6f7b,ensureStitchAuthentication(_0x31609b);if(!_0x33d4a9[_0x65b44(0xc9)])for(const _0x4f5f62 of _0x578ac5){if(_0x4f5f62[_0x65b44(0x1c7)]==='active')console[_0x65b44(0x166)](_0x65b44(0x13e)+_0x4f5f62[_0x65b44(0x94)]?.['version']+_0x65b44(0xb3)+_0x4f5f62[_0x65b44(0x17d)]+_0x65b44(0x10e));else{if(_0x4f5f62[_0x65b44(0x1c7)]===_0x65b44(0xd4))console[_0x65b44(0x166)](_0x65b44(0x13e)+_0x4f5f62[_0x65b44(0x94)]?.[_0x65b44(0xe7)]+_0x65b44(0x8f)+_0x4f5f62['projectPath']+'.');else console[_0x65b44(0x1c0)](_0x65b44(0xdf)+_0x4f5f62[_0x65b44(0x17d)]+':\x20'+_0x4f5f62[_0x65b44(0x1c7)]+'.\x20'+(_0x4f5f62['reason']||_0x4f5f62['blockers']?.[_0x65b44(0x92)](_0x588de6=>_0x588de6['code'])['join'](',\x20')||''));}}if(!process['exitCode'])console[_0x65b44(0x166)](_0x65b44(0x164));return console[_0x65b44(0x166)](''),console[_0x65b44(0x166)](_0x65b44(0x1d4)),{'status':process[_0x65b44(0xd7)]?_0x65b44(0x13f):_0x65b44(0x1a4),'version':require(_0x65b44(0xf7))[_0x65b44(0xe7)],'latestConfirmed':fs[_0x65b44(0xf0)](path['join'](__dirname,'../integrity-manifest.json')),'results':_0x578ac5,'exitCode':process[_0x65b44(0xd7)]||0x0};}function handleRegistrations(_0x55e61d){const _0x4e00db=_0x4c9bf9,_0x53fea1=cleanupPlan({'projectPath':_0x55e61d[_0x4e00db(0x199)]||process[_0x4e00db(0xd1)]()});if(_0x55e61d['apply']){if(!fs[_0x4e00db(0xf0)](_0x55e61d['apply']))throw new Error(_0x4e00db(0x18b));const _0x476a38=JSON[_0x4e00db(0xc7)](fs[_0x4e00db(0x121)](_0x55e61d[_0x4e00db(0xbc)],_0x4e00db(0x108))),_0x444f2b=applyCleanup(_0x476a38,_0x55e61d);console[_0x4e00db(0x166)](_0x55e61d[_0x4e00db(0xc9)]?JSON[_0x4e00db(0x8c)](_0x444f2b,null,0x2):_0x4e00db(0x110)+_0x444f2b[_0x4e00db(0x1c8)][_0x4e00db(0xb5)]+_0x4e00db(0xc4));return;}if(_0x55e61d[_0x4e00db(0x1ce)]||!_0x55e61d[_0x4e00db(0xbc)])console[_0x4e00db(0x166)](_0x55e61d['json']?JSON[_0x4e00db(0x8c)](_0x53fea1,null,0x2):_0x53fea1[_0x4e00db(0x124)][_0x4e00db(0xb5)]?_0x53fea1['candidates'][_0x4e00db(0x92)](_0x1f7544=>_0x1f7544[_0x4e00db(0x106)]+'\x20'+_0x1f7544[_0x4e00db(0x181)]+_0x4e00db(0x119)+_0x1f7544['workspace']+'\x20('+(_0x1f7544[_0x4e00db(0x1d2)]===_0x4e00db(0xaf)?_0x4e00db(0x1b3):_0x4e00db(0xa1))+')')[_0x4e00db(0x19a)]('\x0a'):'No\x20validation\x20aliases\x20found.');}async function handleNotices(){const _0x77aa6e=_0x4c9bf9,{decrypt:_0x1894e2}=require(_0x77aa6e(0x109)),_0x4eabc7=path[_0x77aa6e(0x19a)](__dirname,_0x77aa6e(0x1ae));if(!fs['existsSync'](_0x4eabc7)){console['error'](_0x77aa6e(0xc2)),process[_0x77aa6e(0xd6)](0x1);return;}try{const _0x1388a3=fs[_0x77aa6e(0x121)](_0x4eabc7),_0x5c3edb=_0x1894e2(_0x1388a3,'anhdh-open-source-attributions');console[_0x77aa6e(0x166)](_0x5c3edb[_0x77aa6e(0x192)](_0x77aa6e(0x108)));}catch(_0x201b27){console['error'](_0x77aa6e(0x98),_0x201b27['message']),process[_0x77aa6e(0xd6)](0x1);}}async function main(){const _0x5511b4=_0x4c9bf9;try{require(_0x5511b4(0x14d))[_0x5511b4(0xb6)]();}catch(_0x33c653){if(!process[_0x5511b4(0x173)][_0x5511b4(0x1b1)](_0x5511b4(0xcf)))throw _0x33c653;const _0x1e13d9={};_0x1e13d9['status']=_0x5511b4(0x165),_0x1e13d9['code']=_0x33c653[_0x5511b4(0xcd)],_0x1e13d9[_0x5511b4(0x159)]=_0x33c653[_0x5511b4(0xdd)],_0x1e13d9[_0x5511b4(0x9e)]=_0x33c653[_0x5511b4(0x9e)],_0x1e13d9[_0x5511b4(0xcb)]=_0x33c653['currentNode'],console['log'](JSON[_0x5511b4(0x8c)](_0x1e13d9)),process[_0x5511b4(0xd7)]=0x1;return;}if(process[_0x5511b4(0x173)][_0x5511b4(0x1b1)](_0x5511b4(0x15e))){const {EULA_TEXT:_0x1c740b}=require('../src/license/terms.js');console[_0x5511b4(0x166)](_0x1c740b);return;}if(process[_0x5511b4(0x173)][_0x5511b4(0x1b1)]('--notices')){await handleNotices();return;}const {command:_0x6c41fc,options:_0x48433a}=parseArgs();switch(_0x6c41fc){case _0x5511b4(0x15e):const {EULA_TEXT:_0xb41cb8}=require(_0x5511b4(0x107));console[_0x5511b4(0x166)](_0xb41cb8);break;case'--notices':await handleNotices();break;case _0x5511b4(0x18d):handleInit();break;case _0x5511b4(0x11a):console['log'](JSON[_0x5511b4(0x8c)](await require(_0x5511b4(0x167))[_0x5511b4(0x1a5)](_0x48433a[_0x5511b4(0x199)]||process[_0x5511b4(0xd1)]()),null,0x2));break;case _0x5511b4(0x1c7):handleStatus();break;case _0x5511b4(0x198):await handleInstall(_0x48433a);break;case'activate':await handleActivate(_0x48433a);break;case _0x5511b4(0xe5):await handleUpdate(_0x48433a);break;case _0x5511b4(0x194):await runSetupWizard(_0x48433a[_0x5511b4(0x199)]||process[_0x5511b4(0xd1)]());break;case _0x5511b4(0x1ad):if(process['argv'][0x3]===_0x5511b4(0xe6)){const _0x3002f1=registrations({'projectPath':_0x48433a[_0x5511b4(0x199)]||process[_0x5511b4(0xd1)]()});console['log'](_0x48433a[_0x5511b4(0xc9)]?JSON[_0x5511b4(0x8c)](_0x3002f1,null,0x2):_0x3002f1[_0x5511b4(0x92)](_0x23cd3e=>_0x23cd3e[_0x5511b4(0x106)]+'\x20'+_0x23cd3e[_0x5511b4(0xd8)]+'\x20'+_0x23cd3e[_0x5511b4(0x181)]+'\x20'+(_0x23cd3e['workspace']||_0x5511b4(0x1c6)))[_0x5511b4(0x19a)]('\x0a'));}else{if(process['argv'][0x3]===_0x5511b4(0x178))handleRegistrations(_0x48433a);else{if(process[_0x5511b4(0x173)][0x3]===_0x5511b4(0x123)){const _0x1a52e9=require('../src/installer/gateway-migration'),_0x2268df=_0x48433a[_0x5511b4(0xbc)]?await _0x1a52e9[_0x5511b4(0x111)](JSON[_0x5511b4(0xc7)](fs['readFileSync'](_0x48433a[_0x5511b4(0xbc)],_0x5511b4(0x108))),{'verifyClosure':require(_0x5511b4(0x1ab))[_0x5511b4(0x97)]}):_0x1a52e9['migrationPlan']({'projectPaths':[_0x48433a['project']||process[_0x5511b4(0xd1)]()]});console['log'](JSON[_0x5511b4(0x8c)](_0x2268df,null,0x2)),process[_0x5511b4(0xd7)]=[_0x5511b4(0x165)]['includes'](_0x2268df['status'])?0x1:[_0x5511b4(0xba),_0x5511b4(0xbb),_0x5511b4(0x1b5),_0x5511b4(0x1c4),_0x5511b4(0x15b)][_0x5511b4(0x1b1)](_0x2268df[_0x5511b4(0x1c7)])?0x2:0x0;}else throw new Error(_0x5511b4(0x15f));}}break;default:console['error'](_0x5511b4(0xa6)+(_0x6c41fc||'')),console[_0x5511b4(0x166)](_0x5511b4(0x168)),console[_0x5511b4(0x166)](_0x5511b4(0xca)),console[_0x5511b4(0x166)]('\x20\x20npx\x20apt-mcp-agent-setup\x20status'),console[_0x5511b4(0x166)]('\x20\x20npx\x20apt-mcp-agent-setup\x20doctor\x20[--project\x20<PATH>]'),console[_0x5511b4(0x166)](_0x5511b4(0xad)),console[_0x5511b4(0x166)](_0x5511b4(0xfc)),console[_0x5511b4(0x166)](_0x5511b4(0xcc)),console[_0x5511b4(0x166)]('\x20\x20npx\x20apt-mcp-agent-setup\x20update\x20--project\x20<PATH>\x20--suspend-transaction\x20<ID>\x20|\x20--cancel-transaction\x20<ID>\x20[--json]'),console[_0x5511b4(0x166)]('\x20\x20npx\x20apt-mcp-agent-setup\x20mcp\x20registrations\x20[--json]'),console[_0x5511b4(0x166)](_0x5511b4(0x1cd)),console['log'](_0x5511b4(0x152)),console[_0x5511b4(0x166)](_0x5511b4(0x1ba)),console[_0x5511b4(0x166)]('\x20\x20npx\x20apt-mcp-agent-setup\x20setup\x20[--project\x20<PATH>]'),console[_0x5511b4(0x166)](_0x5511b4(0x101)),console[_0x5511b4(0x166)](_0x5511b4(0x147)),process[_0x5511b4(0xd6)](0x1);}}main()['then'](()=>{const _0x5bad73=_0x4c9bf9;process[_0x5bad73(0xd6)](process[_0x5bad73(0xd7)]||0x0);})[_0x4c9bf9(0x12f)](_0x3859ed=>{const _0x2936d3=_0x4c9bf9;console[_0x2936d3(0x159)](_0x2936d3(0xe8),_0x3859ed[_0x2936d3(0xdd)]),process[_0x2936d3(0xd6)](0x1);});
2
+ const _0x431d31=_0xd0a1;(function(_0xf2a946,_0x590f59){const _0x5667be=_0xd0a1,_0x13f0c5=_0xf2a946();while(!![]){try{const _0x519b8c=parseInt(_0x5667be(0x272))/0x1*(parseInt(_0x5667be(0x1c3))/0x2)+parseInt(_0x5667be(0x18f))/0x3*(-parseInt(_0x5667be(0x170))/0x4)+-parseInt(_0x5667be(0x23f))/0x5+parseInt(_0x5667be(0x169))/0x6+-parseInt(_0x5667be(0x1a8))/0x7*(-parseInt(_0x5667be(0x1ec))/0x8)+-parseInt(_0x5667be(0x22a))/0x9*(parseInt(_0x5667be(0x163))/0xa)+parseInt(_0x5667be(0x181))/0xb*(parseInt(_0x5667be(0x20c))/0xc);if(_0x519b8c===_0x590f59)break;else _0x13f0c5['push'](_0x13f0c5['shift']());}catch(_0x12d82f){_0x13f0c5['push'](_0x13f0c5['shift']());}}}(_0x3d67,0x98eb9));const fs=require('fs'),path=require(_0x431d31(0x167)),os=require('os'),readline=require(_0x431d31(0x1b4)),http=require('http'),https=require(_0x431d31(0x17d)),{getFingerprint}=require(_0x431d31(0x17e)),{verifyLicense}=require(_0x431d31(0x1c7)),{checkPrerequisites}=require(_0x431d31(0x15a)),{installGlobalTools}=require(_0x431d31(0x1c9)),{deployProject,ensureStitchAuthentication}=require(_0x431d31(0x1eb)),{configureIDE,configureMultipleIDEs,detectInstalledIDEs}=require(_0x431d31(0x16f)),{runSetupWizard}=require('../src/installer/setup-wizard.js'),{registrations,cleanupPlan,applyCleanup}=require(_0x431d31(0x232));function runtimeLauncher(_0x168f55,_0x1480cc=!![]){const _0x4bddf9=_0x431d31,_0x507cf5=path['resolve'](__dirname,'..');if(!fs[_0x4bddf9(0x25b)](path['join'](_0x507cf5,'integrity-manifest.json')))return console[_0x4bddf9(0x183)](_0x4bddf9(0x1b8)),path[_0x4bddf9(0x23a)](_0x507cf5,'src/proxy/server.js');const _0xf3ece2=require('../src/installer/runtime-store'),_0x11f186={};_0x11f186[_0x4bddf9(0x278)]=_0x168f55,_0x11f186[_0x4bddf9(0x1a3)]=_0x1480cc;const _0x2262d0=_0xf3ece2['installRuntime'](_0x507cf5,_0x11f186),_0x283752={};_0x283752[_0x4bddf9(0x278)]=_0x168f55,_0x283752['activate']=!![];if(!_0x1480cc&&!fs[_0x4bddf9(0x25b)](path[_0x4bddf9(0x23a)](_0xf3ece2[_0x4bddf9(0x1bd)],_0x4bddf9(0x275))))return _0xf3ece2[_0x4bddf9(0x189)](_0x2262d0['path'],_0x283752)[_0x4bddf9(0x2ac)];return _0x2262d0[_0x4bddf9(0x2ac)];}function _0xd0a1(_0x451311,_0x220d04){_0x451311=_0x451311-0x154;const _0x3d6742=_0x3d67();let _0xd0a191=_0x3d6742[_0x451311];if(_0xd0a1['MSEUum']===undefined){var _0x1da612=function(_0xdae991){const _0x31dfc2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d4294='',_0x2887d1='';for(let _0x7145cf=0x0,_0x40a08d,_0x13c59f,_0x56ce5f=0x0;_0x13c59f=_0xdae991['charAt'](_0x56ce5f++);~_0x13c59f&&(_0x40a08d=_0x7145cf%0x4?_0x40a08d*0x40+_0x13c59f:_0x13c59f,_0x7145cf++%0x4)?_0x3d4294+=String['fromCharCode'](0xff&_0x40a08d>>(-0x2*_0x7145cf&0x6)):0x0){_0x13c59f=_0x31dfc2['indexOf'](_0x13c59f);}for(let _0x565dfe=0x0,_0x3a58c4=_0x3d4294['length'];_0x565dfe<_0x3a58c4;_0x565dfe++){_0x2887d1+='%'+('00'+_0x3d4294['charCodeAt'](_0x565dfe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2887d1);};_0xd0a1['LvEfOp']=_0x1da612,_0xd0a1['mlepDu']={},_0xd0a1['MSEUum']=!![];}const _0x57cffb=_0x3d6742[0x0],_0x5c6dd7=_0x451311+_0x57cffb,_0x549218=_0xd0a1['mlepDu'][_0x5c6dd7];return!_0x549218?(_0xd0a191=_0xd0a1['LvEfOp'](_0xd0a191),_0xd0a1['mlepDu'][_0x5c6dd7]=_0xd0a191):_0xd0a191=_0x549218,_0xd0a191;}function reportInstalledRuntime(_0x71c188){const _0x438051=_0x431d31;if(!fs[_0x438051(0x25b)](path[_0x438051(0x23a)](__dirname,_0x438051(0x2a3))))return!![];return require(_0x438051(0x1da))[_0x438051(0x256)](_0x71c188);}function parseArgs(){const _0x32ae1e=_0x431d31,_0x508eeb=process[_0x32ae1e(0x20f)][_0x32ae1e(0x1fe)](0x2),_0x4d8aab=_0x508eeb[0x0],_0x53c784={};for(let _0xf53f70=0x1;_0xf53f70<_0x508eeb[_0x32ae1e(0x1ab)];_0xf53f70++){if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x261)||_0x508eeb[_0xf53f70]==='-k')_0x53c784[_0x32ae1e(0x29d)]=_0x508eeb[_0xf53f70+0x1],_0xf53f70++;else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x231)||_0x508eeb[_0xf53f70]==='-p')_0x53c784[_0x32ae1e(0x1bc)]=_0x508eeb[_0xf53f70+0x1],_0xf53f70++;else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x264))_0x53c784[_0x32ae1e(0x279)]=_0x508eeb[_0xf53f70+0x1],_0xf53f70++;else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x185))_0x53c784[_0x32ae1e(0x1c5)]=!![];else{if(_0x508eeb[_0xf53f70]==='--all-projects')_0x53c784[_0x32ae1e(0x159)]=!![];else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x219))_0x53c784[_0x32ae1e(0x291)]=Number(_0x508eeb[_0xf53f70+0x1]),_0xf53f70++;else{if([_0x32ae1e(0x15c),'--resume-transaction',_0x32ae1e(0x258)][_0x32ae1e(0x215)](_0x508eeb[_0xf53f70])){const _0x10aeed={};_0x10aeed[_0x32ae1e(0x1f8)]=_0x32ae1e(0x1b9);if(_0x53c784['transactionAction']||!_0x508eeb[_0xf53f70+0x1]||_0x508eeb[_0xf53f70+0x1][_0x32ae1e(0x190)]('--'))throw Object[_0x32ae1e(0x257)](new Error(_0x32ae1e(0x1dd)),_0x10aeed);_0x53c784[_0x32ae1e(0x1fa)]=_0x508eeb[_0xf53f70][_0x32ae1e(0x1fe)](0x2)['split']('-')[0x0],_0x53c784[_0x32ae1e(0x25e)]=_0x508eeb[++_0xf53f70];}else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x208))_0x53c784[_0x32ae1e(0x297)]=!![];else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x2a0))_0x53c784[_0x32ae1e(0x19d)]=_0x508eeb[_0xf53f70+0x1],_0xf53f70++;else{if(_0x508eeb[_0xf53f70]===_0x32ae1e(0x1df))_0x53c784[_0x32ae1e(0x1e5)]=!![];else _0x508eeb[_0xf53f70]===_0x32ae1e(0x25d)&&(_0x53c784['apply']=_0x508eeb[_0xf53f70+0x1],_0xf53f70++);}}}}}}}}}}const _0x3e80fe={};return _0x3e80fe[_0x32ae1e(0x18d)]=_0x4d8aab,_0x3e80fe[_0x32ae1e(0x22d)]=_0x53c784,_0x3e80fe;}function getPublicKey(){const _0x2cb615=_0x431d31;if(process.env.MCP_ADMIN_DIR){const _0x48ef26=path[_0x2cb615(0x23a)](process.env.MCP_ADMIN_DIR,'master.public.pem');if(fs['existsSync'](_0x48ef26))return fs[_0x2cb615(0x209)](_0x48ef26,_0x2cb615(0x280))['trim']();}let _0x210a13=path[_0x2cb615(0x23a)](__dirname,_0x2cb615(0x2a9));if(fs[_0x2cb615(0x25b)](_0x210a13))return fs[_0x2cb615(0x209)](_0x210a13,_0x2cb615(0x280))[_0x2cb615(0x1cd)]();_0x210a13=path[_0x2cb615(0x23a)](__dirname,_0x2cb615(0x2a6));if(fs[_0x2cb615(0x25b)](_0x210a13))return fs[_0x2cb615(0x209)](_0x210a13,_0x2cb615(0x280))[_0x2cb615(0x1cd)]();return require(_0x2cb615(0x1c7))[_0x2cb615(0x2a5)];}function _0x3d67(){const _0xd201b2=['CNvUDgLTzq','v2fYBMLUzZOGqw50AwDYyxzPDhKGzMfSBgjHy2SGy29UzMLNDxjHDgLVBIbMywLSzwq6ia','BwfW','q0Xjigv4zwn1DgLVBIbLCNjVCJO','ChjVAMvJDfbHDgG','C3bHD25tEw5J','vMvYAwzPzwqGqvbuia','C29Tzq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGy2XLyw51CcaTlwrYEs1YDw4GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','CMvNAxn0CMf0Aw9UCW','Ahr0Chm','lI4VC3jJl2XPy2vUC2uVzMLUz2vYChjPBNqUANm','zw50CMLLCW','zxzLCNK','mJu1ntm3n2nHtKLgCq','4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4PwD','D2fYBG','zxHW','ls1Yzwj1AwXKlwLUzgv4','Dg9mB3DLCKnHC2u','zxHPDenVzgu','uhjVAMvJDcbZzxr1CcbKzxbSB3LTzw50igzHAwXLzdOG','Aw5ZDgfSBfj1BNrPBwu','tgLJzw5ZzsbRzxKGBM90igzVDw5KlIbqBgvHC2uGCNvUicjPBNn0ywXSiIbMAxjZDdO','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIbBls1WCM9Qzwn0idXqqvripL0GwY0TANnVBL0GFcaTlwfWCgX5idXYzxzPzxDLzc1WBgfUpG','v2fYBMLUzZOGsurfigf1Dg8Tzgv0zwn0Aw9UigzHAwXLzdOG','y29TBwfUza','vxnHz2u6ig1JCcbYzwDPC3rYyxrPB25ZihWGBwnWignSzwfUDxaGls1KCNKTCNvUihWGBwnWignSzwfUDxaGls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4GFcbTy3aGBwLNCMf0Aw9Uic0Tzhj5lxj1BIb8ig1JCcbTAwDYyxrPB24Gls1HChbSEsa8CMv2Awv3zwqTCgXHBJ4','mtiWwu9htMDz','C3rHCNrZv2L0Aa','C3vJy2vZCW','Ag9ZDg5HBwu','BNbTigXHDgvZDcbPCYa','vxnLCJOGicaG','AgvHzgvYCW','tgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','CMvXDwvZDa','rMfPBgvKihrVigrLy3j5ChqGyxr0CMLIDxrPB25ZoG','yMfZzty0DxjS','Cg9YDa','CMvHC29U','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1Llxn0B3jL','BwnWu2nVCgu','zgv0zwn0zwq','icaGDhjPywDLigXHyMvSCYWGyw5KigrVBwfPBIbKB2nZigXHEw91DcbMB3iGDgHPCYbWCM9Qzwn0lG','DgfYz2v0','C3bSAxq','Bwv0ywrHDge','ywn0AxzHDgu','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbHy3rPDMf0zsaTlwTLEsa8teLdru5trv9lrvK+','Cgf5Bg9Hza','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbKB2n0B3iGwY0TChjVAMvJDca8uefusd5D','u2TPChbPBMCGsurfignVBMzPz3vYyxrPB24U','mtK1oty1CxPYEM1f','4PwricaGtunqiefNzw50iokaLcbvCgrHDguGicaGicaGicaGicaGicaGicaGicdILze','zgLZCgXHEu5HBwu','BgvUz3rO','B3DUzxjZAgLW','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTzxHLy3v0B3i','tunqihj1BNrPBwuG','ru5pru5u','Ag9ZDa','A2v5CW','C2v0Dxa','yw5OzgGTB3bLBI1ZB3vYy2uTyxr0CMLIDxrPB25Z','CMvHzgXPBMu','lMfNzw50CW','uhjVAMvJDcbPBNn0ywXSzwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','zxHLy1bHDgG','rgv2zwXVCg1LBNqGy2HLy2TVDxq6igf1Dg9TyxrPyYbYDw50Aw1LihvWzgf0zxmGCMvXDwLYzsbHihnPz25LzcbWywnRywDLlG','su5wquXjrf9vuerbvevFqunusu9o','Aw5KzxHtzxr1Ca','Dg9ju09tDhjPBMC','ChjLC2v0','revgqvvmvf9st09u','Cgf1C2u','zgLNzxn0','zxjYB3i','BgLJzw5Zzs5RzxK','vxnHz2u6','mZy1mdjXDgnJC3a','zxHWAxjLza','CMvIDwLSzeLUzgv4','BwnWx2nVBMzPzY5QC29U','lI4VC3jJl2XPy2vUC2uVDMvYAwz5lMPZ','icbUB2rLigjPBI9JBgKUANmGywn0AxzHDguGls1RzxKGpeXjq0vou0vFs0vzpG','lI4VC3jJl2LUC3rHBgXLCI9NBg9IywWTC2v0DxaUANm','BwfUAwzLC3qUANnVBG','ChjLC2v0tMfTzq','lI4VC3jJl2LUC3rHBgXLCI91CgrHDguTywrKB25Z','DhjPBq','D29YA3nWywnL','uhjLC2v0oIaGicaGia','y29UzMLN','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','CMvZB3vYy2vZqxbWBgLLza','BwTKAxjtEw5J','vxbKyxrLigzHAwXLzcbIzwzVCMuGywn0AxzHDgLVBJOG','yxbWBhLnAwDYyxrPB24','BwLNCMf0Aw9UlxjLCxvPCMvK','vhjHBNnHy3rPB24Gy29UDhjVBcbYzxf1AxjLCYbVBMuGChjVAMvJDa','CNvUDgLTzunHBMrPzgf0zq','A2v5swq','lI4VC3jJl2LUC3rHBgXLCI9YDw50Aw1LlwfJDgL2yxrPB24','quret05Fufjfuefsqvrjt05FrKfjteve','tgf0zxn0ihn0ywjSzsbYzwXLyxnLignVBMzPCM1LzdOG','q2HVB3nLig9Uzsb1CgrHDguGDhjHBNnHy3rPB24Gywn0Aw9UihDPDgGGAxrZieLe','tefurvnux1voq09orKLstuve','ls1KCNKTCNvU','lMDLBwLUAq','yxv0BW','CMvZB3vYy2vqBgfU','rgv2AwnLieLeoIaGia','yNvPBhq','zhj5uNvU','ls10zxjTCW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlw5VDgLJzxm','ywn0AxzL','C3rKB3v0','qxbWBgLLzca','lI4VC3jJl2LUC3rHBgXLCI9WCM9Qzwn0lxnLDhvWlMPZ','mJq4yNzjtxb6','CgfYC2u','lI4VC3jJl2LUC3rHBgXLCI9NyxrLD2f5lw1Pz3jHDgLVBG','C2vHCMnO','BwLNCMf0Aw9U','iokaLca','CNvUDgLTzufJDgL2yxrPB24','zg9JDg9YtgL2zq','zM9YrwfJAa','lI4VyNvUzgXLl05pveLdrvmUBwq','C2nVCgu','CMvJB25Uzwn0lxjLCxvPCMvK','y29Kzq','lI4VC3jJl2nVCMuVzg9JDg9Y','DhjHBNnHy3rPB25by3rPB24','lI4VC3jJl2nVCMuVBM9Kzs12zxjZAw9U','Bg9N','ChvZAa','C2XPy2u','zgLYBMfTzq','uhjVAMvJDdOG','teLdru5trv9jtLzbteLe','BNbTigXHDgvZDcbKAwqGBM90igLKzw50Awz5igeGC3rHyMXLihjLBgvHC2u','rxHWAxjLCZOGicaGia','CMvJDxjZAxzL','zwXPz2LIBgvwzxjZAw9U','yxbWBhK','ywXPyxm','ls1QC29U','CMvHzezPBgvtEw5J','qMfZzsbnq1aGquKGqwDLBNqG4OcuifnLDhvWifn0yxr1CW','CMvXDwLYzwroB2rL','mZzdEgrUrxO','CgvUzgLUzY1ZywzLlwjVDw5Kyxj5','u2vYDMvYihjLC3bVBNnLig1PC3nPBMCGDg9Rzw4','yxjNDG','tgLJzw5ZzsbRzxKGywn0AxzHDgvKigfUzcbZyxzLzcb0BZOG','zwrPDa','zMLUz2vYChjPBNq','yxbWBgLLza','tM8GChjLDMLVDxmGAw5ZDgfSBgf0Aw9UigzVDw5KigLUihrOAxmGChjVAMvJDc4','Aw5JBhvKzxm','qwn0AxzHDgLUzYbSAwnLBNnLigTLEsbVBMXPBMuUlI4','C3rYAw5NAwz5','ywnJzxb0yw5Jzs5SB2C','ls13ywL0','uMvXDwvZDgvKigLUzgv4ihjLyNvPBgqGzMfPBgvK','teLdru5trv9lrvLFtuLtu0LorW','r2XVyMfSihrVB2XZigLUC3rHBgXHDgLVBIbMywLSzwq6ia','yMLU','ywn0AxzHDgvxB3jRC3bHy2u','C3rKAw4','DMvYAwz5uMvNAxn0CMf0Aw9Uq2XVC3vYzq','v2fYBMLUzZOGq2XHDwrLigzHBgXIywnRignVBMzPz3vYyxrPB24GzMfPBgvKoIa','Dg9tDhjPBMC','CMvHzhKTBMv4Dc1JB25Uzwn0Aw9U','lMfUAgrO','zw5K','ic0+ia','Dw5VD25LzdSGBwfUDwfSihjLDMLLDYbVBMX5','CMvNAxn0CMf0Aw9UtwLNCMf0Aw9U','tgLJzw5Zzsb2zxjPzMLJyxrPB24GzMfPBgvKoIa','mteXmtm2nZDxEfPrDMW','cLDPBgWGy29UzMLNDxjLie1ducbMB3i6ia','BM9pCa','B3b0Aw9UCW','4Pwu4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwq4Pwx','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcaTlxrLCM1Z','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4Gls1WCM9Qzwn0ici','ls1WCMvZzxq','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB25ZlMPZ','DxbKyxrL','y3DK','y2f0y2G','AwrL','y2XVC2u','zgvSzwDHDgvK','zxHPDa','AM9PBG','cLnJyw5UAw5NigzVCIbPBNn0ywXSzwqGquKTCg93zxjLzcbjrevZlI4U','y29Uy2f0','y2XHDwrL','rMfPBgvKihrVihnHDMuGBgLJzw5ZzsbRzxKGzMLSztOG','mtuXnJqYnuvpt2nVqW','su5ervHFuKvcvuLmrf9gquLmruq','D29YA3nWywnLsg9ZDhm','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','r0XpqKfmx1rpt0Xtx1vqrefurv9gquLmruq','Cgf0Ag5HBwu','uNvUicjPBNn0ywXSiIbMAxjZDcb0BYbZzxqGDxaGDgHPCYbWCM9Qzwn0oG','zxjYB3jZ','ywrK','qwn0AxzHDgvKihrVA2vUihzHBgLKyxrPB24GzMfPBgvKoIa','y3jLyxrLsw50zxjMywnL','BwnW','CMvZB2X2zq','CgfYDgLHBa','cLvZywDLoG','vhLWzsaNEwvZjYb0BYbHy2nLChq6ia','BwLNCMf0Aw9UugXHBG','vxbKyxrLigzHAwXLzdOGBgf0zxn0ihn0ywjSzsbYzwXLyxnLignVDwXKig5VDcbIzsbJB25MAxjTzwq6ia','8j+sOsbuAxa6ifj1BIbGBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxbGihrVign1C3rVBwL6zsb5B3vYigLZC3vLihrYywnRzxiS','C3rYAw5N','lI4VyNvUzgXL','vxbKyxrLigzHAwXLzdOGBNbTigXHDgvZDcbPCYa','cK5ViefjlxbVD2vYzwqGsurfCYbKzxrLy3rLzc4Gu2TPChbPBMCGz2XVyMfSieLersbJB25MAwD1CMf0Aw9UlG','CMvWB3j0uNvUDgLTzufJDgL2yxrPB24','yxnZAwDU','ls1Jyw5JzwWTDhjHBNnHy3rPB24','icdINiuG','B3v0Chv0','zxHPC3rZu3LUyW','y2HPBgrFChjVy2vZCW','ls1HChbSEq','DhjHBNnHy3rPB25jza','A2v5x2LK','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbTy3aGCMvNAxn0CMf0Aw9UCYbBls1QC29Uxq','ls1RzxK','q29UzMLYBt8Gw1KVBI9LzgL0xsaOzgvMyxvSDdOGwsK6ia','y3vYCMvUDe5Vzgu','ls1WCM9Qzwn0','DMvYC2LVBG','Aw5PDa','CMvSzwfZzq','CNvUDgLTzvjVB3q','revmruDbveLptL9gquLmruq','iokaLcboB3qGzM91BMq','Aw5OzxjPDa','ieLersHZksbJB25MAwD1CMvKihn1y2nLC3nMDwXSEs4','vxbKyxrLignVBxbSzxrLlG','rgv2zwXVCg1LBNqGy2HLy2TVDxq6ig5WBsbSyxrLC3qGAxmGBM90ihzLCMLMAwvKigfUzcb0AgLZignVBw1HBMqGy2fUBM90ignSywLTigeGCMvSzwfZzsb1CgrHDguU','yw50AwDYyxzPDhK','Aw5ZDgfSBa','vxnLCJOGicaGicaGia','mtDNzLz2veW','CM9SBgvKlwjHy2S','y2XPlMPZ','y3vYCMvUDc5QC29U','sw5ZDgfSBgf0Aw9UignVBxbSzxrLzcbZDwnJzxnZzNvSBhKH','uhjVAMvJDcb1CgrHDguGzgvWBg95zwq7iefUDgLNCMf2Axr5ie1ducbYzwDPC3rYyxrPB24GzMfPBgvKoIa','ChvIBgLJs2v5','ChjVAMvJDa','t25SAw5LigfJDgL2yxrPB24GzMfPBgvKoIa','D3jPDgvgAwXLu3LUyW','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4GwY0TChjLC2v0idXquKvtrvq+xsbBls1WCM9Qzwn0idXqqvripL0','zMLUza','BM90lxjLCxvPCMvK','uhjVAMvJDcbYzwDPC3rYyxrPB24GD2fZig9UBhKGCgfYDgX5ihvWzgf0zwq','DxrMoa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbZDgf0Dxm','yMXVy2TLza','C3rHDhvZq29Kzq','y29UDgvUDc1Szw5NDgG','vvbeqvrfx0Lox1bst0Dsrvnt','vKvsu0LptL9jtKnptvbbveLcteu','uKvhsvnuuKfusu9ox1vqrefurv9gquLmruq','vxbKyxrLigzHAwXLzdOG','q29UDgvUDc1mzw5NDgG','Ag9TzwrPCG','lI4VC3jJl2LUC3rHBgXLCI9KzxbSB3LTzw50lwrYywz0','r0vu','zMLSDgvY','CMvNAxn0zxjLzfbYB2PLy3rZ','yxbWBgLJyxrPB24VANnVBG','uKvtt1vsq0vFufjfuefsqvrjt05FrKfjteve','D2fPDa','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1Ccb1CgrHDguGwY0TChjVAMvJDca8uefusd5DifSTlwfSBc1WCM9Qzwn0C10GwY0TD2fPDca8u0vdt05euZ5DifSTlw1JCc1Zy29WzsbHDxrVFhbYB2PLy3r8z2XVyMfSxsbBls1QC29Uxq','icbUB2rLigjPBI9JBgKUANmGAw5ZDgfSBcaTlwTLEsa8teLdru5trv9lrvK+ifSTlxbYzxnLDca8ufjfu0vupL0GwY0TChjVAMvJDca8uefusd5D','qNKGy29UDgLUDwLUzYWGEw91igfNCMvLihrVihrOzsbuzxjTCYbVzIbtzxj2AwnLigf0igH0DhbZoI8VywDLBNrRAxqUywXWAgf0zwnOCY5HAs90zxjTCY4','Aw5WDxq','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBML0','ANnVBG','ChjLCgfYzvbYB2PLy3q','sw5ZDgfSBgf0Aw9UigfIB3j0zwqUifLVDsbTDxn0igfJy2vWDcb0AguGDgvYBxmGDg8GAw5ZDgfSBc4','Ahr0Chm6','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24TCMvJzwLWDa','lcb3AgLSzsb0AgLZihbHy2THz2uGAxmG','A2v5','lI4VC3jJl2nVCMuVCMvZB3vYy2uTDhjHBNnHy3rPB24','tunqihj1BNrPBwuGywn0AxzHDgLVBIbMB3iG','ls1Ty3aTC2nVCgu','zg9JDg9Y','zwXPz2LIBguGywz0zxiGCMv2Awv3','lI4VAw50zwDYAxr5lw1HBMLMzxn0lMPZB24','ihWGqwnJzxb0zwqGvgvYBxmGB2yGu2vYDMLJzqO','ufjprfvdveLptL9qvujmsunFs0vz','lI4VlI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','tgLJzw5ZzsbRzxKGC2f2zwqGDg86ia','ywrKB25Z','lI4VywrTAw4VBwfZDgvYlNb1yMXPyY5Wzw0','u3rHDhvZoIaGicaGifzHBgLKic8Gqwn0AxzL','icdINyWG','Bgf1BMnOzxjqyxrO','zMfPBgvK','DxbKyxrLlxrYyw5Zywn0Aw9UlMPZB24','CMvNAxn0CMf0Aw9UugXHBG','yxbWzw5KrMLSzvn5BMm','rxjYB3i6ie1PC3nPBMCGCMvXDwLYzwqGyxjNDw1LBNqGls1RzxK','Dw52zxjPzMLLza','vvbeqvrfx0PpvvjoquXFvu5srufequjmrq','ww91CIbezxzPy2uGsuq6ia','C3rHDhvZ','DxnLCG','zgf0yq','y2XLyw51Ca','ktSGy29UDgLUDwLUzYb1CgrHDguGzNjVBsb0AguGC2LNBMvKihjLBgvHC2uU','qxr0CMLIDxrPB25ZigzPBguGke5pveLdrvmUBwqPig5VDcbMB3vUzc4','BwvZC2fNzq','yMXVy2TLzc1WCM9Qzwn0lxn5BMm','ywXSuhjVAMvJDhm','lI4VC3jJl2LUC3rHBgXLCI9WCMvYzxf1AxnPDgvZlMPZ','icbUChGGyxb0lw1JCc1Hz2vUDc1Zzxr1CcbPBNn0ywXSic0TA2v5idXmsunftLnfx0Tfwt4','ls1ZDxnWzw5KlxrYyw5Zywn0Aw9U','yMXVy2TLCNm','Bwv0Ag9K','ChjLCgfYzvvWzgf0zufKzg9UCW','lI4VC3jJl2XPy2vUC2uVy3j5ChrVlMPZ','DMfSAwq','8j+sOsbuAxa6ifj1BIaIBNb4igfWDc1Ty3aTywDLBNqTC2v0DxaGC2v0DxaIihrVihjLy29UzMLNDxjLihbYB2PLy3qGC2v0DgLUz3mU','mtbpCwT6B1y','D3jPDgu','lI4VC3jJl2XPy2vUC2uVDgvYBxmUANm','CMvZDwX0CW','Cgf0Aa','ls1UB3rPy2vZ','mZCYmZuXnLDprwDYCW','y2fUy2vSBgvK','zgv2AwnL','lI4VC3jJl2LUC3rHBgXLCI9YzwDPC3rYyxrPB24Ty2XVC3vYzq','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','yM9KEq','lI4VC3jJl2LUC3rHBgXLCI9WBgf0zM9YBs1JB25MAwCUANm','mZmXmtjms2DLC2q','BgvNywn5lw93BMvYC2HPCc11BNzLCMLMAwvK','Dg9Rzw4'];_0x3d67=function(){return _0xd201b2;};return _0x3d67();}function handleInit(){const _0x1584fb=_0x431d31,_0x46bee4=getFingerprint();console[_0x1584fb(0x1fc)](_0x1584fb(0x2b4)+_0x46bee4);}function handleStatus(){const _0x23cc9d=_0x431d31,_0x297155=path[_0x23cc9d(0x23a)](os[_0x23cc9d(0x28a)](),_0x23cc9d(0x224),_0x23cc9d(0x1c1));let _0x407842;try{_0x407842=fs[_0x23cc9d(0x209)](_0x297155,_0x23cc9d(0x280))[_0x23cc9d(0x1cd)]();}catch(_0x3bda23){console['error']('License\x20key\x20file\x20not\x20found'),process[_0x23cc9d(0x239)](0x1);return;}const _0x4aead2=getFingerprint(),_0x2cc36b=getPublicKey(),_0x41e053=verifyLicense(_0x407842,_0x4aead2,_0x2cc36b);!_0x41e053['valid']&&(console[_0x23cc9d(0x1c0)](_0x23cc9d(0x196)+_0x41e053['reason']),process[_0x23cc9d(0x239)](0x1));const _0x3cd6f0=_0x41e053[_0x23cc9d(0x1a5)];console['log'](_0x23cc9d(0x20a)),console[_0x23cc9d(0x1fc)](_0x23cc9d(0x1d1)),console[_0x23cc9d(0x1fc)](_0x23cc9d(0x2aa)),console[_0x23cc9d(0x1fc)](_0x23cc9d(0x271)+_0x3cd6f0[_0x23cc9d(0x2b6)]),console[_0x23cc9d(0x1fc)](_0x23cc9d(0x1cf)+_0x3cd6f0[_0x23cc9d(0x1bc)]),console[_0x23cc9d(0x1fc)](_0x23cc9d(0x1e3)+_0x3cd6f0[_0x23cc9d(0x16b)]),console['log'](_0x23cc9d(0x203)+new Date(_0x3cd6f0[_0x23cc9d(0x184)])[_0x23cc9d(0x1bb)]());}function extractKeyId(_0x102a6b){const _0x423c00=_0x431d31;try{const _0x59a223=_0x102a6b[_0x423c00(0x1a1)]('.'),_0x1d5f26=JSON[_0x423c00(0x1ed)](Buffer['from'](_0x59a223[0x1],_0x423c00(0x199))[_0x423c00(0x222)]('utf8'));return _0x1d5f26[_0x423c00(0x1d9)]||_0x1d5f26[_0x423c00(0x25f)];}catch(_0x94c76d){return null;}}function httpRequest(_0x15cd16,_0x5072dc={}){return new Promise((_0x501df1,_0x530b99)=>{const _0x40e483=_0xd0a1;try{const _0x321c9f=new URL(_0x15cd16),_0x23811b=_0x321c9f['protocol']===_0x40e483(0x29a)?https:http,_0x33f9a2={'User-Agent':_0x40e483(0x16d)+process[_0x40e483(0x265)]+')',..._0x5072dc[_0x40e483(0x195)]},_0x4999ed=_0x33f9a2;if(_0x5072dc['body']){const _0x4fdd88=typeof _0x5072dc[_0x40e483(0x16e)]===_0x40e483(0x252)?_0x5072dc[_0x40e483(0x16e)]:JSON[_0x40e483(0x217)](_0x5072dc[_0x40e483(0x16e)]);!_0x4999ed[_0x40e483(0x289)]&&!_0x4999ed[_0x40e483(0x284)]&&(_0x4999ed['Content-Length']=Buffer['byteLength'](_0x4fdd88));}const _0x5ae1ad={};_0x5ae1ad[_0x40e483(0x15e)]=_0x5072dc['method']||_0x40e483(0x28c),_0x5ae1ad[_0x40e483(0x192)]=_0x321c9f['hostname'],_0x5ae1ad[_0x40e483(0x19a)]=_0x321c9f[_0x40e483(0x19a)]||(_0x321c9f['protocol']===_0x40e483(0x29a)?0x1bb:0x50),_0x5ae1ad[_0x40e483(0x167)]=_0x321c9f[_0x40e483(0x244)]+_0x321c9f[_0x40e483(0x1ef)],_0x5ae1ad[_0x40e483(0x195)]=_0x4999ed;const _0x2dfffa=_0x5ae1ad,_0x160c19=_0x23811b[_0x40e483(0x197)](_0x2dfffa,_0x3dcc63=>{const _0x5af497=_0x40e483;let _0xe7811='';_0x3dcc63['on'](_0x5af497(0x2b7),_0x1b6c49=>{_0xe7811+=_0x1b6c49;}),_0x3dcc63['on'](_0x5af497(0x225),()=>{const _0x37ea7c=_0x5af497;_0x501df1({'ok':_0x3dcc63[_0x37ea7c(0x283)]>=0xc8&&_0x3dcc63[_0x37ea7c(0x283)]<0x12c,'status':_0x3dcc63[_0x37ea7c(0x283)],'json':async()=>JSON[_0x37ea7c(0x1ed)](_0xe7811),'text':async()=>_0xe7811});});});_0x160c19['on'](_0x40e483(0x1c0),_0x52ad63=>{_0x530b99(_0x52ad63);}),_0x5072dc['body']&&_0x160c19[_0x40e483(0x164)](_0x5072dc['body']),_0x160c19['end']();}catch(_0x4c5de7){_0x530b99(_0x4c5de7);}});}async function activateLicense(_0xf84eff,_0xa1d27f){const _0x5e4e71=_0x431d31,_0x30bd13=extractKeyId(_0xf84eff);if(!_0x30bd13)throw new Error('Invalid\x20license\x20key\x20format');const _0x4c878f=process.env.MCP_ACTIVATION_URL||_0x5e4e71(0x242),_0x53299e=_0x4c878f+'/activate',_0x16c6b2={};_0x16c6b2['Content-Type']=_0x5e4e71(0x28f);const _0x307008={};_0x307008[_0x5e4e71(0x25f)]=_0x30bd13,_0x307008[_0x5e4e71(0x212)]=_0xa1d27f;const _0x57578e=await httpRequest(_0x53299e,{'method':'POST','headers':_0x16c6b2,'body':JSON[_0x5e4e71(0x217)](_0x307008)});if(!_0x57578e['ok']){let _0x4e0b0d='Server\x20returned\x20status\x20'+_0x57578e[_0x5e4e71(0x2b5)];try{const _0x4b86b7=await _0x57578e[_0x5e4e71(0x297)]();if(_0x4b86b7&&_0x4b86b7[_0x5e4e71(0x1c0)])_0x4e0b0d=_0x4b86b7[_0x5e4e71(0x1c0)];}catch(_0x5934f2){}throw new Error(_0x4e0b0d);}const _0x3345b8=await _0x57578e[_0x5e4e71(0x297)]();if(!_0x3345b8||!_0x3345b8[_0x5e4e71(0x172)])throw new Error(_0x5e4e71(0x20e));return _0x3345b8[_0x5e4e71(0x172)];}async function handleActivate(_0x5ffb8){const _0x277e21=_0x431d31,_0x3877d3=_0x5ffb8[_0x277e21(0x29d)];!_0x3877d3&&(console[_0x277e21(0x1c0)](_0x277e21(0x2b1)),console['log'](_0x277e21(0x1c2)),console[_0x277e21(0x1fc)](_0x277e21(0x1c8)),process['exit'](0x1));const _0x326dff=getFingerprint(),_0x595f6f=getPublicKey(),_0x118fab=verifyLicense(_0x3877d3,null,_0x595f6f);!_0x118fab[_0x277e21(0x161)]&&(console[_0x277e21(0x1c0)](_0x277e21(0x229)+_0x118fab[_0x277e21(0x19b)]),process['exit'](0x1));try{console[_0x277e21(0x1fc)]('Activating\x20license\x20key\x20online...');const _0x37be74=await activateLicense(_0x3877d3,_0x326dff),_0x6e1ffe=path[_0x277e21(0x23a)](os[_0x277e21(0x28a)](),_0x277e21(0x224),_0x277e21(0x1c1)),_0x56e878={};_0x56e878[_0x277e21(0x204)]=!![],fs[_0x277e21(0x1d3)](path[_0x277e21(0x1ff)](_0x6e1ffe),_0x56e878),fs[_0x277e21(0x27b)](_0x6e1ffe,_0x37be74,_0x277e21(0x280)),console[_0x277e21(0x1fc)](_0x277e21(0x210)+_0x6e1ffe);}catch(_0x3e3a0c){console['error']('Activation\x20failed:\x20'+_0x3e3a0c[_0x277e21(0x157)]),process[_0x277e21(0x239)](0x1);}}function askQuestion(_0x904270){const _0x200c44=_0x431d31,_0x24bcef={};_0x24bcef[_0x200c44(0x295)]=process[_0x200c44(0x21f)],_0x24bcef[_0x200c44(0x25a)]=process[_0x200c44(0x1e9)];const _0x4dcf5b=readline[_0x200c44(0x249)](_0x24bcef);return new Promise(_0x2aca15=>_0x4dcf5b['question'](_0x904270,_0x310d6d=>{const _0x340e00=_0x200c44;_0x4dcf5b[_0x340e00(0x237)](),process[_0x340e00(0x21f)][_0x340e00(0x1be)](),_0x2aca15(_0x310d6d);}));}async function handleInstall(_0x5f402b){const _0x155753=_0x431d31,_0x398339=_0x5f402b['key'];if(!_0x398339){console[_0x155753(0x1c0)](_0x155753(0x2b1)),console['log'](_0x155753(0x1c2)),console[_0x155753(0x1fc)](_0x155753(0x293)),process[_0x155753(0x239)](0x1);return;}console[_0x155753(0x1fc)](_0x155753(0x294));const _0x47ebcf=await askQuestion(_0x155753(0x24e));if(_0x47ebcf['trim']()[_0x155753(0x186)]()!=='yes'){console[_0x155753(0x1c0)](_0x155753(0x299)),process[_0x155753(0x239)](0x1);return;}const _0x16c0ae=extractKeyId(_0x398339),_0x5258d0=path[_0x155753(0x23a)](os[_0x155753(0x28a)](),'.anhdh',_0x155753(0x218)),_0x586313=new Date()['toISOString']()+'\x20|\x20Key:\x20'+(_0x16c0ae||'unknown')+_0x155753(0x2a4);try{const _0x3eb468={};_0x3eb468[_0x155753(0x204)]=!![],fs[_0x155753(0x1d3)](path[_0x155753(0x1ff)](_0x5258d0),_0x3eb468),fs[_0x155753(0x2b0)](_0x5258d0,_0x586313,'utf8');}catch(_0x32cfc8){console['warn']('Warning:\x20Failed\x20to\x20log\x20EULA\x20acceptance:\x20'+_0x32cfc8[_0x155753(0x157)]);}const _0x424470=getFingerprint(),_0x3ab265=getPublicKey(),_0x383267=verifyLicense(_0x398339,null,_0x3ab265);!_0x383267['valid']&&(console['error'](_0x155753(0x229)+_0x383267[_0x155753(0x19b)]),process[_0x155753(0x239)](0x1));let _0x120b82;try{console[_0x155753(0x1fc)](_0x155753(0x216)),_0x120b82=await activateLicense(_0x398339,_0x424470);}catch(_0x417e30){console['error'](_0x155753(0x27a)+_0x417e30[_0x155753(0x157)]),process[_0x155753(0x239)](0x1);}const _0x1882f6=verifyLicense(_0x120b82,_0x424470,_0x3ab265);!_0x1882f6[_0x155753(0x161)]&&(console[_0x155753(0x1c0)](_0x155753(0x248)+_0x1882f6[_0x155753(0x19b)]),process[_0x155753(0x239)](0x1));const _0x134c6b=checkPrerequisites();!_0x134c6b[_0x155753(0x191)]&&(console[_0x155753(0x1c0)]('Prerequisites\x20check\x20failed:'),_0x134c6b[_0x155753(0x246)]['forEach'](_0x288f4b=>console[_0x155753(0x1c0)]('-\x20'+_0x288f4b)),process[_0x155753(0x239)](0x1));try{installGlobalTools();}catch(_0x5d3f15){console[_0x155753(0x1c0)](_0x155753(0x21c)+_0x5d3f15['message']),process[_0x155753(0x239)](0x1);}const _0x94821f=_0x5f402b[_0x155753(0x279)]||process[_0x155753(0x234)](),_0x5804ee=_0x5f402b[_0x155753(0x1bc)]||_0x1882f6[_0x155753(0x1a5)][_0x155753(0x1bc)],_0x37edc0=runtimeLauncher(_0x3ab265);try{deployProject({'licenseKey':_0x120b82,'projectPath':_0x94821f,'presetName':_0x5804ee,'deviceId':_0x424470,'masterSecret':_0x3ab265,'runtimeLauncherPath':_0x37edc0,'mcpConfigTargets':[],'bundleDir':path['join'](__dirname,_0x155753(0x253))});}catch(_0x26b514){console['error'](_0x155753(0x188)+_0x26b514[_0x155753(0x157)]),process[_0x155753(0x239)](0x1);}let _0x56d11f=null;try{console[_0x155753(0x1fc)](_0x155753(0x23b));const _0x2476bd=detectInstalledIDEs(),_0x51332d=[],_0x3764ad=[];for(const [_0x445cfc,_0x16ad61]of Object[_0x155753(0x17f)](_0x2476bd)){_0x16ad61[_0x155753(0x19e)]?(_0x51332d[_0x155753(0x1fd)](_0x445cfc),console['log'](_0x155753(0x259)+_0x16ad61[_0x155753(0x1aa)]+_0x155753(0x1f1)+_0x16ad61[_0x155753(0x15e)])):(_0x3764ad[_0x155753(0x1fd)](_0x445cfc),console[_0x155753(0x1fc)](_0x155753(0x2ab)+_0x16ad61[_0x155753(0x1aa)]+_0x155753(0x26a)));}let _0x55899d=_0x51332d;if(_0x51332d[_0x155753(0x1ab)]>0x0){console[_0x155753(0x1fc)](_0x155753(0x22b)+_0x51332d[_0x155753(0x175)](_0x22dfe9=>_0x2476bd[_0x22dfe9][_0x155753(0x1aa)])['join'](',\x20'));const _0x348ca7=await askQuestion(_0x155753(0x262)),_0x583a90=_0x348ca7[_0x155753(0x1cd)]()[_0x155753(0x186)]();if(_0x583a90==='n'||_0x583a90==='no')console[_0x155753(0x1fc)](_0x155753(0x1a7)),_0x55899d=[];else{if(_0x583a90===_0x155753(0x211)){const _0x4eefd5=Object['entries'](_0x2476bd);console['log']('\x0aSelect\x20IDEs\x20to\x20configure\x20(comma-separated\x20numbers):'),_0x4eefd5[_0x155753(0x1f4)](([_0x31fed0,_0x34c40c],_0x222965)=>{const _0x1ecf9f=_0x155753,_0x4fab5a=_0x34c40c[_0x1ecf9f(0x19e)]?'✅':'❌';console['log']('\x20\x20'+(_0x222965+0x1)+')\x20'+_0x4fab5a+'\x20'+_0x34c40c[_0x1ecf9f(0x1aa)]);});const _0x32705b=await askQuestion('Choose:\x20');_0x55899d=_0x32705b[_0x155753(0x1a1)](',')['map'](_0x54c1a9=>{const _0x5390d0=_0x155753,_0x36f669=parseInt(_0x54c1a9[_0x5390d0(0x1cd)](),0xa)-0x1;return _0x4eefd5[_0x36f669]?_0x4eefd5[_0x36f669][0x0]:null;})['filter'](Boolean);}}}else console[_0x155753(0x1fc)](_0x155753(0x255)),console[_0x155753(0x1fc)]('You\x20can\x20manually\x20configure\x20later\x20with:\x20npx\x20apt-mcp-agent-setup\x20setup');if(_0x55899d[_0x155753(0x1ab)]>0x0){const _0x4f8fa6={};_0x4f8fa6[_0x155753(0x177)]=_0x94821f,_0x4f8fa6[_0x155753(0x19d)]=_0x5f402b[_0x155753(0x19d)]||_0x155753(0x1e1);const _0x278369=configureMultipleIDEs(_0x55899d,_0x37edc0,_0x4f8fa6),_0x474918=_0x278369[_0x155753(0x28d)](_0x248050=>_0x248050[_0x155753(0x191)])[_0x155753(0x1ab)];console['log']('\x0a'+_0x474918+'/'+_0x55899d[_0x155753(0x1ab)]+_0x155753(0x26c)),_0x56d11f=_0x278369[_0x155753(0x27d)](_0x3abcad=>_0x3abcad['ide']===_0x155753(0x26f)&&!_0x3abcad[_0x155753(0x191)])?.[_0x155753(0x1c0)]||null;}}catch(_0x9617aa){console['warn'](_0x155753(0x18c)+_0x9617aa[_0x155753(0x157)]);try{const _0x3323f3={};_0x3323f3[_0x155753(0x177)]=_0x94821f,_0x3323f3['mcpScope']=_0x5f402b[_0x155753(0x19d)]||_0x155753(0x1e1),configureIDE(_0x155753(0x26f),_0x37edc0,_0x3323f3);}catch(_0x1ee9f0){console['warn'](_0x155753(0x174)+_0x1ee9f0[_0x155753(0x157)]),_0x56d11f=_0x1ee9f0[_0x155753(0x157)];}try{const _0x261a77={};_0x261a77[_0x155753(0x177)]=_0x94821f,_0x261a77['mcpScope']=_0x5f402b[_0x155753(0x19d)]||_0x155753(0x1e1),configureIDE(_0x155753(0x23d),_0x37edc0,_0x261a77);}catch(_0x58e35b){console['warn'](_0x155753(0x221)+_0x58e35b[_0x155753(0x157)]);}}const _0x3e65ae=path[_0x155753(0x23a)](os[_0x155753(0x28a)](),_0x155753(0x224),_0x155753(0x1c1));try{const _0x3de746={};_0x3de746[_0x155753(0x204)]=!![],fs[_0x155753(0x1d3)](path[_0x155753(0x1ff)](_0x3e65ae),_0x3de746),fs['writeFileSync'](_0x3e65ae,_0x120b82,_0x155753(0x280)),console[_0x155753(0x1fc)](_0x155753(0x2a7)+_0x3e65ae);}catch(_0x18a0de){console[_0x155753(0x1c0)](_0x155753(0x23e)+_0x18a0de[_0x155753(0x157)]),process['exit'](0x1);}_0x56d11f&&(console[_0x155753(0x1c0)](_0x155753(0x1b6)+_0x56d11f),process[_0x155753(0x187)]=0x2);if(!reportInstalledRuntime(_0x94821f))process['exitCode']=0x2;!process[_0x155753(0x187)]&&console[_0x155753(0x1fc)](_0x155753(0x276)),console[_0x155753(0x1fc)](''),console[_0x155753(0x1fc)](_0x155753(0x251)),console[_0x155753(0x1fc)](_0x155753(0x19f));}async function updateProject(_0x5dd420,_0x346ed4,_0x4e7f0f,_0x115e22,_0x227272,_0x5e6bcd){const _0x110bcb=_0x431d31;if(_0x346ed4[_0x110bcb(0x1d8)]){const _0x57e475=path[_0x110bcb(0x23a)](_0x5dd420,'.agents',_0x110bcb(0x173),_0x110bcb(0x2ae));let _0x4994d1;try{_0x4994d1=JSON['parse'](fs[_0x110bcb(0x209)](_0x57e475,_0x110bcb(0x280)));}catch(_0x3b3913){const _0x1626b9={};_0x1626b9['projectPath']=_0x5dd420,_0x1626b9[_0x110bcb(0x2b5)]='failed',_0x1626b9[_0x110bcb(0x19b)]=_0x110bcb(0x2b3);if(_0x3b3913[_0x110bcb(0x1f8)]!==_0x110bcb(0x1af))return _0x1626b9;}const _0x4eb751=_0x4994d1&&![_0x110bcb(0x1e8),'ready-next-connection',_0x110bcb(0x273),_0x110bcb(0x16a)][_0x110bcb(0x215)](_0x4994d1[_0x110bcb(0x2b5)]);if(_0x4eb751&&(_0x4994d1[_0x110bcb(0x1a0)]?.[_0x110bcb(0x265)]!==_0x346ed4[_0x110bcb(0x1d8)][_0x110bcb(0x265)]||_0x4994d1[_0x110bcb(0x1a0)]?.[_0x110bcb(0x1bf)]!==_0x346ed4['runtimeCandidate'][_0x110bcb(0x1bf)]))return{'projectPath':_0x5dd420,'status':_0x110bcb(0x20d),'transactionId':_0x4994d1[_0x110bcb(0x25e)],'blockers':[{'code':_0x110bcb(0x285),'target':_0x4994d1[_0x110bcb(0x1a0)]}]};let _0xa9432d;const _0x160d11={};_0x160d11[_0x110bcb(0x2b5)]=_0x110bcb(0x2b2),_0x160d11[_0x110bcb(0x166)]=[];const _0x1dd78d=_0x4eb751?_0x4994d1[_0x110bcb(0x2a8)]||_0x160d11:require(_0x110bcb(0x1cc))[_0x110bcb(0x15f)](_0x5e6bcd),_0xf3c4a4={};_0xf3c4a4['code']=_0x110bcb(0x1db);if(_0x1dd78d[_0x110bcb(0x2b5)]!=='ready')return{'projectPath':_0x5dd420,'status':_0x110bcb(0x158),'blockers':[_0xf3c4a4],'addons':_0x1dd78d};try{let _0x40398d=require(_0x110bcb(0x29b))[_0x110bcb(0x241)](_0x5dd420);const _0x21b6a7=detectInstalledIDEs(),_0x28e78a=new Set(_0x40398d);for(const [_0x137ff5,_0x4e9b87]of Object['entries'](_0x21b6a7)){if(_0x4e9b87&&_0x4e9b87[_0x110bcb(0x19e)])_0x28e78a[_0x110bcb(0x247)](_0x137ff5);}const _0x46f335=[path[_0x110bcb(0x23a)](_0x5dd420,_0x110bcb(0x1b5),_0x110bcb(0x1c6)),path[_0x110bcb(0x23a)](os['homedir'](),_0x110bcb(0x1e0),_0x110bcb(0x1d0),'mcp_config.json')];if(_0x46f335['some'](_0x419b42=>fs['existsSync'](_0x419b42)))_0x28e78a['add'](_0x110bcb(0x26f));_0x40398d=[..._0x28e78a],_0xa9432d=_0x4eb751&&_0x4994d1[_0x110bcb(0x1e2)]?{'resourcePlan':new(require(_0x110bcb(0x29e)))['ResourceTransaction'](_0x4994d1['resourcePlan']),'registrationPlan':_0x4994d1['registrationPlan']||null,'registrationMigration':_0x4994d1[_0x110bcb(0x228)]}:require(_0x110bcb(0x28b))[_0x110bcb(0x298)]({'licenseKey':_0x227272,'projectPath':_0x5dd420,'presetName':_0x5e6bcd,'deviceId':getFingerprint(),'masterSecret':_0x115e22,'runtimeLauncherPath':_0x346ed4[_0x110bcb(0x2ac)],'bundleDir':path[_0x110bcb(0x23a)](__dirname,_0x110bcb(0x253)),'isUpdate':!![],'rebuildIndex':_0x346ed4[_0x110bcb(0x1c5)]===!![],'registrationHosts':_0x40398d,'mcpScope':_0x346ed4[_0x110bcb(0x19d)]||_0x110bcb(0x1e1)});}catch(_0x21de1d){const _0x589ed9={};return _0x589ed9['projectPath']=_0x5dd420,_0x589ed9[_0x110bcb(0x2b5)]=_0x110bcb(0x158),_0x589ed9['reason']=_0x21de1d[_0x110bcb(0x1f8)]||_0x110bcb(0x290),_0x589ed9;}const _0x1357b0={};_0x1357b0[_0x110bcb(0x1ce)]=_0x5dd420,_0x1357b0[_0x110bcb(0x268)]=_0x346ed4[_0x110bcb(0x268)],_0x1357b0[_0x110bcb(0x267)]=_0x346ed4[_0x110bcb(0x1d8)]['path'],_0x1357b0['publicKey']=_0x115e22,_0x1357b0['waitSeconds']=_0x346ed4['wait']===undefined?0x78:_0x346ed4[_0x110bcb(0x291)],_0x1357b0[_0x110bcb(0x1e2)]=_0xa9432d['resourcePlan'],_0x1357b0[_0x110bcb(0x2af)]=_0xa9432d[_0x110bcb(0x2af)],_0x1357b0[_0x110bcb(0x228)]=_0xa9432d[_0x110bcb(0x228)],_0x1357b0['addons']=_0x1dd78d,_0x1357b0[_0x110bcb(0x1c5)]=_0x346ed4[_0x110bcb(0x1c5)]===!![];const _0x801202=await require('../src/installer/workspace-update')[_0x110bcb(0x21e)](_0x1357b0),_0xcc206c={};_0xcc206c[_0x110bcb(0x2b5)]=_0x110bcb(0x27e),_0xcc206c[_0x110bcb(0x15d)]=[];const _0x4b76bd=_0xa9432d['registrationMigration']||_0xcc206c;return{'projectPath':_0x5dd420,..._0x801202,'runtimeActivation':_0x801202[_0x110bcb(0x2b5)],'addons':_0x1dd78d,'registrationMigration':_0x4b76bd,..._0x4b76bd[_0x110bcb(0x2b5)]===_0x110bcb(0x1d6)&&[_0x110bcb(0x1e8),'ready-next-connection'][_0x110bcb(0x215)](_0x801202[_0x110bcb(0x2b5)])?{'status':_0x110bcb(0x24c),'blockers':_0x4b76bd[_0x110bcb(0x15d)]}:{}};}const _0x3a932b=async()=>{const _0xacff0f=_0x110bcb,_0x2415c3=deployProject({'licenseKey':_0x227272,'projectPath':_0x5dd420,'presetName':_0x5e6bcd,'deviceId':getFingerprint(),'masterSecret':_0x115e22,'runtimeLauncherPath':_0x346ed4['launcherPath'],'bundleDir':path[_0xacff0f(0x23a)](__dirname,_0xacff0f(0x253)),'isUpdate':!![],'mcpConfigTargets':[],'rebuildIndex':_0x346ed4[_0xacff0f(0x1c5)]||![]});if(_0x346ed4[_0xacff0f(0x1c5)]&&_0x2415c3[_0xacff0f(0x1ba)]?.['status']!==_0xacff0f(0x1e4)){const _0x6d509e={};_0x6d509e['code']=_0xacff0f(0x240);throw Object[_0xacff0f(0x257)](new Error(_0xacff0f(0x21a)),_0x6d509e);}const _0x45e3e1=detectInstalledIDEs(),_0x60f37=Object[_0xacff0f(0x1b1)](_0x45e3e1)[_0xacff0f(0x28d)](_0x23b817=>_0x45e3e1[_0x23b817][_0xacff0f(0x19e)]);if(!_0x60f37['includes'](_0xacff0f(0x26f))){const _0x58666b=path[_0xacff0f(0x23a)](_0x5dd420,_0xacff0f(0x1b5),_0xacff0f(0x1c6)),_0x18eb33=path[_0xacff0f(0x23a)](os['homedir'](),_0xacff0f(0x1e0),'config',_0xacff0f(0x1c6));(fs[_0xacff0f(0x25b)](_0x58666b)||fs['existsSync'](_0x18eb33))&&_0x60f37[_0xacff0f(0x1fd)](_0xacff0f(0x26f));}const _0x3c3bbd=_0x346ed4[_0xacff0f(0x19d)]||'auto',_0x13c6ec={};_0x13c6ec[_0xacff0f(0x177)]=_0x5dd420,_0x13c6ec[_0xacff0f(0x19d)]=_0x3c3bbd;const _0x4dfe08=_0x60f37[_0xacff0f(0x1ab)]?configureMultipleIDEs(_0x60f37,_0x346ed4[_0xacff0f(0x2ac)],_0x13c6ec):[],_0x926090=_0x4dfe08[_0xacff0f(0x28d)](_0x370616=>!_0x370616[_0xacff0f(0x191)]),_0x3c86b6=_0x926090[_0xacff0f(0x27d)](_0x22c052=>_0x22c052[_0xacff0f(0x236)]==='antigravity');if(_0x3c86b6)console[_0xacff0f(0x1c0)](_0xacff0f(0x277)+_0x3c86b6[_0xacff0f(0x1c0)]);const _0x176ed6={};_0x176ed6[_0xacff0f(0x1f8)]=_0xacff0f(0x287);if(_0x926090[_0xacff0f(0x1ab)])throw Object[_0xacff0f(0x257)](new Error(_0xacff0f(0x27f)),_0x176ed6);return{'scope':_0x3c3bbd,'configured':_0x4dfe08[_0xacff0f(0x175)](_0x55d061=>_0x55d061[_0xacff0f(0x236)])};};try{const _0x3409be=await _0x3a932b(),_0x1f6162={'projectPath':_0x5dd420,'status':'ready-next-connection',..._0x3409be};return _0x1f6162;}catch(_0x54c4df){const _0x23dd0a={};return _0x23dd0a[_0x110bcb(0x177)]=_0x5dd420,_0x23dd0a[_0x110bcb(0x2b5)]=_0x110bcb(0x24c),_0x23dd0a['reason']=_0x54c4df[_0x110bcb(0x1f8)]||'UPDATE_FAILED',_0x23dd0a;}}async function handleUpdate(_0x520385){const _0x5c0f0d=_0x431d31,_0x2b2b80=console[_0x5c0f0d(0x1fc)];if(_0x520385[_0x5c0f0d(0x297)])console[_0x5c0f0d(0x1fc)]=(..._0x15e301)=>console[_0x5c0f0d(0x1c0)](..._0x15e301);try{const _0x36c63e=await handleUpdateCore(_0x520385),_0x2edcc0={};_0x2edcc0['status']=_0x5c0f0d(0x2ad),_0x2edcc0[_0x5c0f0d(0x1f8)]='UPDATE_RESULT_MISSING';if(_0x520385['json']&&!_0x36c63e?.['delegated'])process[_0x5c0f0d(0x1e9)][_0x5c0f0d(0x164)](JSON[_0x5c0f0d(0x217)](_0x36c63e||_0x2edcc0)+'\x0a');}catch(_0x4e6742){console['error'](_0x5c0f0d(0x288)+_0x4e6742[_0x5c0f0d(0x157)]),process[_0x5c0f0d(0x187)]=0x1;const _0x81a83e={};_0x81a83e[_0x5c0f0d(0x2b5)]=_0x5c0f0d(0x2ad),_0x81a83e[_0x5c0f0d(0x1f8)]=_0x4e6742[_0x5c0f0d(0x1f8)]||'UPDATE_FAILED';if(_0x520385['json'])process[_0x5c0f0d(0x1e9)][_0x5c0f0d(0x164)](JSON[_0x5c0f0d(0x217)](_0x81a83e)+'\x0a');}finally{console['log']=_0x2b2b80;}}async function handleUpdateCore(_0x291556){const _0x127254=_0x431d31;if(_0x291556[_0x127254(0x1fa)]){const _0x282421={};_0x282421[_0x127254(0x1f8)]='INVALID_UPDATE_ACTION';if(_0x291556[_0x127254(0x159)]||_0x291556[_0x127254(0x1c5)])throw Object['assign'](new Error(_0x127254(0x1d7)),_0x282421);const _0x3007c6=await require(_0x127254(0x1ad))['controlPending'](path['resolve'](_0x291556[_0x127254(0x279)]||process[_0x127254(0x234)]()),_0x291556[_0x127254(0x25e)],_0x291556[_0x127254(0x1fa)],getPublicKey());process[_0x127254(0x187)]=_0x3007c6[_0x127254(0x2b5)]===_0x127254(0x2ad)?0x1:['active',_0x127254(0x223),_0x127254(0x16a)][_0x127254(0x215)](_0x3007c6[_0x127254(0x2b5)])?0x0:0x2;if(!_0x291556['json'])console[_0x127254(0x1fc)](JSON[_0x127254(0x217)](_0x3007c6));return _0x3007c6;}const _0x43bc20=path[_0x127254(0x23a)](os[_0x127254(0x28a)](),_0x127254(0x224),_0x127254(0x1c1));let _0xeb18dc;try{_0xeb18dc=fs[_0x127254(0x209)](_0x43bc20,_0x127254(0x280))[_0x127254(0x1cd)]();}catch(_0x1aede1){console['error'](_0x127254(0x18a)),console[_0x127254(0x1fc)](_0x127254(0x15b)),process[_0x127254(0x187)]=0x1;const _0x22e758={};return _0x22e758[_0x127254(0x2b5)]='failed',_0x22e758[_0x127254(0x1f8)]=_0x127254(0x21b),_0x22e758;}const _0x4a9647=getFingerprint(),_0x169b5b=getPublicKey(),_0x28e736=verifyLicense(_0xeb18dc,_0x4a9647,_0x169b5b);if(!_0x28e736[_0x127254(0x161)]){_0x28e736[_0x127254(0x19b)]&&_0x28e736['reason'][_0x127254(0x215)](_0x127254(0x1c4))?console[_0x127254(0x1c0)]('License\x20key\x20has\x20expired.\x20Contact\x20your\x20Admin\x20for\x20a\x20new\x20key.'):console[_0x127254(0x1c0)]('License\x20verification\x20failed:\x20'+_0x28e736[_0x127254(0x19b)]);process[_0x127254(0x187)]=0x1;const _0x4c1ee2={};return _0x4c1ee2[_0x127254(0x2b5)]='failed',_0x4c1ee2[_0x127254(0x1f8)]=_0x127254(0x201),_0x4c1ee2;}const _0x57633e=_0x28e736['payload'],_0x5cc047=_0x291556['project']||process[_0x127254(0x234)](),_0x35c5b5=_0x291556[_0x127254(0x1bc)]||_0x57633e[_0x127254(0x1bc)],_0x547156=path[_0x127254(0x23a)](_0x5cc047,_0x127254(0x1b5),_0x127254(0x1ca));if(!fs[_0x127254(0x25b)](_0x547156)){console[_0x127254(0x1c0)](_0x127254(0x214)),console[_0x127254(0x1fc)](_0x127254(0x245)),console['log'](_0x127254(0x230)+_0x5cc047+'\x22'),process[_0x127254(0x187)]=0x1;const _0x115107={};return _0x115107[_0x127254(0x2b5)]=_0x127254(0x2ad),_0x115107[_0x127254(0x1f8)]='PROJECT_NOT_INSTALLED',_0x115107[_0x127254(0x177)]=_0x5cc047,_0x115107;}console[_0x127254(0x1fc)](_0x127254(0x22e)),console[_0x127254(0x1fc)](_0x127254(0x1a9)),console[_0x127254(0x1fc)](_0x127254(0x182)),console[_0x127254(0x1fc)](_0x127254(0x194)+_0x57633e[_0x127254(0x2b6)]),console[_0x127254(0x1fc)]('Preset:\x20\x20'+_0x35c5b5),console[_0x127254(0x1fc)](_0x127254(0x200)+_0x5cc047),console[_0x127254(0x1fc)]('');const _0x4a0c5d=path[_0x127254(0x24b)](__dirname,'..');if(fs['existsSync'](path[_0x127254(0x23a)](_0x4a0c5d,'integrity-manifest.json'))){const _0x23ba55=require(_0x127254(0x19c)),_0xa5ee0b=require('../package.json')[_0x127254(0x265)];let _0x3fffbe,_0x34c132=![];try{_0x3fffbe=process.env.APT_UPDATE_DELEGATED==='1'&&process.env.APT_VERIFIED_LATEST===_0xa5ee0b?_0xa5ee0b:(await _0x23ba55[_0x127254(0x1a2)]())['version'];if(!/^\d+\.\d+\.\d+$/['test'](_0x3fffbe))throw new Error(_0x127254(0x202));}catch(_0x15c404){console['error'](_0x127254(0x250)+_0x15c404['message']),process['exitCode']=0x1;const _0xec0a18={};return _0xec0a18['status']=_0x127254(0x2ad),_0xec0a18[_0x127254(0x1f8)]=_0x127254(0x1de),_0xec0a18[_0x127254(0x177)]=_0x5cc047,_0xec0a18;}if(_0x3fffbe!==_0xa5ee0b){if(!_0x23ba55[_0x127254(0x205)](_0x3fffbe,_0xa5ee0b)){const _0x47d60b=_0x3fffbe[_0x127254(0x1a1)]('.')[_0x127254(0x175)](Number),_0x8c6ea8=_0xa5ee0b[_0x127254(0x1a1)]('.')[_0x127254(0x175)](Number);if(_0x47d60b[0x0]===_0x8c6ea8[0x0]&&_0x47d60b[_0x127254(0x180)](Number['isFinite']))_0x34c132=!![],console[_0x127254(0x183)](_0x127254(0x193)+_0x3fffbe+_0x127254(0x29c)+_0xa5ee0b+';\x20keeping\x20the\x20newer\x20local\x20runtime.');else{console['error'](_0x127254(0x254)+_0x3fffbe+_0x127254(0x29c)+_0xa5ee0b+'.\x20A\x20major-version\x20migration\x20needs\x20a\x20compatible\x20release.'),process[_0x127254(0x187)]=0x1;const _0x4e3a4b={};return _0x4e3a4b[_0x127254(0x2b5)]='failed',_0x4e3a4b[_0x127254(0x1f8)]=_0x127254(0x286),_0x4e3a4b['projectPath']=_0x5cc047,_0x4e3a4b;}}else try{const _0x2bd52d={};_0x2bd52d[_0x127254(0x278)]=_0x169b5b;const _0x3f0dfa=await _0x23ba55['prepareRuntimeRelease'](_0x3fffbe,_0x2bd52d);console['log'](_0x127254(0x179)+_0x3fffbe+'\x20('+_0x3f0dfa['digest']+_0x127254(0x155));const _0x56ea85=require(_0x127254(0x25c))[_0x127254(0x178)](process[_0x127254(0x1b7)],[path['join'](_0x3f0dfa[_0x127254(0x167)],_0x127254(0x21d),_0x127254(0x274)),...process[_0x127254(0x20f)][_0x127254(0x1fe)](0x2)],{'stdio':_0x127254(0x26b),'windowsHide':!![],'timeout':0x927c0,'env':{...process.env,'APT_UPDATE_DELEGATED':'1','APT_VERIFIED_LATEST':_0x3fffbe}});if(_0x56ea85['error'])throw _0x56ea85[_0x127254(0x1c0)];process[_0x127254(0x187)]=_0x56ea85['status']===null?0x1:_0x56ea85[_0x127254(0x2b5)];const _0x3be8a1={};return _0x3be8a1[_0x127254(0x238)]=!![],_0x3be8a1;}catch(_0x58d1c3){console[_0x127254(0x1c0)](_0x127254(0x1d4)+_0x58d1c3['message']),process[_0x127254(0x187)]=0x1;const _0x3bc0db={};return _0x3bc0db[_0x127254(0x2b5)]=_0x127254(0x2ad),_0x3bc0db[_0x127254(0x1f8)]=_0x127254(0x269),_0x3bc0db[_0x127254(0x177)]=_0x5cc047,_0x3bc0db;}}if(!_0x34c132)console['log'](_0x127254(0x1dc)+_0x3fffbe+'.');}else console[_0x127254(0x183)](_0x127254(0x26e));try{installGlobalTools();}catch(_0x38e5c3){console[_0x127254(0x1c0)]('Global\x20tools\x20update\x20failed:\x20'+_0x38e5c3['message']),process['exitCode']=0x1;const _0x59ff48={};return _0x59ff48[_0x127254(0x2b5)]=_0x127254(0x2ad),_0x59ff48['code']=_0x127254(0x243),_0x59ff48[_0x127254(0x177)]=_0x5cc047,_0x59ff48;}const _0x31d69d=fs['existsSync'](path[_0x127254(0x23a)](__dirname,_0x127254(0x2a3))),_0x41bfcf=_0x31d69d?require(_0x127254(0x19c)):null,_0x3d2d86={};_0x3d2d86[_0x127254(0x278)]=_0x169b5b,_0x3d2d86[_0x127254(0x1a3)]=![];const _0x4d7287=_0x41bfcf?_0x41bfcf[_0x127254(0x189)](path[_0x127254(0x24b)](__dirname,'..'),_0x3d2d86):null,_0x26a103=runtimeLauncher(_0x169b5b,![]);let _0x544e0b;try{const _0x2ec8b9={};_0x2ec8b9[_0x127254(0x177)]=_0x5cc047;const _0x12afac=_0x291556[_0x127254(0x159)]?require(_0x127254(0x29b))[_0x127254(0x28e)]()[_0x127254(0x23c)](registrations(_0x2ec8b9)['filter'](_0x575551=>_0x575551[_0x127254(0x1ce)])[_0x127254(0x175)](_0x3c8d02=>_0x3c8d02['workspace']),_0x5cc047):[_0x5cc047],_0x26c176=[...new Set(_0x12afac['map'](_0x35c4a6=>path[_0x127254(0x24b)](_0x35c4a6)))];_0x544e0b=[];for(const _0x42de98 of _0x26c176)_0x544e0b[_0x127254(0x1fd)](await updateProject(_0x42de98,{..._0x291556,'launcherPath':_0x26a103,'runtimeCandidate':_0x4d7287,'runtimeRoot':_0x41bfcf?.[_0x127254(0x1bd)]},_0x57633e,_0x169b5b,_0xeb18dc,_0x35c5b5));const _0x509109={};_0x509109[_0x127254(0x278)]=_0x169b5b,_0x509109['activate']=!![];if(_0x41bfcf&&_0x544e0b['every'](_0x387b3c=>(_0x387b3c[_0x127254(0x1d2)]===!![]||_0x387b3c[_0x127254(0x22c)]===!![])&&['active',_0x127254(0x223)][_0x127254(0x215)](_0x387b3c[_0x127254(0x1f2)]||_0x387b3c['status'])))_0x41bfcf[_0x127254(0x189)](_0x4d7287['path'],_0x509109);if(!_0x291556[_0x127254(0x297)]){for(const _0x84b4bf of _0x544e0b)console['log']('Project\x20'+_0x84b4bf['projectPath']+':\x20'+_0x84b4bf[_0x127254(0x2b5)]);}if(_0x544e0b[_0x127254(0x17a)](_0x5441a4=>_0x5441a4[_0x127254(0x2b5)]==='failed'))process[_0x127254(0x187)]=0x1;else{if(_0x544e0b[_0x127254(0x17a)](_0x32cc84=>![_0x127254(0x1e8),'ready-next-connection'][_0x127254(0x215)](_0x32cc84['status'])))process['exitCode']=0x2;}}catch(_0x281a78){console[_0x127254(0x1c0)](_0x127254(0x288)+_0x281a78[_0x127254(0x157)]),process[_0x127254(0x187)]=0x1;const _0x44a73f={};return _0x44a73f[_0x127254(0x2b5)]=_0x127254(0x2ad),_0x44a73f[_0x127254(0x1f8)]=_0x281a78[_0x127254(0x1f8)]||'UPDATE_FAILED',_0x44a73f['projectPath']=_0x5cc047,_0x44a73f;}const _0x52392f={};_0x52392f[_0x127254(0x1cb)]=_0x35c5b5,ensureStitchAuthentication(_0x52392f);if(!_0x291556[_0x127254(0x297)])for(const _0x165bc1 of _0x544e0b){if(_0x165bc1[_0x127254(0x2b5)]===_0x127254(0x1e8))console['log'](_0x127254(0x1ae)+_0x165bc1[_0x127254(0x1a0)]?.[_0x127254(0x265)]+'\x20is\x20serving\x20'+_0x165bc1['projectPath']+';\x20all\x20managed\x20connections\x20confirmed.');else{if(_0x165bc1[_0x127254(0x2b5)]===_0x127254(0x223))console[_0x127254(0x1fc)](_0x127254(0x1ae)+_0x165bc1[_0x127254(0x1a0)]?.['version']+'\x20is\x20ready\x20for\x20the\x20next\x20connection\x20to\x20'+_0x165bc1[_0x127254(0x177)]+'.');else console['warn'](_0x127254(0x29f)+_0x165bc1[_0x127254(0x177)]+':\x20'+_0x165bc1[_0x127254(0x2b5)]+'.\x20'+(_0x165bc1[_0x127254(0x19b)]||_0x165bc1[_0x127254(0x15d)]?.[_0x127254(0x175)](_0x5565df=>_0x5565df[_0x127254(0x1f8)])[_0x127254(0x23a)](',\x20')||''));}}if(!process[_0x127254(0x187)])console[_0x127254(0x1fc)](_0x127254(0x26d));return console[_0x127254(0x1fc)](''),console[_0x127254(0x1fc)](_0x127254(0x162)),{'status':process[_0x127254(0x187)]?'partial':'complete','version':require('../package.json')[_0x127254(0x265)],'latestConfirmed':fs[_0x127254(0x25b)](path[_0x127254(0x23a)](__dirname,_0x127254(0x2a3))),'results':_0x544e0b,'exitCode':process[_0x127254(0x187)]||0x0};}function handleRegistrations(_0x4b78b4){const _0x4d31df=_0x431d31,_0x52ad2e=cleanupPlan({'projectPath':_0x4b78b4[_0x4d31df(0x279)]||process['cwd']()});if(_0x4b78b4['apply']){if(!fs['existsSync'](_0x4b78b4[_0x4d31df(0x206)]))throw new Error('Cleanup\x20plan\x20file\x20was\x20not\x20found');const _0x49ab2d=JSON[_0x4d31df(0x1ed)](fs['readFileSync'](_0x4b78b4['apply'],_0x4d31df(0x280))),_0x2ba68e=applyCleanup(_0x49ab2d,_0x4b78b4);console[_0x4d31df(0x1fc)](_0x4b78b4[_0x4d31df(0x297)]?JSON[_0x4d31df(0x217)](_0x2ba68e,null,0x2):_0x4d31df(0x1ea)+_0x2ba68e[_0x4d31df(0x213)][_0x4d31df(0x1ab)]+'\x20registration\x20cleanup(s).\x20Backups\x20created.');return;}if(_0x4b78b4['dryRun']||!_0x4b78b4['apply'])console[_0x4d31df(0x1fc)](_0x4b78b4[_0x4d31df(0x297)]?JSON[_0x4d31df(0x217)](_0x52ad2e,null,0x2):_0x52ad2e['candidates']['length']?_0x52ad2e['candidates'][_0x4d31df(0x175)](_0x27071a=>_0x27071a['host']+'\x20'+_0x27071a[_0x4d31df(0x207)]+_0x4d31df(0x226)+_0x27071a[_0x4d31df(0x1ce)]+'\x20('+(_0x27071a[_0x4d31df(0x1ac)]==='receipt-confirmed'?_0x4d31df(0x2a2):_0x4d31df(0x227))+')')[_0x4d31df(0x23a)]('\x0a'):'No\x20validation\x20aliases\x20found.');}async function handleNotices(){const _0x3d88df=_0x431d31,{decrypt:_0x52c97d}=require(_0x3d88df(0x160)),_0x4dc783=path[_0x3d88df(0x23a)](__dirname,_0x3d88df(0x1f5));if(!fs['existsSync'](_0x4dc783)){console[_0x3d88df(0x1c0)](_0x3d88df(0x156)),process[_0x3d88df(0x239)](0x1);return;}try{const _0x577d90=fs[_0x3d88df(0x209)](_0x4dc783),_0x28dcd1=_0x52c97d(_0x577d90,_0x3d88df(0x1b3));console[_0x3d88df(0x1fc)](_0x28dcd1[_0x3d88df(0x222)](_0x3d88df(0x280)));}catch(_0x450c19){console['error'](_0x3d88df(0x198),_0x450c19['message']),process[_0x3d88df(0x239)](0x1);}}async function main(){const _0x178f82=_0x431d31;try{require(_0x178f82(0x1fb))['requireSupportedNode']();}catch(_0x5683a8){if(!process[_0x178f82(0x20f)][_0x178f82(0x215)](_0x178f82(0x208)))throw _0x5683a8;const _0x43ff7f={};_0x43ff7f[_0x178f82(0x2b5)]=_0x178f82(0x2ad),_0x43ff7f[_0x178f82(0x1f8)]=_0x5683a8[_0x178f82(0x1f8)],_0x43ff7f['error']=_0x5683a8[_0x178f82(0x157)],_0x43ff7f[_0x178f82(0x20b)]=_0x5683a8[_0x178f82(0x20b)],_0x43ff7f['currentNode']=_0x5683a8[_0x178f82(0x263)],console[_0x178f82(0x1fc)](JSON[_0x178f82(0x217)](_0x43ff7f)),process[_0x178f82(0x187)]=0x1;return;}if(process['argv'][_0x178f82(0x215)](_0x178f82(0x1e6))){const {EULA_TEXT:_0x12b484}=require(_0x178f82(0x165));console[_0x178f82(0x1fc)](_0x12b484);return;}if(process['argv']['includes']('--notices')){await handleNotices();return;}const {command:_0x152c21,options:_0x5a87e3}=parseArgs();switch(_0x152c21){case _0x178f82(0x1e6):const {EULA_TEXT:_0x20c5dd}=require('../src/license/terms.js');console['log'](_0x20c5dd);break;case _0x178f82(0x168):await handleNotices();break;case _0x178f82(0x266):handleInit();break;case _0x178f82(0x2a1):console[_0x178f82(0x1fc)](JSON[_0x178f82(0x217)](await require(_0x178f82(0x1f9))[_0x178f82(0x1f3)](_0x5a87e3[_0x178f82(0x279)]||process['cwd']()),null,0x2));break;case _0x178f82(0x2b5):handleStatus();break;case _0x178f82(0x270):await handleInstall(_0x5a87e3);break;case'activate':await handleActivate(_0x5a87e3);break;case _0x178f82(0x233):await handleUpdate(_0x5a87e3);break;case _0x178f82(0x1b2):await runSetupWizard(_0x5a87e3[_0x178f82(0x279)]||process[_0x178f82(0x234)]());break;case _0x178f82(0x24a):if(process[_0x178f82(0x20f)][0x3]===_0x178f82(0x17c)){const _0x4d2d8b=registrations({'projectPath':_0x5a87e3['project']||process[_0x178f82(0x234)]()});console[_0x178f82(0x1fc)](_0x5a87e3[_0x178f82(0x297)]?JSON['stringify'](_0x4d2d8b,null,0x2):_0x4d2d8b[_0x178f82(0x175)](_0x3ad156=>_0x3ad156[_0x178f82(0x1b0)]+'\x20'+_0x3ad156[_0x178f82(0x1f6)]+'\x20'+_0x3ad156['alias']+'\x20'+(_0x3ad156[_0x178f82(0x1ce)]||'(global)'))[_0x178f82(0x23a)]('\x0a'));}else{if(process[_0x178f82(0x20f)][0x3]===_0x178f82(0x154))handleRegistrations(_0x5a87e3);else{if(process[_0x178f82(0x20f)][0x3]===_0x178f82(0x1f0)){const _0x2533b5=require(_0x178f82(0x1ee)),_0x4c8901=_0x5a87e3[_0x178f82(0x206)]?await _0x2533b5[_0x178f82(0x1d5)](JSON[_0x178f82(0x1ed)](fs[_0x178f82(0x209)](_0x5a87e3[_0x178f82(0x206)],_0x178f82(0x280))),{'verifyClosure':require(_0x178f82(0x16c))[_0x178f82(0x220)]}):_0x2533b5[_0x178f82(0x24f)]({'projectPaths':[_0x5a87e3[_0x178f82(0x279)]||process[_0x178f82(0x234)]()]});console[_0x178f82(0x1fc)](JSON['stringify'](_0x4c8901,null,0x2)),process[_0x178f82(0x187)]=[_0x178f82(0x2ad)]['includes'](_0x4c8901[_0x178f82(0x2b5)])?0x1:[_0x178f82(0x20d),_0x178f82(0x1f7),_0x178f82(0x171),_0x178f82(0x158),_0x178f82(0x282)][_0x178f82(0x215)](_0x4c8901[_0x178f82(0x2b5)])?0x2:0x0;}else throw new Error(_0x178f82(0x18e));}}break;default:console[_0x178f82(0x1c0)]('Unknown\x20command:\x20'+(_0x152c21||'')),console[_0x178f82(0x1fc)](_0x178f82(0x24d)),console['log'](_0x178f82(0x296)),console[_0x178f82(0x1fc)](_0x178f82(0x281)),console[_0x178f82(0x1fc)](_0x178f82(0x1a6)),console[_0x178f82(0x1fc)](_0x178f82(0x27c)),console[_0x178f82(0x1fc)](_0x178f82(0x292)),console[_0x178f82(0x1fc)]('\x20\x20npx\x20apt-mcp-agent-setup\x20update\x20--project\x20<PATH>\x20--resume-transaction\x20<ID>\x20[--json]'),console[_0x178f82(0x1fc)]('\x20\x20npx\x20apt-mcp-agent-setup\x20update\x20--project\x20<PATH>\x20--suspend-transaction\x20<ID>\x20|\x20--cancel-transaction\x20<ID>\x20[--json]'),console[_0x178f82(0x1fc)](_0x178f82(0x260)),console[_0x178f82(0x1fc)](_0x178f82(0x17b)),console[_0x178f82(0x1fc)](_0x178f82(0x18b)),console['log'](_0x178f82(0x1a4)),console[_0x178f82(0x1fc)]('\x20\x20npx\x20apt-mcp-agent-setup\x20setup\x20[--project\x20<PATH>]'),console[_0x178f82(0x1fc)](_0x178f82(0x1e7)),console[_0x178f82(0x1fc)](_0x178f82(0x22f)),process[_0x178f82(0x239)](0x1);}}main()['then'](()=>{const _0x17ee7e=_0x431d31;process[_0x17ee7e(0x239)](process[_0x17ee7e(0x187)]||0x0);})[_0x431d31(0x235)](_0x4fe85b=>{const _0x5b4d06=_0x431d31;console[_0x5b4d06(0x1c0)](_0x5b4d06(0x176),_0x4fe85b[_0x5b4d06(0x157)]),process[_0x5b4d06(0x239)](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 |