@btraut/browser-bridge 0.6.1 → 0.7.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 +6 -0
- package/README.md +15 -0
- package/dist/api.js +4 -3
- package/dist/api.js.map +2 -2
- package/dist/index.js +4 -3
- package/dist/index.js.map +2 -2
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/browser-bridge/skill.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,12 @@ The format is based on "Keep a Changelog", and this project adheres to Semantic
|
|
|
8
8
|
|
|
9
9
|
_TBD_
|
|
10
10
|
|
|
11
|
+
## [0.7.0] - 2026-02-10
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- MCP adapter: avoid SDK `_zod` crashes on tool calls by registering object-shaped output schemas and flagging `ok: false` envelopes as MCP errors.
|
|
16
|
+
|
|
11
17
|
## [0.6.1] - 2026-02-10
|
|
12
18
|
|
|
13
19
|
### Added
|
package/README.md
CHANGED
|
@@ -82,6 +82,21 @@ What makes it different:
|
|
|
82
82
|
- **Recovery-first**: sessions have an explicit state machine with `session.recover()` and `diagnostics doctor`.
|
|
83
83
|
- **Inspect beyond screenshots**: DOM snapshots (AX + HTML) and `inspect dom-diff` to detect page changes.
|
|
84
84
|
|
|
85
|
+
## 🆚 Feature Comparison
|
|
86
|
+
|
|
87
|
+
| Category | Browser Bridge | Playwright MCP | agent-browser | mcp-chrome | Claude Code + Chrome |
|
|
88
|
+
| --- | --- | --- | --- | --- | --- |
|
|
89
|
+
| Uses your real, already-logged-in Chrome (tabs/cookies) | ✅ | ❌ | ❌ | ✅ | ✅ |
|
|
90
|
+
| Visible browser (not headless) | ✅ | ✅ | ❌ | ✅ | ✅ |
|
|
91
|
+
| Per-site permission prompts / allowlist | ✅ | ❌ | ❌ | ❌ | ✅ |
|
|
92
|
+
| Drive/Inspect split (inspect without racing input) | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
93
|
+
| Token-efficient inspection (element refs, bounded output, cleanup) | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
94
|
+
| Structured errors + retry hints | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
95
|
+
| Explicit recovery + doctor-style diagnostics | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
96
|
+
| DOM diff (change detection) | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
97
|
+
| HAR / network export | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
98
|
+
| Open source | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
99
|
+
|
|
85
100
|
## 🔒 Site Permissions (Drive Actions)
|
|
86
101
|
|
|
87
102
|
Browser Bridge is intentionally safe: **drive actions** (`drive.navigate`, click, type, etc.) require **per-site approval**. `inspect.*` is not gated, so agents can inspect first and only ask for permission when it's time to click/type.
|
package/dist/api.js
CHANGED
|
@@ -2888,7 +2888,6 @@ var successEnvelopeSchema = (result) => import_zod.z.object({
|
|
|
2888
2888
|
ok: import_zod.z.literal(true),
|
|
2889
2889
|
result
|
|
2890
2890
|
});
|
|
2891
|
-
var apiEnvelopeSchema = (result) => import_zod.z.union([successEnvelopeSchema(result), ErrorEnvelopeSchema]);
|
|
2892
2891
|
|
|
2893
2892
|
// packages/shared/src/schemas.ts
|
|
2894
2893
|
var import_zod2 = require("zod");
|
|
@@ -4620,9 +4619,11 @@ var createCoreClient = (options = {}) => {
|
|
|
4620
4619
|
var toToolResult = (payload) => {
|
|
4621
4620
|
const content = [{ type: "text", text: JSON.stringify(payload) }];
|
|
4622
4621
|
if (payload && typeof payload === "object") {
|
|
4622
|
+
const isErrorEnvelope = ErrorEnvelopeSchema.safeParse(payload).success;
|
|
4623
4623
|
return {
|
|
4624
4624
|
content,
|
|
4625
|
-
structuredContent: payload
|
|
4625
|
+
structuredContent: payload,
|
|
4626
|
+
isError: isErrorEnvelope
|
|
4626
4627
|
};
|
|
4627
4628
|
}
|
|
4628
4629
|
return { content };
|
|
@@ -4635,7 +4636,7 @@ var toInternalErrorEnvelope = (error) => ({
|
|
|
4635
4636
|
retryable: false
|
|
4636
4637
|
}
|
|
4637
4638
|
});
|
|
4638
|
-
var envelope = (schema) =>
|
|
4639
|
+
var envelope = (schema) => successEnvelopeSchema(schema);
|
|
4639
4640
|
var TOOL_DEFINITIONS = [
|
|
4640
4641
|
{
|
|
4641
4642
|
name: "session.create",
|