|
Download docs/ACTIONS.md from candypunk/NanoJev-Web: direct link, hf CLI and curl.
- Browser
- Download file 5.15 kB
-
https://huggingface.co/candypunk/NanoJev-Web/resolve/a0a92548a66461b131e20c6f5fee1e5d2f7ceaec/docs/ACTIONS.md
- Command line
-
hf download hf://candypunk/NanoJev-Web@a0a92548a66461b131e20c6f5fee1e5d2f7ceaec/docs/ACTIONS.md
-
curl -L -o ACTIONS.md https://huggingface.co/candypunk/NanoJev-Web/resolve/a0a92548a66461b131e20c6f5fee1e5d2f7ceaec/docs/ACTIONS.md
5.15 kB
| # Browser action reference | |
| The host supplies an explicit task contract: URL, allowed origins, selectors, labels, desired values, optional preconditions and success conditions. NanoJev-Web chooses an action ID. The executor re-observes the page before executing it and rejects stale observations, ambiguous targets and disallowed navigation. | |
| | Action | Executor behavior | Host-supplied data / boundary | | |
| |---|---|---| | |
| | `fill` | Replace an input or textarea value | `selector`, `value`; text, email, telephone, URL, number, date, time and datetime-local. Native temporal segments use keyboard input. | | |
| | `type` | Focus, move to the end and type text | `value`; provide `finalValue` when appending to existing content. | | |
| | `clear` | Empty the target input | Explicitly permitted target. | | |
| | `select` | Select one native option | Option value. | | |
| | `multiselect` | Select several native options | Array of option values. | | |
| | `check` / `uncheck` | Set a checkbox state | Explicit desired boolean state. | | |
| | `radio` | Click the assigned radio option | Correct option is supplied by the host. | | |
| | `click` | Click an allowed element | Explicit purpose and expected postcondition when needed; supports switches through `aria-checked`. | | |
| | `open` | Click a reveal control | Opens a supplied dropdown/dialog trigger; it does not invent a URL. | | |
| | `option` | Click a custom dropdown option | Supplied option selector and postcondition. | | |
| | `hover` | Hover over an element | Expected revealed state should be supplied. | | |
| | `dblclick` | Double-click an element | Explicit target and postcondition. | | |
| | `drag` | Drag a source to a destination | Source `selector`, `destination` selector and expected result. | | |
| | `focus` | Focus an allowed control | Use a `focused` success condition. | | |
| | `press` | Send a permitted keyboard key/chord | `key`; host controls focus. macOS Escape uses agent-browser's documented keyboard stream. | | |
| | `add` / `remove` | Click an allowed add/remove control | Suitable for repeatable form rows with an explicit expected count/state. These are click aliases, not DOM modifications. | | |
| | `link` | Click a link | Actual destination must remain in the task's `allowedOrigins`. | | |
| | `tab` | Open an authorized URL or return to an owned parent tab | `mode: "open"` plus `url`, or `mode: "return"`; arbitrary tab discovery is not supported. | | |
| | `upload` | Supply an explicitly authorized local file to a file input | `value`: one path or an array. The host is responsible for authorizing these files. | | |
| | `scroll` | Scroll an offscreen target into view | Generated by the observer from an allowed control; it is not a task control operation. | | |
| | `WAIT` | Wait for the page's visible busy state to clear | No browser action is invented. | | |
| | `DONE` | Finish when the host's visible success condition is met | The host must separately verify saved data and business rules where required. | | |
| | `BLOCKED` | Stop for host assistance | No forced click, bypass or automatic substitute model. | | |
| **Frames:** a control may specify a `frame` selector for a same-origin iframe. The executor enters it for the action and returns to the main frame. `frame` is context on a control, not a standalone action. Cross-origin frames are outside this release's observation contract. | |
| **Observations:** snapshots, read-only DOM inspection, screenshots and audit reads belong to the host. They are not extra model actions. Candidate descriptions contain operation, purpose, current value-match state, assignment state, viewport visibility, enabled state and blocking state. Supplied values and selectors remain local. | |
| **Conditions:** `visible`, `absent`, `count`, `text`, `includes`, `attribute`, `property`, `value`, `focused`, `any` and `all` express expected states. Satisfied assigned controls and non-executable offscreen actions are removed from the choice set; the corresponding scroll action can remain. Optional distractors remain available so incorrect selection can be measured. | |
| **Unsupported work:** arbitrary JavaScript or shell execution, canvas/game control, CAPTCHA bypass, downloads, general file chooser exploration, cross-origin frame reading, autonomous workflow discovery and secret entry. Password fields stop the generic runner; PINs, OTPs and other secrets must stay with a dedicated host helper. Control allowlists do not grant permission for consequential real-world actions. | |
| ## Minimal task | |
| ```json | |
| { | |
| "name": "contact-test", | |
| "url": "http://127.0.0.1:9000/contact", | |
| "allowedOrigins": ["http://127.0.0.1:9000"], | |
| "controls": [ | |
| {"id":"name","op":"fill","selector":"#name","label":"Name","value":"Test Contact"}, | |
| {"id":"agree","op":"check","selector":"#agree","label":"Use test data"}, | |
| {"id":"save","op":"click","purpose":"submit","selector":"#save","label":"Save"} | |
| ], | |
| "success":{"selector":"#status","kind":"text","value":"Saved"} | |
| } | |
| ``` | |
| Replace the example URL and selectors with your own authorized page. `run.command` records evidence in `.local/runs/`. Define persistence and business checks in your host application. See the [integration guide](INTEGRATION.md) and [task template](../examples/browser-task.json). | |