UNPKG

@microsoft/agents-hosting-extensions-teams

Version:

Microsoft 365 Agents SDK for JavaScript. Teams extensions

424 lines (423 loc) 21.1 kB
import { ActivityHandler, InvokeResponse, TurnContext } from '@microsoft/agents-hosting'; import { AppBasedLinkQuery, MessagingExtensionAction, MessagingExtensionActionResponse, MessagingExtensionQuery, MessagingExtensionResponse } from '../messageExtension'; import { TaskModuleRequest, TaskModuleResponse } from '../taskModule'; import { FileConsentCardResponse } from '../file'; import { ChannelInfo, TeamInfo, TeamsChannelAccount } from '../activity-extensions'; import { MeetingEndEventDetails, MeetingParticipantsEventDetails, MeetingStartEventDetails } from '../meeting'; import { ReadReceiptInfo } from './readReceipInfo'; /** * 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<any>; /** * 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<any>; /** * 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 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 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; }