Skip to content

Releases: browseragentprotocol/bap

@browseragentprotocol/cli@0.9.0

Choose a tag to compare

Minor Changes

  • Single-process MCP (--in-process): DirectTransport bypasses WebSocket for zero-overhead MCP integration
  • bap demo: guided walkthrough for first-time users
  • bap watch: live browser event streaming to terminal with color, --filter, --format=json

@browseragentprotocol/cli@0.8.0

Choose a tag to compare

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

Choose a tag to compare

@github-actions github-actions released this 20 Mar 20:48
9c545ae

Minor Changes

  • 762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.

    bap trace CLI

    • 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

    • alternativeSelectors field 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

Patch Changes

  • Updated dependencies [762e88b]
    • @browseragentprotocol/protocol@0.7.0
    • @browseragentprotocol/logger@0.7.0

@browseragentprotocol/server-playwright@0.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 19:45
1241e76

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

    • cdpUrl parameter in browser/launch connects to running browsers via chromium.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

    • recoveryHint field 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

    • --slim flag 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

    • cdpUrl field in BrowserLaunchParams
    • recoveryHint field in JSONRPCErrorData
    • BAP_VERSION updated to 0.6.0

Patch Changes

  • Updated dependencies [48d108a]
    • @browseragentprotocol/protocol@0.6.0
    • @browseragentprotocol/logger@0.6.0

@browseragentprotocol/protocol@0.7.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 20:48
9c545ae

Minor Changes

  • 762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.

    bap trace CLI

    • 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

    • alternativeSelectors field 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

@browseragentprotocol/protocol@0.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 19:45
1241e76

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

    • cdpUrl parameter in browser/launch connects to running browsers via chromium.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

    • recoveryHint field 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

    • --slim flag 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

    • cdpUrl field in BrowserLaunchParams
    • recoveryHint field in JSONRPCErrorData
    • BAP_VERSION updated to 0.6.0

@browseragentprotocol/mcp@0.7.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 20:48
9c545ae

Minor Changes

  • 762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.

    bap trace CLI

    • 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

    • alternativeSelectors field 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

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

Choose a tag to compare

@github-actions github-actions released this 20 Mar 19:46
1241e76

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

    • cdpUrl parameter in browser/launch connects to running browsers via chromium.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

    • recoveryHint field 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

    • --slim flag 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

    • cdpUrl field in BrowserLaunchParams
    • recoveryHint field in JSONRPCErrorData
    • BAP_VERSION updated 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

Choose a tag to compare

@github-actions github-actions released this 20 Mar 20:48
9c545ae

Minor Changes

  • 762e88b: v0.7.0: trace CLI, event streaming, selector suggestions, output modes, protocol spec.

    bap trace CLI

    • 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

    • alternativeSelectors field 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

@browseragentprotocol/logger@0.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 19:45
1241e76

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

    • cdpUrl parameter in browser/launch connects to running browsers via chromium.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

    • recoveryHint field 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

    • --slim flag 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

    • cdpUrl field in BrowserLaunchParams
    • recoveryHint field in JSONRPCErrorData
    • BAP_VERSION updated to 0.6.0