UNPKG

donobu

Version:

Create browser automations with an LLM agent and replay them as Playwright scripts.

36 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChangeWebBrowserTabTool = void 0; const Tool_1 = require("./Tool"); const ToolCallResult_1 = require("../models/ToolCallResult"); class ChangeWebBrowserTabTool extends Tool_1.Tool { constructor() { super(ChangeWebBrowserTabTool.NAME, 'Change the focus of the current web browser tab to a different tab.', 'ChangeWebBrowserTabToolCoreParameters', 'ChangeWebBrowserTabToolGptParameters'); } async call(context, parameters) { const desiredPage = context.page .context() .pages() .find((tab) => tab.url() === parameters.tabUrl); if (desiredPage && (await desiredPage.evaluate(() => { return window.donobuFocusPage(); }))) { context.page = desiredPage; return ToolCallResult_1.ToolCallResult.successful(); } else { return { isSuccessful: false, forLlm: `The ${parameters.tabUrl} tab URL is not present in the tab list.`, metadata: null, }; } } async callFromGpt(context, parameters) { return this.call(context, parameters); } } exports.ChangeWebBrowserTabTool = ChangeWebBrowserTabTool; ChangeWebBrowserTabTool.NAME = 'changeWebBrowserTab'; //# sourceMappingURL=ChangeWebBrowserTabTool.js.map