openchrome-mcp 1.8.13 → 1.8.15
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/headed-fallback.d.ts +43 -0
- package/dist/chrome/headed-fallback.d.ts.map +1 -0
- package/dist/chrome/headed-fallback.js +232 -0
- package/dist/chrome/headed-fallback.js.map +1 -0
- package/dist/chrome/launcher.d.ts.map +1 -1
- package/dist/chrome/launcher.js +17 -13
- package/dist/chrome/launcher.js.map +1 -1
- package/dist/errors/timeout.d.ts +3 -1
- package/dist/errors/timeout.d.ts.map +1 -1
- package/dist/errors/timeout.js +8 -2
- package/dist/errors/timeout.js.map +1 -1
- package/dist/tools/batch-paginate.d.ts.map +1 -1
- package/dist/tools/batch-paginate.js +10 -5
- package/dist/tools/batch-paginate.js.map +1 -1
- package/dist/tools/click-element.d.ts.map +1 -1
- package/dist/tools/click-element.js +9 -1
- package/dist/tools/click-element.js.map +1 -1
- package/dist/tools/computer.d.ts.map +1 -1
- package/dist/tools/computer.js +15 -14
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/drag-drop.d.ts.map +1 -1
- package/dist/tools/drag-drop.js +9 -1
- package/dist/tools/drag-drop.js.map +1 -1
- package/dist/tools/fill-form.d.ts.map +1 -1
- package/dist/tools/fill-form.js +11 -5
- package/dist/tools/fill-form.js.map +1 -1
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +10 -2
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/form-input.d.ts.map +1 -1
- package/dist/tools/form-input.js +9 -1
- package/dist/tools/form-input.js.map +1 -1
- package/dist/tools/interact.d.ts.map +1 -1
- package/dist/tools/interact.js +13 -5
- package/dist/tools/interact.js.map +1 -1
- package/dist/tools/navigate.d.ts.map +1 -1
- package/dist/tools/navigate.js +137 -21
- package/dist/tools/navigate.js.map +1 -1
- package/dist/tools/query-dom.d.ts.map +1 -1
- package/dist/tools/query-dom.js +18 -13
- package/dist/tools/query-dom.js.map +1 -1
- package/dist/utils/display-detect.d.ts +12 -0
- package/dist/utils/display-detect.d.ts.map +1 -0
- package/dist/utils/display-detect.js +59 -0
- package/dist/utils/display-detect.js.map +1 -0
- package/dist/utils/with-timeout.d.ts +6 -1
- package/dist/utils/with-timeout.d.ts.map +1 -1
- package/dist/utils/with-timeout.js +14 -2
- package/dist/utils/with-timeout.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/navigate.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.registerNavigateTool = registerNavigateTool;
|
|
7
|
+
const mcp_1 = require("../types/mcp");
|
|
7
8
|
const session_manager_1 = require("../session-manager");
|
|
8
9
|
const smart_goto_1 = require("../utils/smart-goto");
|
|
9
10
|
const safe_title_1 = require("../utils/safe-title");
|
|
@@ -14,10 +15,14 @@ const domain_guard_1 = require("../security/domain-guard");
|
|
|
14
15
|
const page_diagnostics_1 = require("../utils/page-diagnostics");
|
|
15
16
|
const with_timeout_1 = require("../utils/with-timeout");
|
|
16
17
|
const human_behavior_1 = require("../stealth/human-behavior");
|
|
18
|
+
const headed_fallback_1 = require("../chrome/headed-fallback");
|
|
19
|
+
const global_1 = require("../config/global");
|
|
20
|
+
/** Blocking types that warrant automatic stealth retry (#459) */
|
|
21
|
+
const RETRYABLE_BLOCK_TYPES = new Set(['access-denied', 'bot-check', 'captcha']);
|
|
17
22
|
/** Compute readiness data for navigate responses. Non-critical — returns defaults on failure. */
|
|
18
|
-
async function getReadiness(page) {
|
|
23
|
+
async function getReadiness(page, context) {
|
|
19
24
|
try {
|
|
20
|
-
const readyState = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.readyState), 3000, 'readyState');
|
|
25
|
+
const readyState = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.readyState), 3000, 'readyState', context);
|
|
21
26
|
let framework = 'none';
|
|
22
27
|
try {
|
|
23
28
|
framework = await (0, with_timeout_1.withTimeout)(page.evaluate(() => {
|
|
@@ -30,7 +35,7 @@ async function getReadiness(page) {
|
|
|
30
35
|
if (window.__ANGULAR_DEVTOOLS_BACKEND_API__)
|
|
31
36
|
return 'angular';
|
|
32
37
|
return 'none';
|
|
33
|
-
}), 2000, 'framework');
|
|
38
|
+
}), 2000, 'framework', context);
|
|
34
39
|
}
|
|
35
40
|
catch { /* ignore */ }
|
|
36
41
|
return { readyState, domStable: true, framework };
|
|
@@ -39,6 +44,88 @@ async function getReadiness(page) {
|
|
|
39
44
|
return { readyState: 'unknown', domStable: false, framework: 'unknown' };
|
|
40
45
|
}
|
|
41
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Auto-fallback: retry navigation with stealth mode when a CDN/WAF block is detected.
|
|
49
|
+
* Closes the original blocked tab (if just created), creates a new stealth tab,
|
|
50
|
+
* and returns the result with fallbackTier/fallbackReason metadata. (#459)
|
|
51
|
+
*/
|
|
52
|
+
async function stealthAutoRetry(sessionId, targetUrl, workerId, stealthSettleMs, profileDirectory, blockingInfo, closeTabId, autoFallbackToHeaded = false, context) {
|
|
53
|
+
const sessionManager = (0, session_manager_1.getSessionManager)();
|
|
54
|
+
if (closeTabId) {
|
|
55
|
+
await sessionManager.closeTarget(sessionId, closeTabId).catch(() => { });
|
|
56
|
+
}
|
|
57
|
+
console.error(`[navigate] Auto-fallback: block detected (${blockingInfo.type}), retrying with stealth...`);
|
|
58
|
+
const { targetId, page, workerId: assignedWorkerId } = await sessionManager.createTargetStealth(sessionId, targetUrl, workerId, stealthSettleMs, profileDirectory);
|
|
59
|
+
await (0, human_behavior_1.simulatePresence)(page);
|
|
60
|
+
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(targetId);
|
|
61
|
+
const [summary, blocking] = await Promise.all([
|
|
62
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
63
|
+
Promise.race([
|
|
64
|
+
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
65
|
+
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
66
|
+
]).catch(() => null),
|
|
67
|
+
]);
|
|
68
|
+
let elementCount = 0;
|
|
69
|
+
try {
|
|
70
|
+
elementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
71
|
+
}
|
|
72
|
+
catch { /* non-critical */ }
|
|
73
|
+
const readiness = await getReadiness(page, context);
|
|
74
|
+
const resultText = JSON.stringify({
|
|
75
|
+
action: 'navigate',
|
|
76
|
+
url: page.url(),
|
|
77
|
+
title: await (0, safe_title_1.safeTitle)(page),
|
|
78
|
+
tabId: targetId,
|
|
79
|
+
workerId: assignedWorkerId,
|
|
80
|
+
created: true,
|
|
81
|
+
elementCount,
|
|
82
|
+
readiness,
|
|
83
|
+
stealth: true,
|
|
84
|
+
fallbackTier: 2,
|
|
85
|
+
fallbackReason: blockingInfo.type,
|
|
86
|
+
...(summary && { visualSummary: summary }),
|
|
87
|
+
...(blocking && { blockingPage: blocking }),
|
|
88
|
+
});
|
|
89
|
+
// Tier 3: if stealth retry also got blocked and headed Chrome is available, escalate (#459)
|
|
90
|
+
if (blocking && autoFallbackToHeaded && RETRYABLE_BLOCK_TYPES.has(blocking.type)) {
|
|
91
|
+
const headedResult = await headedAutoRetry(targetUrl, blocking);
|
|
92
|
+
if (headedResult)
|
|
93
|
+
return headedResult;
|
|
94
|
+
}
|
|
95
|
+
return { content: [{ type: 'text', text: resultText }] };
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Tier 3 fallback: retry navigation in headed Chrome when stealth also fails.
|
|
99
|
+
* Headed Chrome has a real user-agent and TLS fingerprint, bypassing CDN/WAF detection. (#459)
|
|
100
|
+
* Returns null if headed fallback is not available (no display, no Chrome binary).
|
|
101
|
+
*/
|
|
102
|
+
async function headedAutoRetry(targetUrl, blockingInfo) {
|
|
103
|
+
const headedFallback = (0, headed_fallback_1.getHeadedFallback)((0, global_1.getGlobalConfig)().port);
|
|
104
|
+
if (!headedFallback.isAvailable()) {
|
|
105
|
+
console.error('[navigate] Tier 3 skipped: no display available for headed Chrome');
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
console.error(`[navigate] Auto-fallback Tier 3: stealth also blocked (${blockingInfo.type}), retrying in headed Chrome...`);
|
|
109
|
+
try {
|
|
110
|
+
const result = await headedFallback.navigate(targetUrl);
|
|
111
|
+
const resultText = JSON.stringify({
|
|
112
|
+
action: 'navigate',
|
|
113
|
+
url: result.url,
|
|
114
|
+
title: result.title,
|
|
115
|
+
elementCount: result.elementCount,
|
|
116
|
+
headed: true,
|
|
117
|
+
stealth: true,
|
|
118
|
+
fallbackTier: 3,
|
|
119
|
+
fallbackReason: blockingInfo.type,
|
|
120
|
+
...(result.blockingPage && { blockingPage: result.blockingPage }),
|
|
121
|
+
});
|
|
122
|
+
return { content: [{ type: 'text', text: resultText }] };
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
console.error('[navigate] Tier 3 headed fallback failed:', err instanceof Error ? err.message : err);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
42
129
|
const definition = {
|
|
43
130
|
name: 'navigate',
|
|
44
131
|
description: 'Navigate to URL or go forward/back. Omit tabId for new tab.',
|
|
@@ -65,6 +152,14 @@ const definition = {
|
|
|
65
152
|
type: 'number',
|
|
66
153
|
description: 'How long to wait (ms) before attaching CDP in stealth mode. Default: 8000. Range: 1000-30000.',
|
|
67
154
|
},
|
|
155
|
+
autoFallback: {
|
|
156
|
+
type: 'boolean',
|
|
157
|
+
description: 'Auto-retry with stealth when CDN/WAF block is detected (access-denied, bot-check, captcha). Default: true. Set false to disable.',
|
|
158
|
+
},
|
|
159
|
+
headed: {
|
|
160
|
+
type: 'boolean',
|
|
161
|
+
description: 'Force navigation in headed (non-headless) Chrome. Bypasses CDN/TLS-level blocking by using a real Chrome user-agent and TLS fingerprint. Requires a display. Default: false.',
|
|
162
|
+
},
|
|
68
163
|
profileDirectory: {
|
|
69
164
|
type: 'string',
|
|
70
165
|
description: 'Chrome profile directory name (e.g., "Profile 1"). Use list_profiles to see available profiles. Launches a separate Chrome instance for each profile. If omitted, uses the server default. Cannot be combined with workerId.',
|
|
@@ -73,7 +168,7 @@ const definition = {
|
|
|
73
168
|
required: ['url'],
|
|
74
169
|
},
|
|
75
170
|
};
|
|
76
|
-
const handler = async (sessionId, args) => {
|
|
171
|
+
const handler = async (sessionId, args, context) => {
|
|
77
172
|
const tabId = args.tabId;
|
|
78
173
|
const url = args.url;
|
|
79
174
|
const profileDirectory = args.profileDirectory;
|
|
@@ -88,6 +183,8 @@ const handler = async (sessionId, args) => {
|
|
|
88
183
|
const workerId = args.workerId || (profileDirectory ? `profile:${profileDirectory}` : undefined);
|
|
89
184
|
const stealth = args.stealth;
|
|
90
185
|
const stealthSettleMs = Math.min(Math.max(args.stealthSettleMs || 8000, 1000), 30000);
|
|
186
|
+
const autoFallback = args.autoFallback !== false; // default: true
|
|
187
|
+
const headed = args.headed;
|
|
91
188
|
const stealthIgnoredWarning = stealth && tabId ? 'stealth mode only works when creating new tabs (omit tabId). The stealth parameter was ignored for this navigation.' : undefined;
|
|
92
189
|
const sessionManager = (0, session_manager_1.getSessionManager)();
|
|
93
190
|
if (!url) {
|
|
@@ -149,6 +246,16 @@ const handler = async (sessionId, args) => {
|
|
|
149
246
|
}
|
|
150
247
|
// Domain blocklist check on normalized URL
|
|
151
248
|
(0, domain_guard_1.assertDomainAllowed)(targetUrl);
|
|
249
|
+
// headed=true: skip headless entirely, navigate directly in headed Chrome (#459)
|
|
250
|
+
if (headed) {
|
|
251
|
+
const headedResult = await headedAutoRetry(targetUrl, { type: 'access-denied', detail: 'user-requested headed mode' });
|
|
252
|
+
if (headedResult)
|
|
253
|
+
return headedResult;
|
|
254
|
+
return {
|
|
255
|
+
content: [{ type: 'text', text: 'Error: headed mode requested but no display available for headed Chrome.' }],
|
|
256
|
+
isError: true,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
152
259
|
// Tab reuse: if worker has exactly 1 existing tab, reuse it instead of creating new
|
|
153
260
|
const resolvedWorkerId = workerId || 'default';
|
|
154
261
|
const existingTargets = sessionManager.getWorkerTargetIds(sessionId, resolvedWorkerId);
|
|
@@ -157,7 +264,7 @@ const handler = async (sessionId, args) => {
|
|
|
157
264
|
if (await sessionManager.isTargetValid(existingTabId)) {
|
|
158
265
|
const page = await sessionManager.getPage(sessionId, existingTabId, undefined, 'navigate');
|
|
159
266
|
if (page) {
|
|
160
|
-
const { authRedirect } = await (0, with_timeout_1.withTimeout)((0, smart_goto_1.smartGoto)(page, targetUrl, { timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS }), defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS + 5000, `navigate to ${targetUrl}
|
|
267
|
+
const { authRedirect } = await (0, with_timeout_1.withTimeout)((0, smart_goto_1.smartGoto)(page, targetUrl, { timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS }), defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS + 5000, `navigate to ${targetUrl}`, context);
|
|
161
268
|
if (authRedirect) {
|
|
162
269
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(existingTabId);
|
|
163
270
|
return {
|
|
@@ -183,7 +290,7 @@ const handler = async (sessionId, args) => {
|
|
|
183
290
|
}
|
|
184
291
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(existingTabId);
|
|
185
292
|
const [summary, reuseBlocking] = await Promise.all([
|
|
186
|
-
(0, visual_summary_1.generateVisualSummary)(page),
|
|
293
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
187
294
|
Promise.race([
|
|
188
295
|
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
189
296
|
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
@@ -192,12 +299,16 @@ const handler = async (sessionId, args) => {
|
|
|
192
299
|
// Get element count for SPA readiness visibility
|
|
193
300
|
let reuseElementCount = 0;
|
|
194
301
|
try {
|
|
195
|
-
reuseElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
302
|
+
reuseElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
196
303
|
}
|
|
197
304
|
catch {
|
|
198
305
|
// Non-critical — proceed without count
|
|
199
306
|
}
|
|
200
|
-
const reuseReadiness = await getReadiness(page);
|
|
307
|
+
const reuseReadiness = await getReadiness(page, context);
|
|
308
|
+
// Auto-fallback: if reused tab hit a CDN/WAF block, retry with stealth in a new tab (#459)
|
|
309
|
+
if (reuseBlocking && autoFallback && RETRYABLE_BLOCK_TYPES.has(reuseBlocking.type)) {
|
|
310
|
+
return stealthAutoRetry(sessionId, targetUrl, workerId, stealthSettleMs, profileDirectory, reuseBlocking, undefined, autoFallback, context);
|
|
311
|
+
}
|
|
201
312
|
const reuseResultText = JSON.stringify({
|
|
202
313
|
action: 'navigate',
|
|
203
314
|
url: page.url(),
|
|
@@ -228,7 +339,7 @@ const handler = async (sessionId, args) => {
|
|
|
228
339
|
}
|
|
229
340
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(targetId);
|
|
230
341
|
const [newTabSummary, newTabBlocking] = await Promise.all([
|
|
231
|
-
(0, visual_summary_1.generateVisualSummary)(page),
|
|
342
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
232
343
|
Promise.race([
|
|
233
344
|
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
234
345
|
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
@@ -237,12 +348,16 @@ const handler = async (sessionId, args) => {
|
|
|
237
348
|
// Get element count for SPA readiness visibility
|
|
238
349
|
let newTabElementCount = 0;
|
|
239
350
|
try {
|
|
240
|
-
newTabElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
351
|
+
newTabElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
241
352
|
}
|
|
242
353
|
catch {
|
|
243
354
|
// Non-critical — proceed without count
|
|
244
355
|
}
|
|
245
|
-
const newTabReadiness = await getReadiness(page);
|
|
356
|
+
const newTabReadiness = await getReadiness(page, context);
|
|
357
|
+
// Auto-fallback: if new tab hit a CDN/WAF block and stealth wasn't already used, retry with stealth (#459)
|
|
358
|
+
if (newTabBlocking && !stealth && autoFallback && RETRYABLE_BLOCK_TYPES.has(newTabBlocking.type)) {
|
|
359
|
+
return stealthAutoRetry(sessionId, targetUrl, workerId, stealthSettleMs, profileDirectory, newTabBlocking, targetId, autoFallback, context);
|
|
360
|
+
}
|
|
246
361
|
const newTabResultText = JSON.stringify({
|
|
247
362
|
action: 'navigate',
|
|
248
363
|
url: page.url(),
|
|
@@ -252,6 +367,7 @@ const handler = async (sessionId, args) => {
|
|
|
252
367
|
created: true,
|
|
253
368
|
elementCount: newTabElementCount,
|
|
254
369
|
readiness: newTabReadiness,
|
|
370
|
+
...(stealth && { stealth: true }),
|
|
255
371
|
...(newTabSummary && { visualSummary: newTabSummary }),
|
|
256
372
|
...(newTabBlocking && { blockingPage: newTabBlocking }),
|
|
257
373
|
});
|
|
@@ -306,7 +422,7 @@ const handler = async (sessionId, args) => {
|
|
|
306
422
|
await page.goBack({ waitUntil: 'domcontentloaded', timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS });
|
|
307
423
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(tabId);
|
|
308
424
|
const [backSummary, backBlocking] = await Promise.all([
|
|
309
|
-
(0, visual_summary_1.generateVisualSummary)(page),
|
|
425
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
310
426
|
Promise.race([
|
|
311
427
|
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
312
428
|
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
@@ -315,7 +431,7 @@ const handler = async (sessionId, args) => {
|
|
|
315
431
|
// Get element count for SPA readiness visibility
|
|
316
432
|
let backElementCount = 0;
|
|
317
433
|
try {
|
|
318
|
-
backElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
434
|
+
backElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
319
435
|
}
|
|
320
436
|
catch {
|
|
321
437
|
// Non-critical — proceed without count
|
|
@@ -337,7 +453,7 @@ const handler = async (sessionId, args) => {
|
|
|
337
453
|
await page.goForward({ waitUntil: 'domcontentloaded', timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS });
|
|
338
454
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(tabId);
|
|
339
455
|
const [fwdSummary, fwdBlocking] = await Promise.all([
|
|
340
|
-
(0, visual_summary_1.generateVisualSummary)(page),
|
|
456
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
341
457
|
Promise.race([
|
|
342
458
|
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
343
459
|
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
@@ -346,7 +462,7 @@ const handler = async (sessionId, args) => {
|
|
|
346
462
|
// Get element count for SPA readiness visibility
|
|
347
463
|
let fwdElementCount = 0;
|
|
348
464
|
try {
|
|
349
|
-
fwdElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
465
|
+
fwdElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
350
466
|
}
|
|
351
467
|
catch {
|
|
352
468
|
// Non-critical — proceed without count
|
|
@@ -422,7 +538,7 @@ const handler = async (sessionId, args) => {
|
|
|
422
538
|
// Domain blocklist check on normalized URL (existing-tab path)
|
|
423
539
|
(0, domain_guard_1.assertDomainAllowed)(targetUrl);
|
|
424
540
|
// Navigate with smart auth redirect detection
|
|
425
|
-
const { authRedirect } = await (0, with_timeout_1.withTimeout)((0, smart_goto_1.smartGoto)(page, targetUrl, { timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS }), defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS + 5000, `navigate to ${targetUrl}
|
|
541
|
+
const { authRedirect } = await (0, with_timeout_1.withTimeout)((0, smart_goto_1.smartGoto)(page, targetUrl, { timeout: defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS }), defaults_1.DEFAULT_NAVIGATION_TIMEOUT_MS + 5000, `navigate to ${targetUrl}`, context);
|
|
426
542
|
// Auth redirect = fail-fast with clear error
|
|
427
543
|
if (authRedirect) {
|
|
428
544
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(tabId);
|
|
@@ -447,7 +563,7 @@ const handler = async (sessionId, args) => {
|
|
|
447
563
|
}
|
|
448
564
|
adaptive_screenshot_1.AdaptiveScreenshot.getInstance().reset(tabId);
|
|
449
565
|
const [navSummary, navBlocking] = await Promise.all([
|
|
450
|
-
(0, visual_summary_1.generateVisualSummary)(page),
|
|
566
|
+
(context && !(0, mcp_1.hasBudget)(context, 5_000)) ? Promise.resolve(null) : (0, visual_summary_1.generateVisualSummary)(page),
|
|
451
567
|
Promise.race([
|
|
452
568
|
(0, page_diagnostics_1.detectBlockingPage)(page),
|
|
453
569
|
new Promise(resolve => setTimeout(() => resolve(null), 5000)),
|
|
@@ -456,12 +572,12 @@ const handler = async (sessionId, args) => {
|
|
|
456
572
|
// Get element count for SPA readiness visibility
|
|
457
573
|
let navElementCount = 0;
|
|
458
574
|
try {
|
|
459
|
-
navElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
575
|
+
navElementCount = await (0, with_timeout_1.withTimeout)(page.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
460
576
|
}
|
|
461
577
|
catch {
|
|
462
578
|
// Non-critical — proceed without count
|
|
463
579
|
}
|
|
464
|
-
const navReadiness = await getReadiness(page);
|
|
580
|
+
const navReadiness = await getReadiness(page, context);
|
|
465
581
|
const navResultText = JSON.stringify({
|
|
466
582
|
action: 'navigate',
|
|
467
583
|
url: page.url(),
|
|
@@ -484,10 +600,10 @@ const handler = async (sessionId, args) => {
|
|
|
484
600
|
try {
|
|
485
601
|
const timeoutPage = await sessionManager.getPage(sessionId, tabId, undefined, 'navigate');
|
|
486
602
|
if (timeoutPage) {
|
|
487
|
-
const timeoutReadiness = await getReadiness(timeoutPage);
|
|
603
|
+
const timeoutReadiness = await getReadiness(timeoutPage, context);
|
|
488
604
|
let timeoutElementCount = 0;
|
|
489
605
|
try {
|
|
490
|
-
timeoutElementCount = await (0, with_timeout_1.withTimeout)(timeoutPage.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount');
|
|
606
|
+
timeoutElementCount = await (0, with_timeout_1.withTimeout)(timeoutPage.evaluate(() => document.querySelectorAll('*').length), 3000, 'elementCount', context);
|
|
491
607
|
}
|
|
492
608
|
catch { /* ignore */ }
|
|
493
609
|
const hasContent = (timeoutReadiness.readyState === 'interactive' || timeoutReadiness.readyState === 'complete') && timeoutElementCount > 10;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../src/tools/navigate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../src/tools/navigate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-dom.d.ts","sourceRoot":"","sources":["../../src/tools/query-dom.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"query-dom.d.ts","sourceRoot":"","sources":["../../src/tools/query-dom.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA8vB1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}
|
package/dist/tools/query-dom.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.registerQueryDomTool = registerQueryDomTool;
|
|
9
|
+
const mcp_1 = require("../types/mcp");
|
|
9
10
|
const session_manager_1 = require("../session-manager");
|
|
10
11
|
const with_timeout_1 = require("../utils/with-timeout");
|
|
11
12
|
const shadow_dom_1 = require("../utils/shadow-dom");
|
|
@@ -51,7 +52,7 @@ const definition = {
|
|
|
51
52
|
required: ['tabId', 'method'],
|
|
52
53
|
},
|
|
53
54
|
};
|
|
54
|
-
async function gatherDiagnostics(page, selector) {
|
|
55
|
+
async function gatherDiagnostics(page, selector, context) {
|
|
55
56
|
try {
|
|
56
57
|
// Single atomic evaluate to avoid race conditions if page navigates between calls
|
|
57
58
|
return await (0, with_timeout_1.withTimeout)(page.evaluate((sel) => {
|
|
@@ -90,7 +91,7 @@ async function gatherDiagnostics(page, selector) {
|
|
|
90
91
|
framework,
|
|
91
92
|
closestMatch,
|
|
92
93
|
};
|
|
93
|
-
}, selector), 15000, 'query_dom');
|
|
94
|
+
}, selector), 15000, 'query_dom', context);
|
|
94
95
|
}
|
|
95
96
|
catch (err) {
|
|
96
97
|
console.error('[query_dom] diagnostics failed:', err);
|
|
@@ -177,7 +178,7 @@ async function shadowCSSFallback(page, selector, multiple) {
|
|
|
177
178
|
// ---------------------------------------------------------------------------
|
|
178
179
|
// CSS handler
|
|
179
180
|
// ---------------------------------------------------------------------------
|
|
180
|
-
async function handleCSS(sessionId, args) {
|
|
181
|
+
async function handleCSS(sessionId, args, context) {
|
|
181
182
|
const tabId = args.tabId;
|
|
182
183
|
const selector = args.selector;
|
|
183
184
|
const multiple = args.multiple ?? false;
|
|
@@ -221,7 +222,7 @@ async function handleCSS(sessionId, args) {
|
|
|
221
222
|
};
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
|
-
const diag = await gatherDiagnostics(page, selector);
|
|
225
|
+
const diag = await gatherDiagnostics(page, selector, context);
|
|
225
226
|
return {
|
|
226
227
|
content: [
|
|
227
228
|
{
|
|
@@ -245,6 +246,10 @@ async function handleCSS(sessionId, args) {
|
|
|
245
246
|
const limitedElements = elements.slice(0, MAX_SELECTOR_RESULTS);
|
|
246
247
|
const elementInfos = [];
|
|
247
248
|
for (let i = 0; i < limitedElements.length; i++) {
|
|
249
|
+
// Budget check: return partial results if deadline is approaching
|
|
250
|
+
if (context && !(0, mcp_1.hasBudget)(context, 10_000)) {
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
248
253
|
const element = limitedElements[i];
|
|
249
254
|
const info = await (0, with_timeout_1.withTimeout)(page.evaluate((el, index) => {
|
|
250
255
|
const rect = el.getBoundingClientRect();
|
|
@@ -275,7 +280,7 @@ async function handleCSS(sessionId, args) {
|
|
|
275
280
|
}
|
|
276
281
|
: null,
|
|
277
282
|
};
|
|
278
|
-
}, element, i), 2000, 'query_dom');
|
|
283
|
+
}, element, i), 2000, 'query_dom', context);
|
|
279
284
|
elementInfos.push(info);
|
|
280
285
|
}
|
|
281
286
|
const result = {
|
|
@@ -318,7 +323,7 @@ async function handleCSS(sessionId, args) {
|
|
|
318
323
|
};
|
|
319
324
|
}
|
|
320
325
|
}
|
|
321
|
-
const diag = await gatherDiagnostics(page, selector);
|
|
326
|
+
const diag = await gatherDiagnostics(page, selector, context);
|
|
322
327
|
return {
|
|
323
328
|
content: [
|
|
324
329
|
{
|
|
@@ -365,7 +370,7 @@ async function handleCSS(sessionId, args) {
|
|
|
365
370
|
}
|
|
366
371
|
: null,
|
|
367
372
|
};
|
|
368
|
-
}, element), 15000, 'query_dom');
|
|
373
|
+
}, element), 15000, 'query_dom', context);
|
|
369
374
|
return {
|
|
370
375
|
content: [
|
|
371
376
|
{
|
|
@@ -385,7 +390,7 @@ async function handleCSS(sessionId, args) {
|
|
|
385
390
|
// ---------------------------------------------------------------------------
|
|
386
391
|
// XPath handler
|
|
387
392
|
// ---------------------------------------------------------------------------
|
|
388
|
-
async function handleXPath(sessionId, args) {
|
|
393
|
+
async function handleXPath(sessionId, args, context) {
|
|
389
394
|
const tabId = args.tabId;
|
|
390
395
|
const xpath = args.xpath;
|
|
391
396
|
const multiple = args.multiple ?? false;
|
|
@@ -473,7 +478,7 @@ async function handleXPath(sessionId, args) {
|
|
|
473
478
|
elements,
|
|
474
479
|
totalCount: allNodes.length,
|
|
475
480
|
};
|
|
476
|
-
}, xpath, limit), 15000, 'query_dom');
|
|
481
|
+
}, xpath, limit), 15000, 'query_dom', context);
|
|
477
482
|
return {
|
|
478
483
|
content: [
|
|
479
484
|
{
|
|
@@ -556,7 +561,7 @@ async function handleXPath(sessionId, args) {
|
|
|
556
561
|
if (shadowNode)
|
|
557
562
|
return extractElementInfo(shadowNode, xpathExpr);
|
|
558
563
|
return null;
|
|
559
|
-
}, xpath), 15000, 'query_dom');
|
|
564
|
+
}, xpath), 15000, 'query_dom', context);
|
|
560
565
|
if (!element) {
|
|
561
566
|
return {
|
|
562
567
|
content: [
|
|
@@ -594,7 +599,7 @@ async function handleXPath(sessionId, args) {
|
|
|
594
599
|
// ---------------------------------------------------------------------------
|
|
595
600
|
// Router
|
|
596
601
|
// ---------------------------------------------------------------------------
|
|
597
|
-
const handler = async (sessionId, args) => {
|
|
602
|
+
const handler = async (sessionId, args, context) => {
|
|
598
603
|
const tabId = args.tabId;
|
|
599
604
|
const method = args.method;
|
|
600
605
|
if (!tabId) {
|
|
@@ -606,9 +611,9 @@ const handler = async (sessionId, args) => {
|
|
|
606
611
|
try {
|
|
607
612
|
switch (method) {
|
|
608
613
|
case 'css':
|
|
609
|
-
return await handleCSS(sessionId, args);
|
|
614
|
+
return await handleCSS(sessionId, args, context);
|
|
610
615
|
case 'xpath':
|
|
611
|
-
return await handleXPath(sessionId, args);
|
|
616
|
+
return await handleXPath(sessionId, args, context);
|
|
612
617
|
default:
|
|
613
618
|
return {
|
|
614
619
|
content: [
|