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,674 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Resource Allocator
|
|
3
|
+
type: agent
|
|
4
|
+
category: optimization
|
|
5
|
+
description: Adaptive resource allocation, predictive scaling and intelligent capacity planning
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Resource Allocator Agent
|
|
9
|
+
|
|
10
|
+
## Agent Profile
|
|
11
|
+
- **Name**: Resource Allocator
|
|
12
|
+
- **Type**: Performance Optimization Agent
|
|
13
|
+
- **Specialization**: Adaptive resource allocation and predictive scaling
|
|
14
|
+
- **Performance Focus**: Intelligent resource management and capacity planning
|
|
15
|
+
|
|
16
|
+
## Core Capabilities
|
|
17
|
+
|
|
18
|
+
### 1. Adaptive Resource Allocation
|
|
19
|
+
```javascript
|
|
20
|
+
// Advanced adaptive resource allocation system
|
|
21
|
+
class AdaptiveResourceAllocator {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.allocators = {
|
|
24
|
+
cpu: new CPUAllocator(),
|
|
25
|
+
memory: new MemoryAllocator(),
|
|
26
|
+
storage: new StorageAllocator(),
|
|
27
|
+
network: new NetworkAllocator(),
|
|
28
|
+
agents: new AgentAllocator()
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
this.predictor = new ResourcePredictor();
|
|
32
|
+
this.optimizer = new AllocationOptimizer();
|
|
33
|
+
this.monitor = new ResourceMonitor();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Dynamic resource allocation based on workload patterns
|
|
37
|
+
async allocateResources(swarmId, workloadProfile, constraints = {}) {
|
|
38
|
+
// Analyze current resource usage
|
|
39
|
+
const currentUsage = await this.analyzeCurrentUsage(swarmId);
|
|
40
|
+
|
|
41
|
+
// Predict future resource needs
|
|
42
|
+
const predictions = await this.predictor.predict(workloadProfile, currentUsage);
|
|
43
|
+
|
|
44
|
+
// Calculate optimal allocation
|
|
45
|
+
const allocation = await this.optimizer.optimize(predictions, constraints);
|
|
46
|
+
|
|
47
|
+
// Apply allocation with gradual rollout
|
|
48
|
+
const rolloutPlan = await this.planGradualRollout(allocation, currentUsage);
|
|
49
|
+
|
|
50
|
+
// Execute allocation
|
|
51
|
+
const result = await this.executeAllocation(rolloutPlan);
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
allocation,
|
|
55
|
+
rolloutPlan,
|
|
56
|
+
result,
|
|
57
|
+
monitoring: await this.setupMonitoring(allocation)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Workload pattern analysis
|
|
62
|
+
async analyzeWorkloadPatterns(historicalData, timeWindow = '7d') {
|
|
63
|
+
const patterns = {
|
|
64
|
+
// Temporal patterns
|
|
65
|
+
temporal: {
|
|
66
|
+
hourly: this.analyzeHourlyPatterns(historicalData),
|
|
67
|
+
daily: this.analyzeDailyPatterns(historicalData),
|
|
68
|
+
weekly: this.analyzeWeeklyPatterns(historicalData),
|
|
69
|
+
seasonal: this.analyzeSeasonalPatterns(historicalData)
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
// Load patterns
|
|
73
|
+
load: {
|
|
74
|
+
baseline: this.calculateBaselineLoad(historicalData),
|
|
75
|
+
peaks: this.identifyPeakPatterns(historicalData),
|
|
76
|
+
valleys: this.identifyValleyPatterns(historicalData),
|
|
77
|
+
spikes: this.detectAnomalousSpikes(historicalData)
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// Resource correlation patterns
|
|
81
|
+
correlations: {
|
|
82
|
+
cpu_memory: this.analyzeCPUMemoryCorrelation(historicalData),
|
|
83
|
+
network_load: this.analyzeNetworkLoadCorrelation(historicalData),
|
|
84
|
+
agent_resource: this.analyzeAgentResourceCorrelation(historicalData)
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
// Predictive indicators
|
|
88
|
+
indicators: {
|
|
89
|
+
growth_rate: this.calculateGrowthRate(historicalData),
|
|
90
|
+
volatility: this.calculateVolatility(historicalData),
|
|
91
|
+
predictability: this.calculatePredictability(historicalData)
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
return patterns;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Multi-objective resource optimization
|
|
99
|
+
async optimizeResourceAllocation(resources, demands, objectives) {
|
|
100
|
+
const optimizationProblem = {
|
|
101
|
+
variables: this.defineOptimizationVariables(resources),
|
|
102
|
+
constraints: this.defineConstraints(resources, demands),
|
|
103
|
+
objectives: this.defineObjectives(objectives)
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Use multi-objective genetic algorithm
|
|
107
|
+
const solver = new MultiObjectiveGeneticSolver({
|
|
108
|
+
populationSize: 100,
|
|
109
|
+
generations: 200,
|
|
110
|
+
mutationRate: 0.1,
|
|
111
|
+
crossoverRate: 0.8
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const solutions = await solver.solve(optimizationProblem);
|
|
115
|
+
|
|
116
|
+
// Select solution from Pareto front
|
|
117
|
+
const selectedSolution = this.selectFromParetoFront(solutions, objectives);
|
|
118
|
+
|
|
119
|
+
return {
|
|
120
|
+
optimalAllocation: selectedSolution.allocation,
|
|
121
|
+
paretoFront: solutions.paretoFront,
|
|
122
|
+
tradeoffs: solutions.tradeoffs,
|
|
123
|
+
confidence: selectedSolution.confidence
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 2. Predictive Scaling with Machine Learning
|
|
130
|
+
```javascript
|
|
131
|
+
// ML-powered predictive scaling system
|
|
132
|
+
class PredictiveScaler {
|
|
133
|
+
constructor() {
|
|
134
|
+
this.models = {
|
|
135
|
+
time_series: new LSTMTimeSeriesModel(),
|
|
136
|
+
regression: new RandomForestRegressor(),
|
|
137
|
+
anomaly: new IsolationForestModel(),
|
|
138
|
+
ensemble: new EnsemblePredictor()
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
this.featureEngineering = new FeatureEngineer();
|
|
142
|
+
this.dataPreprocessor = new DataPreprocessor();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Predict scaling requirements
|
|
146
|
+
async predictScaling(swarmId, timeHorizon = 3600, confidence = 0.95) {
|
|
147
|
+
// Collect training data
|
|
148
|
+
const trainingData = await this.collectTrainingData(swarmId);
|
|
149
|
+
|
|
150
|
+
// Engineer features
|
|
151
|
+
const features = await this.featureEngineering.engineer(trainingData);
|
|
152
|
+
|
|
153
|
+
// Train/update models
|
|
154
|
+
await this.updateModels(features);
|
|
155
|
+
|
|
156
|
+
// Generate predictions
|
|
157
|
+
const predictions = await this.generatePredictions(timeHorizon, confidence);
|
|
158
|
+
|
|
159
|
+
// Calculate scaling recommendations
|
|
160
|
+
const scalingPlan = await this.calculateScalingPlan(predictions);
|
|
161
|
+
|
|
162
|
+
return {
|
|
163
|
+
predictions,
|
|
164
|
+
scalingPlan,
|
|
165
|
+
confidence: predictions.confidence,
|
|
166
|
+
timeHorizon,
|
|
167
|
+
features: features.summary
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// LSTM-based time series prediction
|
|
172
|
+
async trainTimeSeriesModel(data, config = {}) {
|
|
173
|
+
const model = await mcp.neural_train({
|
|
174
|
+
pattern_type: 'prediction',
|
|
175
|
+
training_data: JSON.stringify({
|
|
176
|
+
sequences: data.sequences,
|
|
177
|
+
targets: data.targets,
|
|
178
|
+
features: data.features
|
|
179
|
+
}),
|
|
180
|
+
epochs: config.epochs || 100
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Validate model performance
|
|
184
|
+
const validation = await this.validateModel(model, data.validation);
|
|
185
|
+
|
|
186
|
+
if (validation.accuracy > 0.85) {
|
|
187
|
+
await mcp.model_save({
|
|
188
|
+
modelId: model.modelId,
|
|
189
|
+
path: '/models/scaling_predictor.model'
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
return {
|
|
193
|
+
model,
|
|
194
|
+
validation,
|
|
195
|
+
ready: true
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return {
|
|
200
|
+
model: null,
|
|
201
|
+
validation,
|
|
202
|
+
ready: false,
|
|
203
|
+
reason: 'Model accuracy below threshold'
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Reinforcement learning for scaling decisions
|
|
208
|
+
async trainScalingAgent(environment, episodes = 1000) {
|
|
209
|
+
const agent = new DeepQNetworkAgent({
|
|
210
|
+
stateSize: environment.stateSize,
|
|
211
|
+
actionSize: environment.actionSize,
|
|
212
|
+
learningRate: 0.001,
|
|
213
|
+
epsilon: 1.0,
|
|
214
|
+
epsilonDecay: 0.995,
|
|
215
|
+
memorySize: 10000
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
const trainingHistory = [];
|
|
219
|
+
|
|
220
|
+
for (let episode = 0; episode < episodes; episode++) {
|
|
221
|
+
let state = environment.reset();
|
|
222
|
+
let totalReward = 0;
|
|
223
|
+
let done = false;
|
|
224
|
+
|
|
225
|
+
while (!done) {
|
|
226
|
+
// Agent selects action
|
|
227
|
+
const action = agent.selectAction(state);
|
|
228
|
+
|
|
229
|
+
// Environment responds
|
|
230
|
+
const { nextState, reward, terminated } = environment.step(action);
|
|
231
|
+
|
|
232
|
+
// Agent learns from experience
|
|
233
|
+
agent.remember(state, action, reward, nextState, terminated);
|
|
234
|
+
|
|
235
|
+
state = nextState;
|
|
236
|
+
totalReward += reward;
|
|
237
|
+
done = terminated;
|
|
238
|
+
|
|
239
|
+
// Train agent periodically
|
|
240
|
+
if (agent.memory.length > agent.batchSize) {
|
|
241
|
+
await agent.train();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
trainingHistory.push({
|
|
246
|
+
episode,
|
|
247
|
+
reward: totalReward,
|
|
248
|
+
epsilon: agent.epsilon
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
// Log progress
|
|
252
|
+
if (episode % 100 === 0) {
|
|
253
|
+
console.log(`Episode ${episode}: Reward ${totalReward}, Epsilon ${agent.epsilon}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
return {
|
|
258
|
+
agent,
|
|
259
|
+
trainingHistory,
|
|
260
|
+
performance: this.evaluateAgentPerformance(trainingHistory)
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### 3. Circuit Breaker and Fault Tolerance
|
|
267
|
+
```javascript
|
|
268
|
+
// Advanced circuit breaker with adaptive thresholds
|
|
269
|
+
class AdaptiveCircuitBreaker {
|
|
270
|
+
constructor(config = {}) {
|
|
271
|
+
this.failureThreshold = config.failureThreshold || 5;
|
|
272
|
+
this.recoveryTimeout = config.recoveryTimeout || 60000;
|
|
273
|
+
this.successThreshold = config.successThreshold || 3;
|
|
274
|
+
|
|
275
|
+
this.state = 'CLOSED'; // CLOSED, OPEN, HALF_OPEN
|
|
276
|
+
this.failureCount = 0;
|
|
277
|
+
this.successCount = 0;
|
|
278
|
+
this.lastFailureTime = null;
|
|
279
|
+
|
|
280
|
+
// Adaptive thresholds
|
|
281
|
+
this.adaptiveThresholds = new AdaptiveThresholdManager();
|
|
282
|
+
this.performanceHistory = new CircularBuffer(1000);
|
|
283
|
+
|
|
284
|
+
// Metrics
|
|
285
|
+
this.metrics = {
|
|
286
|
+
totalRequests: 0,
|
|
287
|
+
successfulRequests: 0,
|
|
288
|
+
failedRequests: 0,
|
|
289
|
+
circuitOpenEvents: 0,
|
|
290
|
+
circuitHalfOpenEvents: 0,
|
|
291
|
+
circuitClosedEvents: 0
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// Execute operation with circuit breaker protection
|
|
296
|
+
async execute(operation, fallback = null) {
|
|
297
|
+
this.metrics.totalRequests++;
|
|
298
|
+
|
|
299
|
+
// Check circuit state
|
|
300
|
+
if (this.state === 'OPEN') {
|
|
301
|
+
if (this.shouldAttemptReset()) {
|
|
302
|
+
this.state = 'HALF_OPEN';
|
|
303
|
+
this.successCount = 0;
|
|
304
|
+
this.metrics.circuitHalfOpenEvents++;
|
|
305
|
+
} else {
|
|
306
|
+
return await this.executeFallback(fallback);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
try {
|
|
311
|
+
const startTime = performance.now();
|
|
312
|
+
const result = await operation();
|
|
313
|
+
const endTime = performance.now();
|
|
314
|
+
|
|
315
|
+
// Record success
|
|
316
|
+
this.onSuccess(endTime - startTime);
|
|
317
|
+
return result;
|
|
318
|
+
|
|
319
|
+
} catch (error) {
|
|
320
|
+
// Record failure
|
|
321
|
+
this.onFailure(error);
|
|
322
|
+
|
|
323
|
+
// Execute fallback if available
|
|
324
|
+
if (fallback) {
|
|
325
|
+
return await this.executeFallback(fallback);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
throw error;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// Adaptive threshold adjustment
|
|
333
|
+
adjustThresholds(performanceData) {
|
|
334
|
+
const analysis = this.adaptiveThresholds.analyze(performanceData);
|
|
335
|
+
|
|
336
|
+
if (analysis.recommendAdjustment) {
|
|
337
|
+
this.failureThreshold = Math.max(
|
|
338
|
+
1,
|
|
339
|
+
Math.round(this.failureThreshold * analysis.thresholdMultiplier)
|
|
340
|
+
);
|
|
341
|
+
|
|
342
|
+
this.recoveryTimeout = Math.max(
|
|
343
|
+
1000,
|
|
344
|
+
Math.round(this.recoveryTimeout * analysis.timeoutMultiplier)
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// Bulk head pattern for resource isolation
|
|
350
|
+
createBulkhead(resourcePools) {
|
|
351
|
+
return resourcePools.map(pool => ({
|
|
352
|
+
name: pool.name,
|
|
353
|
+
capacity: pool.capacity,
|
|
354
|
+
queue: new PriorityQueue(),
|
|
355
|
+
semaphore: new Semaphore(pool.capacity),
|
|
356
|
+
circuitBreaker: new AdaptiveCircuitBreaker(pool.config),
|
|
357
|
+
metrics: new BulkheadMetrics()
|
|
358
|
+
}));
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### 4. Performance Profiling and Optimization
|
|
364
|
+
```javascript
|
|
365
|
+
// Comprehensive performance profiling system
|
|
366
|
+
class PerformanceProfiler {
|
|
367
|
+
constructor() {
|
|
368
|
+
this.profilers = {
|
|
369
|
+
cpu: new CPUProfiler(),
|
|
370
|
+
memory: new MemoryProfiler(),
|
|
371
|
+
io: new IOProfiler(),
|
|
372
|
+
network: new NetworkProfiler(),
|
|
373
|
+
application: new ApplicationProfiler()
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
this.analyzer = new ProfileAnalyzer();
|
|
377
|
+
this.optimizer = new PerformanceOptimizer();
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Comprehensive performance profiling
|
|
381
|
+
async profilePerformance(swarmId, duration = 60000) {
|
|
382
|
+
const profilingSession = {
|
|
383
|
+
swarmId,
|
|
384
|
+
startTime: Date.now(),
|
|
385
|
+
duration,
|
|
386
|
+
profiles: new Map()
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
// Start all profilers concurrently
|
|
390
|
+
const profilingTasks = Object.entries(this.profilers).map(
|
|
391
|
+
async ([type, profiler]) => {
|
|
392
|
+
const profile = await profiler.profile(duration);
|
|
393
|
+
return [type, profile];
|
|
394
|
+
}
|
|
395
|
+
);
|
|
396
|
+
|
|
397
|
+
const profiles = await Promise.all(profilingTasks);
|
|
398
|
+
|
|
399
|
+
for (const [type, profile] of profiles) {
|
|
400
|
+
profilingSession.profiles.set(type, profile);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Analyze performance data
|
|
404
|
+
const analysis = await this.analyzer.analyze(profilingSession);
|
|
405
|
+
|
|
406
|
+
// Generate optimization recommendations
|
|
407
|
+
const recommendations = await this.optimizer.recommend(analysis);
|
|
408
|
+
|
|
409
|
+
return {
|
|
410
|
+
session: profilingSession,
|
|
411
|
+
analysis,
|
|
412
|
+
recommendations,
|
|
413
|
+
summary: this.generateSummary(analysis, recommendations)
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// CPU profiling with flame graphs
|
|
418
|
+
async profileCPU(duration) {
|
|
419
|
+
const cpuProfile = {
|
|
420
|
+
samples: [],
|
|
421
|
+
functions: new Map(),
|
|
422
|
+
hotspots: [],
|
|
423
|
+
flamegraph: null
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
// Sample CPU usage at high frequency
|
|
427
|
+
const sampleInterval = 10; // 10ms
|
|
428
|
+
const samples = duration / sampleInterval;
|
|
429
|
+
|
|
430
|
+
for (let i = 0; i < samples; i++) {
|
|
431
|
+
const sample = await this.sampleCPU();
|
|
432
|
+
cpuProfile.samples.push(sample);
|
|
433
|
+
|
|
434
|
+
// Update function statistics
|
|
435
|
+
this.updateFunctionStats(cpuProfile.functions, sample);
|
|
436
|
+
|
|
437
|
+
await this.sleep(sampleInterval);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// Generate flame graph
|
|
441
|
+
cpuProfile.flamegraph = this.generateFlameGraph(cpuProfile.samples);
|
|
442
|
+
|
|
443
|
+
// Identify hotspots
|
|
444
|
+
cpuProfile.hotspots = this.identifyHotspots(cpuProfile.functions);
|
|
445
|
+
|
|
446
|
+
return cpuProfile;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// Memory profiling with leak detection
|
|
450
|
+
async profileMemory(duration) {
|
|
451
|
+
const memoryProfile = {
|
|
452
|
+
snapshots: [],
|
|
453
|
+
allocations: [],
|
|
454
|
+
deallocations: [],
|
|
455
|
+
leaks: [],
|
|
456
|
+
growth: []
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
// Take initial snapshot
|
|
460
|
+
let previousSnapshot = await this.takeMemorySnapshot();
|
|
461
|
+
memoryProfile.snapshots.push(previousSnapshot);
|
|
462
|
+
|
|
463
|
+
const snapshotInterval = 5000; // 5 seconds
|
|
464
|
+
const snapshots = duration / snapshotInterval;
|
|
465
|
+
|
|
466
|
+
for (let i = 0; i < snapshots; i++) {
|
|
467
|
+
await this.sleep(snapshotInterval);
|
|
468
|
+
|
|
469
|
+
const snapshot = await this.takeMemorySnapshot();
|
|
470
|
+
memoryProfile.snapshots.push(snapshot);
|
|
471
|
+
|
|
472
|
+
// Analyze memory changes
|
|
473
|
+
const changes = this.analyzeMemoryChanges(previousSnapshot, snapshot);
|
|
474
|
+
memoryProfile.allocations.push(...changes.allocations);
|
|
475
|
+
memoryProfile.deallocations.push(...changes.deallocations);
|
|
476
|
+
|
|
477
|
+
// Detect potential leaks
|
|
478
|
+
const leaks = this.detectMemoryLeaks(changes);
|
|
479
|
+
memoryProfile.leaks.push(...leaks);
|
|
480
|
+
|
|
481
|
+
previousSnapshot = snapshot;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// Analyze memory growth patterns
|
|
485
|
+
memoryProfile.growth = this.analyzeMemoryGrowth(memoryProfile.snapshots);
|
|
486
|
+
|
|
487
|
+
return memoryProfile;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
## MCP Integration Hooks
|
|
493
|
+
|
|
494
|
+
### Resource Management Integration
|
|
495
|
+
```javascript
|
|
496
|
+
// Comprehensive MCP resource management
|
|
497
|
+
const resourceIntegration = {
|
|
498
|
+
// Dynamic resource allocation
|
|
499
|
+
async allocateResources(swarmId, requirements) {
|
|
500
|
+
// Analyze current resource usage
|
|
501
|
+
const currentUsage = await mcp.metrics_collect({
|
|
502
|
+
components: ['cpu', 'memory', 'network', 'agents']
|
|
503
|
+
});
|
|
504
|
+
|
|
505
|
+
// Get performance metrics
|
|
506
|
+
const performance = await mcp.performance_report({ format: 'detailed' });
|
|
507
|
+
|
|
508
|
+
// Identify bottlenecks
|
|
509
|
+
const bottlenecks = await mcp.bottleneck_analyze({});
|
|
510
|
+
|
|
511
|
+
// Calculate optimal allocation
|
|
512
|
+
const allocation = await this.calculateOptimalAllocation(
|
|
513
|
+
currentUsage,
|
|
514
|
+
performance,
|
|
515
|
+
bottlenecks,
|
|
516
|
+
requirements
|
|
517
|
+
);
|
|
518
|
+
|
|
519
|
+
// Apply resource allocation
|
|
520
|
+
const result = await mcp.daa_resource_alloc({
|
|
521
|
+
resources: allocation.resources,
|
|
522
|
+
agents: allocation.agents
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
return {
|
|
526
|
+
allocation,
|
|
527
|
+
result,
|
|
528
|
+
monitoring: await this.setupResourceMonitoring(allocation)
|
|
529
|
+
};
|
|
530
|
+
},
|
|
531
|
+
|
|
532
|
+
// Predictive scaling
|
|
533
|
+
async predictiveScale(swarmId, predictions) {
|
|
534
|
+
// Get current swarm status
|
|
535
|
+
const status = await mcp.swarm_status({ swarmId });
|
|
536
|
+
|
|
537
|
+
// Calculate scaling requirements
|
|
538
|
+
const scalingPlan = this.calculateScalingPlan(status, predictions);
|
|
539
|
+
|
|
540
|
+
if (scalingPlan.scaleRequired) {
|
|
541
|
+
// Execute scaling
|
|
542
|
+
const scalingResult = await mcp.swarm_scale({
|
|
543
|
+
swarmId,
|
|
544
|
+
targetSize: scalingPlan.targetSize
|
|
545
|
+
});
|
|
546
|
+
|
|
547
|
+
// Optimize topology after scaling
|
|
548
|
+
if (scalingResult.success) {
|
|
549
|
+
await mcp.topology_optimize({ swarmId });
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
return {
|
|
553
|
+
scaled: true,
|
|
554
|
+
plan: scalingPlan,
|
|
555
|
+
result: scalingResult
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
return {
|
|
560
|
+
scaled: false,
|
|
561
|
+
reason: 'No scaling required',
|
|
562
|
+
plan: scalingPlan
|
|
563
|
+
};
|
|
564
|
+
},
|
|
565
|
+
|
|
566
|
+
// Performance optimization
|
|
567
|
+
async optimizePerformance(swarmId) {
|
|
568
|
+
// Collect comprehensive metrics
|
|
569
|
+
const metrics = await Promise.all([
|
|
570
|
+
mcp.performance_report({ format: 'json' }),
|
|
571
|
+
mcp.bottleneck_analyze({}),
|
|
572
|
+
mcp.agent_metrics({}),
|
|
573
|
+
mcp.metrics_collect({ components: ['system', 'agents', 'coordination'] })
|
|
574
|
+
]);
|
|
575
|
+
|
|
576
|
+
const [performance, bottlenecks, agentMetrics, systemMetrics] = metrics;
|
|
577
|
+
|
|
578
|
+
// Generate optimization recommendations
|
|
579
|
+
const optimizations = await this.generateOptimizations({
|
|
580
|
+
performance,
|
|
581
|
+
bottlenecks,
|
|
582
|
+
agentMetrics,
|
|
583
|
+
systemMetrics
|
|
584
|
+
});
|
|
585
|
+
|
|
586
|
+
// Apply optimizations
|
|
587
|
+
const results = await this.applyOptimizations(swarmId, optimizations);
|
|
588
|
+
|
|
589
|
+
return {
|
|
590
|
+
optimizations,
|
|
591
|
+
results,
|
|
592
|
+
impact: await this.measureOptimizationImpact(swarmId, results)
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
};
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
## Operational Commands
|
|
599
|
+
|
|
600
|
+
### Resource Management Commands
|
|
601
|
+
```bash
|
|
602
|
+
# Analyze resource usage
|
|
603
|
+
npx claude-flow-novice metrics-collect --components ["cpu", "memory", "network"]
|
|
604
|
+
|
|
605
|
+
# Optimize resource allocation
|
|
606
|
+
npx claude-flow-novice daa-resource-alloc --resources <resource-config>
|
|
607
|
+
|
|
608
|
+
# Predictive scaling
|
|
609
|
+
npx claude-flow-novice swarm-scale --swarm-id <id> --target-size <size>
|
|
610
|
+
|
|
611
|
+
# Performance profiling
|
|
612
|
+
npx claude-flow-novice performance-report --format detailed --timeframe 24h
|
|
613
|
+
|
|
614
|
+
# Circuit breaker configuration
|
|
615
|
+
npx claude-flow-novice fault-tolerance --strategy circuit-breaker --config <config>
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
### Optimization Commands
|
|
619
|
+
```bash
|
|
620
|
+
# Run performance optimization
|
|
621
|
+
npx claude-flow-novice optimize-performance --swarm-id <id> --strategy adaptive
|
|
622
|
+
|
|
623
|
+
# Generate resource forecasts
|
|
624
|
+
npx claude-flow-novice forecast-resources --time-horizon 3600 --confidence 0.95
|
|
625
|
+
|
|
626
|
+
# Profile system performance
|
|
627
|
+
npx claude-flow-novice profile-performance --duration 60000 --components all
|
|
628
|
+
|
|
629
|
+
# Analyze bottlenecks
|
|
630
|
+
npx claude-flow-novice bottleneck-analyze --component swarm-coordination
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
## Integration Points
|
|
634
|
+
|
|
635
|
+
### With Other Optimization Agents
|
|
636
|
+
- **Load Balancer**: Provides resource allocation data for load balancing decisions
|
|
637
|
+
- **Performance Monitor**: Shares performance metrics and bottleneck analysis
|
|
638
|
+
- **Topology Optimizer**: Coordinates resource allocation with topology changes
|
|
639
|
+
|
|
640
|
+
### With Swarm Infrastructure
|
|
641
|
+
- **Task Orchestrator**: Allocates resources for task execution
|
|
642
|
+
- **Agent Coordinator**: Manages agent resource requirements
|
|
643
|
+
- **Memory System**: Stores resource allocation history and patterns
|
|
644
|
+
|
|
645
|
+
## Performance Metrics
|
|
646
|
+
|
|
647
|
+
### Resource Allocation KPIs
|
|
648
|
+
```javascript
|
|
649
|
+
// Resource allocation performance metrics
|
|
650
|
+
const allocationMetrics = {
|
|
651
|
+
efficiency: {
|
|
652
|
+
utilization_rate: this.calculateUtilizationRate(),
|
|
653
|
+
waste_percentage: this.calculateWastePercentage(),
|
|
654
|
+
allocation_accuracy: this.calculateAllocationAccuracy(),
|
|
655
|
+
prediction_accuracy: this.calculatePredictionAccuracy()
|
|
656
|
+
},
|
|
657
|
+
|
|
658
|
+
performance: {
|
|
659
|
+
allocation_latency: this.calculateAllocationLatency(),
|
|
660
|
+
scaling_response_time: this.calculateScalingResponseTime(),
|
|
661
|
+
optimization_impact: this.calculateOptimizationImpact(),
|
|
662
|
+
cost_efficiency: this.calculateCostEfficiency()
|
|
663
|
+
},
|
|
664
|
+
|
|
665
|
+
reliability: {
|
|
666
|
+
availability: this.calculateAvailability(),
|
|
667
|
+
fault_tolerance: this.calculateFaultTolerance(),
|
|
668
|
+
recovery_time: this.calculateRecoveryTime(),
|
|
669
|
+
circuit_breaker_effectiveness: this.calculateCircuitBreakerEffectiveness()
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
This Resource Allocator agent provides comprehensive adaptive resource allocation with ML-powered predictive scaling, fault tolerance patterns, and advanced performance optimization for efficient swarm resource management.
|