agentic-qe 1.0.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 +209 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude/agents/base-template-generator.md +42 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/coder.md +266 -0
- package/.claude/agents/core/planner.md +168 -0
- package/.claude/agents/core/researcher.md +190 -0
- package/.claude/agents/core/reviewer.md +326 -0
- package/.claude/agents/core/tester.md +319 -0
- package/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +191 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +367 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude/agents/goal/code-goal-planner.md +446 -0
- package/.claude/agents/goal/goal-planner.md +168 -0
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +130 -0
- package/.claude/agents/hive-mind/queen-coordinator.md +203 -0
- package/.claude/agents/hive-mind/scout-explorer.md +242 -0
- package/.claude/agents/hive-mind/swarm-memory-manager.md +193 -0
- package/.claude/agents/hive-mind/worker-specialist.md +217 -0
- package/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/qe-api-contract-validator.md +1088 -0
- package/.claude/agents/qe-chaos-engineer.md +736 -0
- package/.claude/agents/qe-coverage-analyzer.md +282 -0
- package/.claude/agents/qe-deployment-readiness.md +1109 -0
- package/.claude/agents/qe-flaky-test-hunter.md +1121 -0
- package/.claude/agents/qe-fleet-commander.md +641 -0
- package/.claude/agents/qe-performance-tester.md +354 -0
- package/.claude/agents/qe-production-intelligence.md +1162 -0
- package/.claude/agents/qe-quality-gate.md +294 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +947 -0
- package/.claude/agents/qe-requirements-validator.md +691 -0
- package/.claude/agents/qe-security-scanner.md +430 -0
- package/.claude/agents/qe-test-data-architect.md +1007 -0
- package/.claude/agents/qe-test-executor.md +365 -0
- package/.claude/agents/qe-test-generator.md +332 -0
- package/.claude/agents/qe-visual-tester.md +754 -0
- package/.claude/agents/sparc/architecture.md +472 -0
- package/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude/agents/sparc/refinement.md +525 -0
- package/.claude/agents/sparc/specification.md +276 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +327 -0
- package/.claude/agents/swarm/mesh-coordinator.md +392 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +105 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude/aqe-fleet.json +47 -0
- package/.claude/commands/README.md +106 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/aqe-analyze.md +344 -0
- package/.claude/commands/aqe-benchmark.md +466 -0
- package/.claude/commands/aqe-chaos.md +443 -0
- package/.claude/commands/aqe-execute.md +322 -0
- package/.claude/commands/aqe-fleet-status.md +431 -0
- package/.claude/commands/aqe-generate.md +301 -0
- package/.claude/commands/aqe-optimize.md +361 -0
- package/.claude/commands/aqe-report.md +411 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +132 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/memory/usage.md +46 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/settings.json +114 -0
- package/.claude/settings.local.json +10 -0
- package/CONTRIBUTING.md +897 -0
- package/LICENSE +21 -0
- package/README.md +632 -0
- package/bin/aqe +959 -0
- package/config/fleet.yaml +50 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts +222 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -0
- package/dist/agents/ApiContractValidatorAgent.js +787 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -0
- package/dist/agents/BaseAgent.d.ts +147 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -0
- package/dist/agents/BaseAgent.js +374 -0
- package/dist/agents/BaseAgent.js.map +1 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts +103 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/CoverageAnalyzerAgent.js +466 -0
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts +244 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -0
- package/dist/agents/DeploymentReadinessAgent.js +974 -0
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts +172 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -0
- package/dist/agents/FlakyTestHunterAgent.js +867 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -0
- package/dist/agents/FleetCommanderAgent.d.ts +154 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -0
- package/dist/agents/FleetCommanderAgent.js +924 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -0
- package/dist/agents/PerformanceTesterAgent.d.ts +194 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -0
- package/dist/agents/PerformanceTesterAgent.js +972 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts +224 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -0
- package/dist/agents/ProductionIntelligenceAgent.js +856 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts +67 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/QualityAnalyzerAgent.js +453 -0
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -0
- package/dist/agents/QualityGateAgent.d.ts +104 -0
- package/dist/agents/QualityGateAgent.d.ts.map +1 -0
- package/dist/agents/QualityGateAgent.js +522 -0
- package/dist/agents/QualityGateAgent.js.map +1 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +274 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js +1076 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts +195 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -0
- package/dist/agents/RequirementsValidatorAgent.js +992 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -0
- package/dist/agents/SecurityScannerAgent.d.ts +126 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -0
- package/dist/agents/SecurityScannerAgent.js +695 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -0
- package/dist/agents/TestDataArchitectAgent.d.ts +452 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -0
- package/dist/agents/TestDataArchitectAgent.js +1346 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -0
- package/dist/agents/TestExecutorAgent.d.ts +101 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -0
- package/dist/agents/TestExecutorAgent.js +730 -0
- package/dist/agents/TestExecutorAgent.js.map +1 -0
- package/dist/agents/TestGeneratorAgent.d.ts +109 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -0
- package/dist/agents/TestGeneratorAgent.js +450 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -0
- package/dist/agents/index.d.ts +51 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +738 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +32 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +764 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/fleet.d.ts +36 -0
- package/dist/cli/commands/fleet.d.ts.map +1 -0
- package/dist/cli/commands/fleet.js +745 -0
- package/dist/cli/commands/fleet.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +24 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +424 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +17 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +570 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.d.ts +25 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +558 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/index-spec.d.ts +3 -0
- package/dist/cli/index-spec.d.ts.map +1 -0
- package/dist/cli/index-spec.js +154 -0
- package/dist/cli/index-spec.js.map +1 -0
- package/dist/cli/index-working.d.ts +7 -0
- package/dist/cli/index-working.d.ts.map +1 -0
- package/dist/cli/index-working.js +470 -0
- package/dist/cli/index-working.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +174 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/Agent.d.ts +189 -0
- package/dist/core/Agent.d.ts.map +1 -0
- package/dist/core/Agent.js +288 -0
- package/dist/core/Agent.js.map +1 -0
- package/dist/core/EventBus.d.ts +40 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/core/EventBus.js +114 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/FleetManager.d.ts +219 -0
- package/dist/core/FleetManager.d.ts.map +1 -0
- package/dist/core/FleetManager.js +354 -0
- package/dist/core/FleetManager.js.map +1 -0
- package/dist/core/MemoryManager.d.ts +119 -0
- package/dist/core/MemoryManager.d.ts.map +1 -0
- package/dist/core/MemoryManager.js +460 -0
- package/dist/core/MemoryManager.js.map +1 -0
- package/dist/core/Task.d.ts +264 -0
- package/dist/core/Task.d.ts.map +1 -0
- package/dist/core/Task.js +397 -0
- package/dist/core/Task.js.map +1 -0
- package/dist/core/coverage-analyzer.d.ts +50 -0
- package/dist/core/coverage-analyzer.d.ts.map +1 -0
- package/dist/core/coverage-analyzer.js +146 -0
- package/dist/core/coverage-analyzer.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/quality-gate.d.ts +81 -0
- package/dist/core/quality-gate.d.ts.map +1 -0
- package/dist/core/quality-gate.js +254 -0
- package/dist/core/quality-gate.js.map +1 -0
- package/dist/coverage/coverage-collector.d.ts +62 -0
- package/dist/coverage/coverage-collector.d.ts.map +1 -0
- package/dist/coverage/coverage-collector.js +61 -0
- package/dist/coverage/coverage-collector.js.map +1 -0
- package/dist/coverage/coverage-reporter.d.ts +42 -0
- package/dist/coverage/coverage-reporter.d.ts.map +1 -0
- package/dist/coverage/coverage-reporter.js +53 -0
- package/dist/coverage/coverage-reporter.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +142 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/handlers/agent-spawn.d.ts +72 -0
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -0
- package/dist/mcp/handlers/agent-spawn.js +255 -0
- package/dist/mcp/handlers/agent-spawn.js.map +1 -0
- package/dist/mcp/handlers/base-handler.d.ts +53 -0
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/base-handler.js +77 -0
- package/dist/mcp/handlers/base-handler.js.map +1 -0
- package/dist/mcp/handlers/fleet-init.d.ts +55 -0
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -0
- package/dist/mcp/handlers/fleet-init.js +149 -0
- package/dist/mcp/handlers/fleet-init.js.map +1 -0
- package/dist/mcp/handlers/fleet-status.d.ts +103 -0
- package/dist/mcp/handlers/fleet-status.d.ts.map +1 -0
- package/dist/mcp/handlers/fleet-status.js +244 -0
- package/dist/mcp/handlers/fleet-status.js.map +1 -0
- package/dist/mcp/handlers/optimize-tests.d.ts +219 -0
- package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/optimize-tests.js +532 -0
- package/dist/mcp/handlers/optimize-tests.js.map +1 -0
- package/dist/mcp/handlers/predict-defects.d.ts +194 -0
- package/dist/mcp/handlers/predict-defects.d.ts.map +1 -0
- package/dist/mcp/handlers/predict-defects.js +721 -0
- package/dist/mcp/handlers/predict-defects.js.map +1 -0
- package/dist/mcp/handlers/quality-analyze.d.ts +273 -0
- package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -0
- package/dist/mcp/handlers/quality-analyze.js +702 -0
- package/dist/mcp/handlers/quality-analyze.js.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts +152 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.js +629 -0
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -0
- package/dist/mcp/handlers/test-execute.d.ts +132 -0
- package/dist/mcp/handlers/test-execute.d.ts.map +1 -0
- package/dist/mcp/handlers/test-execute.js +436 -0
- package/dist/mcp/handlers/test-execute.js.map +1 -0
- package/dist/mcp/handlers/test-generate.d.ts +107 -0
- package/dist/mcp/handlers/test-generate.d.ts.map +1 -0
- package/dist/mcp/handlers/test-generate.js +437 -0
- package/dist/mcp/handlers/test-generate.js.map +1 -0
- package/dist/mcp/server.d.ts +99 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +214 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/services/AgentRegistry.d.ts +191 -0
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -0
- package/dist/mcp/services/AgentRegistry.js +403 -0
- package/dist/mcp/services/AgentRegistry.js.map +1 -0
- package/dist/mcp/services/HookExecutor.d.ts +165 -0
- package/dist/mcp/services/HookExecutor.d.ts.map +1 -0
- package/dist/mcp/services/HookExecutor.js +327 -0
- package/dist/mcp/services/HookExecutor.js.map +1 -0
- package/dist/mcp/start.d.ts +7 -0
- package/dist/mcp/start.d.ts.map +1 -0
- package/dist/mcp/start.js +35 -0
- package/dist/mcp/start.js.map +1 -0
- package/dist/mcp/tools.d.ts +81 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +471 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/optimization/sublinear-solver.d.ts +72 -0
- package/dist/optimization/sublinear-solver.d.ts.map +1 -0
- package/dist/optimization/sublinear-solver.js +263 -0
- package/dist/optimization/sublinear-solver.js.map +1 -0
- package/dist/scripts/verifyComplexity.d.ts +8 -0
- package/dist/scripts/verifyComplexity.d.ts.map +1 -0
- package/dist/scripts/verifyComplexity.js +56 -0
- package/dist/scripts/verifyComplexity.js.map +1 -0
- package/dist/types/api-contract.types.d.ts +273 -0
- package/dist/types/api-contract.types.d.ts.map +1 -0
- package/dist/types/api-contract.types.js +18 -0
- package/dist/types/api-contract.types.js.map +1 -0
- package/dist/types/errors.d.ts +104 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +226 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/events.d.ts +101 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +6 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +570 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +131 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/Config.d.ts +128 -0
- package/dist/utils/Config.d.ts.map +1 -0
- package/dist/utils/Config.js +232 -0
- package/dist/utils/Config.js.map +1 -0
- package/dist/utils/Database.d.ts +112 -0
- package/dist/utils/Database.d.ts.map +1 -0
- package/dist/utils/Database.js +352 -0
- package/dist/utils/Database.js.map +1 -0
- package/dist/utils/Logger.d.ts +58 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +125 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +14 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/sublinear/coverageOptimizer.d.ts +84 -0
- package/dist/utils/sublinear/coverageOptimizer.d.ts.map +1 -0
- package/dist/utils/sublinear/coverageOptimizer.js +415 -0
- package/dist/utils/sublinear/coverageOptimizer.js.map +1 -0
- package/dist/utils/sublinear/index.d.ts +50 -0
- package/dist/utils/sublinear/index.d.ts.map +1 -0
- package/dist/utils/sublinear/index.js +390 -0
- package/dist/utils/sublinear/index.js.map +1 -0
- package/dist/utils/sublinear/matrixSolver.d.ts +132 -0
- package/dist/utils/sublinear/matrixSolver.d.ts.map +1 -0
- package/dist/utils/sublinear/matrixSolver.js +642 -0
- package/dist/utils/sublinear/matrixSolver.js.map +1 -0
- package/dist/utils/sublinear/temporalPredictor.d.ts +195 -0
- package/dist/utils/sublinear/temporalPredictor.d.ts.map +1 -0
- package/dist/utils/sublinear/temporalPredictor.js +474 -0
- package/dist/utils/sublinear/temporalPredictor.js.map +1 -0
- package/dist/utils/sublinear/testSelector.d.ts +81 -0
- package/dist/utils/sublinear/testSelector.d.ts.map +1 -0
- package/dist/utils/sublinear/testSelector.js +303 -0
- package/dist/utils/sublinear/testSelector.js.map +1 -0
- package/package.json +131 -0
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent Registry Service
|
|
4
|
+
*
|
|
5
|
+
* Central registry for managing QE agent instances spawned via MCP.
|
|
6
|
+
* Bridges MCP tool calls to TypeScript agent implementations.
|
|
7
|
+
*
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
* @author Agentic QE Team
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.resetAgentRegistry = exports.getAgentRegistry = exports.AgentRegistry = void 0;
|
|
13
|
+
const agents_1 = require("../../agents");
|
|
14
|
+
const types_1 = require("../../types");
|
|
15
|
+
const Logger_1 = require("../../utils/Logger");
|
|
16
|
+
const EventBus_1 = require("../../core/EventBus");
|
|
17
|
+
const MemoryManager_1 = require("../../core/MemoryManager");
|
|
18
|
+
/**
|
|
19
|
+
* AgentRegistry - Central management for QE agent instances
|
|
20
|
+
*
|
|
21
|
+
* Responsibilities:
|
|
22
|
+
* - Create and track agent instances
|
|
23
|
+
* - Map MCP types to QEAgentType enum
|
|
24
|
+
* - Execute tasks on agents
|
|
25
|
+
* - Collect agent metrics
|
|
26
|
+
* - Handle agent lifecycle
|
|
27
|
+
*/
|
|
28
|
+
class AgentRegistry {
|
|
29
|
+
constructor(config = {}) {
|
|
30
|
+
this.agents = new Map();
|
|
31
|
+
this.nextAgentId = 1;
|
|
32
|
+
this.config = {
|
|
33
|
+
maxAgents: config.maxAgents || 50,
|
|
34
|
+
defaultTimeout: config.defaultTimeout || 300000, // 5 minutes
|
|
35
|
+
enableMetrics: config.enableMetrics !== false
|
|
36
|
+
};
|
|
37
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
38
|
+
// Initialize infrastructure
|
|
39
|
+
this.eventBus = new EventBus_1.EventBus();
|
|
40
|
+
this.memoryStore = new MemoryManager_1.MemoryManager();
|
|
41
|
+
// Create factory with infrastructure
|
|
42
|
+
this.factory = new agents_1.QEAgentFactory({
|
|
43
|
+
eventBus: this.eventBus,
|
|
44
|
+
memoryStore: this.memoryStore,
|
|
45
|
+
context: this.createDefaultContext()
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create default agent context
|
|
50
|
+
*/
|
|
51
|
+
createDefaultContext() {
|
|
52
|
+
return {
|
|
53
|
+
id: `registry-${Date.now()}`,
|
|
54
|
+
type: 'registry',
|
|
55
|
+
status: types_1.AgentStatus.INITIALIZING
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create agent-specific context
|
|
60
|
+
*/
|
|
61
|
+
createAgentContext(mcpType, agentId) {
|
|
62
|
+
return {
|
|
63
|
+
id: agentId,
|
|
64
|
+
type: mcpType,
|
|
65
|
+
status: types_1.AgentStatus.ACTIVE,
|
|
66
|
+
metadata: {
|
|
67
|
+
workingDirectory: process.cwd(),
|
|
68
|
+
environment: process.env.NODE_ENV || 'development'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Map string capabilities to AgentCapability objects
|
|
74
|
+
*/
|
|
75
|
+
mapCapabilities(capabilities) {
|
|
76
|
+
return capabilities.map((cap) => ({
|
|
77
|
+
name: cap,
|
|
78
|
+
version: '1.0.0',
|
|
79
|
+
description: `${cap} capability`
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Spawn a new QE agent from MCP specification
|
|
84
|
+
*
|
|
85
|
+
* @param mcpType - MCP agent type string (e.g., 'test-generator')
|
|
86
|
+
* @param config - Agent configuration
|
|
87
|
+
* @returns Spawned agent ID and instance
|
|
88
|
+
*/
|
|
89
|
+
async spawnAgent(mcpType, config) {
|
|
90
|
+
// Check agent limit
|
|
91
|
+
if (this.agents.size >= this.config.maxAgents) {
|
|
92
|
+
throw new Error(`Agent limit reached: ${this.config.maxAgents}`);
|
|
93
|
+
}
|
|
94
|
+
// Map MCP type to QEAgentType
|
|
95
|
+
const agentType = this.mapMCPTypeToQEAgentType(mcpType);
|
|
96
|
+
if (!agentType) {
|
|
97
|
+
throw new Error(`Unknown MCP agent type: ${mcpType}`);
|
|
98
|
+
}
|
|
99
|
+
// Generate unique agent ID
|
|
100
|
+
const agentId = this.generateAgentId(mcpType);
|
|
101
|
+
this.logger.info(`Spawning agent: ${agentId} (type: ${mcpType} -> ${agentType})`);
|
|
102
|
+
try {
|
|
103
|
+
// Create full BaseAgentConfig with infrastructure
|
|
104
|
+
const fullConfig = {
|
|
105
|
+
type: agentType,
|
|
106
|
+
capabilities: config.capabilities
|
|
107
|
+
? this.mapCapabilities(config.capabilities)
|
|
108
|
+
: [],
|
|
109
|
+
context: this.createAgentContext(mcpType, agentId),
|
|
110
|
+
memoryStore: this.memoryStore,
|
|
111
|
+
eventBus: this.eventBus
|
|
112
|
+
};
|
|
113
|
+
// Create agent via factory instance method with additional config
|
|
114
|
+
const agent = await this.factory.createAgent(agentType, {
|
|
115
|
+
...fullConfig,
|
|
116
|
+
name: config.name || agentId,
|
|
117
|
+
description: config.description || `${mcpType} agent spawned via MCP`
|
|
118
|
+
});
|
|
119
|
+
// Initialize agent
|
|
120
|
+
await agent.initialize();
|
|
121
|
+
// Register agent
|
|
122
|
+
const registeredAgent = {
|
|
123
|
+
id: agentId,
|
|
124
|
+
agent,
|
|
125
|
+
type: agentType,
|
|
126
|
+
mcpType,
|
|
127
|
+
spawnedAt: new Date(),
|
|
128
|
+
lastActivity: new Date(),
|
|
129
|
+
tasksCompleted: 0,
|
|
130
|
+
totalExecutionTime: 0,
|
|
131
|
+
status: 'idle'
|
|
132
|
+
};
|
|
133
|
+
this.agents.set(agentId, registeredAgent);
|
|
134
|
+
this.logger.info(`Agent spawned successfully: ${agentId}`);
|
|
135
|
+
return { id: agentId, agent };
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
this.logger.error(`Failed to spawn agent ${agentId}:`, error);
|
|
139
|
+
throw new Error(`Agent spawn failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get an agent by ID
|
|
144
|
+
*
|
|
145
|
+
* @param agentId - Agent ID
|
|
146
|
+
* @returns Agent instance or undefined
|
|
147
|
+
*/
|
|
148
|
+
getAgent(agentId) {
|
|
149
|
+
const registered = this.agents.get(agentId);
|
|
150
|
+
if (registered) {
|
|
151
|
+
registered.lastActivity = new Date();
|
|
152
|
+
}
|
|
153
|
+
return registered?.agent;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get registered agent metadata
|
|
157
|
+
*
|
|
158
|
+
* @param agentId - Agent ID
|
|
159
|
+
* @returns Registered agent metadata or undefined
|
|
160
|
+
*/
|
|
161
|
+
getRegisteredAgent(agentId) {
|
|
162
|
+
return this.agents.get(agentId);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Execute a task on a specific agent
|
|
166
|
+
*
|
|
167
|
+
* @param agentId - Agent ID
|
|
168
|
+
* @param task - Task to execute
|
|
169
|
+
* @returns Task result
|
|
170
|
+
*/
|
|
171
|
+
async executeTask(agentId, task) {
|
|
172
|
+
const registered = this.agents.get(agentId);
|
|
173
|
+
if (!registered) {
|
|
174
|
+
throw new Error(`Agent not found: ${agentId}`);
|
|
175
|
+
}
|
|
176
|
+
this.logger.info(`Executing task on agent ${agentId}:`, { taskType: task.taskType });
|
|
177
|
+
const startTime = Date.now();
|
|
178
|
+
registered.status = 'busy';
|
|
179
|
+
try {
|
|
180
|
+
const result = await registered.agent.executeTask(task);
|
|
181
|
+
// Update metrics
|
|
182
|
+
const executionTime = Date.now() - startTime;
|
|
183
|
+
registered.tasksCompleted++;
|
|
184
|
+
registered.totalExecutionTime += executionTime;
|
|
185
|
+
registered.lastActivity = new Date();
|
|
186
|
+
registered.status = 'idle';
|
|
187
|
+
this.logger.info(`Task completed on agent ${agentId} in ${executionTime}ms`);
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
registered.status = 'error';
|
|
192
|
+
this.logger.error(`Task failed on agent ${agentId}:`, error);
|
|
193
|
+
throw error;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Terminate an agent
|
|
198
|
+
*
|
|
199
|
+
* @param agentId - Agent ID
|
|
200
|
+
*/
|
|
201
|
+
async terminateAgent(agentId) {
|
|
202
|
+
const registered = this.agents.get(agentId);
|
|
203
|
+
if (!registered) {
|
|
204
|
+
throw new Error(`Agent not found: ${agentId}`);
|
|
205
|
+
}
|
|
206
|
+
this.logger.info(`Terminating agent: ${agentId}`);
|
|
207
|
+
try {
|
|
208
|
+
// Call public terminate method instead of protected cleanup
|
|
209
|
+
// The agent will handle cleanup internally
|
|
210
|
+
await registered.agent.terminate();
|
|
211
|
+
registered.status = 'terminated';
|
|
212
|
+
this.agents.delete(agentId);
|
|
213
|
+
this.logger.info(`Agent terminated: ${agentId}`);
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
this.logger.error(`Failed to terminate agent ${agentId}:`, error);
|
|
217
|
+
throw error;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get all active agents
|
|
222
|
+
*
|
|
223
|
+
* @returns Array of registered agents
|
|
224
|
+
*/
|
|
225
|
+
getAllAgents() {
|
|
226
|
+
return Array.from(this.agents.values());
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get agents by type
|
|
230
|
+
*
|
|
231
|
+
* @param mcpType - MCP agent type
|
|
232
|
+
* @returns Array of agents matching type
|
|
233
|
+
*/
|
|
234
|
+
getAgentsByType(mcpType) {
|
|
235
|
+
return Array.from(this.agents.values()).filter((registered) => registered.mcpType === mcpType);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get agent metrics
|
|
239
|
+
*
|
|
240
|
+
* @param agentId - Agent ID
|
|
241
|
+
* @returns Agent metrics
|
|
242
|
+
*/
|
|
243
|
+
getAgentMetrics(agentId) {
|
|
244
|
+
const registered = this.agents.get(agentId);
|
|
245
|
+
if (!registered)
|
|
246
|
+
return undefined;
|
|
247
|
+
const uptime = Date.now() - registered.spawnedAt.getTime();
|
|
248
|
+
const averageExecutionTime = registered.tasksCompleted > 0
|
|
249
|
+
? registered.totalExecutionTime / registered.tasksCompleted
|
|
250
|
+
: 0;
|
|
251
|
+
return {
|
|
252
|
+
tasksCompleted: registered.tasksCompleted,
|
|
253
|
+
averageExecutionTime,
|
|
254
|
+
uptime,
|
|
255
|
+
status: registered.status
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get registry statistics
|
|
260
|
+
*
|
|
261
|
+
* @returns Registry statistics
|
|
262
|
+
*/
|
|
263
|
+
getStatistics() {
|
|
264
|
+
const agents = Array.from(this.agents.values());
|
|
265
|
+
const stats = {
|
|
266
|
+
totalAgents: agents.length,
|
|
267
|
+
activeAgents: agents.filter((a) => a.status !== 'terminated').length,
|
|
268
|
+
idleAgents: agents.filter((a) => a.status === 'idle').length,
|
|
269
|
+
busyAgents: agents.filter((a) => a.status === 'busy').length,
|
|
270
|
+
errorAgents: agents.filter((a) => a.status === 'error').length,
|
|
271
|
+
totalTasks: agents.reduce((sum, a) => sum + a.tasksCompleted, 0),
|
|
272
|
+
averageTaskTime: 0
|
|
273
|
+
};
|
|
274
|
+
const totalTime = agents.reduce((sum, a) => sum + a.totalExecutionTime, 0);
|
|
275
|
+
if (stats.totalTasks > 0) {
|
|
276
|
+
stats.averageTaskTime = totalTime / stats.totalTasks;
|
|
277
|
+
}
|
|
278
|
+
return stats;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Clear all agents (cleanup)
|
|
282
|
+
*/
|
|
283
|
+
async clearAll() {
|
|
284
|
+
this.logger.info('Clearing all agents from registry');
|
|
285
|
+
const agentIds = Array.from(this.agents.keys());
|
|
286
|
+
for (const agentId of agentIds) {
|
|
287
|
+
try {
|
|
288
|
+
await this.terminateAgent(agentId);
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
this.logger.warn(`Failed to terminate agent ${agentId} during clearAll:`, error);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
this.agents.clear();
|
|
295
|
+
this.logger.info('All agents cleared from registry');
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Generate unique agent ID
|
|
299
|
+
*
|
|
300
|
+
* @param mcpType - MCP agent type
|
|
301
|
+
* @returns Unique agent ID
|
|
302
|
+
*/
|
|
303
|
+
generateAgentId(mcpType) {
|
|
304
|
+
const timestamp = Date.now();
|
|
305
|
+
const random = Math.random().toString(36).substr(2, 9);
|
|
306
|
+
const id = this.nextAgentId++;
|
|
307
|
+
return `${mcpType}-${id}-${timestamp}-${random}`;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Map MCP agent type to QEAgentType enum
|
|
311
|
+
*
|
|
312
|
+
* @param mcpType - MCP agent type string
|
|
313
|
+
* @returns QEAgentType enum value or undefined
|
|
314
|
+
*/
|
|
315
|
+
mapMCPTypeToQEAgentType(mcpType) {
|
|
316
|
+
const mapping = {
|
|
317
|
+
// Core Testing Agents (6)
|
|
318
|
+
'test-generator': types_1.QEAgentType.TEST_GENERATOR,
|
|
319
|
+
'test-executor': types_1.QEAgentType.TEST_EXECUTOR,
|
|
320
|
+
'coverage-analyzer': types_1.QEAgentType.COVERAGE_ANALYZER,
|
|
321
|
+
'quality-gate': types_1.QEAgentType.QUALITY_GATE,
|
|
322
|
+
'performance-tester': types_1.QEAgentType.PERFORMANCE_TESTER,
|
|
323
|
+
'security-scanner': types_1.QEAgentType.SECURITY_SCANNER,
|
|
324
|
+
// Strategic Planning Agents (3)
|
|
325
|
+
'requirements-validator': types_1.QEAgentType.REQUIREMENTS_VALIDATOR,
|
|
326
|
+
'deployment-validator': types_1.QEAgentType.DEPLOYMENT_READINESS,
|
|
327
|
+
'production-analyzer': types_1.QEAgentType.PRODUCTION_INTELLIGENCE,
|
|
328
|
+
// Specialized Testing Agents (3)
|
|
329
|
+
'fleet-commander': types_1.QEAgentType.FLEET_COMMANDER,
|
|
330
|
+
'chaos-engineer': types_1.QEAgentType.CHAOS_ENGINEER,
|
|
331
|
+
'visual-tester': types_1.QEAgentType.VISUAL_TESTER,
|
|
332
|
+
// Optimization Agents (4)
|
|
333
|
+
'regression-analyzer': types_1.QEAgentType.REGRESSION_RISK_ANALYZER,
|
|
334
|
+
'data-generator': types_1.QEAgentType.TEST_DATA_ARCHITECT,
|
|
335
|
+
'contract-validator': types_1.QEAgentType.API_CONTRACT_VALIDATOR,
|
|
336
|
+
'flaky-test-detector': types_1.QEAgentType.FLAKY_TEST_HUNTER
|
|
337
|
+
};
|
|
338
|
+
return mapping[mcpType];
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Get supported MCP agent types
|
|
342
|
+
*
|
|
343
|
+
* @returns Array of supported MCP types
|
|
344
|
+
*/
|
|
345
|
+
getSupportedMCPTypes() {
|
|
346
|
+
return [
|
|
347
|
+
'test-generator',
|
|
348
|
+
'test-executor',
|
|
349
|
+
'coverage-analyzer',
|
|
350
|
+
'quality-gate',
|
|
351
|
+
'performance-tester',
|
|
352
|
+
'security-scanner',
|
|
353
|
+
'requirements-validator',
|
|
354
|
+
'deployment-validator',
|
|
355
|
+
'production-analyzer',
|
|
356
|
+
'fleet-commander',
|
|
357
|
+
'chaos-engineer',
|
|
358
|
+
'visual-tester',
|
|
359
|
+
'regression-analyzer',
|
|
360
|
+
'data-generator',
|
|
361
|
+
'contract-validator',
|
|
362
|
+
'flaky-test-detector'
|
|
363
|
+
];
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Check if MCP type is supported
|
|
367
|
+
*
|
|
368
|
+
* @param mcpType - MCP agent type
|
|
369
|
+
* @returns True if supported
|
|
370
|
+
*/
|
|
371
|
+
isSupportedMCPType(mcpType) {
|
|
372
|
+
return this.mapMCPTypeToQEAgentType(mcpType) !== undefined;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
exports.AgentRegistry = AgentRegistry;
|
|
376
|
+
/**
|
|
377
|
+
* Singleton instance for global access
|
|
378
|
+
*/
|
|
379
|
+
let globalRegistry = null;
|
|
380
|
+
/**
|
|
381
|
+
* Get or create global agent registry
|
|
382
|
+
*
|
|
383
|
+
* @param config - Optional configuration
|
|
384
|
+
* @returns Global agent registry instance
|
|
385
|
+
*/
|
|
386
|
+
function getAgentRegistry(config) {
|
|
387
|
+
if (!globalRegistry) {
|
|
388
|
+
globalRegistry = new AgentRegistry(config);
|
|
389
|
+
}
|
|
390
|
+
return globalRegistry;
|
|
391
|
+
}
|
|
392
|
+
exports.getAgentRegistry = getAgentRegistry;
|
|
393
|
+
/**
|
|
394
|
+
* Reset global agent registry (for testing)
|
|
395
|
+
*/
|
|
396
|
+
function resetAgentRegistry() {
|
|
397
|
+
if (globalRegistry) {
|
|
398
|
+
globalRegistry.clearAll().catch(console.error);
|
|
399
|
+
globalRegistry = null;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
exports.resetAgentRegistry = resetAgentRegistry;
|
|
403
|
+
//# sourceMappingURL=AgentRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentRegistry.js","sourceRoot":"","sources":["../../../src/mcp/services/AgentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Executor Service
|
|
3
|
+
*
|
|
4
|
+
* Executes Claude Flow hooks for agent lifecycle events and coordination.
|
|
5
|
+
* Bridges MCP agents with Claude Flow's memory and event system.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @author Agentic QE Team
|
|
9
|
+
*/
|
|
10
|
+
export type HookType = 'pre_task' | 'post_task' | 'post_edit' | 'session_start' | 'session_end' | 'notify';
|
|
11
|
+
export interface HookParams {
|
|
12
|
+
description?: string;
|
|
13
|
+
agentType?: string;
|
|
14
|
+
agentId?: string;
|
|
15
|
+
taskId?: string;
|
|
16
|
+
results?: any;
|
|
17
|
+
status?: string;
|
|
18
|
+
file?: string;
|
|
19
|
+
fileName?: string;
|
|
20
|
+
memoryKey?: string;
|
|
21
|
+
message?: string;
|
|
22
|
+
level?: 'info' | 'warn' | 'error';
|
|
23
|
+
sessionId?: string;
|
|
24
|
+
exportMetrics?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface HookExecutionResult {
|
|
27
|
+
success: boolean;
|
|
28
|
+
hookType: HookType;
|
|
29
|
+
commands: string[];
|
|
30
|
+
outputs: string[];
|
|
31
|
+
errors: string[];
|
|
32
|
+
executionTime: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* HookExecutor - Execute Claude Flow hooks for agent coordination
|
|
36
|
+
*
|
|
37
|
+
* Responsibilities:
|
|
38
|
+
* - Execute pre/post task hooks
|
|
39
|
+
* - Coordinate memory storage/retrieval
|
|
40
|
+
* - Send notifications to Claude Flow
|
|
41
|
+
* - Handle session lifecycle
|
|
42
|
+
* - Bridge MCP agents with Claude Flow ecosystem
|
|
43
|
+
*/
|
|
44
|
+
export declare class HookExecutor {
|
|
45
|
+
private logger;
|
|
46
|
+
private enabled;
|
|
47
|
+
private dryRun;
|
|
48
|
+
private timeout;
|
|
49
|
+
constructor(config?: {
|
|
50
|
+
enabled?: boolean;
|
|
51
|
+
dryRun?: boolean;
|
|
52
|
+
timeout?: number;
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Execute a hook with specified parameters
|
|
56
|
+
*
|
|
57
|
+
* @param hookType - Type of hook to execute
|
|
58
|
+
* @param params - Hook parameters
|
|
59
|
+
* @returns Execution result
|
|
60
|
+
*/
|
|
61
|
+
executeHook(hookType: HookType, params: HookParams): Promise<HookExecutionResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Execute pre-task hook
|
|
64
|
+
*
|
|
65
|
+
* @param params - Pre-task parameters
|
|
66
|
+
* @returns Execution result
|
|
67
|
+
*/
|
|
68
|
+
executePreTask(params: HookParams): Promise<HookExecutionResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Execute post-task hook
|
|
71
|
+
*
|
|
72
|
+
* @param params - Post-task parameters
|
|
73
|
+
* @returns Execution result
|
|
74
|
+
*/
|
|
75
|
+
executePostTask(params: HookParams): Promise<HookExecutionResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Execute post-edit hook
|
|
78
|
+
*
|
|
79
|
+
* @param params - Post-edit parameters
|
|
80
|
+
* @returns Execution result
|
|
81
|
+
*/
|
|
82
|
+
executePostEdit(params: HookParams): Promise<HookExecutionResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Send notification to Claude Flow
|
|
85
|
+
*
|
|
86
|
+
* @param params - Notification parameters
|
|
87
|
+
* @returns Execution result
|
|
88
|
+
*/
|
|
89
|
+
notify(params: HookParams): Promise<HookExecutionResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Store data in Claude Flow memory
|
|
92
|
+
*
|
|
93
|
+
* @param key - Memory key
|
|
94
|
+
* @param value - Value to store (will be JSON stringified)
|
|
95
|
+
* @returns Execution result
|
|
96
|
+
*/
|
|
97
|
+
storeMemory(key: string, value: any): Promise<HookExecutionResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Retrieve data from Claude Flow memory
|
|
100
|
+
*
|
|
101
|
+
* @param key - Memory key
|
|
102
|
+
* @returns Retrieved value or null
|
|
103
|
+
*/
|
|
104
|
+
retrieveMemory(key: string): Promise<any>;
|
|
105
|
+
/**
|
|
106
|
+
* Enable/disable hook execution
|
|
107
|
+
*
|
|
108
|
+
* @param enabled - True to enable, false to disable
|
|
109
|
+
*/
|
|
110
|
+
setEnabled(enabled: boolean): void;
|
|
111
|
+
/**
|
|
112
|
+
* Enable/disable dry-run mode
|
|
113
|
+
*
|
|
114
|
+
* @param dryRun - True for dry-run, false for real execution
|
|
115
|
+
*/
|
|
116
|
+
setDryRun(dryRun: boolean): void;
|
|
117
|
+
/**
|
|
118
|
+
* Build hook commands based on type and parameters
|
|
119
|
+
*
|
|
120
|
+
* @param hookType - Hook type
|
|
121
|
+
* @param params - Hook parameters
|
|
122
|
+
* @returns Array of commands to execute
|
|
123
|
+
*/
|
|
124
|
+
private buildHookCommands;
|
|
125
|
+
/**
|
|
126
|
+
* Execute a shell command with timeout
|
|
127
|
+
*
|
|
128
|
+
* @param command - Command to execute
|
|
129
|
+
* @returns Command output
|
|
130
|
+
*/
|
|
131
|
+
private executeCommand;
|
|
132
|
+
/**
|
|
133
|
+
* Escape shell argument to prevent injection
|
|
134
|
+
*
|
|
135
|
+
* @param arg - Argument to escape
|
|
136
|
+
* @returns Escaped argument
|
|
137
|
+
*/
|
|
138
|
+
private escapeShellArg;
|
|
139
|
+
/**
|
|
140
|
+
* Create success result
|
|
141
|
+
*
|
|
142
|
+
* @param hookType - Hook type
|
|
143
|
+
* @param commands - Executed commands
|
|
144
|
+
* @param outputs - Command outputs
|
|
145
|
+
* @param errors - Errors (empty for success)
|
|
146
|
+
* @returns Execution result
|
|
147
|
+
*/
|
|
148
|
+
private createSuccessResult;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get or create global hook executor
|
|
152
|
+
*
|
|
153
|
+
* @param config - Optional configuration
|
|
154
|
+
* @returns Global hook executor instance
|
|
155
|
+
*/
|
|
156
|
+
export declare function getHookExecutor(config?: {
|
|
157
|
+
enabled?: boolean;
|
|
158
|
+
dryRun?: boolean;
|
|
159
|
+
timeout?: number;
|
|
160
|
+
}): HookExecutor;
|
|
161
|
+
/**
|
|
162
|
+
* Reset global hook executor (for testing)
|
|
163
|
+
*/
|
|
164
|
+
export declare function resetHookExecutor(): void;
|
|
165
|
+
//# sourceMappingURL=HookExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HookExecutor.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/HookExecutor.ts"],"names":[],"mappings":"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"}
|