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.
- 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 +40 -6
- 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 -60
- 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,314 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-Scaling Engine Demo and Test
|
|
3
|
-
* Demonstrates the Phase 2 Auto-Scaling Engine capabilities
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import AutoScalingEngine from './src/autoscaling/index.js';
|
|
7
|
-
import Redis from 'ioredis';
|
|
8
|
-
|
|
9
|
-
class AutoScalingDemo {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.redis = new Redis();
|
|
12
|
-
this.engine = null;
|
|
13
|
-
this.demoMetrics = {
|
|
14
|
-
startTime: Date.now(),
|
|
15
|
-
tasksSubmitted: 0,
|
|
16
|
-
scaleEvents: 0,
|
|
17
|
-
efficiencyMeasurements: []
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async runDemo() {
|
|
22
|
-
console.log('🚀 Phase 2 Auto-Scaling Engine Demo');
|
|
23
|
-
console.log('=====================================');
|
|
24
|
-
|
|
25
|
-
try {
|
|
26
|
-
// Initialize and start the engine
|
|
27
|
-
await this.initializeEngine();
|
|
28
|
-
|
|
29
|
-
// Run demonstration scenarios
|
|
30
|
-
await this.demonstrateBasicScaling();
|
|
31
|
-
await this.demonstratePredictiveScaling();
|
|
32
|
-
await this.demonstrateResourceOptimization();
|
|
33
|
-
await this.demonstratePerformanceBenchmarking();
|
|
34
|
-
|
|
35
|
-
// Generate final report
|
|
36
|
-
await this.generateDemoReport();
|
|
37
|
-
|
|
38
|
-
} catch (error) {
|
|
39
|
-
console.error('Demo failed:', error);
|
|
40
|
-
} finally {
|
|
41
|
-
await this.cleanup();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async initializeEngine() {
|
|
46
|
-
console.log('\n📋 Initializing Auto-Scaling Engine...');
|
|
47
|
-
|
|
48
|
-
this.engine = AutoScalingEngine.createDevelopment(); // Use development config
|
|
49
|
-
|
|
50
|
-
// Set up event listeners
|
|
51
|
-
this.engine.on('started', () => {
|
|
52
|
-
console.log('✅ Engine started successfully');
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
this.engine.on('taskAssigned', (data) => {
|
|
56
|
-
console.log(`📝 Task assigned: ${data.task.id} → Agent ${data.agent.id}`);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
this.engine.on('scaleUp', (data) => {
|
|
60
|
-
console.log(`⬆️ Scale up: +${data.agentsAdded} agents (Pool: ${data.newPoolSize})`);
|
|
61
|
-
this.demoMetrics.scaleEvents++;
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
this.engine.on('scaleDown', (data) => {
|
|
65
|
-
console.log(`⬇️ Scale down: -${data.agentsRemoved} agents (Pool: ${data.newPoolSize})`);
|
|
66
|
-
this.demoMetrics.scaleEvents++;
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
this.engine.on('benchmarkUpdate', (data) => {
|
|
70
|
-
const efficiency = (data.results.efficiency * 100).toFixed(1);
|
|
71
|
-
const utilization = (data.results.utilization * 100).toFixed(1);
|
|
72
|
-
console.log(`📊 Performance: Efficiency ${efficiency}%, Utilization ${utilization}%`);
|
|
73
|
-
this.demoMetrics.efficiencyMeasurements.push({
|
|
74
|
-
timestamp: Date.now(),
|
|
75
|
-
efficiency: data.results.efficiency,
|
|
76
|
-
utilization: data.results.utilization
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
await this.engine.start();
|
|
81
|
-
console.log('✅ Engine initialized and started');
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
async demonstrateBasicScaling() {
|
|
85
|
-
console.log('\n🔧 Demonstrating Basic Reactive Scaling...');
|
|
86
|
-
console.log('-------------------------------------------');
|
|
87
|
-
|
|
88
|
-
// Submit a burst of tasks to trigger scale-up
|
|
89
|
-
const taskBurst = 8;
|
|
90
|
-
console.log(`Submitting ${taskBurst} tasks to trigger scale-up...`);
|
|
91
|
-
|
|
92
|
-
for (let i = 0; i < taskBurst; i++) {
|
|
93
|
-
const task = {
|
|
94
|
-
id: `basic_task_${i}`,
|
|
95
|
-
type: 'computation',
|
|
96
|
-
priority: 'normal',
|
|
97
|
-
resources: {
|
|
98
|
-
cpu: 15,
|
|
99
|
-
memory: 50,
|
|
100
|
-
duration: 30000
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
try {
|
|
105
|
-
await this.engine.submitTask(task);
|
|
106
|
-
this.demoMetrics.tasksSubmitted++;
|
|
107
|
-
await this.sleep(500); // Small delay between submissions
|
|
108
|
-
} catch (error) {
|
|
109
|
-
console.error(`Task ${i} failed:`, error.message);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
console.log('Waiting for scaling decisions...');
|
|
114
|
-
await this.sleep(10000); // Wait for scaling to occur
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
async demonstratePredictiveScaling() {
|
|
118
|
-
console.log('\n🔮 Demonstrating Predictive Scaling...');
|
|
119
|
-
console.log('-----------------------------------');
|
|
120
|
-
|
|
121
|
-
// Submit tasks with varying patterns to test prediction
|
|
122
|
-
const patterns = [
|
|
123
|
-
{ count: 3, interval: 1000, priority: 'high' }, // High frequency burst
|
|
124
|
-
{ count: 2, interval: 2000, priority: 'normal' }, // Medium frequency
|
|
125
|
-
{ count: 4, interval: 500, priority: 'low' } // Low priority burst
|
|
126
|
-
];
|
|
127
|
-
|
|
128
|
-
for (const pattern of patterns) {
|
|
129
|
-
console.log(`Submitting ${pattern.count} ${pattern.priority} priority tasks...`);
|
|
130
|
-
|
|
131
|
-
for (let i = 0; i < pattern.count; i++) {
|
|
132
|
-
const task = {
|
|
133
|
-
id: `predictive_task_${Date.now()}_${i}`,
|
|
134
|
-
type: 'analysis',
|
|
135
|
-
priority: pattern.priority,
|
|
136
|
-
resources: {
|
|
137
|
-
cpu: pattern.priority === 'high' ? 25 : 10,
|
|
138
|
-
memory: pattern.priority === 'high' ? 100 : 40,
|
|
139
|
-
duration: pattern.priority === 'high' ? 20000 : 45000
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
try {
|
|
144
|
-
await this.engine.submitTask(task);
|
|
145
|
-
this.demoMetrics.tasksSubmitted++;
|
|
146
|
-
await this.sleep(pattern.interval);
|
|
147
|
-
} catch (error) {
|
|
148
|
-
console.error(`Predictive task failed:`, error.message);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
await this.sleep(5000); // Wait for prediction analysis
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
async demonstrateResourceOptimization() {
|
|
157
|
-
console.log('\n⚡ Demonstrating Resource Optimization...');
|
|
158
|
-
console.log('---------------------------------------');
|
|
159
|
-
|
|
160
|
-
// Submit tasks with different resource requirements
|
|
161
|
-
const resourceIntensiveTasks = [
|
|
162
|
-
{
|
|
163
|
-
id: 'cpu_intensive_1',
|
|
164
|
-
type: 'cpu_intensive',
|
|
165
|
-
priority: 'high',
|
|
166
|
-
resources: { cpu: 40, memory: 30, duration: 25000 }
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
id: 'memory_intensive_1',
|
|
170
|
-
type: 'memory_intensive',
|
|
171
|
-
priority: 'normal',
|
|
172
|
-
resources: { cpu: 10, memory: 150, duration: 35000 }
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
id: 'balanced_task_1',
|
|
176
|
-
type: 'balanced',
|
|
177
|
-
priority: 'normal',
|
|
178
|
-
resources: { cpu: 20, memory: 60, duration: 20000 }
|
|
179
|
-
}
|
|
180
|
-
];
|
|
181
|
-
|
|
182
|
-
console.log('Submitting tasks with varying resource requirements...');
|
|
183
|
-
|
|
184
|
-
for (const task of resourceIntensiveTasks) {
|
|
185
|
-
try {
|
|
186
|
-
const result = await this.engine.submitTask(task);
|
|
187
|
-
console.log(`✅ Optimized assignment: ${task.id} → ${result.agentId}`);
|
|
188
|
-
this.demoMetrics.tasksSubmitted++;
|
|
189
|
-
} catch (error) {
|
|
190
|
-
console.error(`Resource optimization failed for ${task.id}:`, error.message);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
// Wait for optimization to complete
|
|
195
|
-
await this.sleep(8000);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
async demonstratePerformanceBenchmarking() {
|
|
199
|
-
console.log('\n📈 Demonstrating Performance Benchmarking...');
|
|
200
|
-
console.log('------------------------------------------');
|
|
201
|
-
|
|
202
|
-
// Get current performance metrics
|
|
203
|
-
const status = await this.engine.getStatus();
|
|
204
|
-
|
|
205
|
-
console.log('Current Performance Metrics:');
|
|
206
|
-
console.log(` • Pool Size: ${status.components.poolManager?.poolSize || 'N/A'}`);
|
|
207
|
-
console.log(` • Active Agents: ${status.components.poolManager?.activeAgents || 'N/A'}`);
|
|
208
|
-
console.log(` • Efficiency: ${((status.components.performanceBenchmark?.efficiency || 0) * 100).toFixed(1)}%`);
|
|
209
|
-
console.log(` • Utilization: ${((status.components.performanceBenchmark?.utilization || 0) * 100).toFixed(1)}%`);
|
|
210
|
-
console.log(` • Response Time Score: ${((status.components.performanceBenchmark?.responseTime || 0) * 100).toFixed(1)}%`);
|
|
211
|
-
console.log(` • Scaling Performance: ${((status.components.performanceBenchmark?.scalingPerformance || 0) * 100).toFixed(1)}%`);
|
|
212
|
-
|
|
213
|
-
// Test performance targets
|
|
214
|
-
const targets = {
|
|
215
|
-
efficiency: 0.40, // 40% target
|
|
216
|
-
utilization: 0.85, // 85% target
|
|
217
|
-
responseTime: 0.80 // 80% score target
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
console.log('\nTarget Achievement Analysis:');
|
|
221
|
-
for (const [metric, target] of Object.entries(targets)) {
|
|
222
|
-
const current = status.components.performanceBenchmark?.[metric] || 0;
|
|
223
|
-
const achieved = current >= target;
|
|
224
|
-
const percentage = (current * 100).toFixed(1);
|
|
225
|
-
const targetPercentage = (target * 100).toFixed(1);
|
|
226
|
-
|
|
227
|
-
console.log(` • ${metric}: ${percentage}% (Target: ${targetPercentage}%) ${achieved ? '✅' : '❌'}`);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
await this.sleep(5000);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
async generateDemoReport() {
|
|
234
|
-
console.log('\n📊 Demo Performance Report');
|
|
235
|
-
console.log('===========================');
|
|
236
|
-
|
|
237
|
-
const runtime = Date.now() - this.demoMetrics.startTime;
|
|
238
|
-
const minutes = Math.floor(runtime / 60000);
|
|
239
|
-
const seconds = Math.floor((runtime % 60000) / 1000);
|
|
240
|
-
|
|
241
|
-
console.log(`Runtime: ${minutes}m ${seconds}s`);
|
|
242
|
-
console.log(`Tasks Submitted: ${this.demoMetrics.tasksSubmitted}`);
|
|
243
|
-
console.log(`Scale Events: ${this.demoMetrics.scaleEvents}`);
|
|
244
|
-
|
|
245
|
-
if (this.demoMetrics.efficiencyMeasurements.length > 0) {
|
|
246
|
-
const avgEfficiency = this.demoMetrics.efficiencyMeasurements
|
|
247
|
-
.reduce((sum, m) => sum + m.efficiency, 0) / this.demoMetrics.efficiencyMeasurements.length;
|
|
248
|
-
const avgUtilization = this.demoMetrics.efficiencyMeasurements
|
|
249
|
-
.reduce((sum, m) => sum + m.utilization, 0) / this.demoMetrics.efficiencyMeasurements.length;
|
|
250
|
-
|
|
251
|
-
console.log(`Average Efficiency: ${(avgEfficiency * 100).toFixed(1)}%`);
|
|
252
|
-
console.log(`Average Utilization: ${(avgUtilization * 100).toFixed(1)}%`);
|
|
253
|
-
|
|
254
|
-
// Check if targets were met
|
|
255
|
-
const efficiencyTargetMet = avgEfficiency >= 0.40;
|
|
256
|
-
const utilizationTargetMet = avgUtilization >= 0.85;
|
|
257
|
-
|
|
258
|
-
console.log('\nTarget Achievement:');
|
|
259
|
-
console.log(` • 40%+ Efficiency: ${efficiencyTargetMet ? '✅ ACHIEVED' : '❌ NOT ACHIEVED'}`);
|
|
260
|
-
console.log(` • 85%+ Utilization: ${utilizationTargetMet ? '✅ ACHIEVED' : '❌ NOT ACHIEVED'}`);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
// Get final engine status
|
|
264
|
-
const finalStatus = await this.engine.getStatus();
|
|
265
|
-
console.log('\nFinal System State:');
|
|
266
|
-
console.log(` • Pool Size: ${finalStatus.components.poolManager?.poolSize || 'N/A'}`);
|
|
267
|
-
console.log(` • Total Tasks Processed: ${finalStatus.metrics.totalTasksProcessed}`);
|
|
268
|
-
console.log(` • Total Scale Events: ${finalStatus.metrics.totalScaleEvents}`);
|
|
269
|
-
|
|
270
|
-
console.log('\n✅ Demo completed successfully!');
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
async cleanup() {
|
|
274
|
-
console.log('\n🧹 Cleaning up...');
|
|
275
|
-
|
|
276
|
-
if (this.engine) {
|
|
277
|
-
await this.engine.stop();
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (this.redis) {
|
|
281
|
-
await this.redis.quit();
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
console.log('✅ Cleanup completed');
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
sleep(ms) {
|
|
288
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Run the demo
|
|
293
|
-
async function main() {
|
|
294
|
-
const demo = new AutoScalingDemo();
|
|
295
|
-
await demo.runDemo();
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
// Handle graceful shutdown
|
|
299
|
-
process.on('SIGINT', async () => {
|
|
300
|
-
console.log('\n🛑 Received SIGINT, shutting down gracefully...');
|
|
301
|
-
process.exit(0);
|
|
302
|
-
});
|
|
303
|
-
|
|
304
|
-
process.on('SIGTERM', async () => {
|
|
305
|
-
console.log('\n🛑 Received SIGTERM, shutting down gracefully...');
|
|
306
|
-
process.exit(0);
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
// Run if this file is executed directly
|
|
310
|
-
if (require.main === module) {
|
|
311
|
-
main().catch(console.error);
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
export default AutoScalingDemo;
|
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Dependency Optimizer
|
|
4
|
-
*
|
|
5
|
-
* Analyzes and optimizes npm dependencies for production readiness
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { execSync } from 'child_process';
|
|
9
|
-
import fs from 'fs/promises';
|
|
10
|
-
import path from 'path';
|
|
11
|
-
import { fileURLToPath } from 'url';
|
|
12
|
-
|
|
13
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
-
const __dirname = path.dirname(__filename);
|
|
15
|
-
const rootDir = path.join(__dirname, '..');
|
|
16
|
-
|
|
17
|
-
class DependencyOptimizer {
|
|
18
|
-
constructor() {
|
|
19
|
-
this.packageJson = null;
|
|
20
|
-
this.findings = {
|
|
21
|
-
production: [],
|
|
22
|
-
devDependencies: [],
|
|
23
|
-
optimization: [],
|
|
24
|
-
security: []
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async optimize() {
|
|
29
|
-
console.log('🔧 Dependency Optimizer');
|
|
30
|
-
console.log('='.repeat(60));
|
|
31
|
-
|
|
32
|
-
try {
|
|
33
|
-
await this.loadPackageJson();
|
|
34
|
-
await this.analyzeDependencies();
|
|
35
|
-
await this.checkSecurity();
|
|
36
|
-
await this.optimizeTree();
|
|
37
|
-
await this.generateReport();
|
|
38
|
-
|
|
39
|
-
return 0;
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error(`❌ Optimization failed: ${error.message}`);
|
|
42
|
-
return 1;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async loadPackageJson() {
|
|
47
|
-
console.log('\n📦 Loading package.json...');
|
|
48
|
-
const packagePath = path.join(rootDir, 'package.json');
|
|
49
|
-
const content = await fs.readFile(packagePath, 'utf8');
|
|
50
|
-
this.packageJson = JSON.parse(content);
|
|
51
|
-
console.log(`✅ Loaded: ${this.packageJson.name}@${this.packageJson.version}`);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async analyzeDependencies() {
|
|
55
|
-
console.log('\n🔍 Analyzing dependencies...');
|
|
56
|
-
|
|
57
|
-
const prodCount = Object.keys(this.packageJson.dependencies || {}).length;
|
|
58
|
-
const devCount = Object.keys(this.packageJson.devDependencies || {}).length;
|
|
59
|
-
|
|
60
|
-
console.log(` Production: ${prodCount} packages`);
|
|
61
|
-
console.log(` Development: ${devCount} packages`);
|
|
62
|
-
|
|
63
|
-
// Check for misplaced dependencies
|
|
64
|
-
await this.checkMisplacedDependencies();
|
|
65
|
-
|
|
66
|
-
// Check for unused dependencies
|
|
67
|
-
await this.checkUnusedDependencies();
|
|
68
|
-
|
|
69
|
-
// Check for duplicate dependencies
|
|
70
|
-
await this.checkDuplicates();
|
|
71
|
-
|
|
72
|
-
// Check for outdated dependencies
|
|
73
|
-
await this.checkOutdated();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
async checkMisplacedDependencies() {
|
|
77
|
-
console.log('\n Checking for misplaced dependencies...');
|
|
78
|
-
|
|
79
|
-
const buildTools = [
|
|
80
|
-
'@babel/core', '@babel/preset-env', '@swc/cli', '@swc/core',
|
|
81
|
-
'typescript', 'ts-jest', 'babel-jest', 'jest', 'eslint', 'prettier'
|
|
82
|
-
];
|
|
83
|
-
|
|
84
|
-
const misplaced = [];
|
|
85
|
-
|
|
86
|
-
for (const tool of buildTools) {
|
|
87
|
-
if (this.packageJson.dependencies && this.packageJson.dependencies[tool]) {
|
|
88
|
-
misplaced.push({
|
|
89
|
-
package: tool,
|
|
90
|
-
type: 'build-tool-in-production',
|
|
91
|
-
recommendation: `Move ${tool} to devDependencies`
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (misplaced.length > 0) {
|
|
97
|
-
this.findings.production.push(...misplaced);
|
|
98
|
-
console.log(` ⚠️ ${misplaced.length} misplaced dependencies found`);
|
|
99
|
-
} else {
|
|
100
|
-
console.log(' ✅ All dependencies correctly placed');
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
async checkUnusedDependencies() {
|
|
105
|
-
console.log('\n Checking for unused dependencies...');
|
|
106
|
-
|
|
107
|
-
try {
|
|
108
|
-
// This is a basic check - a full check would require tools like depcheck
|
|
109
|
-
console.log(' ℹ️ Run `npx depcheck` for comprehensive unused dependency analysis');
|
|
110
|
-
} catch (error) {
|
|
111
|
-
console.log(' ⚠️ Could not check for unused dependencies');
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
async checkDuplicates() {
|
|
116
|
-
console.log('\n Checking for duplicate dependencies...');
|
|
117
|
-
|
|
118
|
-
try {
|
|
119
|
-
const output = this.runCommand('npm dedupe --dry-run');
|
|
120
|
-
|
|
121
|
-
if (output.includes('deduped')) {
|
|
122
|
-
const matches = output.match(/deduped (\d+)/);
|
|
123
|
-
const count = matches ? parseInt(matches[1]) : 0;
|
|
124
|
-
|
|
125
|
-
if (count > 0) {
|
|
126
|
-
this.findings.optimization.push({
|
|
127
|
-
type: 'duplicate-dependencies',
|
|
128
|
-
count: count,
|
|
129
|
-
recommendation: 'Run npm dedupe to remove duplicates'
|
|
130
|
-
});
|
|
131
|
-
console.log(` ⚠️ ${count} duplicate dependencies can be optimized`);
|
|
132
|
-
} else {
|
|
133
|
-
console.log(' ✅ No duplicate dependencies');
|
|
134
|
-
}
|
|
135
|
-
} else {
|
|
136
|
-
console.log(' ✅ No duplicate dependencies');
|
|
137
|
-
}
|
|
138
|
-
} catch (error) {
|
|
139
|
-
console.log(' ⚠️ Could not check for duplicates');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
async checkOutdated() {
|
|
144
|
-
console.log('\n Checking for outdated dependencies...');
|
|
145
|
-
|
|
146
|
-
try {
|
|
147
|
-
const output = this.runCommand('npm outdated --json');
|
|
148
|
-
const outdated = JSON.parse(output || '{}');
|
|
149
|
-
const count = Object.keys(outdated).length;
|
|
150
|
-
|
|
151
|
-
if (count > 0) {
|
|
152
|
-
this.findings.optimization.push({
|
|
153
|
-
type: 'outdated-dependencies',
|
|
154
|
-
count: count,
|
|
155
|
-
packages: Object.entries(outdated).slice(0, 5).map(([name, info]) => ({
|
|
156
|
-
name,
|
|
157
|
-
current: info.current,
|
|
158
|
-
latest: info.latest
|
|
159
|
-
})),
|
|
160
|
-
recommendation: 'Update outdated dependencies with npm update'
|
|
161
|
-
});
|
|
162
|
-
console.log(` ⚠️ ${count} outdated dependencies`);
|
|
163
|
-
} else {
|
|
164
|
-
console.log(' ✅ All dependencies up to date');
|
|
165
|
-
}
|
|
166
|
-
} catch {
|
|
167
|
-
console.log(' ✅ Dependency versions current');
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
async checkSecurity() {
|
|
172
|
-
console.log('\n🔒 Security Analysis...');
|
|
173
|
-
|
|
174
|
-
try {
|
|
175
|
-
const output = this.runCommand('npm audit --json');
|
|
176
|
-
const audit = JSON.parse(output);
|
|
177
|
-
const vulnerabilities = audit.metadata?.vulnerabilities || {};
|
|
178
|
-
|
|
179
|
-
const critical = vulnerabilities.critical || 0;
|
|
180
|
-
const high = vulnerabilities.high || 0;
|
|
181
|
-
const moderate = vulnerabilities.moderate || 0;
|
|
182
|
-
const low = vulnerabilities.low || 0;
|
|
183
|
-
|
|
184
|
-
console.log(` Critical: ${critical}`);
|
|
185
|
-
console.log(` High: ${high}`);
|
|
186
|
-
console.log(` Moderate: ${moderate}`);
|
|
187
|
-
console.log(` Low: ${low}`);
|
|
188
|
-
|
|
189
|
-
if (critical > 0 || high > 0) {
|
|
190
|
-
this.findings.security.push({
|
|
191
|
-
severity: 'high',
|
|
192
|
-
vulnerabilities: { critical, high, moderate, low },
|
|
193
|
-
recommendation: 'Run npm audit fix to address vulnerabilities'
|
|
194
|
-
});
|
|
195
|
-
console.log(' ❌ Critical/High vulnerabilities found!');
|
|
196
|
-
} else if (moderate > 0) {
|
|
197
|
-
this.findings.security.push({
|
|
198
|
-
severity: 'medium',
|
|
199
|
-
vulnerabilities: { critical, high, moderate, low },
|
|
200
|
-
recommendation: 'Consider updating packages with moderate vulnerabilities'
|
|
201
|
-
});
|
|
202
|
-
console.log(' ⚠️ Moderate vulnerabilities found');
|
|
203
|
-
} else {
|
|
204
|
-
console.log(' ✅ No security vulnerabilities');
|
|
205
|
-
}
|
|
206
|
-
} catch (error) {
|
|
207
|
-
console.log(' ⚠️ Could not run security audit');
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
async optimizeTree() {
|
|
212
|
-
console.log('\n⚡ Optimization Options...');
|
|
213
|
-
|
|
214
|
-
console.log(' Available optimizations:');
|
|
215
|
-
console.log(' • npm prune - Remove extraneous packages');
|
|
216
|
-
console.log(' • npm dedupe - Reduce duplication');
|
|
217
|
-
console.log(' • npm audit fix - Fix security issues');
|
|
218
|
-
console.log(' • npm update - Update to latest compatible versions');
|
|
219
|
-
|
|
220
|
-
const treeSize = await this.calculateTreeSize();
|
|
221
|
-
console.log(`\n Current tree size: ${treeSize}`);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
async calculateTreeSize() {
|
|
225
|
-
try {
|
|
226
|
-
const nodeModules = path.join(rootDir, 'node_modules');
|
|
227
|
-
const output = this.runCommand(`du -sh ${nodeModules}`);
|
|
228
|
-
return output.split('\t')[0];
|
|
229
|
-
} catch {
|
|
230
|
-
return 'Unknown';
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
async generateReport() {
|
|
235
|
-
console.log('\n' + '='.repeat(60));
|
|
236
|
-
console.log('📊 OPTIMIZATION REPORT');
|
|
237
|
-
console.log('='.repeat(60));
|
|
238
|
-
|
|
239
|
-
const totalIssues =
|
|
240
|
-
this.findings.production.length +
|
|
241
|
-
this.findings.optimization.length +
|
|
242
|
-
this.findings.security.length;
|
|
243
|
-
|
|
244
|
-
console.log(`\n📈 Summary:`);
|
|
245
|
-
console.log(` Total Findings: ${totalIssues}`);
|
|
246
|
-
console.log(` Production Issues: ${this.findings.production.length}`);
|
|
247
|
-
console.log(` Optimization Opportunities: ${this.findings.optimization.length}`);
|
|
248
|
-
console.log(` Security Issues: ${this.findings.security.length}`);
|
|
249
|
-
|
|
250
|
-
// Production Dependencies
|
|
251
|
-
if (this.findings.production.length > 0) {
|
|
252
|
-
console.log('\n🔴 Production Dependency Issues:');
|
|
253
|
-
this.findings.production.forEach(finding => {
|
|
254
|
-
console.log(` • ${finding.package}: ${finding.recommendation}`);
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Optimizations
|
|
259
|
-
if (this.findings.optimization.length > 0) {
|
|
260
|
-
console.log('\n⚡ Optimization Opportunities:');
|
|
261
|
-
this.findings.optimization.forEach(finding => {
|
|
262
|
-
console.log(` • ${finding.type}: ${finding.recommendation}`);
|
|
263
|
-
if (finding.packages) {
|
|
264
|
-
finding.packages.forEach(pkg => {
|
|
265
|
-
console.log(` - ${pkg.name}: ${pkg.current} → ${pkg.latest}`);
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// Security
|
|
272
|
-
if (this.findings.security.length > 0) {
|
|
273
|
-
console.log('\n🔒 Security Findings:');
|
|
274
|
-
this.findings.security.forEach(finding => {
|
|
275
|
-
console.log(` Severity: ${finding.severity}`);
|
|
276
|
-
console.log(` ${finding.recommendation}`);
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
// Recommendations
|
|
281
|
-
console.log('\n💡 Recommended Actions:');
|
|
282
|
-
|
|
283
|
-
if (this.findings.security.length > 0) {
|
|
284
|
-
console.log(' 1. Run: npm audit fix');
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
if (this.findings.production.length > 0) {
|
|
288
|
-
console.log(' 2. Move build tools to devDependencies');
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
if (this.findings.optimization.length > 0) {
|
|
292
|
-
console.log(' 3. Run: npm dedupe && npm prune');
|
|
293
|
-
console.log(' 4. Run: npm update (review changes carefully)');
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
if (totalIssues === 0) {
|
|
297
|
-
console.log(' ✅ Dependencies are well optimized!');
|
|
298
|
-
console.log(' Continue monitoring with regular npm outdated checks');
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Save report
|
|
302
|
-
const report = {
|
|
303
|
-
timestamp: new Date().toISOString(),
|
|
304
|
-
package: {
|
|
305
|
-
name: this.packageJson.name,
|
|
306
|
-
version: this.packageJson.version
|
|
307
|
-
},
|
|
308
|
-
findings: this.findings,
|
|
309
|
-
summary: {
|
|
310
|
-
totalIssues,
|
|
311
|
-
productionIssues: this.findings.production.length,
|
|
312
|
-
optimizationOpportunities: this.findings.optimization.length,
|
|
313
|
-
securityIssues: this.findings.security.length
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
const reportPath = path.join(rootDir, '.claude-flow-novice/dependency-optimization-report.json');
|
|
318
|
-
await fs.mkdir(path.dirname(reportPath), { recursive: true });
|
|
319
|
-
await fs.writeFile(reportPath, JSON.stringify(report, null, 2));
|
|
320
|
-
|
|
321
|
-
console.log(`\n📄 Report saved: .claude-flow-novice/dependency-optimization-report.json`);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
runCommand(command, options = {}) {
|
|
325
|
-
try {
|
|
326
|
-
return execSync(command, {
|
|
327
|
-
encoding: 'utf8',
|
|
328
|
-
cwd: rootDir,
|
|
329
|
-
stdio: 'pipe',
|
|
330
|
-
...options
|
|
331
|
-
});
|
|
332
|
-
} catch (error) {
|
|
333
|
-
// Some commands (like npm outdated) return non-zero exit codes
|
|
334
|
-
return error.stdout || '';
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
// CLI Interface
|
|
340
|
-
async function main() {
|
|
341
|
-
const optimizer = new DependencyOptimizer();
|
|
342
|
-
const exitCode = await optimizer.optimize();
|
|
343
|
-
process.exit(exitCode);
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
main().catch(error => {
|
|
347
|
-
console.error('❌ Fatal error:', error);
|
|
348
|
-
process.exit(1);
|
|
349
|
-
});
|