claude-flow-novice 1.3.6 → 1.5.1
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/commands/fullstack.md +134 -0
- package/.claude/commands/index.js +4 -0
- 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 +26 -0
- package/CLAUDE.md +1967 -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 +163 -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,513 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fix Coordinator - Intelligent Failure Analysis and Fix Assignment
|
|
3
|
+
*
|
|
4
|
+
* Analyzes test failures, assigns fixes to appropriate agents, tracks progress,
|
|
5
|
+
* and triggers regression testing after fixes are applied.
|
|
6
|
+
*
|
|
7
|
+
* Key Features:
|
|
8
|
+
* - Intelligent failure categorization
|
|
9
|
+
* - Agent assignment based on expertise
|
|
10
|
+
* - Parallel fix execution
|
|
11
|
+
* - Fix validation and rollback
|
|
12
|
+
* - Learning from fix patterns
|
|
13
|
+
*/ import { EventEmitter } from 'events';
|
|
14
|
+
export class FixCoordinator extends EventEmitter {
|
|
15
|
+
logger;
|
|
16
|
+
memory;
|
|
17
|
+
fixPatterns = new Map();
|
|
18
|
+
activeFixe = new Map();
|
|
19
|
+
fixHistory = new Map();
|
|
20
|
+
constructor(memory, logger){
|
|
21
|
+
super(), this.logger = logger;
|
|
22
|
+
this.memory = memory;
|
|
23
|
+
this.loadFixPatterns();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create comprehensive fix plan from test failures
|
|
27
|
+
*/ async createFixPlan(failures, featureId) {
|
|
28
|
+
this.logger.info('Creating fix plan', {
|
|
29
|
+
failures: failures.length,
|
|
30
|
+
featureId
|
|
31
|
+
});
|
|
32
|
+
try {
|
|
33
|
+
// Categorize and analyze failures
|
|
34
|
+
const categorized = this.categorizeFailures(failures);
|
|
35
|
+
// Create fix strategies for each failure
|
|
36
|
+
const fixStrategies = await Promise.all(failures.map((failure)=>this.createFixStrategy(failure)));
|
|
37
|
+
// Prioritize fixes
|
|
38
|
+
const priorities = this.prioritizeFixes(failures, fixStrategies);
|
|
39
|
+
// Identify dependencies between fixes
|
|
40
|
+
const dependencies = this.identifyFixDependencies(fixStrategies);
|
|
41
|
+
// Estimate total duration
|
|
42
|
+
const estimatedDuration = this.estimatePlanDuration(fixStrategies, dependencies);
|
|
43
|
+
const plan = {
|
|
44
|
+
id: `fix-plan_${Date.now()}`,
|
|
45
|
+
featureId,
|
|
46
|
+
failures,
|
|
47
|
+
fixStrategies,
|
|
48
|
+
priority: priorities,
|
|
49
|
+
estimatedDuration,
|
|
50
|
+
dependencies
|
|
51
|
+
};
|
|
52
|
+
// Store plan in memory
|
|
53
|
+
await this.memory.remember('fix-coordinator', 'state', plan, {
|
|
54
|
+
tags: [
|
|
55
|
+
'fix-plan',
|
|
56
|
+
featureId
|
|
57
|
+
],
|
|
58
|
+
shareLevel: 'team'
|
|
59
|
+
});
|
|
60
|
+
this.emit('fix-plan:created', {
|
|
61
|
+
plan
|
|
62
|
+
});
|
|
63
|
+
return plan;
|
|
64
|
+
} catch (error) {
|
|
65
|
+
this.logger.error('Failed to create fix plan', {
|
|
66
|
+
error,
|
|
67
|
+
featureId
|
|
68
|
+
});
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Execute fixes with parallel limit
|
|
74
|
+
*/ async executeFixes(plan, maxParallel) {
|
|
75
|
+
this.logger.info('Executing fixes', {
|
|
76
|
+
featureId: plan.featureId,
|
|
77
|
+
totalFixes: plan.fixStrategies.length,
|
|
78
|
+
maxParallel
|
|
79
|
+
});
|
|
80
|
+
const results = [];
|
|
81
|
+
const queue = [
|
|
82
|
+
...plan.fixStrategies
|
|
83
|
+
];
|
|
84
|
+
const inProgress = new Map();
|
|
85
|
+
while(queue.length > 0 || inProgress.size > 0){
|
|
86
|
+
// Start new fixes up to parallel limit
|
|
87
|
+
while(queue.length > 0 && inProgress.size < maxParallel){
|
|
88
|
+
const strategy = this.getNextExecutableStrategy(queue, inProgress, plan.dependencies);
|
|
89
|
+
if (!strategy) break;
|
|
90
|
+
const promise = this.executeFix(strategy, plan.featureId);
|
|
91
|
+
inProgress.set(strategy.id, promise);
|
|
92
|
+
// Remove from queue
|
|
93
|
+
const index = queue.findIndex((s)=>s.id === strategy.id);
|
|
94
|
+
if (index >= 0) queue.splice(index, 1);
|
|
95
|
+
}
|
|
96
|
+
// Wait for at least one to complete
|
|
97
|
+
if (inProgress.size > 0) {
|
|
98
|
+
const completed = await Promise.race(inProgress.values());
|
|
99
|
+
results.push(completed);
|
|
100
|
+
inProgress.delete(completed.id);
|
|
101
|
+
this.emit('fix:completed', {
|
|
102
|
+
fix: completed
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Store results
|
|
107
|
+
this.fixHistory.set(plan.featureId, results);
|
|
108
|
+
return results;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Analyze failures and group by category
|
|
112
|
+
*/ categorizeFailures(failures) {
|
|
113
|
+
const categories = new Map();
|
|
114
|
+
for (const failure of failures){
|
|
115
|
+
const category = this.determineFailureCategory(failure);
|
|
116
|
+
if (!categories.has(category)) {
|
|
117
|
+
categories.set(category, []);
|
|
118
|
+
}
|
|
119
|
+
categories.get(category).push(failure);
|
|
120
|
+
}
|
|
121
|
+
return categories;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Determine failure category from patterns
|
|
125
|
+
*/ determineFailureCategory(failure) {
|
|
126
|
+
const error = failure.error.toLowerCase();
|
|
127
|
+
// API/Backend failures
|
|
128
|
+
if (error.includes('api') || error.includes('endpoint') || error.includes('status code')) {
|
|
129
|
+
return 'backend-api';
|
|
130
|
+
}
|
|
131
|
+
// Database failures
|
|
132
|
+
if (error.includes('database') || error.includes('query') || error.includes('connection')) {
|
|
133
|
+
return 'database';
|
|
134
|
+
}
|
|
135
|
+
// UI/Frontend failures
|
|
136
|
+
if (error.includes('render') || error.includes('component') || error.includes('dom')) {
|
|
137
|
+
return 'frontend-ui';
|
|
138
|
+
}
|
|
139
|
+
// State management failures
|
|
140
|
+
if (error.includes('state') || error.includes('store') || error.includes('reducer')) {
|
|
141
|
+
return 'state-management';
|
|
142
|
+
}
|
|
143
|
+
// Integration failures
|
|
144
|
+
if (error.includes('integration') || error.includes('e2e')) {
|
|
145
|
+
return 'integration';
|
|
146
|
+
}
|
|
147
|
+
// Performance failures
|
|
148
|
+
if (error.includes('timeout') || error.includes('performance') || error.includes('slow')) {
|
|
149
|
+
return 'performance';
|
|
150
|
+
}
|
|
151
|
+
// Security failures
|
|
152
|
+
if (error.includes('auth') || error.includes('security') || error.includes('permission')) {
|
|
153
|
+
return 'security';
|
|
154
|
+
}
|
|
155
|
+
return 'unknown';
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Create fix strategy for a specific failure
|
|
159
|
+
*/ async createFixStrategy(failure) {
|
|
160
|
+
const category = this.determineFailureCategory(failure);
|
|
161
|
+
// Check for known patterns
|
|
162
|
+
const pattern = this.fixPatterns.get(category);
|
|
163
|
+
// Assign to appropriate agent based on layer and category
|
|
164
|
+
const assignedAgent = this.assignAgentForFix(failure, category);
|
|
165
|
+
// Determine strategy type
|
|
166
|
+
const strategyType = this.determineStrategyType(failure, pattern);
|
|
167
|
+
// Generate steps
|
|
168
|
+
const steps = this.generateFixSteps(failure, strategyType, pattern);
|
|
169
|
+
const strategy = {
|
|
170
|
+
id: `fix_${failure.id}`,
|
|
171
|
+
failureId: failure.id,
|
|
172
|
+
strategy: strategyType,
|
|
173
|
+
assignedAgent,
|
|
174
|
+
description: `Fix ${category} issue in ${failure.testName}`,
|
|
175
|
+
steps,
|
|
176
|
+
estimatedEffort: this.estimateFixEffort(failure, strategyType),
|
|
177
|
+
confidence: pattern ? pattern.successRate : 0.5,
|
|
178
|
+
alternatives: pattern?.commonSolutions || []
|
|
179
|
+
};
|
|
180
|
+
return strategy;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Assign agent based on failure characteristics
|
|
184
|
+
*/ assignAgentForFix(failure, category) {
|
|
185
|
+
// Layer-based assignment
|
|
186
|
+
if (failure.layer === 'frontend') {
|
|
187
|
+
if (category === 'frontend-ui') return 'frontend-developer';
|
|
188
|
+
if (category === 'state-management') return 'frontend-developer';
|
|
189
|
+
if (category === 'performance') return 'performance-tester';
|
|
190
|
+
}
|
|
191
|
+
if (failure.layer === 'backend') {
|
|
192
|
+
if (category === 'backend-api') return 'backend-developer';
|
|
193
|
+
if (category === 'database') return 'database-developer';
|
|
194
|
+
if (category === 'performance') return 'performance-tester';
|
|
195
|
+
if (category === 'security') return 'security-tester';
|
|
196
|
+
}
|
|
197
|
+
if (failure.layer === 'integration') {
|
|
198
|
+
return 'integration-specialist';
|
|
199
|
+
}
|
|
200
|
+
// Category-based fallback
|
|
201
|
+
if (category === 'database') return 'database-developer';
|
|
202
|
+
if (category === 'security') return 'security-tester';
|
|
203
|
+
if (category === 'performance') return 'performance-tester';
|
|
204
|
+
// Default based on test category
|
|
205
|
+
if (failure.category === 'unit') return 'coder';
|
|
206
|
+
if (failure.category === 'integration') return 'integration-specialist';
|
|
207
|
+
if (failure.category === 'e2e') return 'e2e-tester';
|
|
208
|
+
return 'coder'; // fallback
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Determine fix strategy type
|
|
212
|
+
*/ determineStrategyType(failure, pattern) {
|
|
213
|
+
// Critical failures often need redesign
|
|
214
|
+
if (failure.severity === 'critical') {
|
|
215
|
+
return 'refactor';
|
|
216
|
+
}
|
|
217
|
+
// Use pattern success rate to determine strategy
|
|
218
|
+
if (pattern && pattern.successRate > 0.8) {
|
|
219
|
+
return 'quick-fix';
|
|
220
|
+
}
|
|
221
|
+
// Complex failures need refactoring
|
|
222
|
+
if (failure.affectedComponents.length > 3) {
|
|
223
|
+
return 'refactor';
|
|
224
|
+
}
|
|
225
|
+
// Low priority can use workarounds
|
|
226
|
+
if (failure.severity === 'low') {
|
|
227
|
+
return 'workaround';
|
|
228
|
+
}
|
|
229
|
+
return 'quick-fix';
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Generate fix steps based on failure and strategy
|
|
233
|
+
*/ generateFixSteps(failure, strategy, pattern) {
|
|
234
|
+
const steps = [];
|
|
235
|
+
// Common first steps
|
|
236
|
+
steps.push('Analyze failure root cause');
|
|
237
|
+
steps.push('Review affected code components');
|
|
238
|
+
// Strategy-specific steps
|
|
239
|
+
if (strategy === 'quick-fix') {
|
|
240
|
+
steps.push('Implement targeted fix');
|
|
241
|
+
steps.push('Add/update unit tests');
|
|
242
|
+
} else if (strategy === 'refactor') {
|
|
243
|
+
steps.push('Design refactoring approach');
|
|
244
|
+
steps.push('Implement refactored code');
|
|
245
|
+
steps.push('Update comprehensive tests');
|
|
246
|
+
} else if (strategy === 'redesign') {
|
|
247
|
+
steps.push('Redesign affected architecture');
|
|
248
|
+
steps.push('Implement new design');
|
|
249
|
+
steps.push('Create comprehensive test suite');
|
|
250
|
+
} else if (strategy === 'workaround') {
|
|
251
|
+
steps.push('Implement temporary workaround');
|
|
252
|
+
steps.push('Document technical debt');
|
|
253
|
+
}
|
|
254
|
+
// Common final steps
|
|
255
|
+
steps.push('Validate fix with local tests');
|
|
256
|
+
steps.push('Submit for regression testing');
|
|
257
|
+
return steps;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Prioritize fixes based on severity and impact
|
|
261
|
+
*/ prioritizeFixes(failures, strategies) {
|
|
262
|
+
return failures.map((failure)=>{
|
|
263
|
+
const strategy = strategies.find((s)=>s.failureId === failure.id);
|
|
264
|
+
let priority = 50; // base priority
|
|
265
|
+
// Severity adjustment
|
|
266
|
+
if (failure.severity === 'critical') priority += 40;
|
|
267
|
+
else if (failure.severity === 'high') priority += 25;
|
|
268
|
+
else if (failure.severity === 'medium') priority += 10;
|
|
269
|
+
// Layer adjustment (backend is often blocking)
|
|
270
|
+
if (failure.layer === 'backend') priority += 15;
|
|
271
|
+
else if (failure.layer === 'integration') priority += 10;
|
|
272
|
+
// Category adjustment
|
|
273
|
+
if (failure.category === 'e2e') priority += 10;
|
|
274
|
+
// Component impact
|
|
275
|
+
priority += Math.min(failure.affectedComponents.length * 5, 20);
|
|
276
|
+
return {
|
|
277
|
+
failureId: failure.id,
|
|
278
|
+
priority: Math.min(priority, 100),
|
|
279
|
+
reasoning: `Priority based on ${failure.severity} severity, ${failure.layer} layer, ${failure.affectedComponents.length} affected components`,
|
|
280
|
+
blocking: failure.severity === 'critical' || failure.layer === 'backend'
|
|
281
|
+
};
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Identify dependencies between fixes
|
|
286
|
+
*/ identifyFixDependencies(strategies) {
|
|
287
|
+
const dependencies = new Map();
|
|
288
|
+
// Simple dependency detection based on affected components
|
|
289
|
+
for (const strategy of strategies){
|
|
290
|
+
const deps = [];
|
|
291
|
+
// Backend fixes should complete before frontend fixes
|
|
292
|
+
if (strategy.assignedAgent === 'frontend-developer') {
|
|
293
|
+
const backendFixes = strategies.filter((s)=>s.assignedAgent === 'backend-developer' || s.assignedAgent === 'api-developer');
|
|
294
|
+
deps.push(...backendFixes.map((f)=>f.id));
|
|
295
|
+
}
|
|
296
|
+
// Database fixes should complete before backend fixes
|
|
297
|
+
if (strategy.assignedAgent === 'backend-developer') {
|
|
298
|
+
const dbFixes = strategies.filter((s)=>s.assignedAgent === 'database-developer');
|
|
299
|
+
deps.push(...dbFixes.map((f)=>f.id));
|
|
300
|
+
}
|
|
301
|
+
if (deps.length > 0) {
|
|
302
|
+
dependencies.set(strategy.id, deps);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
return dependencies;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Estimate total plan duration considering dependencies
|
|
309
|
+
*/ estimatePlanDuration(strategies, dependencies) {
|
|
310
|
+
// Critical path calculation
|
|
311
|
+
const strategyMap = new Map(strategies.map((s)=>[
|
|
312
|
+
s.id,
|
|
313
|
+
s
|
|
314
|
+
]));
|
|
315
|
+
const visited = new Set();
|
|
316
|
+
let maxDuration = 0;
|
|
317
|
+
const calculatePath = (strategyId)=>{
|
|
318
|
+
if (visited.has(strategyId)) return 0;
|
|
319
|
+
visited.add(strategyId);
|
|
320
|
+
const strategy = strategyMap.get(strategyId);
|
|
321
|
+
if (!strategy) return 0;
|
|
322
|
+
const deps = dependencies.get(strategyId) || [];
|
|
323
|
+
const depDuration = Math.max(...deps.map((d)=>calculatePath(d)), 0);
|
|
324
|
+
return depDuration + strategy.estimatedEffort;
|
|
325
|
+
};
|
|
326
|
+
for (const strategy of strategies){
|
|
327
|
+
const duration = calculatePath(strategy.id);
|
|
328
|
+
maxDuration = Math.max(maxDuration, duration);
|
|
329
|
+
}
|
|
330
|
+
return maxDuration * 60 * 1000; // convert to milliseconds
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Get next executable strategy respecting dependencies
|
|
334
|
+
*/ getNextExecutableStrategy(queue, inProgress, dependencies) {
|
|
335
|
+
for (const strategy of queue){
|
|
336
|
+
const deps = dependencies.get(strategy.id) || [];
|
|
337
|
+
// Check if all dependencies are completed
|
|
338
|
+
const allDepsCompleted = deps.every((depId)=>!inProgress.has(depId));
|
|
339
|
+
if (allDepsCompleted) {
|
|
340
|
+
return strategy;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Execute individual fix
|
|
347
|
+
*/ async executeFix(strategy, featureId) {
|
|
348
|
+
const startTime = new Date().toISOString();
|
|
349
|
+
const result = {
|
|
350
|
+
id: strategy.id,
|
|
351
|
+
failureId: strategy.failureId,
|
|
352
|
+
assignedAgent: strategy.assignedAgent,
|
|
353
|
+
strategy: strategy.strategy,
|
|
354
|
+
startTime,
|
|
355
|
+
status: 'active',
|
|
356
|
+
changes: [],
|
|
357
|
+
validation: {
|
|
358
|
+
passed: false,
|
|
359
|
+
testsPassed: 0,
|
|
360
|
+
testsFailed: 0,
|
|
361
|
+
regressionDetected: false,
|
|
362
|
+
issues: []
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
this.activeFixe.set(strategy.id, result);
|
|
366
|
+
try {
|
|
367
|
+
this.logger.info('Executing fix', {
|
|
368
|
+
fixId: strategy.id,
|
|
369
|
+
agent: strategy.assignedAgent,
|
|
370
|
+
strategy: strategy.strategy
|
|
371
|
+
});
|
|
372
|
+
// Simulate fix execution (in production, delegate to actual agent)
|
|
373
|
+
const changes = await this.simulateFixExecution(strategy);
|
|
374
|
+
result.changes = changes;
|
|
375
|
+
// Validate fix
|
|
376
|
+
const validation = await this.validateFix(strategy, changes);
|
|
377
|
+
result.validation = validation;
|
|
378
|
+
if (validation.passed) {
|
|
379
|
+
result.status = 'completed';
|
|
380
|
+
// Learn from successful fix
|
|
381
|
+
await this.learnFromFix(strategy, result);
|
|
382
|
+
} else {
|
|
383
|
+
result.status = 'failed';
|
|
384
|
+
}
|
|
385
|
+
result.endTime = new Date().toISOString();
|
|
386
|
+
// Store in memory
|
|
387
|
+
await this.memory.remember('fix-coordinator', 'result', result, {
|
|
388
|
+
tags: [
|
|
389
|
+
'fix-result',
|
|
390
|
+
featureId,
|
|
391
|
+
strategy.assignedAgent
|
|
392
|
+
],
|
|
393
|
+
shareLevel: 'team'
|
|
394
|
+
});
|
|
395
|
+
this.activeFixe.delete(strategy.id);
|
|
396
|
+
return result;
|
|
397
|
+
} catch (error) {
|
|
398
|
+
this.logger.error('Fix execution failed', {
|
|
399
|
+
error,
|
|
400
|
+
fixId: strategy.id
|
|
401
|
+
});
|
|
402
|
+
result.status = 'failed';
|
|
403
|
+
result.endTime = new Date().toISOString();
|
|
404
|
+
result.validation.issues.push(error.message);
|
|
405
|
+
this.activeFixe.delete(strategy.id);
|
|
406
|
+
return result;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Simulate fix execution (placeholder for real agent work)
|
|
411
|
+
*/ async simulateFixExecution(strategy) {
|
|
412
|
+
// In production, this would delegate to the assigned agent
|
|
413
|
+
return [
|
|
414
|
+
{
|
|
415
|
+
file: 'src/component.ts',
|
|
416
|
+
type: 'modify',
|
|
417
|
+
linesChanged: 15,
|
|
418
|
+
description: `Applied ${strategy.strategy} for ${strategy.description}`
|
|
419
|
+
}
|
|
420
|
+
];
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Validate fix effectiveness
|
|
424
|
+
*/ async validateFix(strategy, changes) {
|
|
425
|
+
// In production, run targeted tests to validate the fix
|
|
426
|
+
return {
|
|
427
|
+
passed: true,
|
|
428
|
+
testsPassed: 10,
|
|
429
|
+
testsFailed: 0,
|
|
430
|
+
regressionDetected: false,
|
|
431
|
+
issues: []
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Learn from successful fixes to improve pattern matching
|
|
436
|
+
*/ async learnFromFix(strategy, result) {
|
|
437
|
+
const category = this.determineFailureCategory({
|
|
438
|
+
id: strategy.failureId,
|
|
439
|
+
error: strategy.description
|
|
440
|
+
});
|
|
441
|
+
let pattern = this.fixPatterns.get(category);
|
|
442
|
+
if (!pattern) {
|
|
443
|
+
pattern = {
|
|
444
|
+
pattern: category,
|
|
445
|
+
category,
|
|
446
|
+
successRate: 0,
|
|
447
|
+
averageTime: 0,
|
|
448
|
+
bestAgent: strategy.assignedAgent,
|
|
449
|
+
commonSolutions: []
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
// Update success rate
|
|
453
|
+
const totalFixes = pattern.successRate * 100 + 1;
|
|
454
|
+
pattern.successRate = (pattern.successRate * 100 + 1) / totalFixes;
|
|
455
|
+
// Update average time
|
|
456
|
+
const duration = new Date(result.endTime).getTime() - new Date(result.startTime).getTime();
|
|
457
|
+
pattern.averageTime = (pattern.averageTime + duration) / 2;
|
|
458
|
+
this.fixPatterns.set(category, pattern);
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Estimate fix effort based on failure characteristics
|
|
462
|
+
*/ estimateFixEffort(failure, strategy) {
|
|
463
|
+
let baseEffort = 15; // minutes
|
|
464
|
+
// Strategy multiplier
|
|
465
|
+
if (strategy === 'quick-fix') baseEffort *= 1;
|
|
466
|
+
else if (strategy === 'refactor') baseEffort *= 2;
|
|
467
|
+
else if (strategy === 'redesign') baseEffort *= 4;
|
|
468
|
+
else if (strategy === 'workaround') baseEffort *= 0.5;
|
|
469
|
+
// Severity multiplier
|
|
470
|
+
if (failure.severity === 'critical') baseEffort *= 1.5;
|
|
471
|
+
else if (failure.severity === 'low') baseEffort *= 0.7;
|
|
472
|
+
// Component complexity
|
|
473
|
+
baseEffort += failure.affectedComponents.length * 5;
|
|
474
|
+
return Math.round(baseEffort);
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Load fix patterns from memory
|
|
478
|
+
*/ async loadFixPatterns() {
|
|
479
|
+
try {
|
|
480
|
+
const patterns = await this.memory.recall({
|
|
481
|
+
type: 'knowledge',
|
|
482
|
+
tags: [
|
|
483
|
+
'fix-pattern'
|
|
484
|
+
],
|
|
485
|
+
limit: 100
|
|
486
|
+
});
|
|
487
|
+
for (const entry of patterns){
|
|
488
|
+
if (entry.content.pattern) {
|
|
489
|
+
this.fixPatterns.set(entry.content.pattern, entry.content);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
this.logger.info('Loaded fix patterns', {
|
|
493
|
+
count: this.fixPatterns.size
|
|
494
|
+
});
|
|
495
|
+
} catch (error) {
|
|
496
|
+
this.logger.warn('Failed to load fix patterns', {
|
|
497
|
+
error
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Get fix execution status
|
|
503
|
+
*/ getActiveFixes() {
|
|
504
|
+
return Array.from(this.activeFixe.values());
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Get fix history for feature
|
|
508
|
+
*/ getFixHistory(featureId) {
|
|
509
|
+
return this.fixHistory.get(featureId) || [];
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
//# sourceMappingURL=fix-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/swarm-fullstack/workflows/fix-coordinator.ts"],"names":["EventEmitter","FixCoordinator","memory","fixPatterns","Map","activeFixe","fixHistory","logger","loadFixPatterns","createFixPlan","failures","featureId","info","length","categorized","categorizeFailures","fixStrategies","Promise","all","map","failure","createFixStrategy","priorities","prioritizeFixes","dependencies","identifyFixDependencies","estimatedDuration","estimatePlanDuration","plan","id","Date","now","priority","remember","tags","shareLevel","emit","error","executeFixes","maxParallel","totalFixes","results","queue","inProgress","size","strategy","getNextExecutableStrategy","promise","executeFix","set","index","findIndex","s","splice","completed","race","values","push","delete","fix","categories","category","determineFailureCategory","has","get","toLowerCase","includes","pattern","assignedAgent","assignAgentForFix","strategyType","determineStrategyType","steps","generateFixSteps","failureId","description","testName","estimatedEffort","estimateFixEffort","confidence","successRate","alternatives","commonSolutions","layer","severity","affectedComponents","strategies","find","Math","min","reasoning","blocking","deps","backendFixes","filter","f","dbFixes","strategyMap","visited","Set","maxDuration","calculatePath","strategyId","add","depDuration","max","d","duration","allDepsCompleted","every","depId","startTime","toISOString","result","status","changes","validation","passed","testsPassed","testsFailed","regressionDetected","issues","fixId","agent","simulateFixExecution","validateFix","learnFromFix","endTime","message","file","type","linesChanged","averageTime","bestAgent","getTime","baseEffort","round","patterns","recall","limit","entry","content","count","warn","getActiveFixes","Array","from","getFixHistory"],"mappings":"AAAA;;;;;;;;;;;;CAYC,GAED,SAASA,YAAY,QAAQ,SAAS;AA4CtC,OAAO,MAAMC,uBAAuBD;;IAC1BE,OAA2B;IAC3BC,cAAc,IAAIC,MAA0B;IAC5CC,aAAa,IAAID,MAAkC;IACnDE,aAAa,IAAIF,MAAoC;IAE7D,YAAYF,MAA0B,EAAE,AAAQK,MAAe,CAAE;QAC/D,KAAK,SADyCA,SAAAA;QAE9C,IAAI,CAACL,MAAM,GAAGA;QACd,IAAI,CAACM,eAAe;IACtB;IAEA;;GAEC,GACD,MAAMC,cAAcC,QAAuB,EAAEC,SAAiB,EAAoB;QAChF,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAC,qBAAqB;YAAEF,UAAUA,SAASG,MAAM;YAAEF;QAAU;QAE7E,IAAI;YACF,kCAAkC;YAClC,MAAMG,cAAc,IAAI,CAACC,kBAAkB,CAACL;YAE5C,yCAAyC;YACzC,MAAMM,gBAAgB,MAAMC,QAAQC,GAAG,CACrCR,SAASS,GAAG,CAAC,CAACC,UAAY,IAAI,CAACC,iBAAiB,CAACD;YAGnD,mBAAmB;YACnB,MAAME,aAAa,IAAI,CAACC,eAAe,CAACb,UAAUM;YAElD,sCAAsC;YACtC,MAAMQ,eAAe,IAAI,CAACC,uBAAuB,CAACT;YAElD,0BAA0B;YAC1B,MAAMU,oBAAoB,IAAI,CAACC,oBAAoB,CAACX,eAAeQ;YAEnE,MAAMI,OAAgB;gBACpBC,IAAI,CAAC,SAAS,EAAEC,KAAKC,GAAG,IAAI;gBAC5BpB;gBACAD;gBACAM;gBACAgB,UAAUV;gBACVI;gBACAF;YACF;YAEA,uBAAuB;YACvB,MAAM,IAAI,CAACtB,MAAM,CAAC+B,QAAQ,CAAC,mBAAmB,SAASL,MAAM;gBAC3DM,MAAM;oBAAC;oBAAYvB;iBAAU;gBAC7BwB,YAAY;YACd;YAEA,IAAI,CAACC,IAAI,CAAC,oBAAoB;gBAAER;YAAK;YAErC,OAAOA;QACT,EAAE,OAAOS,OAAO;YACd,IAAI,CAAC9B,MAAM,CAAC8B,KAAK,CAAC,6BAA6B;gBAAEA;gBAAO1B;YAAU;YAClE,MAAM0B;QACR;IACF;IAEA;;GAEC,GACD,MAAMC,aAAaV,IAAa,EAAEW,WAAmB,EAAiC;QACpF,IAAI,CAAChC,MAAM,CAACK,IAAI,CAAC,mBAAmB;YAClCD,WAAWiB,KAAKjB,SAAS;YACzB6B,YAAYZ,KAAKZ,aAAa,CAACH,MAAM;YACrC0B;QACF;QAEA,MAAME,UAAgC,EAAE;QACxC,MAAMC,QAAQ;eAAId,KAAKZ,aAAa;SAAC;QACrC,MAAM2B,aAAa,IAAIvC;QAEvB,MAAOsC,MAAM7B,MAAM,GAAG,KAAK8B,WAAWC,IAAI,GAAG,EAAG;YAC9C,uCAAuC;YACvC,MAAOF,MAAM7B,MAAM,GAAG,KAAK8B,WAAWC,IAAI,GAAGL,YAAa;gBACxD,MAAMM,WAAW,IAAI,CAACC,yBAAyB,CAACJ,OAAOC,YAAYf,KAAKJ,YAAY;gBACpF,IAAI,CAACqB,UAAU;gBAEf,MAAME,UAAU,IAAI,CAACC,UAAU,CAACH,UAAUjB,KAAKjB,SAAS;gBACxDgC,WAAWM,GAAG,CAACJ,SAAShB,EAAE,EAAEkB;gBAE5B,oBAAoB;gBACpB,MAAMG,QAAQR,MAAMS,SAAS,CAAC,CAACC,IAAMA,EAAEvB,EAAE,KAAKgB,SAAShB,EAAE;gBACzD,IAAIqB,SAAS,GAAGR,MAAMW,MAAM,CAACH,OAAO;YACtC;YAEA,oCAAoC;YACpC,IAAIP,WAAWC,IAAI,GAAG,GAAG;gBACvB,MAAMU,YAAY,MAAMrC,QAAQsC,IAAI,CAACZ,WAAWa,MAAM;gBACtDf,QAAQgB,IAAI,CAACH;gBACbX,WAAWe,MAAM,CAACJ,UAAUzB,EAAE;gBAE9B,IAAI,CAACO,IAAI,CAAC,iBAAiB;oBAAEuB,KAAKL;gBAAU;YAC9C;QACF;QAEA,gBAAgB;QAChB,IAAI,CAAChD,UAAU,CAAC2C,GAAG,CAACrB,KAAKjB,SAAS,EAAE8B;QAEpC,OAAOA;IACT;IAEA;;GAEC,GACD,AAAQ1B,mBAAmBL,QAAuB,EAA8B;QAC9E,MAAMkD,aAAa,IAAIxD;QAEvB,KAAK,MAAMgB,WAAWV,SAAU;YAC9B,MAAMmD,WAAW,IAAI,CAACC,wBAAwB,CAAC1C;YAC/C,IAAI,CAACwC,WAAWG,GAAG,CAACF,WAAW;gBAC7BD,WAAWX,GAAG,CAACY,UAAU,EAAE;YAC7B;YACAD,WAAWI,GAAG,CAACH,UAAWJ,IAAI,CAACrC;QACjC;QAEA,OAAOwC;IACT;IAEA;;GAEC,GACD,AAAQE,yBAAyB1C,OAAoB,EAAU;QAC7D,MAAMiB,QAAQjB,QAAQiB,KAAK,CAAC4B,WAAW;QAEvC,uBAAuB;QACvB,IAAI5B,MAAM6B,QAAQ,CAAC,UAAU7B,MAAM6B,QAAQ,CAAC,eAAe7B,MAAM6B,QAAQ,CAAC,gBAAgB;YACxF,OAAO;QACT;QAEA,oBAAoB;QACpB,IAAI7B,MAAM6B,QAAQ,CAAC,eAAe7B,MAAM6B,QAAQ,CAAC,YAAY7B,MAAM6B,QAAQ,CAAC,eAAe;YACzF,OAAO;QACT;QAEA,uBAAuB;QACvB,IAAI7B,MAAM6B,QAAQ,CAAC,aAAa7B,MAAM6B,QAAQ,CAAC,gBAAgB7B,MAAM6B,QAAQ,CAAC,QAAQ;YACpF,OAAO;QACT;QAEA,4BAA4B;QAC5B,IAAI7B,MAAM6B,QAAQ,CAAC,YAAY7B,MAAM6B,QAAQ,CAAC,YAAY7B,MAAM6B,QAAQ,CAAC,YAAY;YACnF,OAAO;QACT;QAEA,uBAAuB;QACvB,IAAI7B,MAAM6B,QAAQ,CAAC,kBAAkB7B,MAAM6B,QAAQ,CAAC,QAAQ;YAC1D,OAAO;QACT;QAEA,uBAAuB;QACvB,IAAI7B,MAAM6B,QAAQ,CAAC,cAAc7B,MAAM6B,QAAQ,CAAC,kBAAkB7B,MAAM6B,QAAQ,CAAC,SAAS;YACxF,OAAO;QACT;QAEA,oBAAoB;QACpB,IAAI7B,MAAM6B,QAAQ,CAAC,WAAW7B,MAAM6B,QAAQ,CAAC,eAAe7B,MAAM6B,QAAQ,CAAC,eAAe;YACxF,OAAO;QACT;QAEA,OAAO;IACT;IAEA;;GAEC,GACD,MAAc7C,kBAAkBD,OAAoB,EAAwB;QAC1E,MAAMyC,WAAW,IAAI,CAACC,wBAAwB,CAAC1C;QAE/C,2BAA2B;QAC3B,MAAM+C,UAAU,IAAI,CAAChE,WAAW,CAAC6D,GAAG,CAACH;QAErC,0DAA0D;QAC1D,MAAMO,gBAAgB,IAAI,CAACC,iBAAiB,CAACjD,SAASyC;QAEtD,0BAA0B;QAC1B,MAAMS,eAAe,IAAI,CAACC,qBAAqB,CAACnD,SAAS+C;QAEzD,iBAAiB;QACjB,MAAMK,QAAQ,IAAI,CAACC,gBAAgB,CAACrD,SAASkD,cAAcH;QAE3D,MAAMtB,WAAwB;YAC5BhB,IAAI,CAAC,IAAI,EAAET,QAAQS,EAAE,EAAE;YACvB6C,WAAWtD,QAAQS,EAAE;YACrBgB,UAAUyB;YACVF;YACAO,aAAa,CAAC,IAAI,EAAEd,SAAS,UAAU,EAAEzC,QAAQwD,QAAQ,EAAE;YAC3DJ;YACAK,iBAAiB,IAAI,CAACC,iBAAiB,CAAC1D,SAASkD;YACjDS,YAAYZ,UAAUA,QAAQa,WAAW,GAAG;YAC5CC,cAAcd,SAASe,mBAAmB,EAAE;QAC9C;QAEA,OAAOrC;IACT;IAEA;;GAEC,GACD,AAAQwB,kBAAkBjD,OAAoB,EAAEyC,QAAgB,EAAsB;QACpF,yBAAyB;QACzB,IAAIzC,QAAQ+D,KAAK,KAAK,YAAY;YAChC,IAAItB,aAAa,eAAe,OAAO;YACvC,IAAIA,aAAa,oBAAoB,OAAO;YAC5C,IAAIA,aAAa,eAAe,OAAO;QACzC;QAEA,IAAIzC,QAAQ+D,KAAK,KAAK,WAAW;YAC/B,IAAItB,aAAa,eAAe,OAAO;YACvC,IAAIA,aAAa,YAAY,OAAO;YACpC,IAAIA,aAAa,eAAe,OAAO;YACvC,IAAIA,aAAa,YAAY,OAAO;QACtC;QAEA,IAAIzC,QAAQ+D,KAAK,KAAK,eAAe;YACnC,OAAO;QACT;QAEA,0BAA0B;QAC1B,IAAItB,aAAa,YAAY,OAAO;QACpC,IAAIA,aAAa,YAAY,OAAO;QACpC,IAAIA,aAAa,eAAe,OAAO;QAEvC,iCAAiC;QACjC,IAAIzC,QAAQyC,QAAQ,KAAK,QAAQ,OAAO;QACxC,IAAIzC,QAAQyC,QAAQ,KAAK,eAAe,OAAO;QAC/C,IAAIzC,QAAQyC,QAAQ,KAAK,OAAO,OAAO;QAEvC,OAAO,SAAS,WAAW;IAC7B;IAEA;;GAEC,GACD,AAAQU,sBACNnD,OAAoB,EACpB+C,OAAoB,EACK;QACzB,wCAAwC;QACxC,IAAI/C,QAAQgE,QAAQ,KAAK,YAAY;YACnC,OAAO;QACT;QAEA,iDAAiD;QACjD,IAAIjB,WAAWA,QAAQa,WAAW,GAAG,KAAK;YACxC,OAAO;QACT;QAEA,oCAAoC;QACpC,IAAI5D,QAAQiE,kBAAkB,CAACxE,MAAM,GAAG,GAAG;YACzC,OAAO;QACT;QAEA,mCAAmC;QACnC,IAAIO,QAAQgE,QAAQ,KAAK,OAAO;YAC9B,OAAO;QACT;QAEA,OAAO;IACT;IAEA;;GAEC,GACD,AAAQX,iBACNrD,OAAoB,EACpByB,QAAiC,EACjCsB,OAAoB,EACV;QACV,MAAMK,QAAkB,EAAE;QAE1B,qBAAqB;QACrBA,MAAMf,IAAI,CAAC;QACXe,MAAMf,IAAI,CAAC;QAEX,0BAA0B;QAC1B,IAAIZ,aAAa,aAAa;YAC5B2B,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;QACb,OAAO,IAAIZ,aAAa,YAAY;YAClC2B,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;QACb,OAAO,IAAIZ,aAAa,YAAY;YAClC2B,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;QACb,OAAO,IAAIZ,aAAa,cAAc;YACpC2B,MAAMf,IAAI,CAAC;YACXe,MAAMf,IAAI,CAAC;QACb;QAEA,qBAAqB;QACrBe,MAAMf,IAAI,CAAC;QACXe,MAAMf,IAAI,CAAC;QAEX,OAAOe;IACT;IAEA;;GAEC,GACD,AAAQjD,gBACNb,QAAuB,EACvB4E,UAAyB,EACV;QACf,OAAO5E,SAASS,GAAG,CAAC,CAACC;YACnB,MAAMyB,WAAWyC,WAAWC,IAAI,CAAC,CAACnC,IAAMA,EAAEsB,SAAS,KAAKtD,QAAQS,EAAE;YAElE,IAAIG,WAAW,IAAI,gBAAgB;YAEnC,sBAAsB;YACtB,IAAIZ,QAAQgE,QAAQ,KAAK,YAAYpD,YAAY;iBAC5C,IAAIZ,QAAQgE,QAAQ,KAAK,QAAQpD,YAAY;iBAC7C,IAAIZ,QAAQgE,QAAQ,KAAK,UAAUpD,YAAY;YAEpD,+CAA+C;YAC/C,IAAIZ,QAAQ+D,KAAK,KAAK,WAAWnD,YAAY;iBACxC,IAAIZ,QAAQ+D,KAAK,KAAK,eAAenD,YAAY;YAEtD,sBAAsB;YACtB,IAAIZ,QAAQyC,QAAQ,KAAK,OAAO7B,YAAY;YAE5C,mBAAmB;YACnBA,YAAYwD,KAAKC,GAAG,CAACrE,QAAQiE,kBAAkB,CAACxE,MAAM,GAAG,GAAG;YAE5D,OAAO;gBACL6D,WAAWtD,QAAQS,EAAE;gBACrBG,UAAUwD,KAAKC,GAAG,CAACzD,UAAU;gBAC7B0D,WAAW,CAAC,kBAAkB,EAAEtE,QAAQgE,QAAQ,CAAC,WAAW,EAAEhE,QAAQ+D,KAAK,CAAC,QAAQ,EAAE/D,QAAQiE,kBAAkB,CAACxE,MAAM,CAAC,oBAAoB,CAAC;gBAC7I8E,UAAUvE,QAAQgE,QAAQ,KAAK,cAAchE,QAAQ+D,KAAK,KAAK;YACjE;QACF;IACF;IAEA;;GAEC,GACD,AAAQ1D,wBAAwB6D,UAAyB,EAAyB;QAChF,MAAM9D,eAAe,IAAIpB;QAEzB,2DAA2D;QAC3D,KAAK,MAAMyC,YAAYyC,WAAY;YACjC,MAAMM,OAAiB,EAAE;YAEzB,sDAAsD;YACtD,IAAI/C,SAASuB,aAAa,KAAK,sBAAsB;gBACnD,MAAMyB,eAAeP,WAAWQ,MAAM,CACpC,CAAC1C,IAAMA,EAAEgB,aAAa,KAAK,uBAAuBhB,EAAEgB,aAAa,KAAK;gBAExEwB,KAAKnC,IAAI,IAAIoC,aAAa1E,GAAG,CAAC,CAAC4E,IAAMA,EAAElE,EAAE;YAC3C;YAEA,sDAAsD;YACtD,IAAIgB,SAASuB,aAAa,KAAK,qBAAqB;gBAClD,MAAM4B,UAAUV,WAAWQ,MAAM,CAAC,CAAC1C,IAAMA,EAAEgB,aAAa,KAAK;gBAC7DwB,KAAKnC,IAAI,IAAIuC,QAAQ7E,GAAG,CAAC,CAAC4E,IAAMA,EAAElE,EAAE;YACtC;YAEA,IAAI+D,KAAK/E,MAAM,GAAG,GAAG;gBACnBW,aAAayB,GAAG,CAACJ,SAAShB,EAAE,EAAE+D;YAChC;QACF;QAEA,OAAOpE;IACT;IAEA;;GAEC,GACD,AAAQG,qBACN2D,UAAyB,EACzB9D,YAAmC,EAC3B;QACR,4BAA4B;QAC5B,MAAMyE,cAAc,IAAI7F,IAAIkF,WAAWnE,GAAG,CAAC,CAACiC,IAAM;gBAACA,EAAEvB,EAAE;gBAAEuB;aAAE;QAC3D,MAAM8C,UAAU,IAAIC;QACpB,IAAIC,cAAc;QAElB,MAAMC,gBAAgB,CAACC;YACrB,IAAIJ,QAAQnC,GAAG,CAACuC,aAAa,OAAO;YACpCJ,QAAQK,GAAG,CAACD;YAEZ,MAAMzD,WAAWoD,YAAYjC,GAAG,CAACsC;YACjC,IAAI,CAACzD,UAAU,OAAO;YAEtB,MAAM+C,OAAOpE,aAAawC,GAAG,CAACsC,eAAe,EAAE;YAC/C,MAAME,cAAchB,KAAKiB,GAAG,IAAIb,KAAKzE,GAAG,CAAC,CAACuF,IAAML,cAAcK,KAAK;YAEnE,OAAOF,cAAc3D,SAASgC,eAAe;QAC/C;QAEA,KAAK,MAAMhC,YAAYyC,WAAY;YACjC,MAAMqB,WAAWN,cAAcxD,SAAShB,EAAE;YAC1CuE,cAAcZ,KAAKiB,GAAG,CAACL,aAAaO;QACtC;QAEA,OAAOP,cAAc,KAAK,MAAM,0BAA0B;IAC5D;IAEA;;GAEC,GACD,AAAQtD,0BACNJ,KAAoB,EACpBC,UAAoD,EACpDnB,YAAmC,EACf;QACpB,KAAK,MAAMqB,YAAYH,MAAO;YAC5B,MAAMkD,OAAOpE,aAAawC,GAAG,CAACnB,SAAShB,EAAE,KAAK,EAAE;YAEhD,0CAA0C;YAC1C,MAAM+E,mBAAmBhB,KAAKiB,KAAK,CAAC,CAACC,QAAU,CAACnE,WAAWoB,GAAG,CAAC+C;YAE/D,IAAIF,kBAAkB;gBACpB,OAAO/D;YACT;QACF;QAEA,OAAO;IACT;IAEA;;GAEC,GACD,MAAcG,WACZH,QAAqB,EACrBlC,SAAiB,EACY;QAC7B,MAAMoG,YAAY,IAAIjF,OAAOkF,WAAW;QAExC,MAAMC,SAA6B;YACjCpF,IAAIgB,SAAShB,EAAE;YACf6C,WAAW7B,SAAS6B,SAAS;YAC7BN,eAAevB,SAASuB,aAAa;YACrCvB,UAAUA,SAASA,QAAQ;YAC3BkE;YACAG,QAAQ;YACRC,SAAS,EAAE;YACXC,YAAY;gBACVC,QAAQ;gBACRC,aAAa;gBACbC,aAAa;gBACbC,oBAAoB;gBACpBC,QAAQ,EAAE;YACZ;QACF;QAEA,IAAI,CAACpH,UAAU,CAAC4C,GAAG,CAACJ,SAAShB,EAAE,EAAEoF;QAEjC,IAAI;YACF,IAAI,CAAC1G,MAAM,CAACK,IAAI,CAAC,iBAAiB;gBAChC8G,OAAO7E,SAAShB,EAAE;gBAClB8F,OAAO9E,SAASuB,aAAa;gBAC7BvB,UAAUA,SAASA,QAAQ;YAC7B;YAEA,mEAAmE;YACnE,MAAMsE,UAAU,MAAM,IAAI,CAACS,oBAAoB,CAAC/E;YAChDoE,OAAOE,OAAO,GAAGA;YAEjB,eAAe;YACf,MAAMC,aAAa,MAAM,IAAI,CAACS,WAAW,CAAChF,UAAUsE;YACpDF,OAAOG,UAAU,GAAGA;YAEpB,IAAIA,WAAWC,MAAM,EAAE;gBACrBJ,OAAOC,MAAM,GAAG;gBAEhB,4BAA4B;gBAC5B,MAAM,IAAI,CAACY,YAAY,CAACjF,UAAUoE;YACpC,OAAO;gBACLA,OAAOC,MAAM,GAAG;YAClB;YAEAD,OAAOc,OAAO,GAAG,IAAIjG,OAAOkF,WAAW;YAEvC,kBAAkB;YAClB,MAAM,IAAI,CAAC9G,MAAM,CAAC+B,QAAQ,CAAC,mBAAmB,UAAUgF,QAAQ;gBAC9D/E,MAAM;oBAAC;oBAAcvB;oBAAWkC,SAASuB,aAAa;iBAAC;gBACvDjC,YAAY;YACd;YAEA,IAAI,CAAC9B,UAAU,CAACqD,MAAM,CAACb,SAAShB,EAAE;YAElC,OAAOoF;QACT,EAAE,OAAO5E,OAAO;YACd,IAAI,CAAC9B,MAAM,CAAC8B,KAAK,CAAC,wBAAwB;gBAAEA;gBAAOqF,OAAO7E,SAAShB,EAAE;YAAC;YACtEoF,OAAOC,MAAM,GAAG;YAChBD,OAAOc,OAAO,GAAG,IAAIjG,OAAOkF,WAAW;YACvCC,OAAOG,UAAU,CAACK,MAAM,CAAChE,IAAI,CAACpB,MAAM2F,OAAO;YAC3C,IAAI,CAAC3H,UAAU,CAACqD,MAAM,CAACb,SAAShB,EAAE;YAClC,OAAOoF;QACT;IACF;IAEA;;GAEC,GACD,MAAcW,qBAAqB/E,QAAqB,EAAyB;QAC/E,2DAA2D;QAC3D,OAAO;YACL;gBACEoF,MAAM;gBACNC,MAAM;gBACNC,cAAc;gBACdxD,aAAa,CAAC,QAAQ,EAAE9B,SAASA,QAAQ,CAAC,KAAK,EAAEA,SAAS8B,WAAW,EAAE;YACzE;SACD;IACH;IAEA;;GAEC,GACD,MAAckD,YAAYhF,QAAqB,EAAEsE,OAAqB,EAA6B;QACjG,wDAAwD;QACxD,OAAO;YACLE,QAAQ;YACRC,aAAa;YACbC,aAAa;YACbC,oBAAoB;YACpBC,QAAQ,EAAE;QACZ;IACF;IAEA;;GAEC,GACD,MAAcK,aAAajF,QAAqB,EAAEoE,MAA0B,EAAiB;QAC3F,MAAMpD,WAAW,IAAI,CAACC,wBAAwB,CAAC;YAC7CjC,IAAIgB,SAAS6B,SAAS;YACtBrC,OAAOQ,SAAS8B,WAAW;QAC7B;QAEA,IAAIR,UAAU,IAAI,CAAChE,WAAW,CAAC6D,GAAG,CAACH;QAEnC,IAAI,CAACM,SAAS;YACZA,UAAU;gBACRA,SAASN;gBACTA;gBACAmB,aAAa;gBACboD,aAAa;gBACbC,WAAWxF,SAASuB,aAAa;gBACjCc,iBAAiB,EAAE;YACrB;QACF;QAEA,sBAAsB;QACtB,MAAM1C,aAAa,AAAC2B,QAAQa,WAAW,GAAG,MAAO;QACjDb,QAAQa,WAAW,GAAG,AAAC,CAAA,AAACb,QAAQa,WAAW,GAAG,MAAO,CAAA,IAAKxC;QAE1D,sBAAsB;QACtB,MAAMmE,WAAW,IAAI7E,KAAKmF,OAAOc,OAAO,EAAGO,OAAO,KAAK,IAAIxG,KAAKmF,OAAOF,SAAS,EAAEuB,OAAO;QACzFnE,QAAQiE,WAAW,GAAG,AAACjE,CAAAA,QAAQiE,WAAW,GAAGzB,QAAO,IAAK;QAEzD,IAAI,CAACxG,WAAW,CAAC8C,GAAG,CAACY,UAAUM;IACjC;IAEA;;GAEC,GACD,AAAQW,kBAAkB1D,OAAoB,EAAEyB,QAAiC,EAAU;QACzF,IAAI0F,aAAa,IAAI,UAAU;QAE/B,sBAAsB;QACtB,IAAI1F,aAAa,aAAa0F,cAAc;aACvC,IAAI1F,aAAa,YAAY0F,cAAc;aAC3C,IAAI1F,aAAa,YAAY0F,cAAc;aAC3C,IAAI1F,aAAa,cAAc0F,cAAc;QAElD,sBAAsB;QACtB,IAAInH,QAAQgE,QAAQ,KAAK,YAAYmD,cAAc;aAC9C,IAAInH,QAAQgE,QAAQ,KAAK,OAAOmD,cAAc;QAEnD,uBAAuB;QACvBA,cAAcnH,QAAQiE,kBAAkB,CAACxE,MAAM,GAAG;QAElD,OAAO2E,KAAKgD,KAAK,CAACD;IACpB;IAEA;;GAEC,GACD,MAAc/H,kBAAiC;QAC7C,IAAI;YACF,MAAMiI,WAAW,MAAM,IAAI,CAACvI,MAAM,CAACwI,MAAM,CAAC;gBACxCR,MAAM;gBACNhG,MAAM;oBAAC;iBAAc;gBACrByG,OAAO;YACT;YAEA,KAAK,MAAMC,SAASH,SAAU;gBAC5B,IAAIG,MAAMC,OAAO,CAAC1E,OAAO,EAAE;oBACzB,IAAI,CAAChE,WAAW,CAAC8C,GAAG,CAAC2F,MAAMC,OAAO,CAAC1E,OAAO,EAAEyE,MAAMC,OAAO;gBAC3D;YACF;YAEA,IAAI,CAACtI,MAAM,CAACK,IAAI,CAAC,uBAAuB;gBAAEkI,OAAO,IAAI,CAAC3I,WAAW,CAACyC,IAAI;YAAC;QACzE,EAAE,OAAOP,OAAO;YACd,IAAI,CAAC9B,MAAM,CAACwI,IAAI,CAAC,+BAA+B;gBAAE1G;YAAM;QAC1D;IACF;IAEA;;GAEC,GACD2G,iBAAuC;QACrC,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAAC7I,UAAU,CAACmD,MAAM;IAC1C;IAEA;;GAEC,GACD2F,cAAcxI,SAAiB,EAAwB;QACrD,OAAO,IAAI,CAACL,UAAU,CAAC0D,GAAG,CAACrD,cAAc,EAAE;IAC7C;AACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fullstack Swarm Workflows - Exports
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive workflow system for iterative build-test-fix cycles
|
|
5
|
+
* with intelligent coordination, testing, and convergence detection.
|
|
6
|
+
*/ // Main workflow engine
|
|
7
|
+
export { IterativeBuildTestWorkflow } from './iterative-build-test.js';
|
|
8
|
+
// Fix coordination
|
|
9
|
+
export { FixCoordinator } from './fix-coordinator.js';
|
|
10
|
+
// Convergence detection
|
|
11
|
+
export { ConvergenceDetector } from './convergence-detector.js';
|
|
12
|
+
// Metrics tracking
|
|
13
|
+
export { WorkflowMetrics } from './workflow-metrics.js';
|
|
14
|
+
// Test result analysis
|
|
15
|
+
export { TestResultAnalyzer } from './test-result-analyzer.js';
|
|
16
|
+
// Regression testing
|
|
17
|
+
export { RegressionTestManager } from './regression-test-manager.js';
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/swarm-fullstack/workflows/index.ts"],"names":["IterativeBuildTestWorkflow","FixCoordinator","ConvergenceDetector","WorkflowMetrics","TestResultAnalyzer","RegressionTestManager"],"mappings":"AAAA;;;;;CAKC,GAED,uBAAuB;AACvB,SACEA,0BAA0B,QAarB,4BAA4B;AAEnC,mBAAmB;AACnB,SACEC,cAAc,QAKT,uBAAuB;AAE9B,wBAAwB;AACxB,SACEC,mBAAmB,QAQd,4BAA4B;AAEnC,mBAAmB;AACnB,SACEC,eAAe,QAIV,wBAAwB;AAE/B,uBAAuB;AACvB,SACEC,kBAAkB,QAOb,4BAA4B;AAEnC,qBAAqB;AACrB,SACEC,qBAAqB,QAQhB,+BAA+B"}
|