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
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qe-code-complexity
|
|
3
|
-
version: 1.0.0
|
|
4
3
|
description: Educational code complexity analyzer demonstrating the Agentic QE Fleet architecture
|
|
5
|
-
tags: [quality-engineering, complexity-analysis, refactoring, learning-example]
|
|
6
|
-
capabilities: [complexity-analysis, refactoring-recommendations, pattern-detection]
|
|
7
|
-
type: quality-analyzer
|
|
8
4
|
---
|
|
9
5
|
|
|
10
6
|
# QE Code Complexity Analyzer
|
|
@@ -252,28 +248,121 @@ npm test tests/agents/CodeComplexityAnalyzerAgent.test.ts
|
|
|
252
248
|
|
|
253
249
|
## Architecture Insights
|
|
254
250
|
|
|
255
|
-
### Memory Namespace
|
|
256
|
-
- `aqe/complexity/${agentId}/current-request` - Active analysis request
|
|
257
|
-
- `aqe/complexity/${agentId}/latest-result` - Most recent result
|
|
258
|
-
- `aqe/complexity/${agentId}/history` - Historical analyses (last 100)
|
|
259
|
-
- `aqe/complexity/${agentId}/errors/*` - Error tracking
|
|
260
251
|
|
|
261
|
-
|
|
262
|
-
- `complexity:analysis:completed` - When analysis finishes successfully
|
|
263
|
-
- `complexity:analysis:stored` - When results are persisted
|
|
252
|
+
## Code Execution Workflows
|
|
264
253
|
|
|
265
|
-
|
|
266
|
-
- `complexity-analysis` - Core analysis functionality
|
|
267
|
-
- `refactoring-recommendations` - AI-powered suggestions
|
|
268
|
-
- `pattern-detection` - Complex code pattern recognition
|
|
254
|
+
Analyze code complexity and generate refactoring recommendations.
|
|
269
255
|
|
|
270
|
-
|
|
256
|
+
### Code Complexity Analysis
|
|
271
257
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
258
|
+
```typescript
|
|
259
|
+
/**
|
|
260
|
+
* Code Quality Analysis Tools
|
|
261
|
+
*
|
|
262
|
+
* Import path: 'agentic-qe/tools/qe/code-quality'
|
|
263
|
+
* Type definitions: 'agentic-qe/tools/qe/shared/types'
|
|
264
|
+
*/
|
|
265
|
+
|
|
266
|
+
import type {
|
|
267
|
+
QEToolResponse
|
|
268
|
+
} from 'agentic-qe/tools/qe/shared/types';
|
|
269
|
+
|
|
270
|
+
import {
|
|
271
|
+
analyzeComplexity,
|
|
272
|
+
detectCodeSmells,
|
|
273
|
+
calculateMaintainability
|
|
274
|
+
} from 'agentic-qe/tools/qe/code-quality';
|
|
275
|
+
|
|
276
|
+
// Example: Analyze code complexity and get refactoring suggestions
|
|
277
|
+
const complexityParams = {
|
|
278
|
+
sourceFiles: ['./src/**/*.ts'],
|
|
279
|
+
metrics: ['cyclomatic', 'cognitive', 'maintainability'],
|
|
280
|
+
language: 'typescript',
|
|
281
|
+
thresholds: {
|
|
282
|
+
cyclomaticComplexity: 10,
|
|
283
|
+
cognitiveComplexity: 15,
|
|
284
|
+
maintainabilityIndex: 60
|
|
285
|
+
},
|
|
286
|
+
generateRecommendations: true
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
const analysis: QEToolResponse<any> =
|
|
290
|
+
await analyzeComplexity(complexityParams);
|
|
291
|
+
|
|
292
|
+
if (analysis.success && analysis.data) {
|
|
293
|
+
console.log('Code Complexity Analysis:');
|
|
294
|
+
console.log(` Average Cyclomatic: ${analysis.data.avgCyclomatic.toFixed(2)}`);
|
|
295
|
+
console.log(` Cognitive Complexity: ${analysis.data.cognitiveComplexity.toFixed(2)}`);
|
|
296
|
+
console.log(` Maintainability Index: ${analysis.data.maintainabilityIndex.toFixed(2)}`);
|
|
297
|
+
|
|
298
|
+
if (analysis.data.recommendations.length > 0) {
|
|
299
|
+
console.log('\n Refactoring Recommendations:');
|
|
300
|
+
analysis.data.recommendations.forEach((rec: any) => {
|
|
301
|
+
console.log(` - ${rec.file}: ${rec.suggestion} (Priority: ${rec.priority})`);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
console.log('✅ Code complexity analysis complete');
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Code Smell Detection
|
|
310
|
+
|
|
311
|
+
```typescript
|
|
312
|
+
// Detect code smells and anti-patterns
|
|
313
|
+
const smellParams = {
|
|
314
|
+
sourceFiles: ['./src/**/*.ts'],
|
|
315
|
+
smellTypes: ['long-method', 'large-class', 'duplicated-code', 'complex-conditional'],
|
|
316
|
+
severity: 'medium',
|
|
317
|
+
includeExamples: true
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
const smells: QEToolResponse<any> =
|
|
321
|
+
await detectCodeSmells(smellParams);
|
|
322
|
+
|
|
323
|
+
if (smells.success && smells.data) {
|
|
324
|
+
console.log('\nCode Smells Detected:');
|
|
325
|
+
smells.data.smells.forEach((smell: any) => {
|
|
326
|
+
console.log(` ${smell.type} in ${smell.file}:${smell.line}`);
|
|
327
|
+
console.log(` Severity: ${smell.severity}`);
|
|
328
|
+
console.log(` Suggestion: ${smell.suggestion}`);
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Maintainability Calculation
|
|
334
|
+
|
|
335
|
+
```typescript
|
|
336
|
+
// Calculate comprehensive maintainability metrics
|
|
337
|
+
const maintainParams = {
|
|
338
|
+
sourceFiles: ['./src/**/*.ts'],
|
|
339
|
+
includeHistory: true,
|
|
340
|
+
comparePrevious: true
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
const maintainability: QEToolResponse<any> =
|
|
344
|
+
await calculateMaintainability(maintainParams);
|
|
345
|
+
|
|
346
|
+
if (maintainability.success && maintainability.data) {
|
|
347
|
+
console.log('\nMaintainability Analysis:');
|
|
348
|
+
console.log(` Overall Score: ${maintainability.data.overallScore}/100`);
|
|
349
|
+
console.log(` Technical Debt: ${maintainability.data.technicalDebt} hours`);
|
|
350
|
+
console.log(` Trend: ${maintainability.data.trend}`);
|
|
351
|
+
}
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Using Code Quality Tools via CLI
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
# Analyze complexity
|
|
358
|
+
aqe code-quality analyze --files ./src/**/*.ts --metrics all
|
|
359
|
+
|
|
360
|
+
# Detect code smells
|
|
361
|
+
aqe code-quality detect-smells --files ./src/**/*.ts --severity medium
|
|
362
|
+
|
|
363
|
+
# Calculate maintainability
|
|
364
|
+
aqe code-quality maintainability --files ./src/**/*.ts --detailed
|
|
365
|
+
```
|
|
277
366
|
|
|
278
367
|
## Resources
|
|
279
368
|
|
|
@@ -282,7 +371,6 @@ After understanding this agent, explore:
|
|
|
282
371
|
- **Demo**: `examples/complexity-analysis/demo.ts`
|
|
283
372
|
- **BaseAgent**: `src/agents/BaseAgent.ts`
|
|
284
373
|
|
|
285
|
-
---
|
|
286
374
|
|
|
287
375
|
**Educational Agent**: This agent is designed for learning. For production complexity analysis, consider:
|
|
288
376
|
- ESLint with complexity rules
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qe-code-complexity
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Educational code complexity analyzer demonstrating the Agentic QE Fleet architecture
|
|
5
|
+
tags: [quality-engineering, complexity-analysis, refactoring, learning-example]
|
|
6
|
+
capabilities: [complexity-analysis, refactoring-recommendations, pattern-detection]
|
|
7
|
+
type: quality-analyzer
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# QE Code Complexity Analyzer
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
The Code Complexity Analyzer is an **educational agent** that demonstrates the complete Agentic QE Fleet architecture. It analyzes code complexity metrics and provides AI-powered refactoring recommendations.
|
|
15
|
+
|
|
16
|
+
**Purpose**: Learning tool to understand how agents work in the AQE fleet.
|
|
17
|
+
|
|
18
|
+
## Capabilities
|
|
19
|
+
|
|
20
|
+
### 1. Complexity Analysis
|
|
21
|
+
- **Cyclomatic Complexity**: Measures decision point density
|
|
22
|
+
- **Cognitive Complexity**: Accounts for nesting and control flow
|
|
23
|
+
- **File Size Analysis**: Identifies overly large files
|
|
24
|
+
- **Function Metrics**: Tracks function count and average complexity
|
|
25
|
+
|
|
26
|
+
### 2. Refactoring Recommendations
|
|
27
|
+
- AI-powered suggestions based on detected patterns
|
|
28
|
+
- Severity-based prioritization (low, medium, high, critical)
|
|
29
|
+
- Specific actionable advice (e.g., "Extract Method", "Reduce Nesting")
|
|
30
|
+
|
|
31
|
+
### 3. Quality Scoring
|
|
32
|
+
- Holistic quality score (0-100)
|
|
33
|
+
- Issue-based deductions
|
|
34
|
+
- Helps prioritize refactoring efforts
|
|
35
|
+
|
|
36
|
+
## Key Learning Concepts
|
|
37
|
+
|
|
38
|
+
### BaseAgent Pattern
|
|
39
|
+
```typescript
|
|
40
|
+
// All agents extend BaseAgent
|
|
41
|
+
export class CodeComplexityAnalyzerAgent extends BaseAgent {
|
|
42
|
+
// Define capabilities in constructor
|
|
43
|
+
constructor(config: CodeComplexityConfig) {
|
|
44
|
+
super({
|
|
45
|
+
...config,
|
|
46
|
+
type: QEAgentType.QUALITY_ANALYZER,
|
|
47
|
+
capabilities: [/* ... */]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Lifecycle Hooks
|
|
54
|
+
```typescript
|
|
55
|
+
// Pre-task: Load context before work
|
|
56
|
+
protected async onPreTask(data: { assignment: any }): Promise<void> {
|
|
57
|
+
const history = await this.memoryStore.retrieve('aqe/complexity/.../history');
|
|
58
|
+
// Use historical data to improve analysis
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Post-task: Store results and coordinate
|
|
62
|
+
protected async onPostTask(data: PostTaskData): Promise<void> {
|
|
63
|
+
await this.memoryStore.store('aqe/complexity/.../results', data.result);
|
|
64
|
+
this.eventBus.emit('complexity:analysis:completed', { ... });
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Error handling: Learn from failures
|
|
68
|
+
protected async onTaskError(data: { assignment: any; error: Error }): Promise<void> {
|
|
69
|
+
await this.memoryStore.store('aqe/complexity/.../errors/...', { ... });
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Memory System
|
|
74
|
+
```typescript
|
|
75
|
+
// Store results for other agents
|
|
76
|
+
await this.memoryStore.store(
|
|
77
|
+
'aqe/complexity/${agentId}/latest-result',
|
|
78
|
+
result,
|
|
79
|
+
86400 // 24 hour TTL
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
// Retrieve for coordination
|
|
83
|
+
const previous = await this.memoryStore.retrieve(
|
|
84
|
+
'aqe/complexity/${agentId}/history'
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Event-Driven Architecture
|
|
89
|
+
```typescript
|
|
90
|
+
// Emit events for coordination
|
|
91
|
+
this.eventBus.emit('complexity:analysis:completed', {
|
|
92
|
+
agentId: this.agentId,
|
|
93
|
+
result: analysisResult,
|
|
94
|
+
timestamp: new Date()
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Other agents can subscribe
|
|
98
|
+
eventBus.on('complexity:analysis:completed', (event) => {
|
|
99
|
+
// Test generator could prioritize complex code
|
|
100
|
+
// Coverage analyzer could focus on complex functions
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Usage Examples
|
|
105
|
+
|
|
106
|
+
### From Claude Code CLI
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Analyze a single file
|
|
110
|
+
claude "Use qe-code-complexity to analyze src/services/order-processor.ts"
|
|
111
|
+
|
|
112
|
+
# Analyze multiple files
|
|
113
|
+
claude "Run complexity analysis on all files in src/services/"
|
|
114
|
+
|
|
115
|
+
# Get refactoring recommendations
|
|
116
|
+
claude "Analyze src/utils/validator.ts and suggest refactorings"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Via TypeScript
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import { CodeComplexityAnalyzerAgent } from './agents/CodeComplexityAnalyzerAgent';
|
|
123
|
+
|
|
124
|
+
// Initialize agent
|
|
125
|
+
const agent = new CodeComplexityAnalyzerAgent({
|
|
126
|
+
type: QEAgentType.QUALITY_ANALYZER,
|
|
127
|
+
capabilities: [],
|
|
128
|
+
context: { /* ... */ },
|
|
129
|
+
memoryStore,
|
|
130
|
+
eventBus,
|
|
131
|
+
thresholds: {
|
|
132
|
+
cyclomaticComplexity: 10,
|
|
133
|
+
cognitiveComplexity: 15,
|
|
134
|
+
linesOfCode: 300
|
|
135
|
+
},
|
|
136
|
+
enableRecommendations: true
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
await agent.initialize();
|
|
140
|
+
|
|
141
|
+
// Analyze code
|
|
142
|
+
const result = await agent.analyzeComplexity({
|
|
143
|
+
files: [{
|
|
144
|
+
path: 'complex.ts',
|
|
145
|
+
content: sourceCode,
|
|
146
|
+
language: 'typescript'
|
|
147
|
+
}]
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
console.log('Quality Score:', result.score);
|
|
151
|
+
console.log('Issues:', result.issues);
|
|
152
|
+
console.log('Recommendations:', result.recommendations);
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Configuration
|
|
156
|
+
|
|
157
|
+
### Thresholds
|
|
158
|
+
|
|
159
|
+
Customize complexity thresholds:
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
{
|
|
163
|
+
thresholds: {
|
|
164
|
+
cyclomaticComplexity: 10, // Default: 10
|
|
165
|
+
cognitiveComplexity: 15, // Default: 15
|
|
166
|
+
linesOfCode: 300 // Default: 300
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Features
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
{
|
|
175
|
+
enableRecommendations: true, // Default: true
|
|
176
|
+
enableLearning: true // Default: false (demo uses false)
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Integration with Other Agents
|
|
181
|
+
|
|
182
|
+
### Test Generator
|
|
183
|
+
The test-generator agent can use complexity analysis to:
|
|
184
|
+
- Prioritize complex functions for testing
|
|
185
|
+
- Generate more comprehensive tests for high-complexity code
|
|
186
|
+
- Focus on edge cases in nested logic
|
|
187
|
+
|
|
188
|
+
```typescript
|
|
189
|
+
eventBus.on('complexity:analysis:completed', async (event) => {
|
|
190
|
+
if (event.result.issues.some(i => i.severity === 'critical')) {
|
|
191
|
+
// Test generator: Create extra tests for critical complexity
|
|
192
|
+
await testGeneratorAgent.generateTests({
|
|
193
|
+
focusAreas: event.result.issues
|
|
194
|
+
.filter(i => i.severity === 'critical')
|
|
195
|
+
.map(i => i.file)
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Coverage Analyzer
|
|
202
|
+
The coverage-analyzer can use complexity data to:
|
|
203
|
+
- Ensure high-complexity code has high coverage
|
|
204
|
+
- Identify risk areas (high complexity + low coverage)
|
|
205
|
+
|
|
206
|
+
### Quality Gate
|
|
207
|
+
The quality-gate can use complexity metrics as criteria:
|
|
208
|
+
- Fail builds with critical complexity issues
|
|
209
|
+
- Track complexity trends over time
|
|
210
|
+
- Prevent complexity regressions
|
|
211
|
+
|
|
212
|
+
## Example Output
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
Quality Score: 65/100
|
|
216
|
+
|
|
217
|
+
⚠️ Issues Detected:
|
|
218
|
+
1. [HIGH] cyclomatic
|
|
219
|
+
Current: 23, Threshold: 10
|
|
220
|
+
Consider breaking down complex logic into smaller functions
|
|
221
|
+
|
|
222
|
+
2. [MEDIUM] cognitive
|
|
223
|
+
Current: 18, Threshold: 15
|
|
224
|
+
Reduce nesting levels and simplify control flow
|
|
225
|
+
|
|
226
|
+
💡 Recommendations:
|
|
227
|
+
1. Apply Extract Method refactoring to reduce cyclomatic complexity
|
|
228
|
+
2. Use early returns to reduce nesting levels
|
|
229
|
+
3. Extract nested loops into separate methods
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Learning Objectives
|
|
233
|
+
|
|
234
|
+
By studying this agent, you'll learn:
|
|
235
|
+
|
|
236
|
+
1. ✅ **BaseAgent Pattern**: How to extend and customize agents
|
|
237
|
+
2. ✅ **Lifecycle Hooks**: Pre-task, post-task, and error handling
|
|
238
|
+
3. ✅ **Memory System**: Storing and retrieving agent data
|
|
239
|
+
4. ✅ **Event System**: Coordinating multiple agents
|
|
240
|
+
5. ✅ **Testing Patterns**: Comprehensive test coverage
|
|
241
|
+
6. ✅ **Agent Coordination**: How agents work together
|
|
242
|
+
|
|
243
|
+
## Running the Example
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Run the demo
|
|
247
|
+
npx ts-node examples/complexity-analysis/demo.ts
|
|
248
|
+
|
|
249
|
+
# Run tests
|
|
250
|
+
npm test tests/agents/CodeComplexityAnalyzerAgent.test.ts
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Architecture Insights
|
|
254
|
+
|
|
255
|
+
### Memory Namespace
|
|
256
|
+
- `aqe/complexity/${agentId}/current-request` - Active analysis request
|
|
257
|
+
- `aqe/complexity/${agentId}/latest-result` - Most recent result
|
|
258
|
+
- `aqe/complexity/${agentId}/history` - Historical analyses (last 100)
|
|
259
|
+
- `aqe/complexity/${agentId}/errors/*` - Error tracking
|
|
260
|
+
|
|
261
|
+
### Events Emitted
|
|
262
|
+
- `complexity:analysis:completed` - When analysis finishes successfully
|
|
263
|
+
- `complexity:analysis:stored` - When results are persisted
|
|
264
|
+
|
|
265
|
+
### Capabilities Provided
|
|
266
|
+
- `complexity-analysis` - Core analysis functionality
|
|
267
|
+
- `refactoring-recommendations` - AI-powered suggestions
|
|
268
|
+
- `pattern-detection` - Complex code pattern recognition
|
|
269
|
+
|
|
270
|
+
## Next Steps
|
|
271
|
+
|
|
272
|
+
After understanding this agent, explore:
|
|
273
|
+
- **TestGeneratorAgent**: See how it generates tests
|
|
274
|
+
- **CoverageAnalyzerAgent**: Learn about O(log n) gap detection
|
|
275
|
+
- **FleetManager**: Understand multi-agent coordination
|
|
276
|
+
- **LearningEngine**: Discover how agents improve over time
|
|
277
|
+
|
|
278
|
+
## Resources
|
|
279
|
+
|
|
280
|
+
- **Source Code**: `src/agents/CodeComplexityAnalyzerAgent.ts`
|
|
281
|
+
- **Tests**: `tests/agents/CodeComplexityAnalyzerAgent.test.ts`
|
|
282
|
+
- **Demo**: `examples/complexity-analysis/demo.ts`
|
|
283
|
+
- **BaseAgent**: `src/agents/BaseAgent.ts`
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
**Educational Agent**: This agent is designed for learning. For production complexity analysis, consider:
|
|
288
|
+
- ESLint with complexity rules
|
|
289
|
+
- SonarQube
|
|
290
|
+
- CodeClimate
|
|
291
|
+
- Commercial static analysis tools
|