1984 lines
No EOL
54 KiB
TypeScript
1984 lines
No EOL
54 KiB
TypeScript
/**
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License.
|
|
*/
|
|
import { MessageActionsPayloadBody, O365ConnectorCardActionBase, O365ConnectorCardInputBase } from './extension';
|
|
import { Activity, Attachment, CardAction, ChannelAccount, ConversationAccount, SuggestedActions } from '../';
|
|
export * from './extension';
|
|
/**
|
|
* @interface
|
|
* An interface the bot's authentication config for SuggestedActions
|
|
*/
|
|
export interface BotConfigAuth {
|
|
/**
|
|
* @member {SuggestedActions} [suggestedActions] SuggestedActions for the Bot Config Auth
|
|
*/
|
|
suggestedActions?: SuggestedActions;
|
|
/**
|
|
* @member {BotConfigAuthType} [type] Type of the Bot Config Auth
|
|
*/
|
|
type: 'auth';
|
|
}
|
|
export declare type ConfigResponseConfig = BotConfigAuth | TaskModuleResponse;
|
|
/**
|
|
* @interface
|
|
* An interface representing ChannelInfo.
|
|
* A channel info object which decribes the channel.
|
|
*/
|
|
export interface ChannelInfo {
|
|
/**
|
|
* @member {string} [id] Unique identifier representing a channel
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [name] Name of the channel
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [type] The type of the channel. Valid values are standard, shared and private.
|
|
*/
|
|
type?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface container for the Config response payload
|
|
*/
|
|
export interface ConfigResponse {
|
|
/**
|
|
* @member {CacheInfo} [cacheInfo] The data of the ConfigResponse cache, including cache type and cache duration.
|
|
*/
|
|
cacheInfo?: CacheInfo;
|
|
/**
|
|
* @member {ConfigResponseConfig} [config] The ConfigResponse config of BotConfigAuth or TaskModuleResponse
|
|
*/
|
|
config: ConfigResponseConfig;
|
|
/**
|
|
* @member {string} [responseType] The type of response 'config'.
|
|
*/
|
|
responseType: 'config';
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing ConversationList.
|
|
* List of channels under a team
|
|
*/
|
|
export interface ConversationList {
|
|
/**
|
|
* @member {ChannelInfo[]} [conversations]
|
|
*/
|
|
conversations?: ChannelInfo[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamDetails.
|
|
* Details related to a team
|
|
*/
|
|
export interface TeamDetails {
|
|
/**
|
|
* @member {string} [id] Unique identifier representing a team
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [name] Name of team.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [aadGroupId] Azure Active Directory (AAD) Group Id for
|
|
* the team.
|
|
*/
|
|
aadGroupId?: string;
|
|
/**
|
|
* @member {number} [channelCount] Count of channels in the team.
|
|
*/
|
|
channelCount?: number;
|
|
/**
|
|
* @member {number} [memberCount] Count of members in the team.
|
|
* the team.
|
|
*/
|
|
memberCount?: number;
|
|
/**
|
|
* @member {string} [type] The type of the team. Valid values are standard, sharedChannel and privateChannel.
|
|
*/
|
|
type?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamInfo.
|
|
* Describes a team
|
|
*/
|
|
export interface TeamInfo {
|
|
/**
|
|
* @member {string} [id] Unique identifier representing a team
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [name] Name of team.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [aadGroupId] The Azure AD Teams group ID.
|
|
*/
|
|
aadGroupId?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing NotificationInfo.
|
|
* Specifies if a notification is to be sent for the mentions.
|
|
*/
|
|
export interface NotificationInfo {
|
|
/**
|
|
* @member {boolean} [alert] true if notification is to be sent to the user,
|
|
* false otherwise.
|
|
*/
|
|
alert?: boolean;
|
|
/**
|
|
* @member {boolean} [alertInMeeting] true if a notification is to be shown to the user while in a meeting,
|
|
* false otherwise.
|
|
*/
|
|
alertInMeeting?: boolean;
|
|
/**
|
|
* @member {string} [externalResourceUrl] the value of the notification's external resource url
|
|
*/
|
|
externalResourceUrl?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TenantInfo.
|
|
* Describes a tenant
|
|
*/
|
|
export interface TenantInfo {
|
|
/**
|
|
* @member {string} [id] Unique identifier representing a tenant
|
|
*/
|
|
id?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamsMeetingInfo.
|
|
* Describes a meeting
|
|
*/
|
|
export interface TeamsMeetingInfo {
|
|
/**
|
|
* @member {string} [id] Unique identifier representing a meeting
|
|
*/
|
|
id?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamsChannelData.
|
|
* Channel data specific to messages received in Microsoft Teams
|
|
*/
|
|
export interface TeamsChannelData {
|
|
/**
|
|
* @member {ChannelInfo} [channel] Information about the channel in which the
|
|
* message was sent.
|
|
*/
|
|
channel?: ChannelInfo;
|
|
/**
|
|
* @member {string} [eventType] Type of event.
|
|
*/
|
|
eventType?: string;
|
|
/**
|
|
* @member {TeamInfo} [team] Information about the team in which the message
|
|
* was sent.
|
|
*/
|
|
team?: TeamInfo;
|
|
/**
|
|
* @member {NotificationInfo} [notification] Notification settings for the
|
|
* message.
|
|
*/
|
|
notification?: NotificationInfo;
|
|
/**
|
|
* @member {TenantInfo} [tenant] Information about the tenant in which the
|
|
* message was sent.
|
|
*/
|
|
tenant?: TenantInfo;
|
|
/**
|
|
* @member {TeamsMeetingInfo} [meeting] Information about the tenant in which the
|
|
* message was sent.
|
|
*/
|
|
meeting?: TeamsMeetingInfo;
|
|
/**
|
|
* @member {TeamsChannelDataSettings} [settings] Information about the settings in which the
|
|
* message was sent.
|
|
*/
|
|
settings?: TeamsChannelDataSettings;
|
|
/**
|
|
* @member {OnBehalfOf} [onBehalfOf] The OnBehalfOf information of the message.
|
|
*/
|
|
onBehalfOf?: OnBehalfOf[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamsChannelAccount.
|
|
* Teams channel account detailing user Azure Active Directory details.
|
|
*
|
|
* @augments ChannelAccount
|
|
*/
|
|
export interface TeamsChannelAccount extends ChannelAccount {
|
|
/**
|
|
* @member {string} [givenName] Given name part of the user name.
|
|
*/
|
|
givenName?: string;
|
|
/**
|
|
* @member {string} [surname] Surname part of the user name.
|
|
*/
|
|
surname?: string;
|
|
/**
|
|
* @member {string} [email] Email Id of the user.
|
|
*/
|
|
email?: string;
|
|
/**
|
|
* @member {string} [userPrincipalName] Unique user principal name.
|
|
*/
|
|
userPrincipalName?: string;
|
|
/**
|
|
* @member {string} [tenantId] Tenant Id of the user.
|
|
*/
|
|
tenantId?: string;
|
|
/**
|
|
* @member {string} [userRole] User Role of the user.
|
|
*/
|
|
userRole?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Settings within teams channel data specific to messages received in Microsoft Teams.
|
|
*/
|
|
export interface TeamsChannelDataSettings {
|
|
/**
|
|
* @member {ChannelInfo} [selectedChannel] Information about the selected Teams channel.
|
|
*/
|
|
selectedChannel?: ChannelInfo;
|
|
/**
|
|
* @member {any} [any] Additional properties that are not otherwise defined by the TeamsChannelDataSettings
|
|
* type but that might appear in the REST JSON object.
|
|
* @remarks With this, properties not represented in the defined type are not dropped when
|
|
* the JSON object is deserialized, but are instead stored in this property. Such properties
|
|
* will be written to a JSON object when the instance is serialized.
|
|
*/
|
|
[properties: string]: unknown;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing a Meeting.
|
|
* Meeting details.
|
|
*/
|
|
export interface Meeting {
|
|
/**
|
|
* @member {string} [role] Meeting role of the user.
|
|
*/
|
|
role?: string;
|
|
/**
|
|
* @member {string} [inMeeting] Indicates if the participant is in the meeting.
|
|
*/
|
|
inMeeting?: boolean;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TeamsMeetingParticipant.
|
|
* Teams meeting participant detailing user Azure Active Directory details.
|
|
*/
|
|
export interface TeamsMeetingParticipant {
|
|
/**
|
|
* @member {TeamsChannelAccount} [user] The user details
|
|
*/
|
|
user?: TeamsChannelAccount;
|
|
/**
|
|
* @member {Meeting} [meeting] The meeting details.
|
|
*/
|
|
meeting?: Meeting;
|
|
/**
|
|
* @member {ConversationAccount} [conversation] The conversation account for the meeting.
|
|
*/
|
|
conversation?: ConversationAccount;
|
|
}
|
|
export interface TeamsPagedMembersResult {
|
|
/**
|
|
* Paging token
|
|
*/
|
|
continuationToken: string;
|
|
/**
|
|
* The Channel Accounts.
|
|
*/
|
|
members: TeamsChannelAccount[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardFact.
|
|
* O365 connector card fact
|
|
*/
|
|
export interface O365ConnectorCardFact {
|
|
/**
|
|
* @member {string} [name] Display name of the fact
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [value] Display value for the fact
|
|
*/
|
|
value?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardImage.
|
|
* O365 connector card image
|
|
*/
|
|
export interface O365ConnectorCardImage {
|
|
/**
|
|
* @member {string} [image] URL for the image
|
|
*/
|
|
image?: string;
|
|
/**
|
|
* @member {string} [title] Alternative text for the image
|
|
*/
|
|
title?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardSection.
|
|
* O365 connector card section
|
|
*/
|
|
export interface O365ConnectorCardSection {
|
|
/**
|
|
* @member {string} [title] Title of the section
|
|
*/
|
|
title?: string;
|
|
/**
|
|
* @member {string} [text] Text for the section
|
|
*/
|
|
text?: string;
|
|
/**
|
|
* @member {string} [activityTitle] Activity title
|
|
*/
|
|
activityTitle?: string;
|
|
/**
|
|
* @member {string} [activitySubtitle] Activity subtitle
|
|
*/
|
|
activitySubtitle?: string;
|
|
/**
|
|
* @member {string} [activityText] Activity text
|
|
*/
|
|
activityText?: string;
|
|
/**
|
|
* @member {string} [activityImage] Activity image
|
|
*/
|
|
activityImage?: string;
|
|
/**
|
|
* @member {ActivityImageType} [activityImageType] Describes how Activity
|
|
* image is rendered. Possible values include: 'avatar', 'article'
|
|
*/
|
|
activityImageType?: ActivityImageType;
|
|
/**
|
|
* @member {boolean} [markdown] Use markdown for all text contents. Default
|
|
* vaule is true.
|
|
*/
|
|
markdown?: boolean;
|
|
/**
|
|
* @member {O365ConnectorCardFact[]} [facts] Set of facts for the current
|
|
* section
|
|
*/
|
|
facts?: O365ConnectorCardFact[];
|
|
/**
|
|
* @member {O365ConnectorCardImage[]} [images] Set of images for the current
|
|
* section
|
|
*/
|
|
images?: O365ConnectorCardImage[];
|
|
/**
|
|
* @member {O365ConnectorCardActionBase[]} [potentialAction] Set of actions
|
|
* for the current section
|
|
*/
|
|
potentialAction?: O365ConnectorCardActionBase[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCard.
|
|
* O365 connector card
|
|
*/
|
|
export interface O365ConnectorCard {
|
|
/**
|
|
* @member {string} [title] Title of the item
|
|
*/
|
|
title?: string;
|
|
/**
|
|
* @member {string} [text] Text for the card
|
|
*/
|
|
text?: string;
|
|
/**
|
|
* @member {string} [summary] Summary for the card
|
|
*/
|
|
summary?: string;
|
|
/**
|
|
* @member {string} [themeColor] Theme color for the card
|
|
*/
|
|
themeColor?: string;
|
|
/**
|
|
* @member {O365ConnectorCardSection[]} [sections] Set of sections for the
|
|
* current card
|
|
*/
|
|
sections?: O365ConnectorCardSection[];
|
|
/**
|
|
* @member {O365ConnectorCardActionBase[]} [potentialAction] Set of actions
|
|
* for the current card
|
|
*/
|
|
potentialAction?: O365ConnectorCardActionBase[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardViewAction.
|
|
* O365 connector card ViewAction action
|
|
*
|
|
* @augments O365ConnectorCardActionBase
|
|
*/
|
|
export interface O365ConnectorCardViewAction extends O365ConnectorCardActionBase {
|
|
/**
|
|
* @member {string[]} [target] Target urls, only the first url effective for
|
|
* card button
|
|
*/
|
|
target?: string[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardOpenUriTarget.
|
|
* O365 connector card OpenUri target
|
|
*/
|
|
export interface O365ConnectorCardOpenUriTarget {
|
|
/**
|
|
* @member {Os} [os] Target operating system. Possible values include:
|
|
* 'default', 'iOS', 'android', 'windows'
|
|
*/
|
|
os?: Os;
|
|
/**
|
|
* @member {string} [uri] Target url
|
|
*/
|
|
uri?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardOpenUri.
|
|
* O365 connector card OpenUri action
|
|
*
|
|
* @augments O365ConnectorCardActionBase
|
|
*/
|
|
export interface O365ConnectorCardOpenUri extends O365ConnectorCardActionBase {
|
|
/**
|
|
* @member {O365ConnectorCardOpenUriTarget[]} [targets] Target os / urls
|
|
*/
|
|
targets?: O365ConnectorCardOpenUriTarget[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardHttpPOST.
|
|
* O365 connector card HttpPOST action
|
|
*
|
|
* @augments O365ConnectorCardActionBase
|
|
*/
|
|
export interface O365ConnectorCardHttpPOST extends O365ConnectorCardActionBase {
|
|
/**
|
|
* @member {string} [body] Content to be posted back to bots via invoke
|
|
*/
|
|
body?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardActionCard.
|
|
* O365 connector card ActionCard action
|
|
*
|
|
* @augments O365ConnectorCardActionBase
|
|
*/
|
|
export interface O365ConnectorCardActionCard extends O365ConnectorCardActionBase {
|
|
/**
|
|
* @member {O365ConnectorCardInputBase[]} [inputs] Set of inputs contained in
|
|
* this ActionCard whose each item can be in any subtype of
|
|
* O365ConnectorCardInputBase
|
|
*/
|
|
inputs?: O365ConnectorCardInputBase[];
|
|
/**
|
|
* @member {O365ConnectorCardActionBase[]} [actions] Set of actions contained
|
|
* in this ActionCard whose each item can be in any subtype of
|
|
* O365ConnectorCardActionBase except O365ConnectorCardActionCard, as nested
|
|
* ActionCard is forbidden.
|
|
*/
|
|
actions?: O365ConnectorCardActionBase[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardTextInput.
|
|
* O365 connector card text input
|
|
*
|
|
* @augments O365ConnectorCardInputBase
|
|
*/
|
|
export interface O365ConnectorCardTextInput extends O365ConnectorCardInputBase {
|
|
/**
|
|
* @member {boolean} [isMultiline] Define if text input is allowed for
|
|
* multiple lines. Default value is false.
|
|
*/
|
|
isMultiline?: boolean;
|
|
/**
|
|
* @member {number} [maxLength] Maximum length of text input. Default value
|
|
* is unlimited.
|
|
*/
|
|
maxLength?: number;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardDateInput.
|
|
* O365 connector card date input
|
|
*
|
|
* @augments O365ConnectorCardInputBase
|
|
*/
|
|
export interface O365ConnectorCardDateInput extends O365ConnectorCardInputBase {
|
|
/**
|
|
* @member {boolean} [includeTime] Include time input field. Default value
|
|
* is false (date only).
|
|
*/
|
|
includeTime?: boolean;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardMultichoiceInputChoice.
|
|
* O365O365 connector card multiple choice input item
|
|
*/
|
|
export interface O365ConnectorCardMultichoiceInputChoice {
|
|
/**
|
|
* @member {string} [display] The text rednered on ActionCard.
|
|
*/
|
|
display?: string;
|
|
/**
|
|
* @member {string} [value] The value received as results.
|
|
*/
|
|
value?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardMultichoiceInput.
|
|
* O365 connector card multiple choice input
|
|
*
|
|
* @augments O365ConnectorCardInputBase
|
|
*/
|
|
export interface O365ConnectorCardMultichoiceInput extends O365ConnectorCardInputBase {
|
|
/**
|
|
* @member {O365ConnectorCardMultichoiceInputChoice[]} [choices] Set of
|
|
* choices whose each item can be in any subtype of
|
|
* O365ConnectorCardMultichoiceInputChoice.
|
|
*/
|
|
choices?: O365ConnectorCardMultichoiceInputChoice[];
|
|
/**
|
|
* @member {Style} [style] Choice item rendering style. Default valud is
|
|
* 'compact'. Possible values include: 'compact', 'expanded'
|
|
*/
|
|
style?: Style;
|
|
/**
|
|
* @member {boolean} [isMultiSelect] Define if this input field allows
|
|
* multiple selections. Default value is false.
|
|
*/
|
|
isMultiSelect?: boolean;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing O365ConnectorCardActionQuery.
|
|
* O365 connector card HttpPOST invoke query
|
|
*/
|
|
export interface O365ConnectorCardActionQuery {
|
|
/**
|
|
* @member {string} [body] The results of body string defined in
|
|
* IO365ConnectorCardHttpPOST with substituted input values
|
|
*/
|
|
body?: string;
|
|
/**
|
|
* @member {string} [actionId] Action Id associated with the HttpPOST action
|
|
* button triggered, defined in O365ConnectorCardActionBase.
|
|
*/
|
|
actionId?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing SigninStateVerificationQuery.
|
|
* Signin state (part of signin action auth flow) verification invoke query
|
|
*/
|
|
export interface SigninStateVerificationQuery {
|
|
/**
|
|
* @member {string} [state] The state string originally received when the
|
|
* signin web flow is finished with a state posted back to client via tab SDK
|
|
* microsoftTeams.authentication.notifySuccess(state)
|
|
*/
|
|
state?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionQueryOptions.
|
|
* Messaging extension query options
|
|
*/
|
|
export interface MessagingExtensionQueryOptions {
|
|
/**
|
|
* @member {number} [skip] Number of entities to skip
|
|
*/
|
|
skip?: number;
|
|
/**
|
|
* @member {number} [count] Number of entities to fetch
|
|
*/
|
|
count?: number;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionParameter.
|
|
* Messaging extension query parameters
|
|
*/
|
|
export interface MessagingExtensionParameter {
|
|
/**
|
|
* @member {string} [name] Name of the parameter
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {any} [value] Value of the parameter
|
|
*/
|
|
value?: any;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionQuery.
|
|
* Messaging extension query
|
|
*/
|
|
export interface MessagingExtensionQuery {
|
|
/**
|
|
* @member {string} [commandId] Id of the command assigned by Bot
|
|
*/
|
|
commandId?: string;
|
|
/**
|
|
* @member {MessagingExtensionParameter[]} [parameters] Parameters for the
|
|
* query
|
|
*/
|
|
parameters?: MessagingExtensionParameter[];
|
|
/**
|
|
* @member {MessagingExtensionQueryOptions} [queryOptions]
|
|
*/
|
|
queryOptions?: MessagingExtensionQueryOptions;
|
|
/**
|
|
* @member {string} [state] State parameter passed back to the bot after
|
|
* authentication/configuration flow
|
|
*/
|
|
state?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadUser.
|
|
* Represents a user entity.
|
|
*/
|
|
export interface MessageActionsPayloadUser {
|
|
/**
|
|
* @member {UserIdentityType} [userIdentityType] The identity type of the
|
|
* user. Possible values include: 'aadUser', 'onPremiseAadUser',
|
|
* 'anonymousGuest', 'federatedUser'
|
|
*/
|
|
userIdentityType?: UserIdentityType;
|
|
/**
|
|
* @member {string} [id] The id of the user.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [displayName] The plaintext display name of the user.
|
|
*/
|
|
displayName?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadApp.
|
|
* Represents an application entity.
|
|
*/
|
|
export interface MessageActionsPayloadApp {
|
|
/**
|
|
* @member {ApplicationIdentityType} [applicationIdentityType] The type of
|
|
* application. Possible values include: 'aadApplication', 'bot',
|
|
* 'tenantBot', 'office365Connector', 'webhook'
|
|
*/
|
|
applicationIdentityType?: ApplicationIdentityType;
|
|
/**
|
|
* @member {string} [id] The id of the application.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [displayName] The plaintext display name of the
|
|
* application.
|
|
*/
|
|
displayName?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadConversation.
|
|
* Represents a team or channel entity.
|
|
*/
|
|
export interface MessageActionsPayloadConversation {
|
|
/**
|
|
* @member {ConversationIdentityType} [conversationIdentityType] The type of
|
|
* conversation, whether a team or channel. Possible values include: 'team',
|
|
* 'channel'
|
|
*/
|
|
conversationIdentityType?: ConversationIdentityType;
|
|
/**
|
|
* @member {string} [id] The id of the team or channel.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [displayName] The plaintext display name of the team or
|
|
* channel entity.
|
|
*/
|
|
displayName?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadFrom.
|
|
* Represents a user, application, or conversation type that either sent or was
|
|
* referenced in a message.
|
|
*/
|
|
export interface MessageActionsPayloadFrom {
|
|
/**
|
|
* @member {MessageActionsPayloadUser} [user] Represents details of the user.
|
|
*/
|
|
user?: MessageActionsPayloadUser;
|
|
/**
|
|
* @member {MessageActionsPayloadApp} [application] Represents details of the
|
|
* app.
|
|
*/
|
|
application?: MessageActionsPayloadApp;
|
|
/**
|
|
* @member {MessageActionsPayloadConversation} [conversation] Represents
|
|
* details of the converesation.
|
|
*/
|
|
conversation?: MessageActionsPayloadConversation;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadAttachment.
|
|
* Represents the attachment in a message.
|
|
*/
|
|
export interface MessageActionsPayloadAttachment {
|
|
/**
|
|
* @member {string} [id] The id of the attachment.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [contentType] The type of the attachment.
|
|
*/
|
|
contentType?: string;
|
|
/**
|
|
* @member {string} [contentUrl] The url of the attachment, in case of a
|
|
* external link.
|
|
*/
|
|
contentUrl?: string;
|
|
/**
|
|
* @member {any} [content] The content of the attachment, in case of a code
|
|
* snippet, email, or file.
|
|
*/
|
|
content?: any;
|
|
/**
|
|
* @member {string} [name] The plaintext display name of the attachment.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [thumbnailUrl] The url of a thumbnail image that might be
|
|
* embedded in the attachment, in case of a card.
|
|
*/
|
|
thumbnailUrl?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadMention.
|
|
* Represents the entity that was mentioned in the message.
|
|
*/
|
|
export interface MessageActionsPayloadMention {
|
|
/**
|
|
* @member {number} [id] The id of the mentioned entity.
|
|
*/
|
|
id?: number;
|
|
/**
|
|
* @member {string} [mentionText] The plaintext display name of the mentioned
|
|
* entity.
|
|
*/
|
|
mentionText?: string;
|
|
/**
|
|
* @member {MessageActionsPayloadFrom} [mentioned] Provides more details on
|
|
* the mentioned entity.
|
|
*/
|
|
mentioned?: MessageActionsPayloadFrom;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayloadReaction.
|
|
* Represents the reaction of a user to a message.
|
|
*/
|
|
export interface MessageActionsPayloadReaction {
|
|
/**
|
|
* @member {ReactionType} [reactionType] The type of reaction given to the
|
|
* message. Possible values include: 'like', 'heart', 'laugh', 'surprised',
|
|
* 'sad', 'angry'
|
|
*/
|
|
reactionType?: ReactionType;
|
|
/**
|
|
* @member {string} [createdDateTime] Timestamp of when the user reacted to
|
|
* the message.
|
|
*/
|
|
createdDateTime?: string;
|
|
/**
|
|
* @member {MessageActionsPayloadFrom} [user] The user with which the
|
|
* reaction is associated.
|
|
*/
|
|
user?: MessageActionsPayloadFrom;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessageActionsPayload.
|
|
* Represents the individual message within a chat or channel where a message
|
|
* actions is taken.
|
|
*/
|
|
export interface MessageActionsPayload {
|
|
/**
|
|
* @member {string} [id] Unique id of the message.
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* @member {string} [replyToId] Id of the parent/root message of the thread.
|
|
*/
|
|
replyToId?: string;
|
|
/**
|
|
* @member {MessageType} [messageType] Type of message - automatically set to
|
|
* message. Possible values include: 'message'
|
|
*/
|
|
messageType?: MessageType;
|
|
/**
|
|
* @member {string} [createdDateTime] Timestamp of when the message was
|
|
* created.
|
|
*/
|
|
createdDateTime?: string;
|
|
/**
|
|
* @member {string} [lastModifiedDateTime] Timestamp of when the message was
|
|
* edited or updated.
|
|
*/
|
|
lastModifiedDateTime?: string;
|
|
/**
|
|
* @member {boolean} [deleted] Indicates whether a message has been soft
|
|
* deleted.
|
|
*/
|
|
deleted?: boolean;
|
|
/**
|
|
* @member {string} [subject] Subject line of the message.
|
|
*/
|
|
subject?: string;
|
|
/**
|
|
* @member {string} [summary] Summary text of the message that could be used
|
|
* for notifications.
|
|
*/
|
|
summary?: string;
|
|
/**
|
|
* @member {Importance} [importance] The importance of the message. Possible
|
|
* values include: 'normal', 'high', 'urgent'
|
|
*/
|
|
importance?: Importance;
|
|
/**
|
|
* @member {string} [locale] Locale of the message set by the client.
|
|
*/
|
|
locale?: string;
|
|
/**
|
|
* @member {string} [linkToMessage] Link back to the message.
|
|
*/
|
|
linkToMessage?: string;
|
|
/**
|
|
* @member {MessageActionsPayloadFrom} [from] Sender of the message.
|
|
*/
|
|
from?: MessageActionsPayloadFrom;
|
|
/**
|
|
* @member {MessageActionsPayloadBody} [body] Plaintext/HTML representation
|
|
* of the content of the message.
|
|
*/
|
|
body?: MessageActionsPayloadBody;
|
|
/**
|
|
* @member {string} [attachmentLayout] How the attachment(s) are displayed in
|
|
* the message.
|
|
*/
|
|
attachmentLayout?: string;
|
|
/**
|
|
* @member {MessageActionsPayloadAttachment[]} [attachments] Attachments in
|
|
* the message - card, image, file, etc.
|
|
*/
|
|
attachments?: MessageActionsPayloadAttachment[];
|
|
/**
|
|
* @member {MessageActionsPayloadMention[]} [mentions] List of entities
|
|
* mentioned in the message.
|
|
*/
|
|
mentions?: MessageActionsPayloadMention[];
|
|
/**
|
|
* @member {MessageActionsPayloadReaction[]} [reactions] Reactions for the
|
|
* message.
|
|
*/
|
|
reactions?: MessageActionsPayloadReaction[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleRequest.
|
|
* Task module invoke request value payload
|
|
*/
|
|
export interface TaskModuleRequest {
|
|
/**
|
|
* @member {any} [data] User input data. Free payload with key-value pairs.
|
|
*/
|
|
data?: any;
|
|
/**
|
|
* @member {TaskModuleRequestContext} [context] Current user context, i.e.,
|
|
* the current theme
|
|
*/
|
|
context?: TaskModuleRequestContext;
|
|
/**
|
|
* @member {TabEntityContext} [tabContext] Tab request context.
|
|
*/
|
|
tabContext?: TabEntityContext;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionAction.
|
|
* Messaging extension action
|
|
*
|
|
* @augments TaskModuleRequest
|
|
*/
|
|
export interface MessagingExtensionAction extends TaskModuleRequest {
|
|
/**
|
|
* @member {string} [commandId] Id of the command assigned by Bot
|
|
*/
|
|
commandId?: string;
|
|
/**
|
|
* @member {CommandContext} [commandContext] The context from which the
|
|
* command originates. Possible values include: 'message', 'compose',
|
|
* 'commandbox'
|
|
*/
|
|
commandContext?: CommandContext;
|
|
/**
|
|
* @member {BotMessagePreviewActionType} [botMessagePreviewAction] Bot message
|
|
* preview action taken by user. Possible values include: 'edit', 'send'
|
|
*/
|
|
botMessagePreviewAction?: BotMessagePreviewActionType;
|
|
/**
|
|
* @member {Activity[]} [botActivityPreview]
|
|
*/
|
|
botActivityPreview?: Activity[];
|
|
/**
|
|
* @member {MessageActionsPayload} [messagePayload] Message content sent as
|
|
* part of the command request.
|
|
*/
|
|
messagePayload?: MessageActionsPayload;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleResponseBase.
|
|
* Base class for Task Module responses
|
|
*/
|
|
export interface TaskModuleResponseBase {
|
|
/**
|
|
* @member {BotMessagePreviewType} [type] Choice of action options when responding to the
|
|
* task/submit message. Possible values include: 'message', 'continue'
|
|
*/
|
|
type?: BotMessagePreviewType;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionAttachment.
|
|
* Messaging extension attachment.
|
|
*
|
|
* @augments Attachment
|
|
*/
|
|
export interface MessagingExtensionAttachment extends Attachment {
|
|
/**
|
|
* @member {Attachment} [preview]
|
|
*/
|
|
preview?: Attachment;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionSuggestedAction.
|
|
* Messaging extension Actions (Only when type is auth or config)
|
|
*/
|
|
export interface MessagingExtensionSuggestedAction {
|
|
/**
|
|
* @member {CardAction[]} [actions] Actions
|
|
*/
|
|
actions?: CardAction[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionResult.
|
|
* Messaging extension result
|
|
*/
|
|
export interface MessagingExtensionResult {
|
|
/**
|
|
* @member {AttachmentLayout} [attachmentLayout] Hint for how to deal with
|
|
* multiple attachments. Possible values include: 'list', 'grid'
|
|
*/
|
|
attachmentLayout?: AttachmentLayout;
|
|
/**
|
|
* @member {MessagingExtensionResultType} [type] The type of the result. Possible values include:
|
|
* 'result', 'auth', 'config', 'message', 'botMessagePreview'
|
|
*/
|
|
type?: MessagingExtensionResultType;
|
|
/**
|
|
* @member {MessagingExtensionAttachment[]} [attachments] (Only when type is
|
|
* result) Attachments
|
|
*/
|
|
attachments?: MessagingExtensionAttachment[];
|
|
/**
|
|
* @member {MessagingExtensionSuggestedAction} [suggestedActions]
|
|
*/
|
|
suggestedActions?: MessagingExtensionSuggestedAction;
|
|
/**
|
|
* @member {string} [text] (Only when type is message) Text
|
|
*/
|
|
text?: string;
|
|
/**
|
|
* @member {Activity} [activityPreview] (Only when type is botMessagePreview)
|
|
* Message activity to preview
|
|
*/
|
|
activityPreview?: Activity;
|
|
}
|
|
/**
|
|
* @interface
|
|
* A cache info object which notifies Teams how long an object should be cached for.
|
|
*/
|
|
export interface CacheInfo {
|
|
/**
|
|
* @member {string} [cacheType] The type of cache for this object.
|
|
*/
|
|
cacheType?: string;
|
|
/**
|
|
* @member {number} [cacheDuration] The time in seconds for which the cached object should remain in the cache
|
|
*/
|
|
cacheDuration?: number;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionActionResponse.
|
|
* Response of messaging extension action
|
|
*/
|
|
export interface MessagingExtensionActionResponse {
|
|
/**
|
|
* @member {TaskModuleContinueResponse | TaskModuleMessageResponse} [task] The JSON for the response to
|
|
* appear in the task module.
|
|
*/
|
|
task?: TaskModuleContinueResponse | TaskModuleMessageResponse;
|
|
/**
|
|
* @member {MessagingExtensionResult} [composeExtension]
|
|
*/
|
|
composeExtension?: MessagingExtensionResult;
|
|
/**
|
|
* @member {CacheInfo} [cacheInfo] The cache info for this response
|
|
*/
|
|
cacheInfo?: CacheInfo;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing MessagingExtensionResponse.
|
|
* Messaging extension response
|
|
*/
|
|
export interface MessagingExtensionResponse {
|
|
/**
|
|
* @member {MessagingExtensionResult} [composeExtension]
|
|
*/
|
|
composeExtension?: MessagingExtensionResult;
|
|
/**
|
|
* @member {CacheInfo} [cacheInfo] The cache info for this response
|
|
*/
|
|
cacheInfo?: CacheInfo;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing FileConsentCard.
|
|
* File consent card attachment.
|
|
*/
|
|
export interface FileConsentCard {
|
|
/**
|
|
* @member {string} [description] File description.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* @member {number} [sizeInBytes] Size of the file to be uploaded in Bytes.
|
|
*/
|
|
sizeInBytes?: number;
|
|
/**
|
|
* @member {any} [acceptContext] Context sent back to the Bot if user
|
|
* consented to upload. This is free flow schema and is sent back in Value
|
|
* field of Activity.
|
|
*/
|
|
acceptContext?: any;
|
|
/**
|
|
* @member {any} [declineContext] Context sent back to the Bot if user
|
|
* declined. This is free flow schema and is sent back in Value field of
|
|
* Activity.
|
|
*/
|
|
declineContext?: any;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing FileDownloadInfo.
|
|
* File download info attachment.
|
|
*/
|
|
export interface FileDownloadInfo {
|
|
/**
|
|
* @member {string} [downloadUrl] File download url.
|
|
*/
|
|
downloadUrl?: string;
|
|
/**
|
|
* @member {string} [uniqueId] Unique Id for the file.
|
|
*/
|
|
uniqueId?: string;
|
|
/**
|
|
* @member {string} [fileType] Type of file.
|
|
*/
|
|
fileType?: string;
|
|
/**
|
|
* @member {any} [etag] ETag for the file.
|
|
*/
|
|
etag?: any;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing FileInfoCard.
|
|
* File info card.
|
|
*/
|
|
export interface FileInfoCard {
|
|
/**
|
|
* @member {string} [uniqueId] Unique Id for the file.
|
|
*/
|
|
uniqueId?: string;
|
|
/**
|
|
* @member {string} [fileType] Type of file.
|
|
*/
|
|
fileType?: string;
|
|
/**
|
|
* @member {any} [etag] ETag for the file.
|
|
*/
|
|
etag?: any;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing FileUploadInfo.
|
|
* Information about the file to be uploaded.
|
|
*/
|
|
export interface FileUploadInfo {
|
|
/**
|
|
* @member {string} [name] Name of the file.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* @member {string} [uploadUrl] URL to an upload session that the bot can use
|
|
* to set the file contents.
|
|
*/
|
|
uploadUrl?: string;
|
|
/**
|
|
* @member {string} [contentUrl] URL to file.
|
|
*/
|
|
contentUrl?: string;
|
|
/**
|
|
* @member {string} [uniqueId] ID that uniquely identifies the file.
|
|
*/
|
|
uniqueId?: string;
|
|
/**
|
|
* @member {string} [fileType] Type of the file.
|
|
*/
|
|
fileType?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing FileConsentCardResponse.
|
|
* Represents the value of the invoke activity sent when the user acts on a
|
|
* file consent card
|
|
*/
|
|
export interface FileConsentCardResponse {
|
|
/**
|
|
* @member {Action} [action] The action the user took. Possible values
|
|
* include: 'accept', 'decline'
|
|
*/
|
|
action?: Action;
|
|
/**
|
|
* @member {any} [context] The context associated with the action.
|
|
*/
|
|
context?: any;
|
|
/**
|
|
* @member {FileUploadInfo} [uploadInfo] If the user accepted the file,
|
|
* contains information about the file to be uploaded.
|
|
*/
|
|
uploadInfo?: FileUploadInfo;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Current tab request context, i.e., the current theme.
|
|
*/
|
|
export interface TabContext {
|
|
/**
|
|
* @member {theme} [string] The current user's theme.
|
|
*/
|
|
theme?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Current TabRequest entity context, or 'tabEntityId'.
|
|
*/
|
|
export interface TabEntityContext {
|
|
/**
|
|
* @member {string} [tabEntityId] The entity id of the tab.
|
|
*/
|
|
tabEntityId?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Invoke ('tab/fetch') request value payload.
|
|
*/
|
|
export interface TabRequest {
|
|
/**
|
|
* @member {TabEntityContext} [tabContext] The current tab entity request context.
|
|
*/
|
|
tabContext?: TabEntityContext;
|
|
/**
|
|
* @member {TabContext} [context] The current user context, i.e., the current theme.
|
|
*/
|
|
context?: TabContext;
|
|
/**
|
|
* @member {string} [state] The magic code for OAuth flow.
|
|
*/
|
|
state?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Envelope for Card Tab Response Payload.
|
|
*/
|
|
export interface TabResponse {
|
|
/**
|
|
* @member {TabResponsePayload} [tab] The response to the tab/fetch message.
|
|
*/
|
|
tab: TabResponsePayload;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Envelope for cards for a Tab request.
|
|
*/
|
|
export interface TabResponseCard {
|
|
/**
|
|
* @member {Record<string, any>} [card] The adaptive card for this card tab response.
|
|
*/
|
|
card: Record<string, unknown>;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Envelope for cards for a TabResponse.
|
|
*/
|
|
export interface TabResponseCards {
|
|
/**
|
|
* @member {TabResponseCard[]} [cards] Adaptive cards for this card tab response.
|
|
*/
|
|
cards: TabResponseCard[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Payload for Tab Response.
|
|
*/
|
|
export interface TabResponsePayload {
|
|
/**
|
|
* @member {'continue' | 'auth' | 'silentAuth'} [type] Choice of action options when responding to the tab/fetch message.
|
|
*/
|
|
type?: 'continue' | 'auth' | 'silentAuth';
|
|
/**
|
|
* @member {TabResponseCards} [value] The TabResponseCards to send when responding to
|
|
* tab/fetch activity with type of 'continue'.
|
|
*/
|
|
value?: TabResponseCards;
|
|
/**
|
|
* @member {TabSuggestedActions} [suggestedActions] The Suggested Actions for this card tab.
|
|
*/
|
|
suggestedActions?: TabSuggestedActions;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Invoke ('tab/submit') request value payload.
|
|
*/
|
|
export interface TabSubmit {
|
|
/**
|
|
* @member {TabEntityContext} [tabContext] The current tab's entity request context.
|
|
*/
|
|
tabContext?: TabEntityContext;
|
|
/**
|
|
* @member {TabContext} [context] The current user context, i.e., the current theme.
|
|
*/
|
|
context?: TabContext;
|
|
/**
|
|
* @member {TabSubmitData} [data] User input. Free payload containing properties of key-value pairs.
|
|
*/
|
|
data?: TabSubmitData;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Invoke ('tab/submit') request value payload data.
|
|
*/
|
|
export interface TabSubmitData {
|
|
/**
|
|
* @member {string} [type] Should currently be 'tab/submit'.
|
|
*/
|
|
type?: string;
|
|
/**
|
|
* @member {any} [any] Additional properties not otherwise defined in TabSubmit.
|
|
*/
|
|
[properties: string]: unknown;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Tab SuggestedActions (Only when type is 'auth' or 'silentAuth').
|
|
*/
|
|
export interface TabSuggestedActions {
|
|
/**
|
|
* @member {CardAction[]} [actions] Actions to show in the card response.
|
|
*/
|
|
actions: CardAction[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Tab response to 'task/submit'.
|
|
*
|
|
* @augments TaskModuleResponseBase
|
|
*/
|
|
export interface TaskModuleCardResponse extends TaskModuleResponseBase {
|
|
/**
|
|
* @member {string} [value] JSON for Adaptive cards to appear in the tab.
|
|
*/
|
|
value?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleTaskInfo.
|
|
* Metadata for a Task Module.
|
|
*/
|
|
export interface TaskModuleTaskInfo {
|
|
/**
|
|
* @member {string} [title] Appears below the app name and to the right of
|
|
* the app icon.
|
|
*/
|
|
title?: string;
|
|
/**
|
|
* @member {number | 'small' | 'medium' | 'large'} [height] This can be a number, representing the task
|
|
* module's height in pixels, or a string, one of: small, medium, large.
|
|
*/
|
|
height?: number | 'small' | 'medium' | 'large';
|
|
/**
|
|
* @member {number | 'small' | 'medium' | 'large'} [width] This can be a number, representing the task module's
|
|
* width in pixels, or a string, one of: small, medium, large.
|
|
*/
|
|
width?: number | 'small' | 'medium' | 'large';
|
|
/**
|
|
* @member {string} [url] The URL of what is loaded as an iframe inside the
|
|
* task module. One of url or card is required.
|
|
*/
|
|
url?: string;
|
|
/**
|
|
* @member {Attachment} [card] The JSON for the Adaptive card to appear in
|
|
* the task module.
|
|
*/
|
|
card?: Attachment;
|
|
/**
|
|
* @member {string} [fallbackUrl] If a client does not support the task
|
|
* module feature, this URL is opened in a browser tab.
|
|
*/
|
|
fallbackUrl?: string;
|
|
/**
|
|
* @member {string} [completionBotId] If a client does not support the task
|
|
* module feature, this URL is opened in a browser tab.
|
|
*/
|
|
completionBotId?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleContinueResponse.
|
|
* Task Module Response with continue action.
|
|
*
|
|
* @augments TaskModuleResponseBase
|
|
*/
|
|
export interface TaskModuleContinueResponse extends TaskModuleResponseBase {
|
|
/**
|
|
* @member {TaskModuleTaskInfo} [value] The JSON for the Adaptive card to
|
|
* appear in the task module.
|
|
*/
|
|
value?: TaskModuleTaskInfo;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleMessageResponse.
|
|
* Task Module response with message action.
|
|
*
|
|
* @augments TaskModuleResponseBase
|
|
*/
|
|
export interface TaskModuleMessageResponse extends TaskModuleResponseBase {
|
|
/**
|
|
* @member {string} [value] Teams will display the value of value in a popup
|
|
* message box.
|
|
*/
|
|
value?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleResponse.
|
|
* Envelope for Task Module Response.
|
|
*/
|
|
export interface TaskModuleResponse {
|
|
/**
|
|
* @member {TaskModuleContinueResponse | TaskModuleMessageResponse} [task] The JSON for the response to
|
|
* appear in the task module.
|
|
*/
|
|
task?: TaskModuleContinueResponse | TaskModuleMessageResponse;
|
|
/**
|
|
* @member {CacheInfo} [cacheInfo] The cache info for this response
|
|
*/
|
|
cacheInfo?: CacheInfo;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing TaskModuleRequestContext.
|
|
* Current user context, i.e., the current theme
|
|
*/
|
|
export interface TaskModuleRequestContext {
|
|
/**
|
|
* @member {string} [theme]
|
|
*/
|
|
theme?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* An interface representing AppBasedLinkQuery.
|
|
* Invoke request body type for app-based link query.
|
|
*/
|
|
export interface AppBasedLinkQuery {
|
|
/**
|
|
* @member {string} [url] Url queried by user
|
|
*/
|
|
url?: string;
|
|
/**
|
|
* @member {string} [state] State is the magic code for OAuth Flow
|
|
*/
|
|
state?: string;
|
|
}
|
|
/**
|
|
* Defines values for Type.
|
|
* Possible values include: 'ViewAction', 'OpenUri', 'HttpPOST', 'ActionCard'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type Type = 'ViewAction' | 'OpenUri' | 'HttpPOST' | 'ActionCard';
|
|
/**
|
|
* Defines values for ActivityImageType.
|
|
* Possible values include: 'avatar', 'article'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type ActivityImageType = 'avatar' | 'article';
|
|
/**
|
|
* Defines possible values for BotConfigAuth type.
|
|
* Possible values include: "auth"
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type BotConfigAuthType = 'auth';
|
|
/**
|
|
* Defines values for Os.
|
|
* Possible values include: 'default', 'iOS', 'android', 'windows'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type Os = 'default' | 'iOS' | 'android' | 'windows';
|
|
/**
|
|
* Defines values for O365ConnectorCardInputBaseType.
|
|
* Possible values include: 'textInput', 'dateInput', 'multichoiceInput'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type O365ConnectorCardInputBaseType = 'textInput' | 'dateInput' | 'multichoiceInput';
|
|
/**
|
|
* @deprecated Use O365ConnectorCardInputBaseType instead.
|
|
*/
|
|
export declare type Type1 = O365ConnectorCardInputBaseType;
|
|
/**
|
|
* Defines values for Style.
|
|
* Possible values include: 'compact', 'expanded'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type Style = 'compact' | 'expanded';
|
|
/**
|
|
* Defines values for UserIdentityType.
|
|
* Possible values include: 'aadUser', 'onPremiseAadUser', 'anonymousGuest', 'federatedUser'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type UserIdentityType = 'aadUser' | 'onPremiseAadUser' | 'anonymousGuest' | 'federatedUser';
|
|
/**
|
|
* Defines values for ApplicationIdentityType.
|
|
* Possible values include: 'aadApplication', 'bot', 'tenantBot', 'office365Connector', 'webhook'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type ApplicationIdentityType = 'aadApplication' | 'bot' | 'tenantBot' | 'office365Connector' | 'webhook';
|
|
/**
|
|
* Defines values for ConversationIdentityType.
|
|
* Possible values include: 'team', 'channel'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type ConversationIdentityType = 'team' | 'channel';
|
|
/**
|
|
* Defines values for ContentType.
|
|
* Possible values include: 'html', 'text'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type ContentType = 'html' | 'text';
|
|
/**
|
|
* Defines values for ReactionType.
|
|
* Possible values include: 'like', 'heart', 'laugh', 'surprised', 'sad', 'angry'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type ReactionType = 'like' | 'heart' | 'laugh' | 'surprised' | 'sad' | 'angry';
|
|
/**
|
|
* Defines values for MessageType.
|
|
* Possible values include: 'message'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type MessageType = 'message';
|
|
/**
|
|
* Defines values for Importance.
|
|
* Possible values include: 'normal', 'high', 'urgent'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type Importance = 'normal' | 'high' | 'urgent';
|
|
/**
|
|
* Defines values for CommandContext.
|
|
* Possible values include: 'message', 'compose', 'commandbox'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type CommandContext = 'message' | 'compose' | 'commandbox';
|
|
/**
|
|
* Defines values for BotMessagePreviewActionType.
|
|
* Possible values include: 'edit', 'send'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type BotMessagePreviewActionType = 'edit' | 'send';
|
|
/**
|
|
* Defines values for BotMessagePreviewType.
|
|
* Possible values include: 'message', 'continue'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type BotMessagePreviewType = 'message' | 'continue';
|
|
/**
|
|
* @deprecated Use BotMessagePreviewType
|
|
*/
|
|
export declare type Type2 = BotMessagePreviewType;
|
|
/**
|
|
* Defines values for AttachmentLayout.
|
|
* Possible values include: 'list', 'grid'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type AttachmentLayout = 'list' | 'grid';
|
|
/**
|
|
* Defines values for MessagingExtensionResultType.
|
|
* Possible values include: 'result', 'auth', 'config', 'message', 'botMessagePreview', 'silentAuth'.
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type MessagingExtensionResultType = 'result' | 'auth' | 'config' | 'message' | 'botMessagePreview' | 'silentAuth';
|
|
/**
|
|
* @deprecated Use MessagingExtensionResultType instead
|
|
*/
|
|
export declare type Type3 = MessagingExtensionResultType;
|
|
/**
|
|
* Defines values for Action.
|
|
* Possible values include: 'accept', 'decline'
|
|
*
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
export declare type Action = 'accept' | 'decline';
|
|
/**
|
|
* @interface
|
|
*/
|
|
interface MeetingDetailsBase {
|
|
/**
|
|
* @member {string} [id] The meeting's Id, encoded as a BASE64 string.
|
|
*/
|
|
id: string;
|
|
/**
|
|
* @member {string} [joinUrl] The URL used to join the meeting.
|
|
*/
|
|
joinUrl: string;
|
|
/**
|
|
* @member {string} [title] The title of the meeting.
|
|
*/
|
|
title: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details of a Teams meeting.
|
|
*/
|
|
export interface MeetingDetails extends MeetingDetailsBase {
|
|
/**
|
|
* @member {string} [msGraphResourceId] The MsGraphResourceId, used specifically for MS Graph API calls.
|
|
*/
|
|
msGraphResourceId: string;
|
|
/**
|
|
* @member {Date} [scheduledStartTime] The meeting's scheduled start time, in UTC.
|
|
*/
|
|
scheduledStartTime?: Date;
|
|
/**
|
|
* @member {Date} [scheduledEndTime] The meeting's scheduled end time, in UTC.
|
|
*/
|
|
scheduledEndTime?: Date;
|
|
/**
|
|
* @member {string} [type] The meeting's type.
|
|
*/
|
|
type: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* General information about a Teams meeting.
|
|
*/
|
|
export interface MeetingInfo {
|
|
/**
|
|
* @member {MeetingDetails} [details] The specific details of a Teams meeting.
|
|
*/
|
|
details: MeetingDetails;
|
|
/**
|
|
* @member {ConversationAccount} [conversation] The Conversation Account for the meeting.
|
|
*/
|
|
conversation: ConversationAccount;
|
|
/**
|
|
* @member {TeamsChannelAccount} [organizer] The organizer's user information.
|
|
*/
|
|
organizer: TeamsChannelAccount;
|
|
}
|
|
/**
|
|
* @interface
|
|
*/
|
|
export interface MeetingEventDetails extends MeetingDetailsBase {
|
|
/**
|
|
* @member {string} [meetingType] The meeting's type.
|
|
*/
|
|
meetingType: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details of a Teams meeting start event.
|
|
*/
|
|
export interface MeetingStartEventDetails extends MeetingEventDetails {
|
|
/**
|
|
* @member {Date} [startTime] Timestamp for meeting start, in UTC.
|
|
*/
|
|
startTime: Date;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details of a Teams meeting end event.
|
|
*/
|
|
export interface MeetingEndEventDetails extends MeetingEventDetails {
|
|
/**
|
|
* @member {Date} [endTime] Timestamp for meeting end, in UTC.
|
|
*/
|
|
endTime: Date;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies base details of a Teams meeting send notification payload.
|
|
*/
|
|
export interface MeetingNotificationBase<T> {
|
|
/**
|
|
* @member {string} [type] The type of meeting notification.
|
|
*/
|
|
type: string;
|
|
/**
|
|
* @template T
|
|
* @member {T} value The specific details of the meeting notification.
|
|
*/
|
|
value: T;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies details of a targeted Teams meeting send notification payload.
|
|
*/
|
|
export interface TargetedMeetingNotification extends MeetingNotificationBase<TargetedMeetingNotificationValue> {
|
|
/**
|
|
* @member {string} [type] The type of meeting notification.
|
|
*/
|
|
type: 'targetedMeetingNotification';
|
|
/**
|
|
* @member {MeetingNotificationChannelData} [channelData] The channel data of the meeting notification.
|
|
*/
|
|
channelData?: MeetingNotificationChannelData;
|
|
}
|
|
/**
|
|
* @type {MeetingNotification}
|
|
* Defines the base Teams meeting notification type.
|
|
*/
|
|
export declare type MeetingNotification = TargetedMeetingNotification;
|
|
/**
|
|
* @interface
|
|
* Specifies recipients and surfaces to target in a Teams meeting notification.
|
|
*/
|
|
export interface TargetedMeetingNotificationValue {
|
|
/**
|
|
* @member {string[]} [recipients] The list of recipient meeting MRIs.
|
|
*/
|
|
recipients: string[];
|
|
/**
|
|
* @member {MeetingSurface[]} [surfaces] The List of notification surface configuration.
|
|
*/
|
|
surfaces: MeetingSurface[];
|
|
}
|
|
/**
|
|
* @type {MeetingSurface}
|
|
* Defines the generic Teams meeting surface type.
|
|
*/
|
|
export declare type MeetingSurface = MeetingStageSurface<any> | MeetingTabIconSurface;
|
|
/**
|
|
* @interface
|
|
* Specifies the meeting stage surface in a Teams meeting notification.
|
|
*/
|
|
export interface MeetingStageSurface<T> {
|
|
/**
|
|
* @member {string} [surface] The surface type.
|
|
*/
|
|
surface: 'meetingStage';
|
|
/**
|
|
* @member {string} [contentType] The content type.
|
|
*/
|
|
contentType: 'task';
|
|
/**
|
|
* @template T
|
|
* @member {T} [content] The content to display in the meeting notification.
|
|
*/
|
|
content: T;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the meeting tab icon surface in a Teams meeting notification.
|
|
*/
|
|
export interface MeetingTabIconSurface {
|
|
/**
|
|
* @member {string} [surface] The surface type.
|
|
*/
|
|
surface: 'meetingTabIcon';
|
|
/**
|
|
* @member {string} [tabEntityId] The tab entity ID.
|
|
*/
|
|
tabEntityId?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies channel data associated with the Teams meeting notification.
|
|
*/
|
|
export interface MeetingNotificationChannelData {
|
|
/**
|
|
* @member {OnBehalfOf} [onBehalfOf] The user that the bot is sending the notification on behalfOf, if any.
|
|
*/
|
|
onBehalfOf?: OnBehalfOf[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the Teams user that triggered the Teams meeting notification.
|
|
*/
|
|
export interface OnBehalfOf {
|
|
/**
|
|
* @member {number} [itemid] The id of the item.
|
|
*/
|
|
itemid: 0 | number;
|
|
/**
|
|
* @member {string} [mentionType] The mention type of a "person".
|
|
*/
|
|
mentionType: 'person' | string;
|
|
/**
|
|
* @member {string} [mri] Ther user MRI of the sender.
|
|
*/
|
|
mri: string;
|
|
/**
|
|
* @member {string} [displayName] The of the person.
|
|
*/
|
|
displayName?: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the recipients for which the Teams meeting notification was not sent.
|
|
*/
|
|
export interface MeetingNotificationRecipientFailureInfo {
|
|
/**
|
|
* @member {string} [recipientMri] The targeted recipient's MRI.
|
|
*/
|
|
recipientMri: string;
|
|
/**
|
|
* @member {string} [failureReason] The reason for which the meetings notification could not be sent to the recipient.
|
|
*/
|
|
failureReason: string;
|
|
/**
|
|
* @member {string} [errorCode] The error code.
|
|
*/
|
|
errorCode: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the list of recipients for which the Teams meeting notification was not sent.
|
|
*/
|
|
export interface MeetingNotificationResponse {
|
|
/**
|
|
* @member {string} [recipientsFailureInfo] The list of recipients that failed to recieve the sent meetings notification.
|
|
*/
|
|
recipientsFailureInfo?: MeetingNotificationRecipientFailureInfo[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details about the meeting participants.
|
|
*/
|
|
export interface MeetingParticipantsEventDetails {
|
|
/**
|
|
* @member {TeamsMeetingMember[]} [members] The participants info.
|
|
*/
|
|
members: TeamsMeetingMember[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details about the meeting participants.
|
|
*/
|
|
export interface TeamsMeetingMember {
|
|
/**
|
|
* @member {TeamsChannelAccount} [user] The participant account.
|
|
*/
|
|
user: TeamsChannelAccount;
|
|
/**
|
|
* @member {UserMeetingDetails} [meeting] The participants info.
|
|
*/
|
|
meeting: UserMeetingDetails;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specific details of a user in a Teams meeting.
|
|
*/
|
|
export interface UserMeetingDetails {
|
|
/**
|
|
* @member {boolean} [inMeeting] The user in meeting indicator.
|
|
*/
|
|
inMeeting: boolean;
|
|
/**
|
|
* @member {string} [role] The user's role.
|
|
*/
|
|
role: string;
|
|
}
|
|
/**
|
|
* @type {TeamsMember}
|
|
* Defines the TeamsMember type.
|
|
*/
|
|
export declare type TeamsMember = {
|
|
/**
|
|
* @member {string} [id] The member id.
|
|
*/
|
|
id: string;
|
|
};
|
|
/**
|
|
* @interface
|
|
* Specifies the body of the teams batch operation request.
|
|
*/
|
|
export interface BatchOperationRequest {
|
|
/**
|
|
* @member {Activity} [activity] The activity of the request.
|
|
*/
|
|
activity: Activity;
|
|
/**
|
|
* @member {string} [tenantId] The id of the Teams tenant.
|
|
*/
|
|
tenantId: string;
|
|
/**
|
|
* @member {string} [teamId] The id of the team.
|
|
*/
|
|
teamId?: string;
|
|
/**
|
|
* @member {TeamsMember[]} [members] The list of members.
|
|
*/
|
|
members?: TeamsMember[];
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the body of the teams batch operation response.
|
|
*/
|
|
export interface BatchOperationResponse {
|
|
/**
|
|
* @member {string} [operationId] The id of the operation executed.
|
|
*/
|
|
operationId: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the body of the teams batch operation state response.
|
|
*/
|
|
export interface BatchOperationStateResponse {
|
|
/**
|
|
* @member {string} [state] The state of the operation.
|
|
*/
|
|
state: string;
|
|
/**
|
|
* @member {Record<number, number>} [statusMap] The status map for processed operations.
|
|
*/
|
|
statusMap: Record<number, number>;
|
|
/**
|
|
* @member {Date} [retryAfter] The datetime value to retry the operation.
|
|
*/
|
|
retryAfter?: Date;
|
|
/**
|
|
* @member {number} [totalEntriesCount] The number of entries.
|
|
*/
|
|
totalEntriesCount: number;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the failed entry with its id and error.
|
|
*/
|
|
export interface BatchFailedEntry {
|
|
/**
|
|
* @member {string} [id] The id of the failed entry.
|
|
*/
|
|
id: string;
|
|
/**
|
|
* @member {string} [error] The error of the failed entry.
|
|
*/
|
|
error: string;
|
|
}
|
|
/**
|
|
* @interface
|
|
* Specifies the body of the batch failed entries response.
|
|
*/
|
|
export interface BatchFailedEntriesResponse {
|
|
/**
|
|
* @member {string} [continuationToken] The continuation token for paginated results.
|
|
*/
|
|
continuationToken: string;
|
|
/**
|
|
* @member {BatchFailedEntry[]} [failedEntryResponses] The list of failed entries result of a batch operation.
|
|
*/
|
|
failedEntryResponses: BatchFailedEntry[];
|
|
}
|
|
//# sourceMappingURL=index.d.ts.map
|