Files
anything-llm/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-delete-draft.js
Timothy Carambat 4172751858 5427 translations (#5429)
* Outlook agent via Entra Application

* translations
2026-04-14 13:38:03 -07:00

87 lines
2.7 KiB
JavaScript

const outlookLib = require("../lib.js");
const { handleSkillError } = outlookLib;
module.exports.OutlookDeleteDraft = {
name: "outlook-delete-draft",
plugin: function () {
return {
name: "outlook-delete-draft",
setup(aibitat) {
aibitat.function({
super: aibitat,
name: this.name,
description:
"Delete a draft email from Outlook. " +
"This permanently removes the draft and cannot be undone.",
examples: [
{
prompt: "Delete the draft with ID AAMkAGI2...",
call: JSON.stringify({
draftId: "AAMkAGI2...",
}),
},
],
parameters: {
$schema: "http://json-schema.org/draft-07/schema#",
type: "object",
properties: {
draftId: {
type: "string",
description: "The ID of the draft to delete.",
},
},
required: ["draftId"],
additionalProperties: false,
},
handler: async function ({ draftId }) {
try {
this.super.handlerProps.log(
`Using the outlook-delete-draft tool.`
);
if (!draftId) {
return "Error: 'draftId' is required.";
}
if (this.super.requestToolApproval) {
const approval = await this.super.requestToolApproval({
skillName: this.name,
payload: { draftId },
description: `Delete draft ${draftId}? This cannot be undone.`,
});
if (!approval.approved) {
this.super.introspect(
`${this.caller}: User rejected the ${this.name} request.`
);
return approval.message;
}
}
this.super.introspect(
`${this.caller}: Deleting draft ${draftId}...`
);
const result = await outlookLib.deleteDraft(draftId);
if (!result.success) {
this.super.introspect(
`${this.caller}: Failed to delete draft - ${result.error}`
);
return `Error deleting draft: ${result.error}`;
}
this.super.introspect(
`${this.caller}: Successfully deleted draft`
);
return `Successfully deleted draft (ID: ${draftId}).`;
} catch (e) {
return handleSkillError(this, "outlook-delete-draft", e);
}
},
});
},
};
},
};