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