@microsoft/teams.api
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t
276 lines (273 loc) • 13.6 kB
text/typescript
import { Client, ClientOptions } from '@microsoft/teams.common';
import { Conversation } from '../../models/conversation/conversation.mjs';
import { TeamsChannelAccount, Account } from '../../models/account.mjs';
import { ConversationResource } from '../../models/conversation/conversation-resource.mjs';
import { PagedMembersResult } from '../../models/conversation/paged-members-result.mjs';
import { MessageReactionType } from '../../models/message/message-reaction.mjs';
import { C as ConversationActivityClient, D as DeprecatedInputActivity, a as ActivityParams } from '../../activity--_UgQSMq.mjs';
import { ApiClientSettings } from '../api-client-settings.mjs';
import { ReactionClient } from '../reaction/reaction.mjs';
import { ConversationMemberClient } from './member.mjs';
import '../../models/agentic-identity.mjs';
import '../../models/conversation-type.mjs';
import '../../models/membership-source.mjs';
import '../../models/membership-source-types.mjs';
import '../../models/membership-types.mjs';
import '../../models/role.mjs';
import '../../models/message/message-user.mjs';
import '../../models/resource.mjs';
import '@microsoft/teams.cards';
import '../../message-BhoTpQct.mjs';
import '../../models/entity/mention-entity.mjs';
import '../../models/entity/quoted-reply-entity.mjs';
import '../../models/input-hint.mjs';
import '../../models/text-format.mjs';
import '../../models/attachment/attachment.mjs';
import '../../models/attachment/card-attachment.mjs';
import '../../models/card/animation-card.mjs';
import '../../models/card/card-action.mjs';
import '../../models/card/media-url.mjs';
import '../../models/card/thumbnail-url.mjs';
import '../../models/card/audio-card.mjs';
import '../../models/card/hero-card.mjs';
import '../../models/card/card-image.mjs';
import '../../models/card/thumbnail-card.mjs';
import '../../models/card/video-card.mjs';
import '../../models/oauth/oauth-card.mjs';
import '../../models/token/token-post-resource.mjs';
import '../../models/token-exchange/token-exchange-resource.mjs';
import '../../models/sign-in/sign-in-card.mjs';
import '../../models/attachment/attachment-layout.mjs';
import '../../models/suggested-actions.mjs';
import '../../models/importance.mjs';
import '../../models/delivery-mode.mjs';
import '../../activities/activity.mjs';
import '../../models/channel-id.mjs';
import '../../models/conversation/conversation-reference.mjs';
import '../../models/entity/index.mjs';
import '../../models/entity/ai-message-entity.mjs';
import '../../models/entity/message-entity.mjs';
import '../../models/entity/citation-entity.mjs';
import '../../models/entity/sensitivity-usage-info.mjs';
import '../../models/entity/client-info-entity.mjs';
import '../../models/entity/product-info-entity.mjs';
import '../../models/entity/sensitive-usage-entity.mjs';
import '../../models/entity/stream-info-entity.mjs';
import '../../models/entity/targeted-message-info-entity.mjs';
import '../../models/channel-data/index.mjs';
import '../../models/meeting/meeting-info.mjs';
import '../../models/meeting/meeting-details.mjs';
import '../../models/channel-data/app-info.mjs';
import '../../models/channel-data/channel-info.mjs';
import '../../models/channel-data/chat-info.mjs';
import '../../models/channel-data/feedback-loop.mjs';
import '../../models/channel-data/notification-info.mjs';
import '../../models/channel-data/on-behalf-of.mjs';
import '../../models/channel-data/reply-chain-info.mjs';
import '../../models/channel-data/settings.mjs';
import '../../models/channel-data/source-info.mjs';
import '../../models/channel-data/team-info.mjs';
import '../../models/channel-data/tenant-info.mjs';
import '../../activities/typing.mjs';
import '../../activities/message/message-update.mjs';
import '../../auth/cloud-environment.mjs';
import '../../auth/credentials.mjs';
/**
* @deprecated This will be removed by end of summer 2026.
*/
type GetConversationsParams = {
readonly continuationToken?: string;
};
type CreateConversationParams = {
/**
* @deprecated This will be removed by end of summer 2026.
*/
readonly isGroup?: boolean;
/**
* @deprecated This will be removed by end of summer 2026.
*/
readonly bot?: Partial<Account>;
readonly members?: Account[];
/**
* @deprecated This will be removed by end of summer 2026.
*/
readonly topicName?: string;
readonly tenantId?: string;
readonly activity?: ActivityParams;
readonly channelData?: Record<string, any>;
};
interface IConversationActivityOperations {
/**
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
create(params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['create']>;
create(params: ActivityParams): ReturnType<ConversationActivityClient['create']>;
/**
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
update(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['update']>;
update(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['update']>;
/**
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
reply(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['reply']>;
reply(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['reply']>;
delete(id: string): ReturnType<ConversationActivityClient['delete']>;
members(activityId: string): ReturnType<ConversationActivityClient['getMembers']>;
/**
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
createTargeted(params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['createTargeted']>;
createTargeted(params: ActivityParams): ReturnType<ConversationActivityClient['createTargeted']>;
/**
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
updateTargeted(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['updateTargeted']>;
updateTargeted(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['updateTargeted']>;
deleteTargeted(id: string): ReturnType<ConversationActivityClient['deleteTargeted']>;
}
/**
* @deprecated This will be removed by end of summer 2026.
*/
type GetConversationsResponse = {
/**
* Paging token
*/
continuationToken: string;
/**
* List of conversations
*/
conversations: Conversation[];
};
declare class ConversationClient {
readonly serviceUrl: string;
get http(): Client;
set http(v: Client);
protected _http: Client;
protected _activities: ConversationActivityClient;
protected _members: ConversationMemberClient;
protected _reactions: ReactionClient;
protected _apiClientSettings: Partial<ApiClientSettings>;
constructor(serviceUrl: string, options?: Client | ClientOptions, apiClientSettings?: Partial<ApiClientSettings>);
/**
* @deprecated Use the flattened activity methods on `ConversationClient`
* instead (e.g. `conversations.createActivity(conversationId, ...)`). This
* grouped accessor will be removed in a future release.
*/
activities(conversationId: string): IConversationActivityOperations;
/**
* @deprecated Use the flattened member methods on `ConversationClient`
* instead (e.g. `conversations.getMembers(conversationId)`). This grouped
* accessor will be removed in a future release.
*/
members(conversationId: string): {
get: () => Promise<TeamsChannelAccount[]>;
getById: (id: string) => Promise<TeamsChannelAccount>;
getPaged: (pageSize?: number, continuationToken?: string) => Promise<PagedMembersResult>;
/**
* @deprecated This will be removed by end of summer 2026.
*/
delete: (id: string) => Promise<void>;
};
/**
* Create an activity in a conversation.
*
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
createActivity(conversationId: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['create']>;
createActivity(conversationId: string, params: ActivityParams): ReturnType<ConversationActivityClient['create']>;
/**
* Update an activity in a conversation.
*
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
updateActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['update']>;
updateActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['update']>;
/**
* Reply to an activity in a conversation.
*
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
replyToActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['reply']>;
replyToActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['reply']>;
/**
* Create an activity inside a reply chain (thread).
*
* Posts to `/v3/conversations/{conversationId}/replyChains/{id}`.
*
* @param conversationId the id of the chat or channel: `channelData.chat.id` or `channelData.channel.id`, **not** `conversation.id`.
* @param id the id of the message at the root of the reply chain: `channelData.replyChain.id`
* @param params the activity to send
* @throws Error when `conversationId` or `id` is empty or blank
* @throws Error when `conversationId` or `id` is a dot segment (`.` or `..`)
*
* @experimental This API is in preview and may change in the future. Diagnostic: ExperimentalTeamsThreading
*/
createReplyChainActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['createReplyChain']>;
/**
* Create an activity inside a reply chain (thread) that is visible only to the specified recipient.
*
* Takes the same arguments as {@link createReplyChainActivity}.
*
* @param conversationId the id of the chat or channel: `channelData.chat.id` or `channelData.channel.id`, **not** `conversation.id`.
* @param id the id of the message at the root of the reply chain: `channelData.replyChain.id`
* @param params the activity to send
* @throws Error when `conversationId` or `id` is empty or blank
* @throws Error when `conversationId` or `id` is a dot segment (`.` or `..`)
*
* @experimental This API is in preview and may change in the future. Diagnostic: ExperimentalTeamsThreading
*/
createTargetedReplyChainActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['createTargetedReplyChain']>;
/**
* Delete an activity in a conversation.
*/
deleteActivity(conversationId: string, id: string): Promise<void>;
/**
* Get the members of an activity in a conversation.
*/
getActivityMembers(conversationId: string, id: string): Promise<TeamsChannelAccount[]>;
/**
* Create a targeted activity in a conversation.
*
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
createTargetedActivity(conversationId: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['createTargeted']>;
createTargetedActivity(conversationId: string, params: ActivityParams): ReturnType<ConversationActivityClient['createTargeted']>;
/**
* Update a targeted activity in a conversation.
*
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
updateTargetedActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['updateTargeted']>;
updateTargetedActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['updateTargeted']>;
/**
* Delete a targeted activity in a conversation.
*/
deleteTargetedActivity(conversationId: string, id: string): Promise<void>;
/**
* Get the members of a conversation.
*/
getMembers(conversationId: string): Promise<TeamsChannelAccount[]>;
/**
* Get a member of a conversation by id.
*/
getMemberById(conversationId: string, id: string): Promise<TeamsChannelAccount>;
/**
* Get paged members of a conversation.
*/
getPagedMembers(conversationId: string, pageSize?: number, continuationToken?: string): Promise<PagedMembersResult>;
/**
* Add a reaction to an activity in a conversation.
*/
addReaction(conversationId: string, activityId: string, reactionType: MessageReactionType): Promise<void>;
/**
* Delete a reaction from an activity in a conversation.
*/
deleteReaction(conversationId: string, activityId: string, reactionType: MessageReactionType): Promise<void>;
/**
* @deprecated This will be removed by end of summer 2026.
*/
get(params: GetConversationsParams): Promise<GetConversationsResponse>;
create(params: CreateConversationParams): Promise<ConversationResource>;
}
export { ActivityParams, ConversationActivityClient, ConversationClient, ConversationMemberClient, type CreateConversationParams, type GetConversationsParams, type GetConversationsResponse, type IConversationActivityOperations };