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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-info-utils.js","sourceRoot":"","sources":["../../src/utils/page-info-utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"page-info-utils.js","sourceRoot":"","sources":["../../src/utils/page-info-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ref Attacher - Injects stable refs as data-tc-id attributes into the DOM
|
|
3
|
+
* This makes refs stable across agent invocations and translations
|
|
4
|
+
*/
|
|
5
|
+
import { PageInfo } from './page-info-utils';
|
|
6
|
+
export interface RefAttacherResult {
|
|
7
|
+
success: boolean;
|
|
8
|
+
refsAttached: number;
|
|
9
|
+
pageInfo: PageInfo;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Attach refs from ARIA tree as data-tc-id attributes in the DOM
|
|
13
|
+
* This ensures refs are stable and can be used by both agent and translator
|
|
14
|
+
*/
|
|
15
|
+
export declare function attachRefsToDOM(page: any): Promise<RefAttacherResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Get page info using existing data-tc-id attributes
|
|
18
|
+
* This allows using stable refs without regenerating them
|
|
19
|
+
*/
|
|
20
|
+
export declare function getPageInfoFromAttachedRefs(page: any): Promise<PageInfo>;
|
|
21
|
+
//# sourceMappingURL=ref-attacher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-attacher.d.ts","sourceRoot":"","sources":["../../src/utils/ref-attacher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAuB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkH3E;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0C9E"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ref Attacher - Injects stable refs as data-tc-id attributes into the DOM
|
|
4
|
+
* This makes refs stable across agent invocations and translations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.attachRefsToDOM = attachRefsToDOM;
|
|
8
|
+
exports.getPageInfoFromAttachedRefs = getPageInfoFromAttachedRefs;
|
|
9
|
+
const page_info_utils_1 = require("./page-info-utils");
|
|
10
|
+
/**
|
|
11
|
+
* Attach refs from ARIA tree as data-tc-id attributes in the DOM
|
|
12
|
+
* This ensures refs are stable and can be used by both agent and translator
|
|
13
|
+
*/
|
|
14
|
+
async function attachRefsToDOM(page) {
|
|
15
|
+
try {
|
|
16
|
+
// 1. Get page info with refs generated
|
|
17
|
+
const pageInfo = await (0, page_info_utils_1.getEnhancedPageInfo)(page);
|
|
18
|
+
if (!pageInfo.refMap || pageInfo.refMap.size === 0) {
|
|
19
|
+
return {
|
|
20
|
+
success: false,
|
|
21
|
+
refsAttached: 0,
|
|
22
|
+
pageInfo
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// 2. Build a mapping of element characteristics to refs
|
|
26
|
+
const refMappings = [];
|
|
27
|
+
pageInfo.refMap.forEach((element, ref) => {
|
|
28
|
+
refMappings.push({
|
|
29
|
+
ref,
|
|
30
|
+
tag: element.tag,
|
|
31
|
+
role: element.role,
|
|
32
|
+
text: element.text || '',
|
|
33
|
+
name: element.name || '',
|
|
34
|
+
placeholder: element.placeholder || '',
|
|
35
|
+
type: element.type || '',
|
|
36
|
+
ariaLabel: element.ariaLabel || ''
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
// 3. Inject refs into DOM as data-tc-id attributes
|
|
40
|
+
const refsAttached = await page.evaluate((mappings) => {
|
|
41
|
+
let attached = 0;
|
|
42
|
+
const doc = globalThis.document;
|
|
43
|
+
// Get all elements
|
|
44
|
+
const allElements = Array.from(doc.querySelectorAll('*'));
|
|
45
|
+
for (const mapping of mappings) {
|
|
46
|
+
// Try to find matching element in DOM
|
|
47
|
+
let matchedElement = null;
|
|
48
|
+
// Strategy 1: Match by name attribute (most reliable for inputs)
|
|
49
|
+
if (mapping.name) {
|
|
50
|
+
matchedElement = doc.querySelector(`${mapping.tag}[name="${mapping.name}"]`);
|
|
51
|
+
}
|
|
52
|
+
// Strategy 2: Match by placeholder
|
|
53
|
+
if (!matchedElement && mapping.placeholder) {
|
|
54
|
+
matchedElement = doc.querySelector(`${mapping.tag}[placeholder="${mapping.placeholder}"]`);
|
|
55
|
+
}
|
|
56
|
+
// Strategy 3: Match by aria-label
|
|
57
|
+
if (!matchedElement && mapping.ariaLabel) {
|
|
58
|
+
matchedElement = doc.querySelector(`${mapping.tag}[aria-label="${mapping.ariaLabel}"]`);
|
|
59
|
+
}
|
|
60
|
+
// Strategy 4: Match by text content (for buttons, labels, etc.)
|
|
61
|
+
if (!matchedElement && mapping.text && mapping.text.length > 0 && mapping.text.length < 100) {
|
|
62
|
+
for (const el of allElements) {
|
|
63
|
+
const element = el;
|
|
64
|
+
if (element.tagName.toLowerCase() === mapping.tag &&
|
|
65
|
+
element.textContent?.trim() === mapping.text.trim()) {
|
|
66
|
+
matchedElement = el;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Strategy 5: Match by role and index (fallback)
|
|
72
|
+
if (!matchedElement && mapping.role) {
|
|
73
|
+
const roleElements = Array.from(doc.querySelectorAll(`[role="${mapping.role}"]`));
|
|
74
|
+
if (roleElements.length > 0) {
|
|
75
|
+
// Use first matching role element that doesn't have a ref yet
|
|
76
|
+
for (const el of roleElements) {
|
|
77
|
+
const element = el;
|
|
78
|
+
if (!element.hasAttribute('data-tc-id')) {
|
|
79
|
+
matchedElement = el;
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Attach ref as data-tc-id
|
|
86
|
+
if (matchedElement && !matchedElement.hasAttribute('data-tc-id')) {
|
|
87
|
+
matchedElement.setAttribute('data-tc-id', mapping.ref);
|
|
88
|
+
attached++;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return attached;
|
|
92
|
+
}, refMappings);
|
|
93
|
+
console.log(`[RefAttacher] ✓ Attached ${refsAttached} refs to DOM as data-tc-id`);
|
|
94
|
+
return {
|
|
95
|
+
success: true,
|
|
96
|
+
refsAttached,
|
|
97
|
+
pageInfo
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
console.error(`[RefAttacher] ✗ Failed to attach refs: ${error.message}`);
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get page info using existing data-tc-id attributes
|
|
107
|
+
* This allows using stable refs without regenerating them
|
|
108
|
+
*/
|
|
109
|
+
async function getPageInfoFromAttachedRefs(page) {
|
|
110
|
+
// Get base page info
|
|
111
|
+
const pageInfo = await (0, page_info_utils_1.getEnhancedPageInfo)(page);
|
|
112
|
+
// Extract refs from data-tc-id attributes
|
|
113
|
+
const domRefs = await page.evaluate(() => {
|
|
114
|
+
const doc = globalThis.document;
|
|
115
|
+
const elementsWithRefs = Array.from(doc.querySelectorAll('[data-tc-id]'));
|
|
116
|
+
return elementsWithRefs.map((el) => ({
|
|
117
|
+
ref: el.getAttribute('data-tc-id'),
|
|
118
|
+
tag: el.tagName.toLowerCase(),
|
|
119
|
+
role: el.getAttribute('role') || '',
|
|
120
|
+
text: el.textContent?.trim().substring(0, 100) || '',
|
|
121
|
+
name: el.getAttribute('name') || '',
|
|
122
|
+
placeholder: el.getAttribute('placeholder') || '',
|
|
123
|
+
type: el.getAttribute('type') || '',
|
|
124
|
+
ariaLabel: el.getAttribute('aria-label') || ''
|
|
125
|
+
}));
|
|
126
|
+
});
|
|
127
|
+
// Merge DOM refs into refMap
|
|
128
|
+
const updatedRefMap = new Map(pageInfo.refMap);
|
|
129
|
+
domRefs.forEach((item) => {
|
|
130
|
+
if (item.ref && !updatedRefMap.has(item.ref)) {
|
|
131
|
+
updatedRefMap.set(item.ref, {
|
|
132
|
+
tag: item.tag,
|
|
133
|
+
role: item.role,
|
|
134
|
+
text: item.text,
|
|
135
|
+
name: item.name,
|
|
136
|
+
placeholder: item.placeholder,
|
|
137
|
+
type: item.type,
|
|
138
|
+
ariaLabel: item.ariaLabel,
|
|
139
|
+
id: null,
|
|
140
|
+
selectors: []
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
return {
|
|
145
|
+
...pageInfo,
|
|
146
|
+
refMap: updatedRefMap
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=ref-attacher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-attacher.js","sourceRoot":"","sources":["../../src/utils/ref-attacher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ref Translation Utility
|
|
3
|
+
* Converts structured ref commands to Playwright commands with fallback alternatives
|
|
4
|
+
* Uses hierarchical ARIA tree context for robust selector generation
|
|
5
|
+
*/
|
|
6
|
+
import { RefCommand } from '../orchestrator/types';
|
|
7
|
+
export declare class RefTranslator {
|
|
8
|
+
private logger?;
|
|
9
|
+
private hierarchicalGenerator;
|
|
10
|
+
constructor(logger?: (message: string, level?: 'log' | 'error' | 'warn') => void);
|
|
11
|
+
/**
|
|
12
|
+
* LEGACY: Translate string commands (supports regex getByRef pattern)
|
|
13
|
+
* Use translateRefCommands() instead for new code
|
|
14
|
+
*/
|
|
15
|
+
translateStringCommands(commands: string[], page: any, refMap?: Map<string, any>, ariaTree?: any): Promise<Array<{
|
|
16
|
+
original: string;
|
|
17
|
+
alternatives: string[];
|
|
18
|
+
successful?: string;
|
|
19
|
+
}>>;
|
|
20
|
+
/**
|
|
21
|
+
* Translation layer: Convert ref commands to actual Playwright commands
|
|
22
|
+
* Tries multiple selector alternatives until one succeeds
|
|
23
|
+
*
|
|
24
|
+
* Agent outputs:
|
|
25
|
+
* { ref: 'e22', operation: 'fill', value: 'test@test.com' }
|
|
26
|
+
* This generates and tries multiple Playwright alternatives using hierarchical context
|
|
27
|
+
* Returns: The command that worked (for script storage)
|
|
28
|
+
*/
|
|
29
|
+
translateRefCommands(refCommands: RefCommand[], page: any, refMap?: Map<string, any>, ariaTree?: any): Promise<Array<{
|
|
30
|
+
original: RefCommand;
|
|
31
|
+
alternatives: string[];
|
|
32
|
+
successful?: string;
|
|
33
|
+
}>>;
|
|
34
|
+
/**
|
|
35
|
+
* Generate drag commands with coordinates
|
|
36
|
+
*/
|
|
37
|
+
private generateDragCommands;
|
|
38
|
+
/**
|
|
39
|
+
* Convert selectors to full Playwright commands with action
|
|
40
|
+
*/
|
|
41
|
+
private convertSelectorsToCommands;
|
|
42
|
+
/**
|
|
43
|
+
* Convert selector string to locator chain for building commands
|
|
44
|
+
*/
|
|
45
|
+
private selectorToLocatorChain;
|
|
46
|
+
private getActionCode;
|
|
47
|
+
private escape;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ref-translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-translator.d.ts","sourceRoot":"","sources":["../../src/utils/ref-translator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,CAA8D;IAC7E,OAAO,CAAC,qBAAqB,CAAgC;gBAEjD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI;IAKhF;;;OAGG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAuCpF;;;;;;;;OAQG;IACG,oBAAoB,CACxB,WAAW,EAAE,UAAU,EAAE,EACzB,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,UAAU,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAsFxF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAyClC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,MAAM;CAGf"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ref Translation Utility
|
|
4
|
+
* Converts structured ref commands to Playwright commands with fallback alternatives
|
|
5
|
+
* Uses hierarchical ARIA tree context for robust selector generation
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.RefTranslator = void 0;
|
|
9
|
+
const hierarchical_selector_1 = require("./hierarchical-selector");
|
|
10
|
+
class RefTranslator {
|
|
11
|
+
constructor(logger) {
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
this.hierarchicalGenerator = new hierarchical_selector_1.HierarchicalSelectorGenerator(logger);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* LEGACY: Translate string commands (supports regex getByRef pattern)
|
|
17
|
+
* Use translateRefCommands() instead for new code
|
|
18
|
+
*/
|
|
19
|
+
async translateStringCommands(commands, page, refMap, ariaTree) {
|
|
20
|
+
const translated = [];
|
|
21
|
+
for (const cmd of commands) {
|
|
22
|
+
// Check if command contains getByRef (legacy regex pattern)
|
|
23
|
+
const refMatch = cmd.match(/getByRef\s*\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]*)['"]\s*)?\)/);
|
|
24
|
+
if (refMatch && refMap && ariaTree) {
|
|
25
|
+
const [, ref, operation, value] = refMatch;
|
|
26
|
+
// Use structured approach internally
|
|
27
|
+
const refCmd = {
|
|
28
|
+
type: 'ref',
|
|
29
|
+
ref,
|
|
30
|
+
operation: operation,
|
|
31
|
+
value
|
|
32
|
+
};
|
|
33
|
+
const result = await this.translateRefCommands([refCmd], page, refMap, ariaTree);
|
|
34
|
+
const firstResult = result[0];
|
|
35
|
+
translated.push({
|
|
36
|
+
original: cmd,
|
|
37
|
+
alternatives: firstResult.alternatives,
|
|
38
|
+
successful: firstResult.successful
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// Not a ref command - pass through
|
|
43
|
+
translated.push({
|
|
44
|
+
original: cmd,
|
|
45
|
+
alternatives: [cmd],
|
|
46
|
+
successful: cmd
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return translated;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Translation layer: Convert ref commands to actual Playwright commands
|
|
54
|
+
* Tries multiple selector alternatives until one succeeds
|
|
55
|
+
*
|
|
56
|
+
* Agent outputs:
|
|
57
|
+
* { ref: 'e22', operation: 'fill', value: 'test@test.com' }
|
|
58
|
+
* This generates and tries multiple Playwright alternatives using hierarchical context
|
|
59
|
+
* Returns: The command that worked (for script storage)
|
|
60
|
+
*/
|
|
61
|
+
async translateRefCommands(refCommands, page, refMap, ariaTree) {
|
|
62
|
+
const translated = [];
|
|
63
|
+
if (!refMap) {
|
|
64
|
+
this.logger?.(`[Translation] ⚠️ RefMap not available`, 'warn');
|
|
65
|
+
return translated;
|
|
66
|
+
}
|
|
67
|
+
for (const cmd of refCommands) {
|
|
68
|
+
const element = refMap.get(cmd.ref);
|
|
69
|
+
if (!element) {
|
|
70
|
+
this.logger?.(`[Translation] ⚠️ Ref '${cmd.ref}' not found in refMap`, 'warn');
|
|
71
|
+
translated.push({
|
|
72
|
+
original: cmd,
|
|
73
|
+
alternatives: [],
|
|
74
|
+
successful: undefined
|
|
75
|
+
});
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
// Generate Playwright alternatives using hierarchical context
|
|
79
|
+
const selectors = this.hierarchicalGenerator.generateSelectorsForRef(cmd.ref, refMap, ariaTree);
|
|
80
|
+
// Handle drag specially (needs coordinates)
|
|
81
|
+
if (cmd.operation === 'drag' && cmd.toCoords) {
|
|
82
|
+
const alternatives = this.generateDragCommands(cmd.ref, selectors, cmd.fromCoords || { x: 0, y: 0 }, cmd.toCoords);
|
|
83
|
+
const fromDesc = cmd.fromCoords ? `(${cmd.fromCoords.x},${cmd.fromCoords.y})` : 'center';
|
|
84
|
+
this.logger?.(`[Translation] ref='${cmd.ref}' drag from ${fromDesc} to (${cmd.toCoords.x},${cmd.toCoords.y}) → ${alternatives.length} alternatives`, 'log');
|
|
85
|
+
// Try drag commands
|
|
86
|
+
let successful;
|
|
87
|
+
for (const alt of alternatives) {
|
|
88
|
+
try {
|
|
89
|
+
const func = new Function('page', 'expect', 'return (async () => { ' + alt + ' })()');
|
|
90
|
+
await func(page, global.expect);
|
|
91
|
+
successful = alt;
|
|
92
|
+
this.logger?.(`[Translation] ✓ Success: ${alt.substring(0, 70)}...`, 'log');
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
this.logger?.(`[Translation] ✗ Failed: ${alt.substring(0, 70)}... (${error.message.substring(0, 50)})`, 'log');
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
translated.push({
|
|
101
|
+
original: cmd,
|
|
102
|
+
alternatives,
|
|
103
|
+
successful
|
|
104
|
+
});
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const alternatives = this.convertSelectorsToCommands(selectors, cmd.operation, cmd.value);
|
|
108
|
+
this.logger?.(`[Translation] ref='${cmd.ref}' operation='${cmd.operation}' → ${alternatives.length} alternatives`, 'log');
|
|
109
|
+
// Try each alternative until one succeeds
|
|
110
|
+
let successful;
|
|
111
|
+
for (const alt of alternatives) {
|
|
112
|
+
try {
|
|
113
|
+
const func = new Function('page', 'expect', 'return (async () => { ' + alt + ' })()');
|
|
114
|
+
await func(page, global.expect);
|
|
115
|
+
successful = alt;
|
|
116
|
+
this.logger?.(`[Translation] ✓ Success: ${alt.substring(0, 70)}...`, 'log');
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
this.logger?.(`[Translation] ✗ Failed: ${alt.substring(0, 70)}... (${error.message.substring(0, 50)})`, 'log');
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (!successful) {
|
|
125
|
+
this.logger?.(`[Translation] ❌ All ${alternatives.length} alternatives failed for ref='${cmd.ref}'`, 'error');
|
|
126
|
+
}
|
|
127
|
+
translated.push({
|
|
128
|
+
original: cmd,
|
|
129
|
+
alternatives,
|
|
130
|
+
successful
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return translated;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Generate drag commands with coordinates
|
|
137
|
+
*/
|
|
138
|
+
generateDragCommands(ref, selectors, fromCoords, toCoords) {
|
|
139
|
+
const commands = [];
|
|
140
|
+
// Try top selectors with drag coordinates
|
|
141
|
+
for (const selector of selectors.slice(0, 5)) {
|
|
142
|
+
const locChain = this.selectorToLocatorChain(selector);
|
|
143
|
+
// Drag from element's position + fromCoords offset to absolute toCoords
|
|
144
|
+
commands.push(`await ${locChain}.hover(); ` +
|
|
145
|
+
`await page.mouse.down(); ` +
|
|
146
|
+
`await page.mouse.move(${toCoords.x}, ${toCoords.y}); ` +
|
|
147
|
+
`await page.mouse.up()`);
|
|
148
|
+
}
|
|
149
|
+
return commands;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Convert selectors to full Playwright commands with action
|
|
153
|
+
*/
|
|
154
|
+
convertSelectorsToCommands(selectors, operation, value) {
|
|
155
|
+
const commands = [];
|
|
156
|
+
const actionCode = this.getActionCode(operation, value);
|
|
157
|
+
for (const selector of selectors) {
|
|
158
|
+
// Handle different selector formats
|
|
159
|
+
if (selector.includes('>>')) {
|
|
160
|
+
// Chained selector (e.g., "text=Email >> input")
|
|
161
|
+
const parts = selector.split('>>').map(s => s.trim());
|
|
162
|
+
let chain = 'page';
|
|
163
|
+
for (const part of parts) {
|
|
164
|
+
if (part.startsWith('text=')) {
|
|
165
|
+
const text = part.substring(5);
|
|
166
|
+
chain += `.locator('text=${text}')`;
|
|
167
|
+
}
|
|
168
|
+
else if (part.startsWith('nth=')) {
|
|
169
|
+
const index = part.substring(4);
|
|
170
|
+
chain += `.nth(${index})`;
|
|
171
|
+
}
|
|
172
|
+
else if (part === 'first') {
|
|
173
|
+
chain += '.first()';
|
|
174
|
+
}
|
|
175
|
+
else if (part === 'last') {
|
|
176
|
+
chain += '.last()';
|
|
177
|
+
}
|
|
178
|
+
else if (part.startsWith('[') || part.match(/^[a-z]/)) {
|
|
179
|
+
chain += `.locator('${part}')`;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
commands.push(`await ${chain}.${actionCode}`);
|
|
183
|
+
}
|
|
184
|
+
else if (selector.startsWith('getBy')) {
|
|
185
|
+
// Playwright getBy* method
|
|
186
|
+
commands.push(`await page.${selector}.${actionCode}`);
|
|
187
|
+
}
|
|
188
|
+
else if (selector.startsWith('locator(')) {
|
|
189
|
+
// Playwright locator() method
|
|
190
|
+
commands.push(`await page.${selector}.${actionCode}`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// CSS/attribute selector
|
|
194
|
+
commands.push(`await page.locator('${selector}').${actionCode}`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return commands;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Convert selector string to locator chain for building commands
|
|
201
|
+
*/
|
|
202
|
+
selectorToLocatorChain(selector) {
|
|
203
|
+
if (selector.includes('>>')) {
|
|
204
|
+
const parts = selector.split('>>').map(s => s.trim());
|
|
205
|
+
let chain = 'page';
|
|
206
|
+
for (const part of parts) {
|
|
207
|
+
if (part.startsWith('text=')) {
|
|
208
|
+
chain += `.locator('text=${part.substring(5)}')`;
|
|
209
|
+
}
|
|
210
|
+
else if (part.startsWith('nth=')) {
|
|
211
|
+
chain += `.nth(${part.substring(4)})`;
|
|
212
|
+
}
|
|
213
|
+
else if (part === 'first') {
|
|
214
|
+
chain += '.first()';
|
|
215
|
+
}
|
|
216
|
+
else if (part === 'last') {
|
|
217
|
+
chain += '.last()';
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
chain += `.locator('${part}')`;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return chain;
|
|
224
|
+
}
|
|
225
|
+
else if (selector.startsWith('getBy')) {
|
|
226
|
+
return `page.${selector}`;
|
|
227
|
+
}
|
|
228
|
+
else if (selector.startsWith('locator(')) {
|
|
229
|
+
return `page.${selector}`;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return `page.locator('${selector}')`;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
getActionCode(operation, value) {
|
|
236
|
+
switch (operation.toLowerCase()) {
|
|
237
|
+
// Common interactions
|
|
238
|
+
case 'click':
|
|
239
|
+
return 'click()';
|
|
240
|
+
case 'doubleclick':
|
|
241
|
+
return 'dblclick()';
|
|
242
|
+
case 'rightclick':
|
|
243
|
+
return 'click({ button: "right" })';
|
|
244
|
+
// Input operations
|
|
245
|
+
case 'fill':
|
|
246
|
+
return `fill('${this.escape(value || '')}')`;
|
|
247
|
+
case 'type':
|
|
248
|
+
return `type('${this.escape(value || '')}')`;
|
|
249
|
+
case 'clear':
|
|
250
|
+
return 'clear()';
|
|
251
|
+
case 'press':
|
|
252
|
+
return `press('${this.escape(value || 'Enter')}')`;
|
|
253
|
+
// Selection operations
|
|
254
|
+
case 'select':
|
|
255
|
+
return `selectOption('${this.escape(value || '')}')`;
|
|
256
|
+
case 'check':
|
|
257
|
+
return 'check()';
|
|
258
|
+
case 'uncheck':
|
|
259
|
+
return 'uncheck()';
|
|
260
|
+
// Focus operations
|
|
261
|
+
case 'hover':
|
|
262
|
+
return 'hover()';
|
|
263
|
+
case 'focus':
|
|
264
|
+
return 'focus()';
|
|
265
|
+
case 'blur':
|
|
266
|
+
return 'blur()';
|
|
267
|
+
default:
|
|
268
|
+
return `${operation}()`;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
escape(str) {
|
|
272
|
+
return str.replace(/'/g, "\\'").replace(/"/g, '\\"');
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.RefTranslator = RefTranslator;
|
|
276
|
+
//# sourceMappingURL=ref-translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-translator.js","sourceRoot":"","sources":["../../src/utils/ref-translator.ts"],"names":[],"mappings":"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"}
|