@microsoft/agents-hosting-teams
Version:
Microsoft 365 Agents SDK for JavaScript
477 lines (476 loc) • 23.9 kB
TypeScript
/**
* 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;
}