web-agent-bridge-sdk
v3.2.0
Published
SDK for building AI agents that interact with Web Agent Bridge (WAB) — includes auto-discovery fallback, ShieldQR verifier, and governance layer.
Downloads
89
Maintainers
Readme
WAB Agent SDK
SDK for building AI agents that interact with Web Agent Bridge.
Quick Start
const puppeteer = require('puppeteer');
const { WABAgent } = require('web-agent-bridge/sdk');
const browser = await puppeteer.launch();
const page = await browser.newPage();
const agent = new WABAgent(page);
await agent.navigateAndWait('https://example.com');
// Discover available actions
const actions = await agent.getActions();
console.log(actions);
// Execute an action
const result = await agent.execute('signup', { email: '[email protected]' });
// Read page content
const content = await agent.readContent('h1');
await browser.close();BiDi Mode
const agent = new WABAgent(page, { useBiDi: true });
await agent.waitForBridge();
const context = await agent.getBiDiContext();
const actions = await agent.getActions();
await agent.execute('click-login');API
| Method | Description |
|---|---|
| waitForBridge() | Wait for WAB to load on the page |
| hasBridge() | Check if WAB is available |
| getActions(category?) | List available actions |
| getAction(name) | Get a specific action |
| execute(name, params?) | Execute an action |
| readContent(selector) | Read element text content |
| getPageInfo() | Get page metadata |
| authenticate(apiKey, meta?) | Authenticate the agent |
| navigateAndWait(url) | Navigate and wait for bridge |
| executeSteps(steps) | Execute multiple actions in sequence |
| executeParallel(actions) | Execute multiple actions in parallel |
| getBiDiContext() | Get BiDi context (BiDi mode only) |
Cross-Site Agent Orchestration
Manage multiple WAB-enabled sites simultaneously with WABMultiAgent:
const { WABMultiAgent } = require('web-agent-bridge-sdk');
const multiAgent = new WABMultiAgent([
'https://site1.com',
'https://site2.com',
'https://site3.com'
]);
await multiAgent.launch();
// Compare prices across all sites
const comparison = await multiAgent.comparePrices('product-sku');
console.log(comparison.cheapest); // { site, price, currency }
console.log(`You save: $${comparison.savings}`);
// Execute any action on all sites in parallel
const infos = await multiAgent.executeAll('getPageInfo');
// Discover capabilities across all sites
const discoveries = await multiAgent.discoverAll();
await multiAgent.close();WABMultiAgent API
| Method | Description |
|---|---|
| launch() | Connect to all sites |
| discoverAll() | Discover actions on all sites |
| executeAll(action, params?) | Run action on all sites in parallel |
| comparePrices(sku) | Compare prices and find cheapest deal |
| compareAction(action, params?, rankFn?) | Compare action results with custom ranking |
| navigateAll(path) | Navigate all sessions to a path |
| screenshotAll(opts?) | Screenshot all sites |
| status() | Get connection summary |
| close() | Close all browser sessions |
