donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
29 lines • 1.24 kB
JavaScript
;
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