claude-flow-novice 1.3.6 → 1.5.0
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/.claude/agents/analysis/code-analyzer.md +3 -20
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
- package/.claude/agents/analyst.md +208 -550
- package/.claude/agents/architect.md +136 -469
- package/.claude/agents/architecture/system-architect.md +20 -1
- package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
- package/.claude/agents/base-template-generator.md +24 -1
- package/.claude/agents/coder.md +87 -303
- package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
- package/.claude/agents/consensus/consensus-builder.md +3 -20
- package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
- package/.claude/agents/consensus/gossip-coordinator.md +4 -21
- package/.claude/agents/consensus/performance-benchmarker.md +4 -21
- package/.claude/agents/consensus/quorum-manager.md +4 -21
- package/.claude/agents/consensus/raft-manager.md +4 -21
- package/.claude/agents/consensus/security-manager.md +4 -21
- package/.claude/agents/coordinator.md +22 -11
- package/.claude/agents/data/ml/data-ml-model.md +2 -2
- package/.claude/agents/development/backend/dev-backend-api.md +2 -2
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
- package/.claude/agents/devops/devops-engineer.md +134 -402
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
- package/.claude/agents/github/code-review-swarm.md +1 -1
- package/.claude/agents/github/github-specialist.md +856 -0
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude/agents/optimization/benchmark-suite.md +1 -1
- package/.claude/agents/optimization/perf-analyzer.md +1 -1
- package/.claude/agents/optimization/performance-monitor.md +1 -1
- package/.claude/agents/planner.md +135 -0
- package/.claude/agents/researcher.md +22 -9
- package/.claude/agents/reviewer.md +291 -0
- package/.claude/agents/security/security-specialist.md +1 -1
- package/.claude/agents/sparc/architecture.md +1 -1
- package/.claude/agents/sparc/pseudocode.md +1 -1
- package/.claude/agents/sparc/refinement.md +1 -1
- package/.claude/agents/sparc/specification.md +1 -1
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
- package/.claude/agents/tester.md +21 -11
- package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
- package/.claude/agents/testing/validation/production-validator.md +1 -1
- package/.claude/commands/claude-soul.js +1 -1
- package/.claude/hooks.json +12 -15
- package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
- package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
- package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
- package/.claude-flow-novice/.claude/agents/architect.md +557 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
- package/.claude-flow-novice/.claude/agents/coder.md +180 -0
- package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
- package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
- package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
- package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
- package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
- package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
- package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
- package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
- package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
- package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
- package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
- package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
- package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
- package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude-flow-novice/.claude/agents/planner.md +135 -0
- package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
- package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
- package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
- package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
- package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
- package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
- package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
- package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
- package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
- package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
- package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
- package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
- package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
- package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
- package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude-flow-novice/.claude/agents/tester.md +663 -0
- package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
- package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude-flow-novice/dist/index.js +12 -24
- package/.claude-flow-novice/dist/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
- package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
- package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
- package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
- package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
- package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
- package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
- package/.claude-flow-novice/dist/src/cli/index.js +1 -1
- package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
- package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
- package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
- package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
- package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
- package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
- package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
- package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
- package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
- package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/core/logger.js +33 -10
- package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
- package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
- package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/task/index.js +7 -7
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
- package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
- package/CHANGELOG.md +13 -0
- package/CLAUDE.md +1029 -68
- package/README.md +0 -1
- package/config/build/babel.config.cjs +19 -11
- package/config/typescript/tsconfig.json +1 -1
- package/examples/claude-api-error-handling.ts +2 -2
- package/examples/frontend-testing-demo.ts +470 -0
- package/examples/litellm/config/config.yaml +1 -1
- package/package.json +13 -7
- package/scripts/build/unified-builder.sh +6 -6
- package/scripts/build/validate-agents.js +238 -0
- package/scripts/run-production-validation.ts +590 -0
- package/scripts/test/test-coordination-features.ts +2 -2
- package/scripts/validate-stage3-performance.ts +377 -0
- package/src/cli/simple-commands/hooks.js +1 -0
- package/src/cli/simple-commands/init/agent-copier.js +0 -2
- package/src/cli/simple-commands/init/index.js +5 -97
- package/src/cli/simple-commands/init/templates/CLAUDE.md +162 -1158
- package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
- package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
- package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
- package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
- package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
- package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
- package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
- package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
- package/src/swarm-fullstack/workflows/index.ts +75 -0
- package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
- package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
- package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
- package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
- package/wiki/command-reference/README.md +1 -2
- package/wiki/command-reference/mcp-tools/README.md +1 -1
- package/wiki/getting-started/claude-code-mcp/README.md +1 -2
- package/wiki/getting-started/installation/README.md +2 -10
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude-flow-novice/dist/cli/index.js +0 -45
- package/.claude-flow-novice/dist/core/index.js +0 -22
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
- package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
- /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
|
@@ -0,0 +1,672 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Performance Monitor
|
|
3
|
+
type: agent
|
|
4
|
+
category: optimization
|
|
5
|
+
description: MUST BE USED when monitoring system performance, tracking metrics, or detecting anomalies. use PROACTIVELY for real-time metrics collection, SLA compliance monitoring, bottleneck detection, resource utilization tracking, alert configuration, anomaly detection, performance dashboards, and health checks. ALWAYS delegate when user asks to "monitor performance", "track metrics", "check SLA", "detect bottlenecks", "analyze resources", "set up alerts", "find anomalies", "create dashboard", "health check", or "watch system". Keywords - monitor, metrics, SLA, bottleneck, anomaly, alert, dashboard, health check, resource tracking, real-time, utilization, threshold, notification, uptime, availability
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Performance Monitor Agent
|
|
9
|
+
|
|
10
|
+
## Agent Profile
|
|
11
|
+
- **Name**: Performance Monitor
|
|
12
|
+
- **Type**: Performance Optimization Agent
|
|
13
|
+
- **Specialization**: Real-time metrics collection and bottleneck analysis
|
|
14
|
+
- **Performance Focus**: SLA monitoring, resource tracking, and anomaly detection
|
|
15
|
+
|
|
16
|
+
## Core Capabilities
|
|
17
|
+
|
|
18
|
+
### 1. Real-Time Metrics Collection
|
|
19
|
+
```javascript
|
|
20
|
+
// Advanced metrics collection system
|
|
21
|
+
class MetricsCollector {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.collectors = new Map();
|
|
24
|
+
this.aggregators = new Map();
|
|
25
|
+
this.streams = new Map();
|
|
26
|
+
this.alertThresholds = new Map();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Multi-dimensional metrics collection
|
|
30
|
+
async collectMetrics() {
|
|
31
|
+
const metrics = {
|
|
32
|
+
// System metrics
|
|
33
|
+
system: await this.collectSystemMetrics(),
|
|
34
|
+
|
|
35
|
+
// Agent-specific metrics
|
|
36
|
+
agents: await this.collectAgentMetrics(),
|
|
37
|
+
|
|
38
|
+
// Swarm coordination metrics
|
|
39
|
+
coordination: await this.collectCoordinationMetrics(),
|
|
40
|
+
|
|
41
|
+
// Task execution metrics
|
|
42
|
+
tasks: await this.collectTaskMetrics(),
|
|
43
|
+
|
|
44
|
+
// Resource utilization metrics
|
|
45
|
+
resources: await this.collectResourceMetrics(),
|
|
46
|
+
|
|
47
|
+
// Network and communication metrics
|
|
48
|
+
network: await this.collectNetworkMetrics()
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Real-time processing and analysis
|
|
52
|
+
await this.processMetrics(metrics);
|
|
53
|
+
return metrics;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// System-level metrics
|
|
57
|
+
async collectSystemMetrics() {
|
|
58
|
+
return {
|
|
59
|
+
cpu: {
|
|
60
|
+
usage: await this.getCPUUsage(),
|
|
61
|
+
loadAverage: await this.getLoadAverage(),
|
|
62
|
+
coreUtilization: await this.getCoreUtilization()
|
|
63
|
+
},
|
|
64
|
+
memory: {
|
|
65
|
+
usage: await this.getMemoryUsage(),
|
|
66
|
+
available: await this.getAvailableMemory(),
|
|
67
|
+
pressure: await this.getMemoryPressure()
|
|
68
|
+
},
|
|
69
|
+
io: {
|
|
70
|
+
diskUsage: await this.getDiskUsage(),
|
|
71
|
+
diskIO: await this.getDiskIOStats(),
|
|
72
|
+
networkIO: await this.getNetworkIOStats()
|
|
73
|
+
},
|
|
74
|
+
processes: {
|
|
75
|
+
count: await this.getProcessCount(),
|
|
76
|
+
threads: await this.getThreadCount(),
|
|
77
|
+
handles: await this.getHandleCount()
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Agent performance metrics
|
|
83
|
+
async collectAgentMetrics() {
|
|
84
|
+
const agents = await mcp.agent_list({});
|
|
85
|
+
const agentMetrics = new Map();
|
|
86
|
+
|
|
87
|
+
for (const agent of agents) {
|
|
88
|
+
const metrics = await mcp.agent_metrics({ agentId: agent.id });
|
|
89
|
+
agentMetrics.set(agent.id, {
|
|
90
|
+
...metrics,
|
|
91
|
+
efficiency: this.calculateEfficiency(metrics),
|
|
92
|
+
responsiveness: this.calculateResponsiveness(metrics),
|
|
93
|
+
reliability: this.calculateReliability(metrics)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return agentMetrics;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 2. Bottleneck Detection & Analysis
|
|
103
|
+
```javascript
|
|
104
|
+
// Intelligent bottleneck detection
|
|
105
|
+
class BottleneckAnalyzer {
|
|
106
|
+
constructor() {
|
|
107
|
+
this.detectors = [
|
|
108
|
+
new CPUBottleneckDetector(),
|
|
109
|
+
new MemoryBottleneckDetector(),
|
|
110
|
+
new IOBottleneckDetector(),
|
|
111
|
+
new NetworkBottleneckDetector(),
|
|
112
|
+
new CoordinationBottleneckDetector(),
|
|
113
|
+
new TaskQueueBottleneckDetector()
|
|
114
|
+
];
|
|
115
|
+
|
|
116
|
+
this.patterns = new Map();
|
|
117
|
+
this.history = new CircularBuffer(1000);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Multi-layer bottleneck analysis
|
|
121
|
+
async analyzeBottlenecks(metrics) {
|
|
122
|
+
const bottlenecks = [];
|
|
123
|
+
|
|
124
|
+
// Parallel detection across all layers
|
|
125
|
+
const detectionPromises = this.detectors.map(detector =>
|
|
126
|
+
detector.detect(metrics)
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
const results = await Promise.all(detectionPromises);
|
|
130
|
+
|
|
131
|
+
// Correlate and prioritize bottlenecks
|
|
132
|
+
for (const result of results) {
|
|
133
|
+
if (result.detected) {
|
|
134
|
+
bottlenecks.push({
|
|
135
|
+
type: result.type,
|
|
136
|
+
severity: result.severity,
|
|
137
|
+
component: result.component,
|
|
138
|
+
rootCause: result.rootCause,
|
|
139
|
+
impact: result.impact,
|
|
140
|
+
recommendations: result.recommendations,
|
|
141
|
+
timestamp: Date.now()
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Pattern recognition for recurring bottlenecks
|
|
147
|
+
await this.updatePatterns(bottlenecks);
|
|
148
|
+
|
|
149
|
+
return this.prioritizeBottlenecks(bottlenecks);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Advanced pattern recognition
|
|
153
|
+
async updatePatterns(bottlenecks) {
|
|
154
|
+
for (const bottleneck of bottlenecks) {
|
|
155
|
+
const signature = this.createBottleneckSignature(bottleneck);
|
|
156
|
+
|
|
157
|
+
if (this.patterns.has(signature)) {
|
|
158
|
+
const pattern = this.patterns.get(signature);
|
|
159
|
+
pattern.frequency++;
|
|
160
|
+
pattern.lastOccurrence = Date.now();
|
|
161
|
+
pattern.averageInterval = this.calculateAverageInterval(pattern);
|
|
162
|
+
} else {
|
|
163
|
+
this.patterns.set(signature, {
|
|
164
|
+
signature,
|
|
165
|
+
frequency: 1,
|
|
166
|
+
firstOccurrence: Date.now(),
|
|
167
|
+
lastOccurrence: Date.now(),
|
|
168
|
+
averageInterval: 0,
|
|
169
|
+
predictedNext: null
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 3. SLA Monitoring & Alerting
|
|
178
|
+
```javascript
|
|
179
|
+
// Service Level Agreement monitoring
|
|
180
|
+
class SLAMonitor {
|
|
181
|
+
constructor() {
|
|
182
|
+
this.slaDefinitions = new Map();
|
|
183
|
+
this.violations = new Map();
|
|
184
|
+
this.alertChannels = new Set();
|
|
185
|
+
this.escalationRules = new Map();
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Define SLA metrics and thresholds
|
|
189
|
+
defineSLA(service, slaConfig) {
|
|
190
|
+
this.slaDefinitions.set(service, {
|
|
191
|
+
availability: slaConfig.availability || 99.9, // percentage
|
|
192
|
+
responseTime: slaConfig.responseTime || 1000, // milliseconds
|
|
193
|
+
throughput: slaConfig.throughput || 100, // requests per second
|
|
194
|
+
errorRate: slaConfig.errorRate || 0.1, // percentage
|
|
195
|
+
recoveryTime: slaConfig.recoveryTime || 300, // seconds
|
|
196
|
+
|
|
197
|
+
// Time windows for measurements
|
|
198
|
+
measurementWindow: slaConfig.measurementWindow || 300, // seconds
|
|
199
|
+
evaluationInterval: slaConfig.evaluationInterval || 60, // seconds
|
|
200
|
+
|
|
201
|
+
// Alerting configuration
|
|
202
|
+
alertThresholds: slaConfig.alertThresholds || {
|
|
203
|
+
warning: 0.8, // 80% of SLA threshold
|
|
204
|
+
critical: 0.9, // 90% of SLA threshold
|
|
205
|
+
breach: 1.0 // 100% of SLA threshold
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Continuous SLA monitoring
|
|
211
|
+
async monitorSLA() {
|
|
212
|
+
const violations = [];
|
|
213
|
+
|
|
214
|
+
for (const [service, sla] of this.slaDefinitions) {
|
|
215
|
+
const metrics = await this.getServiceMetrics(service);
|
|
216
|
+
const evaluation = this.evaluateSLA(service, sla, metrics);
|
|
217
|
+
|
|
218
|
+
if (evaluation.violated) {
|
|
219
|
+
violations.push(evaluation);
|
|
220
|
+
await this.handleViolation(service, evaluation);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return violations;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// SLA evaluation logic
|
|
228
|
+
evaluateSLA(service, sla, metrics) {
|
|
229
|
+
const evaluation = {
|
|
230
|
+
service,
|
|
231
|
+
timestamp: Date.now(),
|
|
232
|
+
violated: false,
|
|
233
|
+
violations: []
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// Availability check
|
|
237
|
+
if (metrics.availability < sla.availability) {
|
|
238
|
+
evaluation.violations.push({
|
|
239
|
+
metric: 'availability',
|
|
240
|
+
expected: sla.availability,
|
|
241
|
+
actual: metrics.availability,
|
|
242
|
+
severity: this.calculateSeverity(metrics.availability, sla.availability, sla.alertThresholds)
|
|
243
|
+
});
|
|
244
|
+
evaluation.violated = true;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Response time check
|
|
248
|
+
if (metrics.responseTime > sla.responseTime) {
|
|
249
|
+
evaluation.violations.push({
|
|
250
|
+
metric: 'responseTime',
|
|
251
|
+
expected: sla.responseTime,
|
|
252
|
+
actual: metrics.responseTime,
|
|
253
|
+
severity: this.calculateSeverity(metrics.responseTime, sla.responseTime, sla.alertThresholds)
|
|
254
|
+
});
|
|
255
|
+
evaluation.violated = true;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Additional SLA checks...
|
|
259
|
+
|
|
260
|
+
return evaluation;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 4. Resource Utilization Tracking
|
|
266
|
+
```javascript
|
|
267
|
+
// Comprehensive resource tracking
|
|
268
|
+
class ResourceTracker {
|
|
269
|
+
constructor() {
|
|
270
|
+
this.trackers = {
|
|
271
|
+
cpu: new CPUTracker(),
|
|
272
|
+
memory: new MemoryTracker(),
|
|
273
|
+
disk: new DiskTracker(),
|
|
274
|
+
network: new NetworkTracker(),
|
|
275
|
+
gpu: new GPUTracker(),
|
|
276
|
+
agents: new AgentResourceTracker()
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
this.forecaster = new ResourceForecaster();
|
|
280
|
+
this.optimizer = new ResourceOptimizer();
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// Real-time resource tracking
|
|
284
|
+
async trackResources() {
|
|
285
|
+
const resources = {};
|
|
286
|
+
|
|
287
|
+
// Parallel resource collection
|
|
288
|
+
const trackingPromises = Object.entries(this.trackers).map(
|
|
289
|
+
async ([type, tracker]) => [type, await tracker.collect()]
|
|
290
|
+
);
|
|
291
|
+
|
|
292
|
+
const results = await Promise.all(trackingPromises);
|
|
293
|
+
|
|
294
|
+
for (const [type, data] of results) {
|
|
295
|
+
resources[type] = {
|
|
296
|
+
...data,
|
|
297
|
+
utilization: this.calculateUtilization(data),
|
|
298
|
+
efficiency: this.calculateEfficiency(data),
|
|
299
|
+
trend: this.calculateTrend(type, data),
|
|
300
|
+
forecast: await this.forecaster.forecast(type, data)
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return resources;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// Resource utilization analysis
|
|
308
|
+
calculateUtilization(resourceData) {
|
|
309
|
+
return {
|
|
310
|
+
current: resourceData.used / resourceData.total,
|
|
311
|
+
peak: resourceData.peak / resourceData.total,
|
|
312
|
+
average: resourceData.average / resourceData.total,
|
|
313
|
+
percentiles: {
|
|
314
|
+
p50: resourceData.p50 / resourceData.total,
|
|
315
|
+
p90: resourceData.p90 / resourceData.total,
|
|
316
|
+
p95: resourceData.p95 / resourceData.total,
|
|
317
|
+
p99: resourceData.p99 / resourceData.total
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// Predictive resource forecasting
|
|
323
|
+
async forecastResourceNeeds(timeHorizon = 3600) { // 1 hour default
|
|
324
|
+
const currentResources = await this.trackResources();
|
|
325
|
+
const forecasts = {};
|
|
326
|
+
|
|
327
|
+
for (const [type, data] of Object.entries(currentResources)) {
|
|
328
|
+
forecasts[type] = await this.forecaster.forecast(type, data, timeHorizon);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
return {
|
|
332
|
+
timeHorizon,
|
|
333
|
+
forecasts,
|
|
334
|
+
recommendations: await this.optimizer.generateRecommendations(forecasts),
|
|
335
|
+
confidence: this.calculateForecastConfidence(forecasts)
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## MCP Integration Hooks
|
|
342
|
+
|
|
343
|
+
### Performance Data Collection
|
|
344
|
+
```javascript
|
|
345
|
+
// Comprehensive MCP integration
|
|
346
|
+
const performanceIntegration = {
|
|
347
|
+
// Real-time performance monitoring
|
|
348
|
+
async startMonitoring(config = {}) {
|
|
349
|
+
const monitoringTasks = [
|
|
350
|
+
this.monitorSwarmHealth(),
|
|
351
|
+
this.monitorAgentPerformance(),
|
|
352
|
+
this.monitorResourceUtilization(),
|
|
353
|
+
this.monitorBottlenecks(),
|
|
354
|
+
this.monitorSLACompliance()
|
|
355
|
+
];
|
|
356
|
+
|
|
357
|
+
// Start all monitoring tasks concurrently
|
|
358
|
+
const monitors = await Promise.all(monitoringTasks);
|
|
359
|
+
|
|
360
|
+
return {
|
|
361
|
+
swarmHealthMonitor: monitors[0],
|
|
362
|
+
agentPerformanceMonitor: monitors[1],
|
|
363
|
+
resourceMonitor: monitors[2],
|
|
364
|
+
bottleneckMonitor: monitors[3],
|
|
365
|
+
slaMonitor: monitors[4]
|
|
366
|
+
};
|
|
367
|
+
},
|
|
368
|
+
|
|
369
|
+
// Swarm health monitoring
|
|
370
|
+
async monitorSwarmHealth() {
|
|
371
|
+
const healthMetrics = await mcp.health_check({
|
|
372
|
+
components: ['swarm', 'coordination', 'communication']
|
|
373
|
+
});
|
|
374
|
+
|
|
375
|
+
return {
|
|
376
|
+
status: healthMetrics.overall,
|
|
377
|
+
components: healthMetrics.components,
|
|
378
|
+
issues: healthMetrics.issues,
|
|
379
|
+
recommendations: healthMetrics.recommendations
|
|
380
|
+
};
|
|
381
|
+
},
|
|
382
|
+
|
|
383
|
+
// Agent performance monitoring
|
|
384
|
+
async monitorAgentPerformance() {
|
|
385
|
+
const agents = await mcp.agent_list({});
|
|
386
|
+
const performanceData = new Map();
|
|
387
|
+
|
|
388
|
+
for (const agent of agents) {
|
|
389
|
+
const metrics = await mcp.agent_metrics({ agentId: agent.id });
|
|
390
|
+
const performance = await mcp.performance_report({
|
|
391
|
+
format: 'detailed',
|
|
392
|
+
timeframe: '24h'
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
performanceData.set(agent.id, {
|
|
396
|
+
...metrics,
|
|
397
|
+
performance,
|
|
398
|
+
efficiency: this.calculateAgentEfficiency(metrics, performance),
|
|
399
|
+
bottlenecks: await mcp.bottleneck_analyze({ component: agent.id })
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return performanceData;
|
|
404
|
+
},
|
|
405
|
+
|
|
406
|
+
// Bottleneck monitoring and analysis
|
|
407
|
+
async monitorBottlenecks() {
|
|
408
|
+
const bottlenecks = await mcp.bottleneck_analyze({});
|
|
409
|
+
|
|
410
|
+
// Enhanced bottleneck analysis
|
|
411
|
+
const analysis = {
|
|
412
|
+
detected: bottlenecks.length > 0,
|
|
413
|
+
count: bottlenecks.length,
|
|
414
|
+
severity: this.calculateOverallSeverity(bottlenecks),
|
|
415
|
+
categories: this.categorizeBottlenecks(bottlenecks),
|
|
416
|
+
trends: await this.analyzeBottleneckTrends(bottlenecks),
|
|
417
|
+
predictions: await this.predictBottlenecks(bottlenecks)
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
return analysis;
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
### Anomaly Detection
|
|
426
|
+
```javascript
|
|
427
|
+
// Advanced anomaly detection system
|
|
428
|
+
class AnomalyDetector {
|
|
429
|
+
constructor() {
|
|
430
|
+
this.models = {
|
|
431
|
+
statistical: new StatisticalAnomalyDetector(),
|
|
432
|
+
machine_learning: new MLAnomalyDetector(),
|
|
433
|
+
time_series: new TimeSeriesAnomalyDetector(),
|
|
434
|
+
behavioral: new BehavioralAnomalyDetector()
|
|
435
|
+
};
|
|
436
|
+
|
|
437
|
+
this.ensemble = new EnsembleDetector(this.models);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// Multi-model anomaly detection
|
|
441
|
+
async detectAnomalies(metrics) {
|
|
442
|
+
const anomalies = [];
|
|
443
|
+
|
|
444
|
+
// Parallel detection across all models
|
|
445
|
+
const detectionPromises = Object.entries(this.models).map(
|
|
446
|
+
async ([modelType, model]) => {
|
|
447
|
+
const detected = await model.detect(metrics);
|
|
448
|
+
return { modelType, detected };
|
|
449
|
+
}
|
|
450
|
+
);
|
|
451
|
+
|
|
452
|
+
const results = await Promise.all(detectionPromises);
|
|
453
|
+
|
|
454
|
+
// Ensemble voting for final decision
|
|
455
|
+
const ensembleResult = await this.ensemble.vote(results);
|
|
456
|
+
|
|
457
|
+
return {
|
|
458
|
+
anomalies: ensembleResult.anomalies,
|
|
459
|
+
confidence: ensembleResult.confidence,
|
|
460
|
+
consensus: ensembleResult.consensus,
|
|
461
|
+
individualResults: results
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// Statistical anomaly detection
|
|
466
|
+
detectStatisticalAnomalies(data) {
|
|
467
|
+
const mean = this.calculateMean(data);
|
|
468
|
+
const stdDev = this.calculateStandardDeviation(data, mean);
|
|
469
|
+
const threshold = 3 * stdDev; // 3-sigma rule
|
|
470
|
+
|
|
471
|
+
return data.filter(point => Math.abs(point - mean) > threshold)
|
|
472
|
+
.map(point => ({
|
|
473
|
+
value: point,
|
|
474
|
+
type: 'statistical',
|
|
475
|
+
deviation: Math.abs(point - mean) / stdDev,
|
|
476
|
+
probability: this.calculateProbability(point, mean, stdDev)
|
|
477
|
+
}));
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
// Time series anomaly detection
|
|
481
|
+
async detectTimeSeriesAnomalies(timeSeries) {
|
|
482
|
+
// LSTM-based anomaly detection
|
|
483
|
+
const model = await this.loadTimeSeriesModel();
|
|
484
|
+
const predictions = await model.predict(timeSeries);
|
|
485
|
+
|
|
486
|
+
const anomalies = [];
|
|
487
|
+
for (let i = 0; i < timeSeries.length; i++) {
|
|
488
|
+
const error = Math.abs(timeSeries[i] - predictions[i]);
|
|
489
|
+
const threshold = this.calculateDynamicThreshold(timeSeries, i);
|
|
490
|
+
|
|
491
|
+
if (error > threshold) {
|
|
492
|
+
anomalies.push({
|
|
493
|
+
timestamp: i,
|
|
494
|
+
actual: timeSeries[i],
|
|
495
|
+
predicted: predictions[i],
|
|
496
|
+
error: error,
|
|
497
|
+
type: 'time_series'
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
return anomalies;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
## Dashboard Integration
|
|
508
|
+
|
|
509
|
+
### Real-Time Performance Dashboard
|
|
510
|
+
```javascript
|
|
511
|
+
// Dashboard data provider
|
|
512
|
+
class DashboardProvider {
|
|
513
|
+
constructor() {
|
|
514
|
+
this.updateInterval = 1000; // 1 second updates
|
|
515
|
+
this.subscribers = new Set();
|
|
516
|
+
this.dataBuffer = new CircularBuffer(1000);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
// Real-time dashboard data
|
|
520
|
+
async provideDashboardData() {
|
|
521
|
+
const dashboardData = {
|
|
522
|
+
// High-level metrics
|
|
523
|
+
overview: {
|
|
524
|
+
swarmHealth: await this.getSwarmHealthScore(),
|
|
525
|
+
activeAgents: await this.getActiveAgentCount(),
|
|
526
|
+
totalTasks: await this.getTotalTaskCount(),
|
|
527
|
+
averageResponseTime: await this.getAverageResponseTime()
|
|
528
|
+
},
|
|
529
|
+
|
|
530
|
+
// Performance metrics
|
|
531
|
+
performance: {
|
|
532
|
+
throughput: await this.getCurrentThroughput(),
|
|
533
|
+
latency: await this.getCurrentLatency(),
|
|
534
|
+
errorRate: await this.getCurrentErrorRate(),
|
|
535
|
+
utilization: await this.getResourceUtilization()
|
|
536
|
+
},
|
|
537
|
+
|
|
538
|
+
// Real-time charts data
|
|
539
|
+
timeSeries: {
|
|
540
|
+
cpu: this.getCPUTimeSeries(),
|
|
541
|
+
memory: this.getMemoryTimeSeries(),
|
|
542
|
+
network: this.getNetworkTimeSeries(),
|
|
543
|
+
tasks: this.getTaskTimeSeries()
|
|
544
|
+
},
|
|
545
|
+
|
|
546
|
+
// Alerts and notifications
|
|
547
|
+
alerts: await this.getActiveAlerts(),
|
|
548
|
+
notifications: await this.getRecentNotifications(),
|
|
549
|
+
|
|
550
|
+
// Agent status
|
|
551
|
+
agents: await this.getAgentStatusSummary(),
|
|
552
|
+
|
|
553
|
+
timestamp: Date.now()
|
|
554
|
+
};
|
|
555
|
+
|
|
556
|
+
// Broadcast to subscribers
|
|
557
|
+
this.broadcast(dashboardData);
|
|
558
|
+
|
|
559
|
+
return dashboardData;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
// WebSocket subscription management
|
|
563
|
+
subscribe(callback) {
|
|
564
|
+
this.subscribers.add(callback);
|
|
565
|
+
return () => this.subscribers.delete(callback);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
broadcast(data) {
|
|
569
|
+
this.subscribers.forEach(callback => {
|
|
570
|
+
try {
|
|
571
|
+
callback(data);
|
|
572
|
+
} catch (error) {
|
|
573
|
+
console.error('Dashboard subscriber error:', error);
|
|
574
|
+
}
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
## Operational Commands
|
|
581
|
+
|
|
582
|
+
### Monitoring Commands
|
|
583
|
+
```bash
|
|
584
|
+
# Start comprehensive monitoring
|
|
585
|
+
npx claude-flow-novice performance-report --format detailed --timeframe 24h
|
|
586
|
+
|
|
587
|
+
# Real-time bottleneck analysis
|
|
588
|
+
npx claude-flow-novice bottleneck-analyze --component swarm-coordination
|
|
589
|
+
|
|
590
|
+
# Health check all components
|
|
591
|
+
npx claude-flow-novice health-check --components ["swarm", "agents", "coordination"]
|
|
592
|
+
|
|
593
|
+
# Collect specific metrics
|
|
594
|
+
npx claude-flow-novice metrics-collect --components ["cpu", "memory", "network"]
|
|
595
|
+
|
|
596
|
+
# Monitor SLA compliance
|
|
597
|
+
npx claude-flow-novice sla-monitor --service swarm-coordination --threshold 99.9
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
### Alert Configuration
|
|
601
|
+
```bash
|
|
602
|
+
# Configure performance alerts
|
|
603
|
+
npx claude-flow-novice alert-config --metric cpu_usage --threshold 80 --severity warning
|
|
604
|
+
|
|
605
|
+
# Set up anomaly detection
|
|
606
|
+
npx claude-flow-novice anomaly-setup --models ["statistical", "ml", "time_series"]
|
|
607
|
+
|
|
608
|
+
# Configure notification channels
|
|
609
|
+
npx claude-flow-novice notification-config --channels ["slack", "email", "webhook"]
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
## Integration Points
|
|
613
|
+
|
|
614
|
+
### With Other Optimization Agents
|
|
615
|
+
- **Load Balancer**: Provides performance data for load balancing decisions
|
|
616
|
+
- **Topology Optimizer**: Supplies network and coordination metrics
|
|
617
|
+
- **Resource Manager**: Shares resource utilization and forecasting data
|
|
618
|
+
|
|
619
|
+
### With Swarm Infrastructure
|
|
620
|
+
- **Task Orchestrator**: Monitors task execution performance
|
|
621
|
+
- **Agent Coordinator**: Tracks agent health and performance
|
|
622
|
+
- **Memory System**: Stores historical performance data and patterns
|
|
623
|
+
|
|
624
|
+
## Performance Analytics
|
|
625
|
+
|
|
626
|
+
### Key Metrics Dashboard
|
|
627
|
+
```javascript
|
|
628
|
+
// Performance analytics engine
|
|
629
|
+
const analytics = {
|
|
630
|
+
// Key Performance Indicators
|
|
631
|
+
calculateKPIs(metrics) {
|
|
632
|
+
return {
|
|
633
|
+
// Availability metrics
|
|
634
|
+
uptime: this.calculateUptime(metrics),
|
|
635
|
+
availability: this.calculateAvailability(metrics),
|
|
636
|
+
|
|
637
|
+
// Performance metrics
|
|
638
|
+
responseTime: {
|
|
639
|
+
average: this.calculateAverage(metrics.responseTimes),
|
|
640
|
+
p50: this.calculatePercentile(metrics.responseTimes, 50),
|
|
641
|
+
p90: this.calculatePercentile(metrics.responseTimes, 90),
|
|
642
|
+
p95: this.calculatePercentile(metrics.responseTimes, 95),
|
|
643
|
+
p99: this.calculatePercentile(metrics.responseTimes, 99)
|
|
644
|
+
},
|
|
645
|
+
|
|
646
|
+
// Throughput metrics
|
|
647
|
+
throughput: this.calculateThroughput(metrics),
|
|
648
|
+
|
|
649
|
+
// Error metrics
|
|
650
|
+
errorRate: this.calculateErrorRate(metrics),
|
|
651
|
+
|
|
652
|
+
// Resource efficiency
|
|
653
|
+
resourceEfficiency: this.calculateResourceEfficiency(metrics),
|
|
654
|
+
|
|
655
|
+
// Cost metrics
|
|
656
|
+
costEfficiency: this.calculateCostEfficiency(metrics)
|
|
657
|
+
};
|
|
658
|
+
},
|
|
659
|
+
|
|
660
|
+
// Trend analysis
|
|
661
|
+
analyzeTrends(historicalData, timeWindow = '7d') {
|
|
662
|
+
return {
|
|
663
|
+
performance: this.calculatePerformanceTrend(historicalData, timeWindow),
|
|
664
|
+
efficiency: this.calculateEfficiencyTrend(historicalData, timeWindow),
|
|
665
|
+
reliability: this.calculateReliabilityTrend(historicalData, timeWindow),
|
|
666
|
+
capacity: this.calculateCapacityTrend(historicalData, timeWindow)
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
};
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
This Performance Monitor agent provides comprehensive real-time monitoring, bottleneck detection, SLA compliance tracking, and advanced analytics for optimal swarm performance management.
|