testchimp-runner-core 0.0.33 → 0.0.35
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/dist/execution-service.d.ts +1 -4
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/execution-service.js +155 -468
- package/dist/execution-service.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-facade.d.ts.map +1 -1
- package/dist/llm-facade.js +7 -7
- package/dist/llm-facade.js.map +1 -1
- package/dist/llm-provider.d.ts +9 -0
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/model-constants.d.ts +16 -5
- package/dist/model-constants.d.ts.map +1 -1
- package/dist/model-constants.js +17 -6
- package/dist/model-constants.js.map +1 -1
- package/dist/orchestrator/decision-parser.d.ts +18 -0
- package/dist/orchestrator/decision-parser.d.ts.map +1 -0
- package/dist/orchestrator/decision-parser.js +127 -0
- package/dist/orchestrator/decision-parser.js.map +1 -0
- package/dist/orchestrator/index.d.ts +4 -2
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +15 -2
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/orchestrator-agent.d.ts +17 -22
- package/dist/orchestrator/orchestrator-agent.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator-agent.js +708 -577
- package/dist/orchestrator/orchestrator-agent.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompts.d.ts +32 -0
- package/dist/orchestrator/orchestrator-prompts.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-prompts.js +737 -0
- package/dist/orchestrator/orchestrator-prompts.js.map +1 -0
- package/dist/orchestrator/page-som-handler.d.ts +106 -0
- package/dist/orchestrator/page-som-handler.d.ts.map +1 -0
- package/dist/orchestrator/page-som-handler.js +1353 -0
- package/dist/orchestrator/page-som-handler.js.map +1 -0
- package/dist/orchestrator/som-types.d.ts +149 -0
- package/dist/orchestrator/som-types.d.ts.map +1 -0
- package/dist/orchestrator/som-types.js +87 -0
- package/dist/orchestrator/som-types.js.map +1 -0
- package/dist/orchestrator/tool-registry.d.ts +2 -0
- package/dist/orchestrator/tool-registry.d.ts.map +1 -1
- package/dist/orchestrator/tool-registry.js.map +1 -1
- package/dist/orchestrator/tools/index.d.ts +5 -1
- package/dist/orchestrator/tools/index.d.ts.map +1 -1
- package/dist/orchestrator/tools/index.js +9 -2
- package/dist/orchestrator/tools/index.js.map +1 -1
- package/dist/orchestrator/tools/refresh-som-markers.d.ts +12 -0
- package/dist/orchestrator/tools/refresh-som-markers.d.ts.map +1 -0
- package/dist/orchestrator/tools/refresh-som-markers.js +64 -0
- package/dist/orchestrator/tools/refresh-som-markers.js.map +1 -0
- package/dist/orchestrator/tools/verify-action-result.d.ts +17 -0
- package/dist/orchestrator/tools/verify-action-result.d.ts.map +1 -0
- package/dist/orchestrator/tools/verify-action-result.js +140 -0
- package/dist/orchestrator/tools/verify-action-result.js.map +1 -0
- package/dist/orchestrator/tools/view-previous-screenshot.d.ts +15 -0
- package/dist/orchestrator/tools/view-previous-screenshot.d.ts.map +1 -0
- package/dist/orchestrator/tools/view-previous-screenshot.js +92 -0
- package/dist/orchestrator/tools/view-previous-screenshot.js.map +1 -0
- package/dist/orchestrator/types.d.ts +49 -1
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/orchestrator/types.js +11 -1
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +40 -34
- package/dist/prompts.js.map +1 -1
- package/dist/scenario-service.d.ts +5 -0
- package/dist/scenario-service.d.ts.map +1 -1
- package/dist/scenario-service.js +17 -0
- package/dist/scenario-service.js.map +1 -1
- package/dist/scenario-worker-class.d.ts +4 -0
- package/dist/scenario-worker-class.d.ts.map +1 -1
- package/dist/scenario-worker-class.js +21 -3
- package/dist/scenario-worker-class.js.map +1 -1
- package/dist/testing/agent-tester.d.ts +35 -0
- package/dist/testing/agent-tester.d.ts.map +1 -0
- package/dist/testing/agent-tester.js +84 -0
- package/dist/testing/agent-tester.js.map +1 -0
- package/dist/testing/ref-translator-tester.d.ts +44 -0
- package/dist/testing/ref-translator-tester.d.ts.map +1 -0
- package/dist/testing/ref-translator-tester.js +104 -0
- package/dist/testing/ref-translator-tester.js.map +1 -0
- package/dist/utils/coordinate-converter.d.ts +32 -0
- package/dist/utils/coordinate-converter.d.ts.map +1 -0
- package/dist/utils/coordinate-converter.js +130 -0
- package/dist/utils/coordinate-converter.js.map +1 -0
- package/dist/utils/hierarchical-selector.d.ts +47 -0
- package/dist/utils/hierarchical-selector.d.ts.map +1 -0
- package/dist/utils/hierarchical-selector.js +212 -0
- package/dist/utils/hierarchical-selector.js.map +1 -0
- package/dist/utils/page-info-retry.d.ts +14 -0
- package/dist/utils/page-info-retry.d.ts.map +1 -0
- package/dist/utils/page-info-retry.js +60 -0
- package/dist/utils/page-info-retry.js.map +1 -0
- package/dist/utils/page-info-utils.d.ts +1 -0
- package/dist/utils/page-info-utils.d.ts.map +1 -1
- package/dist/utils/page-info-utils.js +46 -18
- package/dist/utils/page-info-utils.js.map +1 -1
- package/dist/utils/ref-attacher.d.ts +21 -0
- package/dist/utils/ref-attacher.d.ts.map +1 -0
- package/dist/utils/ref-attacher.js +149 -0
- package/dist/utils/ref-attacher.js.map +1 -0
- package/dist/utils/ref-translator.d.ts +49 -0
- package/dist/utils/ref-translator.d.ts.map +1 -0
- package/dist/utils/ref-translator.js +276 -0
- package/dist/utils/ref-translator.js.map +1 -0
- package/package.json +1 -1
- package/plandocs/BEFORE_AFTER_VERIFICATION.md +148 -0
- package/plandocs/COORDINATE_MODE_DIAGNOSIS.md +144 -0
- package/plandocs/IMPLEMENTATION_STATUS.md +108 -0
- package/plandocs/PHASE_1_COMPLETE.md +165 -0
- package/plandocs/PHASE_1_SUMMARY.md +184 -0
- package/plandocs/PROMPT_OPTIMIZATION_ANALYSIS.md +120 -0
- package/plandocs/PROMPT_SANITY_CHECK.md +120 -0
- package/plandocs/SESSION_SUMMARY_v0.0.33.md +151 -0
- package/plandocs/TROUBLESHOOTING_SESSION.md +72 -0
- package/plandocs/VISUAL_AGENT_EVOLUTION_PLAN.md +396 -0
- package/plandocs/WHATS_NEW_v0.0.33.md +183 -0
- package/plandocs/exploratory-mode-support-v2.plan.md +953 -0
- package/plandocs/exploratory-mode-support.plan.md +928 -0
- package/plandocs/journey-id-tracking-addendum.md +227 -0
- package/src/execution-service.ts +179 -596
- package/src/index.ts +10 -0
- package/src/llm-facade.ts +8 -8
- package/src/llm-provider.ts +11 -1
- package/src/model-constants.ts +17 -5
- package/src/orchestrator/decision-parser.ts +139 -0
- package/src/orchestrator/index.ts +27 -2
- package/src/orchestrator/orchestrator-agent.ts +868 -623
- package/src/orchestrator/orchestrator-prompts.ts +786 -0
- package/src/orchestrator/page-som-handler.ts +1565 -0
- package/src/orchestrator/som-types.ts +188 -0
- package/src/orchestrator/tool-registry.ts +2 -0
- package/src/orchestrator/tools/index.ts +5 -1
- package/src/orchestrator/tools/refresh-som-markers.ts +69 -0
- package/src/orchestrator/tools/verify-action-result.ts +159 -0
- package/src/orchestrator/tools/view-previous-screenshot.ts +103 -0
- package/src/orchestrator/types.ts +95 -4
- package/src/prompts.ts +40 -34
- package/src/scenario-service.ts +20 -0
- package/src/scenario-worker-class.ts +30 -4
- package/src/utils/coordinate-converter.ts +162 -0
- package/src/utils/page-info-retry.ts +65 -0
- package/src/utils/page-info-utils.ts +53 -18
- package/testchimp-runner-core-0.0.35.tgz +0 -0
- /package/{CREDIT_CALLBACK_ARCHITECTURE.md → plandocs/CREDIT_CALLBACK_ARCHITECTURE.md} +0 -0
- /package/{INTEGRATION_COMPLETE.md → plandocs/INTEGRATION_COMPLETE.md} +0 -0
- /package/{VISION_DIAGNOSTICS_IMPROVEMENTS.md → plandocs/VISION_DIAGNOSTICS_IMPROVEMENTS.md} +0 -0
- /package/{RELEASE_0.0.26.md → releasenotes/RELEASE_0.0.26.md} +0 -0
- /package/{RELEASE_0.0.27.md → releasenotes/RELEASE_0.0.27.md} +0 -0
- /package/{RELEASE_0.0.28.md → releasenotes/RELEASE_0.0.28.md} +0 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Verify Action Result Tool
|
|
4
|
+
*
|
|
5
|
+
* Compares before/after screenshots to verify if an action achieved its goal
|
|
6
|
+
* USE SPARINGLY - expensive (sends 2 images to vision model)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.VerifyActionResultTool = void 0;
|
|
10
|
+
class VerifyActionResultTool {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.name = 'verify_action_result';
|
|
13
|
+
this.description = `Verify if your previous action achieved its goal by comparing before/after screenshots.
|
|
14
|
+
|
|
15
|
+
⚠️ USE SPARINGLY - EXPENSIVE (2 images sent to vision model)
|
|
16
|
+
|
|
17
|
+
When to use:
|
|
18
|
+
- After coordinate click to verify expected UI change occurred
|
|
19
|
+
- After clicking element when unsure if goal achieved (no clear feedback)
|
|
20
|
+
- To verify navigation or modal appeared
|
|
21
|
+
|
|
22
|
+
How it works:
|
|
23
|
+
1. Takes screenshot BEFORE you run your next command
|
|
24
|
+
2. You run command (click, fill, etc.)
|
|
25
|
+
3. Takes screenshot AFTER command executes
|
|
26
|
+
4. Compares both and tells you if expected change happened
|
|
27
|
+
|
|
28
|
+
Parameters:
|
|
29
|
+
- expectedChange: What should have changed (e.g., "Dashboard page loaded", "Modal appeared", "Form submitted")
|
|
30
|
+
|
|
31
|
+
Returns: { verified: boolean, reasoning: string, changes: string[] }
|
|
32
|
+
|
|
33
|
+
Example:
|
|
34
|
+
{
|
|
35
|
+
"toolCalls": [{"name": "verify_action_result", "params": {"expectedChange": "Dashboard page loaded with data grid"}}],
|
|
36
|
+
"toolReasoning": "Need to verify coordinate click navigated to correct page",
|
|
37
|
+
"needsToolResults": true // IMPORTANT: Wait for verification before deciding status
|
|
38
|
+
}`;
|
|
39
|
+
this.parameters = [
|
|
40
|
+
{
|
|
41
|
+
name: 'expectedChange',
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'What UI change you expect to see (e.g., "Modal opened", "Page navigated", "New form appeared")',
|
|
44
|
+
required: true
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
setLLMFacade(llmFacade) {
|
|
49
|
+
this.llmFacade = llmFacade;
|
|
50
|
+
}
|
|
51
|
+
async execute(params, context) {
|
|
52
|
+
const { page, logger } = context;
|
|
53
|
+
const expectedChange = params.expectedChange || 'Expected UI change';
|
|
54
|
+
logger?.(`[VerifyActionResult] Capturing before/after screenshots...`);
|
|
55
|
+
try {
|
|
56
|
+
// Capture BEFORE screenshot (viewport only, JPEG 60% quality for cost efficiency)
|
|
57
|
+
const beforeScreenshot = await page.screenshot({
|
|
58
|
+
encoding: 'base64',
|
|
59
|
+
fullPage: false,
|
|
60
|
+
type: 'jpeg',
|
|
61
|
+
quality: 60
|
|
62
|
+
});
|
|
63
|
+
const beforeDataUrl = `data:image/jpeg;base64,${beforeScreenshot}`;
|
|
64
|
+
logger?.(`[VerifyActionResult] ✓ BEFORE screenshot captured (JPEG 60%)`);
|
|
65
|
+
logger?.(`[VerifyActionResult] ⏳ Waiting 1.5s for UI to settle after your previous action...`);
|
|
66
|
+
// Wait for UI to settle after previous action
|
|
67
|
+
await page.waitForTimeout(1500);
|
|
68
|
+
// Capture AFTER screenshot
|
|
69
|
+
const afterScreenshot = await page.screenshot({
|
|
70
|
+
encoding: 'base64',
|
|
71
|
+
fullPage: false,
|
|
72
|
+
type: 'jpeg',
|
|
73
|
+
quality: 60
|
|
74
|
+
});
|
|
75
|
+
const afterDataUrl = `data:image/jpeg;base64,${afterScreenshot}`;
|
|
76
|
+
logger?.(`[VerifyActionResult] ✓ AFTER screenshot captured (JPEG 60%)`);
|
|
77
|
+
logger?.(`[VerifyActionResult] 🔍 Calling vision model to compare...`);
|
|
78
|
+
if (!this.llmFacade) {
|
|
79
|
+
throw new Error('LLM facade not initialized');
|
|
80
|
+
}
|
|
81
|
+
// Call LLM with both screenshots
|
|
82
|
+
const request = {
|
|
83
|
+
model: 'gpt-5-mini', // Vision model
|
|
84
|
+
systemPrompt: 'You are a visual verification expert for web automation. Compare before/after screenshots to determine if an action achieved its expected outcome.',
|
|
85
|
+
userPrompt: `Expected change: ${expectedChange}
|
|
86
|
+
|
|
87
|
+
Compare the [BEFORE] and [AFTER] screenshots.
|
|
88
|
+
|
|
89
|
+
Did the expected change occur? Respond with JSON:
|
|
90
|
+
{
|
|
91
|
+
"verified": boolean,
|
|
92
|
+
"reasoning": "What changed (or didn't change) between screenshots",
|
|
93
|
+
"changes": ["Specific UI changes observed"]
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
Be objective:
|
|
97
|
+
- Look for new elements, panels, forms, modals
|
|
98
|
+
- Check for page navigation, URL changes, content changes
|
|
99
|
+
- Note any visual indicators of success/failure
|
|
100
|
+
|
|
101
|
+
Be strict: Only return true if you clearly see the expected change.`,
|
|
102
|
+
images: [
|
|
103
|
+
{ label: 'BEFORE', dataUrl: beforeDataUrl },
|
|
104
|
+
{ label: 'AFTER', dataUrl: afterDataUrl }
|
|
105
|
+
]
|
|
106
|
+
};
|
|
107
|
+
const response = await this.llmFacade.llmProvider.callLLM(request);
|
|
108
|
+
// Parse response
|
|
109
|
+
const jsonMatch = response.answer.match(/\{[\s\S]*\}/);
|
|
110
|
+
if (!jsonMatch) {
|
|
111
|
+
logger?.(`[VerifyActionResult] ⚠️ Could not parse verification response`, 'warn');
|
|
112
|
+
return {
|
|
113
|
+
success: false,
|
|
114
|
+
error: 'Failed to parse verification response'
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
118
|
+
logger?.(`[VerifyActionResult] 📊 Result: ${parsed.verified ? '✅ VERIFIED' : '❌ NOT VERIFIED'}`);
|
|
119
|
+
logger?.(`[VerifyActionResult] 💭 ${parsed.reasoning}`);
|
|
120
|
+
if (parsed.changes && parsed.changes.length > 0) {
|
|
121
|
+
logger?.(`[VerifyActionResult] 📝 Changes observed:`);
|
|
122
|
+
parsed.changes.forEach((change) => logger?.(` - ${change}`));
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
success: true,
|
|
126
|
+
data: parsed,
|
|
127
|
+
learning: `Verification result: ${parsed.verified ? 'Goal achieved' : 'Goal not achieved'}. ${parsed.reasoning}`
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
logger?.(`[VerifyActionResult] ❌ Error: ${error.message}`, 'error');
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
error: error.message
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.VerifyActionResultTool = VerifyActionResultTool;
|
|
140
|
+
//# sourceMappingURL=verify-action-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-action-result.js","sourceRoot":"","sources":["../../../src/orchestrator/tools/verify-action-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View Previous Screenshot Tool
|
|
3
|
+
* Access the screenshot from the previous iteration for continuity reasoning
|
|
4
|
+
*/
|
|
5
|
+
import { Tool, ToolParameter, ToolExecutionContext } from '../tool-registry';
|
|
6
|
+
import { ToolResult } from '../types';
|
|
7
|
+
export declare class ViewPreviousScreenshotTool implements Tool {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
private llmFacade?;
|
|
11
|
+
setLLMFacade(llmFacade: any): void;
|
|
12
|
+
parameters: ToolParameter[];
|
|
13
|
+
execute(params: Record<string, any>, context: ToolExecutionContext): Promise<ToolResult>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=view-previous-screenshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-previous-screenshot.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/tools/view-previous-screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,0BAA2B,YAAW,IAAI;IACrD,IAAI,SAA8B;IAClC,WAAW,SAAgY;IAG3Y,OAAO,CAAC,SAAS,CAAC,CAAM;IAExB,YAAY,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAIlC,UAAU,EAAE,aAAa,EAAE,CAOzB;IAEI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAyE/F"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* View Previous Screenshot Tool
|
|
4
|
+
* Access the screenshot from the previous iteration for continuity reasoning
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ViewPreviousScreenshotTool = void 0;
|
|
8
|
+
class ViewPreviousScreenshotTool {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.name = 'view_previous_screenshot';
|
|
11
|
+
this.description = 'View the screenshot from the PREVIOUS iteration to understand continuity. Common uses: (1) Verify coordinate-based clicks - look for magenta "clicked" marker to see where click landed, (2) Compare before/after states - see what changed after commands, (3) Check transient effects - see alerts/toasts that may have disappeared. Returns vision analysis of the previous screenshot.';
|
|
12
|
+
this.parameters = [
|
|
13
|
+
{
|
|
14
|
+
name: 'purpose',
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Why you need to see the previous screenshot. Examples: "verify coord click accuracy", "check if error message appeared then disappeared", "compare before/after form submission"',
|
|
17
|
+
required: true
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
setLLMFacade(llmFacade) {
|
|
22
|
+
this.llmFacade = llmFacade;
|
|
23
|
+
}
|
|
24
|
+
async execute(params, context) {
|
|
25
|
+
const { logger } = context;
|
|
26
|
+
const purpose = params.purpose || 'Review previous page state';
|
|
27
|
+
// Access previousSomScreenshot from context (passed through)
|
|
28
|
+
const previousScreenshot = context.previousSomScreenshot;
|
|
29
|
+
if (!previousScreenshot) {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: 'No previous screenshot available (this is the first iteration)'
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
logger?.(`[ViewPreviousScreenshot] Analyzing previous iteration screenshot for: ${purpose}`, 'log');
|
|
37
|
+
// Analyze with vision LLM if available
|
|
38
|
+
let analysis = 'Previous screenshot retrieved.';
|
|
39
|
+
if (this.llmFacade) {
|
|
40
|
+
try {
|
|
41
|
+
const analysisPrompt = `Analyze the screenshot from the PREVIOUS iteration (before the most recent commands executed).
|
|
42
|
+
|
|
43
|
+
PURPOSE: ${purpose}
|
|
44
|
+
|
|
45
|
+
WHAT TO LOOK FOR:
|
|
46
|
+
1. **Coordinate verification**: If purpose mentions "coord" or "click", look for MAGENTA "clicked" marker (circle with yellow border)
|
|
47
|
+
- Describe marker position relative to UI elements
|
|
48
|
+
- Assess accuracy: "centered on button", "5% above target", etc.
|
|
49
|
+
|
|
50
|
+
2. **Before/after comparison**: Compare visual state with current page
|
|
51
|
+
- What changed after commands executed?
|
|
52
|
+
- New elements, removed elements, state changes?
|
|
53
|
+
|
|
54
|
+
3. **Transient effects**: Elements that may have appeared and disappeared
|
|
55
|
+
- Alerts, toasts, error messages that are now gone
|
|
56
|
+
- Loading states, spinners that finished
|
|
57
|
+
|
|
58
|
+
4. **General state**: Answer the specific question from purpose
|
|
59
|
+
|
|
60
|
+
TASK: Provide concise, specific observations relevant to the purpose.`;
|
|
61
|
+
const llmResponse = await this.llmFacade.llmProvider.callLLM({
|
|
62
|
+
systemPrompt: 'You are analyzing a screenshot from a previous test iteration to help with continuity reasoning. Provide specific, actionable observations.',
|
|
63
|
+
userPrompt: analysisPrompt,
|
|
64
|
+
imageUrl: previousScreenshot
|
|
65
|
+
});
|
|
66
|
+
analysis = llmResponse.answer || analysis;
|
|
67
|
+
logger?.(`[ViewPreviousScreenshot] ✓ Analysis complete`, 'log');
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger?.(`[ViewPreviousScreenshot] ⚠ Vision analysis failed: ${error.message}`, 'warn');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
success: true,
|
|
75
|
+
data: {
|
|
76
|
+
screenshotAvailable: true,
|
|
77
|
+
purpose
|
|
78
|
+
},
|
|
79
|
+
learning: analysis
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
logger?.(`[ViewPreviousScreenshot] ✗ Failed: ${error.message}`, 'error');
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: `Failed to access previous screenshot: ${error.message}`
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.ViewPreviousScreenshotTool = ViewPreviousScreenshotTool;
|
|
92
|
+
//# sourceMappingURL=view-previous-screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-previous-screenshot.js","sourceRoot":"","sources":["../../../src/orchestrator/tools/view-previous-screenshot.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,MAAa,0BAA0B;IAAvC;QACE,SAAI,GAAG,0BAA0B,CAAC;QAClC,gBAAW,GAAG,4XAA4X,CAAC;QAS3Y,eAAU,GAAoB;YAC5B;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kLAAkL;gBAC/L,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;IA2EJ,CAAC;IAtFC,YAAY,CAAC,SAAc;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAWD,KAAK,CAAC,OAAO,CAAC,MAA2B,EAAE,OAA6B;QACtE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,4BAA4B,CAAC;QAE/D,6DAA6D;QAC7D,MAAM,kBAAkB,GAAI,OAAe,CAAC,qBAAqB,CAAC;QAElE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gEAAgE;aACxE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,yEAAyE,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAEpG,uCAAuC;YACvC,IAAI,QAAQ,GAAG,gCAAgC,CAAC;YAEhD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG;;WAEtB,OAAO;;;;;;;;;;;;;;;;;sEAiBoD,CAAC;oBAE7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;wBAC3D,YAAY,EAAE,6IAA6I;wBAC3J,UAAU,EAAE,cAAc;wBAC1B,QAAQ,EAAE,kBAAkB;qBAC7B,CAAC,CAAC;oBAEH,QAAQ,GAAG,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC;oBAC1C,MAAM,EAAE,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;gBAElE,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,EAAE,CAAC,sDAAsD,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,mBAAmB,EAAE,IAAI;oBACzB,OAAO;iBACR;gBACD,QAAQ,EAAE,QAAQ;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yCAAyC,KAAK,CAAC,OAAO,EAAE;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA7FD,gEA6FC"}
|
|
@@ -10,6 +10,28 @@ export interface SelfReflection {
|
|
|
10
10
|
detectingLoop: boolean;
|
|
11
11
|
loopReasoning?: string;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Note to future self - iteration-specific memory for tactical continuity
|
|
15
|
+
* More flexible than structured SelfReflection - agent can write freely
|
|
16
|
+
*/
|
|
17
|
+
export interface NoteToFutureSelf {
|
|
18
|
+
fromIteration: number;
|
|
19
|
+
content: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Coordinate-based action (fallback when selectors fail)
|
|
23
|
+
* Uses percentage-based positioning for resolution independence
|
|
24
|
+
*/
|
|
25
|
+
export interface CoordinateAction {
|
|
26
|
+
type: 'coordinate';
|
|
27
|
+
action: 'click' | 'doubleClick' | 'rightClick' | 'hover' | 'drag' | 'fill' | 'scroll';
|
|
28
|
+
xPercent: number;
|
|
29
|
+
yPercent: number;
|
|
30
|
+
toXPercent?: number;
|
|
31
|
+
toYPercent?: number;
|
|
32
|
+
value?: string;
|
|
33
|
+
scrollAmount?: number;
|
|
34
|
+
}
|
|
13
35
|
/**
|
|
14
36
|
* Journey memory - tracks the agent's journey through the scenario
|
|
15
37
|
*/
|
|
@@ -17,6 +39,7 @@ export interface JourneyMemory {
|
|
|
17
39
|
history: MemoryStep[];
|
|
18
40
|
experiences: string[];
|
|
19
41
|
extractedData: Record<string, string>;
|
|
42
|
+
latestNote?: NoteToFutureSelf;
|
|
20
43
|
}
|
|
21
44
|
/**
|
|
22
45
|
* Individual step in journey history
|
|
@@ -58,6 +81,8 @@ export interface AgentDecision {
|
|
|
58
81
|
commands?: string[];
|
|
59
82
|
commandReasoning?: string;
|
|
60
83
|
selfReflection?: SelfReflection;
|
|
84
|
+
noteToFutureSelf?: string;
|
|
85
|
+
coordinateAction?: CoordinateAction;
|
|
61
86
|
memoryUpdate?: {
|
|
62
87
|
action: string;
|
|
63
88
|
observation: string;
|
|
@@ -76,6 +101,10 @@ export interface AgentDecision {
|
|
|
76
101
|
issue: 'prior_incomplete' | 'already_done' | 'wrong_order' | null;
|
|
77
102
|
explanation: string;
|
|
78
103
|
};
|
|
104
|
+
debugInfo?: {
|
|
105
|
+
suggestedPromptUpdates?: string;
|
|
106
|
+
reasoning?: string;
|
|
107
|
+
};
|
|
79
108
|
}
|
|
80
109
|
/**
|
|
81
110
|
* Context provided to agent each iteration
|
|
@@ -92,9 +121,23 @@ export interface AgentContext {
|
|
|
92
121
|
recentSteps: MemoryStep[];
|
|
93
122
|
experiences: string[];
|
|
94
123
|
extractedData: Record<string, string>;
|
|
95
|
-
|
|
124
|
+
noteFromPreviousIteration?: NoteToFutureSelf;
|
|
125
|
+
testDataPrompt?: string;
|
|
126
|
+
somScreenshot?: string;
|
|
127
|
+
somElementMap?: string;
|
|
128
|
+
priorSteps?: string[];
|
|
129
|
+
nextSteps?: string[];
|
|
96
130
|
toolResults?: Record<string, ToolResult>;
|
|
97
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Exploration mode configuration
|
|
134
|
+
*/
|
|
135
|
+
export interface ExplorationMode {
|
|
136
|
+
enabled: boolean;
|
|
137
|
+
explorationPrompt: string;
|
|
138
|
+
testDataPrompt?: string;
|
|
139
|
+
maxExplorationSteps?: number;
|
|
140
|
+
}
|
|
98
141
|
/**
|
|
99
142
|
* Configurable guardrails
|
|
100
143
|
*/
|
|
@@ -114,6 +157,11 @@ export interface AgentConfig {
|
|
|
114
157
|
explorationTimeout?: number;
|
|
115
158
|
allowedExplorationActions?: string[];
|
|
116
159
|
allowedDomains?: string[];
|
|
160
|
+
enableCoordinateMode?: boolean;
|
|
161
|
+
useSoM?: boolean;
|
|
162
|
+
somUseSomIdBasedCommands?: boolean;
|
|
163
|
+
somRestrictCoordinates?: boolean;
|
|
164
|
+
explorationMode?: ExplorationMode;
|
|
117
165
|
}
|
|
118
166
|
/**
|
|
119
167
|
* Step execution result from orchestrator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestrator/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,UAAU,EAAE,CAAC;IAGtB,WAAW,EAAE,MAAM,EAAE,CAAC;IAGtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestrator/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,16 @@ exports.DEFAULT_AGENT_CONFIG = {
|
|
|
23
23
|
commandTimeout: 30000,
|
|
24
24
|
explorationTimeout: 2000,
|
|
25
25
|
allowedExplorationActions: ['hover', 'click_info', 'click_menu', 'focus'],
|
|
26
|
-
allowedDomains: []
|
|
26
|
+
allowedDomains: [],
|
|
27
|
+
enableCoordinateMode: false, // Disabled by default - experimental feature
|
|
28
|
+
useSoM: true, // Enabled by default - use Set-of-Marks visual mode
|
|
29
|
+
somUseSomIdBasedCommands: false, // Use semantic selectors first
|
|
30
|
+
somRestrictCoordinates: false, // Allow coords as valid fallback (for exploration)
|
|
31
|
+
explorationMode: {
|
|
32
|
+
enabled: false,
|
|
33
|
+
explorationPrompt: '',
|
|
34
|
+
testDataPrompt: undefined,
|
|
35
|
+
maxExplorationSteps: 50
|
|
36
|
+
}
|
|
27
37
|
};
|
|
28
38
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orchestrator/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orchestrator/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiQH;;GAEG;AACU,QAAA,oBAAoB,GAA0B;IACzD,oBAAoB,EAAE,CAAC;IACvB,wBAAwB,EAAE,CAAC;IAC3B,uBAAuB,EAAE,CAAC;IAC1B,iCAAiC,EAAE,CAAC;IACpC,4BAA4B,EAAE,EAAE;IAChC,0BAA0B,EAAE,CAAC,EAAG,mBAAmB;IACnD,kBAAkB,EAAE,EAAE;IACtB,qBAAqB,EAAE,IAAI,EAAG,yCAAyC;IACvE,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,kBAAkB,EAAE,IAAI;IACxB,yBAAyB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;IACzE,cAAc,EAAE,EAAE;IAClB,oBAAoB,EAAE,KAAK,EAAG,6CAA6C;IAC3E,MAAM,EAAE,IAAI,EAAG,oDAAoD;IACnE,wBAAwB,EAAE,KAAK,EAAG,+BAA+B;IACjE,sBAAsB,EAAE,KAAK,EAAG,mDAAmD;IACnF,eAAe,EAAE;QACf,OAAO,EAAE,KAAK;QACd,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,SAAS;QACzB,mBAAmB,EAAE,EAAE;KACxB;CACF,CAAC"}
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO;;;yBAKC,MAAM;;;;yBAON,MAAM;;;;yBAON,MAAM;;;;gCAWC,MAAM,oBAAoB,MAAM,EAAE,YAAY,GAAG;;;;gCAiIjD,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,YAAY,GAAG;;;;gCA6DjE,MAAM,YAAY,GAAG,oBAAoB,MAAM,kBAAkB,MAAM,gBAAgB,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO;;;yBAKC,MAAM;;;;yBAON,MAAM;;;;yBAON,MAAM;;;;gCAWC,MAAM,oBAAoB,MAAM,EAAE,YAAY,GAAG;;;;gCAiIjD,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,YAAY,GAAG;;;;gCA6DjE,MAAM,YAAY,GAAG,oBAAoB,MAAM,kBAAkB,MAAM,gBAAgB,MAAM;;;;gCAgS7F,MAAM,YAAY,GAAG,oBAAoB,MAAM,kBAAkB,MAAM,gBAAgB,MAAM;;;;gCAwC7F,MAAM,0BAA0B,MAAM,sBAAsB,MAAM,iBAAiB,MAAM,EAAE,oBAAoB,MAAM,EAAE,YAAY,GAAG;;;;gCA0CtI,MAAM,YAAY,GAAG,oBAAoB,MAAM,kBAAkB,MAAM,gBAAgB,MAAM;;;;uBAuCtG,MAAM;;;;gCAiBG,MAAM,YAAY,MAAM,gBAAgB,MAAM,YAAY,GAAG,kBAAkB,MAAM,iBAAiB,MAAM;;;;+BAoF7G,MAAM,iBAAiB,MAAM;;;;+BAqC7B,MAAM,iBAAiB,MAAM,mBAAmB,MAAM;;;;uBA+B9D,MAAM;;CAuCxB,CAAC"}
|
package/dist/prompts.js
CHANGED
|
@@ -320,10 +320,10 @@ ${pageInfo.formattedElements}
|
|
|
320
320
|
|
|
321
321
|
CRITICAL: Extract and use exact values mentioned in the goal.
|
|
322
322
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
323
|
+
Examples:
|
|
324
|
+
- Goal: "Login with credentials: alice, pass123"
|
|
325
|
+
✅ Use: await page.fill('username', 'alice'); await page.fill('password', 'pass123');
|
|
326
|
+
❌ NOT: await page.fill('username', process.env.USERNAME);
|
|
327
327
|
|
|
328
328
|
- Goal: "Enter name: John Doe"
|
|
329
329
|
✅ Use: await page.fill('[name="name"]', 'John Doe');
|
|
@@ -353,36 +353,42 @@ ${pageInfo.formattedElements}
|
|
|
353
353
|
|
|
354
354
|
Playwright throws "strict mode violation" when a selector matches MULTIPLE elements.
|
|
355
355
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
356
|
+
**PROACTIVE DETECTION** - Check BEFORE generating command:
|
|
357
|
+
- Review the "CURRENT PAGE STATE" section below (accessibility tree / aria snapshot)
|
|
358
|
+
- Look for duplicate elements with same role/text (e.g., multiple links with "Settings")
|
|
359
|
+
- If duplicates exist, generate a MORE SPECIFIC selector from the start
|
|
360
|
+
- Don't wait for strict mode error - prevent it by analyzing the DOM structure
|
|
361
|
+
|
|
362
|
+
🚨 ERROR PATTERNS:
|
|
363
|
+
- "strict mode violation" → Your selector matched multiple elements
|
|
364
|
+
- "Multiple elements found" → Same issue
|
|
365
|
+
- "locator resolved to 2 elements" → Often one is a tooltip/popover with duplicate text
|
|
366
|
+
- Command chain with multiple strategies → Sign of selector problems
|
|
367
|
+
|
|
368
|
+
✅ SOLUTIONS (in order of preference):
|
|
369
|
+
|
|
370
|
+
**Option 1: Use Role-Based Selectors** (BEST - avoids tooltips):
|
|
371
|
+
- BAD: page.getByText('Settings').click() → Matches button AND its tooltip
|
|
372
|
+
- GOOD: page.getByRole('button', { name: 'Settings' }).click() → Only matches button role
|
|
373
|
+
- GOOD: page.locator('button').getByText('Settings').click() → Scoped to button tag
|
|
374
|
+
- GOOD: page.locator('[role="button"]').getByText('Settings').click() → Scoped to role
|
|
375
|
+
|
|
376
|
+
**Option 2: Scope to Container**:
|
|
377
|
+
- BAD: page.locator('a', { hasText: 'Settings' }).click() → Matches multiple links
|
|
378
|
+
- GOOD: page.locator('nav a', { hasText: 'Settings' }).click() → Scoped to nav
|
|
379
|
+
- GOOD: page.locator('a[href*="/settings"]').click() → Use unique attribute
|
|
380
|
+
|
|
381
|
+
**Option 2: Use Position-Based Selection**:
|
|
382
|
+
- If multiple matches are expected: page.locator('a', { hasText: 'Settings' }).first().click()
|
|
383
|
+
- Or use: .nth(0) for first, .last() for last
|
|
384
|
+
|
|
385
|
+
**Option 3: Filter by Visibility/State**:
|
|
386
|
+
- page.locator('button', { hasText: 'Submit' }).filter({ hasNotText: 'Draft' }).click()
|
|
387
|
+
|
|
388
|
+
🚫 **ANTI-PATTERNS (DON'T DO THIS)**:
|
|
389
|
+
- BAD: Chaining multiple selector strategies in one command with semicolons
|
|
390
|
+
- BAD: Using page.evaluate() to find/click elements (defeats Playwright's auto-waiting)
|
|
391
|
+
- GOOD: ONE clear, specific selector like page.locator('nav a', { hasText: 'Settings' }).click()
|
|
386
392
|
|
|
387
393
|
**When You See Strict Mode Errors:**
|
|
388
394
|
1. Analyze - Why did my selector match multiple elements?
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,OAAO,GAAG;IACrB,uBAAuB;IACvB,oBAAoB,EAAE;QACpB,MAAM,EAAE,6nBAA6nB;QAEroB,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,8EAA8E,QAAQ,i5BAAi5B;KACpgC;IAED,2CAA2C;IAC3C,kBAAkB,EAAE;QAClB,MAAM,EAAE,gRAAgR;QAExR,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,+FAA+F,QAAQ,gzBAAgzB;KACp7B;IAED,qBAAqB;IACrB,kBAAkB,EAAE;QAClB,MAAM,EAAE,gHAAgH;QAExH,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC;;EAE9B,QAAQ;;kDAEwC;KAC/C;IAED,6BAA6B;IAC7B,qBAAqB,EAAE;QACrB,MAAM,EAAE,sWAAsW;QAE9W,IAAI,EAAE,CAAC,eAAuB,EAAE,gBAA0B,EAAE,QAAa,EAAE,EAAE,CAAC;;aAErE,eAAe;;;MAGtB,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;aAGlE,QAAQ,CAAC,GAAG;eACV,QAAQ,CAAC,KAAK;;EAE3B,QAAQ,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+GtB;KACH;IAED,6BAA6B;IAC7B,0BAA0B,EAAE;QAC1B,MAAM,EAAE,sPAAsP;QAE9P,IAAI,EAAE,CAAC,eAAuB,EAAE,YAAoB,EAAE,YAAoB,EAAE,QAAa,EAAE,EAAE,CAAC;;aAErF,eAAe;cACd,YAAY;eACX,YAAY,WAAW,YAAY,GAAG,CAAC;;;aAGzC,QAAQ,CAAC,GAAG;;EAEvB,QAAQ,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHA6CuF;KAChH;IAED,gCAAgC;IAChC,kBAAkB,EAAE;QAClB,MAAM,EAAE,uNAAuN;QAE/N,IAAI,EAAE,CAAC,eAAuB,EAAE,QAAa,EAAE,gBAAwB,EAAE,cAAsB,EAAE,YAAoB,EAAE,EAAE,CAAC;;wBAEtG,eAAe;;;MAGjC,gBAAgB,IAAI,sDAAsD;;MAE1E,YAAY,CAAC,CAAC,CAAC,gCAAgC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;MACpE,cAAc,CAAC,CAAC,CAAC,4BAA4B,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,11 @@ export declare class ScenarioService extends EventEmitter {
|
|
|
48
48
|
private processNextJob;
|
|
49
49
|
private handleJobResult;
|
|
50
50
|
private handleJobError;
|
|
51
|
+
/**
|
|
52
|
+
* Execute exploration mode using orchestrator
|
|
53
|
+
* Requires orchestrator to be enabled via useOrchestrator option
|
|
54
|
+
*/
|
|
55
|
+
executeExploration(page: any, explorationConfig: any, jobId: string): Promise<any>;
|
|
51
56
|
shutdown(): Promise<void>;
|
|
52
57
|
}
|
|
53
58
|
//# sourceMappingURL=scenario-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-service.d.ts","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAiD,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAA8D;IAC7E,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAM;gBAG1B,UAAU,GAAE,MAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAeH;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAI1C;;OAEG;IACH,OAAO,CAAC,GAAG;YAOG,iBAAiB;YAMjB,YAAY;IA0BpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,GAAG,EACrB,eAAe,CAAC,EAAE,GAAG,EACrB,YAAY,CAAC,EAAE,GAAG,GACjB,MAAM;YAsBK,cAAc;IA0C5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"scenario-service.d.ts","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAiD,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAA8D;IAC7E,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAM;gBAG1B,UAAU,GAAE,MAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAeH;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAI1C;;OAEG;IACH,OAAO,CAAC,GAAG;YAOG,iBAAiB;YAMjB,YAAY;IA0BpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,GAAG,EACrB,eAAe,CAAC,EAAE,GAAG,EACrB,YAAY,CAAC,EAAE,GAAG,GACjB,MAAM;YAsBK,cAAc;IA0C5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBlF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC"}
|
package/dist/scenario-service.js
CHANGED
|
@@ -153,6 +153,23 @@ class ScenarioService extends events_1.EventEmitter {
|
|
|
153
153
|
this.busyWorkers.clear(); // Simple approach - clear all busy workers
|
|
154
154
|
this.processNextJob();
|
|
155
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Execute exploration mode using orchestrator
|
|
158
|
+
* Requires orchestrator to be enabled via useOrchestrator option
|
|
159
|
+
*/
|
|
160
|
+
async executeExploration(page, explorationConfig, jobId) {
|
|
161
|
+
if (!this.useOrchestrator) {
|
|
162
|
+
throw new Error('Exploration mode requires orchestrator to be enabled');
|
|
163
|
+
}
|
|
164
|
+
// Get an available worker (or create one if needed)
|
|
165
|
+
let worker = this.workers.find(w => !this.busyWorkers.has(w));
|
|
166
|
+
if (!worker) {
|
|
167
|
+
await this.createWorker();
|
|
168
|
+
worker = this.workers[this.workers.length - 1];
|
|
169
|
+
}
|
|
170
|
+
// Execute exploration via worker's orchestrator
|
|
171
|
+
return worker.executeExploration(page, explorationConfig, jobId);
|
|
172
|
+
}
|
|
156
173
|
async shutdown() {
|
|
157
174
|
this.log('Shutting down scenario service...');
|
|
158
175
|
// Cleanup all workers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-service.js","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scenario-service.js","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAsC;AACtC,oDAA4B;AAE5B,mEAAyD;AACzD,iDAA8D;AAE9D,iEAA4D;AAK5D,6BAA6B;AAC7B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB;;GAEG;AACH,MAAa,eAAgB,SAAQ,qBAAY;IAiB/C,YACE,aAAqB,CAAC,EACtB,WAAyB,EACzB,WAAyB,EACzB,gBAAmC,EACnC,UAAuB,EACvB,UAAmB,EACnB,OAIC;QAED,KAAK,EAAE,CAAC;QA7BF,YAAO,GAAqB,EAAE,CAAC;QAC/B,aAAQ,GAAqB,EAAE,CAAC;QAChC,gBAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;QA4BnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,8BAAe,EAAE,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmE;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,aAAkB;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,OAAe,EAAE,QAAkC,KAAK;QAClE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,oDAAoD;IACtD,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,sCAAc,CAC/B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,IAAI,SAAS,EAC5B,IAAI,CAAC,UAAU,EACf;YACE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,EACD,IAAI,CAAC,aAAa,CAAE,qCAAqC;SAC1D,CAAC;QACF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,sDAAsD;QACtD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,0DAA0D;IAC5D,CAAC;IAED,KAAK,CAAC,UAAU;QACd,qCAAqC;QACrC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,8DAA8D;IAChE,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,QAAiB,EACjB,MAAyB,EACzB,KAAc,EACd,gBAAyB,EACzB,eAAqB,EACrB,eAAqB,EACrB,YAAkB;QAElB,MAAM,KAAK,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAElF,mBAAmB;QACnB,MAAM,GAAG,GAAmB;YAC1B,EAAE,EAAE,KAAK;YACT,QAAQ;YACR,QAAQ;YACR,gBAAgB,EAAE,MAAM;YACxB,KAAK;YACL,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,YAAY;SACb,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,KAAK,CAAC,CAAC,6BAA6B;IAC7C,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,wDAAwD,IAAI,CAAC,QAAQ,CAAC,MAAM,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,mBAAmB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAElK,gDAAgD;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAC/D,OAAO,CAAC,qDAAqD;QAC/D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,oCAAoC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAEnE,sBAAsB;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,qCAAqC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,qCAAqC;YACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,iCAAiC;YACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACzC,mBAAmB;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,MAAwB;QAC7D,uDAAuD;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxE,IAAI,CAAC,GAAG,CAAC,6DAA6D,KAAK,MAAM,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAExC,gDAAgD;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,2CAA2C;QACrE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,KAAa;QACjD,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/C,gDAAgD;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,2CAA2C;QACrE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAS,EAAE,iBAAsB,EAAE,KAAa;QACvE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,oDAAoD;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,gDAAgD;QAChD,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAE9C,sBAAsB;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACjD,CAAC;CACF;AA1OD,0CA0OC"}
|
|
@@ -53,6 +53,10 @@ export declare class ScenarioWorker extends EventEmitter {
|
|
|
53
53
|
initialize(): Promise<void>;
|
|
54
54
|
processScenarioJob(job: ScenarioRunJob): Promise<ScenarioResponse>;
|
|
55
55
|
private executePlaywrightCommand;
|
|
56
|
+
/**
|
|
57
|
+
* Execute exploration mode using orchestrator
|
|
58
|
+
*/
|
|
59
|
+
executeExploration(page: any, explorationConfig: any, jobId: string): Promise<any>;
|
|
56
60
|
cleanup(): Promise<void>;
|
|
57
61
|
}
|
|
58
62
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-worker-class.d.ts","sourceRoot":"","sources":["../src/scenario-worker-class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkD,MAAM,qBAAqB,CAAC;AAEvG,OAAO,EAIL,WAAW,
|
|
1
|
+
{"version":3,"file":"scenario-worker-class.d.ts","sourceRoot":"","sources":["../src/scenario-worker-class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkD,MAAM,qBAAqB,CAAC;AAEvG,OAAO,EAIL,WAAW,EASZ,MAAM,gBAAgB,CAAC;AAGxB,UAAU,aAAa;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAiBD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAS;IAG9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAkB;gBAGjC,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,EACD,aAAa,CAAC,EAAE,aAAa;IAsB/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmD9B,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;YACW,qBAAqB;IAWnC;;OAEG;YACW,kBAAkB;IAchC;;OAEG;YACW,iBAAiB;IAW/B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkCf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAoxB1D,wBAAwB;IAoCtC;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASlF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
|