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,451 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Memory Monitor for Coordinator CLI Process
|
|
5
|
-
*
|
|
6
|
-
* Monitors memory usage patterns in spawn-coordinator and spawn-workers processes
|
|
7
|
-
* Identifies potential memory leaks and provides detailed analysis
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { spawn } from 'child_process';
|
|
11
|
-
import fs from 'fs/promises';
|
|
12
|
-
import path from 'path';
|
|
13
|
-
|
|
14
|
-
class MemoryMonitor {
|
|
15
|
-
constructor(options = {}) {
|
|
16
|
-
this.interval = options.interval || 1000; // 1 second default
|
|
17
|
-
this.maxDuration = options.maxDuration || 300000; // 5 minutes default
|
|
18
|
-
this.logFile = options.logFile || './memory-monitor.log';
|
|
19
|
-
this.targetPid = options.targetPid || null;
|
|
20
|
-
this.processName = options.processName || 'node';
|
|
21
|
-
this.monitoring = false;
|
|
22
|
-
this.samples = [];
|
|
23
|
-
this.startTime = Date.now();
|
|
24
|
-
|
|
25
|
-
// Process-specific memory history for growth rate analysis
|
|
26
|
-
this.processHistory = {};
|
|
27
|
-
|
|
28
|
-
// Context-aware thresholds for different process types
|
|
29
|
-
this.thresholds = {
|
|
30
|
-
'cfn-coordinator-mvp': { memory: 2000, timeout: 3600000 }, // Higher limit for coordinators
|
|
31
|
-
'cfn-coordinator-standard': { memory: 2000, timeout: 3600000 },
|
|
32
|
-
'cfn-coordinator-enterprise': { memory: 3000, timeout: 7200000 },
|
|
33
|
-
'spawn-coordinator': { memory: 1500, timeout: 1800000 },
|
|
34
|
-
'spawn-workers': { memory: 1500, timeout: 1800000 },
|
|
35
|
-
'node': { memory: 1000, timeout: 900000 },
|
|
36
|
-
'rust': { memory: 2000, timeout: 3600000 }, // Rust processes can use more memory
|
|
37
|
-
'cargo': { memory: 3000, timeout: 7200000 }, // Cargo builds can be memory intensive
|
|
38
|
-
'default': { memory: 1500, timeout: 1800000 }
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Start memory monitoring
|
|
44
|
-
*/
|
|
45
|
-
async start() {
|
|
46
|
-
console.log('š Starting Memory Monitor for Coordinator CLI');
|
|
47
|
-
console.log(`š Interval: ${this.interval}ms`);
|
|
48
|
-
console.log(`ā±ļø Max Duration: ${this.maxDuration}ms`);
|
|
49
|
-
console.log(`š Log File: ${this.logFile}`);
|
|
50
|
-
|
|
51
|
-
this.monitoring = true;
|
|
52
|
-
|
|
53
|
-
// Initialize log file
|
|
54
|
-
await this.writeLog('=== Memory Monitor Started ===');
|
|
55
|
-
await this.writeLog(`Timestamp,PID,ProcessName,CPU%,MEM%,RSS(MB),VSZ(MB),Elapsed(ms)`);
|
|
56
|
-
|
|
57
|
-
// Start monitoring loop
|
|
58
|
-
this.monitorInterval = setInterval(() => {
|
|
59
|
-
this.collectSample();
|
|
60
|
-
}, this.interval);
|
|
61
|
-
|
|
62
|
-
// Set timeout to stop monitoring
|
|
63
|
-
setTimeout(() => {
|
|
64
|
-
this.stop();
|
|
65
|
-
}, this.maxDuration);
|
|
66
|
-
|
|
67
|
-
return new Promise((resolve) => {
|
|
68
|
-
this.onStop = resolve;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Collect memory sample
|
|
74
|
-
*/
|
|
75
|
-
async collectSample() {
|
|
76
|
-
try {
|
|
77
|
-
const now = Date.now();
|
|
78
|
-
const elapsed = now - this.startTime;
|
|
79
|
-
|
|
80
|
-
// Get process information
|
|
81
|
-
const processes = await this.getProcessInfo();
|
|
82
|
-
|
|
83
|
-
for (const proc of processes) {
|
|
84
|
-
const sample = {
|
|
85
|
-
timestamp: new Date().toISOString(),
|
|
86
|
-
pid: proc.pid,
|
|
87
|
-
name: proc.name,
|
|
88
|
-
cpu: proc.cpu,
|
|
89
|
-
mem: proc.mem,
|
|
90
|
-
rss: proc.rss,
|
|
91
|
-
vsz: proc.vsz,
|
|
92
|
-
elapsed: elapsed
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
this.samples.push(sample);
|
|
96
|
-
|
|
97
|
-
// Track process-specific memory history
|
|
98
|
-
const processKey = `${proc.pid}-${proc.name}`;
|
|
99
|
-
if (!this.processHistory[processKey]) {
|
|
100
|
-
this.processHistory[processKey] = [];
|
|
101
|
-
}
|
|
102
|
-
this.processHistory[processKey].push({
|
|
103
|
-
timestamp: now,
|
|
104
|
-
memory: proc.rss,
|
|
105
|
-
cpu: proc.cpu
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
// Keep only last 30 samples per process for growth rate analysis
|
|
109
|
-
if (this.processHistory[processKey].length > 30) {
|
|
110
|
-
this.processHistory[processKey] = this.processHistory[processKey].slice(-30);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Log to file
|
|
114
|
-
const logLine = `${sample.timestamp},${sample.pid},${sample.name},${sample.cpu},${sample.mem},${sample.rss},${sample.vsz},${sample.elapsed}`;
|
|
115
|
-
await this.writeLog(logLine);
|
|
116
|
-
|
|
117
|
-
// Get context-aware threshold for this process
|
|
118
|
-
const processThreshold = this.getThresholdForProcess(proc.name, proc.pid);
|
|
119
|
-
const warningThreshold = processThreshold.memory * 0.7; // Warning at 70%
|
|
120
|
-
const criticalThreshold = processThreshold.memory;
|
|
121
|
-
|
|
122
|
-
// Console output for graduated memory warnings
|
|
123
|
-
if (proc.rss > warningThreshold) {
|
|
124
|
-
console.log(`ā ļø Moderate memory usage: PID ${proc.pid} (${proc.name}) - ${proc.rss}MB RSS (threshold: ${processThreshold.memory}MB)`);
|
|
125
|
-
}
|
|
126
|
-
if (proc.rss > criticalThreshold) {
|
|
127
|
-
console.log(`šØ High memory detected: PID ${proc.pid} (${proc.name}) - ${proc.rss}MB RSS (exceeds threshold: ${processThreshold.memory}MB)`);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Check for concerning memory growth patterns (only if we have enough history)
|
|
131
|
-
if (this.processHistory[processKey].length >= 10) {
|
|
132
|
-
const growthAnalysis = this.analyzeMemoryGrowth(this.processHistory[processKey]);
|
|
133
|
-
if (growthAnalysis.isLeaking) {
|
|
134
|
-
console.log(`šØ POTENTIAL MEMORY LEAK: PID ${proc.pid} (${proc.name}) - ${growthAnalysis.growthRate.toFixed(2)}MB/s sustained growth`);
|
|
135
|
-
console.log(` š” This is based on sustained growth pattern, not temporary spikes`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
} catch (error) {
|
|
141
|
-
console.error('ā Error collecting sample:', error.message);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Get process information for target processes
|
|
147
|
-
*/
|
|
148
|
-
async getProcessInfo() {
|
|
149
|
-
return new Promise((resolve, reject) => {
|
|
150
|
-
const ps = spawn('ps', ['eo', 'pid,%cpu,%mem,rss,vsz,comm'], {
|
|
151
|
-
stdio: ['ignore', 'pipe', 'pipe']
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
let output = '';
|
|
155
|
-
let error = '';
|
|
156
|
-
|
|
157
|
-
ps.stdout.on('data', (data) => {
|
|
158
|
-
output += data.toString();
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
ps.stderr.on('data', (data) => {
|
|
162
|
-
error += data.toString();
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
ps.on('close', (code) => {
|
|
166
|
-
if (code !== 0) {
|
|
167
|
-
reject(new Error(`ps command failed: ${error}`));
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
const processes = [];
|
|
172
|
-
const lines = output.trim().split('\n');
|
|
173
|
-
|
|
174
|
-
for (const line of lines) {
|
|
175
|
-
const parts = line.trim().split(/\s+/);
|
|
176
|
-
if (parts.length >= 6) {
|
|
177
|
-
const pid = parseInt(parts[0]);
|
|
178
|
-
const cpu = parseFloat(parts[1]);
|
|
179
|
-
const mem = parseFloat(parts[2]);
|
|
180
|
-
const rss = Math.round(parseInt(parts[3]) / 1024); // Convert KB to MB
|
|
181
|
-
const vsz = Math.round(parseInt(parts[4]) / 1024); // Convert KB to MB
|
|
182
|
-
const name = parts.slice(5).join(' ');
|
|
183
|
-
|
|
184
|
-
// Filter for target processes
|
|
185
|
-
if (this.isTargetProcess(pid, name)) {
|
|
186
|
-
processes.push({ pid, cpu, mem, rss, vsz, name });
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
resolve(processes);
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
ps.on('error', (error) => {
|
|
195
|
-
reject(error);
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Check if process should be monitored
|
|
202
|
-
*/
|
|
203
|
-
isTargetProcess(pid, name) {
|
|
204
|
-
// Monitor specific PID if provided
|
|
205
|
-
if (this.targetPid && pid === this.targetPid) {
|
|
206
|
-
return true;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
// Monitor processes matching names
|
|
210
|
-
const targetNames = [
|
|
211
|
-
'spawn-coordinator',
|
|
212
|
-
'spawn-workers',
|
|
213
|
-
'node',
|
|
214
|
-
'claude'
|
|
215
|
-
];
|
|
216
|
-
|
|
217
|
-
return targetNames.some(targetName =>
|
|
218
|
-
name.includes(targetName) ||
|
|
219
|
-
(name === 'node' && this.hasCoordinatorArgs(pid))
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Check if node process has coordinator-related arguments
|
|
225
|
-
*/
|
|
226
|
-
hasCoordinatorArgs(pid) {
|
|
227
|
-
try {
|
|
228
|
-
const cmdlineFile = `/proc/${pid}/cmdline`;
|
|
229
|
-
const cmdline = require('fs').readFileSync(cmdlineFile, 'utf8');
|
|
230
|
-
return cmdline.includes('spawn-coordinator') ||
|
|
231
|
-
cmdline.includes('spawn-workers') ||
|
|
232
|
-
cmdline.includes('hybrid-routing');
|
|
233
|
-
} catch (error) {
|
|
234
|
-
return false;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Get context-aware threshold for a process
|
|
240
|
-
*/
|
|
241
|
-
getThresholdForProcess(processName, pid) {
|
|
242
|
-
// Check if process name matches any specific thresholds
|
|
243
|
-
if (this.thresholds[processName]) {
|
|
244
|
-
return this.thresholds[processName];
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
// Check for coordinator processes by examining command line
|
|
248
|
-
if (processName === 'node' && this.hasCoordinatorArgs(pid)) {
|
|
249
|
-
const cmdline = require('fs').readFileSync(`/proc/${pid}/cmdline`, 'utf8');
|
|
250
|
-
if (cmdline.includes('cfn-coordinator-mvp')) {
|
|
251
|
-
return this.thresholds['cfn-coordinator-mvp'];
|
|
252
|
-
} else if (cmdline.includes('cfn-coordinator-standard')) {
|
|
253
|
-
return this.thresholds['cfn-coordinator-standard'];
|
|
254
|
-
} else if (cmdline.includes('cfn-coordinator-enterprise')) {
|
|
255
|
-
return this.thresholds['cfn-coordinator-enterprise'];
|
|
256
|
-
} else if (cmdline.includes('spawn-coordinator') || cmdline.includes('spawn-workers')) {
|
|
257
|
-
return this.thresholds['spawn-coordinator'];
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// Default threshold
|
|
262
|
-
return this.thresholds['default'];
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* Analyze memory growth pattern to distinguish leaks from legitimate usage
|
|
267
|
-
*/
|
|
268
|
-
analyzeMemoryGrowth(history) {
|
|
269
|
-
if (history.length < 5) {
|
|
270
|
-
return { isLeaking: false, growthRate: 0 };
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// Calculate growth rate over recent history (last 10 samples)
|
|
274
|
-
const recent = history.slice(-10);
|
|
275
|
-
const timeSpan = recent[recent.length - 1].timestamp - recent[0].timestamp;
|
|
276
|
-
const memoryGrowth = recent[recent.length - 1].memory - recent[0].memory;
|
|
277
|
-
const growthRate = timeSpan > 0 ? (memoryGrowth / (timeSpan / 1000)) : 0; // MB/second
|
|
278
|
-
|
|
279
|
-
// Check for consistent growth pattern
|
|
280
|
-
const consistentGrowth = this.isConsistentGrowth(recent);
|
|
281
|
-
|
|
282
|
-
// Only flag as leak if:
|
|
283
|
-
// 1. Growth rate is significant (> 3MB/s)
|
|
284
|
-
// 2. Growth is consistent (not just spikes)
|
|
285
|
-
// 3. Total growth is substantial (> 50MB in analysis window)
|
|
286
|
-
const isLeaking = growthRate > 3.0 && consistentGrowth && memoryGrowth > 50;
|
|
287
|
-
|
|
288
|
-
return {
|
|
289
|
-
isLeaking,
|
|
290
|
-
growthRate,
|
|
291
|
-
memoryGrowth,
|
|
292
|
-
consistent: consistentGrowth
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* Check if memory growth is consistent vs temporary spikes
|
|
298
|
-
*/
|
|
299
|
-
isConsistentGrowth(samples) {
|
|
300
|
-
if (samples.length < 3) return false;
|
|
301
|
-
|
|
302
|
-
let increasingSegments = 0;
|
|
303
|
-
let totalSegments = 0;
|
|
304
|
-
|
|
305
|
-
for (let i = 1; i < samples.length; i++) {
|
|
306
|
-
totalSegments++;
|
|
307
|
-
if (samples[i].memory > samples[i - 1].memory) {
|
|
308
|
-
increasingSegments++;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
// Consistent growth means at least 70% of segments are increasing
|
|
313
|
-
const consistencyRatio = increasingSegments / totalSegments;
|
|
314
|
-
return consistencyRatio > 0.7;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Write to log file
|
|
319
|
-
*/
|
|
320
|
-
async writeLog(line) {
|
|
321
|
-
try {
|
|
322
|
-
await fs.appendFile(this.logFile, line + '\n');
|
|
323
|
-
} catch (error) {
|
|
324
|
-
console.error('ā Error writing to log:', error.message);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Stop monitoring and generate report
|
|
330
|
-
*/
|
|
331
|
-
async stop() {
|
|
332
|
-
if (!this.monitoring) return;
|
|
333
|
-
|
|
334
|
-
console.log('\nš Stopping Memory Monitor');
|
|
335
|
-
this.monitoring = false;
|
|
336
|
-
|
|
337
|
-
if (this.monitorInterval) {
|
|
338
|
-
clearInterval(this.monitorInterval);
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
// Generate analysis report
|
|
342
|
-
await this.generateReport();
|
|
343
|
-
|
|
344
|
-
if (this.onStop) {
|
|
345
|
-
this.onStop();
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* Generate memory analysis report
|
|
351
|
-
*/
|
|
352
|
-
async generateReport() {
|
|
353
|
-
console.log('\nš Memory Analysis Report');
|
|
354
|
-
console.log('='.repeat(50));
|
|
355
|
-
|
|
356
|
-
if (this.samples.length === 0) {
|
|
357
|
-
console.log('ā No samples collected');
|
|
358
|
-
return;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
// Group samples by process
|
|
362
|
-
const processGroups = {};
|
|
363
|
-
for (const sample of this.samples) {
|
|
364
|
-
const key = `${sample.pid}-${sample.name}`;
|
|
365
|
-
if (!processGroups[key]) {
|
|
366
|
-
processGroups[key] = [];
|
|
367
|
-
}
|
|
368
|
-
processGroups[key].push(sample);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
// Analyze each process
|
|
372
|
-
for (const [processKey, samples] of Object.entries(processGroups)) {
|
|
373
|
-
const [pid, name] = processKey.split('-');
|
|
374
|
-
console.log(`\nš Process: ${name} (PID: ${pid})`);
|
|
375
|
-
|
|
376
|
-
const memoryValues = samples.map(s => s.rss);
|
|
377
|
-
const cpuValues = samples.map(s => s.cpu);
|
|
378
|
-
|
|
379
|
-
const minMemory = Math.min(...memoryValues);
|
|
380
|
-
const maxMemory = Math.max(...memoryValues);
|
|
381
|
-
const avgMemory = memoryValues.reduce((a, b) => a + b, 0) / memoryValues.length;
|
|
382
|
-
|
|
383
|
-
const minCpu = Math.min(...cpuValues);
|
|
384
|
-
const maxCpu = Math.max(...cpuValues);
|
|
385
|
-
const avgCpu = cpuValues.reduce((a, b) => a + b, 0) / cpuValues.length;
|
|
386
|
-
|
|
387
|
-
console.log(` Memory: ${minMemory}MB ā ${maxMemory}MB (avg: ${avgMemory.toFixed(1)}MB)`);
|
|
388
|
-
console.log(` CPU: ${minCpu}% ā ${maxCpu}% (avg: ${avgCpu.toFixed(1)}%)`);
|
|
389
|
-
console.log(` Samples: ${samples.length}`);
|
|
390
|
-
|
|
391
|
-
// Check for memory leak pattern with more realistic thresholds
|
|
392
|
-
const memoryGrowth = maxMemory - minMemory;
|
|
393
|
-
const memoryGrowthRate = memoryGrowth / (samples.length * this.interval / 1000); // MB/second
|
|
394
|
-
|
|
395
|
-
if (memoryGrowth > 500) { // More than 500MB growth (increased from 100MB)
|
|
396
|
-
console.log(` ā ļø Memory growth: ${memoryGrowth}MB (${memoryGrowthRate.toFixed(2)}MB/s)`);
|
|
397
|
-
|
|
398
|
-
if (memoryGrowthRate > 5.0) { // More than 5MB/second (increased from 1MB/s)
|
|
399
|
-
console.log(` šØ POTENTIAL MEMORY LEAK DETECTED!`);
|
|
400
|
-
console.log(` š” Consider monitoring longer before killing - legitimate file operations can cause temporary spikes`);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
// Check for CPU spikes
|
|
405
|
-
if (maxCpu > 80) {
|
|
406
|
-
console.log(` ā ļø High CPU usage detected: ${maxCpu}%`);
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
// Write detailed report to file
|
|
411
|
-
const reportFile = this.logFile.replace('.log', '-report.json');
|
|
412
|
-
await fs.writeFile(reportFile, JSON.stringify({
|
|
413
|
-
summary: {
|
|
414
|
-
totalSamples: this.samples.length,
|
|
415
|
-
duration: Date.now() - this.startTime,
|
|
416
|
-
processesAnalyzed: Object.keys(processGroups).length
|
|
417
|
-
},
|
|
418
|
-
processGroups,
|
|
419
|
-
samples: this.samples
|
|
420
|
-
}, null, 2));
|
|
421
|
-
|
|
422
|
-
console.log(`\nš Detailed report saved to: ${reportFile}`);
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/**
|
|
427
|
-
* Monitor a specific coordinator process
|
|
428
|
-
*/
|
|
429
|
-
async function monitorCoordinator(args = []) {
|
|
430
|
-
const options = {
|
|
431
|
-
interval: 2000, // 2 seconds
|
|
432
|
-
maxDuration: 300000, // 5 minutes for realistic monitoring (increased from 1 minute)
|
|
433
|
-
logFile: './coordinator-memory.log'
|
|
434
|
-
};
|
|
435
|
-
|
|
436
|
-
// If coordinator PID provided, monitor it specifically
|
|
437
|
-
const coordinatorPidArg = args.find(arg => arg.startsWith('--pid='));
|
|
438
|
-
if (coordinatorPidArg) {
|
|
439
|
-
options.targetPid = parseInt(coordinatorPidArg.split('=')[1]);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
const monitor = new MemoryMonitor(options);
|
|
443
|
-
await monitor.start();
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
// Run if executed directly
|
|
447
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
448
|
-
monitorCoordinator(process.argv.slice(2)).catch(console.error);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
export { MemoryMonitor };
|