@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.
Files changed (47) hide show
  1. package/bin/omnibot-windows-x64/VERSION +1 -1
  2. package/bin/omnibot-windows-x64/_asyncio.pyd +0 -0
  3. package/bin/omnibot-windows-x64/_bz2.pyd +0 -0
  4. package/bin/omnibot-windows-x64/_cffi_backend.pyd +0 -0
  5. package/bin/omnibot-windows-x64/_ctypes.pyd +0 -0
  6. package/bin/omnibot-windows-x64/_decimal.pyd +0 -0
  7. package/bin/omnibot-windows-x64/_hashlib.pyd +0 -0
  8. package/bin/omnibot-windows-x64/_lzma.pyd +0 -0
  9. package/bin/omnibot-windows-x64/_multiprocessing.pyd +0 -0
  10. package/bin/omnibot-windows-x64/_overlapped.pyd +0 -0
  11. package/bin/omnibot-windows-x64/_queue.pyd +0 -0
  12. package/bin/omnibot-windows-x64/_socket.pyd +0 -0
  13. package/bin/omnibot-windows-x64/_ssl.pyd +0 -0
  14. package/bin/omnibot-windows-x64/_uuid.pyd +0 -0
  15. package/bin/omnibot-windows-x64/_wmi.pyd +0 -0
  16. package/bin/omnibot-windows-x64/ada92cb5d92a588d1b93__mypyc.pyd +0 -0
  17. package/bin/omnibot-windows-x64/certifi/cacert.pem +0 -70
  18. package/bin/omnibot-windows-x64/charset_normalizer/cd.pyd +0 -0
  19. package/bin/omnibot-windows-x64/charset_normalizer/md.pyd +0 -0
  20. package/bin/omnibot-windows-x64/cryptography/hazmat/bindings/_rust.pyd +0 -0
  21. package/bin/omnibot-windows-x64/libcrypto-3-x64.dll +0 -0
  22. package/bin/omnibot-windows-x64/libffi-8.dll +0 -0
  23. package/bin/omnibot-windows-x64/libssl-3-x64.dll +0 -0
  24. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +285 -220
  25. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +65 -57
  26. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +736 -709
  27. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/css-only-dropdown-js.md +50 -50
  28. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +135 -129
  29. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +196 -177
  30. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +496 -432
  31. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +124 -121
  32. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +164 -164
  33. package/bin/omnibot-windows-x64/omnibot/sop/tmwebdriver_sop.md +128 -128
  34. package/bin/omnibot-windows-x64/omnibot/sop/vue3_component_sop.md +163 -163
  35. package/bin/omnibot-windows-x64/omnibot-windows-x64.exe +0 -0
  36. package/bin/omnibot-windows-x64/pyexpat.pyd +0 -0
  37. package/bin/omnibot-windows-x64/python3.dll +0 -0
  38. package/bin/omnibot-windows-x64/python313.dll +0 -0
  39. package/bin/omnibot-windows-x64/select.pyd +0 -0
  40. package/bin/omnibot-windows-x64/unicodedata.pyd +0 -0
  41. package/bin/omnibot-windows-x64/vcruntime140.dll +0 -0
  42. package/bin/omnibot-windows-x64/vcruntime140_1.dll +0 -0
  43. package/package.json +1 -1
  44. package/bin/omnibot-windows-x64/81d243bd2c585b0f4821__mypyc.pyd +0 -0
  45. package/bin/omnibot-windows-x64/libcrypto-3.dll +0 -0
  46. package/bin/omnibot-windows-x64/libssl-3.dll +0 -0
  47. 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
- ## Fallback Tier Model
11
-
12
- ### Tier 1 Semantic
13
-
14
- Use semantic intent first:
15
-
16
- ```bash
17
- OMNIBOT_SESSION_TOKEN=checkout omnibot find role button --name "Submit" --action click --tab-id <TAB_ID>
18
- OMNIBOT_SESSION_TOKEN=checkout omnibot find text "Sign in" --action click --tab-id <TAB_ID>
19
- OMNIBOT_SESSION_TOKEN=checkout omnibot find label "Email" --action fill --action-value "a@b.com" --tab-id <TAB_ID>
20
- OMNIBOT_SESSION_TOKEN=checkout omnibot find placeholder "Search" --action type --action-value "omnibot" --tab-id <TAB_ID>
21
- OMNIBOT_SESSION_TOKEN=checkout omnibot find testid submit-button --action click --tab-id <TAB_ID>
22
- ```
23
-
24
- Verify:
25
-
26
- ```bash
27
- OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
28
- ```
29
-
30
- ### Tier 2 Snapshot Refs
31
-
32
- Use refs when semantic targeting is missing or ambiguous.
33
-
34
- ```bash
35
- OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
36
- OMNIBOT_SESSION_TOKEN=checkout omnibot click --tab-id <TAB_ID> @e4
37
- OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
38
- ```
39
-
40
- Refs are tab-scoped. Never reuse `@eN` across tabs or after large DOM changes without a fresh snapshot.
41
-
42
- ## Selector Fallback
43
-
44
-
45
- ### Tier 3 Selector
46
-
47
- Use selectors only after semantic find and refs are unavailable or unreliable.
48
-
49
- ```bash
50
- OMNIBOT_SESSION_TOKEN=checkout omnibot click "button[type=submit]" --tab-id <TAB_ID>
51
- OMNIBOT_SESSION_TOKEN=checkout omnibot fill "input[name=email]" "a@b.com" --tab-id <TAB_ID>
52
- OMNIBOT_SESSION_TOKEN=checkout omnibot focus "input[name=email]" --tab-id <TAB_ID>
53
- OMNIBOT_SESSION_TOKEN=checkout omnibot get value "input[name=email]" --tab-id <TAB_ID>
54
- ```
55
-
56
- Verify with `get`, `is`, `wait`, or `snapshot`.
57
-
58
- ## DOM Fallback
59
-
60
- ### Tier 4 DOM
61
-
62
- Use DOM node fallback when selectors exist but standard commands fail due overlays, custom event routing, or unstable selectors.
63
-
64
- ```bash
65
- OMNIBOT_SESSION_TOKEN=repair omnibot dom visible --tab-id <TAB_ID>
66
- OMNIBOT_SESSION_TOKEN=repair omnibot dom click n1 --tab-id <TAB_ID>
67
- OMNIBOT_SESSION_TOKEN=repair omnibot dom dblclick n1 --tab-id <TAB_ID>
68
- OMNIBOT_SESSION_TOKEN=repair omnibot dom scroll n1 --dy 800 --tab-id <TAB_ID>
69
- OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
70
- ```
71
-
72
- 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.
73
-
74
- ## Mouse Fallback
75
-
76
- ### Tier 5 Mouse
77
-
78
- Use coordinate mouse operations only when element-based actions cannot reach the target.
79
-
80
- ```bash
81
- OMNIBOT_SESSION_TOKEN=repair omnibot get box "#canvas-button" --tab-id <TAB_ID>
82
- OMNIBOT_SESSION_TOKEN=repair omnibot mouse click --x 100 --y 200 --tab-id <TAB_ID>
83
- OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
84
- ```
85
-
86
- Other mouse operations:
87
-
88
- ```bash
89
- OMNIBOT_SESSION_TOKEN=repair omnibot mouse move --x 50 --y 60 --tab-id <TAB_ID>
90
- OMNIBOT_SESSION_TOKEN=repair omnibot mouse scroll --x 100 --y 200 --dy 500 --tab-id <TAB_ID>
91
- OMNIBOT_SESSION_TOKEN=repair omnibot mouse drag --from-x 10 --from-y 20 --to-x 100 --to-y 200 --tab-id <TAB_ID>
92
- ```
93
-
94
- Mouse fallback is fragile across viewport size, scroll position, and responsive layouts. Verify immediately.
95
-
96
- ## JavaScript Fallback
97
-
98
- ### Tier 6 JavaScript
99
-
100
- Do not use `execute-js` first.
101
-
102
- Use `execute-js` only when:
103
-
104
- - Semantic find fails.
105
- - Snapshot refs are unstable.
106
- - CSS selector operation fails.
107
- - DOM fallback fails.
108
- - A complex frontend event must be triggered.
109
- - 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.
110
- - Runtime state cannot be read through `read`, `snapshot`, `get`, or `is`.
111
-
112
- 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.
113
-
114
- Read-only JavaScript fallback:
115
-
116
- ```bash
117
- OMNIBOT_SESSION_TOKEN=repair omnibot execute-js "return window.appState?.status" --tab-id <TAB_ID>
118
- OMNIBOT_SESSION_TOKEN=repair omnibot get text "#status" --tab-id <TAB_ID>
119
- ```
120
-
121
- Input JavaScript fallback must trigger real browser events:
122
-
123
- ```bash
124
- 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>
125
- OMNIBOT_SESSION_TOKEN=repair omnibot get value "input[name=email]" --tab-id <TAB_ID>
126
- ```
127
-
128
- Click JavaScript fallback should call the element click only after higher tiers fail:
129
-
130
- ```bash
131
- OMNIBOT_SESSION_TOKEN=repair omnibot execute-js "document.querySelector('button[type=submit]')?.click(); return true;" --tab-id <TAB_ID>
132
- OMNIBOT_SESSION_TOKEN=repair omnibot wait --url "/dashboard" --tab-id <TAB_ID>
133
- ```
134
-
135
- ### CSS-only dropdown JavaScript fallback
136
-
137
- 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.
138
-
139
- 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.
140
-
141
- 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.
142
-
143
- Detailed recipe: `css-only-dropdown-js.md`.
144
-
145
- ```bash
146
- OMNIBOT_SESSION_TOKEN=repair omnibot execute-js --file /tmp/omnibot-css-dropdown.js --tab-id <TAB_ID>
147
- OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
148
- ```
149
-
150
- Prefer `--file` for longer scripts:
151
-
152
- ```bash
153
- OMNIBOT_SESSION_TOKEN=repair omnibot execute-js --file /tmp/omnibot-repair.js --tab-id <TAB_ID>
154
- OMNIBOT_SESSION_TOKEN=repair omnibot snapshot -i --tab-id <TAB_ID>
155
- ```
156
-
157
- ## Raw CDP Fallback
158
-
159
- ### Tier 7 Raw CDP
160
-
161
- Raw CDP is the last resort. Use it only when standard commands and JavaScript fallback cannot complete or inspect the task.
162
-
163
- ```bash
164
- OMNIBOT_SESSION_TOKEN=debug-checkout omnibot cdp Runtime.evaluate '{"expression":"document.title"}' --tab-id <TAB_ID>
165
- OMNIBOT_SESSION_TOKEN=debug-checkout omnibot cdp DOM.getDocument '{"depth":1}' --tab-id <TAB_ID>
166
- ```
167
-
168
- After CDP fallback, verify using normal Omnibot reads whenever possible:
169
-
170
- ```bash
171
- OMNIBOT_SESSION_TOKEN=debug-checkout omnibot get title --tab-id <TAB_ID>
172
- OMNIBOT_SESSION_TOKEN=debug-checkout omnibot snapshot -i --tab-id <TAB_ID>
173
- ```
174
-
175
- CDP can bypass application-level event semantics. Treat it as expert-only infrastructure access.
176
-
177
- 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.
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.