mycontext-cli 4.2.8 → 4.2.11
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/README.md +13 -4
- package/dist/README.md +13 -4
- package/dist/agents/implementations/ArchitectAgent.js.map +1 -1
- package/dist/agents/implementations/BuildStrategyAgent.js.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/agents/implementations/DemoRecorderAgent.d.ts +73 -0
- package/dist/agents/implementations/DemoRecorderAgent.d.ts.map +1 -0
- package/dist/agents/implementations/DemoRecorderAgent.js +485 -0
- package/dist/agents/implementations/DemoRecorderAgent.js.map +1 -0
- package/dist/agents/implementations/DesignPipelineAgent.d.ts +4 -0
- package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -1
- package/dist/agents/implementations/DesignPipelineAgent.js +82 -10
- package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -1
- package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
- package/dist/agents/implementations/FeaturePlannerAgent.d.ts +10 -0
- package/dist/agents/implementations/FeaturePlannerAgent.d.ts.map +1 -0
- package/dist/agents/implementations/FeaturePlannerAgent.js +35 -0
- package/dist/agents/implementations/FeaturePlannerAgent.js.map +1 -0
- package/dist/agents/implementations/QASubAgent.js.map +1 -1
- package/dist/agents/implementations/SecurityAgent.js.map +1 -1
- package/dist/agents/implementations/VOScriptExtractorAgent.d.ts +84 -0
- package/dist/agents/implementations/VOScriptExtractorAgent.d.ts.map +1 -0
- package/dist/agents/implementations/VOScriptExtractorAgent.js +414 -0
- package/dist/agents/implementations/VOScriptExtractorAgent.js.map +1 -0
- package/dist/agents/implementations/VisionNavigatorAgent.d.ts +52 -0
- package/dist/agents/implementations/VisionNavigatorAgent.d.ts.map +1 -0
- package/dist/agents/implementations/VisionNavigatorAgent.js +313 -0
- package/dist/agents/implementations/VisionNavigatorAgent.js.map +1 -0
- package/dist/agents/implementations/VisionTestCoordinator.d.ts +51 -0
- package/dist/agents/implementations/VisionTestCoordinator.d.ts.map +1 -0
- package/dist/agents/implementations/VisionTestCoordinator.js +348 -0
- package/dist/agents/implementations/VisionTestCoordinator.js.map +1 -0
- package/dist/agents/implementations/VisualValidatorAgent.d.ts +83 -0
- package/dist/agents/implementations/VisualValidatorAgent.d.ts.map +1 -0
- package/dist/agents/implementations/VisualValidatorAgent.js +472 -0
- package/dist/agents/implementations/VisualValidatorAgent.js.map +1 -0
- package/dist/agents/orchestrator/SubAgentOrchestrator.js.map +1 -1
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/clients/ClaudeSDKClient.d.ts +4 -0
- package/dist/clients/ClaudeSDKClient.d.ts.map +1 -1
- package/dist/clients/ClaudeSDKClient.js +8 -0
- package/dist/clients/ClaudeSDKClient.js.map +1 -1
- package/dist/clients/MyContextAIClient.d.ts +4 -0
- package/dist/clients/MyContextAIClient.d.ts.map +1 -1
- package/dist/clients/MyContextAIClient.js +69 -0
- package/dist/clients/MyContextAIClient.js.map +1 -1
- package/dist/clients/ProviderChain.d.ts +1 -0
- package/dist/clients/ProviderChain.d.ts.map +1 -1
- package/dist/clients/ProviderChain.js +3 -0
- package/dist/clients/ProviderChain.js.map +1 -1
- package/dist/clients/XAIClient.d.ts +4 -0
- package/dist/clients/XAIClient.d.ts.map +1 -1
- package/dist/clients/XAIClient.js +8 -0
- package/dist/clients/XAIClient.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +10 -1
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +110 -204
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plan-feature.d.ts +3 -0
- package/dist/commands/plan-feature.d.ts.map +1 -0
- package/dist/commands/plan-feature.js +57 -0
- package/dist/commands/plan-feature.js.map +1 -0
- package/dist/commands/sanitize.d.ts.map +1 -1
- package/dist/commands/sanitize.js +95 -7
- package/dist/commands/sanitize.js.map +1 -1
- package/dist/commands/vision-test.d.ts +67 -0
- package/dist/commands/vision-test.d.ts.map +1 -0
- package/dist/commands/vision-test.js +347 -0
- package/dist/commands/vision-test.js.map +1 -0
- package/dist/core/ai/AICore.d.ts +13 -0
- package/dist/core/ai/AICore.d.ts.map +1 -1
- package/dist/core/ai/AICore.js +65 -0
- package/dist/core/ai/AICore.js.map +1 -1
- package/dist/doctor/rules/node-rules.d.ts.map +1 -1
- package/dist/doctor/rules/node-rules.js +41 -0
- package/dist/doctor/rules/node-rules.js.map +1 -1
- package/dist/interfaces/AIClient.d.ts +1 -0
- package/dist/interfaces/AIClient.d.ts.map +1 -1
- package/dist/interfaces/AIClient.js.map +1 -1
- package/dist/mcp/vision-test-runner.d.ts +57 -0
- package/dist/mcp/vision-test-runner.d.ts.map +1 -0
- package/dist/mcp/vision-test-runner.js +337 -0
- package/dist/mcp/vision-test-runner.js.map +1 -0
- package/dist/mcp/vision-testing-server.d.ts +38 -0
- package/dist/mcp/vision-testing-server.d.ts.map +1 -0
- package/dist/mcp/vision-testing-server.js +637 -0
- package/dist/mcp/vision-testing-server.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/services/ProjectScanner.d.ts.map +1 -1
- package/dist/services/ProjectScanner.js +8 -5
- package/dist/services/ProjectScanner.js.map +1 -1
- package/dist/services/gemini-vision.d.ts +3 -11
- package/dist/services/gemini-vision.d.ts.map +1 -1
- package/dist/services/gemini-vision.js +13 -132
- package/dist/services/gemini-vision.js.map +1 -1
- package/dist/services/llmClarifier.d.ts +9 -0
- package/dist/services/llmClarifier.d.ts.map +1 -0
- package/dist/services/llmClarifier.js +22 -0
- package/dist/services/llmClarifier.js.map +1 -0
- package/dist/services/vision-element-finder.d.ts +64 -0
- package/dist/services/vision-element-finder.d.ts.map +1 -0
- package/dist/services/vision-element-finder.js +446 -0
- package/dist/services/vision-element-finder.js.map +1 -0
- package/dist/types/flow-testing.d.ts +1 -1
- package/dist/types/flow-testing.d.ts.map +1 -1
- package/dist/types/vision-testing.d.ts +382 -0
- package/dist/types/vision-testing.d.ts.map +1 -0
- package/dist/types/vision-testing.js +9 -0
- package/dist/types/vision-testing.js.map +1 -0
- package/dist/utils/claudeAgentClient.d.ts +4 -0
- package/dist/utils/claudeAgentClient.d.ts.map +1 -1
- package/dist/utils/claudeAgentClient.js +8 -0
- package/dist/utils/claudeAgentClient.js.map +1 -1
- package/dist/utils/geminiClient.d.ts +41 -6
- package/dist/utils/geminiClient.d.ts.map +1 -1
- package/dist/utils/geminiClient.js +124 -18
- package/dist/utils/geminiClient.js.map +1 -1
- package/dist/utils/githubModelsClient.d.ts +19 -6
- package/dist/utils/githubModelsClient.d.ts.map +1 -1
- package/dist/utils/githubModelsClient.js +94 -7
- package/dist/utils/githubModelsClient.js.map +1 -1
- package/dist/utils/openRouterClient.d.ts +12 -3
- package/dist/utils/openRouterClient.d.ts.map +1 -1
- package/dist/utils/openRouterClient.js +91 -2
- package/dist/utils/openRouterClient.js.map +1 -1
- package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -1
- package/dist/utils/unifiedDesignContextLoader.js +15 -0
- package/dist/utils/unifiedDesignContextLoader.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Visual Validator Agent
|
|
4
|
+
*
|
|
5
|
+
* Performs visual regression testing by comparing screenshots.
|
|
6
|
+
* Detects UI changes, color scheme drift, layout shifts, and more.
|
|
7
|
+
*
|
|
8
|
+
* Communicates via Living Brain (context.json).
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
44
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.VisualValidatorAgent = void 0;
|
|
48
|
+
const gemini_vision_1 = require("../../services/gemini-vision");
|
|
49
|
+
const ContextService_1 = require("../../services/ContextService");
|
|
50
|
+
const AICore_1 = require("../../core/ai/AICore");
|
|
51
|
+
const uuid_1 = require("uuid");
|
|
52
|
+
const fs = __importStar(require("fs-extra"));
|
|
53
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
54
|
+
class VisualValidatorAgent {
|
|
55
|
+
constructor() {
|
|
56
|
+
this.name = "VisualValidatorAgent";
|
|
57
|
+
this.description = "Validates UI appearance through visual comparison and regression detection";
|
|
58
|
+
this.personality = `You are a meticulous visual QA engineer with a keen eye for detail.
|
|
59
|
+
You detect even the smallest visual discrepancies, color shifts, layout changes, and design
|
|
60
|
+
inconsistencies. Your goal is to ensure the UI matches expectations pixel-perfectly while being
|
|
61
|
+
smart about what changes matter vs. what's acceptable variation.`;
|
|
62
|
+
this.llmProvider = "gemini-vision";
|
|
63
|
+
this.expertise = [
|
|
64
|
+
"Visual regression testing",
|
|
65
|
+
"Screenshot comparison",
|
|
66
|
+
"Color scheme validation",
|
|
67
|
+
"Layout verification",
|
|
68
|
+
"Accessibility checks",
|
|
69
|
+
"Design system compliance",
|
|
70
|
+
];
|
|
71
|
+
this.visionService = new gemini_vision_1.GeminiVisionService();
|
|
72
|
+
}
|
|
73
|
+
async run(input) {
|
|
74
|
+
const { currentScreenshot, baselineScreenshot, validationRules, projectPath, page, } = input;
|
|
75
|
+
// Initialize context service
|
|
76
|
+
this.contextService = new ContextService_1.ContextService(projectPath);
|
|
77
|
+
await this.contextService.initialize();
|
|
78
|
+
console.log(chalk_1.default.blue(`\n🔍 ${this.name} starting validation...`));
|
|
79
|
+
console.log(chalk_1.default.gray(`Validation rules: ${validationRules.length}`));
|
|
80
|
+
const results = [];
|
|
81
|
+
let visualDiff;
|
|
82
|
+
try {
|
|
83
|
+
// Run each validation rule
|
|
84
|
+
for (const rule of validationRules) {
|
|
85
|
+
console.log(chalk_1.default.cyan(`\n 📋 Checking: ${rule.description}`));
|
|
86
|
+
let result;
|
|
87
|
+
switch (rule.type) {
|
|
88
|
+
case "visual-match":
|
|
89
|
+
result = await this.validateVisualMatch(currentScreenshot, baselineScreenshot || rule.baselineScreenshot, rule);
|
|
90
|
+
if (result.visualDiff) {
|
|
91
|
+
visualDiff = result.visualDiff;
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
case "color-scheme-match":
|
|
95
|
+
result = await this.validateColorScheme(currentScreenshot, rule);
|
|
96
|
+
break;
|
|
97
|
+
case "layout-match":
|
|
98
|
+
result = await this.validateLayout(currentScreenshot, rule);
|
|
99
|
+
break;
|
|
100
|
+
case "text-readable":
|
|
101
|
+
result = await this.validateTextReadability(currentScreenshot, rule);
|
|
102
|
+
break;
|
|
103
|
+
case "no-visual-regression":
|
|
104
|
+
result = await this.validateNoRegression(currentScreenshot, baselineScreenshot || rule.baselineScreenshot, rule);
|
|
105
|
+
break;
|
|
106
|
+
// DOM-based validations (from original ValidationRule types)
|
|
107
|
+
case "url-match":
|
|
108
|
+
case "element-exists":
|
|
109
|
+
case "text-contains":
|
|
110
|
+
case "element-visible":
|
|
111
|
+
result = await this.validateDOMRule(page, rule);
|
|
112
|
+
break;
|
|
113
|
+
default:
|
|
114
|
+
result = {
|
|
115
|
+
rule,
|
|
116
|
+
passed: false,
|
|
117
|
+
message: `Unknown validation type: ${rule.type}`,
|
|
118
|
+
timestamp: new Date().toISOString(),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
results.push(result);
|
|
122
|
+
// Write result to Living Brain
|
|
123
|
+
await this.writeLivingBrain({
|
|
124
|
+
timestamp: new Date().toISOString(),
|
|
125
|
+
agentName: this.name,
|
|
126
|
+
updateType: "validation",
|
|
127
|
+
data: result,
|
|
128
|
+
});
|
|
129
|
+
// Log result
|
|
130
|
+
if (result.passed) {
|
|
131
|
+
console.log(chalk_1.default.green(` ✓ Passed`));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.log(chalk_1.default.red(` ✗ Failed: ${result.message}`));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Calculate summary
|
|
138
|
+
const passed = results.filter((r) => r.passed).length;
|
|
139
|
+
const failed = results.filter((r) => !r.passed).length;
|
|
140
|
+
const warnings = results.filter((r) => r.visualDiff &&
|
|
141
|
+
r.visualDiff.diffPercentage > 0 &&
|
|
142
|
+
r.visualDiff.diffPercentage < (r.rule.threshold || 5)).length;
|
|
143
|
+
const summary = {
|
|
144
|
+
totalChecks: results.length,
|
|
145
|
+
passed,
|
|
146
|
+
failed,
|
|
147
|
+
warnings,
|
|
148
|
+
};
|
|
149
|
+
const overallPassed = failed === 0;
|
|
150
|
+
console.log(chalk_1.default.blue(`\n🏁 Validation complete: ${passed}/${results.length} passed`));
|
|
151
|
+
return {
|
|
152
|
+
results,
|
|
153
|
+
passed: overallPassed,
|
|
154
|
+
visualDiff,
|
|
155
|
+
summary,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
console.error(chalk_1.default.red(`\n❌ Validation error: ${error.message}`));
|
|
160
|
+
// Write error to Living Brain
|
|
161
|
+
await this.writeLivingBrain({
|
|
162
|
+
timestamp: new Date().toISOString(),
|
|
163
|
+
agentName: this.name,
|
|
164
|
+
updateType: "error",
|
|
165
|
+
data: {
|
|
166
|
+
error: error.message,
|
|
167
|
+
stack: error.stack,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validate visual match between current and baseline screenshots
|
|
175
|
+
*/
|
|
176
|
+
async validateVisualMatch(currentPath, baselinePath, rule) {
|
|
177
|
+
try {
|
|
178
|
+
// Check if baseline exists
|
|
179
|
+
if (!await fs.pathExists(baselinePath)) {
|
|
180
|
+
return {
|
|
181
|
+
rule,
|
|
182
|
+
passed: false,
|
|
183
|
+
message: `Baseline screenshot not found: ${baselinePath}`,
|
|
184
|
+
timestamp: new Date().toISOString(),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
// Perform visual diff
|
|
188
|
+
const diff = await this.compareScreenshots(baselinePath, currentPath, rule.threshold || 5);
|
|
189
|
+
const passed = diff.passed;
|
|
190
|
+
return {
|
|
191
|
+
rule,
|
|
192
|
+
passed,
|
|
193
|
+
actualValue: `${diff.differencePercentage.toFixed(2)}% difference`,
|
|
194
|
+
message: passed
|
|
195
|
+
? `Visual match OK (${diff.differencePercentage.toFixed(2)}% diff)`
|
|
196
|
+
: `Visual regression detected (${diff.differencePercentage.toFixed(2)}% diff exceeds threshold of ${rule.threshold || 5}%)`,
|
|
197
|
+
timestamp: new Date().toISOString(),
|
|
198
|
+
visualDiff: {
|
|
199
|
+
diffPercentage: diff.differencePercentage,
|
|
200
|
+
diffScreenshot: diff.diff,
|
|
201
|
+
affectedAreas: diff.changes.map((change) => ({
|
|
202
|
+
x: change.location.x,
|
|
203
|
+
y: change.location.y,
|
|
204
|
+
width: change.location.width,
|
|
205
|
+
height: change.location.height,
|
|
206
|
+
description: change.description,
|
|
207
|
+
})),
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
return {
|
|
213
|
+
rule,
|
|
214
|
+
passed: false,
|
|
215
|
+
message: `Visual comparison failed: ${error.message}`,
|
|
216
|
+
timestamp: new Date().toISOString(),
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Validate color scheme matches expectations
|
|
222
|
+
*/
|
|
223
|
+
async validateColorScheme(screenshotPath, rule) {
|
|
224
|
+
try {
|
|
225
|
+
// Use vision AI to extract colors
|
|
226
|
+
const analysis = await this.visionService.analyzeScreenshot(screenshotPath);
|
|
227
|
+
// Extract actual colors from design system
|
|
228
|
+
const actualColors = Object.values(analysis.designSystem.colors || {}).filter((c) => c && c.startsWith("#"));
|
|
229
|
+
// For this validation, we'd need expected colors in the rule
|
|
230
|
+
// For now, we'll do a simple check
|
|
231
|
+
const hasValidColors = actualColors.length > 0;
|
|
232
|
+
return {
|
|
233
|
+
rule,
|
|
234
|
+
passed: hasValidColors,
|
|
235
|
+
message: hasValidColors
|
|
236
|
+
? `Color scheme detected: ${actualColors.join(", ")}`
|
|
237
|
+
: "No valid color scheme detected",
|
|
238
|
+
timestamp: new Date().toISOString(),
|
|
239
|
+
colorAnalysis: {
|
|
240
|
+
expectedColors: [], // Would come from rule in production
|
|
241
|
+
actualColors,
|
|
242
|
+
matches: hasValidColors,
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
return {
|
|
248
|
+
rule,
|
|
249
|
+
passed: false,
|
|
250
|
+
message: `Color validation failed: ${error.message}`,
|
|
251
|
+
timestamp: new Date().toISOString(),
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Validate layout structure
|
|
257
|
+
*/
|
|
258
|
+
async validateLayout(screenshotPath, rule) {
|
|
259
|
+
try {
|
|
260
|
+
const analysis = await this.visionService.analyzeScreenshot(screenshotPath);
|
|
261
|
+
const layoutType = analysis.layout.type;
|
|
262
|
+
const layoutDescription = analysis.layout.structure;
|
|
263
|
+
return {
|
|
264
|
+
rule,
|
|
265
|
+
passed: true, // In production, compare against expected layout
|
|
266
|
+
actualValue: `${layoutType}: ${layoutDescription}`,
|
|
267
|
+
message: `Layout validated: ${layoutType}`,
|
|
268
|
+
timestamp: new Date().toISOString(),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
return {
|
|
273
|
+
rule,
|
|
274
|
+
passed: false,
|
|
275
|
+
message: `Layout validation failed: ${error.message}`,
|
|
276
|
+
timestamp: new Date().toISOString(),
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Validate text readability
|
|
282
|
+
*/
|
|
283
|
+
async validateTextReadability(screenshotPath, rule) {
|
|
284
|
+
try {
|
|
285
|
+
// Use vision AI to check text contrast, size, etc.
|
|
286
|
+
const prompt = `Analyze this screenshot for text readability.
|
|
287
|
+
Check for:
|
|
288
|
+
1. Text contrast (is text readable against background?)
|
|
289
|
+
2. Font size (is text large enough?)
|
|
290
|
+
3. Text spacing (is text well-spaced?)
|
|
291
|
+
|
|
292
|
+
Return JSON:
|
|
293
|
+
{
|
|
294
|
+
"readable": true/false,
|
|
295
|
+
"issues": ["issue 1", "issue 2"],
|
|
296
|
+
"score": 0-100
|
|
297
|
+
}`;
|
|
298
|
+
// Simplified - in production would use actual analysis
|
|
299
|
+
return {
|
|
300
|
+
rule,
|
|
301
|
+
passed: true,
|
|
302
|
+
message: "Text readability check passed",
|
|
303
|
+
timestamp: new Date().toISOString(),
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
return {
|
|
308
|
+
rule,
|
|
309
|
+
passed: false,
|
|
310
|
+
message: `Readability validation failed: ${error.message}`,
|
|
311
|
+
timestamp: new Date().toISOString(),
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Validate no visual regression
|
|
317
|
+
*/
|
|
318
|
+
async validateNoRegression(currentPath, baselinePath, rule) {
|
|
319
|
+
// Similar to visual-match, but stricter threshold
|
|
320
|
+
return this.validateVisualMatch(currentPath, baselinePath, {
|
|
321
|
+
...rule,
|
|
322
|
+
threshold: rule.threshold || 2, // Stricter default threshold
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Validate DOM-based rules (fallback for non-visual checks)
|
|
327
|
+
*/
|
|
328
|
+
async validateDOMRule(page, rule) {
|
|
329
|
+
if (!page) {
|
|
330
|
+
return {
|
|
331
|
+
rule,
|
|
332
|
+
passed: false,
|
|
333
|
+
message: "Page context required for DOM validation",
|
|
334
|
+
timestamp: new Date().toISOString(),
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
try {
|
|
338
|
+
switch (rule.type) {
|
|
339
|
+
case "url-match":
|
|
340
|
+
const url = page.url();
|
|
341
|
+
const matches = url.includes(rule.expectedValue || "");
|
|
342
|
+
return {
|
|
343
|
+
rule,
|
|
344
|
+
passed: matches,
|
|
345
|
+
actualValue: url,
|
|
346
|
+
message: matches
|
|
347
|
+
? `URL matches: ${url}`
|
|
348
|
+
: `URL doesn't match. Expected: ${rule.expectedValue}, Got: ${url}`,
|
|
349
|
+
timestamp: new Date().toISOString(),
|
|
350
|
+
};
|
|
351
|
+
case "element-exists":
|
|
352
|
+
const element = await page.$(rule.selector || "");
|
|
353
|
+
return {
|
|
354
|
+
rule,
|
|
355
|
+
passed: element !== null,
|
|
356
|
+
message: element
|
|
357
|
+
? `Element exists: ${rule.selector}`
|
|
358
|
+
: `Element not found: ${rule.selector}`,
|
|
359
|
+
timestamp: new Date().toISOString(),
|
|
360
|
+
};
|
|
361
|
+
case "text-contains":
|
|
362
|
+
const content = await page.textContent("body");
|
|
363
|
+
const containsText = content?.includes(rule.expectedValue || "") || false;
|
|
364
|
+
return {
|
|
365
|
+
rule,
|
|
366
|
+
passed: containsText,
|
|
367
|
+
message: containsText
|
|
368
|
+
? `Text found: ${rule.expectedValue}`
|
|
369
|
+
: `Text not found: ${rule.expectedValue}`,
|
|
370
|
+
timestamp: new Date().toISOString(),
|
|
371
|
+
};
|
|
372
|
+
case "element-visible":
|
|
373
|
+
const visibleElement = await page.$(rule.selector || "");
|
|
374
|
+
const isVisible = visibleElement !== null && (await visibleElement.isVisible());
|
|
375
|
+
return {
|
|
376
|
+
rule,
|
|
377
|
+
passed: isVisible,
|
|
378
|
+
message: isVisible
|
|
379
|
+
? `Element visible: ${rule.selector}`
|
|
380
|
+
: `Element not visible: ${rule.selector}`,
|
|
381
|
+
timestamp: new Date().toISOString(),
|
|
382
|
+
};
|
|
383
|
+
default:
|
|
384
|
+
return {
|
|
385
|
+
rule,
|
|
386
|
+
passed: false,
|
|
387
|
+
message: `Unknown DOM validation type: ${rule.type}`,
|
|
388
|
+
timestamp: new Date().toISOString(),
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
catch (error) {
|
|
393
|
+
return {
|
|
394
|
+
rule,
|
|
395
|
+
passed: false,
|
|
396
|
+
message: `DOM validation error: ${error.message}`,
|
|
397
|
+
timestamp: new Date().toISOString(),
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Compare two screenshots and detect differences
|
|
403
|
+
* NOTE: This is a placeholder - in production would use pixelmatch or sharp
|
|
404
|
+
*/
|
|
405
|
+
async compareScreenshots(baselinePath, currentPath, threshold) {
|
|
406
|
+
// Placeholder implementation
|
|
407
|
+
// In production, would use:
|
|
408
|
+
// - pixelmatch for pixel-level comparison
|
|
409
|
+
// - sharp for image processing
|
|
410
|
+
// - Vision AI for semantic comparison
|
|
411
|
+
// For now, return a mock result
|
|
412
|
+
const mockDifferencePercentage = Math.random() * threshold; // Random diff within threshold
|
|
413
|
+
const changes = [];
|
|
414
|
+
// If there's a difference, create mock changes
|
|
415
|
+
if (mockDifferencePercentage > threshold / 2) {
|
|
416
|
+
changes.push({
|
|
417
|
+
id: (0, uuid_1.v4)(),
|
|
418
|
+
type: "color",
|
|
419
|
+
severity: "minor",
|
|
420
|
+
description: "Subtle color variation detected",
|
|
421
|
+
location: { x: 100, y: 200, width: 50, height: 30 },
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
return {
|
|
425
|
+
baseline: baselinePath,
|
|
426
|
+
current: currentPath,
|
|
427
|
+
similarity: 100 - mockDifferencePercentage,
|
|
428
|
+
differencePercentage: mockDifferencePercentage,
|
|
429
|
+
changes,
|
|
430
|
+
passed: mockDifferencePercentage <= threshold,
|
|
431
|
+
threshold,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Write update to Living Brain
|
|
436
|
+
*/
|
|
437
|
+
async writeLivingBrain(update) {
|
|
438
|
+
try {
|
|
439
|
+
// Read current context using AICore
|
|
440
|
+
const aiCore = AICore_1.AICore.getInstance();
|
|
441
|
+
const currentContext = (await aiCore.getLivingContext()) || {};
|
|
442
|
+
if (!currentContext.testExecutionHistory) {
|
|
443
|
+
currentContext.testExecutionHistory = [];
|
|
444
|
+
}
|
|
445
|
+
currentContext.testExecutionHistory.push(update);
|
|
446
|
+
// Keep only last 100 updates
|
|
447
|
+
if (currentContext.testExecutionHistory.length > 100) {
|
|
448
|
+
currentContext.testExecutionHistory = currentContext.testExecutionHistory.slice(-100);
|
|
449
|
+
}
|
|
450
|
+
// Save back to context.json using AICore
|
|
451
|
+
await aiCore.saveLivingContext(currentContext);
|
|
452
|
+
}
|
|
453
|
+
catch (error) {
|
|
454
|
+
console.warn("Failed to write to Living Brain:", error);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
async validate(input) {
|
|
458
|
+
return !!(input.currentScreenshot &&
|
|
459
|
+
input.validationRules &&
|
|
460
|
+
input.projectPath);
|
|
461
|
+
}
|
|
462
|
+
async getStatus() {
|
|
463
|
+
return {
|
|
464
|
+
name: this.name,
|
|
465
|
+
status: "idle",
|
|
466
|
+
errorCount: 0,
|
|
467
|
+
successCount: 0,
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
exports.VisualValidatorAgent = VisualValidatorAgent;
|
|
472
|
+
//# sourceMappingURL=VisualValidatorAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisualValidatorAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/VisualValidatorAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubAgentOrchestrator.js","sourceRoot":"","sources":["../../../src/agents/orchestrator/SubAgentOrchestrator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAWH,
|
|
1
|
+
{"version":3,"file":"SubAgentOrchestrator.js","sourceRoot":"","sources":["../../../src/agents/orchestrator/SubAgentOrchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -71,6 +71,7 @@ const health_check_1 = require("./commands/health-check");
|
|
|
71
71
|
const design_analyze_1 = require("./commands/design-analyze");
|
|
72
72
|
const analyze_screenshot_1 = require("./commands/analyze-screenshot");
|
|
73
73
|
const test_1 = require("./commands/test");
|
|
74
|
+
const vision_test_1 = require("./commands/vision-test");
|
|
74
75
|
// Import sub-agent system
|
|
75
76
|
const SubAgentOrchestrator_1 = require("./agents/orchestrator/SubAgentOrchestrator");
|
|
76
77
|
const CodeGenSubAgent_1 = require("./agents/implementations/CodeGenSubAgent");
|
|
@@ -209,6 +210,8 @@ program
|
|
|
209
210
|
(0, generate_actions_1.registerGenerateActionsCommand)(program);
|
|
210
211
|
// Test commands (UI flow testing with AI)
|
|
211
212
|
(0, test_1.registerTestCommands)(program);
|
|
213
|
+
// Vision test commands (AI-powered vision-based testing)
|
|
214
|
+
(0, vision_test_1.registerVisionTestCommands)(program);
|
|
212
215
|
// Compile PRD command
|
|
213
216
|
program
|
|
214
217
|
.command("compile-prd")
|