@agentic-qe/v3 3.0.0-alpha.6 → 3.0.0-alpha.7
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/assets/agents/v3/subagents/v3-qe-code-reviewer.md +339 -0
- package/assets/agents/v3/subagents/v3-qe-integration-reviewer.md +344 -0
- package/assets/agents/v3/subagents/v3-qe-performance-reviewer.md +351 -0
- package/assets/agents/v3/subagents/v3-qe-security-reviewer.md +374 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-green.md +334 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-red.md +329 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-refactor.md +361 -0
- package/assets/agents/v3/v3-qe-accessibility-auditor.md +266 -0
- package/assets/agents/v3/v3-qe-bdd-generator.md +279 -0
- package/assets/agents/v3/v3-qe-chaos-engineer.md +265 -0
- package/assets/agents/v3/v3-qe-code-complexity.md +298 -0
- package/assets/agents/v3/v3-qe-code-intelligence.md +262 -0
- package/assets/agents/v3/v3-qe-contract-validator.md +267 -0
- package/assets/agents/v3/v3-qe-coverage-specialist.md +227 -0
- package/assets/agents/v3/v3-qe-defect-predictor.md +251 -0
- package/assets/agents/v3/v3-qe-dependency-mapper.md +277 -0
- package/assets/agents/v3/v3-qe-deployment-advisor.md +275 -0
- package/assets/agents/v3/v3-qe-flaky-hunter.md +248 -0
- package/assets/agents/v3/v3-qe-fleet-commander.md +293 -0
- package/assets/agents/v3/v3-qe-gap-detector.md +260 -0
- package/assets/agents/v3/v3-qe-graphql-tester.md +308 -0
- package/assets/agents/v3/v3-qe-impact-analyzer.md +299 -0
- package/assets/agents/v3/v3-qe-integration-tester.md +238 -0
- package/assets/agents/v3/v3-qe-kg-builder.md +273 -0
- package/assets/agents/v3/v3-qe-learning-coordinator.md +226 -0
- package/assets/agents/v3/v3-qe-load-tester.md +280 -0
- package/assets/agents/v3/v3-qe-metrics-optimizer.md +300 -0
- package/assets/agents/v3/v3-qe-mutation-tester.md +301 -0
- package/assets/agents/v3/v3-qe-parallel-executor.md +240 -0
- package/assets/agents/v3/v3-qe-pattern-learner.md +271 -0
- package/assets/agents/v3/v3-qe-performance-tester.md +262 -0
- package/assets/agents/v3/v3-qe-property-tester.md +247 -0
- package/assets/agents/v3/v3-qe-quality-gate.md +218 -0
- package/assets/agents/v3/v3-qe-queen-coordinator.md +214 -0
- package/assets/agents/v3/v3-qe-qx-partner.md +313 -0
- package/assets/agents/v3/v3-qe-regression-analyzer.md +322 -0
- package/assets/agents/v3/v3-qe-requirements-validator.md +360 -0
- package/assets/agents/v3/v3-qe-responsive-tester.md +311 -0
- package/assets/agents/v3/v3-qe-retry-handler.md +256 -0
- package/assets/agents/v3/v3-qe-risk-assessor.md +273 -0
- package/assets/agents/v3/v3-qe-root-cause-analyzer.md +286 -0
- package/assets/agents/v3/v3-qe-security-auditor.md +299 -0
- package/assets/agents/v3/v3-qe-security-scanner.md +235 -0
- package/assets/agents/v3/v3-qe-tdd-specialist.md +239 -0
- package/assets/agents/v3/v3-qe-test-architect.md +233 -0
- package/assets/agents/v3/v3-qe-transfer-specialist.md +295 -0
- package/assets/agents/v3/v3-qe-visual-tester.md +232 -0
- package/assets/skills/accessibility-testing/SKILL.md +216 -0
- package/assets/skills/agentdb-advanced/SKILL.md +550 -0
- package/assets/skills/agentdb-learning/SKILL.md +545 -0
- package/assets/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/assets/skills/agentdb-optimization/SKILL.md +509 -0
- package/assets/skills/agentdb-vector-search/SKILL.md +339 -0
- package/assets/skills/agentic-jujutsu/SKILL.md +645 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +335 -0
- package/assets/skills/api-testing-patterns/SKILL.md +294 -0
- package/assets/skills/aqe-v2-v3-migration/skill.md +322 -0
- package/assets/skills/brutal-honesty-review/README.md +218 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +235 -0
- package/assets/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/assets/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/assets/skills/bug-reporting-excellence/SKILL.md +225 -0
- package/assets/skills/chaos-engineering-resilience/SKILL.md +158 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +304 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +315 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
- package/assets/skills/code-review-quality/SKILL.md +227 -0
- package/assets/skills/compatibility-testing/SKILL.md +205 -0
- package/assets/skills/compliance-testing/SKILL.md +225 -0
- package/assets/skills/consultancy-practices/SKILL.md +202 -0
- package/assets/skills/context-driven-testing/SKILL.md +196 -0
- package/assets/skills/contract-testing/SKILL.md +222 -0
- package/assets/skills/database-testing/SKILL.md +244 -0
- package/assets/skills/exploratory-testing-advanced/SKILL.md +201 -0
- package/assets/skills/flow-nexus-neural/SKILL.md +738 -0
- package/assets/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/assets/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/assets/skills/github-code-review/SKILL.md +1140 -0
- package/assets/skills/github-multi-repo/SKILL.md +874 -0
- package/assets/skills/github-project-management/SKILL.md +1277 -0
- package/assets/skills/github-release-management/SKILL.md +1081 -0
- package/assets/skills/github-workflow-automation/SKILL.md +1065 -0
- package/assets/skills/hive-mind-advanced/SKILL.md +712 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +171 -0
- package/assets/skills/hooks-automation/SKILL.md +1201 -0
- package/assets/skills/localization-testing/SKILL.md +221 -0
- package/assets/skills/mobile-testing/SKILL.md +219 -0
- package/assets/skills/mutation-testing/SKILL.md +229 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +434 -0
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
- package/assets/skills/n8n-security-testing/SKILL.md +599 -0
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
- package/assets/skills/pair-programming/SKILL.md +1202 -0
- package/assets/skills/performance-analysis/SKILL.md +563 -0
- package/assets/skills/performance-testing/SKILL.md +310 -0
- package/assets/skills/quality-metrics/SKILL.md +225 -0
- package/assets/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/assets/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/assets/skills/refactoring-patterns/SKILL.md +205 -0
- package/assets/skills/regression-testing/SKILL.md +227 -0
- package/assets/skills/risk-based-testing/SKILL.md +206 -0
- package/assets/skills/security-testing/SKILL.md +306 -0
- package/assets/skills/sherlock-review/SKILL.md +250 -0
- package/assets/skills/shift-left-testing/SKILL.md +225 -0
- package/assets/skills/shift-right-testing/SKILL.md +227 -0
- package/assets/skills/six-thinking-hats/README.md +190 -0
- package/assets/skills/six-thinking-hats/SKILL.md +280 -0
- package/assets/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
- package/assets/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
- package/assets/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
- package/assets/skills/skill-builder/SKILL.md +910 -0
- package/assets/skills/sparc-methodology/SKILL.md +1115 -0
- package/assets/skills/stream-chain/SKILL.md +563 -0
- package/assets/skills/swarm-advanced/SKILL.md +973 -0
- package/assets/skills/swarm-orchestration/SKILL.md +179 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +244 -0
- package/assets/skills/technical-writing/SKILL.md +178 -0
- package/assets/skills/test-automation-strategy/SKILL.md +230 -0
- package/assets/skills/test-data-management/SKILL.md +270 -0
- package/assets/skills/test-design-techniques/SKILL.md +244 -0
- package/assets/skills/test-environment-management/SKILL.md +243 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +214 -0
- package/assets/skills/testability-scoring/README.md +71 -0
- package/assets/skills/testability-scoring/SKILL.md +346 -0
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/assets/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/assets/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/assets/skills/v3-qe-chaos-resilience/SKILL.md +238 -0
- package/assets/skills/v3-qe-code-intelligence/SKILL.md +209 -0
- package/assets/skills/v3-qe-contract-testing/SKILL.md +218 -0
- package/assets/skills/v3-qe-coverage-analysis/SKILL.md +187 -0
- package/assets/skills/v3-qe-defect-intelligence/SKILL.md +205 -0
- package/assets/skills/v3-qe-learning-optimization/SKILL.md +238 -0
- package/assets/skills/v3-qe-quality-assessment/SKILL.md +213 -0
- package/assets/skills/v3-qe-requirements-validation/SKILL.md +248 -0
- package/assets/skills/v3-qe-test-execution/SKILL.md +182 -0
- package/assets/skills/v3-qe-test-generation/SKILL.md +141 -0
- package/assets/skills/v3-qe-visual-accessibility/SKILL.md +242 -0
- package/assets/skills/verification-quality/SKILL.md +649 -0
- package/assets/skills/visual-testing-advanced/SKILL.md +219 -0
- package/assets/skills/xp-practices/SKILL.md +229 -0
- package/dist/cli/bundle.js +8 -8
- package/dist/init/agents-installer.js +4 -4
- package/dist/init/agents-installer.js.map +1 -1
- package/dist/init/skills-installer.js +4 -4
- package/dist/init/skills-installer.js.map +1 -1
- package/package.json +7 -1
- package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
- package/implementation/README.md +0 -90
- package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
- package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
- package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
- package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
- package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
- package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
- package/implementation/adrs/ADR-036-result-persistence.md +0 -326
- package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
- package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
- package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
- package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
- package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
- package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
- package/implementation/adrs/v3-adrs.md +0 -2783
- package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
- package/security-scan-report-2026-01-11.md +0 -410
- package/security-verification-report-2026-01-11.md +0 -278
- package/src/benchmarks/performance-benchmarks.ts +0 -646
- package/src/benchmarks/run-benchmarks.ts +0 -324
- package/src/causal-discovery/causal-graph.ts +0 -450
- package/src/causal-discovery/discovery-engine.ts +0 -438
- package/src/causal-discovery/index.ts +0 -117
- package/src/causal-discovery/types.ts +0 -456
- package/src/causal-discovery/weight-matrix.ts +0 -453
- package/src/cli/commands/qe-tools.ts +0 -634
- package/src/cli/index.ts +0 -1976
- package/src/compatibility/agent-mapper.ts +0 -291
- package/src/compatibility/cli-adapter.ts +0 -277
- package/src/compatibility/config-migrator.ts +0 -334
- package/src/compatibility/index.ts +0 -112
- package/src/compatibility/mcp-adapter.ts +0 -248
- package/src/compatibility/types.ts +0 -156
- package/src/coordination/claims/claim-repository.ts +0 -636
- package/src/coordination/claims/claim-service.ts +0 -675
- package/src/coordination/claims/handoff-manager.ts +0 -535
- package/src/coordination/claims/index.ts +0 -276
- package/src/coordination/claims/interfaces.ts +0 -687
- package/src/coordination/claims/work-stealing.ts +0 -436
- package/src/coordination/cross-domain-router.ts +0 -492
- package/src/coordination/index.ts +0 -127
- package/src/coordination/interfaces.ts +0 -691
- package/src/coordination/protocol-executor.ts +0 -760
- package/src/coordination/protocols/code-intelligence-index.ts +0 -855
- package/src/coordination/protocols/defect-investigation.ts +0 -1184
- package/src/coordination/protocols/index.ts +0 -11
- package/src/coordination/protocols/learning-consolidation.ts +0 -1181
- package/src/coordination/protocols/morning-sync.ts +0 -1055
- package/src/coordination/protocols/quality-gate.ts +0 -1566
- package/src/coordination/protocols/security-audit.ts +0 -1587
- package/src/coordination/queen-coordinator.ts +0 -1176
- package/src/coordination/result-saver.ts +0 -780
- package/src/coordination/task-executor.ts +0 -1146
- package/src/coordination/workflow-orchestrator.ts +0 -1917
- package/src/domains/chaos-resilience/coordinator.ts +0 -1032
- package/src/domains/chaos-resilience/index.ts +0 -143
- package/src/domains/chaos-resilience/interfaces.ts +0 -659
- package/src/domains/chaos-resilience/plugin.ts +0 -691
- package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
- package/src/domains/chaos-resilience/services/index.ts +0 -19
- package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
- package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
- package/src/domains/code-intelligence/coordinator.ts +0 -631
- package/src/domains/code-intelligence/index.ts +0 -86
- package/src/domains/code-intelligence/interfaces.ts +0 -162
- package/src/domains/code-intelligence/plugin.ts +0 -451
- package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
- package/src/domains/code-intelligence/services/index.ts +0 -26
- package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
- package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
- package/src/domains/contract-testing/coordinator.ts +0 -1038
- package/src/domains/contract-testing/index.ts +0 -122
- package/src/domains/contract-testing/interfaces.ts +0 -458
- package/src/domains/contract-testing/plugin.ts +0 -746
- package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
- package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
- package/src/domains/contract-testing/services/index.ts +0 -19
- package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
- package/src/domains/coverage-analysis/coordinator.ts +0 -485
- package/src/domains/coverage-analysis/index.ts +0 -114
- package/src/domains/coverage-analysis/interfaces.ts +0 -142
- package/src/domains/coverage-analysis/plugin.ts +0 -172
- package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
- package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
- package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
- package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
- package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
- package/src/domains/coverage-analysis/services/index.ts +0 -61
- package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
- package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
- package/src/domains/defect-intelligence/coordinator.ts +0 -635
- package/src/domains/defect-intelligence/index.ts +0 -83
- package/src/domains/defect-intelligence/interfaces.ts +0 -152
- package/src/domains/defect-intelligence/plugin.ts +0 -483
- package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
- package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
- package/src/domains/defect-intelligence/services/index.ts +0 -37
- package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
- package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
- package/src/domains/domain-interface.ts +0 -77
- package/src/domains/index.ts +0 -23
- package/src/domains/learning-optimization/coordinator.ts +0 -1215
- package/src/domains/learning-optimization/index.ts +0 -127
- package/src/domains/learning-optimization/interfaces.ts +0 -570
- package/src/domains/learning-optimization/plugin.ts +0 -851
- package/src/domains/learning-optimization/services/index.ts +0 -29
- package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
- package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
- package/src/domains/learning-optimization/services/production-intel.ts +0 -971
- package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
- package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
- package/src/domains/quality-assessment/coherence/index.ts +0 -211
- package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
- package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
- package/src/domains/quality-assessment/coherence/types.ts +0 -384
- package/src/domains/quality-assessment/coordinator.ts +0 -605
- package/src/domains/quality-assessment/index.ts +0 -97
- package/src/domains/quality-assessment/interfaces.ts +0 -152
- package/src/domains/quality-assessment/plugin.ts +0 -496
- package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
- package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
- package/src/domains/quality-assessment/services/index.ts +0 -34
- package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
- package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
- package/src/domains/requirements-validation/coordinator.ts +0 -812
- package/src/domains/requirements-validation/index.ts +0 -92
- package/src/domains/requirements-validation/interfaces.ts +0 -303
- package/src/domains/requirements-validation/plugin.ts +0 -576
- package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
- package/src/domains/requirements-validation/services/index.ts +0 -20
- package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
- package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
- package/src/domains/security-compliance/coordinator.ts +0 -757
- package/src/domains/security-compliance/index.ts +0 -120
- package/src/domains/security-compliance/interfaces.ts +0 -434
- package/src/domains/security-compliance/plugin.ts +0 -509
- package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
- package/src/domains/security-compliance/services/index.ts +0 -31
- package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
- package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
- package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
- package/src/domains/test-execution/coordinator.ts +0 -426
- package/src/domains/test-execution/index.ts +0 -76
- package/src/domains/test-execution/interfaces.ts +0 -119
- package/src/domains/test-execution/plugin.ts +0 -208
- package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
- package/src/domains/test-execution/services/index.ts +0 -8
- package/src/domains/test-execution/services/retry-handler.ts +0 -820
- package/src/domains/test-execution/services/test-executor.ts +0 -885
- package/src/domains/test-generation/coordinator.ts +0 -656
- package/src/domains/test-generation/index.ts +0 -77
- package/src/domains/test-generation/interfaces.ts +0 -118
- package/src/domains/test-generation/plugin.ts +0 -397
- package/src/domains/test-generation/services/index.ts +0 -23
- package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
- package/src/domains/test-generation/services/test-generator.ts +0 -2750
- package/src/domains/visual-accessibility/coordinator.ts +0 -860
- package/src/domains/visual-accessibility/index.ts +0 -116
- package/src/domains/visual-accessibility/interfaces.ts +0 -435
- package/src/domains/visual-accessibility/plugin.ts +0 -568
- package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
- package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
- package/src/domains/visual-accessibility/services/index.ts +0 -28
- package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
- package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
- package/src/early-exit/early-exit-controller.ts +0 -490
- package/src/early-exit/early-exit-decision.ts +0 -391
- package/src/early-exit/index.ts +0 -115
- package/src/early-exit/quality-signal.ts +0 -389
- package/src/early-exit/speculative-executor.ts +0 -505
- package/src/early-exit/types.ts +0 -407
- package/src/feedback/coverage-learner.ts +0 -456
- package/src/feedback/feedback-loop.ts +0 -426
- package/src/feedback/index.ts +0 -72
- package/src/feedback/pattern-promotion.ts +0 -373
- package/src/feedback/quality-score-calculator.ts +0 -334
- package/src/feedback/test-outcome-tracker.ts +0 -450
- package/src/feedback/types.ts +0 -497
- package/src/index.ts +0 -224
- package/src/init/agents-installer.ts +0 -536
- package/src/init/index.ts +0 -80
- package/src/init/init-wizard.ts +0 -1061
- package/src/init/project-analyzer.ts +0 -696
- package/src/init/self-configurator.ts +0 -488
- package/src/init/skills-installer.ts +0 -467
- package/src/init/types.ts +0 -432
- package/src/integrations/ruvector/ast-complexity.ts +0 -470
- package/src/integrations/ruvector/coverage-router.ts +0 -594
- package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
- package/src/integrations/ruvector/fallback.ts +0 -942
- package/src/integrations/ruvector/graph-boundaries.ts +0 -809
- package/src/integrations/ruvector/index.ts +0 -363
- package/src/integrations/ruvector/interfaces.ts +0 -609
- package/src/integrations/ruvector/q-learning-router.ts +0 -550
- package/src/kernel/agent-coordinator.ts +0 -165
- package/src/kernel/agentdb-backend.ts +0 -504
- package/src/kernel/event-bus.ts +0 -129
- package/src/kernel/hybrid-backend.ts +0 -538
- package/src/kernel/index.ts +0 -28
- package/src/kernel/interfaces.ts +0 -257
- package/src/kernel/kernel.ts +0 -285
- package/src/kernel/memory-backend.ts +0 -169
- package/src/kernel/memory-factory.ts +0 -293
- package/src/kernel/plugin-loader.ts +0 -179
- package/src/learning/index.ts +0 -219
- package/src/learning/pattern-store.ts +0 -990
- package/src/learning/qe-guidance.ts +0 -832
- package/src/learning/qe-hooks.ts +0 -644
- package/src/learning/qe-patterns.ts +0 -449
- package/src/learning/qe-reasoning-bank.ts +0 -951
- package/src/learning/real-embeddings.ts +0 -277
- package/src/learning/real-qe-reasoning-bank.ts +0 -833
- package/src/learning/sqlite-persistence.ts +0 -554
- package/src/mcp/entry.ts +0 -59
- package/src/mcp/handlers/agent-handlers.ts +0 -285
- package/src/mcp/handlers/core-handlers.ts +0 -317
- package/src/mcp/handlers/domain-handlers.ts +0 -1444
- package/src/mcp/handlers/index.ts +0 -57
- package/src/mcp/handlers/memory-handlers.ts +0 -338
- package/src/mcp/handlers/task-handlers.ts +0 -363
- package/src/mcp/index.ts +0 -30
- package/src/mcp/metrics/index.ts +0 -14
- package/src/mcp/metrics/metrics-collector.ts +0 -503
- package/src/mcp/protocol-server.ts +0 -752
- package/src/mcp/security/cve-prevention.ts +0 -742
- package/src/mcp/security/index.ts +0 -356
- package/src/mcp/security/oauth21-provider.ts +0 -821
- package/src/mcp/security/rate-limiter.ts +0 -615
- package/src/mcp/security/sampling-server.ts +0 -662
- package/src/mcp/security/schema-validator.ts +0 -855
- package/src/mcp/server.ts +0 -657
- package/src/mcp/tool-registry.ts +0 -391
- package/src/mcp/tools/base.ts +0 -399
- package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
- package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
- package/src/mcp/tools/contract-testing/validate.ts +0 -708
- package/src/mcp/tools/coverage-analysis/index.ts +0 -770
- package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
- package/src/mcp/tools/index.ts +0 -214
- package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
- package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
- package/src/mcp/tools/registry.ts +0 -248
- package/src/mcp/tools/requirements-validation/validate.ts +0 -394
- package/src/mcp/tools/security-compliance/scan.ts +0 -365
- package/src/mcp/tools/test-execution/execute.ts +0 -291
- package/src/mcp/tools/test-generation/generate.ts +0 -544
- package/src/mcp/tools/visual-accessibility/index.ts +0 -791
- package/src/mcp/transport/index.ts +0 -31
- package/src/mcp/transport/stdio.ts +0 -318
- package/src/mcp/types.ts +0 -543
- package/src/neural-optimizer/index.ts +0 -111
- package/src/neural-optimizer/replay-buffer.ts +0 -455
- package/src/neural-optimizer/swarm-topology.ts +0 -508
- package/src/neural-optimizer/topology-optimizer.ts +0 -828
- package/src/neural-optimizer/types.ts +0 -481
- package/src/neural-optimizer/value-network.ts +0 -351
- package/src/optimization/auto-tuner.ts +0 -817
- package/src/optimization/index.ts +0 -77
- package/src/optimization/metric-collectors.ts +0 -474
- package/src/optimization/qe-workers.ts +0 -704
- package/src/optimization/tuning-algorithm.ts +0 -401
- package/src/optimization/types.ts +0 -314
- package/src/routing/index.ts +0 -51
- package/src/routing/qe-agent-registry.ts +0 -963
- package/src/routing/qe-task-router.ts +0 -564
- package/src/routing/routing-feedback.ts +0 -365
- package/src/routing/types.ts +0 -406
- package/src/shared/embeddings/embedding-cache.ts +0 -157
- package/src/shared/embeddings/index.ts +0 -50
- package/src/shared/embeddings/nomic-embedder.ts +0 -404
- package/src/shared/embeddings/ollama-client.ts +0 -195
- package/src/shared/embeddings/types.ts +0 -147
- package/src/shared/entities/agent.ts +0 -141
- package/src/shared/entities/base-entity.ts +0 -79
- package/src/shared/entities/index.ts +0 -6
- package/src/shared/events/domain-events.ts +0 -259
- package/src/shared/events/index.ts +0 -5
- package/src/shared/git/git-analyzer.ts +0 -656
- package/src/shared/git/index.ts +0 -11
- package/src/shared/http/http-client.ts +0 -420
- package/src/shared/http/index.ts +0 -13
- package/src/shared/index.ts +0 -41
- package/src/shared/io/file-reader.ts +0 -525
- package/src/shared/io/index.ts +0 -25
- package/src/shared/llm/cache.ts +0 -473
- package/src/shared/llm/circuit-breaker.ts +0 -369
- package/src/shared/llm/cost-tracker.ts +0 -460
- package/src/shared/llm/index.ts +0 -140
- package/src/shared/llm/interfaces.ts +0 -629
- package/src/shared/llm/provider-manager.ts +0 -685
- package/src/shared/llm/providers/claude.ts +0 -524
- package/src/shared/llm/providers/index.ts +0 -8
- package/src/shared/llm/providers/ollama.ts +0 -575
- package/src/shared/llm/providers/openai.ts +0 -609
- package/src/shared/metrics/code-metrics.ts +0 -520
- package/src/shared/metrics/index.ts +0 -23
- package/src/shared/metrics/system-metrics.ts +0 -353
- package/src/shared/parsers/index.ts +0 -6
- package/src/shared/parsers/typescript-parser.ts +0 -841
- package/src/shared/security/compliance-patterns.ts +0 -666
- package/src/shared/security/index.ts +0 -30
- package/src/shared/security/osv-client.ts +0 -468
- package/src/shared/types/index.ts +0 -150
- package/src/shared/value-objects/index.ts +0 -273
- package/src/strange-loop/healing-controller.ts +0 -833
- package/src/strange-loop/index.ts +0 -104
- package/src/strange-loop/self-model.ts +0 -494
- package/src/strange-loop/strange-loop.ts +0 -446
- package/src/strange-loop/swarm-observer.ts +0 -448
- package/src/strange-loop/topology-analyzer.ts +0 -565
- package/src/strange-loop/types.ts +0 -640
- package/src/time-crystal/default-phases.ts +0 -520
- package/src/time-crystal/index.ts +0 -164
- package/src/time-crystal/oscillator.ts +0 -425
- package/src/time-crystal/phase-executor.ts +0 -521
- package/src/time-crystal/scheduler.ts +0 -1025
- package/src/time-crystal/test-runner.ts +0 -787
- package/src/time-crystal/types.ts +0 -421
- package/src/workers/base-worker.ts +0 -304
- package/src/workers/daemon.ts +0 -264
- package/src/workers/index.ts +0 -119
- package/src/workers/interfaces.ts +0 -393
- package/src/workers/worker-manager.ts +0 -424
- package/src/workers/workers/compliance-checker.ts +0 -445
- package/src/workers/workers/coverage-tracker.ts +0 -344
- package/src/workers/workers/defect-predictor.ts +0 -375
- package/src/workers/workers/flaky-detector.ts +0 -390
- package/src/workers/workers/index.ts +0 -17
- package/src/workers/workers/learning-consolidation.ts +0 -442
- package/src/workers/workers/performance-baseline.ts +0 -434
- package/src/workers/workers/quality-gate.ts +0 -419
- package/src/workers/workers/regression-monitor.ts +0 -357
- package/src/workers/workers/security-scan.ts +0 -349
- package/src/workers/workers/test-health.ts +0 -359
- package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
- package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
- package/tests/integration/coordination/protocol-executor.test.ts +0 -454
- package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
- package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
- package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
- package/tests/integration/parsers/typescript-parser.test.ts +0 -463
- package/tests/integration/security/vulnerability-detection.test.ts +0 -628
- package/tests/integration/test-execution/coordinator.test.ts +0 -410
- package/tests/integration/test-generation/coordinator.test.ts +0 -361
- package/tests/mocks/index.ts +0 -228
- package/tests/time-crystal/default-phases.test.ts +0 -476
- package/tests/time-crystal/oscillator.test.ts +0 -541
- package/tests/time-crystal/phase-executor.test.ts +0 -653
- package/tests/time-crystal/scheduler.test.ts +0 -626
- package/tests/time-crystal/test-runner.test.ts +0 -594
- package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
- package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
- package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
- package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
- package/tests/unit/cli/cli.test.ts +0 -341
- package/tests/unit/cli/commands.test.ts +0 -414
- package/tests/unit/cli/init-command.test.ts +0 -274
- package/tests/unit/cli/migrate-command.test.ts +0 -396
- package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
- package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
- package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
- package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
- package/tests/unit/coordination/result-saver.test.ts +0 -653
- package/tests/unit/coordination/task-executor.test.ts +0 -810
- package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
- package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
- package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
- package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
- package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
- package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
- package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
- package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
- package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
- package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
- package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
- package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
- package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
- package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
- package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
- package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
- package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
- package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
- package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
- package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
- package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
- package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
- package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
- package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
- package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
- package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
- package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
- package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
- package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
- package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
- package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
- package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
- package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
- package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
- package/tests/unit/early-exit/index.test.ts +0 -254
- package/tests/unit/early-exit/quality-signal.test.ts +0 -589
- package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
- package/tests/unit/feedback/coverage-learner.test.ts +0 -288
- package/tests/unit/feedback/feedback-loop.test.ts +0 -458
- package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
- package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
- package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
- package/tests/unit/init/init-wizard.test.ts +0 -881
- package/tests/unit/init/project-analyzer.test.ts +0 -807
- package/tests/unit/init/self-configurator.test.ts +0 -493
- package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
- package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
- package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
- package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
- package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
- package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
- package/tests/unit/kernel/event-bus.test.ts +0 -197
- package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
- package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
- package/tests/unit/mcp/mcp-server.test.ts +0 -544
- package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
- package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
- package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
- package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
- package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
- package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
- package/tests/unit/mcp/tools/base.test.ts +0 -336
- package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
- package/tests/unit/mcp/tools/registry.test.ts +0 -240
- package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
- package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
- package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
- package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
- package/tests/unit/optimization/auto-tuner.test.ts +0 -506
- package/tests/unit/optimization/metric-collectors.test.ts +0 -352
- package/tests/unit/optimization/qe-workers.test.ts +0 -407
- package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
- package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
- package/tests/unit/routing/qe-task-router.test.ts +0 -390
- package/tests/unit/routing/routing-feedback.test.ts +0 -339
- package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
- package/tests/unit/shared/http/http-client.test.ts +0 -719
- package/tests/unit/shared/io/file-reader.test.ts +0 -511
- package/tests/unit/shared/llm/cache.test.ts +0 -391
- package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
- package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
- package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
- package/tests/unit/shared/llm/providers.test.ts +0 -532
- package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
- package/tests/unit/shared/value-objects.test.ts +0 -184
- package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
- package/tests/unit/workers/base-worker.test.ts +0 -341
- package/tests/unit/workers/daemon.test.ts +0 -291
- package/tests/unit/workers/worker-manager.test.ts +0 -284
- package/tsconfig.json +0 -32
- package/vitest.config.ts +0 -27
|
@@ -1,504 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - AgentDB Memory Backend
|
|
3
|
-
* High-performance vector storage with HNSW indexing for O(log n) search
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { MemoryBackend, StoreOptions, VectorSearchResult } from './interfaces';
|
|
7
|
-
|
|
8
|
-
// ============================================================================
|
|
9
|
-
// AgentDB Types
|
|
10
|
-
// ============================================================================
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* AgentDB connection configuration
|
|
14
|
-
*/
|
|
15
|
-
export interface AgentDBConfig {
|
|
16
|
-
/** Database file path or connection string */
|
|
17
|
-
path: string;
|
|
18
|
-
/** HNSW index configuration */
|
|
19
|
-
hnsw: HNSWConfig;
|
|
20
|
-
/** Enable write-ahead logging for durability */
|
|
21
|
-
walEnabled: boolean;
|
|
22
|
-
/** Cache size in bytes */
|
|
23
|
-
cacheSize: number;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* HNSW (Hierarchical Navigable Small World) index configuration
|
|
28
|
-
* Provides O(log n) approximate nearest neighbor search
|
|
29
|
-
*/
|
|
30
|
-
export interface HNSWConfig {
|
|
31
|
-
/** Number of neighbors per node (default: 16) */
|
|
32
|
-
M: number;
|
|
33
|
-
/** Size of dynamic candidate list during construction (default: 200) */
|
|
34
|
-
efConstruction: number;
|
|
35
|
-
/** Size of dynamic candidate list during search (default: 100) */
|
|
36
|
-
efSearch: number;
|
|
37
|
-
/** Distance metric */
|
|
38
|
-
metric: 'cosine' | 'euclidean' | 'dot';
|
|
39
|
-
/** Vector dimensions */
|
|
40
|
-
dimensions: number;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Connection state for AgentDB
|
|
45
|
-
*/
|
|
46
|
-
type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'error';
|
|
47
|
-
|
|
48
|
-
// ============================================================================
|
|
49
|
-
// AgentDB Client Implementation
|
|
50
|
-
// ============================================================================
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* AgentDB client interface
|
|
54
|
-
* Current implementation provides fully functional in-memory vector storage with:
|
|
55
|
-
* - Key-value operations with TTL support
|
|
56
|
-
* - Vector similarity search (cosine, euclidean, dot product)
|
|
57
|
-
* - HNSW-compatible interface for future optimization
|
|
58
|
-
*
|
|
59
|
-
* Suitable for development, testing, and moderate-scale production.
|
|
60
|
-
* For large-scale deployments (1M+ vectors), integrate with native HNSW library.
|
|
61
|
-
*/
|
|
62
|
-
interface AgentDBClient {
|
|
63
|
-
connect(): Promise<void>;
|
|
64
|
-
disconnect(): Promise<void>;
|
|
65
|
-
isConnected(): boolean;
|
|
66
|
-
|
|
67
|
-
// Key-value operations
|
|
68
|
-
set(key: string, value: unknown, options?: { ttl?: number }): Promise<void>;
|
|
69
|
-
get<T>(key: string): Promise<T | undefined>;
|
|
70
|
-
delete(key: string): Promise<boolean>;
|
|
71
|
-
exists(key: string): Promise<boolean>;
|
|
72
|
-
keys(pattern: string, limit: number): Promise<string[]>;
|
|
73
|
-
|
|
74
|
-
// Vector operations with HNSW
|
|
75
|
-
insertVector(key: string, vector: number[], metadata?: unknown): Promise<void>;
|
|
76
|
-
searchVectors(query: number[], k: number, filter?: unknown): Promise<VectorMatch[]>;
|
|
77
|
-
deleteVector(key: string): Promise<boolean>;
|
|
78
|
-
|
|
79
|
-
// Index management
|
|
80
|
-
buildIndex(): Promise<void>;
|
|
81
|
-
indexStats(): Promise<IndexStats>;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
interface VectorMatch {
|
|
85
|
-
key: string;
|
|
86
|
-
distance: number;
|
|
87
|
-
metadata?: unknown;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
interface IndexStats {
|
|
91
|
-
vectorCount: number;
|
|
92
|
-
indexSize: number;
|
|
93
|
-
buildTime: number;
|
|
94
|
-
queryLatencyP50: number;
|
|
95
|
-
queryLatencyP99: number;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Creates an in-memory AgentDB client
|
|
100
|
-
*
|
|
101
|
-
* This is a fully functional implementation providing:
|
|
102
|
-
* - Key-value storage with TTL expiration
|
|
103
|
-
* - Vector storage with configurable distance metrics
|
|
104
|
-
* - Pattern-based key search
|
|
105
|
-
* - Simulated HNSW performance characteristics
|
|
106
|
-
*
|
|
107
|
-
* For datasets > 100K vectors, consider integrating hnswlib-node
|
|
108
|
-
* or usearch for true O(log n) performance.
|
|
109
|
-
*/
|
|
110
|
-
function createInMemoryAgentDBClient(config: AgentDBConfig): AgentDBClient {
|
|
111
|
-
const store = new Map<string, { value: unknown; expiresAt?: number }>();
|
|
112
|
-
const vectors = new Map<string, { vector: number[]; metadata?: unknown }>();
|
|
113
|
-
let connected = false;
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
async connect() {
|
|
117
|
-
// Simulate connection delay
|
|
118
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
119
|
-
connected = true;
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
async disconnect() {
|
|
123
|
-
connected = false;
|
|
124
|
-
store.clear();
|
|
125
|
-
vectors.clear();
|
|
126
|
-
},
|
|
127
|
-
|
|
128
|
-
isConnected() {
|
|
129
|
-
return connected;
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
async set(key, value, options) {
|
|
133
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
134
|
-
const entry: { value: unknown; expiresAt?: number } = { value };
|
|
135
|
-
if (options?.ttl) {
|
|
136
|
-
entry.expiresAt = Date.now() + options.ttl * 1000;
|
|
137
|
-
}
|
|
138
|
-
store.set(key, entry);
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
async get<T>(key: string): Promise<T | undefined> {
|
|
142
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
143
|
-
const entry = store.get(key);
|
|
144
|
-
if (!entry) return undefined;
|
|
145
|
-
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
146
|
-
store.delete(key);
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
return entry.value as T;
|
|
150
|
-
},
|
|
151
|
-
|
|
152
|
-
async delete(key) {
|
|
153
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
154
|
-
return store.delete(key);
|
|
155
|
-
},
|
|
156
|
-
|
|
157
|
-
async exists(key) {
|
|
158
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
159
|
-
const entry = store.get(key);
|
|
160
|
-
if (!entry) return false;
|
|
161
|
-
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
162
|
-
store.delete(key);
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
return true;
|
|
166
|
-
},
|
|
167
|
-
|
|
168
|
-
async keys(pattern, limit) {
|
|
169
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
170
|
-
const regex = new RegExp(pattern.replace(/\*/g, '.*'));
|
|
171
|
-
const results: string[] = [];
|
|
172
|
-
for (const key of store.keys()) {
|
|
173
|
-
if (regex.test(key)) {
|
|
174
|
-
results.push(key);
|
|
175
|
-
if (results.length >= limit) break;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return results;
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
async insertVector(key, vector, metadata) {
|
|
182
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
183
|
-
vectors.set(key, { vector, metadata });
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
async searchVectors(query, k) {
|
|
187
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
188
|
-
|
|
189
|
-
// Linear scan vector search - O(n) complexity
|
|
190
|
-
// For O(log n) performance with large datasets, integrate hnswlib-node
|
|
191
|
-
const results: VectorMatch[] = [];
|
|
192
|
-
|
|
193
|
-
for (const [key, entry] of vectors.entries()) {
|
|
194
|
-
const distance = cosineDistance(query, entry.vector, config.hnsw.metric);
|
|
195
|
-
results.push({ key, distance, metadata: entry.metadata });
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// Sort by distance (lower is better) and take top k
|
|
199
|
-
return results
|
|
200
|
-
.sort((a, b) => a.distance - b.distance)
|
|
201
|
-
.slice(0, k);
|
|
202
|
-
},
|
|
203
|
-
|
|
204
|
-
async deleteVector(key) {
|
|
205
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
206
|
-
return vectors.delete(key);
|
|
207
|
-
},
|
|
208
|
-
|
|
209
|
-
async buildIndex() {
|
|
210
|
-
if (!connected) throw new Error('AgentDB not connected');
|
|
211
|
-
// In-memory implementation uses linear scan, no index building needed
|
|
212
|
-
// For HNSW optimization, implement index construction here
|
|
213
|
-
},
|
|
214
|
-
|
|
215
|
-
async indexStats() {
|
|
216
|
-
return {
|
|
217
|
-
vectorCount: vectors.size,
|
|
218
|
-
indexSize: vectors.size * 1024, // Approximate
|
|
219
|
-
buildTime: 0,
|
|
220
|
-
queryLatencyP50: 1,
|
|
221
|
-
queryLatencyP99: 5,
|
|
222
|
-
};
|
|
223
|
-
},
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Compute distance between vectors based on metric
|
|
229
|
-
*/
|
|
230
|
-
function cosineDistance(a: number[], b: number[], metric: string): number {
|
|
231
|
-
if (a.length !== b.length) {
|
|
232
|
-
throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
if (metric === 'euclidean') {
|
|
236
|
-
let sum = 0;
|
|
237
|
-
for (let i = 0; i < a.length; i++) {
|
|
238
|
-
const diff = a[i] - b[i];
|
|
239
|
-
sum += diff * diff;
|
|
240
|
-
}
|
|
241
|
-
return Math.sqrt(sum);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
if (metric === 'dot') {
|
|
245
|
-
let sum = 0;
|
|
246
|
-
for (let i = 0; i < a.length; i++) {
|
|
247
|
-
sum += a[i] * b[i];
|
|
248
|
-
}
|
|
249
|
-
// Convert dot product to distance (higher dot = lower distance)
|
|
250
|
-
return 1 - sum;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// Default: cosine distance
|
|
254
|
-
let dotProduct = 0;
|
|
255
|
-
let normA = 0;
|
|
256
|
-
let normB = 0;
|
|
257
|
-
|
|
258
|
-
for (let i = 0; i < a.length; i++) {
|
|
259
|
-
dotProduct += a[i] * b[i];
|
|
260
|
-
normA += a[i] * a[i];
|
|
261
|
-
normB += b[i] * b[i];
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
const denominator = Math.sqrt(normA) * Math.sqrt(normB);
|
|
265
|
-
const similarity = denominator === 0 ? 0 : dotProduct / denominator;
|
|
266
|
-
|
|
267
|
-
// Convert similarity to distance (1 - similarity)
|
|
268
|
-
return 1 - similarity;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// ============================================================================
|
|
272
|
-
// AgentDB Backend Implementation
|
|
273
|
-
// ============================================================================
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* AgentDB Memory Backend
|
|
277
|
-
*
|
|
278
|
-
* Provides high-performance vector storage and retrieval using HNSW indexing.
|
|
279
|
-
* Key features:
|
|
280
|
-
* - O(log n) approximate nearest neighbor search
|
|
281
|
-
* - 150x faster than linear scan for large datasets
|
|
282
|
-
* - Persistent storage with WAL for durability
|
|
283
|
-
* - Configurable distance metrics (cosine, euclidean, dot product)
|
|
284
|
-
*/
|
|
285
|
-
export class AgentDBBackend implements MemoryBackend {
|
|
286
|
-
private client: AgentDBClient | null = null;
|
|
287
|
-
private config: AgentDBConfig;
|
|
288
|
-
private state: ConnectionState = 'disconnected';
|
|
289
|
-
private initPromise: Promise<void> | null = null;
|
|
290
|
-
|
|
291
|
-
constructor(config?: Partial<AgentDBConfig>) {
|
|
292
|
-
this.config = {
|
|
293
|
-
path: config?.path ?? '.agentic-qe/agentdb.db',
|
|
294
|
-
walEnabled: config?.walEnabled ?? true,
|
|
295
|
-
cacheSize: config?.cacheSize ?? 64 * 1024 * 1024, // 64MB default
|
|
296
|
-
hnsw: {
|
|
297
|
-
M: config?.hnsw?.M ?? 16,
|
|
298
|
-
efConstruction: config?.hnsw?.efConstruction ?? 200,
|
|
299
|
-
efSearch: config?.hnsw?.efSearch ?? 100,
|
|
300
|
-
metric: config?.hnsw?.metric ?? 'cosine',
|
|
301
|
-
dimensions: config?.hnsw?.dimensions ?? 384, // Default for common embeddings
|
|
302
|
-
...config?.hnsw,
|
|
303
|
-
},
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* Initialize the AgentDB connection
|
|
309
|
-
*/
|
|
310
|
-
async initialize(): Promise<void> {
|
|
311
|
-
if (this.initPromise) {
|
|
312
|
-
return this.initPromise;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
this.initPromise = this.doInitialize();
|
|
316
|
-
return this.initPromise;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
private async doInitialize(): Promise<void> {
|
|
320
|
-
if (this.state === 'connected') {
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
this.state = 'connecting';
|
|
325
|
-
|
|
326
|
-
try {
|
|
327
|
-
// Create in-memory client
|
|
328
|
-
this.client = createInMemoryAgentDBClient(this.config);
|
|
329
|
-
|
|
330
|
-
// Connect to database
|
|
331
|
-
await this.client.connect();
|
|
332
|
-
|
|
333
|
-
// Build initial HNSW index if needed
|
|
334
|
-
await this.client.buildIndex();
|
|
335
|
-
|
|
336
|
-
this.state = 'connected';
|
|
337
|
-
} catch (error) {
|
|
338
|
-
this.state = 'error';
|
|
339
|
-
throw new Error(`Failed to initialize AgentDB: ${error}`);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
/**
|
|
344
|
-
* Dispose of the AgentDB connection
|
|
345
|
-
*/
|
|
346
|
-
async dispose(): Promise<void> {
|
|
347
|
-
if (this.client && this.state === 'connected') {
|
|
348
|
-
await this.client.disconnect();
|
|
349
|
-
}
|
|
350
|
-
this.client = null;
|
|
351
|
-
this.state = 'disconnected';
|
|
352
|
-
this.initPromise = null;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Store a value in AgentDB
|
|
357
|
-
*/
|
|
358
|
-
async set<T>(key: string, value: T, options?: StoreOptions): Promise<void> {
|
|
359
|
-
this.ensureConnected();
|
|
360
|
-
|
|
361
|
-
const fullKey = this.buildKey(key, options?.namespace);
|
|
362
|
-
await this.client!.set(fullKey, value, { ttl: options?.ttl });
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Retrieve a value from AgentDB
|
|
367
|
-
*/
|
|
368
|
-
async get<T>(key: string): Promise<T | undefined> {
|
|
369
|
-
this.ensureConnected();
|
|
370
|
-
return this.client!.get<T>(key);
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Delete a value from AgentDB
|
|
375
|
-
*/
|
|
376
|
-
async delete(key: string): Promise<boolean> {
|
|
377
|
-
this.ensureConnected();
|
|
378
|
-
|
|
379
|
-
// Delete both key-value and vector entries
|
|
380
|
-
const kvDeleted = await this.client!.delete(key);
|
|
381
|
-
const vectorDeleted = await this.client!.deleteVector(key);
|
|
382
|
-
|
|
383
|
-
return kvDeleted || vectorDeleted;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* Check if a key exists in AgentDB
|
|
388
|
-
*/
|
|
389
|
-
async has(key: string): Promise<boolean> {
|
|
390
|
-
this.ensureConnected();
|
|
391
|
-
return this.client!.exists(key);
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Search for keys matching a pattern
|
|
396
|
-
*/
|
|
397
|
-
async search(pattern: string, limit: number = 100): Promise<string[]> {
|
|
398
|
-
this.ensureConnected();
|
|
399
|
-
return this.client!.keys(pattern, limit);
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Perform vector similarity search using HNSW index
|
|
404
|
-
*
|
|
405
|
-
* Performance: O(log n) due to HNSW hierarchical graph traversal
|
|
406
|
-
* Compared to O(n) linear scan, this provides ~150x speedup for 1M vectors
|
|
407
|
-
*
|
|
408
|
-
* @param embedding - Query vector
|
|
409
|
-
* @param k - Number of nearest neighbors to return
|
|
410
|
-
* @returns Top k most similar vectors with scores
|
|
411
|
-
*/
|
|
412
|
-
async vectorSearch(embedding: number[], k: number): Promise<VectorSearchResult[]> {
|
|
413
|
-
this.ensureConnected();
|
|
414
|
-
|
|
415
|
-
// Validate embedding dimensions
|
|
416
|
-
if (embedding.length !== this.config.hnsw.dimensions) {
|
|
417
|
-
throw new Error(
|
|
418
|
-
`Embedding dimension mismatch: expected ${this.config.hnsw.dimensions}, got ${embedding.length}`
|
|
419
|
-
);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
const matches = await this.client!.searchVectors(embedding, k);
|
|
423
|
-
|
|
424
|
-
// Convert distance to similarity score (1 - distance for cosine)
|
|
425
|
-
return matches.map(match => ({
|
|
426
|
-
key: match.key,
|
|
427
|
-
score: 1 - match.distance,
|
|
428
|
-
metadata: match.metadata,
|
|
429
|
-
}));
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* Store a vector embedding with HNSW indexing
|
|
434
|
-
*
|
|
435
|
-
* @param key - Unique identifier for the vector
|
|
436
|
-
* @param embedding - Vector to store
|
|
437
|
-
* @param metadata - Optional metadata to associate with the vector
|
|
438
|
-
*/
|
|
439
|
-
async storeVector(
|
|
440
|
-
key: string,
|
|
441
|
-
embedding: number[],
|
|
442
|
-
metadata?: unknown
|
|
443
|
-
): Promise<void> {
|
|
444
|
-
this.ensureConnected();
|
|
445
|
-
|
|
446
|
-
// Validate embedding dimensions
|
|
447
|
-
if (embedding.length !== this.config.hnsw.dimensions) {
|
|
448
|
-
throw new Error(
|
|
449
|
-
`Embedding dimension mismatch: expected ${this.config.hnsw.dimensions}, got ${embedding.length}`
|
|
450
|
-
);
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
await this.client!.insertVector(key, embedding, metadata);
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
// ============================================================================
|
|
457
|
-
// AgentDB-specific Methods
|
|
458
|
-
// ============================================================================
|
|
459
|
-
|
|
460
|
-
/**
|
|
461
|
-
* Get HNSW index statistics
|
|
462
|
-
*/
|
|
463
|
-
async getIndexStats(): Promise<IndexStats> {
|
|
464
|
-
this.ensureConnected();
|
|
465
|
-
return this.client!.indexStats();
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
/**
|
|
469
|
-
* Rebuild the HNSW index
|
|
470
|
-
* Call after bulk insertions for optimal performance
|
|
471
|
-
*/
|
|
472
|
-
async rebuildIndex(): Promise<void> {
|
|
473
|
-
this.ensureConnected();
|
|
474
|
-
await this.client!.buildIndex();
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
/**
|
|
478
|
-
* Get current connection state
|
|
479
|
-
*/
|
|
480
|
-
getConnectionState(): ConnectionState {
|
|
481
|
-
return this.state;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
/**
|
|
485
|
-
* Get backend configuration
|
|
486
|
-
*/
|
|
487
|
-
getConfig(): Readonly<AgentDBConfig> {
|
|
488
|
-
return { ...this.config };
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
// ============================================================================
|
|
492
|
-
// Private Helpers
|
|
493
|
-
// ============================================================================
|
|
494
|
-
|
|
495
|
-
private ensureConnected(): void {
|
|
496
|
-
if (this.state !== 'connected' || !this.client) {
|
|
497
|
-
throw new Error('AgentDB backend not initialized. Call initialize() first.');
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
private buildKey(key: string, namespace?: string): string {
|
|
502
|
-
return namespace ? `${namespace}:${key}` : key;
|
|
503
|
-
}
|
|
504
|
-
}
|
package/src/kernel/event-bus.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - Event Bus Implementation
|
|
3
|
-
* Domain event router for cross-domain communication
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
DomainEvent,
|
|
8
|
-
DomainName,
|
|
9
|
-
EventHandler,
|
|
10
|
-
} from '../shared/types';
|
|
11
|
-
import { EventBus, Subscription, EventFilter } from './interfaces';
|
|
12
|
-
|
|
13
|
-
interface SubscriptionEntry {
|
|
14
|
-
id: string;
|
|
15
|
-
eventType: string | '*';
|
|
16
|
-
channel?: DomainName;
|
|
17
|
-
handler: EventHandler;
|
|
18
|
-
active: boolean;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class InMemoryEventBus implements EventBus {
|
|
22
|
-
private subscriptions: Map<string, SubscriptionEntry> = new Map();
|
|
23
|
-
private eventHistory: DomainEvent[] = [];
|
|
24
|
-
private maxHistorySize = 10000;
|
|
25
|
-
private subscriptionCounter = 0;
|
|
26
|
-
|
|
27
|
-
async publish<T>(event: DomainEvent<T>): Promise<void> {
|
|
28
|
-
// Store in history
|
|
29
|
-
this.eventHistory.push(event);
|
|
30
|
-
if (this.eventHistory.length > this.maxHistorySize) {
|
|
31
|
-
this.eventHistory.shift();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Find matching subscriptions
|
|
35
|
-
const matchingSubscriptions = Array.from(this.subscriptions.values()).filter(
|
|
36
|
-
(sub) => {
|
|
37
|
-
if (!sub.active) return false;
|
|
38
|
-
|
|
39
|
-
// Check channel match
|
|
40
|
-
if (sub.channel && sub.channel !== event.source) return false;
|
|
41
|
-
|
|
42
|
-
// Check event type match
|
|
43
|
-
if (sub.eventType !== '*' && sub.eventType !== event.type) return false;
|
|
44
|
-
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
// Execute handlers concurrently
|
|
50
|
-
await Promise.allSettled(
|
|
51
|
-
matchingSubscriptions.map((sub) => sub.handler(event))
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
subscribe<T>(eventType: string, handler: EventHandler<T>): Subscription {
|
|
56
|
-
const id = `sub_${++this.subscriptionCounter}`;
|
|
57
|
-
const entry: SubscriptionEntry = {
|
|
58
|
-
id,
|
|
59
|
-
eventType,
|
|
60
|
-
handler: handler as EventHandler,
|
|
61
|
-
active: true,
|
|
62
|
-
};
|
|
63
|
-
this.subscriptions.set(id, entry);
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
unsubscribe: () => {
|
|
67
|
-
entry.active = false;
|
|
68
|
-
this.subscriptions.delete(id);
|
|
69
|
-
},
|
|
70
|
-
get active() {
|
|
71
|
-
return entry.active;
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
subscribeToChannel(domain: DomainName, handler: EventHandler): Subscription {
|
|
77
|
-
const id = `sub_${++this.subscriptionCounter}`;
|
|
78
|
-
const entry: SubscriptionEntry = {
|
|
79
|
-
id,
|
|
80
|
-
eventType: '*',
|
|
81
|
-
channel: domain,
|
|
82
|
-
handler,
|
|
83
|
-
active: true,
|
|
84
|
-
};
|
|
85
|
-
this.subscriptions.set(id, entry);
|
|
86
|
-
|
|
87
|
-
return {
|
|
88
|
-
unsubscribe: () => {
|
|
89
|
-
entry.active = false;
|
|
90
|
-
this.subscriptions.delete(id);
|
|
91
|
-
},
|
|
92
|
-
get active() {
|
|
93
|
-
return entry.active;
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
async getHistory(filter?: EventFilter): Promise<DomainEvent[]> {
|
|
99
|
-
let events = [...this.eventHistory];
|
|
100
|
-
|
|
101
|
-
if (filter) {
|
|
102
|
-
if (filter.eventTypes?.length) {
|
|
103
|
-
events = events.filter((e) => filter.eventTypes!.includes(e.type));
|
|
104
|
-
}
|
|
105
|
-
if (filter.sources?.length) {
|
|
106
|
-
events = events.filter((e) => filter.sources!.includes(e.source));
|
|
107
|
-
}
|
|
108
|
-
if (filter.fromTimestamp) {
|
|
109
|
-
events = events.filter((e) => e.timestamp >= filter.fromTimestamp!);
|
|
110
|
-
}
|
|
111
|
-
if (filter.toTimestamp) {
|
|
112
|
-
events = events.filter((e) => e.timestamp <= filter.toTimestamp!);
|
|
113
|
-
}
|
|
114
|
-
if (filter.correlationId) {
|
|
115
|
-
events = events.filter((e) => e.correlationId === filter.correlationId);
|
|
116
|
-
}
|
|
117
|
-
if (filter.limit) {
|
|
118
|
-
events = events.slice(-filter.limit);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return events;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
async dispose(): Promise<void> {
|
|
126
|
-
this.subscriptions.clear();
|
|
127
|
-
this.eventHistory = [];
|
|
128
|
-
}
|
|
129
|
-
}
|