From 2f0bfba1cfd7e5b3cf8f38322ca3f6ea88e79f2a Mon Sep 17 00:00:00 2001 From: albnnc Date: Fri, 10 Jul 2026 17:15:11 +0300 Subject: [PATCH] w --- ews_client.ts | 12 +----------- tools/calendar.ts | 4 ++-- tools/email.ts | 16 +++------------- 3 files changed, 6 insertions(+), 26 deletions(-) diff --git a/ews_client.ts b/ews_client.ts index fe90b3c..75fb0f1 100644 --- a/ews_client.ts +++ b/ews_client.ts @@ -377,7 +377,7 @@ ${restriction} return folders; } - extractEmailSummary(item: any): Email { + extractEmail(item: any): Email { const itemType = item["@_xsi_type"] ?? item.__type ?? ""; const isMeeting = /MeetingRequest|MeetingResponse|MeetingCancellation|CalendarItem/i.test( @@ -429,12 +429,6 @@ ${restriction} email.end = item.End ?? item.EndWallClock ?? ""; } - return email; - } - - extractEmailDetails(item: any): Email { - const email = this.extractEmailSummary(item); - const bodyVal = item.Body?.Value ?? item.Body?.["#text"] ?? ""; const bodyType = item.Body?.["@_BodyType"] ?? item.Body?.BodyType ?? "Text"; @@ -476,10 +470,6 @@ ${restriction} isInline: a.IsInline === "true" || a.IsInline === true, })); - const isMeeting = - /MeetingRequest|MeetingResponse|MeetingCancellation|CalendarItem/i.test( - item["@_xsi_type"] ?? "", - ); if (isMeeting) { email.location = item.Location ?? item.EnhancedLocation?.DisplayName ?? ""; diff --git a/tools/calendar.ts b/tools/calendar.ts index 00f18d8..aecd30c 100644 --- a/tools/calendar.ts +++ b/tools/calendar.ts @@ -73,7 +73,7 @@ export function registerCalendarTools(server: McpServer): void { }; if (includeBody && event.itemId) { - const details = client.extractEmailDetails(item); + const details = client.extractEmail(item); event.body = details.body; event.requiredAttendees = details.requiredAttendees ?? []; event.optionalAttendees = details.optionalAttendees ?? []; @@ -138,7 +138,7 @@ export function registerCalendarTools(server: McpServer): void { try { const client = new EwsClient(loadConfig()); const item = await client.getItem(itemId); - const email = client.extractEmailDetails(item); + const email = client.extractEmail(item); const attachments = email.attachments ?? []; const fileAttachments = attachments.filter( diff --git a/tools/email.ts b/tools/email.ts index 66a9981..4b455a6 100644 --- a/tools/email.ts +++ b/tools/email.ts @@ -139,17 +139,7 @@ export function registerEmailTools(server: McpServer): void { const emails = []; for (const item of items) { - const email = client.extractEmailSummary(item); - - if (includeBody && email.itemId) { - const details = client.extractEmailDetails(item); - email.to = details.to; - email.cc = details.cc; - email.body = details.body; - email.hasLinks = details.hasLinks; - } - - emails.push(email); + emails.push(client.extractEmail(item)); } return { @@ -205,7 +195,7 @@ export function registerEmailTools(server: McpServer): void { try { const client = getClient(); const item = await client.getItem(itemId); - const email = client.extractEmailDetails(item); + const email = client.extractEmail(item); return { content: [{ type: "text" as const, text: JSON.stringify(email) }], @@ -326,7 +316,7 @@ export function registerEmailTools(server: McpServer): void { try { const client = new EwsClient(loadConfig()); const item = await client.getItem(itemId); - const email = client.extractEmailDetails(item); + const email = client.extractEmail(item); const attachments = email.attachments ?? []; const fileAttachments = attachments.filter(