@microsoft/agents-hosting-extensions-msteams 1.7.2

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 (143) hide show
  1. package/README.md +147 -0
  2. package/dist/package.json +46 -0
  3. package/dist/src/activity-extensions/index.d.ts +1 -0
  4. package/dist/src/activity-extensions/index.js +8 -0
  5. package/dist/src/activity-extensions/index.js.map +1 -0
  6. package/dist/src/activity-extensions/teamsChannelData.d.ts +12 -0
  7. package/dist/src/activity-extensions/teamsChannelData.js +29 -0
  8. package/dist/src/activity-extensions/teamsChannelData.js.map +1 -0
  9. package/dist/src/app/index.d.ts +1 -0
  10. package/dist/src/app/index.js +20 -0
  11. package/dist/src/app/index.js.map +1 -0
  12. package/dist/src/app/teamsAppExtensions.d.ts +145 -0
  13. package/dist/src/app/teamsAppExtensions.js +201 -0
  14. package/dist/src/app/teamsAppExtensions.js.map +1 -0
  15. package/dist/src/channels/index.d.ts +1 -0
  16. package/dist/src/channels/index.js +20 -0
  17. package/dist/src/channels/index.js.map +1 -0
  18. package/dist/src/channels/teamsChannel.d.ts +100 -0
  19. package/dist/src/channels/teamsChannel.js +210 -0
  20. package/dist/src/channels/teamsChannel.js.map +1 -0
  21. package/dist/src/config/config.d.ts +37 -0
  22. package/dist/src/config/config.js +71 -0
  23. package/dist/src/config/config.js.map +1 -0
  24. package/dist/src/config/index.d.ts +1 -0
  25. package/dist/src/config/index.js +20 -0
  26. package/dist/src/config/index.js.map +1 -0
  27. package/dist/src/errorHelper.d.ts +19 -0
  28. package/dist/src/errorHelper.js +96 -0
  29. package/dist/src/errorHelper.js.map +1 -0
  30. package/dist/src/fileConsents/fileConsent.d.ts +37 -0
  31. package/dist/src/fileConsents/fileConsent.js +79 -0
  32. package/dist/src/fileConsents/fileConsent.js.map +1 -0
  33. package/dist/src/fileConsents/index.d.ts +1 -0
  34. package/dist/src/fileConsents/index.js +20 -0
  35. package/dist/src/fileConsents/index.js.map +1 -0
  36. package/dist/src/graphClientFactory.d.ts +10 -0
  37. package/dist/src/graphClientFactory.js +98 -0
  38. package/dist/src/graphClientFactory.js.map +1 -0
  39. package/dist/src/index.d.ts +20 -0
  40. package/dist/src/index.js +39 -0
  41. package/dist/src/index.js.map +1 -0
  42. package/dist/src/meetings/index.d.ts +1 -0
  43. package/dist/src/meetings/index.js +20 -0
  44. package/dist/src/meetings/index.js.map +1 -0
  45. package/dist/src/meetings/meeting.d.ts +84 -0
  46. package/dist/src/meetings/meeting.js +107 -0
  47. package/dist/src/meetings/meeting.js.map +1 -0
  48. package/dist/src/messageExtensions/index.d.ts +2 -0
  49. package/dist/src/messageExtensions/index.js +24 -0
  50. package/dist/src/messageExtensions/index.js.map +1 -0
  51. package/dist/src/messageExtensions/messageExtension.d.ts +133 -0
  52. package/dist/src/messageExtensions/messageExtension.js +326 -0
  53. package/dist/src/messageExtensions/messageExtension.js.map +1 -0
  54. package/dist/src/messageExtensions/messagingExtensionQuery.d.ts +87 -0
  55. package/dist/src/messageExtensions/messagingExtensionQuery.js +35 -0
  56. package/dist/src/messageExtensions/messagingExtensionQuery.js.map +1 -0
  57. package/dist/src/messages/index.d.ts +1 -0
  58. package/dist/src/messages/index.js +20 -0
  59. package/dist/src/messages/index.js.map +1 -0
  60. package/dist/src/messages/message.d.ts +67 -0
  61. package/dist/src/messages/message.js +129 -0
  62. package/dist/src/messages/message.js.map +1 -0
  63. package/dist/src/models/index.d.ts +1 -0
  64. package/dist/src/models/index.js +20 -0
  65. package/dist/src/models/index.js.map +1 -0
  66. package/dist/src/models/readReceiptInfo.d.ts +27 -0
  67. package/dist/src/models/readReceiptInfo.js +44 -0
  68. package/dist/src/models/readReceiptInfo.js.map +1 -0
  69. package/dist/src/taskModules/index.d.ts +1 -0
  70. package/dist/src/taskModules/index.js +20 -0
  71. package/dist/src/taskModules/index.js.map +1 -0
  72. package/dist/src/taskModules/taskModule.d.ts +42 -0
  73. package/dist/src/taskModules/taskModule.js +102 -0
  74. package/dist/src/taskModules/taskModule.js.map +1 -0
  75. package/dist/src/teams/index.d.ts +1 -0
  76. package/dist/src/teams/index.js +20 -0
  77. package/dist/src/teams/index.js.map +1 -0
  78. package/dist/src/teams/teamsTeam.d.ts +82 -0
  79. package/dist/src/teams/teamsTeam.js +172 -0
  80. package/dist/src/teams/teamsTeam.js.map +1 -0
  81. package/dist/src/teamsActivity.d.ts +15 -0
  82. package/dist/src/teamsActivity.js +5 -0
  83. package/dist/src/teamsActivity.js.map +1 -0
  84. package/dist/src/teamsActivityExtensions.d.ts +53 -0
  85. package/dist/src/teamsActivityExtensions.js +101 -0
  86. package/dist/src/teamsActivityExtensions.js.map +1 -0
  87. package/dist/src/teamsAgentExtension.d.ts +105 -0
  88. package/dist/src/teamsAgentExtension.js +178 -0
  89. package/dist/src/teamsAgentExtension.js.map +1 -0
  90. package/dist/src/teamsApiClientExtensions.d.ts +13 -0
  91. package/dist/src/teamsApiClientExtensions.js +41 -0
  92. package/dist/src/teamsApiClientExtensions.js.map +1 -0
  93. package/dist/src/teamsHeaderPropagation.d.ts +14 -0
  94. package/dist/src/teamsHeaderPropagation.js +35 -0
  95. package/dist/src/teamsHeaderPropagation.js.map +1 -0
  96. package/dist/src/teamsModelExtensions.d.ts +19 -0
  97. package/dist/src/teamsModelExtensions.js +38 -0
  98. package/dist/src/teamsModelExtensions.js.map +1 -0
  99. package/dist/src/teamsProactiveServiceEndpoints.d.ts +15 -0
  100. package/dist/src/teamsProactiveServiceEndpoints.js +21 -0
  101. package/dist/src/teamsProactiveServiceEndpoints.js.map +1 -0
  102. package/dist/src/teamsRouteHandler.d.ts +13 -0
  103. package/dist/src/teamsRouteHandler.js +18 -0
  104. package/dist/src/teamsRouteHandler.js.map +1 -0
  105. package/dist/src/teamsTurnContext.d.ts +64 -0
  106. package/dist/src/teamsTurnContext.js +113 -0
  107. package/dist/src/teamsTurnContext.js.map +1 -0
  108. package/package.json +46 -0
  109. package/src/activity-extensions/index.ts +4 -0
  110. package/src/activity-extensions/teamsChannelData.ts +30 -0
  111. package/src/app/index.ts +4 -0
  112. package/src/app/teamsAppExtensions.ts +369 -0
  113. package/src/channels/index.ts +4 -0
  114. package/src/channels/teamsChannel.ts +229 -0
  115. package/src/config/config.ts +79 -0
  116. package/src/config/index.ts +4 -0
  117. package/src/errorHelper.ts +104 -0
  118. package/src/fileConsents/fileConsent.ts +85 -0
  119. package/src/fileConsents/index.ts +4 -0
  120. package/src/graphClientFactory.ts +127 -0
  121. package/src/index.ts +23 -0
  122. package/src/meetings/index.ts +4 -0
  123. package/src/meetings/meeting.ts +146 -0
  124. package/src/messageExtensions/index.ts +5 -0
  125. package/src/messageExtensions/messageExtension.ts +370 -0
  126. package/src/messageExtensions/messagingExtensionQuery.ts +34 -0
  127. package/src/messages/index.ts +4 -0
  128. package/src/messages/message.ts +148 -0
  129. package/src/models/index.ts +4 -0
  130. package/src/models/readReceiptInfo.ts +50 -0
  131. package/src/taskModules/index.ts +4 -0
  132. package/src/taskModules/taskModule.ts +113 -0
  133. package/src/teams/index.ts +4 -0
  134. package/src/teams/teamsTeam.ts +189 -0
  135. package/src/teamsActivity.ts +19 -0
  136. package/src/teamsActivityExtensions.ts +99 -0
  137. package/src/teamsAgentExtension.ts +205 -0
  138. package/src/teamsApiClientExtensions.ts +47 -0
  139. package/src/teamsHeaderPropagation.ts +32 -0
  140. package/src/teamsModelExtensions.ts +42 -0
  141. package/src/teamsProactiveServiceEndpoints.ts +18 -0
  142. package/src/teamsRouteHandler.ts +22 -0
  143. package/src/teamsTurnContext.ts +125 -0
@@ -0,0 +1,67 @@
1
+ import { AgentApplication, TurnState } from '@microsoft/agents-hosting';
2
+ import type { O365ConnectorCardActionQuery } from '@microsoft/teams.api';
3
+ import { TeamsTurnContext } from '../teamsTurnContext';
4
+ import type { ReadReceiptInfo } from '../models/readReceiptInfo';
5
+ import { TeamsRouteHandler } from '../teamsRouteHandler';
6
+ type ExecuteActionRouteHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, query: O365ConnectorCardActionQuery) => Promise<void>;
7
+ type ReadReceiptHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, data: ReadReceiptInfo) => Promise<void>;
8
+ /**
9
+ * Registers handlers for Microsoft Teams message lifecycle events.
10
+ *
11
+ * @typeParam TState - The turn state type used by the agent application.
12
+ */
13
+ export declare class Message<TState extends TurnState = TurnState> {
14
+ private _app;
15
+ /**
16
+ * Creates a Teams message route helper.
17
+ *
18
+ * @param app - The agent application that receives the registered routes.
19
+ */
20
+ constructor(app: AgentApplication<TState>);
21
+ /**
22
+ * Registers a handler for Teams message edit events.
23
+ *
24
+ * @param handler - Handler invoked for matching message edit activities.
25
+ * @param rank - Optional route rank used for route ordering.
26
+ * @param authHandlers - Optional authorization handlers required by the route.
27
+ * @returns This message helper for chaining.
28
+ */
29
+ onMessageEdit(handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[]): this;
30
+ /**
31
+ * Registers a handler for Teams soft-delete message events.
32
+ *
33
+ * @param handler - Handler invoked for matching message delete activities.
34
+ * @param rank - Optional route rank used for route ordering.
35
+ * @param authHandlers - Optional authorization handlers required by the route.
36
+ * @returns This message helper for chaining.
37
+ */
38
+ onMessageDelete(handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[]): this;
39
+ /**
40
+ * Registers a handler for Teams message undelete events.
41
+ *
42
+ * @param handler - Handler invoked for matching message update activities.
43
+ * @param rank - Optional route rank used for route ordering.
44
+ * @param authHandlers - Optional authorization handlers required by the route.
45
+ * @returns This message helper for chaining.
46
+ */
47
+ onMessageUndelete(handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[]): this;
48
+ /**
49
+ * Registers a handler for Teams read receipt events.
50
+ *
51
+ * @param handler - Handler invoked with read receipt information.
52
+ * @param rank - Optional route rank used for route ordering.
53
+ * @param authHandlers - Optional authorization handlers required by the route.
54
+ * @returns This message helper for chaining.
55
+ */
56
+ onReadReceipt(handler: ReadReceiptHandler<TState>, rank?: number, authHandlers?: string[]): this;
57
+ /**
58
+ * Registers a handler for Office 365 connector card execute action invokes.
59
+ *
60
+ * @param handler - Handler invoked with the connector card action query.
61
+ * @param rank - Optional route rank used for route ordering.
62
+ * @param authHandlers - Optional authorization handlers required by the route.
63
+ * @returns This message helper for chaining.
64
+ */
65
+ onExecuteAction(handler: ExecuteActionRouteHandler<TState>, rank?: number, authHandlers?: string[]): this;
66
+ }
67
+ export {};
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Message = void 0;
6
+ const agents_activity_1 = require("@microsoft/agents-activity");
7
+ const agents_hosting_1 = require("@microsoft/agents-hosting");
8
+ const activity_extensions_1 = require("../activity-extensions");
9
+ const teamsTurnContext_1 = require("../teamsTurnContext");
10
+ const teamsRouteHandler_1 = require("../teamsRouteHandler");
11
+ function equalsIgnoreCase(actual, expected) {
12
+ return typeof actual === 'string' && actual.toLowerCase() === expected.toLowerCase();
13
+ }
14
+ /**
15
+ * Registers handlers for Microsoft Teams message lifecycle events.
16
+ *
17
+ * @typeParam TState - The turn state type used by the agent application.
18
+ */
19
+ class Message {
20
+ /**
21
+ * Creates a Teams message route helper.
22
+ *
23
+ * @param app - The agent application that receives the registered routes.
24
+ */
25
+ constructor(app) {
26
+ this._app = app;
27
+ }
28
+ /**
29
+ * Registers a handler for Teams message edit events.
30
+ *
31
+ * @param handler - Handler invoked for matching message edit activities.
32
+ * @param rank - Optional route rank used for route ordering.
33
+ * @param authHandlers - Optional authorization handlers required by the route.
34
+ * @returns This message helper for chaining.
35
+ */
36
+ onMessageEdit(handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
37
+ const routeSel = (context) => {
38
+ const channelData = (0, activity_extensions_1.parseTeamsChannelData)(context.activity.channelData);
39
+ return Promise.resolve(context.activity.type === agents_activity_1.ActivityTypes.MessageUpdate &&
40
+ context.activity.channelId === 'msteams' &&
41
+ equalsIgnoreCase(channelData === null || channelData === void 0 ? void 0 : channelData.eventType, 'editMessage'));
42
+ };
43
+ this._app.addRoute(routeSel, (0, teamsRouteHandler_1.createTeamsRouteHandler)(handler), false, rank, authHandlers);
44
+ return this;
45
+ }
46
+ /**
47
+ * Registers a handler for Teams soft-delete message events.
48
+ *
49
+ * @param handler - Handler invoked for matching message delete activities.
50
+ * @param rank - Optional route rank used for route ordering.
51
+ * @param authHandlers - Optional authorization handlers required by the route.
52
+ * @returns This message helper for chaining.
53
+ */
54
+ onMessageDelete(handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
55
+ const routeSel = (context) => {
56
+ const channelData = (0, activity_extensions_1.parseTeamsChannelData)(context.activity.channelData);
57
+ return Promise.resolve(context.activity.type === agents_activity_1.ActivityTypes.MessageDelete &&
58
+ context.activity.channelId === 'msteams' &&
59
+ equalsIgnoreCase(channelData === null || channelData === void 0 ? void 0 : channelData.eventType, 'softDeleteMessage'));
60
+ };
61
+ this._app.addRoute(routeSel, (0, teamsRouteHandler_1.createTeamsRouteHandler)(handler), false, rank, authHandlers);
62
+ return this;
63
+ }
64
+ /**
65
+ * Registers a handler for Teams message undelete events.
66
+ *
67
+ * @param handler - Handler invoked for matching message update activities.
68
+ * @param rank - Optional route rank used for route ordering.
69
+ * @param authHandlers - Optional authorization handlers required by the route.
70
+ * @returns This message helper for chaining.
71
+ */
72
+ onMessageUndelete(handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
73
+ const routeSel = (context) => {
74
+ const channelData = (0, activity_extensions_1.parseTeamsChannelData)(context.activity.channelData);
75
+ return Promise.resolve(context.activity.type === agents_activity_1.ActivityTypes.MessageUpdate &&
76
+ context.activity.channelId === 'msteams' &&
77
+ equalsIgnoreCase(channelData === null || channelData === void 0 ? void 0 : channelData.eventType, 'undeleteMessage'));
78
+ };
79
+ this._app.addRoute(routeSel, (0, teamsRouteHandler_1.createTeamsRouteHandler)(handler), false, rank, authHandlers);
80
+ return this;
81
+ }
82
+ /**
83
+ * Registers a handler for Teams read receipt events.
84
+ *
85
+ * @param handler - Handler invoked with read receipt information.
86
+ * @param rank - Optional route rank used for route ordering.
87
+ * @param authHandlers - Optional authorization handlers required by the route.
88
+ * @returns This message helper for chaining.
89
+ */
90
+ onReadReceipt(handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
91
+ const routeSel = (context) => {
92
+ return Promise.resolve(context.activity.type === agents_activity_1.ActivityTypes.Event &&
93
+ context.activity.channelId === 'msteams' &&
94
+ equalsIgnoreCase(context.activity.name, 'application/vnd.microsoft.readReceipt'));
95
+ };
96
+ const routeHandler = async (context, state) => {
97
+ await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, context.activity.value);
98
+ };
99
+ this._app.addRoute(routeSel, routeHandler, false, rank, authHandlers);
100
+ return this;
101
+ }
102
+ /**
103
+ * Registers a handler for Office 365 connector card execute action invokes.
104
+ *
105
+ * @param handler - Handler invoked with the connector card action query.
106
+ * @param rank - Optional route rank used for route ordering.
107
+ * @param authHandlers - Optional authorization handlers required by the route.
108
+ * @returns This message helper for chaining.
109
+ */
110
+ onExecuteAction(handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
111
+ const routeSel = (context) => {
112
+ return Promise.resolve(context.activity.type === agents_activity_1.ActivityTypes.Invoke &&
113
+ context.activity.channelId === 'msteams' &&
114
+ equalsIgnoreCase(context.activity.name, 'actionableMessage/executeAction'));
115
+ };
116
+ const routeHandler = async (context, state) => {
117
+ var _a;
118
+ const query = ((_a = context.activity.value) !== null && _a !== void 0 ? _a : {});
119
+ await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, query);
120
+ const invokeResponse = new agents_activity_1.Activity(agents_activity_1.ActivityTypes.InvokeResponse);
121
+ invokeResponse.value = { status: 200 };
122
+ await context.sendActivity(invokeResponse);
123
+ };
124
+ this._app.addRoute(routeSel, routeHandler, true, rank, authHandlers);
125
+ return this;
126
+ }
127
+ }
128
+ exports.Message = Message;
129
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/messages/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './readReceiptInfo';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ __exportStar(require("./readReceiptInfo"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;;;;;;;;;;;;;;AAElC,oDAAiC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Class representing read receipt information.
3
+ */
4
+ export declare class ReadReceiptInfo {
5
+ /**
6
+ * The ID of the last read message.
7
+ */
8
+ lastReadMessageId: string;
9
+ /**
10
+ * Creates an instance of ReadReceiptInfo.
11
+ * @param {string} [lastReadMessageId=''] - The ID of the last read message.
12
+ */
13
+ constructor(lastReadMessageId?: string);
14
+ /**
15
+ * Checks if a message has been read.
16
+ * @param {string} compareMessageId - The ID of the message to compare.
17
+ * @param {string} lastReadMessageId - The ID of the last read message.
18
+ * @returns {boolean} True if the message has been read, false otherwise.
19
+ */
20
+ static isMessageRead(compareMessageId: string, lastReadMessageId: string): boolean;
21
+ /**
22
+ * Checks if a message has been read using the instance's last read message ID.
23
+ * @param {string} compareMessageId - The ID of the message to compare.
24
+ * @returns {boolean} True if the message has been read, false otherwise.
25
+ */
26
+ isMessageRead(compareMessageId: string): boolean;
27
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ReadReceiptInfo = void 0;
6
+ /**
7
+ * Class representing read receipt information.
8
+ */
9
+ class ReadReceiptInfo {
10
+ /**
11
+ * Creates an instance of ReadReceiptInfo.
12
+ * @param {string} [lastReadMessageId=''] - The ID of the last read message.
13
+ */
14
+ constructor(lastReadMessageId = '') {
15
+ this.lastReadMessageId = lastReadMessageId;
16
+ }
17
+ /**
18
+ * Checks if a message has been read.
19
+ * @param {string} compareMessageId - The ID of the message to compare.
20
+ * @param {string} lastReadMessageId - The ID of the last read message.
21
+ * @returns {boolean} True if the message has been read, false otherwise.
22
+ */
23
+ static isMessageRead(compareMessageId, lastReadMessageId) {
24
+ if (compareMessageId.trim().length === 0 || lastReadMessageId.trim().length === 0) {
25
+ return false;
26
+ }
27
+ const compareMessageIdNum = Number(compareMessageId);
28
+ const lastReadMessageIdNum = Number(lastReadMessageId);
29
+ if (!Number.isFinite(compareMessageIdNum) || !Number.isFinite(lastReadMessageIdNum)) {
30
+ return false;
31
+ }
32
+ return compareMessageIdNum <= lastReadMessageIdNum;
33
+ }
34
+ /**
35
+ * Checks if a message has been read using the instance's last read message ID.
36
+ * @param {string} compareMessageId - The ID of the message to compare.
37
+ * @returns {boolean} True if the message has been read, false otherwise.
38
+ */
39
+ isMessageRead(compareMessageId) {
40
+ return ReadReceiptInfo.isMessageRead(compareMessageId, this.lastReadMessageId);
41
+ }
42
+ }
43
+ exports.ReadReceiptInfo = ReadReceiptInfo;
44
+ //# sourceMappingURL=readReceiptInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readReceiptInfo.js","sourceRoot":"","sources":["../../../src/models/readReceiptInfo.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC;;GAEG;AACH,MAAa,eAAe;IAM1B;;;OAGG;IACH,YAAa,oBAA4B,EAAE;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAE,gBAAwB,EAAE,iBAAyB;QACvE,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACpD,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAEtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpF,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,mBAAmB,IAAI,oBAAoB,CAAA;IACpD,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAE,gBAAwB;QACrC,OAAO,eAAe,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAChF,CAAC;CACF;AA3CD,0CA2CC"}
@@ -0,0 +1 @@
1
+ export * from './taskModule';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ __exportStar(require("./taskModule"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/taskModules/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;;;;;;;;;;;;;;AAElC,+CAA4B"}
@@ -0,0 +1,42 @@
1
+ import { AgentApplication, TurnState } from '@microsoft/agents-hosting';
2
+ import type { TaskModuleRequest, TaskModuleResponse } from '@microsoft/teams.api';
3
+ import { TeamsTurnContext } from '../teamsTurnContext';
4
+ type FetchHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, request: TaskModuleRequest) => Promise<TaskModuleResponse>;
5
+ type SubmitHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, request: TaskModuleRequest) => Promise<TaskModuleResponse>;
6
+ /**
7
+ * Registers handlers for Microsoft Teams task module invoke activities.
8
+ *
9
+ * @typeParam TState - The turn state type used by the agent application.
10
+ */
11
+ export declare class TaskModule<TState extends TurnState> {
12
+ _app: AgentApplication<TState>;
13
+ /**
14
+ * Creates a Teams task module route helper.
15
+ *
16
+ * @param app - The agent application that receives the registered routes.
17
+ */
18
+ constructor(app: AgentApplication<TState>);
19
+ /**
20
+ * Registers a handler for Teams task/fetch invokes.
21
+ *
22
+ * @param value - Optional task data value or regular expression used to match the invoke.
23
+ * @param handler - Handler invoked with the task module request.
24
+ * @param key - Task data key to inspect when matching `value`. Defaults to `task`.
25
+ * @param rank - Optional route rank used for route ordering.
26
+ * @param authHandlers - Optional authorization handlers required by the route.
27
+ * @returns This task module helper for chaining.
28
+ */
29
+ onFetch(value: string | RegExp | null, handler: FetchHandler<TState>, key?: string, rank?: number, authHandlers?: string[]): this;
30
+ /**
31
+ * Registers a handler for Teams task/submit invokes.
32
+ *
33
+ * @param value - Optional task data value or regular expression used to match the invoke.
34
+ * @param handler - Handler invoked with the task module request.
35
+ * @param key - Task data key to inspect when matching `value`. Defaults to `task`.
36
+ * @param rank - Optional route rank used for route ordering.
37
+ * @param authHandlers - Optional authorization handlers required by the route.
38
+ * @returns This task module helper for chaining.
39
+ */
40
+ onSubmit(value: string | RegExp | null, handler: SubmitHandler<TState>, key?: string, rank?: number, authHandlers?: string[]): this;
41
+ }
42
+ export {};
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TaskModule = void 0;
6
+ const agents_activity_1 = require("@microsoft/agents-activity");
7
+ const agents_hosting_1 = require("@microsoft/agents-hosting");
8
+ const teamsTurnContext_1 = require("../teamsTurnContext");
9
+ const DEFAULT_TASK_DATA_KEY = 'task';
10
+ function matchesTaskKeyValue(context, value, key) {
11
+ var _a;
12
+ const taskData = (_a = context.activity.value) === null || _a === void 0 ? void 0 : _a.data;
13
+ if (!taskData || typeof taskData !== 'object')
14
+ return false;
15
+ const dataValue = taskData[normalizeTaskDataKey(key)];
16
+ if (typeof dataValue !== 'string')
17
+ return false;
18
+ return typeof value === 'string' ? dataValue === value : value.test(dataValue);
19
+ }
20
+ function isTaskInvoke(context, name) {
21
+ return (context.activity.type === agents_activity_1.ActivityTypes.Invoke &&
22
+ context.activity.channelId === 'msteams' &&
23
+ context.activity.name === name &&
24
+ context.activity.value != null);
25
+ }
26
+ function normalizeTaskDataKey(key) {
27
+ return key.trim() || DEFAULT_TASK_DATA_KEY;
28
+ }
29
+ function matchesTaskInvoke(context, name, value, key) {
30
+ if (!isTaskInvoke(context, name)) {
31
+ return false;
32
+ }
33
+ if (value == null || (typeof value === 'string' && value.trim() === '')) {
34
+ return true;
35
+ }
36
+ return matchesTaskKeyValue(context, value, key);
37
+ }
38
+ /**
39
+ * Registers handlers for Microsoft Teams task module invoke activities.
40
+ *
41
+ * @typeParam TState - The turn state type used by the agent application.
42
+ */
43
+ class TaskModule {
44
+ /**
45
+ * Creates a Teams task module route helper.
46
+ *
47
+ * @param app - The agent application that receives the registered routes.
48
+ */
49
+ constructor(app) {
50
+ this._app = app;
51
+ }
52
+ /**
53
+ * Registers a handler for Teams task/fetch invokes.
54
+ *
55
+ * @param value - Optional task data value or regular expression used to match the invoke.
56
+ * @param handler - Handler invoked with the task module request.
57
+ * @param key - Task data key to inspect when matching `value`. Defaults to `task`.
58
+ * @param rank - Optional route rank used for route ordering.
59
+ * @param authHandlers - Optional authorization handlers required by the route.
60
+ * @returns This task module helper for chaining.
61
+ */
62
+ onFetch(value, handler, key = DEFAULT_TASK_DATA_KEY, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
63
+ const routeSel = (context) => {
64
+ return Promise.resolve(matchesTaskInvoke(context, 'task/fetch', value, key));
65
+ };
66
+ const routeHandler = async (context, state) => {
67
+ const request = context.activity.value;
68
+ const response = await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, request);
69
+ const invokeResponse = new agents_activity_1.Activity(agents_activity_1.ActivityTypes.InvokeResponse);
70
+ invokeResponse.value = { status: 200, body: response };
71
+ await context.sendActivity(invokeResponse);
72
+ };
73
+ this._app.addRoute(routeSel, routeHandler, true, rank, authHandlers);
74
+ return this;
75
+ }
76
+ /**
77
+ * Registers a handler for Teams task/submit invokes.
78
+ *
79
+ * @param value - Optional task data value or regular expression used to match the invoke.
80
+ * @param handler - Handler invoked with the task module request.
81
+ * @param key - Task data key to inspect when matching `value`. Defaults to `task`.
82
+ * @param rank - Optional route rank used for route ordering.
83
+ * @param authHandlers - Optional authorization handlers required by the route.
84
+ * @returns This task module helper for chaining.
85
+ */
86
+ onSubmit(value, handler, key = DEFAULT_TASK_DATA_KEY, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = []) {
87
+ const routeSel = (context) => {
88
+ return Promise.resolve(matchesTaskInvoke(context, 'task/submit', value, key));
89
+ };
90
+ const routeHandler = async (context, state) => {
91
+ const request = context.activity.value;
92
+ const response = await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, request);
93
+ const invokeResponse = new agents_activity_1.Activity(agents_activity_1.ActivityTypes.InvokeResponse);
94
+ invokeResponse.value = { status: 200, body: response };
95
+ await context.sendActivity(invokeResponse);
96
+ };
97
+ this._app.addRoute(routeSel, routeHandler, true, rank, authHandlers);
98
+ return this;
99
+ }
100
+ }
101
+ exports.TaskModule = TaskModule;
102
+ //# sourceMappingURL=taskModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskModule.js","sourceRoot":"","sources":["../../../src/taskModules/taskModule.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC,gEAAoE;AACpE,8DAA4H;AAE5H,0DAAsD;AAEtD,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAEpC,SAAS,mBAAmB,CAAE,OAAoB,EAAE,KAAsB,EAAE,GAAW;;IACrF,MAAM,QAAQ,GAAG,MAAC,OAAO,CAAC,QAAQ,CAAC,KAAa,0CAAE,IAAI,CAAA;IACtD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,YAAY,CAAE,OAAoB,EAAE,IAAY;IACvD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,+BAAa,CAAC,MAAM;QAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS;QACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;QAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAC/B,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAE,GAAW;IACxC,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,qBAAqB,CAAA;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAE,OAAoB,EAAE,IAAY,EAAE,KAA6B,EAAE,GAAW;IACxG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACjD,CAAC;AAKD;;;;GAIG;AACH,MAAa,UAAU;IAGrB;;;;OAIG;IACH,YAAa,GAA6B;QACxC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAE,KAA6B,EAAE,OAA6B,EAAE,MAAc,qBAAqB,EAAE,OAAe,0BAAS,CAAC,WAAW,EAAE,eAAyB,EAAE;QAC3K,MAAM,QAAQ,GAAkB,CAAC,OAAoB,EAAE,EAAE;YACvD,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9E,CAAC,CAAA;QACD,MAAM,YAAY,GAAyB,KAAK,EAAE,OAAoB,EAAE,KAAa,EAAE,EAAE;YACvF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAA0B,CAAA;YAC3D,MAAM,QAAQ,GAAuB,MAAM,OAAO,CAAC,IAAI,mCAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACjG,MAAM,cAAc,GAAG,IAAI,0BAAQ,CAAC,+BAAa,CAAC,cAAc,CAAC,CAAA;YACjE,cAAc,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YACtD,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAC5C,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAE,KAA6B,EAAE,OAA8B,EAAE,MAAc,qBAAqB,EAAE,OAAe,0BAAS,CAAC,WAAW,EAAE,eAAyB,EAAE;QAC7K,MAAM,QAAQ,GAAkB,CAAC,OAAoB,EAAE,EAAE;YACvD,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC,CAAA;QACD,MAAM,YAAY,GAAyB,KAAK,EAAE,OAAoB,EAAE,KAAa,EAAE,EAAE;YACvF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAA0B,CAAA;YAC3D,MAAM,QAAQ,GAAuB,MAAM,OAAO,CAAC,IAAI,mCAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACjG,MAAM,cAAc,GAAG,IAAI,0BAAQ,CAAC,+BAAa,CAAC,cAAc,CAAC,CAAA;YACjE,cAAc,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YACtD,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAC5C,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA7DD,gCA6DC"}
@@ -0,0 +1 @@
1
+ export * from './teamsTeam';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ __exportStar(require("./teamsTeam"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/teams/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;;;;;;;;;;;;;;AAElC,8CAA2B"}
@@ -0,0 +1,82 @@
1
+ import { AgentApplication, TurnState } from '@microsoft/agents-hosting';
2
+ import type { TeamInfo } from '@microsoft/teams.api';
3
+ import { TeamsTurnContext } from '../teamsTurnContext';
4
+ type TeamUpdateHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, data: TeamInfo) => Promise<void>;
5
+ /**
6
+ * Registers handlers for Microsoft Teams team lifecycle events.
7
+ *
8
+ * @typeParam TState - The turn state type used by the agent application.
9
+ */
10
+ export declare class TeamsTeam<TState extends TurnState = TurnState> {
11
+ private _app;
12
+ /**
13
+ * Creates a Teams team route helper.
14
+ *
15
+ * @param app - The agent application that receives the registered routes.
16
+ */
17
+ constructor(app: AgentApplication<TState>);
18
+ /**
19
+ * Registers a handler for any Teams team update event.
20
+ *
21
+ * @param handler - Handler invoked with the Teams turn context, turn state, and team information.
22
+ * @param rank - Optional route rank used for route ordering.
23
+ * @param authHandlers - Optional authorization handlers required by the route.
24
+ * @returns This team helper for chaining.
25
+ */
26
+ onTeamEventReceived(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
27
+ /**
28
+ * Registers a handler for Teams team archived events.
29
+ *
30
+ * @param handler - Handler invoked with the archived team information.
31
+ * @param rank - Optional route rank used for route ordering.
32
+ * @param authHandlers - Optional authorization handlers required by the route.
33
+ * @returns This team helper for chaining.
34
+ */
35
+ onArchived(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
36
+ /**
37
+ * Registers a handler for Teams team unarchived events.
38
+ *
39
+ * @param handler - Handler invoked with the unarchived team information.
40
+ * @param rank - Optional route rank used for route ordering.
41
+ * @param authHandlers - Optional authorization handlers required by the route.
42
+ * @returns This team helper for chaining.
43
+ */
44
+ onUnarchived(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
45
+ /**
46
+ * Registers a handler for Teams team renamed events.
47
+ *
48
+ * @param handler - Handler invoked with the renamed team information.
49
+ * @param rank - Optional route rank used for route ordering.
50
+ * @param authHandlers - Optional authorization handlers required by the route.
51
+ * @returns This team helper for chaining.
52
+ */
53
+ onRenamed(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
54
+ /**
55
+ * Registers a handler for Teams team restored events.
56
+ *
57
+ * @param handler - Handler invoked with the restored team information.
58
+ * @param rank - Optional route rank used for route ordering.
59
+ * @param authHandlers - Optional authorization handlers required by the route.
60
+ * @returns This team helper for chaining.
61
+ */
62
+ onRestored(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
63
+ /**
64
+ * Registers a handler for Teams team deleted events.
65
+ *
66
+ * @param handler - Handler invoked with the deleted team information.
67
+ * @param rank - Optional route rank used for route ordering.
68
+ * @param authHandlers - Optional authorization handlers required by the route.
69
+ * @returns This team helper for chaining.
70
+ */
71
+ onDeleted(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
72
+ /**
73
+ * Registers a handler for Teams team hard-deleted events.
74
+ *
75
+ * @param handler - Handler invoked with the hard-deleted team information.
76
+ * @param rank - Optional route rank used for route ordering.
77
+ * @param authHandlers - Optional authorization handlers required by the route.
78
+ * @returns This team helper for chaining.
79
+ */
80
+ onHardDeleted(handler: TeamUpdateHandler<TState>, rank?: number, authHandlers?: string[]): this;
81
+ }
82
+ export {};