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.
Files changed (140) hide show
  1. package/README.md +11 -4
  2. package/dist/cdp/client.d.ts +2 -2
  3. package/dist/cdp/client.d.ts.map +1 -1
  4. package/dist/cdp/client.js +3 -2
  5. package/dist/cdp/client.js.map +1 -1
  6. package/dist/cdp/connection-pool.d.ts +2 -2
  7. package/dist/cdp/connection-pool.d.ts.map +1 -1
  8. package/dist/cdp/connection-pool.js +2 -1
  9. package/dist/cdp/connection-pool.js.map +1 -1
  10. package/dist/cdp/screenshot-scheduler.d.ts.map +1 -1
  11. package/dist/cdp/screenshot-scheduler.js +2 -1
  12. package/dist/cdp/screenshot-scheduler.js.map +1 -1
  13. package/dist/chrome/launcher.d.ts +14 -0
  14. package/dist/chrome/launcher.d.ts.map +1 -1
  15. package/dist/chrome/launcher.js +112 -1
  16. package/dist/chrome/launcher.js.map +1 -1
  17. package/dist/config/defaults.d.ts +20 -0
  18. package/dist/config/defaults.d.ts.map +1 -0
  19. package/dist/config/defaults.js +20 -0
  20. package/dist/config/defaults.js.map +1 -0
  21. package/dist/dom/dom-serializer.d.ts.map +1 -1
  22. package/dist/dom/dom-serializer.js +10 -5
  23. package/dist/dom/dom-serializer.js.map +1 -1
  24. package/dist/hints/hint-engine.d.ts +1 -0
  25. package/dist/hints/hint-engine.d.ts.map +1 -1
  26. package/dist/hints/hint-engine.js +30 -6
  27. package/dist/hints/hint-engine.js.map +1 -1
  28. package/dist/hints/rules/composite-suggestions.d.ts.map +1 -1
  29. package/dist/hints/rules/composite-suggestions.js +37 -0
  30. package/dist/hints/rules/composite-suggestions.js.map +1 -1
  31. package/dist/hints/rules/error-recovery.js +2 -2
  32. package/dist/hints/rules/error-recovery.js.map +1 -1
  33. package/dist/hints/rules/pagination-detection.d.ts +7 -0
  34. package/dist/hints/rules/pagination-detection.d.ts.map +1 -0
  35. package/dist/hints/rules/pagination-detection.js +220 -0
  36. package/dist/hints/rules/pagination-detection.js.map +1 -0
  37. package/dist/hints/rules/repetition-detection.d.ts.map +1 -1
  38. package/dist/hints/rules/repetition-detection.js +131 -0
  39. package/dist/hints/rules/repetition-detection.js.map +1 -1
  40. package/dist/hints/rules/sequence-detection.d.ts.map +1 -1
  41. package/dist/hints/rules/sequence-detection.js +23 -2
  42. package/dist/hints/rules/sequence-detection.js.map +1 -1
  43. package/dist/hints/rules/success-hints.d.ts.map +1 -1
  44. package/dist/hints/rules/success-hints.js +5 -1
  45. package/dist/hints/rules/success-hints.js.map +1 -1
  46. package/dist/mcp-server.d.ts.map +1 -1
  47. package/dist/mcp-server.js +15 -16
  48. package/dist/mcp-server.js.map +1 -1
  49. package/dist/session-manager.d.ts.map +1 -1
  50. package/dist/session-manager.js +2 -1
  51. package/dist/session-manager.js.map +1 -1
  52. package/dist/tools/batch-execute.d.ts.map +1 -1
  53. package/dist/tools/batch-execute.js +0 -2
  54. package/dist/tools/batch-execute.js.map +1 -1
  55. package/dist/tools/batch-paginate.d.ts +10 -0
  56. package/dist/tools/batch-paginate.d.ts.map +1 -0
  57. package/dist/tools/batch-paginate.js +419 -0
  58. package/dist/tools/batch-paginate.js.map +1 -0
  59. package/dist/tools/click-element.d.ts.map +1 -1
  60. package/dist/tools/click-element.js +16 -21
  61. package/dist/tools/click-element.js.map +1 -1
  62. package/dist/tools/computer.d.ts.map +1 -1
  63. package/dist/tools/computer.js +197 -64
  64. package/dist/tools/computer.js.map +1 -1
  65. package/dist/tools/console-capture.d.ts.map +1 -1
  66. package/dist/tools/console-capture.js +1 -6
  67. package/dist/tools/console-capture.js.map +1 -1
  68. package/dist/tools/cookies.d.ts.map +1 -1
  69. package/dist/tools/cookies.js +1 -6
  70. package/dist/tools/cookies.js.map +1 -1
  71. package/dist/tools/emulate-device.d.ts.map +1 -1
  72. package/dist/tools/emulate-device.js +1 -3
  73. package/dist/tools/emulate-device.js.map +1 -1
  74. package/dist/tools/fill-form.d.ts.map +1 -1
  75. package/dist/tools/fill-form.js +129 -134
  76. package/dist/tools/fill-form.js.map +1 -1
  77. package/dist/tools/form-input.d.ts.map +1 -1
  78. package/dist/tools/form-input.js +47 -46
  79. package/dist/tools/form-input.js.map +1 -1
  80. package/dist/tools/geolocation.d.ts.map +1 -1
  81. package/dist/tools/geolocation.js +1 -3
  82. package/dist/tools/geolocation.js.map +1 -1
  83. package/dist/tools/http-auth.d.ts.map +1 -1
  84. package/dist/tools/http-auth.js +1 -5
  85. package/dist/tools/http-auth.js.map +1 -1
  86. package/dist/tools/index.d.ts.map +1 -1
  87. package/dist/tools/index.js +2 -0
  88. package/dist/tools/index.js.map +1 -1
  89. package/dist/tools/javascript.d.ts.map +1 -1
  90. package/dist/tools/javascript.js +2 -7
  91. package/dist/tools/javascript.js.map +1 -1
  92. package/dist/tools/lightweight-scroll.d.ts.map +1 -1
  93. package/dist/tools/lightweight-scroll.js +1 -5
  94. package/dist/tools/lightweight-scroll.js.map +1 -1
  95. package/dist/tools/navigate.d.ts.map +1 -1
  96. package/dist/tools/navigate.js +5 -7
  97. package/dist/tools/navigate.js.map +1 -1
  98. package/dist/tools/network.d.ts.map +1 -1
  99. package/dist/tools/network.js +1 -4
  100. package/dist/tools/network.js.map +1 -1
  101. package/dist/tools/page-reload.d.ts.map +1 -1
  102. package/dist/tools/page-reload.js +3 -2
  103. package/dist/tools/page-reload.js.map +1 -1
  104. package/dist/tools/read-page.d.ts.map +1 -1
  105. package/dist/tools/read-page.js +203 -12
  106. package/dist/tools/read-page.js.map +1 -1
  107. package/dist/tools/request-intercept.d.ts.map +1 -1
  108. package/dist/tools/request-intercept.js +1 -11
  109. package/dist/tools/request-intercept.js.map +1 -1
  110. package/dist/tools/storage.d.ts.map +1 -1
  111. package/dist/tools/storage.js +1 -7
  112. package/dist/tools/storage.js.map +1 -1
  113. package/dist/tools/tabs-close.js +1 -1
  114. package/dist/tools/tabs-close.js.map +1 -1
  115. package/dist/tools/tabs-create.js +1 -1
  116. package/dist/tools/tabs-create.js.map +1 -1
  117. package/dist/tools/user-agent.d.ts.map +1 -1
  118. package/dist/tools/user-agent.js +1 -3
  119. package/dist/tools/user-agent.js.map +1 -1
  120. package/dist/tools/wait-and-click.d.ts.map +1 -1
  121. package/dist/tools/wait-and-click.js +5 -10
  122. package/dist/tools/wait-and-click.js.map +1 -1
  123. package/dist/tools/wait-for.d.ts.map +1 -1
  124. package/dist/tools/wait-for.js +1 -7
  125. package/dist/tools/wait-for.js.map +1 -1
  126. package/dist/tools/xpath-query.d.ts.map +1 -1
  127. package/dist/tools/xpath-query.js +1 -6
  128. package/dist/tools/xpath-query.js.map +1 -1
  129. package/dist/utils/dom-delta.d.ts +29 -0
  130. package/dist/utils/dom-delta.d.ts.map +1 -0
  131. package/dist/utils/dom-delta.js +262 -0
  132. package/dist/utils/dom-delta.js.map +1 -0
  133. package/dist/utils/pagination-detector.d.ts +22 -0
  134. package/dist/utils/pagination-detector.d.ts.map +1 -0
  135. package/dist/utils/pagination-detector.js +292 -0
  136. package/dist/utils/pagination-detector.js.map +1 -0
  137. package/dist/utils/smart-goto.d.ts.map +1 -1
  138. package/dist/utils/smart-goto.js +2 -1
  139. package/dist/utils/smart-goto.js.map +1 -1
  140. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"batch-execute.js","sourceRoot":"","sources":["../../src/tools/batch-execute.ts"],"names":[],"mappings":"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"}
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;AA4gB1C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEhE"}
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: `Find an element by natural language query and click it in one operation.
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
- if (doubleClick) {
384
- await page.mouse.click(finalX, finalY, { clickCount: 2 });
385
- }
386
- else {
387
- await page.mouse.click(finalX, finalY);
388
- }
389
- // Wait after click
390
- await new Promise(resolve => setTimeout(resolve, waitAfter));
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: 60,
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 || 1920, 1920),
425
- height: Math.min(page.viewport()?.height || 1080, 1080),
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;AAqmB1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}
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"}