UNPKG

donobu

Version:

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

44 lines 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MarkObjectiveCompleteTool = exports.MarkObjectiveCompleteGptSchema = void 0; const v4_1 = require("zod/v4"); const ToolSchema_1 = require("../models/ToolSchema"); const Tool_1 = require("./Tool"); exports.MarkObjectiveCompleteGptSchema = v4_1.z.object({ ...ToolSchema_1.BaseGptArgsSchema.shape, details: v4_1.z.string().describe('Relevant details for the completed objective.'), }); /** * Tool for marking the overall objective as complete */ class MarkObjectiveCompleteTool extends Tool_1.Tool { constructor() { super(MarkObjectiveCompleteTool.NAME, 'The overall objective is complete.\n' + 'For example, being asked to sign up for a webpage and now the account has been created.', ToolSchema_1.NoArgsSchema, exports.MarkObjectiveCompleteGptSchema); } async call(context, _parameters) { context.metadata.nextState = 'SUCCESS'; return { isSuccessful: true, forLlm: 'Objective has been marked as complete.', metadata: { success: 'Objective complete', }, }; } async callFromGpt(context, parameters) { context.metadata.nextState = 'SUCCESS'; return { isSuccessful: true, forLlm: 'Objective has been marked as complete.', metadata: { success: 'Objective complete', rationale: parameters.rationale, details: parameters.details, }, }; } } exports.MarkObjectiveCompleteTool = MarkObjectiveCompleteTool; MarkObjectiveCompleteTool.NAME = 'markObjectiveComplete'; //# sourceMappingURL=MarkObjectiveCompleteTool.js.map