teams-api 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/actions/definitions.d.ts.map +1 -1
  2. package/dist/actions/definitions.js +2 -0
  3. package/dist/actions/definitions.js.map +1 -1
  4. package/dist/actions/file-actions.d.ts +8 -0
  5. package/dist/actions/file-actions.d.ts.map +1 -0
  6. package/dist/actions/file-actions.js +124 -0
  7. package/dist/actions/file-actions.js.map +1 -0
  8. package/dist/actions/formatters.d.ts +1 -1
  9. package/dist/actions/formatters.d.ts.map +1 -1
  10. package/dist/actions/message-actions.d.ts.map +1 -1
  11. package/dist/actions/message-actions.js +143 -5
  12. package/dist/actions/message-actions.js.map +1 -1
  13. package/dist/api/attachments.d.ts +106 -0
  14. package/dist/api/attachments.d.ts.map +1 -0
  15. package/dist/api/attachments.js +341 -0
  16. package/dist/api/attachments.js.map +1 -0
  17. package/dist/api/chat-service.d.ts +1 -1
  18. package/dist/api/chat-service.d.ts.map +1 -1
  19. package/dist/api/chat-service.js +8 -1
  20. package/dist/api/chat-service.js.map +1 -1
  21. package/dist/auth/auto-login.d.ts.map +1 -1
  22. package/dist/auth/auto-login.js +4 -1
  23. package/dist/auth/auto-login.js.map +1 -1
  24. package/dist/auth/interactive.d.ts.map +1 -1
  25. package/dist/auth/interactive.js +3 -1
  26. package/dist/auth/interactive.js.map +1 -1
  27. package/dist/auth/token-capture.d.ts +3 -0
  28. package/dist/auth/token-capture.d.ts.map +1 -1
  29. package/dist/auth/token-capture.js +67 -0
  30. package/dist/auth/token-capture.js.map +1 -1
  31. package/dist/cli.js +16 -3
  32. package/dist/cli.js.map +1 -1
  33. package/dist/mcp-server.js +9 -0
  34. package/dist/mcp-server.js.map +1 -1
  35. package/dist/teams-client.d.ts +78 -4
  36. package/dist/teams-client.d.ts.map +1 -1
  37. package/dist/teams-client.js +153 -8
  38. package/dist/teams-client.js.map +1 -1
  39. package/dist/token-store.d.ts.map +1 -1
  40. package/dist/token-store.js +6 -0
  41. package/dist/token-store.js.map +1 -1
  42. package/dist/types.d.ts +75 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
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"}
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;AAuCxD,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,gBAAgB,EAAwC,CAAC"}
@@ -12,6 +12,7 @@ const conversation_actions_js_1 = require("./conversation-actions.js");
12
12
  const message_actions_js_1 = require("./message-actions.js");
13
13
  const search_actions_js_1 = require("./search-actions.js");
14
14
  const utility_actions_js_1 = require("./utility-actions.js");
15
+ const file_actions_js_1 = require("./file-actions.js");
15
16
  // ── Registry ─────────────────────────────────────────────────────────
16
17
  /**
17
18
  * Map-based action registry keyed by action name.
@@ -31,6 +32,7 @@ const actionRegistry = new Map([
31
32
  ["get-members", utility_actions_js_1.getMembers],
32
33
  ["whoami", utility_actions_js_1.whoami],
33
34
  ["get-transcript", utility_actions_js_1.getTranscript],
35
+ ["download-file", file_actions_js_1.downloadFileAction],
34
36
  ]);
35
37
  /** All registered actions, derived from the registry map. */
36
38
  exports.actions = Array.from(actionRegistry.values());
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/actions/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uEAImC;AACnC,6DAK8B;AAC9B,2DAAwE;AACxE,6DAAyE;AAEzE,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAA2B;IACvD,CAAC,oBAAoB,EAAE,2CAAiB,CAAC;IACzC,CAAC,mBAAmB,EAAE,0CAAgB,CAAC;IACvC,CAAC,iBAAiB,EAAE,sCAAY,CAAC;IACjC,CAAC,aAAa,EAAE,oCAAgB,CAAC;IACjC,CAAC,YAAY,EAAE,mCAAe,CAAC;IAC/B,CAAC,cAAc,EAAE,gCAAW,CAAC;IAC7B,CAAC,cAAc,EAAE,gCAAW,CAAC;IAC7B,CAAC,cAAc,EAAE,sCAAiB,CAAC;IACnC,CAAC,gBAAgB,EAAE,wCAAmB,CAAC;IACvC,CAAC,aAAa,EAAE,+BAAU,CAAC;IAC3B,CAAC,QAAQ,EAAE,2BAAM,CAAC;IAClB,CAAC,gBAAgB,EAAE,kCAAa,CAAC;CAClC,CAAC,CAAC;AAEH,6DAA6D;AAChD,QAAA,OAAO,GAAuB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/actions/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uEAImC;AACnC,6DAK8B;AAC9B,2DAAwE;AACxE,6DAAyE;AACzE,uDAAuD;AAEvD,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAA2B;IACvD,CAAC,oBAAoB,EAAE,2CAAiB,CAAC;IACzC,CAAC,mBAAmB,EAAE,0CAAgB,CAAC;IACvC,CAAC,iBAAiB,EAAE,sCAAY,CAAC;IACjC,CAAC,aAAa,EAAE,oCAAgB,CAAC;IACjC,CAAC,YAAY,EAAE,mCAAe,CAAC;IAC/B,CAAC,cAAc,EAAE,gCAAW,CAAC;IAC7B,CAAC,cAAc,EAAE,gCAAW,CAAC;IAC7B,CAAC,cAAc,EAAE,sCAAiB,CAAC;IACnC,CAAC,gBAAgB,EAAE,wCAAmB,CAAC;IACvC,CAAC,aAAa,EAAE,+BAAU,CAAC;IAC3B,CAAC,QAAQ,EAAE,2BAAM,CAAC;IAClB,CAAC,gBAAgB,EAAE,kCAAa,CAAC;IACjC,CAAC,eAAe,EAAE,oCAAkB,CAAC;CACtC,CAAC,CAAC;AAEH,6DAA6D;AAChD,QAAA,OAAO,GAAuB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * File download action definitions.
3
+ *
4
+ * Actions: download-file.
5
+ */
6
+ import { type ActionDefinition } from "./formatters.js";
7
+ export declare const downloadFileAction: ActionDefinition;
8
+ //# sourceMappingURL=file-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-actions.d.ts","sourceRoot":"","sources":["../../src/actions/file-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,gBAAgB,EAAc,MAAM,iBAAiB,CAAC;AAcpE,eAAO,MAAM,kBAAkB,EAAE,gBAqIhC,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * File download action definitions.
4
+ *
5
+ * Actions: download-file.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.downloadFileAction = void 0;
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = require("node:path");
11
+ const formatters_js_1 = require("./formatters.js");
12
+ const conversation_resolution_js_1 = require("./conversation-resolution.js");
13
+ exports.downloadFileAction = {
14
+ name: "download-file",
15
+ title: "Download File",
16
+ description: "Download file attachment(s) from a message. " +
17
+ "Identify the conversation by topic name (--chat), " +
18
+ "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
19
+ "Specify the message containing the file(s) via --message-id. " +
20
+ "Use --output-directory to save files to disk. " +
21
+ "Without --output-directory, returns file metadata only.",
22
+ parameters: [
23
+ ...conversation_resolution_js_1.conversationParameters,
24
+ {
25
+ name: "messageId",
26
+ type: "string",
27
+ description: "ID of the message containing file attachment(s)",
28
+ required: true,
29
+ },
30
+ {
31
+ name: "outputDirectory",
32
+ type: "string",
33
+ description: "Directory to save downloaded files to",
34
+ required: false,
35
+ },
36
+ ],
37
+ execute: async (client, parameters) => {
38
+ const { conversationId } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
39
+ const messageId = parameters.messageId;
40
+ const outputDirectory = parameters.outputDirectory;
41
+ // Fetch messages to find the target one
42
+ const messages = await client.getMessages(conversationId);
43
+ const message = messages.find((message) => message.id === messageId);
44
+ if (!message) {
45
+ throw new Error(`Message ${messageId} not found in conversation ${conversationId}`);
46
+ }
47
+ if (message.files.length === 0 && message.images.length === 0) {
48
+ throw new Error(`Message ${messageId} has no file attachments or images`);
49
+ }
50
+ const results = [];
51
+ // Download file attachments (SharePoint)
52
+ for (const file of message.files) {
53
+ const { data, contentType, size, fileName } = await client.downloadFile(file.fileUrl, file.itemId);
54
+ let savedTo = null;
55
+ if (outputDirectory) {
56
+ const outputPath = (0, node_path_1.resolve)((0, node_path_1.join)(outputDirectory, fileName));
57
+ (0, node_fs_1.writeFileSync)(outputPath, data);
58
+ savedTo = outputPath;
59
+ }
60
+ results.push({
61
+ fileName,
62
+ fileType: file.fileType,
63
+ size,
64
+ contentType,
65
+ savedTo,
66
+ });
67
+ }
68
+ // Download inline images (AMS)
69
+ for (const image of message.images) {
70
+ const { data, contentType, size } = await client.downloadImage(image.amsObjectId, true);
71
+ const fileName = `${image.amsObjectId}.jpg`;
72
+ let savedTo = null;
73
+ if (outputDirectory) {
74
+ const outputPath = (0, node_path_1.resolve)((0, node_path_1.join)(outputDirectory, fileName));
75
+ (0, node_fs_1.writeFileSync)(outputPath, data);
76
+ savedTo = outputPath;
77
+ }
78
+ results.push({
79
+ fileName,
80
+ fileType: "image",
81
+ size,
82
+ contentType,
83
+ savedTo,
84
+ });
85
+ }
86
+ return results;
87
+ },
88
+ formatResult: (result) => {
89
+ const downloads = result;
90
+ const lines = [`Downloaded ${downloads.length} file(s):`];
91
+ for (const download of downloads) {
92
+ lines.push(` ${download.fileName} (${download.fileType}, ${download.size} bytes)`);
93
+ if (download.savedTo) {
94
+ lines.push(` Saved to: ${download.savedTo}`);
95
+ }
96
+ }
97
+ return lines.join("\n");
98
+ },
99
+ formatMarkdown: (result) => {
100
+ const downloads = result;
101
+ const lines = [`## Downloaded ${downloads.length} file(s)`, ""];
102
+ for (const download of downloads) {
103
+ lines.push(`- **${download.fileName}** (${download.fileType}, ${download.size} bytes)`);
104
+ if (download.savedTo) {
105
+ lines.push(` - Saved to: \`${download.savedTo}\``);
106
+ }
107
+ }
108
+ return lines.join("\n");
109
+ },
110
+ formatToon: (result) => {
111
+ const downloads = result;
112
+ const lines = [(0, formatters_js_1.toonHeader)("📥", `${downloads.length} File(s) Downloaded`)];
113
+ for (const download of downloads) {
114
+ lines.push("");
115
+ lines.push(` 📄 ${download.fileName}`);
116
+ lines.push(` ${download.fileType} · ${download.size} bytes`);
117
+ if (download.savedTo) {
118
+ lines.push(` 💾 ${download.savedTo}`);
119
+ }
120
+ }
121
+ return lines.join("\n");
122
+ },
123
+ };
124
+ //# sourceMappingURL=file-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-actions.js","sourceRoot":"","sources":["../../src/actions/file-actions.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface ActionParameter {
9
9
  /** Parameter name in camelCase (CLI flags auto-converted to kebab-case). */
10
10
  name: string;
11
11
  /** Parameter type. Determines CLI flag syntax and MCP Zod schema. */
12
- type: "string" | "number" | "boolean";
12
+ type: "string" | "number" | "boolean" | "string[]";
13
13
  /** Description for CLI help, MCP tool description, and documentation. */
14
14
  description: string;
15
15
  /** Whether the parameter must be provided. */
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/actions/formatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK5D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,gDAAgD;IAChD,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,oBAAoB,EAAE,WAAW,EAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,wEAAwE;IACxE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IAC1C,iCAAiC;IACjC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IAC5C,kDAAkD;IAClD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,cAAc,CAAC;AAI3D,8DAA8D;AAC9D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,MAAM,GAAE,YAAqB,GAC5B,MAAM,CAWR;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAWA;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1E;AAID,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EAAE,GACzB,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBnE"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/actions/formatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK5D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACnD,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,gDAAgD;IAChD,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,oBAAoB,EAAE,WAAW,EAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,wEAAwE;IACxE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IAC1C,iCAAiC;IACjC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IAC5C,kDAAkD;IAClD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,cAAc,CAAC;AAI3D,8DAA8D;AAC9D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,MAAM,GAAE,YAAqB,GAC5B,MAAM,CAWR;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAWA;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1E;AAID,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EAAE,GACzB,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-actions.d.ts","sourceRoot":"","sources":["../../src/actions/message-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,WAAW,EAAE,gBAwJzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAgFzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAyF/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBA4DjC,CAAC"}
1
+ {"version":3,"file":"message-actions.d.ts","sourceRoot":"","sources":["../../src/actions/message-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AA0GzB,eAAO,MAAM,WAAW,EAAE,gBAoKzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAiIzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAyF/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBA4DjC,CAAC"}
@@ -6,9 +6,100 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.deleteMessageAction = exports.editMessageAction = exports.sendMessage = exports.getMessages = void 0;
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = require("node:path");
9
11
  const constants_js_1 = require("../constants.js");
10
12
  const formatters_js_1 = require("./formatters.js");
11
13
  const conversation_resolution_js_1 = require("./conversation-resolution.js");
14
+ /** Map file extension to MIME content type. */
15
+ function contentTypeFromExtension(filePath) {
16
+ const extension = (0, node_path_1.extname)(filePath).toLowerCase();
17
+ const mimeTypes = {
18
+ ".png": "image/png",
19
+ ".jpg": "image/jpeg",
20
+ ".jpeg": "image/jpeg",
21
+ ".gif": "image/gif",
22
+ ".webp": "image/webp",
23
+ ".bmp": "image/bmp",
24
+ };
25
+ return mimeTypes[extension] ?? "image/png";
26
+ }
27
+ /**
28
+ * Build MessageContentPart[] from content text, image file paths, and file paths.
29
+ *
30
+ * If the content contains `[image]` placeholders, images are interleaved
31
+ * at those positions. Otherwise, the text comes first followed by all images.
32
+ * File attachments are always appended at the end.
33
+ */
34
+ function buildContentParts(content, imagePaths, filePaths = []) {
35
+ const parts = [];
36
+ if (content.includes("[image]") && imagePaths.length > 0) {
37
+ const textSegments = content.split("[image]");
38
+ let imageIndex = 0;
39
+ for (let i = 0; i < textSegments.length; i++) {
40
+ const segment = textSegments[i].trim();
41
+ if (segment) {
42
+ parts.push({ type: "text", text: segment });
43
+ }
44
+ if (i < textSegments.length - 1 && imageIndex < imagePaths.length) {
45
+ const filePath = imagePaths[imageIndex];
46
+ parts.push({
47
+ type: "image",
48
+ data: (0, node_fs_1.readFileSync)(filePath),
49
+ fileName: (0, node_path_1.basename)(filePath),
50
+ contentType: contentTypeFromExtension(filePath),
51
+ });
52
+ imageIndex++;
53
+ }
54
+ }
55
+ // Append remaining images not mapped to placeholders
56
+ for (; imageIndex < imagePaths.length; imageIndex++) {
57
+ const filePath = imagePaths[imageIndex];
58
+ parts.push({
59
+ type: "image",
60
+ data: (0, node_fs_1.readFileSync)(filePath),
61
+ fileName: (0, node_path_1.basename)(filePath),
62
+ contentType: contentTypeFromExtension(filePath),
63
+ });
64
+ }
65
+ }
66
+ else {
67
+ if (content) {
68
+ parts.push({ type: "text", text: content });
69
+ }
70
+ for (const filePath of imagePaths) {
71
+ parts.push({
72
+ type: "image",
73
+ data: (0, node_fs_1.readFileSync)(filePath),
74
+ fileName: (0, node_path_1.basename)(filePath),
75
+ contentType: contentTypeFromExtension(filePath),
76
+ });
77
+ }
78
+ }
79
+ // Append file attachments
80
+ for (const filePath of filePaths) {
81
+ parts.push({
82
+ type: "file",
83
+ data: (0, node_fs_1.readFileSync)(filePath),
84
+ fileName: (0, node_path_1.basename)(filePath),
85
+ });
86
+ }
87
+ return parts;
88
+ }
89
+ /** Build a concise attachment summary string for a message. */
90
+ function formatAttachmentSummary(message) {
91
+ const parts = [];
92
+ if (message.images.length > 0) {
93
+ parts.push(message.images.length === 1
94
+ ? "1 image"
95
+ : `${message.images.length} images`);
96
+ }
97
+ if (message.files.length > 0) {
98
+ const fileNames = message.files.map((file) => file.fileName);
99
+ parts.push(fileNames.join(", "));
100
+ }
101
+ return parts.length > 0 ? `[📎 ${parts.join("; ")}]` : "";
102
+ }
12
103
  exports.getMessages = {
13
104
  name: "get-messages",
14
105
  title: "Get Messages",
@@ -79,6 +170,10 @@ exports.getMessages = {
79
170
  if (message.followers.length > 0) {
80
171
  lines.push(` [${message.followers.length} follower(s)]`);
81
172
  }
173
+ const attachmentSummary = formatAttachmentSummary(message);
174
+ if (attachmentSummary) {
175
+ lines.push(` ${attachmentSummary}`);
176
+ }
82
177
  }
83
178
  return lines.join("\n");
84
179
  },
@@ -106,6 +201,10 @@ exports.getMessages = {
106
201
  if (message.followers.length > 0) {
107
202
  lines.push(`*${message.followers.length} follower(s)*`, "");
108
203
  }
204
+ const attachmentSummary = formatAttachmentSummary(message);
205
+ if (attachmentSummary) {
206
+ lines.push(attachmentSummary, "");
207
+ }
109
208
  }
110
209
  return lines.join("\n");
111
210
  },
@@ -134,6 +233,10 @@ exports.getMessages = {
134
233
  if (message.followers.length > 0) {
135
234
  lines.push(` 👥 ${message.followers.length} follower(s)`);
136
235
  }
236
+ const attachmentSummary = formatAttachmentSummary(message);
237
+ if (attachmentSummary) {
238
+ lines.push(` ${attachmentSummary}`);
239
+ }
137
240
  }
138
241
  return lines.join("\n");
139
242
  },
@@ -145,26 +248,61 @@ exports.sendMessage = {
145
248
  "Identify the conversation by topic name (--chat), " +
146
249
  "person name for 1:1 chats (--to), or direct ID (--conversation-id). " +
147
250
  "At least one identifier is required. " +
148
- "Content is interpreted as Markdown by default and converted to rich HTML.",
251
+ "Content is interpreted as Markdown by default and converted to rich HTML. " +
252
+ "To send images, provide file paths via --image. " +
253
+ "To send file attachments (documents, videos, etc.), provide file paths via --file. " +
254
+ "Use [image] placeholders in --content to interleave text and images " +
255
+ "(e.g. --content 'Before [image] after [image] done' --image a.png --image b.png). " +
256
+ "Without placeholders, text appears first followed by all images.",
149
257
  parameters: [
150
258
  ...conversation_resolution_js_1.conversationParameters,
151
259
  {
152
260
  name: "content",
153
261
  type: "string",
154
- description: "Message content to send",
155
- required: true,
262
+ description: "Message content to send. " +
263
+ "Use [image] placeholders to position images within the text.",
264
+ required: false,
265
+ },
266
+ {
267
+ name: "image",
268
+ type: "string[]",
269
+ description: "Image file path(s) to attach inline (repeatable)",
270
+ required: false,
271
+ },
272
+ {
273
+ name: "file",
274
+ type: "string[]",
275
+ description: "File path(s) to attach as SharePoint-hosted file attachments (repeatable). " +
276
+ "Supports any file type (documents, videos, archives, etc.).",
277
+ required: false,
156
278
  },
157
279
  {
158
280
  name: "messageFormat",
159
281
  type: "string",
160
- description: 'Content format: "markdown" (default, converted to HTML), "html" (raw HTML), or "text" (plain text)',
282
+ description: 'Content format: "markdown" (default, converted to HTML), "html" (raw HTML), or "text" (plain text). ' +
283
+ "Ignored when images or files are provided (always uses HTML).",
161
284
  required: false,
162
285
  default: "markdown",
163
286
  },
164
287
  ],
165
288
  execute: async (client, parameters) => {
166
289
  const { conversationId, label } = await (0, conversation_resolution_js_1.resolveConversationId)(client, parameters);
167
- const content = parameters.content;
290
+ const content = parameters.content ?? "";
291
+ const imagePaths = parameters.image ?? [];
292
+ const filePaths = parameters.file ?? [];
293
+ if (!content && imagePaths.length === 0 && filePaths.length === 0) {
294
+ throw new Error("At least one of --content, --image, or --file must be provided");
295
+ }
296
+ if (filePaths.length > 0) {
297
+ const contentParts = buildContentParts(content, imagePaths, filePaths);
298
+ const result = await client.sendMessageWithFiles(conversationId, contentParts);
299
+ return { ...result, conversation: label };
300
+ }
301
+ if (imagePaths.length > 0) {
302
+ const contentParts = buildContentParts(content, imagePaths);
303
+ const result = await client.sendMessageWithImages(conversationId, contentParts);
304
+ return { ...result, conversation: label };
305
+ }
168
306
  const messageFormat = parameters.messageFormat ?? "markdown";
169
307
  const result = await client.sendMessage(conversationId, content, messageFormat);
170
308
  return { ...result, conversation: label };
@@ -1 +1 @@
1
- {"version":3,"file":"message-actions.js","sourceRoot":"","sources":["../../src/actions/message-actions.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAAoD;AACpD,mDAKyB;AACzB,6EAGsC;AAEzB,QAAA,WAAW,GAAqB;IAC3C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,oCAAoC;QACpC,oDAAoD;QACpD,sEAAsE;QACtE,uCAAuC;QACvC,sGAAsG;IACxG,UAAU,EAAE;QACV,GAAG,mDAAsB;QACzB;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,wCAAwC;gBACxC,gDAAgD;YAClD,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,oEAAoE;YACtE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;SACd;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sEAAsE;YACxE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,cAAc;SACxB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,kDAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,KAA2B,CAAC;QACrD,MAAM,QAAQ,GAAI,UAAU,CAAC,QAAgC,IAAI,IAAI,CAAC;QACtE,MAAM,UAAU,GAAG,UAAU,CAAC,UAEjB,CAAC;QAEd,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE;YACtD,KAAK;YACL,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,OAAO,EAAE,EAAE,CACV,IAAA,gCAAiB,EAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAI,UAAU,CAAC,KAA4B,IAAI,cAAc,CAAC;QACzE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,MAAmB,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,UAAU,CAAC;YACvD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrC,MAAM,YAAY,GAChB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CACR,sBAAsB,YAAY,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC7D,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,eAAe,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,MAAmB,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,gBAAgB,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,UAAU,CAAC;YACvD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1C,cAAc,GAAG,MAAM,CAAC;YAC1B,CAAC;YAED,IAAI,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrC,MAAM,YAAY,GAChB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,QAAQ,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAErB,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,MAAmB,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,IAAA,0BAAU,EAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAChE,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,UAAU,CAAC;YACvD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;gBACzC,cAAc,GAAG,MAAM,CAAC;YAC1B,CAAC;YAED,IAAI,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrC,MAAM,YAAY,GAChB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACzD,KAAK,CAAC,IAAI,CACR,wBAAwB,YAAY,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC/D,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAEW,QAAA,WAAW,GAAqB;IAC3C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,oCAAoC;QACpC,oDAAoD;QACpD,sEAAsE;QACtE,uCAAuC;QACvC,2EAA2E;IAC7E,UAAU,EAAE;QACV,GAAG,mDAAsB;QACzB;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,oGAAoG;YACtG,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,UAAU;SACpB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QACpC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,kDAAqB,EAC3D,MAAM,EACN,UAAU,CACX,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAiB,CAAC;QAC7C,MAAM,aAAa,GAChB,UAAU,CAAC,aAA2C,IAAI,UAAU,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,cAAc,EACd,OAAO,EACP,aAAa,CACd,CAAC;QACF,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAIhD,CAAC;QACF,OAAO;YACL,oBAAoB,YAAY,GAAG;YACnC,iBAAiB,SAAS,EAAE;YAC5B,mBAAmB,WAAW,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAIhD,CAAC;QACF,OAAO;YACL,iBAAiB;YACjB,EAAE;YACF,aAAa,YAAY,EAAE;YAC3B,qBAAqB,SAAS,EAAE;YAChC,uBAAuB,WAAW,EAAE;SACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACrB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAIhD,CAAC;QACF,OAAO;YACL,IAAA,0BAAU,EAAC,GAAG,EAAE,eAAe,CAAC;YAChC,aAAa,YAAY,GAAG;YAC5B,QAAQ,SAAS,EAAE;YACnB,OAAO,WAAW,EAAE;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAqB;IACjD,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,8CAA8C;QAC9C,oDAAoD;QACpD,sEAAsE;QACtE,uCAAuC;QACvC,qDAAqD;QACrD,2EAA2E;IAC7E,UAAU,EAAE;QACV,GAAG,mDAAsB;QACzB;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,oGAAoG;YACtG,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,UAAU;SACpB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QACpC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,kDAAqB,EAC3D,MAAM,EACN,UAAU,CACX,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAmB,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAiB,CAAC;QAC7C,MAAM,aAAa,GAChB,UAAU,CAAC,aAA2C,IAAI,UAAU,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,cAAc,EACd,SAAS,EACT,OAAO,EACP,aAAa,CACd,CAAC;QACF,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAI7C,CAAC;QACF,OAAO;YACL,sBAAsB,YAAY,GAAG;YACrC,iBAAiB,SAAS,EAAE;YAC5B,gBAAgB,QAAQ,EAAE;SAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAI7C,CAAC;QACF,OAAO;YACL,mBAAmB;YACnB,EAAE;YACF,aAAa,YAAY,EAAE;YAC3B,qBAAqB,SAAS,EAAE;YAChC,oBAAoB,QAAQ,EAAE;SAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACrB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAI7C,CAAC;QACF,OAAO;YACL,IAAA,0BAAU,EAAC,IAAI,EAAE,iBAAiB,CAAC;YACnC,aAAa,YAAY,GAAG;YAC5B,QAAQ,SAAS,EAAE;YACnB,OAAO,QAAQ,EAAE;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAqB;IACnD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,wCAAwC;QACxC,oDAAoD;QACpD,sEAAsE;QACtE,uCAAuC;QACvC,sDAAsD;IACxD,UAAU,EAAE;QACV,GAAG,mDAAsB;QACzB;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QACpC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,kDAAqB,EAC3D,MAAM,EACN,UAAU,CACX,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAmB,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrE,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAGnC,CAAC;QACF,OAAO;YACL,yBAAyB,YAAY,GAAG;YACxC,iBAAiB,SAAS,EAAE;SAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAGnC,CAAC;QACF,OAAO;YACL,oBAAoB;YACpB,EAAE;YACF,eAAe,YAAY,EAAE;YAC7B,qBAAqB,SAAS,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;QACrB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAGnC,CAAC;QACF,OAAO;YACL,IAAA,0BAAU,EAAC,KAAK,EAAE,kBAAkB,CAAC;YACrC,eAAe,YAAY,GAAG;YAC9B,QAAQ,SAAS,EAAE;SACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"message-actions.js","sourceRoot":"","sources":["../../src/actions/message-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Attachment parsing and download utilities for Teams messages.
3
+ *
4
+ * Handles two types of attachments:
5
+ * - Inline images (AMS) — embedded as `<img>` tags in message HTML
6
+ * - File attachments (SharePoint) — referenced in `properties.files` JSON
7
+ */
8
+ import type { TeamsToken, ImageAttachment, FileAttachment } from "../types.js";
9
+ /**
10
+ * Extract inline image attachments from message HTML content.
11
+ *
12
+ * Parses `<img>` tags with `itemtype="http://schema.skype.com/AMSImage"` and
13
+ * extracts the AMS object ID, URL, and dimensions from the tag attributes.
14
+ */
15
+ export declare function parseInlineImages(content: string): ImageAttachment[];
16
+ /**
17
+ * Parse file attachments from the raw `properties.files` JSON string.
18
+ *
19
+ * File attachments are SharePoint-hosted documents, videos, and other files
20
+ * shared through Teams. They have a separate schema from inline images.
21
+ */
22
+ export declare function parseFileAttachments(rawFiles: unknown): FileAttachment[];
23
+ /**
24
+ * Fetch an image from the AMS (Async Media Service).
25
+ *
26
+ * Returns the raw binary data and content type. Uses the skype token
27
+ * for authentication (same pattern as transcript fetching).
28
+ *
29
+ * @param view - AMS view name: "imgo" (compressed), "imgpsh_fullsize_anim" (full-size)
30
+ */
31
+ export declare function fetchAmsImage(token: TeamsToken, amsObjectId: string, view?: "imgo" | "imgpsh_fullsize_anim"): Promise<{
32
+ data: Buffer;
33
+ contentType: string;
34
+ size: number;
35
+ }>;
36
+ /**
37
+ * Upload an image to the AMS (Async Media Service).
38
+ *
39
+ * Creates a new AMS object with permissions for the target conversation,
40
+ * uploads the image data, and returns the object ID that can be referenced
41
+ * in message HTML via `<img>` tags.
42
+ *
43
+ * Requires the AMS/IC3 Bearer token (audience: ic3.teams.office.com), not the
44
+ * middle-tier bearer or skype token.
45
+ */
46
+ export declare function uploadAmsImage(token: TeamsToken, imageData: Buffer, fileName: string, conversationId: string): Promise<{
47
+ amsObjectId: string;
48
+ }>;
49
+ /** Response from SharePoint file upload. */
50
+ export interface SharePointUploadResult {
51
+ /** SharePoint item unique ID. */
52
+ itemId: string;
53
+ /** SharePoint site ID. */
54
+ siteId: string;
55
+ /** File name (may differ from input if conflict-renamed). */
56
+ fileName: string;
57
+ /** File extension without dot. */
58
+ fileType: string;
59
+ /** Direct SharePoint file URL. */
60
+ fileUrl: string;
61
+ /** WebDAV URL for the file. */
62
+ webDavUrl: string;
63
+ /** SharePoint site base URL. */
64
+ siteBaseUrl: string;
65
+ /** SharePoint personal site path segment (e.g. "/personal/user_domain_com/"). */
66
+ personalPath: string;
67
+ }
68
+ /**
69
+ * Upload a file to SharePoint OneDrive for Business (Teams Chat Files folder).
70
+ *
71
+ * Files shared in Teams conversations are stored in the sender's OneDrive
72
+ * under "Microsoft Teams Chat Files". This function uploads a file there
73
+ * using the SharePoint REST API, matching the same flow the Teams web client uses.
74
+ *
75
+ * @param email - The sender's corporate email (used to derive the personal site path)
76
+ */
77
+ export declare function uploadSharePointFile(token: TeamsToken, fileData: Buffer, fileName: string, email: string): Promise<SharePointUploadResult>;
78
+ /**
79
+ * Build the `properties.files` JSON string for a message with file attachments.
80
+ *
81
+ * This JSON is included in the message body when sending messages with
82
+ * SharePoint-hosted file attachments.
83
+ */
84
+ export declare function buildFilesPropertyJson(uploadResults: SharePointUploadResult[]): string;
85
+ /**
86
+ * Build an HTML `<img>` tag for an AMS-hosted image.
87
+ *
88
+ * This produces the same markup that the Teams web client generates.
89
+ */
90
+ export declare function buildAmsImageTag(amsObjectId: string, width?: number, height?: number): string;
91
+ /**
92
+ * Download a file attachment from SharePoint.
93
+ *
94
+ * File attachments in Teams are hosted on SharePoint (OneDrive for Business).
95
+ * This function downloads the file content using the SharePoint REST API
96
+ * and the captured SharePoint bearer token.
97
+ *
98
+ * @param fileUrl - Direct SharePoint URL from `FileAttachment.fileUrl`
99
+ */
100
+ export declare function fetchSharePointFile(token: TeamsToken, fileUrl: string, itemId: string): Promise<{
101
+ data: Buffer;
102
+ contentType: string;
103
+ size: number;
104
+ fileName: string;
105
+ }>;
106
+ //# sourceMappingURL=attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/api/attachments.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW/E;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAuCpE;AAiBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,EAAE,CA6BxE;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAM,GAAG,sBAA+B,GAC7C,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB9D;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAiElC;AAED,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;CACtB;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CA6DjC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,sBAAsB,EAAE,GACtC,MAAM,CAiCR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA+CD"}