cdp-mcp-server 5.0.2 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -0
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/connection/browser-discovery.d.ts +41 -4
- package/dist/connection/browser-discovery.js +125 -8
- package/dist/connection/browser-discovery.js.map +1 -1
- package/dist/connection/capabilities.d.ts +58 -0
- package/dist/connection/capabilities.js +126 -0
- package/dist/connection/capabilities.js.map +1 -0
- package/dist/connection/health-monitor.d.ts +22 -0
- package/dist/connection/health-monitor.js +155 -28
- package/dist/connection/health-monitor.js.map +1 -1
- package/dist/connection/index.d.ts +4 -3
- package/dist/connection/index.js +2 -1
- package/dist/connection/index.js.map +1 -1
- package/dist/connection/tab-session-service.d.ts +12 -2
- package/dist/connection/tab-session-service.js +48 -14
- package/dist/connection/tab-session-service.js.map +1 -1
- package/dist/index.js +51 -4
- package/dist/index.js.map +1 -1
- package/dist/snapshot/accessibility.d.ts +2 -0
- package/dist/snapshot/accessibility.js +1 -1
- package/dist/snapshot/accessibility.js.map +1 -1
- package/dist/tools/device-presets.d.ts +24 -0
- package/dist/tools/device-presets.js +62 -0
- package/dist/tools/device-presets.js.map +1 -0
- package/dist/tools/emulate.js +79 -0
- package/dist/tools/emulate.js.map +1 -1
- package/dist/tools/interact.js +191 -31
- package/dist/tools/interact.js.map +1 -1
- package/dist/tools/observe.js +201 -27
- package/dist/tools/observe.js.map +1 -1
- package/dist/tools/page.d.ts +52 -1
- package/dist/tools/page.js +242 -25
- package/dist/tools/page.js.map +1 -1
- package/dist/tools/storage.d.ts +1 -1
- package/dist/tools/storage.js +115 -3
- package/dist/tools/storage.js.map +1 -1
- package/dist/tools/tabs.js +4 -2
- package/dist/tools/tabs.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/utils/actionability.d.ts +62 -0
- package/dist/utils/actionability.js +190 -0
- package/dist/utils/actionability.js.map +1 -0
- package/dist/utils/connect-diagnostics.d.ts +46 -0
- package/dist/utils/connect-diagnostics.js +124 -0
- package/dist/utils/connect-diagnostics.js.map +1 -0
- package/dist/utils/wait.d.ts +0 -25
- package/dist/utils/wait.js +0 -76
- package/dist/utils/wait.js.map +1 -1
- package/package.json +1 -1
- package/dist/utils/retry.d.ts +0 -40
- package/dist/utils/retry.js +0 -75
- package/dist/utils/retry.js.map +0 -1
package/dist/tools/observe.js
CHANGED
|
@@ -4,19 +4,37 @@
|
|
|
4
4
|
* Read-only introspection into what the browser is doing.
|
|
5
5
|
* All actions delegate to CDP domains like Log, Network, Performance.
|
|
6
6
|
*/
|
|
7
|
+
import { TempFileManager } from '../utils/temp-files.js';
|
|
8
|
+
import { isMethodMissingError } from '../connection/capabilities.js';
|
|
9
|
+
import { join } from 'path';
|
|
7
10
|
import { defineTool } from './base-tool.js';
|
|
8
11
|
import { ok, fail } from '../utils/helpers.js';
|
|
9
12
|
// ─── Action handlers ────────────────────────────────────────────────
|
|
10
13
|
async function handleConsole(ctx, params) {
|
|
11
14
|
const sess = params._sessionId;
|
|
12
|
-
//
|
|
15
|
+
// Runtime.enable is required for Runtime.consoleAPICalled / exceptionThrown
|
|
16
|
+
// events (console.log/error from the page). Log domain adds browser-generated
|
|
17
|
+
// entries (network errors, deprecations) that never pass through console.*.
|
|
18
|
+
await ctx.sendCommand('Runtime.enable', {}, sess).catch(() => { });
|
|
13
19
|
await ctx.sendCommand('Log.enable', {}, sess);
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
+
// Live in-memory store filled by the runtime event pipeline (index.ts)
|
|
21
|
+
const store = ctx.consoleLogs.get(sess) ?? [];
|
|
22
|
+
let logs = [...store];
|
|
23
|
+
// Merge browser Log-domain entries (deduped) for completeness
|
|
24
|
+
const browser = (await ctx.sendCommand('Log.getEntries', {}, sess).catch(() => ({ entries: [] })));
|
|
25
|
+
const seen = new Set(store.map((l) => `${l.level}|${l.text}|${l.url}`));
|
|
26
|
+
for (const e of browser.entries ?? []) {
|
|
27
|
+
const key = `${e.level ?? 'info'}|${e.text ?? ''}|${e.url ?? ''}`;
|
|
28
|
+
if (seen.has(key))
|
|
29
|
+
continue;
|
|
30
|
+
seen.add(key);
|
|
31
|
+
logs.push({
|
|
32
|
+
level: e.level ?? 'info',
|
|
33
|
+
text: e.text ?? '',
|
|
34
|
+
url: e.url ?? '',
|
|
35
|
+
ts: e.timestamp ? new Date(e.timestamp).getTime() : Date.now(),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
20
38
|
const level = params.level;
|
|
21
39
|
if (level && level !== 'all') {
|
|
22
40
|
logs = logs.filter(l => l.level === level);
|
|
@@ -35,12 +53,24 @@ async function handleConsole(ctx, params) {
|
|
|
35
53
|
});
|
|
36
54
|
return ok(`${logs.length} console message(s):\n\n${lines.join('\n')}`);
|
|
37
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* B4: enable durable network messages so response bodies survive
|
|
58
|
+
* cross-process navigations. Silent-off when unsupported (pre-Chrome-153).
|
|
59
|
+
*/
|
|
60
|
+
function ensureNetworkResilience(ctx, sess) {
|
|
61
|
+
ctx.sendCommand('Network.configureDurableMessages', {
|
|
62
|
+
maxTotalBufferSize: 104857600,
|
|
63
|
+
maxResourceBufferSize: 20971520,
|
|
64
|
+
}, sess).catch(() => { });
|
|
65
|
+
}
|
|
38
66
|
async function handleNetwork(ctx, params) {
|
|
39
67
|
const sess = params._sessionId;
|
|
40
68
|
await ctx.sendCommand('Network.enable', {}, sess);
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
|
|
69
|
+
ensureNetworkResilience(ctx, sess);
|
|
70
|
+
// Live in-memory store filled by the runtime event pipeline
|
|
71
|
+
// (Network.requestWillBeSent / responseReceived / loadingFinished in index.ts)
|
|
72
|
+
const reqMap = ctx.networkReqs.get(sess);
|
|
73
|
+
let reqs = reqMap ? [...reqMap.values()] : [];
|
|
44
74
|
const filter = params.filter;
|
|
45
75
|
if (filter) {
|
|
46
76
|
const f = filter.toLowerCase();
|
|
@@ -54,21 +84,23 @@ async function handleNetwork(ctx, params) {
|
|
|
54
84
|
const last = params.last;
|
|
55
85
|
if (last)
|
|
56
86
|
reqs = reqs.slice(-last);
|
|
57
|
-
if (params.clear) {
|
|
58
|
-
// clear would reset the in-memory request map
|
|
59
|
-
}
|
|
60
|
-
if (!reqs.length)
|
|
61
|
-
return ok('No network requests captured yet. Navigate or interact to start capturing.');
|
|
62
87
|
const lines = reqs.map(r => {
|
|
63
88
|
const status = r.status || 'pending';
|
|
64
89
|
const size = r.size != null ? `${(r.size / 1024).toFixed(1)}KB` : '?';
|
|
65
90
|
return `[${r.id}] ${r.method} ${status} ${size} ${r.type} ${r.url.substring(0, 120)}`;
|
|
66
91
|
});
|
|
67
|
-
|
|
92
|
+
const output = reqs.length
|
|
93
|
+
? `${reqs.length} request(s):\n\n${lines.join('\n')}`
|
|
94
|
+
: 'No network requests captured yet. Navigate or interact to start capturing.';
|
|
95
|
+
// clear:true resets the in-memory store after the listing is built
|
|
96
|
+
if (params.clear)
|
|
97
|
+
reqMap?.clear();
|
|
98
|
+
return ok(output);
|
|
68
99
|
}
|
|
69
100
|
async function handleRequest(ctx, params) {
|
|
70
101
|
const sess = params._sessionId;
|
|
71
102
|
await ctx.sendCommand('Network.enable', {}, sess);
|
|
103
|
+
ensureNetworkResilience(ctx, sess);
|
|
72
104
|
// Parity with Playwright MCP browser_network_requests — single-call equivalent.
|
|
73
105
|
// Allow `urlFilter` (substring) as an alternative to `requestId`. We resolve the
|
|
74
106
|
// most-recent matching request from ctx.networkReqs so the agent doesn't have to
|
|
@@ -102,15 +134,50 @@ async function handleRequest(ctx, params) {
|
|
|
102
134
|
const result = { requestId };
|
|
103
135
|
if (resolvedFrom !== null)
|
|
104
136
|
result.matchedFrom = resolvedFrom;
|
|
105
|
-
// Get response body
|
|
137
|
+
// Get response body (B4: large bodies stream to a temp file instead of
|
|
138
|
+
// inlining; unretained bodies retry via Network.streamResourceContent)
|
|
139
|
+
const INLINE_BODY_CAP = 60_000;
|
|
140
|
+
const PREVIEW = 2_000;
|
|
106
141
|
try {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
142
|
+
let body = null;
|
|
143
|
+
let base64 = false;
|
|
144
|
+
try {
|
|
145
|
+
const resp = (await ctx.sendCommand('Network.getResponseBody', { requestId }, sess));
|
|
146
|
+
body = resp.body;
|
|
147
|
+
base64 = !!resp.base64Encoded;
|
|
111
148
|
}
|
|
112
|
-
|
|
113
|
-
|
|
149
|
+
catch {
|
|
150
|
+
// Body not retained (e.g. after cross-process navigation) - stream it
|
|
151
|
+
// (works when durable messages are configured)
|
|
152
|
+
try {
|
|
153
|
+
const streamed = (await ctx.sendCommand('Network.streamResourceContent', { requestId }, sess));
|
|
154
|
+
body = streamed.bufferedData ?? null;
|
|
155
|
+
base64 = true;
|
|
156
|
+
if (body !== null)
|
|
157
|
+
result.bodySource = 'stream';
|
|
158
|
+
}
|
|
159
|
+
catch (e2) {
|
|
160
|
+
result.responseBody = `[Not available: ${e2.message}]`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (body !== null && body !== undefined) {
|
|
164
|
+
const decoded = base64 ? Buffer.from(body, 'base64') : Buffer.from(body, 'utf8');
|
|
165
|
+
const text = decoded.toString('utf8');
|
|
166
|
+
if (text.length > INLINE_BODY_CAP) {
|
|
167
|
+
const tempDir = ctx.config.tempDir || join(process.cwd(), '.temp');
|
|
168
|
+
const manager = new TempFileManager({
|
|
169
|
+
tempDir,
|
|
170
|
+
maxTempFiles: ctx.config.maxTempFiles,
|
|
171
|
+
maxTempAgeMs: ctx.config.maxTempAgeMs,
|
|
172
|
+
});
|
|
173
|
+
const file = manager.write(`response-${Date.now()}.txt`, decoded, 'binary');
|
|
174
|
+
result.responseBodyFile = file;
|
|
175
|
+
result.responseBodyPreview = text.slice(0, PREVIEW);
|
|
176
|
+
result.responseBodySize = decoded.length;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
result.responseBody = text;
|
|
180
|
+
}
|
|
114
181
|
}
|
|
115
182
|
}
|
|
116
183
|
catch (e) {
|
|
@@ -152,15 +219,120 @@ async function handlePerformance(ctx, params) {
|
|
|
152
219
|
];
|
|
153
220
|
return ok(`Performance Metrics:\n\n${lines.join('\n')}`);
|
|
154
221
|
}
|
|
222
|
+
/** Bounded wait - never rejects; { ok: false } on timeout or error. */
|
|
223
|
+
function raceBounded(p, ms) {
|
|
224
|
+
return new Promise((resolve) => {
|
|
225
|
+
const t = setTimeout(() => resolve({ ok: false }), ms);
|
|
226
|
+
p.then((v) => { clearTimeout(t); resolve({ ok: true, value: v }); }).catch(() => { clearTimeout(t); resolve({ ok: false }); });
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* B5: DOM/memory counters. Memory.getDOMCounters + a forced GC sweep
|
|
231
|
+
* (prepareForLeakDetection) when the browser answers; falls back to the
|
|
232
|
+
* Performance.getMetrics counters (Documents/Nodes/JSEventListeners) when
|
|
233
|
+
* the Memory domain is missing or unresponsive. Every Memory call is
|
|
234
|
+
* bounded so an unresponsive domain degrades in seconds instead of
|
|
235
|
+
* deadlocking the tool call.
|
|
236
|
+
*/
|
|
237
|
+
async function handleMemory(ctx, params) {
|
|
238
|
+
const sess = params._sessionId;
|
|
239
|
+
const BOUND_MS = Math.max(1, params._boundMs || 5_000);
|
|
240
|
+
const skipped = [];
|
|
241
|
+
try {
|
|
242
|
+
const enable = await raceBounded(ctx.sendCommand('Memory.enable', {}, sess), BOUND_MS);
|
|
243
|
+
if (!enable.ok)
|
|
244
|
+
skipped.push('Memory.enable (unsupported or timed out)');
|
|
245
|
+
const readMem = async () => {
|
|
246
|
+
const r = await raceBounded(ctx.sendCommand('Memory.getDOMCounters', {}, sess), BOUND_MS);
|
|
247
|
+
if (!r.ok || !r.value)
|
|
248
|
+
return null;
|
|
249
|
+
const v = r.value;
|
|
250
|
+
return {
|
|
251
|
+
documents: v.documents,
|
|
252
|
+
nodes: v.nodes,
|
|
253
|
+
jsEventListeners: v.jsEventListeners,
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
let counters = await readMem();
|
|
257
|
+
const result = {};
|
|
258
|
+
if (counters) {
|
|
259
|
+
result.source = 'Memory.getDOMCounters';
|
|
260
|
+
const sweep = await raceBounded(ctx.sendCommand('Memory.prepareForLeakDetection', {}, sess), BOUND_MS);
|
|
261
|
+
if (!sweep.ok)
|
|
262
|
+
skipped.push('prepareForLeakDetection (unsupported or timed out)');
|
|
263
|
+
const after = await readMem();
|
|
264
|
+
if (after) {
|
|
265
|
+
result.gc = {
|
|
266
|
+
before: counters,
|
|
267
|
+
after,
|
|
268
|
+
delta: {
|
|
269
|
+
documents: (after.documents ?? 0) - (counters.documents ?? 0),
|
|
270
|
+
nodes: (after.nodes ?? 0) - (counters.nodes ?? 0),
|
|
271
|
+
jsEventListeners: (after.jsEventListeners ?? 0) - (counters.jsEventListeners ?? 0),
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
counters = after;
|
|
275
|
+
}
|
|
276
|
+
const leak = await raceBounded(ctx.sendCommand('Memory.getDOMCountersForLeakDetection', {}, sess), BOUND_MS);
|
|
277
|
+
if (leak.ok && leak.value) {
|
|
278
|
+
const cs = leak.value.counters;
|
|
279
|
+
if (Array.isArray(cs) && cs.length > 0)
|
|
280
|
+
result.leakDetectors = cs.slice(0, 50);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
skipped.push('getDOMCountersForLeakDetection');
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
// Memory domain unresponsive - fall back to Performance metrics counters
|
|
288
|
+
skipped.push('Memory.getDOMCounters (unsupported or unresponsive)');
|
|
289
|
+
try {
|
|
290
|
+
await ctx.sendCommand('Performance.enable', {}, sess);
|
|
291
|
+
}
|
|
292
|
+
catch { /* best-effort — getMetrics may still work */ }
|
|
293
|
+
try {
|
|
294
|
+
const perf = (await ctx.sendCommand('Performance.getMetrics', {}, sess));
|
|
295
|
+
const m = (perf.metrics ?? []);
|
|
296
|
+
const pick = (n) => m.find(x => x.name === n)?.value ?? null;
|
|
297
|
+
counters = {
|
|
298
|
+
documents: pick('Documents'),
|
|
299
|
+
nodes: pick('Nodes'),
|
|
300
|
+
jsEventListeners: pick('JSEventListeners'),
|
|
301
|
+
};
|
|
302
|
+
result.source = 'Performance.getMetrics (Memory domain unresponsive - no GC sweep)';
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
counters = null;
|
|
306
|
+
skipped.push('Performance.getMetrics fallback');
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (counters)
|
|
310
|
+
result.counters = counters;
|
|
311
|
+
if (skipped.length > 0)
|
|
312
|
+
result.skipped = skipped;
|
|
313
|
+
if (!counters) {
|
|
314
|
+
return fail(`Memory counters unavailable on this browser (Memory and Performance domains both unresponsive). Tried: ${skipped.join('; ')}`);
|
|
315
|
+
}
|
|
316
|
+
return ok(result);
|
|
317
|
+
}
|
|
318
|
+
catch (err) {
|
|
319
|
+
if (isMethodMissingError(err)) {
|
|
320
|
+
return fail('Memory domain is not supported on this browser. DOM/memory counters require a Chromium-based browser with the Memory CDP domain.');
|
|
321
|
+
}
|
|
322
|
+
throw err;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
155
325
|
async function handleDownloads(ctx, params) {
|
|
156
326
|
const sess = params._sessionId;
|
|
157
327
|
await ctx.sendCommand('Page.enable', {}, sess);
|
|
158
328
|
// Downloads are tracked in a per-session list by the runtime layer.
|
|
159
|
-
|
|
329
|
+
const dlStore = ctx.downloads.get(sess) ?? [];
|
|
330
|
+
let dl = [...dlStore];
|
|
160
331
|
const last = params.last;
|
|
161
332
|
if (last)
|
|
162
333
|
dl = dl.slice(-last);
|
|
163
|
-
|
|
334
|
+
if (params.clear)
|
|
335
|
+
ctx.downloads.delete(sess);
|
|
164
336
|
if (!dl.length)
|
|
165
337
|
return ok('No downloads tracked yet. Downloads are captured automatically when they occur.');
|
|
166
338
|
const lines = dl.map(d => {
|
|
@@ -231,6 +403,7 @@ export function registerObserveTools(registry, _ctx) {
|
|
|
231
403
|
'- network: List captured network requests with URLs, methods, status codes, and timing (requires: tabId; optional: filter — URL substring, types — resource type filter array, last, clear)',
|
|
232
404
|
'- request: Get the full request and response body for a specific network request (requires: tabId; provide either requestId — from network listing — or urlFilter — substring of the URL; urlFilter resolves to the most recent matching request)',
|
|
233
405
|
'- performance: Collect page performance metrics including DOM size, JS heap, layout counts, and paint timing (requires: tabId)',
|
|
406
|
+
'- memory: DOM/JS memory counters (documents, nodes, JS event listeners) before/after a forced GC sweep via Memory.prepareForLeakDetection, plus leak-detection counters when supported (requires: tabId)',
|
|
234
407
|
'- downloads: List tracked file downloads with progress info (requires: tabId; optional: last, clear)',
|
|
235
408
|
'- har: Export captured network requests as HAR 1.2 JSON (requires: tabId)',
|
|
236
409
|
'',
|
|
@@ -244,7 +417,7 @@ export function registerObserveTools(registry, _ctx) {
|
|
|
244
417
|
inputSchema: {
|
|
245
418
|
type: 'object',
|
|
246
419
|
properties: {
|
|
247
|
-
action: { type: 'string', enum: ['console', 'network', 'request', 'performance', 'downloads', 'har'], description: 'Observe action.' },
|
|
420
|
+
action: { type: 'string', enum: ['console', 'network', 'request', 'performance', 'memory', 'downloads', 'har'], description: 'Observe action.' },
|
|
248
421
|
tabId: { type: 'string', description: 'Tab ID.' },
|
|
249
422
|
level: { type: 'string', enum: ['all', 'error', 'warning', 'log', 'info', 'debug'], description: 'Console level filter.' },
|
|
250
423
|
filter: { type: 'string', description: 'Network URL filter.' },
|
|
@@ -266,9 +439,10 @@ export function registerObserveTools(registry, _ctx) {
|
|
|
266
439
|
case 'network': return handleNetwork(ctx, params);
|
|
267
440
|
case 'request': return handleRequest(ctx, params);
|
|
268
441
|
case 'performance': return handlePerformance(ctx, params);
|
|
442
|
+
case 'memory': return handleMemory(ctx, params);
|
|
269
443
|
case 'downloads': return handleDownloads(ctx, params);
|
|
270
444
|
case 'har': return handleHar(ctx, params);
|
|
271
|
-
default: return fail(`Unknown observe action: "${action}". Use: console, network, request, performance, downloads, har`);
|
|
445
|
+
default: return fail(`Unknown observe action: "${action}". Use: console, network, request, performance, memory, downloads, har`);
|
|
272
446
|
}
|
|
273
447
|
},
|
|
274
448
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/tools/observe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/tools/observe.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/page.d.ts
CHANGED
|
@@ -5,11 +5,62 @@
|
|
|
5
5
|
* operations: navigation, snapshots, screenshots, content extraction,
|
|
6
6
|
* wait conditions, PDF export, dialogs, script/CSS injection, and CSP bypass.
|
|
7
7
|
*/
|
|
8
|
-
import type { ServerContext } from '../types.js';
|
|
8
|
+
import type { ToolResult, ServerContext } from '../types.js';
|
|
9
9
|
import type { ToolRegistry } from './registry.js';
|
|
10
|
+
import type { WaitUntil, SelectorState } from '../utils/wait.js';
|
|
11
|
+
interface PageArgs {
|
|
12
|
+
action: string;
|
|
13
|
+
tabId: string;
|
|
14
|
+
url?: string;
|
|
15
|
+
waitUntil?: WaitUntil;
|
|
16
|
+
ignoreCache?: boolean;
|
|
17
|
+
fullPage?: boolean;
|
|
18
|
+
quality?: number;
|
|
19
|
+
type?: 'png' | 'jpeg';
|
|
20
|
+
path?: string;
|
|
21
|
+
uid?: number;
|
|
22
|
+
selector?: string;
|
|
23
|
+
format?: 'text' | 'html' | 'full' | 'annotated';
|
|
24
|
+
text?: string;
|
|
25
|
+
textGone?: string;
|
|
26
|
+
timeout?: number;
|
|
27
|
+
state?: SelectorState;
|
|
28
|
+
accept?: boolean;
|
|
29
|
+
caseSensitive?: boolean;
|
|
30
|
+
landscape?: boolean;
|
|
31
|
+
scale?: number;
|
|
32
|
+
paperWidth?: number;
|
|
33
|
+
paperHeight?: number;
|
|
34
|
+
margin?: {
|
|
35
|
+
top?: number;
|
|
36
|
+
bottom?: number;
|
|
37
|
+
left?: number;
|
|
38
|
+
right?: number;
|
|
39
|
+
};
|
|
40
|
+
interactive?: boolean;
|
|
41
|
+
search?: string;
|
|
42
|
+
maxLength?: number;
|
|
43
|
+
html?: string;
|
|
44
|
+
css?: string;
|
|
45
|
+
cssUrl?: string;
|
|
46
|
+
persistent?: boolean;
|
|
47
|
+
script?: string;
|
|
48
|
+
audio?: boolean;
|
|
49
|
+
enabled?: boolean;
|
|
50
|
+
diff?: boolean;
|
|
51
|
+
sessionId?: string;
|
|
52
|
+
cleanupStrategy?: string;
|
|
53
|
+
exclusive?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function handleFind(ctx: ServerContext, args: PageArgs): Promise<ToolResult>;
|
|
56
|
+
export declare function handleFindNext(ctx: ServerContext, args: PageArgs): Promise<ToolResult>;
|
|
57
|
+
export declare function handleFindStop(ctx: ServerContext, args: PageArgs): Promise<ToolResult>;
|
|
58
|
+
export declare function handleRecordStart(ctx: ServerContext, args: PageArgs): Promise<ToolResult>;
|
|
59
|
+
export declare function handleRecordStop(ctx: ServerContext, args: PageArgs): Promise<ToolResult>;
|
|
10
60
|
/**
|
|
11
61
|
* Register the "page" tool with the given registry.
|
|
12
62
|
*
|
|
13
63
|
* The tool dispatches to the appropriate action handler based on `args.action`.
|
|
14
64
|
*/
|
|
15
65
|
export declare function registerPageTools(registry: ToolRegistry, _ctx: ServerContext): void;
|
|
66
|
+
export {};
|