@vforsh/argus 0.3.0 → 0.3.1

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,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Argus CDP Bridge",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "description": "Bridge CDP access for Argus without --remote-debugging-port",
6
6
  "permissions": ["cookies", "debugger", "tabs", "nativeMessaging", "storage"],
7
7
  "host_permissions": ["<all_urls>"],
@@ -112,6 +112,8 @@ argus ext doctor --watcher "$WATCHER_ID"
112
112
 
113
113
  `--iframe auto` is a convenience heuristic and should fail closed when multiple iframes look equally plausible. Prefer `--iframe-url` or `--iframe-title` when correctness matters.
114
114
 
115
+ Reload remains tab-scoped. A selected iframe stays selected while detached: commands wait up to 3s for recovery, then fail with `extension_frame_not_ready` instead of running on the host. `ext targets --tree` shows the missing selection as `pending`; use `ext select <id> --page` explicitly to work on the host.
116
+
115
117
  ---
116
118
 
117
119
  ## Inspect Loop
@@ -137,12 +139,15 @@ argus click app --selector "button.submit"
137
139
  argus click app --ref e5
138
140
  argus drag app --selector "canvas" --pos 320,240 --by 80,-30
139
141
  argus fill app --selector "#email" "user@example.com"
142
+ argus fill app --selector "#email" --value "user@example.com"
140
143
  argus keydown app --key Enter
141
144
  argus keydown app --key G
142
145
  argus keydown app --code KeyG --print-event
143
146
  argus scroll-to app --selector "#footer"
144
147
  ```
145
148
 
149
+ For generated commands, `argus eval app --expression "document.title"` is equivalent to the positional expression form.
150
+
146
151
  For iframe-active extension watchers, commands run against the selected iframe target. Screenshots, recordings, selectors, and eval are resolved relative to that iframe.
147
152
  Network mocks default to the top-level page; pass `--scope selected` (or `--frame selected`) to intercept requests from the selected iframe.
148
153
 
@@ -177,6 +182,8 @@ Keep these commands in the background in agent shells. See [START.md](./referenc
177
182
 
178
183
  **No extension-control watcher** — First time? Run `argus extension install`. Otherwise open/reload the extension, then run `argus ext doctor --json`.
179
184
 
185
+ **Debugger attach rejected** — Popup and CLI return Chrome's original error; the failed session is cleaned up. Release the conflicting debugger and retry. `ext doctor --watcher <id>` checks actual target attachment/readiness separately from native bridge connectivity.
186
+
180
187
  **Multiple tabs matched** — Use `argus ext tabs --url <url> --json`, choose a `tabId`, then pass `--tab <tabId>`.
181
188
 
182
189
  **Iframe not found** — `argus ext show <id>`, `argus reload <id>`, wait for iframes, then `argus ext targets <id> --tree`.
@@ -34,6 +34,14 @@ argus logs extension
34
34
  argus eval extension "document.title"
35
35
  ```
36
36
 
37
+ Attachment failures surface Chrome's original error in both popup and CLI; no successful attachment is reported and the failed tab bridge is removed. A connected control bridge does not mean a tab is attached: `argus ext doctor --watcher <id>` flags detached, disconnected, or pending selected targets.
38
+
39
+ ### Iframe Recovery
40
+
41
+ `argus reload <id>` reloads the whole tab. A requested iframe remains selected while missing or booting; eval, DOM, and capture wait up to 3s for readiness, then fail with `extension_frame_not_ready`. They never fall back to the host page. Recovery requires a unique URL/hint match; `ext targets <id> --tree` keeps a `pending` placeholder visible (`attached: true` denotes selection, `targetReady: false` denotes pending readiness in JSON).
42
+
43
+ Retry once the iframe loads, or explicitly select the host with `argus ext select <id> --page`. Use `argus ext doctor --watcher <id>` to distinguish target readiness from bridge health.
44
+
37
45
  ### Limitations
38
46
 
39
47
  - Debugging bar can't be hidden (Chrome security)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vforsh/argus",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/vforsh/argus.git",
@@ -29,7 +29,7 @@
29
29
  "@vforsh/argus-client": "^0.3.0",
30
30
  "@vforsh/argus-core": "^0.3.0",
31
31
  "@vforsh/argus-plugin-api": "^0.3.0",
32
- "@vforsh/argus-watcher": "^0.3.0",
32
+ "@vforsh/argus-watcher": "^0.3.1",
33
33
  "commander": "14.0.2",
34
34
  "esbuild": "0.25.12",
35
35
  "prettier": "3.7.4"