UNPKG

@auto-browse/auto-browse

Version:
40 lines (39 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.browser_snapshot = void 0; const tools_1 = require("@langchain/core/tools"); const zod_1 = require("zod"); const test_1 = require("@playwright/test"); const context_1 = require("../browser/context"); const utils_1 = require("./utils"); /** * Schema with dummy property to satisfy Gemini's API requirement for non-empty object properties */ const snapshotSchema = zod_1.z.object({ _: zod_1.z .string() .optional() .describe("No parameters required for this operation"), }); exports.browser_snapshot = (0, tools_1.tool)(async () => { try { console.log(`[Aria Snapshot] Starting snapshot operation`); const result = await test_1.test.step(`Capture Accessibility Snapshot`, async () => { return await (0, utils_1.run)(context_1.context, { callback: async () => { }, // Empty callback since we just want the snapshot captureSnapshot: true, }); }); console.log(`[Aria Snapshot] Operation completed successfully`); return result; } catch (error) { const errorMessage = `Failed to capture snapshot: ${error instanceof Error ? error.message : "Unknown error"}`; console.error(`[Aria Snapshot] Error:`, errorMessage); return errorMessage; } }, { name: "aria_snapshot", description: "Capture accessibility snapshot of the current page for better understanding of page structure", schema: snapshotSchema, });