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,734 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * 8-Hour Stability Test for 50-Agent Swarm
5
- *
6
- * Tests:
7
- * - 50 agents coordinating every 5 minutes for 8 hours (96 cycles)
8
- * - Memory stability (RSS/VSZ) with <10% growth target
9
- * - File descriptor stability
10
- * - tmpfs usage monitoring
11
- * - Coordination time variance <20%
12
- * - Zero crash tolerance
13
- *
14
- * Usage:
15
- * node scripts/test/stability-test-50-agents.js
16
- * node scripts/test/stability-test-50-agents.js --dry-run
17
- * node scripts/test/stability-test-50-agents.js --cycles 10 --interval 30000
18
- */
19
-
20
- import { spawn, exec } from 'child_process';
21
- import { promisify } from 'util';
22
- import * as fs from 'fs/promises';
23
- import * as path from 'path';
24
- import * as os from 'os';
25
-
26
- const execAsync = promisify(exec);
27
-
28
- // Configuration
29
- const CONFIG = {
30
- AGENT_COUNT: 50,
31
- COORDINATION_INTERVAL: 5 * 60 * 1000, // 5 minutes
32
- TOTAL_DURATION: 8 * 60 * 60 * 1000, // 8 hours
33
- TOTAL_CYCLES: 96,
34
- LOG_FILE: 'stability-test-results.jsonl',
35
- MEMORY_GROWTH_THRESHOLD: 0.10, // 10%
36
- FD_VARIANCE_THRESHOLD: 0.10, // 10%
37
- COORDINATION_VARIANCE_THRESHOLD: 0.20, // 20%
38
- TMPFS_PATH: '/tmp',
39
- HEALTH_CHECK_INTERVAL: 30000, // 30 seconds
40
- };
41
-
42
- // Parse CLI args
43
- const args = process.argv.slice(2);
44
- const isDryRun = args.includes('--dry-run');
45
- const cyclesOverride = args.findIndex(a => a === '--cycles');
46
- const intervalOverride = args.findIndex(a => a === '--interval');
47
-
48
- if (cyclesOverride !== -1 && args[cyclesOverride + 1]) {
49
- CONFIG.TOTAL_CYCLES = parseInt(args[cyclesOverride + 1], 10);
50
- CONFIG.TOTAL_DURATION = CONFIG.TOTAL_CYCLES * CONFIG.COORDINATION_INTERVAL;
51
- }
52
- if (intervalOverride !== -1 && args[intervalOverride + 1]) {
53
- CONFIG.COORDINATION_INTERVAL = parseInt(args[intervalOverride + 1], 10);
54
- }
55
-
56
- class StabilityTestRunner {
57
- constructor() {
58
- this.agents = [];
59
- this.swarmId = null;
60
- this.startTime = null;
61
- this.baselineMetrics = null;
62
- this.cycleMetrics = [];
63
- this.isRunning = false;
64
- this.logStream = null;
65
- this.healthCheckInterval = null;
66
-
67
- // Bind cleanup handlers
68
- this.cleanup = this.cleanup.bind(this);
69
- process.on('SIGINT', this.cleanup);
70
- process.on('SIGTERM', this.cleanup);
71
- process.on('uncaughtException', (err) => {
72
- this.log(`Uncaught exception: ${err.message}`, 'error');
73
- this.cleanup();
74
- });
75
- }
76
-
77
- log(message, level = 'info') {
78
- const timestamp = new Date().toISOString();
79
- const prefix = `[${timestamp}]`;
80
-
81
- const colors = {
82
- info: '\x1b[36m',
83
- success: '\x1b[32m',
84
- warning: '\x1b[33m',
85
- error: '\x1b[31m',
86
- reset: '\x1b[0m',
87
- };
88
-
89
- const color = colors[level] || colors.reset;
90
- console.log(`${color}${prefix} ${message}${colors.reset}`);
91
- }
92
-
93
- async captureSystemMetrics() {
94
- const metrics = {
95
- timestamp: new Date().toISOString(),
96
- memory: await this.getMemoryMetrics(),
97
- fileDescriptors: await this.getFileDescriptorMetrics(),
98
- tmpfs: await this.getTmpfsMetrics(),
99
- processes: await this.getProcessMetrics(),
100
- };
101
-
102
- return metrics;
103
- }
104
-
105
- async getMemoryMetrics() {
106
- try {
107
- // Get current process and all child processes
108
- const { stdout } = await execAsync(`ps -o pid,rss,vsz,comm -p ${process.pid} --ppid ${process.pid} --no-headers`);
109
- const lines = stdout.trim().split('\n').filter(l => l.trim());
110
-
111
- let totalRss = 0;
112
- let totalVsz = 0;
113
- const processes = [];
114
-
115
- lines.forEach(line => {
116
- const parts = line.trim().split(/\s+/);
117
- if (parts.length >= 4) {
118
- const pid = parseInt(parts[0], 10);
119
- const rss = parseInt(parts[1], 10); // KB
120
- const vsz = parseInt(parts[2], 10); // KB
121
- const comm = parts.slice(3).join(' ');
122
-
123
- totalRss += rss;
124
- totalVsz += vsz;
125
- processes.push({ pid, rss, vsz, comm });
126
- }
127
- });
128
-
129
- return {
130
- totalRss: totalRss * 1024, // Convert to bytes
131
- totalVsz: totalVsz * 1024,
132
- processCount: processes.length,
133
- processes: processes.slice(0, 5), // Top 5 for logging
134
- };
135
- } catch (error) {
136
- this.log(`Failed to get memory metrics: ${error.message}`, 'warning');
137
- return { totalRss: 0, totalVsz: 0, processCount: 0, processes: [] };
138
- }
139
- }
140
-
141
- async getFileDescriptorMetrics() {
142
- try {
143
- // Count file descriptors for current process
144
- const fdPath = `/proc/${process.pid}/fd`;
145
- const files = await fs.readdir(fdPath);
146
- const openFds = files.length;
147
-
148
- // Get system FD limit
149
- const { stdout: limitsOut } = await execAsync(`cat /proc/${process.pid}/limits | grep 'open files'`);
150
- const limitMatch = limitsOut.match(/(\d+)\s+(\d+)/);
151
- const softLimit = limitMatch ? parseInt(limitMatch[1], 10) : 1024;
152
- const hardLimit = limitMatch ? parseInt(limitMatch[2], 10) : 4096;
153
-
154
- return {
155
- open: openFds,
156
- softLimit,
157
- hardLimit,
158
- utilization: (openFds / softLimit) * 100,
159
- };
160
- } catch (error) {
161
- this.log(`Failed to get FD metrics: ${error.message}`, 'warning');
162
- return { open: 0, softLimit: 1024, hardLimit: 4096, utilization: 0 };
163
- }
164
- }
165
-
166
- async getTmpfsMetrics() {
167
- try {
168
- const { stdout } = await execAsync(`df -B1 ${CONFIG.TMPFS_PATH} | tail -1`);
169
- const parts = stdout.trim().split(/\s+/);
170
-
171
- if (parts.length >= 6) {
172
- const total = parseInt(parts[1], 10);
173
- const used = parseInt(parts[2], 10);
174
- const available = parseInt(parts[3], 10);
175
- const utilizationPct = parseFloat(parts[4]);
176
-
177
- return { total, used, available, utilizationPct };
178
- }
179
-
180
- return { total: 0, used: 0, available: 0, utilizationPct: 0 };
181
- } catch (error) {
182
- this.log(`Failed to get tmpfs metrics: ${error.message}`, 'warning');
183
- return { total: 0, used: 0, available: 0, utilizationPct: 0 };
184
- }
185
- }
186
-
187
- async getProcessMetrics() {
188
- try {
189
- // Count agent processes (looking for node processes spawned by this script)
190
- const { stdout } = await execAsync(`pgrep -P ${process.pid} | wc -l`);
191
- const childProcessCount = parseInt(stdout.trim(), 10);
192
-
193
- return {
194
- parentPid: process.pid,
195
- childProcessCount,
196
- expectedAgents: this.agents.length,
197
- agentsCrashed: Math.max(0, this.agents.length - childProcessCount),
198
- };
199
- } catch (error) {
200
- this.log(`Failed to get process metrics: ${error.message}`, 'warning');
201
- return { parentPid: process.pid, childProcessCount: 0, expectedAgents: 0, agentsCrashed: 0 };
202
- }
203
- }
204
-
205
- async spawnAgent(index) {
206
- return new Promise((resolve, reject) => {
207
- // Simple agent process that stays alive and responds to coordination
208
- const agentScript = `
209
- const agentId = 'agent-${index}';
210
- let coordinations = 0;
211
-
212
- process.on('message', (msg) => {
213
- if (msg.type === 'coordinate') {
214
- coordinations++;
215
- process.send({
216
- type: 'coordination_response',
217
- agentId,
218
- coordinations,
219
- timestamp: Date.now()
220
- });
221
- } else if (msg.type === 'status') {
222
- process.send({
223
- type: 'status_response',
224
- agentId,
225
- coordinations,
226
- uptime: process.uptime(),
227
- memory: process.memoryUsage()
228
- });
229
- }
230
- });
231
-
232
- // Keep alive
233
- setInterval(() => {}, 60000);
234
-
235
- process.send({ type: 'ready', agentId });
236
- `;
237
-
238
- const agent = spawn('node', ['-e', agentScript], {
239
- stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
240
- detached: false,
241
- });
242
-
243
- agent.stdout.on('data', (data) => {
244
- // Suppress normal output
245
- });
246
-
247
- agent.stderr.on('data', (data) => {
248
- this.log(`Agent ${index} error: ${data.toString().trim()}`, 'warning');
249
- });
250
-
251
- agent.on('message', (msg) => {
252
- if (msg.type === 'ready') {
253
- resolve({
254
- id: msg.agentId,
255
- process: agent,
256
- pid: agent.pid,
257
- spawnTime: Date.now(),
258
- });
259
- }
260
- });
261
-
262
- agent.on('exit', (code, signal) => {
263
- this.log(`Agent ${index} exited with code ${code}, signal ${signal}`, 'error');
264
- const agentIndex = this.agents.findIndex(a => a.id === `agent-${index}`);
265
- if (agentIndex !== -1) {
266
- this.agents[agentIndex].crashed = true;
267
- this.agents[agentIndex].exitCode = code;
268
- this.agents[agentIndex].exitSignal = signal;
269
- }
270
- });
271
-
272
- agent.on('error', (error) => {
273
- reject(error);
274
- });
275
-
276
- // Timeout after 10 seconds
277
- setTimeout(() => reject(new Error(`Agent ${index} spawn timeout`)), 10000);
278
- });
279
- }
280
-
281
- async spawnAllAgents() {
282
- this.log(`Spawning ${CONFIG.AGENT_COUNT} agents...`, 'info');
283
- const startTime = Date.now();
284
-
285
- const agentPromises = Array.from({ length: CONFIG.AGENT_COUNT }, (_, i) =>
286
- this.spawnAgent(i).catch(err => {
287
- this.log(`Failed to spawn agent ${i}: ${err.message}`, 'error');
288
- return null;
289
- })
290
- );
291
-
292
- const agents = await Promise.all(agentPromises);
293
- this.agents = agents.filter(a => a !== null);
294
-
295
- const duration = Date.now() - startTime;
296
- this.log(`Spawned ${this.agents.length}/${CONFIG.AGENT_COUNT} agents in ${duration}ms`, 'success');
297
-
298
- if (this.agents.length < CONFIG.AGENT_COUNT) {
299
- throw new Error(`Failed to spawn all agents: ${this.agents.length}/${CONFIG.AGENT_COUNT}`);
300
- }
301
- }
302
-
303
- async coordinateAgents(cycle) {
304
- const startTime = Date.now();
305
- const responses = [];
306
-
307
- const coordinationPromises = this.agents.map(agent => {
308
- return new Promise((resolve) => {
309
- if (agent.crashed) {
310
- resolve({ agentId: agent.id, error: 'Agent crashed', responded: false });
311
- return;
312
- }
313
-
314
- const timeout = setTimeout(() => {
315
- resolve({ agentId: agent.id, error: 'Timeout', responded: false });
316
- }, 5000);
317
-
318
- const messageHandler = (msg) => {
319
- if (msg.type === 'coordination_response') {
320
- clearTimeout(timeout);
321
- agent.process.off('message', messageHandler);
322
- resolve({ ...msg, responded: true });
323
- }
324
- };
325
-
326
- agent.process.on('message', messageHandler);
327
- agent.process.send({ type: 'coordinate', cycle });
328
- });
329
- });
330
-
331
- const results = await Promise.all(coordinationPromises);
332
- const responded = results.filter(r => r.responded).length;
333
- const failed = results.filter(r => !r.responded).length;
334
-
335
- const duration = Date.now() - startTime;
336
-
337
- return {
338
- cycle,
339
- startTime: new Date(startTime).toISOString(),
340
- durationMs: duration,
341
- agentsTotal: this.agents.length,
342
- agentsResponded: responded,
343
- agentsFailed: failed,
344
- responses: results,
345
- };
346
- }
347
-
348
- async runCoordinationCycle(cycle) {
349
- this.log(`Running coordination cycle ${cycle}/${CONFIG.TOTAL_CYCLES}`, 'info');
350
-
351
- // Capture pre-coordination metrics
352
- const preMetrics = await this.captureSystemMetrics();
353
-
354
- // Coordinate agents
355
- const coordination = await this.coordinateAgents(cycle);
356
-
357
- // Capture post-coordination metrics
358
- const postMetrics = await this.captureSystemMetrics();
359
-
360
- // Calculate deltas
361
- const memoryDelta = postMetrics.memory.totalRss - preMetrics.memory.totalRss;
362
- const fdDelta = postMetrics.fileDescriptors.open - preMetrics.fileDescriptors.open;
363
-
364
- const cycleData = {
365
- cycle,
366
- timestamp: new Date().toISOString(),
367
- preMetrics,
368
- coordination,
369
- postMetrics,
370
- deltas: {
371
- memory: memoryDelta,
372
- fileDescriptors: fdDelta,
373
- },
374
- };
375
-
376
- this.cycleMetrics.push(cycleData);
377
-
378
- // Write to JSONL log
379
- await this.writeLogEntry(cycleData);
380
-
381
- // Log summary
382
- this.log(
383
- `Cycle ${cycle}: ${coordination.agentsResponded}/${coordination.agentsTotal} agents responded in ${coordination.durationMs}ms ` +
384
- `(mem: ${memoryDelta > 0 ? '+' : ''}${(memoryDelta / 1024 / 1024).toFixed(2)}MB, fds: ${fdDelta > 0 ? '+' : ''}${fdDelta})`,
385
- coordination.agentsFailed > 0 ? 'warning' : 'success'
386
- );
387
-
388
- return cycleData;
389
- }
390
-
391
- async writeLogEntry(data) {
392
- try {
393
- const logLine = JSON.stringify(data) + '\n';
394
- await fs.appendFile(CONFIG.LOG_FILE, logLine, 'utf8');
395
- } catch (error) {
396
- this.log(`Failed to write log entry: ${error.message}`, 'warning');
397
- }
398
- }
399
-
400
- async runStabilityTest() {
401
- this.log('Starting 8-hour stability test for 50-agent swarm', 'info');
402
- this.log(`Configuration: ${CONFIG.TOTAL_CYCLES} cycles, ${CONFIG.COORDINATION_INTERVAL / 60000} min interval`, 'info');
403
-
404
- if (isDryRun) {
405
- this.log('DRY RUN MODE - Test will complete after 3 cycles', 'warning');
406
- CONFIG.TOTAL_CYCLES = 3;
407
- CONFIG.COORDINATION_INTERVAL = 10000; // 10 seconds
408
- }
409
-
410
- try {
411
- // Phase 1: Spawn agents
412
- await this.spawnAllAgents();
413
-
414
- // Capture baseline metrics
415
- this.startTime = Date.now();
416
- this.baselineMetrics = await this.captureSystemMetrics();
417
- this.log(`Baseline metrics captured: ${(this.baselineMetrics.memory.totalRss / 1024 / 1024).toFixed(2)}MB RSS, ${this.baselineMetrics.fileDescriptors.open} FDs`, 'info');
418
-
419
- await this.writeLogEntry({
420
- type: 'baseline',
421
- timestamp: new Date().toISOString(),
422
- metrics: this.baselineMetrics,
423
- config: CONFIG,
424
- });
425
-
426
- // Phase 2: Run coordination cycles
427
- this.isRunning = true;
428
-
429
- for (let cycle = 1; cycle <= CONFIG.TOTAL_CYCLES && this.isRunning; cycle++) {
430
- const cycleStartTime = Date.now();
431
-
432
- await this.runCoordinationCycle(cycle);
433
-
434
- // Check for critical failures
435
- const crashed = this.agents.filter(a => a.crashed).length;
436
- if (crashed > 0) {
437
- this.log(`CRITICAL: ${crashed} agents have crashed!`, 'error');
438
- throw new Error(`Test failed: ${crashed} agents crashed`);
439
- }
440
-
441
- // Wait for next cycle
442
- if (cycle < CONFIG.TOTAL_CYCLES) {
443
- const elapsed = Date.now() - cycleStartTime;
444
- const waitTime = Math.max(0, CONFIG.COORDINATION_INTERVAL - elapsed);
445
-
446
- if (waitTime > 0) {
447
- const nextCycle = new Date(Date.now() + waitTime).toISOString();
448
- this.log(`Waiting ${(waitTime / 1000).toFixed(0)}s until next cycle (${nextCycle})`, 'info');
449
- await this.sleep(waitTime);
450
- }
451
- }
452
- }
453
-
454
- // Phase 3: Generate report
455
- this.log('All coordination cycles completed, generating report...', 'success');
456
- const report = await this.generateReport();
457
-
458
- return report;
459
-
460
- } catch (error) {
461
- this.log(`Stability test failed: ${error.message}`, 'error');
462
- throw error;
463
- } finally {
464
- await this.cleanup();
465
- }
466
- }
467
-
468
- async generateReport() {
469
- const endTime = Date.now();
470
- const totalDuration = endTime - this.startTime;
471
-
472
- // Calculate memory growth
473
- const finalMetrics = this.cycleMetrics[this.cycleMetrics.length - 1]?.postMetrics;
474
- const memoryGrowth = finalMetrics
475
- ? (finalMetrics.memory.totalRss - this.baselineMetrics.memory.totalRss) / this.baselineMetrics.memory.totalRss
476
- : 0;
477
-
478
- // Calculate FD stability
479
- const fdValues = this.cycleMetrics.map(c => c.postMetrics.fileDescriptors.open);
480
- const fdMean = fdValues.reduce((sum, v) => sum + v, 0) / fdValues.length;
481
- const fdStdDev = Math.sqrt(fdValues.reduce((sum, v) => sum + Math.pow(v - fdMean, 2), 0) / fdValues.length);
482
- const fdVariance = fdMean > 0 ? fdStdDev / fdMean : 0;
483
-
484
- // Calculate coordination time variance
485
- const coordTimes = this.cycleMetrics.map(c => c.coordination.durationMs);
486
- const coordMean = coordTimes.reduce((sum, t) => sum + t, 0) / coordTimes.length;
487
- const coordStdDev = Math.sqrt(coordTimes.reduce((sum, t) => sum + Math.pow(t - coordMean, 2), 0) / coordTimes.length);
488
- const coordVariance = coordMean > 0 ? coordStdDev / coordMean : 0;
489
-
490
- // Count crashes
491
- const totalCrashes = this.agents.filter(a => a.crashed).length;
492
-
493
- // Success criteria evaluation
494
- const memoryPass = memoryGrowth < CONFIG.MEMORY_GROWTH_THRESHOLD;
495
- const fdPass = fdVariance < CONFIG.FD_VARIANCE_THRESHOLD;
496
- const coordPass = coordVariance < CONFIG.COORDINATION_VARIANCE_THRESHOLD;
497
- const crashPass = totalCrashes === 0;
498
- const overallPass = memoryPass && fdPass && coordPass && crashPass;
499
-
500
- const report = {
501
- testConfig: CONFIG,
502
- execution: {
503
- startTime: new Date(this.startTime).toISOString(),
504
- endTime: new Date(endTime).toISOString(),
505
- totalDurationMs: totalDuration,
506
- totalDurationHours: (totalDuration / 1000 / 3600).toFixed(2),
507
- cyclesCompleted: this.cycleMetrics.length,
508
- agentsSpawned: CONFIG.AGENT_COUNT,
509
- },
510
- metrics: {
511
- memory: {
512
- baseline: this.baselineMetrics.memory.totalRss,
513
- final: finalMetrics?.memory.totalRss || 0,
514
- growth: memoryGrowth,
515
- growthPct: (memoryGrowth * 100).toFixed(2),
516
- threshold: CONFIG.MEMORY_GROWTH_THRESHOLD,
517
- pass: memoryPass,
518
- },
519
- fileDescriptors: {
520
- baseline: this.baselineMetrics.fileDescriptors.open,
521
- mean: fdMean.toFixed(2),
522
- stdDev: fdStdDev.toFixed(2),
523
- variance: coordVariance.toFixed(4),
524
- threshold: CONFIG.FD_VARIANCE_THRESHOLD,
525
- pass: fdPass,
526
- },
527
- coordination: {
528
- mean: coordMean.toFixed(2),
529
- min: Math.min(...coordTimes),
530
- max: Math.max(...coordTimes),
531
- stdDev: coordStdDev.toFixed(2),
532
- variance: coordVariance.toFixed(4),
533
- threshold: CONFIG.COORDINATION_VARIANCE_THRESHOLD,
534
- pass: coordPass,
535
- },
536
- crashes: {
537
- total: totalCrashes,
538
- threshold: 0,
539
- pass: crashPass,
540
- },
541
- },
542
- success: overallPass,
543
- recommendations: this.generateRecommendations(memoryGrowth, fdVariance, coordVariance, totalCrashes),
544
- timestamp: new Date().toISOString(),
545
- };
546
-
547
- // Write report to file
548
- const reportFile = `stability-test-report-${Date.now()}.json`;
549
- await fs.writeFile(reportFile, JSON.stringify(report, null, 2), 'utf8');
550
-
551
- // Print report to console
552
- this.printReport(report);
553
-
554
- return report;
555
- }
556
-
557
- generateRecommendations(memoryGrowth, fdVariance, coordVariance, crashes) {
558
- const recommendations = [];
559
-
560
- if (!memoryGrowth || memoryGrowth >= CONFIG.MEMORY_GROWTH_THRESHOLD) {
561
- recommendations.push({
562
- severity: 'high',
563
- category: 'memory',
564
- message: `Memory growth ${(memoryGrowth * 100).toFixed(2)}% exceeds ${(CONFIG.MEMORY_GROWTH_THRESHOLD * 100)}% threshold`,
565
- actions: [
566
- 'Investigate memory leaks in agent processes',
567
- 'Review coordination message handling for retained references',
568
- 'Consider implementing periodic agent restart strategy',
569
- ],
570
- });
571
- }
572
-
573
- if (fdVariance >= CONFIG.FD_VARIANCE_THRESHOLD) {
574
- recommendations.push({
575
- severity: 'medium',
576
- category: 'file-descriptors',
577
- message: `FD variance ${(fdVariance * 100).toFixed(2)}% exceeds ${(CONFIG.FD_VARIANCE_THRESHOLD * 100)}% threshold`,
578
- actions: [
579
- 'Review file descriptor cleanup in coordination cycles',
580
- 'Check for unclosed file handles or sockets',
581
- 'Implement FD monitoring and cleanup strategy',
582
- ],
583
- });
584
- }
585
-
586
- if (coordVariance >= CONFIG.COORDINATION_VARIANCE_THRESHOLD) {
587
- recommendations.push({
588
- severity: 'medium',
589
- category: 'coordination',
590
- message: `Coordination time variance ${(coordVariance * 100).toFixed(2)}% exceeds ${(CONFIG.COORDINATION_VARIANCE_THRESHOLD * 100)}% threshold`,
591
- actions: [
592
- 'Investigate coordination bottlenecks',
593
- 'Consider optimizing message passing strategy',
594
- 'Review agent response timeout handling',
595
- ],
596
- });
597
- }
598
-
599
- if (crashes > 0) {
600
- recommendations.push({
601
- severity: 'critical',
602
- category: 'crashes',
603
- message: `${crashes} agents crashed during test`,
604
- actions: [
605
- 'Review agent crash logs for error patterns',
606
- 'Implement better error handling in agent processes',
607
- 'Consider agent health monitoring and automatic recovery',
608
- ],
609
- });
610
- }
611
-
612
- if (recommendations.length === 0) {
613
- recommendations.push({
614
- severity: 'info',
615
- category: 'success',
616
- message: 'All stability criteria passed',
617
- actions: [
618
- 'System is stable for 50-agent swarm operations',
619
- 'Consider testing with larger agent counts',
620
- 'Monitor production deployments for similar patterns',
621
- ],
622
- });
623
- }
624
-
625
- return recommendations;
626
- }
627
-
628
- printReport(report) {
629
- console.log('\n' + '='.repeat(80));
630
- console.log(' 8-HOUR STABILITY TEST REPORT - 50-AGENT SWARM');
631
- console.log('='.repeat(80));
632
-
633
- console.log('\nExecution Summary:');
634
- console.log(` Start Time: ${report.execution.startTime}`);
635
- console.log(` End Time: ${report.execution.endTime}`);
636
- console.log(` Duration: ${report.execution.totalDurationHours} hours`);
637
- console.log(` Cycles Completed: ${report.execution.cyclesCompleted}/${CONFIG.TOTAL_CYCLES}`);
638
- console.log(` Agents Spawned: ${report.execution.agentsSpawned}`);
639
-
640
- console.log('\nMetrics:');
641
- console.log(` Memory Growth: ${report.metrics.memory.growthPct}% (threshold: ${(CONFIG.MEMORY_GROWTH_THRESHOLD * 100)}%) [${report.metrics.memory.pass ? 'PASS' : 'FAIL'}]`);
642
- console.log(` FD Variance: ${(report.metrics.fileDescriptors.variance * 100).toFixed(2)}% (threshold: ${(CONFIG.FD_VARIANCE_THRESHOLD * 100)}%) [${report.metrics.fileDescriptors.pass ? 'PASS' : 'FAIL'}]`);
643
- console.log(` Coordination Variance: ${(report.metrics.coordination.variance * 100).toFixed(2)}% (threshold: ${(CONFIG.COORDINATION_VARIANCE_THRESHOLD * 100)}%) [${report.metrics.coordination.pass ? 'PASS' : 'FAIL'}]`);
644
- console.log(` Crashes: ${report.metrics.crashes.total} (threshold: ${report.metrics.crashes.threshold}) [${report.metrics.crashes.pass ? 'PASS' : 'FAIL'}]`);
645
-
646
- console.log('\nCoordination Performance:');
647
- console.log(` Mean: ${report.metrics.coordination.mean}ms`);
648
- console.log(` Min: ${report.metrics.coordination.min}ms`);
649
- console.log(` Max: ${report.metrics.coordination.max}ms`);
650
- console.log(` Std Dev: ${report.metrics.coordination.stdDev}ms`);
651
-
652
- console.log(`\nOverall Result: ${report.success ? '\x1b[32mPASS\x1b[0m' : '\x1b[31mFAIL\x1b[0m'}`);
653
-
654
- if (report.recommendations.length > 0) {
655
- console.log('\nRecommendations:');
656
- report.recommendations.forEach((rec, i) => {
657
- const severityColor = rec.severity === 'critical' ? '\x1b[31m' : rec.severity === 'high' ? '\x1b[33m' : '\x1b[36m';
658
- console.log(`\n ${i + 1}. [${severityColor}${rec.severity.toUpperCase()}\x1b[0m] ${rec.category}`);
659
- console.log(` ${rec.message}`);
660
- rec.actions.forEach(action => {
661
- console.log(` - ${action}`);
662
- });
663
- });
664
- }
665
-
666
- console.log('\n' + '='.repeat(80));
667
- console.log(`\nDetailed logs written to: ${CONFIG.LOG_FILE}`);
668
- console.log(`Full report written to: stability-test-report-${Date.now()}.json`);
669
- console.log('');
670
- }
671
-
672
- async cleanup() {
673
- if (!this.isRunning && this.agents.length === 0) {
674
- return;
675
- }
676
-
677
- this.log('Cleaning up resources...', 'info');
678
- this.isRunning = false;
679
-
680
- if (this.healthCheckInterval) {
681
- clearInterval(this.healthCheckInterval);
682
- }
683
-
684
- // Kill all agent processes
685
- for (const agent of this.agents) {
686
- if (agent.process && !agent.crashed) {
687
- try {
688
- agent.process.kill('SIGTERM');
689
- await this.sleep(100);
690
- if (!agent.process.killed) {
691
- agent.process.kill('SIGKILL');
692
- }
693
- } catch (error) {
694
- // Process may already be dead
695
- }
696
- }
697
- }
698
-
699
- // Wait for cleanup
700
- await this.sleep(1000);
701
-
702
- this.log('Cleanup completed', 'success');
703
-
704
- // Don't exit if we're generating a report
705
- if (this.cycleMetrics.length > 0) {
706
- // Report will be generated by caller
707
- } else {
708
- process.exit(0);
709
- }
710
- }
711
-
712
- sleep(ms) {
713
- return new Promise(resolve => setTimeout(resolve, ms));
714
- }
715
- }
716
-
717
- // Main execution
718
- async function main() {
719
- const runner = new StabilityTestRunner();
720
-
721
- try {
722
- const report = await runner.runStabilityTest();
723
- process.exit(report.success ? 0 : 1);
724
- } catch (error) {
725
- console.error(`\x1b[31mTest failed: ${error.message}\x1b[0m`);
726
- process.exit(1);
727
- }
728
- }
729
-
730
- if (import.meta.url === `file://${process.argv[1]}`) {
731
- main();
732
- }
733
-
734
- export { StabilityTestRunner, CONFIG };