@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
62 lines (61 loc) • 2.7 kB
TypeScript
import { ActivityParams, AgenticIdentity, ConversationReference, DeprecatedInputActivity, SentActivity } from '@microsoft/teams.api';
import { IStreamer } from '../streamer';
/**
* Options for low-level activity sender operations.
*/
export type ActivitySenderOptions = {
/**
* Agentic identity scope to use when acquiring tokens for this send.
*/
readonly agenticIdentity?: AgenticIdentity;
/**
* The id of the message at the root of a reply chain (thread).
* When set on a new activity, it is sent as a reply in that thread, within the chat or channel the activity is sent to.
* The destination is taken from `ref.conversation.id`, not from the activity's `channelData`, so it must be the chat or channel id (`channelData.chat.id` or `channelData.channel.id`).
* Ignored when the activity updates an existing message.
*
* @experimental This API is in preview and may change in the future. Diagnostic: ExperimentalTeamsThreading
*/
readonly replyChainId?: string;
};
/**
* Options for creating a stream.
*
* @experimental This API is in preview and may change in the future. Diagnostic: ExperimentalTeamsThreading
*/
export type StreamOptions = {
/**
* Places the stream in a reply chain (thread).
* `chatOrChannelId` is the chat or channel id (`channelData.chat.id` or `channelData.channel.id`) and `replyChainId` is the id of the message at the root of the reply chain (`channelData.replyChain.id`).
*/
readonly replyChain?: {
/**
* The id of the chat or channel the reply chain is in: `channelData.chat.id` or `channelData.channel.id`.
*/
readonly chatOrChannelId: string;
/**
* The id of the message at the root of the reply chain: `channelData.replyChain.id`.
*/
readonly replyChainId: string;
};
};
/**
* Interface for activity sending (NOT a plugin)
* Separates sending concerns from transport concerns
*/
export interface IActivitySender {
/**
* Send an activity
* @deprecated Use MessageActivityInput or TypingActivityInput instead.
*/
send(activity: DeprecatedInputActivity, ref: ConversationReference, options?: ActivitySenderOptions): Promise<SentActivity>;
/**
* Send an activity
*/
send(activity: ActivityParams, ref: ConversationReference, options?: ActivitySenderOptions): Promise<SentActivity>;
send(activity: ActivityParams | DeprecatedInputActivity, ref: ConversationReference, options?: ActivitySenderOptions): Promise<SentActivity>;
/**
* Create a new activity stream
*/
createStream(ref: ConversationReference, options?: StreamOptions): IStreamer;
}