@microsoft/agents-hosting-extensions-teams 0.5.1-g2e246ff274
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/activity-extensions/channelInfo.d.ts +38 -0
- package/dist/src/activity-extensions/channelInfo.js +17 -0
- package/dist/src/activity-extensions/channelInfo.js.map +1 -0
- package/dist/src/activity-extensions/index.d.ts +15 -0
- package/dist/src/activity-extensions/index.js +25 -0
- package/dist/src/activity-extensions/index.js.map +1 -0
- package/dist/src/activity-extensions/notificationInfo.d.ts +38 -0
- package/dist/src/activity-extensions/notificationInfo.js +17 -0
- package/dist/src/activity-extensions/notificationInfo.js.map +1 -0
- package/dist/src/activity-extensions/onBehalfOf.d.ts +45 -0
- package/dist/src/activity-extensions/onBehalfOf.js +18 -0
- package/dist/src/activity-extensions/onBehalfOf.js.map +1 -0
- package/dist/src/activity-extensions/teamInfo.d.ts +38 -0
- package/dist/src/activity-extensions/teamInfo.js +17 -0
- package/dist/src/activity-extensions/teamInfo.js.map +1 -0
- package/dist/src/activity-extensions/teamsChannelAccount.d.ts +34 -0
- package/dist/src/activity-extensions/teamsChannelAccount.js +7 -0
- package/dist/src/activity-extensions/teamsChannelAccount.js.map +1 -0
- package/dist/src/activity-extensions/teamsChannelData.d.ts +230 -0
- package/dist/src/activity-extensions/teamsChannelData.js +39 -0
- package/dist/src/activity-extensions/teamsChannelData.js.map +1 -0
- package/dist/src/activity-extensions/teamsChannelDataParser.d.ts +12 -0
- package/dist/src/activity-extensions/teamsChannelDataParser.js +19 -0
- package/dist/src/activity-extensions/teamsChannelDataParser.js.map +1 -0
- package/dist/src/activity-extensions/teamsChannelDataSettings.d.ts +49 -0
- package/dist/src/activity-extensions/teamsChannelDataSettings.js +16 -0
- package/dist/src/activity-extensions/teamsChannelDataSettings.js.map +1 -0
- package/dist/src/activity-extensions/teamsConversationUpdateEvents.d.ts +58 -0
- package/dist/src/activity-extensions/teamsConversationUpdateEvents.js +7 -0
- package/dist/src/activity-extensions/teamsConversationUpdateEvents.js.map +1 -0
- package/dist/src/activity-extensions/teamsMeetingInfo.d.ts +24 -0
- package/dist/src/activity-extensions/teamsMeetingInfo.js +15 -0
- package/dist/src/activity-extensions/teamsMeetingInfo.js.map +1 -0
- package/dist/src/activity-extensions/teamsMessageEvents.d.ts +5 -0
- package/dist/src/activity-extensions/teamsMessageEvents.js +7 -0
- package/dist/src/activity-extensions/teamsMessageEvents.js.map +1 -0
- package/dist/src/activity-extensions/tenantInfo.d.ts +24 -0
- package/dist/src/activity-extensions/tenantInfo.js +15 -0
- package/dist/src/activity-extensions/tenantInfo.js.map +1 -0
- package/dist/src/client/index.d.ts +6 -0
- package/dist/src/client/index.js +23 -0
- package/dist/src/client/index.js.map +1 -0
- package/dist/src/client/teamsConnectorClient.d.ts +146 -0
- package/dist/src/client/teamsConnectorClient.js +313 -0
- package/dist/src/client/teamsConnectorClient.js.map +1 -0
- package/dist/src/client/teamsConnectorClient.types.d.ts +157 -0
- package/dist/src/client/teamsConnectorClient.types.js +7 -0
- package/dist/src/client/teamsConnectorClient.types.js.map +1 -0
- package/dist/src/compat/readReceipInfo.d.ts +31 -0
- package/dist/src/compat/readReceipInfo.js +48 -0
- package/dist/src/compat/readReceipInfo.js.map +1 -0
- package/dist/src/compat/teamsActivityHandler.d.ts +423 -0
- package/dist/src/compat/teamsActivityHandler.js +911 -0
- package/dist/src/compat/teamsActivityHandler.js.map +1 -0
- package/dist/src/file/fileConsentCardResponse.d.ts +26 -0
- package/dist/src/file/fileConsentCardResponse.js +7 -0
- package/dist/src/file/fileConsentCardResponse.js.map +1 -0
- package/dist/src/file/fileUploadInfo.d.ts +29 -0
- package/dist/src/file/fileUploadInfo.js +7 -0
- package/dist/src/file/fileUploadInfo.js.map +1 -0
- package/dist/src/file/index.d.ts +6 -0
- package/dist/src/file/index.js +23 -0
- package/dist/src/file/index.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.js +27 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/meeting/index.d.ts +22 -0
- package/dist/src/meeting/index.js +39 -0
- package/dist/src/meeting/index.js.map +1 -0
- package/dist/src/meeting/meeting.d.ts +115 -0
- package/dist/src/meeting/meeting.js +257 -0
- package/dist/src/meeting/meeting.js.map +1 -0
- package/dist/src/meeting/meetingDetails.d.ts +18 -0
- package/dist/src/meeting/meetingDetails.js +7 -0
- package/dist/src/meeting/meetingDetails.js.map +1 -0
- package/dist/src/meeting/meetingDetailsBase.d.ts +15 -0
- package/dist/src/meeting/meetingDetailsBase.js +7 -0
- package/dist/src/meeting/meetingDetailsBase.js.map +1 -0
- package/dist/src/meeting/meetingEndEventDetails.d.ts +12 -0
- package/dist/src/meeting/meetingEndEventDetails.js +7 -0
- package/dist/src/meeting/meetingEndEventDetails.js.map +1 -0
- package/dist/src/meeting/meetingEventDetails.d.ts +12 -0
- package/dist/src/meeting/meetingEventDetails.js +7 -0
- package/dist/src/meeting/meetingEventDetails.js.map +1 -0
- package/dist/src/meeting/meetingInfo.d.ts +24 -0
- package/dist/src/meeting/meetingInfo.js +7 -0
- package/dist/src/meeting/meetingInfo.js.map +1 -0
- package/dist/src/meeting/meetingNotification.d.ts +9 -0
- package/dist/src/meeting/meetingNotification.js +7 -0
- package/dist/src/meeting/meetingNotification.js.map +1 -0
- package/dist/src/meeting/meetingNotificationBase.d.ts +14 -0
- package/dist/src/meeting/meetingNotificationBase.js +7 -0
- package/dist/src/meeting/meetingNotificationBase.js.map +1 -0
- package/dist/src/meeting/meetingNotificationChannelData.d.ts +12 -0
- package/dist/src/meeting/meetingNotificationChannelData.js +7 -0
- package/dist/src/meeting/meetingNotificationChannelData.js.map +1 -0
- package/dist/src/meeting/meetingNotificationRecipientFailureInfo.d.ts +15 -0
- package/dist/src/meeting/meetingNotificationRecipientFailureInfo.js +7 -0
- package/dist/src/meeting/meetingNotificationRecipientFailureInfo.js.map +1 -0
- package/dist/src/meeting/meetingNotificationResponse.d.ts +14 -0
- package/dist/src/meeting/meetingNotificationResponse.js +7 -0
- package/dist/src/meeting/meetingNotificationResponse.js.map +1 -0
- package/dist/src/meeting/meetingParticipantsEventDetails.d.ts +12 -0
- package/dist/src/meeting/meetingParticipantsEventDetails.js +7 -0
- package/dist/src/meeting/meetingParticipantsEventDetails.js.map +1 -0
- package/dist/src/meeting/meetingStageSurface.d.ts +16 -0
- package/dist/src/meeting/meetingStageSurface.js +7 -0
- package/dist/src/meeting/meetingStageSurface.js.map +1 -0
- package/dist/src/meeting/meetingStartEventDetails.d.ts +14 -0
- package/dist/src/meeting/meetingStartEventDetails.js +7 -0
- package/dist/src/meeting/meetingStartEventDetails.js.map +1 -0
- package/dist/src/meeting/meetingSurface.d.ts +10 -0
- package/dist/src/meeting/meetingSurface.js +7 -0
- package/dist/src/meeting/meetingSurface.js.map +1 -0
- package/dist/src/meeting/meetingTabIconSurface.d.ts +17 -0
- package/dist/src/meeting/meetingTabIconSurface.js +7 -0
- package/dist/src/meeting/meetingTabIconSurface.js.map +1 -0
- package/dist/src/meeting/targetedMeetingNotification.d.ts +20 -0
- package/dist/src/meeting/targetedMeetingNotification.js +7 -0
- package/dist/src/meeting/targetedMeetingNotification.js.map +1 -0
- package/dist/src/meeting/targetedMeetingNotificationValue.d.ts +18 -0
- package/dist/src/meeting/targetedMeetingNotificationValue.js +7 -0
- package/dist/src/meeting/targetedMeetingNotificationValue.js.map +1 -0
- package/dist/src/meeting/teamsMeetingMember.d.ts +19 -0
- package/dist/src/meeting/teamsMeetingMember.js +7 -0
- package/dist/src/meeting/teamsMeetingMember.js.map +1 -0
- package/dist/src/meeting/teamsMeetingParticipant.d.ts +25 -0
- package/dist/src/meeting/teamsMeetingParticipant.js +7 -0
- package/dist/src/meeting/teamsMeetingParticipant.js.map +1 -0
- package/dist/src/meeting/userMeetingDetails.d.ts +17 -0
- package/dist/src/meeting/userMeetingDetails.js +7 -0
- package/dist/src/meeting/userMeetingDetails.js.map +1 -0
- package/dist/src/message-actions-payload/index.d.ts +13 -0
- package/dist/src/message-actions-payload/index.js +30 -0
- package/dist/src/message-actions-payload/index.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayload.d.ts +90 -0
- package/dist/src/message-actions-payload/messageActionsPayload.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayload.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadApp.d.ts +25 -0
- package/dist/src/message-actions-payload/messageActionsPayloadApp.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadApp.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadAttachment.d.ts +33 -0
- package/dist/src/message-actions-payload/messageActionsPayloadAttachment.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadAttachment.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadBody.d.ts +25 -0
- package/dist/src/message-actions-payload/messageActionsPayloadBody.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadBody.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadConversation.d.ts +25 -0
- package/dist/src/message-actions-payload/messageActionsPayloadConversation.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadConversation.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadFrom.d.ts +24 -0
- package/dist/src/message-actions-payload/messageActionsPayloadFrom.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadFrom.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadMention.d.ts +22 -0
- package/dist/src/message-actions-payload/messageActionsPayloadMention.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadMention.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadReaction.d.ts +26 -0
- package/dist/src/message-actions-payload/messageActionsPayloadReaction.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadReaction.js.map +1 -0
- package/dist/src/message-actions-payload/messageActionsPayloadUser.d.ts +29 -0
- package/dist/src/message-actions-payload/messageActionsPayloadUser.js +7 -0
- package/dist/src/message-actions-payload/messageActionsPayloadUser.js.map +1 -0
- package/dist/src/messageExtension/appBasedLinkQuery.d.ts +19 -0
- package/dist/src/messageExtension/appBasedLinkQuery.js +7 -0
- package/dist/src/messageExtension/appBasedLinkQuery.js.map +1 -0
- package/dist/src/messageExtension/index.d.ts +14 -0
- package/dist/src/messageExtension/index.js +29 -0
- package/dist/src/messageExtension/index.js.map +1 -0
- package/dist/src/messageExtension/messageExtension.d.ts +88 -0
- package/dist/src/messageExtension/messageExtension.js +283 -0
- package/dist/src/messageExtension/messageExtension.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionAction.d.ts +40 -0
- package/dist/src/messageExtension/messagingExtensionAction.js +7 -0
- package/dist/src/messageExtension/messagingExtensionAction.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionActionResponse.d.ts +23 -0
- package/dist/src/messageExtension/messagingExtensionActionResponse.js +7 -0
- package/dist/src/messageExtension/messagingExtensionActionResponse.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionAttachment.d.ts +14 -0
- package/dist/src/messageExtension/messagingExtensionAttachment.js +7 -0
- package/dist/src/messageExtension/messagingExtensionAttachment.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionParameter.d.ts +31 -0
- package/dist/src/messageExtension/messagingExtensionParameter.js +16 -0
- package/dist/src/messageExtension/messagingExtensionParameter.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionQuery.d.ts +84 -0
- package/dist/src/messageExtension/messagingExtensionQuery.js +31 -0
- package/dist/src/messageExtension/messagingExtensionQuery.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionQueryOptions.d.ts +31 -0
- package/dist/src/messageExtension/messagingExtensionQueryOptions.js +16 -0
- package/dist/src/messageExtension/messagingExtensionQueryOptions.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionResponse.d.ts +18 -0
- package/dist/src/messageExtension/messagingExtensionResponse.js +7 -0
- package/dist/src/messageExtension/messagingExtensionResponse.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionResult.d.ts +50 -0
- package/dist/src/messageExtension/messagingExtensionResult.js +7 -0
- package/dist/src/messageExtension/messagingExtensionResult.js.map +1 -0
- package/dist/src/messageExtension/messagingExtensionSuggestedAction.d.ts +14 -0
- package/dist/src/messageExtension/messagingExtensionSuggestedAction.js +7 -0
- package/dist/src/messageExtension/messagingExtensionSuggestedAction.js.map +1 -0
- package/dist/src/messages/messages.d.ts +40 -0
- package/dist/src/messages/messages.js +82 -0
- package/dist/src/messages/messages.js.map +1 -0
- package/dist/src/taskModule/index.d.ts +11 -0
- package/dist/src/taskModule/index.js +28 -0
- package/dist/src/taskModule/index.js.map +1 -0
- package/dist/src/taskModule/taskModule.d.ts +72 -0
- package/dist/src/taskModule/taskModule.js +210 -0
- package/dist/src/taskModule/taskModule.js.map +1 -0
- package/dist/src/taskModule/taskModuleContinueResponse.d.ts +15 -0
- package/dist/src/taskModule/taskModuleContinueResponse.js +7 -0
- package/dist/src/taskModule/taskModuleContinueResponse.js.map +1 -0
- package/dist/src/taskModule/taskModuleMessageResponse.d.ts +14 -0
- package/dist/src/taskModule/taskModuleMessageResponse.js +7 -0
- package/dist/src/taskModule/taskModuleMessageResponse.js.map +1 -0
- package/dist/src/taskModule/taskModuleRequest.d.ts +22 -0
- package/dist/src/taskModule/taskModuleRequest.js +7 -0
- package/dist/src/taskModule/taskModuleRequest.js.map +1 -0
- package/dist/src/taskModule/taskModuleRequestContext.d.ts +13 -0
- package/dist/src/taskModule/taskModuleRequestContext.js +7 -0
- package/dist/src/taskModule/taskModuleRequestContext.js.map +1 -0
- package/dist/src/taskModule/taskModuleResponse.d.ts +19 -0
- package/dist/src/taskModule/taskModuleResponse.js +7 -0
- package/dist/src/taskModule/taskModuleResponse.js.map +1 -0
- package/dist/src/taskModule/taskModuleResponseBase.d.ts +17 -0
- package/dist/src/taskModule/taskModuleResponseBase.js +7 -0
- package/dist/src/taskModule/taskModuleResponseBase.js.map +1 -0
- package/dist/src/taskModule/taskModuleTaskInfo.d.ts +38 -0
- package/dist/src/taskModule/taskModuleTaskInfo.js +7 -0
- package/dist/src/taskModule/taskModuleTaskInfo.js.map +1 -0
- package/dist/src/teamsAgentExtension.d.ts +30 -0
- package/dist/src/teamsAgentExtension.js +184 -0
- package/dist/src/teamsAgentExtension.js.map +1 -0
- package/dist/src/teamsAttachmentDownloader.d.ts +27 -0
- package/dist/src/teamsAttachmentDownloader.js +80 -0
- package/dist/src/teamsAttachmentDownloader.js.map +1 -0
- package/dist/src/teamsInfo.d.ts +174 -0
- package/dist/src/teamsInfo.js +387 -0
- package/dist/src/teamsInfo.js.map +1 -0
- package/package.json +37 -0
- package/src/activity-extensions/channelInfo.ts +33 -0
- package/src/activity-extensions/index.ts +16 -0
- package/src/activity-extensions/notificationInfo.ts +33 -0
- package/src/activity-extensions/onBehalfOf.ts +38 -0
- package/src/activity-extensions/teamInfo.ts +33 -0
- package/src/activity-extensions/teamsChannelAccount.ts +36 -0
- package/src/activity-extensions/teamsChannelData.ts +75 -0
- package/src/activity-extensions/teamsChannelDataParser.ts +17 -0
- package/src/activity-extensions/teamsChannelDataSettings.ts +28 -0
- package/src/activity-extensions/teamsConversationUpdateEvents.ts +61 -0
- package/src/activity-extensions/teamsMeetingInfo.ts +23 -0
- package/src/activity-extensions/teamsMessageEvents.ts +6 -0
- package/src/activity-extensions/tenantInfo.ts +23 -0
- package/src/client/index.ts +7 -0
- package/src/client/teamsConnectorClient.ts +340 -0
- package/src/client/teamsConnectorClient.types.ts +168 -0
- package/src/compat/readReceipInfo.ts +54 -0
- package/src/compat/teamsActivityHandler.ts +1140 -0
- package/src/file/fileConsentCardResponse.ts +31 -0
- package/src/file/fileUploadInfo.ts +34 -0
- package/src/file/index.ts +7 -0
- package/src/index.ts +10 -0
- package/src/meeting/index.ts +23 -0
- package/src/meeting/meeting.ts +307 -0
- package/src/meeting/meetingDetails.ts +20 -0
- package/src/meeting/meetingDetailsBase.ts +16 -0
- package/src/meeting/meetingEndEventDetails.ts +14 -0
- package/src/meeting/meetingEventDetails.ts +14 -0
- package/src/meeting/meetingInfo.ts +26 -0
- package/src/meeting/meetingNotification.ts +11 -0
- package/src/meeting/meetingNotificationBase.ts +15 -0
- package/src/meeting/meetingNotificationChannelData.ts +14 -0
- package/src/meeting/meetingNotificationRecipientFailureInfo.ts +16 -0
- package/src/meeting/meetingNotificationResponse.ts +16 -0
- package/src/meeting/meetingParticipantsEventDetails.ts +14 -0
- package/src/meeting/meetingStageSurface.ts +17 -0
- package/src/meeting/meetingStartEventDetails.ts +16 -0
- package/src/meeting/meetingSurface.ts +12 -0
- package/src/meeting/meetingTabIconSurface.ts +19 -0
- package/src/meeting/targetedMeetingNotification.ts +23 -0
- package/src/meeting/targetedMeetingNotificationValue.ts +21 -0
- package/src/meeting/teamsMeetingMember.ts +22 -0
- package/src/meeting/teamsMeetingParticipant.ts +29 -0
- package/src/meeting/userMeetingDetails.ts +19 -0
- package/src/message-actions-payload/index.ts +14 -0
- package/src/message-actions-payload/messageActionsPayload.ts +93 -0
- package/src/message-actions-payload/messageActionsPayloadApp.ts +27 -0
- package/src/message-actions-payload/messageActionsPayloadAttachment.ts +34 -0
- package/src/message-actions-payload/messageActionsPayloadBody.ts +27 -0
- package/src/message-actions-payload/messageActionsPayloadConversation.ts +27 -0
- package/src/message-actions-payload/messageActionsPayloadFrom.ts +26 -0
- package/src/message-actions-payload/messageActionsPayloadMention.ts +24 -0
- package/src/message-actions-payload/messageActionsPayloadReaction.ts +29 -0
- package/src/message-actions-payload/messageActionsPayloadUser.ts +31 -0
- package/src/messageExtension/appBasedLinkQuery.ts +20 -0
- package/src/messageExtension/index.ts +15 -0
- package/src/messageExtension/messageExtension.ts +324 -0
- package/src/messageExtension/messagingExtensionAction.ts +44 -0
- package/src/messageExtension/messagingExtensionActionResponse.ts +25 -0
- package/src/messageExtension/messagingExtensionAttachment.ts +16 -0
- package/src/messageExtension/messagingExtensionParameter.ts +28 -0
- package/src/messageExtension/messagingExtensionQuery.ts +51 -0
- package/src/messageExtension/messagingExtensionQueryOptions.ts +28 -0
- package/src/messageExtension/messagingExtensionResponse.ts +21 -0
- package/src/messageExtension/messagingExtensionResult.ts +60 -0
- package/src/messageExtension/messagingExtensionSuggestedAction.ts +16 -0
- package/src/messages/messages.ts +91 -0
- package/src/taskModule/index.ts +12 -0
- package/src/taskModule/taskModule.ts +241 -0
- package/src/taskModule/taskModuleContinueResponse.ts +17 -0
- package/src/taskModule/taskModuleMessageResponse.ts +16 -0
- package/src/taskModule/taskModuleRequest.ts +24 -0
- package/src/taskModule/taskModuleRequestContext.ts +14 -0
- package/src/taskModule/taskModuleResponse.ts +21 -0
- package/src/taskModule/taskModuleResponseBase.ts +19 -0
- package/src/taskModule/taskModuleTaskInfo.ts +40 -0
- package/src/teamsAgentExtension.ts +201 -0
- package/src/teamsAttachmentDownloader.ts +78 -0
- package/src/teamsInfo.ts +430 -0
package/src/teamsInfo.ts
ADDED
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { TeamsChannelAccount } from './activity-extensions/teamsChannelAccount'
|
|
7
|
+
import { TeamsMeetingParticipant } from './meeting/teamsMeetingParticipant'
|
|
8
|
+
import { MeetingInfo } from './meeting/meetingInfo'
|
|
9
|
+
import { MeetingNotification } from './meeting/meetingNotification'
|
|
10
|
+
import { MeetingNotificationResponse } from './meeting/meetingNotificationResponse'
|
|
11
|
+
import { Activity, Channels, ConversationReference, ConversationParameters } from '@microsoft/agents-activity'
|
|
12
|
+
import { TeamsConnectorClient } from './client/teamsConnectorClient'
|
|
13
|
+
import { parseTeamsChannelData } from './activity-extensions/teamsChannelDataParser'
|
|
14
|
+
import { CloudAdapter, ConnectorClient, TurnContext, TurnState } from '@microsoft/agents-hosting'
|
|
15
|
+
import { ChannelInfo } from './activity-extensions/channelInfo'
|
|
16
|
+
import { BatchFailedEntriesResponse, BatchOperationResponse, BatchOperationStateResponse, CancelOperationResponse, TeamDetails, TeamsMember, TeamsPagedMembersResult } from './client/teamsConnectorClient.types'
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Provides utility methods for interacting with Microsoft Teams-specific features.
|
|
20
|
+
* This class includes methods for retrieving team details, meeting information, sending messages,
|
|
21
|
+
* and managing operations within the Teams environment.
|
|
22
|
+
*/
|
|
23
|
+
export class TeamsInfo {
|
|
24
|
+
/**
|
|
25
|
+
* Gets the meeting participant information.
|
|
26
|
+
*
|
|
27
|
+
* @param {TurnContext} context - The turn context.
|
|
28
|
+
* @param {string} [meetingId] - The meeting ID.
|
|
29
|
+
* @param {string} [participantId] - The participant ID.
|
|
30
|
+
* @param {string} [tenantId] - The tenant ID.
|
|
31
|
+
* @returns {Promise<TeamsMeetingParticipant>} - The meeting participant information.
|
|
32
|
+
*/
|
|
33
|
+
static async getMeetingParticipant (
|
|
34
|
+
context: TurnContext,
|
|
35
|
+
meetingId?: string,
|
|
36
|
+
participantId?: string,
|
|
37
|
+
tenantId?: string
|
|
38
|
+
): Promise<TeamsMeetingParticipant<TurnState>> {
|
|
39
|
+
if (!context) {
|
|
40
|
+
throw new Error('context is required.')
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const activity = context.activity
|
|
44
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData) // teamsGetTeamMeetingInfo(activity)
|
|
45
|
+
|
|
46
|
+
if (meetingId == null) {
|
|
47
|
+
meetingId = teamsChannelData.meeting?.id
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!meetingId) {
|
|
51
|
+
throw new Error('meetingId is required.')
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (participantId == null) {
|
|
55
|
+
const from = activity.from
|
|
56
|
+
participantId = from?.aadObjectId
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!participantId) {
|
|
60
|
+
throw new Error('participantId is required.')
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (tenantId === undefined) {
|
|
64
|
+
const tenant = teamsChannelData.tenant // teamsGetTenant(activity)
|
|
65
|
+
tenantId = tenant?.id
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// return this.getTeamsConnectorClient(context).teams.fetchMeetingParticipant(meetingId, participantId, { tenantId })
|
|
69
|
+
const res = await this.getRestClient(context).fetchMeetingParticipant(meetingId, participantId, tenantId!)
|
|
70
|
+
return res as TeamsMeetingParticipant<TurnState>
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Gets the meeting information.
|
|
75
|
+
*
|
|
76
|
+
* @param {TurnContext} context - The turn context.
|
|
77
|
+
* @param {string} [meetingId] - The meeting ID.
|
|
78
|
+
* @returns {Promise<MeetingInfo>} - The meeting information.
|
|
79
|
+
*/
|
|
80
|
+
static async getMeetingInfo (context: TurnContext, meetingId?: string): Promise<MeetingInfo> {
|
|
81
|
+
if (!meetingId) {
|
|
82
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
83
|
+
meetingId = teamsChannelData.meeting?.id
|
|
84
|
+
}
|
|
85
|
+
const res = await this.getRestClient(context).fetchMeetingInfo(meetingId!)
|
|
86
|
+
return res as MeetingInfo
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Gets the team details.
|
|
91
|
+
*
|
|
92
|
+
* @param {TurnContext} context - The turn context.
|
|
93
|
+
* @param {string} [teamId] - The team ID.
|
|
94
|
+
* @returns {Promise<TeamDetails>} - The team details.
|
|
95
|
+
*/
|
|
96
|
+
static async getTeamDetails (context: TurnContext, teamId?: string): Promise<TeamDetails> {
|
|
97
|
+
if (!teamId) {
|
|
98
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
99
|
+
teamId = teamsChannelData.team?.id
|
|
100
|
+
}
|
|
101
|
+
if (!teamId) {
|
|
102
|
+
throw new Error('teamId is required.')
|
|
103
|
+
}
|
|
104
|
+
const res = await this.getRestClient(context).fetchTeamDetails(teamId!)
|
|
105
|
+
return res as TeamDetails
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Sends a message to a Teams channel.
|
|
110
|
+
*
|
|
111
|
+
* @param {TurnContext} context - The turn context.
|
|
112
|
+
* @param {Activity} activity - The activity to send.
|
|
113
|
+
* @param {string} teamsChannelId - The Teams channel ID.
|
|
114
|
+
* @param {string} [appId] - The application ID.
|
|
115
|
+
* @returns {Promise<[ConversationReference, string]>} - The conversation reference and new activity ID.
|
|
116
|
+
*/
|
|
117
|
+
static async sendMessageToTeamsChannel (context: TurnContext, activity: Activity, teamsChannelId: string, appId?: string): Promise<[ConversationReference, string]> {
|
|
118
|
+
if (!context) {
|
|
119
|
+
throw new Error('TurnContext cannot be null')
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (!activity) {
|
|
123
|
+
throw new Error('Activity cannot be null')
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!teamsChannelId) {
|
|
127
|
+
throw new Error('The teamsChannelId cannot be null or empty')
|
|
128
|
+
}
|
|
129
|
+
const convoParams = {
|
|
130
|
+
isGroup: true,
|
|
131
|
+
channelData: {
|
|
132
|
+
channel: {
|
|
133
|
+
id: teamsChannelId,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
activity,
|
|
137
|
+
agent: context.activity.recipient,
|
|
138
|
+
} as ConversationParameters
|
|
139
|
+
|
|
140
|
+
let conversationReference: Partial<ConversationReference>
|
|
141
|
+
let newActivityId: string
|
|
142
|
+
if (appId && context.adapter instanceof CloudAdapter) {
|
|
143
|
+
await context.adapter.createConversationAsync(
|
|
144
|
+
appId,
|
|
145
|
+
Channels.Msteams,
|
|
146
|
+
context.activity.serviceUrl!,
|
|
147
|
+
'https://api.botframework.com',
|
|
148
|
+
convoParams,
|
|
149
|
+
async (turnContext) => {
|
|
150
|
+
conversationReference = turnContext.activity.getConversationReference()
|
|
151
|
+
newActivityId = turnContext.activity.id!
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
} else {
|
|
155
|
+
// const connectorClient = context.adapter.createConnectorClient(
|
|
156
|
+
// context.activity.serviceUrl
|
|
157
|
+
// )
|
|
158
|
+
const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
|
|
159
|
+
const conversationResourceResponse = await connectorClient.createConversationAsync(convoParams)
|
|
160
|
+
conversationReference = context.activity.getConversationReference()
|
|
161
|
+
conversationReference.conversation!.id = conversationResourceResponse.id
|
|
162
|
+
newActivityId = conversationResourceResponse.activityId
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// @ts-ignore
|
|
166
|
+
return [conversationReference as ConversationReference, newActivityId]
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Gets the channels of a team.
|
|
171
|
+
*
|
|
172
|
+
* @param {TurnContext} context - The turn context.
|
|
173
|
+
* @param {string} [teamId] - The team ID.
|
|
174
|
+
* @returns {Promise<ChannelInfo[]>} - The list of channels.
|
|
175
|
+
*/
|
|
176
|
+
static async getTeamChannels (context: TurnContext, teamId?: string): Promise<ChannelInfo[]> {
|
|
177
|
+
if (!teamId) {
|
|
178
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
179
|
+
teamId = teamsChannelData.team?.id
|
|
180
|
+
}
|
|
181
|
+
if (!teamId) {
|
|
182
|
+
throw new Error('teamId is required.')
|
|
183
|
+
}
|
|
184
|
+
return await this.getRestClient(context).fetchChannelList(teamId!)
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Gets the paged members of a team or conversation.
|
|
189
|
+
*
|
|
190
|
+
* @param {TurnContext} context - The turn context.
|
|
191
|
+
* @param {number} [pageSize] - The page size.
|
|
192
|
+
* @param {string} [continuationToken] - The continuation token.
|
|
193
|
+
* @returns {Promise<TeamsPagedMembersResult>} - The paged members result.
|
|
194
|
+
*/
|
|
195
|
+
static async getPagedMembers (context: TurnContext, pageSize?: number, continuationToken?: string): Promise<TeamsPagedMembersResult> {
|
|
196
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
197
|
+
const teamId = teamsChannelData.team?.id
|
|
198
|
+
if (teamId) {
|
|
199
|
+
return await this.getPagedTeamMembers(context, teamId, pageSize, continuationToken)
|
|
200
|
+
} else {
|
|
201
|
+
const conversation = context.activity.conversation
|
|
202
|
+
const conversationId = conversation && conversation.id ? conversation.id : undefined
|
|
203
|
+
return this.getRestClient(context).getConversationPagedMember(conversationId!, pageSize!, continuationToken!)
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Gets a member of a team or conversation.
|
|
209
|
+
*
|
|
210
|
+
* @param {TurnContext} context - The turn context.
|
|
211
|
+
* @param {string} userId - The user ID.
|
|
212
|
+
* @returns {Promise<TeamsChannelAccount>} - The member information.
|
|
213
|
+
*/
|
|
214
|
+
static async getMember (context: TurnContext, userId: string): Promise<TeamsChannelAccount> {
|
|
215
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
216
|
+
const teamId = teamsChannelData.team?.id
|
|
217
|
+
if (teamId) {
|
|
218
|
+
return await this.getTeamMember(context, teamId, userId)
|
|
219
|
+
} else {
|
|
220
|
+
const conversationId = context.activity.conversation!.id
|
|
221
|
+
return await this.getMemberInternal(context, conversationId, userId)
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Gets the paged members of a team.
|
|
227
|
+
*
|
|
228
|
+
* @param {TurnContext} context - The turn context.
|
|
229
|
+
* @param {string} [teamId] - The team ID.
|
|
230
|
+
* @param {number} [pageSize] - The page size.
|
|
231
|
+
* @param {string} [continuationToken] - The continuation token.
|
|
232
|
+
* @returns {Promise<TeamsPagedMembersResult>} - The paged members result.
|
|
233
|
+
*/
|
|
234
|
+
static async getPagedTeamMembers (context: TurnContext, teamId?: string, pageSize?: number, continuationToken?: string): Promise<TeamsPagedMembersResult> {
|
|
235
|
+
if (!teamId) {
|
|
236
|
+
const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
|
|
237
|
+
teamId = teamsChannelData.team?.id
|
|
238
|
+
}
|
|
239
|
+
if (!teamId) {
|
|
240
|
+
throw new Error('teamId is required.')
|
|
241
|
+
}
|
|
242
|
+
const pagedResults = await this.getRestClient(context).getConversationPagedMember(teamId, pageSize!, continuationToken!)
|
|
243
|
+
do {
|
|
244
|
+
if (pagedResults.continuationToken) {
|
|
245
|
+
const nextResults = await this.getRestClient(context).getConversationPagedMember(teamId, pageSize!, pagedResults.continuationToken)
|
|
246
|
+
pagedResults.members.push(...nextResults.members)
|
|
247
|
+
pagedResults.continuationToken = nextResults.continuationToken
|
|
248
|
+
}
|
|
249
|
+
} while (pagedResults.continuationToken)
|
|
250
|
+
return pagedResults
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Gets a member of a team.
|
|
255
|
+
*
|
|
256
|
+
* @param {TurnContext} context - The turn context.
|
|
257
|
+
* @param {string} teamId - The team ID.
|
|
258
|
+
* @param {string} userId - The user ID.
|
|
259
|
+
* @returns {Promise<TeamsChannelAccount>} - The member information.
|
|
260
|
+
*/
|
|
261
|
+
static async getTeamMember (context: TurnContext, teamId: string, userId: string): Promise<TeamsChannelAccount> {
|
|
262
|
+
return await this.getRestClient(context).getConversationMember(teamId, userId)
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Sends a meeting notification.
|
|
267
|
+
*
|
|
268
|
+
* @param {TurnContext} context - The turn context.
|
|
269
|
+
* @param {MeetingNotification} notification - The meeting notification.
|
|
270
|
+
* @param {string} [meetingId] - The meeting ID.
|
|
271
|
+
* @returns {Promise<MeetingNotificationResponse>} - The meeting notification response.
|
|
272
|
+
*/
|
|
273
|
+
static async sendMeetingNotification (context: TurnContext, notification: MeetingNotification, meetingId?: string): Promise<MeetingNotificationResponse> {
|
|
274
|
+
const activity = context.activity
|
|
275
|
+
|
|
276
|
+
if (meetingId == null) {
|
|
277
|
+
const teamsChannelData = parseTeamsChannelData(activity.channelData)
|
|
278
|
+
// const meeting = teamsGetTeamMeetingInfo(activity)
|
|
279
|
+
const meeting = teamsChannelData.meeting
|
|
280
|
+
meetingId = meeting?.id
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
if (!meetingId) {
|
|
284
|
+
throw new Error('meetingId is required.')
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return await this.getRestClient(context).sendMeetingNotification(meetingId, notification)
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Sends a message to a list of users.
|
|
292
|
+
*
|
|
293
|
+
* @param {TurnContext} context - The turn context.
|
|
294
|
+
* @param {Activity} activity - The activity to send.
|
|
295
|
+
* @param {string} tenantId - The tenant ID.
|
|
296
|
+
* @param {TeamsMember[]} members - The list of members.
|
|
297
|
+
* @returns {Promise<BatchOperationResponse>} - The batch operation response.
|
|
298
|
+
*/
|
|
299
|
+
static async sendMessageToListOfUsers (context: TurnContext, activity: Activity, tenantId: string, members: TeamsMember[]): Promise<BatchOperationResponse> {
|
|
300
|
+
if (!activity) {
|
|
301
|
+
throw new Error('activity is required.')
|
|
302
|
+
}
|
|
303
|
+
if (!tenantId) {
|
|
304
|
+
throw new Error('tenantId is required.')
|
|
305
|
+
}
|
|
306
|
+
if (!members || members.length === 0) {
|
|
307
|
+
throw new Error('members list is required.')
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
return await this.getRestClient(context).sendMessageToListOfUsers(activity, tenantId, members)
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Sends a message to all users in a tenant.
|
|
315
|
+
*
|
|
316
|
+
* @param {TurnContext} context - The turn context.
|
|
317
|
+
* @param {Activity} activity - The activity to send.
|
|
318
|
+
* @param {string} tenantId - The tenant ID.
|
|
319
|
+
* @returns {Promise<BatchOperationResponse>} - The batch operation response.
|
|
320
|
+
*/
|
|
321
|
+
static async sendMessageToAllUsersInTenant (context: TurnContext, activity: Activity, tenantId: string): Promise<BatchOperationResponse> {
|
|
322
|
+
if (!activity) {
|
|
323
|
+
throw new Error('activity is required.')
|
|
324
|
+
}
|
|
325
|
+
if (!tenantId) {
|
|
326
|
+
throw new Error('tenantId is required.')
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return await this.getRestClient(context).sendMessageToAllUsersInTenant(activity, tenantId)
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Sends a message to all users in a team.
|
|
334
|
+
*
|
|
335
|
+
* @param {TurnContext} context - The turn context.
|
|
336
|
+
* @param {Activity} activity - The activity to send.
|
|
337
|
+
* @param {string} tenantId - The tenant ID.
|
|
338
|
+
* @param {string} teamId - The team ID.
|
|
339
|
+
* @returns {Promise<BatchOperationResponse>} - The batch operation response.
|
|
340
|
+
*/
|
|
341
|
+
static async sendMessageToAllUsersInTeam (context: TurnContext, activity: Activity, tenantId: string, teamId: string): Promise<BatchOperationResponse> {
|
|
342
|
+
if (!activity) {
|
|
343
|
+
throw new Error('activity is required.')
|
|
344
|
+
}
|
|
345
|
+
if (!tenantId) {
|
|
346
|
+
throw new Error('tenantId is required.')
|
|
347
|
+
}
|
|
348
|
+
if (!teamId) {
|
|
349
|
+
throw new Error('teamId is required.')
|
|
350
|
+
}
|
|
351
|
+
return await this.getRestClient(context).sendMessageToAllUsersInTeam(activity, tenantId, teamId)
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Sends a message to a list of channels.
|
|
356
|
+
*
|
|
357
|
+
* @param {TurnContext} context - The turn context.
|
|
358
|
+
* @param {Activity} activity - The activity to send.
|
|
359
|
+
* @param {string} tenantId - The tenant ID.
|
|
360
|
+
* @param {TeamsMember[]} members - The list of members.
|
|
361
|
+
* @returns {Promise<BatchOperationResponse>} - The batch operation response.
|
|
362
|
+
*/
|
|
363
|
+
static async sendMessageToListOfChannels (context: TurnContext, activity: Activity, tenantId: string, members: TeamsMember[]): Promise<BatchOperationResponse> {
|
|
364
|
+
if (!activity) {
|
|
365
|
+
throw new Error('activity is required.')
|
|
366
|
+
}
|
|
367
|
+
if (!tenantId) {
|
|
368
|
+
throw new Error('tenantId is required.')
|
|
369
|
+
}
|
|
370
|
+
if (!members || members.length === 0) {
|
|
371
|
+
throw new Error('members list is required.')
|
|
372
|
+
}
|
|
373
|
+
return this.getRestClient(context).sendMessageToListOfChannels(activity, tenantId, members)
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Gets the operation state.
|
|
378
|
+
*
|
|
379
|
+
* @param {TurnContext} context - The turn context.
|
|
380
|
+
* @param {string} operationId - The operation ID.
|
|
381
|
+
* @returns {Promise<BatchOperationStateResponse>} - The operation state response.
|
|
382
|
+
*/
|
|
383
|
+
static async getOperationState (context: TurnContext, operationId: string): Promise<BatchOperationStateResponse> {
|
|
384
|
+
if (!operationId) {
|
|
385
|
+
throw new Error('operationId is required.')
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
return await this.getRestClient(context).getOperationState(operationId)
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Gets the failed entries of an operation.
|
|
393
|
+
*
|
|
394
|
+
* @param {TurnContext} context - The turn context.
|
|
395
|
+
* @param {string} operationId - The operation ID.
|
|
396
|
+
* @returns {Promise<BatchFailedEntriesResponse>} - The failed entries response.
|
|
397
|
+
*/
|
|
398
|
+
static async getFailedEntries (context: TurnContext, operationId: string): Promise<BatchFailedEntriesResponse> {
|
|
399
|
+
if (!operationId) {
|
|
400
|
+
throw new Error('operationId is required.')
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return await this.getRestClient(context).getFailedEntries(operationId)
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Cancels an operation.
|
|
408
|
+
*
|
|
409
|
+
* @param {TurnContext} context - The turn context.
|
|
410
|
+
* @param {string} operationId - The operation ID.
|
|
411
|
+
* @returns {Promise<CancelOperationResponse>} - The cancel operation response.
|
|
412
|
+
*/
|
|
413
|
+
static async cancelOperation (context: TurnContext, operationId: string): Promise<CancelOperationResponse> {
|
|
414
|
+
if (!operationId) {
|
|
415
|
+
throw new Error('operationId is required.')
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
return await this.getRestClient(context).cancelOperation(operationId)
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
private static async getMemberInternal (context: TurnContext, conversationId: string, userId: string): Promise<TeamsChannelAccount> {
|
|
422
|
+
const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
|
|
423
|
+
return await connectorClient.getConversationMember(conversationId, userId)
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
private static getRestClient (context: TurnContext) : TeamsConnectorClient {
|
|
427
|
+
const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
|
|
428
|
+
return new TeamsConnectorClient(connectorClient)
|
|
429
|
+
}
|
|
430
|
+
}
|