MCP-Logic
by angrysky56
- src
- types
import { JSONSchema7 } from "json-schema";
export const EMAIL_SEND_RESPONSE_SCHEMA: JSONSchema7 = {
type: "object",
properties: {
to: {
type: "string",
description: "Recipient email address(es). Multiple addresses can be comma-separated.",
},
subject: {
type: "string",
description: "Email subject line.",
},
body: {
type: "string",
description: "Email body content. Must be valid HTML.",
},
cc: {
type: "string",
description: "CC recipient email address(es). Multiple addresses can be comma-separated.",
},
bcc: {
type: "string",
description: "BCC recipient email address(es). Multiple addresses can be comma-separated.",
},
isHtml: {
type: "boolean",
description: "Whether the body content is HTML. Defaults to false for plain text.",
},
replyTo: {
type: "string",
description: "Reply-to email address.",
},
attachments: {
type: "array",
description: "List of attachments to include in the email.",
items: {
type: "object",
properties: {
filename: {
type: "string",
description: "Name of the attachment file.",
},
content: {
type: "string",
description: "Content of the attachment (base64 encoded for binary files).",
},
contentType: {
type: "string",
description: "MIME type of the attachment.",
},
},
required: ["filename", "content"],
},
},
},
required: ["to", "subject", "body"],
};
export const EMAIL_REPLY_RESPONSE_SCHEMA: JSONSchema7 = {
type: "object",
properties: {
replyTo: {
type: "string",
description: "Message ID to reply to.",
},
body: {
type: "string",
description: "Email body content. Must be valid HTML if isHtml is true.",
},
isHtml: {
type: "boolean",
description: "Whether the body content is HTML. Defaults to false for plain text.",
},
},
required: ["replyTo", "body"],
};
export const DRAFT_EMAIL_RESPONSE_SCHEMA: JSONSchema7 = {
type: "object",
properties: {
to: {
type: "string",
description: "Recipient email address(es). Multiple addresses can be comma-separated.",
},
subject: {
type: "string",
description: "Email subject line.",
},
body: {
type: "string",
description: "Email body content. Must be valid HTML.",
},
cc: {
type: "string",
description: "CC recipient email address(es). Multiple addresses can be comma-separated.",
},
bcc: {
type: "string",
description: "BCC recipient email address(es). Multiple addresses can be comma-separated.",
},
isHtml: {
type: "boolean",
description: "Whether the body content is HTML. Defaults to false for plain text.",
},
replyTo: {
type: "string",
description: "Message ID to reply to for draft replies.",
},
id: {
type: "string",
description: "Draft ID for updating existing drafts.",
},
attachments: {
type: "array",
description: "List of attachments to include in the email.",
items: {
type: "object",
properties: {
filename: {
type: "string",
description: "Name of the attachment file.",
},
content: {
type: "string",
description: "Content of the attachment (base64 encoded for binary files).",
},
contentType: {
type: "string",
description: "MIME type of the attachment.",
},
},
required: ["filename", "content"],
},
},
},
required: ["to", "subject", "body"],
};