@btraut/browser-bridge 0.4.3 → 0.5.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/CHANGELOG.md +42 -0
- package/README.md +6 -0
- package/dist/api.js +12 -2
- package/dist/api.js.map +2 -2
- package/dist/index.js +146 -106
- package/dist/index.js.map +3 -3
- package/extension/assets/ui.css +353 -0
- package/extension/dist/background.js +656 -30
- package/extension/dist/background.js.map +4 -4
- package/extension/dist/options-ui.js +273 -0
- package/extension/dist/options-ui.js.map +7 -0
- package/extension/dist/permission-prompt-ui.js +62 -0
- package/extension/dist/permission-prompt-ui.js.map +7 -0
- package/extension/dist/popup-ui.js +51 -0
- package/extension/dist/popup-ui.js.map +7 -0
- package/extension/manifest.json +8 -3
- package/package.json +1 -1
- package/skills/browser-bridge/SKILL.md +1 -0
- package/skills/browser-bridge/skill.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,48 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on "Keep a Changelog", and this project adheres to Semantic Versioning.
|
|
6
6
|
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
_TBD_
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
_TBD_
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
_TBD_
|
|
20
|
+
|
|
21
|
+
## [0.5.0] - 2026-02-09
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- `PERMISSION_REQUIRED` error code for soft site-permissions gating.
|
|
26
|
+
- `PERMISSION_DENIED` error code for explicit user declines in the site-permissions prompt.
|
|
27
|
+
- `PERMISSION_PROMPT_TIMEOUT` error code for when a site-permissions approval prompt times out while waiting for user input.
|
|
28
|
+
- Soft site-permissions allowlist with a permission prompt window and an options page to review/revoke approved sites.
|
|
29
|
+
- Extension toolbar menu (Settings/About) for easier discovery of site permissions.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Increase the default Core client timeout (CLI + MCP) so extension permission prompts do not time out prematurely.
|
|
34
|
+
- CLI: classify aborted Core requests as `TIMEOUT` (with timeout details) instead of a generic `INTERNAL` error.
|
|
35
|
+
- Increase the site-permissions prompt popup size to avoid clipping controls.
|
|
36
|
+
- Make permission-decline failures more actionable for agent clients by returning `PERMISSION_DENIED` with next-step guidance.
|
|
37
|
+
- Fix extension popup/options buttons by loading UI scripts as modules; simplify the popup styling (no gradients/ALL CAPS) and replace About ellipsis with an external-link icon.
|
|
38
|
+
- Fix a small extension popup bottom-clipping issue; add a subtle header icon for personality without gradients.
|
|
39
|
+
- Match the options page list drop shadow to the popup menu styling, and reduce shadow intensity.
|
|
40
|
+
- Options page: make Undo revoke more robust by verifying the allowlist restore.
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- When `tab_id` is omitted in drive commands, Browser Bridge now creates (and reuses) a dedicated Chrome window/tab so agent activity stays separate from the user's current window.
|
|
45
|
+
- The dedicated agent tab is grouped under a `🌉 Browser Bridge` tab group when created.
|
|
46
|
+
- Approved sites options page: switch to a settings-style list with right-aligned revoke actions and an Undo toast.
|
|
47
|
+
- Increase the default site-permissions prompt wait to 30 seconds.
|
|
48
|
+
|
|
7
49
|
## [0.4.3] - 2026-02-07
|
|
8
50
|
|
|
9
51
|
### Fixed
|
package/README.md
CHANGED
|
@@ -76,6 +76,12 @@ npm run build
|
|
|
76
76
|
3. Open Chrome and navigate to `chrome://extensions`.
|
|
77
77
|
4. Enable **Developer mode**, click **Load unpacked**, and select the extension folder (the folder with `manifest.json`).
|
|
78
78
|
|
|
79
|
+
Notes:
|
|
80
|
+
|
|
81
|
+
- Browser Bridge enforces a per-site allowlist for `drive.*` actions. The first time it acts on a new site, you'll see a permission prompt.
|
|
82
|
+
- You can review and revoke approved sites via the extension options page (Extensions menu -> Browser Bridge -> Extension options).
|
|
83
|
+
- If you click **Decline**, the command fails with `PERMISSION_DENIED` (non-retryable). If you don't respond in time, you'll see `PERMISSION_PROMPT_TIMEOUT` (retryable once after the user allows).
|
|
84
|
+
|
|
79
85
|
## Quickstart
|
|
80
86
|
|
|
81
87
|
1. Install the extension.
|
package/dist/api.js
CHANGED
|
@@ -252,6 +252,13 @@ var errorStatus = (code) => {
|
|
|
252
252
|
switch (code) {
|
|
253
253
|
case "INVALID_ARGUMENT":
|
|
254
254
|
return 400;
|
|
255
|
+
case "UNAUTHORIZED":
|
|
256
|
+
return 401;
|
|
257
|
+
case "FORBIDDEN":
|
|
258
|
+
case "PERMISSION_REQUIRED":
|
|
259
|
+
case "PERMISSION_PROMPT_TIMEOUT":
|
|
260
|
+
case "PERMISSION_DENIED":
|
|
261
|
+
return 403;
|
|
255
262
|
case "SESSION_NOT_FOUND":
|
|
256
263
|
case "TAB_NOT_FOUND":
|
|
257
264
|
case "LOCATOR_NOT_FOUND":
|
|
@@ -2842,6 +2849,9 @@ var ErrorCodeSchema = import_zod.z.enum([
|
|
|
2842
2849
|
"FAILED_PRECONDITION",
|
|
2843
2850
|
"UNAUTHORIZED",
|
|
2844
2851
|
"FORBIDDEN",
|
|
2852
|
+
"PERMISSION_REQUIRED",
|
|
2853
|
+
"PERMISSION_DENIED",
|
|
2854
|
+
"PERMISSION_PROMPT_TIMEOUT",
|
|
2845
2855
|
"CONFLICT",
|
|
2846
2856
|
"TIMEOUT",
|
|
2847
2857
|
"CANCELLED",
|
|
@@ -4548,7 +4558,7 @@ var startCoreServer = (options = {}) => {
|
|
|
4548
4558
|
// packages/mcp-adapter/src/core-client.ts
|
|
4549
4559
|
var DEFAULT_HOST = "127.0.0.1";
|
|
4550
4560
|
var DEFAULT_PORT = 3210;
|
|
4551
|
-
var DEFAULT_TIMEOUT_MS =
|
|
4561
|
+
var DEFAULT_TIMEOUT_MS = 3e4;
|
|
4552
4562
|
var resolveHost = (host) => {
|
|
4553
4563
|
const candidate = host?.trim() || process.env.BROWSER_BRIDGE_CORE_HOST || process.env.BROWSER_VISION_CORE_HOST;
|
|
4554
4564
|
if (candidate && candidate.length > 0) {
|
|
@@ -4831,7 +4841,7 @@ var TOOL_DEFINITIONS = [
|
|
|
4831
4841
|
name: "drive.scroll",
|
|
4832
4842
|
config: {
|
|
4833
4843
|
title: "Drive Scroll",
|
|
4834
|
-
description: "Scroll the
|
|
4844
|
+
description: "Scroll the default tab (agent window/tab unless tab_id is provided).",
|
|
4835
4845
|
inputSchema: DriveScrollInputSchema,
|
|
4836
4846
|
outputSchema: envelope(DriveScrollOutputSchema),
|
|
4837
4847
|
corePath: "/drive/scroll"
|