teams-api 0.5.2 → 0.6.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.
Files changed (83) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/actions/conversation-resolution.d.ts +26 -0
  3. package/dist/actions/conversation-resolution.d.ts.map +1 -0
  4. package/dist/actions/conversation-resolution.js +81 -0
  5. package/dist/actions/conversation-resolution.js.map +1 -0
  6. package/dist/actions/definitions.d.ts +16 -0
  7. package/dist/actions/definitions.d.ts.map +1 -0
  8. package/dist/{actions.js → actions/definitions.js} +77 -209
  9. package/dist/actions/definitions.js.map +1 -0
  10. package/dist/{actions.d.ts → actions/formatters.d.ts} +24 -13
  11. package/dist/actions/formatters.d.ts.map +1 -0
  12. package/dist/actions/formatters.js +86 -0
  13. package/dist/actions/formatters.js.map +1 -0
  14. package/dist/api/chat-service.d.ts +54 -0
  15. package/dist/api/chat-service.d.ts.map +1 -0
  16. package/dist/api/chat-service.js +327 -0
  17. package/dist/api/chat-service.js.map +1 -0
  18. package/dist/api/common.d.ts +21 -0
  19. package/dist/api/common.d.ts.map +1 -0
  20. package/dist/api/common.js +65 -0
  21. package/dist/api/common.js.map +1 -0
  22. package/dist/api/middle-tier.d.ts +15 -0
  23. package/dist/api/middle-tier.d.ts.map +1 -0
  24. package/dist/api/middle-tier.js +52 -0
  25. package/dist/api/middle-tier.js.map +1 -0
  26. package/dist/api/substrate.d.ts +22 -0
  27. package/dist/api/substrate.d.ts.map +1 -0
  28. package/dist/api/substrate.js +162 -0
  29. package/dist/api/substrate.js.map +1 -0
  30. package/dist/api/transcripts.d.ts +51 -0
  31. package/dist/api/transcripts.d.ts.map +1 -0
  32. package/dist/api/transcripts.js +140 -0
  33. package/dist/api/transcripts.js.map +1 -0
  34. package/dist/auth/auto-login.d.ts +23 -0
  35. package/dist/auth/auto-login.d.ts.map +1 -0
  36. package/dist/auth/auto-login.js +136 -0
  37. package/dist/auth/auto-login.js.map +1 -0
  38. package/dist/auth/debug-session.d.ts +20 -0
  39. package/dist/auth/debug-session.d.ts.map +1 -0
  40. package/dist/auth/debug-session.js +121 -0
  41. package/dist/auth/debug-session.js.map +1 -0
  42. package/dist/auth/interactive.d.ts +21 -0
  43. package/dist/auth/interactive.d.ts.map +1 -0
  44. package/dist/auth/interactive.js +90 -0
  45. package/dist/auth/interactive.js.map +1 -0
  46. package/dist/auth/page-diagnostics.d.ts +21 -0
  47. package/dist/auth/page-diagnostics.d.ts.map +1 -0
  48. package/dist/auth/page-diagnostics.js +65 -0
  49. package/dist/auth/page-diagnostics.js.map +1 -0
  50. package/dist/auth/token-capture.d.ts +24 -0
  51. package/dist/auth/token-capture.d.ts.map +1 -0
  52. package/dist/auth/token-capture.js +123 -0
  53. package/dist/auth/token-capture.js.map +1 -0
  54. package/dist/cli.js +11 -5
  55. package/dist/cli.js.map +1 -1
  56. package/dist/constants.d.ts +9 -0
  57. package/dist/constants.d.ts.map +1 -0
  58. package/dist/constants.js +14 -0
  59. package/dist/constants.js.map +1 -0
  60. package/dist/html-utils.d.ts +9 -0
  61. package/dist/html-utils.d.ts.map +1 -0
  62. package/dist/html-utils.js +21 -0
  63. package/dist/html-utils.js.map +1 -0
  64. package/dist/mcp-server.js +4 -3
  65. package/dist/mcp-server.js.map +1 -1
  66. package/dist/teams-client.d.ts +17 -8
  67. package/dist/teams-client.d.ts.map +1 -1
  68. package/dist/teams-client.js +90 -75
  69. package/dist/teams-client.js.map +1 -1
  70. package/dist/types.d.ts +20 -1
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js.map +1 -1
  73. package/package.json +1 -1
  74. package/dist/actions.d.ts.map +0 -1
  75. package/dist/actions.js.map +0 -1
  76. package/dist/api.d.ts +0 -126
  77. package/dist/api.d.ts.map +0 -1
  78. package/dist/api.js +0 -702
  79. package/dist/api.js.map +0 -1
  80. package/dist/auth.d.ts +0 -53
  81. package/dist/auth.d.ts.map +0 -1
  82. package/dist/auth.js +0 -491
  83. package/dist/auth.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Unified action definitions for the Teams API.
3
+ * All action definitions for the Teams API.
4
4
  *
5
5
  * This is the single source of truth for all operations. CLI commands,
6
6
  * MCP tools, and programmatic usage all derive from these definitions.
@@ -13,119 +13,9 @@
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.actions = void 0;
16
- exports.formatOutput = formatOutput;
17
- /** Format an action result in the specified output format. */
18
- function formatOutput(action, result, format = "json") {
19
- switch (format) {
20
- case "json":
21
- return JSON.stringify(result, null, 2);
22
- case "text":
23
- return action.formatResult(result);
24
- case "md":
25
- return action.formatMarkdown(result);
26
- case "toon":
27
- return action.formatToon(result);
28
- }
29
- }
30
- function toonHeader(emoji, text) {
31
- const separator = "─".repeat(40);
32
- return `\n ${emoji} ${text}\n ${separator}`;
33
- }
34
- // ── Message formatting utilities ─────────────────────────────────────
35
- /** Decode common HTML entities to plain text. */
36
- function decodeHtmlEntities(text) {
37
- return text
38
- .replace(/ /g, " ")
39
- .replace(/"/g, '"')
40
- .replace(/&/g, "&")
41
- .replace(/&lt;/g, "<")
42
- .replace(/&gt;/g, ">")
43
- .replace(/&#8203;/g, "") // zero-width space
44
- .replace(/&#(\d+);/g, (_, code) => String.fromCharCode(Number(code)));
45
- }
46
- /** Strip HTML tags and decode entities from message content. */
47
- function cleanContent(content) {
48
- return decodeHtmlEntities(content.replace(/<[^>]*>/g, "")).trim();
49
- }
50
- /** Extract quoted text from HTML blockquotes, returning quote and body separately. */
51
- function extractQuote(content) {
52
- for (const tag of ["blockquote", "quote"]) {
53
- const pattern = new RegExp(`<${tag}[^>]*>[\\s\\S]*?<\\/${tag}>`, "i");
54
- const match = content.match(pattern);
55
- if (match) {
56
- const quote = cleanContent(match[0]);
57
- const remainder = content.replace(pattern, "");
58
- return { quote: quote || null, body: cleanContent(remainder) };
59
- }
60
- }
61
- return { quote: null, body: cleanContent(content) };
62
- }
63
- /** Build a map from message ID to sender display name. */
64
- function buildSenderLookup(messages) {
65
- const lookup = new Map();
66
- for (const message of messages) {
67
- lookup.set(message.id, message.senderDisplayName || "(system)");
68
- }
69
- return lookup;
70
- }
71
- // ── Shared conversation resolution ───────────────────────────────────
72
- /**
73
- * Resolve a conversation ID from the standard identification parameters.
74
- *
75
- * Supports three ways to identify a conversation:
76
- * 1. conversationId — direct thread ID
77
- * 2. chat — topic name (partial match via findConversation)
78
- * 3. to — person name (1:1 lookup via findOneOnOneConversation)
79
- *
80
- * Returns both the resolved ID and a human-readable label.
81
- */
82
- async function resolveConversationId(client, parameters) {
83
- const conversationId = parameters.conversationId;
84
- const chat = parameters.chat;
85
- const to = parameters.to;
86
- if (conversationId) {
87
- return { conversationId, label: conversationId };
88
- }
89
- if (chat) {
90
- const conversation = await client.findConversation(chat);
91
- if (!conversation) {
92
- throw new Error(`No conversation matching "${chat}" found.`);
93
- }
94
- return { conversationId: conversation.id, label: conversation.topic };
95
- }
96
- if (to) {
97
- const result = await client.findOneOnOneConversation(to);
98
- if (!result) {
99
- throw new Error(`No 1:1 conversation found with "${to}".`);
100
- }
101
- return {
102
- conversationId: result.conversationId,
103
- label: result.memberDisplayName,
104
- };
105
- }
106
- throw new Error("One of --conversation-id, --chat, or --to is required.");
107
- }
108
- /** Shared parameter definitions for conversation identification. */
109
- const conversationParameters = [
110
- {
111
- name: "chat",
112
- type: "string",
113
- description: "Find conversation by topic name (partial match)",
114
- required: false,
115
- },
116
- {
117
- name: "to",
118
- type: "string",
119
- description: "Find 1:1 conversation by person name",
120
- required: false,
121
- },
122
- {
123
- name: "conversationId",
124
- type: "string",
125
- description: "Direct conversation thread ID",
126
- required: false,
127
- },
128
- ];
16
+ const constants_js_1 = require("../constants.js");
17
+ const formatters_js_1 = require("./formatters.js");
18
+ const conversation_resolution_js_1 = require("./conversation-resolution.js");
129
19
  // ── Action definitions ───────────────────────────────────────────────
130
20
  const listConversations = {
131
21
  name: "list-conversations",
@@ -174,7 +64,7 @@ const listConversations = {
174
64
  },
175
65
  formatToon: (result) => {
176
66
  const conversations = result;
177
- const lines = [toonHeader("📋", `${conversations.length} Conversations`)];
67
+ const lines = [(0, formatters_js_1.toonHeader)("📋", `${conversations.length} Conversations`)];
178
68
  for (let i = 0; i < conversations.length; i++) {
179
69
  const conversation = conversations[i];
180
70
  const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
@@ -233,7 +123,7 @@ const findConversation = {
233
123
  const conversation = result;
234
124
  const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
235
125
  return [
236
- toonHeader("🔍", `Found: "${conversation.topic}"`),
126
+ (0, formatters_js_1.toonHeader)("🔍", `Found: "${conversation.topic}"`),
237
127
  ` 🆔 ${conversation.id}`,
238
128
  ` 📁 ${conversation.threadType} · ${conversation.memberCount ?? "?"} members · last: ${lastMessage}`,
239
129
  ].join("\n");
@@ -279,7 +169,7 @@ const findOneOnOne = {
279
169
  return "\n 🔍 No 1:1 conversation found.";
280
170
  const searchResult = result;
281
171
  return [
282
- toonHeader("🔍", `Found 1:1 with ${searchResult.memberDisplayName}`),
172
+ (0, formatters_js_1.toonHeader)("🔍", `Found 1:1 with ${searchResult.memberDisplayName}`),
283
173
  ` 🆔 ${searchResult.conversationId}`,
284
174
  ].join("\n");
285
175
  },
@@ -292,20 +182,13 @@ const getMessages = {
292
182
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
293
183
  "At least one identifier is required.",
294
184
  parameters: [
295
- ...conversationParameters,
185
+ ...conversation_resolution_js_1.conversationParameters,
296
186
  {
297
- name: "maxPages",
298
- type: "number",
299
- description: "Maximum pagination pages to fetch",
300
- required: false,
301
- default: 100,
302
- },
303
- {
304
- name: "pageSize",
187
+ name: "limit",
305
188
  type: "number",
306
- description: "Messages per page",
189
+ description: "Maximum number of messages to return. " +
190
+ "Omit to fetch the entire conversation history.",
307
191
  required: false,
308
- default: 200,
309
192
  },
310
193
  {
311
194
  name: "textOnly",
@@ -323,20 +206,16 @@ const getMessages = {
323
206
  },
324
207
  ],
325
208
  execute: async (client, parameters) => {
326
- const { conversationId } = await resolveConversationId(client, parameters);
327
- const maxPages = parameters.maxPages ?? 100;
328
- const pageSize = parameters.pageSize ?? 200;
209
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
210
+ const limit = parameters.limit;
329
211
  const textOnly = parameters.textOnly ?? true;
330
212
  const onProgress = parameters.onProgress;
331
213
  let messages = await client.getMessages(conversationId, {
332
- maxPages,
333
- pageSize,
214
+ limit,
334
215
  onProgress,
335
216
  });
336
217
  if (textOnly) {
337
- messages = messages.filter((message) => (message.messageType === "RichText/Html" ||
338
- message.messageType === "Text") &&
339
- !message.isDeleted);
218
+ messages = messages.filter((message) => (0, constants_js_1.isTextMessageType)(message.messageType) && !message.isDeleted);
340
219
  }
341
220
  const order = parameters.order ?? "oldest-first";
342
221
  if (order === "oldest-first") {
@@ -346,12 +225,12 @@ const getMessages = {
346
225
  },
347
226
  formatResult: (result) => {
348
227
  const messages = result;
349
- const senderLookup = buildSenderLookup(messages);
228
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
350
229
  const lines = [`\n${messages.length} messages:\n`];
351
230
  for (const message of messages) {
352
231
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
353
232
  const sender = message.senderDisplayName || "(system)";
354
- const { quote, body } = extractQuote(message.content);
233
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
355
234
  if (quote && message.quotedMessageId) {
356
235
  const quotedSender = senderLookup.get(message.quotedMessageId) ?? "unknown";
357
236
  lines.push(` [${time}] ${sender}:`);
@@ -361,18 +240,21 @@ const getMessages = {
361
240
  else {
362
241
  lines.push(` [${time}] ${sender}: ${body.slice(0, 120)}`);
363
242
  }
243
+ if (message.followers.length > 0) {
244
+ lines.push(` [${message.followers.length} follower(s)]`);
245
+ }
364
246
  }
365
247
  return lines.join("\n");
366
248
  },
367
249
  formatMarkdown: (result) => {
368
250
  const messages = result;
369
- const senderLookup = buildSenderLookup(messages);
251
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
370
252
  const lines = [`## Messages (${messages.length})`, ""];
371
253
  let previousSender = "";
372
254
  for (const message of messages) {
373
255
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
374
256
  const sender = message.senderDisplayName || "(system)";
375
- const { quote, body } = extractQuote(message.content);
257
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
376
258
  if (sender === previousSender) {
377
259
  lines.push(`*${time}*`, "");
378
260
  }
@@ -385,18 +267,21 @@ const getMessages = {
385
267
  lines.push(`> **[replying to ${quotedSender}]:** ${quote}`, "");
386
268
  }
387
269
  lines.push(body, "");
270
+ if (message.followers.length > 0) {
271
+ lines.push(`*${message.followers.length} follower(s)*`, "");
272
+ }
388
273
  }
389
274
  return lines.join("\n");
390
275
  },
391
276
  formatToon: (result) => {
392
277
  const messages = result;
393
- const senderLookup = buildSenderLookup(messages);
394
- const lines = [toonHeader("💬", `${messages.length} Messages`)];
278
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
279
+ const lines = [(0, formatters_js_1.toonHeader)("💬", `${messages.length} Messages`)];
395
280
  let previousSender = "";
396
281
  for (const message of messages) {
397
282
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
398
283
  const sender = message.senderDisplayName || "(system)";
399
- const { quote, body } = extractQuote(message.content);
284
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
400
285
  lines.push("");
401
286
  if (sender === previousSender) {
402
287
  lines.push(` ${time}`);
@@ -410,6 +295,9 @@ const getMessages = {
410
295
  lines.push(` > [replying to ${quotedSender}]: ${quote.slice(0, 80)}`);
411
296
  }
412
297
  lines.push(` ${body.slice(0, 120)}`);
298
+ if (message.followers.length > 0) {
299
+ lines.push(` 👥 ${message.followers.length} follower(s)`);
300
+ }
413
301
  }
414
302
  return lines.join("\n");
415
303
  },
@@ -423,7 +311,7 @@ const sendMessage = {
423
311
  "At least one identifier is required. " +
424
312
  "Content is interpreted as Markdown by default and converted to rich HTML.",
425
313
  parameters: [
426
- ...conversationParameters,
314
+ ...conversation_resolution_js_1.conversationParameters,
427
315
  {
428
316
  name: "content",
429
317
  type: "string",
@@ -439,7 +327,7 @@ const sendMessage = {
439
327
  },
440
328
  ],
441
329
  execute: async (client, parameters) => {
442
- const { conversationId, label } = await resolveConversationId(client, parameters);
330
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
443
331
  const content = parameters.content;
444
332
  const messageFormat = parameters.messageFormat ?? "markdown";
445
333
  const result = await client.sendMessage(conversationId, content, messageFormat);
@@ -466,7 +354,7 @@ const sendMessage = {
466
354
  formatToon: (result) => {
467
355
  const { messageId, arrivalTime, conversation } = result;
468
356
  return [
469
- toonHeader("✅", "Message Sent!"),
357
+ (0, formatters_js_1.toonHeader)("✅", "Message Sent!"),
470
358
  ` 📨 To: "${conversation}"`,
471
359
  ` 🆔 ${messageId}`,
472
360
  ` ⏰ ${arrivalTime}`,
@@ -483,7 +371,7 @@ const editMessageAction = {
483
371
  "The message to edit is identified by --message-id. " +
484
372
  "Content is interpreted as Markdown by default and converted to rich HTML.",
485
373
  parameters: [
486
- ...conversationParameters,
374
+ ...conversation_resolution_js_1.conversationParameters,
487
375
  {
488
376
  name: "messageId",
489
377
  type: "string",
@@ -505,7 +393,7 @@ const editMessageAction = {
505
393
  },
506
394
  ],
507
395
  execute: async (client, parameters) => {
508
- const { conversationId, label } = await resolveConversationId(client, parameters);
396
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
509
397
  const messageId = parameters.messageId;
510
398
  const content = parameters.content;
511
399
  const messageFormat = parameters.messageFormat ?? "markdown";
@@ -533,7 +421,7 @@ const editMessageAction = {
533
421
  formatToon: (result) => {
534
422
  const { messageId, editTime, conversation } = result;
535
423
  return [
536
- toonHeader("✏️", "Message Edited!"),
424
+ (0, formatters_js_1.toonHeader)("✏️", "Message Edited!"),
537
425
  ` 💬 In: "${conversation}"`,
538
426
  ` 🆔 ${messageId}`,
539
427
  ` ⏰ ${editTime}`,
@@ -549,7 +437,7 @@ const deleteMessageAction = {
549
437
  "At least one identifier is required. " +
550
438
  "The message to delete is identified by --message-id.",
551
439
  parameters: [
552
- ...conversationParameters,
440
+ ...conversation_resolution_js_1.conversationParameters,
553
441
  {
554
442
  name: "messageId",
555
443
  type: "string",
@@ -558,7 +446,7 @@ const deleteMessageAction = {
558
446
  },
559
447
  ],
560
448
  execute: async (client, parameters) => {
561
- const { conversationId, label } = await resolveConversationId(client, parameters);
449
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
562
450
  const messageId = parameters.messageId;
563
451
  const result = await client.deleteMessage(conversationId, messageId);
564
452
  return { ...result, conversation: label };
@@ -582,7 +470,7 @@ const deleteMessageAction = {
582
470
  formatToon: (result) => {
583
471
  const { messageId, conversation } = result;
584
472
  return [
585
- toonHeader("🗑️", "Message Deleted!"),
473
+ (0, formatters_js_1.toonHeader)("🗑️", "Message Deleted!"),
586
474
  ` 💬 From: "${conversation}"`,
587
475
  ` 🆔 ${messageId}`,
588
476
  ].join("\n");
@@ -596,9 +484,9 @@ const getMembers = {
596
484
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
597
485
  "At least one identifier is required. " +
598
486
  "Display names are resolved via the Teams profile API when available, with message history as fallback.",
599
- parameters: [...conversationParameters],
487
+ parameters: [...conversation_resolution_js_1.conversationParameters],
600
488
  execute: async (client, parameters) => {
601
- const { conversationId } = await resolveConversationId(client, parameters);
489
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
602
490
  return client.getMembers(conversationId);
603
491
  },
604
492
  formatResult: (result) => {
@@ -652,7 +540,7 @@ const getMembers = {
652
540
  const people = members.filter((member) => member.memberType === "person");
653
541
  const bots = members.filter((member) => member.memberType === "bot");
654
542
  const lines = [
655
- toonHeader("👥", `${people.length} People, ${bots.length} Bots`),
543
+ (0, formatters_js_1.toonHeader)("👥", `${people.length} People, ${bots.length} Bots`),
656
544
  ];
657
545
  for (const member of people) {
658
546
  const name = member.displayName || "(unknown)";
@@ -691,34 +579,9 @@ const whoami = {
691
579
  },
692
580
  formatToon: (result) => {
693
581
  const { displayName, region } = result;
694
- return [toonHeader("🙋", displayName), ` 📍 region: ${region}`].join("\n");
582
+ return [(0, formatters_js_1.toonHeader)("🙋", displayName), ` 📍 region: ${region}`].join("\n");
695
583
  },
696
584
  };
697
- // ── Transcript action ────────────────────────────────────────────────
698
- /** Format a VTT timestamp (HH:MM:SS.mmm) as a compact time string. */
699
- function formatTimestamp(timestamp) {
700
- // Strip leading "00:" hours if zero, and trim milliseconds
701
- const withoutMilliseconds = timestamp.replace(/\.\d+$/, "");
702
- return withoutMilliseconds.replace(/^00:/, "");
703
- }
704
- /** Group consecutive entries by the same speaker for more readable output. */
705
- function groupBySpeaker(entries) {
706
- const groups = [];
707
- for (const entry of entries) {
708
- const lastGroup = groups[groups.length - 1];
709
- if (lastGroup && lastGroup.speaker === entry.speaker) {
710
- lastGroup.segments.push(entry.text);
711
- }
712
- else {
713
- groups.push({
714
- speaker: entry.speaker,
715
- startTime: entry.startTime,
716
- segments: [entry.text],
717
- });
718
- }
719
- }
720
- return groups;
721
- }
722
585
  const getTranscript = {
723
586
  name: "get-transcript",
724
587
  title: "Get Meeting Transcript",
@@ -727,7 +590,7 @@ const getTranscript = {
727
590
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
728
591
  "Use --raw-vtt to get the original VTT file instead of parsed output.",
729
592
  parameters: [
730
- ...conversationParameters,
593
+ ...conversation_resolution_js_1.conversationParameters,
731
594
  {
732
595
  name: "rawVtt",
733
596
  type: "boolean",
@@ -737,7 +600,7 @@ const getTranscript = {
737
600
  },
738
601
  ],
739
602
  execute: async (client, parameters) => {
740
- const { conversationId } = await resolveConversationId(client, parameters);
603
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
741
604
  const rawVtt = parameters.rawVtt ?? false;
742
605
  const transcriptResult = await client.getTranscript(conversationId);
743
606
  if (rawVtt) {
@@ -751,12 +614,12 @@ const getTranscript = {
751
614
  return data.rawVtt;
752
615
  }
753
616
  const transcript = data;
754
- const groups = groupBySpeaker(transcript.entries);
617
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
755
618
  const lines = [
756
619
  `\nTranscript: ${transcript.meetingTitle} (${transcript.entries.length} segments)\n`,
757
620
  ];
758
621
  for (const group of groups) {
759
- const time = formatTimestamp(group.startTime);
622
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
760
623
  lines.push(` [${time}] ${group.speaker}:`);
761
624
  lines.push(` ${group.segments.join(" ")}`);
762
625
  }
@@ -768,7 +631,7 @@ const getTranscript = {
768
631
  return ["```vtt", data.rawVtt, "```"].join("\n");
769
632
  }
770
633
  const transcript = data;
771
- const groups = groupBySpeaker(transcript.entries);
634
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
772
635
  const lines = [
773
636
  `## Transcript: ${transcript.meetingTitle}`,
774
637
  "",
@@ -776,7 +639,7 @@ const getTranscript = {
776
639
  "",
777
640
  ];
778
641
  for (const group of groups) {
779
- const time = formatTimestamp(group.startTime);
642
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
780
643
  lines.push(`**${group.speaker}** *(${time})*`, "");
781
644
  lines.push(group.segments.join(" "), "");
782
645
  }
@@ -788,12 +651,12 @@ const getTranscript = {
788
651
  return data.rawVtt;
789
652
  }
790
653
  const transcript = data;
791
- const groups = groupBySpeaker(transcript.entries);
654
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
792
655
  const lines = [
793
- toonHeader("🎙️", `Transcript: ${transcript.meetingTitle} (${transcript.entries.length} segments)`),
656
+ (0, formatters_js_1.toonHeader)("🎙️", `Transcript: ${transcript.meetingTitle} (${transcript.entries.length} segments)`),
794
657
  ];
795
658
  for (const group of groups) {
796
- const time = formatTimestamp(group.startTime);
659
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
797
660
  lines.push("");
798
661
  lines.push(` 🗣️ ${group.speaker} · ${time}`);
799
662
  lines.push(` ${group.segments.join(" ")}`);
@@ -801,7 +664,6 @@ const getTranscript = {
801
664
  return lines.join("\n");
802
665
  },
803
666
  };
804
- // ── find-people ──────────────────────────────────────────────────────
805
667
  const findPeopleAction = {
806
668
  name: "find-people",
807
669
  title: "Find People",
@@ -857,7 +719,7 @@ const findPeopleAction = {
857
719
  const people = result;
858
720
  if (people.length === 0)
859
721
  return "\n 🔍 No people found.";
860
- const lines = [toonHeader("👥", `Found ${people.length} people`)];
722
+ const lines = [(0, formatters_js_1.toonHeader)("👥", `Found ${people.length} people`)];
861
723
  for (const person of people) {
862
724
  lines.push(` 👤 ${person.displayName}`);
863
725
  lines.push(` 📧 ${person.email} · ${person.jobTitle || "?"} · ${person.department || "?"}`);
@@ -865,7 +727,6 @@ const findPeopleAction = {
865
727
  return lines.join("\n");
866
728
  },
867
729
  };
868
- // ── find-chats ───────────────────────────────────────────────────────
869
730
  const findChatsAction = {
870
731
  name: "find-chats",
871
732
  title: "Find Chats",
@@ -927,7 +788,7 @@ const findChatsAction = {
927
788
  const chats = result;
928
789
  if (chats.length === 0)
929
790
  return "\n 🔍 No chats found.";
930
- const lines = [toonHeader("💬", `Found ${chats.length} chats`)];
791
+ const lines = [(0, formatters_js_1.toonHeader)("💬", `Found ${chats.length} chats`)];
931
792
  for (const chat of chats) {
932
793
  lines.push(` 💬 ${chat.name || "(untitled)"}`);
933
794
  lines.push(` 📁 ${chat.threadType} · ${chat.totalMemberCount} members`);
@@ -942,18 +803,25 @@ const findChatsAction = {
942
803
  },
943
804
  };
944
805
  // ── Registry ─────────────────────────────────────────────────────────
945
- exports.actions = [
946
- listConversations,
947
- findConversation,
948
- findOneOnOne,
949
- findPeopleAction,
950
- findChatsAction,
951
- getMessages,
952
- sendMessage,
953
- editMessageAction,
954
- deleteMessageAction,
955
- getMembers,
956
- whoami,
957
- getTranscript,
958
- ];
959
- //# sourceMappingURL=actions.js.map
806
+ /**
807
+ * Map-based action registry keyed by action name.
808
+ * Ensures compile-time visibility of all actions and prevents
809
+ * accidental omissions from the exported array.
810
+ */
811
+ const actionRegistry = new Map([
812
+ ["list-conversations", listConversations],
813
+ ["find-conversation", findConversation],
814
+ ["find-one-on-one", findOneOnOne],
815
+ ["find-people", findPeopleAction],
816
+ ["find-chats", findChatsAction],
817
+ ["get-messages", getMessages],
818
+ ["send-message", sendMessage],
819
+ ["edit-message", editMessageAction],
820
+ ["delete-message", deleteMessageAction],
821
+ ["get-members", getMembers],
822
+ ["whoami", whoami],
823
+ ["get-transcript", getTranscript],
824
+ ]);
825
+ /** All registered actions, derived from the registry map. */
826
+ exports.actions = Array.from(actionRegistry.values());
827
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/actions/definitions.ts"],"names":[],"mappings":"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"}