claude-flow-novice 2.3.5 → 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 +40 -6
  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 -60
  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,416 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # test-cleanup-performance.sh
4
- # Performance validation script for cleanup-blocking-coordination.sh
5
- #
6
- # This script:
7
- # 1. Populates Redis with 10,000 test coordinators (mix of active and stale)
8
- # 2. Runs cleanup with timing
9
- # 3. Verifies 100% stale key removal, 0% active key deletion
10
- # 4. Reports performance metrics
11
- #
12
- # Success criteria:
13
- # - <5s execution time for 10,000 coordinators
14
- # - 100% stale key removal (TTL > 10 minutes)
15
- # - 0% active key deletion (TTL < 10 minutes)
16
- #
17
-
18
- set -euo pipefail
19
-
20
- # ===== CONFIGURATION =====
21
-
22
- # Redis connection
23
- REDIS_HOST="${REDIS_HOST:-127.0.0.1}"
24
- REDIS_PORT="${REDIS_PORT:-6379}"
25
- REDIS_PASSWORD="${REDIS_PASSWORD:-}"
26
- REDIS_DB="${REDIS_DB:-0}"
27
-
28
- # Test parameters
29
- TOTAL_COORDINATORS=10000
30
- STALE_COORDINATOR_COUNT=9900 # 99% stale
31
- ACTIVE_COORDINATOR_COUNT=100 # 1% active
32
- STALE_THRESHOLD_SECONDS=600 # 10 minutes
33
-
34
- # Script paths
35
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
36
- CLEANUP_SCRIPT="${SCRIPT_DIR}/cleanup-blocking-coordination.sh"
37
-
38
- # ===== HELPER FUNCTIONS =====
39
-
40
- # Redis command wrapper
41
- redis_cmd() {
42
- if [ -n "${REDIS_PASSWORD}" ]; then
43
- redis-cli -h "${REDIS_HOST}" -p "${REDIS_PORT}" -a "${REDIS_PASSWORD}" -n "${REDIS_DB}" "$@" 2>/dev/null
44
- else
45
- redis-cli -h "${REDIS_HOST}" -p "${REDIS_PORT}" -n "${REDIS_DB}" "$@" 2>/dev/null
46
- fi
47
- }
48
-
49
- # Color output
50
- GREEN='\033[0;32m'
51
- RED='\033[0;31m'
52
- YELLOW='\033[1;33m'
53
- NC='\033[0m' # No Color
54
-
55
- log_success() {
56
- echo -e "${GREEN}āœ“${NC} $*"
57
- }
58
-
59
- log_error() {
60
- echo -e "${RED}āœ—${NC} $*"
61
- }
62
-
63
- log_info() {
64
- echo -e "${YELLOW}→${NC} $*"
65
- }
66
-
67
- # Get current timestamp in milliseconds
68
- current_timestamp_ms() {
69
- echo $(($(date +%s) * 1000))
70
- }
71
-
72
- # Count keys matching pattern
73
- count_keys() {
74
- local pattern="$1"
75
- local count=0
76
- local cursor=0
77
-
78
- while true; do
79
- local result
80
- result=$(redis_cmd SCAN "${cursor}" MATCH "${pattern}" COUNT 1000)
81
- cursor=$(echo "${result}" | head -n 1)
82
- local keys
83
- keys=$(echo "${result}" | tail -n +2)
84
-
85
- if [ -n "${keys}" ]; then
86
- count=$((count + $(echo "${keys}" | wc -l)))
87
- fi
88
-
89
- if [ "${cursor}" = "0" ]; then
90
- break
91
- fi
92
- done
93
-
94
- echo "${count}"
95
- }
96
-
97
- # ===== TEST FUNCTIONS =====
98
-
99
- # Clean up any existing test data
100
- cleanup_test_data() {
101
- log_info "Cleaning up any existing test data..."
102
-
103
- local patterns=(
104
- "blocking:heartbeat:test-coordinator-*"
105
- "blocking:ack:test-coordinator-*"
106
- "blocking:signal:test-coordinator-*"
107
- "blocking:idempotency:*test-coordinator-*"
108
- "coordinator:activity:test-coordinator-*"
109
- )
110
-
111
- for pattern in "${patterns[@]}"; do
112
- local cursor=0
113
- while true; do
114
- local result
115
- result=$(redis_cmd SCAN "${cursor}" MATCH "${pattern}" COUNT 1000)
116
- cursor=$(echo "${result}" | head -n 1)
117
- local keys
118
- keys=$(echo "${result}" | tail -n +2 | tr '\n' ' ')
119
-
120
- if [ -n "${keys}" ]; then
121
- redis_cmd DEL ${keys} >/dev/null
122
- fi
123
-
124
- if [ "${cursor}" = "0" ]; then
125
- break
126
- fi
127
- done
128
- done
129
-
130
- log_success "Test data cleaned up"
131
- }
132
-
133
- # Populate Redis with test coordinators
134
- populate_test_data() {
135
- log_info "Populating Redis with ${TOTAL_COORDINATORS} test coordinators..."
136
- log_info " - ${STALE_COORDINATOR_COUNT} stale coordinators (age > 10 minutes)"
137
- log_info " - ${ACTIVE_COORDINATOR_COUNT} active coordinators (age < 10 minutes)"
138
-
139
- local current_time_ms
140
- current_time_ms=$(current_timestamp_ms)
141
-
142
- # Stale threshold timestamp (10 minutes ago)
143
- local stale_timestamp_ms=$((current_time_ms - (STALE_THRESHOLD_SECONDS * 1000) - 60000)) # 11 minutes ago
144
-
145
- # Active timestamp (1 minute ago)
146
- local active_timestamp_ms=$((current_time_ms - 60000)) # 1 minute ago
147
-
148
- # Use batch pipeline for faster insertion
149
- local batch_size=1000
150
- local coordinator_id
151
- local timestamp_ms
152
-
153
- # Populate stale coordinators
154
- for ((i=1; i<=STALE_COORDINATOR_COUNT; i+=batch_size)); do
155
- {
156
- for ((j=i; j<i+batch_size && j<=STALE_COORDINATOR_COUNT; j++)); do
157
- coordinator_id="test-coordinator-stale-${j}"
158
- timestamp_ms="${stale_timestamp_ms}"
159
-
160
- # Heartbeat key
161
- echo "SET blocking:heartbeat:${coordinator_id} '{\"coordinatorId\":\"${coordinator_id}\",\"timestamp\":${timestamp_ms}}'"
162
-
163
- # ACK keys (2 per coordinator)
164
- echo "SET blocking:ack:${coordinator_id}:agent-1 '1'"
165
- echo "SET blocking:ack:${coordinator_id}:agent-2 '1'"
166
-
167
- # Signal key
168
- echo "SET blocking:signal:${coordinator_id} 'CONTINUE'"
169
-
170
- # Idempotency key
171
- echo "SET blocking:idempotency:${coordinator_id}:init '1'"
172
-
173
- # Activity tracking key
174
- echo "SET coordinator:activity:${coordinator_id} '${timestamp_ms}'"
175
- done
176
- } | redis_cmd --pipe >/dev/null
177
-
178
- if ((i % 1000 == 0)); then
179
- log_info " Progress: ${i}/${STALE_COORDINATOR_COUNT} stale coordinators populated"
180
- fi
181
- done
182
-
183
- # Populate active coordinators
184
- for ((i=1; i<=ACTIVE_COORDINATOR_COUNT; i+=batch_size)); do
185
- {
186
- for ((j=i; j<i+batch_size && j<=ACTIVE_COORDINATOR_COUNT; j++)); do
187
- coordinator_id="test-coordinator-active-${j}"
188
- timestamp_ms="${active_timestamp_ms}"
189
-
190
- # Heartbeat key
191
- echo "SET blocking:heartbeat:${coordinator_id} '{\"coordinatorId\":\"${coordinator_id}\",\"timestamp\":${timestamp_ms}}'"
192
-
193
- # ACK keys (2 per coordinator)
194
- echo "SET blocking:ack:${coordinator_id}:agent-1 '1'"
195
- echo "SET blocking:ack:${coordinator_id}:agent-2 '1'"
196
-
197
- # Signal key
198
- echo "SET blocking:signal:${coordinator_id} 'CONTINUE'"
199
-
200
- # Idempotency key
201
- echo "SET blocking:idempotency:${coordinator_id}:init '1'"
202
-
203
- # Activity tracking key
204
- echo "SET coordinator:activity:${coordinator_id} '${timestamp_ms}'"
205
- done
206
- } | redis_cmd --pipe >/dev/null
207
- done
208
-
209
- log_success "Test data populated successfully"
210
- }
211
-
212
- # Verify test data population
213
- verify_test_data() {
214
- log_info "Verifying test data..."
215
-
216
- local heartbeat_count
217
- heartbeat_count=$(count_keys "blocking:heartbeat:test-coordinator-*")
218
-
219
- if [ "${heartbeat_count}" -ne "${TOTAL_COORDINATORS}" ]; then
220
- log_error "Expected ${TOTAL_COORDINATORS} heartbeat keys, found ${heartbeat_count}"
221
- return 1
222
- fi
223
-
224
- log_success "Test data verified: ${heartbeat_count} coordinators"
225
- }
226
-
227
- # Run cleanup and measure performance
228
- run_cleanup_test() {
229
- log_info "Running cleanup script (Lua-based)..."
230
-
231
- local start_time
232
- start_time=$(date +%s%3N)
233
-
234
- # Run cleanup script
235
- if ! bash "${CLEANUP_SCRIPT}"; then
236
- log_error "Cleanup script failed"
237
- return 1
238
- fi
239
-
240
- local end_time
241
- end_time=$(date +%s%3N)
242
- local execution_time_ms=$((end_time - start_time))
243
-
244
- log_success "Cleanup completed in ${execution_time_ms}ms"
245
-
246
- # Return execution time
247
- echo "${execution_time_ms}"
248
- }
249
-
250
- # Verify cleanup results
251
- verify_cleanup_results() {
252
- log_info "Verifying cleanup results..."
253
-
254
- # Count remaining heartbeat keys
255
- local stale_heartbeat_count
256
- stale_heartbeat_count=$(count_keys "blocking:heartbeat:test-coordinator-stale-*")
257
-
258
- local active_heartbeat_count
259
- active_heartbeat_count=$(count_keys "blocking:heartbeat:test-coordinator-active-*")
260
-
261
- # Verify stale coordinators removed
262
- if [ "${stale_heartbeat_count}" -ne 0 ]; then
263
- log_error "Stale coordinator removal failed: ${stale_heartbeat_count} stale coordinators remaining (expected 0)"
264
- return 1
265
- fi
266
-
267
- log_success "100% stale coordinator removal: ${STALE_COORDINATOR_COUNT} removed"
268
-
269
- # Verify active coordinators preserved
270
- if [ "${active_heartbeat_count}" -ne "${ACTIVE_COORDINATOR_COUNT}" ]; then
271
- log_error "Active coordinator preservation failed: ${active_heartbeat_count} active coordinators remaining (expected ${ACTIVE_COORDINATOR_COUNT})"
272
- return 1
273
- fi
274
-
275
- log_success "100% active coordinator preservation: ${ACTIVE_COORDINATOR_COUNT} preserved"
276
-
277
- # Verify related keys also removed
278
- local stale_ack_count
279
- stale_ack_count=$(count_keys "blocking:ack:test-coordinator-stale-*")
280
-
281
- local stale_signal_count
282
- stale_signal_count=$(count_keys "blocking:signal:test-coordinator-stale-*")
283
-
284
- if [ "${stale_ack_count}" -ne 0 ] || [ "${stale_signal_count}" -ne 0 ]; then
285
- log_error "Related key removal failed: ${stale_ack_count} ACK keys, ${stale_signal_count} signal keys remaining"
286
- return 1
287
- fi
288
-
289
- log_success "100% related key removal verified"
290
- }
291
-
292
- # Run fallback test for comparison
293
- run_fallback_test() {
294
- log_info "Running fallback test for comparison..."
295
-
296
- # Re-populate test data
297
- cleanup_test_data
298
- populate_test_data
299
-
300
- log_info "Running cleanup script (bash fallback)..."
301
-
302
- local start_time
303
- start_time=$(date +%s%3N)
304
-
305
- # Run cleanup script with fallback flag
306
- if ! bash "${CLEANUP_SCRIPT}" --fallback; then
307
- log_error "Cleanup script (fallback) failed"
308
- return 1
309
- fi
310
-
311
- local end_time
312
- end_time=$(date +%s%3N)
313
- local execution_time_ms=$((end_time - start_time))
314
-
315
- log_success "Cleanup (fallback) completed in ${execution_time_ms}ms"
316
-
317
- # Return execution time
318
- echo "${execution_time_ms}"
319
- }
320
-
321
- # ===== MAIN EXECUTION =====
322
-
323
- main() {
324
- echo "========================================"
325
- echo "Cleanup Performance Test"
326
- echo "========================================"
327
- echo ""
328
-
329
- # Check prerequisites
330
- if ! command -v redis-cli >/dev/null 2>&1; then
331
- log_error "redis-cli not found, please install Redis"
332
- exit 1
333
- fi
334
-
335
- if ! redis_cmd PING >/dev/null 2>&1; then
336
- log_error "Redis connection failed (host: ${REDIS_HOST}, port: ${REDIS_PORT})"
337
- exit 1
338
- fi
339
-
340
- if [ ! -f "${CLEANUP_SCRIPT}" ]; then
341
- log_error "Cleanup script not found: ${CLEANUP_SCRIPT}"
342
- exit 1
343
- fi
344
-
345
- log_success "Prerequisites verified"
346
- echo ""
347
-
348
- # Phase 1: Test Lua implementation
349
- echo "Phase 1: Lua Implementation Test"
350
- echo "========================================"
351
-
352
- cleanup_test_data
353
- populate_test_data
354
- verify_test_data
355
-
356
- echo ""
357
- local lua_execution_time_ms
358
- lua_execution_time_ms=$(run_cleanup_test)
359
-
360
- echo ""
361
- verify_cleanup_results
362
-
363
- echo ""
364
- echo "========================================"
365
- echo "Lua Implementation Results:"
366
- echo " Execution time: ${lua_execution_time_ms}ms"
367
- echo " Performance: $(awk "BEGIN {printf \"%.2f\", ${TOTAL_COORDINATORS} / (${lua_execution_time_ms} / 1000.0)}")" coordinators/sec
368
- echo " Target: <5000ms (5 seconds)"
369
-
370
- if [ "${lua_execution_time_ms}" -lt 5000 ]; then
371
- log_success "Performance target met (${lua_execution_time_ms}ms < 5000ms)"
372
- else
373
- log_error "Performance target missed (${lua_execution_time_ms}ms >= 5000ms)"
374
- fi
375
- echo "========================================"
376
- echo ""
377
-
378
- # Phase 2: Test bash fallback for comparison
379
- echo "Phase 2: Bash Fallback Comparison Test"
380
- echo "========================================"
381
-
382
- local fallback_execution_time_ms
383
- fallback_execution_time_ms=$(run_fallback_test)
384
-
385
- echo ""
386
- echo "========================================"
387
- echo "Bash Fallback Results:"
388
- echo " Execution time: ${fallback_execution_time_ms}ms"
389
- echo " Performance: $(awk "BEGIN {printf \"%.2f\", ${TOTAL_COORDINATORS} / (${fallback_execution_time_ms} / 1000.0)}")" coordinators/sec
390
- echo "========================================"
391
- echo ""
392
-
393
- # Performance comparison
394
- echo "Performance Comparison:"
395
- echo "========================================"
396
- echo " Lua implementation: ${lua_execution_time_ms}ms"
397
- echo " Bash fallback: ${fallback_execution_time_ms}ms"
398
- echo " Speedup: $(awk "BEGIN {printf \"%.1f\", ${fallback_execution_time_ms} / ${lua_execution_time_ms}}")x faster"
399
- echo "========================================"
400
- echo ""
401
-
402
- # Final cleanup
403
- log_info "Cleaning up test data..."
404
- cleanup_test_data
405
- log_success "Test completed successfully"
406
-
407
- # Exit with success if performance target met
408
- if [ "${lua_execution_time_ms}" -lt 5000 ]; then
409
- exit 0
410
- else
411
- exit 1
412
- fi
413
- }
414
-
415
- # Execute main function
416
- main "$@"
@@ -1,203 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Dashboard Authentication Security Validation Test
5
- * Tests the secure authentication implementation
6
- */
7
-
8
- const AuthenticationService = require('../monitor/dashboard/auth-service.cjs');
9
-
10
- async function runAuthenticationTests() {
11
- console.log('šŸ”’ Dashboard Authentication Security Validation\n');
12
-
13
- const results = {
14
- passed: 0,
15
- failed: 0,
16
- confidence: 0,
17
- tests: []
18
- };
19
-
20
- function recordTest(name, passed, details = '') {
21
- results.tests.push({ name, passed, details });
22
- if (passed) {
23
- results.passed++;
24
- console.log(`āœ… ${name}`);
25
- } else {
26
- results.failed++;
27
- console.log(`āŒ ${name}${details ? ': ' + details : ''}`);
28
- }
29
- }
30
-
31
- // Test 1: Environment variable validation
32
- console.log('Test 1: Environment Variable Configuration');
33
- const envVarsPresent =
34
- process.env.DASHBOARD_ADMIN_USER &&
35
- process.env.DASHBOARD_ADMIN_PASS_HASH &&
36
- process.env.DASHBOARD_SESSION_SECRET;
37
-
38
- if (!envVarsPresent) {
39
- console.log('āš ļø Setting test environment variables...\n');
40
-
41
- // Set test credentials (bcrypt hash of "test123")
42
- process.env.DASHBOARD_ADMIN_USER = 'admin';
43
- process.env.DASHBOARD_ADMIN_PASS_HASH = '$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewY5GyB4YqZ8T0u6';
44
- process.env.DASHBOARD_MONITOR_USER = 'monitor';
45
- process.env.DASHBOARD_MONITOR_PASS_HASH = '$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewY5GyB4YqZ8T0u6';
46
- process.env.DASHBOARD_SESSION_SECRET = 'test-session-secret-minimum-32-characters-long-for-security';
47
- process.env.DASHBOARD_SESSION_TIMEOUT_HOURS = '1';
48
- }
49
-
50
- // Test 2: Service initialization
51
- console.log('\nTest 2: Authentication Service Initialization');
52
- let authService;
53
- try {
54
- authService = new AuthenticationService();
55
- recordTest('Service initialized successfully', true);
56
- } catch (error) {
57
- recordTest('Service initialization', false, error.message);
58
- return results;
59
- }
60
-
61
- // Test 3: Configuration validation
62
- console.log('\nTest 3: Configuration Validation');
63
- try {
64
- authService.validateConfiguration();
65
- recordTest('Configuration validation passed', true);
66
- } catch (error) {
67
- recordTest('Configuration validation', false, error.message);
68
- }
69
-
70
- // Test 4: Valid authentication
71
- console.log('\nTest 4: Valid Authentication');
72
- try {
73
- const result = await authService.authenticate('admin', 'test123');
74
- recordTest('Valid credentials accepted', result !== null);
75
- if (result) {
76
- recordTest('Session token generated', !!result.token);
77
- recordTest('User role included', !!result.user.role);
78
- recordTest('Expiration time set', !!result.expiresAt);
79
- }
80
- } catch (error) {
81
- recordTest('Valid authentication', false, error.message);
82
- }
83
-
84
- // Test 5: Invalid authentication
85
- console.log('\nTest 5: Invalid Authentication');
86
- try {
87
- const result = await authService.authenticate('admin', 'wrongpassword');
88
- recordTest('Invalid credentials rejected', result === null);
89
- } catch (error) {
90
- recordTest('Invalid authentication handling', false, error.message);
91
- }
92
-
93
- // Test 6: Session validation
94
- console.log('\nTest 6: Session Validation');
95
- try {
96
- const authResult = await authService.authenticate('admin', 'test123');
97
- if (authResult) {
98
- const session = authService.validateSession(authResult.token);
99
- recordTest('Valid session recognized', session !== null);
100
- recordTest('Session username correct', session?.username === 'admin');
101
- recordTest('Session role correct', session?.role === 'admin');
102
- }
103
- } catch (error) {
104
- recordTest('Session validation', false, error.message);
105
- }
106
-
107
- // Test 7: Invalid session
108
- console.log('\nTest 7: Invalid Session Handling');
109
- const invalidSession = authService.validateSession('invalid-token');
110
- recordTest('Invalid token rejected', invalidSession === null);
111
-
112
- // Test 8: Session revocation
113
- console.log('\nTest 8: Session Revocation');
114
- try {
115
- const authResult = await authService.authenticate('monitor', 'test123');
116
- if (authResult) {
117
- authService.revokeSession(authResult.token);
118
- const revokedSession = authService.validateSession(authResult.token);
119
- recordTest('Revoked session invalidated', revokedSession === null);
120
- }
121
- } catch (error) {
122
- recordTest('Session revocation', false, error.message);
123
- }
124
-
125
- // Test 9: Bcrypt hash validation
126
- console.log('\nTest 9: Bcrypt Hash Validation');
127
- const validHash = '$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewY5GyB4YqZ8T0u6';
128
- const invalidHash = 'plaintext-password';
129
- recordTest('Valid bcrypt hash recognized', authService.isBcryptHash(validHash));
130
- recordTest('Invalid hash rejected', !authService.isBcryptHash(invalidHash));
131
-
132
- // Test 10: Session statistics
133
- console.log('\nTest 10: Session Statistics');
134
- const stats = authService.getSessionStatistics();
135
- recordTest('Statistics returned', !!stats);
136
- recordTest('User count correct', stats.users >= 2);
137
-
138
- // Test 11: Password hashing utility
139
- console.log('\nTest 11: Password Hashing Utility');
140
- try {
141
- const hash = await AuthenticationService.hashPassword('testpassword', 12);
142
- recordTest('Password hashing works', authService.isBcryptHash(hash));
143
- } catch (error) {
144
- recordTest('Password hashing', false, error.message);
145
- }
146
-
147
- // Test 12: Constant-time comparison (timing attack protection)
148
- console.log('\nTest 12: Timing Attack Protection');
149
- try {
150
- const start1 = Date.now();
151
- await authService.authenticate('nonexistent', 'password');
152
- const time1 = Date.now() - start1;
153
-
154
- const start2 = Date.now();
155
- await authService.authenticate('admin', 'wrongpassword');
156
- const time2 = Date.now() - start2;
157
-
158
- // Times should be similar (within 50ms) to prevent timing attacks
159
- const timeDiff = Math.abs(time1 - time2);
160
- recordTest('Timing attack protection', timeDiff < 50, `Difference: ${timeDiff}ms`);
161
- } catch (error) {
162
- recordTest('Timing attack protection', false, error.message);
163
- }
164
-
165
- // Test 13: No hardcoded credentials
166
- console.log('\nTest 13: No Hardcoded Credentials');
167
- const fs = require('fs');
168
- const serverContent = fs.readFileSync(__dirname + '/../monitor/dashboard/server.js', 'utf8');
169
- const hasHardcodedCreds = /password:\s*['"](?!process\.env)/.test(serverContent);
170
- recordTest('No hardcoded passwords in server.js', !hasHardcodedCreds);
171
-
172
- // Calculate confidence score
173
- const totalTests = results.passed + results.failed;
174
- results.confidence = totalTests > 0 ? (results.passed / totalTests) : 0;
175
-
176
- // Summary
177
- console.log('\n' + '='.repeat(60));
178
- console.log('šŸ“Š Test Summary');
179
- console.log('='.repeat(60));
180
- console.log(`Total Tests: ${totalTests}`);
181
- console.log(`Passed: ${results.passed} āœ…`);
182
- console.log(`Failed: ${results.failed} āŒ`);
183
- console.log(`Confidence Score: ${(results.confidence * 100).toFixed(2)}%`);
184
- console.log('='.repeat(60));
185
-
186
- if (results.confidence >= 0.75) {
187
- console.log('\nāœ… Authentication security validation PASSED (≄0.75 threshold)');
188
- } else {
189
- console.log('\nāŒ Authentication security validation FAILED (<0.75 threshold)');
190
- }
191
-
192
- return results;
193
- }
194
-
195
- // Run tests
196
- runAuthenticationTests()
197
- .then(results => {
198
- process.exit(results.confidence >= 0.75 ? 0 : 1);
199
- })
200
- .catch(error => {
201
- console.error('Test execution error:', error);
202
- process.exit(1);
203
- });