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 node
2
-
3
- /**
4
- * AI-Driven Mesh Coordination Test
5
- *
6
- * Real-world scenario using actual Claude Code CLI agents
7
- * 7 AI coordinators in mesh topology with 70 language combinations
8
- * Complete inter-agent communication logging
9
- */
10
-
11
- import { spawn } from 'child_process';
12
- import fs from 'fs/promises';
13
- import path from 'path';
14
- import { fileURLToPath } from 'url';
15
-
16
- const __filename = fileURLToPath(import.meta.url);
17
- const __dirname = path.dirname(__filename);
18
-
19
- class AIMeshCoordinator {
20
- constructor() {
21
- this.outputDir = path.join(__dirname, '../ai-mesh-results');
22
- this.communicationLog = path.join(this.outputDir, 'ai-communications.log');
23
- this.coordinators = new Map();
24
- this.subAgents = new Map();
25
- this.agentProcesses = new Map();
26
- this.communicationCapture = new Map();
27
-
28
- this.programmingLanguages = [
29
- 'Python', 'JavaScript', 'Rust', 'Go', 'Java', 'C++', 'TypeScript'
30
- ];
31
-
32
- this.verbalLanguages = [
33
- 'Spanish', 'French', 'German', 'Italian', 'Portuguese',
34
- 'Japanese', 'Russian', 'Chinese', 'Arabic', 'Hindi'
35
- ];
36
- }
37
-
38
- async start() {
39
- console.log('🤖 Starting AI-Driven Mesh Coordination Test');
40
- console.log(' Programming Languages: 7');
41
- console.log(' Verbal Languages: 10');
42
- console.log(' Target Combinations: 70 (7x10)');
43
- console.log(' Method: REAL AI agents via Claude Code CLI\n');
44
-
45
- await fs.mkdir(this.outputDir, { recursive: true });
46
- await this.setupCommunicationCapture();
47
-
48
- // Step 1: Spawn 7 AI coordinators
49
- await this.spawnAICoordinators();
50
-
51
- // Step 2: Monitor real coordination
52
- await this.monitorAICoordination();
53
-
54
- // Step 3: Collect and analyze results
55
- await this.collectResults();
56
- }
57
-
58
- async setupCommunicationCapture() {
59
- // Initialize communication logging
60
- const logHeader = {
61
- timestamp: Date.now(),
62
- testType: 'AI_DRIVEN_MESH_COORDINATION',
63
- config: {
64
- coordinators: 7,
65
- subAgentsPerCoordinator: 10,
66
- totalSubAgents: 70,
67
- programmingLanguages: this.programmingLanguages.length,
68
- verbalLanguages: this.verbalLanguages.length
69
- }
70
- };
71
-
72
- await fs.appendFile(this.communicationLog, JSON.stringify(logHeader) + '\n');
73
- console.log('📝 Communication logging initialized');
74
- }
75
-
76
- async spawnAICoordinators() {
77
- console.log('🚀 Step 1: Spawning 7 AI Coordinators');
78
-
79
- for (let i = 1; i <= 7; i++) {
80
- const coordinatorId = `ai-coordinator-${i}`;
81
-
82
- // Prepare coordinator instructions
83
- const instructions = this.generateCoordinatorInstructions(i);
84
-
85
- // Spawn AI coordinator using Claude Code CLI
86
- const aiCoordinator = await this.spawnAIAgent(coordinatorId, instructions);
87
-
88
- this.coordinators.set(coordinatorId, {
89
- id: coordinatorId,
90
- process: aiCoordinator,
91
- status: 'active',
92
- assignedLanguage: null,
93
- subAgents: []
94
- });
95
-
96
- console.log(` ✅ ${coordinatorId} spawned as AI agent`);
97
-
98
- // Small delay between spawns
99
- await new Promise(resolve => setTimeout(resolve, 2000));
100
- }
101
-
102
- console.log('✅ All 7 AI coordinators spawned\n');
103
- }
104
-
105
- generateCoordinatorInstructions(coordinatorNumber) {
106
- return `
107
- You are AI Coordinator ${coordinatorNumber} in a 7-coordinator mesh system.
108
-
109
- YOUR MISSION:
110
- - Coordinate with 6 other AI coordinators to cover 70 unique language combinations
111
- - Choose ONE programming language from: ${this.programmingLanguages.join(', ')}
112
- - Communicate with other coordinators to avoid conflicts
113
- - Once assigned a language, create 10 Hello World functions in 10 different verbal languages
114
-
115
- VERBAL LANGUAGES TO ASSIGN: ${this.verbalLanguages.join(', ')}
116
-
117
- COORDINATION PROTOCOL:
118
- 1. Start by proposing your preferred programming language
119
- 2. Listen to other coordinators' proposals
120
- 3. If conflicts arise, negotiate and resolve through discussion
121
- 4. Once consensus is reached, implement your 10 language combinations
122
-
123
- COMMUNICATION REQUIREMENTS:
124
- - All messages must be logged to /dev/shm/ai-coordinator-${coordinatorNumber}-messages.log
125
- - Include your reasoning for language selection
126
- - Document all conflict resolution discussions
127
- - Report final assignments clearly
128
-
129
- FILE OUTPUT:
130
- - Create Hello World files in ./ai-mesh-results/
131
- - Use naming: hello_world_[verbal]_[programming].extension
132
- - Example: hello_world_spanish_python.py
133
-
134
- WORK autonomously but coordinate with other AI coordinators to achieve ZERO OVERLAP across all 70 combinations.
135
- `;
136
- }
137
-
138
- async spawnAIAgent(agentId, instructions) {
139
- const messageFile = `/dev/shm/${agentId}-instructions.txt`;
140
- await fs.writeFile(messageFile, instructions);
141
-
142
- // Use Claude Code CLI to spawn actual AI agent
143
- const agentProcess = spawn('claude', [
144
- 'flow-novice', 'swarm', 'spawn',
145
- '--agent-type', 'coordinator',
146
- '--name', agentId,
147
- '--instructions', messageFile
148
- ], {
149
- stdio: ['pipe', 'pipe', 'pipe'],
150
- detached: true
151
- });
152
-
153
- // Set up communication capture
154
- await this.setupAgentCommunicationCapture(agentId, agentProcess);
155
-
156
- this.agentProcesses.set(agentId, agentProcess);
157
-
158
- return agentProcess;
159
- }
160
-
161
- async setupAgentCommunicationCapture(agentId, process) {
162
- const commFile = `/dev/shm/${agentId}-messages.log`;
163
-
164
- // Capture stdout
165
- process.stdout.on('data', async (data) => {
166
- const message = {
167
- timestamp: Date.now(),
168
- agentId: agentId,
169
- type: 'STDOUT',
170
- content: data.toString().trim()
171
- };
172
-
173
- await this.logCommunication(message);
174
- await fs.appendFile(commFile, JSON.stringify(message) + '\n');
175
- });
176
-
177
- // Capture stderr
178
- process.stderr.on('data', async (data) => {
179
- const message = {
180
- timestamp: Date.now(),
181
- agentId: agentId,
182
- type: 'STDERR',
183
- content: data.toString().trim()
184
- };
185
-
186
- await this.logCommunication(message);
187
- await fs.appendFile(commFile, JSON.stringify(message) + '\n');
188
- });
189
-
190
- // Log process events
191
- process.on('close', async (code) => {
192
- const message = {
193
- timestamp: Date.now(),
194
- agentId: agentId,
195
- type: 'PROCESS_CLOSE',
196
- content: `Process closed with code: ${code}`
197
- };
198
-
199
- await this.logCommunication(message);
200
- await fs.appendFile(commFile, JSON.stringify(message) + '\n');
201
- });
202
- }
203
-
204
- async logCommunication(message) {
205
- // Central logging for all inter-agent communications
206
- const logEntry = {
207
- timestamp: message.timestamp,
208
- agentId: message.agentId,
209
- type: message.type,
210
- content: message.content,
211
- globalTimestamp: Date.now()
212
- };
213
-
214
- await fs.appendFile(this.communicationLog, JSON.stringify(logEntry) + '\n');
215
-
216
- // Also track per-agent communication patterns
217
- if (!this.communicationCapture.has(message.agentId)) {
218
- this.communicationCapture.set(message.agentId, []);
219
- }
220
- this.communicationCapture.get(message.agentId).push(logEntry);
221
-
222
- // Real-time monitoring output
223
- console.log(`[${message.agentId}] ${message.type}: ${message.content.substring(0, 100)}...`);
224
- }
225
-
226
- async monitorAICoordination() {
227
- console.log('📡 Step 2: Monitoring AI Coordinator Inter-Communication');
228
- console.log(' AI agents will now coordinate autonomously...\n');
229
-
230
- // Let AI coordinators work for specified time
231
- const monitoringDuration = 5 * 60 * 1000; // 5 minutes
232
- const startTime = Date.now();
233
-
234
- while (Date.now() - startTime < monitoringDuration) {
235
- await new Promise(resolve => setTimeout(resolve, 30000)); // Check every 30 seconds
236
-
237
- // Check agent status
238
- const activeAgents = Array.from(this.coordinators.values()).filter(c => c.status === 'active').length;
239
- console.log(` 📊 Active AI coordinators: ${activeAgents}/7`);
240
-
241
- // Look for coordination evidence
242
- await this.analyzeCoordinationProgress();
243
- }
244
-
245
- console.log('⏰ AI coordination period ended\n');
246
- }
247
-
248
- async analyzeCoordinationProgress() {
249
- // Look for evidence of coordination in communication logs
250
- try {
251
- const logContent = await fs.readFile(this.communicationLog, 'utf8');
252
- const messages = logContent.split('\n').filter(line => line.trim()).map(line => JSON.parse(line));
253
-
254
- const agentMessages = new Map();
255
- messages.forEach(msg => {
256
- if (!agentMessages.has(msg.agentId)) {
257
- agentMessages.set(msg.agentId, 0);
258
- }
259
- agentMessages.set(msg.agentId, agentMessages.get(msg.agentId) + 1);
260
- });
261
-
262
- console.log(' 📈 Message activity by agent:');
263
- agentMessages.forEach((count, agentId) => {
264
- console.log(` ${agentId}: ${count} messages`);
265
- });
266
-
267
- } catch (error) {
268
- console.log(' ⚠️ Could not analyze coordination progress');
269
- }
270
- }
271
-
272
- async collectResults() {
273
- console.log('📋 Step 3: Collecting AI Coordination Results');
274
-
275
- // Check for generated files
276
- const generatedFiles = await this.scanGeneratedFiles();
277
-
278
- // Analyze communication patterns
279
- const communicationAnalysis = await this.analyzeCommunications();
280
-
281
- // Generate final report
282
- const results = {
283
- timestamp: Date.now(),
284
- testType: 'AI_DRIVEN_MESH_COORDINATION',
285
- results: {
286
- generatedFiles: generatedFiles,
287
- communicationAnalysis: communicationAnalysis,
288
- agentStatus: this.getAgentStatus()
289
- }
290
- };
291
-
292
- const resultsFile = path.join(this.outputDir, `ai-results-${Date.now()}.json`);
293
- await fs.writeFile(resultsFile, JSON.stringify(results, null, 2));
294
-
295
- console.log(`📁 Results saved to: ${resultsFile}`);
296
- console.log('📊 Communication analysis saved to: ai-communications.log');
297
-
298
- // Cleanup
299
- await this.cleanup();
300
- }
301
-
302
- async scanGeneratedFiles() {
303
- try {
304
- const files = await fs.readdir(this.outputDir);
305
- const helloFiles = files.filter(file => file.startsWith('hello_world_'));
306
-
307
- console.log(` 📄 Found ${helloFiles.length} Hello World files`);
308
-
309
- return {
310
- totalFiles: helloFiles.length,
311
- fileList: helloFiles,
312
- languageCombinations: this.analyzeLanguageCombinations(helloFiles)
313
- };
314
-
315
- } catch (error) {
316
- console.log(' ❌ Could not scan generated files');
317
- return { totalFiles: 0, fileList: [], languageCombinations: {} };
318
- }
319
- }
320
-
321
- analyzeLanguageCombinations(files) {
322
- const combinations = {};
323
-
324
- files.forEach(file => {
325
- // Parse filename to extract languages
326
- const parts = file.replace('hello_world_', '').replace(/\.[^/.]+$/, '').split('_');
327
- if (parts.length >= 2) {
328
- const verbal = parts[0];
329
- const programming = parts[1];
330
- const key = `${programming}+${verbal}`;
331
-
332
- combinations[key] = (combinations[key] || 0) + 1;
333
- }
334
- });
335
-
336
- return combinations;
337
- }
338
-
339
- async analyzeCommunications() {
340
- const analysis = {
341
- totalMessages: 0,
342
- messagesByAgent: {},
343
- communicationTypes: {},
344
- coordinationEvidence: false
345
- };
346
-
347
- this.communicationCapture.forEach((messages, agentId) => {
348
- analysis.messagesByAgent[agentId] = messages.length;
349
- analysis.totalMessages += messages.length;
350
-
351
- messages.forEach(msg => {
352
- analysis.communicationTypes[msg.type] = (analysis.communicationTypes[msg.type] || 0) + 1;
353
-
354
- // Look for coordination keywords
355
- if (msg.content.toLowerCase().includes('coordinator') ||
356
- msg.content.toLowerCase().includes('language') ||
357
- msg.content.toLowerCase().includes('conflict')) {
358
- analysis.coordinationEvidence = true;
359
- }
360
- });
361
- });
362
-
363
- return analysis;
364
- }
365
-
366
- getAgentStatus() {
367
- const status = {};
368
- this.coordinators.forEach((coordinator, id) => {
369
- status[id] = {
370
- status: coordinator.status,
371
- assignedLanguage: coordinator.assignedLanguage,
372
- processId: coordinator.process.pid
373
- };
374
- });
375
- return status;
376
- }
377
-
378
- async cleanup() {
379
- console.log('🧹 Cleaning up AI processes...');
380
-
381
- // Terminate all AI agent processes
382
- this.agentProcesses.forEach((process, agentId) => {
383
- try {
384
- process.kill('SIGTERM');
385
- console.log(` ✅ Terminated ${agentId}`);
386
- } catch (error) {
387
- console.log(` ⚠️ Could not terminate ${agentId}`);
388
- }
389
- });
390
-
391
- // Cleanup temp files
392
- try {
393
- const tempFiles = [
394
- '/dev/shm/ai-coordinator-*-instructions.txt',
395
- '/dev/shm/ai-coordinator-*-messages.log'
396
- ];
397
-
398
- for (const pattern of tempFiles) {
399
- const { execSync } = await import('child_process');
400
- try {
401
- execSync(`rm -f ${pattern}`);
402
- } catch (error) {
403
- // Ignore cleanup errors
404
- }
405
- }
406
- } catch (error) {
407
- // Ignore cleanup errors
408
- }
409
-
410
- console.log('✅ Cleanup complete');
411
- }
412
- }
413
-
414
- // Run the AI mesh coordinator test
415
- const aiMesh = new AIMeshCoordinator();
416
- aiMesh.start().catch(console.error);
@@ -1,274 +0,0 @@
1
- #!/usr/bin/env deno run --allow-net --allow-read
2
-
3
- /**
4
- * Documentation Link Checker
5
- * Scans documentation files for broken links
6
- */
7
-
8
- import { walk } from "https://deno.land/std@0.220.0/fs/mod.ts";
9
-
10
- interface LinkCheckResult {
11
- file: string;
12
- url: string;
13
- status: 'ok' | 'broken' | 'timeout' | 'error';
14
- statusCode?: number;
15
- error?: string;
16
- }
17
-
18
- interface ScanResult {
19
- totalFiles: number;
20
- totalLinks: number;
21
- brokenLinks: LinkCheckResult[];
22
- timeouts: LinkCheckResult[];
23
- errors: LinkCheckResult[];
24
- }
25
-
26
- const TIMEOUT_MS = 10000; // 10 seconds
27
- const USER_AGENT = 'Claude-Flow Link Checker';
28
- const MAX_CONCURRENT = 10;
29
-
30
- // Links to skip (known to have issues with automated checking)
31
- const SKIP_URLS = new Set([
32
- 'mailto:',
33
- 'tel:',
34
- 'javascript:',
35
- '#',
36
- 'localhost',
37
- '127.0.0.1',
38
- 'example.com',
39
- 'example.org',
40
- ]);
41
-
42
- function extractLinks(content: string): string[] {
43
- const links: string[] = [];
44
-
45
- // Markdown links: [text](url)
46
- const markdownLinkRegex = /\[([^\]]*)\]\(([^)]+)\)/g;
47
- let match;
48
- while ((match = markdownLinkRegex.exec(content)) !== null) {
49
- links.push(match[2]);
50
- }
51
-
52
- // HTML links: <a href="url">
53
- const htmlLinkRegex = /<a[^>]+href\s*=\s*['""]([^'""]+)['""][^>]*>/gi;
54
- while ((match = htmlLinkRegex.exec(content)) !== null) {
55
- links.push(match[1]);
56
- }
57
-
58
- // URL references: [ref]: url
59
- const refLinkRegex = /^\s*\[([^\]]+)\]:\s*(.+)$/gm;
60
- while ((match = refLinkRegex.exec(content)) !== null) {
61
- links.push(match[2]);
62
- }
63
-
64
- return links;
65
- }
66
-
67
- function shouldSkipUrl(url: string): boolean {
68
- // Skip relative links
69
- if (!url.startsWith('http://') && !url.startsWith('https://')) {
70
- return true;
71
- }
72
-
73
- // Skip specific patterns
74
- for (const skipPattern of SKIP_URLS) {
75
- if (url.includes(skipPattern)) {
76
- return true;
77
- }
78
- }
79
-
80
- return false;
81
- }
82
-
83
- async function checkLink(url: string): Promise<{ status: number | null; error?: string }> {
84
- try {
85
- const controller = new AbortController();
86
- const timeoutId = setTimeout(() => controller.abort(), TIMEOUT_MS);
87
-
88
- const response = await fetch(url, {
89
- method: 'HEAD', // Use HEAD to avoid downloading content
90
- signal: controller.signal,
91
- headers: {
92
- 'User-Agent': USER_AGENT,
93
- },
94
- });
95
-
96
- clearTimeout(timeoutId);
97
-
98
- return {
99
- status: response.status,
100
- };
101
- } catch (error) {
102
- if (error instanceof DOMException && error.name === 'AbortError') {
103
- return { status: null, error: 'timeout' };
104
- }
105
-
106
- return {
107
- status: null,
108
- error: error.message,
109
- };
110
- }
111
- }
112
-
113
- async function scanFile(filePath: string): Promise<LinkCheckResult[]> {
114
- const results: LinkCheckResult[] = [];
115
-
116
- try {
117
- const content = await Deno.readTextFile(filePath);
118
- const links = extractLinks(content);
119
-
120
- // Remove duplicates and filter
121
- const uniqueLinks = [...new Set(links)].filter(url => !shouldSkipUrl(url));
122
-
123
- // Check links with concurrency control
124
- const semaphore = new Array(MAX_CONCURRENT).fill(0);
125
- const promises = uniqueLinks.map(async (url) => {
126
- // Wait for available slot
127
- await new Promise<void>((resolve) => {
128
- const checkSlot = () => {
129
- const index = semaphore.findIndex(slot => slot === 0);
130
- if (index !== -1) {
131
- semaphore[index] = 1;
132
- resolve();
133
- } else {
134
- setTimeout(checkSlot, 100);
135
- }
136
- };
137
- checkSlot();
138
- });
139
-
140
- try {
141
- const { status, error } = await checkLink(url);
142
-
143
- let resultStatus: LinkCheckResult['status'];
144
- if (error === 'timeout') {
145
- resultStatus = 'timeout';
146
- } else if (error) {
147
- resultStatus = 'error';
148
- } else if (status && status >= 200 && status < 400) {
149
- resultStatus = 'ok';
150
- } else {
151
- resultStatus = 'broken';
152
- }
153
-
154
- return {
155
- file: filePath,
156
- url,
157
- status: resultStatus,
158
- statusCode: status || undefined,
159
- error,
160
- };
161
- } finally {
162
- // Release slot
163
- const index = semaphore.findIndex(slot => slot === 1);
164
- if (index !== -1) {
165
- semaphore[index] = 0;
166
- }
167
- }
168
- });
169
-
170
- results.push(...await Promise.all(promises));
171
- } catch (error) {
172
- console.warn(`Failed to scan ${filePath}: ${error.message}`);
173
- }
174
-
175
- return results;
176
- }
177
-
178
- async function main(): Promise<void> {
179
- console.log('Checking documentation links...\n');
180
-
181
- const results: LinkCheckResult[] = [];
182
- let fileCount = 0;
183
-
184
- // Scan markdown and HTML files
185
- const extensions = ['.md', '.html', '.htm'];
186
- const directories = ['./docs', './README.md', './examples'];
187
-
188
- for (const dir of directories) {
189
- try {
190
- const stat = await Deno.stat(dir);
191
- if (stat.isFile) {
192
- // Single file
193
- const fileResults = await scanFile(dir);
194
- results.push(...fileResults);
195
- fileCount++;
196
- } else if (stat.isDirectory) {
197
- // Directory
198
- for await (const entry of walk(dir, { exts: extensions })) {
199
- if (entry.isFile) {
200
- const fileResults = await scanFile(entry.path);
201
- results.push(...fileResults);
202
- fileCount++;
203
- }
204
- }
205
- }
206
- } catch (error) {
207
- if (!(error instanceof Deno.errors.NotFound)) {
208
- console.warn(`Failed to process ${dir}: ${error.message}`);
209
- }
210
- }
211
- }
212
-
213
- // Analyze results
214
- const scanResult: ScanResult = {
215
- totalFiles: fileCount,
216
- totalLinks: results.length,
217
- brokenLinks: results.filter(r => r.status === 'broken'),
218
- timeouts: results.filter(r => r.status === 'timeout'),
219
- errors: results.filter(r => r.status === 'error'),
220
- };
221
-
222
- // Report results
223
- console.log(`📊 Scan Summary:`);
224
- console.log(` Files scanned: ${scanResult.totalFiles}`);
225
- console.log(` Links checked: ${scanResult.totalLinks}`);
226
- console.log(` Broken links: ${scanResult.brokenLinks.length}`);
227
- console.log(` Timeouts: ${scanResult.timeouts.length}`);
228
- console.log(` Errors: ${scanResult.errors.length}\n`);
229
-
230
- // Report broken links
231
- if (scanResult.brokenLinks.length > 0) {
232
- console.log('❌ Broken Links:');
233
- for (const result of scanResult.brokenLinks) {
234
- console.log(` ${result.file}: ${result.url} (${result.statusCode})`);
235
- }
236
- console.log('');
237
- }
238
-
239
- // Report timeouts
240
- if (scanResult.timeouts.length > 0) {
241
- console.log('⏱️ Timeouts:');
242
- for (const result of scanResult.timeouts) {
243
- console.log(` ${result.file}: ${result.url}`);
244
- }
245
- console.log('');
246
- }
247
-
248
- // Report other errors
249
- if (scanResult.errors.length > 0) {
250
- console.log('⚠️ Errors:');
251
- for (const result of scanResult.errors) {
252
- console.log(` ${result.file}: ${result.url} (${result.error})`);
253
- }
254
- console.log('');
255
- }
256
-
257
- // Summary
258
- const totalIssues = scanResult.brokenLinks.length + scanResult.timeouts.length + scanResult.errors.length;
259
-
260
- if (totalIssues === 0) {
261
- console.log('✅ All links are working!');
262
- } else {
263
- console.error(`❌ Found ${totalIssues} link issues!`);
264
-
265
- // Don't fail CI for timeouts or minor errors, only broken links
266
- if (scanResult.brokenLinks.length > 0) {
267
- Deno.exit(1);
268
- }
269
- }
270
- }
271
-
272
- if (import.meta.main) {
273
- await main();
274
- }