openchrome-mcp 1.7.1 → 1.7.2
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/chrome/launcher.d.ts.map +1 -1
- package/dist/chrome/launcher.js +43 -5
- package/dist/chrome/launcher.js.map +1 -1
- package/dist/cli/index.js +89 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.d.ts +6 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +7 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/tools/computer.d.ts.map +1 -1
- package/dist/tools/computer.js +27 -13
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/form-input.d.ts.map +1 -1
- package/dist/tools/form-input.js +16 -8
- package/dist/tools/form-input.js.map +1 -1
- package/dist/tools/javascript.d.ts +1 -0
- package/dist/tools/javascript.d.ts.map +1 -1
- package/dist/tools/javascript.js +47 -1
- package/dist/tools/javascript.js.map +1 -1
- package/dist/tools/lightweight-scroll.d.ts.map +1 -1
- package/dist/tools/lightweight-scroll.js +50 -2
- package/dist/tools/lightweight-scroll.js.map +1 -1
- package/dist/utils/ref-id-manager.d.ts +17 -0
- package/dist/utils/ref-id-manager.d.ts.map +1 -1
- package/dist/utils/ref-id-manager.js +107 -0
- package/dist/utils/ref-id-manager.js.map +1 -1
- package/dist/utils/retry-with-fallback.d.ts +18 -0
- package/dist/utils/retry-with-fallback.d.ts.map +1 -0
- package/dist/utils/retry-with-fallback.js +39 -0
- package/dist/utils/retry-with-fallback.js.map +1 -0
- package/package.json +1 -1
package/dist/tools/computer.js
CHANGED
|
@@ -11,6 +11,7 @@ const dom_delta_1 = require("../utils/dom-delta");
|
|
|
11
11
|
const visual_summary_1 = require("../utils/visual-summary");
|
|
12
12
|
const adaptive_screenshot_1 = require("../utils/adaptive-screenshot");
|
|
13
13
|
const with_timeout_1 = require("../utils/with-timeout");
|
|
14
|
+
const retry_with_fallback_1 = require("../utils/retry-with-fallback");
|
|
14
15
|
const definition = {
|
|
15
16
|
name: 'computer',
|
|
16
17
|
description: 'Perform mouse, keyboard, and screenshot actions on a browser tab.',
|
|
@@ -508,13 +509,18 @@ const handler = async (sessionId, args) => {
|
|
|
508
509
|
deltaX = scrollAmount * deltaMultiplier;
|
|
509
510
|
break;
|
|
510
511
|
}
|
|
511
|
-
|
|
512
|
+
// Primary: CDP mouse wheel scroll
|
|
513
|
+
const primaryWheel = () => page.mouse.wheel({ deltaX, deltaY });
|
|
514
|
+
// Fallback: JS window.scrollBy (works even when CDP input is busy)
|
|
515
|
+
const fallbackWheel = () => (0, with_timeout_1.withTimeout)(page.evaluate((dx, dy) => window.scrollBy(dx, dy), deltaX, deltaY), 5000, 'scroll-fallback');
|
|
516
|
+
const { recovered: scrollRecovered, method: scrollMethod } = await (0, retry_with_fallback_1.retryWithFallback)(primaryWheel, [fallbackWheel], { label: 'computer_scroll', retryDelayMs: 500 });
|
|
512
517
|
const centerNote = usedViewportCenter ? ' [viewport center]' : '';
|
|
518
|
+
const recoveryNote = scrollRecovered ? ` [recovered:${scrollMethod}]` : '';
|
|
513
519
|
return {
|
|
514
520
|
content: [
|
|
515
521
|
{
|
|
516
522
|
type: 'text',
|
|
517
|
-
text: `Scrolled ${direction} at (${scrollCoord[0]}, ${scrollCoord[1]})${centerNote}`,
|
|
523
|
+
text: `Scrolled ${direction} at (${scrollCoord[0]}, ${scrollCoord[1]})${centerNote}${recoveryNote}`,
|
|
518
524
|
},
|
|
519
525
|
],
|
|
520
526
|
};
|
|
@@ -571,7 +577,7 @@ const handler = async (sessionId, args) => {
|
|
|
571
577
|
*/
|
|
572
578
|
async function resolveRefToCoordinates(sessionId, tabId, ref, page, sessionManager) {
|
|
573
579
|
const refIdManager = (0, ref_id_manager_1.getRefIdManager)();
|
|
574
|
-
|
|
580
|
+
let backendNodeId = refIdManager.resolveToBackendNodeId(sessionId, tabId, ref);
|
|
575
581
|
if (backendNodeId === undefined) {
|
|
576
582
|
return {
|
|
577
583
|
error: {
|
|
@@ -589,15 +595,23 @@ async function resolveRefToCoordinates(sessionId, tabId, ref, page, sessionManag
|
|
|
589
595
|
const { node } = await cdpClient.send(page, 'DOM.describeNode', { backendNodeId });
|
|
590
596
|
const validation = refIdManager.validateRef(sessionId, tabId, ref, node.localName);
|
|
591
597
|
if (!validation.valid && validation.stale) {
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
598
|
+
// Attempt transparent recovery: re-find the element using stored metadata
|
|
599
|
+
const relocated = await refIdManager.tryRelocateRef(sessionId, tabId, ref, page, cdpClient);
|
|
600
|
+
if (relocated) {
|
|
601
|
+
console.error(`[ref-recovery] ${ref} was stale, re-located as ${relocated.newRef}`);
|
|
602
|
+
backendNodeId = relocated.backendNodeId;
|
|
603
|
+
}
|
|
604
|
+
else {
|
|
605
|
+
return {
|
|
606
|
+
error: {
|
|
607
|
+
content: [{
|
|
608
|
+
type: 'text',
|
|
609
|
+
text: `Error: ${ref} is stale — ${validation.reason}. Element could not be re-located. Run find or read_page again to get fresh refs.`,
|
|
610
|
+
}],
|
|
611
|
+
isError: true,
|
|
612
|
+
},
|
|
613
|
+
};
|
|
614
|
+
}
|
|
601
615
|
}
|
|
602
616
|
}
|
|
603
617
|
catch {
|
|
@@ -607,7 +621,7 @@ async function resolveRefToCoordinates(sessionId, tabId, ref, page, sessionManag
|
|
|
607
621
|
// Log staleness warning (non-blocking)
|
|
608
622
|
if (refEntry && refIdManager.isRefStale(sessionId, tabId, ref)) {
|
|
609
623
|
const age = Math.round((Date.now() - refEntry.createdAt) / 1000);
|
|
610
|
-
console.
|
|
624
|
+
console.error(`[ref-validation] ${ref} is ${age}s old — may be stale`);
|
|
611
625
|
}
|
|
612
626
|
await cdpClient.send(page, 'DOM.scrollIntoViewIfNeeded', {
|
|
613
627
|
backendNodeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computer.js","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"computer.js","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-input.d.ts","sourceRoot":"","sources":["../../src/tools/form-input.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"form-input.d.ts","sourceRoot":"","sources":["../../src/tools/form-input.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAoP1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE7D"}
|
package/dist/tools/form-input.js
CHANGED
|
@@ -62,7 +62,7 @@ const handler = async (sessionId, args) => {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
// Get the backend node ID
|
|
65
|
-
|
|
65
|
+
let backendNodeId = refIdManager.resolveToBackendNodeId(sessionId, tabId, ref);
|
|
66
66
|
if (backendNodeId === undefined) {
|
|
67
67
|
return {
|
|
68
68
|
content: [
|
|
@@ -82,13 +82,21 @@ const handler = async (sessionId, args) => {
|
|
|
82
82
|
const { node } = await cdpClient.send(page, 'DOM.describeNode', { backendNodeId });
|
|
83
83
|
const validation = refIdManager.validateRef(sessionId, tabId, ref, node.localName);
|
|
84
84
|
if (!validation.valid && validation.stale) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
// Attempt transparent recovery: re-find the element using stored metadata
|
|
86
|
+
const relocated = await refIdManager.tryRelocateRef(sessionId, tabId, ref, page, cdpClient);
|
|
87
|
+
if (relocated) {
|
|
88
|
+
console.error(`[ref-recovery] ${ref} was stale, re-located as ${relocated.newRef}`);
|
|
89
|
+
backendNodeId = relocated.backendNodeId;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return {
|
|
93
|
+
content: [{
|
|
94
|
+
type: 'text',
|
|
95
|
+
text: `Error: ${ref} is stale — ${validation.reason}. Element could not be re-located. Run find or read_page again to get fresh refs.`,
|
|
96
|
+
}],
|
|
97
|
+
isError: true,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
92
100
|
}
|
|
93
101
|
}
|
|
94
102
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-input.js","sourceRoot":"","sources":["../../src/tools/form-input.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"form-input.js","sourceRoot":"","sources":["../../src/tools/form-input.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAsPH,sDAEC;AApPD,wDAAuD;AACvD,4DAA0D;AAC1D,kDAAkD;AAElD,MAAM,UAAU,GAAsB;IACpC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,0DAA0D;IACvE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4FAA4F;aAC1G;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;KACpC;CACF,CAAC;AAEF,MAAM,OAAO,GAAgB,KAAK,EAChC,SAAiB,EACjB,IAA6B,EACT,EAAE;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAa,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,cAAc,GAAG,IAAA,mCAAiB,GAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAA,gCAAe,GAAE,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,YAAY,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,aAAa,GAAG,YAAY,CAAC,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB,GAAG,sFAAsF;qBACrH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;QAEhD,oDAAoD;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAElC,IAAI,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAEhD,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CACzC,SAAS,EAAE,KAAK,EAAE,GAAG,EACrB,IAAI,CAAC,SAAS,CACf,CAAC;gBAEF,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC1C,0EAA0E;oBAC1E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,cAAc,CACjD,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CACvC,CAAC;oBAEF,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,6BAA6B,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpF,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,UAAU,GAAG,eAAe,UAAU,CAAC,MAAM,mFAAmF;iCACvI,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CACrC,IAAI,EACJ,iBAAiB,EACjB,EAAE,aAAa,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,GAAG,oCAAoC;qBAClF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,EAAE,GAAG,EAAE,CACtD,SAAS,CAAC,IAAI,CAEX,IAAI,EAAE,wBAAwB,EAAE;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4DpB;YACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YACtB,aAAa,EAAE,IAAI;SACpB,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAErC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,wBAAwB,CAAC,GAAG,KAAK,EAAE,CAAC;aAC1F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,QAAQ,CAAC,KAAK,IAAI,qBAAqB,EAAE;qBAC1D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACpF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
* JavaScript Tool - Execute JavaScript in page context
|
|
3
3
|
*/
|
|
4
4
|
import { MCPServer } from '../mcp-server';
|
|
5
|
+
export declare function wrapInIIFE(code: string): string;
|
|
5
6
|
export declare function registerJavascriptTool(server: MCPServer): void;
|
|
6
7
|
//# sourceMappingURL=javascript.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/tools/javascript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/tools/javascript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA8C1C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkD/C;AA8JD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE9D"}
|
package/dist/tools/javascript.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* JavaScript Tool - Execute JavaScript in page context
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.wrapInIIFE = wrapInIIFE;
|
|
6
7
|
exports.registerJavascriptTool = registerJavascriptTool;
|
|
7
8
|
const session_manager_1 = require("../session-manager");
|
|
8
9
|
const domain_guard_1 = require("../security/domain-guard");
|
|
@@ -32,6 +33,51 @@ const definition = {
|
|
|
32
33
|
required: ['tabId'],
|
|
33
34
|
},
|
|
34
35
|
};
|
|
36
|
+
function wrapInIIFE(code) {
|
|
37
|
+
const trimmed = code.trim();
|
|
38
|
+
// Single expression without semicolons, newlines, or return: evaluate as-is
|
|
39
|
+
// so the expression value is returned naturally by Runtime.evaluate.
|
|
40
|
+
if (!trimmed.includes('\n') && !trimmed.includes(';') && !/\breturn\b/.test(trimmed)) {
|
|
41
|
+
return trimmed;
|
|
42
|
+
}
|
|
43
|
+
// Multi-statement code or code with explicit return: wrap in async IIFE.
|
|
44
|
+
// This fixes two common LLM errors:
|
|
45
|
+
// 1. SyntaxError: Illegal return statement (return outside a function)
|
|
46
|
+
// 2. SyntaxError: Identifier 'x' has already been declared (let/const redeclaration)
|
|
47
|
+
//
|
|
48
|
+
// If there is no explicit `return`, try to auto-return the last expression so
|
|
49
|
+
// that `let x = 5;\nx` still returns 5 instead of undefined.
|
|
50
|
+
if (!/\breturn\b/.test(trimmed)) {
|
|
51
|
+
const lines = trimmed.split('\n').filter((l) => l.trim());
|
|
52
|
+
const lastLine = lines[lines.length - 1]?.trim() ?? '';
|
|
53
|
+
// Auto-return the last line if it looks like an expression (not a
|
|
54
|
+
// declaration, control-flow statement, closing brace, or comment).
|
|
55
|
+
const isAutoReturnable = lastLine.length > 0 &&
|
|
56
|
+
!lastLine.startsWith('let ') &&
|
|
57
|
+
!lastLine.startsWith('const ') &&
|
|
58
|
+
!lastLine.startsWith('var ') &&
|
|
59
|
+
!lastLine.startsWith('function ') &&
|
|
60
|
+
!lastLine.startsWith('class ') &&
|
|
61
|
+
!lastLine.startsWith('if') &&
|
|
62
|
+
!lastLine.startsWith('else') &&
|
|
63
|
+
!lastLine.startsWith('for') &&
|
|
64
|
+
!lastLine.startsWith('while') &&
|
|
65
|
+
!lastLine.startsWith('do') &&
|
|
66
|
+
!lastLine.startsWith('switch') &&
|
|
67
|
+
!lastLine.startsWith('try') &&
|
|
68
|
+
!lastLine.startsWith('catch') &&
|
|
69
|
+
!lastLine.startsWith('finally') &&
|
|
70
|
+
!lastLine.startsWith('//') &&
|
|
71
|
+
!lastLine.startsWith('/*') &&
|
|
72
|
+
!lastLine.startsWith('}');
|
|
73
|
+
if (isAutoReturnable) {
|
|
74
|
+
const bodyLines = lines.slice(0, -1).join('\n');
|
|
75
|
+
const body = bodyLines ? `${bodyLines}\nreturn ${lastLine}` : `return ${lastLine}`;
|
|
76
|
+
return `(async () => { ${body}\n})()`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return `(async () => { ${code}\n})()`;
|
|
80
|
+
}
|
|
35
81
|
function formatCDPResult(evalResult) {
|
|
36
82
|
const { type, subtype, value, description, className } = evalResult;
|
|
37
83
|
if (type === 'undefined') {
|
|
@@ -125,7 +171,7 @@ const handler = async (sessionId, args) => {
|
|
|
125
171
|
const cdpResult = await Promise.race([
|
|
126
172
|
cdpClient
|
|
127
173
|
.send(page, 'Runtime.evaluate', {
|
|
128
|
-
expression: code,
|
|
174
|
+
expression: wrapInIIFE(code),
|
|
129
175
|
returnByValue: true,
|
|
130
176
|
awaitPromise: true,
|
|
131
177
|
userGesture: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/tools/javascript.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/tools/javascript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightweight-scroll.d.ts","sourceRoot":"","sources":["../../src/tools/lightweight-scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"lightweight-scroll.d.ts","sourceRoot":"","sources":["../../src/tools/lightweight-scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAsV1C,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAErE"}
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.registerLightweightScrollTool = registerLightweightScrollTool;
|
|
12
12
|
const session_manager_1 = require("../session-manager");
|
|
13
13
|
const with_timeout_1 = require("../utils/with-timeout");
|
|
14
|
+
const retry_with_fallback_1 = require("../utils/retry-with-fallback");
|
|
14
15
|
const definition = {
|
|
15
16
|
name: 'lightweight_scroll',
|
|
16
17
|
description: 'Scroll page via JS without screenshot. Returns new scroll position.',
|
|
@@ -79,7 +80,8 @@ const handler = async (sessionId, args) => {
|
|
|
79
80
|
isError: true,
|
|
80
81
|
};
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
+
// Primary: page.evaluate scroll (JS-based, fast path)
|
|
84
|
+
const primaryScroll = () => (0, with_timeout_1.withTimeout)(page.evaluate((params) => {
|
|
83
85
|
return new Promise((resolve) => {
|
|
84
86
|
try {
|
|
85
87
|
const target = params.selector
|
|
@@ -212,6 +214,51 @@ const handler = async (sessionId, args) => {
|
|
|
212
214
|
scrollToEnd,
|
|
213
215
|
waitAfterMs,
|
|
214
216
|
}), 10000, 'lightweight_scroll');
|
|
217
|
+
// Fallback: Input.dispatchMouseEvent mouseWheel via CDP
|
|
218
|
+
const fallbackScroll = async () => {
|
|
219
|
+
const cdpClient = sessionManager.getCDPClient();
|
|
220
|
+
const viewport = page.viewport();
|
|
221
|
+
const x = viewport ? viewport.width / 2 : 512;
|
|
222
|
+
const y = viewport ? viewport.height / 2 : 384;
|
|
223
|
+
let deltaX = 0;
|
|
224
|
+
let deltaY = 0;
|
|
225
|
+
switch (direction) {
|
|
226
|
+
case 'down':
|
|
227
|
+
deltaY = amount;
|
|
228
|
+
break;
|
|
229
|
+
case 'up':
|
|
230
|
+
deltaY = -amount;
|
|
231
|
+
break;
|
|
232
|
+
case 'right':
|
|
233
|
+
deltaX = amount;
|
|
234
|
+
break;
|
|
235
|
+
case 'left':
|
|
236
|
+
deltaX = -amount;
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
await (0, with_timeout_1.withTimeout)(cdpClient.send(page, 'Input.dispatchMouseEvent', {
|
|
240
|
+
type: 'mouseWheel',
|
|
241
|
+
x, y,
|
|
242
|
+
deltaX, deltaY,
|
|
243
|
+
}), 5000, 'scroll-fallback');
|
|
244
|
+
// Wait briefly for scroll to take effect
|
|
245
|
+
await new Promise(r => setTimeout(r, 100));
|
|
246
|
+
// Read back scroll position
|
|
247
|
+
const positions = await (0, with_timeout_1.withTimeout)(page.evaluate(() => ({
|
|
248
|
+
scrollX: window.scrollX,
|
|
249
|
+
scrollY: window.scrollY,
|
|
250
|
+
scrollHeight: document.documentElement.scrollHeight,
|
|
251
|
+
scrollWidth: document.documentElement.scrollWidth,
|
|
252
|
+
clientHeight: document.documentElement.clientHeight,
|
|
253
|
+
clientWidth: document.documentElement.clientWidth,
|
|
254
|
+
})), 5000, 'scroll-position-read');
|
|
255
|
+
return {
|
|
256
|
+
success: true,
|
|
257
|
+
...positions,
|
|
258
|
+
atEnd: false, // approximate — position read is accurate but atEnd calc is skipped
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
const { result: scrollResult, recovered, method: recoveryMethod } = await (0, retry_with_fallback_1.retryWithFallback)(primaryScroll, [fallbackScroll], { label: 'lightweight_scroll', retryDelayMs: 500 });
|
|
215
262
|
if (!scrollResult.success) {
|
|
216
263
|
return {
|
|
217
264
|
content: [{ type: 'text', text: `Scroll error: ${scrollResult.error}` }],
|
|
@@ -220,12 +267,13 @@ const handler = async (sessionId, args) => {
|
|
|
220
267
|
}
|
|
221
268
|
const targetDesc = selector ? ` (${selector})` : '';
|
|
222
269
|
const endIndicator = scrollResult.atEnd ? ' [END REACHED]' : '';
|
|
270
|
+
const recoveryNote = recovered ? ` [recovered:${recoveryMethod}]` : '';
|
|
223
271
|
return {
|
|
224
272
|
content: [
|
|
225
273
|
{
|
|
226
274
|
type: 'text',
|
|
227
275
|
text: JSON.stringify({
|
|
228
|
-
scrolled: `${direction} ${scrollToEnd ? 'to end' : amount + 'px'}${targetDesc}${endIndicator}`,
|
|
276
|
+
scrolled: `${direction} ${scrollToEnd ? 'to end' : amount + 'px'}${targetDesc}${endIndicator}${recoveryNote}`,
|
|
229
277
|
position: {
|
|
230
278
|
x: scrollResult.scrollX,
|
|
231
279
|
y: scrollResult.scrollY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightweight-scroll.js","sourceRoot":"","sources":["../../src/tools/lightweight-scroll.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"lightweight-scroll.js","sourceRoot":"","sources":["../../src/tools/lightweight-scroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Ref ID Manager - Manages persistent element references
|
|
3
3
|
* Ported from extension
|
|
4
4
|
*/
|
|
5
|
+
import { Page } from 'puppeteer-core';
|
|
5
6
|
/** TTL for ref staleness warning (30 seconds) */
|
|
6
7
|
export declare const REF_TTL_MS = 30000;
|
|
7
8
|
export interface RefEntry {
|
|
@@ -44,6 +45,22 @@ export declare class RefIdManager {
|
|
|
44
45
|
* Used when Chrome reassigns target IDs after reconnection.
|
|
45
46
|
*/
|
|
46
47
|
migrateTarget(sessionId: string, oldTargetId: string, newTargetId: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Attempt to relocate a stale ref by searching for an element that matches the
|
|
50
|
+
* stored metadata (tagName + name/aria-label or textContent).
|
|
51
|
+
*
|
|
52
|
+
* Returns { backendNodeId, newRef } if the element is found and a new ref is
|
|
53
|
+
* registered for it, or null if the element cannot be located.
|
|
54
|
+
*
|
|
55
|
+
* This is used by computer and form_input to recover transparently from stale
|
|
56
|
+
* refs without surfacing an error to the LLM.
|
|
57
|
+
*/
|
|
58
|
+
tryRelocateRef(sessionId: string, tabId: string, ref: string, page: Page, cdpClient: {
|
|
59
|
+
send: (page: Page, method: string, params?: Record<string, unknown>) => Promise<unknown>;
|
|
60
|
+
}): Promise<{
|
|
61
|
+
backendNodeId: number;
|
|
62
|
+
newRef: string;
|
|
63
|
+
} | null>;
|
|
47
64
|
/**
|
|
48
65
|
* Unified resolver: accepts "ref_N", raw integer string "142", or "node_142"
|
|
49
66
|
* Returns the backendDOMNodeId for use with CDP DOM.resolveNode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref-id-manager.d.ts","sourceRoot":"","sources":["../../src/utils/ref-id-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iDAAiD;AACjD,eAAO,MAAM,UAAU,QAAS,CAAC;AAEjC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAA8D;IAC1E,OAAO,CAAC,QAAQ,CAA+C;IAE/D;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM;IAsCT,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIhF,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKzC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQ9D;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMvE;;;;OAIG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAiCvD;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBhF;;;OAGG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS;CAkBtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
|
|
1
|
+
{"version":3,"file":"ref-id-manager.d.ts","sourceRoot":"","sources":["../../src/utils/ref-id-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,iDAAiD;AACjD,eAAO,MAAM,UAAU,QAAS,CAAC;AAEjC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAA8D;IAC1E,OAAO,CAAC,QAAQ,CAA+C;IAE/D;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM;IAsCT,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIhF,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKzC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQ9D;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAMvE;;;;OAIG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAiCvD;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBhF;;;;;;;;;OASG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,SAAS,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GACtG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAyH5D;;;OAGG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS;CAkBtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
|