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.
- package/README.md +1 -14
- 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} +83 -212
- 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.d.ts +2 -2
- package/dist/cli.js +21 -7
- 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 +7 -3
- package/dist/mcp-server.js.map +1 -1
- package/dist/server-instructions.d.ts +13 -0
- package/dist/server-instructions.d.ts.map +1 -0
- package/dist/server-instructions.js +60 -0
- package/dist/server-instructions.js.map +1 -0
- 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 -2
- package/SKILL.md +0 -135
- 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";
|
|
@@ -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: "
|
|
189
|
+
name: "limit",
|
|
305
190
|
type: "number",
|
|
306
|
-
description: "
|
|
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
|
|
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
|
-
|
|
333
|
-
pageSize,
|
|
216
|
+
limit,
|
|
334
217
|
onProgress,
|
|
335
218
|
});
|
|
336
219
|
if (textOnly) {
|
|
337
|
-
messages = messages.filter((message) => (message.messageType
|
|
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
|
-
|
|
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
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
]
|
|
959
|
-
|
|
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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"}
|