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,469 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Security Report Generation Tool
|
|
4
|
+
*
|
|
5
|
+
* Generates comprehensive security reports in multiple formats (HTML, SARIF, JSON)
|
|
6
|
+
* with remediation steps, risk scoring, and compliance mapping.
|
|
7
|
+
*
|
|
8
|
+
* @module security/generate-report
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @author Agentic QE Team
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { generateSecurityReport } from './generate-report';
|
|
15
|
+
*
|
|
16
|
+
* const result = await generateSecurityReport({
|
|
17
|
+
* scanResults: [sarifData, dependencyData, authData],
|
|
18
|
+
* format: 'html',
|
|
19
|
+
* includeFixes: true
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.GenerateSecurityReportHandler = void 0;
|
|
58
|
+
exports.generateSecurityReport = generateSecurityReport;
|
|
59
|
+
const base_handler_js_1 = require("../base-handler.js");
|
|
60
|
+
const fs = __importStar(require("fs/promises"));
|
|
61
|
+
class GenerateSecurityReportHandler extends base_handler_js_1.BaseHandler {
|
|
62
|
+
async handle(args) {
|
|
63
|
+
return this.safeHandle(async () => {
|
|
64
|
+
const requestId = this.generateRequestId();
|
|
65
|
+
this.log('info', 'Generating security report', { requestId, format: args.format });
|
|
66
|
+
// Validate required parameters
|
|
67
|
+
this.validateRequired(args, ['scanResults', 'format']);
|
|
68
|
+
const { result, executionTime } = await this.measureExecutionTime(async () => {
|
|
69
|
+
return await generateSecurityReport(args);
|
|
70
|
+
});
|
|
71
|
+
this.log('info', `Security report generated in ${executionTime.toFixed(2)}ms`, {
|
|
72
|
+
format: result.metadata.format,
|
|
73
|
+
totalVulnerabilities: result.executiveSummary?.totalVulnerabilities || 0
|
|
74
|
+
});
|
|
75
|
+
return this.createSuccessResponse(result, requestId);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.GenerateSecurityReportHandler = GenerateSecurityReportHandler;
|
|
80
|
+
/**
|
|
81
|
+
* Generate comprehensive security report
|
|
82
|
+
*
|
|
83
|
+
* @param params - Report generation parameters
|
|
84
|
+
* @returns Generated security report with remediation plan
|
|
85
|
+
*/
|
|
86
|
+
async function generateSecurityReport(params) {
|
|
87
|
+
const { scanResults, format, includeFixes = true, includeCompliance = true, complianceStandards = ['OWASP', 'CWE', 'NIST'], includeRiskScoring = true, includeExecutiveSummary = true, outputPath, title = 'Security Assessment Report', projectName = 'Project Security Scan' } = params;
|
|
88
|
+
// Aggregate all vulnerabilities
|
|
89
|
+
const allVulnerabilities = scanResults.flatMap(scan => scan.vulnerabilities);
|
|
90
|
+
// Build findings
|
|
91
|
+
const findings = buildFindings(scanResults, allVulnerabilities, includeCompliance, complianceStandards);
|
|
92
|
+
// Generate executive summary if enabled
|
|
93
|
+
let executiveSummary;
|
|
94
|
+
if (includeExecutiveSummary) {
|
|
95
|
+
executiveSummary = generateExecutiveSummary(allVulnerabilities, includeCompliance, complianceStandards);
|
|
96
|
+
}
|
|
97
|
+
// Generate risk scoring if enabled
|
|
98
|
+
let riskScoring;
|
|
99
|
+
if (includeRiskScoring) {
|
|
100
|
+
riskScoring = calculateRiskScoring(scanResults);
|
|
101
|
+
}
|
|
102
|
+
// Generate remediation plan
|
|
103
|
+
const remediationPlan = generateRemediationPlan(allVulnerabilities, includeFixes);
|
|
104
|
+
// Generate compliance mapping if enabled
|
|
105
|
+
let complianceMapping;
|
|
106
|
+
if (includeCompliance) {
|
|
107
|
+
complianceMapping = generateComplianceMapping(allVulnerabilities, complianceStandards);
|
|
108
|
+
}
|
|
109
|
+
// Generate report content based on format
|
|
110
|
+
const content = await generateReportContent(format, {
|
|
111
|
+
title,
|
|
112
|
+
projectName,
|
|
113
|
+
executiveSummary,
|
|
114
|
+
findings,
|
|
115
|
+
riskScoring,
|
|
116
|
+
remediationPlan,
|
|
117
|
+
complianceMapping
|
|
118
|
+
});
|
|
119
|
+
// Save report if output path provided
|
|
120
|
+
let savedPath;
|
|
121
|
+
if (outputPath) {
|
|
122
|
+
savedPath = await saveReport(content, outputPath, format);
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
metadata: {
|
|
126
|
+
title,
|
|
127
|
+
projectName,
|
|
128
|
+
generatedAt: new Date().toISOString(),
|
|
129
|
+
reportVersion: '1.0.0',
|
|
130
|
+
format
|
|
131
|
+
},
|
|
132
|
+
executiveSummary,
|
|
133
|
+
findings,
|
|
134
|
+
riskScoring,
|
|
135
|
+
remediationPlan,
|
|
136
|
+
complianceMapping,
|
|
137
|
+
content,
|
|
138
|
+
outputPath: savedPath
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function buildFindings(scanResults, allVulnerabilities, includeCompliance, complianceStandards) {
|
|
142
|
+
const bySeverity = {
|
|
143
|
+
critical: allVulnerabilities.filter(v => v.severity === 'critical'),
|
|
144
|
+
high: allVulnerabilities.filter(v => v.severity === 'high'),
|
|
145
|
+
medium: allVulnerabilities.filter(v => v.severity === 'medium'),
|
|
146
|
+
low: allVulnerabilities.filter(v => v.severity === 'low')
|
|
147
|
+
};
|
|
148
|
+
const byScanType = {};
|
|
149
|
+
for (const scan of scanResults) {
|
|
150
|
+
byScanType[scan.scanType] = scan.vulnerabilities;
|
|
151
|
+
}
|
|
152
|
+
let byCompliance;
|
|
153
|
+
if (includeCompliance) {
|
|
154
|
+
byCompliance = {};
|
|
155
|
+
for (const standard of complianceStandards) {
|
|
156
|
+
byCompliance[standard] = allVulnerabilities.filter(v => (standard === 'OWASP' && v.cwe) ||
|
|
157
|
+
(standard === 'CWE' && v.cwe) ||
|
|
158
|
+
(standard === 'NIST' && v.cvssScore && v.cvssScore >= 7.0));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
bySeverity,
|
|
163
|
+
byScanType,
|
|
164
|
+
byCompliance
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function generateExecutiveSummary(vulnerabilities, includeCompliance, complianceStandards) {
|
|
168
|
+
const critical = vulnerabilities.filter(v => v.severity === 'critical').length;
|
|
169
|
+
const high = vulnerabilities.filter(v => v.severity === 'high').length;
|
|
170
|
+
const medium = vulnerabilities.filter(v => v.severity === 'medium').length;
|
|
171
|
+
const overallRiskLevel = critical > 0 ? 'critical' :
|
|
172
|
+
high > 0 ? 'high' :
|
|
173
|
+
medium > 0 ? 'medium' : 'low';
|
|
174
|
+
const recommendations = generateTopRecommendations(vulnerabilities);
|
|
175
|
+
let complianceStatus;
|
|
176
|
+
if (includeCompliance) {
|
|
177
|
+
complianceStatus = {};
|
|
178
|
+
for (const standard of complianceStandards) {
|
|
179
|
+
const violations = vulnerabilities.filter(v => (standard === 'OWASP' && v.cwe) ||
|
|
180
|
+
(standard === 'CWE' && v.cwe)).length;
|
|
181
|
+
complianceStatus[standard] = violations === 0 ? 'compliant' :
|
|
182
|
+
violations <= 3 ? 'partial' : 'non-compliant';
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
overallRiskLevel,
|
|
187
|
+
totalVulnerabilities: vulnerabilities.length,
|
|
188
|
+
criticalVulnerabilities: critical,
|
|
189
|
+
highVulnerabilities: high,
|
|
190
|
+
recommendations,
|
|
191
|
+
complianceStatus
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function generateTopRecommendations(vulnerabilities) {
|
|
195
|
+
const recommendations = [];
|
|
196
|
+
const critical = vulnerabilities.filter(v => v.severity === 'critical');
|
|
197
|
+
if (critical.length > 0) {
|
|
198
|
+
recommendations.push(`Address ${critical.length} critical vulnerabilities immediately to prevent security incidents`);
|
|
199
|
+
}
|
|
200
|
+
const sqlInjection = vulnerabilities.filter(v => v.cwe === 'CWE-89');
|
|
201
|
+
if (sqlInjection.length > 0) {
|
|
202
|
+
recommendations.push('Implement parameterized queries to prevent SQL injection attacks');
|
|
203
|
+
}
|
|
204
|
+
const xss = vulnerabilities.filter(v => v.cwe === 'CWE-79');
|
|
205
|
+
if (xss.length > 0) {
|
|
206
|
+
recommendations.push('Sanitize all user inputs to prevent Cross-Site Scripting (XSS) attacks');
|
|
207
|
+
}
|
|
208
|
+
const auth = vulnerabilities.filter(v => v.cwe === 'CWE-287' || v.cwe === 'CWE-307');
|
|
209
|
+
if (auth.length > 0) {
|
|
210
|
+
recommendations.push('Strengthen authentication mechanisms and implement rate limiting');
|
|
211
|
+
}
|
|
212
|
+
if (recommendations.length === 0) {
|
|
213
|
+
recommendations.push('Continue regular security scanning and maintain security best practices');
|
|
214
|
+
}
|
|
215
|
+
return recommendations.slice(0, 5); // Top 5 recommendations
|
|
216
|
+
}
|
|
217
|
+
function calculateRiskScoring(scanResults) {
|
|
218
|
+
const weights = {
|
|
219
|
+
critical: 10,
|
|
220
|
+
high: 7,
|
|
221
|
+
medium: 4,
|
|
222
|
+
low: 1
|
|
223
|
+
};
|
|
224
|
+
let totalScore = 0;
|
|
225
|
+
const categoryScores = {};
|
|
226
|
+
for (const scan of scanResults) {
|
|
227
|
+
let scanScore = 0;
|
|
228
|
+
scan.vulnerabilities.forEach(vuln => {
|
|
229
|
+
scanScore += weights[vuln.severity];
|
|
230
|
+
});
|
|
231
|
+
categoryScores[scan.scanType] = scanScore;
|
|
232
|
+
totalScore += scanScore;
|
|
233
|
+
}
|
|
234
|
+
// Normalize to 0-100 scale
|
|
235
|
+
const overallScore = Math.min(totalScore, 100);
|
|
236
|
+
return {
|
|
237
|
+
overallScore,
|
|
238
|
+
categoryScores,
|
|
239
|
+
trendAnalysis: {
|
|
240
|
+
trend: 'stable',
|
|
241
|
+
change: 0
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
function generateRemediationPlan(vulnerabilities, includeFixes) {
|
|
246
|
+
const immediate = [];
|
|
247
|
+
const shortTerm = [];
|
|
248
|
+
const longTerm = [];
|
|
249
|
+
vulnerabilities.forEach((vuln, index) => {
|
|
250
|
+
const action = includeFixes && vuln.fixSuggestion
|
|
251
|
+
? vuln.fixSuggestion
|
|
252
|
+
: vuln.recommendation;
|
|
253
|
+
const item = {
|
|
254
|
+
vulnerability: vuln.title,
|
|
255
|
+
action,
|
|
256
|
+
priority: index + 1,
|
|
257
|
+
estimatedEffort: vuln.severity === 'critical' ? '1-2 days' :
|
|
258
|
+
vuln.severity === 'high' ? '3-5 days' :
|
|
259
|
+
vuln.severity === 'medium' ? '1-2 weeks' : '2-4 weeks'
|
|
260
|
+
};
|
|
261
|
+
if (vuln.severity === 'critical') {
|
|
262
|
+
immediate.push(item);
|
|
263
|
+
}
|
|
264
|
+
else if (vuln.severity === 'high') {
|
|
265
|
+
shortTerm.push(item);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
longTerm.push(item);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
return {
|
|
272
|
+
immediate: immediate.slice(0, 10),
|
|
273
|
+
shortTerm: shortTerm.slice(0, 10),
|
|
274
|
+
longTerm: longTerm.slice(0, 10)
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
function generateComplianceMapping(vulnerabilities, complianceStandards) {
|
|
278
|
+
const mapping = {};
|
|
279
|
+
for (const standard of complianceStandards) {
|
|
280
|
+
if (standard === 'OWASP') {
|
|
281
|
+
mapping['OWASP'] = {
|
|
282
|
+
standard: 'OWASP Top 10 2021',
|
|
283
|
+
requirements: [
|
|
284
|
+
{
|
|
285
|
+
requirement: 'A03:2021 – Injection',
|
|
286
|
+
status: vulnerabilities.some(v => v.cwe === 'CWE-89') ? 'not-met' : 'met',
|
|
287
|
+
relatedVulnerabilities: vulnerabilities.filter(v => v.cwe === 'CWE-89').map(v => v.id)
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
requirement: 'A07:2021 – Identification and Authentication Failures',
|
|
291
|
+
status: vulnerabilities.some(v => v.cwe === 'CWE-287') ? 'not-met' : 'met',
|
|
292
|
+
relatedVulnerabilities: vulnerabilities.filter(v => v.cwe === 'CWE-287').map(v => v.id)
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return mapping;
|
|
299
|
+
}
|
|
300
|
+
async function generateReportContent(format, data) {
|
|
301
|
+
switch (format) {
|
|
302
|
+
case 'html':
|
|
303
|
+
return generateHTMLReport(data);
|
|
304
|
+
case 'sarif':
|
|
305
|
+
return generateSARIFReport(data);
|
|
306
|
+
case 'json':
|
|
307
|
+
return JSON.stringify(data, null, 2);
|
|
308
|
+
case 'markdown':
|
|
309
|
+
return generateMarkdownReport(data);
|
|
310
|
+
default:
|
|
311
|
+
return JSON.stringify(data, null, 2);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function generateHTMLReport(data) {
|
|
315
|
+
return `<!DOCTYPE html>
|
|
316
|
+
<html lang="en">
|
|
317
|
+
<head>
|
|
318
|
+
<meta charset="UTF-8">
|
|
319
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
320
|
+
<title>${data.title}</title>
|
|
321
|
+
<style>
|
|
322
|
+
body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
|
|
323
|
+
.container { max-width: 1200px; margin: 0 auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
|
|
324
|
+
h1 { color: #333; border-bottom: 3px solid #007bff; padding-bottom: 10px; }
|
|
325
|
+
h2 { color: #555; margin-top: 30px; border-bottom: 2px solid #ccc; padding-bottom: 8px; }
|
|
326
|
+
.critical { color: #dc3545; font-weight: bold; }
|
|
327
|
+
.high { color: #fd7e14; font-weight: bold; }
|
|
328
|
+
.medium { color: #ffc107; font-weight: bold; }
|
|
329
|
+
.low { color: #28a745; }
|
|
330
|
+
.summary-box { background: #f8f9fa; padding: 20px; border-radius: 5px; margin: 20px 0; border-left: 4px solid #007bff; }
|
|
331
|
+
.vulnerability { background: #fff; border: 1px solid #dee2e6; border-radius: 5px; padding: 15px; margin: 10px 0; }
|
|
332
|
+
table { width: 100%; border-collapse: collapse; margin: 20px 0; }
|
|
333
|
+
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; }
|
|
334
|
+
th { background: #007bff; color: white; }
|
|
335
|
+
.recommendation { background: #d1ecf1; border-left: 4px solid #17a2b8; padding: 10px; margin: 10px 0; }
|
|
336
|
+
</style>
|
|
337
|
+
</head>
|
|
338
|
+
<body>
|
|
339
|
+
<div class="container">
|
|
340
|
+
<h1>${data.title}</h1>
|
|
341
|
+
<p><strong>Project:</strong> ${data.projectName}</p>
|
|
342
|
+
<p><strong>Generated:</strong> ${new Date().toISOString()}</p>
|
|
343
|
+
|
|
344
|
+
${data.executiveSummary ? `
|
|
345
|
+
<div class="summary-box">
|
|
346
|
+
<h2>Executive Summary</h2>
|
|
347
|
+
<p><strong>Overall Risk Level:</strong> <span class="${data.executiveSummary.overallRiskLevel}">${data.executiveSummary.overallRiskLevel.toUpperCase()}</span></p>
|
|
348
|
+
<p><strong>Total Vulnerabilities:</strong> ${data.executiveSummary.totalVulnerabilities}</p>
|
|
349
|
+
<p><strong>Critical:</strong> <span class="critical">${data.executiveSummary.criticalVulnerabilities}</span></p>
|
|
350
|
+
<p><strong>High:</strong> <span class="high">${data.executiveSummary.highVulnerabilities}</span></p>
|
|
351
|
+
</div>
|
|
352
|
+
` : ''}
|
|
353
|
+
|
|
354
|
+
<h2>Vulnerability Summary</h2>
|
|
355
|
+
<table>
|
|
356
|
+
<tr>
|
|
357
|
+
<th>Severity</th>
|
|
358
|
+
<th>Count</th>
|
|
359
|
+
</tr>
|
|
360
|
+
<tr>
|
|
361
|
+
<td class="critical">Critical</td>
|
|
362
|
+
<td>${data.findings.bySeverity.critical.length}</td>
|
|
363
|
+
</tr>
|
|
364
|
+
<tr>
|
|
365
|
+
<td class="high">High</td>
|
|
366
|
+
<td>${data.findings.bySeverity.high.length}</td>
|
|
367
|
+
</tr>
|
|
368
|
+
<tr>
|
|
369
|
+
<td class="medium">Medium</td>
|
|
370
|
+
<td>${data.findings.bySeverity.medium.length}</td>
|
|
371
|
+
</tr>
|
|
372
|
+
<tr>
|
|
373
|
+
<td class="low">Low</td>
|
|
374
|
+
<td>${data.findings.bySeverity.low.length}</td>
|
|
375
|
+
</tr>
|
|
376
|
+
</table>
|
|
377
|
+
|
|
378
|
+
<h2>Recommendations</h2>
|
|
379
|
+
${data.executiveSummary?.recommendations.map((rec) => `<div class="recommendation">${rec}</div>`).join('')}
|
|
380
|
+
</div>
|
|
381
|
+
</body>
|
|
382
|
+
</html>`;
|
|
383
|
+
}
|
|
384
|
+
function generateSARIFReport(data) {
|
|
385
|
+
const results = [];
|
|
386
|
+
for (const [severity, vulns] of Object.entries(data.findings.bySeverity)) {
|
|
387
|
+
for (const vuln of vulns) {
|
|
388
|
+
results.push({
|
|
389
|
+
ruleId: vuln.cwe || vuln.id,
|
|
390
|
+
level: severity === 'critical' || severity === 'high' ? 'error' : 'warning',
|
|
391
|
+
message: {
|
|
392
|
+
text: vuln.description
|
|
393
|
+
},
|
|
394
|
+
locations: vuln.location ? [{
|
|
395
|
+
physicalLocation: {
|
|
396
|
+
artifactLocation: {
|
|
397
|
+
uri: vuln.location.file
|
|
398
|
+
},
|
|
399
|
+
region: {
|
|
400
|
+
startLine: vuln.location.line || 1
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}] : []
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return JSON.stringify({
|
|
408
|
+
version: '2.1.0',
|
|
409
|
+
$schema: 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json',
|
|
410
|
+
runs: [{
|
|
411
|
+
tool: {
|
|
412
|
+
driver: {
|
|
413
|
+
name: 'Agentic QE Security Scanner',
|
|
414
|
+
version: '1.0.0'
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
results
|
|
418
|
+
}]
|
|
419
|
+
}, null, 2);
|
|
420
|
+
}
|
|
421
|
+
function generateMarkdownReport(data) {
|
|
422
|
+
return `# ${data.title}
|
|
423
|
+
|
|
424
|
+
**Project:** ${data.projectName}
|
|
425
|
+
**Generated:** ${new Date().toISOString()}
|
|
426
|
+
|
|
427
|
+
## Executive Summary
|
|
428
|
+
|
|
429
|
+
${data.executiveSummary ? `
|
|
430
|
+
- **Overall Risk Level:** ${data.executiveSummary.overallRiskLevel.toUpperCase()}
|
|
431
|
+
- **Total Vulnerabilities:** ${data.executiveSummary.totalVulnerabilities}
|
|
432
|
+
- **Critical:** ${data.executiveSummary.criticalVulnerabilities}
|
|
433
|
+
- **High:** ${data.executiveSummary.highVulnerabilities}
|
|
434
|
+
` : ''}
|
|
435
|
+
|
|
436
|
+
## Vulnerability Summary
|
|
437
|
+
|
|
438
|
+
| Severity | Count |
|
|
439
|
+
|----------|-------|
|
|
440
|
+
| Critical | ${data.findings.bySeverity.critical.length} |
|
|
441
|
+
| High | ${data.findings.bySeverity.high.length} |
|
|
442
|
+
| Medium | ${data.findings.bySeverity.medium.length} |
|
|
443
|
+
| Low | ${data.findings.bySeverity.low.length} |
|
|
444
|
+
|
|
445
|
+
## Recommendations
|
|
446
|
+
|
|
447
|
+
${data.executiveSummary?.recommendations.map((rec) => `- ${rec}`).join('\n')}
|
|
448
|
+
|
|
449
|
+
## Remediation Plan
|
|
450
|
+
|
|
451
|
+
### Immediate Actions (Critical)
|
|
452
|
+
${data.remediationPlan.immediate.map((item) => `
|
|
453
|
+
- **${item.vulnerability}**
|
|
454
|
+
- Action: ${item.action}
|
|
455
|
+
- Effort: ${item.estimatedEffort}
|
|
456
|
+
`).join('\n')}
|
|
457
|
+
`;
|
|
458
|
+
}
|
|
459
|
+
async function saveReport(content, outputPath, format) {
|
|
460
|
+
try {
|
|
461
|
+
await fs.writeFile(outputPath, content, 'utf-8');
|
|
462
|
+
return outputPath;
|
|
463
|
+
}
|
|
464
|
+
catch (error) {
|
|
465
|
+
// Return content if file can't be saved
|
|
466
|
+
return 'report-not-saved';
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
//# sourceMappingURL=generate-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-report.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/generate-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Domain Tools
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive security testing tools for SAST, DAST, authentication,
|
|
5
|
+
* authorization, dependency scanning, and security reporting.
|
|
6
|
+
*
|
|
7
|
+
* @module security
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
* @author Agentic QE Team
|
|
10
|
+
*/
|
|
11
|
+
export { securityScanComprehensive, type SecurityScanComprehensiveParams, type SecurityScanComprehensiveResult, type SecurityVulnerability, type ComplianceCheck } from './scan-comprehensive';
|
|
12
|
+
export { validateAuthenticationFlow, ValidateAuthenticationFlowHandler, type ValidateAuthenticationFlowParams, type AuthValidationResult, type AuthTestCase, type AuthFinding } from './validate-auth';
|
|
13
|
+
export { checkAuthorizationRules, CheckAuthorizationRulesHandler, type CheckAuthorizationRulesParams, type AuthzCheckResult, type AuthorizationPolicy, type AuthzFinding } from './check-authz';
|
|
14
|
+
export { scanDependenciesVulnerabilities, ScanDependenciesVulnerabilitiesHandler, type ScanDependenciesVulnerabilitiesParams, type VulnerabilityScanResult, type DependencyVulnerability, type LicenseIssue, type OutdatedPackage } from './scan-dependencies';
|
|
15
|
+
export { generateSecurityReport, GenerateSecurityReportHandler, type GenerateSecurityReportParams, type SecurityReport, type SecurityScanData } from './generate-report';
|
|
16
|
+
/**
|
|
17
|
+
* Security Domain Tool Registry
|
|
18
|
+
*
|
|
19
|
+
* All tools are registered and available for MCP server integration.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SECURITY_TOOLS: {
|
|
22
|
+
readonly 'scan-comprehensive': {
|
|
23
|
+
readonly name: "scan-comprehensive";
|
|
24
|
+
readonly description: "Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring";
|
|
25
|
+
readonly handler: "securityScanComprehensive";
|
|
26
|
+
};
|
|
27
|
+
readonly 'validate-auth': {
|
|
28
|
+
readonly name: "validate-auth";
|
|
29
|
+
readonly description: "Validate authentication flows, test auth endpoints, and perform token validation";
|
|
30
|
+
readonly handler: "validateAuthenticationFlow";
|
|
31
|
+
};
|
|
32
|
+
readonly 'check-authz': {
|
|
33
|
+
readonly name: "check-authz";
|
|
34
|
+
readonly description: "Check authorization rules, policy enforcement, and RBAC/ABAC configuration";
|
|
35
|
+
readonly handler: "checkAuthorizationRules";
|
|
36
|
+
};
|
|
37
|
+
readonly 'scan-dependencies': {
|
|
38
|
+
readonly name: "scan-dependencies";
|
|
39
|
+
readonly description: "Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions";
|
|
40
|
+
readonly handler: "scanDependenciesVulnerabilities";
|
|
41
|
+
};
|
|
42
|
+
readonly 'generate-report': {
|
|
43
|
+
readonly name: "generate-report";
|
|
44
|
+
readonly description: "Generate security reports in HTML, SARIF, JSON, or Markdown formats";
|
|
45
|
+
readonly handler: "generateSecurityReport";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Get all security tool names
|
|
50
|
+
*/
|
|
51
|
+
export declare function getSecurityToolNames(): string[];
|
|
52
|
+
/**
|
|
53
|
+
* Get security tool by name
|
|
54
|
+
*/
|
|
55
|
+
export declare function getSecurityTool(name: string): {
|
|
56
|
+
readonly name: "scan-comprehensive";
|
|
57
|
+
readonly description: "Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring";
|
|
58
|
+
readonly handler: "securityScanComprehensive";
|
|
59
|
+
} | {
|
|
60
|
+
readonly name: "validate-auth";
|
|
61
|
+
readonly description: "Validate authentication flows, test auth endpoints, and perform token validation";
|
|
62
|
+
readonly handler: "validateAuthenticationFlow";
|
|
63
|
+
} | {
|
|
64
|
+
readonly name: "check-authz";
|
|
65
|
+
readonly description: "Check authorization rules, policy enforcement, and RBAC/ABAC configuration";
|
|
66
|
+
readonly handler: "checkAuthorizationRules";
|
|
67
|
+
} | {
|
|
68
|
+
readonly name: "scan-dependencies";
|
|
69
|
+
readonly description: "Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions";
|
|
70
|
+
readonly handler: "scanDependenciesVulnerabilities";
|
|
71
|
+
} | {
|
|
72
|
+
readonly name: "generate-report";
|
|
73
|
+
readonly description: "Generate security reports in HTML, SARIF, JSON, or Markdown formats";
|
|
74
|
+
readonly handler: "generateSecurityReport";
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Check if tool exists in security domain
|
|
78
|
+
*/
|
|
79
|
+
export declare function isSecurityTool(name: string): boolean;
|
|
80
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,EACtC,KAAK,qCAAqC,EAC1C,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;EAE3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Security Domain Tools
|
|
4
|
+
*
|
|
5
|
+
* Comprehensive security testing tools for SAST, DAST, authentication,
|
|
6
|
+
* authorization, dependency scanning, and security reporting.
|
|
7
|
+
*
|
|
8
|
+
* @module security
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @author Agentic QE Team
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.SECURITY_TOOLS = exports.GenerateSecurityReportHandler = exports.generateSecurityReport = exports.ScanDependenciesVulnerabilitiesHandler = exports.scanDependenciesVulnerabilities = exports.CheckAuthorizationRulesHandler = exports.checkAuthorizationRules = exports.ValidateAuthenticationFlowHandler = exports.validateAuthenticationFlow = exports.securityScanComprehensive = void 0;
|
|
14
|
+
exports.getSecurityToolNames = getSecurityToolNames;
|
|
15
|
+
exports.getSecurityTool = getSecurityTool;
|
|
16
|
+
exports.isSecurityTool = isSecurityTool;
|
|
17
|
+
// Comprehensive Security Scanning
|
|
18
|
+
var scan_comprehensive_1 = require("./scan-comprehensive");
|
|
19
|
+
Object.defineProperty(exports, "securityScanComprehensive", { enumerable: true, get: function () { return scan_comprehensive_1.securityScanComprehensive; } });
|
|
20
|
+
// Authentication Validation
|
|
21
|
+
var validate_auth_1 = require("./validate-auth");
|
|
22
|
+
Object.defineProperty(exports, "validateAuthenticationFlow", { enumerable: true, get: function () { return validate_auth_1.validateAuthenticationFlow; } });
|
|
23
|
+
Object.defineProperty(exports, "ValidateAuthenticationFlowHandler", { enumerable: true, get: function () { return validate_auth_1.ValidateAuthenticationFlowHandler; } });
|
|
24
|
+
// Authorization Checking
|
|
25
|
+
var check_authz_1 = require("./check-authz");
|
|
26
|
+
Object.defineProperty(exports, "checkAuthorizationRules", { enumerable: true, get: function () { return check_authz_1.checkAuthorizationRules; } });
|
|
27
|
+
Object.defineProperty(exports, "CheckAuthorizationRulesHandler", { enumerable: true, get: function () { return check_authz_1.CheckAuthorizationRulesHandler; } });
|
|
28
|
+
// Dependency Vulnerability Scanning
|
|
29
|
+
var scan_dependencies_1 = require("./scan-dependencies");
|
|
30
|
+
Object.defineProperty(exports, "scanDependenciesVulnerabilities", { enumerable: true, get: function () { return scan_dependencies_1.scanDependenciesVulnerabilities; } });
|
|
31
|
+
Object.defineProperty(exports, "ScanDependenciesVulnerabilitiesHandler", { enumerable: true, get: function () { return scan_dependencies_1.ScanDependenciesVulnerabilitiesHandler; } });
|
|
32
|
+
// Security Report Generation
|
|
33
|
+
var generate_report_1 = require("./generate-report");
|
|
34
|
+
Object.defineProperty(exports, "generateSecurityReport", { enumerable: true, get: function () { return generate_report_1.generateSecurityReport; } });
|
|
35
|
+
Object.defineProperty(exports, "GenerateSecurityReportHandler", { enumerable: true, get: function () { return generate_report_1.GenerateSecurityReportHandler; } });
|
|
36
|
+
/**
|
|
37
|
+
* Security Domain Tool Registry
|
|
38
|
+
*
|
|
39
|
+
* All tools are registered and available for MCP server integration.
|
|
40
|
+
*/
|
|
41
|
+
exports.SECURITY_TOOLS = {
|
|
42
|
+
// Comprehensive scanning
|
|
43
|
+
'scan-comprehensive': {
|
|
44
|
+
name: 'scan-comprehensive',
|
|
45
|
+
description: 'Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring',
|
|
46
|
+
handler: 'securityScanComprehensive'
|
|
47
|
+
},
|
|
48
|
+
// Authentication validation
|
|
49
|
+
'validate-auth': {
|
|
50
|
+
name: 'validate-auth',
|
|
51
|
+
description: 'Validate authentication flows, test auth endpoints, and perform token validation',
|
|
52
|
+
handler: 'validateAuthenticationFlow'
|
|
53
|
+
},
|
|
54
|
+
// Authorization checking
|
|
55
|
+
'check-authz': {
|
|
56
|
+
name: 'check-authz',
|
|
57
|
+
description: 'Check authorization rules, policy enforcement, and RBAC/ABAC configuration',
|
|
58
|
+
handler: 'checkAuthorizationRules'
|
|
59
|
+
},
|
|
60
|
+
// Dependency scanning
|
|
61
|
+
'scan-dependencies': {
|
|
62
|
+
name: 'scan-dependencies',
|
|
63
|
+
description: 'Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions',
|
|
64
|
+
handler: 'scanDependenciesVulnerabilities'
|
|
65
|
+
},
|
|
66
|
+
// Report generation
|
|
67
|
+
'generate-report': {
|
|
68
|
+
name: 'generate-report',
|
|
69
|
+
description: 'Generate security reports in HTML, SARIF, JSON, or Markdown formats',
|
|
70
|
+
handler: 'generateSecurityReport'
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Get all security tool names
|
|
75
|
+
*/
|
|
76
|
+
function getSecurityToolNames() {
|
|
77
|
+
return Object.keys(exports.SECURITY_TOOLS);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get security tool by name
|
|
81
|
+
*/
|
|
82
|
+
function getSecurityTool(name) {
|
|
83
|
+
return exports.SECURITY_TOOLS[name];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if tool exists in security domain
|
|
87
|
+
*/
|
|
88
|
+
function isSecurityTool(name) {
|
|
89
|
+
return name in exports.SECURITY_TOOLS;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAgGH,oDAEC;AAKD,0CAEC;AAKD,wCAEC;AA9GD,kCAAkC;AAClC,2DAM8B;AAL5B,+HAAA,yBAAyB,OAAA;AAO3B,4BAA4B;AAC5B,iDAOyB;AANvB,2HAAA,0BAA0B,OAAA;AAC1B,kIAAA,iCAAiC,OAAA;AAOnC,yBAAyB;AACzB,6CAOuB;AANrB,sHAAA,uBAAuB,OAAA;AACvB,6HAAA,8BAA8B,OAAA;AAOhC,oCAAoC;AACpC,yDAQ6B;AAP3B,oIAAA,+BAA+B,OAAA;AAC/B,2IAAA,sCAAsC,OAAA;AAQxC,6BAA6B;AAC7B,qDAM2B;AALzB,yHAAA,sBAAsB,OAAA;AACtB,gIAAA,6BAA6B,OAAA;AAM/B;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,yBAAyB;IACzB,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,2BAA2B;KACrC;IAED,4BAA4B;IAC5B,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kFAAkF;QAC/F,OAAO,EAAE,4BAA4B;KACtC;IAED,yBAAyB;IACzB,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4EAA4E;QACzF,OAAO,EAAE,yBAAyB;KACnC;IAED,sBAAsB;IACtB,mBAAmB,EAAE;QACnB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE,iCAAiC;KAC3C;IAED,oBAAoB;IACpB,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,wBAAwB;KAClC;CACO,CAAC;AAEX;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAc,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,sBAAc,CAAC,IAAmC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,IAAI,sBAAc,CAAC;AAChC,CAAC"}
|