UNPKG

@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.5 kB
import { Client, ClientOptions } from '@microsoft/teams.common'; import { Conversation } from '../../models/conversation/conversation.js'; import { TeamsChannelAccount, Account } from '../../models/account.js'; import { ConversationResource } from '../../models/conversation/conversation-resource.js'; import { PagedMembersResult } from '../../models/conversation/paged-members-result.js'; import { MessageReactionType } from '../../models/message/message-reaction.js'; import { C as ConversationActivityClient, D as DeprecatedInputActivity, a as ActivityParams } from '../../activity-BmsR4JZr.js'; import { ApiClientSettings } from '../api-client-settings.js'; import { ReactionClient } from '../reaction/reaction.js'; import { ConversationMemberClient } from './member.js'; import '../../models/agentic-identity.js'; import '../../models/conversation-type.js'; import '../../models/membership-source.js'; import '../../models/membership-source-types.js'; import '../../models/membership-types.js'; import '../../models/role.js'; import '../../models/message/message-user.js'; import '../../models/resource.js'; import '@microsoft/teams.cards'; import '../../message-BqFiZrVg.js'; import '../../models/entity/mention-entity.js'; import '../../models/entity/quoted-reply-entity.js'; import '../../models/input-hint.js'; import '../../models/text-format.js'; import '../../models/attachment/attachment.js'; import '../../models/attachment/card-attachment.js'; import '../../models/card/animation-card.js'; import '../../models/card/card-action.js'; import '../../models/card/media-url.js'; import '../../models/card/thumbnail-url.js'; import '../../models/card/audio-card.js'; import '../../models/card/hero-card.js'; import '../../models/card/card-image.js'; import '../../models/card/thumbnail-card.js'; import '../../models/card/video-card.js'; import '../../models/oauth/oauth-card.js'; import '../../models/token/token-post-resource.js'; import '../../models/token-exchange/token-exchange-resource.js'; import '../../models/sign-in/sign-in-card.js'; import '../../models/attachment/attachment-layout.js'; import '../../models/suggested-actions.js'; import '../../models/importance.js'; import '../../models/delivery-mode.js'; import '../../activities/activity.js'; import '../../models/channel-id.js'; import '../../models/conversation/conversation-reference.js'; import '../../models/entity/index.js'; import '../../models/entity/ai-message-entity.js'; import '../../models/entity/message-entity.js'; import '../../models/entity/citation-entity.js'; import '../../models/entity/sensitivity-usage-info.js'; import '../../models/entity/client-info-entity.js'; import '../../models/entity/product-info-entity.js'; import '../../models/entity/sensitive-usage-entity.js'; import '../../models/entity/stream-info-entity.js'; import '../../models/entity/targeted-message-info-entity.js'; import '../../models/channel-data/index.js'; import '../../models/meeting/meeting-info.js'; import '../../models/meeting/meeting-details.js'; import '../../models/channel-data/app-info.js'; import '../../models/channel-data/channel-info.js'; import '../../models/channel-data/chat-info.js'; import '../../models/channel-data/feedback-loop.js'; import '../../models/channel-data/notification-info.js'; import '../../models/channel-data/on-behalf-of.js'; import '../../models/channel-data/reply-chain-info.js'; import '../../models/channel-data/settings.js'; import '../../models/channel-data/source-info.js'; import '../../models/channel-data/team-info.js'; import '../../models/channel-data/tenant-info.js'; import '../../activities/typing.js'; import '../../activities/message/message-update.js'; import '../../auth/cloud-environment.js'; import '../../auth/credentials.js'; /** * @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 };