agentic-qe 1.0.0 → 1.0.2
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 +51 -11
- package/.claude/agents/qe-chaos-engineer.md +95 -43
- package/.claude/agents/qe-coverage-analyzer.md +134 -57
- package/.claude/agents/qe-deployment-readiness.md +48 -11
- package/.claude/agents/qe-flaky-test-hunter.md +57 -11
- package/.claude/agents/qe-fleet-commander.md +106 -49
- package/.claude/agents/qe-performance-tester.md +98 -45
- package/.claude/agents/qe-production-intelligence.md +48 -11
- package/.claude/agents/qe-quality-gate.md +160 -28
- package/.claude/agents/qe-regression-risk-analyzer.md +53 -11
- package/.claude/agents/qe-requirements-validator.md +48 -11
- package/.claude/agents/qe-security-scanner.md +230 -47
- package/.claude/agents/qe-test-data-architect.md +49 -11
- package/.claude/agents/qe-test-executor.md +59 -55
- package/.claude/agents/qe-test-generator.md +222 -48
- package/.claude/agents/qe-visual-tester.md +66 -65
- package/.claude/aqe-fleet.json +3 -3
- package/CHANGELOG.md +376 -0
- package/README.md +47 -3
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
- package/dist/agents/ApiContractValidatorAgent.js +1 -1
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +22 -3
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +124 -6
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +0 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +12 -8
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +0 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +0 -1
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +17 -7
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +1 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +46 -41
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +1 -1
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +74 -13
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/agent/assign.d.ts +76 -0
- package/dist/cli/commands/agent/assign.d.ts.map +1 -0
- package/dist/cli/commands/agent/assign.js +290 -0
- package/dist/cli/commands/agent/assign.js.map +1 -0
- package/dist/cli/commands/agent/attach.d.ts +86 -0
- package/dist/cli/commands/agent/attach.d.ts.map +1 -0
- package/dist/cli/commands/agent/attach.js +278 -0
- package/dist/cli/commands/agent/attach.js.map +1 -0
- package/dist/cli/commands/agent/benchmark.d.ts +45 -0
- package/dist/cli/commands/agent/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/agent/benchmark.js +102 -0
- package/dist/cli/commands/agent/benchmark.js.map +1 -0
- package/dist/cli/commands/agent/clone.d.ts +20 -0
- package/dist/cli/commands/agent/clone.d.ts.map +1 -0
- package/dist/cli/commands/agent/clone.js +58 -0
- package/dist/cli/commands/agent/clone.js.map +1 -0
- package/dist/cli/commands/agent/detach.d.ts +76 -0
- package/dist/cli/commands/agent/detach.d.ts.map +1 -0
- package/dist/cli/commands/agent/detach.js +260 -0
- package/dist/cli/commands/agent/detach.js.map +1 -0
- package/dist/cli/commands/agent/index.d.ts +31 -0
- package/dist/cli/commands/agent/index.d.ts.map +1 -0
- package/dist/cli/commands/agent/index.js +54 -0
- package/dist/cli/commands/agent/index.js.map +1 -0
- package/dist/cli/commands/agent/inspect.d.ts +110 -0
- package/dist/cli/commands/agent/inspect.d.ts.map +1 -0
- package/dist/cli/commands/agent/inspect.js +282 -0
- package/dist/cli/commands/agent/inspect.js.map +1 -0
- package/dist/cli/commands/agent/migrate.d.ts +24 -0
- package/dist/cli/commands/agent/migrate.d.ts.map +1 -0
- package/dist/cli/commands/agent/migrate.js +80 -0
- package/dist/cli/commands/agent/migrate.js.map +1 -0
- package/dist/cli/commands/agent/restart.d.ts +71 -0
- package/dist/cli/commands/agent/restart.d.ts.map +1 -0
- package/dist/cli/commands/agent/restart.js +237 -0
- package/dist/cli/commands/agent/restart.js.map +1 -0
- package/dist/cli/commands/analyze.js +17 -7
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/config/export.d.ts +15 -0
- package/dist/cli/commands/config/export.d.ts.map +1 -0
- package/dist/cli/commands/config/export.js +104 -0
- package/dist/cli/commands/config/export.js.map +1 -0
- package/dist/cli/commands/config/get.d.ts +23 -0
- package/dist/cli/commands/config/get.d.ts.map +1 -0
- package/dist/cli/commands/config/get.js +129 -0
- package/dist/cli/commands/config/get.js.map +1 -0
- package/dist/cli/commands/config/import.d.ts +17 -0
- package/dist/cli/commands/config/import.d.ts.map +1 -0
- package/dist/cli/commands/config/import.js +148 -0
- package/dist/cli/commands/config/import.js.map +1 -0
- package/dist/cli/commands/config/index.d.ts +18 -0
- package/dist/cli/commands/config/index.d.ts.map +1 -0
- package/dist/cli/commands/config/index.js +35 -0
- package/dist/cli/commands/config/index.js.map +1 -0
- package/dist/cli/commands/config/init.d.ts +21 -0
- package/dist/cli/commands/config/init.d.ts.map +1 -0
- package/dist/cli/commands/config/init.js +181 -0
- package/dist/cli/commands/config/init.js.map +1 -0
- package/dist/cli/commands/config/list.d.ts +5 -0
- package/dist/cli/commands/config/list.d.ts.map +1 -0
- package/dist/cli/commands/config/list.js +39 -0
- package/dist/cli/commands/config/list.js.map +1 -0
- package/dist/cli/commands/config/reset.d.ts +5 -0
- package/dist/cli/commands/config/reset.d.ts.map +1 -0
- package/dist/cli/commands/config/reset.js +44 -0
- package/dist/cli/commands/config/reset.js.map +1 -0
- package/dist/cli/commands/config/schema.d.ts +115 -0
- package/dist/cli/commands/config/schema.d.ts.map +1 -0
- package/dist/cli/commands/config/schema.js +98 -0
- package/dist/cli/commands/config/schema.js.map +1 -0
- package/dist/cli/commands/config/set.d.ts +19 -0
- package/dist/cli/commands/config/set.d.ts.map +1 -0
- package/dist/cli/commands/config/set.js +143 -0
- package/dist/cli/commands/config/set.js.map +1 -0
- package/dist/cli/commands/config/validate.d.ts +23 -0
- package/dist/cli/commands/config/validate.d.ts.map +1 -0
- package/dist/cli/commands/config/validate.js +165 -0
- package/dist/cli/commands/config/validate.js.map +1 -0
- package/dist/cli/commands/debug/agent.d.ts +40 -0
- package/dist/cli/commands/debug/agent.d.ts.map +1 -0
- package/dist/cli/commands/debug/agent.js +184 -0
- package/dist/cli/commands/debug/agent.js.map +1 -0
- package/dist/cli/commands/debug/diagnostics.d.ts +27 -0
- package/dist/cli/commands/debug/diagnostics.d.ts.map +1 -0
- package/dist/cli/commands/debug/diagnostics.js +386 -0
- package/dist/cli/commands/debug/diagnostics.js.map +1 -0
- package/dist/cli/commands/debug/health-check.d.ts +38 -0
- package/dist/cli/commands/debug/health-check.d.ts.map +1 -0
- package/dist/cli/commands/debug/health-check.js +326 -0
- package/dist/cli/commands/debug/health-check.js.map +1 -0
- package/dist/cli/commands/debug/index.d.ts +17 -0
- package/dist/cli/commands/debug/index.d.ts.map +1 -0
- package/dist/cli/commands/debug/index.js +20 -0
- package/dist/cli/commands/debug/index.js.map +1 -0
- package/dist/cli/commands/debug/profile.d.ts +84 -0
- package/dist/cli/commands/debug/profile.d.ts.map +1 -0
- package/dist/cli/commands/debug/profile.js +375 -0
- package/dist/cli/commands/debug/profile.js.map +1 -0
- package/dist/cli/commands/debug/trace.d.ts +40 -0
- package/dist/cli/commands/debug/trace.d.ts.map +1 -0
- package/dist/cli/commands/debug/trace.js +252 -0
- package/dist/cli/commands/debug/trace.js.map +1 -0
- package/dist/cli/commands/debug/troubleshoot.d.ts +38 -0
- package/dist/cli/commands/debug/troubleshoot.d.ts.map +1 -0
- package/dist/cli/commands/debug/troubleshoot.js +324 -0
- package/dist/cli/commands/debug/troubleshoot.js.map +1 -0
- package/dist/cli/commands/fleet/backup.d.ts +49 -0
- package/dist/cli/commands/fleet/backup.d.ts.map +1 -0
- package/dist/cli/commands/fleet/backup.js +88 -0
- package/dist/cli/commands/fleet/backup.js.map +1 -0
- package/dist/cli/commands/fleet/health.d.ts +24 -0
- package/dist/cli/commands/fleet/health.d.ts.map +1 -0
- package/dist/cli/commands/fleet/health.js +417 -0
- package/dist/cli/commands/fleet/health.js.map +1 -0
- package/dist/cli/commands/fleet/init.d.ts +11 -0
- package/dist/cli/commands/fleet/init.d.ts.map +1 -0
- package/dist/cli/commands/fleet/init.js +91 -0
- package/dist/cli/commands/fleet/init.js.map +1 -0
- package/dist/cli/commands/fleet/logs.d.ts +21 -0
- package/dist/cli/commands/fleet/logs.d.ts.map +1 -0
- package/dist/cli/commands/fleet/logs.js +266 -0
- package/dist/cli/commands/fleet/logs.js.map +1 -0
- package/dist/cli/commands/fleet/metrics.d.ts +27 -0
- package/dist/cli/commands/fleet/metrics.d.ts.map +1 -0
- package/dist/cli/commands/fleet/metrics.js +368 -0
- package/dist/cli/commands/fleet/metrics.js.map +1 -0
- package/dist/cli/commands/fleet/monitor.d.ts +18 -0
- package/dist/cli/commands/fleet/monitor.d.ts.map +1 -0
- package/dist/cli/commands/fleet/monitor.js +234 -0
- package/dist/cli/commands/fleet/monitor.js.map +1 -0
- package/dist/cli/commands/fleet/optimize.d.ts +42 -0
- package/dist/cli/commands/fleet/optimize.d.ts.map +1 -0
- package/dist/cli/commands/fleet/optimize.js +135 -0
- package/dist/cli/commands/fleet/optimize.js.map +1 -0
- package/dist/cli/commands/fleet/recover.d.ts +22 -0
- package/dist/cli/commands/fleet/recover.d.ts.map +1 -0
- package/dist/cli/commands/fleet/recover.js +99 -0
- package/dist/cli/commands/fleet/recover.js.map +1 -0
- package/dist/cli/commands/fleet/restart.d.ts +18 -0
- package/dist/cli/commands/fleet/restart.d.ts.map +1 -0
- package/dist/cli/commands/fleet/restart.js +290 -0
- package/dist/cli/commands/fleet/restart.js.map +1 -0
- package/dist/cli/commands/fleet/scale.d.ts +9 -0
- package/dist/cli/commands/fleet/scale.d.ts.map +1 -0
- package/dist/cli/commands/fleet/scale.js +77 -0
- package/dist/cli/commands/fleet/scale.js.map +1 -0
- package/dist/cli/commands/fleet/shutdown.d.ts +19 -0
- package/dist/cli/commands/fleet/shutdown.d.ts.map +1 -0
- package/dist/cli/commands/fleet/shutdown.js +307 -0
- package/dist/cli/commands/fleet/shutdown.js.map +1 -0
- package/dist/cli/commands/fleet/status.d.ts +10 -0
- package/dist/cli/commands/fleet/status.d.ts.map +1 -0
- package/dist/cli/commands/fleet/status.js +97 -0
- package/dist/cli/commands/fleet/status.js.map +1 -0
- package/dist/cli/commands/fleet/topology.d.ts +23 -0
- package/dist/cli/commands/fleet/topology.d.ts.map +1 -0
- package/dist/cli/commands/fleet/topology.js +375 -0
- package/dist/cli/commands/fleet/topology.js.map +1 -0
- package/dist/cli/commands/fleet.d.ts +0 -1
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +35 -58
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/generate.js +17 -7
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +194 -64
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/memory/compact.d.ts +19 -0
- package/dist/cli/commands/memory/compact.d.ts.map +1 -0
- package/dist/cli/commands/memory/compact.js +69 -0
- package/dist/cli/commands/memory/compact.js.map +1 -0
- package/dist/cli/commands/memory/index.d.ts +9 -0
- package/dist/cli/commands/memory/index.d.ts.map +1 -0
- package/dist/cli/commands/memory/index.js +24 -0
- package/dist/cli/commands/memory/index.js.map +1 -0
- package/dist/cli/commands/memory/stats.d.ts +30 -0
- package/dist/cli/commands/memory/stats.d.ts.map +1 -0
- package/dist/cli/commands/memory/stats.js +73 -0
- package/dist/cli/commands/memory/stats.js.map +1 -0
- package/dist/cli/commands/memory/vacuum.d.ts +24 -0
- package/dist/cli/commands/memory/vacuum.d.ts.map +1 -0
- package/dist/cli/commands/memory/vacuum.js +104 -0
- package/dist/cli/commands/memory/vacuum.js.map +1 -0
- package/dist/cli/commands/monitor/alerts.d.ts +45 -0
- package/dist/cli/commands/monitor/alerts.d.ts.map +1 -0
- package/dist/cli/commands/monitor/alerts.js +167 -0
- package/dist/cli/commands/monitor/alerts.js.map +1 -0
- package/dist/cli/commands/monitor/analyze.d.ts +49 -0
- package/dist/cli/commands/monitor/analyze.d.ts.map +1 -0
- package/dist/cli/commands/monitor/analyze.js +209 -0
- package/dist/cli/commands/monitor/analyze.js.map +1 -0
- package/dist/cli/commands/monitor/compare.d.ts +38 -0
- package/dist/cli/commands/monitor/compare.d.ts.map +1 -0
- package/dist/cli/commands/monitor/compare.js +177 -0
- package/dist/cli/commands/monitor/compare.js.map +1 -0
- package/dist/cli/commands/monitor/dashboard.d.ts +34 -0
- package/dist/cli/commands/monitor/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/monitor/dashboard.js +157 -0
- package/dist/cli/commands/monitor/dashboard.js.map +1 -0
- package/dist/cli/commands/monitor/export.d.ts +36 -0
- package/dist/cli/commands/monitor/export.d.ts.map +1 -0
- package/dist/cli/commands/monitor/export.js +157 -0
- package/dist/cli/commands/monitor/export.js.map +1 -0
- package/dist/cli/commands/monitor/index.d.ts +11 -0
- package/dist/cli/commands/monitor/index.d.ts.map +1 -0
- package/dist/cli/commands/monitor/index.js +14 -0
- package/dist/cli/commands/monitor/index.js.map +1 -0
- package/dist/cli/commands/quality/baseline.d.ts +27 -0
- package/dist/cli/commands/quality/baseline.d.ts.map +1 -0
- package/dist/cli/commands/quality/baseline.js +124 -0
- package/dist/cli/commands/quality/baseline.js.map +1 -0
- package/dist/cli/commands/quality/compare.d.ts +36 -0
- package/dist/cli/commands/quality/compare.d.ts.map +1 -0
- package/dist/cli/commands/quality/compare.js +136 -0
- package/dist/cli/commands/quality/compare.js.map +1 -0
- package/dist/cli/commands/quality/decision.d.ts +81 -0
- package/dist/cli/commands/quality/decision.d.ts.map +1 -0
- package/dist/cli/commands/quality/decision.js +317 -0
- package/dist/cli/commands/quality/decision.js.map +1 -0
- package/dist/cli/commands/quality/gate.d.ts +47 -0
- package/dist/cli/commands/quality/gate.d.ts.map +1 -0
- package/dist/cli/commands/quality/gate.js +203 -0
- package/dist/cli/commands/quality/gate.js.map +1 -0
- package/dist/cli/commands/quality/index.d.ts +17 -0
- package/dist/cli/commands/quality/index.d.ts.map +1 -0
- package/dist/cli/commands/quality/index.js +41 -0
- package/dist/cli/commands/quality/index.js.map +1 -0
- package/dist/cli/commands/quality/policy.d.ts +57 -0
- package/dist/cli/commands/quality/policy.d.ts.map +1 -0
- package/dist/cli/commands/quality/policy.js +357 -0
- package/dist/cli/commands/quality/policy.js.map +1 -0
- package/dist/cli/commands/quality/risk.d.ts +41 -0
- package/dist/cli/commands/quality/risk.d.ts.map +1 -0
- package/dist/cli/commands/quality/risk.js +253 -0
- package/dist/cli/commands/quality/risk.js.map +1 -0
- package/dist/cli/commands/quality/trends.d.ts +40 -0
- package/dist/cli/commands/quality/trends.d.ts.map +1 -0
- package/dist/cli/commands/quality/trends.js +122 -0
- package/dist/cli/commands/quality/trends.js.map +1 -0
- package/dist/cli/commands/quality/validate.d.ts +44 -0
- package/dist/cli/commands/quality/validate.d.ts.map +1 -0
- package/dist/cli/commands/quality/validate.js +232 -0
- package/dist/cli/commands/quality/validate.js.map +1 -0
- package/dist/cli/commands/run.js +17 -7
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/test/analyze-failures.d.ts +39 -0
- package/dist/cli/commands/test/analyze-failures.d.ts.map +1 -0
- package/dist/cli/commands/test/analyze-failures.js +113 -0
- package/dist/cli/commands/test/analyze-failures.js.map +1 -0
- package/dist/cli/commands/test/clean.d.ts +3 -0
- package/dist/cli/commands/test/clean.d.ts.map +1 -0
- package/dist/cli/commands/test/clean.js +131 -0
- package/dist/cli/commands/test/clean.js.map +1 -0
- package/dist/cli/commands/test/debug.d.ts +3 -0
- package/dist/cli/commands/test/debug.d.ts.map +1 -0
- package/dist/cli/commands/test/debug.js +167 -0
- package/dist/cli/commands/test/debug.js.map +1 -0
- package/dist/cli/commands/test/diff.d.ts +3 -0
- package/dist/cli/commands/test/diff.d.ts.map +1 -0
- package/dist/cli/commands/test/diff.js +228 -0
- package/dist/cli/commands/test/diff.js.map +1 -0
- package/dist/cli/commands/test/flakiness.d.ts +32 -0
- package/dist/cli/commands/test/flakiness.d.ts.map +1 -0
- package/dist/cli/commands/test/flakiness.js +121 -0
- package/dist/cli/commands/test/flakiness.js.map +1 -0
- package/dist/cli/commands/test/index.d.ts +17 -0
- package/dist/cli/commands/test/index.d.ts.map +1 -0
- package/dist/cli/commands/test/index.js +45 -0
- package/dist/cli/commands/test/index.js.map +1 -0
- package/dist/cli/commands/test/mutate.d.ts +29 -0
- package/dist/cli/commands/test/mutate.d.ts.map +1 -0
- package/dist/cli/commands/test/mutate.js +162 -0
- package/dist/cli/commands/test/mutate.js.map +1 -0
- package/dist/cli/commands/test/parallel.d.ts +3 -0
- package/dist/cli/commands/test/parallel.d.ts.map +1 -0
- package/dist/cli/commands/test/parallel.js +115 -0
- package/dist/cli/commands/test/parallel.js.map +1 -0
- package/dist/cli/commands/test/profile.d.ts +3 -0
- package/dist/cli/commands/test/profile.d.ts.map +1 -0
- package/dist/cli/commands/test/profile.js +188 -0
- package/dist/cli/commands/test/profile.js.map +1 -0
- package/dist/cli/commands/test/queue.d.ts +3 -0
- package/dist/cli/commands/test/queue.d.ts.map +1 -0
- package/dist/cli/commands/test/queue.js +139 -0
- package/dist/cli/commands/test/queue.js.map +1 -0
- package/dist/cli/commands/test/retry.d.ts +3 -0
- package/dist/cli/commands/test/retry.d.ts.map +1 -0
- package/dist/cli/commands/test/retry.js +103 -0
- package/dist/cli/commands/test/retry.js.map +1 -0
- package/dist/cli/commands/test/snapshot.d.ts +3 -0
- package/dist/cli/commands/test/snapshot.d.ts.map +1 -0
- package/dist/cli/commands/test/snapshot.js +176 -0
- package/dist/cli/commands/test/snapshot.js.map +1 -0
- package/dist/cli/commands/test/trace.d.ts +3 -0
- package/dist/cli/commands/test/trace.d.ts.map +1 -0
- package/dist/cli/commands/test/trace.js +169 -0
- package/dist/cli/commands/test/trace.js.map +1 -0
- package/dist/cli/commands/test/watch.d.ts +3 -0
- package/dist/cli/commands/test/watch.d.ts.map +1 -0
- package/dist/cli/commands/test/watch.js +129 -0
- package/dist/cli/commands/test/watch.js.map +1 -0
- package/dist/cli/commands/workflow/cancel.d.ts +55 -0
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -0
- package/dist/cli/commands/workflow/cancel.js +330 -0
- package/dist/cli/commands/workflow/cancel.js.map +1 -0
- package/dist/cli/commands/workflow/index.d.ts +11 -0
- package/dist/cli/commands/workflow/index.d.ts.map +1 -0
- package/dist/cli/commands/workflow/index.js +20 -0
- package/dist/cli/commands/workflow/index.js.map +1 -0
- package/dist/cli/commands/workflow/list.d.ts +43 -0
- package/dist/cli/commands/workflow/list.d.ts.map +1 -0
- package/dist/cli/commands/workflow/list.js +256 -0
- package/dist/cli/commands/workflow/list.js.map +1 -0
- package/dist/cli/commands/workflow/pause.d.ts +44 -0
- package/dist/cli/commands/workflow/pause.d.ts.map +1 -0
- package/dist/cli/commands/workflow/pause.js +221 -0
- package/dist/cli/commands/workflow/pause.js.map +1 -0
- package/dist/cli/index-working.js +17 -7
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/index.js +321 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/Agent.d.ts +0 -1
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +18 -8
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/ArtifactWorkflow.d.ts +149 -0
- package/dist/core/ArtifactWorkflow.d.ts.map +1 -0
- package/dist/core/ArtifactWorkflow.js +357 -0
- package/dist/core/ArtifactWorkflow.js.map +1 -0
- package/dist/core/EventBus.d.ts +0 -1
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/EventBus.js +18 -12
- package/dist/core/EventBus.js.map +1 -1
- package/dist/core/FleetManager.d.ts +0 -1
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +17 -7
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +0 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/Task.d.ts +0 -1
- package/dist/core/Task.d.ts.map +1 -1
- package/dist/core/coordination/BlackboardCoordination.d.ts +43 -0
- package/dist/core/coordination/BlackboardCoordination.d.ts.map +1 -0
- package/dist/core/coordination/BlackboardCoordination.js +95 -0
- package/dist/core/coordination/BlackboardCoordination.js.map +1 -0
- package/dist/core/coordination/ConsensusGating.d.ts +52 -0
- package/dist/core/coordination/ConsensusGating.d.ts.map +1 -0
- package/dist/core/coordination/ConsensusGating.js +137 -0
- package/dist/core/coordination/ConsensusGating.js.map +1 -0
- package/dist/core/coordination/GOAPCoordination.d.ts +78 -0
- package/dist/core/coordination/GOAPCoordination.d.ts.map +1 -0
- package/dist/core/coordination/GOAPCoordination.js +178 -0
- package/dist/core/coordination/GOAPCoordination.js.map +1 -0
- package/dist/core/coordination/OODACoordination.d.ts +98 -0
- package/dist/core/coordination/OODACoordination.d.ts.map +1 -0
- package/dist/core/coordination/OODACoordination.js +207 -0
- package/dist/core/coordination/OODACoordination.js.map +1 -0
- package/dist/core/coordination/index.d.ts +19 -0
- package/dist/core/coordination/index.d.ts.map +1 -0
- package/dist/core/coordination/index.js +22 -0
- package/dist/core/coordination/index.js.map +1 -0
- package/dist/core/events/QEEventBus.d.ts +61 -0
- package/dist/core/events/QEEventBus.d.ts.map +1 -0
- package/dist/core/events/QEEventBus.js +109 -0
- package/dist/core/events/QEEventBus.js.map +1 -0
- package/dist/core/events/index.d.ts +7 -0
- package/dist/core/events/index.d.ts.map +1 -0
- package/dist/core/events/index.js +25 -0
- package/dist/core/events/index.js.map +1 -0
- package/dist/core/events/types.d.ts +72 -0
- package/dist/core/events/types.d.ts.map +1 -0
- package/dist/core/events/types.js +6 -0
- package/dist/core/events/types.js.map +1 -0
- package/dist/core/hooks/RollbackManager.d.ts +90 -0
- package/dist/core/hooks/RollbackManager.d.ts.map +1 -0
- package/dist/core/hooks/RollbackManager.js +224 -0
- package/dist/core/hooks/RollbackManager.js.map +1 -0
- package/dist/core/hooks/VerificationHookManager.d.ts +133 -0
- package/dist/core/hooks/VerificationHookManager.d.ts.map +1 -0
- package/dist/core/hooks/VerificationHookManager.js +293 -0
- package/dist/core/hooks/VerificationHookManager.js.map +1 -0
- package/dist/core/hooks/checkers/ConfigurationChecker.d.ts +31 -0
- package/dist/core/hooks/checkers/ConfigurationChecker.d.ts.map +1 -0
- package/dist/core/hooks/checkers/ConfigurationChecker.js +98 -0
- package/dist/core/hooks/checkers/ConfigurationChecker.js.map +1 -0
- package/dist/core/hooks/checkers/EnvironmentChecker.d.ts +23 -0
- package/dist/core/hooks/checkers/EnvironmentChecker.d.ts.map +1 -0
- package/dist/core/hooks/checkers/EnvironmentChecker.js +103 -0
- package/dist/core/hooks/checkers/EnvironmentChecker.js.map +1 -0
- package/dist/core/hooks/checkers/PermissionChecker.d.ts +26 -0
- package/dist/core/hooks/checkers/PermissionChecker.d.ts.map +1 -0
- package/dist/core/hooks/checkers/PermissionChecker.js +146 -0
- package/dist/core/hooks/checkers/PermissionChecker.js.map +1 -0
- package/dist/core/hooks/checkers/ResourceChecker.d.ts +24 -0
- package/dist/core/hooks/checkers/ResourceChecker.d.ts.map +1 -0
- package/dist/core/hooks/checkers/ResourceChecker.js +107 -0
- package/dist/core/hooks/checkers/ResourceChecker.js.map +1 -0
- package/dist/core/hooks/checkers/index.d.ts +12 -0
- package/dist/core/hooks/checkers/index.d.ts.map +1 -0
- package/dist/core/hooks/checkers/index.js +15 -0
- package/dist/core/hooks/checkers/index.js.map +1 -0
- package/dist/core/hooks/index.d.ts +16 -0
- package/dist/core/hooks/index.d.ts.map +1 -0
- package/dist/core/hooks/index.js +34 -0
- package/dist/core/hooks/index.js.map +1 -0
- package/dist/core/hooks/validators/CoverageValidator.d.ts +38 -0
- package/dist/core/hooks/validators/CoverageValidator.d.ts.map +1 -0
- package/dist/core/hooks/validators/CoverageValidator.js +68 -0
- package/dist/core/hooks/validators/CoverageValidator.js.map +1 -0
- package/dist/core/hooks/validators/OutputValidator.d.ts +19 -0
- package/dist/core/hooks/validators/OutputValidator.d.ts.map +1 -0
- package/dist/core/hooks/validators/OutputValidator.js +57 -0
- package/dist/core/hooks/validators/OutputValidator.js.map +1 -0
- package/dist/core/hooks/validators/PerformanceValidator.d.ts +39 -0
- package/dist/core/hooks/validators/PerformanceValidator.d.ts.map +1 -0
- package/dist/core/hooks/validators/PerformanceValidator.js +97 -0
- package/dist/core/hooks/validators/PerformanceValidator.js.map +1 -0
- package/dist/core/hooks/validators/QualityValidator.d.ts +32 -0
- package/dist/core/hooks/validators/QualityValidator.d.ts.map +1 -0
- package/dist/core/hooks/validators/QualityValidator.js +71 -0
- package/dist/core/hooks/validators/QualityValidator.js.map +1 -0
- package/dist/core/hooks/validators/index.d.ts +12 -0
- package/dist/core/hooks/validators/index.d.ts.map +1 -0
- package/dist/core/hooks/validators/index.js +15 -0
- package/dist/core/hooks/validators/index.js.map +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/memory/AccessControl.d.ts +139 -0
- package/dist/core/memory/AccessControl.d.ts.map +1 -0
- package/dist/core/memory/AccessControl.js +269 -0
- package/dist/core/memory/AccessControl.js.map +1 -0
- package/dist/core/memory/CompressionManager.d.ts +85 -0
- package/dist/core/memory/CompressionManager.d.ts.map +1 -0
- package/dist/core/memory/CompressionManager.js +237 -0
- package/dist/core/memory/CompressionManager.js.map +1 -0
- package/dist/core/memory/EncryptionManager.d.ts +86 -0
- package/dist/core/memory/EncryptionManager.d.ts.map +1 -0
- package/dist/core/memory/EncryptionManager.js +223 -0
- package/dist/core/memory/EncryptionManager.js.map +1 -0
- package/dist/core/memory/EnhancedSwarmMemoryManager.d.ts +91 -0
- package/dist/core/memory/EnhancedSwarmMemoryManager.d.ts.map +1 -0
- package/dist/core/memory/EnhancedSwarmMemoryManager.js +226 -0
- package/dist/core/memory/EnhancedSwarmMemoryManager.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +295 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.js +1417 -0
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -0
- package/dist/core/memory/VersionHistory.d.ts +88 -0
- package/dist/core/memory/VersionHistory.d.ts.map +1 -0
- package/dist/core/memory/VersionHistory.js +249 -0
- package/dist/core/memory/VersionHistory.js.map +1 -0
- package/dist/core/memory/index.d.ts +11 -0
- package/dist/core/memory/index.d.ts.map +1 -0
- package/dist/core/memory/index.js +18 -0
- package/dist/core/memory/index.js.map +1 -0
- package/dist/coverage/coverage-collector.d.ts +63 -8
- package/dist/coverage/coverage-collector.d.ts.map +1 -1
- package/dist/coverage/coverage-collector.js +364 -14
- package/dist/coverage/coverage-collector.js.map +1 -1
- package/dist/coverage/coverage-reporter.d.ts +48 -11
- package/dist/coverage/coverage-reporter.d.ts.map +1 -1
- package/dist/coverage/coverage-reporter.js +434 -14
- package/dist/coverage/coverage-reporter.js.map +1 -1
- package/dist/mcp/handlers/advanced/api-breaking-changes.d.ts +7 -0
- package/dist/mcp/handlers/advanced/api-breaking-changes.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/api-breaking-changes.js +216 -0
- package/dist/mcp/handlers/advanced/api-breaking-changes.js.map +1 -0
- package/dist/mcp/handlers/advanced/index.d.ts +10 -0
- package/dist/mcp/handlers/advanced/index.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/index.js +19 -0
- package/dist/mcp/handlers/advanced/index.js.map +1 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts +7 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.js +229 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.js.map +1 -0
- package/dist/mcp/handlers/advanced/production-incident-replay.d.ts +7 -0
- package/dist/mcp/handlers/advanced/production-incident-replay.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/production-incident-replay.js +227 -0
- package/dist/mcp/handlers/advanced/production-incident-replay.js.map +1 -0
- package/dist/mcp/handlers/advanced/production-rum-analyze.d.ts +7 -0
- package/dist/mcp/handlers/advanced/production-rum-analyze.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/production-rum-analyze.js +288 -0
- package/dist/mcp/handlers/advanced/production-rum-analyze.js.map +1 -0
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +7 -0
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +267 -0
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +1 -0
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts +7 -0
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +1 -0
- package/dist/mcp/handlers/advanced/requirements-validate.js +175 -0
- package/dist/mcp/handlers/advanced/requirements-validate.js.map +1 -0
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts +10 -0
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +31 -0
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -0
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts +14 -0
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +55 -0
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts +35 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +162 -0
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts +56 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js +203 -0
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -0
- package/dist/mcp/handlers/analysis/index.d.ts +15 -0
- package/dist/mcp/handlers/analysis/index.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/index.js +18 -0
- package/dist/mcp/handlers/analysis/index.js.map +1 -0
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +15 -0
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +47 -0
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -0
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts +15 -0
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +55 -0
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -0
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +58 -0
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +187 -0
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +1 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts +58 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +184 -0
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -0
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts +15 -0
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +70 -0
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -0
- package/dist/mcp/handlers/analysis/securityScanComprehensive.d.ts +66 -0
- package/dist/mcp/handlers/analysis/securityScanComprehensive.d.ts.map +1 -0
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js +299 -0
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts +18 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +277 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts +18 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +214 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-resilience-test.d.ts +18 -0
- package/dist/mcp/handlers/chaos/chaos-resilience-test.d.ts.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-resilience-test.js +429 -0
- package/dist/mcp/handlers/chaos/chaos-resilience-test.js.map +1 -0
- package/dist/mcp/handlers/chaos/index.d.ts +8 -0
- package/dist/mcp/handlers/chaos/index.d.ts.map +1 -0
- package/dist/mcp/handlers/chaos/index.js +19 -0
- package/dist/mcp/handlers/chaos/index.js.map +1 -0
- package/dist/mcp/handlers/coordination/event-emit.d.ts +47 -0
- package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/event-emit.js +96 -0
- package/dist/mcp/handlers/coordination/event-emit.js.map +1 -0
- package/dist/mcp/handlers/coordination/event-subscribe.d.ts +49 -0
- package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/event-subscribe.js +210 -0
- package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -0
- package/dist/mcp/handlers/coordination/index.d.ts +22 -0
- package/dist/mcp/handlers/coordination/index.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/index.js +25 -0
- package/dist/mcp/handlers/coordination/index.js.map +1 -0
- package/dist/mcp/handlers/coordination/task-status.d.ts +75 -0
- package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/task-status.js +134 -0
- package/dist/mcp/handlers/coordination/task-status.js.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts +45 -0
- package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js +114 -0
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-create.d.ts +71 -0
- package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-create.js +163 -0
- package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-execute.d.ts +61 -0
- package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-execute.js +160 -0
- package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-resume.d.ts +49 -0
- package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -0
- package/dist/mcp/handlers/coordination/workflow-resume.js +124 -0
- package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -0
- package/dist/mcp/handlers/integration/contract-validate.d.ts +10 -0
- package/dist/mcp/handlers/integration/contract-validate.d.ts.map +1 -0
- package/dist/mcp/handlers/integration/contract-validate.js +348 -0
- package/dist/mcp/handlers/integration/contract-validate.js.map +1 -0
- package/dist/mcp/handlers/integration/dependency-check.d.ts +10 -0
- package/dist/mcp/handlers/integration/dependency-check.d.ts.map +1 -0
- package/dist/mcp/handlers/integration/dependency-check.js +252 -0
- package/dist/mcp/handlers/integration/dependency-check.js.map +1 -0
- package/dist/mcp/handlers/integration/index.d.ts +9 -0
- package/dist/mcp/handlers/integration/index.d.ts.map +1 -0
- package/dist/mcp/handlers/integration/index.js +14 -0
- package/dist/mcp/handlers/integration/index.js.map +1 -0
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts +10 -0
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -0
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +241 -0
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -0
- package/dist/mcp/handlers/memory/artifact-manifest.d.ts +57 -0
- package/dist/mcp/handlers/memory/artifact-manifest.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/artifact-manifest.js +176 -0
- package/dist/mcp/handlers/memory/artifact-manifest.js.map +1 -0
- package/dist/mcp/handlers/memory/blackboard-post.d.ts +50 -0
- package/dist/mcp/handlers/memory/blackboard-post.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/blackboard-post.js +88 -0
- package/dist/mcp/handlers/memory/blackboard-post.js.map +1 -0
- package/dist/mcp/handlers/memory/blackboard-read.d.ts +33 -0
- package/dist/mcp/handlers/memory/blackboard-read.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/blackboard-read.js +81 -0
- package/dist/mcp/handlers/memory/blackboard-read.js.map +1 -0
- package/dist/mcp/handlers/memory/consensus-propose.d.ts +57 -0
- package/dist/mcp/handlers/memory/consensus-propose.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/consensus-propose.js +99 -0
- package/dist/mcp/handlers/memory/consensus-propose.js.map +1 -0
- package/dist/mcp/handlers/memory/consensus-vote.d.ts +37 -0
- package/dist/mcp/handlers/memory/consensus-vote.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/consensus-vote.js +131 -0
- package/dist/mcp/handlers/memory/consensus-vote.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-backup.d.ts +49 -0
- package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/memory-backup.js +154 -0
- package/dist/mcp/handlers/memory/memory-backup.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-query.d.ts +35 -0
- package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/memory-query.js +96 -0
- package/dist/mcp/handlers/memory/memory-query.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-retrieve.d.ts +32 -0
- package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/memory-retrieve.js +91 -0
- package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-share.d.ts +39 -0
- package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/memory-share.js +96 -0
- package/dist/mcp/handlers/memory/memory-share.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-store.d.ts +47 -0
- package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -0
- package/dist/mcp/handlers/memory/memory-store.js +107 -0
- package/dist/mcp/handlers/memory/memory-store.js.map +1 -0
- package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts +157 -0
- package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js +483 -0
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -0
- package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts +178 -0
- package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/flaky-test-detect.js +438 -0
- package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -0
- package/dist/mcp/handlers/prediction/index.d.ts +19 -0
- package/dist/mcp/handlers/prediction/index.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/index.js +22 -0
- package/dist/mcp/handlers/prediction/index.js.map +1 -0
- package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts +133 -0
- package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/predict-defects-ai.js +278 -0
- package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -0
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +189 -0
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +419 -0
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -0
- package/dist/mcp/handlers/prediction/visual-test-regression.d.ts +138 -0
- package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -0
- package/dist/mcp/handlers/prediction/visual-test-regression.js +274 -0
- package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -0
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts +104 -0
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -0
- package/dist/mcp/handlers/quality/quality-decision-make.js +418 -0
- package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -0
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +160 -0
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -0
- package/dist/mcp/handlers/quality/quality-gate-execute.js +424 -0
- package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -0
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts +163 -0
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -0
- package/dist/mcp/handlers/quality/quality-policy-check.js +465 -0
- package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -0
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +123 -0
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -0
- package/dist/mcp/handlers/quality/quality-risk-assess.js +532 -0
- package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -0
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +117 -0
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -0
- package/dist/mcp/handlers/quality/quality-validate-metrics.js +298 -0
- package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -0
- package/dist/mcp/handlers/test/index.d.ts +9 -0
- package/dist/mcp/handlers/test/index.d.ts.map +1 -0
- package/dist/mcp/handlers/test/index.js +25 -0
- package/dist/mcp/handlers/test/index.js.map +1 -0
- package/dist/mcp/handlers/test/test-coverage-detailed.d.ts +65 -0
- package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -0
- package/dist/mcp/handlers/test/test-coverage-detailed.js +305 -0
- package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -0
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts +39 -0
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -0
- package/dist/mcp/handlers/test/test-execute-parallel.js +189 -0
- package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -0
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +40 -0
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -0
- package/dist/mcp/handlers/test/test-generate-enhanced.js +240 -0
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -0
- package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts +40 -0
- package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -0
- package/dist/mcp/handlers/test/test-optimize-sublinear.js +223 -0
- package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -0
- package/dist/mcp/handlers/test/test-report-comprehensive.d.ts +50 -0
- package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -0
- package/dist/mcp/handlers/test/test-report-comprehensive.js +239 -0
- package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -0
- package/dist/mcp/handlers/test-execute.d.ts +0 -2
- package/dist/mcp/handlers/test-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/test-execute.js +92 -45
- package/dist/mcp/handlers/test-execute.js.map +1 -1
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +92 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +3 -3
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/mcp/services/HookExecutor.d.ts +44 -5
- package/dist/mcp/services/HookExecutor.d.ts.map +1 -1
- package/dist/mcp/services/HookExecutor.js +43 -7
- package/dist/mcp/services/HookExecutor.js.map +1 -1
- package/dist/mcp/tools.d.ts +43 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1256 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types/advanced.d.ts +193 -0
- package/dist/mcp/types/advanced.d.ts.map +1 -0
- package/dist/mcp/types/advanced.js +7 -0
- package/dist/mcp/types/advanced.js.map +1 -0
- package/dist/mcp/types/analysis.d.ts +46 -0
- package/dist/mcp/types/analysis.d.ts.map +1 -0
- package/dist/mcp/types/analysis.js +6 -0
- package/dist/mcp/types/analysis.js.map +1 -0
- package/dist/mcp/types/chaos.d.ts +343 -0
- package/dist/mcp/types/chaos.d.ts.map +1 -0
- package/dist/mcp/types/chaos.js +7 -0
- package/dist/mcp/types/chaos.js.map +1 -0
- package/dist/mcp/types/integration.d.ts +418 -0
- package/dist/mcp/types/integration.d.ts.map +1 -0
- package/dist/mcp/types/integration.js +7 -0
- package/dist/mcp/types/integration.js.map +1 -0
- package/dist/types/api-contract.types.js +1 -2
- package/dist/types/api-contract.types.js.map +1 -1
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +5 -5
- package/dist/types/errors.js.map +1 -1
- package/dist/types/hook.types.d.ts +147 -0
- package/dist/types/hook.types.d.ts.map +1 -0
- package/dist/types/hook.types.js +7 -0
- package/dist/types/hook.types.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/Config.d.ts +6 -2
- package/dist/utils/Config.d.ts.map +1 -1
- package/dist/utils/Config.js +41 -0
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/FakerDataGenerator.d.ts +203 -0
- package/dist/utils/FakerDataGenerator.d.ts.map +1 -0
- package/dist/utils/FakerDataGenerator.js +379 -0
- package/dist/utils/FakerDataGenerator.js.map +1 -0
- package/dist/utils/SecurityScanner.d.ts +72 -0
- package/dist/utils/SecurityScanner.d.ts.map +1 -0
- package/dist/utils/SecurityScanner.js +388 -0
- package/dist/utils/SecurityScanner.js.map +1 -0
- package/dist/utils/TestFrameworkExecutor.d.ts +146 -0
- package/dist/utils/TestFrameworkExecutor.d.ts.map +1 -0
- package/dist/utils/TestFrameworkExecutor.js +576 -0
- package/dist/utils/TestFrameworkExecutor.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/validation.d.ts +28 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +56 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +31 -17
- package/dist/core/coverage-analyzer.d.ts +0 -50
- package/dist/core/coverage-analyzer.d.ts.map +0 -1
- package/dist/core/coverage-analyzer.js +0 -146
- package/dist/core/coverage-analyzer.js.map +0 -1
- package/dist/core/quality-gate.d.ts +0 -81
- package/dist/core/quality-gate.d.ts.map +0 -1
- package/dist/core/quality-gate.js +0 -254
- package/dist/core/quality-gate.js.map +0 -1
- package/dist/optimization/sublinear-solver.d.ts +0 -72
- package/dist/optimization/sublinear-solver.d.ts.map +0 -1
- package/dist/optimization/sublinear-solver.js +0 -263
- package/dist/optimization/sublinear-solver.js.map +0 -1
- package/dist/scripts/verifyComplexity.d.ts +0 -8
- package/dist/scripts/verifyComplexity.d.ts.map +0 -1
- package/dist/scripts/verifyComplexity.js +0 -56
- package/dist/scripts/verifyComplexity.js.map +0 -1
- package/dist/utils/sublinear/coverageOptimizer.d.ts +0 -84
- package/dist/utils/sublinear/coverageOptimizer.d.ts.map +0 -1
- package/dist/utils/sublinear/coverageOptimizer.js +0 -415
- package/dist/utils/sublinear/coverageOptimizer.js.map +0 -1
- package/dist/utils/sublinear/index.d.ts +0 -50
- package/dist/utils/sublinear/index.d.ts.map +0 -1
- package/dist/utils/sublinear/index.js +0 -390
- package/dist/utils/sublinear/index.js.map +0 -1
- package/dist/utils/sublinear/matrixSolver.d.ts +0 -132
- package/dist/utils/sublinear/matrixSolver.d.ts.map +0 -1
- package/dist/utils/sublinear/matrixSolver.js +0 -642
- package/dist/utils/sublinear/matrixSolver.js.map +0 -1
- package/dist/utils/sublinear/temporalPredictor.d.ts +0 -195
- package/dist/utils/sublinear/temporalPredictor.d.ts.map +0 -1
- package/dist/utils/sublinear/temporalPredictor.js +0 -474
- package/dist/utils/sublinear/temporalPredictor.js.map +0 -1
- package/dist/utils/sublinear/testSelector.d.ts +0 -81
- package/dist/utils/sublinear/testSelector.d.ts.map +0 -1
- package/dist/utils/sublinear/testSelector.js +0 -303
- package/dist/utils/sublinear/testSelector.js.map +0 -1
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BDD Scenario Generation Handler with REAL Analysis
|
|
4
|
+
* Generates Given-When-Then scenarios from natural language requirements
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.requirementsGenerateBDD = requirementsGenerateBDD;
|
|
8
|
+
async function requirementsGenerateBDD(params) {
|
|
9
|
+
const { requirement, format = 'gherkin', includeEdgeCases = false, generateTestCode = false, framework = 'jest', extractTestData = false } = params;
|
|
10
|
+
const scenarios = await generateScenarios(requirement, includeEdgeCases);
|
|
11
|
+
// Ensure at least one scenario is generated
|
|
12
|
+
if (scenarios.length === 0) {
|
|
13
|
+
scenarios.push(generateMainScenario(requirement, 'System Feature'));
|
|
14
|
+
}
|
|
15
|
+
let cucumberFeature;
|
|
16
|
+
if (format === 'cucumber' || format === 'gherkin') {
|
|
17
|
+
cucumberFeature = generateCucumberFormat(scenarios, requirement);
|
|
18
|
+
}
|
|
19
|
+
let testCode;
|
|
20
|
+
if (generateTestCode) {
|
|
21
|
+
testCode = generateTestCodeForFramework(scenarios, framework);
|
|
22
|
+
}
|
|
23
|
+
let testData;
|
|
24
|
+
if (extractTestData) {
|
|
25
|
+
testData = extractTestDataFromRequirement(requirement);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
scenarios,
|
|
29
|
+
cucumberFeature,
|
|
30
|
+
testCode,
|
|
31
|
+
testData
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async function generateScenarios(requirement, includeEdgeCases) {
|
|
35
|
+
const scenarios = [];
|
|
36
|
+
const lower = requirement.toLowerCase();
|
|
37
|
+
// Determine feature from requirement
|
|
38
|
+
const feature = extractFeatureName(requirement);
|
|
39
|
+
// Generate main happy path scenario
|
|
40
|
+
const mainScenario = generateMainScenario(requirement, feature);
|
|
41
|
+
scenarios.push(mainScenario);
|
|
42
|
+
// Generate error scenarios
|
|
43
|
+
if (lower.includes('authenticate') || lower.includes('login')) {
|
|
44
|
+
scenarios.push(generateErrorScenario('Invalid credentials', feature));
|
|
45
|
+
}
|
|
46
|
+
if (lower.includes('api') || lower.includes('return')) {
|
|
47
|
+
scenarios.push(generateErrorScenario('Invalid request', feature));
|
|
48
|
+
}
|
|
49
|
+
// Generate edge cases if requested
|
|
50
|
+
if (includeEdgeCases) {
|
|
51
|
+
scenarios.push(...generateEdgeCaseScenarios(requirement, feature));
|
|
52
|
+
}
|
|
53
|
+
return scenarios;
|
|
54
|
+
}
|
|
55
|
+
function extractFeatureName(requirement) {
|
|
56
|
+
const lower = requirement.toLowerCase();
|
|
57
|
+
if (lower.includes('login') || lower.includes('authenticate')) {
|
|
58
|
+
return 'User Authentication';
|
|
59
|
+
}
|
|
60
|
+
else if (lower.includes('api')) {
|
|
61
|
+
return 'API Integration';
|
|
62
|
+
}
|
|
63
|
+
else if (lower.includes('export') || lower.includes('download')) {
|
|
64
|
+
return 'Data Export';
|
|
65
|
+
}
|
|
66
|
+
else if (lower.includes('search')) {
|
|
67
|
+
return 'Search Functionality';
|
|
68
|
+
}
|
|
69
|
+
else if (lower.includes('payment') || lower.includes('checkout')) {
|
|
70
|
+
return 'Payment Processing';
|
|
71
|
+
}
|
|
72
|
+
else if (lower.includes('email') || lower.includes('validate')) {
|
|
73
|
+
return 'Input Validation';
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return 'System Feature';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function generateMainScenario(requirement, feature) {
|
|
80
|
+
const lower = requirement.toLowerCase();
|
|
81
|
+
let given = [];
|
|
82
|
+
let when = [];
|
|
83
|
+
let then = [];
|
|
84
|
+
// Authentication scenarios
|
|
85
|
+
if (lower.includes('login') || lower.includes('authenticate')) {
|
|
86
|
+
given = ['I am a registered user', 'I have valid credentials'];
|
|
87
|
+
when = ['I submit my username and password', 'I click the login button'];
|
|
88
|
+
then = ['I should be authenticated', 'I should see my dashboard'];
|
|
89
|
+
}
|
|
90
|
+
// API scenarios
|
|
91
|
+
else if (lower.includes('api') || lower.includes('return')) {
|
|
92
|
+
given = ['I have a valid API token', 'The API service is running'];
|
|
93
|
+
when = ['I make a request to the endpoint'];
|
|
94
|
+
then = ['I should receive a successful response', 'The response should contain valid data'];
|
|
95
|
+
}
|
|
96
|
+
// Export scenarios
|
|
97
|
+
else if (lower.includes('export')) {
|
|
98
|
+
given = ['I have data to export'];
|
|
99
|
+
when = ['I click the export button'];
|
|
100
|
+
then = ['A file should be downloaded', 'The file should contain my data'];
|
|
101
|
+
}
|
|
102
|
+
// Generic scenario
|
|
103
|
+
else {
|
|
104
|
+
given = ['The system is initialized', 'All prerequisites are met'];
|
|
105
|
+
when = ['I perform the required action'];
|
|
106
|
+
then = ['The expected outcome should occur', 'No errors should be displayed'];
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
title: 'Successful operation',
|
|
110
|
+
feature,
|
|
111
|
+
given,
|
|
112
|
+
when,
|
|
113
|
+
then,
|
|
114
|
+
tags: ['@happy-path', '@smoke']
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function generateErrorScenario(errorType, feature) {
|
|
118
|
+
let given = [];
|
|
119
|
+
let when = [];
|
|
120
|
+
let then = [];
|
|
121
|
+
if (errorType === 'Invalid credentials') {
|
|
122
|
+
given = ['I am on the login page'];
|
|
123
|
+
when = ['I enter invalid username or password', 'I click the login button'];
|
|
124
|
+
then = ['I should see an error message', 'I should remain on the login page'];
|
|
125
|
+
}
|
|
126
|
+
else if (errorType === 'Invalid request') {
|
|
127
|
+
given = ['I have an API client'];
|
|
128
|
+
when = ['I send a malformed request'];
|
|
129
|
+
then = ['I should receive a 400 Bad Request response', 'The response should include error details'];
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
title: `Error handling: ${errorType}`,
|
|
133
|
+
feature,
|
|
134
|
+
given,
|
|
135
|
+
when,
|
|
136
|
+
then,
|
|
137
|
+
tags: ['@error', '@negative']
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function generateEdgeCaseScenarios(requirement, feature) {
|
|
141
|
+
const scenarios = [];
|
|
142
|
+
// Boundary condition
|
|
143
|
+
scenarios.push({
|
|
144
|
+
title: 'Boundary condition test',
|
|
145
|
+
feature,
|
|
146
|
+
given: ['The system has reached a boundary value'],
|
|
147
|
+
when: ['I attempt an operation at the boundary'],
|
|
148
|
+
then: ['The system should handle it gracefully'],
|
|
149
|
+
tags: ['@edge-case', '@boundary']
|
|
150
|
+
});
|
|
151
|
+
// Concurrent access
|
|
152
|
+
if (requirement.toLowerCase().includes('concurrent') || requirement.toLowerCase().includes('user')) {
|
|
153
|
+
scenarios.push({
|
|
154
|
+
title: 'Concurrent access',
|
|
155
|
+
feature,
|
|
156
|
+
given: ['Multiple users are accessing the system'],
|
|
157
|
+
when: ['They perform actions simultaneously'],
|
|
158
|
+
then: ['Each action should complete without interference', 'Data consistency should be maintained'],
|
|
159
|
+
tags: ['@edge-case', '@concurrency']
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
return scenarios;
|
|
163
|
+
}
|
|
164
|
+
function generateCucumberFormat(scenarios, requirement) {
|
|
165
|
+
let cucumber = `Feature: ${scenarios[0].feature}\n`;
|
|
166
|
+
cucumber += ` ${requirement}\n\n`;
|
|
167
|
+
for (const scenario of scenarios) {
|
|
168
|
+
cucumber += ` ${scenario.tags ? scenario.tags.join(' ') + '\n ' : ''}`;
|
|
169
|
+
cucumber += `Scenario: ${scenario.title}\n`;
|
|
170
|
+
for (const given of scenario.given) {
|
|
171
|
+
cucumber += ` Given ${given}\n`;
|
|
172
|
+
}
|
|
173
|
+
for (const when of scenario.when) {
|
|
174
|
+
cucumber += ` When ${when}\n`;
|
|
175
|
+
}
|
|
176
|
+
for (const then of scenario.then) {
|
|
177
|
+
cucumber += ` Then ${then}\n`;
|
|
178
|
+
}
|
|
179
|
+
cucumber += '\n';
|
|
180
|
+
}
|
|
181
|
+
return cucumber;
|
|
182
|
+
}
|
|
183
|
+
function generateTestCodeForFramework(scenarios, framework) {
|
|
184
|
+
if (framework === 'jest' || framework === 'mocha' || framework === 'jasmine') {
|
|
185
|
+
return generateJestCode(scenarios);
|
|
186
|
+
}
|
|
187
|
+
else if (framework === 'cucumber-js') {
|
|
188
|
+
return generateCucumberJsCode(scenarios);
|
|
189
|
+
}
|
|
190
|
+
return generateJestCode(scenarios);
|
|
191
|
+
}
|
|
192
|
+
function generateJestCode(scenarios) {
|
|
193
|
+
let code = `describe('${scenarios[0].feature}', () => {\n`;
|
|
194
|
+
for (const scenario of scenarios) {
|
|
195
|
+
code += ` it('${scenario.title}', async () => {\n`;
|
|
196
|
+
code += ` // Given\n`;
|
|
197
|
+
for (const given of scenario.given) {
|
|
198
|
+
code += ` // ${given}\n`;
|
|
199
|
+
}
|
|
200
|
+
code += `\n // When\n`;
|
|
201
|
+
for (const when of scenario.when) {
|
|
202
|
+
code += ` // ${when}\n`;
|
|
203
|
+
}
|
|
204
|
+
code += `\n // Then\n`;
|
|
205
|
+
for (const then of scenario.then) {
|
|
206
|
+
code += ` // ${then}\n`;
|
|
207
|
+
code += ` expect(result).toBeDefined();\n`;
|
|
208
|
+
}
|
|
209
|
+
code += ` });\n\n`;
|
|
210
|
+
}
|
|
211
|
+
code += `});\n`;
|
|
212
|
+
return code;
|
|
213
|
+
}
|
|
214
|
+
function generateCucumberJsCode(scenarios) {
|
|
215
|
+
let code = `const { Given, When, Then } = require('@cucumber/cucumber');\n\n`;
|
|
216
|
+
const allGivens = new Set();
|
|
217
|
+
const allWhens = new Set();
|
|
218
|
+
const allThens = new Set();
|
|
219
|
+
for (const scenario of scenarios) {
|
|
220
|
+
scenario.given.forEach(g => allGivens.add(g));
|
|
221
|
+
scenario.when.forEach(w => allWhens.add(w));
|
|
222
|
+
scenario.then.forEach(t => allThens.add(t));
|
|
223
|
+
}
|
|
224
|
+
for (const given of allGivens) {
|
|
225
|
+
code += `Given('${given}', async function() {\n // TODO: Implement\n});\n\n`;
|
|
226
|
+
}
|
|
227
|
+
for (const when of allWhens) {
|
|
228
|
+
code += `When('${when}', async function() {\n // TODO: Implement\n});\n\n`;
|
|
229
|
+
}
|
|
230
|
+
for (const then of allThens) {
|
|
231
|
+
code += `Then('${then}', async function() {\n // TODO: Implement\n});\n\n`;
|
|
232
|
+
}
|
|
233
|
+
return code;
|
|
234
|
+
}
|
|
235
|
+
function extractTestDataFromRequirement(requirement) {
|
|
236
|
+
const validExamples = [];
|
|
237
|
+
const invalidExamples = [];
|
|
238
|
+
const edgeCases = [];
|
|
239
|
+
const lower = requirement.toLowerCase();
|
|
240
|
+
// Password requirements
|
|
241
|
+
if (lower.includes('password') && lower.includes('8')) {
|
|
242
|
+
validExamples.push('Password123', 'SecureP@ss1');
|
|
243
|
+
invalidExamples.push('pass', '12345', 'password');
|
|
244
|
+
edgeCases.push('A1234567', 'Passwor1'); // Exactly 8 characters
|
|
245
|
+
}
|
|
246
|
+
// Email validation
|
|
247
|
+
if (lower.includes('email')) {
|
|
248
|
+
validExamples.push('user@example.com', 'test.user@domain.co.uk');
|
|
249
|
+
invalidExamples.push('invalid', 'user@', '@domain.com');
|
|
250
|
+
edgeCases.push('user+tag@example.com', 'user@sub.sub.example.com');
|
|
251
|
+
}
|
|
252
|
+
// Numeric ranges
|
|
253
|
+
const rangeMatch = requirement.match(/(\d+)\s*to\s*(\d+)|between\s*(\d+)\s*and\s*(\d+)/i);
|
|
254
|
+
if (rangeMatch) {
|
|
255
|
+
const min = parseInt(rangeMatch[1] || rangeMatch[3]);
|
|
256
|
+
const max = parseInt(rangeMatch[2] || rangeMatch[4]);
|
|
257
|
+
validExamples.push(min + 1, max - 1);
|
|
258
|
+
invalidExamples.push(min - 1, max + 1);
|
|
259
|
+
edgeCases.push(min, max);
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
validExamples,
|
|
263
|
+
invalidExamples,
|
|
264
|
+
edgeCases
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=requirements-generate-bdd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements-generate-bdd.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-generate-bdd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Requirements Validation Handler with REAL Analysis
|
|
3
|
+
* Uses NLP patterns and heuristics to validate requirement testability
|
|
4
|
+
*/
|
|
5
|
+
import type { RequirementsValidateParams, RequirementsValidateResult } from '../../types/advanced';
|
|
6
|
+
export declare function requirementsValidate(params: RequirementsValidateParams): Promise<RequirementsValidateResult>;
|
|
7
|
+
//# sourceMappingURL=requirements-validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements-validate.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-validate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAG3B,MAAM,sBAAsB,CAAC;AAQ9B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAkCrC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Requirements Validation Handler with REAL Analysis
|
|
4
|
+
* Uses NLP patterns and heuristics to validate requirement testability
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.requirementsValidate = requirementsValidate;
|
|
8
|
+
// Testability keywords and patterns
|
|
9
|
+
const TESTABLE_VERBS = ['shall', 'must', 'will', 'should', 'can', 'authenticate', 'validate', 'return', 'display', 'save', 'delete', 'update'];
|
|
10
|
+
const MEASURABLE_TERMS = ['within', 'at least', 'no more than', 'maximum', 'minimum', 'exactly', 'between'];
|
|
11
|
+
const VAGUE_TERMS = ['fast', 'slow', 'good', 'bad', 'properly', 'correctly', 'appropriately', 'efficiently'];
|
|
12
|
+
const AMBIGUOUS_TERMS = ['some', 'few', 'many', 'several', 'various', 'adequate', 'reasonable'];
|
|
13
|
+
async function requirementsValidate(params) {
|
|
14
|
+
const { requirements, strictMode = false, generateTestSuggestions = false } = params;
|
|
15
|
+
if (requirements.length === 0) {
|
|
16
|
+
return {
|
|
17
|
+
totalRequirements: 0,
|
|
18
|
+
testableCount: 0,
|
|
19
|
+
validationResults: [],
|
|
20
|
+
overallScore: 0,
|
|
21
|
+
recommendations: ['No requirements provided for validation']
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const validationResults = [];
|
|
25
|
+
let testableCount = 0;
|
|
26
|
+
for (const requirement of requirements) {
|
|
27
|
+
const result = validateRequirement(requirement, strictMode, generateTestSuggestions);
|
|
28
|
+
validationResults.push(result);
|
|
29
|
+
if (result.isTestable) {
|
|
30
|
+
testableCount++;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const overallScore = validationResults.reduce((sum, r) => sum + r.testabilityScore, 0) / requirements.length;
|
|
34
|
+
const recommendations = generateRecommendations(validationResults, overallScore);
|
|
35
|
+
return {
|
|
36
|
+
totalRequirements: requirements.length,
|
|
37
|
+
testableCount,
|
|
38
|
+
validationResults,
|
|
39
|
+
overallScore,
|
|
40
|
+
recommendations
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function validateRequirement(requirement, strictMode, generateSuggestions) {
|
|
44
|
+
const issues = [];
|
|
45
|
+
let testabilityScore = 1.0;
|
|
46
|
+
// Check for testable verbs
|
|
47
|
+
const hasTestableVerb = TESTABLE_VERBS.some(verb => requirement.toLowerCase().includes(verb));
|
|
48
|
+
if (!hasTestableVerb) {
|
|
49
|
+
issues.push({
|
|
50
|
+
type: 'untestable',
|
|
51
|
+
message: 'Requirement lacks clear action verb',
|
|
52
|
+
severity: 'high',
|
|
53
|
+
suggestion: 'Use verbs like "shall", "must", "will" to specify behavior'
|
|
54
|
+
});
|
|
55
|
+
testabilityScore -= 0.3;
|
|
56
|
+
}
|
|
57
|
+
// Check for vague terms (match whole words only)
|
|
58
|
+
const vagueTerm = VAGUE_TERMS.find(term => {
|
|
59
|
+
const regex = new RegExp(`\\b${term}\\b`, 'i');
|
|
60
|
+
return regex.test(requirement);
|
|
61
|
+
});
|
|
62
|
+
if (vagueTerm) {
|
|
63
|
+
issues.push({
|
|
64
|
+
type: 'vague',
|
|
65
|
+
message: `Contains vague term: "${vagueTerm}"`,
|
|
66
|
+
severity: 'high',
|
|
67
|
+
suggestion: `Replace "${vagueTerm}" with specific, measurable criteria`
|
|
68
|
+
});
|
|
69
|
+
testabilityScore -= 0.4;
|
|
70
|
+
}
|
|
71
|
+
// Check for ambiguous terms (match whole words only)
|
|
72
|
+
const ambiguousTerm = AMBIGUOUS_TERMS.find(term => {
|
|
73
|
+
const regex = new RegExp(`\\b${term}\\b`, 'i');
|
|
74
|
+
return regex.test(requirement);
|
|
75
|
+
});
|
|
76
|
+
if (ambiguousTerm) {
|
|
77
|
+
issues.push({
|
|
78
|
+
type: 'ambiguity',
|
|
79
|
+
message: `Contains ambiguous term: "${ambiguousTerm}"`,
|
|
80
|
+
severity: 'medium',
|
|
81
|
+
suggestion: `Specify exact quantities instead of "${ambiguousTerm}"`
|
|
82
|
+
});
|
|
83
|
+
testabilityScore -= 0.2;
|
|
84
|
+
}
|
|
85
|
+
// Check for measurability in performance requirements
|
|
86
|
+
const hasMeasurableMetric = MEASURABLE_TERMS.some(term => requirement.toLowerCase().includes(term));
|
|
87
|
+
const seemsLikePerformanceReq = requirement.toLowerCase().match(/time|speed|latency|throughput|concurrent/);
|
|
88
|
+
if (seemsLikePerformanceReq && !hasMeasurableMetric) {
|
|
89
|
+
issues.push({
|
|
90
|
+
type: 'missing-criteria',
|
|
91
|
+
message: 'Performance requirement lacks measurable criteria',
|
|
92
|
+
severity: 'high',
|
|
93
|
+
suggestion: 'Add specific metrics (e.g., "within 200ms", "at least 1000 requests/sec")'
|
|
94
|
+
});
|
|
95
|
+
testabilityScore -= 0.3;
|
|
96
|
+
}
|
|
97
|
+
// Check for acceptance criteria markers
|
|
98
|
+
const hasAcceptanceCriteria = requirement.includes('Given') || requirement.includes('When') || requirement.includes('Then');
|
|
99
|
+
if (strictMode && !hasAcceptanceCriteria) {
|
|
100
|
+
issues.push({
|
|
101
|
+
type: 'missing-criteria',
|
|
102
|
+
message: 'Missing explicit acceptance criteria',
|
|
103
|
+
severity: 'medium',
|
|
104
|
+
suggestion: 'Add Given-When-Then scenarios or specify exact expected outcomes'
|
|
105
|
+
});
|
|
106
|
+
testabilityScore -= 0.1;
|
|
107
|
+
}
|
|
108
|
+
// Ensure score doesn't go negative
|
|
109
|
+
testabilityScore = Math.max(0, testabilityScore);
|
|
110
|
+
const isTestable = testabilityScore >= 0.6;
|
|
111
|
+
let testSuggestions;
|
|
112
|
+
if (generateSuggestions && isTestable) {
|
|
113
|
+
testSuggestions = generateTestSuggestions(requirement);
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
requirement,
|
|
117
|
+
isTestable,
|
|
118
|
+
testabilityScore,
|
|
119
|
+
issues,
|
|
120
|
+
testSuggestions
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function generateTestSuggestions(requirement) {
|
|
124
|
+
const suggestions = [];
|
|
125
|
+
const lower = requirement.toLowerCase();
|
|
126
|
+
if (lower.includes('login') || lower.includes('authenticate')) {
|
|
127
|
+
suggestions.push('Test valid credentials');
|
|
128
|
+
suggestions.push('Test invalid credentials');
|
|
129
|
+
suggestions.push('Test locked account scenario');
|
|
130
|
+
}
|
|
131
|
+
if (lower.includes('api') || lower.includes('endpoint')) {
|
|
132
|
+
suggestions.push('Test successful response');
|
|
133
|
+
suggestions.push('Test error handling (4xx, 5xx)');
|
|
134
|
+
suggestions.push('Test input validation');
|
|
135
|
+
}
|
|
136
|
+
if (lower.includes('within') || lower.includes('performance')) {
|
|
137
|
+
suggestions.push('Load test with expected volume');
|
|
138
|
+
suggestions.push('Measure response time distribution');
|
|
139
|
+
suggestions.push('Test under degraded conditions');
|
|
140
|
+
}
|
|
141
|
+
if (lower.includes('validate') || lower.includes('check')) {
|
|
142
|
+
suggestions.push('Test valid input');
|
|
143
|
+
suggestions.push('Test invalid input');
|
|
144
|
+
suggestions.push('Test boundary conditions');
|
|
145
|
+
}
|
|
146
|
+
if (suggestions.length === 0) {
|
|
147
|
+
suggestions.push('Create positive test case');
|
|
148
|
+
suggestions.push('Create negative test case');
|
|
149
|
+
suggestions.push('Test edge cases');
|
|
150
|
+
}
|
|
151
|
+
return suggestions;
|
|
152
|
+
}
|
|
153
|
+
function generateRecommendations(validationResults, overallScore) {
|
|
154
|
+
const recommendations = [];
|
|
155
|
+
const highIssuesCount = validationResults.reduce((count, r) => count + r.issues.filter(i => i.severity === 'high').length, 0);
|
|
156
|
+
if (overallScore < 0.5) {
|
|
157
|
+
recommendations.push('Critical: Most requirements are not testable. Consider a requirements workshop to refine them.');
|
|
158
|
+
}
|
|
159
|
+
else if (overallScore < 0.7) {
|
|
160
|
+
recommendations.push('Moderate: Several requirements need clarification to improve testability.');
|
|
161
|
+
}
|
|
162
|
+
else if (overallScore >= 0.9) {
|
|
163
|
+
recommendations.push('Excellent: Requirements are well-defined and testable.');
|
|
164
|
+
}
|
|
165
|
+
if (highIssuesCount > 0) {
|
|
166
|
+
recommendations.push(`${highIssuesCount} high-severity issues detected. Address vague and ambiguous terms first.`);
|
|
167
|
+
}
|
|
168
|
+
const untestableCount = validationResults.filter(r => !r.isTestable).length;
|
|
169
|
+
if (untestableCount > 0) {
|
|
170
|
+
recommendations.push(`${untestableCount} requirements are untestable. Add specific, measurable criteria.`);
|
|
171
|
+
}
|
|
172
|
+
recommendations.push('Consider using BDD format (Given-When-Then) for clearer acceptance criteria.');
|
|
173
|
+
return recommendations;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=requirements-validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements-validate.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/advanced/requirements-validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage Analyze Sublinear Handler
|
|
3
|
+
* Wrapper handler for the sublinear coverage analysis function
|
|
4
|
+
*/
|
|
5
|
+
import { BaseHandler, HandlerResponse } from '../base-handler.js';
|
|
6
|
+
import { CoverageAnalyzeSublinearParams } from './coverageAnalyzeSublinear.js';
|
|
7
|
+
export declare class CoverageAnalyzeSublinearHandler extends BaseHandler {
|
|
8
|
+
handle(args: CoverageAnalyzeSublinearParams): Promise<HandlerResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=coverage-analyze-sublinear-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-analyze-sublinear-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AAEvC,qBAAa,+BAAgC,SAAQ,WAAW;IACxD,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC;CAwB7E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Coverage Analyze Sublinear Handler
|
|
4
|
+
* Wrapper handler for the sublinear coverage analysis function
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CoverageAnalyzeSublinearHandler = void 0;
|
|
8
|
+
const base_handler_js_1 = require("../base-handler.js");
|
|
9
|
+
const coverageAnalyzeSublinear_js_1 = require("./coverageAnalyzeSublinear.js");
|
|
10
|
+
class CoverageAnalyzeSublinearHandler extends base_handler_js_1.BaseHandler {
|
|
11
|
+
async handle(args) {
|
|
12
|
+
const requestId = this.generateRequestId();
|
|
13
|
+
try {
|
|
14
|
+
this.log('info', 'Starting sublinear coverage analysis', { requestId, args });
|
|
15
|
+
// Execute the analysis
|
|
16
|
+
const result = await (0, coverageAnalyzeSublinear_js_1.coverageAnalyzeSublinear)(args);
|
|
17
|
+
this.log('info', 'Sublinear coverage analysis completed', {
|
|
18
|
+
requestId,
|
|
19
|
+
overallCoverage: result.overallCoverage,
|
|
20
|
+
algorithm: result.sublinearMetrics.algorithmUsed
|
|
21
|
+
});
|
|
22
|
+
return this.createSuccessResponse(result, requestId);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
this.log('error', 'Coverage analysis failed', { requestId, error });
|
|
26
|
+
return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.CoverageAnalyzeSublinearHandler = CoverageAnalyzeSublinearHandler;
|
|
31
|
+
//# sourceMappingURL=coverage-analyze-sublinear-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-analyze-sublinear-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAClE,+EAGuC;AAEvC,MAAa,+BAAgC,SAAQ,6BAAW;IAC9D,KAAK,CAAC,MAAM,CAAC,IAAoC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,IAAA,sDAAwB,EAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,EAAE;gBACxD,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,aAAa;aACjD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAzBD,0EAyBC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage Gaps Detection Handler
|
|
3
|
+
* Identifies and prioritizes coverage gaps
|
|
4
|
+
*/
|
|
5
|
+
import { BaseHandler, HandlerResponse } from '../base-handler.js';
|
|
6
|
+
export interface CoverageGapsDetectParams {
|
|
7
|
+
coverageData: Record<string, any>;
|
|
8
|
+
prioritization?: 'complexity' | 'criticality' | 'change-frequency';
|
|
9
|
+
}
|
|
10
|
+
export declare class CoverageGapsDetectHandler extends BaseHandler {
|
|
11
|
+
handle(args: CoverageGapsDetectParams): Promise<HandlerResponse>;
|
|
12
|
+
private detectGaps;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=coverage-gaps-detect-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-gaps-detect-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAC;CACpE;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IAClD,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCtE,OAAO,CAAC,UAAU;CAmBnB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Coverage Gaps Detection Handler
|
|
4
|
+
* Identifies and prioritizes coverage gaps
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CoverageGapsDetectHandler = void 0;
|
|
8
|
+
const base_handler_js_1 = require("../base-handler.js");
|
|
9
|
+
class CoverageGapsDetectHandler extends base_handler_js_1.BaseHandler {
|
|
10
|
+
async handle(args) {
|
|
11
|
+
const requestId = this.generateRequestId();
|
|
12
|
+
try {
|
|
13
|
+
this.log('info', 'Starting coverage gap detection', { requestId, args });
|
|
14
|
+
// Simulate gap detection logic
|
|
15
|
+
const gaps = this.detectGaps(args.coverageData, args.prioritization || 'complexity');
|
|
16
|
+
const result = {
|
|
17
|
+
gaps,
|
|
18
|
+
prioritization: args.prioritization || 'complexity',
|
|
19
|
+
totalGaps: gaps.length,
|
|
20
|
+
criticalGaps: gaps.filter((g) => g.priority === 'high').length
|
|
21
|
+
};
|
|
22
|
+
this.log('info', 'Coverage gap detection completed', {
|
|
23
|
+
requestId,
|
|
24
|
+
totalGaps: result.totalGaps,
|
|
25
|
+
criticalGaps: result.criticalGaps
|
|
26
|
+
});
|
|
27
|
+
return this.createSuccessResponse(result, requestId);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
this.log('error', 'Coverage gap detection failed', { requestId, error });
|
|
31
|
+
return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
detectGaps(coverageData, prioritization) {
|
|
35
|
+
// Placeholder implementation
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
38
|
+
file: 'src/auth/login.ts',
|
|
39
|
+
lines: [45, 46, 47],
|
|
40
|
+
complexity: 8,
|
|
41
|
+
priority: 'high',
|
|
42
|
+
reason: 'Critical authentication path uncovered'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
file: 'src/utils/validation.ts',
|
|
46
|
+
lines: [12, 13],
|
|
47
|
+
complexity: 3,
|
|
48
|
+
priority: 'medium',
|
|
49
|
+
reason: 'Input validation missing tests'
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.CoverageGapsDetectHandler = CoverageGapsDetectHandler;
|
|
55
|
+
//# sourceMappingURL=coverage-gaps-detect-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-gaps-detect-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAOlE,MAAa,yBAA0B,SAAQ,6BAAW;IACxD,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzE,+BAA+B;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG;gBACb,IAAI;gBACJ,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY;gBACnD,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;aACpE,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,EAAE;gBACnD,SAAS;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,YAAiC,EAAE,cAAsB;QAC1E,6BAA6B;QAC7B,OAAO;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,wCAAwC;aACjD;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,gCAAgC;aACzC;SACF,CAAC;IACJ,CAAC;CACF;AApDD,8DAoDC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage Analysis with Sublinear Algorithms (O(log n))
|
|
3
|
+
* Uses Johnson-Lindenstrauss dimension reduction for large codebases
|
|
4
|
+
*/
|
|
5
|
+
export interface CoverageAnalyzeSublinearParams {
|
|
6
|
+
sourceFiles: string[];
|
|
7
|
+
coverageThreshold?: number;
|
|
8
|
+
useJohnsonLindenstrauss?: boolean;
|
|
9
|
+
targetDimension?: number;
|
|
10
|
+
includeUncoveredLines?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CoverageAnalyzeSublinearResult {
|
|
13
|
+
overallCoverage: number;
|
|
14
|
+
fileCoverage: Record<string, number>;
|
|
15
|
+
sublinearMetrics: {
|
|
16
|
+
algorithmUsed: 'johnson-lindenstrauss' | 'spectral-sparsification' | 'adaptive-sampling';
|
|
17
|
+
originalDimension: number;
|
|
18
|
+
reducedDimension: number;
|
|
19
|
+
distortion: number;
|
|
20
|
+
computationTime: number;
|
|
21
|
+
};
|
|
22
|
+
uncoveredRegions?: Array<{
|
|
23
|
+
file: string;
|
|
24
|
+
lines: number[];
|
|
25
|
+
complexity: number;
|
|
26
|
+
priority: 'high' | 'medium' | 'low';
|
|
27
|
+
}>;
|
|
28
|
+
recommendations: string[];
|
|
29
|
+
timestamp: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Analyze code coverage using sublinear algorithms for O(log n) complexity
|
|
33
|
+
*/
|
|
34
|
+
export declare function coverageAnalyzeSublinear(params: CoverageAnalyzeSublinearParams): Promise<CoverageAnalyzeSublinearResult>;
|
|
35
|
+
//# sourceMappingURL=coverageAnalyzeSublinear.d.ts.map
|