@omniaibot/win-x64 1.6.7 → 1.6.8
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.
- package/bin/omnibot-windows-x64/VERSION +1 -1
- package/bin/omnibot-windows-x64/_asyncio.pyd +0 -0
- package/bin/omnibot-windows-x64/_bz2.pyd +0 -0
- package/bin/omnibot-windows-x64/_cffi_backend.pyd +0 -0
- package/bin/omnibot-windows-x64/_ctypes.pyd +0 -0
- package/bin/omnibot-windows-x64/_decimal.pyd +0 -0
- package/bin/omnibot-windows-x64/_hashlib.pyd +0 -0
- package/bin/omnibot-windows-x64/_lzma.pyd +0 -0
- package/bin/omnibot-windows-x64/_multiprocessing.pyd +0 -0
- package/bin/omnibot-windows-x64/_overlapped.pyd +0 -0
- package/bin/omnibot-windows-x64/_queue.pyd +0 -0
- package/bin/omnibot-windows-x64/_socket.pyd +0 -0
- package/bin/omnibot-windows-x64/_ssl.pyd +0 -0
- package/bin/omnibot-windows-x64/_uuid.pyd +0 -0
- package/bin/omnibot-windows-x64/_wmi.pyd +0 -0
- package/bin/omnibot-windows-x64/ada92cb5d92a588d1b93__mypyc.pyd +0 -0
- package/bin/omnibot-windows-x64/certifi/cacert.pem +0 -70
- package/bin/omnibot-windows-x64/charset_normalizer/cd.pyd +0 -0
- package/bin/omnibot-windows-x64/charset_normalizer/md.pyd +0 -0
- package/bin/omnibot-windows-x64/cryptography/hazmat/bindings/_rust.pyd +0 -0
- package/bin/omnibot-windows-x64/libcrypto-3-x64.dll +0 -0
- package/bin/omnibot-windows-x64/libffi-8.dll +0 -0
- package/bin/omnibot-windows-x64/libssl-3-x64.dll +0 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +285 -220
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +65 -57
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +736 -709
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/css-only-dropdown-js.md +50 -50
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +135 -129
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +196 -177
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +496 -432
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +124 -121
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +164 -164
- package/bin/omnibot-windows-x64/omnibot/sop/tmwebdriver_sop.md +128 -128
- package/bin/omnibot-windows-x64/omnibot/sop/vue3_component_sop.md +163 -163
- package/bin/omnibot-windows-x64/omnibot-windows-x64.exe +0 -0
- package/bin/omnibot-windows-x64/pyexpat.pyd +0 -0
- package/bin/omnibot-windows-x64/python3.dll +0 -0
- package/bin/omnibot-windows-x64/python313.dll +0 -0
- package/bin/omnibot-windows-x64/select.pyd +0 -0
- package/bin/omnibot-windows-x64/unicodedata.pyd +0 -0
- package/bin/omnibot-windows-x64/vcruntime140.dll +0 -0
- package/bin/omnibot-windows-x64/vcruntime140_1.dll +0 -0
- package/package.json +1 -1
- package/bin/omnibot-windows-x64/81d243bd2c585b0f4821__mypyc.pyd +0 -0
- package/bin/omnibot-windows-x64/libcrypto-3.dll +0 -0
- package/bin/omnibot-windows-x64/libssl-3.dll +0 -0
- package/bin/omnibot-windows-x64/python312.dll +0 -0
|
@@ -1,177 +1,196 @@
|
|
|
1
|
-
# Fallback Operations
|
|
2
|
-
|
|
3
|
-
Fallback is for completing operations after preferred patterns fail. It is not debugging. Debugging collects evidence; fallback changes page state.
|
|
4
|
-
|
|
5
|
-
Every fallback escalation must answer two questions:
|
|
6
|
-
|
|
7
|
-
- Which higher tier failed, and why?
|
|
8
|
-
- How will the result be verified?
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
OMNIBOT_SESSION_TOKEN=checkout omnibot
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
OMNIBOT_SESSION_TOKEN=checkout omnibot
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
OMNIBOT_SESSION_TOKEN=repair omnibot
|
|
91
|
-
OMNIBOT_SESSION_TOKEN=repair omnibot mouse
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
OMNIBOT_SESSION_TOKEN=
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
OMNIBOT_SESSION_TOKEN=
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
1
|
+
# Fallback Operations
|
|
2
|
+
|
|
3
|
+
Fallback is for completing operations after preferred patterns fail. It is not debugging. Debugging collects evidence; fallback changes page state.
|
|
4
|
+
|
|
5
|
+
Every fallback escalation must answer two questions:
|
|
6
|
+
|
|
7
|
+
- Which higher tier failed, and why?
|
|
8
|
+
- How will the result be verified?
|
|
9
|
+
|
|
10
|
+
Before using `execute-js`, the answer must include native-attempt evidence:
|
|
11
|
+
|
|
12
|
+
- The native command path already tried (`find`, `snapshot -i`, `click`, `fill`, `scroll`, `get`, `read`, `wait`, `dom`, or `mouse`).
|
|
13
|
+
- The observed failure or missing state.
|
|
14
|
+
- Why the next native tier is insufficient.
|
|
15
|
+
- The exact post-JS verification command.
|
|
16
|
+
|
|
17
|
+
If the task is normal page identity, text extraction, click, scroll, fill/type, or wait, and you do not have that evidence, go back to `operation-patterns.md#native-first-decision-gate`.
|
|
18
|
+
|
|
19
|
+
## Fallback Tier Model
|
|
20
|
+
|
|
21
|
+
### Tier 1 Semantic
|
|
22
|
+
|
|
23
|
+
Use semantic intent first:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find role button --name "Submit" --action click --tab-id <TAB_ID>
|
|
27
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find text "Sign in" --action click --tab-id <TAB_ID>
|
|
28
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find label "Email" --action fill --action-value "a@b.com" --tab-id <TAB_ID>
|
|
29
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find placeholder "Search" --action type --action-value "omnibot" --tab-id <TAB_ID>
|
|
30
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find testid submit-button --action click --tab-id <TAB_ID>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Verify:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Tier 2 Snapshot Refs
|
|
40
|
+
|
|
41
|
+
Use refs when semantic targeting is missing or ambiguous.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
|
|
45
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot click --tab-id <TAB_ID> @e4
|
|
46
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Refs are tab-scoped. Never reuse `@eN` across tabs or after large DOM changes without a fresh snapshot.
|
|
50
|
+
|
|
51
|
+
## Selector Fallback
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### Tier 3 Selector
|
|
55
|
+
|
|
56
|
+
Use selectors only after semantic find and refs are unavailable or unreliable.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot click "button[type=submit]" --tab-id <TAB_ID>
|
|
60
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot fill "input[name=email]" "a@b.com" --tab-id <TAB_ID>
|
|
61
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot focus "input[name=email]" --tab-id <TAB_ID>
|
|
62
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot get value "input[name=email]" --tab-id <TAB_ID>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Verify with `get`, `is`, `wait`, or `snapshot`.
|
|
66
|
+
|
|
67
|
+
## DOM Fallback
|
|
68
|
+
|
|
69
|
+
### Tier 4 DOM
|
|
70
|
+
|
|
71
|
+
Use DOM node fallback when selectors exist but standard commands fail due overlays, custom event routing, or unstable selectors.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot dom visible --tab-id <TAB_ID>
|
|
75
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot dom click n1 --tab-id <TAB_ID>
|
|
76
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot dom dblclick n1 --tab-id <TAB_ID>
|
|
77
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot dom scroll n1 --dy 800 --tab-id <TAB_ID>
|
|
78
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Do not use `dom` as the first click path. It bypasses higher-level intent and can target the wrong node if the visible-node list changes.
|
|
82
|
+
|
|
83
|
+
## Mouse Fallback
|
|
84
|
+
|
|
85
|
+
### Tier 5 Mouse
|
|
86
|
+
|
|
87
|
+
Use coordinate mouse operations only when element-based actions cannot reach the target.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot get box "#canvas-button" --tab-id <TAB_ID>
|
|
91
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot mouse click --x 100 --y 200 --tab-id <TAB_ID>
|
|
92
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Other mouse operations:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot mouse move --x 50 --y 60 --tab-id <TAB_ID>
|
|
99
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot mouse scroll --x 100 --y 200 --dy 500 --tab-id <TAB_ID>
|
|
100
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot mouse drag --from-x 10 --from-y 20 --to-x 100 --to-y 200 --tab-id <TAB_ID>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Mouse fallback is fragile across viewport size, scroll position, and responsive layouts. Verify immediately.
|
|
104
|
+
|
|
105
|
+
## JavaScript Fallback
|
|
106
|
+
|
|
107
|
+
### Tier 6 JavaScript
|
|
108
|
+
|
|
109
|
+
Do not use `execute-js` first.
|
|
110
|
+
|
|
111
|
+
Do not use JavaScript as a shortcut for native commands:
|
|
112
|
+
|
|
113
|
+
| Shortcut | Native command instead |
|
|
114
|
+
| --- | --- |
|
|
115
|
+
| `return document.title` / `location.href` | `get title`, `get url` |
|
|
116
|
+
| `document.body.innerText` | `read --screens N`, `get text` |
|
|
117
|
+
| `querySelector(...).click()` | `find ... --action click`, `click @eN`, `click selector` |
|
|
118
|
+
| `.value = ...` or `innerHTML = ...` | `fill`, `type`, richtext refs |
|
|
119
|
+
| `window.scrollTo` / `scrollIntoView()` | `scroll`, `scrollintoview`, `dom scroll`, `mouse scroll` |
|
|
120
|
+
|
|
121
|
+
Use `execute-js` only when:
|
|
122
|
+
|
|
123
|
+
- Semantic find fails.
|
|
124
|
+
- Snapshot refs are unstable.
|
|
125
|
+
- CSS selector operation fails.
|
|
126
|
+
- DOM fallback fails.
|
|
127
|
+
- A complex frontend event must be triggered.
|
|
128
|
+
- A CSS-only dropdown or hover menu requires an atomic open-then-select sequence, and `snapshot -i` confirms the option nodes are absent from the accessibility tree.
|
|
129
|
+
- Runtime state cannot be read through `read`, `snapshot`, `get`, or `is`.
|
|
130
|
+
|
|
131
|
+
Rich text article body editors (`@eN [richtext]`, `.ProseMirror`, `.ql-editor`, `[contenteditable="true"]`) have native `fill`/`type` support. Do not fall back to JavaScript for richtext writes; use `fill @richtext "..."` first.
|
|
132
|
+
|
|
133
|
+
Read-only JavaScript fallback:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot execute-js "return window.appState?.status" --tab-id <TAB_ID>
|
|
137
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot get text "#status" --tab-id <TAB_ID>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Input JavaScript fallback must trigger real browser events:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot execute-js "const el=document.querySelector('input[name=email]'); el.value='a@b.com'; el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); return el.value;" --tab-id <TAB_ID>
|
|
144
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot get value "input[name=email]" --tab-id <TAB_ID>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Click JavaScript fallback should call the element click only after higher tiers fail:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot execute-js "document.querySelector('button[type=submit]')?.click(); return true;" --tab-id <TAB_ID>
|
|
151
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot wait --url "/dashboard" --tab-id <TAB_ID>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### CSS-only dropdown JavaScript fallback
|
|
155
|
+
|
|
156
|
+
Use CSS-only dropdown JavaScript fallback only after auto-probed refs are absent or fail verification. First run `snapshot -i`; if it lists `[option]` refs, click the option ref directly. If the ref fails, re-observe once, then escalate.
|
|
157
|
+
|
|
158
|
+
Use this only after the trigger is known and higher tiers failed: semantic `find` clicked the trigger or found the text, `snapshot -i` could not expose option refs, selector/DOM/mouse could not complete the two-step interaction, and verification showed the selection did not change.
|
|
159
|
+
|
|
160
|
+
Use a short `execute-js --file` script and verify the user-visible result, not just `{ ok: true }`: selected label, sorted result order, result count, URL/query state, or another page-specific condition.
|
|
161
|
+
|
|
162
|
+
Detailed recipe: `css-only-dropdown-js.md`.
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot execute-js --file /tmp/omnibot-css-dropdown.js --tab-id <TAB_ID>
|
|
166
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Prefer `--file` for longer scripts:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot execute-js --file /tmp/omnibot-repair.js --tab-id <TAB_ID>
|
|
173
|
+
OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Raw CDP Fallback
|
|
177
|
+
|
|
178
|
+
### Tier 7 Raw CDP
|
|
179
|
+
|
|
180
|
+
Raw CDP is the last resort. Use it only when standard commands and JavaScript fallback cannot complete or inspect the task.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot cdp Runtime.evaluate '{"expression":"document.title"}' --tab-id <TAB_ID>
|
|
184
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot cdp DOM.getDocument '{"depth":1}' --tab-id <TAB_ID>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
After CDP fallback, verify using normal Omnibot reads whenever possible:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot get title --tab-id <TAB_ID>
|
|
191
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot snapshot -i --tab-id <TAB_ID>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
CDP can bypass application-level event semantics. Treat it as expert-only infrastructure access.
|
|
195
|
+
|
|
196
|
+
After any fallback succeeds unexpectedly, immediately verify page state with `get url`, `snapshot -i`, or `wait`. Do not continue assuming the previous page is still active.
|