Data and Files
Data is task information the navigator reads and fills by name. Files are what it attaches to upload fields.
Data
--navigator-data gives one value, and --navigator-data-json an object of them. The navigator sees every name and value in every prompt, and picks what the page asks for from it: “35–44” for an age of 37, or “California” for CA.
FILL takes a value exactly as given with data:NAME, and a form field labelled with the name is filled from it directly. A decision model such as typesafe is offered each value as a choice, so it can fill a form without a writer. An --llm-format-model formatter is given the data too, beside the account of the navigation.
Data is not secret: it reaches the model’s provider and appears in reproductions. Use a credential for anything the model must not see.
In a JSON object, nested names join with dots: {"address": {"city": "Leeds"}} is address.city, and an array’s items are numbered from 0. Numbers and booleans become text. null removes a name an earlier object set. Each object overrides the ones before it, every --navigator-data overrides them all, and a later --navigator-data overrides an earlier one. The names and values together hold at most 16,000 characters.
A server takes navigator_data and navigator_data_json from each request, and refuses both flags at startup. Over HTTP, navigator_data_json is an array of objects and URLs, sent by POST; the server reads no local file.
Files
--navigator-file offers a file by name. The navigator sees the name, never the path or the file’s contents. When the name matches a field’s label the file is attached directly; otherwise the navigator infers which file belongs in which field.
A page that opens the file chooser from its own button, with the input hidden, reaches the navigator with the accepted types, and the navigator attaches a provided file. With no file provided, the chooser is cancelled and the navigator is told the page asked for one.
The first attach records the file’s SHA-256. A later attach in the same run that finds different bytes fails with changed since first use, exit code 15.
Size Limit
--navigator-file-size-limit applies to every source. A path is measured at startup and again at each attach. A data URL is measured when the request is built, after its own 10 MB cap. A URL whose Content-Length exceeds the limit is refused before a byte is read; otherwise the body streams to disk and is discarded once it passes the limit.
URL Sources
A URL is fetched with a plain GET and ZShot’s user agent, through the same IP filter as the render, following redirects. The fetch carries no cookies and no page session, so a file behind the page’s login belongs on disk or in a data URL. The uploaded file takes the server’s Content-Disposition name, else the URL’s last path segment. A failed fetch exits with code 15.
Server
navigator_file is a name-to-source map of data URLs and http(s) URLs; the server reads no local files, and refuses the flag at startup. A data URL is capped at 10 MB and uploads as its name plus an extension for its MIME type. A failed URL fetch answers 502 with the file name and the failure class.