openchrome-mcp 1.2.1 → 1.2.3
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 +11 -4
- package/dist/cdp/client.d.ts +2 -2
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +3 -2
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/connection-pool.d.ts +2 -2
- package/dist/cdp/connection-pool.d.ts.map +1 -1
- package/dist/cdp/connection-pool.js +2 -1
- package/dist/cdp/connection-pool.js.map +1 -1
- package/dist/cdp/screenshot-scheduler.d.ts.map +1 -1
- package/dist/cdp/screenshot-scheduler.js +2 -1
- package/dist/cdp/screenshot-scheduler.js.map +1 -1
- package/dist/chrome/launcher.d.ts +14 -0
- package/dist/chrome/launcher.d.ts.map +1 -1
- package/dist/chrome/launcher.js +112 -1
- package/dist/chrome/launcher.js.map +1 -1
- package/dist/config/defaults.d.ts +20 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +20 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/dom/dom-serializer.d.ts.map +1 -1
- package/dist/dom/dom-serializer.js +10 -5
- package/dist/dom/dom-serializer.js.map +1 -1
- package/dist/hints/hint-engine.d.ts +1 -0
- package/dist/hints/hint-engine.d.ts.map +1 -1
- package/dist/hints/hint-engine.js +30 -6
- package/dist/hints/hint-engine.js.map +1 -1
- package/dist/hints/rules/composite-suggestions.d.ts.map +1 -1
- package/dist/hints/rules/composite-suggestions.js +37 -0
- package/dist/hints/rules/composite-suggestions.js.map +1 -1
- package/dist/hints/rules/error-recovery.js +2 -2
- package/dist/hints/rules/error-recovery.js.map +1 -1
- package/dist/hints/rules/pagination-detection.d.ts +7 -0
- package/dist/hints/rules/pagination-detection.d.ts.map +1 -0
- package/dist/hints/rules/pagination-detection.js +220 -0
- package/dist/hints/rules/pagination-detection.js.map +1 -0
- package/dist/hints/rules/repetition-detection.d.ts.map +1 -1
- package/dist/hints/rules/repetition-detection.js +131 -0
- package/dist/hints/rules/repetition-detection.js.map +1 -1
- package/dist/hints/rules/sequence-detection.d.ts.map +1 -1
- package/dist/hints/rules/sequence-detection.js +23 -2
- package/dist/hints/rules/sequence-detection.js.map +1 -1
- package/dist/hints/rules/success-hints.d.ts.map +1 -1
- package/dist/hints/rules/success-hints.js +5 -1
- package/dist/hints/rules/success-hints.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +15 -16
- package/dist/mcp-server.js.map +1 -1
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +2 -1
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/batch-execute.d.ts.map +1 -1
- package/dist/tools/batch-execute.js +0 -2
- package/dist/tools/batch-execute.js.map +1 -1
- package/dist/tools/batch-paginate.d.ts +10 -0
- package/dist/tools/batch-paginate.d.ts.map +1 -0
- package/dist/tools/batch-paginate.js +419 -0
- package/dist/tools/batch-paginate.js.map +1 -0
- package/dist/tools/click-element.d.ts.map +1 -1
- package/dist/tools/click-element.js +16 -21
- package/dist/tools/click-element.js.map +1 -1
- package/dist/tools/computer.d.ts.map +1 -1
- package/dist/tools/computer.js +197 -64
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/console-capture.d.ts.map +1 -1
- package/dist/tools/console-capture.js +1 -6
- package/dist/tools/console-capture.js.map +1 -1
- package/dist/tools/cookies.d.ts.map +1 -1
- package/dist/tools/cookies.js +1 -6
- package/dist/tools/cookies.js.map +1 -1
- package/dist/tools/emulate-device.d.ts.map +1 -1
- package/dist/tools/emulate-device.js +1 -3
- package/dist/tools/emulate-device.js.map +1 -1
- package/dist/tools/fill-form.d.ts.map +1 -1
- package/dist/tools/fill-form.js +129 -134
- package/dist/tools/fill-form.js.map +1 -1
- package/dist/tools/form-input.d.ts.map +1 -1
- package/dist/tools/form-input.js +47 -46
- package/dist/tools/form-input.js.map +1 -1
- package/dist/tools/geolocation.d.ts.map +1 -1
- package/dist/tools/geolocation.js +1 -3
- package/dist/tools/geolocation.js.map +1 -1
- package/dist/tools/http-auth.d.ts.map +1 -1
- package/dist/tools/http-auth.js +1 -5
- package/dist/tools/http-auth.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/javascript.d.ts.map +1 -1
- package/dist/tools/javascript.js +2 -7
- package/dist/tools/javascript.js.map +1 -1
- package/dist/tools/lightweight-scroll.d.ts.map +1 -1
- package/dist/tools/lightweight-scroll.js +1 -5
- package/dist/tools/lightweight-scroll.js.map +1 -1
- package/dist/tools/navigate.d.ts.map +1 -1
- package/dist/tools/navigate.js +5 -7
- package/dist/tools/navigate.js.map +1 -1
- package/dist/tools/network.d.ts.map +1 -1
- package/dist/tools/network.js +1 -4
- package/dist/tools/network.js.map +1 -1
- package/dist/tools/page-reload.d.ts.map +1 -1
- package/dist/tools/page-reload.js +3 -2
- package/dist/tools/page-reload.js.map +1 -1
- package/dist/tools/read-page.d.ts.map +1 -1
- package/dist/tools/read-page.js +203 -12
- package/dist/tools/read-page.js.map +1 -1
- package/dist/tools/request-intercept.d.ts.map +1 -1
- package/dist/tools/request-intercept.js +1 -11
- package/dist/tools/request-intercept.js.map +1 -1
- package/dist/tools/storage.d.ts.map +1 -1
- package/dist/tools/storage.js +1 -7
- package/dist/tools/storage.js.map +1 -1
- package/dist/tools/tabs-close.js +1 -1
- package/dist/tools/tabs-close.js.map +1 -1
- package/dist/tools/tabs-create.js +1 -1
- package/dist/tools/tabs-create.js.map +1 -1
- package/dist/tools/user-agent.d.ts.map +1 -1
- package/dist/tools/user-agent.js +1 -3
- package/dist/tools/user-agent.js.map +1 -1
- package/dist/tools/wait-and-click.d.ts.map +1 -1
- package/dist/tools/wait-and-click.js +5 -10
- package/dist/tools/wait-and-click.js.map +1 -1
- package/dist/tools/wait-for.d.ts.map +1 -1
- package/dist/tools/wait-for.js +1 -7
- package/dist/tools/wait-for.js.map +1 -1
- package/dist/tools/xpath-query.d.ts.map +1 -1
- package/dist/tools/xpath-query.js +1 -6
- package/dist/tools/xpath-query.js.map +1 -1
- package/dist/utils/dom-delta.d.ts +29 -0
- package/dist/utils/dom-delta.d.ts.map +1 -0
- package/dist/utils/dom-delta.js +262 -0
- package/dist/utils/dom-delta.js.map +1 -0
- package/dist/utils/pagination-detector.d.ts +22 -0
- package/dist/utils/pagination-detector.d.ts.map +1 -0
- package/dist/utils/pagination-detector.js +292 -0
- package/dist/utils/pagination-detector.js.map +1 -0
- package/dist/utils/smart-goto.d.ts.map +1 -1
- package/dist/utils/smart-goto.js +2 -1
- package/dist/utils/smart-goto.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-execute.js","sourceRoot":"","sources":["../../src/tools/batch-execute.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"batch-execute.js","sourceRoot":"","sources":["../../src/tools/batch-execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch Paginate Tool - Capture multiple pages from a paginated viewer in a single MCP call
|
|
3
|
+
*
|
|
4
|
+
* Eliminates N LLM round-trips by executing the pagination loop server-side.
|
|
5
|
+
* Supports keyboard navigation, click-based pagination, URL-based parallel extraction,
|
|
6
|
+
* and infinite scroll.
|
|
7
|
+
*/
|
|
8
|
+
import { MCPServer } from '../mcp-server';
|
|
9
|
+
export declare function registerBatchPaginateTool(server: MCPServer): void;
|
|
10
|
+
//# sourceMappingURL=batch-paginate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-paginate.d.ts","sourceRoot":"","sources":["../../src/tools/batch-paginate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAke1C,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEjE"}
|
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Batch Paginate Tool - Capture multiple pages from a paginated viewer in a single MCP call
|
|
4
|
+
*
|
|
5
|
+
* Eliminates N LLM round-trips by executing the pagination loop server-side.
|
|
6
|
+
* Supports keyboard navigation, click-based pagination, URL-based parallel extraction,
|
|
7
|
+
* and infinite scroll.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.registerBatchPaginateTool = registerBatchPaginateTool;
|
|
11
|
+
const session_manager_1 = require("../session-manager");
|
|
12
|
+
const defaults_1 = require("../config/defaults");
|
|
13
|
+
const definition = {
|
|
14
|
+
name: 'batch_paginate',
|
|
15
|
+
description: 'Extract content from multiple pages of a paginated viewer (PDF, slides, articles) in a single call. ' +
|
|
16
|
+
'Supports keyboard navigation, click-based pagination, URL-based parallel extraction, and infinite scroll.',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
tabId: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Tab ID of the paginated viewer',
|
|
23
|
+
},
|
|
24
|
+
strategy: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
enum: ['keyboard', 'click', 'url', 'scroll'],
|
|
27
|
+
description: 'Pagination strategy: "keyboard" (ArrowRight/ArrowDown), "click" (CSS selector), "url" (parallel multi-tab), "scroll" (infinite scroll)',
|
|
28
|
+
},
|
|
29
|
+
totalPages: {
|
|
30
|
+
type: 'number',
|
|
31
|
+
description: 'Total number of pages to capture. Required for keyboard/click strategies.',
|
|
32
|
+
},
|
|
33
|
+
startPage: {
|
|
34
|
+
type: 'number',
|
|
35
|
+
description: 'Starting page number (default: 1). Useful when resuming from a specific page.',
|
|
36
|
+
},
|
|
37
|
+
captureMode: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
enum: ['screenshot', 'text', 'dom', 'both'],
|
|
40
|
+
description: 'What to capture per page: "screenshot" (base64 image), "text" (accessibility text), "dom" (compact DOM), "both" (screenshot + text). Default: "text".',
|
|
41
|
+
},
|
|
42
|
+
keyAction: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: '(keyboard strategy) Key to press for next page. Default: "ArrowRight".',
|
|
45
|
+
},
|
|
46
|
+
nextSelector: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: '(click strategy) CSS selector for the "next page" button.',
|
|
49
|
+
},
|
|
50
|
+
urlTemplate: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: '(url strategy) URL template with {N}, {page}, or {offset} placeholder for page number, e.g. "https://example.com/page/{N}".',
|
|
53
|
+
},
|
|
54
|
+
waitBetweenPages: {
|
|
55
|
+
type: 'number',
|
|
56
|
+
description: 'Milliseconds to wait between page transitions for rendering. Default: 500.',
|
|
57
|
+
},
|
|
58
|
+
scrollAmount: {
|
|
59
|
+
type: 'number',
|
|
60
|
+
description: '(scroll strategy) Viewport heights to scroll per step. Default: 1.',
|
|
61
|
+
},
|
|
62
|
+
maxScrolls: {
|
|
63
|
+
type: 'number',
|
|
64
|
+
description: '(scroll strategy) Maximum number of scroll steps. Default: 50.',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
required: ['tabId', 'strategy'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Simple concurrency limiter
|
|
72
|
+
*/
|
|
73
|
+
function createLimiter(concurrency) {
|
|
74
|
+
let active = 0;
|
|
75
|
+
const queue = [];
|
|
76
|
+
return async function (fn) {
|
|
77
|
+
if (active >= concurrency) {
|
|
78
|
+
await new Promise((resolve) => queue.push(resolve));
|
|
79
|
+
}
|
|
80
|
+
active++;
|
|
81
|
+
try {
|
|
82
|
+
return await fn();
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
active--;
|
|
86
|
+
if (queue.length > 0) {
|
|
87
|
+
const next = queue.shift();
|
|
88
|
+
next();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const handler = async (sessionId, args) => {
|
|
94
|
+
const tabId = args.tabId;
|
|
95
|
+
const strategy = args.strategy;
|
|
96
|
+
const totalPages = args.totalPages;
|
|
97
|
+
const startPage = args.startPage || 1;
|
|
98
|
+
const captureMode = args.captureMode || 'text';
|
|
99
|
+
const keyAction = args.keyAction || 'ArrowRight';
|
|
100
|
+
const nextSelector = args.nextSelector;
|
|
101
|
+
const urlTemplate = args.urlTemplate;
|
|
102
|
+
const waitBetweenPages = args.waitBetweenPages ?? 500;
|
|
103
|
+
const scrollAmount = args.scrollAmount || 1;
|
|
104
|
+
const maxScrolls = args.maxScrolls || 50;
|
|
105
|
+
if (!tabId) {
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: 'text', text: 'Error: tabId is required' }],
|
|
108
|
+
isError: true,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (!strategy) {
|
|
112
|
+
return {
|
|
113
|
+
content: [{ type: 'text', text: 'Error: strategy is required' }],
|
|
114
|
+
isError: true,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
// Validate strategy-specific params
|
|
118
|
+
if ((strategy === 'keyboard' || strategy === 'click') && !totalPages) {
|
|
119
|
+
return {
|
|
120
|
+
content: [
|
|
121
|
+
{
|
|
122
|
+
type: 'text',
|
|
123
|
+
text: `Error: totalPages is required for strategy "${strategy}"`,
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
isError: true,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
if (strategy === 'click' && !nextSelector) {
|
|
130
|
+
return {
|
|
131
|
+
content: [{ type: 'text', text: 'Error: nextSelector is required for strategy "click"' }],
|
|
132
|
+
isError: true,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
if (strategy === 'url' && !urlTemplate) {
|
|
136
|
+
return {
|
|
137
|
+
content: [{ type: 'text', text: 'Error: urlTemplate is required for strategy "url"' }],
|
|
138
|
+
isError: true,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
if (strategy === 'url' && !totalPages) {
|
|
142
|
+
return {
|
|
143
|
+
content: [{ type: 'text', text: 'Error: totalPages is required for strategy "url"' }],
|
|
144
|
+
isError: true,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const sessionManager = (0, session_manager_1.getSessionManager)();
|
|
148
|
+
const startTime = Date.now();
|
|
149
|
+
const pages = [];
|
|
150
|
+
/**
|
|
151
|
+
* Capture content from the current page state
|
|
152
|
+
*/
|
|
153
|
+
async function capturePageContent(page, pageNumber) {
|
|
154
|
+
const result = { pageNumber };
|
|
155
|
+
try {
|
|
156
|
+
if (captureMode === 'screenshot' || captureMode === 'both') {
|
|
157
|
+
try {
|
|
158
|
+
const cdpSession = await page.target().createCDPSession();
|
|
159
|
+
try {
|
|
160
|
+
const { data } = await cdpSession.send('Page.captureScreenshot', {
|
|
161
|
+
format: 'webp',
|
|
162
|
+
quality: defaults_1.DEFAULT_SCREENSHOT_QUALITY,
|
|
163
|
+
optimizeForSpeed: true,
|
|
164
|
+
});
|
|
165
|
+
result.screenshot = data;
|
|
166
|
+
result.screenshotMimeType = 'image/webp';
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
await cdpSession.detach().catch(() => { });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
// Fallback to Puppeteer PNG
|
|
174
|
+
const screenshotData = await page.screenshot({ encoding: 'base64', type: 'png' });
|
|
175
|
+
result.screenshot = screenshotData;
|
|
176
|
+
result.screenshotMimeType = 'image/png';
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (captureMode === 'text' || captureMode === 'both') {
|
|
180
|
+
result.text = await page.evaluate(() => document.body.innerText);
|
|
181
|
+
}
|
|
182
|
+
if (captureMode === 'dom') {
|
|
183
|
+
const rawHtml = await page.evaluate(() => document.body.innerHTML);
|
|
184
|
+
// Trim to avoid huge payloads
|
|
185
|
+
result.dom = rawHtml.length > defaults_1.MAX_OUTPUT_CHARS ? rawHtml.slice(0, defaults_1.MAX_OUTPUT_CHARS) + '...[truncated]' : rawHtml;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
result.error = err instanceof Error ? err.message : String(err);
|
|
190
|
+
}
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
try {
|
|
194
|
+
// ----------------------------------------------------------------
|
|
195
|
+
// KEYBOARD STRATEGY
|
|
196
|
+
// ----------------------------------------------------------------
|
|
197
|
+
if (strategy === 'keyboard') {
|
|
198
|
+
const page = await sessionManager.getPage(sessionId, tabId, undefined, 'batch_paginate');
|
|
199
|
+
if (!page) {
|
|
200
|
+
return {
|
|
201
|
+
content: [{ type: 'text', text: `Error: Tab ${tabId} not found` }],
|
|
202
|
+
isError: true,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
let failureCount = 0;
|
|
206
|
+
for (let i = startPage; i <= totalPages; i++) {
|
|
207
|
+
const pageResult = await capturePageContent(page, i);
|
|
208
|
+
pages.push(pageResult);
|
|
209
|
+
if (pageResult.error) {
|
|
210
|
+
failureCount++;
|
|
211
|
+
if (failureCount >= (totalPages - startPage + 1) * 0.5) {
|
|
212
|
+
// More than 50% failing, abort early
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// Navigate to next page (don't press on last page)
|
|
217
|
+
if (i < totalPages) {
|
|
218
|
+
await page.keyboard.press(keyAction);
|
|
219
|
+
await new Promise((r) => setTimeout(r, waitBetweenPages));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// ----------------------------------------------------------------
|
|
224
|
+
// CLICK STRATEGY
|
|
225
|
+
// ----------------------------------------------------------------
|
|
226
|
+
else if (strategy === 'click') {
|
|
227
|
+
const page = await sessionManager.getPage(sessionId, tabId, undefined, 'batch_paginate');
|
|
228
|
+
if (!page) {
|
|
229
|
+
return {
|
|
230
|
+
content: [{ type: 'text', text: `Error: Tab ${tabId} not found` }],
|
|
231
|
+
isError: true,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
let failureCount = 0;
|
|
235
|
+
for (let i = startPage; i <= totalPages; i++) {
|
|
236
|
+
const pageResult = await capturePageContent(page, i);
|
|
237
|
+
pages.push(pageResult);
|
|
238
|
+
if (pageResult.error) {
|
|
239
|
+
failureCount++;
|
|
240
|
+
if (failureCount >= (totalPages - startPage + 1) * 0.5) {
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Click next button (don't click on last page)
|
|
245
|
+
if (i < totalPages) {
|
|
246
|
+
try {
|
|
247
|
+
const nextButton = await page.$(nextSelector);
|
|
248
|
+
if (!nextButton) {
|
|
249
|
+
pages.push({
|
|
250
|
+
pageNumber: i + 1,
|
|
251
|
+
error: `Next button selector "${nextSelector}" not found on page ${i}`,
|
|
252
|
+
});
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
await nextButton.click();
|
|
256
|
+
await new Promise((r) => setTimeout(r, waitBetweenPages));
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
pages.push({
|
|
260
|
+
pageNumber: i + 1,
|
|
261
|
+
error: `Failed to click next button: ${err instanceof Error ? err.message : String(err)}`,
|
|
262
|
+
});
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
// ----------------------------------------------------------------
|
|
269
|
+
// SCROLL STRATEGY (infinite scroll)
|
|
270
|
+
// ----------------------------------------------------------------
|
|
271
|
+
else if (strategy === 'scroll') {
|
|
272
|
+
const page = await sessionManager.getPage(sessionId, tabId, undefined, 'batch_paginate');
|
|
273
|
+
if (!page) {
|
|
274
|
+
return {
|
|
275
|
+
content: [{ type: 'text', text: `Error: Tab ${tabId} not found` }],
|
|
276
|
+
isError: true,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
let lastScrollHeight = await page.evaluate(() => document.documentElement.scrollHeight);
|
|
280
|
+
let stepNumber = 1;
|
|
281
|
+
// Capture initial view
|
|
282
|
+
const initialResult = await capturePageContent(page, stepNumber);
|
|
283
|
+
pages.push(initialResult);
|
|
284
|
+
for (let step = 1; step <= maxScrolls; step++) {
|
|
285
|
+
// Scroll and measure in a single CDP round-trip
|
|
286
|
+
const { newScrollHeight, atBottom } = await page.evaluate((amount) => {
|
|
287
|
+
window.scrollBy(0, window.innerHeight * amount);
|
|
288
|
+
const scrollHeight = document.documentElement.scrollHeight;
|
|
289
|
+
const scrollTop = window.scrollY;
|
|
290
|
+
const viewportHeight = window.innerHeight;
|
|
291
|
+
return {
|
|
292
|
+
newScrollHeight: scrollHeight,
|
|
293
|
+
atBottom: scrollTop + viewportHeight >= scrollHeight - 10,
|
|
294
|
+
};
|
|
295
|
+
}, scrollAmount);
|
|
296
|
+
await new Promise((r) => setTimeout(r, waitBetweenPages));
|
|
297
|
+
stepNumber++;
|
|
298
|
+
const stepResult = await capturePageContent(page, stepNumber);
|
|
299
|
+
pages.push(stepResult);
|
|
300
|
+
// Stop if reached bottom and height didn't change
|
|
301
|
+
if (atBottom && newScrollHeight === lastScrollHeight) {
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
lastScrollHeight = newScrollHeight;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// ----------------------------------------------------------------
|
|
308
|
+
// URL STRATEGY (parallel multi-tab)
|
|
309
|
+
// ----------------------------------------------------------------
|
|
310
|
+
else if (strategy === 'url') {
|
|
311
|
+
const limiter = createLimiter(5); // max 5 parallel tabs
|
|
312
|
+
const pageNumbers = Array.from({ length: totalPages - startPage + 1 }, (_, i) => startPage + i);
|
|
313
|
+
const urlResults = await Promise.all(pageNumbers.map((pageNum) => limiter(async () => {
|
|
314
|
+
const url = urlTemplate.replace(/\{N\}|\{page\}|\{offset\}/g, String(pageNum));
|
|
315
|
+
let newTabId = null;
|
|
316
|
+
try {
|
|
317
|
+
// Create a new tab for this page
|
|
318
|
+
const { targetId, page: newPage } = await sessionManager.createTarget(sessionId, url);
|
|
319
|
+
newTabId = targetId;
|
|
320
|
+
// Wait for page to settle
|
|
321
|
+
await new Promise((r) => setTimeout(r, waitBetweenPages));
|
|
322
|
+
const result = await capturePageContent(newPage, pageNum);
|
|
323
|
+
// Close the tab
|
|
324
|
+
await sessionManager.closeTarget(sessionId, targetId);
|
|
325
|
+
return result;
|
|
326
|
+
}
|
|
327
|
+
catch (err) {
|
|
328
|
+
// Attempt cleanup if tab was created
|
|
329
|
+
if (newTabId) {
|
|
330
|
+
try {
|
|
331
|
+
await sessionManager.closeTarget(sessionId, newTabId);
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
// ignore cleanup errors
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
pageNumber: pageNum,
|
|
339
|
+
error: err instanceof Error ? err.message : String(err),
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
})));
|
|
343
|
+
// Sort by page number (parallel execution may deliver out-of-order)
|
|
344
|
+
urlResults.sort((a, b) => a.pageNumber - b.pageNumber);
|
|
345
|
+
pages.push(...urlResults);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
return {
|
|
349
|
+
content: [
|
|
350
|
+
{
|
|
351
|
+
type: 'text',
|
|
352
|
+
text: `Error: Unknown strategy "${strategy}". Must be one of: keyboard, click, url, scroll`,
|
|
353
|
+
},
|
|
354
|
+
],
|
|
355
|
+
isError: true,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
const durationMs = Date.now() - startTime;
|
|
359
|
+
const capturedCount = pages.filter((p) => !p.error).length;
|
|
360
|
+
const failedCount = pages.filter((p) => p.error).length;
|
|
361
|
+
const estimatedSequentialMs = capturedCount * 5000; // rough 5s per round-trip estimate
|
|
362
|
+
const savedMs = Math.max(0, estimatedSequentialMs - durationMs);
|
|
363
|
+
// Build summary text
|
|
364
|
+
const summaryText = capturedCount > 0
|
|
365
|
+
? `Captured ${capturedCount} pages in ${(durationMs / 1000).toFixed(1)}s` +
|
|
366
|
+
(savedMs > 1000
|
|
367
|
+
? ` (vs ~${(estimatedSequentialMs / 1000).toFixed(0)}s sequential — saved ~${(savedMs / 1000).toFixed(0)}s)`
|
|
368
|
+
: '')
|
|
369
|
+
: `No pages captured`;
|
|
370
|
+
// For large screenshot sets, omit the actual data and note it's available
|
|
371
|
+
const tooManyScreenshots = (captureMode === 'screenshot' || captureMode === 'both') && capturedCount > 10;
|
|
372
|
+
const pagesForOutput = tooManyScreenshots
|
|
373
|
+
? pages.map((p) => ({
|
|
374
|
+
...p,
|
|
375
|
+
screenshot: p.screenshot ? '[screenshot omitted — >10 pages]' : undefined,
|
|
376
|
+
}))
|
|
377
|
+
: pages;
|
|
378
|
+
const output = {
|
|
379
|
+
totalCaptured: capturedCount,
|
|
380
|
+
totalFailed: failedCount,
|
|
381
|
+
strategy,
|
|
382
|
+
captureMode,
|
|
383
|
+
durationMs,
|
|
384
|
+
summary: summaryText,
|
|
385
|
+
pages: pagesForOutput,
|
|
386
|
+
};
|
|
387
|
+
const content = [
|
|
388
|
+
{ type: 'text', text: JSON.stringify(output, null, 2) },
|
|
389
|
+
];
|
|
390
|
+
// Include screenshots inline only when count is manageable
|
|
391
|
+
if ((captureMode === 'screenshot' || captureMode === 'both') && !tooManyScreenshots) {
|
|
392
|
+
for (const p of pages) {
|
|
393
|
+
if (p.screenshot) {
|
|
394
|
+
content.push({
|
|
395
|
+
type: 'image',
|
|
396
|
+
data: p.screenshot,
|
|
397
|
+
mimeType: p.screenshotMimeType ?? 'image/webp',
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return { content };
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
return {
|
|
406
|
+
content: [
|
|
407
|
+
{
|
|
408
|
+
type: 'text',
|
|
409
|
+
text: `batch_paginate error: ${error instanceof Error ? error.message : String(error)}`,
|
|
410
|
+
},
|
|
411
|
+
],
|
|
412
|
+
isError: true,
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
};
|
|
416
|
+
function registerBatchPaginateTool(server) {
|
|
417
|
+
server.registerTool('batch_paginate', handler, definition);
|
|
418
|
+
}
|
|
419
|
+
//# sourceMappingURL=batch-paginate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-paginate.js","sourceRoot":"","sources":["../../src/tools/batch-paginate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"click-element.d.ts","sourceRoot":"","sources":["../../src/tools/click-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"click-element.d.ts","sourceRoot":"","sources":["../../src/tools/click-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAsgB1C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEhE"}
|
|
@@ -8,16 +8,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.registerClickElementTool = registerClickElementTool;
|
|
9
9
|
const session_manager_1 = require("../session-manager");
|
|
10
10
|
const ref_id_manager_1 = require("../utils/ref-id-manager");
|
|
11
|
+
const defaults_1 = require("../config/defaults");
|
|
12
|
+
const dom_delta_1 = require("../utils/dom-delta");
|
|
11
13
|
const definition = {
|
|
12
14
|
name: 'click_element',
|
|
13
|
-
description:
|
|
14
|
-
This is more efficient than calling find + computer(click) separately.
|
|
15
|
-
Returns the clicked element's info and optionally a verification screenshot.
|
|
16
|
-
|
|
17
|
-
Examples:
|
|
18
|
-
- click_element(query: "Login button")
|
|
19
|
-
- click_element(query: "Submit", wait_after: 1000)
|
|
20
|
-
- click_element(query: "Admin radio button", verify: true)`,
|
|
15
|
+
description: 'Find an element by natural language query and click it in one operation. Returns the clicked element info and optionally a verification screenshot.',
|
|
21
16
|
inputSchema: {
|
|
22
17
|
type: 'object',
|
|
23
18
|
properties: {
|
|
@@ -379,29 +374,29 @@ const handler = async (sessionId, args) => {
|
|
|
379
374
|
}
|
|
380
375
|
const finalX = Math.round(bestMatch.rect.x);
|
|
381
376
|
const finalY = Math.round(bestMatch.rect.y);
|
|
382
|
-
// Perform the click
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
377
|
+
// Perform the click with DOM delta capture (settleMs includes waitAfter)
|
|
378
|
+
const { delta } = await (0, dom_delta_1.withDomDelta)(page, async () => {
|
|
379
|
+
if (doubleClick) {
|
|
380
|
+
await page.mouse.click(finalX, finalY, { clickCount: 2 });
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
await page.mouse.click(finalX, finalY);
|
|
384
|
+
}
|
|
385
|
+
}, { settleMs: Math.max(150, waitAfter) });
|
|
391
386
|
// Generate ref for the clicked element
|
|
392
387
|
let refId = '';
|
|
393
388
|
if (bestMatch.backendDOMNodeId) {
|
|
394
389
|
refId = refIdManager.generateRef(sessionId, tabId, bestMatch.backendDOMNodeId, bestMatch.role, bestMatch.name);
|
|
395
390
|
}
|
|
396
391
|
const clickType = doubleClick ? 'Double-clicked' : 'Clicked';
|
|
397
|
-
const resultText = `${clickType} ${bestMatch.role} "${bestMatch.name.slice(0, 50)}" at (${finalX}, ${finalY})${refId ? ` [${refId}]` : ''}`;
|
|
392
|
+
const resultText = `${clickType} ${bestMatch.role} "${bestMatch.name.slice(0, 50)}" at (${finalX}, ${finalY})${refId ? ` [${refId}]` : ''}${delta}`;
|
|
398
393
|
// Optional verification screenshot — WebP via CDP for speed and consistency
|
|
399
394
|
if (verify) {
|
|
400
395
|
try {
|
|
401
396
|
const cdpSession = await page.target().createCDPSession();
|
|
402
397
|
const { data } = await cdpSession.send('Page.captureScreenshot', {
|
|
403
398
|
format: 'webp',
|
|
404
|
-
quality:
|
|
399
|
+
quality: defaults_1.DEFAULT_SCREENSHOT_QUALITY,
|
|
405
400
|
optimizeForSpeed: true,
|
|
406
401
|
});
|
|
407
402
|
await cdpSession.detach();
|
|
@@ -421,8 +416,8 @@ const handler = async (sessionId, args) => {
|
|
|
421
416
|
clip: {
|
|
422
417
|
x: 0,
|
|
423
418
|
y: 0,
|
|
424
|
-
width: Math.min(page.viewport()?.width ||
|
|
425
|
-
height: Math.min(page.viewport()?.height ||
|
|
419
|
+
width: Math.min(page.viewport()?.width || defaults_1.DEFAULT_VIEWPORT.width, defaults_1.DEFAULT_VIEWPORT.width),
|
|
420
|
+
height: Math.min(page.viewport()?.height || defaults_1.DEFAULT_VIEWPORT.height, defaults_1.DEFAULT_VIEWPORT.height),
|
|
426
421
|
},
|
|
427
422
|
});
|
|
428
423
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"click-element.js","sourceRoot":"","sources":["../../src/tools/click-element.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"click-element.js","sourceRoot":"","sources":["../../src/tools/click-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computer.d.ts","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"computer.d.ts","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAuwB1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}
|