@hahnfeld/teams-adapter 1.0.9

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +286 -0
  3. package/dist/activity.d.ts +23 -0
  4. package/dist/activity.d.ts.map +1 -0
  5. package/dist/activity.js +3 -0
  6. package/dist/activity.js.map +1 -0
  7. package/dist/adapter.d.ts +174 -0
  8. package/dist/adapter.d.ts.map +1 -0
  9. package/dist/adapter.js +1583 -0
  10. package/dist/adapter.js.map +1 -0
  11. package/dist/app-package.d.ts +7 -0
  12. package/dist/app-package.d.ts.map +1 -0
  13. package/dist/app-package.js +158 -0
  14. package/dist/app-package.js.map +1 -0
  15. package/dist/assistant.d.ts +7 -0
  16. package/dist/assistant.d.ts.map +1 -0
  17. package/dist/assistant.js +32 -0
  18. package/dist/assistant.js.map +1 -0
  19. package/dist/commands/admin.d.ts +27 -0
  20. package/dist/commands/admin.d.ts.map +1 -0
  21. package/dist/commands/admin.js +146 -0
  22. package/dist/commands/admin.js.map +1 -0
  23. package/dist/commands/agents.d.ts +13 -0
  24. package/dist/commands/agents.d.ts.map +1 -0
  25. package/dist/commands/agents.js +98 -0
  26. package/dist/commands/agents.js.map +1 -0
  27. package/dist/commands/doctor.d.ts +8 -0
  28. package/dist/commands/doctor.d.ts.map +1 -0
  29. package/dist/commands/doctor.js +49 -0
  30. package/dist/commands/doctor.js.map +1 -0
  31. package/dist/commands/index.d.ts +16 -0
  32. package/dist/commands/index.d.ts.map +1 -0
  33. package/dist/commands/index.js +253 -0
  34. package/dist/commands/index.js.map +1 -0
  35. package/dist/commands/integrate.d.ts +8 -0
  36. package/dist/commands/integrate.d.ts.map +1 -0
  37. package/dist/commands/integrate.js +45 -0
  38. package/dist/commands/integrate.js.map +1 -0
  39. package/dist/commands/menu.d.ts +16 -0
  40. package/dist/commands/menu.d.ts.map +1 -0
  41. package/dist/commands/menu.js +92 -0
  42. package/dist/commands/menu.js.map +1 -0
  43. package/dist/commands/new-session.d.ts +13 -0
  44. package/dist/commands/new-session.d.ts.map +1 -0
  45. package/dist/commands/new-session.js +105 -0
  46. package/dist/commands/new-session.js.map +1 -0
  47. package/dist/commands/session.d.ts +22 -0
  48. package/dist/commands/session.d.ts.map +1 -0
  49. package/dist/commands/session.js +110 -0
  50. package/dist/commands/session.js.map +1 -0
  51. package/dist/commands/settings.d.ts +8 -0
  52. package/dist/commands/settings.d.ts.map +1 -0
  53. package/dist/commands/settings.js +54 -0
  54. package/dist/commands/settings.js.map +1 -0
  55. package/dist/conversation-store.d.ts +38 -0
  56. package/dist/conversation-store.d.ts.map +1 -0
  57. package/dist/conversation-store.js +101 -0
  58. package/dist/conversation-store.js.map +1 -0
  59. package/dist/draft-manager.d.ts +47 -0
  60. package/dist/draft-manager.d.ts.map +1 -0
  61. package/dist/draft-manager.js +136 -0
  62. package/dist/draft-manager.js.map +1 -0
  63. package/dist/formatting.d.ts +121 -0
  64. package/dist/formatting.d.ts.map +1 -0
  65. package/dist/formatting.js +392 -0
  66. package/dist/formatting.js.map +1 -0
  67. package/dist/graph.d.ts +59 -0
  68. package/dist/graph.d.ts.map +1 -0
  69. package/dist/graph.js +261 -0
  70. package/dist/graph.js.map +1 -0
  71. package/dist/index.d.ts +16 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +10 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/media.d.ts +29 -0
  76. package/dist/media.d.ts.map +1 -0
  77. package/dist/media.js +120 -0
  78. package/dist/media.js.map +1 -0
  79. package/dist/permissions.d.ts +15 -0
  80. package/dist/permissions.d.ts.map +1 -0
  81. package/dist/permissions.js +221 -0
  82. package/dist/permissions.js.map +1 -0
  83. package/dist/plugin.d.ts +13 -0
  84. package/dist/plugin.d.ts.map +1 -0
  85. package/dist/plugin.js +689 -0
  86. package/dist/plugin.js.map +1 -0
  87. package/dist/renderer.d.ts +49 -0
  88. package/dist/renderer.d.ts.map +1 -0
  89. package/dist/renderer.js +55 -0
  90. package/dist/renderer.js.map +1 -0
  91. package/dist/send-utils.d.ts +15 -0
  92. package/dist/send-utils.d.ts.map +1 -0
  93. package/dist/send-utils.js +64 -0
  94. package/dist/send-utils.js.map +1 -0
  95. package/dist/task-modules.d.ts +34 -0
  96. package/dist/task-modules.d.ts.map +1 -0
  97. package/dist/task-modules.js +136 -0
  98. package/dist/task-modules.js.map +1 -0
  99. package/dist/types.d.ts +26 -0
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +3 -0
  102. package/dist/types.js.map +1 -0
  103. package/dist/validators.d.ts +54 -0
  104. package/dist/validators.d.ts.map +1 -0
  105. package/dist/validators.js +142 -0
  106. package/dist/validators.js.map +1 -0
  107. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Manages Graph API authentication and file operations for a Teams bot.
3
+ *
4
+ * Requires Azure AD app registration with:
5
+ * - Application permission: Files.ReadWrite.All (for upload to SharePoint/OneDrive)
6
+ * - Delegated or Application permission for downloading Teams attachments
7
+ */
8
+ export declare class GraphFileClient {
9
+ private tenantId;
10
+ private clientId;
11
+ private clientSecret;
12
+ private tokenCache;
13
+ constructor(tenantId: string, clientId: string, clientSecret: string);
14
+ /**
15
+ * Acquire an access token via client credentials flow (app-only).
16
+ * Caches the token and refreshes 5 minutes before expiry.
17
+ */
18
+ private getToken;
19
+ /**
20
+ * Download a file from a Teams attachment content URL with proper authentication.
21
+ *
22
+ * Teams attachment URLs (e.g., https://teams.microsoft.com/api/...) require
23
+ * a Bearer token. This method fetches the file with the bot's Graph token.
24
+ */
25
+ downloadFile(contentUrl: string, maxSize: number): Promise<Buffer | null>;
26
+ /**
27
+ * Upload a file to the bot's OneDrive for Business and return a sharing URL.
28
+ *
29
+ * For files <= 4MB, uses simple PUT upload.
30
+ * For files > 4MB, uses upload session (resumable upload).
31
+ *
32
+ * The file is uploaded to /openacp-files/{sessionId}/{fileName} to keep
33
+ * files organized by session.
34
+ *
35
+ * @returns A sharing link URL that Teams users can access, or null on failure.
36
+ *
37
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-put-content
38
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession
39
+ */
40
+ uploadFile(sessionId: string, fileName: string, content: Buffer, contentType: string): Promise<string | null>;
41
+ /**
42
+ * Simple PUT upload for files ≤ 4MB.
43
+ * PUT /me/drive/root:/{path}:/content
44
+ */
45
+ private simpleUpload;
46
+ /**
47
+ * Resumable upload for files > 4MB.
48
+ * Creates an upload session and uploads in 10MB chunks.
49
+ *
50
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession
51
+ */
52
+ private resumableUpload;
53
+ /**
54
+ * Create an anonymous sharing link for a drive item.
55
+ * POST /me/drive/items/{id}/createLink
56
+ */
57
+ private createSharingLink;
58
+ }
59
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AA4BA;;;;;;GAMG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IALtB,OAAO,CAAC,UAAU,CAAgC;gBAGxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM;IAG9B;;;OAGG;YACW,QAAQ;IAiCtB;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsC/E;;;;;;;;;;;;;OAaG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwBzB;;;OAGG;YACW,YAAY;IAwB1B;;;;;OAKG;YACW,eAAe;IA0E7B;;;OAGG;YACW,iBAAiB;CA8BhC"}
package/dist/graph.js ADDED
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Microsoft Graph API client for Teams file operations.
3
+ *
4
+ * Provides authenticated file download (from Teams attachment URLs) and
5
+ * file upload (to OneDrive/SharePoint for sharing via adaptive cards).
6
+ *
7
+ * Uses the Microsoft Graph REST API v1.0:
8
+ * - Download: GET /drives/{driveId}/items/{itemId}/content
9
+ * - Upload (small, <4MB): PUT /me/drive/root:/{path}:/content
10
+ * - Upload (large, >4MB): POST /me/drive/root:/{path}:/createUploadSession
11
+ *
12
+ * Authentication uses client credentials flow (app-only) with the bot's
13
+ * Azure AD app registration. Requires Files.ReadWrite.All or Sites.ReadWrite.All
14
+ * application permissions for upload, and User.Read for basic operations.
15
+ *
16
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-put-content
17
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession
18
+ */
19
+ import { log } from "@openacp/plugin-sdk";
20
+ const GRAPH_BASE = "https://graph.microsoft.com/v1.0";
21
+ const SMALL_FILE_LIMIT = 4 * 1024 * 1024; // 4MB — Graph simple upload limit
22
+ /**
23
+ * Manages Graph API authentication and file operations for a Teams bot.
24
+ *
25
+ * Requires Azure AD app registration with:
26
+ * - Application permission: Files.ReadWrite.All (for upload to SharePoint/OneDrive)
27
+ * - Delegated or Application permission for downloading Teams attachments
28
+ */
29
+ export class GraphFileClient {
30
+ tenantId;
31
+ clientId;
32
+ clientSecret;
33
+ tokenCache = null;
34
+ constructor(tenantId, clientId, clientSecret) {
35
+ this.tenantId = tenantId;
36
+ this.clientId = clientId;
37
+ this.clientSecret = clientSecret;
38
+ }
39
+ /**
40
+ * Acquire an access token via client credentials flow (app-only).
41
+ * Caches the token and refreshes 5 minutes before expiry.
42
+ */
43
+ async getToken() {
44
+ if (this.tokenCache && Date.now() < this.tokenCache.expiresAt - 300_000) {
45
+ return this.tokenCache.token;
46
+ }
47
+ const tokenUrl = `https://login.microsoftonline.com/${this.tenantId}/oauth2/v2.0/token`;
48
+ const body = new URLSearchParams({
49
+ grant_type: "client_credentials",
50
+ client_id: this.clientId,
51
+ client_secret: this.clientSecret,
52
+ scope: "https://graph.microsoft.com/.default",
53
+ });
54
+ const response = await fetch(tokenUrl, {
55
+ method: "POST",
56
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
57
+ body: body.toString(),
58
+ });
59
+ if (!response.ok) {
60
+ // Sanitize error — Azure AD error responses may contain client_id and diagnostic info
61
+ throw new Error(`Graph token acquisition failed (HTTP ${response.status})`);
62
+ }
63
+ const data = (await response.json());
64
+ this.tokenCache = {
65
+ token: data.access_token,
66
+ expiresAt: Date.now() + data.expires_in * 1000,
67
+ };
68
+ return this.tokenCache.token;
69
+ }
70
+ /**
71
+ * Download a file from a Teams attachment content URL with proper authentication.
72
+ *
73
+ * Teams attachment URLs (e.g., https://teams.microsoft.com/api/...) require
74
+ * a Bearer token. This method fetches the file with the bot's Graph token.
75
+ */
76
+ async downloadFile(contentUrl, maxSize) {
77
+ if (!contentUrl)
78
+ return null;
79
+ try {
80
+ const token = await this.getToken();
81
+ const response = await fetch(contentUrl, {
82
+ headers: { Authorization: `Bearer ${token}` },
83
+ });
84
+ if (!response.ok) {
85
+ log.warn({ url: contentUrl.slice(0, 80), status: response.status }, "[GraphFileClient] Download failed");
86
+ return null;
87
+ }
88
+ const contentLength = response.headers.get("content-length");
89
+ if (contentLength && parseInt(contentLength, 10) > maxSize) {
90
+ log.warn({ contentLength, maxSize }, "[GraphFileClient] File exceeds size limit");
91
+ return null;
92
+ }
93
+ const arrayBuffer = await response.arrayBuffer();
94
+ const buffer = Buffer.from(arrayBuffer);
95
+ if (buffer.length > maxSize) {
96
+ log.warn({ size: buffer.length, maxSize }, "[GraphFileClient] File exceeds size limit after download");
97
+ return null;
98
+ }
99
+ return buffer;
100
+ }
101
+ catch (err) {
102
+ log.warn({ err }, "[GraphFileClient] Download error");
103
+ return null;
104
+ }
105
+ }
106
+ /**
107
+ * Upload a file to the bot's OneDrive for Business and return a sharing URL.
108
+ *
109
+ * For files <= 4MB, uses simple PUT upload.
110
+ * For files > 4MB, uses upload session (resumable upload).
111
+ *
112
+ * The file is uploaded to /openacp-files/{sessionId}/{fileName} to keep
113
+ * files organized by session.
114
+ *
115
+ * @returns A sharing link URL that Teams users can access, or null on failure.
116
+ *
117
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-put-content
118
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession
119
+ */
120
+ async uploadFile(sessionId, fileName, content, contentType) {
121
+ try {
122
+ const token = await this.getToken();
123
+ const remotePath = `/openacp-files/${sessionId}/${fileName}`;
124
+ let driveItemId;
125
+ if (content.length <= SMALL_FILE_LIMIT) {
126
+ // Simple upload for small files (≤4MB)
127
+ driveItemId = await this.simpleUpload(token, remotePath, content, contentType);
128
+ }
129
+ else {
130
+ // Resumable upload for large files (>4MB, up to 250MB)
131
+ driveItemId = await this.resumableUpload(token, remotePath, content);
132
+ }
133
+ // Create a sharing link
134
+ const shareUrl = await this.createSharingLink(token, driveItemId);
135
+ return shareUrl;
136
+ }
137
+ catch (err) {
138
+ log.error({ err, sessionId, fileName }, "[GraphFileClient] Upload failed");
139
+ return null;
140
+ }
141
+ }
142
+ /**
143
+ * Simple PUT upload for files ≤ 4MB.
144
+ * PUT /me/drive/root:/{path}:/content
145
+ */
146
+ async simpleUpload(token, remotePath, content, contentType) {
147
+ const url = `${GRAPH_BASE}/me/drive/root:${remotePath}:/content`;
148
+ const response = await fetch(url, {
149
+ method: "PUT",
150
+ headers: {
151
+ Authorization: `Bearer ${token}`,
152
+ "Content-Type": contentType,
153
+ },
154
+ body: new Uint8Array(content),
155
+ });
156
+ if (!response.ok) {
157
+ throw new Error(`Simple upload failed (HTTP ${response.status})`);
158
+ }
159
+ const item = (await response.json());
160
+ return item.id;
161
+ }
162
+ /**
163
+ * Resumable upload for files > 4MB.
164
+ * Creates an upload session and uploads in 10MB chunks.
165
+ *
166
+ * @see https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession
167
+ */
168
+ async resumableUpload(token, remotePath, content) {
169
+ // Step 1: Create upload session
170
+ const sessionUrl = `${GRAPH_BASE}/me/drive/root:${remotePath}:/createUploadSession`;
171
+ const sessionResponse = await fetch(sessionUrl, {
172
+ method: "POST",
173
+ headers: {
174
+ Authorization: `Bearer ${token}`,
175
+ "Content-Type": "application/json",
176
+ },
177
+ body: JSON.stringify({
178
+ item: { "@microsoft.graph.conflictBehavior": "rename" },
179
+ }),
180
+ });
181
+ if (!sessionResponse.ok) {
182
+ throw new Error(`Create upload session failed (HTTP ${sessionResponse.status})`);
183
+ }
184
+ const session = (await sessionResponse.json());
185
+ const uploadUrl = session.uploadUrl;
186
+ // Validate the upload URL points to a Microsoft-controlled host to prevent SSRF
187
+ // if the Graph API response were compromised or intercepted.
188
+ if (!/^https:\/\/[\w-]+(\.[\w-]+)*\.microsoft\.com(\/|$)/i.test(uploadUrl)) {
189
+ throw new Error(`Untrusted upload URL from Graph API: ${uploadUrl.slice(0, 80)}`);
190
+ }
191
+ // Step 2: Upload in 10MB chunks
192
+ const chunkSize = 10 * 1024 * 1024; // 10MB — must be multiple of 320KB
193
+ const totalSize = content.length;
194
+ let offset = 0;
195
+ let lastResponse = null;
196
+ while (offset < totalSize) {
197
+ const end = Math.min(offset + chunkSize, totalSize);
198
+ const chunk = content.subarray(offset, end);
199
+ // Upload session URL is pre-authenticated — Authorization header must NOT be
200
+ // included per Graph docs (it causes a 401 if present on the session URL).
201
+ lastResponse = await fetch(uploadUrl, {
202
+ method: "PUT",
203
+ headers: {
204
+ "Content-Length": String(chunk.length),
205
+ "Content-Range": `bytes ${offset}-${end - 1}/${totalSize}`,
206
+ },
207
+ body: new Uint8Array(chunk),
208
+ });
209
+ if (!lastResponse.ok && lastResponse.status !== 202) {
210
+ throw new Error(`Chunk upload failed at offset ${offset} (HTTP ${lastResponse.status})`);
211
+ }
212
+ offset = end;
213
+ }
214
+ if (!lastResponse)
215
+ throw new Error("No upload response received");
216
+ // Final chunk should return 200 or 201 with the drive item body.
217
+ // A 202 on the final chunk means the server hasn't finalized yet (rare edge case).
218
+ if (lastResponse.status !== 200 && lastResponse.status !== 201) {
219
+ throw new Error(`Upload completed but final response was HTTP ${lastResponse.status} (expected 200/201)`);
220
+ }
221
+ const item = (await lastResponse.json());
222
+ if (!item.id) {
223
+ throw new Error("Upload response missing drive item ID");
224
+ }
225
+ return item.id;
226
+ }
227
+ /**
228
+ * Create an anonymous sharing link for a drive item.
229
+ * POST /me/drive/items/{id}/createLink
230
+ */
231
+ async createSharingLink(token, driveItemId) {
232
+ const url = `${GRAPH_BASE}/me/drive/items/${driveItemId}/createLink`;
233
+ const response = await fetch(url, {
234
+ method: "POST",
235
+ headers: {
236
+ Authorization: `Bearer ${token}`,
237
+ "Content-Type": "application/json",
238
+ },
239
+ body: JSON.stringify({
240
+ type: "view",
241
+ scope: "organization",
242
+ }),
243
+ });
244
+ if (!response.ok) {
245
+ // Fallback: return a direct webUrl instead
246
+ const itemUrl = `${GRAPH_BASE}/me/drive/items/${driveItemId}`;
247
+ const itemResponse = await fetch(itemUrl, {
248
+ headers: { Authorization: `Bearer ${token}` },
249
+ });
250
+ if (itemResponse.ok) {
251
+ const item = (await itemResponse.json());
252
+ if (item.webUrl)
253
+ return item.webUrl;
254
+ }
255
+ throw new Error(`createLink failed (${response.status})`);
256
+ }
257
+ const link = (await response.json());
258
+ return link.link.webUrl;
259
+ }
260
+ }
261
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import createTeamsPlugin from "./plugin.js";
2
+ export { createTeamsPlugin };
3
+ declare const _default: import("@openacp/cli").OpenACPPlugin;
4
+ export default _default;
5
+ export { TeamsAdapter } from "./adapter.js";
6
+ export { TeamsRenderer } from "./renderer.js";
7
+ export type { TeamsChannelConfig, TeamsPlatformData } from "./types.js";
8
+ export { DEFAULT_BOT_PORT } from "./types.js";
9
+ export type { ToolCardSnapshot, ToolDisplaySpec } from "./activity.js";
10
+ export type { OutputMode } from "./activity.js";
11
+ export type { TeamsDraftManager, TeamsMessageDraft } from "./draft-manager.js";
12
+ export type { PermissionHandler } from "./permissions.js";
13
+ export { SLASH_COMMANDS } from "./commands/index.js";
14
+ export { GraphFileClient } from "./graph.js";
15
+ export { validateBotCredentials, validateTenant, discoverTeamsAndChannels, parseTeamsLink } from "./validators.js";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ import createTeamsPlugin from "./plugin.js";
2
+ export { createTeamsPlugin };
3
+ export default createTeamsPlugin();
4
+ export { TeamsAdapter } from "./adapter.js";
5
+ export { TeamsRenderer } from "./renderer.js";
6
+ export { DEFAULT_BOT_PORT } from "./types.js";
7
+ export { SLASH_COMMANDS } from "./commands/index.js";
8
+ export { GraphFileClient } from "./graph.js";
9
+ export { validateBotCredentials, validateTenant, discoverTeamsAndChannels, parseTeamsLink } from "./validators.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAe,iBAAiB,EAAE,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { GraphFileClient } from "./graph.js";
2
+ /**
3
+ * Download a file from a Teams attachment content URL.
4
+ *
5
+ * When a GraphFileClient is provided, uses authenticated Graph API download.
6
+ * Falls back to unauthenticated fetch (works for some public URLs).
7
+ */
8
+ export declare function downloadTeamsFile(url: string, fileName: string, graphClient?: GraphFileClient): Promise<Buffer | null>;
9
+ export declare function isAttachmentTooLarge(size: number): boolean;
10
+ /**
11
+ * Upload a file to OneDrive via Graph API and return a sharing URL.
12
+ * Returns null if Graph client is not configured or upload fails.
13
+ */
14
+ export declare function uploadFileViaGraph(graphClient: GraphFileClient | undefined, sessionId: string, filePath: string, fileName: string, contentType: string): Promise<string | null>;
15
+ /**
16
+ * Build an Adaptive Card for a file attachment.
17
+ *
18
+ * When a shareUrl is available (from Graph API upload), includes a download button.
19
+ * Otherwise shows file info with a note that Graph API is required.
20
+ *
21
+ * Uses Adaptive Card v1.2 for maximum mobile compatibility.
22
+ */
23
+ export declare function buildFileAttachmentCard(fileName: string, size: number, contentType: string, shareUrl?: string): {
24
+ type: "AdaptiveCard";
25
+ version: "1.2";
26
+ body: unknown[];
27
+ actions?: unknown[];
28
+ };
29
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAgDhF"}
package/dist/media.js ADDED
@@ -0,0 +1,120 @@
1
+ import { log } from "@openacp/plugin-sdk";
2
+ import * as fs from "node:fs";
3
+ const MAX_FILE_SIZE = 250 * 1024 * 1024; // 250MB Teams limit
4
+ /**
5
+ * Download a file from a Teams attachment content URL.
6
+ *
7
+ * When a GraphFileClient is provided, uses authenticated Graph API download.
8
+ * Falls back to unauthenticated fetch (works for some public URLs).
9
+ */
10
+ export async function downloadTeamsFile(url, fileName, graphClient) {
11
+ if (!url)
12
+ return null;
13
+ // Prefer Graph API authenticated download
14
+ if (graphClient) {
15
+ return graphClient.downloadFile(url, MAX_FILE_SIZE);
16
+ }
17
+ // Fallback: unauthenticated fetch (may fail for Teams-hosted files)
18
+ try {
19
+ const response = await fetch(url);
20
+ if (!response.ok) {
21
+ log.warn({ url: url.slice(0, 80), fileName, status: response.status }, "[media] downloadTeamsFile: HTTP error");
22
+ return null;
23
+ }
24
+ const contentLength = response.headers.get("content-length");
25
+ if (contentLength) {
26
+ const size = parseInt(contentLength, 10);
27
+ if (size > MAX_FILE_SIZE) {
28
+ throw new Error(`File too large: ${size} bytes (max ${MAX_FILE_SIZE})`);
29
+ }
30
+ }
31
+ const arrayBuffer = await response.arrayBuffer();
32
+ const buffer = Buffer.from(arrayBuffer);
33
+ if (buffer.length > MAX_FILE_SIZE) {
34
+ throw new Error(`File too large: ${buffer.length} bytes (max ${MAX_FILE_SIZE})`);
35
+ }
36
+ return buffer;
37
+ }
38
+ catch (err) {
39
+ if (err instanceof Error && err.message.startsWith("File too large")) {
40
+ throw err;
41
+ }
42
+ log.warn({ err, fileName }, "[media] downloadTeamsFile: fetch failed (non-fatal)");
43
+ return null;
44
+ }
45
+ }
46
+ export function isAttachmentTooLarge(size) {
47
+ return size > MAX_FILE_SIZE;
48
+ }
49
+ /**
50
+ * Upload a file to OneDrive via Graph API and return a sharing URL.
51
+ * Returns null if Graph client is not configured or upload fails.
52
+ */
53
+ export async function uploadFileViaGraph(graphClient, sessionId, filePath, fileName, contentType) {
54
+ if (!graphClient) {
55
+ log.debug("[media] No Graph client configured, skipping file upload");
56
+ return null;
57
+ }
58
+ try {
59
+ const content = await fs.promises.readFile(filePath);
60
+ return await graphClient.uploadFile(sessionId, fileName, content, contentType);
61
+ }
62
+ catch (err) {
63
+ log.error({ err, sessionId, fileName }, "[media] Graph upload failed");
64
+ return null;
65
+ }
66
+ }
67
+ /**
68
+ * Build an Adaptive Card for a file attachment.
69
+ *
70
+ * When a shareUrl is available (from Graph API upload), includes a download button.
71
+ * Otherwise shows file info with a note that Graph API is required.
72
+ *
73
+ * Uses Adaptive Card v1.2 for maximum mobile compatibility.
74
+ */
75
+ export function buildFileAttachmentCard(fileName, size, contentType, shareUrl) {
76
+ const sizeStr = size >= 1024 * 1024
77
+ ? `${(size / 1024 / 1024).toFixed(1)} MB`
78
+ : `${(size / 1024).toFixed(1)} KB`;
79
+ const body = [
80
+ { type: "TextBlock", text: `📎 **${fileName}**`, weight: "Bolder", wrap: true },
81
+ {
82
+ type: "ColumnSet",
83
+ columns: [
84
+ {
85
+ type: "Column",
86
+ width: "auto",
87
+ items: [{ type: "TextBlock", text: `Size: ${sizeStr}`, size: "Small", isSubtle: true }],
88
+ },
89
+ {
90
+ type: "Column",
91
+ width: "auto",
92
+ items: [{ type: "TextBlock", text: `Type: ${contentType}`, size: "Small", isSubtle: true }],
93
+ },
94
+ ],
95
+ },
96
+ ];
97
+ if (shareUrl) {
98
+ return {
99
+ type: "AdaptiveCard",
100
+ version: "1.2",
101
+ body,
102
+ actions: [
103
+ {
104
+ type: "Action.OpenUrl",
105
+ title: "Download",
106
+ url: shareUrl,
107
+ },
108
+ ],
109
+ };
110
+ }
111
+ body.push({
112
+ type: "TextBlock",
113
+ text: "_File generated by agent. Configure Graph API permissions for direct download links._",
114
+ size: "Small",
115
+ isSubtle: true,
116
+ wrap: true,
117
+ });
118
+ return { type: "AdaptiveCard", version: "1.2", body };
119
+ }
120
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { TurnContext } from "@microsoft/agents-hosting";
2
+ import type { PermissionRequest, NotificationMessage, Session } from "@openacp/plugin-sdk";
3
+ export declare class PermissionHandler {
4
+ private getSession;
5
+ private sendNotification;
6
+ private pending;
7
+ private pendingTimestamps;
8
+ private _evictionTimer;
9
+ constructor(getSession: (sessionId: string) => Session | undefined, sendNotification: (notification: NotificationMessage) => Promise<void>);
10
+ dispose(): void;
11
+ private evictStale;
12
+ sendPermissionRequest(session: Session, request: PermissionRequest, context: TurnContext): Promise<void>;
13
+ handleCardAction(context: TurnContext, verb: string, sessionId: string, callbackKey: string, requestId: string): Promise<boolean>;
14
+ }
15
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAmC3F,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IAN1B,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,cAAc,CAA6C;gBAGzD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,EACtD,gBAAgB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC;IAOhF,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,UAAU;IAcZ,qBAAqB,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IA4FV,gBAAgB,CACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;CA8EpB"}