agent-web-interface 4.2.0 → 4.3.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.
Files changed (55) hide show
  1. package/dist/src/index.js +19 -7
  2. package/dist/src/index.js.map +1 -1
  3. package/dist/src/server/mcp-server.d.ts.map +1 -1
  4. package/dist/src/server/mcp-server.js +29 -1
  5. package/dist/src/server/mcp-server.js.map +1 -1
  6. package/dist/src/snapshot/element-resolver.d.ts +35 -14
  7. package/dist/src/snapshot/element-resolver.d.ts.map +1 -1
  8. package/dist/src/snapshot/element-resolver.js +109 -60
  9. package/dist/src/snapshot/element-resolver.js.map +1 -1
  10. package/dist/src/snapshot/index.d.ts +1 -1
  11. package/dist/src/snapshot/index.d.ts.map +1 -1
  12. package/dist/src/snapshot/index.js +1 -1
  13. package/dist/src/snapshot/index.js.map +1 -1
  14. package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
  15. package/dist/src/snapshot/snapshot-compiler.js +31 -1
  16. package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
  17. package/dist/src/snapshot/snapshot.types.d.ts +1 -1
  18. package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
  19. package/dist/src/snapshot/snapshot.types.js +1 -0
  20. package/dist/src/snapshot/snapshot.types.js.map +1 -1
  21. package/dist/src/state/actionables-filter.d.ts.map +1 -1
  22. package/dist/src/state/actionables-filter.js +1 -0
  23. package/dist/src/state/actionables-filter.js.map +1 -1
  24. package/dist/src/state/state-renderer.d.ts.map +1 -1
  25. package/dist/src/state/state-renderer.js +2 -0
  26. package/dist/src/state/state-renderer.js.map +1 -1
  27. package/dist/src/tools/browser-tools.d.ts +29 -8
  28. package/dist/src/tools/browser-tools.d.ts.map +1 -1
  29. package/dist/src/tools/browser-tools.js +93 -131
  30. package/dist/src/tools/browser-tools.js.map +1 -1
  31. package/dist/src/tools/canvas-tools.d.ts +32 -0
  32. package/dist/src/tools/canvas-tools.d.ts.map +1 -0
  33. package/dist/src/tools/canvas-tools.js +370 -0
  34. package/dist/src/tools/canvas-tools.js.map +1 -0
  35. package/dist/src/tools/form-tools.d.ts +2 -4
  36. package/dist/src/tools/form-tools.d.ts.map +1 -1
  37. package/dist/src/tools/form-tools.js +6 -38
  38. package/dist/src/tools/form-tools.js.map +1 -1
  39. package/dist/src/tools/index.d.ts +6 -4
  40. package/dist/src/tools/index.d.ts.map +1 -1
  41. package/dist/src/tools/index.js +13 -4
  42. package/dist/src/tools/index.js.map +1 -1
  43. package/dist/src/tools/tool-context.d.ts +53 -0
  44. package/dist/src/tools/tool-context.d.ts.map +1 -0
  45. package/dist/src/tools/tool-context.js +119 -0
  46. package/dist/src/tools/tool-context.js.map +1 -0
  47. package/dist/src/tools/tool-result.types.d.ts +16 -1
  48. package/dist/src/tools/tool-result.types.d.ts.map +1 -1
  49. package/dist/src/tools/tool-result.types.js +11 -0
  50. package/dist/src/tools/tool-result.types.js.map +1 -1
  51. package/dist/src/tools/tool-schemas.d.ts +255 -128
  52. package/dist/src/tools/tool-schemas.d.ts.map +1 -1
  53. package/dist/src/tools/tool-schemas.js +85 -3
  54. package/dist/src/tools/tool-schemas.js.map +1 -1
  55. package/package.json +1 -1
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * MCP tool handlers for browser automation.
5
5
  */
6
- import { SnapshotStore, clickByBackendNodeId, typeByBackendNodeId, pressKey, selectOption, hoverByBackendNodeId, scrollIntoView, scrollPage as scrollPageByAmount, } from '../snapshot/index.js';
6
+ import { clickByBackendNodeId, clickAtCoordinates, clickAtElementOffset, getElementTopLeft, dragBetweenCoordinates, typeByBackendNodeId, pressKey, selectOption, hoverByBackendNodeId, scrollIntoView, scrollPage as scrollPageByAmount, } from '../snapshot/index.js';
7
7
  import { observationAccumulator } from '../observation/index.js';
8
8
  import { ATTACHMENT_SIGNIFICANCE_THRESHOLD } from '../observation/observation.types.js';
9
- import { ClosePageInputSchema, CloseSessionInputSchema, NavigateInputSchema, GoBackInputSchema, GoForwardInputSchema, ReloadInputSchema, CaptureSnapshotInputSchema, FindElementsInputSchema, GetNodeDetailsInputSchema, ScrollElementIntoViewInputSchema, ScrollPageInputSchema, ClickInputSchema, TypeInputSchema, PressInputSchema, SelectInputSchema, HoverInputSchema, TakeScreenshotInputSchema, } from './tool-schemas.js';
9
+ import { ClosePageInputSchema, CloseSessionInputSchema, NavigateInputSchema, GoBackInputSchema, GoForwardInputSchema, ReloadInputSchema, CaptureSnapshotInputSchema, FindElementsInputSchema, GetNodeDetailsInputSchema, ScrollElementIntoViewInputSchema, ScrollPageInputSchema, ClickInputSchema, TypeInputSchema, PressInputSchema, SelectInputSchema, HoverInputSchema, TakeScreenshotInputSchema, DragInputSchema, } from './tool-schemas.js';
10
10
  import { captureScreenshot, getElementBoundingBox } from '../screenshot/index.js';
11
11
  import { cleanupTempFiles } from '../lib/temp-file.js';
12
12
  import { QueryEngine } from '../query/query-engine.js';
@@ -14,89 +14,20 @@ import { isReadableNode, isStructuralNode } from '../snapshot/snapshot.types.js'
14
14
  import { computeEid } from '../state/element-identity.js';
15
15
  import { captureWithStabilization, determineHealthCode, } from '../snapshot/snapshot-health.js';
16
16
  import { executeAction, executeActionWithRetry, executeActionWithOutcome, stabilizeAfterNavigation, getStateManager, removeStateManager, clearAllStateManagers, } from './execute-action.js';
17
- import { createHealthyRuntime, createRecoveredCdpRuntime } from '../state/health.types.js';
18
17
  import { buildClosePageResponse, buildCloseSessionResponse, buildListPagesResponse, buildFindElementsResponse, buildGetElementDetailsResponse, } from './response-builder.js';
19
- import { ElementNotFoundError, StaleElementError, SnapshotRequiredError } from './errors.js';
20
18
  import { getDependencyTracker } from '../form/index.js';
21
- // Module-level state
22
- let sessionManager = null;
23
- const snapshotStore = new SnapshotStore();
19
+ import { initializeToolContext, getSessionManager, getSnapshotStore, resolveExistingPage, ensureCdpSession, requireSnapshot, resolveElementByEid, } from './tool-context.js';
20
+ // Re-export for backward compatibility (external consumers import from browser-tools)
21
+ export { getSnapshotStore } from './tool-context.js';
24
22
  /**
25
23
  * Initialize tools with a session manager instance.
26
24
  * Must be called before using any tool handlers.
27
- *
28
- * @param manager - SessionManager instance
29
25
  */
30
26
  export function initializeTools(manager) {
31
- sessionManager = manager;
32
- }
33
- /**
34
- * Get the session manager, throwing if not initialized.
35
- */
36
- function getSessionManager() {
37
- if (!sessionManager) {
38
- throw new Error('Tools not initialized. Call initializeTools() first.');
39
- }
40
- return sessionManager;
41
- }
42
- /**
43
- * Get the snapshot store.
44
- */
45
- export function getSnapshotStore() {
46
- return snapshotStore;
47
- }
48
- /**
49
- * Resolve page_id to a PageHandle, throwing if not found.
50
- * Also touches the page to mark it as MRU.
51
- *
52
- * @param session - SessionManager instance
53
- * @param page_id - Optional page identifier
54
- * @returns PageHandle for the resolved page
55
- * @throws Error if no page available
56
- */
57
- function resolveExistingPage(session, page_id) {
58
- const handle = session.resolvePage(page_id);
59
- if (!handle) {
60
- if (page_id) {
61
- throw new Error(`Page not found: ${page_id}`);
62
- }
63
- else {
64
- throw new Error('No page available. Navigate to a URL first.');
65
- }
66
- }
67
- session.touchPage(handle.page_id);
68
- return handle;
69
- }
70
- /**
71
- * Ensure CDP session is healthy, attempting repair if needed.
72
- *
73
- * Call this before any CDP operation to auto-repair dead sessions.
74
- *
75
- * @param session - SessionManager instance
76
- * @param handle - Current page handle
77
- * @returns Updated handle (may be same or new if recovered) and recovery status
78
- */
79
- async function ensureCdpSession(session, handle) {
80
- // Fast path: CDP is active and responds to a lightweight probe
81
- if (handle.cdp.isActive()) {
82
- try {
83
- await handle.cdp.send('Page.getFrameTree', undefined);
84
- return { handle, recovered: false, runtime_health: createHealthyRuntime() };
85
- }
86
- catch (err) {
87
- const message = err instanceof Error ? err.message : String(err);
88
- console.warn(`[RECOVERY] CDP probe failed for ${handle.page_id}: ${message}. Attempting rebind`);
89
- }
90
- }
91
- // Slow path: CDP needs repair
92
- console.warn(`[RECOVERY] CDP session dead for ${handle.page_id}, attempting rebind`);
93
- const newHandle = await session.rebindCdpSession(handle.page_id);
94
- return {
95
- handle: newHandle,
96
- recovered: true,
97
- runtime_health: createRecoveredCdpRuntime('HEALTHY'),
98
- };
27
+ initializeToolContext(manager);
99
28
  }
29
+ // Convenience alias for module-internal use
30
+ const snapshotStore = getSnapshotStore();
100
31
  /**
101
32
  * Build runtime health details from a capture attempt.
102
33
  */
@@ -157,50 +88,6 @@ async function prepareActionContext(pageId) {
157
88
  const captureSnapshot = createActionCapture(session, handleRef, resolvedPageId);
158
89
  return { handleRef, pageId: resolvedPageId, captureSnapshot, session };
159
90
  }
160
- /**
161
- * Resolve element by eid for action tools.
162
- * Looks up element in registry and finds corresponding node in snapshot.
163
- * Includes proactive staleness detection before CDP interaction.
164
- *
165
- * @param pageId - Page ID for registry lookup
166
- * @param eid - Element ID to resolve
167
- * @param snapshot - Current snapshot to search
168
- * @returns Resolved node from snapshot
169
- * @throws {ElementNotFoundError} If eid not found in registry
170
- * @throws {StaleElementError} If eid reference is stale or element not in current snapshot
171
- */
172
- function resolveElementByEid(pageId, eid, snapshot) {
173
- const stateManager = getStateManager(pageId);
174
- const registry = stateManager.getElementRegistry();
175
- const elementRef = registry.getByEid(eid);
176
- if (!elementRef) {
177
- throw new ElementNotFoundError(eid);
178
- }
179
- // Proactive staleness check - detect stale elements before CDP interaction
180
- // This catches elements that haven't been seen in recent snapshots
181
- if (registry.isStale(eid)) {
182
- throw new StaleElementError(eid);
183
- }
184
- const node = snapshot.nodes.find((n) => n.backend_node_id === elementRef.ref.backend_node_id);
185
- if (!node) {
186
- throw new StaleElementError(eid);
187
- }
188
- return node;
189
- }
190
- /**
191
- * Require snapshot for action, throwing consistent error if missing.
192
- *
193
- * @param pageId - Page ID to look up snapshot
194
- * @returns Snapshot for the page
195
- * @throws {SnapshotRequiredError} If no snapshot exists
196
- */
197
- function requireSnapshot(pageId) {
198
- const snap = snapshotStore.getByPageId(pageId);
199
- if (!snap) {
200
- throw new SnapshotRequiredError(pageId);
201
- }
202
- return snap;
203
- }
204
91
  /**
205
92
  * Execute a navigation action with snapshot capture.
206
93
  * Consolidates goBack, goForward, and reload handlers.
@@ -378,6 +265,24 @@ export async function captureSnapshot(rawInput) {
378
265
  const stateManager = getStateManager(page_id);
379
266
  return stateManager.generateResponse(snapshot, { trimRegions: true });
380
267
  }
268
+ /**
269
+ * Map schema kind values to internal NodeKind values.
270
+ *
271
+ * The find_elements schema uses user-friendly names that don't always match
272
+ * internal NodeKind values. For example, 'textbox' in the schema maps to
273
+ * both 'input' and 'textarea' internally.
274
+ *
275
+ * @param schemaKind - Kind value from the find_elements schema
276
+ * @returns Matching NodeKind value(s)
277
+ */
278
+ export function mapSchemaKindToNodeKind(schemaKind) {
279
+ switch (schemaKind) {
280
+ case 'textbox':
281
+ return ['input', 'textarea'];
282
+ default:
283
+ return schemaKind;
284
+ }
285
+ }
381
286
  /**
382
287
  * Find elements by semantic criteria.
383
288
  *
@@ -398,7 +303,7 @@ export function findElements(rawInput) {
398
303
  limit: input.limit,
399
304
  };
400
305
  if (input.kind) {
401
- request.kind = input.kind;
306
+ request.kind = mapSchemaKindToNodeKind(input.kind);
402
307
  }
403
308
  if (input.label) {
404
309
  request.label = { text: input.label, mode: 'contains', caseSensitive: false };
@@ -558,23 +463,48 @@ export async function scrollPage(rawInput) {
558
463
  return result.state_response;
559
464
  }
560
465
  /**
561
- * Click an element.
466
+ * Click an element or at viewport coordinates.
467
+ *
468
+ * Three modes:
469
+ * 1. eid only → click element center (existing behavior)
470
+ * 2. eid + x/y → click at offset relative to element top-left
471
+ * 3. x/y only → click at absolute viewport coordinates
562
472
  *
563
473
  * @param rawInput - Click options (will be validated)
564
474
  * @returns Click result with navigation-aware outcome
565
475
  */
566
476
  export async function click(rawInput) {
567
477
  const input = ClickInputSchema.parse(rawInput);
478
+ const hasEid = input.eid !== undefined;
479
+ const hasCoords = input.x !== undefined && input.y !== undefined;
480
+ if (!hasEid && !hasCoords) {
481
+ throw new Error('Either eid or both x and y coordinates must be provided.');
482
+ }
483
+ if ((input.x !== undefined) !== (input.y !== undefined)) {
484
+ throw new Error('Both x and y coordinates must be provided together.');
485
+ }
568
486
  const { handleRef, pageId, captureSnapshot } = await prepareActionContext(input.page_id);
569
- const snap = requireSnapshot(pageId);
570
- const node = resolveElementByEid(pageId, input.eid, snap);
571
- // Execute action with navigation-aware outcome detection
572
- const result = await executeActionWithOutcome(handleRef.current, node, async (backendNodeId) => {
573
- await clickByBackendNodeId(handleRef.current.cdp, backendNodeId);
574
- }, snapshotStore, captureSnapshot);
575
- // Store snapshot for future queries
487
+ let result;
488
+ if (hasEid) {
489
+ // Mode 1 & 2: element-based click (center or offset)
490
+ const snap = requireSnapshot(pageId);
491
+ const node = resolveElementByEid(pageId, input.eid, snap);
492
+ result = await executeActionWithOutcome(handleRef.current, node, async (backendNodeId) => {
493
+ if (hasCoords) {
494
+ await clickAtElementOffset(handleRef.current.cdp, backendNodeId, input.x, input.y);
495
+ }
496
+ else {
497
+ await clickByBackendNodeId(handleRef.current.cdp, backendNodeId);
498
+ }
499
+ }, snapshotStore, captureSnapshot);
500
+ }
501
+ else {
502
+ // Mode 3: x/y only → absolute viewport click
503
+ result = await executeAction(handleRef.current, async () => {
504
+ await clickAtCoordinates(handleRef.current.cdp, input.x, input.y);
505
+ }, captureSnapshot);
506
+ }
576
507
  snapshotStore.store(pageId, result.snapshot);
577
- // Return XML state response directly
578
508
  return result.state_response;
579
509
  }
580
510
  /**
@@ -657,6 +587,37 @@ export async function hover(rawInput) {
657
587
  // Return XML state response directly
658
588
  return result.state_response;
659
589
  }
590
+ /**
591
+ * Drag from one point to another.
592
+ *
593
+ * If eid is provided, coordinates are relative to the element's top-left corner.
594
+ * Otherwise, coordinates are absolute viewport coordinates.
595
+ *
596
+ * @param rawInput - Drag options (will be validated)
597
+ * @returns Drag result with updated snapshot
598
+ */
599
+ export async function drag(rawInput) {
600
+ const input = DragInputSchema.parse(rawInput);
601
+ const { handleRef, pageId, captureSnapshot } = await prepareActionContext(input.page_id);
602
+ let sourceX = input.source_x;
603
+ let sourceY = input.source_y;
604
+ let targetX = input.target_x;
605
+ let targetY = input.target_y;
606
+ if (input.eid) {
607
+ const snap = requireSnapshot(pageId);
608
+ const node = resolveElementByEid(pageId, input.eid, snap);
609
+ const { x, y } = await getElementTopLeft(handleRef.current.cdp, node.backend_node_id);
610
+ sourceX = x + input.source_x;
611
+ sourceY = y + input.source_y;
612
+ targetX = x + input.target_x;
613
+ targetY = y + input.target_y;
614
+ }
615
+ const result = await executeAction(handleRef.current, async () => {
616
+ await dragBetweenCoordinates(handleRef.current.cdp, sourceX, sourceY, targetX, targetY);
617
+ }, captureSnapshot);
618
+ snapshotStore.store(pageId, result.snapshot);
619
+ return result.state_response;
620
+ }
660
621
  /**
661
622
  * Take a screenshot of the page or a specific element.
662
623
  *
@@ -690,4 +651,5 @@ export async function takeScreenshot(rawInput) {
690
651
  captureBeyondViewport: input.fullPage ?? false,
691
652
  });
692
653
  }
654
+ // Canvas inspection: see canvas-tools.ts
693
655
  //# sourceMappingURL=browser-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-tools.js","sourceRoot":"","sources":["../../../src/tools/browser-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-tools.js","sourceRoot":"","sources":["../../../src/tools/browser-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Canvas Tools
3
+ *
4
+ * MCP tool handler for canvas element inspection.
5
+ * Detects canvas rendering libraries (Fabric.js, Konva, PixiJS, Phaser, Three.js, EaselJS),
6
+ * queries their scene graphs for object metadata, and returns annotated screenshots.
7
+ */
8
+ import type { CompositeResult } from './tool-result.types.js';
9
+ /** A single detected object on the canvas. */
10
+ export interface CanvasObject {
11
+ type: string;
12
+ label: string;
13
+ x: number;
14
+ y: number;
15
+ w: number;
16
+ h: number;
17
+ }
18
+ /** Result returned by the canvas detection script. */
19
+ export interface CanvasMetadata {
20
+ library: string;
21
+ objects: CanvasObject[];
22
+ canvas_size: {
23
+ w: number;
24
+ h: number;
25
+ };
26
+ }
27
+ /**
28
+ * Inspect a canvas element: detect library, query scene graph, and return
29
+ * an annotated screenshot with coordinate grid + object bounding boxes.
30
+ */
31
+ export declare function inspectCanvas(rawInput: unknown): Promise<CompositeResult>;
32
+ //# sourceMappingURL=canvas-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/canvas-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,wBAAwB,CAAC;AAavF,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AA4TD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CA8D/E"}