Implement your own browser provider.
BrowserProvider: produce a CDP websocket endpoint for a new session, and close it later.1234567891011121314151617181920212223import type { BrowserProvider, ProviderSession, ProviderSessionClosed, } from "libretto-browser-tools"; class MyProvider implements BrowserProvider { readonly name = "my-provider"; async createSession(): Promise<ProviderSession> { // Start or allocate a browser, then return its CDP endpoint. return { sessionId: "my-1", cdpEndpoint: "ws://127.0.0.1:9222/devtools/browser/...", // optional: liveViewUrl, recordingUrl }; } async closeSession(sessionId: string): Promise<ProviderSessionClosed> { // Tear down the provider-owned session. return {}; // optional: replayUrl } }
new MyProvider() into createBrowserTools or any framework adapter. Provider-specific credentials and options belong on the constructor (with env-var fallbacks), not on the toolkit factory.libretto-browser-tools/kernel. See Providers.