agentic-qe 1.9.4 → 2.0.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 +95 -1336
- package/.claude/agents/qe-chaos-engineer.md +152 -1211
- package/.claude/agents/qe-code-complexity.md +144 -707
- package/.claude/agents/qe-coverage-analyzer.md +147 -743
- package/.claude/agents/qe-deployment-readiness.md +143 -1496
- package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
- package/.claude/agents/qe-fleet-commander.md +12 -12
- package/.claude/agents/qe-performance-tester.md +150 -886
- package/.claude/agents/qe-production-intelligence.md +155 -1396
- package/.claude/agents/qe-quality-analyzer.md +6 -6
- package/.claude/agents/qe-quality-gate.md +151 -648
- package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
- package/.claude/agents/qe-requirements-validator.md +149 -932
- package/.claude/agents/qe-security-scanner.md +157 -797
- package/.claude/agents/qe-test-data-architect.md +96 -1365
- package/.claude/agents/qe-test-executor.md +8 -8
- package/.claude/agents/qe-test-generator.md +145 -1540
- package/.claude/agents/qe-visual-tester.md +153 -1257
- package/.claude/agents/qx-partner.md +235 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
- package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
- package/.claude/agents/subagents/qe-data-generator.md +41 -125
- package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
- package/.claude/agents/subagents/qe-integration-tester.md +53 -141
- package/.claude/agents/subagents/qe-performance-validator.md +54 -130
- package/.claude/agents/subagents/qe-security-auditor.md +56 -114
- package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
- package/.claude/agents/subagents/qe-test-implementer.md +58 -551
- package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
- package/.claude/agents/subagents/qe-test-writer.md +63 -726
- package/.claude/skills/skills-manifest.json +632 -0
- package/.claude/skills/testability-scoring/README.md +71 -0
- package/.claude/skills/testability-scoring/SKILL.md +611 -0
- package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/CHANGELOG.md +62 -0
- package/README.md +33 -6
- package/dist/agents/QXPartnerAgent.d.ts +139 -0
- package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
- package/dist/agents/QXPartnerAgent.js +769 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +82 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/debug/agent.d.ts.map +1 -1
- package/dist/cli/commands/debug/agent.js +19 -6
- package/dist/cli/commands/debug/agent.js.map +1 -1
- package/dist/cli/commands/debug/health-check.js +20 -7
- package/dist/cli/commands/debug/health-check.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
- package/dist/cli/commands/init-claude-md-template.js +4 -3
- package/dist/cli/commands/init-claude-md-template.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +4 -3
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/commands/workflow/list.d.ts.map +1 -1
- package/dist/cli/commands/workflow/list.js +4 -3
- package/dist/cli/commands/workflow/list.js.map +1 -1
- package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
- package/dist/cli/commands/workflow/pause.js +4 -3
- package/dist/cli/commands/workflow/pause.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +3 -8
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/claude-md.d.ts.map +1 -1
- package/dist/cli/init/claude-md.js +44 -2
- package/dist/cli/init/claude-md.js.map +1 -1
- package/dist/cli/init/database-init.js +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +13 -6
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/skills.d.ts.map +1 -1
- package/dist/cli/init/skills.js +2 -1
- package/dist/cli/init/skills.js.map +1 -1
- package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
- package/dist/core/memory/AgentDBIntegration.js +66 -10
- package/dist/core/memory/AgentDBIntegration.js.map +1 -1
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
- package/dist/core/memory/index.d.ts +5 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +23 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/optimization/SwarmOptimizer.d.ts +185 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
- package/dist/core/optimization/SwarmOptimizer.js +631 -0
- package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
- package/dist/core/optimization/index.d.ts +9 -0
- package/dist/core/optimization/index.d.ts.map +1 -0
- package/dist/core/optimization/index.js +25 -0
- package/dist/core/optimization/index.js.map +1 -0
- package/dist/core/optimization/types.d.ts +53 -0
- package/dist/core/optimization/types.d.ts.map +1 -0
- package/dist/core/optimization/types.js +6 -0
- package/dist/core/optimization/types.js.map +1 -0
- package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
- package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
- package/dist/core/orchestration/PriorityQueue.js +122 -0
- package/dist/core/orchestration/PriorityQueue.js.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts +176 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js +813 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
- package/dist/core/orchestration/index.d.ts +7 -0
- package/dist/core/orchestration/index.d.ts.map +1 -0
- package/dist/core/orchestration/index.js +11 -0
- package/dist/core/orchestration/index.js.map +1 -0
- package/dist/core/orchestration/types.d.ts +96 -0
- package/dist/core/orchestration/types.d.ts.map +1 -0
- package/dist/core/orchestration/types.js +6 -0
- package/dist/core/orchestration/types.js.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.js +353 -0
- package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
- package/dist/core/skills/types.d.ts +118 -0
- package/dist/core/skills/types.d.ts.map +1 -0
- package/dist/core/skills/types.js +7 -0
- package/dist/core/skills/types.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +320 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +711 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/index.d.ts +40 -0
- package/dist/core/transport/index.d.ts.map +1 -0
- package/dist/core/transport/index.js +46 -0
- package/dist/core/transport/index.js.map +1 -0
- package/dist/core/transport/quic-loader.d.ts +123 -0
- package/dist/core/transport/quic-loader.d.ts.map +1 -0
- package/dist/core/transport/quic-loader.js +293 -0
- package/dist/core/transport/quic-loader.js.map +1 -0
- package/dist/core/transport/quic.d.ts +154 -0
- package/dist/core/transport/quic.d.ts.map +1 -0
- package/dist/core/transport/quic.js +214 -0
- package/dist/core/transport/quic.js.map +1 -0
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -1
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/qx.d.ts +397 -0
- package/dist/types/qx.d.ts.map +1 -0
- package/dist/types/qx.js +71 -0
- package/dist/types/qx.js.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +1 -1
- package/dist/visualization/api/RestEndpoints.js.map +1 -1
- package/dist/visualization/api/WebSocketServer.d.ts +44 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
- package/dist/visualization/api/WebSocketServer.js +144 -23
- package/dist/visualization/api/WebSocketServer.js.map +1 -1
- package/dist/visualization/core/DataTransformer.d.ts +10 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
- package/dist/visualization/core/DataTransformer.js +60 -5
- package/dist/visualization/core/DataTransformer.js.map +1 -1
- package/dist/visualization/emit-event.d.ts +75 -0
- package/dist/visualization/emit-event.d.ts.map +1 -0
- package/dist/visualization/emit-event.js +213 -0
- package/dist/visualization/emit-event.js.map +1 -0
- package/dist/visualization/index.d.ts +1 -0
- package/dist/visualization/index.d.ts.map +1 -1
- package/dist/visualization/index.js +7 -1
- package/dist/visualization/index.js.map +1 -1
- package/docs/reference/skills.md +63 -1
- package/package.json +4 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# Testability Scoring Assessment Runner
|
|
5
|
+
# Usage: ./run-assessment.sh <URL> [browser]
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
|
9
|
+
TEST_FILE="$PROJECT_ROOT/tests/testability-scoring/testability-scoring.spec.js"
|
|
10
|
+
|
|
11
|
+
# Colors
|
|
12
|
+
GREEN='\033[0;32m'
|
|
13
|
+
BLUE='\033[0;34m'
|
|
14
|
+
YELLOW='\033[1;33m'
|
|
15
|
+
RED='\033[0;31m'
|
|
16
|
+
NC='\033[0m' # No Color
|
|
17
|
+
|
|
18
|
+
# Check if URL provided
|
|
19
|
+
if [ -z "$1" ]; then
|
|
20
|
+
echo -e "${RED}Error: URL required${NC}"
|
|
21
|
+
echo "Usage: $0 <URL> [browser]"
|
|
22
|
+
echo "Example: $0 https://example.com chromium"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
TARGET_URL="$1"
|
|
27
|
+
BROWSER="${2:-chromium}"
|
|
28
|
+
|
|
29
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
30
|
+
echo -e "${GREEN}🎯 Testability Assessment${NC}"
|
|
31
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
32
|
+
echo ""
|
|
33
|
+
echo -e " ${YELLOW}URL:${NC} $TARGET_URL"
|
|
34
|
+
echo -e " ${YELLOW}Browser:${NC} $BROWSER"
|
|
35
|
+
echo ""
|
|
36
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
37
|
+
echo ""
|
|
38
|
+
|
|
39
|
+
# Change to project root
|
|
40
|
+
cd "$PROJECT_ROOT"
|
|
41
|
+
|
|
42
|
+
# Run Playwright tests with TEST_URL environment variable
|
|
43
|
+
echo -e "${YELLOW}⏳ Running assessment...${NC}\n"
|
|
44
|
+
|
|
45
|
+
TEST_URL="$TARGET_URL" npx playwright test "$TEST_FILE" --project="$BROWSER" --workers=1
|
|
46
|
+
|
|
47
|
+
# Check if tests passed
|
|
48
|
+
if [ $? -eq 0 ]; then
|
|
49
|
+
echo ""
|
|
50
|
+
echo -e "${GREEN}✅ Assessment completed successfully!${NC}"
|
|
51
|
+
|
|
52
|
+
# Find the latest JSON report
|
|
53
|
+
LATEST_JSON=$(ls -t "$PROJECT_ROOT/tests/reports/testability-results-"*.json 2>/dev/null | head -1)
|
|
54
|
+
|
|
55
|
+
if [ -n "$LATEST_JSON" ]; then
|
|
56
|
+
# Generate HTML report
|
|
57
|
+
echo -e "\n${YELLOW}📊 Generating HTML report...${NC}\n"
|
|
58
|
+
node "$SCRIPT_DIR/generate-html-report.js" "$LATEST_JSON"
|
|
59
|
+
|
|
60
|
+
echo ""
|
|
61
|
+
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
62
|
+
echo -e "${GREEN}✓ Complete! Check your browser for the report.${NC}"
|
|
63
|
+
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
64
|
+
else
|
|
65
|
+
echo -e "${YELLOW}⚠️ JSON report not found${NC}"
|
|
66
|
+
fi
|
|
67
|
+
else
|
|
68
|
+
echo -e "\n${RED}❌ Assessment failed${NC}"
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.0.0] - 2025-12-02
|
|
11
|
+
|
|
12
|
+
### 🚀 Major Release: Agentic QE Fleet v2
|
|
13
|
+
|
|
14
|
+
This major release delivers significant improvements across the entire Agentic QE Fleet, including proper QUIC transport, enhanced visualization, testability scoring skill, QX Partner agent, and contributor features.
|
|
15
|
+
|
|
16
|
+
### ⚠️ Breaking Changes
|
|
17
|
+
|
|
18
|
+
- **QUIC Transport**: Replaced fake HTTP/2-based implementation with proper QUIC via Rust/WASM (`@agentic-flow/quic-wasm`)
|
|
19
|
+
- **Skills Manifest**: Reduced from 68 to 41 QE-only skills (removed Claude Flow platform skills)
|
|
20
|
+
- **EventType in emit-event.ts**: Changed from string to enum mapping for type safety
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
#### Real-Time Visualization Dashboard (PR #96 by @fndlalit)
|
|
25
|
+
- WebSocket connection on port 8080 for backend compatibility
|
|
26
|
+
- LifecycleTimeline support for `agent:spawned`, `agent:started`, `agent:completed`, `agent:error` events
|
|
27
|
+
- New `emit-event.ts` module with convenience functions for agent lifecycle events
|
|
28
|
+
- CLI event emission via `scripts/emit-agent-event.ts`
|
|
29
|
+
- Hook integration with `emit-task-spawn.sh` and `emit-task-complete.sh`
|
|
30
|
+
|
|
31
|
+
#### Testability Scoring Skill (PR #98 by @fndlalit)
|
|
32
|
+
- Comprehensive context collection for all 10 testability principles
|
|
33
|
+
- Contextual, site-specific recommendations based on actual measurements
|
|
34
|
+
- HTML report generation with principle breakdown table
|
|
35
|
+
- `run-assessment.sh` shell script with colored terminal output
|
|
36
|
+
- Browser auto-open support (chromium/firefox/webkit)
|
|
37
|
+
- Complete skill package at `.claude/skills/testability-scoring/`
|
|
38
|
+
|
|
39
|
+
#### QX Partner Agent
|
|
40
|
+
- New `QXPartnerAgent.ts` with balance analysis and oracle detection
|
|
41
|
+
- Comprehensive documentation at `docs/agents/QX-PARTNER-AGENT.md`
|
|
42
|
+
- Example implementations in `examples/qx-partner/`
|
|
43
|
+
|
|
44
|
+
#### Proper QUIC Transport Layer
|
|
45
|
+
- `src/core/transport/quic.ts` - QUIC via Rust/WASM with 0-RTT, stream multiplexing, TLS 1.3
|
|
46
|
+
- `src/core/transport/quic-loader.ts` - Automatic WebSocket fallback when WASM unavailable
|
|
47
|
+
- `src/types/agentic-flow-quic-wasm.d.ts` - Dedicated type declarations for optional WASM module
|
|
48
|
+
- 21 transport tests passing
|
|
49
|
+
|
|
50
|
+
#### Skills Manifest Cleanup
|
|
51
|
+
- `.claude/skills/skills-manifest.json` with 41 QE-only skills
|
|
52
|
+
- Categories: qe-core, testing-methodologies, test-design, specialized-testing, analysis-review, infrastructure, development-practices, bug-management
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- **emit-event.ts TypeScript errors**: EventType mapping and string ID handling
|
|
57
|
+
- **UnifiedMemoryCoordinator.ts**: Logger.getInstance(), correct method signatures
|
|
58
|
+
- **Visualization WebSocket**: Port 8080, timestamp handling, MindMap null checks
|
|
59
|
+
- **express security vulnerability**: Updated to 5.2.1 (CVE-2024-51999)
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
|
|
63
|
+
- Agent definitions streamlined (removed redundant content from 14 agent files)
|
|
64
|
+
- Skills manifest reorganized with proper categorization
|
|
65
|
+
- Transport layer architecture (QUIC with WebSocket fallback)
|
|
66
|
+
|
|
67
|
+
### Contributors
|
|
68
|
+
|
|
69
|
+
- **@fndlalit**: Real-time visualization dashboard, testability scoring skill
|
|
70
|
+
- **Dependabot**: Security updates (express 5.2.1)
|
|
71
|
+
|
|
10
72
|
## [1.9.4] - 2025-11-30
|
|
11
73
|
|
|
12
74
|
### 🔧 Critical Fixes: Memory/Learning/Patterns System
|
package/README.md
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<img alt="NPM Downloads" src="https://img.shields.io/npm/dw/agentic-qe">
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
**Version
|
|
12
|
+
**Version 2.0.0** | [Changelog](CHANGELOG.md) | [Issues](https://github.com/proffesor-for-testing/agentic-qe/issues) | [Discussions](https://github.com/proffesor-for-testing/agentic-qe/discussions)
|
|
13
13
|
|
|
14
|
-
> Agentic test automation with AI learning, real-time visualization, OpenTelemetry observability, persistent event storage, constitutional AI governance, and intelligent model routing.
|
|
14
|
+
> Agentic test automation with AI learning, real-time visualization, QUIC transport, testability scoring, OpenTelemetry observability, persistent event storage, constitutional AI governance, and intelligent model routing.
|
|
15
15
|
|
|
16
|
-
🎨 **Real-Time Visualization** | 📊 **
|
|
16
|
+
🎨 **Real-Time Visualization** | 📊 **Testability Scoring** | 🧠 **QE Agent Learning** | 🚀 **QUIC Transport** | 📋 **Constitution System** | 📚 **41 QE Skills** | 🎯 **Flaky Detection** | 💰 **Multi-Model Router**
|
|
17
17
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -62,7 +62,7 @@ claude "Use qe-flaky-test-hunter to analyze the last 100 test runs and identify
|
|
|
62
62
|
- ✅ ML Flaky Detection (100% accuracy)
|
|
63
63
|
- ✅ 19 Specialized agent definitions (including qe-code-complexity)
|
|
64
64
|
- ✅ 11 TDD subagent definitions (RED/GREEN/REFACTOR phases + specialized)
|
|
65
|
-
- ✅
|
|
65
|
+
- ✅ 41 World-class QE skills library (accessibility, shift-left/right, verification, visual testing, XP practices, **testability-scoring** by [@fndlalit](https://github.com/fndlalit))
|
|
66
66
|
- ✅ 8 AQE slash commands
|
|
67
67
|
- ✅ Modular init system with comprehensive project setup
|
|
68
68
|
|
|
@@ -193,7 +193,7 @@ open http://localhost:3000
|
|
|
193
193
|
- **Performance Testing**: k6, JMeter, Gatling integration
|
|
194
194
|
- **Real-Time Streaming**: Live progress updates for all operations
|
|
195
195
|
|
|
196
|
-
### 🎓
|
|
196
|
+
### 🎓 41 QE Skills Library (v1.9.0)
|
|
197
197
|
**95%+ coverage of modern QE practices**
|
|
198
198
|
|
|
199
199
|
<details>
|
|
@@ -214,7 +214,7 @@ open http://localhost:3000
|
|
|
214
214
|
**Phase 3: Advanced Quality Engineering Skills (4 skills)**
|
|
215
215
|
- **Strategic Testing Methodologies (4)**: six-thinking-hats, brutal-honesty-review, sherlock-review, cicd-pipeline-qe-orchestrator
|
|
216
216
|
|
|
217
|
-
**Total:
|
|
217
|
+
**Total: 41 QE Skills** - Includes accessibility testing, shift-left/right testing, verification & quality assurance, visual testing advanced, XP practices, and technical writing
|
|
218
218
|
|
|
219
219
|
</details>
|
|
220
220
|
|
|
@@ -354,6 +354,33 @@ mcp__agentic_qe__coverage_analyze({
|
|
|
354
354
|
})
|
|
355
355
|
```
|
|
356
356
|
|
|
357
|
+
**All 102 MCP Tools Available:**
|
|
358
|
+
- Fleet Management (9 tools): init, spawn, status, coordinate, orchestrate
|
|
359
|
+
- Test Generation (4 tools): generate, enhanced, unit, integration
|
|
360
|
+
- Test Execution (3 tools): execute, parallel, stream
|
|
361
|
+
- Coverage Analysis (6 tools): analyze, gaps, trends, risk scoring, ML detection, recommendations
|
|
362
|
+
- Quality Gates (5 tools): execute, validate, assess risk, policy check, generate report
|
|
363
|
+
- Flaky Test Detection (3 tools): detect, analyze patterns, auto-stabilize
|
|
364
|
+
- Performance Testing (4 tools): benchmark, monitor, analyze bottlenecks, generate report
|
|
365
|
+
- Security Scanning (5 tools): comprehensive scan, vulnerabilities, auth validation, authz check, dependencies
|
|
366
|
+
- Visual Testing (3 tools): compare screenshots, accessibility validation, regression detection
|
|
367
|
+
- API Contract Testing (3 tools): validate, breaking changes, versioning
|
|
368
|
+
- Test Data Management (3 tools): generate, mask, analyze schema
|
|
369
|
+
- Requirements Engineering (2 tools): validate, generate BDD
|
|
370
|
+
- Code Quality (2 tools): complexity analysis, metrics
|
|
371
|
+
- Memory & Collaboration (5 tools): store, retrieve, query, share, backup
|
|
372
|
+
- Blackboard System (2 tools): post, read
|
|
373
|
+
- Consensus Mechanisms (2 tools): propose, vote
|
|
374
|
+
- Workflow Management (4 tools): create, execute, checkpoint, resume
|
|
375
|
+
- Event System (2 tools): emit, subscribe
|
|
376
|
+
- Regression Analysis (2 tools): risk analyze, select tests
|
|
377
|
+
- Production Monitoring (2 tools): incident replay, RUM analyze
|
|
378
|
+
- Mutation Testing (1 tool): execute
|
|
379
|
+
- Deployment Readiness (1 tool): check
|
|
380
|
+
- Artifact Management (1 tool): manifest
|
|
381
|
+
- Task Management (1 tool): status
|
|
382
|
+
- Learning System (4 tools): store experience, store Q-value, store pattern, query
|
|
383
|
+
|
|
357
384
|
### CLI Direct Usage
|
|
358
385
|
|
|
359
386
|
```bash
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QXPartnerAgent - Quality Experience (QX) Analysis Agent
|
|
3
|
+
*
|
|
4
|
+
* QX = Marriage between QA (Quality Advocacy) and UX (User Experience)
|
|
5
|
+
* Goal: Co-create Quality Experience for everyone associated with the product
|
|
6
|
+
*
|
|
7
|
+
* Based on: https://talesoftesting.com/quality-experienceqx-co-creating-quality-experience-for-everyone-associated-with-the-product/
|
|
8
|
+
*
|
|
9
|
+
* Key Capabilities:
|
|
10
|
+
* - Problem understanding and analysis (Rule of Three)
|
|
11
|
+
* - User needs vs Business needs analysis
|
|
12
|
+
* - Oracle problem detection and resolution
|
|
13
|
+
* - Comprehensive impact analysis (visible & invisible)
|
|
14
|
+
* - UX testing heuristics application
|
|
15
|
+
* - Integration with testability scoring
|
|
16
|
+
* - Contextual recommendations generation
|
|
17
|
+
*/
|
|
18
|
+
import { BaseAgent } from './BaseAgent';
|
|
19
|
+
import { QETask, AgentContext, MemoryStore } from '../types';
|
|
20
|
+
import { EventEmitter } from 'events';
|
|
21
|
+
import { QXPartnerConfig } from '../types/qx';
|
|
22
|
+
interface Logger {
|
|
23
|
+
info(message: string, ...args: unknown[]): void;
|
|
24
|
+
warn(message: string, ...args: unknown[]): void;
|
|
25
|
+
error(message: string, ...args: unknown[]): void;
|
|
26
|
+
debug(message: string, ...args: unknown[]): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class QXPartnerAgent extends BaseAgent {
|
|
29
|
+
private readonly config;
|
|
30
|
+
protected readonly logger: Logger;
|
|
31
|
+
private heuristicsEngine?;
|
|
32
|
+
private oracleDetector?;
|
|
33
|
+
private impactAnalyzer?;
|
|
34
|
+
constructor(config: QXPartnerConfig & {
|
|
35
|
+
context: AgentContext;
|
|
36
|
+
memoryStore: MemoryStore;
|
|
37
|
+
eventBus: EventEmitter;
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Get default capabilities for QX Partner Agent
|
|
41
|
+
*/
|
|
42
|
+
private static getDefaultCapabilities;
|
|
43
|
+
/**
|
|
44
|
+
* Initialize QX analysis components
|
|
45
|
+
*/
|
|
46
|
+
protected initializeComponents(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Load QX knowledge and historical patterns
|
|
49
|
+
*/
|
|
50
|
+
protected loadKnowledge(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Clean up QX analysis resources
|
|
53
|
+
*/
|
|
54
|
+
protected cleanup(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Perform QX analysis task
|
|
57
|
+
*/
|
|
58
|
+
protected performTask(task: QETask): Promise<unknown>;
|
|
59
|
+
/**
|
|
60
|
+
* Perform comprehensive QX analysis
|
|
61
|
+
*/
|
|
62
|
+
private performFullQXAnalysis;
|
|
63
|
+
/**
|
|
64
|
+
* Collect QX context from target
|
|
65
|
+
*/
|
|
66
|
+
private collectQXContext;
|
|
67
|
+
/**
|
|
68
|
+
* Analyze problem using Rule of Three and complexity assessment
|
|
69
|
+
*/
|
|
70
|
+
private analyzeProblem;
|
|
71
|
+
/**
|
|
72
|
+
* Analyze user needs
|
|
73
|
+
*/
|
|
74
|
+
private analyzeUserNeeds;
|
|
75
|
+
/**
|
|
76
|
+
* Analyze business needs
|
|
77
|
+
*/
|
|
78
|
+
private analyzeBusinessNeeds;
|
|
79
|
+
/**
|
|
80
|
+
* Detect oracle problems from analysis context
|
|
81
|
+
*/
|
|
82
|
+
private detectOracleProblemsFromContext;
|
|
83
|
+
/**
|
|
84
|
+
* Perform impact analysis
|
|
85
|
+
*/
|
|
86
|
+
private analyzeImpact;
|
|
87
|
+
/**
|
|
88
|
+
* Apply all enabled heuristics
|
|
89
|
+
*/
|
|
90
|
+
private applyAllHeuristics;
|
|
91
|
+
/**
|
|
92
|
+
* Generate QX recommendations
|
|
93
|
+
*/
|
|
94
|
+
private generateRecommendations;
|
|
95
|
+
/**
|
|
96
|
+
* Calculate overall QX score
|
|
97
|
+
*/
|
|
98
|
+
private calculateOverallQXScore;
|
|
99
|
+
/**
|
|
100
|
+
* Convert score to grade
|
|
101
|
+
*/
|
|
102
|
+
private scoreToGrade;
|
|
103
|
+
/**
|
|
104
|
+
* Detect oracle problems (separate task)
|
|
105
|
+
*/
|
|
106
|
+
private detectOracleProblems;
|
|
107
|
+
/**
|
|
108
|
+
* Analyze user vs business balance
|
|
109
|
+
*/
|
|
110
|
+
private analyzeUserBusinessBalance;
|
|
111
|
+
private getBalanceRecommendation;
|
|
112
|
+
/**
|
|
113
|
+
* Perform impact analysis (separate task)
|
|
114
|
+
*/
|
|
115
|
+
private performImpactAnalysis;
|
|
116
|
+
/**
|
|
117
|
+
* Apply specific heuristic
|
|
118
|
+
*/
|
|
119
|
+
private applySpecificHeuristic;
|
|
120
|
+
/**
|
|
121
|
+
* Generate QX recommendations (separate task)
|
|
122
|
+
*/
|
|
123
|
+
private generateQXRecommendations;
|
|
124
|
+
/**
|
|
125
|
+
* Integrate with testability scoring
|
|
126
|
+
*/
|
|
127
|
+
private integrateTestabilityScoring;
|
|
128
|
+
private validateTestabilityScoringAvailability;
|
|
129
|
+
private setupCollaborationChannels;
|
|
130
|
+
private initializeDefaultOraclePatterns;
|
|
131
|
+
private saveQXState;
|
|
132
|
+
private saveOraclePatterns;
|
|
133
|
+
private saveHeuristicsInsights;
|
|
134
|
+
private shareCollaborationInsights;
|
|
135
|
+
protected onPreInitialization(): Promise<void>;
|
|
136
|
+
protected onPostInitialization(): Promise<void>;
|
|
137
|
+
}
|
|
138
|
+
export {};
|
|
139
|
+
//# sourceMappingURL=QXPartnerAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QXPartnerAgent.d.ts","sourceRoot":"","sources":["../../src/agents/QXPartnerAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAgC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAEL,eAAe,EAahB,MAAM,aAAa,CAAC;AAGrB,UAAU,MAAM;IACd,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAiBD,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAuB;IACxD,OAAO,CAAC,gBAAgB,CAAC,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,MAAM,EAAE,eAAe,GAAG;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE;IAsCjH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAmCrC;;OAEG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCrD;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C9C;;OAEG;cACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBxC;;OAEG;cACa,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC3D;;OAEG;YACW,qBAAqB;IAiFnC;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,cAAc;IAgB5B;;OAEG;YACW,gBAAgB;IAa9B;;OAEG;YACW,oBAAoB;IAelC;;OAEG;YACW,+BAA+B;IAY7C;;OAEG;YACW,aAAa;IAQ3B;;OAEG;YACW,kBAAkB;IAahC;;OAEG;YACW,uBAAuB;IA2FrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;YACW,oBAAoB;IASlC;;OAEG;YACW,0BAA0B;IAkBxC,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;YACW,qBAAqB;IAOnC;;OAEG;YACW,sBAAsB;IAiBpC;;OAEG;YACW,yBAAyB;IAKvC;;OAEG;YACW,2BAA2B;YA2B3B,sCAAsC;YAKtC,0BAA0B;YAY1B,+BAA+B;YAW/B,WAAW;YASX,kBAAkB;YAQlB,sBAAsB;YAQtB,0BAA0B;cASxB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtD"}
|