claude-flow-novice 2.3.4 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/dist/src/booster/performance-benchmark.js +1 -1
  2. package/dist/src/booster/wasm-demo.js +1 -1
  3. package/dist/src/cli/command-registry.js +2 -2
  4. package/dist/src/cli/help-formatter.js +137 -109
  5. package/dist/src/cli/simple-cli.js +2528 -2121
  6. package/dist/src/cli/simple-commands/sparc/refinement.js +3 -3
  7. package/dist/src/cli/validation-helper.js +98 -49
  8. package/dist/src/commands/suggest-templates.js +4 -4
  9. package/dist/src/core/version.js +23 -15
  10. package/dist/src/memory/swarm-memory.js +603 -470
  11. package/dist/src/slash-commands/fullstack.js +2 -2
  12. package/dist/src/slash-commands/parse-epic.js +1 -1
  13. package/package.json +1 -1
  14. package/scripts/postinstall.js +41 -31
  15. package/dist/scripts/.claude-flow/metrics/agent-metrics.json +0 -1
  16. package/dist/scripts/.claude-flow/metrics/performance.json +0 -9
  17. package/dist/scripts/.claude-flow/metrics/task-metrics.json +0 -10
  18. package/dist/scripts/CLEANUP_OPTIMIZATION_REPORT.json +0 -312
  19. package/dist/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +0 -387
  20. package/dist/scripts/CLEANUP_QUICK_START.md +0 -268
  21. package/dist/scripts/CLEANUP_TEST_RESULTS.md +0 -205
  22. package/dist/scripts/README.md +0 -339
  23. package/dist/scripts/ace-query.sh +0 -384
  24. package/dist/scripts/agent-token-analysis.js +0 -430
  25. package/dist/scripts/auto-setup.js +0 -332
  26. package/dist/scripts/build/README.md +0 -167
  27. package/dist/scripts/build/build-config.js +0 -27
  28. package/dist/scripts/build/build-prompt-copier.sh +0 -30
  29. package/dist/scripts/build/performance-monitor.js +0 -869
  30. package/dist/scripts/build/prepare-publish.js +0 -150
  31. package/dist/scripts/build/typescript-fixer.js +0 -621
  32. package/dist/scripts/build/unified-builder.sh +0 -428
  33. package/dist/scripts/build/update-bin-version.js +0 -32
  34. package/dist/scripts/build/validate-agents.js +0 -238
  35. package/dist/scripts/build-index.js +0 -43
  36. package/dist/scripts/build-orchestrator.js +0 -320
  37. package/dist/scripts/check-routing-stats.cjs +0 -122
  38. package/dist/scripts/ci-validation.js +0 -375
  39. package/dist/scripts/cleanup-blocking-coordination.sh +0 -420
  40. package/dist/scripts/cleanup-idle-sessions.sh +0 -118
  41. package/dist/scripts/collect-build-metrics.js +0 -65
  42. package/dist/scripts/demo/README.md +0 -79
  43. package/dist/scripts/demo/autoscaling-demo-simplified.js +0 -963
  44. package/dist/scripts/demo/comprehensive-dashboard-test.js +0 -693
  45. package/dist/scripts/demo/confidence-log.js +0 -87
  46. package/dist/scripts/demo/confidence-report.js +0 -82
  47. package/dist/scripts/demo/demo-multi-swarm-coordination.js +0 -325
  48. package/dist/scripts/demo/demo-production-deployment.js +0 -399
  49. package/dist/scripts/demo/demo-visualization-system.js +0 -149
  50. package/dist/scripts/demo/performance-analysis.cjs +0 -71
  51. package/dist/scripts/demo/performance-analysis.js +0 -71
  52. package/dist/scripts/demo/test-autoscaling-demo.js +0 -314
  53. package/dist/scripts/dependency-optimizer.js +0 -349
  54. package/dist/scripts/dependency-security-assessment.js +0 -331
  55. package/dist/scripts/deploy-sdk.sh +0 -176
  56. package/dist/scripts/deployment-readiness-report.json +0 -179
  57. package/dist/scripts/dev/README.md +0 -264
  58. package/dist/scripts/dev/claude-flow-wrapper.sh +0 -35
  59. package/dist/scripts/dev/claude-monitor.py +0 -419
  60. package/dist/scripts/dev/claude-sparc.sh +0 -562
  61. package/dist/scripts/dev/claude-wrapper.sh +0 -17
  62. package/dist/scripts/dev/demo-phase3-compliance.js +0 -172
  63. package/dist/scripts/dev/demo-task-system.ts +0 -224
  64. package/dist/scripts/dev/deployment-validator.js +0 -315
  65. package/dist/scripts/dev/spawn-claude-terminal.sh +0 -32
  66. package/dist/scripts/dev/start-portal.sh +0 -506
  67. package/dist/scripts/dev/start-web-ui.js +0 -15
  68. package/dist/scripts/dev/stop-portal.sh +0 -311
  69. package/dist/scripts/dev/validate-examples.ts +0 -288
  70. package/dist/scripts/dev/validate-phase2.cjs +0 -451
  71. package/dist/scripts/dev/validate-phase2.js +0 -785
  72. package/dist/scripts/dev/validate-phase3.cjs +0 -208
  73. package/dist/scripts/dev/validate-security-remediation.js +0 -1
  74. package/dist/scripts/ecosystem.config.cjs +0 -90
  75. package/dist/scripts/enhanced-memory-spiral-killer.sh +0 -221
  76. package/dist/scripts/fix-js-extensions.js +0 -167
  77. package/dist/scripts/generate-basic-types.js +0 -73
  78. package/dist/scripts/generate-changelog.js +0 -318
  79. package/dist/scripts/git-hooks/pre-commit.sh +0 -143
  80. package/dist/scripts/health-checks.js +0 -634
  81. package/dist/scripts/hook-wrapper.sh +0 -54
  82. package/dist/scripts/install/README.md +0 -375
  83. package/dist/scripts/install/REDIS_SETUP_VALIDATION.json +0 -245
  84. package/dist/scripts/install/check-prerequisites.js +0 -303
  85. package/dist/scripts/install/config-wizard.js +0 -606
  86. package/dist/scripts/install/dependency-checker.js +0 -385
  87. package/dist/scripts/install/health-check.js +0 -765
  88. package/dist/scripts/install/install.js +0 -256
  89. package/dist/scripts/install/installation-benchmark.js +0 -461
  90. package/dist/scripts/install/quick-install.js +0 -720
  91. package/dist/scripts/install/quick-start-wizard.js +0 -295
  92. package/dist/scripts/install/redis-cli.js +0 -289
  93. package/dist/scripts/install/redis-install-guides.md +0 -407
  94. package/dist/scripts/install/redis-setup.js +0 -559
  95. package/dist/scripts/install/redis-test.js +0 -278
  96. package/dist/scripts/install/service-manager.js +0 -672
  97. package/dist/scripts/install/setup.js +0 -832
  98. package/dist/scripts/install/uninstall.js +0 -526
  99. package/dist/scripts/install/update.js +0 -461
  100. package/dist/scripts/install-pre-commit-hook.sh +0 -127
  101. package/dist/scripts/legacy/README.md +0 -272
  102. package/dist/scripts/legacy/batch-fix-ts.sh +0 -54
  103. package/dist/scripts/legacy/build-migration.sh +0 -105
  104. package/dist/scripts/legacy/build-monitor.js +0 -209
  105. package/dist/scripts/legacy/build-with-filter.sh +0 -84
  106. package/dist/scripts/legacy/build-workaround.sh +0 -71
  107. package/dist/scripts/legacy/fix-ts-advanced.js +0 -358
  108. package/dist/scripts/legacy/fix-ts-final.sh +0 -50
  109. package/dist/scripts/legacy/fix-ts-targeted.sh +0 -49
  110. package/dist/scripts/legacy/fix-typescript-errors.js +0 -305
  111. package/dist/scripts/legacy/force-build.sh +0 -63
  112. package/dist/scripts/legacy/optimize-performance.js +0 -400
  113. package/dist/scripts/legacy/performance-monitor.js +0 -263
  114. package/dist/scripts/legacy/performance-monitoring.js +0 -532
  115. package/dist/scripts/legacy/performance-test-runner.js +0 -645
  116. package/dist/scripts/legacy/quick-fix-ts.js +0 -281
  117. package/dist/scripts/legacy/safe-build.sh +0 -63
  118. package/dist/scripts/memory-monitor-coordinator.js +0 -451
  119. package/dist/scripts/migrate-to-sdk.sh +0 -520
  120. package/dist/scripts/migration/QUICK-START.md +0 -189
  121. package/dist/scripts/migration/QUICK-START.md.backup-1760135091363 +0 -189
  122. package/dist/scripts/migration/README.md +0 -464
  123. package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +0 -500
  124. package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +0 -500
  125. package/dist/scripts/migration/UPDATE-PATHS-README.md +0 -464
  126. package/dist/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +0 -464
  127. package/dist/scripts/migration/example-patterns.json +0 -19
  128. package/dist/scripts/migration/install-arm64.js +0 -78
  129. package/dist/scripts/migration/install.js +0 -83
  130. package/dist/scripts/migration/migrate-hooks.js +0 -173
  131. package/dist/scripts/migration/migration-examples.ts +0 -318
  132. package/dist/scripts/migration/reorganize-workspace.js +0 -504
  133. package/dist/scripts/migration/test-update-paths.js +0 -359
  134. package/dist/scripts/migration/update-paths.js +0 -664
  135. package/dist/scripts/migration/validate-migration.js +0 -647
  136. package/dist/scripts/monitor-loop.sh +0 -65
  137. package/dist/scripts/monitor-memory.sh +0 -47
  138. package/dist/scripts/monitor-migration.js +0 -339
  139. package/dist/scripts/monitor.py +0 -43
  140. package/dist/scripts/monitoring/README.md +0 -178
  141. package/dist/scripts/monitoring/alert-monitor.sh +0 -220
  142. package/dist/scripts/monitoring/analyze-resources.sh +0 -199
  143. package/dist/scripts/monitoring/dashboards/rate-limiting-dashboard.json +0 -211
  144. package/dist/scripts/monitoring/dynamic-monitor.sh +0 -85
  145. package/dist/scripts/monitoring/launch-stability-test.sh +0 -184
  146. package/dist/scripts/monitoring/monitor-test.sh +0 -93
  147. package/dist/scripts/monitoring/pre-test-validation.sh +0 -208
  148. package/dist/scripts/monitoring/quick-test-alerting.sh +0 -118
  149. package/dist/scripts/monitoring/quick-test-rate-limiting.sh +0 -206
  150. package/dist/scripts/monitoring/rate-limiting-monitor.sh +0 -380
  151. package/dist/scripts/monitoring/resource-monitor.sh +0 -126
  152. package/dist/scripts/monitoring/stability-monitor.js +0 -429
  153. package/dist/scripts/monitoring/test-monitor-quick.sh +0 -54
  154. package/dist/scripts/monitoring/view-alerts.sh +0 -307
  155. package/dist/scripts/npm-metrics-collector.js +0 -482
  156. package/dist/scripts/npm-package-validation.cjs +0 -299
  157. package/dist/scripts/optimization/build-optimizer.js +0 -438
  158. package/dist/scripts/optimization/config-validator.js +0 -761
  159. package/dist/scripts/optimization/test-optimization.js +0 -432
  160. package/dist/scripts/optimization/unified-activation.js +0 -839
  161. package/dist/scripts/optimize-package-swarm.js +0 -54
  162. package/dist/scripts/performance/ACTIVATION_COMMANDS.md +0 -292
  163. package/dist/scripts/performance/sqlite-enhanced-activation.sh +0 -583
  164. package/dist/scripts/performance/test-enhanced-backend.sh +0 -504
  165. package/dist/scripts/performance-monitor.js +0 -644
  166. package/dist/scripts/performance-test-runner.js +0 -698
  167. package/dist/scripts/post-deployment-monitoring.js +0 -350
  168. package/dist/scripts/post-edit-pipeline.js +0 -2091
  169. package/dist/scripts/post-install-claude-md.js +0 -78
  170. package/dist/scripts/postinstall.js +0 -84
  171. package/dist/scripts/pre-publish-validation.cjs +0 -212
  172. package/dist/scripts/pre-publish-validation.js +0 -429
  173. package/dist/scripts/redis-lua/cleanup-blocking-coordination.lua +0 -198
  174. package/dist/scripts/release-announcement.js +0 -425
  175. package/dist/scripts/release-notification.js +0 -248
  176. package/dist/scripts/release-rollback.js +0 -376
  177. package/dist/scripts/release-validation.js +0 -460
  178. package/dist/scripts/rollback-sdk.sh +0 -66
  179. package/dist/scripts/run-production-validation.ts +0 -590
  180. package/dist/scripts/run-stability-validation.sh +0 -687
  181. package/dist/scripts/security/README.md +0 -339
  182. package/dist/scripts/security/deployment-validation.cjs +0 -279
  183. package/dist/scripts/security/envelope-encryption-confidence-report.cjs +0 -422
  184. package/dist/scripts/security/install-git-hooks.sh +0 -132
  185. package/dist/scripts/security/install-git-secrets.sh +0 -295
  186. package/dist/scripts/security/rotate-api-keys.js +0 -469
  187. package/dist/scripts/security/ruv-swarm-safe.js +0 -74
  188. package/dist/scripts/security/security-audit.cjs +0 -538
  189. package/dist/scripts/security/setup-redis-auth.sh +0 -397
  190. package/dist/scripts/security/validate-envelope-encryption.cjs +0 -340
  191. package/dist/scripts/security-scan.js +0 -492
  192. package/dist/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +0 -1
  193. package/dist/scripts/src/web/frontend/.claude-flow/metrics/performance.json +0 -9
  194. package/dist/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +0 -10
  195. package/dist/scripts/switch-api.sh +0 -159
  196. package/dist/scripts/sync-agents.js +0 -290
  197. package/dist/scripts/test/50-agent-test.js +0 -625
  198. package/dist/scripts/test/NEW_STABILITY_TEST_GUIDE.md +0 -407
  199. package/dist/scripts/test/README.md +0 -236
  200. package/dist/scripts/test/STABILITY_TEST_EXAMPLE.md +0 -347
  201. package/dist/scripts/test/STABILITY_TEST_README.md +0 -480
  202. package/dist/scripts/test/agent-worker.js +0 -309
  203. package/dist/scripts/test/ai-coordination-test.js +0 -650
  204. package/dist/scripts/test/ai-mesh-coordination-test.js +0 -416
  205. package/dist/scripts/test/check-links.ts +0 -274
  206. package/dist/scripts/test/check-performance-regression.ts +0 -168
  207. package/dist/scripts/test/cli-agent-coordination-test.js +0 -313
  208. package/dist/scripts/test/coordinator-multilingual-test.js +0 -396
  209. package/dist/scripts/test/coordinator-transparency-demo.js +0 -585
  210. package/dist/scripts/test/coverage-report.ts +0 -692
  211. package/dist/scripts/test/generate-swarm-tests.js +0 -633
  212. package/dist/scripts/test/integration-test-validation.cjs +0 -253
  213. package/dist/scripts/test/load-test-swarm.js +0 -576
  214. package/dist/scripts/test/mesh-coordination-zero-overlap-test.js +0 -740
  215. package/dist/scripts/test/multilingual-hello-world-test.js +0 -390
  216. package/dist/scripts/test/quick-multilingual-demo.js +0 -464
  217. package/dist/scripts/test/real-agent-test.js +0 -312
  218. package/dist/scripts/test/run-phase3-compliance-tests.js +0 -427
  219. package/dist/scripts/test/run-stability-test-examples.sh +0 -292
  220. package/dist/scripts/test/stability-results/stability-metrics.jsonl +0 -83
  221. package/dist/scripts/test/stability-results/stability-test-report.json +0 -128
  222. package/dist/scripts/test/stability-results/stability-test.log +0 -1827
  223. package/dist/scripts/test/stability-test-50-agents.js +0 -734
  224. package/dist/scripts/test/test-batch-tasks.ts +0 -29
  225. package/dist/scripts/test/test-byzantine-resolution.js +0 -246
  226. package/dist/scripts/test/test-claude-spawn-options.sh +0 -63
  227. package/dist/scripts/test/test-cli-wizard.js +0 -331
  228. package/dist/scripts/test/test-comprehensive.js +0 -401
  229. package/dist/scripts/test/test-coordination-features.ts +0 -238
  230. package/dist/scripts/test/test-fallback-systems.js +0 -276
  231. package/dist/scripts/test/test-init-command.ts +0 -302
  232. package/dist/scripts/test/test-mcp.ts +0 -251
  233. package/dist/scripts/test/test-runner.ts +0 -568
  234. package/dist/scripts/test/test-swarm-integration.sh +0 -92
  235. package/dist/scripts/test/test-swarm.ts +0 -142
  236. package/dist/scripts/test/validation-summary.ts +0 -408
  237. package/dist/scripts/test-cleanup-performance.sh +0 -416
  238. package/dist/scripts/test-dashboard-auth.cjs +0 -203
  239. package/dist/scripts/test-docker-deployment.sh +0 -207
  240. package/dist/scripts/test-npm-package.cjs +0 -167
  241. package/dist/scripts/test-provider-routing.cjs +0 -226
  242. package/dist/scripts/test-routing-telemetry.cjs +0 -147
  243. package/dist/scripts/test-runner.cjs +0 -154
  244. package/dist/scripts/test-zai-10k.cjs +0 -81
  245. package/dist/scripts/test-zai-api.cjs +0 -191
  246. package/dist/scripts/test-zai-diagnostic.cjs +0 -151
  247. package/dist/scripts/test-zai-final.cjs +0 -128
  248. package/dist/scripts/test-zai-with-env.cjs +0 -85
  249. package/dist/scripts/toggle-cost-savings.cjs +0 -302
  250. package/dist/scripts/unified-memory-monitor.js +0 -526
  251. package/dist/scripts/utils/README.md +0 -261
  252. package/dist/scripts/utils/clean-build-artifacts.sh +0 -94
  253. package/dist/scripts/utils/cleanup-root.sh +0 -69
  254. package/dist/scripts/utils/fix-cliffy-imports.js +0 -307
  255. package/dist/scripts/utils/fix-duplicate-imports.js +0 -114
  256. package/dist/scripts/utils/fix-error-handling.cjs +0 -70
  257. package/dist/scripts/utils/fix-import-paths.js +0 -104
  258. package/dist/scripts/utils/fix-imports.js +0 -116
  259. package/dist/scripts/utils/fix-shebang.js +0 -78
  260. package/dist/scripts/utils/fix-test-modules.js +0 -27
  261. package/dist/scripts/utils/fix-timezone-issue-246.js +0 -200
  262. package/dist/scripts/utils/fix-ts-comprehensive.py +0 -182
  263. package/dist/scripts/utils/fix-ts-targeted-batch.js +0 -250
  264. package/dist/scripts/utils/remove-benchmark-conflicts.sh +0 -140
  265. package/dist/scripts/utils/simple-test-fixer.js +0 -190
  266. package/dist/scripts/utils/validate-metrics-structure.cjs +0 -144
  267. package/dist/scripts/validate-agent-hooks.js +0 -506
  268. package/dist/scripts/validate-changelog.js +0 -241
  269. package/dist/scripts/validate-coordination-cli.js +0 -69
  270. package/dist/scripts/validate-coordination-toggle-integration.cjs +0 -501
  271. package/dist/scripts/validate-docker-infrastructure.sh +0 -502
  272. package/dist/scripts/validate-entry-points.js +0 -300
  273. package/dist/scripts/validate-memory-monitoring.sh +0 -225
  274. package/dist/scripts/validate-stage3-performance.ts +0 -377
  275. package/dist/scripts/validate-template-bundling.js +0 -180
  276. package/dist/scripts/validation/README.md +0 -33
  277. package/dist/scripts/validation/acl-security-validation.cjs +0 -214
  278. package/dist/scripts/validation/acl-security-validation.js +0 -402
  279. package/dist/scripts/validation/byzantine-verification.js +0 -407
  280. package/dist/scripts/validation/final-phase-2-consensus.cjs +0 -219
  281. package/dist/scripts/validation/final-security-validation.js +0 -791
  282. package/dist/scripts/validation/final-wasm-validation.cjs +0 -840
  283. package/dist/scripts/validation/integration-test-analysis.js +0 -105
  284. package/dist/scripts/validation/phase-0-comprehensive-validation.js +0 -474
  285. package/dist/scripts/validation/phase-0-consensus-report.js +0 -139
  286. package/dist/scripts/validation/phase-0-final-report.js +0 -112
  287. package/dist/scripts/validation/phase-0-redis-consensus-report.js +0 -129
  288. package/dist/scripts/validation/phase-0-validation-improved.js +0 -490
  289. package/dist/scripts/validation/phase-0-validation-test.js +0 -65
  290. package/dist/scripts/validation/phase-1-consensus-report.cjs +0 -342
  291. package/dist/scripts/validation/phase-1-consensus-validation.cjs +0 -551
  292. package/dist/scripts/validation/phase-1-consensus-validation.js +0 -551
  293. package/dist/scripts/validation/phase-2-consensus-report.cjs +0 -186
  294. package/dist/scripts/validation/phase-2-validation.cjs +0 -171
  295. package/dist/scripts/validation/phase-2-validation.js +0 -171
  296. package/dist/scripts/validation/phase-4-consensus-report.js +0 -181
  297. package/dist/scripts/validation/phase-4-final-validation.js +0 -351
  298. package/dist/scripts/validation/phase-5-consensus-report.cjs +0 -113
  299. package/dist/scripts/validation/phase-5-consensus-report.js +0 -113
  300. package/dist/scripts/validation/security-analysis.js +0 -49
  301. package/dist/scripts/validation/security-validation.js +0 -492
  302. package/dist/scripts/validation/simple-security-validation.js +0 -464
  303. package/dist/scripts/verify-installation.js +0 -112
  304. package/dist/scripts/verify-mcp-server.js +0 -86
  305. package/dist/scripts/verify-sdk-phase1.cjs +0 -293
  306. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
  307. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
  308. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
  309. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
  310. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
  311. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
  312. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
  313. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
  314. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
  315. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
  316. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
  317. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
  318. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
  319. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
  320. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
  321. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
  322. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
  323. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
  324. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
  325. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
  326. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
  327. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
  328. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
  329. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
  330. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
  331. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
  332. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
  333. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
  334. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
  335. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
  336. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
  337. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
  338. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
  339. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
  340. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
  341. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
  342. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
  343. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
  344. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
  345. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
  346. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
  347. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
@@ -1,698 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- // Import TypeScript modules will be handled via dynamic imports or simplified implementations
4
- // import { PerformanceTestRunner } from '../src/testing/performance/PerformanceTestRunner.js';
5
- // import { PerformanceGate } from '../src/ci-cd/performance/PerformanceGate.js';
6
- // import { RegressionDetector, defaultRegressionConfig } from '../src/monitoring/regression/RegressionDetector.js';
7
- import { promises as fs } from 'fs';
8
- import { join, dirname } from 'path';
9
- import { platform, cpus, totalmem, version } from 'os';
10
- import { fileURLToPath } from 'url';
11
-
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = dirname(__filename);
14
-
15
- /**
16
- * Performance Test Runner Script
17
- *
18
- * This script provides a CLI interface for running performance tests,
19
- * validating performance gates, and detecting regressions.
20
- */
21
-
22
- class PerformanceTestCLI {
23
- constructor() {
24
- // Simplified test runner for now - can be enhanced when TS modules are properly compiled
25
- this.testRunner = {
26
- registerTest: (config) => {
27
- console.log(`Registered test: ${config.name}`);
28
- },
29
- runTestSuite: async (tests) => {
30
- console.log(`Running ${tests.length} tests...`);
31
- const results = [];
32
- for (const test of tests) {
33
- try {
34
- const result = await test.function();
35
- results.push({ name: test.name, success: true, result });
36
- } catch (error) {
37
- results.push({ name: test.name, success: false, error: error.message });
38
- }
39
- }
40
- return { results, summary: `Completed ${results.length} tests` };
41
- }
42
- };
43
- this.setupTestConfigurations();
44
- }
45
-
46
- // Setup predefined test configurations
47
- setupTestConfigurations() {
48
- // Basic performance test
49
- this.testRunner.registerTest({
50
- name: 'basic-cli-operations',
51
- description: 'Test basic CLI command performance',
52
- duration: 30000, // 30 seconds
53
- warmupDuration: 5000, // 5 seconds
54
- concurrency: 5,
55
- rampUpTime: 2000,
56
- rampDownTime: 2000,
57
- targetThroughput: 10, // req/s
58
- maxLatency: 1000, // ms
59
- successRate: 0.95,
60
- memoryLimit: 256, // MB
61
- cpuLimit: 50 // %
62
- });
63
-
64
- // Load test configuration
65
- this.testRunner.registerTest({
66
- name: 'load-test-swarm-operations',
67
- description: 'Load test for swarm coordination operations',
68
- duration: 300000, // 5 minutes
69
- warmupDuration: 30000, // 30 seconds
70
- concurrency: parseInt(process.env.LOAD_TEST_CONCURRENCY || '50'),
71
- rampUpTime: 60000, // 1 minute
72
- rampDownTime: 30000, // 30 seconds
73
- targetThroughput: 100, // req/s
74
- maxLatency: 2000, // ms
75
- successRate: 0.9,
76
- memoryLimit: 512, // MB
77
- cpuLimit: 70 // %
78
- });
79
-
80
- // Stress test configuration
81
- this.testRunner.registerTest({
82
- name: 'stress-test-agent-spawning',
83
- description: 'Stress test for agent spawning and coordination',
84
- duration: 600000, // 10 minutes
85
- warmupDuration: 60000, // 1 minute
86
- concurrency: parseInt(process.env.STRESS_TEST_MAX_CONCURRENCY || '200'),
87
- rampUpTime: 120000, // 2 minutes
88
- rampDownTime: 60000, // 1 minute
89
- targetThroughput: 50, // req/s
90
- maxLatency: 5000, // ms
91
- successRate: 0.85,
92
- memoryLimit: 1024, // MB
93
- cpuLimit: 90 // %
94
- });
95
-
96
- // Endurance test configuration
97
- this.testRunner.registerTest({
98
- name: 'endurance-test-memory-stability',
99
- description: 'Endurance test for memory stability and leak detection',
100
- duration: parseInt(process.env.ENDURANCE_TEST_DURATION || '3600000'), // 1 hour
101
- warmupDuration: 60000, // 1 minute
102
- concurrency: parseInt(process.env.ENDURANCE_TEST_CONCURRENCY || '25'),
103
- rampUpTime: 300000, // 5 minutes
104
- rampDownTime: 300000, // 5 minutes
105
- targetThroughput: 20, // req/s
106
- maxLatency: 3000, // ms
107
- successRate: 0.95,
108
- memoryLimit: parseInt(process.env.ENDURANCE_TEST_MEMORY_LIMIT || '1024'), // MB
109
- cpuLimit: 60 // %
110
- });
111
- }
112
-
113
- // Run basic performance tests
114
- async runBasicTests() {
115
- console.log('🚀 Running basic performance tests...');
116
-
117
- const tests = [
118
- {
119
- name: 'basic-cli-operations',
120
- function: this.simulateBasicCLIOperation.bind(this)
121
- }
122
- ];
123
-
124
- const results = await this.testRunner.runTestSuite(tests);
125
- await this.saveResults('basic', results);
126
-
127
- return results;
128
- }
129
-
130
- // Run load performance tests
131
- async runLoadTests() {
132
- console.log('🚀 Running load performance tests...');
133
-
134
- const tests = [
135
- {
136
- name: 'load-test-swarm-operations',
137
- function: this.simulateSwarmOperation.bind(this)
138
- }
139
- ];
140
-
141
- const results = await this.testRunner.runTestSuite(tests);
142
- await this.saveResults('load', results);
143
-
144
- return results;
145
- }
146
-
147
- // Run stress performance tests
148
- async runStressTests() {
149
- console.log('🚀 Running stress performance tests...');
150
-
151
- const tests = [
152
- {
153
- name: 'stress-test-agent-spawning',
154
- function: this.simulateAgentSpawning.bind(this)
155
- }
156
- ];
157
-
158
- const results = await this.testRunner.runTestSuite(tests);
159
- await this.saveResults('stress', results);
160
-
161
- return results;
162
- }
163
-
164
- // Run endurance performance tests
165
- async runEnduranceTests() {
166
- console.log('🚀 Running endurance performance tests...');
167
-
168
- const tests = [
169
- {
170
- name: 'endurance-test-memory-stability',
171
- function: this.simulateMemoryIntensiveOperation.bind(this)
172
- }
173
- ];
174
-
175
- const results = await this.testRunner.runTestSuite(tests);
176
- await this.saveResults('endurance', results);
177
-
178
- return results;
179
- }
180
-
181
- // Simulate basic CLI operation
182
- async simulateBasicCLIOperation() {
183
- // Simulate a basic CLI command execution
184
- const start = Date.now();
185
-
186
- // Simulate command parsing and validation
187
- await this.sleep(Math.random() * 10 + 5); // 5-15ms
188
-
189
- // Simulate configuration loading
190
- await this.sleep(Math.random() * 20 + 10); // 10-30ms
191
-
192
- // Simulate command execution
193
- await this.sleep(Math.random() * 50 + 25); // 25-75ms
194
-
195
- // Simulate response formatting
196
- await this.sleep(Math.random() * 10 + 5); // 5-15ms
197
-
198
- const duration = Date.now() - start;
199
-
200
- // Simulate occasional failures (5% failure rate)
201
- if (Math.random() < 0.05) {
202
- throw new Error('Simulated command failure');
203
- }
204
-
205
- return { duration, operation: 'cli-command' };
206
- }
207
-
208
- // Simulate swarm operation
209
- async simulateSwarmOperation() {
210
- const start = Date.now();
211
-
212
- // Simulate swarm initialization
213
- await this.sleep(Math.random() * 30 + 20); // 20-50ms
214
-
215
- // Simulate agent coordination
216
- await this.sleep(Math.random() * 100 + 50); // 50-150ms
217
-
218
- // Simulate task orchestration
219
- await this.sleep(Math.random() * 200 + 100); // 100-300ms
220
-
221
- // Simulate result aggregation
222
- await this.sleep(Math.random() * 50 + 25); // 25-75ms
223
-
224
- const duration = Date.now() - start;
225
-
226
- // Simulate occasional failures (10% failure rate under load)
227
- if (Math.random() < 0.1) {
228
- throw new Error('Simulated swarm coordination failure');
229
- }
230
-
231
- return { duration, operation: 'swarm-coordination' };
232
- }
233
-
234
- // Simulate agent spawning
235
- async simulateAgentSpawning() {
236
- const start = Date.now();
237
-
238
- // Simulate agent type selection
239
- await this.sleep(Math.random() * 20 + 10); // 10-30ms
240
-
241
- // Simulate agent initialization
242
- await this.sleep(Math.random() * 100 + 50); // 50-150ms
243
-
244
- // Simulate capability registration
245
- await this.sleep(Math.random() * 50 + 25); // 25-75ms
246
-
247
- // Simulate network connection setup
248
- await this.sleep(Math.random() * 150 + 75); // 75-225ms
249
-
250
- // Simulate initial task assignment
251
- await this.sleep(Math.random() * 100 + 50); // 50-150ms
252
-
253
- const duration = Date.now() - start;
254
-
255
- // Simulate failures (15% failure rate under stress)
256
- if (Math.random() < 0.15) {
257
- throw new Error('Simulated agent spawning failure');
258
- }
259
-
260
- return { duration, operation: 'agent-spawning' };
261
- }
262
-
263
- // Simulate memory-intensive operation
264
- async simulateMemoryIntensiveOperation() {
265
- const start = Date.now();
266
-
267
- // Create some memory pressure to simulate real workload
268
- const largeArray = new Array(10000).fill(0).map(() => ({
269
- id: Math.random(),
270
- data: new Array(100).fill(Math.random()),
271
- timestamp: Date.now()
272
- }));
273
-
274
- // Simulate processing
275
- await this.sleep(Math.random() * 100 + 50); // 50-150ms
276
-
277
- // Simulate data transformation
278
- const processedData = largeArray.map(item => ({
279
- ...item,
280
- processed: true,
281
- hash: this.simpleHash(JSON.stringify(item))
282
- }));
283
-
284
- // Simulate cleanup (helps test GC behavior)
285
- largeArray.length = 0;
286
- processedData.length = 0;
287
-
288
- const duration = Date.now() - start;
289
-
290
- // Simulate rare failures (2% failure rate)
291
- if (Math.random() < 0.02) {
292
- throw new Error('Simulated memory operation failure');
293
- }
294
-
295
- return { duration, operation: 'memory-intensive' };
296
- }
297
-
298
- // Simple hash function for testing
299
- simpleHash(str) {
300
- let hash = 0;
301
- for (let i = 0; i < str.length; i++) {
302
- const char = str.charCodeAt(i);
303
- hash = ((hash << 5) - hash) + char;
304
- hash = hash & hash; // Convert to 32-bit integer
305
- }
306
- return hash;
307
- }
308
-
309
- // Validate performance gate
310
- async validatePerformanceGate() {
311
- console.log('🚪 Running performance gate validation...');
312
-
313
- const gateConfig = this.createPerformanceGateConfig();
314
- // Simplified gate validation for now
315
- const gate = {
316
- validatePerformance: async (tests) => {
317
- const results = await this.testRunner.runTestSuite(tests);
318
- return {
319
- passed: results.results.every(r => r.success),
320
- recommendation: 'PASS',
321
- violations: [],
322
- regressions: [],
323
- improvements: []
324
- };
325
- }
326
- };
327
-
328
- // Run a subset of tests for gate validation
329
- const tests = [
330
- {
331
- name: 'basic-cli-operations',
332
- function: this.simulateBasicCLIOperation.bind(this)
333
- },
334
- {
335
- name: 'load-test-swarm-operations',
336
- function: this.simulateSwarmOperation.bind(this)
337
- }
338
- ];
339
-
340
- const gateResult = await gate.validatePerformance(tests);
341
-
342
- // Save gate results
343
- await this.saveGateResults(gateResult);
344
-
345
- // Log results
346
- console.log(`\n📊 Performance Gate Results:`);
347
- console.log(`Status: ${gateResult.recommendation}`);
348
- console.log(`Passed: ${gateResult.passed ? '✅' : '❌'}`);
349
- console.log(`Violations: ${gateResult.violations.length}`);
350
- console.log(`Regressions: ${gateResult.regressions.length}`);
351
- console.log(`Improvements: ${gateResult.improvements.length}`);
352
-
353
- if (gateResult.violations.length > 0) {
354
- console.log('\n❌ Violations:');
355
- gateResult.violations.forEach(v => console.log(` - ${v}`));
356
- }
357
-
358
- if (gateResult.regressions.length > 0) {
359
- console.log('\n📉 Regressions:');
360
- gateResult.regressions.forEach(r => console.log(` - ${r}`));
361
- }
362
-
363
- if (gateResult.improvements.length > 0) {
364
- console.log('\n📈 Improvements:');
365
- gateResult.improvements.forEach(i => console.log(` - ${i}`));
366
- }
367
-
368
- return gateResult;
369
- }
370
-
371
- // Detect performance regressions
372
- async detectRegressions() {
373
- console.log('🔍 Running regression detection...');
374
-
375
- // Simplified regression detector for now
376
- const detector = {
377
- detectRegressions: async (dataPoint) => {
378
- // Simple mock regression detection
379
- const alerts = [];
380
- if (dataPoint.metrics.avgLatency > 100) {
381
- alerts.push({
382
- type: 'REGRESSION',
383
- severity: 'MEDIUM',
384
- metric: 'avgLatency',
385
- description: 'Average latency is higher than expected',
386
- recommendation: 'Investigate performance optimization opportunities'
387
- });
388
- }
389
- return alerts;
390
- }
391
- };
392
-
393
- // Create a synthetic data point for testing
394
- const dataPoint = {
395
- timestamp: Date.now(),
396
- commit: process.env.GITHUB_SHA || 'test-commit',
397
- branch: process.env.GITHUB_REF_NAME || 'test-branch',
398
- version: process.env.npm_package_version || '1.0.0',
399
- metrics: {
400
- throughput: 95 + Math.random() * 10, // 95-105 req/s
401
- avgLatency: 45 + Math.random() * 10, // 45-55ms
402
- p95Latency: 90 + Math.random() * 20, // 90-110ms
403
- p99Latency: 180 + Math.random() * 40, // 180-220ms
404
- successRate: 0.95 + Math.random() * 0.04, // 95-99%
405
- memoryUsage: 200 + Math.random() * 50, // 200-250MB
406
- cpuUsage: 35 + Math.random() * 15, // 35-50%
407
- errorRate: Math.random() * 0.05 // 0-5%
408
- },
409
- environment: {
410
- os: platform(),
411
- nodeVersion: version,
412
- cpuCores: cpus().length,
413
- memory: Math.round(totalmem() / 1024 / 1024) // MB
414
- }
415
- };
416
-
417
- const alerts = await detector.detectRegressions(dataPoint);
418
-
419
- console.log(`\n🔍 Regression Detection Results:`);
420
- console.log(`Alerts: ${alerts.length}`);
421
-
422
- if (alerts.length > 0) {
423
- alerts.forEach(alert => {
424
- const icon = alert.type === 'REGRESSION' ? '📉' :
425
- alert.type === 'IMPROVEMENT' ? '📈' : '⚠️';
426
- console.log(`\n${icon} ${alert.type} - ${alert.severity}`);
427
- console.log(` Metric: ${alert.metric}`);
428
- console.log(` Description: ${alert.description}`);
429
- console.log(` Recommendation: ${alert.recommendation}`);
430
- });
431
- } else {
432
- console.log(' No significant regressions detected ✅');
433
- }
434
-
435
- // Save regression results
436
- await this.saveRegressionResults(alerts, dataPoint);
437
-
438
- return alerts;
439
- }
440
-
441
- // Generate comprehensive performance report
442
- async generateReport() {
443
- console.log('📊 Generating comprehensive performance report...');
444
-
445
- const reportData = {
446
- timestamp: Date.now(),
447
- environment: {
448
- os: platform(),
449
- nodeVersion: version,
450
- cpuCores: cpus().length,
451
- memory: Math.round(totalmem() / 1024 / 1024),
452
- branch: process.env.GITHUB_REF_NAME || 'unknown',
453
- commit: process.env.GITHUB_SHA || 'unknown'
454
- },
455
- tests: {
456
- basic: await this.loadResults('basic'),
457
- load: await this.loadResults('load'),
458
- stress: await this.loadResults('stress'),
459
- endurance: await this.loadResults('endurance')
460
- },
461
- gate: await this.loadGateResults(),
462
- regressions: await this.loadRegressionResults()
463
- };
464
-
465
- const reportPath = join(process.cwd(), 'reports/performance', `consolidated-${Date.now()}.json`);
466
- await fs.mkdir(dirname(reportPath), { recursive: true });
467
- await fs.writeFile(reportPath, JSON.stringify(reportData, null, 2));
468
-
469
- console.log(`📊 Performance report saved to: ${reportPath}`);
470
-
471
- return reportData;
472
- }
473
-
474
- // Create performance gate configuration
475
- createPerformanceGateConfig() {
476
- return {
477
- enabled: process.env.PERFORMANCE_GATE_ENABLED !== 'false',
478
- thresholds: {
479
- throughput: {
480
- min: parseInt(process.env.PERF_THRESHOLD_THROUGHPUT_MIN || '50'),
481
- regression: parseFloat(process.env.PERF_THRESHOLD_THROUGHPUT_REGRESSION || '10')
482
- },
483
- latency: {
484
- p95: parseInt(process.env.PERF_THRESHOLD_P95_LATENCY || '1000'),
485
- p99: parseInt(process.env.PERF_THRESHOLD_P99_LATENCY || '2000'),
486
- regression: parseFloat(process.env.PERF_THRESHOLD_LATENCY_REGRESSION || '20')
487
- },
488
- successRate: {
489
- min: parseFloat(process.env.PERF_THRESHOLD_SUCCESS_RATE || '0.9')
490
- },
491
- resources: {
492
- memory: parseInt(process.env.PERF_THRESHOLD_MEMORY || '512'),
493
- cpu: parseInt(process.env.PERF_THRESHOLD_CPU || '80')
494
- }
495
- },
496
- baseline: {
497
- enabled: true,
498
- path: process.env.PERFORMANCE_BASELINE_PATH || './performance-baseline.json',
499
- autoUpdate: process.env.PERFORMANCE_BASELINE_AUTO_UPDATE === 'true'
500
- },
501
- notifications: {
502
- slack: {
503
- webhook: process.env.SLACK_WEBHOOK_URL || '',
504
- channel: process.env.SLACK_CHANNEL || '#performance'
505
- },
506
- email: {
507
- enabled: process.env.EMAIL_NOTIFICATIONS_ENABLED === 'true',
508
- recipients: (process.env.EMAIL_RECIPIENTS || '').split(',').filter(Boolean)
509
- }
510
- }
511
- };
512
- }
513
-
514
- // Helper methods
515
- async sleep(ms) {
516
- return new Promise(resolve => setTimeout(resolve, ms));
517
- }
518
-
519
- async saveResults(testType, results) {
520
- const reportsDir = join(process.cwd(), 'reports/performance');
521
- await fs.mkdir(reportsDir, { recursive: true });
522
-
523
- const resultsPath = join(reportsDir, `${testType}-${Date.now()}.json`);
524
- await fs.writeFile(resultsPath, JSON.stringify(results, null, 2));
525
-
526
- console.log(`Results saved to: ${resultsPath}`);
527
- }
528
-
529
- async saveGateResults(gateResult) {
530
- const reportsDir = join(process.cwd(), 'reports/performance');
531
- await fs.mkdir(reportsDir, { recursive: true });
532
-
533
- const gateResultsPath = join(reportsDir, `gate-${Date.now()}.json`);
534
- const latestGateResultsPath = join(reportsDir, 'gate-latest.json');
535
-
536
- await fs.writeFile(gateResultsPath, JSON.stringify(gateResult, null, 2));
537
- await fs.writeFile(latestGateResultsPath, JSON.stringify(gateResult, null, 2));
538
-
539
- console.log(`Gate results saved to: ${gateResultsPath}`);
540
- }
541
-
542
- async saveRegressionResults(alerts, dataPoint) {
543
- const reportsDir = join(process.cwd(), 'reports/performance');
544
- await fs.mkdir(reportsDir, { recursive: true });
545
-
546
- const regressionData = {
547
- timestamp: Date.now(),
548
- dataPoint: dataPoint,
549
- alerts: alerts
550
- };
551
-
552
- const regressionResultsPath = join(reportsDir, `regression-${Date.now()}.json`);
553
- await fs.writeFile(regressionResultsPath, JSON.stringify(regressionData, null, 2));
554
-
555
- console.log(`Regression results saved to: ${regressionResultsPath}`);
556
- }
557
-
558
- async loadResults(testType) {
559
- try {
560
- const reportsDir = join(process.cwd(), 'reports/performance');
561
- const files = await fs.readdir(reportsDir);
562
- const testFiles = files.filter(f => f.startsWith(`${testType}-`) && f.endsWith('.json'));
563
-
564
- if (testFiles.length === 0) return null;
565
-
566
- const latestFile = testFiles.sort().pop();
567
- const resultsPath = join(reportsDir, latestFile);
568
- const data = await fs.readFile(resultsPath, 'utf-8');
569
-
570
- return JSON.parse(data);
571
- } catch (error) {
572
- console.warn(`Could not load ${testType} results:`, error.message);
573
- return null;
574
- }
575
- }
576
-
577
- async loadGateResults() {
578
- try {
579
- const gateResultsPath = join(process.cwd(), 'reports/performance', 'gate-latest.json');
580
- const data = await fs.readFile(gateResultsPath, 'utf-8');
581
- return JSON.parse(data);
582
- } catch (error) {
583
- console.warn('Could not load gate results:', error.message);
584
- return null;
585
- }
586
- }
587
-
588
- async loadRegressionResults() {
589
- try {
590
- const reportsDir = join(process.cwd(), 'reports/performance');
591
- const files = await fs.readdir(reportsDir);
592
- const regressionFiles = files.filter(f => f.startsWith('regression-') && f.endsWith('.json'));
593
-
594
- if (regressionFiles.length === 0) return null;
595
-
596
- const latestFile = regressionFiles.sort().pop();
597
- const resultsPath = join(reportsDir, latestFile);
598
- const data = await fs.readFile(resultsPath, 'utf-8');
599
-
600
- return JSON.parse(data);
601
- } catch (error) {
602
- console.warn('Could not load regression results:', error.message);
603
- return null;
604
- }
605
- }
606
- }
607
-
608
- // CLI interface
609
- async function main() {
610
- const args = process.argv.slice(2);
611
- const command = args[0];
612
-
613
- const cli = new PerformanceTestCLI();
614
-
615
- try {
616
- switch (command) {
617
- case 'basic':
618
- await cli.runBasicTests();
619
- break;
620
-
621
- case 'load':
622
- await cli.runLoadTests();
623
- break;
624
-
625
- case 'stress':
626
- await cli.runStressTests();
627
- break;
628
-
629
- case 'endurance':
630
- await cli.runEnduranceTests();
631
- break;
632
-
633
- case 'all':
634
- await cli.runBasicTests();
635
- await cli.runLoadTests();
636
- await cli.runStressTests();
637
- await cli.runEnduranceTests();
638
- break;
639
-
640
- case 'gate':
641
- const gateResult = await cli.validatePerformanceGate();
642
- if (!gateResult.passed) {
643
- process.exit(1);
644
- }
645
- break;
646
-
647
- case 'regression':
648
- await cli.detectRegressions();
649
- break;
650
-
651
- case 'report':
652
- await cli.generateReport();
653
- break;
654
-
655
- default:
656
- console.log(`
657
- Performance Test Runner
658
-
659
- Usage: node scripts/performance-test-runner.js <command>
660
-
661
- Commands:
662
- basic Run basic performance tests
663
- load Run load performance tests
664
- stress Run stress performance tests
665
- endurance Run endurance performance tests
666
- all Run all performance test suites
667
- gate Run performance gate validation
668
- regression Run regression detection
669
- report Generate comprehensive performance report
670
-
671
- Environment Variables:
672
- PERFORMANCE_GATE_ENABLED=true/false
673
- PERFORMANCE_BASELINE_AUTO_UPDATE=true/false
674
- LOAD_TEST_CONCURRENCY=50
675
- STRESS_TEST_MAX_CONCURRENCY=200
676
- ENDURANCE_TEST_DURATION=3600000
677
- ENDURANCE_TEST_CONCURRENCY=25
678
- ENDURANCE_TEST_MEMORY_LIMIT=1024
679
- PERF_THRESHOLD_THROUGHPUT_MIN=50
680
- PERF_THRESHOLD_P95_LATENCY=1000
681
- PERF_THRESHOLD_SUCCESS_RATE=0.9
682
- SLACK_WEBHOOK_URL=<webhook-url>
683
- EMAIL_NOTIFICATIONS_ENABLED=true/false
684
- `);
685
- break;
686
- }
687
- } catch (error) {
688
- console.error(`❌ Performance test failed:`, error.message);
689
- process.exit(1);
690
- }
691
- }
692
-
693
- // Handle both direct execution and module imports
694
- if (import.meta.url === `file://${process.argv[1]}`) {
695
- main();
696
- }
697
-
698
- export { PerformanceTestCLI };