@microsoft/agents-hosting-teams
Version:
Microsoft 365 Agents SDK for JavaScript
159 lines (158 loc) • 7.87 kB
TypeScript
import { Activity, ChannelAccount } from '@microsoft/agents-activity';
import { ConnectorClient, AuthConfiguration, AuthProvider } from '@microsoft/agents-hosting';
import { TeamsChannelAccount } from './teamsChannelAccount';
import { TeamsPagedMembersResult } from './teamsPagedMembersResult';
import { TeamDetails } from './teamDetails';
import { TeamsMember } from './teamsMember';
import { MeetingInfo } from './meetingInfo';
import { MeetingNotification } from './meetingNotification';
import { MeetingNotificationResponse } from './meetingNotificationResponse';
import { TeamsBatchOperationResponse } from './teamsBatchOperationResponse';
import { BatchOperationStateResponse } from './batchOperationStateResponse';
import { BatchFailedEntriesResponse } from './batchFailedEntriesResponse';
import { CancelOperationResponse } from './cancelOperationResponse';
import { ChannelInfo } from '../channel-data';
/**
* A client for interacting with Microsoft Teams APIs.
* Extends the ConnectorClient class to provide Teams-specific functionalities.
*/
export declare class TeamsConnectorClient extends ConnectorClient {
/**
* Creates a new instance of ConnectorClient with authentication.
* @param baseURL - The base URL for the API.
* @param authConfig - The authentication configuration.
* @param authProvider - The authentication provider.
* @param scope - The scope for the authentication token.
* @returns A new instance of ConnectorClient.
*/
static createClientWithAuthAsync(baseURL: string, authConfig: AuthConfiguration, authProvider: AuthProvider, scope: string): Promise<TeamsConnectorClient>;
/**
* Retrieves a member from a conversation or team.
* @param activity - The activity containing the context.
* @param userId - The ID of the user to retrieve.
* @returns A TeamsChannelAccount representing the member.
*/
static getMember(activity: Activity, userId: string): Promise<TeamsChannelAccount>;
/**
* Retrieves the team ID from an activity.
* @param activity - The activity containing the context.
* @returns The team ID as a string.
* @throws Error if the activity is missing or invalid.
*/
private static getTeamId;
/**
* Retrieves a member from a team.
* @param activity - The activity containing the context.
* @param teamId - The ID of the team.
* @param userId - The ID of the user to retrieve.
* @returns A TeamsChannelAccount representing the team member.
* @throws Error if the teamId or userId is missing.
*/
static getTeamMember(activity: any, teamId?: string, userId?: string): Promise<ChannelAccount>;
/**
* Retrieves a member from a conversation.
* @param conversationId - The ID of the conversation.
* @param userId - The ID of the user to retrieve.
* @returns A ChannelAccount representing the conversation member.
*/
getConversationMember(conversationId: string, userId: string): Promise<ChannelAccount>;
/**
* Retrieves a member from a conversation or team internally.
* @param activity - The activity containing the context.
* @param conversationId - The ID of the conversation.
* @param userId - The ID of the user to retrieve.
* @returns A ChannelAccount representing the member.
* @throws Error if the conversationId is missing or the client is unavailable.
*/
static getMemberInternal(activity: any, conversationId: string | undefined, userId: string): Promise<ChannelAccount>;
/**
* Retrieves paged members of a conversation.
* @param conversationId - The ID of the conversation.
* @param pageSize - The number of members per page.
* @param continuationToken - The token for pagination.
* @returns A TeamsPagedMembersResult containing the paged members.
*/
getConversationPagedMember(conversationId: string, pageSize: number, continuationToken: string): Promise<TeamsPagedMembersResult>;
/**
* Fetches the list of channels in a team.
* @param teamId - The ID of the team.
* @returns An array of ChannelInfo objects representing the channels.
*/
fetchChannelList(teamId: string): Promise<ChannelInfo[]>;
/**
* Fetches the details of a team.
* @param teamId - The ID of the team.
* @returns A TeamDetails object containing the team details.
*/
fetchTeamDetails(teamId: string): Promise<TeamDetails>;
/**
* Fetches information about a meeting participant.
* @param meetingId - The ID of the meeting.
* @param participantId - The ID of the participant.
* @param tenantId - The tenant ID.
* @returns A string containing participant information.
*/
fetchMeetingParticipant(meetingId: string, participantId: string, tenantId: string): Promise<string>;
/**
* Fetches information about a meeting.
* @param meetingId - The ID of the meeting.
* @returns A MeetingInfo object containing the meeting information.
*/
fetchMeetingInfo(meetingId: string): Promise<MeetingInfo>;
/**
* Sends a notification to a meeting.
* @param meetingId - The ID of the meeting.
* @param notification - The notification to send.
* @returns A MeetingNotificationResponse object containing the response.
*/
sendMeetingNotification(meetingId: string, notification: MeetingNotification): Promise<MeetingNotificationResponse>;
/**
* Sends a message to a list of users.
* @param activity - The activity to send.
* @param tenantId - The tenant ID.
* @param members - The list of members to send the message to.
* @returns A TeamsBatchOperationResponse object containing the response.
*/
sendMessageToListOfUsers(activity: Activity, tenantId: string, members: TeamsMember[]): Promise<TeamsBatchOperationResponse>;
/**
* Sends a message to all users in a tenant.
* @param activity - The activity to send.
* @param tenandId - The tenant ID.
* @returns A TeamsBatchOperationResponse object containing the response.
*/
sendMessageToAllUsersInTenant(activity: Activity, tenandId: string): Promise<TeamsBatchOperationResponse>;
/**
* Sends a message to all users in a team.
* @param activity - The activity to send.
* @param tenantId - The tenant ID.
* @param teamId - The team ID.
* @returns A TeamsBatchOperationResponse object containing the response.
*/
sendMessageToAllUsersInTeam(activity: Activity, tenantId: string, teamId: string): Promise<TeamsBatchOperationResponse>;
/**
* Sends a message to a list of channels.
* @param activity - The activity to send.
* @param tenantId - The tenant ID.
* @param members - The list of members to send the message to.
* @returns A TeamsBatchOperationResponse object containing the response.
*/
sendMessageToListOfChannels(activity: Activity, tenantId: string, members: TeamsMember[]): Promise<TeamsBatchOperationResponse>;
/**
* Retrieves the state of a batch operation.
* @param operationId - The ID of the operation.
* @returns A BatchOperationStateResponse object containing the operation state.
*/
getOperationState(operationId: string): Promise<BatchOperationStateResponse>;
/**
* Retrieves the failed entries of a batch operation.
* @param operationId - The ID of the operation.
* @returns A BatchFailedEntriesResponse object containing the failed entries.
*/
getFailedEntries(operationId: string): Promise<BatchFailedEntriesResponse>;
/**
* Cancels a batch operation.
* @param operationId - The ID of the operation.
* @returns A CancelOperationResponse object containing the response.
*/
cancelOperation(operationId: string): Promise<CancelOperationResponse>;
}