{"version":3,"sources":["../../../src/clients/conversation/index.ts"],"names":["HttpClient"],"mappings":"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","file":"index.mjs","sourcesContent":["import qs from 'qs';\n\nimport {\n  Client as HttpClient,\n  type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { Account, Conversation, ConversationResource, MessageReactionType, type DeprecatedInputActivity } from '../../models';\n\nimport { ApiClientSettings, mergeApiClientSettings } from '../api-client-settings';\nimport { ReactionClient } from '../reaction';\n\nimport { ActivityParams, ConversationActivityClient } from './activity';\nimport { ConversationMemberClient } from './member';\n\n/**\n * @deprecated This will be removed by end of summer 2026.\n */\nexport type GetConversationsParams = {\n  readonly continuationToken?: string;\n};\n\nexport type CreateConversationParams = {\n  /**\n   * @deprecated This will be removed by end of summer 2026.\n   */\n  readonly isGroup?: boolean;\n  /**\n   * @deprecated This will be removed by end of summer 2026.\n   */\n  readonly bot?: Partial<Account>;\n  readonly members?: Account[];\n  /**\n   * @deprecated This will be removed by end of summer 2026.\n   */\n  readonly topicName?: string;\n  readonly tenantId?: string;\n  readonly activity?: ActivityParams;\n  readonly channelData?: Record<string, any>;\n};\n\ntype ActivityParamsLike = ActivityParams | DeprecatedInputActivity;\n\nexport interface IConversationActivityOperations {\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  create(params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['create']>;\n  create(params: ActivityParams): ReturnType<ConversationActivityClient['create']>;\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  update(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['update']>;\n  update(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['update']>;\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  reply(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['reply']>;\n  reply(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['reply']>;\n  delete(id: string): ReturnType<ConversationActivityClient['delete']>;\n  members(activityId: string): ReturnType<ConversationActivityClient['getMembers']>;\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  createTargeted(params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['createTargeted']>;\n  createTargeted(params: ActivityParams): ReturnType<ConversationActivityClient['createTargeted']>;\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  updateTargeted(id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['updateTargeted']>;\n  updateTargeted(id: string, params: ActivityParams): ReturnType<ConversationActivityClient['updateTargeted']>;\n  deleteTargeted(id: string): ReturnType<ConversationActivityClient['deleteTargeted']>;\n}\n\n/**\n * @deprecated This will be removed by end of summer 2026.\n */\nexport type GetConversationsResponse = {\n  /**\n   * Paging token\n   */\n  continuationToken: string;\n\n  /**\n   * List of conversations\n   */\n  conversations: Conversation[];\n};\n\nexport class ConversationClient {\n  readonly serviceUrl: string;\n\n  get http() {\n    return this._http;\n  }\nset http(v) {\n  this._activities.http = v;\n  this._members.http = v;\n  this._reactions.http = v;\n  this._http = v;\n}\nprotected _http: HttpClient;\nprotected _activities: ConversationActivityClient;\nprotected _members: ConversationMemberClient;\nprotected _reactions: ReactionClient;\nprotected _apiClientSettings: Partial<ApiClientSettings>;\n\n  constructor(serviceUrl: string, options?: HttpClient | HttpClientOptions, apiClientSettings?: Partial<ApiClientSettings>) {\n    this.serviceUrl = serviceUrl;\n\n    if (!options) {\n      this._http = new HttpClient();\n    } else if ('request' in options) {\n      this._http = options;\n    } else {\n      this._http = new HttpClient(options);\n    }\n\n    this._apiClientSettings = mergeApiClientSettings(apiClientSettings);\n    this._activities = new ConversationActivityClient(serviceUrl, this.http, this._apiClientSettings);\n    this._members = new ConversationMemberClient(serviceUrl, this.http, this._apiClientSettings);\n    this._reactions = new ReactionClient(serviceUrl, this.http, this._apiClientSettings);\n  }\n\n  /**\n   * @deprecated Use the flattened activity methods on `ConversationClient`\n   * instead (e.g. `conversations.createActivity(conversationId, ...)`). This\n   * grouped accessor will be removed in a future release.\n   */\n  activities(conversationId: string): IConversationActivityOperations {\n    return {\n      create: (params: ActivityParamsLike) => this._activities.create(conversationId, params),\n      update: (id: string, params: ActivityParamsLike) =>\n        this._activities.update(conversationId, id, params),\n      reply: (id: string, params: ActivityParamsLike) =>\n        this._activities.reply(conversationId, id, params),\n      delete: (id: string) => this._activities.delete(conversationId, id),\n      members: (activityId: string) => this._activities.getMembers(conversationId, activityId),\n      createTargeted: (params: ActivityParamsLike) => this._activities.createTargeted(conversationId, params),\n      updateTargeted: (id: string, params: ActivityParamsLike) =>\n        this._activities.updateTargeted(conversationId, id, params),\n      deleteTargeted: (id: string) => this._activities.deleteTargeted(conversationId, id),\n    };\n  }\n\n  /**\n   * @deprecated Use the flattened member methods on `ConversationClient`\n   * instead (e.g. `conversations.getMembers(conversationId)`). This grouped\n   * accessor will be removed in a future release.\n   */\n  members(conversationId: string) {\n    return {\n      get: () => this._members.get(conversationId),\n      getById: (id: string) => this._members.getById(conversationId, id),\n      getPaged: (pageSize?: number, continuationToken?: string) =>\n        this._members.getPaged(conversationId, pageSize, continuationToken),\n      /**\n       * @deprecated This will be removed by end of summer 2026.\n       */\n      delete: (id: string) => this._members.delete(conversationId, id),\n    };\n  }\n\n  /**\n   * Create an activity in a conversation.\n   */\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  createActivity(conversationId: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['create']>;\n  createActivity(conversationId: string, params: ActivityParams): ReturnType<ConversationActivityClient['create']>;\n  createActivity(conversationId: string, params: ActivityParamsLike) {\n    return this._activities.create(conversationId, params);\n  }\n\n  /**\n   * Update an activity in a conversation.\n   */\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  updateActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['update']>;\n  updateActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['update']>;\n  updateActivity(conversationId: string, id: string, params: ActivityParamsLike) {\n    return this._activities.update(conversationId, id, params);\n  }\n\n  /**\n   * Reply to an activity in a conversation.\n   */\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  replyToActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['reply']>;\n  replyToActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['reply']>;\n  replyToActivity(conversationId: string, id: string, params: ActivityParamsLike) {\n    return this._activities.reply(conversationId, id, params);\n  }\n\n  /**\n   * Delete an activity in a conversation.\n   */\n  deleteActivity(conversationId: string, id: string) {\n    return this._activities.delete(conversationId, id);\n  }\n\n  /**\n   * Get the members of an activity in a conversation.\n   */\n  getActivityMembers(conversationId: string, id: string) {\n    return this._activities.getMembers(conversationId, id);\n  }\n\n  /**\n   * Create a targeted activity in a conversation.\n   */\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  createTargetedActivity(conversationId: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['createTargeted']>;\n  createTargetedActivity(conversationId: string, params: ActivityParams): ReturnType<ConversationActivityClient['createTargeted']>;\n  createTargetedActivity(conversationId: string, params: ActivityParamsLike) {\n    return this._activities.createTargeted(conversationId, params);\n  }\n\n  /**\n   * Update a targeted activity in a conversation.\n   */\n  /**\n   * @deprecated Use MessageActivityInput or TypingActivityInput instead.\n   */\n  updateTargetedActivity(conversationId: string, id: string, params: DeprecatedInputActivity): ReturnType<ConversationActivityClient['updateTargeted']>;\n  updateTargetedActivity(conversationId: string, id: string, params: ActivityParams): ReturnType<ConversationActivityClient['updateTargeted']>;\n  updateTargetedActivity(conversationId: string, id: string, params: ActivityParamsLike) {\n    return this._activities.updateTargeted(conversationId, id, params);\n  }\n\n  /**\n   * Delete a targeted activity in a conversation.\n   */\n  deleteTargetedActivity(conversationId: string, id: string) {\n    return this._activities.deleteTargeted(conversationId, id);\n  }\n\n  /**\n   * Get the members of a conversation.\n   */\n  getMembers(conversationId: string) {\n    return this._members.get(conversationId);\n  }\n\n  /**\n   * Get a member of a conversation by id.\n   */\n  getMemberById(conversationId: string, id: string) {\n    return this._members.getById(conversationId, id);\n  }\n\n  /**\n   * Get paged members of a conversation.\n   */\n  getPagedMembers(conversationId: string, pageSize?: number, continuationToken?: string) {\n    return this._members.getPaged(conversationId, pageSize, continuationToken);\n  }\n\n  /**\n   * Add a reaction to an activity in a conversation.\n   */\n  addReaction(conversationId: string, activityId: string, reactionType: MessageReactionType) {\n    return this._reactions.add(conversationId, activityId, reactionType);\n  }\n\n  /**\n   * Delete a reaction from an activity in a conversation.\n   */\n  deleteReaction(conversationId: string, activityId: string, reactionType: MessageReactionType) {\n    return this._reactions.delete(conversationId, activityId, reactionType);\n  }\n\n  /**\n   * @deprecated This will be removed by end of summer 2026.\n   */\n  async get(params: GetConversationsParams) {\n    const q = qs.stringify(params, { addQueryPrefix: true });\n    const res = await this.http.get<GetConversationsResponse>(\n      `${this.serviceUrl}/v3/conversations${q}`\n    );\n    return res.data;\n  }\n\n  async create(params: CreateConversationParams) {\n    const res = await this.http.post<ConversationResource>(\n      `${this.serviceUrl}/v3/conversations`,\n      params\n    );\n    return res.data;\n  }\n}\n\nexport * from './activity';\nexport * from './member';\n"]}