teams-api 0.6.0 → 0.8.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-actions.d.ts +10 -0
- package/dist/actions/conversation-actions.d.ts.map +1 -0
- package/dist/actions/conversation-actions.js +168 -0
- package/dist/actions/conversation-actions.js.map +1 -0
- package/dist/actions/definitions.d.ts +5 -10
- package/dist/actions/definitions.d.ts.map +1 -1
- package/dist/actions/definitions.js +20 -810
- package/dist/actions/definitions.js.map +1 -1
- package/dist/actions/message-actions.d.ts +11 -0
- package/dist/actions/message-actions.d.ts.map +1 -0
- package/dist/actions/message-actions.js +315 -0
- package/dist/actions/message-actions.js.map +1 -0
- package/dist/actions/search-actions.d.ts +9 -0
- package/dist/actions/search-actions.d.ts.map +1 -0
- package/dist/actions/search-actions.js +148 -0
- package/dist/actions/search-actions.js.map +1 -0
- package/dist/actions/utility-actions.d.ts +10 -0
- package/dist/actions/utility-actions.d.ts.map +1 -0
- package/dist/actions/utility-actions.js +200 -0
- package/dist/actions/utility-actions.js.map +1 -0
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +10 -2
- package/dist/cli.js.map +1 -1
- package/dist/mcp-server.js +3 -0
- 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/package.json +1 -2
- package/SKILL.md +0 -135
package/README.md
CHANGED
|
@@ -25,19 +25,6 @@ Designed for autonomous AI agents that need to interact with Teams: read message
|
|
|
25
25
|
|
|
26
26
|
The quickest way to get started is to click one of the install badges above, or follow the instructions for your editor below.
|
|
27
27
|
|
|
28
|
-
#### Install as an agent skill
|
|
29
|
-
|
|
30
|
-
The [SKILL.md](SKILL.md) teaches AI agents _how_ to use the MCP tools (when to call which tool, typical workflows, parameter guidance). Install it with the [`skills` CLI](https://github.com/vercel-labs/skills):
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npx -y skills add Maxim-Mazurok/teams-api
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
This copies the skill into your agent's skills directory (Claude Code, Cursor, GitHub Copilot, Codex, and [many more](https://www.npmjs.com/package/skills#supported-agents)).
|
|
37
|
-
|
|
38
|
-
> [!NOTE]
|
|
39
|
-
> The skill is optional — the MCP tools work without it. The skill just gives agents extra context about when and how to use each tool.
|
|
40
|
-
|
|
41
28
|
#### Editor-specific instructions
|
|
42
29
|
|
|
43
30
|
<details>
|
|
@@ -393,7 +380,7 @@ All MCP tools accept an optional `format` parameter (`json`, `text`, `md`, or `t
|
|
|
393
380
|
| `teams_get_transcript` | Get a meeting transcript from a recorded conversation |
|
|
394
381
|
| `teams_whoami` | Get the authenticated user's display name |
|
|
395
382
|
|
|
396
|
-
|
|
383
|
+
Workflow guidance, tips, and important notes are served automatically via the MCP server's `instructions` field — no separate skill file needed. For the same content on the CLI, run `teams-api guide`.
|
|
397
384
|
|
|
398
385
|
## API regions
|
|
399
386
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation-related action definitions.
|
|
3
|
+
*
|
|
4
|
+
* Actions: list-conversations, find-conversation, find-one-on-one.
|
|
5
|
+
*/
|
|
6
|
+
import { type ActionDefinition } from "./formatters.js";
|
|
7
|
+
export declare const listConversations: ActionDefinition;
|
|
8
|
+
export declare const findConversation: ActionDefinition;
|
|
9
|
+
export declare const findOneOnOne: ActionDefinition;
|
|
10
|
+
//# sourceMappingURL=conversation-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-actions.d.ts","sourceRoot":"","sources":["../../src/actions/conversation-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,gBAAgB,EAAc,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,iBAAiB,EAAE,gBAmE/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,gBAqD9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBA2C1B,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Conversation-related action definitions.
|
|
4
|
+
*
|
|
5
|
+
* Actions: list-conversations, find-conversation, find-one-on-one.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.findOneOnOne = exports.findConversation = exports.listConversations = void 0;
|
|
9
|
+
const formatters_js_1 = require("./formatters.js");
|
|
10
|
+
exports.listConversations = {
|
|
11
|
+
name: "list-conversations",
|
|
12
|
+
title: "List Teams Conversations",
|
|
13
|
+
description: "List conversations (chats, group chats, meetings, channels). " +
|
|
14
|
+
"Returns conversation ID, topic, type, member count, and last message time.",
|
|
15
|
+
parameters: [
|
|
16
|
+
{
|
|
17
|
+
name: "limit",
|
|
18
|
+
type: "number",
|
|
19
|
+
description: "Maximum number of conversations to return",
|
|
20
|
+
required: false,
|
|
21
|
+
default: 50,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
execute: async (client, parameters) => {
|
|
25
|
+
const limit = parameters.limit ?? 50;
|
|
26
|
+
return client.listConversations({ pageSize: limit });
|
|
27
|
+
},
|
|
28
|
+
formatResult: (result) => {
|
|
29
|
+
const conversations = result;
|
|
30
|
+
const lines = [`\n${conversations.length} conversations:\n`];
|
|
31
|
+
for (let i = 0; i < conversations.length; i++) {
|
|
32
|
+
const conversation = conversations[i];
|
|
33
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
34
|
+
const topic = conversation.topic || "(untitled 1:1 chat)";
|
|
35
|
+
lines.push(` [${i}] ${conversation.threadType}: "${topic}" ` +
|
|
36
|
+
`(members: ${conversation.memberCount ?? "?"}, last: ${lastMessage})`);
|
|
37
|
+
}
|
|
38
|
+
return lines.join("\n");
|
|
39
|
+
},
|
|
40
|
+
formatMarkdown: (result) => {
|
|
41
|
+
const conversations = result;
|
|
42
|
+
const lines = [`## Conversations (${conversations.length})`, ""];
|
|
43
|
+
if (conversations.length === 0)
|
|
44
|
+
return lines.join("\n");
|
|
45
|
+
lines.push("| # | Topic | Type | Members | Last Message |");
|
|
46
|
+
lines.push("|---|-------|------|---------|--------------|");
|
|
47
|
+
for (let i = 0; i < conversations.length; i++) {
|
|
48
|
+
const conversation = conversations[i];
|
|
49
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
50
|
+
const topic = conversation.topic || "(untitled 1:1 chat)";
|
|
51
|
+
lines.push(`| ${i} | ${topic} | ${conversation.threadType} | ${conversation.memberCount ?? "?"} | ${lastMessage} |`);
|
|
52
|
+
}
|
|
53
|
+
return lines.join("\n");
|
|
54
|
+
},
|
|
55
|
+
formatToon: (result) => {
|
|
56
|
+
const conversations = result;
|
|
57
|
+
const lines = [(0, formatters_js_1.toonHeader)("📋", `${conversations.length} Conversations`)];
|
|
58
|
+
for (let i = 0; i < conversations.length; i++) {
|
|
59
|
+
const conversation = conversations[i];
|
|
60
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
61
|
+
const topic = conversation.topic || "(untitled 1:1 chat)";
|
|
62
|
+
lines.push("");
|
|
63
|
+
lines.push(` 💬 [${i}] "${topic}"`);
|
|
64
|
+
lines.push(` ${conversation.threadType} · ${conversation.memberCount ?? "?"} members · last: ${lastMessage}`);
|
|
65
|
+
}
|
|
66
|
+
return lines.join("\n");
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
exports.findConversation = {
|
|
70
|
+
name: "find-conversation",
|
|
71
|
+
title: "Find Teams Conversation",
|
|
72
|
+
description: "Find a conversation by topic name (case-insensitive partial match). " +
|
|
73
|
+
"When Substrate search is available, also matches by member names. " +
|
|
74
|
+
"For 1:1 chats (which have no topic), use find-one-on-one instead. " +
|
|
75
|
+
"Use the returned conversation ID for subsequent operations like get-messages or send-message.",
|
|
76
|
+
parameters: [
|
|
77
|
+
{
|
|
78
|
+
name: "query",
|
|
79
|
+
type: "string",
|
|
80
|
+
description: "Partial topic name to search for",
|
|
81
|
+
required: true,
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
execute: async (client, parameters) => {
|
|
85
|
+
const query = parameters.query;
|
|
86
|
+
return client.findConversation(query);
|
|
87
|
+
},
|
|
88
|
+
formatResult: (result) => {
|
|
89
|
+
if (!result)
|
|
90
|
+
return "No conversation found.";
|
|
91
|
+
const conversation = result;
|
|
92
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
93
|
+
return (`Found: "${conversation.topic}" ` +
|
|
94
|
+
`(${conversation.id}, ${conversation.threadType}, ` +
|
|
95
|
+
`members: ${conversation.memberCount ?? "?"}, last: ${lastMessage})`);
|
|
96
|
+
},
|
|
97
|
+
formatMarkdown: (result) => {
|
|
98
|
+
if (!result)
|
|
99
|
+
return "No conversation found.";
|
|
100
|
+
const conversation = result;
|
|
101
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
102
|
+
return [
|
|
103
|
+
`## Found: "${conversation.topic}"`,
|
|
104
|
+
"",
|
|
105
|
+
`- **ID:** ${conversation.id}`,
|
|
106
|
+
`- **Type:** ${conversation.threadType}`,
|
|
107
|
+
`- **Members:** ${conversation.memberCount ?? "?"}`,
|
|
108
|
+
`- **Last message:** ${lastMessage}`,
|
|
109
|
+
].join("\n");
|
|
110
|
+
},
|
|
111
|
+
formatToon: (result) => {
|
|
112
|
+
if (!result)
|
|
113
|
+
return "\n 🔍 No conversation found.";
|
|
114
|
+
const conversation = result;
|
|
115
|
+
const lastMessage = conversation.lastMessageTime?.slice(0, 10) ?? "unknown";
|
|
116
|
+
return [
|
|
117
|
+
(0, formatters_js_1.toonHeader)("🔍", `Found: "${conversation.topic}"`),
|
|
118
|
+
` 🆔 ${conversation.id}`,
|
|
119
|
+
` 📁 ${conversation.threadType} · ${conversation.memberCount ?? "?"} members · last: ${lastMessage}`,
|
|
120
|
+
].join("\n");
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
exports.findOneOnOne = {
|
|
124
|
+
name: "find-one-on-one",
|
|
125
|
+
title: "Find 1:1 Conversation",
|
|
126
|
+
description: "Find a 1:1 conversation with a person by name. " +
|
|
127
|
+
"Uses Substrate people/chat search when available, " +
|
|
128
|
+
"falls back to scanning message senders. " +
|
|
129
|
+
"Also finds the self-chat if the name matches the current user.",
|
|
130
|
+
parameters: [
|
|
131
|
+
{
|
|
132
|
+
name: "personName",
|
|
133
|
+
type: "string",
|
|
134
|
+
description: "Name of the person to find (case-insensitive partial match)",
|
|
135
|
+
required: true,
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
execute: async (client, parameters) => {
|
|
139
|
+
const personName = parameters.personName;
|
|
140
|
+
return client.findOneOnOneConversation(personName);
|
|
141
|
+
},
|
|
142
|
+
formatResult: (result) => {
|
|
143
|
+
if (!result)
|
|
144
|
+
return "No 1:1 conversation found.";
|
|
145
|
+
const searchResult = result;
|
|
146
|
+
return `Found 1:1 with ${searchResult.memberDisplayName} (${searchResult.conversationId})`;
|
|
147
|
+
},
|
|
148
|
+
formatMarkdown: (result) => {
|
|
149
|
+
if (!result)
|
|
150
|
+
return "No 1:1 conversation found.";
|
|
151
|
+
const searchResult = result;
|
|
152
|
+
return [
|
|
153
|
+
`## Found 1:1 with ${searchResult.memberDisplayName}`,
|
|
154
|
+
"",
|
|
155
|
+
`- **Conversation ID:** ${searchResult.conversationId}`,
|
|
156
|
+
].join("\n");
|
|
157
|
+
},
|
|
158
|
+
formatToon: (result) => {
|
|
159
|
+
if (!result)
|
|
160
|
+
return "\n 🔍 No 1:1 conversation found.";
|
|
161
|
+
const searchResult = result;
|
|
162
|
+
return [
|
|
163
|
+
(0, formatters_js_1.toonHeader)("🔍", `Found 1:1 with ${searchResult.memberDisplayName}`),
|
|
164
|
+
` 🆔 ${searchResult.conversationId}`,
|
|
165
|
+
].join("\n");
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=conversation-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-actions.js","sourceRoot":"","sources":["../../src/actions/conversation-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Action registry — the single source of truth for all Teams API operations.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Each action declares:
|
|
8
|
-
* - name, title, description — shared help text and documentation
|
|
9
|
-
* - parameters — typed parameter definitions with descriptions and defaults
|
|
10
|
-
* - execute — the implementation, calling TeamsClient methods
|
|
11
|
-
* - formatResult — human-readable output formatter (CLI without --json)
|
|
4
|
+
* CLI commands, MCP tools, and programmatic usage all derive from these
|
|
5
|
+
* definitions. Individual action definitions live in domain-specific files;
|
|
6
|
+
* this module assembles them into the canonical registry.
|
|
12
7
|
*/
|
|
13
|
-
import {
|
|
8
|
+
import type { ActionDefinition } from "./formatters.js";
|
|
14
9
|
/** All registered actions, derived from the registry map. */
|
|
15
10
|
export declare const actions: ActionDefinition[];
|
|
16
11
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/actions/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/actions/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAqCxD,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,gBAAgB,EAAwC,CAAC"}
|