Releases: browseragentprotocol/bap
Release list
@browseragentprotocol/cli@0.9.0
Minor Changes
- Single-process MCP (
--in-process): DirectTransport bypasses WebSocket for zero-overhead MCP integration bap demo: guided walkthrough for first-time usersbap watch: live browser event streaming to terminal with color,--filter,--format=json
@browseragentprotocol/cli@0.8.0
Minor Changes
- Action caching with resolved CSS selectors, network header redaction, event rate limiting, CLI help restructuring
Patch Changes
- Updated dependencies
- @browseragentprotocol/client@0.8.0
- @browseragentprotocol/protocol@0.8.0
- @browseragentprotocol/logger@0.8.0
@browseragentprotocol/server-playwright@0.7.0
Minor Changes
-
762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.
bap traceCLI- View session traces:
bap trace,bap trace --all,bap trace --session=<id> - List sessions:
bap trace --sessions - HTML replay viewer:
bap trace --replay - JSON export:
bap trace --export=<file> - Path validation prevents file writes outside cwd/~/.bap
- HTML output fully XSS-escaped (errors, methods, sessionId)
Console/Network Event Streaming
- Browser console errors forwarded to MCP clients as
notifications/message - 4xx/5xx network responses forwarded with method, URL, and status code
- Only error-level events streamed to avoid flooding
Observe with Selector Suggestions
alternativeSelectorsfield on InteractiveElement (optional, ordered by reliability)- Reliability order: testId → role+ariaLabel → css#id → text → cssPath
- CSS IDs escaped for special characters
- Deduplication via serialized comparison
Output Modes
--format=pretty(TTY default): colored, human-readable--format=json: structured JSON for piping--format=agent(non-TTY default): concise markdown- All 7 formatter functions support all 3 modes
- Invalid format values rejected with error message
Protocol Spec
- Formal specification at docs/protocol-spec.md
- 55 methods documented with descriptions
- 10 selector types, 6 fusion operations
- Error codes with retryability
- Semver commitment for protocol stability
- View session traces:
Patch Changes
- Updated dependencies [762e88b]
- @browseragentprotocol/protocol@0.7.0
- @browseragentprotocol/logger@0.7.0
@browseragentprotocol/server-playwright@0.6.0
Minor Changes
-
48d108a: Production-ready v0.6.0: server decomposition, CDP attach, structured logging, recovery hints, action caching, self-healing selectors, session traces, MCP --slim mode, rich context persistence.
Server Decomposition
- Split 5400-line server.ts monolith into ~28 focused modules with HandlerContext dependency injection
- Handlers independently testable via explicit context interface
CDP Attach
cdpUrlparameter inbrowser/launchconnects to running browsers viachromium.connectOverCDP()- Borrowed browser lifecycle: never closed on disconnect, only reference dropped
Structured Logging
- Logger
format: "json"option emits NDJSON to stderr (MCP-safe) - Server uses structured JSON logging for all debug output
Error Recovery Hints
recoveryHintfield on all 20+ BAPError subclasses- Every error response includes actionable agent guidance
fromResponse()propagates recovery hints through the wire
Session Traces
- Auto-records NDJSON traces to
~/.bap/traces/ - Every request: method, timing, status, result summary
Action Caching
- File-system LRU cache at
~/.bap/cache/actions/ - SHA256 keys, 24h TTL, configurable max entries
Self-Healing Selectors
resolveSelectorWithHealing()fallback chain: testId → ariaLabel+role → id → name- Wired into agent/act retry loop
MCP --slim Mode
--slimflag exposes only 5 essential tools: navigate, observe, act, extract, screenshot- Reduces tool description token overhead for constrained agents
Rich Context Persistence
context.storageState()snapshot on session park- Cookies + localStorage survive browser crashes during dormancy
Bug Fixes
- preObserve fusion now runs before steps (was incorrectly running after)
- storage/setState validates URLs before navigation (security fix)
- Borrowed browsers never closed in stop(), cleanupClient(), or dormant session expiry
Protocol
cdpUrlfield in BrowserLaunchParamsrecoveryHintfield in JSONRPCErrorDataBAP_VERSIONupdated to 0.6.0
Patch Changes
- Updated dependencies [48d108a]
- @browseragentprotocol/protocol@0.6.0
- @browseragentprotocol/logger@0.6.0
@browseragentprotocol/protocol@0.7.0
Minor Changes
-
762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.
bap traceCLI- View session traces:
bap trace,bap trace --all,bap trace --session=<id> - List sessions:
bap trace --sessions - HTML replay viewer:
bap trace --replay - JSON export:
bap trace --export=<file> - Path validation prevents file writes outside cwd/~/.bap
- HTML output fully XSS-escaped (errors, methods, sessionId)
Console/Network Event Streaming
- Browser console errors forwarded to MCP clients as
notifications/message - 4xx/5xx network responses forwarded with method, URL, and status code
- Only error-level events streamed to avoid flooding
Observe with Selector Suggestions
alternativeSelectorsfield on InteractiveElement (optional, ordered by reliability)- Reliability order: testId → role+ariaLabel → css#id → text → cssPath
- CSS IDs escaped for special characters
- Deduplication via serialized comparison
Output Modes
--format=pretty(TTY default): colored, human-readable--format=json: structured JSON for piping--format=agent(non-TTY default): concise markdown- All 7 formatter functions support all 3 modes
- Invalid format values rejected with error message
Protocol Spec
- Formal specification at docs/protocol-spec.md
- 55 methods documented with descriptions
- 10 selector types, 6 fusion operations
- Error codes with retryability
- Semver commitment for protocol stability
- View session traces:
@browseragentprotocol/protocol@0.6.0
Minor Changes
-
48d108a: Production-ready v0.6.0: server decomposition, CDP attach, structured logging, recovery hints, action caching, self-healing selectors, session traces, MCP --slim mode, rich context persistence.
Server Decomposition
- Split 5400-line server.ts monolith into ~28 focused modules with HandlerContext dependency injection
- Handlers independently testable via explicit context interface
CDP Attach
cdpUrlparameter inbrowser/launchconnects to running browsers viachromium.connectOverCDP()- Borrowed browser lifecycle: never closed on disconnect, only reference dropped
Structured Logging
- Logger
format: "json"option emits NDJSON to stderr (MCP-safe) - Server uses structured JSON logging for all debug output
Error Recovery Hints
recoveryHintfield on all 20+ BAPError subclasses- Every error response includes actionable agent guidance
fromResponse()propagates recovery hints through the wire
Session Traces
- Auto-records NDJSON traces to
~/.bap/traces/ - Every request: method, timing, status, result summary
Action Caching
- File-system LRU cache at
~/.bap/cache/actions/ - SHA256 keys, 24h TTL, configurable max entries
Self-Healing Selectors
resolveSelectorWithHealing()fallback chain: testId → ariaLabel+role → id → name- Wired into agent/act retry loop
MCP --slim Mode
--slimflag exposes only 5 essential tools: navigate, observe, act, extract, screenshot- Reduces tool description token overhead for constrained agents
Rich Context Persistence
context.storageState()snapshot on session park- Cookies + localStorage survive browser crashes during dormancy
Bug Fixes
- preObserve fusion now runs before steps (was incorrectly running after)
- storage/setState validates URLs before navigation (security fix)
- Borrowed browsers never closed in stop(), cleanupClient(), or dormant session expiry
Protocol
cdpUrlfield in BrowserLaunchParamsrecoveryHintfield in JSONRPCErrorDataBAP_VERSIONupdated to 0.6.0
@browseragentprotocol/mcp@0.7.0
Minor Changes
-
762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.
bap traceCLI- View session traces:
bap trace,bap trace --all,bap trace --session=<id> - List sessions:
bap trace --sessions - HTML replay viewer:
bap trace --replay - JSON export:
bap trace --export=<file> - Path validation prevents file writes outside cwd/~/.bap
- HTML output fully XSS-escaped (errors, methods, sessionId)
Console/Network Event Streaming
- Browser console errors forwarded to MCP clients as
notifications/message - 4xx/5xx network responses forwarded with method, URL, and status code
- Only error-level events streamed to avoid flooding
Observe with Selector Suggestions
alternativeSelectorsfield on InteractiveElement (optional, ordered by reliability)- Reliability order: testId → role+ariaLabel → css#id → text → cssPath
- CSS IDs escaped for special characters
- Deduplication via serialized comparison
Output Modes
--format=pretty(TTY default): colored, human-readable--format=json: structured JSON for piping--format=agent(non-TTY default): concise markdown- All 7 formatter functions support all 3 modes
- Invalid format values rejected with error message
Protocol Spec
- Formal specification at docs/protocol-spec.md
- 55 methods documented with descriptions
- 10 selector types, 6 fusion operations
- Error codes with retryability
- Semver commitment for protocol stability
- View session traces:
Patch Changes
- Updated dependencies [762e88b]
- @browseragentprotocol/protocol@0.7.0
- @browseragentprotocol/logger@0.7.0
- @browseragentprotocol/client@0.7.0
@browseragentprotocol/mcp@0.6.0
Minor Changes
-
48d108a: Production-ready v0.6.0: server decomposition, CDP attach, structured logging, recovery hints, action caching, self-healing selectors, session traces, MCP --slim mode, rich context persistence.
Server Decomposition
- Split 5400-line server.ts monolith into ~28 focused modules with HandlerContext dependency injection
- Handlers independently testable via explicit context interface
CDP Attach
cdpUrlparameter inbrowser/launchconnects to running browsers viachromium.connectOverCDP()- Borrowed browser lifecycle: never closed on disconnect, only reference dropped
Structured Logging
- Logger
format: "json"option emits NDJSON to stderr (MCP-safe) - Server uses structured JSON logging for all debug output
Error Recovery Hints
recoveryHintfield on all 20+ BAPError subclasses- Every error response includes actionable agent guidance
fromResponse()propagates recovery hints through the wire
Session Traces
- Auto-records NDJSON traces to
~/.bap/traces/ - Every request: method, timing, status, result summary
Action Caching
- File-system LRU cache at
~/.bap/cache/actions/ - SHA256 keys, 24h TTL, configurable max entries
Self-Healing Selectors
resolveSelectorWithHealing()fallback chain: testId → ariaLabel+role → id → name- Wired into agent/act retry loop
MCP --slim Mode
--slimflag exposes only 5 essential tools: navigate, observe, act, extract, screenshot- Reduces tool description token overhead for constrained agents
Rich Context Persistence
context.storageState()snapshot on session park- Cookies + localStorage survive browser crashes during dormancy
Bug Fixes
- preObserve fusion now runs before steps (was incorrectly running after)
- storage/setState validates URLs before navigation (security fix)
- Borrowed browsers never closed in stop(), cleanupClient(), or dormant session expiry
Protocol
cdpUrlfield in BrowserLaunchParamsrecoveryHintfield in JSONRPCErrorDataBAP_VERSIONupdated to 0.6.0
Patch Changes
- Updated dependencies [48d108a]
- @browseragentprotocol/protocol@0.6.0
- @browseragentprotocol/logger@0.6.0
- @browseragentprotocol/client@0.6.0
@browseragentprotocol/logger@0.7.0
Minor Changes
-
762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.
bap traceCLI- View session traces:
bap trace,bap trace --all,bap trace --session=<id> - List sessions:
bap trace --sessions - HTML replay viewer:
bap trace --replay - JSON export:
bap trace --export=<file> - Path validation prevents file writes outside cwd/~/.bap
- HTML output fully XSS-escaped (errors, methods, sessionId)
Console/Network Event Streaming
- Browser console errors forwarded to MCP clients as
notifications/message - 4xx/5xx network responses forwarded with method, URL, and status code
- Only error-level events streamed to avoid flooding
Observe with Selector Suggestions
alternativeSelectorsfield on InteractiveElement (optional, ordered by reliability)- Reliability order: testId → role+ariaLabel → css#id → text → cssPath
- CSS IDs escaped for special characters
- Deduplication via serialized comparison
Output Modes
--format=pretty(TTY default): colored, human-readable--format=json: structured JSON for piping--format=agent(non-TTY default): concise markdown- All 7 formatter functions support all 3 modes
- Invalid format values rejected with error message
Protocol Spec
- Formal specification at docs/protocol-spec.md
- 55 methods documented with descriptions
- 10 selector types, 6 fusion operations
- Error codes with retryability
- Semver commitment for protocol stability
- View session traces:
@browseragentprotocol/logger@0.6.0
Minor Changes
-
48d108a: Production-ready v0.6.0: server decomposition, CDP attach, structured logging, recovery hints, action caching, self-healing selectors, session traces, MCP --slim mode, rich context persistence.
Server Decomposition
- Split 5400-line server.ts monolith into ~28 focused modules with HandlerContext dependency injection
- Handlers independently testable via explicit context interface
CDP Attach
cdpUrlparameter inbrowser/launchconnects to running browsers viachromium.connectOverCDP()- Borrowed browser lifecycle: never closed on disconnect, only reference dropped
Structured Logging
- Logger
format: "json"option emits NDJSON to stderr (MCP-safe) - Server uses structured JSON logging for all debug output
Error Recovery Hints
recoveryHintfield on all 20+ BAPError subclasses- Every error response includes actionable agent guidance
fromResponse()propagates recovery hints through the wire
Session Traces
- Auto-records NDJSON traces to
~/.bap/traces/ - Every request: method, timing, status, result summary
Action Caching
- File-system LRU cache at
~/.bap/cache/actions/ - SHA256 keys, 24h TTL, configurable max entries
Self-Healing Selectors
resolveSelectorWithHealing()fallback chain: testId → ariaLabel+role → id → name- Wired into agent/act retry loop
MCP --slim Mode
--slimflag exposes only 5 essential tools: navigate, observe, act, extract, screenshot- Reduces tool description token overhead for constrained agents
Rich Context Persistence
context.storageState()snapshot on session park- Cookies + localStorage survive browser crashes during dormancy
Bug Fixes
- preObserve fusion now runs before steps (was incorrectly running after)
- storage/setState validates URLs before navigation (security fix)
- Borrowed browsers never closed in stop(), cleanupClient(), or dormant session expiry
Protocol
cdpUrlfield in BrowserLaunchParamsrecoveryHintfield in JSONRPCErrorDataBAP_VERSIONupdated to 0.6.0