teams-api 0.5.2 → 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.
Files changed (89) hide show
  1. package/README.md +1 -14
  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} +83 -212
  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.d.ts +2 -2
  55. package/dist/cli.js +21 -7
  56. package/dist/cli.js.map +1 -1
  57. package/dist/constants.d.ts +9 -0
  58. package/dist/constants.d.ts.map +1 -0
  59. package/dist/constants.js +14 -0
  60. package/dist/constants.js.map +1 -0
  61. package/dist/html-utils.d.ts +9 -0
  62. package/dist/html-utils.d.ts.map +1 -0
  63. package/dist/html-utils.js +21 -0
  64. package/dist/html-utils.js.map +1 -0
  65. package/dist/mcp-server.js +7 -3
  66. package/dist/mcp-server.js.map +1 -1
  67. package/dist/server-instructions.d.ts +13 -0
  68. package/dist/server-instructions.d.ts.map +1 -0
  69. package/dist/server-instructions.js +60 -0
  70. package/dist/server-instructions.js.map +1 -0
  71. package/dist/teams-client.d.ts +17 -8
  72. package/dist/teams-client.d.ts.map +1 -1
  73. package/dist/teams-client.js +90 -75
  74. package/dist/teams-client.js.map +1 -1
  75. package/dist/types.d.ts +20 -1
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/types.js.map +1 -1
  78. package/package.json +1 -2
  79. package/SKILL.md +0 -135
  80. package/dist/actions.d.ts.map +0 -1
  81. package/dist/actions.js.map +0 -1
  82. package/dist/api.d.ts +0 -126
  83. package/dist/api.d.ts.map +0 -1
  84. package/dist/api.js +0 -702
  85. package/dist/api.js.map +0 -1
  86. package/dist/auth.d.ts +0 -53
  87. package/dist/auth.d.ts.map +0 -1
  88. package/dist/auth.js +0 -491
  89. 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";
@@ -191,7 +81,8 @@ const findConversation = {
191
81
  title: "Find Teams Conversation",
192
82
  description: "Find a conversation by topic name (case-insensitive partial match). " +
193
83
  "When Substrate search is available, also matches by member names. " +
194
- "For 1:1 chats (which have no topic), use find-one-on-one instead.",
84
+ "For 1:1 chats (which have no topic), use find-one-on-one instead. " +
85
+ "Use the returned conversation ID for subsequent operations like get-messages or send-message.",
195
86
  parameters: [
196
87
  {
197
88
  name: "query",
@@ -233,7 +124,7 @@ const findConversation = {
233
124
  const conversation = result;
234
125
  const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
235
126
  return [
236
- toonHeader("🔍", `Found: "${conversation.topic}"`),
127
+ (0, formatters_js_1.toonHeader)("🔍", `Found: "${conversation.topic}"`),
237
128
  ` 🆔 ${conversation.id}`,
238
129
  ` 📁 ${conversation.threadType} · ${conversation.memberCount ?? "?"} members · last: ${lastMessage}`,
239
130
  ].join("\n");
@@ -279,7 +170,7 @@ const findOneOnOne = {
279
170
  return "\n 🔍 No 1:1 conversation found.";
280
171
  const searchResult = result;
281
172
  return [
282
- toonHeader("🔍", `Found 1:1 with ${searchResult.memberDisplayName}`),
173
+ (0, formatters_js_1.toonHeader)("🔍", `Found 1:1 with ${searchResult.memberDisplayName}`),
283
174
  ` 🆔 ${searchResult.conversationId}`,
284
175
  ].join("\n");
285
176
  },
@@ -290,22 +181,16 @@ const getMessages = {
290
181
  description: "Get messages from a conversation. " +
291
182
  "Identify the conversation by topic name (--chat), " +
292
183
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
293
- "At least one identifier is required.",
184
+ "At least one identifier is required. " +
185
+ "Messages include reactions, mentions, followers (thread subscribers), and quoted message references.",
294
186
  parameters: [
295
- ...conversationParameters,
296
- {
297
- name: "maxPages",
298
- type: "number",
299
- description: "Maximum pagination pages to fetch",
300
- required: false,
301
- default: 100,
302
- },
187
+ ...conversation_resolution_js_1.conversationParameters,
303
188
  {
304
- name: "pageSize",
189
+ name: "limit",
305
190
  type: "number",
306
- description: "Messages per page",
191
+ description: "Maximum number of messages to return. " +
192
+ "Omit to fetch the entire conversation history.",
307
193
  required: false,
308
- default: 200,
309
194
  },
310
195
  {
311
196
  name: "textOnly",
@@ -323,20 +208,16 @@ const getMessages = {
323
208
  },
324
209
  ],
325
210
  execute: async (client, parameters) => {
326
- const { conversationId } = await resolveConversationId(client, parameters);
327
- const maxPages = parameters.maxPages ?? 100;
328
- const pageSize = parameters.pageSize ?? 200;
211
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
212
+ const limit = parameters.limit;
329
213
  const textOnly = parameters.textOnly ?? true;
330
214
  const onProgress = parameters.onProgress;
331
215
  let messages = await client.getMessages(conversationId, {
332
- maxPages,
333
- pageSize,
216
+ limit,
334
217
  onProgress,
335
218
  });
336
219
  if (textOnly) {
337
- messages = messages.filter((message) => (message.messageType === "RichText/Html" ||
338
- message.messageType === "Text") &&
339
- !message.isDeleted);
220
+ messages = messages.filter((message) => (0, constants_js_1.isTextMessageType)(message.messageType) && !message.isDeleted);
340
221
  }
341
222
  const order = parameters.order ?? "oldest-first";
342
223
  if (order === "oldest-first") {
@@ -346,12 +227,12 @@ const getMessages = {
346
227
  },
347
228
  formatResult: (result) => {
348
229
  const messages = result;
349
- const senderLookup = buildSenderLookup(messages);
230
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
350
231
  const lines = [`\n${messages.length} messages:\n`];
351
232
  for (const message of messages) {
352
233
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
353
234
  const sender = message.senderDisplayName || "(system)";
354
- const { quote, body } = extractQuote(message.content);
235
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
355
236
  if (quote && message.quotedMessageId) {
356
237
  const quotedSender = senderLookup.get(message.quotedMessageId) ?? "unknown";
357
238
  lines.push(` [${time}] ${sender}:`);
@@ -361,18 +242,21 @@ const getMessages = {
361
242
  else {
362
243
  lines.push(` [${time}] ${sender}: ${body.slice(0, 120)}`);
363
244
  }
245
+ if (message.followers.length > 0) {
246
+ lines.push(` [${message.followers.length} follower(s)]`);
247
+ }
364
248
  }
365
249
  return lines.join("\n");
366
250
  },
367
251
  formatMarkdown: (result) => {
368
252
  const messages = result;
369
- const senderLookup = buildSenderLookup(messages);
253
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
370
254
  const lines = [`## Messages (${messages.length})`, ""];
371
255
  let previousSender = "";
372
256
  for (const message of messages) {
373
257
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
374
258
  const sender = message.senderDisplayName || "(system)";
375
- const { quote, body } = extractQuote(message.content);
259
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
376
260
  if (sender === previousSender) {
377
261
  lines.push(`*${time}*`, "");
378
262
  }
@@ -385,18 +269,21 @@ const getMessages = {
385
269
  lines.push(`> **[replying to ${quotedSender}]:** ${quote}`, "");
386
270
  }
387
271
  lines.push(body, "");
272
+ if (message.followers.length > 0) {
273
+ lines.push(`*${message.followers.length} follower(s)*`, "");
274
+ }
388
275
  }
389
276
  return lines.join("\n");
390
277
  },
391
278
  formatToon: (result) => {
392
279
  const messages = result;
393
- const senderLookup = buildSenderLookup(messages);
394
- const lines = [toonHeader("💬", `${messages.length} Messages`)];
280
+ const senderLookup = (0, formatters_js_1.buildSenderLookup)(messages);
281
+ const lines = [(0, formatters_js_1.toonHeader)("💬", `${messages.length} Messages`)];
395
282
  let previousSender = "";
396
283
  for (const message of messages) {
397
284
  const time = message.originalArrivalTime.slice(0, 19).replace("T", " ");
398
285
  const sender = message.senderDisplayName || "(system)";
399
- const { quote, body } = extractQuote(message.content);
286
+ const { quote, body } = (0, formatters_js_1.extractQuote)(message.content);
400
287
  lines.push("");
401
288
  if (sender === previousSender) {
402
289
  lines.push(` ${time}`);
@@ -410,6 +297,9 @@ const getMessages = {
410
297
  lines.push(` > [replying to ${quotedSender}]: ${quote.slice(0, 80)}`);
411
298
  }
412
299
  lines.push(` ${body.slice(0, 120)}`);
300
+ if (message.followers.length > 0) {
301
+ lines.push(` 👥 ${message.followers.length} follower(s)`);
302
+ }
413
303
  }
414
304
  return lines.join("\n");
415
305
  },
@@ -423,7 +313,7 @@ const sendMessage = {
423
313
  "At least one identifier is required. " +
424
314
  "Content is interpreted as Markdown by default and converted to rich HTML.",
425
315
  parameters: [
426
- ...conversationParameters,
316
+ ...conversation_resolution_js_1.conversationParameters,
427
317
  {
428
318
  name: "content",
429
319
  type: "string",
@@ -439,7 +329,7 @@ const sendMessage = {
439
329
  },
440
330
  ],
441
331
  execute: async (client, parameters) => {
442
- const { conversationId, label } = await resolveConversationId(client, parameters);
332
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
443
333
  const content = parameters.content;
444
334
  const messageFormat = parameters.messageFormat ?? "markdown";
445
335
  const result = await client.sendMessage(conversationId, content, messageFormat);
@@ -466,7 +356,7 @@ const sendMessage = {
466
356
  formatToon: (result) => {
467
357
  const { messageId, arrivalTime, conversation } = result;
468
358
  return [
469
- toonHeader("✅", "Message Sent!"),
359
+ (0, formatters_js_1.toonHeader)("✅", "Message Sent!"),
470
360
  ` 📨 To: "${conversation}"`,
471
361
  ` 🆔 ${messageId}`,
472
362
  ` ⏰ ${arrivalTime}`,
@@ -483,7 +373,7 @@ const editMessageAction = {
483
373
  "The message to edit is identified by --message-id. " +
484
374
  "Content is interpreted as Markdown by default and converted to rich HTML.",
485
375
  parameters: [
486
- ...conversationParameters,
376
+ ...conversation_resolution_js_1.conversationParameters,
487
377
  {
488
378
  name: "messageId",
489
379
  type: "string",
@@ -505,7 +395,7 @@ const editMessageAction = {
505
395
  },
506
396
  ],
507
397
  execute: async (client, parameters) => {
508
- const { conversationId, label } = await resolveConversationId(client, parameters);
398
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
509
399
  const messageId = parameters.messageId;
510
400
  const content = parameters.content;
511
401
  const messageFormat = parameters.messageFormat ?? "markdown";
@@ -533,7 +423,7 @@ const editMessageAction = {
533
423
  formatToon: (result) => {
534
424
  const { messageId, editTime, conversation } = result;
535
425
  return [
536
- toonHeader("✏️", "Message Edited!"),
426
+ (0, formatters_js_1.toonHeader)("✏️", "Message Edited!"),
537
427
  ` 💬 In: "${conversation}"`,
538
428
  ` 🆔 ${messageId}`,
539
429
  ` ⏰ ${editTime}`,
@@ -549,7 +439,7 @@ const deleteMessageAction = {
549
439
  "At least one identifier is required. " +
550
440
  "The message to delete is identified by --message-id.",
551
441
  parameters: [
552
- ...conversationParameters,
442
+ ...conversation_resolution_js_1.conversationParameters,
553
443
  {
554
444
  name: "messageId",
555
445
  type: "string",
@@ -558,7 +448,7 @@ const deleteMessageAction = {
558
448
  },
559
449
  ],
560
450
  execute: async (client, parameters) => {
561
- const { conversationId, label } = await resolveConversationId(client, parameters);
451
+ const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
562
452
  const messageId = parameters.messageId;
563
453
  const result = await client.deleteMessage(conversationId, messageId);
564
454
  return { ...result, conversation: label };
@@ -582,7 +472,7 @@ const deleteMessageAction = {
582
472
  formatToon: (result) => {
583
473
  const { messageId, conversation } = result;
584
474
  return [
585
- toonHeader("🗑️", "Message Deleted!"),
475
+ (0, formatters_js_1.toonHeader)("🗑️", "Message Deleted!"),
586
476
  ` 💬 From: "${conversation}"`,
587
477
  ` 🆔 ${messageId}`,
588
478
  ].join("\n");
@@ -595,10 +485,11 @@ const getMembers = {
595
485
  "Identify the conversation by topic name (--chat), " +
596
486
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
597
487
  "At least one identifier is required. " +
598
- "Display names are resolved via the Teams profile API when available, with message history as fallback.",
599
- parameters: [...conversationParameters],
488
+ "Display names are resolved via the Teams profile API when available, with message history as fallback. " +
489
+ "Note: 1:1 chat members may have empty display names if profile resolution is unavailable.",
490
+ parameters: [...conversation_resolution_js_1.conversationParameters],
600
491
  execute: async (client, parameters) => {
601
- const { conversationId } = await resolveConversationId(client, parameters);
492
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
602
493
  return client.getMembers(conversationId);
603
494
  },
604
495
  formatResult: (result) => {
@@ -652,7 +543,7 @@ const getMembers = {
652
543
  const people = members.filter((member) => member.memberType === "person");
653
544
  const bots = members.filter((member) => member.memberType === "bot");
654
545
  const lines = [
655
- toonHeader("👥", `${people.length} People, ${bots.length} Bots`),
546
+ (0, formatters_js_1.toonHeader)("👥", `${people.length} People, ${bots.length} Bots`),
656
547
  ];
657
548
  for (const member of people) {
658
549
  const name = member.displayName || "(unknown)";
@@ -691,34 +582,9 @@ const whoami = {
691
582
  },
692
583
  formatToon: (result) => {
693
584
  const { displayName, region } = result;
694
- return [toonHeader("🙋", displayName), ` 📍 region: ${region}`].join("\n");
585
+ return [(0, formatters_js_1.toonHeader)("🙋", displayName), ` 📍 region: ${region}`].join("\n");
695
586
  },
696
587
  };
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
588
  const getTranscript = {
723
589
  name: "get-transcript",
724
590
  title: "Get Meeting Transcript",
@@ -727,7 +593,7 @@ const getTranscript = {
727
593
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
728
594
  "Use --raw-vtt to get the original VTT file instead of parsed output.",
729
595
  parameters: [
730
- ...conversationParameters,
596
+ ...conversation_resolution_js_1.conversationParameters,
731
597
  {
732
598
  name: "rawVtt",
733
599
  type: "boolean",
@@ -737,7 +603,7 @@ const getTranscript = {
737
603
  },
738
604
  ],
739
605
  execute: async (client, parameters) => {
740
- const { conversationId } = await resolveConversationId(client, parameters);
606
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
741
607
  const rawVtt = parameters.rawVtt ?? false;
742
608
  const transcriptResult = await client.getTranscript(conversationId);
743
609
  if (rawVtt) {
@@ -751,12 +617,12 @@ const getTranscript = {
751
617
  return data.rawVtt;
752
618
  }
753
619
  const transcript = data;
754
- const groups = groupBySpeaker(transcript.entries);
620
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
755
621
  const lines = [
756
622
  `\nTranscript: ${transcript.meetingTitle} (${transcript.entries.length} segments)\n`,
757
623
  ];
758
624
  for (const group of groups) {
759
- const time = formatTimestamp(group.startTime);
625
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
760
626
  lines.push(` [${time}] ${group.speaker}:`);
761
627
  lines.push(` ${group.segments.join(" ")}`);
762
628
  }
@@ -768,7 +634,7 @@ const getTranscript = {
768
634
  return ["```vtt", data.rawVtt, "```"].join("\n");
769
635
  }
770
636
  const transcript = data;
771
- const groups = groupBySpeaker(transcript.entries);
637
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
772
638
  const lines = [
773
639
  `## Transcript: ${transcript.meetingTitle}`,
774
640
  "",
@@ -776,7 +642,7 @@ const getTranscript = {
776
642
  "",
777
643
  ];
778
644
  for (const group of groups) {
779
- const time = formatTimestamp(group.startTime);
645
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
780
646
  lines.push(`**${group.speaker}** *(${time})*`, "");
781
647
  lines.push(group.segments.join(" "), "");
782
648
  }
@@ -788,12 +654,12 @@ const getTranscript = {
788
654
  return data.rawVtt;
789
655
  }
790
656
  const transcript = data;
791
- const groups = groupBySpeaker(transcript.entries);
657
+ const groups = (0, formatters_js_1.groupBySpeaker)(transcript.entries);
792
658
  const lines = [
793
- toonHeader("🎙️", `Transcript: ${transcript.meetingTitle} (${transcript.entries.length} segments)`),
659
+ (0, formatters_js_1.toonHeader)("🎙️", `Transcript: ${transcript.meetingTitle} (${transcript.entries.length} segments)`),
794
660
  ];
795
661
  for (const group of groups) {
796
- const time = formatTimestamp(group.startTime);
662
+ const time = (0, formatters_js_1.formatTimestamp)(group.startTime);
797
663
  lines.push("");
798
664
  lines.push(` 🗣️ ${group.speaker} · ${time}`);
799
665
  lines.push(` ${group.segments.join(" ")}`);
@@ -801,7 +667,6 @@ const getTranscript = {
801
667
  return lines.join("\n");
802
668
  },
803
669
  };
804
- // ── find-people ──────────────────────────────────────────────────────
805
670
  const findPeopleAction = {
806
671
  name: "find-people",
807
672
  title: "Find People",
@@ -857,7 +722,7 @@ const findPeopleAction = {
857
722
  const people = result;
858
723
  if (people.length === 0)
859
724
  return "\n 🔍 No people found.";
860
- const lines = [toonHeader("👥", `Found ${people.length} people`)];
725
+ const lines = [(0, formatters_js_1.toonHeader)("👥", `Found ${people.length} people`)];
861
726
  for (const person of people) {
862
727
  lines.push(` 👤 ${person.displayName}`);
863
728
  lines.push(` 📧 ${person.email} · ${person.jobTitle || "?"} · ${person.department || "?"}`);
@@ -865,7 +730,6 @@ const findPeopleAction = {
865
730
  return lines.join("\n");
866
731
  },
867
732
  };
868
- // ── find-chats ───────────────────────────────────────────────────────
869
733
  const findChatsAction = {
870
734
  name: "find-chats",
871
735
  title: "Find Chats",
@@ -927,7 +791,7 @@ const findChatsAction = {
927
791
  const chats = result;
928
792
  if (chats.length === 0)
929
793
  return "\n 🔍 No chats found.";
930
- const lines = [toonHeader("💬", `Found ${chats.length} chats`)];
794
+ const lines = [(0, formatters_js_1.toonHeader)("💬", `Found ${chats.length} chats`)];
931
795
  for (const chat of chats) {
932
796
  lines.push(` 💬 ${chat.name || "(untitled)"}`);
933
797
  lines.push(` 📁 ${chat.threadType} · ${chat.totalMemberCount} members`);
@@ -942,18 +806,25 @@ const findChatsAction = {
942
806
  },
943
807
  };
944
808
  // ── 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
809
+ /**
810
+ * Map-based action registry keyed by action name.
811
+ * Ensures compile-time visibility of all actions and prevents
812
+ * accidental omissions from the exported array.
813
+ */
814
+ const actionRegistry = new Map([
815
+ ["list-conversations", listConversations],
816
+ ["find-conversation", findConversation],
817
+ ["find-one-on-one", findOneOnOne],
818
+ ["find-people", findPeopleAction],
819
+ ["find-chats", findChatsAction],
820
+ ["get-messages", getMessages],
821
+ ["send-message", sendMessage],
822
+ ["edit-message", editMessageAction],
823
+ ["delete-message", deleteMessageAction],
824
+ ["get-members", getMembers],
825
+ ["whoami", whoami],
826
+ ["get-transcript", getTranscript],
827
+ ]);
828
+ /** All registered actions, derived from the registry map. */
829
+ exports.actions = Array.from(actionRegistry.values());
830
+ //# 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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"}