UNPKG

n8n-nodes-imap-ai

Version:

Simplified IMAP node for n8n with AI-agent support. Clean and modular email and mailbox management for automation workflows.

54 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMailboxStatusOperation = void 0; const SearchFieldParameters_1 = require("../../../utils/SearchFieldParameters"); exports.getMailboxStatusOperation = { operation: { name: 'Get Status', value: 'getMailboxStatus', description: 'Get detailed status information for a specific mailbox including message counts and flags. Perfect for AI agents to monitor folder activity, find busy folders, or check for new messages.', }, parameters: [ { ...SearchFieldParameters_1.parameterSelectMailbox, description: 'Select the mailbox to get status for. AI agents can monitor specific folders for activity and message counts.', }, ], async executeImapAction(context, itemIndex, client) { const returnData = []; const statusQuery = { messages: true, recent: true, unseen: true, uidNext: true, uidValidity: true, highestModseq: true, }; const mailboxPath = (0, SearchFieldParameters_1.getMailboxPathFromNodeParameter)(context, itemIndex); const mailbox = await client.status(mailboxPath, statusQuery); const item_json = JSON.parse(JSON.stringify(mailbox)); item_json.operation = 'getMailboxStatus'; item_json.mailboxPath = mailboxPath; item_json.retrievedAt = new Date().toISOString(); item_json.hasNewMessages = (mailbox.unseen || 0) > 0; item_json.hasRecentMessages = (mailbox.recent || 0) > 0; item_json.isEmpty = (mailbox.messages || 0) === 0; item_json.messageDistribution = { total: mailbox.messages || 0, unseen: mailbox.unseen || 0, recent: mailbox.recent || 0, seen: (mailbox.messages || 0) - (mailbox.unseen || 0), }; item_json.activityLevel = mailbox.recent && mailbox.recent > 5 ? 'high' : mailbox.recent && mailbox.recent > 0 ? 'medium' : 'low'; returnData.push({ json: item_json, }); return returnData; }, }; //# sourceMappingURL=MailboxGetStatus.js.map