agentic-qe 3.3.2 → 3.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/v3/README.md +100 -0
- package/.claude/agents/v3/qe-accessibility-auditor.md +112 -11
- package/.claude/agents/v3/qe-bdd-generator.md +40 -0
- package/.claude/agents/v3/qe-coverage-specialist.md +39 -0
- package/.claude/agents/v3/qe-defect-predictor.md +36 -0
- package/.claude/agents/v3/qe-gap-detector.md +39 -0
- package/.claude/agents/v3/qe-pattern-learner.md +31 -0
- package/.claude/agents/v3/qe-product-factors-assessor.md +34 -0
- package/.claude/agents/v3/qe-quality-criteria-recommender.md +32 -0
- package/.claude/agents/v3/qe-quality-gate.md +39 -0
- package/.claude/agents/v3/qe-requirements-validator.md +37 -0
- package/.claude/agents/v3/qe-risk-assessor.md +33 -0
- package/.claude/agents/v3/qe-tdd-specialist.md +33 -0
- package/.claude/agents/v3/qe-test-architect.md +36 -0
- package/.claude/helpers/statusline-v3.cjs +96 -27
- package/.claude/skills/README.md +30 -104
- package/.claude/skills/a11y-ally/SKILL.md +1658 -0
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
- package/.claude/skills/skills-manifest.json +78 -8
- package/README.md +24 -7
- package/package.json +1 -1
- package/scripts/demo-warmup.sh +45 -0
- package/scripts/fetch-content.js +460 -0
- package/scripts/sync-claude-flow.cjs +99 -0
- package/v3/CHANGELOG.md +188 -0
- package/v3/README.md +18 -9
- package/v3/assets/agents/v3/README.md +100 -0
- package/v3/assets/agents/v3/qe-accessibility-auditor.md +112 -11
- package/v3/assets/agents/v3/qe-bdd-generator.md +40 -0
- package/v3/assets/agents/v3/qe-coverage-specialist.md +39 -0
- package/v3/assets/agents/v3/qe-defect-predictor.md +36 -0
- package/v3/assets/agents/v3/qe-gap-detector.md +39 -0
- package/v3/assets/agents/v3/qe-pattern-learner.md +31 -0
- package/v3/assets/agents/v3/qe-product-factors-assessor.md +34 -0
- package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +32 -0
- package/v3/assets/agents/v3/qe-quality-gate.md +39 -0
- package/v3/assets/agents/v3/qe-requirements-validator.md +37 -0
- package/v3/assets/agents/v3/qe-risk-assessor.md +33 -0
- package/v3/assets/agents/v3/qe-tdd-specialist.md +33 -0
- package/v3/assets/agents/v3/qe-test-architect.md +36 -0
- package/v3/assets/hooks/cross-phase-memory.yaml +253 -0
- package/v3/assets/skills/a11y-ally/SKILL.md +1658 -0
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
- package/v3/assets/skills/skills-manifest.json +753 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +6 -4
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +13 -8
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +9 -6
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
- package/v3/dist/benchmarks/performance-benchmarks.d.ts.map +1 -1
- package/v3/dist/benchmarks/performance-benchmarks.js +5 -3
- package/v3/dist/benchmarks/performance-benchmarks.js.map +1 -1
- package/v3/dist/cli/bundle.js +47008 -36837
- package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
- package/v3/dist/cli/commands/hooks.js +288 -0
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/commands/sync.d.ts.map +1 -1
- package/v3/dist/cli/commands/sync.js +0 -6
- package/v3/dist/cli/commands/sync.js.map +1 -1
- package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
- package/v3/dist/cli/handlers/init-handler.js +11 -0
- package/v3/dist/cli/handlers/init-handler.js.map +1 -1
- package/v3/dist/cli/index.js +14 -2
- package/v3/dist/cli/index.js.map +1 -1
- package/v3/dist/cli/scheduler/persistent-scheduler.d.ts.map +1 -1
- package/v3/dist/cli/scheduler/persistent-scheduler.js +3 -2
- package/v3/dist/cli/scheduler/persistent-scheduler.js.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.js +6 -4
- package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
- package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
- package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
- package/v3/dist/coordination/consensus/domain-findings.js +66 -0
- package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
- package/v3/dist/coordination/consensus/index.d.ts +2 -0
- package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/index.js +4 -0
- package/v3/dist/coordination/consensus/index.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/native-learning-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/native-learning-provider.js +10 -8
- package/v3/dist/coordination/consensus/providers/native-learning-provider.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/ollama-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/ollama-provider.js +5 -4
- package/v3/dist/coordination/consensus/providers/ollama-provider.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/openai-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/openai-provider.js +5 -4
- package/v3/dist/coordination/consensus/providers/openai-provider.js.map +1 -1
- package/v3/dist/coordination/constants.d.ts +198 -0
- package/v3/dist/coordination/constants.d.ts.map +1 -0
- package/v3/dist/coordination/constants.js +210 -0
- package/v3/dist/coordination/constants.js.map +1 -0
- package/v3/dist/coordination/index.d.ts +1 -0
- package/v3/dist/coordination/index.d.ts.map +1 -1
- package/v3/dist/coordination/index.js +4 -0
- package/v3/dist/coordination/index.js.map +1 -1
- package/v3/dist/coordination/mincut/dream-integration.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/dream-integration.js +5 -1
- package/v3/dist/coordination/mincut/dream-integration.js.map +1 -1
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
- package/v3/dist/coordination/mixins/index.d.ts +14 -0
- package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/index.js +28 -0
- package/v3/dist/coordination/mixins/index.js.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
- package/v3/dist/coordination/queen-coordinator.d.ts +19 -1
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +87 -7
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/coordination/task-executor.d.ts +21 -1
- package/v3/dist/coordination/task-executor.d.ts.map +1 -1
- package/v3/dist/coordination/task-executor.js +227 -11
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/coordination/workflow-orchestrator.d.ts.map +1 -1
- package/v3/dist/coordination/workflow-orchestrator.js +261 -0
- package/v3/dist/coordination/workflow-orchestrator.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.d.ts +14 -3
- package/v3/dist/domains/chaos-resilience/plugin.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js +97 -1
- package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.js +12 -8
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.js.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
- package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
- package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/code-intelligence/plugin.d.ts +13 -3
- package/v3/dist/domains/code-intelligence/plugin.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/plugin.js +85 -0
- package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js +3 -2
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js.map +1 -1
- package/v3/dist/domains/constants.d.ts +481 -0
- package/v3/dist/domains/constants.d.ts.map +1 -0
- package/v3/dist/domains/constants.js +503 -0
- package/v3/dist/domains/constants.js.map +1 -0
- package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
- package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/coordinator.js +222 -1
- package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.d.ts +6 -1
- package/v3/dist/domains/contract-testing/plugin.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.js +81 -2
- package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.js +62 -6
- package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
- package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +1 -0
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
- package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/plugin.d.ts +6 -1
- package/v3/dist/domains/defect-intelligence/plugin.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/plugin.js +101 -0
- package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +277 -9
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts +155 -0
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +164 -9
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +88 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +227 -1
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/index.js.map +1 -1
- package/v3/dist/domains/learning-optimization/interfaces.d.ts +4 -0
- package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.d.ts +2 -1
- package/v3/dist/domains/learning-optimization/plugin.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js +50 -1
- package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts +194 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +664 -6
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
- package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
- package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
- package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
- package/v3/dist/domains/requirements-validation/index.d.ts +1 -0
- package/v3/dist/domains/requirements-validation/index.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/index.js +2 -0
- package/v3/dist/domains/requirements-validation/index.js.map +1 -1
- package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
- package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/plugin.d.ts +13 -1
- package/v3/dist/domains/requirements-validation/plugin.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/plugin.js +94 -0
- package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts +245 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts.map +1 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js +1143 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js.map +1 -0
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +3 -2
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.js +241 -17
- package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
- package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
- package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/plugin.d.ts +3 -2
- package/v3/dist/domains/security-compliance/plugin.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/plugin.js +64 -0
- package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +25 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +160 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +48 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js +385 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +20 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +99 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +62 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js +329 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +46 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js +180 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.d.ts +14 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.js +16 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +92 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js +440 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts +78 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +179 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +91 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js +15 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts +16 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js +507 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/security-auditor.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-auditor.js +2 -1
- package/v3/dist/domains/security-compliance/services/security-auditor.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +20 -182
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.js +37 -1909
- package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/semgrep-integration.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/semgrep-integration.js +7 -6
- package/v3/dist/domains/security-compliance/services/semgrep-integration.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +259 -2
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/services/auth-state-manager.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/auth-state-manager.js +6 -4
- package/v3/dist/domains/test-execution/services/auth-state-manager.js.map +1 -1
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts +55 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js +407 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts +122 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js +325 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts +97 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js +297 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/index.d.ts +22 -0
- package/v3/dist/domains/test-execution/services/e2e/index.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/index.js +52 -0
- package/v3/dist/domains/test-execution/services/e2e/index.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts +51 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.js +133 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts +48 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.js +422 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts +49 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js +146 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/types.d.ts +138 -0
- package/v3/dist/domains/test-execution/services/e2e/types.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/types.js +65 -0
- package/v3/dist/domains/test-execution/services/e2e/types.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts +33 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js +114 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e-runner.d.ts +18 -392
- package/v3/dist/domains/test-execution/services/e2e-runner.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/e2e-runner.js +25 -1757
- package/v3/dist/domains/test-execution/services/e2e-runner.js.map +1 -1
- package/v3/dist/domains/test-execution/services/flaky-detector.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/flaky-detector.js +12 -9
- package/v3/dist/domains/test-execution/services/flaky-detector.js.map +1 -1
- package/v3/dist/domains/test-execution/services/retry-handler.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/retry-handler.js +7 -5
- package/v3/dist/domains/test-execution/services/retry-handler.js.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
- package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.js +67 -5
- package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts +97 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +237 -0
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
- package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
- package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
- package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts +147 -0
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.js +382 -2
- package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts +2 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +66 -3
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +3 -2
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js +22 -12
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.js +3 -2
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-regression.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-regression.js +3 -2
- package/v3/dist/domains/visual-accessibility/services/visual-regression.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
- package/v3/dist/hooks/cross-phase-hooks.d.ts +42 -0
- package/v3/dist/hooks/cross-phase-hooks.d.ts.map +1 -0
- package/v3/dist/hooks/cross-phase-hooks.js +338 -0
- package/v3/dist/hooks/cross-phase-hooks.js.map +1 -0
- package/v3/dist/hooks/index.d.ts +9 -0
- package/v3/dist/hooks/index.d.ts.map +1 -0
- package/v3/dist/hooks/index.js +9 -0
- package/v3/dist/hooks/index.js.map +1 -0
- package/v3/dist/init/agents-installer.d.ts.map +1 -1
- package/v3/dist/init/agents-installer.js +6 -4
- package/v3/dist/init/agents-installer.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -9
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
- package/v3/dist/init/enhancements/detector.js +6 -4
- package/v3/dist/init/enhancements/detector.js.map +1 -1
- package/v3/dist/init/init-wizard.d.ts +5 -0
- package/v3/dist/init/init-wizard.d.ts.map +1 -1
- package/v3/dist/init/init-wizard.js +74 -11
- package/v3/dist/init/init-wizard.js.map +1 -1
- package/v3/dist/init/migration/data-migrator.d.ts.map +1 -1
- package/v3/dist/init/migration/data-migrator.js +6 -4
- package/v3/dist/init/migration/data-migrator.js.map +1 -1
- package/v3/dist/init/phases/02-analysis.js +2 -2
- package/v3/dist/init/phases/02-analysis.js.map +1 -1
- package/v3/dist/init/phases/04-database.d.ts.map +1 -1
- package/v3/dist/init/phases/04-database.js +0 -1
- package/v3/dist/init/phases/04-database.js.map +1 -1
- package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -1
- package/v3/dist/init/phases/11-claude-md.js +25 -0
- package/v3/dist/init/phases/11-claude-md.js.map +1 -1
- package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
- package/v3/dist/init/phases/12-verification.js +2 -1
- package/v3/dist/init/phases/12-verification.js.map +1 -1
- package/v3/dist/init/project-analyzer.d.ts.map +1 -1
- package/v3/dist/init/project-analyzer.js +12 -8
- package/v3/dist/init/project-analyzer.js.map +1 -1
- package/v3/dist/init/skills-installer.d.ts.map +1 -1
- package/v3/dist/init/skills-installer.js +6 -4
- package/v3/dist/init/skills-installer.js.map +1 -1
- package/v3/dist/init/token-bootstrap.d.ts.map +1 -1
- package/v3/dist/init/token-bootstrap.js +2 -1
- package/v3/dist/init/token-bootstrap.js.map +1 -1
- package/v3/dist/integrations/agent-booster-wasm/index.d.ts.map +1 -1
- package/v3/dist/integrations/agent-booster-wasm/index.js +8 -4
- package/v3/dist/integrations/agent-booster-wasm/index.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +3 -2
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/client.d.ts.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/client.js +9 -6
- package/v3/dist/integrations/browser/agent-browser/client.js.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/command-executor.d.ts.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/command-executor.js +3 -2
- package/v3/dist/integrations/browser/agent-browser/command-executor.js.map +1 -1
- package/v3/dist/integrations/browser/index.d.ts +1 -0
- package/v3/dist/integrations/browser/index.d.ts.map +1 -1
- package/v3/dist/integrations/browser/index.js +6 -0
- package/v3/dist/integrations/browser/index.js.map +1 -1
- package/v3/dist/integrations/browser/web-content-fetcher.d.ts +154 -0
- package/v3/dist/integrations/browser/web-content-fetcher.d.ts.map +1 -0
- package/v3/dist/integrations/browser/web-content-fetcher.js +529 -0
- package/v3/dist/integrations/browser/web-content-fetcher.js.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/threshold-tuner.js +3 -2
- package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -1
- package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/wasm-loader.js +3 -2
- package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -1
- package/v3/dist/integrations/n8n/agent-factory.d.ts.map +1 -1
- package/v3/dist/integrations/n8n/agent-factory.js +6 -4
- package/v3/dist/integrations/n8n/agent-factory.js.map +1 -1
- package/v3/dist/integrations/rl-suite/persistence/q-value-store.d.ts.map +1 -1
- package/v3/dist/integrations/rl-suite/persistence/q-value-store.js.map +1 -1
- package/v3/dist/integrations/ruvector/sona-persistence.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/sona-persistence.js +6 -4
- package/v3/dist/integrations/ruvector/sona-persistence.js.map +1 -1
- package/v3/dist/integrations/vibium/client.d.ts.map +1 -1
- package/v3/dist/integrations/vibium/client.js +3 -2
- package/v3/dist/integrations/vibium/client.js.map +1 -1
- package/v3/dist/kernel/agent-coordinator.d.ts +1 -1
- package/v3/dist/kernel/agent-coordinator.d.ts.map +1 -1
- package/v3/dist/kernel/agent-coordinator.js +4 -4
- package/v3/dist/kernel/agent-coordinator.js.map +1 -1
- package/v3/dist/kernel/constants.d.ts +155 -0
- package/v3/dist/kernel/constants.d.ts.map +1 -0
- package/v3/dist/kernel/constants.js +169 -0
- package/v3/dist/kernel/constants.js.map +1 -0
- package/v3/dist/kernel/event-bus.d.ts +8 -0
- package/v3/dist/kernel/event-bus.d.ts.map +1 -1
- package/v3/dist/kernel/event-bus.js +79 -17
- package/v3/dist/kernel/event-bus.js.map +1 -1
- package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
- package/v3/dist/kernel/hybrid-backend.js +4 -3
- package/v3/dist/kernel/hybrid-backend.js.map +1 -1
- package/v3/dist/kernel/kernel.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.js +3 -2
- package/v3/dist/kernel/kernel.js.map +1 -1
- package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
- package/v3/dist/kernel/memory-backend.js +4 -3
- package/v3/dist/kernel/memory-backend.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +14 -11
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/kernel/unified-persistence.js +3 -2
- package/v3/dist/kernel/unified-persistence.js.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.js +12 -8
- package/v3/dist/learning/aqe-learning-engine.js.map +1 -1
- package/v3/dist/learning/dream/index.d.ts +1 -1
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +3 -1
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.d.ts +41 -0
- package/v3/dist/learning/dream/spreading-activation.d.ts.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.js +79 -0
- package/v3/dist/learning/dream/spreading-activation.js.map +1 -1
- package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
- package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
- package/v3/dist/learning/experience-capture-middleware.js +416 -0
- package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
- package/v3/dist/learning/pattern-store.d.ts.map +1 -1
- package/v3/dist/learning/pattern-store.js +16 -6
- package/v3/dist/learning/pattern-store.js.map +1 -1
- package/v3/dist/learning/real-embeddings.d.ts.map +1 -1
- package/v3/dist/learning/real-embeddings.js +7 -1
- package/v3/dist/learning/real-embeddings.js.map +1 -1
- package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
- package/v3/dist/learning/sqlite-persistence.d.ts.map +1 -1
- package/v3/dist/learning/sqlite-persistence.js.map +1 -1
- package/v3/dist/logging/console-logger.d.ts +96 -0
- package/v3/dist/logging/console-logger.d.ts.map +1 -0
- package/v3/dist/logging/console-logger.js +247 -0
- package/v3/dist/logging/console-logger.js.map +1 -0
- package/v3/dist/logging/index.d.ts +42 -0
- package/v3/dist/logging/index.d.ts.map +1 -0
- package/v3/dist/logging/index.js +39 -0
- package/v3/dist/logging/index.js.map +1 -0
- package/v3/dist/logging/logger-factory.d.ts +145 -0
- package/v3/dist/logging/logger-factory.d.ts.map +1 -0
- package/v3/dist/logging/logger-factory.js +218 -0
- package/v3/dist/logging/logger-factory.js.map +1 -0
- package/v3/dist/logging/logger.d.ts +89 -0
- package/v3/dist/logging/logger.d.ts.map +1 -0
- package/v3/dist/logging/logger.js +74 -0
- package/v3/dist/logging/logger.js.map +1 -0
- package/v3/dist/mcp/bundle.js +63771 -53632
- package/v3/dist/mcp/handlers/agent-handlers.js +2 -2
- package/v3/dist/mcp/handlers/agent-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.d.ts +2 -0
- package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.js +33 -0
- package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts +110 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.js +216 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.js.map +1 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.d.ts +151 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.js +486 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.js.map +1 -0
- package/v3/dist/mcp/handlers/domain-handlers.d.ts +174 -121
- package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/domain-handlers.js +178 -1049
- package/v3/dist/mcp/handlers/domain-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/handler-factory.d.ts +182 -0
- package/v3/dist/mcp/handlers/handler-factory.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/handler-factory.js +327 -0
- package/v3/dist/mcp/handlers/handler-factory.js.map +1 -0
- package/v3/dist/mcp/handlers/index.d.ts +2 -1
- package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.js +4 -2
- package/v3/dist/mcp/handlers/index.js.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
- package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.js +91 -7
- package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
- package/v3/dist/mcp/server.d.ts.map +1 -1
- package/v3/dist/mcp/server.js +107 -1
- package/v3/dist/mcp/server.js.map +1 -1
- package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
- package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
- package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
- package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
- package/v3/dist/mcp/types.d.ts +5 -3
- package/v3/dist/mcp/types.d.ts.map +1 -1
- package/v3/dist/memory/cross-phase-memory.d.ts +55 -0
- package/v3/dist/memory/cross-phase-memory.d.ts.map +1 -0
- package/v3/dist/memory/cross-phase-memory.js +265 -0
- package/v3/dist/memory/cross-phase-memory.js.map +1 -0
- package/v3/dist/memory/index.d.ts +9 -0
- package/v3/dist/memory/index.d.ts.map +1 -0
- package/v3/dist/memory/index.js +9 -0
- package/v3/dist/memory/index.js.map +1 -0
- package/v3/dist/routing/qe-agent-registry.d.ts +1 -1
- package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
- package/v3/dist/routing/qe-agent-registry.js +20 -1
- package/v3/dist/routing/qe-agent-registry.js.map +1 -1
- package/v3/dist/shared/io/file-reader.d.ts.map +1 -1
- package/v3/dist/shared/io/file-reader.js +3 -2
- package/v3/dist/shared/io/file-reader.js.map +1 -1
- package/v3/dist/shared/utils/binary-insert.d.ts +85 -0
- package/v3/dist/shared/utils/binary-insert.d.ts.map +1 -0
- package/v3/dist/shared/utils/binary-insert.js +122 -0
- package/v3/dist/shared/utils/binary-insert.js.map +1 -0
- package/v3/dist/shared/utils/index.d.ts +1 -0
- package/v3/dist/shared/utils/index.d.ts.map +1 -1
- package/v3/dist/shared/utils/index.js +1 -0
- package/v3/dist/shared/utils/index.js.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.js +3 -2
- package/v3/dist/strange-loop/belief-reconciler.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
- package/v3/dist/sync/claude-flow-bridge.js +322 -0
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
- package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -1
- package/v3/dist/sync/cloud/postgres-writer.js +0 -1
- package/v3/dist/sync/cloud/postgres-writer.js.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.js +3 -2
- package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.d.ts.map +1 -1
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js +3 -2
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js.map +1 -1
- package/v3/dist/test-scheduling/git-aware/test-selector.d.ts.map +1 -1
- package/v3/dist/test-scheduling/git-aware/test-selector.js +3 -2
- package/v3/dist/test-scheduling/git-aware/test-selector.js.map +1 -1
- package/v3/dist/types/cross-phase-signals.d.ts +119 -0
- package/v3/dist/types/cross-phase-signals.d.ts.map +1 -0
- package/v3/dist/types/cross-phase-signals.js +33 -0
- package/v3/dist/types/cross-phase-signals.js.map +1 -0
- package/v3/dist/types/index.d.ts +9 -0
- package/v3/dist/types/index.d.ts.map +1 -0
- package/v3/dist/types/index.js +9 -0
- package/v3/dist/types/index.js.map +1 -0
- package/v3/dist/workers/worker-manager.d.ts.map +1 -1
- package/v3/dist/workers/worker-manager.js +3 -2
- package/v3/dist/workers/worker-manager.js.map +1 -1
- package/v3/dist/workflows/browser/workflow-loader.d.ts +3 -3
- package/v3/dist/workflows/browser/workflow-loader.d.ts.map +1 -1
- package/v3/dist/workflows/browser/workflow-loader.js.map +1 -1
- package/v3/package.json +4 -1
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Consensus Enabled Domain Mixin
|
|
3
|
+
* CONSENSUS-MIXIN-001: Reusable mixin for multi-model consensus verification
|
|
4
|
+
*
|
|
5
|
+
* This mixin allows any domain coordinator to leverage multi-model consensus
|
|
6
|
+
* verification for high-stakes decisions without duplicating consensus logic.
|
|
7
|
+
*
|
|
8
|
+
* @see docs/plans/AQE_V3_IMPROVEMENTS_PLAN.md - Phase 2: Multi-Model Verification
|
|
9
|
+
*/
|
|
10
|
+
import { ConsensusEngine, ConsensusResult, ConsensusStats as ConsensusStatsType, VerificationOptions } from '../consensus';
|
|
11
|
+
export type { ConsensusStats } from '../consensus';
|
|
12
|
+
import { DomainFinding, FindingSeverity } from '../consensus/domain-findings';
|
|
13
|
+
import { Result } from '../../shared/types';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for consensus-enabled domains
|
|
16
|
+
*/
|
|
17
|
+
export interface ConsensusEnabledConfig {
|
|
18
|
+
/** Whether to enable consensus verification */
|
|
19
|
+
readonly enableConsensus: boolean;
|
|
20
|
+
/** Minimum confidence threshold requiring consensus verification */
|
|
21
|
+
readonly consensusThreshold: number;
|
|
22
|
+
/** Finding types that require consensus verification */
|
|
23
|
+
readonly verifyFindingTypes: string[];
|
|
24
|
+
/** Consensus strategy to use */
|
|
25
|
+
readonly strategy: 'majority' | 'weighted' | 'unanimous';
|
|
26
|
+
/** Minimum number of models required for consensus */
|
|
27
|
+
readonly minModels: number;
|
|
28
|
+
/** Timeout per model in milliseconds */
|
|
29
|
+
readonly modelTimeout: number;
|
|
30
|
+
/** Severity levels requiring consensus */
|
|
31
|
+
readonly verifySeverities: FindingSeverity[];
|
|
32
|
+
/** Enable logging for consensus operations */
|
|
33
|
+
readonly enableLogging: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Default consensus configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare const DEFAULT_CONSENSUS_ENABLED_CONFIG: ConsensusEnabledConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Interface for consensus-enabled domain coordinators
|
|
41
|
+
*/
|
|
42
|
+
export interface IConsensusEnabledDomain {
|
|
43
|
+
/**
|
|
44
|
+
* Verify a single finding using multi-model consensus
|
|
45
|
+
*
|
|
46
|
+
* @param finding - The finding to verify
|
|
47
|
+
* @param options - Optional verification options
|
|
48
|
+
* @returns Promise resolving to consensus result
|
|
49
|
+
*/
|
|
50
|
+
verifyFinding<T>(finding: DomainFinding<T>, options?: VerificationOptions): Promise<Result<ConsensusResult, Error>>;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a finding requires consensus verification
|
|
53
|
+
*
|
|
54
|
+
* @param finding - The finding to check
|
|
55
|
+
* @returns true if consensus verification is required
|
|
56
|
+
*/
|
|
57
|
+
requiresConsensus<T>(finding: DomainFinding<T>): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Verify multiple findings in batch
|
|
60
|
+
*
|
|
61
|
+
* @param findings - Array of findings to verify
|
|
62
|
+
* @param options - Optional verification options
|
|
63
|
+
* @returns Promise resolving to array of consensus results
|
|
64
|
+
*/
|
|
65
|
+
verifyFindings<T>(findings: DomainFinding<T>[], options?: VerificationOptions): Promise<Result<ConsensusResult[], Error>>;
|
|
66
|
+
/**
|
|
67
|
+
* Get consensus statistics
|
|
68
|
+
*
|
|
69
|
+
* @returns Current consensus statistics
|
|
70
|
+
*/
|
|
71
|
+
getConsensusStats(): ConsensusStatsType | undefined;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Mixin class that adds consensus verification capabilities to any domain coordinator
|
|
75
|
+
*
|
|
76
|
+
* This is designed to be used with TypeScript's class composition pattern.
|
|
77
|
+
* Domain coordinators can extend this mixin to gain consensus verification capabilities.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* class MyDomainCoordinator extends ConsensusEnabledMixin {
|
|
82
|
+
* constructor(config: MyConfig) {
|
|
83
|
+
* super({
|
|
84
|
+
* enableConsensus: true,
|
|
85
|
+
* consensusThreshold: 0.8,
|
|
86
|
+
* verifyFindingTypes: ['vulnerability', 'defect'],
|
|
87
|
+
* strategy: 'weighted',
|
|
88
|
+
* minModels: 2,
|
|
89
|
+
* modelTimeout: 30000,
|
|
90
|
+
* verifySeverities: ['critical', 'high'],
|
|
91
|
+
* enableLogging: true,
|
|
92
|
+
* });
|
|
93
|
+
* }
|
|
94
|
+
*
|
|
95
|
+
* async initialize(): Promise<void> {
|
|
96
|
+
* await this.initializeConsensus();
|
|
97
|
+
* // ... other initialization
|
|
98
|
+
* }
|
|
99
|
+
*
|
|
100
|
+
* async dispose(): Promise<void> {
|
|
101
|
+
* await this.disposeConsensus();
|
|
102
|
+
* // ... other cleanup
|
|
103
|
+
* }
|
|
104
|
+
*
|
|
105
|
+
* async processFindings(findings: DomainFinding[]): Promise<void> {
|
|
106
|
+
* for (const finding of findings) {
|
|
107
|
+
* if (this.requiresConsensus(finding)) {
|
|
108
|
+
* const result = await this.verifyFinding(finding);
|
|
109
|
+
* if (result.success && result.value.verdict === 'verified') {
|
|
110
|
+
* // Take action on verified finding
|
|
111
|
+
* }
|
|
112
|
+
* }
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* }
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare class ConsensusEnabledMixin implements IConsensusEnabledDomain {
|
|
119
|
+
protected readonly consensusConfig: ConsensusEnabledConfig;
|
|
120
|
+
protected consensusEngine: ConsensusEngine | undefined;
|
|
121
|
+
protected consensusInitialized: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Create a new ConsensusEnabledMixin
|
|
124
|
+
*
|
|
125
|
+
* @param config - Configuration for consensus verification
|
|
126
|
+
*/
|
|
127
|
+
constructor(config?: Partial<ConsensusEnabledConfig>);
|
|
128
|
+
/**
|
|
129
|
+
* Initialize the consensus engine
|
|
130
|
+
*
|
|
131
|
+
* Call this in the domain coordinator's initialize() method.
|
|
132
|
+
* Uses registerProvidersFromEnv to auto-detect available model providers.
|
|
133
|
+
*
|
|
134
|
+
* @throws Error if consensus initialization fails
|
|
135
|
+
*/
|
|
136
|
+
protected initializeConsensus(): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Dispose the consensus engine
|
|
139
|
+
*
|
|
140
|
+
* Call this in the domain coordinator's dispose() method.
|
|
141
|
+
*/
|
|
142
|
+
protected disposeConsensus(): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Verify a single finding using multi-model consensus
|
|
145
|
+
*/
|
|
146
|
+
verifyFinding<T>(finding: DomainFinding<T>, options?: VerificationOptions): Promise<Result<ConsensusResult, Error>>;
|
|
147
|
+
/**
|
|
148
|
+
* Check if a finding requires consensus verification
|
|
149
|
+
*/
|
|
150
|
+
requiresConsensus<T>(finding: DomainFinding<T>): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Verify multiple findings in batch
|
|
153
|
+
*/
|
|
154
|
+
verifyFindings<T>(findings: DomainFinding<T>[], options?: VerificationOptions): Promise<Result<ConsensusResult[], Error>>;
|
|
155
|
+
/**
|
|
156
|
+
* Get consensus statistics
|
|
157
|
+
*/
|
|
158
|
+
getConsensusStats(): ConsensusStatsType | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Check if consensus engine is available
|
|
161
|
+
*/
|
|
162
|
+
protected isConsensusAvailable(): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Get the consensus engine (for advanced usage)
|
|
165
|
+
*/
|
|
166
|
+
protected getConsensusEngine(): ConsensusEngine | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Infer security finding category from finding type
|
|
169
|
+
*/
|
|
170
|
+
private inferCategory;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Create a consensus-enabled mixin instance
|
|
174
|
+
*
|
|
175
|
+
* @param config - Configuration for consensus verification
|
|
176
|
+
* @returns ConsensusEnabledMixin instance
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const mixin = createConsensusEnabledMixin({
|
|
181
|
+
* enableConsensus: true,
|
|
182
|
+
* consensusThreshold: 0.8,
|
|
183
|
+
* verifyFindingTypes: ['vulnerability'],
|
|
184
|
+
* strategy: 'weighted',
|
|
185
|
+
* minModels: 2,
|
|
186
|
+
* modelTimeout: 30000,
|
|
187
|
+
* });
|
|
188
|
+
*
|
|
189
|
+
* await mixin.initializeConsensus();
|
|
190
|
+
*
|
|
191
|
+
* const result = await mixin.verifyFinding(finding);
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export declare function createConsensusEnabledMixin(config?: Partial<ConsensusEnabledConfig>): ConsensusEnabledMixin;
|
|
195
|
+
/**
|
|
196
|
+
* Type helper for mixing ConsensusEnabledMixin into other classes
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* // Define base class
|
|
201
|
+
* class MyBaseCoordinator {
|
|
202
|
+
* // ... base implementation
|
|
203
|
+
* }
|
|
204
|
+
*
|
|
205
|
+
* // Create mixed class
|
|
206
|
+
* const ConsensusEnabledCoordinator = withConsensusEnabled(MyBaseCoordinator);
|
|
207
|
+
*
|
|
208
|
+
* class MyDomainCoordinator extends ConsensusEnabledCoordinator {
|
|
209
|
+
* // Now has access to consensus methods
|
|
210
|
+
* }
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
export type Constructor<T = object> = new (...args: any[]) => T;
|
|
214
|
+
/**
|
|
215
|
+
* Apply ConsensusEnabledMixin to a base class
|
|
216
|
+
*
|
|
217
|
+
* This is a TypeScript mixin pattern that adds consensus capabilities
|
|
218
|
+
* to any base class.
|
|
219
|
+
*
|
|
220
|
+
* @param Base - The base class to extend
|
|
221
|
+
* @param config - Configuration for consensus verification
|
|
222
|
+
* @returns Mixed class with consensus capabilities
|
|
223
|
+
*/
|
|
224
|
+
export declare function withConsensusEnabled<TBase extends Constructor>(Base: TBase, config?: Partial<ConsensusEnabledConfig>): TBase & Constructor<IConsensusEnabledDomain>;
|
|
225
|
+
//# sourceMappingURL=consensus-enabled-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consensus-enabled-domain.d.ts","sourceRoot":"","sources":["../../../src/coordination/mixins/consensus-enabled-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,IAAI,kBAAkB,EAGpC,mBAAmB,EAIpB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,aAAa,EACb,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAqB,MAAM,oBAAoB,CAAC;AAM/D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,oEAAoE;IACpE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,wDAAwD;IACxD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAEtC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAEzD,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,wCAAwC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,0CAA0C;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAE7C,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,sBAS9C,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,EACb,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEzD;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,EACd,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7C;;;;OAIG;IACH,iBAAiB,IAAI,kBAAkB,GAAG,SAAS,CAAC;CACrD;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAC3D,SAAS,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAS;IAEhD;;;;OAIG;gBACS,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAWxD;;;;;;;OAOG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDpD;;;;OAIG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjD;;OAEG;IACG,aAAa,CAAC,CAAC,EACnB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAkC1C;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO;IA2BxD;;OAEG;IACG,cAAc,CAAC,CAAC,EACpB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;IAuC5C;;OAEG;IACH,iBAAiB,IAAI,kBAAkB,GAAG,SAAS;IAQnD;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO;IAIzC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAI3D;;OAEG;IACH,OAAO,CAAC,aAAa;CAuCtB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,qBAAqB,CAEvB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,WAAW,EAC5D,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC3C,KAAK,GAAG,WAAW,CAAC,uBAAuB,CAAC,CA+G9C"}
|
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Consensus Enabled Domain Mixin
|
|
3
|
+
* CONSENSUS-MIXIN-001: Reusable mixin for multi-model consensus verification
|
|
4
|
+
*
|
|
5
|
+
* This mixin allows any domain coordinator to leverage multi-model consensus
|
|
6
|
+
* verification for high-stakes decisions without duplicating consensus logic.
|
|
7
|
+
*
|
|
8
|
+
* @see docs/plans/AQE_V3_IMPROVEMENTS_PLAN.md - Phase 2: Multi-Model Verification
|
|
9
|
+
*/
|
|
10
|
+
import { createConsensusEngine, registerProvidersFromEnv, DEFAULT_CONSENSUS_CONFIG, } from '../consensus';
|
|
11
|
+
import { ok, err } from '../../shared/types';
|
|
12
|
+
/**
|
|
13
|
+
* Default consensus configuration
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_CONSENSUS_ENABLED_CONFIG = {
|
|
16
|
+
enableConsensus: true,
|
|
17
|
+
consensusThreshold: 0.7,
|
|
18
|
+
verifyFindingTypes: [],
|
|
19
|
+
strategy: 'weighted',
|
|
20
|
+
minModels: 2,
|
|
21
|
+
modelTimeout: 60000,
|
|
22
|
+
verifySeverities: ['critical', 'high'],
|
|
23
|
+
enableLogging: false,
|
|
24
|
+
};
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// Domain Finding to Security Finding Conversion
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Convert a generic DomainFinding to SecurityFinding format for the consensus engine
|
|
30
|
+
*/
|
|
31
|
+
function toSecurityFinding(finding, category = 'other') {
|
|
32
|
+
// Map FindingSeverity to Severity
|
|
33
|
+
const severityMap = {
|
|
34
|
+
critical: 'critical',
|
|
35
|
+
high: 'high',
|
|
36
|
+
medium: 'medium',
|
|
37
|
+
low: 'low',
|
|
38
|
+
info: 'info',
|
|
39
|
+
};
|
|
40
|
+
// Extract location from payload if available
|
|
41
|
+
const payload = finding.payload;
|
|
42
|
+
const location = payload?.location || {
|
|
43
|
+
file: 'unknown',
|
|
44
|
+
};
|
|
45
|
+
// Extract evidence from payload if available
|
|
46
|
+
const evidence = payload?.evidence || [];
|
|
47
|
+
return {
|
|
48
|
+
id: finding.id,
|
|
49
|
+
type: finding.type,
|
|
50
|
+
category,
|
|
51
|
+
severity: severityMap[finding.severity || 'medium'],
|
|
52
|
+
description: finding.description,
|
|
53
|
+
location,
|
|
54
|
+
evidence,
|
|
55
|
+
detectedAt: finding.detectedAt,
|
|
56
|
+
detectedBy: finding.detectedBy,
|
|
57
|
+
correlationId: finding.correlationId,
|
|
58
|
+
metadata: {
|
|
59
|
+
originalFinding: finding,
|
|
60
|
+
domainContext: finding.context,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// Consensus Enabled Mixin Class
|
|
66
|
+
// ============================================================================
|
|
67
|
+
/**
|
|
68
|
+
* Mixin class that adds consensus verification capabilities to any domain coordinator
|
|
69
|
+
*
|
|
70
|
+
* This is designed to be used with TypeScript's class composition pattern.
|
|
71
|
+
* Domain coordinators can extend this mixin to gain consensus verification capabilities.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* class MyDomainCoordinator extends ConsensusEnabledMixin {
|
|
76
|
+
* constructor(config: MyConfig) {
|
|
77
|
+
* super({
|
|
78
|
+
* enableConsensus: true,
|
|
79
|
+
* consensusThreshold: 0.8,
|
|
80
|
+
* verifyFindingTypes: ['vulnerability', 'defect'],
|
|
81
|
+
* strategy: 'weighted',
|
|
82
|
+
* minModels: 2,
|
|
83
|
+
* modelTimeout: 30000,
|
|
84
|
+
* verifySeverities: ['critical', 'high'],
|
|
85
|
+
* enableLogging: true,
|
|
86
|
+
* });
|
|
87
|
+
* }
|
|
88
|
+
*
|
|
89
|
+
* async initialize(): Promise<void> {
|
|
90
|
+
* await this.initializeConsensus();
|
|
91
|
+
* // ... other initialization
|
|
92
|
+
* }
|
|
93
|
+
*
|
|
94
|
+
* async dispose(): Promise<void> {
|
|
95
|
+
* await this.disposeConsensus();
|
|
96
|
+
* // ... other cleanup
|
|
97
|
+
* }
|
|
98
|
+
*
|
|
99
|
+
* async processFindings(findings: DomainFinding[]): Promise<void> {
|
|
100
|
+
* for (const finding of findings) {
|
|
101
|
+
* if (this.requiresConsensus(finding)) {
|
|
102
|
+
* const result = await this.verifyFinding(finding);
|
|
103
|
+
* if (result.success && result.value.verdict === 'verified') {
|
|
104
|
+
* // Take action on verified finding
|
|
105
|
+
* }
|
|
106
|
+
* }
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export class ConsensusEnabledMixin {
|
|
113
|
+
consensusConfig;
|
|
114
|
+
consensusEngine;
|
|
115
|
+
consensusInitialized = false;
|
|
116
|
+
/**
|
|
117
|
+
* Create a new ConsensusEnabledMixin
|
|
118
|
+
*
|
|
119
|
+
* @param config - Configuration for consensus verification
|
|
120
|
+
*/
|
|
121
|
+
constructor(config = {}) {
|
|
122
|
+
this.consensusConfig = {
|
|
123
|
+
...DEFAULT_CONSENSUS_ENABLED_CONFIG,
|
|
124
|
+
...config,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// ============================================================================
|
|
128
|
+
// Lifecycle Methods
|
|
129
|
+
// ============================================================================
|
|
130
|
+
/**
|
|
131
|
+
* Initialize the consensus engine
|
|
132
|
+
*
|
|
133
|
+
* Call this in the domain coordinator's initialize() method.
|
|
134
|
+
* Uses registerProvidersFromEnv to auto-detect available model providers.
|
|
135
|
+
*
|
|
136
|
+
* @throws Error if consensus initialization fails
|
|
137
|
+
*/
|
|
138
|
+
async initializeConsensus() {
|
|
139
|
+
if (!this.consensusConfig.enableConsensus) {
|
|
140
|
+
if (this.consensusConfig.enableLogging) {
|
|
141
|
+
console.log('[ConsensusEnabledMixin] Consensus verification disabled');
|
|
142
|
+
}
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
// Register providers from environment
|
|
147
|
+
const registry = registerProvidersFromEnv(this.consensusConfig.enableLogging);
|
|
148
|
+
const providers = registry.getAll();
|
|
149
|
+
if (providers.length === 0) {
|
|
150
|
+
if (this.consensusConfig.enableLogging) {
|
|
151
|
+
console.warn('[ConsensusEnabledMixin] No model providers available for consensus verification');
|
|
152
|
+
}
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// Create consensus engine
|
|
156
|
+
this.consensusEngine = createConsensusEngine({
|
|
157
|
+
strategy: this.consensusConfig.strategy,
|
|
158
|
+
models: providers,
|
|
159
|
+
engineConfig: {
|
|
160
|
+
minModels: Math.min(this.consensusConfig.minModels, providers.length),
|
|
161
|
+
defaultModelTimeout: this.consensusConfig.modelTimeout,
|
|
162
|
+
verifySeverities: this.consensusConfig.verifySeverities,
|
|
163
|
+
humanReviewThreshold: DEFAULT_CONSENSUS_CONFIG.humanReviewThreshold,
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
this.consensusInitialized = true;
|
|
167
|
+
if (this.consensusConfig.enableLogging) {
|
|
168
|
+
console.log(`[ConsensusEnabledMixin] Initialized with ${providers.length} providers ` +
|
|
169
|
+
`(strategy: ${this.consensusConfig.strategy})`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
console.error('[ConsensusEnabledMixin] Failed to initialize consensus:', error);
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Dispose the consensus engine
|
|
179
|
+
*
|
|
180
|
+
* Call this in the domain coordinator's dispose() method.
|
|
181
|
+
*/
|
|
182
|
+
async disposeConsensus() {
|
|
183
|
+
if (this.consensusEngine) {
|
|
184
|
+
await this.consensusEngine.dispose();
|
|
185
|
+
this.consensusEngine = undefined;
|
|
186
|
+
this.consensusInitialized = false;
|
|
187
|
+
if (this.consensusConfig.enableLogging) {
|
|
188
|
+
console.log('[ConsensusEnabledMixin] Consensus engine disposed');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// ============================================================================
|
|
193
|
+
// IConsensusEnabledDomain Implementation
|
|
194
|
+
// ============================================================================
|
|
195
|
+
/**
|
|
196
|
+
* Verify a single finding using multi-model consensus
|
|
197
|
+
*/
|
|
198
|
+
async verifyFinding(finding, options) {
|
|
199
|
+
// Check if consensus is available
|
|
200
|
+
if (!this.consensusEngine || !this.consensusInitialized) {
|
|
201
|
+
return err(new Error('Consensus engine not initialized'));
|
|
202
|
+
}
|
|
203
|
+
// Check if finding requires consensus
|
|
204
|
+
if (!this.requiresConsensus(finding)) {
|
|
205
|
+
return err(new Error(`Finding ${finding.id} does not require consensus verification`));
|
|
206
|
+
}
|
|
207
|
+
try {
|
|
208
|
+
// Convert to SecurityFinding format
|
|
209
|
+
const securityFinding = toSecurityFinding(finding, this.inferCategory(finding.type));
|
|
210
|
+
// Verify using consensus engine
|
|
211
|
+
const result = await this.consensusEngine.verify(securityFinding, {
|
|
212
|
+
forceVerification: true,
|
|
213
|
+
...options,
|
|
214
|
+
});
|
|
215
|
+
if (this.consensusConfig.enableLogging && result.success) {
|
|
216
|
+
console.log(`[ConsensusEnabledMixin] Finding ${finding.id} verified: ` +
|
|
217
|
+
`verdict=${result.value.verdict}, confidence=${result.value.confidence.toFixed(2)}`);
|
|
218
|
+
}
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
return err(error instanceof Error ? error : new Error(String(error)));
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Check if a finding requires consensus verification
|
|
227
|
+
*/
|
|
228
|
+
requiresConsensus(finding) {
|
|
229
|
+
// Check if consensus is enabled
|
|
230
|
+
if (!this.consensusConfig.enableConsensus) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
// Check if finding type is in the verify list
|
|
234
|
+
const typeMatches = this.consensusConfig.verifyFindingTypes.length === 0 ||
|
|
235
|
+
this.consensusConfig.verifyFindingTypes.includes(finding.type);
|
|
236
|
+
if (!typeMatches) {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
// Check severity
|
|
240
|
+
if (finding.severity) {
|
|
241
|
+
const severityMatches = this.consensusConfig.verifySeverities.includes(finding.severity);
|
|
242
|
+
if (severityMatches) {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Check confidence threshold
|
|
247
|
+
return finding.confidence >= this.consensusConfig.consensusThreshold;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Verify multiple findings in batch
|
|
251
|
+
*/
|
|
252
|
+
async verifyFindings(findings, options) {
|
|
253
|
+
// Check if consensus is available
|
|
254
|
+
if (!this.consensusEngine || !this.consensusInitialized) {
|
|
255
|
+
return err(new Error('Consensus engine not initialized'));
|
|
256
|
+
}
|
|
257
|
+
// Filter findings that require consensus
|
|
258
|
+
const findingsRequiringConsensus = findings.filter(f => this.requiresConsensus(f));
|
|
259
|
+
if (findingsRequiringConsensus.length === 0) {
|
|
260
|
+
return ok([]);
|
|
261
|
+
}
|
|
262
|
+
try {
|
|
263
|
+
// Convert all findings to SecurityFinding format
|
|
264
|
+
const securityFindings = findingsRequiringConsensus.map(f => toSecurityFinding(f, this.inferCategory(f.type)));
|
|
265
|
+
// Verify batch
|
|
266
|
+
const result = await this.consensusEngine.verifyBatch(securityFindings, {
|
|
267
|
+
forceVerification: true,
|
|
268
|
+
...options,
|
|
269
|
+
});
|
|
270
|
+
if (this.consensusConfig.enableLogging && result.success) {
|
|
271
|
+
const verified = result.value.filter(r => r.verdict === 'verified').length;
|
|
272
|
+
console.log(`[ConsensusEnabledMixin] Batch verification complete: ` +
|
|
273
|
+
`${verified}/${result.value.length} verified`);
|
|
274
|
+
}
|
|
275
|
+
return result;
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
return err(error instanceof Error ? error : new Error(String(error)));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Get consensus statistics
|
|
283
|
+
*/
|
|
284
|
+
getConsensusStats() {
|
|
285
|
+
return this.consensusEngine?.getStats();
|
|
286
|
+
}
|
|
287
|
+
// ============================================================================
|
|
288
|
+
// Helper Methods
|
|
289
|
+
// ============================================================================
|
|
290
|
+
/**
|
|
291
|
+
* Check if consensus engine is available
|
|
292
|
+
*/
|
|
293
|
+
isConsensusAvailable() {
|
|
294
|
+
return this.consensusInitialized && this.consensusEngine !== undefined;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Get the consensus engine (for advanced usage)
|
|
298
|
+
*/
|
|
299
|
+
getConsensusEngine() {
|
|
300
|
+
return this.consensusEngine;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Infer security finding category from finding type
|
|
304
|
+
*/
|
|
305
|
+
inferCategory(findingType) {
|
|
306
|
+
const categoryMap = {
|
|
307
|
+
// Security categories
|
|
308
|
+
'sql-injection': 'injection',
|
|
309
|
+
'command-injection': 'injection',
|
|
310
|
+
'xss': 'input-validation',
|
|
311
|
+
'authentication': 'authentication',
|
|
312
|
+
'authorization': 'authorization',
|
|
313
|
+
'crypto': 'cryptography',
|
|
314
|
+
'hardcoded-secret': 'cryptography',
|
|
315
|
+
'data-exposure': 'data-exposure',
|
|
316
|
+
'pii-exposure': 'data-exposure',
|
|
317
|
+
'misconfiguration': 'configuration',
|
|
318
|
+
'vulnerable-dependency': 'dependency',
|
|
319
|
+
'path-traversal': 'input-validation',
|
|
320
|
+
'session': 'session-management',
|
|
321
|
+
'timing': 'timing-attack',
|
|
322
|
+
'dos': 'resource-management',
|
|
323
|
+
'memory-leak': 'resource-management',
|
|
324
|
+
'logging': 'logging',
|
|
325
|
+
// Generic categories for non-security findings
|
|
326
|
+
'vulnerability': 'other',
|
|
327
|
+
'defect': 'other',
|
|
328
|
+
'coverage-gap': 'other',
|
|
329
|
+
'contract-violation': 'other',
|
|
330
|
+
'quality-issue': 'other',
|
|
331
|
+
};
|
|
332
|
+
// Find matching category
|
|
333
|
+
const lowercaseType = findingType.toLowerCase();
|
|
334
|
+
for (const [pattern, category] of Object.entries(categoryMap)) {
|
|
335
|
+
if (lowercaseType.includes(pattern)) {
|
|
336
|
+
return category;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
return 'other';
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// ============================================================================
|
|
343
|
+
// Factory Function
|
|
344
|
+
// ============================================================================
|
|
345
|
+
/**
|
|
346
|
+
* Create a consensus-enabled mixin instance
|
|
347
|
+
*
|
|
348
|
+
* @param config - Configuration for consensus verification
|
|
349
|
+
* @returns ConsensusEnabledMixin instance
|
|
350
|
+
*
|
|
351
|
+
* @example
|
|
352
|
+
* ```typescript
|
|
353
|
+
* const mixin = createConsensusEnabledMixin({
|
|
354
|
+
* enableConsensus: true,
|
|
355
|
+
* consensusThreshold: 0.8,
|
|
356
|
+
* verifyFindingTypes: ['vulnerability'],
|
|
357
|
+
* strategy: 'weighted',
|
|
358
|
+
* minModels: 2,
|
|
359
|
+
* modelTimeout: 30000,
|
|
360
|
+
* });
|
|
361
|
+
*
|
|
362
|
+
* await mixin.initializeConsensus();
|
|
363
|
+
*
|
|
364
|
+
* const result = await mixin.verifyFinding(finding);
|
|
365
|
+
* ```
|
|
366
|
+
*/
|
|
367
|
+
export function createConsensusEnabledMixin(config = {}) {
|
|
368
|
+
return new ConsensusEnabledMixin(config);
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Apply ConsensusEnabledMixin to a base class
|
|
372
|
+
*
|
|
373
|
+
* This is a TypeScript mixin pattern that adds consensus capabilities
|
|
374
|
+
* to any base class.
|
|
375
|
+
*
|
|
376
|
+
* @param Base - The base class to extend
|
|
377
|
+
* @param config - Configuration for consensus verification
|
|
378
|
+
* @returns Mixed class with consensus capabilities
|
|
379
|
+
*/
|
|
380
|
+
export function withConsensusEnabled(Base, config = {}) {
|
|
381
|
+
return class extends Base {
|
|
382
|
+
consensusConfig;
|
|
383
|
+
consensusEngine;
|
|
384
|
+
consensusInitialized = false;
|
|
385
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
386
|
+
constructor(...args) {
|
|
387
|
+
super(...args);
|
|
388
|
+
this.consensusConfig = {
|
|
389
|
+
...DEFAULT_CONSENSUS_ENABLED_CONFIG,
|
|
390
|
+
...config,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
async initializeConsensus() {
|
|
394
|
+
if (!this.consensusConfig.enableConsensus) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
const registry = registerProvidersFromEnv(this.consensusConfig.enableLogging);
|
|
398
|
+
const providers = registry.getAll();
|
|
399
|
+
if (providers.length === 0) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
this.consensusEngine = createConsensusEngine({
|
|
403
|
+
strategy: this.consensusConfig.strategy,
|
|
404
|
+
models: providers,
|
|
405
|
+
engineConfig: {
|
|
406
|
+
minModels: Math.min(this.consensusConfig.minModels, providers.length),
|
|
407
|
+
defaultModelTimeout: this.consensusConfig.modelTimeout,
|
|
408
|
+
verifySeverities: this.consensusConfig.verifySeverities,
|
|
409
|
+
},
|
|
410
|
+
});
|
|
411
|
+
this.consensusInitialized = true;
|
|
412
|
+
}
|
|
413
|
+
async disposeConsensus() {
|
|
414
|
+
if (this.consensusEngine) {
|
|
415
|
+
await this.consensusEngine.dispose();
|
|
416
|
+
this.consensusEngine = undefined;
|
|
417
|
+
this.consensusInitialized = false;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
async verifyFinding(finding, options) {
|
|
421
|
+
if (!this.consensusEngine || !this.consensusInitialized) {
|
|
422
|
+
return err(new Error('Consensus engine not initialized'));
|
|
423
|
+
}
|
|
424
|
+
if (!this.requiresConsensus(finding)) {
|
|
425
|
+
return err(new Error(`Finding ${finding.id} does not require consensus verification`));
|
|
426
|
+
}
|
|
427
|
+
const securityFinding = toSecurityFinding(finding, 'other');
|
|
428
|
+
return this.consensusEngine.verify(securityFinding, {
|
|
429
|
+
forceVerification: true,
|
|
430
|
+
...options,
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
requiresConsensus(finding) {
|
|
434
|
+
if (!this.consensusConfig.enableConsensus) {
|
|
435
|
+
return false;
|
|
436
|
+
}
|
|
437
|
+
const typeMatches = this.consensusConfig.verifyFindingTypes.length === 0 ||
|
|
438
|
+
this.consensusConfig.verifyFindingTypes.includes(finding.type);
|
|
439
|
+
if (!typeMatches) {
|
|
440
|
+
return false;
|
|
441
|
+
}
|
|
442
|
+
if (finding.severity && this.consensusConfig.verifySeverities.includes(finding.severity)) {
|
|
443
|
+
return true;
|
|
444
|
+
}
|
|
445
|
+
return finding.confidence >= this.consensusConfig.consensusThreshold;
|
|
446
|
+
}
|
|
447
|
+
async verifyFindings(findings, options) {
|
|
448
|
+
if (!this.consensusEngine || !this.consensusInitialized) {
|
|
449
|
+
return err(new Error('Consensus engine not initialized'));
|
|
450
|
+
}
|
|
451
|
+
const findingsRequiringConsensus = findings.filter(f => this.requiresConsensus(f));
|
|
452
|
+
if (findingsRequiringConsensus.length === 0) {
|
|
453
|
+
return ok([]);
|
|
454
|
+
}
|
|
455
|
+
const securityFindings = findingsRequiringConsensus.map(f => toSecurityFinding(f, 'other'));
|
|
456
|
+
return this.consensusEngine.verifyBatch(securityFindings, {
|
|
457
|
+
forceVerification: true,
|
|
458
|
+
...options,
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
getConsensusStats() {
|
|
462
|
+
return this.consensusEngine?.getStats();
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
//# sourceMappingURL=consensus-enabled-domain.js.map
|