@microsoft/teams.apps
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.apps" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.apps/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.apps?activeTab=code
994 lines • 56.6 kB
TypeScript
import { ActivityLike, ChannelID, ConversationReference, Credentials, IToken, StripMentionsTextOptions } from '@microsoft/teams.api';
import { EventEmitter } from '@microsoft/teams.common/events';
import * as http from '@microsoft/teams.common/http';
import { ILogger } from '@microsoft/teams.common/logging';
import { IStorage, LocalStorage } from '@microsoft/teams.common/storage';
import { ApiClient, GraphClient } from './api';
import { configTab, func, tab } from './app.embed';
import { event, onActivity, onActivityResponse, onActivitySent, onError } from './app.events';
import { onTokenExchange, onVerifyState } from './app.oauth';
import { getPlugin, inject, plugin } from './app.plugins';
import { $process } from './app.process';
import { message, on, use } from './app.routing';
import { Container } from './container';
import * as manifest from './manifest';
import * as middleware from './middleware';
import { OAuthSettings } from './oauth';
import { HttpPlugin } from './plugins';
import { Router } from './router';
import { AppEvents, IPlugin } from './types';
import { PluginAdditionalContext } from './types/app-routing';
/**
* App initialization options
*/
export type AppOptions<TPlugin extends IPlugin> = Partial<Credentials> & {
/**
* http client or client options used to make api requests
*/
readonly client?: http.Client | http.ClientOptions | (() => http.Client);
/**
* logger instance to use
*/
readonly logger?: ILogger;
/**
* storage instance to use
*/
readonly storage?: IStorage;
/**
* plugins to extend the apps functionality
*/
readonly plugins?: Array<TPlugin>;
/**
* OAuth Settings
*/
readonly oauth?: OAuthSettings;
/**
* The apps manifest
*/
readonly manifest?: Partial<manifest.Manifest>;
/**
* Activity Options
*/
readonly activity?: AppActivityOptions;
/**
* Skip authentication for HTTP requests
*/
readonly skipAuth?: boolean;
};
export type AppActivityOptions = {
readonly mentions?: {
/**
* Automatically remove `<at>...</at>` mention
* from inbound activity `text`
*/
readonly stripText?: boolean | StripMentionsTextOptions;
};
};
export type AppTokens = {
/**
* bot token used to send activities
*/
bot?: IToken;
/**
* graph token used to query the graph api
*/
graph?: IToken;
};
/**
* The orchestrator for receiving/sending activities
*/
export declare class App<TPlugin extends IPlugin = IPlugin> {
readonly options: AppOptions<TPlugin>;
readonly api: ApiClient;
readonly graph: GraphClient;
readonly log: ILogger;
readonly http: HttpPlugin;
readonly client: http.Client;
readonly storage: IStorage;
readonly credentials?: Credentials;
readonly entraTokenValidator?: middleware.JwtValidator;
/**
* the apps id
*/
get id(): string | undefined;
/**
* the apps name
*/
get name(): string | undefined;
get oauth(): {
defaultConnectionName: string;
};
/**
* the apps manifest
*/
get manifest(): Partial<manifest.Manifest>;
protected readonly _manifest: Partial<manifest.Manifest>;
/**
* the apps auth tokens
*/
get tokens(): AppTokens;
protected _tokens: AppTokens;
protected container: Container;
protected plugins: Array<TPlugin>;
protected router: Router<PluginAdditionalContext<TPlugin>>;
protected tenantTokens: LocalStorage<string>;
protected events: EventEmitter<AppEvents<TPlugin>>;
protected startedAt?: Date;
protected port?: number | string;
private readonly _userAgent;
constructor(options?: AppOptions<TPlugin>);
/**
* start the app
* @param port port to listen on
*/
start(port?: number | string): Promise<void>;
/**
* stop the app
*/
stop(): Promise<void>;
/**
* send an activity proactively
* @param conversationId the conversation to send to
* @param activity the activity to send
*/
send(conversationId: string, activity: ActivityLike): Promise<{
id: string;
type: "message";
text?: string | undefined;
speak?: string | undefined;
inputHint?: import("@microsoft/teams.api").InputHint | undefined;
summary?: string | undefined;
textFormat?: import("@microsoft/teams.api").TextFormat | undefined;
attachmentLayout?: import("@microsoft/teams.api").AttachmentLayout | undefined;
attachments?: import("@microsoft/teams.api").Attachment[] | undefined;
suggestedActions?: import("@microsoft/teams.api").SuggestedActions | undefined;
importance?: import("@microsoft/teams.api").Importance | undefined;
deliveryMode?: import("@microsoft/teams.api").DeliveryMode | undefined;
expiration?: Date | undefined;
value?: any;
stripMentionsText?: ((options?: StripMentionsTextOptions) => import("@microsoft/teams.api").IMessageActivity) | undefined;
isRecipientMentioned?: (() => boolean) | undefined;
getAccountMention?: ((accountId: string) => import("@microsoft/teams.api").MentionEntity | undefined) | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "messageUpdate";
text?: string | undefined;
speak?: string | undefined;
summary?: string | undefined;
expiration?: Date | undefined;
value?: any;
channelData?: (import("@microsoft/teams.api").ChannelData & {
eventType: "undeleteMessage" | "editMessage";
}) | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "messageDelete";
channelData?: (import("@microsoft/teams.api").ChannelData & {
eventType: "softDeleteMessage";
}) | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "messageReaction";
reactionsAdded?: import("@microsoft/teams.api").MessageReaction[] | undefined;
reactionsRemoved?: import("@microsoft/teams.api").MessageReaction[] | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "event";
name?: "application/vnd.microsoft.readReceipt" | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "event";
name?: "application/vnd.microsoft.meetingStart" | undefined;
value?: {
id: string;
meetingType: string;
joinUrl: string;
title: string;
startTime: Date;
} | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "event";
name?: "application/vnd.microsoft.meetingEnd" | undefined;
value?: {
id: string;
meetingType: string;
joinUrl: string;
title: string;
endTime: Date;
} | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "event";
name?: "application/vnd.microsoft.meetingParticipantJoin" | undefined;
value?: {
members: {
user: import("@microsoft/teams.api").Account;
meeting: {
inMeeting: boolean;
role: string;
};
}[];
} | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "event";
name?: "application/vnd.microsoft.meetingParticipantLeave" | undefined;
value?: {
members: {
user: import("@microsoft/teams.api").Account;
meeting: {
inMeeting: boolean;
role: string;
};
}[];
} | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "fileConsent/invoke" | undefined;
value?: import("@microsoft/teams.api").FileConsentCardResponse | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "actionableMessage/executeAction" | undefined;
value?: import("@microsoft/teams.api").O365ConnectorCardActionQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/anonymousQueryLink" | undefined;
value?: import("@microsoft/teams.api").AppBasedLinkQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/fetchTask" | undefined;
value?: import("@microsoft/teams.api").MessagingExtensionAction | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/onCardButtonClicked" | undefined;
value?: any;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/queryLink" | undefined;
value?: import("@microsoft/teams.api").AppBasedLinkQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/querySettingUrl" | undefined;
value?: import("@microsoft/teams.api").MessagingExtensionQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/query" | undefined;
value?: import("@microsoft/teams.api").MessagingExtensionQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/selectItem" | undefined;
value?: any;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/setting" | undefined;
value?: import("@microsoft/teams.api").MessagingExtensionQuery | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "composeExtension/submitAction" | undefined;
value?: import("@microsoft/teams.api").MessagingExtensionAction | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "config/fetch" | undefined;
value?: any;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "config/submit" | undefined;
value?: any;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "tab/fetch" | undefined;
value?: import("@microsoft/teams.api").TabRequest | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "tab/submit" | undefined;
value?: import("@microsoft/teams.api").TabRequest | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "task/fetch" | undefined;
value?: import("@microsoft/teams.api").TaskModuleRequest | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "task/submit" | undefined;
value?: import("@microsoft/teams.api").TaskModuleRequest | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "message/submitAction" | undefined;
value?: {
actionName: "feedback";
actionValue: {
reaction: "like" | "dislike";
feedback: string;
};
} | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "handoff/action" | undefined;
value?: {
continuation: string;
} | undefined;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "signin/tokenExchange" | undefined;
value?: import("@microsoft/teams.api").SignInExchangeToken | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "signin/verifyState" | undefined;
value?: import("@microsoft/teams.api").SigninStateVerifyQuery | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "invoke";
name?: "adaptiveCard/action" | undefined;
value?: import("@microsoft/teams.api").AdaptiveCardInvokeValue | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "trace";
name?: string | undefined;
label?: string | undefined;
valueType?: string | undefined;
value?: any;
relatesTo?: ConversationReference | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "typing";
text?: string | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "handoff";
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "conversationUpdate";
membersAdded?: import("@microsoft/teams.api").Account[] | undefined;
membersRemoved?: import("@microsoft/teams.api").Account[] | undefined;
topicName?: string | undefined;
historyDisclosed?: boolean | undefined;
channelData?: (import("@microsoft/teams.api").ChannelData & {
eventType: "channelCreated" | "channelDeleted" | "channelRenamed" | "channelRestored" | "channelShared" | "channelUnshared" | "channelMemberAdded" | "channelMemberRemoved" | "teamArchived" | "teamDeleted" | "teamHardDeleted" | "teamRenamed" | "teamRestored" | "teamUnarchived";
}) | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "endOfConversation";
code?: import("@microsoft/teams.api").EndOfConversationCode | undefined;
text?: string | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | undefined;
recipient?: import("@microsoft/teams.api").Account | undefined;
replyToId?: string | undefined;
entities?: import("@microsoft/teams.api").Entity[] | undefined;
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
team?: import("@microsoft/teams.api").TeamInfo | undefined;
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
isStreaming?: (() => boolean) | undefined;
} | {
id: string;
type: "command";
name?: string | undefined;
value?: import("@microsoft/teams.api").CommandValue<any> | undefined;
serviceUrl?: string | undefined;
timestamp?: Date | undefined;
locale?: string | undefined;
localTimestamp?: Date | undefined;
channelId?: ChannelID | undefined;
from?: import("@microsoft/teams.api").Account | undefined;
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
relatesTo?: ConversationReference | un