UNPKG

@microsoft/agents-hosting-teams

Version:

Microsoft 365 Agents SDK for JavaScript

477 lines (476 loc) 23.9 kB
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { ReadReceiptInfo } from './message-read-info/readReceipInfo'; import { FileConsentCardResponse } from './file/fileConsentCardResponse'; import { TaskModuleRequest } from './task/taskModuleRequest'; import { TabRequest } from './tab/tabRequest'; import { TabSubmit } from './tab/tabSubmit'; import { TabResponse } from './tab/tabResponse'; import { TaskModuleResponse } from './task/taskModuleResponse'; import { TeamsChannelAccount } from './connector-client/teamsChannelAccount'; import { MeetingStartEventDetails } from './meeting/meetingStartEventDetails'; import { MeetingEndEventDetails } from './meeting/meetingEndEventDetails'; import { MeetingParticipantsEventDetails } from './meeting/meetingParticipantsEventDetails'; import { O365ConnectorCardActionQuery } from './query/o365ConnectorCardActionQuery'; import { AppBasedLinkQuery } from './query/appBasedLinkQuery'; import { SigninStateVerificationQuery } from './query/signinStateVerificationQuery'; import { ConfigResponse } from './agent-config/configResponse'; import { MessagingExtensionAction } from './messaging-extension/messagingExtensionAction'; import { MessagingExtensionResponse } from './messaging-extension/messagingExtensionResponse'; import { MessagingExtensionActionResponse } from './messaging-extension/messagingExtensionActionResponse'; import { ActivityHandler, InvokeResponse, TurnContext } from '@microsoft/agents-hosting'; import { ChannelInfo, TeamInfo } from './channel-data'; import { MessagingExtensionQuery } from './messaging-extension'; /** * A handler for processing Microsoft Teams-specific activities. * Extends the ActivityHandler class to provide additional Teams-specific functionality. * This class includes methods for handling various Teams events, such as message updates, channel events, and meeting events. */ export declare class TeamsActivityHandler extends ActivityHandler { /** * Handles invoke activities. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<InvokeResponse>} The invoke response. */ protected onInvokeActivity(context: TurnContext): Promise<InvokeResponse>; /** * Handles card action invoke. * @param {TurnContext} _context - The context object for the turn. * @returns {Promise<InvokeResponse>} The invoke response. */ protected handleTeamsCardActionInvoke(_context: TurnContext): Promise<InvokeResponse>; /** * Handles config fetch. * @param {TurnContext} _context - The context object for the turn. * @param {any} _configData - The config data. * @returns {Promise<ConfigResponse>} The config response. */ protected handleTeamsConfigFetch(_context: TurnContext, _configData: any): Promise<ConfigResponse>; /** * Handles config submit. * @param {TurnContext} _context - The context object for the turn. * @param {any} _configData - The config data. * @returns {Promise<ConfigResponse>} The config response. */ protected handleTeamsConfigSubmit(_context: TurnContext, _configData: any): Promise<ConfigResponse>; /** * Handles file consent. * @param {TurnContext} context - The context object for the turn. * @param {FileConsentCardResponse} fileConsentCardResponse - The file consent card response. * @returns {Promise<void>} */ protected handleTeamsFileConsent(context: TurnContext, fileConsentCardResponse: FileConsentCardResponse): Promise<void>; /** * Handles file consent accept. * @param {TurnContext} _context - The context object for the turn. * @param {FileConsentCardResponse} _fileConsentCardResponse - The file consent card response. * @returns {Promise<void>} */ protected handleTeamsFileConsentAccept(_context: TurnContext, _fileConsentCardResponse: FileConsentCardResponse): Promise<void>; /** * Handles file consent decline. * @param {TurnContext} _context - The context object for the turn. * @param {FileConsentCardResponse} _fileConsentCardResponse - The file consent card response. * @returns {Promise<void>} */ protected handleTeamsFileConsentDecline(_context: TurnContext, _fileConsentCardResponse: FileConsentCardResponse): Promise<void>; /** * Handles O365 connector card action. * @param {TurnContext} _context - The context object for the turn. * @param {O365ConnectorCardActionQuery} _query - The O365 connector card action query. * @returns {Promise<void>} */ protected handleTeamsO365ConnectorCardAction(_context: TurnContext, _query: O365ConnectorCardActionQuery): Promise<void>; /** * Handles sign-in verify state. * @param {TurnContext} _context - The context object for the turn. * @param {SigninStateVerificationQuery} _query - The sign-in state verification query. * @returns {Promise<void>} */ protected handleTeamsSigninVerifyState(_context: TurnContext, _query: SigninStateVerificationQuery): Promise<void>; /** * Handles sign-in token exchange. * @param {TurnContext} _context - The context object for the turn. * @param {SigninStateVerificationQuery} _query - The sign-in state verification query. * @returns {Promise<void>} */ protected handleTeamsSigninTokenExchange(_context: TurnContext, _query: SigninStateVerificationQuery): Promise<void>; /** * Handles messaging extension card button clicked. * @param {TurnContext} _context - The context object for the turn. * @param {any} _cardData - The card data. * @returns {Promise<void>} */ protected handleTeamsMessagingExtensionCardButtonClicked(_context: TurnContext, _cardData: any): Promise<void>; /** * Handles task module fetch. * @param {TurnContext} _context - The context object for the turn. * @param {TaskModuleRequest} _taskModuleRequest - The task module request. * @returns {Promise<TaskModuleResponse>} The task module response. */ protected handleTeamsTaskModuleFetch(_context: TurnContext, _taskModuleRequest: TaskModuleRequest): Promise<TaskModuleResponse>; /** * Handles task module submit. * @param {TurnContext} _context - The context object for the turn. * @param {TaskModuleRequest} _taskModuleRequest - The task module request. * @returns {Promise<TaskModuleResponse>} The task module response. */ protected handleTeamsTaskModuleSubmit(_context: TurnContext, _taskModuleRequest: TaskModuleRequest): Promise<TaskModuleResponse>; /** * Handles tab fetch. * @param {TurnContext} _context - The context object for the turn. * @param {TabRequest} _tabRequest - The tab request. * @returns {Promise<TabResponse>} The tab response. */ protected handleTeamsTabFetch(_context: TurnContext, _tabRequest: TabRequest): Promise<TabResponse>; /** * Handles tab submit. * @param {TurnContext} _context - The context object for the turn. * @param {TabSubmit} _tabSubmit - The tab submit. * @returns {Promise<TabResponse>} The tab response. */ protected handleTeamsTabSubmit(_context: TurnContext, _tabSubmit: TabSubmit): Promise<TabResponse>; /** * Handles app-based link query. * @param {TurnContext} _context - The context object for the turn. * @param {AppBasedLinkQuery} _query - The app-based link query. * @returns {Promise<MessagingExtensionResponse>} The messaging extension response. */ protected handleTeamsAppBasedLinkQuery(_context: TurnContext, _query: AppBasedLinkQuery): Promise<MessagingExtensionResponse>; /** * Handles anonymous app-based link query. * @param {TurnContext} _context - The context object for the turn. * @param {AppBasedLinkQuery} _query - The app-based link query. * @returns {Promise<MessagingExtensionResponse>} The messaging extension response. */ protected handleTeamsAnonymousAppBasedLinkQuery(_context: TurnContext, _query: AppBasedLinkQuery): Promise<MessagingExtensionResponse>; /** * Handles messaging extension query. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionQuery} _query - The messaging extension query. * @returns {Promise<MessagingExtensionResponse>} The messaging extension response. */ protected handleTeamsMessagingExtensionQuery(_context: TurnContext, _query: MessagingExtensionQuery): Promise<MessagingExtensionResponse>; /** * Handles messaging extension select item. * @param {TurnContext} _context - The context object for the turn. * @param {any} _query - The query. * @returns {Promise<MessagingExtensionResponse>} The messaging extension response. */ protected handleTeamsMessagingExtensionSelectItem(_context: TurnContext, _query: any): Promise<MessagingExtensionResponse>; /** * Handles messaging extension submit action dispatch. * @param {TurnContext} context - The context object for the turn. * @param {MessagingExtensionAction} action - The messaging extension action. * @returns {Promise<MessagingExtensionActionResponse>} The messaging extension action response. */ protected handleTeamsMessagingExtensionSubmitActionDispatch(context: TurnContext, action: MessagingExtensionAction): Promise<MessagingExtensionActionResponse>; /** * Handles messaging extension submit action. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionAction} _action - The messaging extension action. * @returns {Promise<MessagingExtensionActionResponse>} The messaging extension action response. */ protected handleTeamsMessagingExtensionSubmitAction(_context: TurnContext, _action: MessagingExtensionAction): Promise<MessagingExtensionActionResponse>; /** * Handles messaging extension message preview edit. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionAction} _action - The messaging extension action. * @returns {Promise<MessagingExtensionActionResponse>} The messaging extension action response. */ protected handleTeamsMessagingExtensionMessagePreviewEdit(_context: TurnContext, _action: MessagingExtensionAction): Promise<MessagingExtensionActionResponse>; /** * Handles messaging extension message preview send. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionAction} _action - The messaging extension action. * @returns {Promise<MessagingExtensionActionResponse>} The messaging extension action response. */ protected handleTeamsMessagingExtensionMessagePreviewSend(_context: TurnContext, _action: MessagingExtensionAction): Promise<MessagingExtensionActionResponse>; /** * Handles messaging extension fetch task. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionAction} _action - The messaging extension action. * @returns {Promise<MessagingExtensionActionResponse>} The messaging extension action response. */ protected handleTeamsMessagingExtensionFetchTask(_context: TurnContext, _action: MessagingExtensionAction): Promise<MessagingExtensionActionResponse>; /** * Handles messaging extension configuration query setting URL. * @param {TurnContext} _context - The context object for the turn. * @param {MessagingExtensionQuery} _query - The messaging extension query. * @returns {Promise<MessagingExtensionResponse>} The messaging extension response. */ protected handleTeamsMessagingExtensionConfigurationQuerySettingUrl(_context: TurnContext, _query: MessagingExtensionQuery): Promise<MessagingExtensionResponse>; /** * Handles messaging extension configuration setting. * @param {TurnContext} _context - The context object for the turn. * @param {any} _settings - The settings. * @returns {Promise<void>} */ protected handleTeamsMessagingExtensionConfigurationSetting(_context: TurnContext, _settings: any): Promise<void>; /** * Dispatches conversation update activity. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected dispatchConversationUpdateActivity(context: TurnContext): Promise<void>; /** * Dispatches message update activity. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected dispatchMessageUpdateActivity(context: TurnContext): Promise<void>; /** * Dispatches message delete activity. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected dispatchMessageDeleteActivity(context: TurnContext): Promise<void>; /** * Handles Teams message undelete. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMessageUndelete(context: TurnContext): Promise<void>; /** * Handles Teams message edit. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMessageEdit(context: TurnContext): Promise<void>; /** * Handles Teams message soft delete. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMessageSoftDelete(context: TurnContext): Promise<void>; /** * Handles Teams members added. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMembersAdded(context: TurnContext): Promise<void>; /** * Handles Teams members removed. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMembersRemoved(context: TurnContext): Promise<void>; /** * Handles Teams channel created. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsChannelCreated(context: TurnContext): Promise<void>; /** * Handles Teams channel deleted. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsChannelDeleted(context: TurnContext): Promise<void>; /** * Handles Teams channel renamed. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsChannelRenamed(context: TurnContext): Promise<void>; /** * Handles Teams team archived. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamArchived(context: TurnContext): Promise<void>; /** * Handles Teams team deleted. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamDeleted(context: TurnContext): Promise<void>; /** * Handles Teams team hard deleted. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamHardDeleted(context: TurnContext): Promise<void>; /** * Handles Teams channel restored. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsChannelRestored(context: TurnContext): Promise<void>; /** * Handles Teams team renamed. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamRenamed(context: TurnContext): Promise<void>; /** * Handles Teams team restored. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamRestored(context: TurnContext): Promise<void>; /** * Handles Teams team unarchived. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsTeamUnarchived(context: TurnContext): Promise<void>; /** * Registers a handler for Teams message undelete event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMessageUndeleteEvent(handler: (context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams message edit event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMessageEditEvent(handler: (context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams message soft delete event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMessageSoftDeleteEvent(handler: (context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams members added event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMembersAddedEvent(handler: (membersAdded: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams members removed event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMembersRemovedEvent(handler: (membersRemoved: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams channel created event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsChannelCreatedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams channel deleted event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsChannelDeletedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams channel renamed event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsChannelRenamedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team archived event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamArchivedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team deleted event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamDeletedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team hard deleted event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamHardDeletedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams channel restored event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsChannelRestoredEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team renamed event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamRenamedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team restored event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamRestoredEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams team unarchived event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsTeamUnarchivedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Dispatches event activity. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected dispatchEventActivity(context: TurnContext): Promise<void>; /** * Handles Teams meeting start. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMeetingStart(context: TurnContext): Promise<void>; /** * Handles Teams meeting end. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMeetingEnd(context: TurnContext): Promise<void>; /** * Handles Teams read receipt. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsReadReceipt(context: TurnContext): Promise<void>; /** * Handles Teams meeting participants join. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMeetingParticipantsJoin(context: TurnContext): Promise<void>; /** * Handles Teams meeting participants leave. * @param {TurnContext} context - The context object for the turn. * @returns {Promise<void>} */ protected onTeamsMeetingParticipantsLeave(context: TurnContext): Promise<void>; /** * Registers a handler for Teams meeting start event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMeetingStartEvent(handler: (meeting: MeetingStartEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams meeting end event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMeetingEndEvent(handler: (meeting: MeetingEndEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams read receipt event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsReadReceiptEvent(handler: (receiptInfo: ReadReceiptInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams meeting participants join event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMeetingParticipantsJoinEvent(handler: (meeting: MeetingParticipantsEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; /** * Registers a handler for Teams meeting participants leave event. * @param {function} handler - The handler function. * @returns {this} */ onTeamsMeetingParticipantsLeaveEvent(handler: (meeting: MeetingParticipantsEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this; }