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,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent - Base class for all autonomous agents in the AQE Fleet
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* The Agent class provides the foundational capabilities for autonomous agents
|
|
7
|
+
* including lifecycle management, task execution, capability advertisement,
|
|
8
|
+
* and performance metrics tracking.
|
|
9
|
+
*
|
|
10
|
+
* All concrete agent implementations must extend this class and implement
|
|
11
|
+
* the abstract methods for agent-specific behavior.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* class CustomAgent extends Agent {
|
|
16
|
+
* protected async onInitialize(): Promise<void> {
|
|
17
|
+
* // Custom initialization logic
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* protected async executeTaskLogic(task: Task): Promise<any> {
|
|
21
|
+
* // Custom task execution logic
|
|
22
|
+
* return { success: true };
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.Agent = exports.AgentStatus = void 0;
|
|
31
|
+
const events_1 = require("events");
|
|
32
|
+
const Task_1 = require("./Task");
|
|
33
|
+
const Logger_1 = require("../utils/Logger");
|
|
34
|
+
/**
|
|
35
|
+
* Operational status of an agent
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
var AgentStatus;
|
|
40
|
+
(function (AgentStatus) {
|
|
41
|
+
/** Agent is being initialized */
|
|
42
|
+
AgentStatus["INITIALIZING"] = "initializing";
|
|
43
|
+
/** Agent is idle and ready to accept tasks */
|
|
44
|
+
AgentStatus["IDLE"] = "idle";
|
|
45
|
+
/** Agent is active and monitoring for tasks */
|
|
46
|
+
AgentStatus["ACTIVE"] = "active";
|
|
47
|
+
/** Agent is currently executing a task */
|
|
48
|
+
AgentStatus["BUSY"] = "busy";
|
|
49
|
+
/** Agent encountered an error */
|
|
50
|
+
AgentStatus["ERROR"] = "error";
|
|
51
|
+
/** Agent is in the process of stopping */
|
|
52
|
+
AgentStatus["STOPPING"] = "stopping";
|
|
53
|
+
/** Agent has been stopped */
|
|
54
|
+
AgentStatus["STOPPED"] = "stopped";
|
|
55
|
+
})(AgentStatus || (exports.AgentStatus = AgentStatus = {}));
|
|
56
|
+
class Agent extends events_1.EventEmitter {
|
|
57
|
+
constructor(id, type, config, eventBus) {
|
|
58
|
+
super();
|
|
59
|
+
this.currentTask = null;
|
|
60
|
+
this.capabilities = [];
|
|
61
|
+
this.startTime = null;
|
|
62
|
+
this.id = id;
|
|
63
|
+
this.type = type;
|
|
64
|
+
this.config = config;
|
|
65
|
+
this.eventBus = eventBus;
|
|
66
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
67
|
+
this.status = AgentStatus.INITIALIZING;
|
|
68
|
+
this.metrics = {
|
|
69
|
+
tasksCompleted: 0,
|
|
70
|
+
tasksFailured: 0,
|
|
71
|
+
averageExecutionTime: 0,
|
|
72
|
+
uptime: 0,
|
|
73
|
+
lastActivity: new Date()
|
|
74
|
+
};
|
|
75
|
+
this.setupEventHandlers();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Initialize the agent and its capabilities
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* Performs initialization sequence including capability setup and
|
|
82
|
+
* agent-specific initialization logic.
|
|
83
|
+
*
|
|
84
|
+
* @returns A promise that resolves when initialization is complete
|
|
85
|
+
* @throws {Error} If initialization fails
|
|
86
|
+
* @fires agent:initialized
|
|
87
|
+
*
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
async initialize() {
|
|
91
|
+
this.logger.info(`Initializing agent ${this.type} (${this.id})`);
|
|
92
|
+
try {
|
|
93
|
+
// Initialize agent-specific capabilities
|
|
94
|
+
await this.initializeCapabilities();
|
|
95
|
+
// Run agent-specific initialization
|
|
96
|
+
await this.onInitialize();
|
|
97
|
+
this.status = AgentStatus.IDLE;
|
|
98
|
+
this.startTime = new Date();
|
|
99
|
+
this.logger.info(`Agent ${this.type} (${this.id}) initialized successfully`);
|
|
100
|
+
this.emit('agent:initialized', { agentId: this.id, type: this.type });
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
this.status = AgentStatus.ERROR;
|
|
104
|
+
this.logger.error(`Failed to initialize agent ${this.id}:`, error);
|
|
105
|
+
this.emit('agent:error', { agentId: this.id, error });
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Start the agent
|
|
111
|
+
*/
|
|
112
|
+
async start() {
|
|
113
|
+
if (this.status !== AgentStatus.IDLE) {
|
|
114
|
+
throw new Error(`Agent ${this.id} must be idle to start`);
|
|
115
|
+
}
|
|
116
|
+
this.status = AgentStatus.ACTIVE;
|
|
117
|
+
await this.onStart();
|
|
118
|
+
this.logger.info(`Agent ${this.type} (${this.id}) started`);
|
|
119
|
+
this.emit('agent:started', { agentId: this.id });
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Stop the agent
|
|
123
|
+
*/
|
|
124
|
+
async stop() {
|
|
125
|
+
this.status = AgentStatus.STOPPING;
|
|
126
|
+
// Wait for current task to complete if any
|
|
127
|
+
if (this.currentTask && this.currentTask.getStatus() === Task_1.TaskStatus.RUNNING) {
|
|
128
|
+
await this.currentTask.waitForCompletion();
|
|
129
|
+
}
|
|
130
|
+
await this.onStop();
|
|
131
|
+
this.status = AgentStatus.STOPPED;
|
|
132
|
+
this.logger.info(`Agent ${this.type} (${this.id}) stopped`);
|
|
133
|
+
this.emit('agent:stopped', { agentId: this.id });
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Assign a task to this agent for execution
|
|
137
|
+
*
|
|
138
|
+
* @param task - The task to assign
|
|
139
|
+
* @returns A promise that resolves when the task is assigned
|
|
140
|
+
* @throws {Error} If agent is not available or cannot handle the task type
|
|
141
|
+
* @fires task:assigned
|
|
142
|
+
*
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
async assignTask(task) {
|
|
146
|
+
if (this.status !== AgentStatus.ACTIVE && this.status !== AgentStatus.IDLE) {
|
|
147
|
+
throw new Error(`Agent ${this.id} is not available for task assignment`);
|
|
148
|
+
}
|
|
149
|
+
if (this.currentTask) {
|
|
150
|
+
throw new Error(`Agent ${this.id} already has an assigned task`);
|
|
151
|
+
}
|
|
152
|
+
if (!this.canHandleTaskType(task.getType())) {
|
|
153
|
+
throw new Error(`Agent ${this.id} cannot handle task type ${task.getType()}`);
|
|
154
|
+
}
|
|
155
|
+
this.currentTask = task;
|
|
156
|
+
this.status = AgentStatus.BUSY;
|
|
157
|
+
this.metrics.lastActivity = new Date();
|
|
158
|
+
this.logger.info(`Task ${task.getId()} assigned to agent ${this.id}`);
|
|
159
|
+
this.emit('task:assigned', { agentId: this.id, taskId: task.getId() });
|
|
160
|
+
// Execute the task
|
|
161
|
+
this.executeTask(task);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Execute a task
|
|
165
|
+
*/
|
|
166
|
+
async executeTask(task) {
|
|
167
|
+
const startTime = Date.now();
|
|
168
|
+
try {
|
|
169
|
+
task.setStatus(Task_1.TaskStatus.RUNNING);
|
|
170
|
+
this.eventBus.emit('task:started', { agentId: this.id, taskId: task.getId() });
|
|
171
|
+
// Execute agent-specific task logic
|
|
172
|
+
const result = await this.executeTaskLogic(task);
|
|
173
|
+
task.setResult(result);
|
|
174
|
+
task.setStatus(Task_1.TaskStatus.COMPLETED);
|
|
175
|
+
// Update metrics
|
|
176
|
+
const executionTime = Date.now() - startTime;
|
|
177
|
+
this.updateMetrics(executionTime, true);
|
|
178
|
+
this.logger.info(`Task ${task.getId()} completed by agent ${this.id}`);
|
|
179
|
+
this.eventBus.emit('task:completed', {
|
|
180
|
+
agentId: this.id,
|
|
181
|
+
taskId: task.getId(),
|
|
182
|
+
result,
|
|
183
|
+
executionTime
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
task.setError(error);
|
|
188
|
+
task.setStatus(Task_1.TaskStatus.FAILED);
|
|
189
|
+
// Update metrics
|
|
190
|
+
const executionTime = Date.now() - startTime;
|
|
191
|
+
this.updateMetrics(executionTime, false);
|
|
192
|
+
this.logger.error(`Task ${task.getId()} failed in agent ${this.id}:`, error);
|
|
193
|
+
this.eventBus.emit('task:failed', {
|
|
194
|
+
agentId: this.id,
|
|
195
|
+
taskId: task.getId(),
|
|
196
|
+
error,
|
|
197
|
+
executionTime
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
this.currentTask = null;
|
|
202
|
+
this.status = AgentStatus.ACTIVE;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Check if agent can handle a specific task type
|
|
207
|
+
*
|
|
208
|
+
* @param taskType - The task type to check
|
|
209
|
+
* @returns True if the agent has a capability for this task type
|
|
210
|
+
*
|
|
211
|
+
* @public
|
|
212
|
+
*/
|
|
213
|
+
canHandleTaskType(taskType) {
|
|
214
|
+
return this.capabilities.some(capability => capability.taskTypes.includes(taskType));
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get agent ID
|
|
218
|
+
*/
|
|
219
|
+
getId() {
|
|
220
|
+
return this.id;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get agent type
|
|
224
|
+
*/
|
|
225
|
+
getType() {
|
|
226
|
+
return this.type;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get agent status
|
|
230
|
+
*/
|
|
231
|
+
getStatus() {
|
|
232
|
+
return this.status;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Get agent capabilities
|
|
236
|
+
*/
|
|
237
|
+
getCapabilities() {
|
|
238
|
+
return this.capabilities;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get agent performance metrics
|
|
242
|
+
*
|
|
243
|
+
* @returns Current metrics including task counts and execution times
|
|
244
|
+
*
|
|
245
|
+
* @public
|
|
246
|
+
*/
|
|
247
|
+
getMetrics() {
|
|
248
|
+
const uptime = this.startTime ? Date.now() - this.startTime.getTime() : 0;
|
|
249
|
+
return {
|
|
250
|
+
...this.metrics,
|
|
251
|
+
uptime
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Get current task
|
|
256
|
+
*/
|
|
257
|
+
getCurrentTask() {
|
|
258
|
+
return this.currentTask;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Update agent metrics
|
|
262
|
+
*/
|
|
263
|
+
updateMetrics(executionTime, success) {
|
|
264
|
+
if (success) {
|
|
265
|
+
this.metrics.tasksCompleted++;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
this.metrics.tasksFailured++;
|
|
269
|
+
}
|
|
270
|
+
// Update average execution time
|
|
271
|
+
const totalTasks = this.metrics.tasksCompleted + this.metrics.tasksFailured;
|
|
272
|
+
this.metrics.averageExecutionTime =
|
|
273
|
+
(this.metrics.averageExecutionTime * (totalTasks - 1) + executionTime) / totalTasks;
|
|
274
|
+
this.metrics.lastActivity = new Date();
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Setup event handlers
|
|
278
|
+
*/
|
|
279
|
+
setupEventHandlers() {
|
|
280
|
+
this.on('error', (error) => {
|
|
281
|
+
this.status = AgentStatus.ERROR;
|
|
282
|
+
this.logger.error(`Agent ${this.id} encountered an error:`, error);
|
|
283
|
+
this.eventBus.emit('agent:error', { agentId: this.id, error });
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
exports.Agent = Agent;
|
|
288
|
+
//# sourceMappingURL=Agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EventBus - Central event coordination system for the AQE Fleet
|
|
3
|
+
*
|
|
4
|
+
* Provides a reliable, persistent event system for agent coordination
|
|
5
|
+
* and fleet-wide communication using EventEmitter with SQLite persistence.
|
|
6
|
+
*/
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
import { EventEmitter } from 'events';
|
|
9
|
+
export interface FleetEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: string;
|
|
12
|
+
source: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
data: any;
|
|
15
|
+
timestamp: Date;
|
|
16
|
+
processed: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class EventBus extends EventEmitter {
|
|
19
|
+
private readonly logger;
|
|
20
|
+
private readonly events;
|
|
21
|
+
private isInitialized;
|
|
22
|
+
constructor();
|
|
23
|
+
/**
|
|
24
|
+
* Initialize the event bus
|
|
25
|
+
*/
|
|
26
|
+
initialize(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Emit a fleet event
|
|
29
|
+
*/
|
|
30
|
+
emitFleetEvent(type: string, source: string, data: any, target?: string): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Get event by ID
|
|
33
|
+
*/
|
|
34
|
+
getEvent(eventId: string): FleetEvent | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Setup internal event handlers
|
|
37
|
+
*/
|
|
38
|
+
private setupInternalHandlers;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=EventBus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/core/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,aAAa,CAAkB;;IASvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAiClB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjD;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAgD9B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* EventBus - Central event coordination system for the AQE Fleet
|
|
4
|
+
*
|
|
5
|
+
* Provides a reliable, persistent event system for agent coordination
|
|
6
|
+
* and fleet-wide communication using EventEmitter with SQLite persistence.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EventBus = void 0;
|
|
10
|
+
const events_1 = require("events");
|
|
11
|
+
const uuid_1 = require("uuid");
|
|
12
|
+
const Logger_1 = require("../utils/Logger");
|
|
13
|
+
class EventBus extends events_1.EventEmitter {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.isInitialized = false;
|
|
17
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
18
|
+
this.events = new Map();
|
|
19
|
+
this.setMaxListeners(1000); // Support many agents
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Initialize the event bus
|
|
23
|
+
*/
|
|
24
|
+
async initialize() {
|
|
25
|
+
if (this.isInitialized) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.logger.info('Initializing EventBus');
|
|
29
|
+
// Setup internal event handlers
|
|
30
|
+
this.setupInternalHandlers();
|
|
31
|
+
this.isInitialized = true;
|
|
32
|
+
this.logger.info('EventBus initialized successfully');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Emit a fleet event
|
|
36
|
+
*/
|
|
37
|
+
async emitFleetEvent(type, source, data, target) {
|
|
38
|
+
const event = {
|
|
39
|
+
id: (0, uuid_1.v4)(),
|
|
40
|
+
type,
|
|
41
|
+
source,
|
|
42
|
+
target,
|
|
43
|
+
data,
|
|
44
|
+
timestamp: new Date(),
|
|
45
|
+
processed: false
|
|
46
|
+
};
|
|
47
|
+
// Store event
|
|
48
|
+
this.events.set(event.id, event);
|
|
49
|
+
// Emit to listeners
|
|
50
|
+
this.emit(type, {
|
|
51
|
+
eventId: event.id,
|
|
52
|
+
source,
|
|
53
|
+
target,
|
|
54
|
+
data,
|
|
55
|
+
timestamp: event.timestamp
|
|
56
|
+
});
|
|
57
|
+
// Log the event
|
|
58
|
+
this.logger.debug(`Event emitted: ${type} from ${source}`, {
|
|
59
|
+
eventId: event.id,
|
|
60
|
+
target,
|
|
61
|
+
data
|
|
62
|
+
});
|
|
63
|
+
return event.id;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get event by ID
|
|
67
|
+
*/
|
|
68
|
+
getEvent(eventId) {
|
|
69
|
+
return this.events.get(eventId);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Setup internal event handlers
|
|
73
|
+
*/
|
|
74
|
+
setupInternalHandlers() {
|
|
75
|
+
// Fleet coordination events
|
|
76
|
+
this.on('fleet:started', (data) => {
|
|
77
|
+
this.logger.info('Fleet started', data);
|
|
78
|
+
});
|
|
79
|
+
this.on('fleet:stopped', (data) => {
|
|
80
|
+
this.logger.info('Fleet stopped', data);
|
|
81
|
+
});
|
|
82
|
+
// Agent lifecycle events
|
|
83
|
+
this.on('agent:spawned', (data) => {
|
|
84
|
+
this.logger.info(`Agent spawned: ${data.agentId} (${data.type})`);
|
|
85
|
+
});
|
|
86
|
+
this.on('agent:started', (data) => {
|
|
87
|
+
this.logger.info(`Agent started: ${data.agentId}`);
|
|
88
|
+
});
|
|
89
|
+
this.on('agent:stopped', (data) => {
|
|
90
|
+
this.logger.info(`Agent stopped: ${data.agentId}`);
|
|
91
|
+
});
|
|
92
|
+
this.on('agent:error', (data) => {
|
|
93
|
+
this.logger.error(`Agent error: ${data.agentId}`, data.error);
|
|
94
|
+
});
|
|
95
|
+
// Task lifecycle events
|
|
96
|
+
this.on('task:submitted', (data) => {
|
|
97
|
+
this.logger.info(`Task submitted: ${data.taskId}`);
|
|
98
|
+
});
|
|
99
|
+
this.on('task:assigned', (data) => {
|
|
100
|
+
this.logger.info(`Task assigned: ${data.taskId} -> ${data.agentId}`);
|
|
101
|
+
});
|
|
102
|
+
this.on('task:started', (data) => {
|
|
103
|
+
this.logger.info(`Task started: ${data.taskId} by ${data.agentId}`);
|
|
104
|
+
});
|
|
105
|
+
this.on('task:completed', (data) => {
|
|
106
|
+
this.logger.info(`Task completed: ${data.taskId} by ${data.agentId} in ${data.executionTime}ms`);
|
|
107
|
+
});
|
|
108
|
+
this.on('task:failed', (data) => {
|
|
109
|
+
this.logger.error(`Task failed: ${data.taskId} by ${data.agentId}`, data.error);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.EventBus = EventBus;
|
|
114
|
+
//# sourceMappingURL=EventBus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/core/EventBus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetManager - Central coordination hub for the AQE Fleet
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* The FleetManager is the primary interface for managing the Agentic QE Fleet.
|
|
6
|
+
* It provides comprehensive lifecycle management for autonomous agents, task
|
|
7
|
+
* coordination, and fleet-wide monitoring through an event-driven architecture.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Initialize a fleet with multiple agent types
|
|
12
|
+
* const config = {
|
|
13
|
+
* agents: [
|
|
14
|
+
* { type: 'test-generator', count: 2, config: { aiModel: 'claude-sonnet-4.5' } },
|
|
15
|
+
* { type: 'test-executor', count: 4, config: { maxParallelTests: 8 } },
|
|
16
|
+
* { type: 'coverage-analyzer', count: 1 }
|
|
17
|
+
* ]
|
|
18
|
+
* };
|
|
19
|
+
*
|
|
20
|
+
* const fleet = new FleetManager(config);
|
|
21
|
+
* await fleet.initialize();
|
|
22
|
+
* await fleet.start();
|
|
23
|
+
*
|
|
24
|
+
* // Submit tasks
|
|
25
|
+
* const task = new Task('test-generation', 'Generate API tests', {
|
|
26
|
+
* targetFiles: ['./src/api/*.ts']
|
|
27
|
+
* });
|
|
28
|
+
* await fleet.submitTask(task);
|
|
29
|
+
*
|
|
30
|
+
* // Monitor fleet status
|
|
31
|
+
* const status = fleet.getStatus();
|
|
32
|
+
* console.log(`Active agents: ${status.activeAgents}/${status.totalAgents}`);
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
/// <reference types="node" />
|
|
38
|
+
import { EventEmitter } from 'events';
|
|
39
|
+
import { Agent } from './Agent';
|
|
40
|
+
import { Task } from './Task';
|
|
41
|
+
import { FleetConfig } from '../utils/Config';
|
|
42
|
+
/**
|
|
43
|
+
* Status information about the fleet
|
|
44
|
+
*
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export interface FleetStatus {
|
|
48
|
+
/** Unique identifier for the fleet instance */
|
|
49
|
+
id: string;
|
|
50
|
+
/** Number of agents currently active and ready for work */
|
|
51
|
+
activeAgents: number;
|
|
52
|
+
/** Total number of agents in the fleet */
|
|
53
|
+
totalAgents: number;
|
|
54
|
+
/** Number of tasks currently being executed */
|
|
55
|
+
runningTasks: number;
|
|
56
|
+
/** Total number of tasks completed successfully */
|
|
57
|
+
completedTasks: number;
|
|
58
|
+
/** Total number of tasks that failed */
|
|
59
|
+
failedTasks: number;
|
|
60
|
+
/** Fleet uptime in milliseconds */
|
|
61
|
+
uptime: number;
|
|
62
|
+
/** Current operational status of the fleet */
|
|
63
|
+
status: 'initializing' | 'running' | 'paused' | 'stopping' | 'stopped';
|
|
64
|
+
}
|
|
65
|
+
export declare class FleetManager extends EventEmitter {
|
|
66
|
+
private readonly id;
|
|
67
|
+
private readonly agents;
|
|
68
|
+
private readonly tasks;
|
|
69
|
+
private readonly eventBus;
|
|
70
|
+
private readonly database;
|
|
71
|
+
private readonly logger;
|
|
72
|
+
private readonly config;
|
|
73
|
+
private startTime;
|
|
74
|
+
private status;
|
|
75
|
+
constructor(config: FleetConfig);
|
|
76
|
+
/**
|
|
77
|
+
* Initialize the fleet manager and its components
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* This method performs the following operations:
|
|
81
|
+
* - Initializes the database connection
|
|
82
|
+
* - Starts the event bus
|
|
83
|
+
* - Creates the initial pool of agents based on configuration
|
|
84
|
+
*
|
|
85
|
+
* @returns A promise that resolves when initialization is complete
|
|
86
|
+
* @throws {Error} If database initialization fails or agents cannot be created
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const fleet = new FleetManager(config);
|
|
91
|
+
* await fleet.initialize();
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
initialize(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Start the fleet operations and activate all agents
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Starts all agents in the fleet and begins accepting tasks. The fleet must be
|
|
102
|
+
* initialized before calling this method.
|
|
103
|
+
*
|
|
104
|
+
* @returns A promise that resolves when all agents have started
|
|
105
|
+
* @throws {Error} If fleet is not initialized or agents fail to start
|
|
106
|
+
* @fires fleet:started
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
start(): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Stop the fleet operations gracefully
|
|
113
|
+
*
|
|
114
|
+
* @remarks
|
|
115
|
+
* Performs graceful shutdown:
|
|
116
|
+
* - Stops accepting new tasks
|
|
117
|
+
* - Waits for running tasks to complete
|
|
118
|
+
* - Stops all agents
|
|
119
|
+
* - Closes database connections
|
|
120
|
+
*
|
|
121
|
+
* @returns A promise that resolves when shutdown is complete
|
|
122
|
+
* @fires fleet:stopped
|
|
123
|
+
*
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
stop(): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Create and register a new agent in the fleet
|
|
129
|
+
*
|
|
130
|
+
* @param type - The type of agent to create (e.g., 'test-generator', 'test-executor')
|
|
131
|
+
* @param config - Optional configuration for the agent
|
|
132
|
+
* @returns A promise that resolves to the created agent instance
|
|
133
|
+
* @throws {Error} If agent type is unknown or creation fails
|
|
134
|
+
* @fires agent:spawned
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* const testGen = await fleet.spawnAgent('test-generator', {
|
|
139
|
+
* aiModel: 'claude-sonnet-4.5',
|
|
140
|
+
* frameworks: ['jest', 'vitest']
|
|
141
|
+
* });
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @public
|
|
145
|
+
*/
|
|
146
|
+
spawnAgent(type: string, config?: any): Promise<Agent>;
|
|
147
|
+
/**
|
|
148
|
+
* Remove an agent from the fleet
|
|
149
|
+
*/
|
|
150
|
+
removeAgent(agentId: string): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Submit a task for execution by an available agent
|
|
153
|
+
*
|
|
154
|
+
* @remarks
|
|
155
|
+
* The fleet will automatically assign the task to an available agent that can
|
|
156
|
+
* handle the task type. If no agent is available, the task will be queued.
|
|
157
|
+
*
|
|
158
|
+
* @param task - The task to submit
|
|
159
|
+
* @returns A promise that resolves when the task is submitted
|
|
160
|
+
* @fires task:submitted
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const task = new Task(
|
|
165
|
+
* 'coverage-analysis',
|
|
166
|
+
* 'Analyze test coverage',
|
|
167
|
+
* { coverageReport: './coverage/coverage-final.json' }
|
|
168
|
+
* );
|
|
169
|
+
* await fleet.submitTask(task);
|
|
170
|
+
* ```
|
|
171
|
+
*
|
|
172
|
+
* @public
|
|
173
|
+
*/
|
|
174
|
+
submitTask(task: Task): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Get current fleet status and metrics
|
|
177
|
+
*
|
|
178
|
+
* @returns Fleet status including agent counts, task metrics, and uptime
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* const status = fleet.getStatus();
|
|
183
|
+
* console.log(`Fleet ${status.id}: ${status.activeAgents}/${status.totalAgents} agents active`);
|
|
184
|
+
* console.log(`Tasks: ${status.runningTasks} running, ${status.completedTasks} completed`);
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
getStatus(): FleetStatus;
|
|
190
|
+
/**
|
|
191
|
+
* Get agent by ID
|
|
192
|
+
*/
|
|
193
|
+
getAgent(agentId: string): Agent | undefined;
|
|
194
|
+
/**
|
|
195
|
+
* Get all agents
|
|
196
|
+
*/
|
|
197
|
+
getAllAgents(): Agent[];
|
|
198
|
+
/**
|
|
199
|
+
* Get task by ID
|
|
200
|
+
*/
|
|
201
|
+
getTask(taskId: string): Task | undefined;
|
|
202
|
+
/**
|
|
203
|
+
* Get all tasks
|
|
204
|
+
*/
|
|
205
|
+
getAllTasks(): Task[];
|
|
206
|
+
/**
|
|
207
|
+
* Find an available agent for a specific task type
|
|
208
|
+
*/
|
|
209
|
+
private findAvailableAgent;
|
|
210
|
+
/**
|
|
211
|
+
* Create initial agent pool based on configuration
|
|
212
|
+
*/
|
|
213
|
+
private createInitialAgents;
|
|
214
|
+
/**
|
|
215
|
+
* Setup event handlers for fleet coordination
|
|
216
|
+
*/
|
|
217
|
+
private setupEventHandlers;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=FleetManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FleetManager.d.ts","sourceRoot":"","sources":["../../src/core/FleetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAc,MAAM,QAAQ,CAAC;AAI1C,OAAO,EAAU,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACxE;AAED,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAyC;gBAE3C,MAAM,EAAE,WAAW;IAa/B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;;;;;;;;;;;;OAcG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,GAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBhE;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C;;;;;;;;;;;;;OAaG;IACH,SAAS,IAAI,WAAW;IAyBxB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,KAAK,EAAE;IAIvB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIzC;;OAEG;IACH,WAAW,IAAI,IAAI,EAAE;IAIrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;YACW,mBAAmB;IAUjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAsB3B"}
|