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