UNPKG

browse

Version:

Unified Browserbase CLI for browser automation and cloud APIs.

33 lines (32 loc) • 983 B
import { z } from "zod"; import { formatSnapshotTree } from "./snapshot-format.js"; export const snapshotHandlers = { async snapshot(manager, params) { const { compact, filter, maxDepth } = z .object({ compact: z.boolean().optional(), filter: z.string().optional(), maxDepth: z.number().int().nonnegative().optional(), }) .parse(params); const page = await manager.activePage(); const snapshot = await page.snapshot(); manager.setRefMaps({ urlMap: snapshot.urlMap ?? {}, xpathMap: snapshot.xpathMap ?? {}, }); const tree = formatSnapshotTree(snapshot.formattedTree, { compact, filter, maxDepth, }); if (compact) { return { tree }; } return { tree, urlMap: snapshot.urlMap, xpathMap: snapshot.xpathMap, }; }, };