Diwall MCP

English
Download v0.0.1

When a page holds too much

One observation keeps at most 150 marks and 400 tree lines. What the server keeps first, how it flags what lies under a banner, and how the model narrows an observation to the part it needs.

The caps, and the order under them

One observation holds at most 150 marks and 400 tree lines. When a page has more, marks_truncated or tree_truncated reads true, and the server keeps, in this order:

  1. what belongs to a layer above the page, with all it holds: a dialog, a modal node, or a node fixed or sticky that paints over content in view, such as a cookie banner, or a sticky header once the page has scrolled under it. Its tree lines come first, under a line overlay "layer above the page";
  2. what is in view and not covered;
  3. what is in view under a layer, flagged covered: true: the layer would take the click, so a click on it is refused (element_obscured);
  4. the rest, in document order.

The marks kept are numbered from 1 in document order. A page under the caps is read whole, with neither covered nor the overlay line.

The order exists because of where a consent banner sits: fixed over the view, but late in the document. Kept in document order, it was cut, and the buttons under it were offered to the model as if a click could reach them. On a test page of 643 things to click with a banner fixed over its lower part, the three buttons of the banner are now marked and listed first, the elements under it read covered, and a click on Refuse by its mark takes the banner away.

Layers are told from the snapshot alone, by paint order and pointer events, without one call per element; a fixed container around the whole page is not a layer. The cases this does not settle are on Limits.

Narrowing an observation

observe takes two optional parameters that shrink the tree and the elements before the caps apply. Neither changes the page nor the image.

ParameterKeeps
regionthe subtree of one landmark, and every landmark of that name: banner, navigation, main, contentinfo, complementary, form, search or dialog
containsthe tree lines that carry a text, compared without case, accents or extra spaces, with their ancestors and two lines of context on each side

The two combine. The marks that remain are numbered again from 1, for that observation only, and counters gains lines_before_filter, lines_after_filter and, with region, region_found, which reads false when the page has no such landmark: an empty tree, not an error.

contains reads the tree after the values of sensitive fields are withheld. A text that is only the value of a password field returns nothing, so the parameter cannot be used to guess a password.