browser-pilot-cli 0.3.0-rc.6 → 0.3.0
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/README.md +1 -1
- package/dist/cli.js +1 -1
- package/dist/daemon.js +1 -1
- package/docs/plans/v0.3.0-stabilization.md +16 -5
- package/docs/releases/v0.3.0.md +68 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -182,7 +182,7 @@ A project can pin Browser Pilot locally and run the same CLI without a global
|
|
|
182
182
|
installation:
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
npm install --save-exact browser-pilot-cli@0.3.0
|
|
185
|
+
npm install --save-exact browser-pilot-cli@0.3.0
|
|
186
186
|
npx --no-install browser-pilot tabs
|
|
187
187
|
```
|
|
188
188
|
|
package/dist/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import { writeFileSync as writeFileSync2, readFileSync as readFileSync4, existsS
|
|
|
6
6
|
import { resolve as resolvePath } from "path";
|
|
7
7
|
|
|
8
8
|
// src/version.ts
|
|
9
|
-
var BROWSER_PILOT_VERSION = "0.3.0
|
|
9
|
+
var BROWSER_PILOT_VERSION = "0.3.0";
|
|
10
10
|
|
|
11
11
|
// src/protocol/errors.ts
|
|
12
12
|
var ERROR_CODES = [
|
package/dist/daemon.js
CHANGED
|
@@ -14015,7 +14015,7 @@ var ManagedTargetJanitorClient = class {
|
|
|
14015
14015
|
};
|
|
14016
14016
|
|
|
14017
14017
|
// src/version.ts
|
|
14018
|
-
var BROWSER_PILOT_VERSION = "0.3.0
|
|
14018
|
+
var BROWSER_PILOT_VERSION = "0.3.0";
|
|
14019
14019
|
|
|
14020
14020
|
// src/daemon.ts
|
|
14021
14021
|
var CLI_EXECUTABLE_PATH = publicExecutablePath(import.meta.url);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Browser Pilot v0.3.0 Stabilization Plan
|
|
2
2
|
|
|
3
3
|
Status: **In progress**
|
|
4
|
-
Candidate baseline: `v0.3.0-rc.
|
|
4
|
+
Candidate baseline: `v0.3.0-rc.6`; release target: `v0.3.0`, protocol `1.2`
|
|
5
5
|
|
|
6
6
|
## Goal
|
|
7
7
|
|
|
@@ -29,7 +29,7 @@ products depend on. No Agent-specific behavior enters Browser Pilot.
|
|
|
29
29
|
downloads, controlled Page-event ownership, browser-level completion paths,
|
|
30
30
|
and copy-only Artifacts. Verify unowned downloads are ignored and user source
|
|
31
31
|
files survive Artifact and Workspace cleanup.
|
|
32
|
-
- [x] Pass TypeScript,
|
|
32
|
+
- [x] Pass TypeScript, 277 Node, 109 Playwright, 13 stdio conformance, three
|
|
33
33
|
distribution-mode, and 13 host integration checks on the candidate source.
|
|
34
34
|
- [x] Publish `v0.3.0-rc.3` through trusted publishing and pass all 13 host
|
|
35
35
|
integration checks against the installed standalone release executable.
|
|
@@ -40,9 +40,14 @@ products depend on. No Agent-specific behavior enters Browser Pilot.
|
|
|
40
40
|
- [x] Publish `v0.3.0-rc.5` and verify text-targeted scrolling plus annotated
|
|
41
41
|
capture on GitHub. Managed cleanup preserved all user tabs but exposed a
|
|
42
42
|
transient closing-target inventory race.
|
|
43
|
-
- [
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
- [x] Publish `v0.3.0-rc.6` with generation-scoped managed-target tombstones.
|
|
44
|
+
The installed standalone returned `closed: 1, remaining: 6` immediately after
|
|
45
|
+
managed cleanup and left all six user tabs available, with no managed, busy,
|
|
46
|
+
controlled, or automatically active target.
|
|
47
|
+
- [x] Soak real Agent tasks through the installed candidates across multiple
|
|
48
|
+
Chrome Profiles: public GitHub reading, search, precise scrolling, screenshot
|
|
49
|
+
annotation, PDF export, a disposable form with verified input and submission,
|
|
50
|
+
and managed-only cleanup. User tabs and exported files were preserved.
|
|
46
51
|
- [ ] Tag `v0.3.0`, publish npm `latest`, and verify upgrade/rollback metadata.
|
|
47
52
|
|
|
48
53
|
## Stable decision
|
|
@@ -54,3 +59,9 @@ an uncontrolled user tab. `v0.3.0-rc.2` must not be promoted. RC.3 preserves
|
|
|
54
59
|
Chrome's default download destination and creates an Artifact only after a
|
|
55
60
|
session-scoped Page event proves ownership and a browser-level completion event
|
|
56
61
|
provides the final path.
|
|
62
|
+
|
|
63
|
+
RC.4 through RC.6 then closed the remaining real-browser gaps in passive
|
|
64
|
+
connection status, text-targeted scroll verification, restrictive-CSP screenshot
|
|
65
|
+
annotation, and asynchronous managed-target closure. The published RC.6
|
|
66
|
+
standalone now satisfies every pre-stable source, distribution, Host, and live
|
|
67
|
+
Chrome gate above. Stable publication remains a separate explicit release step.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Browser Pilot 0.3.0
|
|
2
|
+
|
|
3
|
+
Browser Pilot 0.3.0 promotes the tested protocol 1.2 release candidate without
|
|
4
|
+
runtime changes. It provides Agent-neutral control of the user's real Chromium
|
|
5
|
+
browser through a CLI and a versioned stdio bridge, without a browser
|
|
6
|
+
extension.
|
|
7
|
+
|
|
8
|
+
## Universal Agent integration
|
|
9
|
+
|
|
10
|
+
- Agents with shell access can install or bundle the official executable and
|
|
11
|
+
use the one-shot `bp` commands.
|
|
12
|
+
- Long-lived Agent products can launch `browser-pilot bridge --stdio` and use
|
|
13
|
+
the same canonical browser tools, lifecycle, events, and Artifacts.
|
|
14
|
+
- One per-user Broker coordinates concurrent CLI and embedded clients through
|
|
15
|
+
isolated Connections, Workspaces, Leases, opaque target IDs, serialized
|
|
16
|
+
per-target commands, idempotency keys, deadlines, and event cursors.
|
|
17
|
+
- Browser Pilot contains no Tenon-, OpenClaw-, Codex-, or model-specific
|
|
18
|
+
behavior. Hosts adapt the public protocol rather than importing private
|
|
19
|
+
source modules.
|
|
20
|
+
|
|
21
|
+
## Real browser control
|
|
22
|
+
|
|
23
|
+
- Eligible tabs opened by the user are visible and explicitly controllable;
|
|
24
|
+
independently created managed tabs remain separately owned and
|
|
25
|
+
managed-only cleanup never closes or acquires a user tab.
|
|
26
|
+
- One authorized Chrome endpoint can expose several live Profiles. Agents can
|
|
27
|
+
inspect Profile context and route new managed work explicitly without
|
|
28
|
+
changing access to existing tabs.
|
|
29
|
+
- Observations fuse accessibility semantics with DOM state and geometry into
|
|
30
|
+
bounded, page-scoped numbered refs. Navigation, frame, document, target, and
|
|
31
|
+
Lease changes invalidate stale refs deterministically.
|
|
32
|
+
- Dedicated tools cover navigation, reading, targeted search, DOM queries,
|
|
33
|
+
click, verified native input, keyboard operations, scrolling, dropdowns,
|
|
34
|
+
frames, dialogs, uploads, cookies, HTTP authentication, and bounded network
|
|
35
|
+
observation or interception.
|
|
36
|
+
- Screenshots and PDFs are returned as protected Artifacts through stdio and
|
|
37
|
+
can be exported to explicit local paths through the CLI. Annotated
|
|
38
|
+
screenshots render in an isolated world and work on restrictive-CSP sites.
|
|
39
|
+
- Completed controlled downloads are copied into protected Artifacts while the
|
|
40
|
+
user's original Chrome download remains in place.
|
|
41
|
+
|
|
42
|
+
## Reliability and isolation
|
|
43
|
+
|
|
44
|
+
- Passive browser discovery never requests authorization. Concurrent explicit
|
|
45
|
+
connects share one in-flight connection attempt instead of multiplying
|
|
46
|
+
Chrome prompts.
|
|
47
|
+
- User-tab control is exclusive between unrelated Agent Leases and transfers
|
|
48
|
+
only through explicit release or cleanup.
|
|
49
|
+
- Browser restart advances the connection generation and invalidates old
|
|
50
|
+
Profile, target, session, frame, and Observation identities.
|
|
51
|
+
- Managed target identity remains generation-scoped while Chrome finishes an
|
|
52
|
+
asynchronous close, preventing a closing managed tab from briefly appearing
|
|
53
|
+
as a user tab.
|
|
54
|
+
- Action results include browser evidence and typed mismatch or unknown-outcome
|
|
55
|
+
states so an Agent can inspect before retrying a possibly mutating command.
|
|
56
|
+
|
|
57
|
+
## Validation
|
|
58
|
+
|
|
59
|
+
The published RC.6 standalone passed real multi-Profile Chrome tasks covering
|
|
60
|
+
public GitHub reading, search, precise text scrolling, restrictive-CSP
|
|
61
|
+
annotation, screenshot and PDF export, verified disposable form input and
|
|
62
|
+
submission, and managed-only cleanup. All six pre-existing user tabs remained
|
|
63
|
+
available and none was acquired during cleanup.
|
|
64
|
+
|
|
65
|
+
The stable source passed TypeScript checking, 277 Node tests, 109 isolated
|
|
66
|
+
Playwright tests, all three npm distribution modes, 13 stdio conformance checks,
|
|
67
|
+
and 13 isolated multi-Host integration checks. The stable version keeps the
|
|
68
|
+
same protocol 1.2 and runtime behavior as `v0.3.0-rc.6`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browser-pilot-cli",
|
|
3
|
-
"version": "0.3.0
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "CLI tool to control your browser via Chrome DevTools Protocol",
|
|
5
5
|
"repository": "https://github.com/relixiaobo/browser-pilot",
|
|
6
6
|
"type": "module",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"docs/releases/v0.3.0-rc.4.md",
|
|
51
51
|
"docs/releases/v0.3.0-rc.5.md",
|
|
52
52
|
"docs/releases/v0.3.0-rc.6.md",
|
|
53
|
+
"docs/releases/v0.3.0.md",
|
|
53
54
|
"README.md",
|
|
54
55
|
"LICENSE"
|
|
55
56
|
],
|