@omniaibot/win-x64 1.1.0 → 1.1.6

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.
Files changed (19) hide show
  1. package/bin/omnibot-windows-x64/VERSION +1 -1
  2. package/bin/omnibot-windows-x64/omnibot/SKILL.md +189 -0
  3. package/bin/omnibot-windows-x64/omnibot/references/anti-patterns.md +37 -0
  4. package/bin/omnibot-windows-x64/omnibot/references/command-reference.md +605 -0
  5. package/bin/omnibot-windows-x64/omnibot/references/debugging-and-evidence.md +95 -0
  6. package/bin/omnibot-windows-x64/omnibot/references/fallback-operations.md +216 -0
  7. package/bin/omnibot-windows-x64/omnibot/references/operation-patterns.md +385 -0
  8. package/bin/omnibot-windows-x64/omnibot/references/runtime-and-status.md +111 -0
  9. package/bin/omnibot-windows-x64/omnibot/references/session-and-tabs.md +164 -0
  10. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +19 -3
  11. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +12 -4
  12. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +54 -28
  13. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +1 -1
  14. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +60 -1
  15. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +37 -21
  16. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +22 -0
  17. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +44 -28
  18. package/bin/omnibot-windows-x64/omnibot-windows-x64.exe +0 -0
  19. package/package.json +2 -2
@@ -6,24 +6,25 @@ Use this file to choose behavior by task. Every page-state workflow must set `OM
6
6
 
7
7
  ### When to use
8
8
 
9
- Use Read when the agent needs current browser state, page text, a single value, visibility, enabled/checked state, layout box, or computed styles.
9
+ Use Read when the agent needs clean rendered page content: article text, search results, feed items, long pages, lazy-loaded text, or a human-readable summary source.
10
+
11
+ Use targeted state commands when the agent needs one value, visibility, enabled/checked state, layout box, or computed styles. Use `snapshot -i` when the agent needs current visible UI structure for deciding the next action.
10
12
 
11
13
  ### Preferred sequence
12
14
 
13
- 1. `get title/url/text/html/value/attr/count/box/styles`
14
- 2. `is visible/enabled/checked`
15
- 3. `scan --json`
16
- 4. `full-scan`
17
- 5. `snapshot -i`
18
- 6. `dom visible`
19
- 7. `execute-js` fallback
15
+ 1. `read --tab-id <TAB_ID>` for clean page text on an existing tab.
16
+ 2. `read --screens N --tab-id <TAB_ID>` for longer or lazy-loaded pages.
17
+ 3. `read <URL>` when opening a temporary tab only for reading that URL.
18
+ 4. `get title/url/text/html/value/attr/count/box/styles` for narrow evidence.
19
+ 5. `is visible/enabled/checked` for boolean state.
20
+ 5. `snapshot -i` when actionable refs are needed.
21
+ 6. `dom visible` or `execute-js` fallback only after standard reads cannot access the state.
20
22
 
21
23
  ### Example
22
24
 
23
25
  ```bash
24
- OMNIBOT_SESSION_TOKEN=research omnibot get title --tab-id <TAB_ID>
25
- OMNIBOT_SESSION_TOKEN=research omnibot get url --tab-id <TAB_ID>
26
- OMNIBOT_SESSION_TOKEN=research omnibot get text "#main" --tab-id <TAB_ID>
26
+ OMNIBOT_SESSION_TOKEN=research omnibot read --screens 5 --tab-id <TAB_ID>
27
+ OMNIBOT_SESSION_TOKEN=research omnibot read --screens 3 https://example.com/article
27
28
  ```
28
29
 
29
30
  ### Verification
@@ -31,13 +32,14 @@ OMNIBOT_SESSION_TOKEN=research omnibot get text "#main" --tab-id <TAB_ID>
31
32
  Use the narrowest read that proves the claim:
32
33
 
33
34
  ```bash
35
+ OMNIBOT_SESSION_TOKEN=research omnibot get title --tab-id <TAB_ID>
34
36
  OMNIBOT_SESSION_TOKEN=research omnibot is visible "#main" --tab-id <TAB_ID>
35
37
  OMNIBOT_SESSION_TOKEN=research omnibot get count ".result" --tab-id <TAB_ID>
36
38
  ```
37
39
 
38
40
  ### Fallback entry point
39
41
 
40
- If targeted reads fail or omit needed runtime state, go to `fallback-operations.md#fallback-tier-model`. Start with DOM fallback before JavaScript.
42
+ If `read` or targeted reads omit needed runtime state, go to `fallback-operations.md#fallback-tier-model`. Start with DOM fallback before JavaScript.
41
43
 
42
44
  ## Click
43
45
 
@@ -158,9 +160,23 @@ OMNIBOT_SESSION_TOKEN=form omnibot is checked "#agree" --tab-id <TAB_ID>
158
160
 
159
161
  For checkboxes, verify boolean state. For selects, verify value or dependent page state.
160
162
 
163
+ ### CSS-only dropdowns and custom menus
164
+
165
+ Some dropdowns, hover menus, tooltips, and custom selects are CSS-only widgets. The visible trigger may be accessible, while the option nodes are hidden `<div>` elements without `role`, accessible name, or stable refs.
166
+
167
+ Use this evidence path before JavaScript:
168
+
169
+ 1. Try semantic `find` or a normal `select`/`click` against the trigger.
170
+ 2. Verify whether the selected label, result order, or dependent state changed.
171
+ 3. Run `snapshot -i` after opening the control.
172
+ 4. If the trigger clicked but options are absent from the accessibility tree, do not keep retrying `find` or stale refs.
173
+ 5. Escalate to `fallback-operations.md#css-only-dropdown-javascript-fallback` for an atomic open-then-select script.
174
+
175
+ `snapshot -i` not showing an option does not prove the DOM node is missing. It may only prove the widget is not exposed through the accessibility tree.
176
+
161
177
  ### Fallback entry point
162
178
 
163
- If native select/check fails, use `fallback-operations.md#selector-fallback`, then JavaScript only if events must be synthesized.
179
+ If native select/check fails, use `fallback-operations.md#selector-fallback`. Use JavaScript only if events must be synthesized or if evidence shows a CSS-only multi-step widget cannot be completed through semantic, snapshot, selector, DOM, or mouse tiers.
164
180
 
165
181
  ## Navigation
166
182
 
@@ -221,7 +237,7 @@ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
221
237
 
222
238
  ### Fallback entry point
223
239
 
224
- `switch-tab` cannot be used as a reliable base for multi-step workflows. Use it only for casual single-step work. If targeted same-tab navigation is unavailable, state the limitation, re-observe the tab list, and verify before continuing.
240
+ Same-tab navigation must include `--tab-id <TAB_ID>`. If the target tab id is unknown, run `omnibot tabs` first and choose the intended tab explicitly.
225
241
 
226
242
  ## Wait
227
243
 
@@ -258,7 +274,7 @@ OMNIBOT_SESSION_TOKEN=checkout omnibot wait --fn "window.appReady === true" --ta
258
274
 
259
275
  ### Verification
260
276
 
261
- After waiting, read the final condition with `get`, `is`, `scan`, or `snapshot`.
277
+ After waiting, read the final condition with `get`, `is`, `wait`, or `snapshot`.
262
278
 
263
279
  ### Fallback entry point
264
280
 
@@ -273,8 +289,8 @@ Use Extraction for retrieving page text, HTML fragments, links, counts, assets,
273
289
  ### Preferred sequence
274
290
 
275
291
  1. `get text/html/attr/count` for targeted extraction.
276
- 2. `scan --json` for structured viewport extraction.
277
- 3. `full-scan` for long or lazy pages.
292
+ 2. `read --screens N` for clean page text, long pages, or lazy-loaded content.
293
+ 3. `snapshot -i` for structured page observation before action planning.
278
294
  4. `assets list/export` for resources.
279
295
  5. `clipboard read` only when clipboard content is part of the task.
280
296
 
@@ -289,17 +305,17 @@ OMNIBOT_SESSION_TOKEN=extract omnibot get count ".result" --tab-id <TAB_ID>
289
305
  Long page example:
290
306
 
291
307
  ```bash
292
- OMNIBOT_SESSION_TOKEN=extract omnibot full-scan --duration 5 --text-only --tab-id <TAB_ID>
308
+ OMNIBOT_SESSION_TOKEN=extract omnibot read --screens 5 --tab-id <TAB_ID>
293
309
  OMNIBOT_SESSION_TOKEN=extract omnibot assets list --tab-id <TAB_ID>
294
310
  ```
295
311
 
296
312
  ### Verification
297
313
 
298
- Verify extraction completeness with count, repeated scan after scroll, or targeted reads for expected markers.
314
+ Verify extraction completeness with expected markers in `read`, element counts, or targeted reads for known selectors.
299
315
 
300
316
  ### Fallback entry point
301
317
 
302
- If content exists only in runtime objects, use `fallback-operations.md#javascript-fallback` after explaining why `scan`, `full-scan`, and `get` could not access it.
318
+ If content exists only in runtime objects, use `fallback-operations.md#javascript-fallback` after explaining why `read`, `snapshot`, and `get` could not access it.
303
319
 
304
320
  ## Upload
305
321
 
@@ -349,7 +365,7 @@ Use Batch for short, known-safe command chains where the target tab and verifica
349
365
  ### Example
350
366
 
351
367
  ```bash
352
- OMNIBOT_SESSION_TOKEN=research omnibot batch '[{"cmd":"scan"},{"cmd":"snapshot","interactive":true}]' --tab-id <TAB_ID>
368
+ OMNIBOT_SESSION_TOKEN=research omnibot batch '[{"cmd":"snapshot","interactive":true}]' --tab-id <TAB_ID>
353
369
  OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
354
370
  ```
355
371
 
@@ -8,6 +8,7 @@ Run this sequence before diagnosing browser failures:
8
8
 
9
9
  ```bash
10
10
  omnibot doctor
11
+ omnibot status
11
12
  omnibot tabs
12
13
  omnibot visibility status
13
14
  omnibot browser current
@@ -17,6 +18,7 @@ omnibot license status
17
18
  Interpretation:
18
19
 
19
20
  - `doctor` checks daemon and extension health.
21
+ - `status` checks daemon status only (lighter than `doctor`).
20
22
  - `tabs` proves connected tabs are visible and provides tab ids.
21
23
  - `visibility status` shows whether automation is visible, background, dedicated-profile, or headless.
22
24
  - `browser current` shows current browser runtime ownership.
@@ -24,6 +26,26 @@ Interpretation:
24
26
 
25
27
  If the extension is not connected, open Chrome or Edge with the omnibot extension loaded and keep an HTTP/HTTPS page open.
26
28
 
29
+ ## Daemon Lifecycle
30
+
31
+ Top-level shortcuts:
32
+
33
+ ```bash
34
+ omnibot status # Show daemon status
35
+ omnibot start # Start the daemon
36
+ omnibot stop # Stop the daemon
37
+ omnibot run # Run daemon in foreground
38
+ ```
39
+
40
+ Full form (also supported):
41
+
42
+ ```bash
43
+ omnibot daemon run
44
+ omnibot daemon start
45
+ omnibot daemon stop
46
+ omnibot daemon status
47
+ ```
48
+
27
49
  ## doctor
28
50
 
29
51
  ```bash
@@ -25,6 +25,47 @@ OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
25
25
 
26
26
  Do not rely on default tab, active tab, current tab, or previous targeting state.
27
27
 
28
+ ## Explicit Targeting Model
29
+
30
+ Page-state commands never infer a target tab. Always pass `--tab-id <TAB_ID>` for commands that read or mutate page state.
31
+
32
+ Transport selection is internal. Omnibot may use any connected extension WebSocket to deliver extension-level commands, but that transport tab is never the page target.
33
+
34
+ Do not use the first returned tab, `tabs[0]`, browser active tab, newest tab, or prior command state as a target.
35
+
36
+ ## Transport Is Not Target
37
+
38
+ Omnibot can send extension commands through any connected extension WebSocket tab. That transport tab is not the page target. The target is only the tab id passed in the command, for example `--tab-id edge-client:123`.
39
+
40
+ Safe sequence:
41
+
42
+ ```bash
43
+ OMNIBOT_SESSION_TOKEN=research omnibot navigate https://example.com
44
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id edge-client:123
45
+ OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id edge-client:123 @e4
46
+ OMNIBOT_SESSION_TOKEN=research omnibot wait --text "Saved" --tab-id edge-client:123
47
+ ```
48
+
49
+ Unsafe sequence:
50
+
51
+ ```bash
52
+ OMNIBOT_SESSION_TOKEN=research omnibot tabs
53
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i
54
+ ```
55
+
56
+ The unsafe sequence has no target. Do not infer target from first tab, active tab, or prior operation.
57
+
58
+ ## Safe Browser Test Cleanup
59
+
60
+ Browser integration tests must only close tabs they created:
61
+
62
+ 1. Record the list of existing tabs before creating fixtures.
63
+ 2. Create a unique fixture tab per case.
64
+ 3. Store the returned full tab id.
65
+ 4. Pass that id to every page-state command.
66
+ 5. Close only stored fixture ids in cleanup.
67
+ 6. Verify user tabs remain present after the test.
68
+
28
69
  ## Why Both
29
70
 
30
71
  - Session = workflow isolation.
@@ -80,36 +121,11 @@ OMNIBOT_SESSION_TOKEN=research omnibot get url --tab-id <TAB_ID>
80
121
  OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
81
122
  ```
82
123
 
83
- ## switch-tab
84
-
85
- `switch-tab` is only for casual single-step usage.
124
+ ## No Implicit Targeting
86
125
 
87
- Do not build a multi-step workflow on `switch-tab`. It creates implicit state and can be stale or crossed by concurrent agents.
126
+ Omnibot does not provide a workflow-level current tab command. Every command that reads or changes page state must receive `--tab-id <TAB_ID>` in that command invocation.
88
127
 
89
- Bad:
90
-
91
- ```bash
92
- OMNIBOT_SESSION_TOKEN=research omnibot switch-tab 123
93
- OMNIBOT_SESSION_TOKEN=research omnibot click @e4
94
- ```
95
-
96
- Good:
97
-
98
- ```bash
99
- OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id 123 @e4
100
- OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id 123
101
- ```
102
-
103
- ## focus-tab
104
-
105
- Use `focus-tab` only when the user needs to see the browser UI.
106
-
107
- It is not a reliable targeting primitive for agent workflows.
108
-
109
- ```bash
110
- OMNIBOT_SESSION_TOKEN=demo omnibot focus-tab 123
111
- OMNIBOT_SESSION_TOKEN=demo omnibot snapshot -i --tab-id 123
112
- ```
128
+ This prevents stale target state and cross-agent tab confusion.
113
129
 
114
130
  ## browser claim/release
115
131
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniaibot/win-x64",
3
- "version": "1.1.0",
3
+ "version": "1.1.6",
4
4
  "description": "omnibot executable for Windows x64",
5
5
  "os": [
6
6
  "win32"
@@ -15,9 +15,9 @@
15
15
  "bin/"
16
16
  ],
17
17
  "keywords": [
18
- "mcp",
19
18
  "browser",
20
19
  "automation",
20
+ "agent",
21
21
  "omnibot"
22
22
  ],
23
23
  "author": "Unagi-cq",