@microsoft/agents-hosting-extensions-teams
Version:
Microsoft 365 Agents SDK for JavaScript. Teams extensions
424 lines (423 loc) • 21.1 kB
TypeScript
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;
}