@floriscornel/teams-mcp 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -61,6 +61,20 @@ To use this MCP server in Cursor/Claude/VS Code, add the following configuration
61
61
  - Create new 1:1 or group conversations
62
62
  - Retrieve chat message history with filtering and pagination
63
63
  - Send messages to existing chats
64
+ - Edit previously sent chat messages
65
+ - Soft delete chat messages
66
+
67
+ ### ✏️ Message Management
68
+ - **Edit & Delete**
69
+ - Update (edit) sent messages in chats and channels
70
+ - Soft delete messages in chats and channels (marks as deleted without permanent removal)
71
+ - Only message senders can update/delete their own messages
72
+ - Support for Markdown formatting, mentions, and importance levels on edits
73
+
74
+ ### 📎 Media & Attachments
75
+ - **Hosted Content**
76
+ - Download hosted content (images, files) from chat and channel messages
77
+ - Access inline images and attachments shared in conversations
64
78
 
65
79
  ### 🔍 Advanced Search & Discovery
66
80
  - **Message Search**
@@ -76,6 +90,8 @@ The following tools now support rich message formatting in Teams channels and ch
76
90
  - `send_channel_message`
77
91
  - `send_chat_message`
78
92
  - `reply_to_channel_message`
93
+ - `update_channel_message`
94
+ - `update_chat_message`
79
95
 
80
96
  ### Format Options
81
97
 
@@ -124,6 +140,58 @@ If `format` is not specified, the message will be sent as plain text.
124
140
  - **Blockquotes**: `> quoted text`
125
141
  - **Tables**: GitHub-flavored markdown tables
126
142
 
143
+ ## LLM-Friendly Content Format
144
+
145
+ Messages retrieved from the Microsoft Graph API are returned as raw HTML containing Teams-specific tags. To make this content more consumable by AI assistants, the following tools support automatic HTML-to-Markdown conversion:
146
+
147
+ - `get_chat_messages`
148
+ - `get_channel_messages`
149
+ - `get_channel_message_replies`
150
+ - `search_messages`
151
+ - `get_my_mentions`
152
+
153
+ ### Content Format Options
154
+
155
+ Use the `contentFormat` parameter to control how message content is returned:
156
+ - `markdown` (default): Converts Teams HTML to clean Markdown, optimized for LLM consumption
157
+ - `raw`: Returns the original HTML from the Microsoft Graph API
158
+
159
+ ### What Gets Converted
160
+
161
+ | HTML Element | Markdown Output |
162
+ |---|---|
163
+ | `<at id="0">Name</at>` (Teams mention) | `@Name` |
164
+ | `<strong>text</strong>` | `**text**` |
165
+ | `<em>text</em>` | `*text*` |
166
+ | `<code>text</code>` | `` `text` `` |
167
+ | `<a href="url">text</a>` | `[text](url)` |
168
+ | `<ul><li>item</li></ul>` | `- item` |
169
+ | `<table>...</table>` | GFM Markdown table |
170
+ | `<attachment id="...">` | *(removed)* |
171
+ | `<systemEventMessage/>` | *(removed)* |
172
+ | `<hr>` | `---` |
173
+ | `&nbsp;`, `&amp;`, etc. | Decoded to plain characters |
174
+
175
+ ### Example Usage
176
+
177
+ ```json
178
+ {
179
+ "chatId": "19:meeting_...",
180
+ "limit": 10,
181
+ "contentFormat": "markdown"
182
+ }
183
+ ```
184
+
185
+ To get the original HTML (previous default behavior):
186
+
187
+ ```json
188
+ {
189
+ "chatId": "19:meeting_...",
190
+ "limit": 10,
191
+ "contentFormat": "raw"
192
+ }
193
+ ```
194
+
127
195
  ## 📦 Installation
128
196
 
129
197
  ```bash
@@ -151,8 +219,9 @@ npm run auth
151
219
  - `Channel.ReadBasic.All` - Read channel information
152
220
  - `ChannelMessage.Read.All` - Read channel messages
153
221
  - `ChannelMessage.Send` - Send channel messages
222
+ - `ChannelMessage.ReadWrite` - Edit and delete channel messages
154
223
  - `Chat.Read` - Read chat messages
155
- - `Chat.ReadWrite` - Create and manage chats
224
+ - `Chat.ReadWrite` - Create and manage chats (including edit/delete messages)
156
225
  - `Mail.Read` - Required for Microsoft Search API
157
226
  - `Calendars.Read` - Required for Microsoft Search API
158
227
  - `Files.Read.All` - Required for Microsoft Search API
@@ -185,6 +254,8 @@ npm run build && node dist/index.js
185
254
  - `list_channels` - List channels in a specific team
186
255
  - `get_channel_messages` - Retrieve messages from a team channel with pagination and filtering
187
256
  - `send_channel_message` - Send a message to a team channel
257
+ - `update_channel_message` - Edit a previously sent channel message
258
+ - `delete_channel_message` - Soft delete a channel message (supports replies)
188
259
  - `list_team_members` - List members of a specific team
189
260
 
190
261
  #### Chat Operations
@@ -192,6 +263,11 @@ npm run build && node dist/index.js
192
263
  - `get_chat_messages` - Retrieve messages from a specific chat with pagination and filtering
193
264
  - `send_chat_message` - Send a message to a chat
194
265
  - `create_chat` - Create a new 1:1 or group chat
266
+ - `update_chat_message` - Edit a previously sent chat message
267
+ - `delete_chat_message` - Soft delete a chat message
268
+
269
+ #### Media Operations
270
+ - `download_message_hosted_content` - Download hosted content (images, files) from messages
195
271
 
196
272
  #### Search Operations
197
273
  - `search_messages` - Search across all Teams messages using KQL syntax
package/dist/index.js CHANGED
@@ -144,7 +144,7 @@ async function startMcpServer() {
144
144
  // Create MCP server
145
145
  const server = new McpServer({
146
146
  name: "teams-mcp",
147
- version: "0.5.0",
147
+ version: "0.7.0",
148
148
  });
149
149
  // Initialize Graph service (singleton)
150
150
  const graphService = GraphService.getInstance();
@@ -1,4 +1,12 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { GraphService } from "../services/graph.js";
3
+ /**
4
+ * Registers all chat-related MCP tools on the given server.
5
+ * Tools include: list_chats, get_chat_messages, send_chat_message,
6
+ * create_chat, update_chat_message, and delete_chat_message.
7
+ *
8
+ * @param server - The MCP server instance to register tools on.
9
+ * @param graphService - The Microsoft Graph service used for API calls.
10
+ */
3
11
  export declare function registerChatTools(server: McpServer, graphService: GraphService): void;
4
12
  //# sourceMappingURL=chats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAczD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAgc9E"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAezD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAmoB9E"}
@@ -1,6 +1,15 @@
1
1
  import { z } from "zod";
2
+ import { formatMessageContent } from "../utils/html-to-markdown.js";
2
3
  import { markdownToHtml } from "../utils/markdown.js";
3
4
  import { processMentionsInHtml } from "../utils/users.js";
5
+ /**
6
+ * Registers all chat-related MCP tools on the given server.
7
+ * Tools include: list_chats, get_chat_messages, send_chat_message,
8
+ * create_chat, update_chat_message, and delete_chat_message.
9
+ *
10
+ * @param server - The MCP server instance to register tools on.
11
+ * @param graphService - The Microsoft Graph service used for API calls.
12
+ */
4
13
  export function registerChatTools(server, graphService) {
5
14
  // List user's chats
6
15
  server.tool("list_chats", "List all recent chats (1:1 conversations and group chats) that the current user participates in. Returns chat topics, types, and participant information.", {}, async () => {
@@ -78,7 +87,12 @@ export function registerChatTools(server, graphService) {
78
87
  .optional()
79
88
  .default(false)
80
89
  .describe("Fetch all messages using pagination (up to limit). When true, follows @odata.nextLink to get more messages."),
81
- }, async ({ chatId, limit, since, until, fromUser, orderBy, descending, fetchAll }) => {
90
+ contentFormat: z
91
+ .enum(["raw", "markdown"])
92
+ .optional()
93
+ .default("markdown")
94
+ .describe('Format for message content. "markdown" (default) converts Teams HTML to clean Markdown optimized for LLMs. "raw" returns original HTML from Graph API.'),
95
+ }, async ({ chatId, limit, since, until, fromUser, orderBy, descending, fetchAll, contentFormat, }) => {
82
96
  try {
83
97
  const client = await graphService.getClient();
84
98
  // Apply defaults for parameters (in case Zod validation is bypassed)
@@ -174,9 +188,10 @@ export function registerChatTools(server, graphService) {
174
188
  }
175
189
  // Apply limit after filtering
176
190
  const limitedMessages = filteredMessages.slice(0, effectiveLimit);
191
+ const effectiveContentFormat = contentFormat ?? "markdown";
177
192
  const messageList = limitedMessages.map((message) => ({
178
193
  id: message.id,
179
- content: message.body?.content,
194
+ content: formatMessageContent(message.body?.content, effectiveContentFormat),
180
195
  from: message.from?.user?.displayName,
181
196
  createdDateTime: message.createdDateTime,
182
197
  }));
@@ -373,5 +388,150 @@ export function registerChatTools(server, graphService) {
373
388
  };
374
389
  }
375
390
  });
391
+ // Update/Edit a chat message
392
+ server.tool("update_chat_message", "Update (edit) a chat message that was previously sent. Only the message sender can update their own messages. Supports updating content with text or Markdown formatting, mentions, and importance levels.", {
393
+ chatId: z.string().describe("Chat ID"),
394
+ messageId: z.string().describe("Message ID to update"),
395
+ message: z.string().describe("New message content"),
396
+ importance: z.enum(["normal", "high", "urgent"]).optional().describe("Message importance"),
397
+ format: z.enum(["text", "markdown"]).optional().describe("Message format (text or markdown)"),
398
+ mentions: z
399
+ .array(z.object({
400
+ mention: z
401
+ .string()
402
+ .describe("The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"),
403
+ userId: z.string().describe("Azure AD User ID of the mentioned user"),
404
+ }))
405
+ .optional()
406
+ .describe("Array of @mentions to include in the message"),
407
+ }, async ({ chatId, messageId, message, importance, format = "text", mentions }) => {
408
+ try {
409
+ const client = await graphService.getClient();
410
+ // Process message content based on format
411
+ let content;
412
+ let contentType;
413
+ if (format === "markdown") {
414
+ content = await markdownToHtml(message);
415
+ contentType = "html";
416
+ }
417
+ else {
418
+ content = message;
419
+ contentType = "text";
420
+ }
421
+ // Process @mentions if provided
422
+ const mentionMappings = [];
423
+ if (mentions && mentions.length > 0) {
424
+ // Convert provided mentions to mappings with display names
425
+ for (const mention of mentions) {
426
+ try {
427
+ // Get user info to get display name
428
+ const userResponse = await client
429
+ .api(`/users/${mention.userId}`)
430
+ .select("displayName")
431
+ .get();
432
+ mentionMappings.push({
433
+ mention: mention.mention,
434
+ userId: mention.userId,
435
+ displayName: userResponse.displayName || mention.mention,
436
+ });
437
+ }
438
+ catch (_error) {
439
+ console.warn(`Could not resolve user ${mention.userId}, using mention text as display name`);
440
+ mentionMappings.push({
441
+ mention: mention.mention,
442
+ userId: mention.userId,
443
+ displayName: mention.mention,
444
+ });
445
+ }
446
+ }
447
+ }
448
+ // Process mentions in HTML content
449
+ let finalMentions = [];
450
+ if (mentionMappings.length > 0) {
451
+ const result = processMentionsInHtml(content, mentionMappings);
452
+ content = result.content;
453
+ finalMentions = result.mentions;
454
+ // Ensure we're using HTML content type when mentions are present
455
+ contentType = "html";
456
+ }
457
+ // Build message payload for update
458
+ const messagePayload = {
459
+ body: {
460
+ content,
461
+ contentType,
462
+ },
463
+ };
464
+ if (importance) {
465
+ messagePayload.importance = importance;
466
+ }
467
+ if (finalMentions.length > 0) {
468
+ messagePayload.mentions = finalMentions;
469
+ }
470
+ // Update the message using PATCH
471
+ // Note: Using /me/chats/ endpoint for delegated permissions
472
+ // The API also requires proper permissions: Chat.ReadWrite
473
+ await client.api(`/me/chats/${chatId}/messages/${messageId}`).patch(messagePayload);
474
+ // Build success message
475
+ const successText = `✅ Message updated successfully. Message ID: ${messageId}${finalMentions.length > 0
476
+ ? `\n📱 Mentions: ${finalMentions.map((m) => m.mentionText).join(", ")}`
477
+ : ""}`;
478
+ return {
479
+ content: [
480
+ {
481
+ type: "text",
482
+ text: successText,
483
+ },
484
+ ],
485
+ };
486
+ }
487
+ catch (error) {
488
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
489
+ return {
490
+ content: [
491
+ {
492
+ type: "text",
493
+ text: `❌ Failed to update message: ${errorMessage}`,
494
+ },
495
+ ],
496
+ isError: true,
497
+ };
498
+ }
499
+ });
500
+ // Soft delete a chat message
501
+ server.tool("delete_chat_message", "Soft delete a chat message that was previously sent. Only the message sender can delete their own messages. The message will be marked as deleted but can still be seen as '[This message has been deleted]'.", {
502
+ chatId: z.string().describe("Chat ID"),
503
+ messageId: z.string().describe("Message ID to delete"),
504
+ }, async ({ chatId, messageId }) => {
505
+ try {
506
+ const client = await graphService.getClient();
507
+ // Get current user ID for the endpoint
508
+ const me = (await client.api("/me").get());
509
+ // Soft delete the message using POST
510
+ // Endpoint: POST /users/{userId}/chats/{chatsId}/messages/{chatMessageId}/softDelete
511
+ await client
512
+ .api(`/users/${me.id}/chats/${chatId}/messages/${messageId}/softDelete`)
513
+ .post({});
514
+ return {
515
+ content: [
516
+ {
517
+ type: "text",
518
+ text: `✅ Message deleted successfully. Message ID: ${messageId}`,
519
+ },
520
+ ],
521
+ };
522
+ }
523
+ catch (error) {
524
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
525
+ return {
526
+ content: [
527
+ {
528
+ type: "text",
529
+ text: `❌ Failed to delete message: ${errorMessage}`,
530
+ },
531
+ ],
532
+ isError: true,
533
+ };
534
+ }
535
+ });
376
536
  }
377
537
  //# sourceMappingURL=chats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,15 @@ import type { SearchHit } from "../types/graph.js";
4
4
  /**
5
5
  * Maps raw SearchHit objects from the Microsoft Search API into a
6
6
  * consistent, flat shape for tool responses.
7
+ *
8
+ * @param hits - Array of search hits from the Microsoft Search API
9
+ * @param contentFormat - Format for message content: "markdown" or "raw"
7
10
  */
8
- export declare function formatSearchHits(hits: SearchHit[]): {
11
+ export declare function formatSearchHits(hits: SearchHit[], contentFormat?: "raw" | "markdown"): {
9
12
  id: string;
10
13
  summary: string;
11
14
  rank: number;
12
- content: string | undefined;
15
+ content: string | null | undefined;
13
16
  from: string | undefined;
14
17
  fromUserId: string | undefined;
15
18
  createdDateTime: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAiC,MAAM,mBAAmB,CAAC;AAElF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE;;;;;;;;;;;;;IAejD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAyKhF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAiC,MAAM,mBAAmB,CAAC;AAGlF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EAAE,EACjB,aAAa,GAAE,KAAK,GAAG,UAAuB;;;;;;;;;;;;;IAgB/C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAuLhF"}
@@ -1,14 +1,18 @@
1
1
  import { z } from "zod";
2
+ import { formatMessageContent } from "../utils/html-to-markdown.js";
2
3
  /**
3
4
  * Maps raw SearchHit objects from the Microsoft Search API into a
4
5
  * consistent, flat shape for tool responses.
6
+ *
7
+ * @param hits - Array of search hits from the Microsoft Search API
8
+ * @param contentFormat - Format for message content: "markdown" or "raw"
5
9
  */
6
- export function formatSearchHits(hits) {
10
+ export function formatSearchHits(hits, contentFormat = "markdown") {
7
11
  return hits.map((hit) => ({
8
12
  id: hit.resource.id,
9
13
  summary: hit.summary,
10
14
  rank: hit.rank,
11
- content: hit.resource.body?.content,
15
+ content: formatMessageContent(hit.resource.body?.content, contentFormat),
12
16
  from: hit.resource.from?.user?.displayName,
13
17
  fromUserId: hit.resource.from?.user?.id,
14
18
  createdDateTime: hit.resource.createdDateTime,
@@ -56,7 +60,12 @@ export function registerSearchTools(server, graphService) {
56
60
  .optional()
57
61
  .default(true)
58
62
  .describe("When true, results are ranked by relevance. When false, results are unranked"),
59
- }, async ({ query, from, size, enableTopResults }) => {
63
+ contentFormat: z
64
+ .enum(["raw", "markdown"])
65
+ .optional()
66
+ .default("markdown")
67
+ .describe('Format for message content. "markdown" (default) converts Teams HTML to clean Markdown optimized for LLMs. "raw" returns original HTML from Graph API.'),
68
+ }, async ({ query, from, size, enableTopResults, contentFormat }) => {
60
69
  try {
61
70
  const client = await graphService.getClient();
62
71
  const searchRequest = {
@@ -85,7 +94,7 @@ export function registerSearchTools(server, graphService) {
85
94
  size,
86
95
  total: container.total,
87
96
  moreResultsAvailable: container.moreResultsAvailable,
88
- results: formatSearchHits(container.hits),
97
+ results: formatSearchHits(container.hits, contentFormat ?? "markdown"),
89
98
  }, null, 2),
90
99
  },
91
100
  ],
@@ -113,7 +122,12 @@ export function registerSearchTools(server, graphService) {
113
122
  .optional()
114
123
  .default(25)
115
124
  .describe("Maximum number of mentions to return"),
116
- }, async ({ hours, size }) => {
125
+ contentFormat: z
126
+ .enum(["raw", "markdown"])
127
+ .optional()
128
+ .default("markdown")
129
+ .describe('Format for message content. "markdown" (default) converts Teams HTML to clean Markdown optimized for LLMs. "raw" returns original HTML from Graph API.'),
130
+ }, async ({ hours, size, contentFormat }) => {
117
131
  try {
118
132
  const client = await graphService.getClient();
119
133
  // Resolve current user
@@ -148,7 +162,7 @@ export function registerSearchTools(server, graphService) {
148
162
  mentionedUser: me?.displayName || "Current User",
149
163
  total: container.total,
150
164
  moreResultsAvailable: container.moreResultsAvailable,
151
- mentions: formatSearchHits(container.hits),
165
+ mentions: formatSearchHits(container.hits, contentFormat ?? "markdown"),
152
166
  }, null, 2),
153
167
  },
154
168
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { GraphService } from "../services/graph.js";
3
+ /**
4
+ * Registers all Teams-related MCP tools on the given server.
5
+ * Tools include: list_teams, list_channels, get_channel_messages,
6
+ * send_channel_message, get_channel_message_replies, reply_to_channel_message,
7
+ * list_team_members, search_users_for_mentions, download_message_hosted_content,
8
+ * delete_channel_message, and update_channel_message.
9
+ *
10
+ * @param server - The MCP server instance to register tools on.
11
+ * @param graphService - The Microsoft Graph service used for API calls.
12
+ */
3
13
  export declare function registerTeamsTools(server: McpServer, graphService: GraphService): void;
4
14
  //# sourceMappingURL=teams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAqBzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAy/B/E"}
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBzD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QA0sC/E"}
@@ -1,7 +1,18 @@
1
1
  import { z } from "zod";
2
2
  import { imageUrlToBase64, isValidImageType, uploadImageAsHostedContent, } from "../utils/attachments.js";
3
+ import { formatMessageContent } from "../utils/html-to-markdown.js";
3
4
  import { markdownToHtml } from "../utils/markdown.js";
4
5
  import { processMentionsInHtml, searchUsers } from "../utils/users.js";
6
+ /**
7
+ * Registers all Teams-related MCP tools on the given server.
8
+ * Tools include: list_teams, list_channels, get_channel_messages,
9
+ * send_channel_message, get_channel_message_replies, reply_to_channel_message,
10
+ * list_team_members, search_users_for_mentions, download_message_hosted_content,
11
+ * delete_channel_message, and update_channel_message.
12
+ *
13
+ * @param server - The MCP server instance to register tools on.
14
+ * @param graphService - The Microsoft Graph service used for API calls.
15
+ */
5
16
  export function registerTeamsTools(server, graphService) {
6
17
  // List user's teams
7
18
  server.tool("list_teams", "List all Microsoft Teams that the current user is a member of. Returns team names, descriptions, and IDs.", {}, async () => {
@@ -102,7 +113,12 @@ export function registerTeamsTools(server, graphService) {
102
113
  .optional()
103
114
  .default(20)
104
115
  .describe("Number of messages to retrieve (default: 20)"),
105
- }, async ({ teamId, channelId, limit }) => {
116
+ contentFormat: z
117
+ .enum(["raw", "markdown"])
118
+ .optional()
119
+ .default("markdown")
120
+ .describe('Format for message content. "markdown" (default) converts Teams HTML to clean Markdown optimized for LLMs. "raw" returns original HTML from Graph API.'),
121
+ }, async ({ teamId, channelId, limit, contentFormat }) => {
106
122
  try {
107
123
  const client = await graphService.getClient();
108
124
  // Build query parameters - Teams channel messages API has limited query support
@@ -122,9 +138,10 @@ export function registerTeamsTools(server, graphService) {
122
138
  ],
123
139
  };
124
140
  }
141
+ const effectiveContentFormat = contentFormat ?? "markdown";
125
142
  const messageList = response.value.map((message) => ({
126
143
  id: message.id,
127
- content: message.body?.content,
144
+ content: formatMessageContent(message.body?.content, effectiveContentFormat),
128
145
  from: message.from?.user?.displayName,
129
146
  createdDateTime: message.createdDateTime,
130
147
  importance: message.importance,
@@ -337,7 +354,12 @@ export function registerTeamsTools(server, graphService) {
337
354
  .optional()
338
355
  .default(20)
339
356
  .describe("Number of replies to retrieve (default: 20)"),
340
- }, async ({ teamId, channelId, messageId, limit }) => {
357
+ contentFormat: z
358
+ .enum(["raw", "markdown"])
359
+ .optional()
360
+ .default("markdown")
361
+ .describe('Format for message content. "markdown" (default) converts Teams HTML to clean Markdown optimized for LLMs. "raw" returns original HTML from Graph API.'),
362
+ }, async ({ teamId, channelId, messageId, limit, contentFormat }) => {
341
363
  try {
342
364
  const client = await graphService.getClient();
343
365
  // Only $top is supported for message replies
@@ -356,9 +378,10 @@ export function registerTeamsTools(server, graphService) {
356
378
  ],
357
379
  };
358
380
  }
381
+ const effectiveContentFormat = contentFormat ?? "markdown";
359
382
  const repliesList = response.value.map((reply) => ({
360
383
  id: reply.id,
361
- content: reply.body?.content,
384
+ content: formatMessageContent(reply.body?.content, effectiveContentFormat),
362
385
  from: reply.from?.user?.displayName,
363
386
  createdDateTime: reply.createdDateTime,
364
387
  importance: reply.importance,
@@ -813,5 +836,158 @@ export function registerTeamsTools(server, graphService) {
813
836
  };
814
837
  }
815
838
  });
839
+ // Soft delete a channel message
840
+ server.tool("delete_channel_message", "Soft delete a message in a channel. Only the message sender can delete their own messages. The message will be marked as deleted.", {
841
+ teamId: z.string().describe("Team ID"),
842
+ channelId: z.string().describe("Channel ID"),
843
+ messageId: z.string().describe("Message ID to delete"),
844
+ replyId: z
845
+ .string()
846
+ .optional()
847
+ .describe("Reply ID if deleting a reply to a message (optional)"),
848
+ }, async ({ teamId, channelId, messageId, replyId }) => {
849
+ try {
850
+ const client = await graphService.getClient();
851
+ // Build endpoint based on whether it's a reply or main message
852
+ // POST /teams/{teamId}/channels/{channelId}/messages/{chatMessageId}/softDelete
853
+ // POST /teams/{teamId}/channels/{channelId}/messages/{messageId}/replies/{replyId}/softDelete
854
+ const endpoint = replyId
855
+ ? `/teams/${teamId}/channels/${channelId}/messages/${messageId}/replies/${replyId}/softDelete`
856
+ : `/teams/${teamId}/channels/${channelId}/messages/${messageId}/softDelete`;
857
+ // Soft delete the message using POST
858
+ await client.api(endpoint).post({});
859
+ return {
860
+ content: [
861
+ {
862
+ type: "text",
863
+ text: `✅ ${replyId ? "Reply" : "Message"} deleted successfully.${replyId ? ` Reply ID: ${replyId}` : ` Message ID: ${messageId}`}`,
864
+ },
865
+ ],
866
+ };
867
+ }
868
+ catch (error) {
869
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
870
+ return {
871
+ content: [
872
+ {
873
+ type: "text",
874
+ text: `❌ Failed to delete ${replyId ? "reply" : "message"}: ${errorMessage}`,
875
+ },
876
+ ],
877
+ isError: true,
878
+ };
879
+ }
880
+ });
881
+ // Update/Edit a channel message
882
+ server.tool("update_channel_message", "Update (edit) a message in a channel that was previously sent. Only the message sender can update their own messages.", {
883
+ teamId: z.string().describe("Team ID"),
884
+ channelId: z.string().describe("Channel ID"),
885
+ messageId: z.string().describe("Message ID to update"),
886
+ replyId: z
887
+ .string()
888
+ .optional()
889
+ .describe("Reply ID if updating a reply to a message (optional)"),
890
+ message: z.string().describe("New message content"),
891
+ importance: z.enum(["normal", "high", "urgent"]).optional().describe("Message importance"),
892
+ format: z.enum(["text", "markdown"]).optional().describe("Message format (text or markdown)"),
893
+ mentions: z
894
+ .array(z.object({
895
+ mention: z
896
+ .string()
897
+ .describe("The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"),
898
+ userId: z.string().describe("Azure AD User ID of the mentioned user"),
899
+ }))
900
+ .optional()
901
+ .describe("Array of @mentions to include in the message"),
902
+ }, async ({ teamId, channelId, messageId, replyId, message, importance, format = "text", mentions, }) => {
903
+ try {
904
+ const client = await graphService.getClient();
905
+ // Process message content based on format
906
+ let content;
907
+ let contentType;
908
+ if (format === "markdown") {
909
+ content = await markdownToHtml(message);
910
+ contentType = "html";
911
+ }
912
+ else {
913
+ content = message;
914
+ contentType = "text";
915
+ }
916
+ // Process @mentions if provided
917
+ const mentionMappings = [];
918
+ if (mentions && mentions.length > 0) {
919
+ for (const mention of mentions) {
920
+ try {
921
+ const userResponse = await client
922
+ .api(`/users/${mention.userId}`)
923
+ .select("displayName")
924
+ .get();
925
+ mentionMappings.push({
926
+ mention: mention.mention,
927
+ userId: mention.userId,
928
+ displayName: userResponse.displayName || mention.mention,
929
+ });
930
+ }
931
+ catch (_error) {
932
+ console.warn(`Could not resolve user ${mention.userId}, using mention text as display name`);
933
+ mentionMappings.push({
934
+ mention: mention.mention,
935
+ userId: mention.userId,
936
+ displayName: mention.mention,
937
+ });
938
+ }
939
+ }
940
+ }
941
+ // Process mentions in HTML content
942
+ let finalMentions = [];
943
+ if (mentionMappings.length > 0) {
944
+ const result = processMentionsInHtml(content, mentionMappings);
945
+ content = result.content;
946
+ finalMentions = result.mentions;
947
+ contentType = "html";
948
+ }
949
+ // Build message payload for update
950
+ const messagePayload = {
951
+ body: {
952
+ content,
953
+ contentType,
954
+ },
955
+ };
956
+ if (importance) {
957
+ messagePayload.importance = importance;
958
+ }
959
+ if (finalMentions.length > 0) {
960
+ messagePayload.mentions = finalMentions;
961
+ }
962
+ // Update the message using PATCH
963
+ const endpoint = replyId
964
+ ? `/teams/${teamId}/channels/${channelId}/messages/${messageId}/replies/${replyId}`
965
+ : `/teams/${teamId}/channels/${channelId}/messages/${messageId}`;
966
+ await client.api(endpoint).patch(messagePayload);
967
+ const successText = `✅ Channel ${replyId ? "reply" : "message"} updated successfully.${replyId ? ` Reply ID: ${replyId}` : ` Message ID: ${messageId}`}${finalMentions.length > 0
968
+ ? `\n📱 Mentions: ${finalMentions.map((m) => m.mentionText).join(", ")}`
969
+ : ""}`;
970
+ return {
971
+ content: [
972
+ {
973
+ type: "text",
974
+ text: successText,
975
+ },
976
+ ],
977
+ };
978
+ }
979
+ catch (error) {
980
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
981
+ return {
982
+ content: [
983
+ {
984
+ type: "text",
985
+ text: `❌ Failed to update channel message: ${errorMessage}`,
986
+ },
987
+ ],
988
+ isError: true,
989
+ };
990
+ }
991
+ });
816
992
  }
817
993
  //# sourceMappingURL=teams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAEtF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,YAA0B;IAC9E,oBAAoB;IACpB,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,2GAA2G,EAC3G,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAA2B,CAAC;YAEvF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iBAAiB;yBACxB;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAkB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC;gBAClE,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6HAA6H,EAC7H;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACvC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;iBAC3B,GAAG,CAAC,UAAU,MAAM,WAAW,CAAC;iBAChC,GAAG,EAAE,CAA8B,CAAC;YAEvC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iCAAiC;yBACxC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;gBAC9E,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC3C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,oIAAoI,EACpI;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CACP,wJAAwJ,CACzJ;KACJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,gFAAgF;YAChF,qDAAqD;YACrD,MAAM,WAAW,GAAa,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;iBAC3B,GAAG,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,WAAW,EAAE,CAAC;iBACrE,GAAG,EAAE,CAAkC,CAAC;YAE3C,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,oCAAoC;yBAC3C;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAAG,aAAa,IAAI,UAAU,CAAC;YAC3D,MAAM,WAAW,GAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC;gBAClF,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,CAAC;gBAC5E,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW;gBACrC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC,CAAC;YAEJ,kFAAkF;YAClF,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzD,OAAO,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,aAAa,EAAE,WAAW,CAAC,MAAM;4BACjC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BACtC,QAAQ,EAAE,WAAW;yBACtB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,mIAAmI,EACnI;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7F,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACtE,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACpF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChF,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClF,EACD,KAAK,EAAE,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,GAAG,QAAQ,EACrB,MAAM,GAAG,MAAM,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,aAAa,GACd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,0CAA0C;YAC1C,IAAI,OAAe,CAAC;YACpB,IAAI,WAA4B,CAAC;YAEjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,OAAO,CAAC;gBAClB,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,gCAAgC;YAChC,MAAM,eAAe,GAAoE,EAAE,CAAC;YAC5F,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,2DAA2D;gBAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,oCAAoC;wBACpC,MAAM,YAAY,GAAG,MAAM,MAAM;6BAC9B,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC;6BAC/B,MAAM,CAAC,aAAa,CAAC;6BACrB,GAAG,EAAE,CAAC;wBACT,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO;yBACzD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,0BAA0B,OAAO,CAAC,MAAM,sCAAsC,CAC/E,CAAC;wBACF,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,OAAO,CAAC,OAAO;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,IAAI,aAAa,GAIZ,EAAE,CAAC;YACR,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC/D,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAEhC,iEAAiE;gBACjE,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,0BAA0B;YAC1B,MAAM,WAAW,GAAsB,EAAE,CAAC;YAC1C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,SAAS,GAAiD,IAAI,CAAC;gBAEnE,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,wCAAwC,QAAQ,EAAE;iCACzD;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACxC,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,6BAA6B,gBAAgB,EAAE;iCACtD;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBACD,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;gBACjE,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,YAAY,EACZ,MAAM,EACN,SAAS,EACT,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,WAAW,EACrB,aAAa,CACd,CAAC;oBAEF,IAAI,YAAY,EAAE,CAAC;wBACjB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,qCAAqC;iCAC5C;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,MAAM,cAAc,GAAQ;gBAC1B,IAAI,EAAE;oBACJ,OAAO;oBACP,WAAW;iBACZ;gBACD,UAAU;aACX,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,cAAc,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC1C,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM;iBACzB,GAAG,CAAC,UAAU,MAAM,aAAa,SAAS,WAAW,CAAC;iBACtD,IAAI,CAAC,cAAc,CAAC,CAAgB,CAAC;YAExC,wBAAwB;YACxB,MAAM,WAAW,GAAG,4CAA4C,MAAM,CAAC,EAAE,GACvE,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,kBAAkB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxE,CAAC,CAAC,EACN,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAElF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,6BAA6B,KAAK,CAAC,OAAO,EAAE;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,gHAAgH,EAChH;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC/D,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CACP,wJAAwJ,CACzJ;KACJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,6CAA6C;YAC7C,MAAM,WAAW,GAAa,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;iBAC3B,GAAG,CACF,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,YAAY,WAAW,EAAE,CACtF;iBACA,GAAG,EAAE,CAAkC,CAAC;YAE3C,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,oCAAoC;yBAC3C;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAAG,aAAa,IAAI,UAAU,CAAC;YAC3D,MAAM,WAAW,GAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,CAAC;gBAChF,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,CAAC;gBAC1E,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW;gBACnC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC,CAAC;YAEJ,2DAA2D;YAC3D,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzD,OAAO,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,eAAe,EAAE,SAAS;4BAC1B,YAAY,EAAE,WAAW,CAAC,MAAM;4BAChC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BACtC,OAAO,EAAE,WAAW;yBACrB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,mHAAmH,EACnH;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC7C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7F,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACtE,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;QACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAClF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChF,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClF,EACD,KAAK,EAAE,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,GAAG,QAAQ,EACrB,MAAM,GAAG,MAAM,EACf,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,aAAa,GACd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,0CAA0C;YAC1C,IAAI,OAAe,CAAC;YACpB,IAAI,WAA4B,CAAC;YAEjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,OAAO,CAAC;gBAClB,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,gCAAgC;YAChC,MAAM,eAAe,GAAoE,EAAE,CAAC;YAC5F,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,2DAA2D;gBAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,oCAAoC;wBACpC,MAAM,YAAY,GAAG,MAAM,MAAM;6BAC9B,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC;6BAC/B,MAAM,CAAC,aAAa,CAAC;6BACrB,GAAG,EAAE,CAAC;wBACT,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO;yBACzD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,0BAA0B,OAAO,CAAC,MAAM,sCAAsC,CAC/E,CAAC;wBACF,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,OAAO,CAAC,OAAO;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,IAAI,aAAa,GAIZ,EAAE,CAAC;YACR,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC/D,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAEhC,iEAAiE;gBACjE,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,0BAA0B;YAC1B,MAAM,WAAW,GAAsB,EAAE,CAAC;YAC1C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,SAAS,GAAiD,IAAI,CAAC;gBAEnE,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,wCAAwC,QAAQ,EAAE;iCACzD;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACxC,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,6BAA6B,gBAAgB,EAAE;iCACtD;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBACD,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;gBACjE,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,YAAY,EACZ,MAAM,EACN,SAAS,EACT,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,WAAW,EACrB,aAAa,CACd,CAAC;oBAEF,IAAI,YAAY,EAAE,CAAC;wBACjB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,qCAAqC;iCAC5C;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,MAAM,cAAc,GAAQ;gBAC1B,IAAI,EAAE;oBACJ,OAAO;oBACP,WAAW;iBACZ;gBACD,UAAU;aACX,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,cAAc,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC1C,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM;iBACzB,GAAG,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,UAAU,CAAC;iBAC3E,IAAI,CAAC,cAAc,CAAC,CAAgB,CAAC;YAExC,wBAAwB;YACxB,MAAM,WAAW,GAAG,wCAAwC,MAAM,CAAC,EAAE,GACnE,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,kBAAkB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxE,CAAC,CAAC,EACN,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAElF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE;qBACjD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oBAAoB;IACpB,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,uGAAuG,EACvG;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACvC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;iBAC3B,GAAG,CAAC,UAAU,MAAM,UAAU,CAAC;iBAC/B,GAAG,EAAE,CAAyC,CAAC;YAElD,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gCAAgC;yBACvC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAoB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC;gBACtF,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC1C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,oHAAoH,EACpH;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC1D,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,qCAAqC,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAE5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,KAAK,IAAI;yBAC5C;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,KAAK;4BACL,YAAY,EAAE,KAAK,CAAC,MAAM;4BAC1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC;gCACpC,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gCACzC,WAAW,EACT,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oCACrC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;6BACrD,CAAC,CAAC;yBACJ,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wDAAwD;IACxD,MAAM,CAAC,IAAI,CACT,iCAAiC,EACjC,kNAAkN,EAClN;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC1E,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0GAA0G,CAC3G;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8GAA8G,CAC/G;KACJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,2DAA2D;YAC3D,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM;iBAC1B,GAAG,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;iBACnE,GAAG,EAAE,CAAgB,CAAC;YAEzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sBAAsB;yBAC7B;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,mDAAmD;YACnD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YAChD,MAAM,kBAAkB,GAAG,+DAA+D,CAAC;YAC3F,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,KAA6B,CAAC;YAElC,kFAAkF;YAClF,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4CAA4C;yBACnD;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAEjE,+BAA+B;YAC/B,MAAM,OAAO,GAOR,EAAE,CAAC;YAER,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,MAAM,MAAM;yBAC1B,GAAG,CACF,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,mBAAmB,SAAS,SAAS,CAClG;yBACA,YAAY,CAAC,aAAoB,CAAC;yBAClC,GAAG,EAAE,CAAC;oBAET,mDAAmD;oBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAuB,CAAC,CAAC;oBACpD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAE7C,mEAAmE;oBACnE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,sDAAsD;oBAEvF,MAAM,MAAM,GAMR;wBACF,EAAE,EAAE,SAAS;wBACb,WAAW;wBACX,IAAI,EAAE,MAAM,CAAC,MAAM;qBACpB,CAAC;oBAEF,yCAAyC;oBACzC,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;wBAEvC,oCAAoC;wBACpC,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,GAAG,CAAC,CAAC;wBAE1D,kFAAkF;wBAClF,gDAAgD;wBAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACvD,OAAO,CAAC,KAAK,CAAC,sCAAsC,cAAc,GAAG,CAAC,CAAC;wBAEvE,sDAAsD;wBACtD,MAAM,SAAS,GACb,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACvE,OAAO,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;wBAEjD,8CAA8C;wBAC9C,IAAI,SAAS,GAAG,cAAc,CAAC;wBAC/B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;4BACzC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;4BACzE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BAC5C,SAAS,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;wBACvC,CAAC;wBAED,mEAAmE;wBACnE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACnE,OAAO,CAAC,KAAK,CAAC,wBAAwB,UAAU,GAAG,CAAC,CAAC;wBAErD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wBACvC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;oBACjC,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,MAAM,QAAQ,GACZ,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC3E,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,SAAS;wBACb,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAEzD,IAAI,OAAO,GAAG,iBAAiB,YAAY,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC;YACxF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,KAAK,UAAU,UAAU,CAAC;YACvC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,OAAO;4BACP,SAAS;4BACT,iBAAiB,EAAE,UAAU,CAAC,MAAM;4BACpC,YAAY;4BACZ,UAAU;4BACV,QAAQ,EAAE,OAAO;yBAClB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,YAAY,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,mIAAmI,EACnI;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtD,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;KACpE,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,+DAA+D;YAC/D,gFAAgF;YAChF,8FAA8F;YAC9F,MAAM,QAAQ,GAAG,OAAO;gBACtB,CAAC,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,YAAY,OAAO,aAAa;gBAC9F,CAAC,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,aAAa,CAAC;YAE9E,qCAAqC;YACrC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,yBAAyB,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,EAAE;qBACnI;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,sBAAsB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,EAAE;qBAC7E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,uHAAuH,EACvH;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtD,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;QACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7F,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACtE,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,EACD,KAAK,EAAE,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAU,EACV,MAAM,GAAG,MAAM,EACf,QAAQ,GACT,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YAE9C,0CAA0C;YAC1C,IAAI,OAAe,CAAC;YACpB,IAAI,WAA4B,CAAC;YAEjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,OAAO,CAAC;gBAClB,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,gCAAgC;YAChC,MAAM,eAAe,GAAoE,EAAE,CAAC;YAC5F,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,MAAM,MAAM;6BAC9B,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC;6BAC/B,MAAM,CAAC,aAAa,CAAC;6BACrB,GAAG,EAAE,CAAC;wBACT,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO;yBACzD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,0BAA0B,OAAO,CAAC,MAAM,sCAAsC,CAC/E,CAAC;wBACF,eAAe,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,WAAW,EAAE,OAAO,CAAC,OAAO;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,IAAI,aAAa,GAIZ,EAAE,CAAC;YACR,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC/D,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,mCAAmC;YACnC,MAAM,cAAc,GAAQ;gBAC1B,IAAI,EAAE;oBACJ,OAAO;oBACP,WAAW;iBACZ;aACF,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;YACzC,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,cAAc,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC1C,CAAC;YAED,iCAAiC;YACjC,MAAM,QAAQ,GAAG,OAAO;gBACtB,CAAC,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,YAAY,OAAO,EAAE;gBACnF,CAAC,CAAC,UAAU,MAAM,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;YACnE,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEjD,MAAM,WAAW,GAAG,aAAa,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,yBAAyB,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,GACpJ,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,kBAAkB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxE,CAAC,CAAC,EACN,EAAE,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,uCAAuC,YAAY,EAAE;qBAC5D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Converts Teams HTML content to clean Markdown.
3
+ * Handles Teams-specific elements like @mentions, attachments, and system events.
4
+ *
5
+ * @param html - Raw HTML content from Microsoft Graph API
6
+ * @returns Clean Markdown string
7
+ */
8
+ export declare function htmlToMarkdown(html: string): string;
9
+ /**
10
+ * Formats message content based on the requested format.
11
+ *
12
+ * @param content - Raw message content from Graph API (HTML)
13
+ * @param format - "markdown" to convert HTML to Markdown, "raw" to return as-is
14
+ * @returns Formatted content string, or the original value if null/undefined
15
+ */
16
+ export declare function formatMessageContent(content: string | null | undefined, format: "raw" | "markdown"): string | null | undefined;
17
+ //# sourceMappingURL=html-to-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-to-markdown.d.ts","sourceRoot":"","sources":["../../src/utils/html-to-markdown.ts"],"names":[],"mappings":"AAoCA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,MAAM,EAAE,KAAK,GAAG,UAAU,GACzB,MAAM,GAAG,IAAI,GAAG,SAAS,CAU3B"}
@@ -0,0 +1,60 @@
1
+ import TurndownService from "turndown";
2
+ import { gfm } from "turndown-plugin-gfm";
3
+ // Create a singleton TurndownService instance configured for Teams HTML
4
+ const turndownService = new TurndownService({
5
+ headingStyle: "atx",
6
+ hr: "---",
7
+ bulletListMarker: "-",
8
+ codeBlockStyle: "fenced",
9
+ emDelimiter: "*",
10
+ strongDelimiter: "**",
11
+ });
12
+ // Enable GitHub Flavored Markdown (tables, strikethrough, task lists)
13
+ turndownService.use(gfm);
14
+ // Custom rule: Teams @mentions — <at id="N">Name</at> → @Name
15
+ turndownService.addRule("teamsMention", {
16
+ filter: (node) => node.nodeName === "AT",
17
+ replacement: (content) => `@${content}`,
18
+ });
19
+ // Custom rule: Teams attachments — <attachment id="N"></attachment> → remove
20
+ turndownService.addRule("teamsAttachment", {
21
+ filter: (node) => node.nodeName === "ATTACHMENT",
22
+ replacement: () => "",
23
+ });
24
+ // Custom rule: Teams system events — <systemEventMessage/> → remove
25
+ turndownService.addRule("teamsSystemEvent", {
26
+ filter: (node) => node.nodeName === "SYSTEMEVENTMESSAGE" ||
27
+ (node.textContent || "").trim() === "systemEventMessage/",
28
+ replacement: () => "",
29
+ });
30
+ /**
31
+ * Converts Teams HTML content to clean Markdown.
32
+ * Handles Teams-specific elements like @mentions, attachments, and system events.
33
+ *
34
+ * @param html - Raw HTML content from Microsoft Graph API
35
+ * @returns Clean Markdown string
36
+ */
37
+ export function htmlToMarkdown(html) {
38
+ // Handle empty/null content
39
+ if (!html || html.trim() === "") {
40
+ return "";
41
+ }
42
+ return turndownService.turndown(html).trim();
43
+ }
44
+ /**
45
+ * Formats message content based on the requested format.
46
+ *
47
+ * @param content - Raw message content from Graph API (HTML)
48
+ * @param format - "markdown" to convert HTML to Markdown, "raw" to return as-is
49
+ * @returns Formatted content string, or the original value if null/undefined
50
+ */
51
+ export function formatMessageContent(content, format) {
52
+ if (content == null) {
53
+ return content;
54
+ }
55
+ if (format === "raw") {
56
+ return content;
57
+ }
58
+ return htmlToMarkdown(content);
59
+ }
60
+ //# sourceMappingURL=html-to-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-to-markdown.js","sourceRoot":"","sources":["../../src/utils/html-to-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,wEAAwE;AACxE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;IAC1C,YAAY,EAAE,KAAK;IACnB,EAAE,EAAE,KAAK;IACT,gBAAgB,EAAE,GAAG;IACrB,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC;AAEH,sEAAsE;AACtE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzB,8DAA8D;AAC9D,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE;IACtC,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI;IACrD,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE;CAChD,CAAC,CAAC;AAEH,6EAA6E;AAC7E,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE;IACzC,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,YAAY;IAC7D,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC,CAAC;AAEH,oEAAoE;AACpE,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE;IAC1C,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE,CAC5B,IAAI,CAAC,QAAQ,KAAK,oBAAoB;QACtC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,qBAAqB;IAC3D,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,4BAA4B;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAkC,EAClC,MAA0B;IAE1B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floriscornel/teams-mcp",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "MCP server for Microsoft Graph Teams integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -56,22 +56,25 @@
56
56
  "@azure/identity-cache-persistence": "^1.2.0",
57
57
  "@microsoft/microsoft-graph-client": "^3.0.7",
58
58
  "@microsoft/microsoft-graph-types": "^2.43.1",
59
- "@modelcontextprotocol/sdk": "^1.26.0",
59
+ "@modelcontextprotocol/sdk": "^1.27.1",
60
60
  "@types/dompurify": "^3.2.0",
61
- "@types/jsdom": "^27.0.0",
61
+ "@types/jsdom": "^28.0.0",
62
62
  "@types/marked": "^6.0.0",
63
63
  "dompurify": "^3.3.1",
64
- "jsdom": "^28.0.0",
65
- "marked": "^17.0.1",
64
+ "jsdom": "^28.1.0",
65
+ "marked": "^17.0.3",
66
+ "turndown": "^7.2.2",
67
+ "turndown-plugin-gfm": "^1.0.2",
66
68
  "zod": "^4.3.6"
67
69
  },
68
70
  "devDependencies": {
69
- "@biomejs/biome": "2.3.14",
70
- "@types/node": "^25.2.1",
71
+ "@biomejs/biome": "2.4.4",
72
+ "@types/node": "^25.3.0",
71
73
  "@types/sinon": "^21.0.0",
74
+ "@types/turndown": "^5.0.6",
72
75
  "@vitest/coverage-v8": "^4.0.18",
73
- "msw": "^2.12.8",
74
- "nock": "^14.0.10",
76
+ "msw": "^2.12.10",
77
+ "nock": "^14.0.11",
75
78
  "sinon": "^21.0.1",
76
79
  "tsx": "^4.21.0",
77
80
  "typescript": "^5.9.3",