browser-pilot-cli 0.3.0-rc.3 → 0.3.0-rc.4
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 +10 -2
- package/dist/daemon.js +1 -1
- package/docs/plans/v0.3.0-stabilization.md +6 -4
- package/docs/releases/v0.3.0-rc.4.md +28 -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-rc.
|
|
185
|
+
npm install --save-exact browser-pilot-cli@0.3.0-rc.4
|
|
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-rc.
|
|
9
|
+
var BROWSER_PILOT_VERSION = "0.3.0-rc.4";
|
|
10
10
|
|
|
11
11
|
// src/protocol/errors.ts
|
|
12
12
|
var ERROR_CODES = [
|
|
@@ -3283,6 +3283,13 @@ var CompatibilityBrokerClient = class _CompatibilityBrokerClient {
|
|
|
3283
3283
|
}
|
|
3284
3284
|
await this.callTool("browser.connect", { browserId: selected.id });
|
|
3285
3285
|
}
|
|
3286
|
+
async listBrowsers(browser) {
|
|
3287
|
+
const result = await this.callTool("browser.discover", browser ? { browser } : {});
|
|
3288
|
+
if (!Array.isArray(result.browsers)) {
|
|
3289
|
+
throw new BrowserPilotError("internal_error", "browser.discover returned invalid browsers");
|
|
3290
|
+
}
|
|
3291
|
+
return result.browsers;
|
|
3292
|
+
}
|
|
3286
3293
|
async listTabs(scope = "all") {
|
|
3287
3294
|
const result = await this.callTool("browser.tabs.list", { scope });
|
|
3288
3295
|
if (!Array.isArray(result.targets)) {
|
|
@@ -3709,7 +3716,8 @@ function readStdin() {
|
|
|
3709
3716
|
}
|
|
3710
3717
|
program.command("browsers").description("List supported local browsers and their setup state").option("-b, --browser <name>", "filter by browser ID, product, or channel").action(action(async (opts) => {
|
|
3711
3718
|
const filter = typeof opts.browser === "string" ? opts.browser.toLowerCase() : void 0;
|
|
3712
|
-
const
|
|
3719
|
+
const client = await resumeCompatibility(BROWSER_PILOT_VERSION);
|
|
3720
|
+
const browsers = client ? await client.listBrowsers(filter) : (await discoverBrowserCandidates()).map((discovered) => discovered.candidate).filter((candidate) => !filter || [candidate.id, candidate.product, candidate.channel].some((value) => value?.toLowerCase().includes(filter)));
|
|
3713
3721
|
if (useJson()) {
|
|
3714
3722
|
console.log(JSON.stringify({ ok: true, browsers }));
|
|
3715
3723
|
return;
|
package/dist/daemon.js
CHANGED
|
@@ -13979,7 +13979,7 @@ var ManagedTargetJanitorClient = class {
|
|
|
13979
13979
|
};
|
|
13980
13980
|
|
|
13981
13981
|
// src/version.ts
|
|
13982
|
-
var BROWSER_PILOT_VERSION = "0.3.0-rc.
|
|
13982
|
+
var BROWSER_PILOT_VERSION = "0.3.0-rc.4";
|
|
13983
13983
|
|
|
13984
13984
|
// src/daemon.ts
|
|
13985
13985
|
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.3`; correction target: `v0.3.0-rc.4`, protocol `1.2`
|
|
5
5
|
|
|
6
6
|
## Goal
|
|
7
7
|
|
|
@@ -31,10 +31,12 @@ products depend on. No Agent-specific behavior enters Browser Pilot.
|
|
|
31
31
|
files survive Artifact and Workspace cleanup.
|
|
32
32
|
- [x] Pass TypeScript, 276 Node, 109 Playwright, 13 stdio conformance, three
|
|
33
33
|
distribution-mode, and 13 host integration checks on the candidate source.
|
|
34
|
-
- [
|
|
35
|
-
|
|
36
|
-
- [
|
|
34
|
+
- [x] Publish `v0.3.0-rc.3` through trusted publishing and pass all 13 host
|
|
35
|
+
integration checks against the installed standalone release executable.
|
|
36
|
+
- [x] Run one controlled user-Chrome host acceptance with explicit Profile
|
|
37
37
|
choices and a single authorization attempt.
|
|
38
|
+
- [ ] Publish `v0.3.0-rc.4` with Broker-backed CLI browser status and verify
|
|
39
|
+
that passive discovery reports the live authorized connection.
|
|
38
40
|
- [ ] Soak several real Agent tasks through the installed candidate.
|
|
39
41
|
- [ ] Tag `v0.3.0`, publish npm `latest`, and verify upgrade/rollback metadata.
|
|
40
42
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Browser Pilot 0.3.0-rc.4
|
|
2
|
+
|
|
3
|
+
This release candidate fixes a connection-status inconsistency found during
|
|
4
|
+
controlled user-Chrome acceptance of RC.3.
|
|
5
|
+
|
|
6
|
+
When a Broker already held an authorized Chrome connection, `bp profiles` and
|
|
7
|
+
browser operations worked, but `bp browsers` performed a separate local endpoint
|
|
8
|
+
scan and could report the same browser as `disconnected`. An Agent following
|
|
9
|
+
that result could unnecessarily call `bp connect` and cause another Chrome
|
|
10
|
+
authorization prompt.
|
|
11
|
+
|
|
12
|
+
RC.4 makes `bp browsers` use the Broker-owned `browser.discover` operation when
|
|
13
|
+
a compatible Broker is running. Local discovery remains the passive fallback
|
|
14
|
+
when no Broker exists. The command still never starts a Broker or requests
|
|
15
|
+
Chrome authorization.
|
|
16
|
+
|
|
17
|
+
The RC.3 controlled user-Chrome acceptance passed with two independent Agent
|
|
18
|
+
hosts routed to two live Profiles. It verified user-tab handoff, concurrent CLI
|
|
19
|
+
use, native screenshot content, PDF and download export, event replay, managed
|
|
20
|
+
cleanup, and preservation of all existing user tabs. Chrome's original
|
|
21
|
+
download was also confirmed in its default download directory.
|
|
22
|
+
|
|
23
|
+
RC.4 keeps protocol 1.2, browser control behavior, Profile routing, and the
|
|
24
|
+
Agent-neutral stdio integration contract unchanged.
|
|
25
|
+
|
|
26
|
+
Automated candidate gates passed with 276 Node tests, 109 isolated Playwright
|
|
27
|
+
tests, all 13 stdio conformance checks, all 13 host integration checks, and npm
|
|
28
|
+
distribution verification in global, local-project, and product-bundled modes.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browser-pilot-cli",
|
|
3
|
-
"version": "0.3.0-rc.
|
|
3
|
+
"version": "0.3.0-rc.4",
|
|
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",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"docs/releases/v0.3.0-rc.1.md",
|
|
48
48
|
"docs/releases/v0.3.0-rc.2.md",
|
|
49
49
|
"docs/releases/v0.3.0-rc.3.md",
|
|
50
|
+
"docs/releases/v0.3.0-rc.4.md",
|
|
50
51
|
"README.md",
|
|
51
52
|
"LICENSE"
|
|
52
53
|
],
|