mycontext-cli 4.2.10 → 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/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/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,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vision Navigator Agent
|
|
4
|
+
*
|
|
5
|
+
* Autonomous agent that navigates UIs using vision-based understanding.
|
|
6
|
+
* Observes -> Thinks -> Acts loop powered by visual AI.
|
|
7
|
+
*
|
|
8
|
+
* Communicates via Living Brain (context.json) following the blackboard pattern.
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.VisionNavigatorAgent = void 0;
|
|
15
|
+
const vision_element_finder_1 = require("../../services/vision-element-finder");
|
|
16
|
+
const ContextService_1 = require("../../services/ContextService");
|
|
17
|
+
const AICore_1 = require("../../core/ai/AICore");
|
|
18
|
+
const uuid_1 = require("uuid");
|
|
19
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
20
|
+
class VisionNavigatorAgent {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.name = "VisionNavigatorAgent";
|
|
23
|
+
this.description = "Autonomous navigator that understands UIs through vision and executes test missions";
|
|
24
|
+
this.personality = `You are a meticulous AI agent that navigates web applications by
|
|
25
|
+
visually understanding the UI, just like a human would. You see the page, understand the context,
|
|
26
|
+
and make intelligent decisions about what to click, fill, or interact with. You ALWAYS validate
|
|
27
|
+
your actions against the project's Prime Objective to prevent mission drift.`;
|
|
28
|
+
this.llmProvider = "gemini-vision"; // Uses Gemini for vision
|
|
29
|
+
this.expertise = [
|
|
30
|
+
"Vision-based UI understanding",
|
|
31
|
+
"Autonomous navigation",
|
|
32
|
+
"Intent validation",
|
|
33
|
+
"Adaptive element finding",
|
|
34
|
+
"Test execution",
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
async run(input) {
|
|
38
|
+
const { page, mission, projectPath, maxSteps = 20 } = input;
|
|
39
|
+
// Initialize services
|
|
40
|
+
this.visionFinder = new vision_element_finder_1.VisionElementFinder(projectPath);
|
|
41
|
+
this.contextService = new ContextService_1.ContextService(projectPath);
|
|
42
|
+
await this.contextService.initialize();
|
|
43
|
+
// Get Prime Objective from manifest (for gravity checking)
|
|
44
|
+
const manifest = this.contextService.getManifest();
|
|
45
|
+
const primeObjective = manifest?.phases?.functional_summary?.core_purpose ||
|
|
46
|
+
"Complete the test mission";
|
|
47
|
+
console.log(chalk_1.default.blue(`\n🤖 ${this.name} starting navigation...`));
|
|
48
|
+
console.log(chalk_1.default.gray(`Mission: ${mission.mission}`));
|
|
49
|
+
console.log(chalk_1.default.gray(`Prime Objective: ${primeObjective}\n`));
|
|
50
|
+
// Write mission start to Living Brain
|
|
51
|
+
await this.writeLivingBrain({
|
|
52
|
+
timestamp: new Date().toISOString(),
|
|
53
|
+
agentName: this.name,
|
|
54
|
+
updateType: "test-start",
|
|
55
|
+
data: {
|
|
56
|
+
missionId: mission.id,
|
|
57
|
+
mission: mission.mission,
|
|
58
|
+
expectedOutcome: mission.expectedOutcome,
|
|
59
|
+
},
|
|
60
|
+
metadata: {
|
|
61
|
+
testId: mission.id,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
const steps = [];
|
|
65
|
+
let completed = false;
|
|
66
|
+
let reason = "";
|
|
67
|
+
let stepOrder = 0;
|
|
68
|
+
try {
|
|
69
|
+
// Main navigation loop: Observe -> Think -> Act
|
|
70
|
+
while (!completed && stepOrder < maxSteps) {
|
|
71
|
+
console.log(chalk_1.default.cyan(`\n📸 Step ${stepOrder + 1}: Observing...`));
|
|
72
|
+
// 1. OBSERVE: Analyze current page state with vision
|
|
73
|
+
const pageAnalysis = await this.visionFinder.analyzePage(page);
|
|
74
|
+
console.log(chalk_1.default.gray(` UI State: ${pageAnalysis.aiInterpretation}`));
|
|
75
|
+
// 2. THINK: Decide next action based on mission and current state
|
|
76
|
+
const previousStepDescriptions = steps.map((s) => `${s.action} (${s.success ? "✓" : "✗"})`);
|
|
77
|
+
console.log(chalk_1.default.yellow(`\n🤔 Thinking: Deciding next action...`));
|
|
78
|
+
const decision = await this.visionFinder.decideNextAction(page, mission.mission, previousStepDescriptions, primeObjective);
|
|
79
|
+
console.log(chalk_1.default.gray(` Decision: ${decision.action}`));
|
|
80
|
+
console.log(chalk_1.default.gray(` Reasoning: ${decision.reasoning}`));
|
|
81
|
+
console.log(chalk_1.default.gray(` Confidence: ${decision.confidence}%`));
|
|
82
|
+
// Gravity Check: Validate alignment with Prime Objective
|
|
83
|
+
if (!decision.alignsWithPrimeObjective) {
|
|
84
|
+
console.log(chalk_1.default.red(`\n🛑 GRAVITY ALERT: Decision deviates from Prime Objective!`));
|
|
85
|
+
console.log(chalk_1.default.yellow(` Gravity Score: ${decision.gravityScore}%`));
|
|
86
|
+
// Record failed step
|
|
87
|
+
const failedStep = {
|
|
88
|
+
id: (0, uuid_1.v4)(),
|
|
89
|
+
order: stepOrder++,
|
|
90
|
+
action: `REJECTED: ${decision.action}`,
|
|
91
|
+
intent: decision.intent,
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
success: false,
|
|
94
|
+
error: `Gravity intervention: Action doesn't align with Prime Objective`,
|
|
95
|
+
visionDecision: decision,
|
|
96
|
+
};
|
|
97
|
+
steps.push(failedStep);
|
|
98
|
+
await this.writeLivingBrain({
|
|
99
|
+
timestamp: new Date().toISOString(),
|
|
100
|
+
agentName: this.name,
|
|
101
|
+
updateType: "test-step",
|
|
102
|
+
data: failedStep,
|
|
103
|
+
metadata: {
|
|
104
|
+
testId: mission.id,
|
|
105
|
+
stepId: failedStep.id,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
// Ask AI to reconsider
|
|
109
|
+
console.log(chalk_1.default.yellow(` Re-thinking with gravity awareness...`));
|
|
110
|
+
// For now, we'll break the loop
|
|
111
|
+
// In production, you'd retry with corrected context
|
|
112
|
+
reason = "Gravity intervention - mission drift prevented";
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
// Check if mission is complete
|
|
116
|
+
if (decision.action === "complete") {
|
|
117
|
+
completed = true;
|
|
118
|
+
reason = "Mission completed successfully";
|
|
119
|
+
console.log(chalk_1.default.green(`\n✅ Mission complete!`));
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
// 3. ACT: Execute the decided action
|
|
123
|
+
console.log(chalk_1.default.magenta(`\n⚡ Acting: Executing ${decision.action}...`));
|
|
124
|
+
const step = await this.executeAction(page, decision, stepOrder++, mission);
|
|
125
|
+
steps.push(step);
|
|
126
|
+
// Write step to Living Brain
|
|
127
|
+
await this.writeLivingBrain({
|
|
128
|
+
timestamp: new Date().toISOString(),
|
|
129
|
+
agentName: this.name,
|
|
130
|
+
updateType: "test-step",
|
|
131
|
+
data: step,
|
|
132
|
+
metadata: {
|
|
133
|
+
testId: mission.id,
|
|
134
|
+
executionId: `${mission.id}-${Date.now()}`,
|
|
135
|
+
stepId: step.id,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
if (!step.success) {
|
|
139
|
+
console.log(chalk_1.default.red(` ❌ Step failed: ${step.error}`));
|
|
140
|
+
reason = `Step failed: ${step.error}`;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
console.log(chalk_1.default.green(` ✓ Step successful`));
|
|
144
|
+
// Brief pause for page to settle
|
|
145
|
+
await page.waitForTimeout(1000);
|
|
146
|
+
}
|
|
147
|
+
// Check if we hit max steps
|
|
148
|
+
if (stepOrder >= maxSteps && !completed) {
|
|
149
|
+
reason = `Reached maximum steps (${maxSteps})`;
|
|
150
|
+
console.log(chalk_1.default.yellow(`\n⚠️ ${reason}`));
|
|
151
|
+
}
|
|
152
|
+
const finalUrl = page.url();
|
|
153
|
+
// Write completion to Living Brain
|
|
154
|
+
await this.writeLivingBrain({
|
|
155
|
+
timestamp: new Date().toISOString(),
|
|
156
|
+
agentName: this.name,
|
|
157
|
+
updateType: "test-complete",
|
|
158
|
+
data: {
|
|
159
|
+
completed,
|
|
160
|
+
totalSteps: steps.length,
|
|
161
|
+
successfulSteps: steps.filter((s) => s.success).length,
|
|
162
|
+
finalUrl,
|
|
163
|
+
reason,
|
|
164
|
+
},
|
|
165
|
+
metadata: {
|
|
166
|
+
testId: mission.id,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
console.log(chalk_1.default.blue(`\n🏁 Navigation complete: ${steps.length} steps executed`));
|
|
170
|
+
return {
|
|
171
|
+
steps,
|
|
172
|
+
completed,
|
|
173
|
+
finalUrl,
|
|
174
|
+
reason,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error(chalk_1.default.red(`\n❌ Navigation error: ${error.message}`));
|
|
179
|
+
// Write error to Living Brain
|
|
180
|
+
await this.writeLivingBrain({
|
|
181
|
+
timestamp: new Date().toISOString(),
|
|
182
|
+
agentName: this.name,
|
|
183
|
+
updateType: "error",
|
|
184
|
+
data: {
|
|
185
|
+
error: error.message,
|
|
186
|
+
stack: error.stack,
|
|
187
|
+
stepsCompleted: steps.length,
|
|
188
|
+
},
|
|
189
|
+
metadata: {
|
|
190
|
+
testId: mission.id,
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
throw error;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Execute an action decided by the AI
|
|
198
|
+
*/
|
|
199
|
+
async executeAction(page, decision, order, mission) {
|
|
200
|
+
const step = {
|
|
201
|
+
id: (0, uuid_1.v4)(),
|
|
202
|
+
order,
|
|
203
|
+
action: `${decision.action}: ${decision.targetElement?.description || decision.value || decision.url || ""}`,
|
|
204
|
+
intent: decision.intent,
|
|
205
|
+
timestamp: new Date().toISOString(),
|
|
206
|
+
success: false,
|
|
207
|
+
visionDecision: decision,
|
|
208
|
+
};
|
|
209
|
+
try {
|
|
210
|
+
switch (decision.action) {
|
|
211
|
+
case "click":
|
|
212
|
+
if (!decision.targetElement) {
|
|
213
|
+
throw new Error("No target element specified for click action");
|
|
214
|
+
}
|
|
215
|
+
const clickSuccess = await this.visionFinder.clickElement(page, decision.targetElement);
|
|
216
|
+
if (!clickSuccess) {
|
|
217
|
+
throw new Error("Click action failed");
|
|
218
|
+
}
|
|
219
|
+
step.metadata = {
|
|
220
|
+
elementSelector: decision.targetElement.domSelector,
|
|
221
|
+
clickedElement: decision.targetElement.description,
|
|
222
|
+
};
|
|
223
|
+
step.success = true;
|
|
224
|
+
break;
|
|
225
|
+
case "fill":
|
|
226
|
+
if (!decision.targetElement || !decision.value) {
|
|
227
|
+
throw new Error("No target element or value specified for fill action");
|
|
228
|
+
}
|
|
229
|
+
const fillSuccess = await this.visionFinder.fillElement(page, decision.targetElement, decision.value);
|
|
230
|
+
if (!fillSuccess) {
|
|
231
|
+
throw new Error("Fill action failed");
|
|
232
|
+
}
|
|
233
|
+
step.metadata = {
|
|
234
|
+
elementSelector: decision.targetElement.domSelector,
|
|
235
|
+
inputValue: decision.value,
|
|
236
|
+
};
|
|
237
|
+
step.success = true;
|
|
238
|
+
break;
|
|
239
|
+
case "navigate":
|
|
240
|
+
if (!decision.url) {
|
|
241
|
+
throw new Error("No URL specified for navigate action");
|
|
242
|
+
}
|
|
243
|
+
await page.goto(decision.url);
|
|
244
|
+
step.metadata = {
|
|
245
|
+
navigationTarget: decision.url,
|
|
246
|
+
url: page.url(),
|
|
247
|
+
};
|
|
248
|
+
step.success = true;
|
|
249
|
+
break;
|
|
250
|
+
case "scroll":
|
|
251
|
+
await page.evaluate(() => {
|
|
252
|
+
window.scrollBy(0, window.innerHeight);
|
|
253
|
+
});
|
|
254
|
+
step.success = true;
|
|
255
|
+
break;
|
|
256
|
+
case "wait":
|
|
257
|
+
await page.waitForTimeout(2000);
|
|
258
|
+
step.success = true;
|
|
259
|
+
break;
|
|
260
|
+
case "upload":
|
|
261
|
+
// File upload would be handled here
|
|
262
|
+
// Similar to the existing implementation
|
|
263
|
+
step.error = "Upload action not yet implemented in VisionNavigatorAgent";
|
|
264
|
+
break;
|
|
265
|
+
default:
|
|
266
|
+
step.error = `Unknown action: ${decision.action}`;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
step.error = error.message;
|
|
271
|
+
step.success = false;
|
|
272
|
+
}
|
|
273
|
+
return step;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Write update to Living Brain (context.json)
|
|
277
|
+
*/
|
|
278
|
+
async writeLivingBrain(update) {
|
|
279
|
+
try {
|
|
280
|
+
// Read current context using AICore
|
|
281
|
+
const aiCore = AICore_1.AICore.getInstance();
|
|
282
|
+
const currentContext = (await aiCore.getLivingContext()) || {};
|
|
283
|
+
// Add to test execution history
|
|
284
|
+
if (!currentContext.testExecutionHistory) {
|
|
285
|
+
currentContext.testExecutionHistory = [];
|
|
286
|
+
}
|
|
287
|
+
currentContext.testExecutionHistory.push(update);
|
|
288
|
+
// Keep only last 100 updates to prevent bloat
|
|
289
|
+
if (currentContext.testExecutionHistory.length > 100) {
|
|
290
|
+
currentContext.testExecutionHistory = currentContext.testExecutionHistory.slice(-100);
|
|
291
|
+
}
|
|
292
|
+
// Save back to context.json using AICore
|
|
293
|
+
await aiCore.saveLivingContext(currentContext);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
console.warn("Failed to write to Living Brain:", error);
|
|
297
|
+
// Don't throw - Living Brain writes are best-effort
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
async validate(input) {
|
|
301
|
+
return !!(input.page && input.mission && input.projectPath);
|
|
302
|
+
}
|
|
303
|
+
async getStatus() {
|
|
304
|
+
return {
|
|
305
|
+
name: this.name,
|
|
306
|
+
status: "idle",
|
|
307
|
+
errorCount: 0,
|
|
308
|
+
successCount: 0,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
exports.VisionNavigatorAgent = VisionNavigatorAgent;
|
|
313
|
+
//# sourceMappingURL=VisionNavigatorAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisionNavigatorAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/VisionNavigatorAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vision Test Coordinator
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates all vision-based testing agents using the Living Brain (context.json) as
|
|
5
|
+
* the communication blackboard. Coordinates navigation, validation, demo recording, and
|
|
6
|
+
* script generation in a cohesive workflow.
|
|
7
|
+
*
|
|
8
|
+
* Uses the SubAgentOrchestrator pattern for robust agent management.
|
|
9
|
+
*/
|
|
10
|
+
import { Page, BrowserContext } from "playwright";
|
|
11
|
+
import { SubAgent } from "../interfaces/SubAgent";
|
|
12
|
+
import { VisionTestMission, VisionTestExecutionResult } from "../../types/vision-testing";
|
|
13
|
+
export interface VisionTestCoordinatorInput {
|
|
14
|
+
page: Page;
|
|
15
|
+
browserContext: BrowserContext;
|
|
16
|
+
mission: VisionTestMission;
|
|
17
|
+
projectPath: string;
|
|
18
|
+
}
|
|
19
|
+
export interface VisionTestCoordinatorOutput {
|
|
20
|
+
result: VisionTestExecutionResult;
|
|
21
|
+
success: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class VisionTestCoordinator implements SubAgent<VisionTestCoordinatorInput, VisionTestCoordinatorOutput> {
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
personality: string;
|
|
27
|
+
llmProvider: string;
|
|
28
|
+
expertise: string[];
|
|
29
|
+
private orchestrator;
|
|
30
|
+
private contextService?;
|
|
31
|
+
private navigatorAgent;
|
|
32
|
+
private validatorAgent;
|
|
33
|
+
private recorderAgent;
|
|
34
|
+
private voExtractorAgent;
|
|
35
|
+
constructor();
|
|
36
|
+
run(input: VisionTestCoordinatorInput): Promise<VisionTestCoordinatorOutput>;
|
|
37
|
+
/**
|
|
38
|
+
* Write update to Living Brain
|
|
39
|
+
*/
|
|
40
|
+
private writeLivingBrain;
|
|
41
|
+
validate(input: VisionTestCoordinatorInput): Promise<boolean>;
|
|
42
|
+
getStatus(): Promise<{
|
|
43
|
+
name: string;
|
|
44
|
+
status: "idle" | "running" | "completed" | "error";
|
|
45
|
+
lastRun?: Date;
|
|
46
|
+
executionTime?: number;
|
|
47
|
+
errorCount: number;
|
|
48
|
+
successCount: number;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=VisionTestCoordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisionTestCoordinator.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/VisionTestCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EAK1B,MAAM,4BAA4B,CAAC;AAOpC,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,qBACX,YAAW,QAAQ,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IAE5E,IAAI,SAA2B;IAC/B,WAAW,SAC+C;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAiB;IAGxC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,gBAAgB,CAAyB;;IAiC3C,GAAG,CACP,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC;IAyTvC;;OAEG;YACW,gBAAgB;IA0BxB,QAAQ,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7D,SAAS,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;QACnD,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAQH"}
|