UNPKG

@microsoft/agents-hosting-extensions-teams

Version:

Microsoft 365 Agents SDK for JavaScript. Teams extensions

89 lines (88 loc) 5.04 kB
import { Activity } from '@microsoft/agents-activity'; import { AgentApplication, TurnContext, TurnState } from '@microsoft/agents-hosting'; import { TaskModuleResponse } from '../taskModule'; import { MessagingExtensionActionResponse } from './messagingExtensionActionResponse'; import { MessagingExtensionQuery } from './messagingExtensionQuery'; import { MessagingExtensionResult } from './messagingExtensionResult'; export type RouteQueryHandler<TState extends TurnState> = (context: TurnContext, state: TState, query: MessagingExtensionQuery) => Promise<MessagingExtensionResult>; export type SelectItemHandler<TState extends TurnState> = (context: TurnContext, state: TState, item: unknown) => Promise<MessagingExtensionResult>; export type QueryLinkHandler<TState extends TurnState> = (context: TurnContext, state: TState, url: string) => Promise<MessagingExtensionResult>; export type FetchTaskHanlder<TState extends TurnState> = (context: TurnContext, state: TState) => Promise<TaskModuleResponse>; export type SubmitActionHanlder<TState extends TurnState> = (context: TurnContext, state: TState, data: unknown) => Promise<MessagingExtensionActionResponse>; export type MessagePreviewEditHandler<TState extends TurnState> = (context: TurnContext, state: TState, activity: Activity) => Promise<MessagingExtensionActionResponse>; export type MessagePreviewSendHandler<TState extends TurnState> = (context: TurnContext, state: TState, activity: Activity) => Promise<void>; export type ConfigureSettingsHandler<TState extends TurnState> = (context: TurnContext, state: TState, settings: unknown) => Promise<void>; export type CardButtonClickedHandler<TState extends TurnState> = (context: TurnContext, state: TState, cardData: unknown) => Promise<void>; /** * Class that exposes Teams messaging extension-related events. * Provides an organized way to handle messaging extension operations in Microsoft Teams. */ export declare class MessageExtension<TState extends TurnState> { _app: AgentApplication<TState>; /** * Creates a new instance of the MessageExtension class. * @param app - The agent application */ constructor(app: AgentApplication<TState>); /** * Handles queries from messaging extensions. * @param handler - The handler to call when a query is received * @returns this (for method chaining) */ onQuery(handler: RouteQueryHandler<TState>): this; onSelectItem(handler: SelectItemHandler<TurnState>): this; /** * Handles link queries from messaging extensions. * @param handler - The handler to call when a link query is received * @returns this (for method chaining) */ onQueryLink(handler: QueryLinkHandler<TurnState>): this; /** * Handles anonymous link queries (for public access) from messaging extensions. * @param handler - The handler to call when an anonymous link query is received * @returns this (for method chaining) */ onAnonymousQueryLink(handler: QueryLinkHandler<TurnState>): this; /** * Handles fetch task requests from messaging extensions. * @param handler - The handler to call when a fetch task is requested * @returns this (for method chaining) */ onFetchTask(handler: FetchTaskHanlder<TurnState>): this; /** * Handles action submissions from messaging extensions. * @param handler - The handler to call when an action is submitted * @returns this (for method chaining) */ onSubmitAction(handler: SubmitActionHanlder<TurnState>): this; /** * Handles message preview edit actions from messaging extensions. * @param handler - The handler to call when a message preview edit action is received * @returns this (for method chaining) */ onMessagePreviewEdit(handler: MessagePreviewEditHandler<TurnState>): this; /** * Handles message preview send actions from messaging extensions. * @param handler - The handler to call when a message preview send action is received * @returns this (for method chaining) */ onMessagePreviewSend(handler: MessagePreviewSendHandler<TurnState>): this; /** * Handles configuration query setting URL requests from messaging extensions. * @param handler - The handler to call when a config query setting URL is requested * @returns this (for method chaining) */ onConfigurationQuerySettingUrl(handler: ConfigureSettingsHandler<TurnState>): this; /** * Handles configuration setting updates from messaging extensions. * @param handler - The handler to call when configuration settings are updated * @returns this (for method chaining) */ onConfigurationSetting(handler: ConfigureSettingsHandler<TurnState>): this; /** * Handles card button click events from messaging extensions. * @param handler - The handler to call when a card button is clicked * @returns this (for method chaining) */ onCardButtonClicked(handler: CardButtonClickedHandler<TurnState>): this; }