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 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.3
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.3";
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 browsers = (await discoverBrowserCandidates()).map((discovered) => discovered.candidate).filter((candidate) => !filter || [candidate.id, candidate.product, candidate.channel].some((value) => value?.toLowerCase().includes(filter)));
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.3";
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.2`; correction target: `v0.3.0-rc.3`, protocol `1.2`
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
- - [ ] Publish the corrected release candidate and rerun the host integration
35
- gate against that installed package.
36
- - [ ] Run one controlled user-Chrome host acceptance with explicit Profile
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",
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
  ],