@agentic-qe/v3 3.0.0-alpha.6 → 3.0.0-alpha.8
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 +23 -13
- package/dist/init/agents-installer.js +4 -4
- package/dist/init/agents-installer.js.map +1 -1
- package/dist/init/init-wizard.d.ts.map +1 -1
- package/dist/init/init-wizard.js +15 -5
- package/dist/init/init-wizard.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,554 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite Persistence Layer for QE ReasoningBank
|
|
3
|
-
* ADR-021: QE ReasoningBank for Pattern Learning
|
|
4
|
-
*
|
|
5
|
-
* Uses better-sqlite3 for real, performant SQLite persistence.
|
|
6
|
-
* Features:
|
|
7
|
-
* - ACID transactions
|
|
8
|
-
* - Prepared statements for performance
|
|
9
|
-
* - BLOB storage for embeddings
|
|
10
|
-
* - JSON storage for pattern data
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import Database, { type Database as DatabaseType, type Statement } from 'better-sqlite3';
|
|
14
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
15
|
-
import type { QEPattern, QEDomain, QEPatternType } from './qe-patterns.js';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* SQLite persistence configuration
|
|
19
|
-
*/
|
|
20
|
-
export interface SQLitePersistenceConfig {
|
|
21
|
-
/** Database file path */
|
|
22
|
-
dbPath: string;
|
|
23
|
-
|
|
24
|
-
/** Enable WAL mode for better concurrency */
|
|
25
|
-
walMode: boolean;
|
|
26
|
-
|
|
27
|
-
/** Memory-mapped I/O size in bytes */
|
|
28
|
-
mmapSize: number;
|
|
29
|
-
|
|
30
|
-
/** Cache size in pages (-ve = KB) */
|
|
31
|
-
cacheSize: number;
|
|
32
|
-
|
|
33
|
-
/** Enable foreign keys */
|
|
34
|
-
foreignKeys: boolean;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export const DEFAULT_SQLITE_CONFIG: SQLitePersistenceConfig = {
|
|
38
|
-
dbPath: '.agentic-qe/qe-patterns.db',
|
|
39
|
-
walMode: true,
|
|
40
|
-
mmapSize: 256 * 1024 * 1024, // 256MB
|
|
41
|
-
cacheSize: -64000, // 64MB
|
|
42
|
-
foreignKeys: true,
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* SQLite-based pattern persistence
|
|
47
|
-
*/
|
|
48
|
-
export class SQLitePatternStore {
|
|
49
|
-
private db: DatabaseType | null = null;
|
|
50
|
-
private readonly config: SQLitePersistenceConfig;
|
|
51
|
-
private prepared: Map<string, Statement> = new Map();
|
|
52
|
-
private initialized = false;
|
|
53
|
-
|
|
54
|
-
constructor(config: Partial<SQLitePersistenceConfig> = {}) {
|
|
55
|
-
this.config = { ...DEFAULT_SQLITE_CONFIG, ...config };
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Initialize the database
|
|
60
|
-
*/
|
|
61
|
-
async initialize(): Promise<void> {
|
|
62
|
-
if (this.initialized) return;
|
|
63
|
-
|
|
64
|
-
try {
|
|
65
|
-
// Ensure directory exists
|
|
66
|
-
const path = await import('path');
|
|
67
|
-
const fs = await import('fs');
|
|
68
|
-
const dir = path.dirname(this.config.dbPath);
|
|
69
|
-
if (!fs.existsSync(dir)) {
|
|
70
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Open database
|
|
74
|
-
this.db = new Database(this.config.dbPath);
|
|
75
|
-
|
|
76
|
-
// Configure for performance
|
|
77
|
-
if (this.config.walMode) {
|
|
78
|
-
this.db.pragma('journal_mode = WAL');
|
|
79
|
-
}
|
|
80
|
-
this.db.pragma(`mmap_size = ${this.config.mmapSize}`);
|
|
81
|
-
this.db.pragma(`cache_size = ${this.config.cacheSize}`);
|
|
82
|
-
if (this.config.foreignKeys) {
|
|
83
|
-
this.db.pragma('foreign_keys = ON');
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Create schema
|
|
87
|
-
this.createSchema();
|
|
88
|
-
|
|
89
|
-
// Prepare statements
|
|
90
|
-
this.prepareStatements();
|
|
91
|
-
|
|
92
|
-
this.initialized = true;
|
|
93
|
-
console.log(`[SQLitePatternStore] Initialized: ${this.config.dbPath}`);
|
|
94
|
-
} catch (error) {
|
|
95
|
-
throw new Error(`Failed to initialize SQLite: ${error instanceof Error ? error.message : String(error)}`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Create database schema
|
|
101
|
-
*/
|
|
102
|
-
private createSchema(): void {
|
|
103
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
104
|
-
|
|
105
|
-
this.db.exec(`
|
|
106
|
-
-- QE Patterns table
|
|
107
|
-
CREATE TABLE IF NOT EXISTS qe_patterns (
|
|
108
|
-
id TEXT PRIMARY KEY,
|
|
109
|
-
pattern_type TEXT NOT NULL,
|
|
110
|
-
qe_domain TEXT NOT NULL,
|
|
111
|
-
domain TEXT NOT NULL,
|
|
112
|
-
name TEXT NOT NULL,
|
|
113
|
-
description TEXT,
|
|
114
|
-
confidence REAL DEFAULT 0.5,
|
|
115
|
-
usage_count INTEGER DEFAULT 0,
|
|
116
|
-
success_rate REAL DEFAULT 0.0,
|
|
117
|
-
quality_score REAL DEFAULT 0.0,
|
|
118
|
-
tier TEXT DEFAULT 'short-term',
|
|
119
|
-
template_json TEXT,
|
|
120
|
-
context_json TEXT,
|
|
121
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
122
|
-
updated_at TEXT DEFAULT (datetime('now')),
|
|
123
|
-
last_used_at TEXT,
|
|
124
|
-
successful_uses INTEGER DEFAULT 0
|
|
125
|
-
);
|
|
126
|
-
|
|
127
|
-
-- Pattern embeddings table (BLOB storage for vectors)
|
|
128
|
-
CREATE TABLE IF NOT EXISTS qe_pattern_embeddings (
|
|
129
|
-
pattern_id TEXT PRIMARY KEY,
|
|
130
|
-
embedding BLOB NOT NULL,
|
|
131
|
-
dimension INTEGER NOT NULL,
|
|
132
|
-
model TEXT DEFAULT 'all-MiniLM-L6-v2',
|
|
133
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
134
|
-
FOREIGN KEY (pattern_id) REFERENCES qe_patterns(id) ON DELETE CASCADE
|
|
135
|
-
);
|
|
136
|
-
|
|
137
|
-
-- Pattern usage history
|
|
138
|
-
CREATE TABLE IF NOT EXISTS qe_pattern_usage (
|
|
139
|
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
140
|
-
pattern_id TEXT NOT NULL,
|
|
141
|
-
success INTEGER NOT NULL,
|
|
142
|
-
metrics_json TEXT,
|
|
143
|
-
feedback TEXT,
|
|
144
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
145
|
-
FOREIGN KEY (pattern_id) REFERENCES qe_patterns(id) ON DELETE CASCADE
|
|
146
|
-
);
|
|
147
|
-
|
|
148
|
-
-- Learning trajectories
|
|
149
|
-
CREATE TABLE IF NOT EXISTS qe_trajectories (
|
|
150
|
-
id TEXT PRIMARY KEY,
|
|
151
|
-
task TEXT NOT NULL,
|
|
152
|
-
agent TEXT,
|
|
153
|
-
domain TEXT,
|
|
154
|
-
started_at TEXT DEFAULT (datetime('now')),
|
|
155
|
-
ended_at TEXT,
|
|
156
|
-
success INTEGER,
|
|
157
|
-
steps_json TEXT,
|
|
158
|
-
metadata_json TEXT
|
|
159
|
-
);
|
|
160
|
-
|
|
161
|
-
-- Indexes for performance
|
|
162
|
-
CREATE INDEX IF NOT EXISTS idx_patterns_domain ON qe_patterns(qe_domain);
|
|
163
|
-
CREATE INDEX IF NOT EXISTS idx_patterns_type ON qe_patterns(pattern_type);
|
|
164
|
-
CREATE INDEX IF NOT EXISTS idx_patterns_tier ON qe_patterns(tier);
|
|
165
|
-
CREATE INDEX IF NOT EXISTS idx_patterns_quality ON qe_patterns(quality_score DESC);
|
|
166
|
-
CREATE INDEX IF NOT EXISTS idx_usage_pattern ON qe_pattern_usage(pattern_id);
|
|
167
|
-
CREATE INDEX IF NOT EXISTS idx_trajectories_domain ON qe_trajectories(domain);
|
|
168
|
-
`);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Prepare commonly used statements
|
|
173
|
-
*/
|
|
174
|
-
private prepareStatements(): void {
|
|
175
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
176
|
-
|
|
177
|
-
this.prepared.set('insertPattern', this.db.prepare(`
|
|
178
|
-
INSERT INTO qe_patterns (
|
|
179
|
-
id, pattern_type, qe_domain, domain, name, description,
|
|
180
|
-
confidence, tier, template_json, context_json
|
|
181
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
182
|
-
`));
|
|
183
|
-
|
|
184
|
-
this.prepared.set('insertEmbedding', this.db.prepare(`
|
|
185
|
-
INSERT OR REPLACE INTO qe_pattern_embeddings (pattern_id, embedding, dimension, model)
|
|
186
|
-
VALUES (?, ?, ?, ?)
|
|
187
|
-
`));
|
|
188
|
-
|
|
189
|
-
this.prepared.set('getPattern', this.db.prepare(`
|
|
190
|
-
SELECT * FROM qe_patterns WHERE id = ?
|
|
191
|
-
`));
|
|
192
|
-
|
|
193
|
-
this.prepared.set('getPatternWithEmbedding', this.db.prepare(`
|
|
194
|
-
SELECT p.*, e.embedding, e.dimension
|
|
195
|
-
FROM qe_patterns p
|
|
196
|
-
LEFT JOIN qe_pattern_embeddings e ON p.id = e.pattern_id
|
|
197
|
-
WHERE p.id = ?
|
|
198
|
-
`));
|
|
199
|
-
|
|
200
|
-
this.prepared.set('updatePattern', this.db.prepare(`
|
|
201
|
-
UPDATE qe_patterns SET
|
|
202
|
-
usage_count = usage_count + 1,
|
|
203
|
-
successful_uses = successful_uses + ?,
|
|
204
|
-
success_rate = CAST(successful_uses + ? AS REAL) / CAST(usage_count + 1 AS REAL),
|
|
205
|
-
quality_score = ?,
|
|
206
|
-
last_used_at = datetime('now'),
|
|
207
|
-
updated_at = datetime('now')
|
|
208
|
-
WHERE id = ?
|
|
209
|
-
`));
|
|
210
|
-
|
|
211
|
-
this.prepared.set('promotePattern', this.db.prepare(`
|
|
212
|
-
UPDATE qe_patterns SET tier = 'long-term', updated_at = datetime('now')
|
|
213
|
-
WHERE id = ?
|
|
214
|
-
`));
|
|
215
|
-
|
|
216
|
-
this.prepared.set('insertUsage', this.db.prepare(`
|
|
217
|
-
INSERT INTO qe_pattern_usage (pattern_id, success, metrics_json, feedback)
|
|
218
|
-
VALUES (?, ?, ?, ?)
|
|
219
|
-
`));
|
|
220
|
-
|
|
221
|
-
this.prepared.set('getAllPatterns', this.db.prepare(`
|
|
222
|
-
SELECT * FROM qe_patterns ORDER BY quality_score DESC LIMIT ?
|
|
223
|
-
`));
|
|
224
|
-
|
|
225
|
-
this.prepared.set('getPatternsByDomain', this.db.prepare(`
|
|
226
|
-
SELECT * FROM qe_patterns WHERE qe_domain = ? ORDER BY quality_score DESC LIMIT ?
|
|
227
|
-
`));
|
|
228
|
-
|
|
229
|
-
this.prepared.set('getAllEmbeddings', this.db.prepare(`
|
|
230
|
-
SELECT pattern_id, embedding, dimension FROM qe_pattern_embeddings
|
|
231
|
-
`));
|
|
232
|
-
|
|
233
|
-
this.prepared.set('countPatterns', this.db.prepare(`
|
|
234
|
-
SELECT COUNT(*) as count FROM qe_patterns
|
|
235
|
-
`));
|
|
236
|
-
|
|
237
|
-
this.prepared.set('countByDomain', this.db.prepare(`
|
|
238
|
-
SELECT qe_domain, COUNT(*) as count FROM qe_patterns GROUP BY qe_domain
|
|
239
|
-
`));
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Store a pattern
|
|
244
|
-
*/
|
|
245
|
-
storePattern(pattern: QEPattern, embedding?: number[]): string {
|
|
246
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
247
|
-
|
|
248
|
-
const id = pattern.id || uuidv4();
|
|
249
|
-
const insertPattern = this.prepared.get('insertPattern');
|
|
250
|
-
const insertEmbedding = this.prepared.get('insertEmbedding');
|
|
251
|
-
|
|
252
|
-
if (!insertPattern || !insertEmbedding) {
|
|
253
|
-
throw new Error('Prepared statements not ready');
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
// Use transaction for atomicity
|
|
257
|
-
const transaction = this.db.transaction(() => {
|
|
258
|
-
insertPattern.run(
|
|
259
|
-
id,
|
|
260
|
-
pattern.patternType,
|
|
261
|
-
pattern.qeDomain,
|
|
262
|
-
pattern.domain,
|
|
263
|
-
pattern.name,
|
|
264
|
-
pattern.description || '',
|
|
265
|
-
pattern.confidence,
|
|
266
|
-
pattern.tier || 'short-term',
|
|
267
|
-
JSON.stringify(pattern.template),
|
|
268
|
-
JSON.stringify(pattern.context)
|
|
269
|
-
);
|
|
270
|
-
|
|
271
|
-
if (embedding) {
|
|
272
|
-
// Store embedding as BLOB (Float32Array)
|
|
273
|
-
const buffer = Buffer.from(new Float32Array(embedding).buffer);
|
|
274
|
-
insertEmbedding.run(id, buffer, embedding.length, 'all-MiniLM-L6-v2');
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
transaction();
|
|
279
|
-
return id;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Get a pattern by ID
|
|
284
|
-
*/
|
|
285
|
-
getPattern(id: string): QEPattern | null {
|
|
286
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
287
|
-
|
|
288
|
-
const stmt = this.prepared.get('getPatternWithEmbedding');
|
|
289
|
-
if (!stmt) throw new Error('Prepared statement not ready');
|
|
290
|
-
|
|
291
|
-
const row = stmt.get(id) as any;
|
|
292
|
-
if (!row) return null;
|
|
293
|
-
|
|
294
|
-
return this.rowToPattern(row);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Get all patterns with optional domain filter
|
|
299
|
-
*/
|
|
300
|
-
getPatterns(options: { domain?: QEDomain; limit?: number } = {}): QEPattern[] {
|
|
301
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
302
|
-
|
|
303
|
-
const limit = options.limit || 1000;
|
|
304
|
-
let stmt: Statement;
|
|
305
|
-
let rows: any[];
|
|
306
|
-
|
|
307
|
-
if (options.domain) {
|
|
308
|
-
stmt = this.prepared.get('getPatternsByDomain')!;
|
|
309
|
-
rows = stmt.all(options.domain, limit) as any[];
|
|
310
|
-
} else {
|
|
311
|
-
stmt = this.prepared.get('getAllPatterns')!;
|
|
312
|
-
rows = stmt.all(limit) as any[];
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
return rows.map(row => this.rowToPattern(row));
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* Get all embeddings for HNSW indexing
|
|
320
|
-
*/
|
|
321
|
-
getAllEmbeddings(): Array<{ patternId: string; embedding: number[] }> {
|
|
322
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
323
|
-
|
|
324
|
-
const stmt = this.prepared.get('getAllEmbeddings');
|
|
325
|
-
if (!stmt) throw new Error('Prepared statement not ready');
|
|
326
|
-
|
|
327
|
-
const rows = stmt.all() as any[];
|
|
328
|
-
return rows.map(row => ({
|
|
329
|
-
patternId: row.pattern_id,
|
|
330
|
-
embedding: Array.from(new Float32Array(row.embedding.buffer, row.embedding.byteOffset, row.dimension)),
|
|
331
|
-
}));
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Record pattern usage
|
|
336
|
-
*/
|
|
337
|
-
recordUsage(
|
|
338
|
-
patternId: string,
|
|
339
|
-
success: boolean,
|
|
340
|
-
metrics?: Record<string, any>,
|
|
341
|
-
feedback?: string
|
|
342
|
-
): void {
|
|
343
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
344
|
-
|
|
345
|
-
const insertUsage = this.prepared.get('insertUsage');
|
|
346
|
-
const updatePattern = this.prepared.get('updatePattern');
|
|
347
|
-
|
|
348
|
-
if (!insertUsage || !updatePattern) {
|
|
349
|
-
throw new Error('Prepared statements not ready');
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
// Get current pattern for quality score calculation
|
|
353
|
-
const pattern = this.getPattern(patternId);
|
|
354
|
-
if (!pattern) {
|
|
355
|
-
throw new Error(`Pattern not found: ${patternId}`);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
const newUsageCount = pattern.usageCount + 1;
|
|
359
|
-
const newSuccessfulUses = pattern.successfulUses + (success ? 1 : 0);
|
|
360
|
-
const newSuccessRate = newSuccessfulUses / newUsageCount;
|
|
361
|
-
|
|
362
|
-
// Quality score: confidence * 0.3 + usage * 0.2 + success_rate * 0.5
|
|
363
|
-
const usageScore = Math.min(1, newUsageCount / 100);
|
|
364
|
-
const qualityScore = pattern.confidence * 0.3 + usageScore * 0.2 + newSuccessRate * 0.5;
|
|
365
|
-
|
|
366
|
-
const transaction = this.db.transaction(() => {
|
|
367
|
-
insertUsage.run(
|
|
368
|
-
patternId,
|
|
369
|
-
success ? 1 : 0,
|
|
370
|
-
metrics ? JSON.stringify(metrics) : null,
|
|
371
|
-
feedback || null
|
|
372
|
-
);
|
|
373
|
-
|
|
374
|
-
updatePattern.run(
|
|
375
|
-
success ? 1 : 0,
|
|
376
|
-
success ? 1 : 0,
|
|
377
|
-
qualityScore,
|
|
378
|
-
patternId
|
|
379
|
-
);
|
|
380
|
-
});
|
|
381
|
-
|
|
382
|
-
transaction();
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* Promote pattern to long-term tier
|
|
387
|
-
*/
|
|
388
|
-
promotePattern(patternId: string): void {
|
|
389
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
390
|
-
|
|
391
|
-
const stmt = this.prepared.get('promotePattern');
|
|
392
|
-
if (!stmt) throw new Error('Prepared statement not ready');
|
|
393
|
-
|
|
394
|
-
stmt.run(patternId);
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Get statistics
|
|
399
|
-
*/
|
|
400
|
-
getStats(): {
|
|
401
|
-
totalPatterns: number;
|
|
402
|
-
byDomain: Record<string, number>;
|
|
403
|
-
byTier: Record<string, number>;
|
|
404
|
-
} {
|
|
405
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
406
|
-
|
|
407
|
-
const countStmt = this.prepared.get('countPatterns');
|
|
408
|
-
const domainStmt = this.prepared.get('countByDomain');
|
|
409
|
-
|
|
410
|
-
if (!countStmt || !domainStmt) {
|
|
411
|
-
throw new Error('Prepared statements not ready');
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
const total = (countStmt.get() as any).count;
|
|
415
|
-
const domainRows = domainStmt.all() as any[];
|
|
416
|
-
|
|
417
|
-
const byDomain: Record<string, number> = {};
|
|
418
|
-
for (const row of domainRows) {
|
|
419
|
-
byDomain[row.qe_domain] = row.count;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
// Get tier counts
|
|
423
|
-
const tierRows = this.db.prepare(`
|
|
424
|
-
SELECT tier, COUNT(*) as count FROM qe_patterns GROUP BY tier
|
|
425
|
-
`).all() as any[];
|
|
426
|
-
|
|
427
|
-
const byTier: Record<string, number> = {};
|
|
428
|
-
for (const row of tierRows) {
|
|
429
|
-
byTier[row.tier] = row.count;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
return { totalPatterns: total, byDomain, byTier };
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
/**
|
|
436
|
-
* Convert database row to QEPattern
|
|
437
|
-
*/
|
|
438
|
-
private rowToPattern(row: any): QEPattern {
|
|
439
|
-
let embedding: number[] | undefined;
|
|
440
|
-
if (row.embedding) {
|
|
441
|
-
embedding = Array.from(
|
|
442
|
-
new Float32Array(row.embedding.buffer, row.embedding.byteOffset, row.dimension)
|
|
443
|
-
);
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
return {
|
|
447
|
-
id: row.id,
|
|
448
|
-
patternType: row.pattern_type as QEPatternType,
|
|
449
|
-
qeDomain: row.qe_domain as QEDomain,
|
|
450
|
-
domain: row.domain,
|
|
451
|
-
name: row.name,
|
|
452
|
-
description: row.description,
|
|
453
|
-
confidence: row.confidence,
|
|
454
|
-
usageCount: row.usage_count,
|
|
455
|
-
successRate: row.success_rate,
|
|
456
|
-
qualityScore: row.quality_score,
|
|
457
|
-
tier: row.tier as 'short-term' | 'long-term',
|
|
458
|
-
template: JSON.parse(row.template_json || '{}'),
|
|
459
|
-
context: JSON.parse(row.context_json || '{}'),
|
|
460
|
-
createdAt: new Date(row.created_at),
|
|
461
|
-
lastUsedAt: row.last_used_at ? new Date(row.last_used_at) : new Date(row.created_at),
|
|
462
|
-
successfulUses: row.successful_uses,
|
|
463
|
-
embedding,
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* Update pattern fields (for feedback loop)
|
|
469
|
-
*/
|
|
470
|
-
updatePattern(patternId: string, updates: Partial<{
|
|
471
|
-
usageCount: number;
|
|
472
|
-
successfulUses: number;
|
|
473
|
-
successRate: number;
|
|
474
|
-
qualityScore: number;
|
|
475
|
-
confidence: number;
|
|
476
|
-
tier: 'short-term' | 'working' | 'long-term';
|
|
477
|
-
}>): void {
|
|
478
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
479
|
-
|
|
480
|
-
const setClauses: string[] = [];
|
|
481
|
-
const values: any[] = [];
|
|
482
|
-
|
|
483
|
-
if (updates.usageCount !== undefined) {
|
|
484
|
-
setClauses.push('usage_count = ?');
|
|
485
|
-
values.push(updates.usageCount);
|
|
486
|
-
}
|
|
487
|
-
if (updates.successfulUses !== undefined) {
|
|
488
|
-
setClauses.push('successful_uses = ?');
|
|
489
|
-
values.push(updates.successfulUses);
|
|
490
|
-
}
|
|
491
|
-
if (updates.successRate !== undefined) {
|
|
492
|
-
setClauses.push('success_rate = ?');
|
|
493
|
-
values.push(updates.successRate);
|
|
494
|
-
}
|
|
495
|
-
if (updates.qualityScore !== undefined) {
|
|
496
|
-
setClauses.push('quality_score = ?');
|
|
497
|
-
values.push(updates.qualityScore);
|
|
498
|
-
}
|
|
499
|
-
if (updates.confidence !== undefined) {
|
|
500
|
-
setClauses.push('confidence = ?');
|
|
501
|
-
values.push(updates.confidence);
|
|
502
|
-
}
|
|
503
|
-
if (updates.tier !== undefined) {
|
|
504
|
-
setClauses.push('tier = ?');
|
|
505
|
-
values.push(updates.tier);
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
if (setClauses.length === 0) return;
|
|
509
|
-
|
|
510
|
-
setClauses.push("updated_at = datetime('now')");
|
|
511
|
-
values.push(patternId);
|
|
512
|
-
|
|
513
|
-
const sql = `UPDATE qe_patterns SET ${setClauses.join(', ')} WHERE id = ?`;
|
|
514
|
-
this.db.prepare(sql).run(...values);
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* Close the database
|
|
519
|
-
*/
|
|
520
|
-
close(): void {
|
|
521
|
-
if (this.db) {
|
|
522
|
-
this.db.close();
|
|
523
|
-
this.db = null;
|
|
524
|
-
this.initialized = false;
|
|
525
|
-
this.prepared.clear();
|
|
526
|
-
console.log('[SQLitePatternStore] Database closed');
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
/**
|
|
531
|
-
* Run raw SQL (for migrations, testing)
|
|
532
|
-
*/
|
|
533
|
-
exec(sql: string): void {
|
|
534
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
535
|
-
this.db.exec(sql);
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
/**
|
|
539
|
-
* Get the underlying database (for advanced operations)
|
|
540
|
-
*/
|
|
541
|
-
getDb(): DatabaseType {
|
|
542
|
-
if (!this.db) throw new Error('Database not initialized');
|
|
543
|
-
return this.db;
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
/**
|
|
548
|
-
* Create a SQLite pattern store
|
|
549
|
-
*/
|
|
550
|
-
export function createSQLitePatternStore(
|
|
551
|
-
config: Partial<SQLitePersistenceConfig> = {}
|
|
552
|
-
): SQLitePatternStore {
|
|
553
|
-
return new SQLitePatternStore(config);
|
|
554
|
-
}
|
package/src/mcp/entry.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Agentic QE v3 - MCP Server Entry Point
|
|
4
|
-
*
|
|
5
|
-
* Starts the MCP protocol server for stdio communication.
|
|
6
|
-
* Based on claude-flow's MCP pattern.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* npm run mcp
|
|
10
|
-
* npx tsx src/mcp/entry.ts
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { quickStart, MCPProtocolServer } from './protocol-server';
|
|
14
|
-
|
|
15
|
-
let server: MCPProtocolServer | null = null;
|
|
16
|
-
|
|
17
|
-
async function main(): Promise<void> {
|
|
18
|
-
// Handle graceful shutdown
|
|
19
|
-
process.on('SIGINT', async () => {
|
|
20
|
-
if (server) {
|
|
21
|
-
await server.stop();
|
|
22
|
-
}
|
|
23
|
-
process.exit(0);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
process.on('SIGTERM', async () => {
|
|
27
|
-
if (server) {
|
|
28
|
-
await server.stop();
|
|
29
|
-
}
|
|
30
|
-
process.exit(0);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
// Suppress stderr output in MCP mode (stdio expects clean JSON-RPC)
|
|
34
|
-
const originalStderrWrite = process.stderr.write.bind(process.stderr);
|
|
35
|
-
process.stderr.write = ((chunk: string | Uint8Array): boolean => {
|
|
36
|
-
// Only write to stderr if it looks like important error info
|
|
37
|
-
if (typeof chunk === 'string' && chunk.includes('FATAL')) {
|
|
38
|
-
return originalStderrWrite(chunk);
|
|
39
|
-
}
|
|
40
|
-
return true;
|
|
41
|
-
}) as typeof process.stderr.write;
|
|
42
|
-
|
|
43
|
-
try {
|
|
44
|
-
// Start the MCP server
|
|
45
|
-
server = await quickStart({
|
|
46
|
-
name: 'agentic-qe-v3',
|
|
47
|
-
version: '3.0.0-alpha.1',
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
// Keep the process alive - the server listens on stdin
|
|
51
|
-
// The process will exit when stdin closes or SIGINT/SIGTERM is received
|
|
52
|
-
} catch (error) {
|
|
53
|
-
// Write error to stderr for debugging (won't interfere with JSON-RPC)
|
|
54
|
-
originalStderrWrite(`[MCP Entry] Fatal error: ${error}\n`);
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
main();
|