agentic-qe 1.4.4 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-api-contract-validator.md +133 -27
- package/.claude/agents/qe-api-contract-validator.md.backup +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +1123 -0
- package/.claude/agents/qe-chaos-engineer.md +142 -23
- package/.claude/agents/qe-chaos-engineer.md.backup +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +787 -0
- package/.claude/agents/qe-code-complexity.md +111 -23
- package/.claude/agents/qe-code-complexity.md.backup +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +286 -0
- package/.claude/agents/qe-coverage-analyzer.md +306 -30
- package/.claude/agents/qe-coverage-analyzer.md.backup +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +438 -0
- package/.claude/agents/qe-deployment-readiness.md +84 -28
- package/.claude/agents/qe-deployment-readiness.md.backup +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +1140 -0
- package/.claude/agents/qe-flaky-test-hunter.md +277 -35
- package/.claude/agents/qe-flaky-test-hunter.md.backup +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +1162 -0
- package/.claude/agents/qe-fleet-commander.md +126 -23
- package/.claude/agents/qe-fleet-commander.md.backup +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +697 -0
- package/.claude/agents/qe-performance-tester.md +314 -57
- package/.claude/agents/qe-performance-tester.md.backup +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +372 -0
- package/.claude/agents/qe-production-intelligence.md +126 -27
- package/.claude/agents/qe-production-intelligence.md.backup +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +1194 -0
- package/.claude/agents/qe-quality-analyzer.md +127 -32
- package/.claude/agents/qe-quality-analyzer.md.backup +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +394 -0
- package/.claude/agents/qe-quality-gate.md +148 -33
- package/.claude/agents/qe-quality-gate.md.backup +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +415 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +78 -27
- package/.claude/agents/qe-regression-risk-analyzer.md.backup +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +984 -0
- package/.claude/agents/qe-requirements-validator.md +131 -27
- package/.claude/agents/qe-requirements-validator.md.backup +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +723 -0
- package/.claude/agents/qe-security-scanner.md +137 -62
- package/.claude/agents/qe-security-scanner.md.backup +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +573 -0
- package/.claude/agents/qe-test-data-architect.md +129 -26
- package/.claude/agents/qe-test-data-architect.md.backup +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +1040 -0
- package/.claude/agents/qe-test-executor.md +165 -21
- package/.claude/agents/qe-test-executor.md.backup +389 -0
- package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +389 -0
- package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +369 -0
- package/.claude/agents/qe-test-generator.md +379 -34
- package/.claude/agents/qe-test-generator.md.backup +997 -0
- package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +997 -0
- package/.claude/agents/qe-visual-tester.md +236 -23
- package/.claude/agents/qe-visual-tester.md.backup +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +756 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +59 -0
- package/.claude/agents/subagents/qe-data-generator.md +60 -0
- package/.claude/agents/subagents/qe-integration-tester.md +77 -0
- package/.claude/agents/subagents/qe-performance-validator.md +55 -0
- package/.claude/agents/subagents/qe-security-auditor.md +51 -0
- package/.claude/agents/subagents/qe-test-implementer.md +371 -0
- package/.claude/agents/subagents/qe-test-refactorer.md +510 -0
- package/.claude/agents/subagents/qe-test-writer.md +603 -0
- package/.claude/skills/accessibility-testing/SKILL.md +764 -777
- package/.claude/skills/agentic-quality-engineering/SKILL.md +0 -6
- package/.claude/skills/api-testing-patterns/SKILL.md +0 -12
- package/.claude/skills/bug-reporting-excellence/SKILL.md +0 -6
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +0 -6
- package/.claude/skills/code-review-quality/SKILL.md +0 -6
- package/.claude/skills/compatibility-testing/SKILL.md +0 -6
- package/.claude/skills/compliance-testing/SKILL.md +0 -6
- package/.claude/skills/consultancy-practices/SKILL.md +0 -6
- package/.claude/skills/context-driven-testing/SKILL.md +0 -6
- package/.claude/skills/contract-testing/SKILL.md +0 -6
- package/.claude/skills/database-testing/SKILL.md +0 -6
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/holistic-testing-pact/SKILL.md +0 -6
- package/.claude/skills/localization-testing/SKILL.md +0 -6
- package/.claude/skills/mobile-testing/SKILL.md +535 -548
- package/.claude/skills/mutation-testing/SKILL.md +0 -6
- package/.claude/skills/performance-testing/SKILL.md +0 -6
- package/.claude/skills/quality-metrics/SKILL.md +0 -12
- package/.claude/skills/refactoring-patterns/SKILL.md +0 -6
- package/.claude/skills/regression-testing/SKILL.md +1033 -1045
- package/.claude/skills/risk-based-testing/SKILL.md +0 -12
- package/.claude/skills/security-testing/SKILL.md +0 -6
- package/.claude/skills/shift-left-testing/SKILL.md +529 -535
- package/.claude/skills/shift-right-testing/SKILL.md +585 -591
- package/.claude/skills/tdd-london-chicago/SKILL.md +0 -6
- package/.claude/skills/technical-writing/SKILL.md +0 -6
- package/.claude/skills/test-automation-strategy/SKILL.md +0 -6
- package/.claude/skills/test-data-management/SKILL.md +1054 -1067
- package/.claude/skills/test-design-techniques/SKILL.md +0 -6
- package/.claude/skills/test-environment-management/SKILL.md +0 -6
- package/.claude/skills/test-reporting-analytics/SKILL.md +0 -6
- package/.claude/skills/visual-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/xp-practices/SKILL.md +0 -6
- package/CHANGELOG.md +397 -5
- package/README.md +24 -19
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +97 -44
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/mcp/handlers/coordination/index.d.ts +14 -14
- package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/index.js +14 -14
- package/dist/mcp/handlers/coordination/index.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
- package/dist/mcp/handlers/phase3/index.d.ts +6 -0
- package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/index.js +10 -0
- package/dist/mcp/handlers/phase3/index.js.map +1 -0
- package/dist/mcp/handlers/prediction/index.d.ts +10 -10
- package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/index.js +10 -10
- package/dist/mcp/handlers/prediction/index.js.map +1 -1
- package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
- package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
- package/dist/mcp/handlers/security/check-authz.js +434 -0
- package/dist/mcp/handlers/security/check-authz.js.map +1 -0
- package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
- package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
- package/dist/mcp/handlers/security/generate-report.js +469 -0
- package/dist/mcp/handlers/security/generate-report.js.map +1 -0
- package/dist/mcp/handlers/security/index.d.ts +80 -0
- package/dist/mcp/handlers/security/index.d.ts.map +1 -0
- package/dist/mcp/handlers/security/index.js +91 -0
- package/dist/mcp/handlers/security/index.js.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
- package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.js +294 -0
- package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +211 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/deprecated.d.ts +1390 -0
- package/dist/mcp/tools/deprecated.d.ts.map +1 -0
- package/dist/mcp/tools/deprecated.js +859 -0
- package/dist/mcp/tools/deprecated.js.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.js +572 -0
- package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.js +30 -0
- package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.js +23 -0
- package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.js +652 -0
- package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
- package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
- package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
- package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/index.js +24 -0
- package/dist/mcp/tools/qe/performance/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
- package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
- package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
- package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/index.js +63 -0
- package/dist/mcp/tools/qe/regression/index.js.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
- package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.js +84 -0
- package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
- package/dist/mcp/tools/qe/security/index.d.ts +34 -0
- package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/index.js +44 -0
- package/dist/mcp/tools/qe/security/index.js.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js +535 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
- package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
- package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
- package/dist/mcp/tools/qe/shared/types.js +13 -0
- package/dist/mcp/tools/qe/shared/types.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.js +90 -0
- package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.js +97 -0
- package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
- package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
- package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/index.js +22 -0
- package/dist/mcp/tools/qe/visual/index.js.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
- package/dist/mcp/tools.d.ts +44 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1980 -1
- package/dist/mcp/tools.js.map +1 -1
- package/package.json +2 -2
- package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
- package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
- package/dist/learning/__mocks__/LearningEngine.js +0 -116
- package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
- package/dist/utils/__mocks__/Database.d.ts +0 -85
- package/dist/utils/__mocks__/Database.d.ts.map +0 -1
- package/dist/utils/__mocks__/Database.js +0 -125
- package/dist/utils/__mocks__/Database.js.map +0 -1
- package/dist/utils/__mocks__/Logger.d.ts +0 -26
- package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
- package/dist/utils/__mocks__/Logger.js +0 -44
- package/dist/utils/__mocks__/Logger.js.map +0 -1
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared QE Types for Domain-Specific Tools
|
|
3
|
+
*
|
|
4
|
+
* This module defines strict TypeScript types for all QE domains.
|
|
5
|
+
* All types use strict TypeScript with no 'any' types.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @author Agentic QE Team
|
|
9
|
+
* @date 2025-11-07
|
|
10
|
+
*/
|
|
11
|
+
export type TestType = 'unit' | 'integration' | 'e2e' | 'property-based' | 'mutation';
|
|
12
|
+
export type TestFramework = 'jest' | 'mocha' | 'jasmine' | 'pytest' | 'junit' | 'nunit' | 'xunit' | 'cucumber-js';
|
|
13
|
+
export type ProgrammingLanguage = 'javascript' | 'typescript' | 'python' | 'java' | 'csharp' | 'go' | 'rust' | 'ruby';
|
|
14
|
+
export type Priority = 'low' | 'medium' | 'high' | 'critical';
|
|
15
|
+
export type Environment = 'development' | 'staging' | 'production';
|
|
16
|
+
export type TestStatus = 'passed' | 'failed' | 'skipped' | 'pending';
|
|
17
|
+
export type CoverageType = 'line' | 'branch' | 'function' | 'statement';
|
|
18
|
+
/**
|
|
19
|
+
* Parameters for generating unit test suites
|
|
20
|
+
*/
|
|
21
|
+
export interface UnitTestGenerationParams {
|
|
22
|
+
/** Source code information */
|
|
23
|
+
sourceCode: SourceCodeInfo;
|
|
24
|
+
/** Optional: Target a specific class */
|
|
25
|
+
targetClass?: string;
|
|
26
|
+
/** Optional: Target a specific function */
|
|
27
|
+
targetFunction?: string;
|
|
28
|
+
/** Testing framework to use */
|
|
29
|
+
framework: TestFramework;
|
|
30
|
+
/** Coverage target percentage (0-100) */
|
|
31
|
+
coverageTarget: number;
|
|
32
|
+
/** Include edge case tests */
|
|
33
|
+
includeEdgeCases: boolean;
|
|
34
|
+
/** Generate mock implementations */
|
|
35
|
+
generateMocks: boolean;
|
|
36
|
+
/** Test patterns to apply */
|
|
37
|
+
testPatterns: TestPattern[];
|
|
38
|
+
/** Optional: Custom test data */
|
|
39
|
+
testData?: Record<string, unknown>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Parameters for generating integration test suites
|
|
43
|
+
*/
|
|
44
|
+
export interface IntegrationTestGenerationParams {
|
|
45
|
+
/** Source code information */
|
|
46
|
+
sourceCode: SourceCodeInfo;
|
|
47
|
+
/** Dependency mapping for integration points */
|
|
48
|
+
dependencyMap: DependencyInfo[];
|
|
49
|
+
/** Testing framework to use */
|
|
50
|
+
framework: TestFramework;
|
|
51
|
+
/** Mock strategy for dependencies */
|
|
52
|
+
mockStrategy: 'full' | 'partial' | 'none';
|
|
53
|
+
/** Enable contract testing */
|
|
54
|
+
contractTesting: boolean;
|
|
55
|
+
/** Optional: Integration scenarios */
|
|
56
|
+
scenarios?: IntegrationScenario[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parameters for generating end-to-end test suites
|
|
60
|
+
*/
|
|
61
|
+
export interface E2ETestGenerationParams {
|
|
62
|
+
/** User flows to test */
|
|
63
|
+
userFlows: UserFlow[];
|
|
64
|
+
/** Page object models for UI interaction */
|
|
65
|
+
pageObjects: PageObjectModel[];
|
|
66
|
+
/** Testing framework to use */
|
|
67
|
+
framework: TestFramework;
|
|
68
|
+
/** Browser targets for testing */
|
|
69
|
+
browserTargets: string[];
|
|
70
|
+
/** Base URL for application */
|
|
71
|
+
baseUrl: string;
|
|
72
|
+
/** Viewport configurations */
|
|
73
|
+
viewports?: ViewportConfig[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Parameters for property-based testing
|
|
77
|
+
*/
|
|
78
|
+
export interface PropertyBasedTestParams {
|
|
79
|
+
/** Source code information */
|
|
80
|
+
sourceCode: SourceCodeInfo;
|
|
81
|
+
/** Properties to test */
|
|
82
|
+
properties: PropertyInvariant[];
|
|
83
|
+
/** Generator strategy */
|
|
84
|
+
generatorStrategy: 'quickcheck' | 'hypothesis' | 'fast-check';
|
|
85
|
+
/** Number of test iterations */
|
|
86
|
+
iterations: number;
|
|
87
|
+
/** Seed for reproducibility */
|
|
88
|
+
seed?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Parameters for mutation testing
|
|
92
|
+
*/
|
|
93
|
+
export interface MutationTestParams {
|
|
94
|
+
/** Source code to mutate */
|
|
95
|
+
sourceCode: string;
|
|
96
|
+
/** Test code to validate mutations */
|
|
97
|
+
testCode: string;
|
|
98
|
+
/** Programming language */
|
|
99
|
+
language: ProgrammingLanguage;
|
|
100
|
+
/** Mutation operators to apply */
|
|
101
|
+
operators: MutationOperator[];
|
|
102
|
+
/** Timeout per mutant (ms) */
|
|
103
|
+
timeout: number;
|
|
104
|
+
/** Number of parallel mutants */
|
|
105
|
+
parallelMutants: number;
|
|
106
|
+
/** Calculate coverage during mutation */
|
|
107
|
+
calculateCoverage: boolean;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Source code information
|
|
111
|
+
*/
|
|
112
|
+
export interface SourceCodeInfo {
|
|
113
|
+
/** Repository URL */
|
|
114
|
+
repositoryUrl: string;
|
|
115
|
+
/** Branch or commit */
|
|
116
|
+
branch: string;
|
|
117
|
+
/** Programming language */
|
|
118
|
+
language: ProgrammingLanguage;
|
|
119
|
+
/** Files to analyze (glob patterns) */
|
|
120
|
+
files: string[];
|
|
121
|
+
/** Patterns to exclude */
|
|
122
|
+
excludePatterns?: string[];
|
|
123
|
+
/** Build configuration */
|
|
124
|
+
buildConfig?: BuildConfig;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Dependency information for integration testing
|
|
128
|
+
*/
|
|
129
|
+
export interface DependencyInfo {
|
|
130
|
+
/** Dependency name */
|
|
131
|
+
name: string;
|
|
132
|
+
/** Dependency type */
|
|
133
|
+
type: 'internal' | 'external';
|
|
134
|
+
/** Version (for external dependencies) */
|
|
135
|
+
version?: string;
|
|
136
|
+
/** Exposed interfaces */
|
|
137
|
+
interfaces: InterfaceDefinition[];
|
|
138
|
+
/** Mock configuration */
|
|
139
|
+
mockConfig?: MockConfig;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* User flow for E2E testing
|
|
143
|
+
*/
|
|
144
|
+
export interface UserFlow {
|
|
145
|
+
/** Flow name */
|
|
146
|
+
name: string;
|
|
147
|
+
/** Description */
|
|
148
|
+
description: string;
|
|
149
|
+
/** Flow steps */
|
|
150
|
+
steps: FlowStep[];
|
|
151
|
+
/** Expected outcome */
|
|
152
|
+
expectedOutcome: string;
|
|
153
|
+
/** Prerequisites */
|
|
154
|
+
prerequisites?: string[];
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Property invariant for property-based testing
|
|
158
|
+
*/
|
|
159
|
+
export interface PropertyInvariant {
|
|
160
|
+
/** Property name */
|
|
161
|
+
name: string;
|
|
162
|
+
/** Description */
|
|
163
|
+
description: string;
|
|
164
|
+
/** Property expression (code) */
|
|
165
|
+
property: string;
|
|
166
|
+
/** Input generators */
|
|
167
|
+
generators?: Record<string, string>;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Mutation operators
|
|
171
|
+
*/
|
|
172
|
+
export type MutationOperator = 'arithmetic' | 'logical' | 'relational' | 'assignment' | 'conditional' | 'statement-deletion' | 'return-value';
|
|
173
|
+
/**
|
|
174
|
+
* Test patterns
|
|
175
|
+
*/
|
|
176
|
+
export type TestPattern = 'arrange-act-assert' | 'given-when-then' | 'builder' | 'object-mother' | 'four-phase-test';
|
|
177
|
+
/**
|
|
178
|
+
* Parameters for sublinear coverage analysis
|
|
179
|
+
*/
|
|
180
|
+
export interface SublinearCoverageParams {
|
|
181
|
+
/** Source files to analyze */
|
|
182
|
+
sourceFiles: string[];
|
|
183
|
+
/** Coverage threshold (0-1) */
|
|
184
|
+
coverageThreshold: number;
|
|
185
|
+
/** Sublinear algorithm to use */
|
|
186
|
+
algorithm: 'johnson-lindenstrauss' | 'temporal-advantage' | 'hybrid';
|
|
187
|
+
/** Target dimension for JL reduction */
|
|
188
|
+
targetDimension?: number;
|
|
189
|
+
/** Include uncovered line numbers */
|
|
190
|
+
includeUncoveredLines: boolean;
|
|
191
|
+
/** Analysis depth */
|
|
192
|
+
analysisDepth: 'basic' | 'detailed' | 'comprehensive';
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Parameters for coverage gap detection
|
|
196
|
+
*/
|
|
197
|
+
export interface CoverageGapDetectionParams {
|
|
198
|
+
/** Coverage data to analyze */
|
|
199
|
+
coverageData: CoverageReport;
|
|
200
|
+
/** Prioritization strategy */
|
|
201
|
+
prioritization: 'complexity' | 'criticality' | 'change-frequency';
|
|
202
|
+
/** Minimum gap size to report */
|
|
203
|
+
minGapSize: number;
|
|
204
|
+
/** Include recommendations */
|
|
205
|
+
includeRecommendations: boolean;
|
|
206
|
+
/** Maximum gaps to return */
|
|
207
|
+
maxGaps?: number;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Parameters for detailed coverage analysis
|
|
211
|
+
*/
|
|
212
|
+
export interface DetailedCoverageParams {
|
|
213
|
+
/** Coverage data to analyze */
|
|
214
|
+
coverageData: CoverageReport;
|
|
215
|
+
/** Analysis type */
|
|
216
|
+
analysisType: 'line' | 'branch' | 'function' | 'comprehensive';
|
|
217
|
+
/** Detail level */
|
|
218
|
+
detailLevel: 'basic' | 'detailed' | 'comprehensive';
|
|
219
|
+
/** Compare with previous coverage */
|
|
220
|
+
comparePrevious: boolean;
|
|
221
|
+
/** Historical coverage data */
|
|
222
|
+
historicalData?: CoverageReport[];
|
|
223
|
+
/** Identify gaps */
|
|
224
|
+
identifyGaps: boolean;
|
|
225
|
+
/** Prioritize gaps */
|
|
226
|
+
prioritizeGaps: boolean;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Coverage report structure
|
|
230
|
+
*/
|
|
231
|
+
export interface CoverageReport {
|
|
232
|
+
/** File-level coverage */
|
|
233
|
+
files: FileCoverage[];
|
|
234
|
+
/** Summary statistics */
|
|
235
|
+
summary: CoverageSummary;
|
|
236
|
+
/** Timestamp */
|
|
237
|
+
timestamp: string;
|
|
238
|
+
/** Git commit */
|
|
239
|
+
commit?: string;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* File-level coverage information
|
|
243
|
+
*/
|
|
244
|
+
export interface FileCoverage {
|
|
245
|
+
/** File path */
|
|
246
|
+
path: string;
|
|
247
|
+
/** Line coverage */
|
|
248
|
+
lines: LineCoverage;
|
|
249
|
+
/** Branch coverage */
|
|
250
|
+
branches: BranchCoverage;
|
|
251
|
+
/** Function coverage */
|
|
252
|
+
functions: FunctionCoverage;
|
|
253
|
+
/** File importance */
|
|
254
|
+
importance: Priority;
|
|
255
|
+
/** Complexity metrics */
|
|
256
|
+
complexity?: number;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Line coverage metrics
|
|
260
|
+
*/
|
|
261
|
+
export interface LineCoverage {
|
|
262
|
+
/** Total lines */
|
|
263
|
+
total: number;
|
|
264
|
+
/** Covered lines */
|
|
265
|
+
covered: number;
|
|
266
|
+
/** Uncovered line numbers */
|
|
267
|
+
uncovered: number[];
|
|
268
|
+
/** Coverage percentage */
|
|
269
|
+
percentage: number;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Branch coverage metrics
|
|
273
|
+
*/
|
|
274
|
+
export interface BranchCoverage {
|
|
275
|
+
/** Total branches */
|
|
276
|
+
total: number;
|
|
277
|
+
/** Covered branches */
|
|
278
|
+
covered: number;
|
|
279
|
+
/** Uncovered branch numbers */
|
|
280
|
+
uncovered: number[];
|
|
281
|
+
/** Coverage percentage */
|
|
282
|
+
percentage: number;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Function coverage metrics
|
|
286
|
+
*/
|
|
287
|
+
export interface FunctionCoverage {
|
|
288
|
+
/** Total functions */
|
|
289
|
+
total: number;
|
|
290
|
+
/** Covered functions */
|
|
291
|
+
covered: number;
|
|
292
|
+
/** Uncovered function names */
|
|
293
|
+
uncovered: string[];
|
|
294
|
+
/** Coverage percentage */
|
|
295
|
+
percentage: number;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Coverage summary
|
|
299
|
+
*/
|
|
300
|
+
export interface CoverageSummary {
|
|
301
|
+
/** Total lines */
|
|
302
|
+
totalLines: number;
|
|
303
|
+
/** Covered lines */
|
|
304
|
+
coveredLines: number;
|
|
305
|
+
/** Total branches */
|
|
306
|
+
totalBranches: number;
|
|
307
|
+
/** Covered branches */
|
|
308
|
+
coveredBranches: number;
|
|
309
|
+
/** Total functions */
|
|
310
|
+
totalFunctions: number;
|
|
311
|
+
/** Covered functions */
|
|
312
|
+
coveredFunctions: number;
|
|
313
|
+
/** Overall coverage percentage */
|
|
314
|
+
overallPercentage: number;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Parameters for quality gate execution
|
|
318
|
+
*/
|
|
319
|
+
export interface QualityGateExecutionParams {
|
|
320
|
+
/** Project identifier */
|
|
321
|
+
projectId: string;
|
|
322
|
+
/** Build identifier */
|
|
323
|
+
buildId: string;
|
|
324
|
+
/** Target environment */
|
|
325
|
+
environment: Environment;
|
|
326
|
+
/** Quality policy to enforce */
|
|
327
|
+
policy: QualityPolicy;
|
|
328
|
+
/** Quality metrics to validate */
|
|
329
|
+
metrics: QualityMetrics;
|
|
330
|
+
/** Additional context */
|
|
331
|
+
context?: Record<string, unknown>;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Quality policy definition
|
|
335
|
+
*/
|
|
336
|
+
export interface QualityPolicy {
|
|
337
|
+
/** Policy ID */
|
|
338
|
+
id: string;
|
|
339
|
+
/** Policy name */
|
|
340
|
+
name: string;
|
|
341
|
+
/** Quality rules */
|
|
342
|
+
rules: QualityRule[];
|
|
343
|
+
/** Enforcement mode */
|
|
344
|
+
enforcement: 'blocking' | 'warning' | 'informational';
|
|
345
|
+
/** Applicable environments */
|
|
346
|
+
environments: Environment[];
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Quality rule definition
|
|
350
|
+
*/
|
|
351
|
+
export interface QualityRule {
|
|
352
|
+
/** Metric name */
|
|
353
|
+
metric: string;
|
|
354
|
+
/** Comparison operator */
|
|
355
|
+
operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte' | 'ne';
|
|
356
|
+
/** Threshold value */
|
|
357
|
+
threshold: number;
|
|
358
|
+
/** Rule severity */
|
|
359
|
+
severity: Priority;
|
|
360
|
+
/** Human-readable description */
|
|
361
|
+
description?: string;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Comprehensive quality metrics
|
|
365
|
+
*/
|
|
366
|
+
export interface QualityMetrics {
|
|
367
|
+
/** Code coverage metrics */
|
|
368
|
+
coverage: CoverageSummary;
|
|
369
|
+
/** Test results */
|
|
370
|
+
testResults: TestResultsSummary;
|
|
371
|
+
/** Security scan results */
|
|
372
|
+
security: SecurityScanResults;
|
|
373
|
+
/** Performance metrics */
|
|
374
|
+
performance: PerformanceMetrics;
|
|
375
|
+
/** Code quality metrics */
|
|
376
|
+
codeQuality: CodeQualityMetrics;
|
|
377
|
+
/** Timestamp */
|
|
378
|
+
timestamp: string;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Test results summary
|
|
382
|
+
*/
|
|
383
|
+
export interface TestResultsSummary {
|
|
384
|
+
/** Total tests */
|
|
385
|
+
total: number;
|
|
386
|
+
/** Passed tests */
|
|
387
|
+
passed: number;
|
|
388
|
+
/** Failed tests */
|
|
389
|
+
failed: number;
|
|
390
|
+
/** Skipped tests */
|
|
391
|
+
skipped: number;
|
|
392
|
+
/** Total duration (ms) */
|
|
393
|
+
duration: number;
|
|
394
|
+
/** Failure rate (0-1) */
|
|
395
|
+
failureRate: number;
|
|
396
|
+
/** Flaky tests detected */
|
|
397
|
+
flakyTests?: number;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Security scan results
|
|
401
|
+
*/
|
|
402
|
+
export interface SecurityScanResults {
|
|
403
|
+
/** Vulnerabilities found */
|
|
404
|
+
vulnerabilities: Vulnerability[];
|
|
405
|
+
/** Summary by severity */
|
|
406
|
+
summary: {
|
|
407
|
+
critical: number;
|
|
408
|
+
high: number;
|
|
409
|
+
medium: number;
|
|
410
|
+
low: number;
|
|
411
|
+
};
|
|
412
|
+
/** Scan timestamp */
|
|
413
|
+
scannedAt: string;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Vulnerability information
|
|
417
|
+
*/
|
|
418
|
+
export interface Vulnerability {
|
|
419
|
+
/** Vulnerability ID */
|
|
420
|
+
id: string;
|
|
421
|
+
/** Severity level */
|
|
422
|
+
severity: Priority;
|
|
423
|
+
/** Title */
|
|
424
|
+
title: string;
|
|
425
|
+
/** Description */
|
|
426
|
+
description: string;
|
|
427
|
+
/** CWE identifier */
|
|
428
|
+
cwe?: string;
|
|
429
|
+
/** CVSS score */
|
|
430
|
+
cvss?: number;
|
|
431
|
+
/** Affected file */
|
|
432
|
+
file?: string;
|
|
433
|
+
/** Remediation advice */
|
|
434
|
+
remediation?: string;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Performance metrics
|
|
438
|
+
*/
|
|
439
|
+
export interface PerformanceMetrics {
|
|
440
|
+
/** Response time metrics */
|
|
441
|
+
responseTime: {
|
|
442
|
+
p50: number;
|
|
443
|
+
p95: number;
|
|
444
|
+
p99: number;
|
|
445
|
+
max: number;
|
|
446
|
+
};
|
|
447
|
+
/** Throughput (requests/sec) */
|
|
448
|
+
throughput: number;
|
|
449
|
+
/** Error rate (0-1) */
|
|
450
|
+
errorRate: number;
|
|
451
|
+
/** Resource usage */
|
|
452
|
+
resourceUsage: ResourceUsage;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Resource usage metrics
|
|
456
|
+
*/
|
|
457
|
+
export interface ResourceUsage {
|
|
458
|
+
/** CPU usage percentage */
|
|
459
|
+
cpu: number;
|
|
460
|
+
/** Memory usage (MB) */
|
|
461
|
+
memory: number;
|
|
462
|
+
/** Disk usage (MB) */
|
|
463
|
+
disk: number;
|
|
464
|
+
/** Network usage (MB) */
|
|
465
|
+
network?: number;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Code quality metrics
|
|
469
|
+
*/
|
|
470
|
+
export interface CodeQualityMetrics {
|
|
471
|
+
/** Maintainability index (0-100) */
|
|
472
|
+
maintainabilityIndex: number;
|
|
473
|
+
/** Cyclomatic complexity */
|
|
474
|
+
cyclomaticComplexity: number;
|
|
475
|
+
/** Technical debt (hours) */
|
|
476
|
+
technicalDebt: number;
|
|
477
|
+
/** Code smells count */
|
|
478
|
+
codeSmells: number;
|
|
479
|
+
/** Duplication percentage */
|
|
480
|
+
duplications: number;
|
|
481
|
+
/** Lines of code */
|
|
482
|
+
linesOfCode?: number;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Parameters for flaky test detection
|
|
486
|
+
*/
|
|
487
|
+
export interface FlakyTestDetectionParams {
|
|
488
|
+
/** Test results to analyze */
|
|
489
|
+
testResults: TestResult[];
|
|
490
|
+
/** Minimum runs to consider */
|
|
491
|
+
minRuns: number;
|
|
492
|
+
/** Time window (days) */
|
|
493
|
+
timeWindow: number;
|
|
494
|
+
/** Confidence threshold (0-1) */
|
|
495
|
+
confidenceThreshold: number;
|
|
496
|
+
/** Analysis configuration */
|
|
497
|
+
analysisConfig: FlakyAnalysisConfig;
|
|
498
|
+
/** Report configuration */
|
|
499
|
+
reportConfig?: FlakyReportConfig;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Individual test result
|
|
503
|
+
*/
|
|
504
|
+
export interface TestResult {
|
|
505
|
+
/** Test identifier */
|
|
506
|
+
testId: string;
|
|
507
|
+
/** Test name */
|
|
508
|
+
name: string;
|
|
509
|
+
/** Test status */
|
|
510
|
+
status: TestStatus;
|
|
511
|
+
/** Duration (ms) */
|
|
512
|
+
duration: number;
|
|
513
|
+
/** Timestamp */
|
|
514
|
+
timestamp: string;
|
|
515
|
+
/** Error message (if failed) */
|
|
516
|
+
error?: string;
|
|
517
|
+
/** Stack trace (if failed) */
|
|
518
|
+
stackTrace?: string;
|
|
519
|
+
/** Environment variables */
|
|
520
|
+
environment?: Record<string, string>;
|
|
521
|
+
/** Retry count */
|
|
522
|
+
retryCount?: number;
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* Flaky test analysis configuration
|
|
526
|
+
*/
|
|
527
|
+
export interface FlakyAnalysisConfig {
|
|
528
|
+
/** Detection algorithm */
|
|
529
|
+
algorithm: 'statistical' | 'ml' | 'hybrid';
|
|
530
|
+
/** Features to analyze */
|
|
531
|
+
features: string[];
|
|
532
|
+
/** Auto-stabilize detected flaky tests */
|
|
533
|
+
autoStabilize: boolean;
|
|
534
|
+
/** ML model configuration */
|
|
535
|
+
mlConfig?: {
|
|
536
|
+
modelPath: string;
|
|
537
|
+
threshold: number;
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Flaky test report configuration
|
|
542
|
+
*/
|
|
543
|
+
export interface FlakyReportConfig {
|
|
544
|
+
/** Include historical trends */
|
|
545
|
+
includeTrends: boolean;
|
|
546
|
+
/** Include stabilization suggestions */
|
|
547
|
+
includeSuggestions: boolean;
|
|
548
|
+
/** Report format */
|
|
549
|
+
format: 'json' | 'html' | 'markdown';
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Parameters for regression risk analysis
|
|
553
|
+
*/
|
|
554
|
+
export interface RegressionRiskParams {
|
|
555
|
+
/** Code changes to analyze */
|
|
556
|
+
changes: CodeChange[];
|
|
557
|
+
/** Baseline quality metrics */
|
|
558
|
+
baselineMetrics: QualityMetrics;
|
|
559
|
+
/** Risk threshold (0-1) */
|
|
560
|
+
threshold: number;
|
|
561
|
+
/** Historical quality data */
|
|
562
|
+
historicalData?: QualityMetrics[];
|
|
563
|
+
/** Include test selection */
|
|
564
|
+
includeTestSelection: boolean;
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Code change information
|
|
568
|
+
*/
|
|
569
|
+
export interface CodeChange {
|
|
570
|
+
/** File path */
|
|
571
|
+
file: string;
|
|
572
|
+
/** Change type */
|
|
573
|
+
type: 'added' | 'modified' | 'deleted';
|
|
574
|
+
/** Lines changed */
|
|
575
|
+
linesChanged: number;
|
|
576
|
+
/** Complexity delta */
|
|
577
|
+
complexity: number;
|
|
578
|
+
/** Test coverage */
|
|
579
|
+
testCoverage: number;
|
|
580
|
+
/** Author */
|
|
581
|
+
author?: string;
|
|
582
|
+
/** Commit hash */
|
|
583
|
+
commit?: string;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Parameters for performance benchmarking
|
|
587
|
+
*/
|
|
588
|
+
export interface PerformanceBenchmarkParams {
|
|
589
|
+
/** Benchmark suite name */
|
|
590
|
+
benchmarkSuite: string;
|
|
591
|
+
/** Number of iterations */
|
|
592
|
+
iterations: number;
|
|
593
|
+
/** Warmup iterations */
|
|
594
|
+
warmupIterations: number;
|
|
595
|
+
/** Enable parallel execution */
|
|
596
|
+
parallel: boolean;
|
|
597
|
+
/** Report format */
|
|
598
|
+
reportFormat: 'json' | 'html' | 'markdown';
|
|
599
|
+
/** Benchmark configuration */
|
|
600
|
+
config?: BenchmarkConfig;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Benchmark configuration
|
|
604
|
+
*/
|
|
605
|
+
export interface BenchmarkConfig {
|
|
606
|
+
/** CPU affinity */
|
|
607
|
+
cpuAffinity?: number[];
|
|
608
|
+
/** Memory limit (MB) */
|
|
609
|
+
memoryLimit?: number;
|
|
610
|
+
/** Timeout (ms) */
|
|
611
|
+
timeout?: number;
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Parameters for real-time monitoring
|
|
615
|
+
*/
|
|
616
|
+
export interface RealtimeMonitorParams {
|
|
617
|
+
/** Target to monitor */
|
|
618
|
+
target: string;
|
|
619
|
+
/** Monitoring duration (seconds) */
|
|
620
|
+
duration: number;
|
|
621
|
+
/** Sampling interval (seconds) */
|
|
622
|
+
interval: number;
|
|
623
|
+
/** Metrics to monitor */
|
|
624
|
+
metrics: MonitoringMetric[];
|
|
625
|
+
/** Alert thresholds */
|
|
626
|
+
thresholds?: Record<MonitoringMetric, number>;
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* Monitoring metrics
|
|
630
|
+
*/
|
|
631
|
+
export type MonitoringMetric = 'cpu' | 'memory' | 'network' | 'disk' | 'response-time' | 'throughput' | 'error-rate';
|
|
632
|
+
/**
|
|
633
|
+
* Parameters for security scanning
|
|
634
|
+
*/
|
|
635
|
+
export interface SecurityScanParams {
|
|
636
|
+
/** Scan type */
|
|
637
|
+
scanType: 'sast' | 'dast' | 'dependency' | 'comprehensive';
|
|
638
|
+
/** Target to scan */
|
|
639
|
+
target: string;
|
|
640
|
+
/** Scan depth */
|
|
641
|
+
depth: 'basic' | 'standard' | 'deep';
|
|
642
|
+
/** Include fingerprinting */
|
|
643
|
+
includeFingerprinting: boolean;
|
|
644
|
+
/** Exclude patterns */
|
|
645
|
+
excludePatterns?: string[];
|
|
646
|
+
/** Compliance standards */
|
|
647
|
+
complianceStandards?: ('OWASP' | 'CWE' | 'SANS')[];
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Parameters for API breaking change detection
|
|
651
|
+
*/
|
|
652
|
+
export interface BreakingChangeParams {
|
|
653
|
+
/** Old API source code */
|
|
654
|
+
oldAPI: string;
|
|
655
|
+
/** New API source code */
|
|
656
|
+
newAPI: string;
|
|
657
|
+
/** Programming language */
|
|
658
|
+
language: ProgrammingLanguage;
|
|
659
|
+
/** Calculate semantic version */
|
|
660
|
+
calculateSemver: boolean;
|
|
661
|
+
/** Generate migration guide */
|
|
662
|
+
generateMigrationGuide: boolean;
|
|
663
|
+
/** API type */
|
|
664
|
+
apiType?: 'rest' | 'graphql' | 'grpc';
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* Standard QE tool response
|
|
668
|
+
*/
|
|
669
|
+
export interface QEToolResponse<T> {
|
|
670
|
+
/** Success flag */
|
|
671
|
+
success: boolean;
|
|
672
|
+
/** Response data */
|
|
673
|
+
data?: T;
|
|
674
|
+
/** Error information */
|
|
675
|
+
error?: QEError;
|
|
676
|
+
/** Response metadata */
|
|
677
|
+
metadata: ResponseMetadata;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* QE-specific error
|
|
681
|
+
*/
|
|
682
|
+
export interface QEError {
|
|
683
|
+
/** Error code */
|
|
684
|
+
code: string;
|
|
685
|
+
/** Error message */
|
|
686
|
+
message: string;
|
|
687
|
+
/** Additional details */
|
|
688
|
+
details?: Record<string, unknown>;
|
|
689
|
+
/** Stack trace (in development) */
|
|
690
|
+
stack?: string;
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Response metadata
|
|
694
|
+
*/
|
|
695
|
+
export interface ResponseMetadata {
|
|
696
|
+
/** Request identifier */
|
|
697
|
+
requestId: string;
|
|
698
|
+
/** Timestamp */
|
|
699
|
+
timestamp: string;
|
|
700
|
+
/** Execution time (ms) */
|
|
701
|
+
executionTime: number;
|
|
702
|
+
/** Agent identifier */
|
|
703
|
+
agent?: string;
|
|
704
|
+
/** Tool version */
|
|
705
|
+
version?: string;
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Build configuration
|
|
709
|
+
*/
|
|
710
|
+
export interface BuildConfig {
|
|
711
|
+
/** Build command */
|
|
712
|
+
command: string;
|
|
713
|
+
/** Build directory */
|
|
714
|
+
directory: string;
|
|
715
|
+
/** Environment variables */
|
|
716
|
+
env?: Record<string, string>;
|
|
717
|
+
}
|
|
718
|
+
/**
|
|
719
|
+
* Mock configuration
|
|
720
|
+
*/
|
|
721
|
+
export interface MockConfig {
|
|
722
|
+
/** Mock strategy */
|
|
723
|
+
strategy: 'manual' | 'auto';
|
|
724
|
+
/** Mock data */
|
|
725
|
+
data?: Record<string, unknown>;
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Flow step for E2E testing
|
|
729
|
+
*/
|
|
730
|
+
export interface FlowStep {
|
|
731
|
+
/** Step action */
|
|
732
|
+
action: string;
|
|
733
|
+
/** Target element */
|
|
734
|
+
target: string;
|
|
735
|
+
/** Input data */
|
|
736
|
+
input?: Record<string, unknown>;
|
|
737
|
+
/** Expected outcome */
|
|
738
|
+
expected?: string;
|
|
739
|
+
/** Wait condition */
|
|
740
|
+
wait?: WaitCondition;
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Wait condition for E2E
|
|
744
|
+
*/
|
|
745
|
+
export interface WaitCondition {
|
|
746
|
+
/** Wait type */
|
|
747
|
+
type: 'element' | 'timeout' | 'custom';
|
|
748
|
+
/** Wait value */
|
|
749
|
+
value: string | number;
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Page object model for E2E
|
|
753
|
+
*/
|
|
754
|
+
export interface PageObjectModel {
|
|
755
|
+
/** Page name */
|
|
756
|
+
name: string;
|
|
757
|
+
/** Selectors */
|
|
758
|
+
selectors: Record<string, string>;
|
|
759
|
+
/** Methods */
|
|
760
|
+
methods: string[];
|
|
761
|
+
/** Page URL */
|
|
762
|
+
url?: string;
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* Viewport configuration
|
|
766
|
+
*/
|
|
767
|
+
export interface ViewportConfig {
|
|
768
|
+
/** Viewport name */
|
|
769
|
+
name: string;
|
|
770
|
+
/** Width */
|
|
771
|
+
width: number;
|
|
772
|
+
/** Height */
|
|
773
|
+
height: number;
|
|
774
|
+
/** Device pixel ratio */
|
|
775
|
+
devicePixelRatio?: number;
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Interface definition
|
|
779
|
+
*/
|
|
780
|
+
export interface InterfaceDefinition {
|
|
781
|
+
/** Interface name */
|
|
782
|
+
name: string;
|
|
783
|
+
/** Methods */
|
|
784
|
+
methods: MethodSignature[];
|
|
785
|
+
/** Properties */
|
|
786
|
+
properties?: PropertySignature[];
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Method signature
|
|
790
|
+
*/
|
|
791
|
+
export interface MethodSignature {
|
|
792
|
+
/** Method name */
|
|
793
|
+
name: string;
|
|
794
|
+
/** Parameters */
|
|
795
|
+
parameters: Parameter[];
|
|
796
|
+
/** Return type */
|
|
797
|
+
returnType: string;
|
|
798
|
+
/** Is async */
|
|
799
|
+
isAsync?: boolean;
|
|
800
|
+
}
|
|
801
|
+
/**
|
|
802
|
+
* Property signature
|
|
803
|
+
*/
|
|
804
|
+
export interface PropertySignature {
|
|
805
|
+
/** Property name */
|
|
806
|
+
name: string;
|
|
807
|
+
/** Property type */
|
|
808
|
+
type: string;
|
|
809
|
+
/** Is optional */
|
|
810
|
+
optional: boolean;
|
|
811
|
+
/** Is readonly */
|
|
812
|
+
readonly?: boolean;
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Parameter definition
|
|
816
|
+
*/
|
|
817
|
+
export interface Parameter {
|
|
818
|
+
/** Parameter name */
|
|
819
|
+
name: string;
|
|
820
|
+
/** Parameter type */
|
|
821
|
+
type: string;
|
|
822
|
+
/** Is optional */
|
|
823
|
+
optional: boolean;
|
|
824
|
+
/** Default value */
|
|
825
|
+
defaultValue?: unknown;
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Integration scenario
|
|
829
|
+
*/
|
|
830
|
+
export interface IntegrationScenario {
|
|
831
|
+
/** Scenario name */
|
|
832
|
+
name: string;
|
|
833
|
+
/** Description */
|
|
834
|
+
description: string;
|
|
835
|
+
/** Services involved */
|
|
836
|
+
services: string[];
|
|
837
|
+
/** Expected behavior */
|
|
838
|
+
expectedBehavior: string;
|
|
839
|
+
}
|
|
840
|
+
//# sourceMappingURL=types.d.ts.map
|