@jobshimo/browser-link 0.36.0 → 0.37.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/dist/agent-instructions/content.js +14 -3
- package/dist/agent-instructions/content.js.map +1 -1
- package/dist/cdp/flow.d.ts +36 -3
- package/dist/cdp/flow.js +54 -19
- package/dist/cdp/flow.js.map +1 -1
- package/dist/cdp/inpage/builders.d.ts +103 -20
- package/dist/cdp/inpage/builders.js +199 -52
- package/dist/cdp/inpage/builders.js.map +1 -1
- package/dist/cdp/inpage/observer.d.ts +36 -7
- package/dist/cdp/inpage/observer.js +242 -16
- package/dist/cdp/inpage/observer.js.map +1 -1
- package/dist/cdp/transport.js +90 -9
- package/dist/cdp/transport.js.map +1 -1
- package/dist/extension/background.js +91 -13
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/flow.d.ts +36 -3
- package/dist/extension/flow.js +54 -19
- package/dist/extension/flow.js.map +1 -1
- package/dist/extension/inpage/builders.d.ts +103 -20
- package/dist/extension/inpage/builders.js +199 -52
- package/dist/extension/inpage/builders.js.map +1 -1
- package/dist/extension/inpage/observer.d.ts +36 -7
- package/dist/extension/inpage/observer.js +242 -16
- package/dist/extension/inpage/observer.js.map +1 -1
- package/dist/extension/manifest.json +1 -1
- package/dist/map/queries.d.ts +2 -0
- package/dist/map/queries.js +23 -1
- package/dist/map/queries.js.map +1 -1
- package/dist/map/tools.js +26 -4
- package/dist/map/tools.js.map +1 -1
- package/dist/tools/browser-definitions.js +80 -18
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +19 -26
- package/dist/tools/browser-dispatch.js +152 -14
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/tools/server-instructions.js +14 -3
- package/dist/tools/server-instructions.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
* it instead of drifting in a single monolithic string.
|
|
11
11
|
*/
|
|
12
12
|
import { DEFAULT_DOWNLOAD_TIMEOUT_MS, DOWNLOAD_BRIDGE_SLACK_MS, MAX_DOWNLOAD_BYTES, MAX_DOWNLOAD_TIMEOUT_MS, } from '../downloads.js';
|
|
13
|
+
/** Shape of an element ref, `<doc_tag>:e<N>` (spec v4 §6.3); the dispatcher
|
|
14
|
+
* enforces the same pattern and names the tool in its error. */
|
|
15
|
+
const REF_PATTERN_SOURCE = '^[a-z0-9]{1,16}:e[0-9]+$';
|
|
16
|
+
/** An element ref (`<doc_tag>:e<N>`) as an action target (spec v4 §6.3). */
|
|
17
|
+
const REF_SCHEMA = {
|
|
18
|
+
type: 'string',
|
|
19
|
+
pattern: REF_PATTERN_SOURCE,
|
|
20
|
+
maxLength: 64,
|
|
21
|
+
description: 'Element ref (`<doc_tag>:e<N>`, like `k3x9ab:e12`) from browser.snapshot / find / state for the current document, instead of selector. Exactly one of selector or ref.',
|
|
22
|
+
};
|
|
13
23
|
/**
|
|
14
24
|
* Shared `settle_ms` / `settle_timeout_ms` schema properties for
|
|
15
25
|
* click / type / press. Identical wording and semantics across all three —
|
|
@@ -188,7 +198,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
188
198
|
},
|
|
189
199
|
{
|
|
190
200
|
name: 'browser.snapshot',
|
|
191
|
-
description: 'Snapshot of the tab: title, url, visible text (truncated) and a list of interactive elements (buttons, links, inputs, selects, textareas) with a CSS selector and labels. Use this to understand page state before clicking or typing. Elements whose computed `pointer-events` is `none` (invisible accessibility layers that can never receive a real click) are excluded from the interactive list, though their text still contributes to headings/text; a descendant that re-enables itself with `pointer-events:auto` is still listed. The scan pierces OPEN Shadow DOM roots and same-origin iframes (nested arbitrarily) — a web component internal or an in-page iframe shows up without extra steps. An entry for an element living inside an iframe carries an extra `frame` field (the CSS selector of the innermost hosting iframe) so you know it is framed; entries in the top document or in Shadow DOM omit it. An entry whose selector could not be made unique across all roots (structurally-identical component twins) carries `ambiguous: true` — that selector resolves first-match-wins, so use it immediately and do NOT store it in the persistent map. Optional filters keep the response small: `within_selector` restricts the scan to a subtree (also deep-search-aware — it can target a subtree inside a shadow root or iframe); `only_interactive` skips headings and the text dump; `exclude` drops landmarks like nav/footer; `max_interactive` overrides the default cap of 120. The per-entry serializer omits empty-string fields, so the same call returns a leaner payload than before — no behavior change for clients that read by key. When the page observer is running in the tab, each interactive entry also carries `ref` (right after `selector`): a per-document element handle
|
|
201
|
+
description: 'Snapshot of the tab: title, url, visible text (truncated) and a list of interactive elements (buttons, links, inputs, selects, textareas) with a CSS selector and labels. Use this to understand page state before clicking or typing. Elements whose computed `pointer-events` is `none` (invisible accessibility layers that can never receive a real click) are excluded from the interactive list, though their text still contributes to headings/text; a descendant that re-enables itself with `pointer-events:auto` is still listed. The scan pierces OPEN Shadow DOM roots and same-origin iframes (nested arbitrarily) — a web component internal or an in-page iframe shows up without extra steps. An entry for an element living inside an iframe carries an extra `frame` field (the CSS selector of the innermost hosting iframe) so you know it is framed; entries in the top document or in Shadow DOM omit it. An entry whose selector could not be made unique across all roots (structurally-identical component twins) carries `ambiguous: true` — that selector resolves first-match-wins, so use it immediately and do NOT store it in the persistent map. Optional filters keep the response small: `within_selector` restricts the scan to a subtree (also deep-search-aware — it can target a subtree inside a shadow root or iframe); `only_interactive` skips headings and the text dump; `exclude` drops landmarks like nav/footer; `max_interactive` overrides the default cap of 120. The per-entry serializer omits empty-string fields, so the same call returns a leaner payload than before — no behavior change for clients that read by key. When the page observer is running in the tab, each interactive entry also carries `ref` (right after `selector`): a per-document element handle `<doc_tag>:e<N>` (like `k3x9ab:e12`; `doc_tag` is the first 6 characters of `doc_id`) issued by the page observer, stable for the same element across snapshot/find/state calls and valid only for the document that issued it; unlike `ambiguous` (a selector-level warning), a `ref` names exactly one element of the current document. The result then also carries `doc_id` (the document instance that issued the refs; it changes on every new document) and `snapshot_id` (`<doc_id>:s<N>`, one per snapshot call in that document). All three are additive and ignorable, and are absent when the observer is not in the page. Pass `since: <snapshot_id>` to get a diff instead of the whole page: `{ title, url, doc_id, snapshot_id, since, added, removed, changed, overflow? }`, where `added` and `changed` are full entries (added first) and `removed` is `{ ref, tag, text? }`. `max_interactive` applies after diffing to `added` + `changed` and `overflow` (count dropped) appears only when above 0; `headings` and `text` appear in a diff only when `only_interactive` is false and they changed. When no diff can be made the result is the full snapshot plus `since` and `since_status`: `doc-changed` (the `since` prefix is not the current `doc_id`, or it has no `:`), `evicted` (same document, but not among the last 4 snapshots or never issued) or `observer-unavailable`. An invalid `since` (not a string, or over 64 characters) is dropped and a plain full snapshot is returned; a `within_selector` miss ignores `since`.',
|
|
192
202
|
inputSchema: {
|
|
193
203
|
type: 'object',
|
|
194
204
|
properties: {
|
|
@@ -234,7 +244,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
234
244
|
'Empty-string fields (`placeholder`, `aria_label`, etc.) are omitted from each entry. Read by key with optional-chaining or fall back to "".',
|
|
235
245
|
'CLOSED shadow roots (attachShadow({mode:"closed"})) are unreachable from any CDP-based tool — there is no workaround. Cross-origin iframes are also unreachable (same-origin policy); their content is invisible to this scan.',
|
|
236
246
|
'Two structurally-identical component instances in different roots (e.g. twin web components with byte-identical internals) cannot be told apart by any CSS selector — no syntax scopes a selector to one shadow root. Affected entries carry `ambiguous: true`; their selector resolves to the FIRST match in a deterministic traversal order. Use it right away, never cache it.',
|
|
237
|
-
'`ref`, `doc_id` and `snapshot_id` appear only when the page observer is running in the tab. A `ref` dies with its document: compare `doc_id` before trusting a ref from an earlier call, and never store refs in the persistent map. `ref` is
|
|
247
|
+
'`ref`, `doc_id` and `snapshot_id` appear only when the page observer is running in the tab. A `ref` dies with its document: compare `doc_id` before trusting a ref from an earlier call, and never store refs in the persistent map. A `ref` is accepted as an action target on click, type, press, find and wait_for for the current document: a replaced node is re-found by its semantic key (`reresolved: true`), otherwise the call fails with `ref-stale: <ref> not found in document <doc_id>` and you take a fresh snapshot.',
|
|
238
248
|
'With `since`, a `since_status` of `doc-changed`, `evicted` or `observer-unavailable` means you already received the full snapshot: keep its new `snapshot_id` for the next `since`. Do not diff against the old id again.',
|
|
239
249
|
'The structural selector adds `:nth-of-type` only when siblings force it, so inserting a sibling can change the selector of a neighbour and list that neighbour in `changed`. The selector did change: use the current one, not the one from the earlier snapshot.',
|
|
240
250
|
'A diff covers at most the first 500 interactive entries of each snapshot, and `removed` is capped at 500.',
|
|
@@ -244,26 +254,56 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
244
254
|
},
|
|
245
255
|
{
|
|
246
256
|
name: 'browser.find',
|
|
247
|
-
description: 'Locate ONE interactive element by its visible text and return a stable selector plus viewport coordinates. The match is case-insensitive substring by default (set `exact:true` for full-string equality). Pass `role` to narrow to a specific ARIA role (`button`, `link`, `textbox`, `checkbox`, `tab`, `menuitem`) — without it the scan covers buttons, links, inputs, role-bearing elements, contenteditable nodes, and `[onclick]` divs (the "peruvian markup" case). Elements whose computed `pointer-events` is `none` (invisible accessibility layers that can never receive a real click) are never returned as matches, though they can still surface as `near_misses` hints. The scan pierces OPEN Shadow DOM roots and same-origin iframes, same as browser.snapshot. Returns `{ matched: true, selector, ref?, coords:{x,y}, tag, text, frame?, ambiguous?, doc_id? }` on a unique hit, `{ matched: false, reason: "not-found", error?, near_misses?, doc_id? }` when nothing matches, or `{ matched: false, reason: "multiple-matches", candidates: [{selector, ref?, text, tag}], doc_id? }` (up to 5) when several elements match — pick one and try again with `exact:true` or a longer text. On `not-found`, `near_misses` carries up to 3 VISIBLE candidates (`{text, selector, ref?, role?}`) ranked by substring containment then token overlap — omitted entirely when nothing plausible exists. When `role` excluded matches that the text DID find elsewhere, `error` names it explicitly (e.g. `text matched 2 elements but none with role "button" — closest: <div onclick> "GIF picker"`). `frame`, when present, is the CSS selector of the innermost iframe hosting the match. `ambiguous: true`, when present, means the selector could not be made unique across all roots (structurally-identical twins) and resolves first-match-wins — use it immediately, never cache it. `coords` are already mapped to TOP-LEVEL viewport coordinates even when the match lives inside an iframe. The returned `selector` uses the same heuristic as `browser.snapshot` (id → data-testid → aria-label → name → positional fallback, each verified unique across the full deep search scope), so a subsequent `browser.click` / `browser.type` works without re-querying. `ref` and `doc_id` are additive, ignorable fields present only when the page observer is running in the tab: `ref` is the same per-document element handle
|
|
257
|
+
description: 'Locate ONE interactive element by its visible text and return a stable selector plus viewport coordinates. The match is case-insensitive substring by default (set `exact:true` for full-string equality). Pass `role` to narrow to a specific ARIA role (`button`, `link`, `textbox`, `checkbox`, `tab`, `menuitem`) — without it the scan covers buttons, links, inputs, role-bearing elements, contenteditable nodes, and `[onclick]` divs (the "peruvian markup" case). Elements whose computed `pointer-events` is `none` (invisible accessibility layers that can never receive a real click) are never returned as matches, though they can still surface as `near_misses` hints. The scan pierces OPEN Shadow DOM roots and same-origin iframes, same as browser.snapshot. Returns `{ matched: true, selector, ref?, coords:{x,y}, tag, text, frame?, ambiguous?, doc_id? }` on a unique hit, `{ matched: false, reason: "not-found", error?, near_misses?, doc_id? }` when nothing matches, or `{ matched: false, reason: "multiple-matches", candidates: [{selector, ref?, text, tag}], doc_id? }` (up to 5) when several elements match — pick one and try again with `exact:true` or a longer text. On `not-found`, `near_misses` carries up to 3 VISIBLE candidates (`{text, selector, ref?, role?}`) ranked by substring containment then token overlap — omitted entirely when nothing plausible exists. When `role` excluded matches that the text DID find elsewhere, `error` names it explicitly (e.g. `text matched 2 elements but none with role "button" — closest: <div onclick> "GIF picker"`). `frame`, when present, is the CSS selector of the innermost iframe hosting the match. `ambiguous: true`, when present, means the selector could not be made unique across all roots (structurally-identical twins) and resolves first-match-wins — use it immediately, never cache it. `coords` are already mapped to TOP-LEVEL viewport coordinates even when the match lives inside an iframe. The returned `selector` uses the same heuristic as `browser.snapshot` (id → data-testid → aria-label → name → positional fallback, each verified unique across the full deep search scope), so a subsequent `browser.click` / `browser.type` works without re-querying. `ref` and `doc_id` are additive, ignorable fields present only when the page observer is running in the tab: `ref` is the same per-document element handle `<doc_tag>:e<N>` that browser.snapshot reports for that element, valid only for the document that issued it. Give exactly one of `text`, `ref` or `key`; `role` and `exact` apply to `text` only, and any other combination is rejected. Pass `ref` alone to describe that element directly (single-match shape plus `reresolved: true` when its node was replaced and re-found by its semantic key); a ref that no longer resolves fails with `ref-stale: <ref> not found in document <doc_id>`. With the observer running, a single match also carries `semantic_key` (`{ role, name, path }`: role, accessible name and the ancestor tag path with sibling indices); pass it back as `key` alone to find that element again by role and name (with `path`, exactly one candidate with the same tag path must exist, else `not-found` with `key: <N> candidates share role, name and tag path`; several role + name candidates without `path` give `not-found` with `key: <N> candidates share role and name; pass path to disambiguate`).',
|
|
248
258
|
inputSchema: {
|
|
249
259
|
type: 'object',
|
|
250
260
|
properties: {
|
|
251
261
|
tab_id: { type: 'string' },
|
|
252
262
|
text: {
|
|
253
263
|
type: 'string',
|
|
254
|
-
description: 'Visible text to match. Matched against innerText, aria-label, value, placeholder, or title — whichever the element exposes first. Case-insensitive substring by default.',
|
|
264
|
+
description: 'Visible text to match. Matched against innerText, aria-label, value, placeholder, or title — whichever the element exposes first. Case-insensitive substring by default. Required unless `ref` or `key` is given.',
|
|
265
|
+
},
|
|
266
|
+
ref: {
|
|
267
|
+
type: 'string',
|
|
268
|
+
pattern: REF_PATTERN_SOURCE,
|
|
269
|
+
maxLength: 64,
|
|
270
|
+
description: 'Element ref (`<doc_tag>:e<N>`) from browser.snapshot / find / state for the current document. Not combinable with `text`, `role`, `exact` or `key`.',
|
|
271
|
+
},
|
|
272
|
+
key: {
|
|
273
|
+
type: 'object',
|
|
274
|
+
description: 'Semantic key (`semantic_key` from a previous find, or from a browser.map.recall entry payload): finds the element with this role and accessible name, disambiguated by `path` when given. Not combinable with `text`, `ref`, `role` or `exact`.',
|
|
275
|
+
properties: {
|
|
276
|
+
role: { type: 'string', minLength: 1, maxLength: 200 },
|
|
277
|
+
name: { type: 'string', maxLength: 200 },
|
|
278
|
+
path: {
|
|
279
|
+
type: 'array',
|
|
280
|
+
minItems: 1,
|
|
281
|
+
maxItems: 8,
|
|
282
|
+
items: {
|
|
283
|
+
type: 'object',
|
|
284
|
+
properties: {
|
|
285
|
+
tag: { type: 'string', minLength: 1, maxLength: 200 },
|
|
286
|
+
index: { type: 'integer', minimum: 0 },
|
|
287
|
+
},
|
|
288
|
+
required: ['tag', 'index'],
|
|
289
|
+
additionalProperties: false,
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
required: ['role', 'name'],
|
|
294
|
+
additionalProperties: false,
|
|
255
295
|
},
|
|
256
296
|
role: {
|
|
257
297
|
type: 'string',
|
|
258
298
|
enum: ['button', 'link', 'textbox', 'checkbox', 'tab', 'menuitem'],
|
|
259
|
-
description: 'Optional ARIA role to narrow the scan. Without role the scan covers all common interactive elements including [onclick] divs.',
|
|
299
|
+
description: 'Optional ARIA role to narrow the scan (text mode only). Without role the scan covers all common interactive elements including [onclick] divs.',
|
|
260
300
|
},
|
|
261
301
|
exact: {
|
|
262
302
|
type: 'boolean',
|
|
263
|
-
description: 'When true, the visible text must equal the needle (case-insensitive). Default false (substring).',
|
|
303
|
+
description: 'When true, the visible text must equal the needle (case-insensitive). Default false (substring). Text mode only.',
|
|
264
304
|
},
|
|
265
305
|
},
|
|
266
|
-
required: ['tab_id'
|
|
306
|
+
required: ['tab_id'],
|
|
267
307
|
additionalProperties: false,
|
|
268
308
|
},
|
|
269
309
|
doc: {
|
|
@@ -274,6 +314,8 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
274
314
|
'When the agent would otherwise write a hand-rolled `browser.evaluate` to grep textContent — `find` encapsulates the silently-failing patterns (missing visibility checks, `<div onclick>` not matching `button`, multi-match ambiguity).',
|
|
275
315
|
],
|
|
276
316
|
gotchas: [
|
|
317
|
+
'`ref` mode returns `ref-stale: <ref> not found in document <doc_id>` (an error) when the node is gone and no unique role + name + tag-path match exists; take a fresh snapshot. A re-found node comes back with `reresolved: true`.',
|
|
318
|
+
'`semantic_key` is on single matches only (text, ref and key modes), never on `candidates`, `near_misses` or snapshot entries. `key` mode returns a unique match or a counted `not-found`; with `path`, identical rows (same role, name and tag path) are refused rather than guessed. It never crosses documents.',
|
|
277
319
|
'A `<div onclick>` IS considered clickable here — the broad selector set (`[onclick]`, `[role]`, `[tabindex]`, `[contenteditable]`) is the whole point. A naive `querySelectorAll("button")` misses these silently.',
|
|
278
320
|
'On `multiple-matches`, the response includes up to 5 candidates with their selectors and snippets so the agent can disambiguate without another round-trip. Retry with `exact:true` or a longer/unique substring.',
|
|
279
321
|
'`coords` are viewport-relative at the moment of the call. If the page reflows between `find` and `click`, the selector is the durable identifier — prefer it over coords.',
|
|
@@ -287,7 +329,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
287
329
|
},
|
|
288
330
|
{
|
|
289
331
|
name: 'browser.state',
|
|
290
|
-
description: 'Compact orientation snapshot — cheaper than a full browser.snapshot when the agent only needs to know where it is. Returns { url, title, viewport:{w,h}, focused?, dialogs?, scroll? }. `focused` is the innermost actually-focused element (descending through open Shadow DOM roots and same-origin iframes past `document.activeElement`, which by itself only reports a shadow host or an <iframe> element) as `{ selector, ref?, tag, ambiguous? }`. `dialogs` lists visible `[role=dialog]`, `[role=alertdialog]` and open `<dialog>` elements as `{ selector, role, label? }`, `label` best-effort from aria-label / aria-labelledby / the first heading inside. `scroll` is `{x,y}` and is omitted when the page is at its default (0,0) position. Every optional field is omitted when there is nothing to report. When the page observer is running in the tab, `focused.ref` is the same per-document element handle
|
|
332
|
+
description: 'Compact orientation snapshot — cheaper than a full browser.snapshot when the agent only needs to know where it is. Returns { url, title, viewport:{w,h}, focused?, dialogs?, scroll? }. `focused` is the innermost actually-focused element (descending through open Shadow DOM roots and same-origin iframes past `document.activeElement`, which by itself only reports a shadow host or an <iframe> element) as `{ selector, ref?, tag, ambiguous? }`. `dialogs` lists visible `[role=dialog]`, `[role=alertdialog]` and open `<dialog>` elements as `{ selector, role, label? }`, `label` best-effort from aria-label / aria-labelledby / the first heading inside. `scroll` is `{x,y}` and is omitted when the page is at its default (0,0) position. Every optional field is omitted when there is nothing to report. When the page observer is running in the tab, `focused.ref` is the same per-document element handle `<doc_tag>:e<N>` that browser.snapshot reports for that element and the result carries `doc_id`; both are additive, ignorable, valid only for that `doc_id`, and absent when the observer is not in the page.',
|
|
291
333
|
inputSchema: {
|
|
292
334
|
type: 'object',
|
|
293
335
|
properties: { tab_id: { type: 'string' } },
|
|
@@ -482,7 +524,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
482
524
|
},
|
|
483
525
|
{
|
|
484
526
|
name: 'browser.wait_for',
|
|
485
|
-
description: 'Wait for a condition to become true on the page before continuing. Pick exactly ONE target: (a) `selector` plus an optional `condition` of visible|hidden|attached|detached (default visible), (b) `expression` — any JS that should become truthy, or (c) `network_url` — a substring that a completed network request URL must contain. Returns { matched, elapsed_ms, checks, reason? }. `matched: false` is NOT an error — the caller decides whether to proceed or branch. Polls every `poll_interval_ms` (default 100, range 50–1000) until `timeout_ms` (default 5000, capped at 30000). This is a read tool and does not require a claim — multiple agents can wait on the same tab in parallel.',
|
|
527
|
+
description: 'Wait for a condition to become true on the page before continuing. Pick exactly ONE target: (a) `selector` — or `ref`, an element ref from browser.snapshot / find / state, where a ref that no longer resolves counts as a missing element — plus an optional `condition` of visible|hidden|attached|detached (default visible), (b) `expression` — any JS that should become truthy, or (c) `network_url` — a substring that a completed network request URL must contain. Returns { matched, elapsed_ms, checks, reason? }. `matched: false` is NOT an error — the caller decides whether to proceed or branch. Polls every `poll_interval_ms` (default 100, range 50–1000) until `timeout_ms` (default 5000, capped at 30000). This is a read tool and does not require a claim — multiple agents can wait on the same tab in parallel.',
|
|
486
528
|
inputSchema: {
|
|
487
529
|
type: 'object',
|
|
488
530
|
properties: {
|
|
@@ -491,10 +533,16 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
491
533
|
type: 'string',
|
|
492
534
|
description: 'CSS selector. Use with condition. Mutually exclusive with expression and network_url. Resolved like browser.find / browser.click: open Shadow DOM roots and same-origin iframes are searched too.',
|
|
493
535
|
},
|
|
536
|
+
ref: {
|
|
537
|
+
type: 'string',
|
|
538
|
+
pattern: REF_PATTERN_SOURCE,
|
|
539
|
+
maxLength: 64,
|
|
540
|
+
description: 'Element ref (`<doc_tag>:e<N>`) instead of selector; use with condition. A replaced node is re-found by its semantic key; a ref that no longer resolves counts as missing (attached false, detached true). Without the page observer the wait fails with observer-unavailable.',
|
|
541
|
+
},
|
|
494
542
|
condition: {
|
|
495
543
|
type: 'string',
|
|
496
544
|
enum: ['visible', 'hidden', 'attached', 'detached'],
|
|
497
|
-
description: 'For selector mode. visible = exists + non-zero box + opacity > 0; hidden = inverse; attached = exists in DOM; detached = does not exist. Default visible.',
|
|
545
|
+
description: 'For selector or ref mode. visible = exists + non-zero box + opacity > 0; hidden = inverse; attached = exists in DOM; detached = does not exist. Default visible.',
|
|
498
546
|
},
|
|
499
547
|
expression: {
|
|
500
548
|
type: 'string',
|
|
@@ -524,6 +572,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
524
572
|
'When you depend on a backend response — wait for the network request URL to land before reading the DOM.',
|
|
525
573
|
],
|
|
526
574
|
gotchas: [
|
|
575
|
+
'In `ref` mode a ref that no longer resolves counts as a missing element, not an error: `attached` stays false and `detached` is true. A re-found node is used silently. Without the page observer the call fails with `observer-unavailable`.',
|
|
527
576
|
'matched: false is not an error. Read it and decide — many flows have a plan B when the condition does not happen.',
|
|
528
577
|
'expression mode runs arbitrary JS via Runtime.evaluate. Subject to the same disabled-list as browser.evaluate would be if you want to gate it.',
|
|
529
578
|
'network_url matches against the rolling buffer of recent requests (last 200). If the request happened before wait_for started, it still counts as matched — wait_for has no concept of "fresh" requests.',
|
|
@@ -697,12 +746,13 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
697
746
|
},
|
|
698
747
|
{
|
|
699
748
|
name: 'browser.click',
|
|
700
|
-
description: 'Click an element by CSS selector in the connected tab. The selector usually comes from browser.snapshot or browser.find. The lookup pierces open Shadow DOM roots and same-origin iframes (nested arbitrarily), so a selector for a web-component internal or an in-page iframe works without extra steps. Before dispatching the click, the element is hit-tested at its own click point (starting from its own shadow root / iframe document) — if a different element covers that point, the call returns ok:false with a description of the blocker instead of clicking the wrong thing blindly. Pass `force:true` to skip that guard. A target whose computed `pointer-events` is `none` (an invisible accessibility layer over the real control) is NOT treated as covered: the click proceeds at the same point — that is what a real user click does — and the result carries `hit_element` naming the element that actually receives it. `hit_element` (same compact descriptor format as occlusion blockers) is present on ANY click whose dispatched event lands on a different element than the resolved selector — retargeted pointer-events case, an ancestor wrapper, or a `force:true` click landing on whatever covers the point — and omitted when the click hits the resolved element itself. Optionally waits for the page to settle after the click — see `settle_ms`.',
|
|
749
|
+
description: 'Click an element by CSS selector in the connected tab. The selector usually comes from browser.snapshot or browser.find. The lookup pierces open Shadow DOM roots and same-origin iframes (nested arbitrarily), so a selector for a web-component internal or an in-page iframe works without extra steps. Before dispatching the click, the element is hit-tested at its own click point (starting from its own shadow root / iframe document) — if a different element covers that point, the call returns ok:false with a description of the blocker instead of clicking the wrong thing blindly. Pass `force:true` to skip that guard. A target whose computed `pointer-events` is `none` (an invisible accessibility layer over the real control) is NOT treated as covered: the click proceeds at the same point — that is what a real user click does — and the result carries `hit_element` naming the element that actually receives it. `hit_element` (same compact descriptor format as occlusion blockers) is present on ANY click whose dispatched event lands on a different element than the resolved selector — retargeted pointer-events case, an ancestor wrapper, or a `force:true` click landing on whatever covers the point — and omitted when the click hits the resolved element itself. Optionally waits for the page to settle after the click — see `settle_ms`. Give exactly one of `selector` or `ref` (an element ref from browser.snapshot / find / state); a ref whose node was replaced is re-found by its semantic key and the result carries `reresolved: true`, and a ref that no longer resolves fails with `ref-stale: <ref> not found in document <doc_id>`.',
|
|
701
750
|
inputSchema: {
|
|
702
751
|
type: 'object',
|
|
703
752
|
properties: {
|
|
704
753
|
tab_id: { type: 'string' },
|
|
705
|
-
selector: { type: 'string' },
|
|
754
|
+
selector: { type: 'string', description: 'CSS selector. Exactly one of selector or ref.' },
|
|
755
|
+
ref: REF_SCHEMA,
|
|
706
756
|
force: {
|
|
707
757
|
type: 'boolean',
|
|
708
758
|
default: false,
|
|
@@ -711,7 +761,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
711
761
|
...SETTLE_SCHEMA_PROPERTIES,
|
|
712
762
|
expect: EXPECT_SCHEMA,
|
|
713
763
|
},
|
|
714
|
-
required: ['tab_id'
|
|
764
|
+
required: ['tab_id'],
|
|
715
765
|
additionalProperties: false,
|
|
716
766
|
},
|
|
717
767
|
doc: {
|
|
@@ -720,6 +770,9 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
720
770
|
'After browser.snapshot returned a selector for the element the user asked you to interact with.',
|
|
721
771
|
],
|
|
722
772
|
gotchas: [
|
|
773
|
+
'With `ref`, a failure `ref-stale: <ref> not found in document <doc_id>` means the node is gone and could not be re-found (or the ref came from another document): take a fresh `browser.snapshot` or `browser.find` and use the new `ref`. Do not retry the same ref.',
|
|
774
|
+
'`reresolved: true` in the result means the node behind the ref had been replaced and the observer re-found it by role, accessible name and ancestor tag path in the same document. Check that the action hit the element you meant.',
|
|
775
|
+
'Re-resolution needs a unique candidate: identical rows (same role, name and tag path) fail with `ref-stale` instead of being guessed. It never crosses documents (a ref carries its document tag), and a changed accessible name invalidates the ref.',
|
|
723
776
|
'Never click a selector you have not just verified via browser.snapshot or browser.map.recall — speculating wastes a turn.',
|
|
724
777
|
'Auto-claims the tab on first use in multi-agent mode.',
|
|
725
778
|
'ok:false with an "Element covered by …" error means something else is on top of the target at click time (a modal backdrop, a loading overlay, a dropdown). Click or dismiss the covering element first, or re-snapshot — do not blindly retry with force:true.',
|
|
@@ -734,18 +787,19 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
734
787
|
},
|
|
735
788
|
{
|
|
736
789
|
name: 'browser.type',
|
|
737
|
-
description: 'Focus an input by CSS selector and type text into it. If clear=true, clears the current value first. The lookup pierces open Shadow DOM roots and same-origin iframes, same as browser.click. Optionally waits for the page to settle after typing — see `settle_ms`.',
|
|
790
|
+
description: 'Focus an input by CSS selector and type text into it. If clear=true, clears the current value first. The lookup pierces open Shadow DOM roots and same-origin iframes, same as browser.click. Optionally waits for the page to settle after typing — see `settle_ms`. Give exactly one of `selector` or `ref` (an element ref from browser.snapshot / find / state), with the same `reresolved` / `ref-stale` behaviour as browser.click.',
|
|
738
791
|
inputSchema: {
|
|
739
792
|
type: 'object',
|
|
740
793
|
properties: {
|
|
741
794
|
tab_id: { type: 'string' },
|
|
742
|
-
selector: { type: 'string' },
|
|
795
|
+
selector: { type: 'string', description: 'CSS selector. Exactly one of selector or ref.' },
|
|
796
|
+
ref: REF_SCHEMA,
|
|
743
797
|
text: { type: 'string' },
|
|
744
798
|
clear: { type: 'boolean', default: false },
|
|
745
799
|
...SETTLE_SCHEMA_PROPERTIES,
|
|
746
800
|
expect: EXPECT_SCHEMA,
|
|
747
801
|
},
|
|
748
|
-
required: ['tab_id', '
|
|
802
|
+
required: ['tab_id', 'text'],
|
|
749
803
|
additionalProperties: false,
|
|
750
804
|
},
|
|
751
805
|
doc: {
|
|
@@ -754,6 +808,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
754
808
|
'After browser.snapshot returned a selector for the input the user wants filled.',
|
|
755
809
|
],
|
|
756
810
|
gotchas: [
|
|
811
|
+
'`ref` follows the same rules as browser.click: `reresolved: true` after a re-found node, `ref-stale: <ref> not found in document <doc_id>` when it cannot be found (take a fresh snapshot), `observer-unavailable` when the page observer is not in the tab.',
|
|
757
812
|
'Pass clear:true when you need to replace the current value instead of appending to it.',
|
|
758
813
|
'CLOSED shadow roots and cross-origin iframes are unreachable, same as browser.click.',
|
|
759
814
|
'For Enter/Tab/Escape/arrow keys after typing (submitting a form, confirming an autocomplete suggestion), use browser.press — dispatchEvent-based synthetic KeyboardEvent via browser.evaluate is NOT trusted input and many rich editors and autocompletes ignore it.',
|
|
@@ -766,7 +821,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
766
821
|
},
|
|
767
822
|
{
|
|
768
823
|
name: 'browser.press',
|
|
769
|
-
description: 'Press a single key, optionally with modifiers, using a TRUSTED CDP `Input.dispatchKeyEvent` sequence (`isTrusted: true`) — not a synthetic `KeyboardEvent` dispatched via `browser.evaluate`, which many rich text editors, autocompletes, and non-DOM runtimes (Qt-WASM, WebGL — see browser.canvas_screenshot) silently ignore. `key` accepts a human name (`Enter`, `Escape`, `Tab`, `Backspace`, `Delete`, `ArrowUp`/`ArrowDown`/`ArrowLeft`/`ArrowRight`, `Home`, `End`, `PageUp`, `PageDown`, `Space`), case-insensitive, or a single printable character, case-sensitive (`"a"` vs `"A"`, `"@"`). `modifiers` combines with the key for shortcuts (`Ctrl+A` = `{ key: "a", modifiers: ["Control"] }`). Pass `selector` to focus an element first (same deep Shadow DOM / iframe search as click/type/find); omit it to send the key to whatever currently has focus. Optionally waits for the page to settle after the key press — see `settle_ms`.',
|
|
824
|
+
description: 'Press a single key, optionally with modifiers, using a TRUSTED CDP `Input.dispatchKeyEvent` sequence (`isTrusted: true`) — not a synthetic `KeyboardEvent` dispatched via `browser.evaluate`, which many rich text editors, autocompletes, and non-DOM runtimes (Qt-WASM, WebGL — see browser.canvas_screenshot) silently ignore. `key` accepts a human name (`Enter`, `Escape`, `Tab`, `Backspace`, `Delete`, `ArrowUp`/`ArrowDown`/`ArrowLeft`/`ArrowRight`, `Home`, `End`, `PageUp`, `PageDown`, `Space`), case-insensitive, or a single printable character, case-sensitive (`"a"` vs `"A"`, `"@"`). `modifiers` combines with the key for shortcuts (`Ctrl+A` = `{ key: "a", modifiers: ["Control"] }`). Pass `selector` to focus an element first (same deep Shadow DOM / iframe search as click/type/find); omit it to send the key to whatever currently has focus. `ref` (an element ref from browser.snapshot / find / state) focuses that element instead of `selector`, with the same `reresolved` / `ref-stale` behaviour as browser.click. Optionally waits for the page to settle after the key press — see `settle_ms`.',
|
|
770
825
|
inputSchema: {
|
|
771
826
|
type: 'object',
|
|
772
827
|
properties: {
|
|
@@ -784,6 +839,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
784
839
|
type: 'string',
|
|
785
840
|
description: 'Optional. Focus this element (resolved via the same deep Shadow DOM / iframe search as browser.click) before dispatching the key. Omit to send the key to the currently focused element.',
|
|
786
841
|
},
|
|
842
|
+
ref: { ...REF_SCHEMA, description: 'Optional element ref to focus instead of selector.' },
|
|
787
843
|
...SETTLE_SCHEMA_PROPERTIES,
|
|
788
844
|
expect: EXPECT_SCHEMA,
|
|
789
845
|
},
|
|
@@ -798,6 +854,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
798
854
|
'A rich text editor, autocomplete widget, or non-DOM runtime (Qt-WASM, WebGL) that discards synthetic input dispatched via browser.evaluate and needs a REAL, isTrusted:true keystroke.',
|
|
799
855
|
],
|
|
800
856
|
gotchas: [
|
|
857
|
+
'`ref` follows the same rules as browser.click (`reresolved`, `ref-stale`, `observer-unavailable`). Without `selector` or `ref` the key goes to whatever has focus; giving both is an error.',
|
|
801
858
|
'For typing normal text into an input, use browser.type instead — it goes through the native value setter and is far cheaper per character than one browser.press call per keystroke.',
|
|
802
859
|
'For anything not covered by the named keys or a single character, browser.evaluate is the escape hatch — but note it produces isTrusted:false events, which some pages ignore.',
|
|
803
860
|
'Named keys are case-insensitive ("arrowup" works); single printable characters are case-SENSITIVE. Shift IS auto-added for characters that require it on a US layout — uppercase letters, shifted punctuation like "@" or "{" — so to type an uppercase letter just pass key:"A". Do NOT pass key:"a" with modifiers:["Shift"] expecting an "A": that inserts a lowercase "a" with shiftKey reported as held, a combination no physical keyboard produces.',
|
|
@@ -910,6 +967,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
910
967
|
type: 'string',
|
|
911
968
|
description: 'Optional — omit to use the implicit target from a preceding find step.',
|
|
912
969
|
},
|
|
970
|
+
ref: { ...REF_SCHEMA, description: 'Element ref instead of selector.' },
|
|
913
971
|
force: { type: 'boolean' },
|
|
914
972
|
settle_ms: { type: 'number' },
|
|
915
973
|
settle_timeout_ms: { type: 'number' },
|
|
@@ -931,6 +989,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
931
989
|
type: 'string',
|
|
932
990
|
description: 'Optional — omit to use the implicit target, or to type into whatever currently has focus.',
|
|
933
991
|
},
|
|
992
|
+
ref: { ...REF_SCHEMA, description: 'Element ref instead of selector.' },
|
|
934
993
|
text: { type: 'string' },
|
|
935
994
|
clear: { type: 'boolean' },
|
|
936
995
|
settle_ms: { type: 'number' },
|
|
@@ -959,6 +1018,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
959
1018
|
type: 'string',
|
|
960
1019
|
description: 'Optional — omit to use the implicit target, or to send the key to whatever currently has focus.',
|
|
961
1020
|
},
|
|
1021
|
+
ref: { ...REF_SCHEMA, description: 'Element ref instead of selector.' },
|
|
962
1022
|
settle_ms: { type: 'number' },
|
|
963
1023
|
settle_timeout_ms: { type: 'number' },
|
|
964
1024
|
expect: EXPECT_SCHEMA,
|
|
@@ -977,6 +1037,7 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
977
1037
|
type: 'object',
|
|
978
1038
|
properties: {
|
|
979
1039
|
selector: { type: 'string' },
|
|
1040
|
+
ref: REF_SCHEMA,
|
|
980
1041
|
condition: {
|
|
981
1042
|
type: 'string',
|
|
982
1043
|
enum: ['visible', 'hidden', 'attached', 'detached'],
|
|
@@ -987,9 +1048,10 @@ export const BROWSER_TOOL_DEFINITIONS = [
|
|
|
987
1048
|
poll_interval_ms: { type: 'number' },
|
|
988
1049
|
},
|
|
989
1050
|
additionalProperties: false,
|
|
990
|
-
description: 'Exactly one of selector | expression | network_url is required — same contract as standalone browser.wait_for.',
|
|
1051
|
+
description: 'Exactly one of selector | ref | expression | network_url is required — same contract as standalone browser.wait_for.',
|
|
991
1052
|
oneOf: [
|
|
992
1053
|
{ required: ['selector'] },
|
|
1054
|
+
{ required: ['ref'] },
|
|
993
1055
|
{ required: ['expression'] },
|
|
994
1056
|
{ required: ['network_url'] },
|
|
995
1057
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-definitions.js","sourceRoot":"","sources":["../../src/tools/browser-definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-definitions.js","sourceRoot":"","sources":["../../src/tools/browser-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,34 +148,27 @@ export type FlowValidationResult = {
|
|
|
148
148
|
ok: false;
|
|
149
149
|
error: string;
|
|
150
150
|
};
|
|
151
|
+
export interface SemanticKey {
|
|
152
|
+
role: string;
|
|
153
|
+
name: string;
|
|
154
|
+
path?: Array<{
|
|
155
|
+
tag: string;
|
|
156
|
+
index: number;
|
|
157
|
+
}>;
|
|
158
|
+
}
|
|
151
159
|
/**
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* in the same pass: base overhead + per-step slack + each wait_for's
|
|
161
|
-
* clamped `timeout_ms` + each settle-enabled action step's settle
|
|
162
|
-
* ceiling. A flow whose budget exceeds `MAX_FLOW_TIMEOUT_MS` is rejected
|
|
163
|
-
* with an actionable error instead of silently capping the enforced
|
|
164
|
-
* bridge timeout below the modeled need — see the ceiling constant's doc
|
|
165
|
-
* for why a mid-flow bridge timeout is worse than an up-front rejection.
|
|
166
|
-
*
|
|
167
|
-
* Deliberately loose on the "implicit target" check: it only confirms a
|
|
168
|
-
* `find` step exists SOMEWHERE earlier in the array before a selector-less
|
|
169
|
-
* `click` — it does not simulate the single-step-lookahead consumption
|
|
170
|
-
* rule `runFlow` enforces at runtime. A flow that passes this check can
|
|
171
|
-
* still fail at runtime with a clear per-step error; this check only
|
|
172
|
-
* catches the flows that could never possibly work.
|
|
173
|
-
*
|
|
174
|
-
* Exported so `map/tools.ts` can validate `browser.map.save`'s optional
|
|
175
|
-
* `flows` recipes with the EXACT same rules `browser.flow` itself enforces
|
|
176
|
-
* — a steps array `browser.flow` would reject must be rejected here too,
|
|
177
|
-
* never a second, slightly-different copy of this logic.
|
|
160
|
+
* Shape check for a semantic key `{ role, name, path }` — the observer's
|
|
161
|
+
* `semanticKeyFor` output, `find`'s `key` mode and the map's stored
|
|
162
|
+
* `semantic_key`. `role` is a non-empty string, `name` a string (an element
|
|
163
|
+
* can have an empty name), both at most 200 characters; `path`, when present
|
|
164
|
+
* (required with `requirePath`), is 1–8 `{ tag, index }` steps with a
|
|
165
|
+
* non-empty tag of at most 200 characters and a non-negative integer index
|
|
166
|
+
* (`#shadow` steps use 0). No other field is accepted. Returns the problem
|
|
167
|
+
* as a phrase to append after `key ` / `semantic_key `, or `null`.
|
|
178
168
|
*/
|
|
169
|
+
export declare function semanticKeyProblem(value: unknown, opts?: {
|
|
170
|
+
requirePath?: boolean;
|
|
171
|
+
}): string | null;
|
|
179
172
|
export declare function validateFlowSteps(input: unknown, opts?: {
|
|
180
173
|
allowRepeat?: boolean;
|
|
181
174
|
maxBudgetMs?: number;
|