claude-flow-novice 2.3.4 ā 2.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/booster/performance-benchmark.js +1 -1
- package/dist/src/booster/wasm-demo.js +1 -1
- package/dist/src/cli/command-registry.js +2 -2
- package/dist/src/cli/help-formatter.js +137 -109
- package/dist/src/cli/simple-cli.js +2528 -2121
- package/dist/src/cli/simple-commands/sparc/refinement.js +3 -3
- package/dist/src/cli/validation-helper.js +98 -49
- package/dist/src/commands/suggest-templates.js +4 -4
- package/dist/src/core/version.js +23 -15
- package/dist/src/memory/swarm-memory.js +603 -470
- package/dist/src/slash-commands/fullstack.js +2 -2
- package/dist/src/slash-commands/parse-epic.js +1 -1
- package/package.json +1 -1
- package/scripts/postinstall.js +41 -31
- package/dist/scripts/.claude-flow/metrics/agent-metrics.json +0 -1
- package/dist/scripts/.claude-flow/metrics/performance.json +0 -9
- package/dist/scripts/.claude-flow/metrics/task-metrics.json +0 -10
- package/dist/scripts/CLEANUP_OPTIMIZATION_REPORT.json +0 -312
- package/dist/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +0 -387
- package/dist/scripts/CLEANUP_QUICK_START.md +0 -268
- package/dist/scripts/CLEANUP_TEST_RESULTS.md +0 -205
- package/dist/scripts/README.md +0 -339
- package/dist/scripts/ace-query.sh +0 -384
- package/dist/scripts/agent-token-analysis.js +0 -430
- package/dist/scripts/auto-setup.js +0 -332
- package/dist/scripts/build/README.md +0 -167
- package/dist/scripts/build/build-config.js +0 -27
- package/dist/scripts/build/build-prompt-copier.sh +0 -30
- package/dist/scripts/build/performance-monitor.js +0 -869
- package/dist/scripts/build/prepare-publish.js +0 -150
- package/dist/scripts/build/typescript-fixer.js +0 -621
- package/dist/scripts/build/unified-builder.sh +0 -428
- package/dist/scripts/build/update-bin-version.js +0 -32
- package/dist/scripts/build/validate-agents.js +0 -238
- package/dist/scripts/build-index.js +0 -43
- package/dist/scripts/build-orchestrator.js +0 -320
- package/dist/scripts/check-routing-stats.cjs +0 -122
- package/dist/scripts/ci-validation.js +0 -375
- package/dist/scripts/cleanup-blocking-coordination.sh +0 -420
- package/dist/scripts/cleanup-idle-sessions.sh +0 -118
- package/dist/scripts/collect-build-metrics.js +0 -65
- package/dist/scripts/demo/README.md +0 -79
- package/dist/scripts/demo/autoscaling-demo-simplified.js +0 -963
- package/dist/scripts/demo/comprehensive-dashboard-test.js +0 -693
- package/dist/scripts/demo/confidence-log.js +0 -87
- package/dist/scripts/demo/confidence-report.js +0 -82
- package/dist/scripts/demo/demo-multi-swarm-coordination.js +0 -325
- package/dist/scripts/demo/demo-production-deployment.js +0 -399
- package/dist/scripts/demo/demo-visualization-system.js +0 -149
- package/dist/scripts/demo/performance-analysis.cjs +0 -71
- package/dist/scripts/demo/performance-analysis.js +0 -71
- package/dist/scripts/demo/test-autoscaling-demo.js +0 -314
- package/dist/scripts/dependency-optimizer.js +0 -349
- package/dist/scripts/dependency-security-assessment.js +0 -331
- package/dist/scripts/deploy-sdk.sh +0 -176
- package/dist/scripts/deployment-readiness-report.json +0 -179
- package/dist/scripts/dev/README.md +0 -264
- package/dist/scripts/dev/claude-flow-wrapper.sh +0 -35
- package/dist/scripts/dev/claude-monitor.py +0 -419
- package/dist/scripts/dev/claude-sparc.sh +0 -562
- package/dist/scripts/dev/claude-wrapper.sh +0 -17
- package/dist/scripts/dev/demo-phase3-compliance.js +0 -172
- package/dist/scripts/dev/demo-task-system.ts +0 -224
- package/dist/scripts/dev/deployment-validator.js +0 -315
- package/dist/scripts/dev/spawn-claude-terminal.sh +0 -32
- package/dist/scripts/dev/start-portal.sh +0 -506
- package/dist/scripts/dev/start-web-ui.js +0 -15
- package/dist/scripts/dev/stop-portal.sh +0 -311
- package/dist/scripts/dev/validate-examples.ts +0 -288
- package/dist/scripts/dev/validate-phase2.cjs +0 -451
- package/dist/scripts/dev/validate-phase2.js +0 -785
- package/dist/scripts/dev/validate-phase3.cjs +0 -208
- package/dist/scripts/dev/validate-security-remediation.js +0 -1
- package/dist/scripts/ecosystem.config.cjs +0 -90
- package/dist/scripts/enhanced-memory-spiral-killer.sh +0 -221
- package/dist/scripts/fix-js-extensions.js +0 -167
- package/dist/scripts/generate-basic-types.js +0 -73
- package/dist/scripts/generate-changelog.js +0 -318
- package/dist/scripts/git-hooks/pre-commit.sh +0 -143
- package/dist/scripts/health-checks.js +0 -634
- package/dist/scripts/hook-wrapper.sh +0 -54
- package/dist/scripts/install/README.md +0 -375
- package/dist/scripts/install/REDIS_SETUP_VALIDATION.json +0 -245
- package/dist/scripts/install/check-prerequisites.js +0 -303
- package/dist/scripts/install/config-wizard.js +0 -606
- package/dist/scripts/install/dependency-checker.js +0 -385
- package/dist/scripts/install/health-check.js +0 -765
- package/dist/scripts/install/install.js +0 -256
- package/dist/scripts/install/installation-benchmark.js +0 -461
- package/dist/scripts/install/quick-install.js +0 -720
- package/dist/scripts/install/quick-start-wizard.js +0 -295
- package/dist/scripts/install/redis-cli.js +0 -289
- package/dist/scripts/install/redis-install-guides.md +0 -407
- package/dist/scripts/install/redis-setup.js +0 -559
- package/dist/scripts/install/redis-test.js +0 -278
- package/dist/scripts/install/service-manager.js +0 -672
- package/dist/scripts/install/setup.js +0 -832
- package/dist/scripts/install/uninstall.js +0 -526
- package/dist/scripts/install/update.js +0 -461
- package/dist/scripts/install-pre-commit-hook.sh +0 -127
- package/dist/scripts/legacy/README.md +0 -272
- package/dist/scripts/legacy/batch-fix-ts.sh +0 -54
- package/dist/scripts/legacy/build-migration.sh +0 -105
- package/dist/scripts/legacy/build-monitor.js +0 -209
- package/dist/scripts/legacy/build-with-filter.sh +0 -84
- package/dist/scripts/legacy/build-workaround.sh +0 -71
- package/dist/scripts/legacy/fix-ts-advanced.js +0 -358
- package/dist/scripts/legacy/fix-ts-final.sh +0 -50
- package/dist/scripts/legacy/fix-ts-targeted.sh +0 -49
- package/dist/scripts/legacy/fix-typescript-errors.js +0 -305
- package/dist/scripts/legacy/force-build.sh +0 -63
- package/dist/scripts/legacy/optimize-performance.js +0 -400
- package/dist/scripts/legacy/performance-monitor.js +0 -263
- package/dist/scripts/legacy/performance-monitoring.js +0 -532
- package/dist/scripts/legacy/performance-test-runner.js +0 -645
- package/dist/scripts/legacy/quick-fix-ts.js +0 -281
- package/dist/scripts/legacy/safe-build.sh +0 -63
- package/dist/scripts/memory-monitor-coordinator.js +0 -451
- package/dist/scripts/migrate-to-sdk.sh +0 -520
- package/dist/scripts/migration/QUICK-START.md +0 -189
- package/dist/scripts/migration/QUICK-START.md.backup-1760135091363 +0 -189
- package/dist/scripts/migration/README.md +0 -464
- package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +0 -500
- package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +0 -500
- package/dist/scripts/migration/UPDATE-PATHS-README.md +0 -464
- package/dist/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +0 -464
- package/dist/scripts/migration/example-patterns.json +0 -19
- package/dist/scripts/migration/install-arm64.js +0 -78
- package/dist/scripts/migration/install.js +0 -83
- package/dist/scripts/migration/migrate-hooks.js +0 -173
- package/dist/scripts/migration/migration-examples.ts +0 -318
- package/dist/scripts/migration/reorganize-workspace.js +0 -504
- package/dist/scripts/migration/test-update-paths.js +0 -359
- package/dist/scripts/migration/update-paths.js +0 -664
- package/dist/scripts/migration/validate-migration.js +0 -647
- package/dist/scripts/monitor-loop.sh +0 -65
- package/dist/scripts/monitor-memory.sh +0 -47
- package/dist/scripts/monitor-migration.js +0 -339
- package/dist/scripts/monitor.py +0 -43
- package/dist/scripts/monitoring/README.md +0 -178
- package/dist/scripts/monitoring/alert-monitor.sh +0 -220
- package/dist/scripts/monitoring/analyze-resources.sh +0 -199
- package/dist/scripts/monitoring/dashboards/rate-limiting-dashboard.json +0 -211
- package/dist/scripts/monitoring/dynamic-monitor.sh +0 -85
- package/dist/scripts/monitoring/launch-stability-test.sh +0 -184
- package/dist/scripts/monitoring/monitor-test.sh +0 -93
- package/dist/scripts/monitoring/pre-test-validation.sh +0 -208
- package/dist/scripts/monitoring/quick-test-alerting.sh +0 -118
- package/dist/scripts/monitoring/quick-test-rate-limiting.sh +0 -206
- package/dist/scripts/monitoring/rate-limiting-monitor.sh +0 -380
- package/dist/scripts/monitoring/resource-monitor.sh +0 -126
- package/dist/scripts/monitoring/stability-monitor.js +0 -429
- package/dist/scripts/monitoring/test-monitor-quick.sh +0 -54
- package/dist/scripts/monitoring/view-alerts.sh +0 -307
- package/dist/scripts/npm-metrics-collector.js +0 -482
- package/dist/scripts/npm-package-validation.cjs +0 -299
- package/dist/scripts/optimization/build-optimizer.js +0 -438
- package/dist/scripts/optimization/config-validator.js +0 -761
- package/dist/scripts/optimization/test-optimization.js +0 -432
- package/dist/scripts/optimization/unified-activation.js +0 -839
- package/dist/scripts/optimize-package-swarm.js +0 -54
- package/dist/scripts/performance/ACTIVATION_COMMANDS.md +0 -292
- package/dist/scripts/performance/sqlite-enhanced-activation.sh +0 -583
- package/dist/scripts/performance/test-enhanced-backend.sh +0 -504
- package/dist/scripts/performance-monitor.js +0 -644
- package/dist/scripts/performance-test-runner.js +0 -698
- package/dist/scripts/post-deployment-monitoring.js +0 -350
- package/dist/scripts/post-edit-pipeline.js +0 -2091
- package/dist/scripts/post-install-claude-md.js +0 -78
- package/dist/scripts/postinstall.js +0 -84
- package/dist/scripts/pre-publish-validation.cjs +0 -212
- package/dist/scripts/pre-publish-validation.js +0 -429
- package/dist/scripts/redis-lua/cleanup-blocking-coordination.lua +0 -198
- package/dist/scripts/release-announcement.js +0 -425
- package/dist/scripts/release-notification.js +0 -248
- package/dist/scripts/release-rollback.js +0 -376
- package/dist/scripts/release-validation.js +0 -460
- package/dist/scripts/rollback-sdk.sh +0 -66
- package/dist/scripts/run-production-validation.ts +0 -590
- package/dist/scripts/run-stability-validation.sh +0 -687
- package/dist/scripts/security/README.md +0 -339
- package/dist/scripts/security/deployment-validation.cjs +0 -279
- package/dist/scripts/security/envelope-encryption-confidence-report.cjs +0 -422
- package/dist/scripts/security/install-git-hooks.sh +0 -132
- package/dist/scripts/security/install-git-secrets.sh +0 -295
- package/dist/scripts/security/rotate-api-keys.js +0 -469
- package/dist/scripts/security/ruv-swarm-safe.js +0 -74
- package/dist/scripts/security/security-audit.cjs +0 -538
- package/dist/scripts/security/setup-redis-auth.sh +0 -397
- package/dist/scripts/security/validate-envelope-encryption.cjs +0 -340
- package/dist/scripts/security-scan.js +0 -492
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +0 -1
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/performance.json +0 -9
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +0 -10
- package/dist/scripts/switch-api.sh +0 -159
- package/dist/scripts/sync-agents.js +0 -290
- package/dist/scripts/test/50-agent-test.js +0 -625
- package/dist/scripts/test/NEW_STABILITY_TEST_GUIDE.md +0 -407
- package/dist/scripts/test/README.md +0 -236
- package/dist/scripts/test/STABILITY_TEST_EXAMPLE.md +0 -347
- package/dist/scripts/test/STABILITY_TEST_README.md +0 -480
- package/dist/scripts/test/agent-worker.js +0 -309
- package/dist/scripts/test/ai-coordination-test.js +0 -650
- package/dist/scripts/test/ai-mesh-coordination-test.js +0 -416
- package/dist/scripts/test/check-links.ts +0 -274
- package/dist/scripts/test/check-performance-regression.ts +0 -168
- package/dist/scripts/test/cli-agent-coordination-test.js +0 -313
- package/dist/scripts/test/coordinator-multilingual-test.js +0 -396
- package/dist/scripts/test/coordinator-transparency-demo.js +0 -585
- package/dist/scripts/test/coverage-report.ts +0 -692
- package/dist/scripts/test/generate-swarm-tests.js +0 -633
- package/dist/scripts/test/integration-test-validation.cjs +0 -253
- package/dist/scripts/test/load-test-swarm.js +0 -576
- package/dist/scripts/test/mesh-coordination-zero-overlap-test.js +0 -740
- package/dist/scripts/test/multilingual-hello-world-test.js +0 -390
- package/dist/scripts/test/quick-multilingual-demo.js +0 -464
- package/dist/scripts/test/real-agent-test.js +0 -312
- package/dist/scripts/test/run-phase3-compliance-tests.js +0 -427
- package/dist/scripts/test/run-stability-test-examples.sh +0 -292
- package/dist/scripts/test/stability-results/stability-metrics.jsonl +0 -83
- package/dist/scripts/test/stability-results/stability-test-report.json +0 -128
- package/dist/scripts/test/stability-results/stability-test.log +0 -1827
- package/dist/scripts/test/stability-test-50-agents.js +0 -734
- package/dist/scripts/test/test-batch-tasks.ts +0 -29
- package/dist/scripts/test/test-byzantine-resolution.js +0 -246
- package/dist/scripts/test/test-claude-spawn-options.sh +0 -63
- package/dist/scripts/test/test-cli-wizard.js +0 -331
- package/dist/scripts/test/test-comprehensive.js +0 -401
- package/dist/scripts/test/test-coordination-features.ts +0 -238
- package/dist/scripts/test/test-fallback-systems.js +0 -276
- package/dist/scripts/test/test-init-command.ts +0 -302
- package/dist/scripts/test/test-mcp.ts +0 -251
- package/dist/scripts/test/test-runner.ts +0 -568
- package/dist/scripts/test/test-swarm-integration.sh +0 -92
- package/dist/scripts/test/test-swarm.ts +0 -142
- package/dist/scripts/test/validation-summary.ts +0 -408
- package/dist/scripts/test-cleanup-performance.sh +0 -416
- package/dist/scripts/test-dashboard-auth.cjs +0 -203
- package/dist/scripts/test-docker-deployment.sh +0 -207
- package/dist/scripts/test-npm-package.cjs +0 -167
- package/dist/scripts/test-provider-routing.cjs +0 -226
- package/dist/scripts/test-routing-telemetry.cjs +0 -147
- package/dist/scripts/test-runner.cjs +0 -154
- package/dist/scripts/test-zai-10k.cjs +0 -81
- package/dist/scripts/test-zai-api.cjs +0 -191
- package/dist/scripts/test-zai-diagnostic.cjs +0 -151
- package/dist/scripts/test-zai-final.cjs +0 -128
- package/dist/scripts/test-zai-with-env.cjs +0 -85
- package/dist/scripts/toggle-cost-savings.cjs +0 -302
- package/dist/scripts/unified-memory-monitor.js +0 -526
- package/dist/scripts/utils/README.md +0 -261
- package/dist/scripts/utils/clean-build-artifacts.sh +0 -94
- package/dist/scripts/utils/cleanup-root.sh +0 -69
- package/dist/scripts/utils/fix-cliffy-imports.js +0 -307
- package/dist/scripts/utils/fix-duplicate-imports.js +0 -114
- package/dist/scripts/utils/fix-error-handling.cjs +0 -70
- package/dist/scripts/utils/fix-import-paths.js +0 -104
- package/dist/scripts/utils/fix-imports.js +0 -116
- package/dist/scripts/utils/fix-shebang.js +0 -78
- package/dist/scripts/utils/fix-test-modules.js +0 -27
- package/dist/scripts/utils/fix-timezone-issue-246.js +0 -200
- package/dist/scripts/utils/fix-ts-comprehensive.py +0 -182
- package/dist/scripts/utils/fix-ts-targeted-batch.js +0 -250
- package/dist/scripts/utils/remove-benchmark-conflicts.sh +0 -140
- package/dist/scripts/utils/simple-test-fixer.js +0 -190
- package/dist/scripts/utils/validate-metrics-structure.cjs +0 -144
- package/dist/scripts/validate-agent-hooks.js +0 -506
- package/dist/scripts/validate-changelog.js +0 -241
- package/dist/scripts/validate-coordination-cli.js +0 -69
- package/dist/scripts/validate-coordination-toggle-integration.cjs +0 -501
- package/dist/scripts/validate-docker-infrastructure.sh +0 -502
- package/dist/scripts/validate-entry-points.js +0 -300
- package/dist/scripts/validate-memory-monitoring.sh +0 -225
- package/dist/scripts/validate-stage3-performance.ts +0 -377
- package/dist/scripts/validate-template-bundling.js +0 -180
- package/dist/scripts/validation/README.md +0 -33
- package/dist/scripts/validation/acl-security-validation.cjs +0 -214
- package/dist/scripts/validation/acl-security-validation.js +0 -402
- package/dist/scripts/validation/byzantine-verification.js +0 -407
- package/dist/scripts/validation/final-phase-2-consensus.cjs +0 -219
- package/dist/scripts/validation/final-security-validation.js +0 -791
- package/dist/scripts/validation/final-wasm-validation.cjs +0 -840
- package/dist/scripts/validation/integration-test-analysis.js +0 -105
- package/dist/scripts/validation/phase-0-comprehensive-validation.js +0 -474
- package/dist/scripts/validation/phase-0-consensus-report.js +0 -139
- package/dist/scripts/validation/phase-0-final-report.js +0 -112
- package/dist/scripts/validation/phase-0-redis-consensus-report.js +0 -129
- package/dist/scripts/validation/phase-0-validation-improved.js +0 -490
- package/dist/scripts/validation/phase-0-validation-test.js +0 -65
- package/dist/scripts/validation/phase-1-consensus-report.cjs +0 -342
- package/dist/scripts/validation/phase-1-consensus-validation.cjs +0 -551
- package/dist/scripts/validation/phase-1-consensus-validation.js +0 -551
- package/dist/scripts/validation/phase-2-consensus-report.cjs +0 -186
- package/dist/scripts/validation/phase-2-validation.cjs +0 -171
- package/dist/scripts/validation/phase-2-validation.js +0 -171
- package/dist/scripts/validation/phase-4-consensus-report.js +0 -181
- package/dist/scripts/validation/phase-4-final-validation.js +0 -351
- package/dist/scripts/validation/phase-5-consensus-report.cjs +0 -113
- package/dist/scripts/validation/phase-5-consensus-report.js +0 -113
- package/dist/scripts/validation/security-analysis.js +0 -49
- package/dist/scripts/validation/security-validation.js +0 -492
- package/dist/scripts/validation/simple-security-validation.js +0 -464
- package/dist/scripts/verify-installation.js +0 -112
- package/dist/scripts/verify-mcp-server.js +0 -86
- package/dist/scripts/verify-sdk-phase1.cjs +0 -293
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
|
@@ -1,647 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Migration Validation Script
|
|
5
|
-
*
|
|
6
|
-
* Validates successful migration by checking:
|
|
7
|
-
* - File movement verification
|
|
8
|
-
* - Broken symlink detection
|
|
9
|
-
* - Git status validation
|
|
10
|
-
* - Build process test
|
|
11
|
-
* - Test suite execution
|
|
12
|
-
* - Docker build validation
|
|
13
|
-
* - Configuration file syntax
|
|
14
|
-
* - Path reference verification
|
|
15
|
-
*
|
|
16
|
-
* Usage:
|
|
17
|
-
* node scripts/migration/validate-migration.js [options]
|
|
18
|
-
*
|
|
19
|
-
* Options:
|
|
20
|
-
* --json Output results in JSON format
|
|
21
|
-
* --verbose Show detailed output
|
|
22
|
-
* --skip-build Skip build validation
|
|
23
|
-
* --skip-test Skip test suite validation
|
|
24
|
-
* --skip-docker Skip Docker build validation
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
import fs from 'fs/promises';
|
|
28
|
-
import path from 'path';
|
|
29
|
-
import { fileURLToPath } from 'url';
|
|
30
|
-
import { execSync } from 'child_process';
|
|
31
|
-
|
|
32
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
33
|
-
const projectRoot = path.resolve(__dirname, '../..');
|
|
34
|
-
|
|
35
|
-
// Parse command line arguments
|
|
36
|
-
const args = process.argv.slice(2);
|
|
37
|
-
const options = {
|
|
38
|
-
json: args.includes('--json'),
|
|
39
|
-
verbose: args.includes('--verbose'),
|
|
40
|
-
skipBuild: args.includes('--skip-build'),
|
|
41
|
-
skipTest: args.includes('--skip-test'),
|
|
42
|
-
skipDocker: args.includes('--skip-docker')
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
// Validation results
|
|
46
|
-
const results = {
|
|
47
|
-
timestamp: new Date().toISOString(),
|
|
48
|
-
overall: 'pending',
|
|
49
|
-
checks: {},
|
|
50
|
-
errors: [],
|
|
51
|
-
warnings: []
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// Expected file structure after migration
|
|
55
|
-
const expectedFiles = [
|
|
56
|
-
'.claude-flow-novice/dist/src/cli/main.js',
|
|
57
|
-
'.claude-flow-novice/dist/src/index.js',
|
|
58
|
-
'.claude-flow-novice/dist/src/mcp/mcp-server-sdk.js',
|
|
59
|
-
'.claude-flow-novice/dist/src/core/index.js',
|
|
60
|
-
'package.json',
|
|
61
|
-
'Dockerfile',
|
|
62
|
-
'.dockerignore',
|
|
63
|
-
'config/jest/jest.config.js',
|
|
64
|
-
'config/linting/.eslintrc.json',
|
|
65
|
-
'config/typescript/tsconfig.json'
|
|
66
|
-
];
|
|
67
|
-
|
|
68
|
-
// Old paths that should not exist in code references
|
|
69
|
-
const deprecatedPaths = [
|
|
70
|
-
'dist/src',
|
|
71
|
-
'dist/mcp',
|
|
72
|
-
'dist/cli',
|
|
73
|
-
'./dist/',
|
|
74
|
-
'"dist/',
|
|
75
|
-
'\'dist/',
|
|
76
|
-
'from "dist',
|
|
77
|
-
'from \'dist',
|
|
78
|
-
'require("dist',
|
|
79
|
-
'require(\'dist'
|
|
80
|
-
];
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Log output based on format preference
|
|
84
|
-
*/
|
|
85
|
-
function log(message, type = 'info') {
|
|
86
|
-
if (options.json) return; // Suppress console output in JSON mode
|
|
87
|
-
|
|
88
|
-
const icons = {
|
|
89
|
-
info: 'ā¹ļø',
|
|
90
|
-
success: 'ā
',
|
|
91
|
-
error: 'ā',
|
|
92
|
-
warning: 'ā ļø',
|
|
93
|
-
check: 'š'
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
console.log(`${icons[type] || ''} ${message}`);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Execute command with error handling
|
|
101
|
-
*/
|
|
102
|
-
function execCommand(command, description, timeoutMs = 30000) {
|
|
103
|
-
try {
|
|
104
|
-
const output = execSync(command, {
|
|
105
|
-
cwd: projectRoot,
|
|
106
|
-
encoding: 'utf8',
|
|
107
|
-
stdio: options.verbose ? 'inherit' : 'pipe',
|
|
108
|
-
maxBuffer: 10 * 1024 * 1024, // 10MB buffer
|
|
109
|
-
timeout: timeoutMs
|
|
110
|
-
});
|
|
111
|
-
return { success: true, output };
|
|
112
|
-
} catch (error) {
|
|
113
|
-
return {
|
|
114
|
-
success: false,
|
|
115
|
-
error: error.message,
|
|
116
|
-
output: error.stdout || error.stderr || ''
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Check if file exists
|
|
123
|
-
*/
|
|
124
|
-
async function fileExists(filePath) {
|
|
125
|
-
try {
|
|
126
|
-
await fs.access(path.join(projectRoot, filePath));
|
|
127
|
-
return true;
|
|
128
|
-
} catch {
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Validation: File Movement Verification
|
|
135
|
-
*/
|
|
136
|
-
async function validateFileMovement() {
|
|
137
|
-
log('Checking file movement...', 'check');
|
|
138
|
-
|
|
139
|
-
const check = {
|
|
140
|
-
name: 'File Movement',
|
|
141
|
-
status: 'pass',
|
|
142
|
-
details: {
|
|
143
|
-
expected: expectedFiles.length,
|
|
144
|
-
found: 0,
|
|
145
|
-
missing: []
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
for (const file of expectedFiles) {
|
|
150
|
-
const exists = await fileExists(file);
|
|
151
|
-
if (exists) {
|
|
152
|
-
check.details.found++;
|
|
153
|
-
if (options.verbose) log(` ā Found: ${file}`, 'info');
|
|
154
|
-
} else {
|
|
155
|
-
check.details.missing.push(file);
|
|
156
|
-
if (options.verbose) log(` ā Missing: ${file}`, 'warning');
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (check.details.missing.length > 0) {
|
|
161
|
-
check.status = 'fail';
|
|
162
|
-
results.errors.push(`Missing ${check.details.missing.length} expected files`);
|
|
163
|
-
} else {
|
|
164
|
-
log('All expected files found', 'success');
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
results.checks.fileMovement = check;
|
|
168
|
-
return check.status === 'pass';
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Validation: Broken Symlink Detection
|
|
173
|
-
*/
|
|
174
|
-
async function validateSymlinks() {
|
|
175
|
-
log('Checking for broken symlinks...', 'check');
|
|
176
|
-
|
|
177
|
-
const check = {
|
|
178
|
-
name: 'Symlink Validation',
|
|
179
|
-
status: 'pass',
|
|
180
|
-
details: {
|
|
181
|
-
brokenLinks: []
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
// Find broken symlinks only (more efficient - L flag finds broken links)
|
|
186
|
-
// Limit search depth to avoid long scans
|
|
187
|
-
const result = execCommand(
|
|
188
|
-
'find . -maxdepth 5 -xtype l ! -path "./node_modules/*" ! -path "./.git/*" 2>/dev/null || true',
|
|
189
|
-
'Finding broken symlinks',
|
|
190
|
-
10000 // 10 second timeout
|
|
191
|
-
);
|
|
192
|
-
|
|
193
|
-
if (result.success && result.output && result.output.trim()) {
|
|
194
|
-
const symlinks = result.output.trim().split('\n').filter(Boolean);
|
|
195
|
-
check.details.brokenLinks = symlinks;
|
|
196
|
-
|
|
197
|
-
if (options.verbose) {
|
|
198
|
-
symlinks.forEach(link => log(` ā Broken symlink: ${link}`, 'warning'));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (check.details.brokenLinks.length > 0) {
|
|
203
|
-
check.status = 'fail';
|
|
204
|
-
results.errors.push(`Found ${check.details.brokenLinks.length} broken symlinks`);
|
|
205
|
-
} else {
|
|
206
|
-
log('No broken symlinks found', 'success');
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
results.checks.symlinks = check;
|
|
210
|
-
return check.status === 'pass';
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Validation: Git Status
|
|
215
|
-
*/
|
|
216
|
-
async function validateGitStatus() {
|
|
217
|
-
log('Checking git status...', 'check');
|
|
218
|
-
|
|
219
|
-
const check = {
|
|
220
|
-
name: 'Git Status',
|
|
221
|
-
status: 'pass',
|
|
222
|
-
details: {
|
|
223
|
-
clean: false,
|
|
224
|
-
untracked: [],
|
|
225
|
-
modified: [],
|
|
226
|
-
deleted: []
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
const result = execCommand('git status --porcelain', 'Checking git status');
|
|
231
|
-
|
|
232
|
-
if (result.success) {
|
|
233
|
-
const status = result.output.trim();
|
|
234
|
-
|
|
235
|
-
if (status === '') {
|
|
236
|
-
check.details.clean = true;
|
|
237
|
-
log('Git working tree is clean', 'success');
|
|
238
|
-
} else {
|
|
239
|
-
const lines = status.split('\n');
|
|
240
|
-
for (const line of lines) {
|
|
241
|
-
const type = line.substring(0, 2).trim();
|
|
242
|
-
const file = line.substring(3);
|
|
243
|
-
|
|
244
|
-
if (type === '??') check.details.untracked.push(file);
|
|
245
|
-
else if (type === 'M' || type === 'MM') check.details.modified.push(file);
|
|
246
|
-
else if (type === 'D') check.details.deleted.push(file);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
// Only warn if there are unexpected changes (deleted files might be expected)
|
|
250
|
-
if (check.details.modified.length > 0) {
|
|
251
|
-
results.warnings.push(`Git has ${check.details.modified.length} modified files`);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
if (options.verbose) {
|
|
255
|
-
log(` Untracked: ${check.details.untracked.length}`, 'info');
|
|
256
|
-
log(` Modified: ${check.details.modified.length}`, 'info');
|
|
257
|
-
log(` Deleted: ${check.details.deleted.length}`, 'info');
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
} else {
|
|
261
|
-
check.status = 'skip';
|
|
262
|
-
results.warnings.push('Git status check skipped (not a git repository)');
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
results.checks.gitStatus = check;
|
|
266
|
-
return check.status !== 'fail';
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Validation: Build Process
|
|
271
|
-
*/
|
|
272
|
-
async function validateBuild() {
|
|
273
|
-
if (options.skipBuild) {
|
|
274
|
-
log('Skipping build validation', 'info');
|
|
275
|
-
results.checks.build = { name: 'Build Process', status: 'skip' };
|
|
276
|
-
return true;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
log('Testing build process...', 'check');
|
|
280
|
-
|
|
281
|
-
const check = {
|
|
282
|
-
name: 'Build Process',
|
|
283
|
-
status: 'pass',
|
|
284
|
-
details: {
|
|
285
|
-
success: false,
|
|
286
|
-
duration: 0,
|
|
287
|
-
output: ''
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
const startTime = Date.now();
|
|
292
|
-
const result = execCommand('npm run build', 'Running npm build');
|
|
293
|
-
check.details.duration = Date.now() - startTime;
|
|
294
|
-
|
|
295
|
-
if (result.success) {
|
|
296
|
-
check.details.success = true;
|
|
297
|
-
log(`Build completed successfully in ${check.details.duration}ms`, 'success');
|
|
298
|
-
} else {
|
|
299
|
-
check.status = 'fail';
|
|
300
|
-
check.details.output = result.output;
|
|
301
|
-
results.errors.push('Build process failed');
|
|
302
|
-
log('Build process failed', 'error');
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
results.checks.build = check;
|
|
306
|
-
return check.status === 'pass';
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* Validation: Test Suite
|
|
311
|
-
*/
|
|
312
|
-
async function validateTests() {
|
|
313
|
-
if (options.skipTest) {
|
|
314
|
-
log('Skipping test validation', 'info');
|
|
315
|
-
results.checks.tests = { name: 'Test Suite', status: 'skip' };
|
|
316
|
-
return true;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
log('Running test suite...', 'check');
|
|
320
|
-
|
|
321
|
-
const check = {
|
|
322
|
-
name: 'Test Suite',
|
|
323
|
-
status: 'pass',
|
|
324
|
-
details: {
|
|
325
|
-
success: false,
|
|
326
|
-
duration: 0,
|
|
327
|
-
testCount: 0,
|
|
328
|
-
failures: 0
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
const startTime = Date.now();
|
|
333
|
-
const result = execCommand(
|
|
334
|
-
'npm test -- --run --reporter=json 2>&1',
|
|
335
|
-
'Running tests'
|
|
336
|
-
);
|
|
337
|
-
check.details.duration = Date.now() - startTime;
|
|
338
|
-
|
|
339
|
-
if (result.success) {
|
|
340
|
-
check.details.success = true;
|
|
341
|
-
|
|
342
|
-
// Try to parse test results
|
|
343
|
-
try {
|
|
344
|
-
const jsonMatch = result.output.match(/\{[\s\S]*"numTotalTests"[\s\S]*\}/);
|
|
345
|
-
if (jsonMatch) {
|
|
346
|
-
const testResults = JSON.parse(jsonMatch[0]);
|
|
347
|
-
check.details.testCount = testResults.numTotalTests || 0;
|
|
348
|
-
check.details.failures = testResults.numFailedTests || 0;
|
|
349
|
-
}
|
|
350
|
-
} catch {
|
|
351
|
-
// If parsing fails, just mark as success
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
log(`Tests passed in ${check.details.duration}ms`, 'success');
|
|
355
|
-
} else {
|
|
356
|
-
// Allow test failures as warning, not critical error
|
|
357
|
-
check.status = 'warning';
|
|
358
|
-
results.warnings.push('Some tests failed - review test output');
|
|
359
|
-
log('Test suite has failures', 'warning');
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
results.checks.tests = check;
|
|
363
|
-
return check.status !== 'fail';
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* Validation: Docker Build
|
|
368
|
-
*/
|
|
369
|
-
async function validateDocker() {
|
|
370
|
-
if (options.skipDocker) {
|
|
371
|
-
log('Skipping Docker validation', 'info');
|
|
372
|
-
results.checks.docker = { name: 'Docker Build', status: 'skip' };
|
|
373
|
-
return true;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
log('Testing Docker build...', 'check');
|
|
377
|
-
|
|
378
|
-
const check = {
|
|
379
|
-
name: 'Docker Build',
|
|
380
|
-
status: 'pass',
|
|
381
|
-
details: {
|
|
382
|
-
success: false,
|
|
383
|
-
duration: 0,
|
|
384
|
-
imageSize: 0
|
|
385
|
-
}
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
// First check if Docker is available
|
|
389
|
-
const dockerCheck = execCommand('docker --version', 'Checking Docker');
|
|
390
|
-
if (!dockerCheck.success) {
|
|
391
|
-
check.status = 'skip';
|
|
392
|
-
results.warnings.push('Docker not available - skipping Docker build validation');
|
|
393
|
-
results.checks.docker = check;
|
|
394
|
-
return true;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
const startTime = Date.now();
|
|
398
|
-
const result = execCommand(
|
|
399
|
-
'docker build . --no-cache -t claude-flow-novice:validation-test 2>&1',
|
|
400
|
-
'Building Docker image'
|
|
401
|
-
);
|
|
402
|
-
check.details.duration = Date.now() - startTime;
|
|
403
|
-
|
|
404
|
-
if (result.success) {
|
|
405
|
-
check.details.success = true;
|
|
406
|
-
|
|
407
|
-
// Get image size
|
|
408
|
-
const sizeResult = execCommand(
|
|
409
|
-
'docker images claude-flow-novice:validation-test --format "{{.Size}}"',
|
|
410
|
-
'Getting image size'
|
|
411
|
-
);
|
|
412
|
-
if (sizeResult.success) {
|
|
413
|
-
check.details.imageSize = sizeResult.output.trim();
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
// Clean up test image
|
|
417
|
-
execCommand('docker rmi claude-flow-novice:validation-test', 'Cleaning up');
|
|
418
|
-
|
|
419
|
-
log(`Docker build successful (${check.details.imageSize})`, 'success');
|
|
420
|
-
} else {
|
|
421
|
-
check.status = 'fail';
|
|
422
|
-
results.errors.push('Docker build failed');
|
|
423
|
-
log('Docker build failed', 'error');
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
results.checks.docker = check;
|
|
427
|
-
return check.status === 'pass';
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
/**
|
|
431
|
-
* Validation: Configuration Files
|
|
432
|
-
*/
|
|
433
|
-
async function validateConfigurations() {
|
|
434
|
-
log('Validating configuration files...', 'check');
|
|
435
|
-
|
|
436
|
-
const check = {
|
|
437
|
-
name: 'Configuration Validation',
|
|
438
|
-
status: 'pass',
|
|
439
|
-
details: {
|
|
440
|
-
validated: 0,
|
|
441
|
-
invalid: []
|
|
442
|
-
}
|
|
443
|
-
};
|
|
444
|
-
|
|
445
|
-
const configFiles = [
|
|
446
|
-
{ path: 'package.json', type: 'json' },
|
|
447
|
-
{ path: 'config/jest/jest.config.js', type: 'js' },
|
|
448
|
-
{ path: '.dockerignore', type: 'text' },
|
|
449
|
-
{ path: 'Dockerfile', type: 'text' }
|
|
450
|
-
];
|
|
451
|
-
|
|
452
|
-
for (const config of configFiles) {
|
|
453
|
-
const filePath = path.join(projectRoot, config.path);
|
|
454
|
-
|
|
455
|
-
try {
|
|
456
|
-
const content = await fs.readFile(filePath, 'utf8');
|
|
457
|
-
|
|
458
|
-
if (config.type === 'json') {
|
|
459
|
-
JSON.parse(content); // Validate JSON syntax
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
check.details.validated++;
|
|
463
|
-
if (options.verbose) log(` ā Valid: ${config.path}`, 'info');
|
|
464
|
-
} catch (error) {
|
|
465
|
-
check.details.invalid.push({
|
|
466
|
-
file: config.path,
|
|
467
|
-
error: error.message
|
|
468
|
-
});
|
|
469
|
-
if (options.verbose) log(` ā Invalid: ${config.path}`, 'warning');
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
if (check.details.invalid.length > 0) {
|
|
474
|
-
check.status = 'fail';
|
|
475
|
-
results.errors.push(`${check.details.invalid.length} configuration files have syntax errors`);
|
|
476
|
-
} else {
|
|
477
|
-
log('All configuration files valid', 'success');
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
results.checks.configurations = check;
|
|
481
|
-
return check.status === 'pass';
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
/**
|
|
485
|
-
* Validation: Path References
|
|
486
|
-
*/
|
|
487
|
-
async function validatePathReferences() {
|
|
488
|
-
log('Checking for deprecated path references...', 'check');
|
|
489
|
-
|
|
490
|
-
const check = {
|
|
491
|
-
name: 'Path References',
|
|
492
|
-
status: 'pass',
|
|
493
|
-
details: {
|
|
494
|
-
scannedFiles: 0,
|
|
495
|
-
issues: []
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
|
|
499
|
-
// Search for old path references in source files
|
|
500
|
-
const searchDirs = ['src', 'config', 'scripts'];
|
|
501
|
-
|
|
502
|
-
// Combine patterns for a single grep operation (more efficient)
|
|
503
|
-
const combinedPattern = deprecatedPaths.map(p => p.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('\\|');
|
|
504
|
-
const result = execCommand(
|
|
505
|
-
`grep -r -E '${combinedPattern}' ${searchDirs.join(' ')} --include="*.js" --include="*.ts" --include="*.json" 2>/dev/null || true`,
|
|
506
|
-
'Searching for deprecated paths',
|
|
507
|
-
15000 // 15 second timeout
|
|
508
|
-
);
|
|
509
|
-
|
|
510
|
-
if (result.output && result.output.trim()) {
|
|
511
|
-
const matches = result.output.trim().split('\n');
|
|
512
|
-
const fileSet = new Set(matches.map(m => m.split(':')[0]));
|
|
513
|
-
|
|
514
|
-
check.details.issues.push({
|
|
515
|
-
pattern: 'deprecated-paths',
|
|
516
|
-
matches: matches.length,
|
|
517
|
-
files: Array.from(fileSet)
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
if (check.details.issues.length > 0) {
|
|
522
|
-
check.status = 'warning';
|
|
523
|
-
results.warnings.push(`Found ${check.details.issues.length} deprecated path references`);
|
|
524
|
-
|
|
525
|
-
if (options.verbose) {
|
|
526
|
-
for (const issue of check.details.issues) {
|
|
527
|
-
log(` Pattern "${issue.pattern}": ${issue.matches} matches`, 'warning');
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
} else {
|
|
531
|
-
log('No deprecated path references found', 'success');
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
results.checks.pathReferences = check;
|
|
535
|
-
return check.status !== 'fail';
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
/**
|
|
539
|
-
* Generate summary report
|
|
540
|
-
*/
|
|
541
|
-
function generateSummary() {
|
|
542
|
-
const passed = Object.values(results.checks).filter(c => c.status === 'pass').length;
|
|
543
|
-
const failed = Object.values(results.checks).filter(c => c.status === 'fail').length;
|
|
544
|
-
const warnings = Object.values(results.checks).filter(c => c.status === 'warning').length;
|
|
545
|
-
const skipped = Object.values(results.checks).filter(c => c.status === 'skip').length;
|
|
546
|
-
|
|
547
|
-
results.summary = {
|
|
548
|
-
total: Object.keys(results.checks).length,
|
|
549
|
-
passed,
|
|
550
|
-
failed,
|
|
551
|
-
warnings,
|
|
552
|
-
skipped
|
|
553
|
-
};
|
|
554
|
-
|
|
555
|
-
if (failed > 0) {
|
|
556
|
-
results.overall = 'fail';
|
|
557
|
-
} else if (warnings > 0) {
|
|
558
|
-
results.overall = 'warning';
|
|
559
|
-
} else {
|
|
560
|
-
results.overall = 'pass';
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
return results.summary;
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
/**
|
|
567
|
-
* Output results
|
|
568
|
-
*/
|
|
569
|
-
function outputResults() {
|
|
570
|
-
if (options.json) {
|
|
571
|
-
console.log(JSON.stringify(results, null, 2));
|
|
572
|
-
return;
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
const summary = results.summary;
|
|
576
|
-
|
|
577
|
-
console.log('\n' + '='.repeat(60));
|
|
578
|
-
console.log('š MIGRATION VALIDATION SUMMARY');
|
|
579
|
-
console.log('='.repeat(60));
|
|
580
|
-
console.log(`\nTimestamp: ${results.timestamp}`);
|
|
581
|
-
console.log(`Overall Status: ${results.overall.toUpperCase()}`);
|
|
582
|
-
console.log(`\nChecks: ${summary.total} total`);
|
|
583
|
-
console.log(` ā
Passed: ${summary.passed}`);
|
|
584
|
-
console.log(` ā Failed: ${summary.failed}`);
|
|
585
|
-
console.log(` ā ļø Warnings: ${summary.warnings}`);
|
|
586
|
-
console.log(` āļø Skipped: ${summary.skipped}`);
|
|
587
|
-
|
|
588
|
-
if (results.errors.length > 0) {
|
|
589
|
-
console.log('\nā Errors:');
|
|
590
|
-
results.errors.forEach(err => console.log(` - ${err}`));
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
if (results.warnings.length > 0) {
|
|
594
|
-
console.log('\nā ļø Warnings:');
|
|
595
|
-
results.warnings.forEach(warn => console.log(` - ${warn}`));
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
console.log('\n' + '='.repeat(60));
|
|
599
|
-
|
|
600
|
-
if (results.overall === 'pass') {
|
|
601
|
-
console.log('ā
Migration validation PASSED');
|
|
602
|
-
} else if (results.overall === 'warning') {
|
|
603
|
-
console.log('ā ļø Migration validation PASSED with warnings');
|
|
604
|
-
} else {
|
|
605
|
-
console.log('ā Migration validation FAILED');
|
|
606
|
-
}
|
|
607
|
-
console.log('='.repeat(60) + '\n');
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
/**
|
|
611
|
-
* Main execution
|
|
612
|
-
*/
|
|
613
|
-
async function main() {
|
|
614
|
-
try {
|
|
615
|
-
if (!options.json) {
|
|
616
|
-
console.log('š Migration Validation Script\n');
|
|
617
|
-
console.log(`Project: ${projectRoot}\n`);
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
// Run all validations
|
|
621
|
-
await validateFileMovement();
|
|
622
|
-
await validateSymlinks();
|
|
623
|
-
await validateGitStatus();
|
|
624
|
-
await validateConfigurations();
|
|
625
|
-
await validatePathReferences();
|
|
626
|
-
await validateBuild();
|
|
627
|
-
await validateTests();
|
|
628
|
-
await validateDocker();
|
|
629
|
-
|
|
630
|
-
// Generate and output summary
|
|
631
|
-
generateSummary();
|
|
632
|
-
outputResults();
|
|
633
|
-
|
|
634
|
-
// Exit with appropriate code
|
|
635
|
-
process.exit(results.overall === 'fail' ? 1 : 0);
|
|
636
|
-
|
|
637
|
-
} catch (error) {
|
|
638
|
-
console.error('ā Fatal error during validation:', error.message);
|
|
639
|
-
if (options.verbose) {
|
|
640
|
-
console.error(error.stack);
|
|
641
|
-
}
|
|
642
|
-
process.exit(1);
|
|
643
|
-
}
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
// Execute
|
|
647
|
-
main();
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Monitor memory every 30 seconds, 20 iterations
|
|
3
|
-
|
|
4
|
-
LOG_FILE="memory-monitor-$(date +%Y%m%d-%H%M%S).log"
|
|
5
|
-
ITERATIONS=20
|
|
6
|
-
INTERVAL=30
|
|
7
|
-
|
|
8
|
-
echo "=== Memory Monitor Started ===" | tee "$LOG_FILE"
|
|
9
|
-
echo "Monitoring for $((ITERATIONS * INTERVAL)) seconds ($ITERATIONS checks)" | tee -a "$LOG_FILE"
|
|
10
|
-
echo "Timestamp: $(date)" | tee -a "$LOG_FILE"
|
|
11
|
-
echo "" | tee -a "$LOG_FILE"
|
|
12
|
-
|
|
13
|
-
for i in $(seq 1 $ITERATIONS); do
|
|
14
|
-
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
|
15
|
-
|
|
16
|
-
# Total memory usage
|
|
17
|
-
TOTAL_MEM=$(ps aux | grep -E "(claude|node)" | grep -v grep | awk '{sum+=$6} END {printf "%.1f", sum/1024}')
|
|
18
|
-
|
|
19
|
-
# Node process count
|
|
20
|
-
NODE_COUNT=$(ps aux | grep node | grep -v grep | grep -v snapfuse | wc -l)
|
|
21
|
-
|
|
22
|
-
# Claude process count
|
|
23
|
-
CLAUDE_COUNT=$(ps aux | grep claude | grep -v grep | wc -l)
|
|
24
|
-
|
|
25
|
-
# Zombie processes
|
|
26
|
-
ZOMBIE_COUNT=$(ps aux | grep "<defunct>" | grep -v grep | wc -l)
|
|
27
|
-
|
|
28
|
-
# Find processes (memory bombs)
|
|
29
|
-
FIND_COUNT=$(ps aux | grep "find /mnt/c" | grep -v grep | wc -l)
|
|
30
|
-
|
|
31
|
-
# Hook processes
|
|
32
|
-
HOOK_COUNT=$(ps aux | grep "npx claude-flow-novice hooks" | grep -v grep | wc -l)
|
|
33
|
-
|
|
34
|
-
echo "[$i/$ITERATIONS] [$TIMESTAMP] MEM: ${TOTAL_MEM}MB | Node: $NODE_COUNT | Claude: $CLAUDE_COUNT | Zombies: $ZOMBIE_COUNT | Find: $FIND_COUNT | Hooks: $HOOK_COUNT" | tee -a "$LOG_FILE"
|
|
35
|
-
|
|
36
|
-
# Alerts
|
|
37
|
-
if (( $(echo "$TOTAL_MEM > 10000" | bc -l 2>/dev/null || echo 0) )); then
|
|
38
|
-
echo " ā ļø WARNING: Memory usage exceeds 10GB!" | tee -a "$LOG_FILE"
|
|
39
|
-
fi
|
|
40
|
-
|
|
41
|
-
if [ "$NODE_COUNT" -gt 20 ]; then
|
|
42
|
-
echo " ā ļø WARNING: $NODE_COUNT node processes (orphaned agents?)" | tee -a "$LOG_FILE"
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
if [ "$FIND_COUNT" -gt 0 ]; then
|
|
46
|
-
echo " š“ CRITICAL: $FIND_COUNT find commands on /mnt/c (MEMORY BOMB!)" | tee -a "$LOG_FILE"
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
if [ "$ZOMBIE_COUNT" -gt 0 ]; then
|
|
50
|
-
echo " š ZOMBIE: $ZOMBIE_COUNT zombie processes detected" | tee -a "$LOG_FILE"
|
|
51
|
-
fi
|
|
52
|
-
|
|
53
|
-
if [ "$HOOK_COUNT" -gt 5 ]; then
|
|
54
|
-
echo " š RECURSION: $HOOK_COUNT hook processes (possible recursion!)" | tee -a "$LOG_FILE"
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
|
-
# Don't sleep on last iteration
|
|
58
|
-
if [ $i -lt $ITERATIONS ]; then
|
|
59
|
-
sleep $INTERVAL
|
|
60
|
-
fi
|
|
61
|
-
done
|
|
62
|
-
|
|
63
|
-
echo "" | tee -a "$LOG_FILE"
|
|
64
|
-
echo "=== Monitoring Complete ===" | tee -a "$LOG_FILE"
|
|
65
|
-
echo "Log saved to: $LOG_FILE" | tee -a "$LOG_FILE"
|