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.
- package/SKILL.md +1 -1
- package/dist/actions/conversation-resolution.d.ts +26 -0
- package/dist/actions/conversation-resolution.d.ts.map +1 -0
- package/dist/actions/conversation-resolution.js +81 -0
- package/dist/actions/conversation-resolution.js.map +1 -0
- package/dist/actions/definitions.d.ts +16 -0
- package/dist/actions/definitions.d.ts.map +1 -0
- package/dist/{actions.js → actions/definitions.js} +77 -209
- package/dist/actions/definitions.js.map +1 -0
- package/dist/{actions.d.ts → actions/formatters.d.ts} +24 -13
- package/dist/actions/formatters.d.ts.map +1 -0
- package/dist/actions/formatters.js +86 -0
- package/dist/actions/formatters.js.map +1 -0
- package/dist/api/chat-service.d.ts +54 -0
- package/dist/api/chat-service.d.ts.map +1 -0
- package/dist/api/chat-service.js +327 -0
- package/dist/api/chat-service.js.map +1 -0
- package/dist/api/common.d.ts +21 -0
- package/dist/api/common.d.ts.map +1 -0
- package/dist/api/common.js +65 -0
- package/dist/api/common.js.map +1 -0
- package/dist/api/middle-tier.d.ts +15 -0
- package/dist/api/middle-tier.d.ts.map +1 -0
- package/dist/api/middle-tier.js +52 -0
- package/dist/api/middle-tier.js.map +1 -0
- package/dist/api/substrate.d.ts +22 -0
- package/dist/api/substrate.d.ts.map +1 -0
- package/dist/api/substrate.js +162 -0
- package/dist/api/substrate.js.map +1 -0
- package/dist/api/transcripts.d.ts +51 -0
- package/dist/api/transcripts.d.ts.map +1 -0
- package/dist/api/transcripts.js +140 -0
- package/dist/api/transcripts.js.map +1 -0
- package/dist/auth/auto-login.d.ts +23 -0
- package/dist/auth/auto-login.d.ts.map +1 -0
- package/dist/auth/auto-login.js +136 -0
- package/dist/auth/auto-login.js.map +1 -0
- package/dist/auth/debug-session.d.ts +20 -0
- package/dist/auth/debug-session.d.ts.map +1 -0
- package/dist/auth/debug-session.js +121 -0
- package/dist/auth/debug-session.js.map +1 -0
- package/dist/auth/interactive.d.ts +21 -0
- package/dist/auth/interactive.d.ts.map +1 -0
- package/dist/auth/interactive.js +90 -0
- package/dist/auth/interactive.js.map +1 -0
- package/dist/auth/page-diagnostics.d.ts +21 -0
- package/dist/auth/page-diagnostics.d.ts.map +1 -0
- package/dist/auth/page-diagnostics.js +65 -0
- package/dist/auth/page-diagnostics.js.map +1 -0
- package/dist/auth/token-capture.d.ts +24 -0
- package/dist/auth/token-capture.d.ts.map +1 -0
- package/dist/auth/token-capture.js +123 -0
- package/dist/auth/token-capture.js.map +1 -0
- package/dist/cli.js +11 -5
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -0
- package/dist/html-utils.d.ts +9 -0
- package/dist/html-utils.d.ts.map +1 -0
- package/dist/html-utils.js +21 -0
- package/dist/html-utils.js.map +1 -0
- package/dist/mcp-server.js +4 -3
- package/dist/mcp-server.js.map +1 -1
- package/dist/teams-client.d.ts +17 -8
- package/dist/teams-client.d.ts.map +1 -1
- package/dist/teams-client.js +90 -75
- package/dist/teams-client.js.map +1 -1
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/actions.d.ts.map +0 -1
- package/dist/actions.js.map +0 -1
- package/dist/api.d.ts +0 -126
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -702
- package/dist/api.js.map +0 -1
- package/dist/auth.d.ts +0 -53
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -491
- package/dist/auth.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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(/</g, "<")
|
|
42
|
-
.replace(/>/g, ">")
|
|
43
|
-
.replace(/​/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: "
|
|
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: "
|
|
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
|
|
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
|
-
|
|
333
|
-
pageSize,
|
|
214
|
+
limit,
|
|
334
215
|
onProgress,
|
|
335
216
|
});
|
|
336
217
|
if (textOnly) {
|
|
337
|
-
messages = messages.filter((message) => (message.messageType
|
|
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
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
]
|
|
959
|
-
|
|
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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"}
|