UNPKG

donobu

Version:

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

29 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SaveWebpageAsPdfTool = void 0; const ToolSchema_1 = require("../models/ToolSchema"); const TargetUtils_1 = require("../utils/TargetUtils"); const Tool_1 = require("./Tool"); class SaveWebpageAsPdfTool extends Tool_1.Tool { constructor() { super(SaveWebpageAsPdfTool.NAME, 'Save the current webpage as a PDF.', ToolSchema_1.NoArgsSchema, ToolSchema_1.BaseGptArgsSchema, false, undefined, ['web']); } async call(context, _parameters) { const pdfBytes = await (0, TargetUtils_1.webPage)(context).pdf(); const filename = `${new Date().toISOString()}.pdf`; await context.persistence.setFlowFile(context.metadata.id, filename, Buffer.from(pdfBytes)); return { isSuccessful: true, forLlm: `Successfully saved the current webpage as a PDF: ${filename}`, metadata: { pdfFilename: filename, }, }; } async callFromGpt(context, _parameters) { return this.call(context, {}); } } exports.SaveWebpageAsPdfTool = SaveWebpageAsPdfTool; SaveWebpageAsPdfTool.NAME = 'saveWebpageAsPdf'; //# sourceMappingURL=SaveWebpageAsPdfTool.js.map