@omniaibot/win-x64 1.6.8 → 1.6.12

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.
@@ -1 +1 @@
1
- 1.6.8
1
+ 1.6.12
@@ -57,9 +57,15 @@ omnibot --version
57
57
  If the current workspace contains `pyproject.toml` and the global command is not the workspace version, run the test commands as `uv run omnibot ...` (or use the workspace `.venv/bin/omnibot`) so the agent exercises the code under test. Do not infer command support from memory or from a different packaged version; run the relevant subcommand `--help` after selecting the runtime.
58
58
 
59
59
  For a source-checkout test, make this concrete before the first browser action:
60
+ define the command prefix once:
61
+
62
+ ```bash
63
+ export OMNIBOT="uv run omnibot --no-start"
64
+ ```
65
+
60
66
  stop any existing daemon, start the workspace daemon with
61
67
  `uv run python -m omnibot --api-port 18764 --ws-port 18765 daemon run`, and
62
- invoke every subsequent CLI command as `uv run omnibot --no-start ...` (or the
68
+ invoke every subsequent CLI command as `$OMNIBOT ...` (or the
63
69
  workspace `.venv/bin/omnibot --no-start ...`). Never use bare `omnibot` in that
64
70
  workflow, because it can auto-start the globally installed packaged daemon and
65
71
  silently test different code.
@@ -71,6 +77,16 @@ Before any page-state operation, choose the narrowest native command that expres
71
77
  | Intent | Native command path | Do not start with |
72
78
  | --- | --- | --- |
73
79
  | Current page identity | `get title`, `get url`, then `snapshot -i` or `read` if needed | `execute-js "return document.title/location.href"` |
80
+ | Browser history | `browser history [text]` (also `history search [text]`) | reading browser history through page JavaScript |
81
+ | Bookmarks | `browser bookmarks` (also `bookmarks tree`) | reading the browser bookmark tree |
82
+ | Downloads | `browser downloads [terms]` (also `downloads search [terms]`, `downloads open <id>`) | inspecting/opening browser downloads |
83
+ | Recently closed | `browser recently-closed` | reading recently closed tabs/windows |
84
+ | Top sites | `browser top-sites` | reading browser frequent/top sites |
85
+ | Installed extensions | `browser extensions` | listing extension name, ID, enabled state, type, and version (read-only) |
86
+ | Content settings | `browser content-settings [TYPE] [URL]` | reading site permission state, default `automaticDownloads` (read-only) |
87
+ | Mouse visual state | `browser mouse-visual-state --tab-id <TAB_ID>` | verifying the extension cursor overlay and asset load state (read-only diagnostic) |
88
+ | Notifications | `browser notify <title> [message]` | showing a browser notification |
89
+ | Tab groups | `tab group <TAB_ID> [NAME]`, `tab group-info <TAB_ID>`, `tab ungroup <TAB_ID>` | grouping and inspecting browser tabs |
74
90
  | Page text/content | `read --screens N`, `get text`, `get html`, `get attr`, `get count` | `execute-js "document.body.innerText"` |
75
91
  | Iframe context | `frame <iframe-id/name/title/src>`, then `snapshot`/page-state commands | Assuming host selectors reach child frames |
76
92
  | Click | `find ... --action click` -> `snapshot -i` + `click @eN` -> `click selector` -> `dom click` -> `mouse click` | `document.querySelector(...).click()` |
@@ -82,6 +98,14 @@ If you are about to write `document.querySelector`, `document.body.innerText`, `
82
98
 
83
99
  Text entry rule: when the user asks to enter, type, fill, or replace text, use `fill` or `type`. `keyboard` and `press` dispatch key events for shortcuts and key semantics; they are not text insertion commands and must not be substituted for text entry.
84
100
 
101
+ Form commit rule: after `fill`, `type`, `select`, `check`, `uncheck`, or `upload`, verify the control itself with `get value`, `get attr`, or `is` before judging the workflow. Many pages keep a separate saved/rendered status that does not change until a visible `Save`, `Apply`, `Submit`, or equivalent control is activated. If such a commit control exists and the task expects business-state verification, observe it, activate it with a native command, then verify the resulting status. Do not report a form action as failed merely because an unrelated status element is still stale, and do not report it as complete without verifying both the control value and any required commit result.
102
+
103
+ Form terminal-timeout rule: keep form workflows as short observe → one control action → one verification steps. If a terminal call times out after `fill`, `select`, `check`, or `Save`, query the browser state first; do not repeat the action blindly because the browser may already have applied it. Continue from the first unverified control and finish with one commit click plus one final status read.
104
+
105
+ Mutation retry rule: issue at most one mutating browser command (`fill`, `type`, `select`, `check`, `uncheck`, `click`, `dblclick`, `drag`, `upload`, or `navigate`) per agent request. If its terminal output is empty, delayed, or times out, the next request must be read-only (`get`, `is`, `snapshot`, `read`, `tabs`, or `wait`) to determine whether the mutation already happened. Never replay the mutation merely because the tool response was missing; duplicate fills can append text and duplicate clicks can change business state.
106
+
107
+ Drag performance rule: selector-based `drag` may take longer than a terminal tool's short default timeout because it dispatches a human-like event sequence. For agent workflows where exact trajectory is not required, prefer `snapshot -i` plus coordinate `mouse drag --fast` after verifying source/target boxes; then verify the target state. If semantic `drag` is required, allow a longer command timeout and do not retry blindly while the first drag may still be running.
108
+
85
109
  Clipboard rule: both `clipboard read` and `clipboard write` require the explicit
86
110
  `--tab-id <TAB_ID>` on every invocation, even though the clipboard is shared by
87
111
  the browser extension. If no tab id is known, discover a safe target tab first;
@@ -144,6 +168,7 @@ Targeting categories:
144
168
  Navigation safety invariant:
145
169
 
146
170
  - When the task says "open", "open a new tab", or "create a test page", use `open <URL>` or `tab new <URL>` and use the returned tab id. Do not substitute `goto`, plain `navigate`, or the currently active tab.
171
+ - `navigate <URL>` also opens a new tab by default; `navigate <URL> --new-tab` is an explicit equivalent accepted for agent compatibility. Use `navigate <URL> --same-tab --tab-id <TAB_ID>` only for deliberate same-tab reuse.
147
172
  - Use `goto --tab-id <TAB_ID>` or `navigate --same-tab --tab-id <TAB_ID>` only when the task explicitly asks to reuse an existing tab.
148
173
  - After creating a tab, verify `get url --tab-id <TAB_ID>` before any clipboard, upload, form, or other page-state operation. This prevents a failed or misinterpreted tab-creation result from mutating a user-owned page.
149
174
  - Tool-created tabs are temporary workflow resources and may be auto-closed by cleanup after inactivity. Complete the intended tab workflow in the same token/context, keep the returned tab id, and do not assume it will still exist after a long model pause or a separate one-shot agent process. If a later close reports `not found`, re-list tabs before retrying; the cleanup may already have closed it.
@@ -189,12 +214,28 @@ Choose by intent before choosing by command name:
189
214
  | Intent | Prefer | Why |
190
215
  | --- | --- | --- |
191
216
  | Summarize or extract page content, article text, search results, feeds, or long/lazy pages | `read` | Returns clean text/Markdown for agent reasoning. |
192
- | Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns actionable refs and page structure for routing. |
217
+ | Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns interactive refs plus visual-region refs for screenshot targeting. |
193
218
  | Find buttons, links, inputs, or refs for a later action | `find` or `snapshot -i` | Produces actionable targets; `read` does not. |
194
219
  | Verify one concrete condition | `get`, `is`, or `wait` | Narrow evidence is more reliable than dumping a page. |
195
220
 
196
221
  Do not use `read` as the first step for click/fill workflows unless the user explicitly asked for page content first.
197
222
 
223
+ ## Screenshots And Visual Regions
224
+
225
+ `screenshot --tab-id <TAB_ID>` without `--ref` remains a full current-viewport screenshot.
226
+ For a specific visual region, run `snapshot -i` and choose a ref marked `[visual=true]`, such as
227
+ `article`, `region`, `dialog`, `listitem`, `image`, or `video`:
228
+
229
+ ```bash
230
+ OMNIBOT_SESSION_TOKEN=visual omnibot snapshot -i --tab-id <TAB_ID>
231
+ OMNIBOT_SESSION_TOKEN=visual omnibot screenshot --ref @e146 --tab-id <TAB_ID> -o /tmp/region.png
232
+ ```
233
+
234
+ Visual-region refs are intended for complete content containers, cards, posts, dialogs, media, and similar areas.
235
+ Do not screenshot a button, link, or textbox as a standalone target unless the user explicitly asks for that control.
236
+ The ref screenshot path re-resolves the live DOM node, scrolls it into view, waits for layout to settle, and then captures its region.
237
+ After `read` or scrolling, refresh the snapshot before using a stale ref. Raw `get box` plus `cdp Page.captureScreenshot` is not the normal screenshot workflow.
238
+
198
239
  ## Dropdowns And Custom Comboboxes
199
240
 
200
241
  `snapshot -i` may auto-probe visible custom comboboxes and append their options as refs. If the output lists `@eN [option] "..."`, click that option ref directly; Omnibot will reopen the owning combobox through `openerSelector` if the dropdown closed during snapshot.
@@ -112,7 +112,7 @@ Fallback relation: Prefer for page content. Use `snapshot -i` when the next step
112
112
 
113
113
  ### snapshot -i
114
114
 
115
- Purpose: Read accessibility tree and produce actionable `@eN` refs.
115
+ Purpose: Read accessibility tree and produce actionable `@eN` refs. With `-i`, it includes both interactive refs and visual-region refs marked `[visual=true]` for targeted screenshots.
116
116
 
117
117
  For visible custom comboboxes, `snapshot -i` may auto-probe options and append `[option]` refs under DOM Popup Controls. These refs remain actionable after the dropdown closes because they carry `openerSelector` internally.
118
118
 
@@ -351,6 +351,13 @@ Fallback relation: Tier 1. Explain failure before using refs, selectors, DOM, mo
351
351
  ### mouse
352
352
 
353
353
  Purpose: Coordinate-based mouse operations.
354
+
355
+ All coordinate mouse operations are mirrored in the connected extension's
356
+ visible page: a cursor, movement trail, pressed state, drag path, and click
357
+ wave are shown at the same viewport coordinates as the dispatched input. The
358
+ visual layer is best-effort and never changes whether the underlying action
359
+ succeeds. It is recreated after a page reload when the last mouse position is
360
+ known.
354
361
  Usage tier: Tier 5 fallback only.
355
362
 
356
363
  > **Development status:** The realistic trajectory mode (`mouse drag` without `--fast`) is experimental and has not been validated in production workflows. The trajectory parameters, step count, and timing are still being tuned. Use `--fast` for stable linear drags until the realistic mode is proven.
@@ -556,9 +563,16 @@ Purpose: Capture visual evidence from a browser tab.
556
563
 
557
564
  ```bash
558
565
  OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --tab-id <TAB_ID> -o /tmp/omni-shot.png
566
+ OMNIBOT_SESSION_TOKEN=debug-checkout omnibot snapshot -i --tab-id <TAB_ID>
567
+ OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --ref @e146 --tab-id <TAB_ID> -o /tmp/omni-region.png
559
568
  OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --annotate --tab-id <TAB_ID> -o /tmp/omni-annotated.png
560
569
  ```
561
570
 
571
+ Without `--ref`, screenshot captures the current viewport. `--ref` accepts a visual ref marked
572
+ `[visual=true]`, such as `[article]`, `[region]`, `[dialog]`, `[listitem]`, `[image]`, or `[video]`.
573
+ Do not use ordinary button/link/textbox refs as standalone screenshot targets. Re-run `snapshot -i`
574
+ after scrolling or `read` before using a ref that may be stale.
575
+
562
576
  Preferred pattern: See `debugging-and-evidence.md#screenshot`.
563
577
  Fallback relation: Evidence collection, not operation fallback.
564
578
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniaibot/win-x64",
3
- "version": "1.6.8",
3
+ "version": "1.6.12",
4
4
  "description": "omnibot executable for Windows x64",
5
5
  "os": [
6
6
  "win32"