{"version":3,"sources":["libs/conversation/core/src/lib/tokens.ts","node_modules/@vendasta/conversation/fesm2022/vendasta-conversation.mjs"],"sourcesContent":["import { Injectable, InjectionToken } from '@angular/core';\nimport { ConversationChannel, PlatformLocation } from '@vendasta/conversation';\nimport { Observable } from 'rxjs';\nimport { ConversationChannelService } from './channels/conversation-channel.abstract';\nimport { ConversationConfig } from './interface/config.interface';\nimport { HostAppInterface } from './interface/host-app.interface';\nimport { RouteConfig } from './interface/routes.interface';\n\nexport const CONVERSATION_CONFIG_TOKEN = new InjectionToken(\n '[Conversation]: token for configuration',\n);\n\nexport const USER_ID_TOKEN: InjectionToken> = new InjectionToken('[Conversation]: token for userId');\n\nexport const ACCOUNT_GROUP_ID_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for accountGroupId',\n);\n\nexport const CONVERSATION_COUNTRY_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for country',\n);\n\nexport const CONVERSATION_GEOGRAPHICAL_STATE_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for state',\n);\n\nexport const PARTNER_ID_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for partnerId',\n);\n\nexport const PARTNER_BRAND_NAME_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for partnerBrandName',\n);\n\nexport const MARKET_ID_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for marketId',\n);\n\nexport const COMPANY_NAME_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for companyName',\n);\n\nexport const FEATURE_FLAG_TOKEN = new InjectionToken>('[Conversation]: token to show up the Inbox');\n\nexport const CONVERSATION_IMAGE_SERVICE_TOKEN: InjectionToken = new InjectionToken(\n '[Conversation]: token for InboxImageService',\n);\n\nexport const CONVERSATION_PLATFORM_LOCATION_TOKEN: InjectionToken = new InjectionToken(\n '[Conversation]: token for platformLocation',\n);\n\nexport const CONVERSATION_CONVERSATION_CHANNELS_ENABLED_TOKEN: InjectionToken> =\n new InjectionToken('[Conversation]: token for conversationChannelsEnabled');\n\nexport const CONVERSATION_ROUTES_TOKEN = new InjectionToken>(\n '[Conversation]: token for routes',\n);\n\nexport const CONVERSATION_GOOGLE_BUSINESS_MESSAGES_AVAILABLE_TOKEN = new InjectionToken>(\n '[Conversation]: token for googleBusinessMessagesAvailable - indicates whether the Google Business Messaging feature is available',\n);\n\nexport const CONVERSATION_FACEBOOK_MESSENGER_AVAILABLE_TOKEN = new InjectionToken>(\n '[Conversation]: token for facebookMessengerAvailable - indicates whether the Facebook Messenger feature is available',\n);\n\nexport const CONVERSATION_INSTAGRAM_MESSAGES_AVAILABLE_TOKEN = new InjectionToken>(\n '[Conversation]: token for instagramMessagesAvailable - indicates whether the Instagram Messages feature is available',\n);\n\nexport const CONVERSATION_SMS_ENABLED_TOKEN = new InjectionToken>(\n '[Conversation]: token for smsEnabled',\n);\n\nexport const CONVERSATION_WEB_CHAT_ENABLED_TOKEN = new InjectionToken>(\n '[Conversation]: token for webChatEnabled',\n);\n\nexport const CONVERSATION_CHANNEL_SERVICE_TOKEN = new InjectionToken<\n Map\n>('[Conversation]: token for ConversationChannelService');\n\nexport const GROUP_ID_TOKEN: InjectionToken> = new InjectionToken(\n '[Conversation]: token for business app group/brand id - empty if not accessed from business app multi-location',\n);\n\nexport interface InboxImageService {\n getImageSrc(imageName: string): string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class StubInboxImageService implements InboxImageService {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getImageSrc(_imageName: string): string {\n throw new Error('Method not implemented.');\n }\n}\n\nexport const CONVERSATION_HOST_APP_INTERFACE_TOKEN = new InjectionToken(\n '[Conversation]: token for HostAppInterface',\n);\n","import * as i0 from '@angular/core';\nimport { Injectable, inject } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar GlobalParticipantType = /*#__PURE__*/function (GlobalParticipantType) {\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_UNDEFINED\"] = 0] = \"GLOBAL_PARTICIPANT_TYPE_UNDEFINED\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_CUSTOMER\"] = 1] = \"GLOBAL_PARTICIPANT_TYPE_CUSTOMER\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_IAM_USER\"] = 2] = \"GLOBAL_PARTICIPANT_TYPE_IAM_USER\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_ACCOUNT_GROUP\"] = 3] = \"GLOBAL_PARTICIPANT_TYPE_ACCOUNT_GROUP\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_PARTNER\"] = 4] = \"GLOBAL_PARTICIPANT_TYPE_PARTNER\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT\"] = 5] = \"GLOBAL_PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_DIGITAL_AGENT\"] = 6] = \"GLOBAL_PARTICIPANT_TYPE_DIGITAL_AGENT\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_VENDOR\"] = 7] = \"GLOBAL_PARTICIPANT_TYPE_VENDOR\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_OPENAI_BOT\"] = 8] = \"GLOBAL_PARTICIPANT_TYPE_OPENAI_BOT\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_ANONYMOUS\"] = 9] = \"GLOBAL_PARTICIPANT_TYPE_ANONYMOUS\";\n GlobalParticipantType[GlobalParticipantType[\"GLOBAL_PARTICIPANT_TYPE_GROUP\"] = 10] = \"GLOBAL_PARTICIPANT_TYPE_GROUP\";\n return GlobalParticipantType;\n}(GlobalParticipantType || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 0] = \"SORT_DIRECTION_DESCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n return SortDirection;\n}(SortDirection || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ConversationChannel = /*#__PURE__*/function (ConversationChannel) {\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_UNDEFINED\"] = 0] = \"CONVERSATION_CHANNEL_UNDEFINED\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_INTERNAL\"] = 1] = \"CONVERSATION_CHANNEL_INTERNAL\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_SMS\"] = 2] = \"CONVERSATION_CHANNEL_SMS\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_FACEBOOK\"] = 3] = \"CONVERSATION_CHANNEL_FACEBOOK\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_GOOGLE_MESSAGES\"] = 4] = \"CONVERSATION_CHANNEL_GOOGLE_MESSAGES\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_OPENAI\"] = 5] = \"CONVERSATION_CHANNEL_OPENAI\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_EMAIL\"] = 6] = \"CONVERSATION_CHANNEL_EMAIL\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_GOOGLE_BUSINESS_COMMUNICATIONS\"] = 7] = \"CONVERSATION_CHANNEL_GOOGLE_BUSINESS_COMMUNICATIONS\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_WEB_CHAT\"] = 8] = \"CONVERSATION_CHANNEL_WEB_CHAT\";\n ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_INSTAGRAM\"] = 9] = \"CONVERSATION_CHANNEL_INSTAGRAM\";\n return ConversationChannel;\n}(ConversationChannel || {});\nvar PlatformLocation = /*#__PURE__*/function (PlatformLocation) {\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_UNDEFINED\"] = 0] = \"PLATFORM_LOCATION_UNDEFINED\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_BUSINESS_APP\"] = 1] = \"PLATFORM_LOCATION_BUSINESS_APP\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_PARTNER_CENTER\"] = 2] = \"PLATFORM_LOCATION_PARTNER_CENTER\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_VENDOR_CENTER\"] = 3] = \"PLATFORM_LOCATION_VENDOR_CENTER\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_TASK_MANAGER\"] = 4] = \"PLATFORM_LOCATION_TASK_MANAGER\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_PROPOSAL_BUILDER\"] = 5] = \"PLATFORM_LOCATION_PROPOSAL_BUILDER\";\n PlatformLocation[PlatformLocation[\"PLATFORM_LOCATION_SALES_CENTER\"] = 6] = \"PLATFORM_LOCATION_SALES_CENTER\";\n return PlatformLocation;\n}(PlatformLocation || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar MessageStatus = /*#__PURE__*/function (MessageStatus) {\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_NOT_READ\"] = 0] = \"MESSAGE_STATUS_NOT_READ\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_READ\"] = 1] = \"MESSAGE_STATUS_READ\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_SENT\"] = 2] = \"MESSAGE_STATUS_SENT\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_DELIVERED\"] = 3] = \"MESSAGE_STATUS_DELIVERED\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_FAILED\"] = 4] = \"MESSAGE_STATUS_FAILED\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_UNDELIVERED\"] = 5] = \"MESSAGE_STATUS_UNDELIVERED\";\n MessageStatus[MessageStatus[\"MESSAGE_STATUS_SENDING\"] = 6] = \"MESSAGE_STATUS_SENDING\";\n return MessageStatus;\n}(MessageStatus || {});\nvar MessageType = /*#__PURE__*/function (MessageType) {\n MessageType[MessageType[\"MESSAGE_TYPE_MESSAGE\"] = 0] = \"MESSAGE_TYPE_MESSAGE\";\n MessageType[MessageType[\"MESSAGE_TYPE_MEDIA\"] = 1] = \"MESSAGE_TYPE_MEDIA\";\n MessageType[MessageType[\"MESSAGE_TYPE_SYSTEM\"] = 2] = \"MESSAGE_TYPE_SYSTEM\";\n return MessageType;\n}(MessageType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ParticipantType = /*#__PURE__*/function (ParticipantType) {\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_UNDEFINED\"] = 0] = \"PARTICIPANT_TYPE_UNDEFINED\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_CUSTOMER\"] = 1] = \"PARTICIPANT_TYPE_CUSTOMER\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_IAM_USER\"] = 2] = \"PARTICIPANT_TYPE_IAM_USER\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_ACCOUNT_GROUP\"] = 3] = \"PARTICIPANT_TYPE_ACCOUNT_GROUP\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_PARTNER\"] = 4] = \"PARTICIPANT_TYPE_PARTNER\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT\"] = 5] = \"PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_DIGITAL_AGENT\"] = 6] = \"PARTICIPANT_TYPE_DIGITAL_AGENT\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_VENDOR\"] = 7] = \"PARTICIPANT_TYPE_VENDOR\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_OPENAI_BOT\"] = 8] = \"PARTICIPANT_TYPE_OPENAI_BOT\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_ANONYMOUS\"] = 9] = \"PARTICIPANT_TYPE_ANONYMOUS\";\n ParticipantType[ParticipantType[\"PARTICIPANT_TYPE_GROUP\"] = 10] = \"PARTICIPANT_TYPE_GROUP\";\n return ParticipantType;\n}(ParticipantType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ViewType = /*#__PURE__*/function (ViewType) {\n ViewType[ViewType[\"VIEW_TYPE_UNDEFINED\"] = 0] = \"VIEW_TYPE_UNDEFINED\";\n ViewType[ViewType[\"VIEW_TYPE_FOLLOWING\"] = 1] = \"VIEW_TYPE_FOLLOWING\";\n return ViewType;\n}(ViewType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar WidgetPosition = /*#__PURE__*/function (WidgetPosition) {\n WidgetPosition[WidgetPosition[\"WIDGET_POSITION_UNSPECIFIED\"] = 0] = \"WIDGET_POSITION_UNSPECIFIED\";\n WidgetPosition[WidgetPosition[\"WIDGET_POSITION_RIGHT\"] = 1] = \"WIDGET_POSITION_RIGHT\";\n WidgetPosition[WidgetPosition[\"WIDGET_POSITION_LEFT\"] = 2] = \"WIDGET_POSITION_LEFT\";\n return WidgetPosition;\n}(WidgetPosition || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar EvaluationSentiment = /*#__PURE__*/function (EvaluationSentiment) {\n EvaluationSentiment[EvaluationSentiment[\"EVALUATION_SENTIMENT_UNDEFINED\"] = 0] = \"EVALUATION_SENTIMENT_UNDEFINED\";\n EvaluationSentiment[EvaluationSentiment[\"EVALUATION_SENTIMENT_POSITIVE\"] = 1] = \"EVALUATION_SENTIMENT_POSITIVE\";\n EvaluationSentiment[EvaluationSentiment[\"EVALUATION_SENTIMENT_NEGATIVE\"] = 2] = \"EVALUATION_SENTIMENT_NEGATIVE\";\n return EvaluationSentiment;\n}(EvaluationSentiment || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar MetadataIdentifier = /*#__PURE__*/function (MetadataIdentifier) {\n MetadataIdentifier[MetadataIdentifier[\"METADATA_IDENTIFIER_UNDEFINED\"] = 0] = \"METADATA_IDENTIFIER_UNDEFINED\";\n MetadataIdentifier[MetadataIdentifier[\"METADATA_IDENTIFIER_RECIPIENT\"] = 1] = \"METADATA_IDENTIFIER_RECIPIENT\";\n MetadataIdentifier[MetadataIdentifier[\"METADATA_IDENTIFIER_SENDER\"] = 2] = \"METADATA_IDENTIFIER_SENDER\";\n MetadataIdentifier[MetadataIdentifier[\"METADATA_IDENTIFIER_CONVERSATION\"] = 3] = \"METADATA_IDENTIFIER_CONVERSATION\";\n return MetadataIdentifier;\n}(MetadataIdentifier || {});\nvar SetLastSeenRequestStatus = /*#__PURE__*/function (SetLastSeenRequestStatus) {\n SetLastSeenRequestStatus[SetLastSeenRequestStatus[\"SET_LAST_SEEN_REQUEST_STATUS_READ\"] = 0] = \"SET_LAST_SEEN_REQUEST_STATUS_READ\";\n SetLastSeenRequestStatus[SetLastSeenRequestStatus[\"SET_LAST_SEEN_REQUEST_STATUS_UNREAD\"] = 1] = \"SET_LAST_SEEN_REQUEST_STATUS_UNREAD\";\n return SetLastSeenRequestStatus;\n}(SetLastSeenRequestStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\n\nfunction enumStringToValue$a(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass NamespaceDetail {\n participantType;\n internalParticipantId;\n static fromProto(proto) {\n let m = new NamespaceDetail();\n m = Object.assign(m, proto);\n if (proto.participantType) {\n m.participantType = enumStringToValue$a(GlobalParticipantType, proto.participantType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantType !== 'undefined') {\n toReturn['participantType'] = this.participantType;\n }\n if (typeof this.internalParticipantId !== 'undefined') {\n toReturn['internalParticipantId'] = this.internalParticipantId;\n }\n return toReturn;\n }\n}\nclass SubjectParticipant {\n participantType;\n internalParticipantId;\n static fromProto(proto) {\n let m = new SubjectParticipant();\n m = Object.assign(m, proto);\n if (proto.participantType) {\n m.participantType = enumStringToValue$a(GlobalParticipantType, proto.participantType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantType !== 'undefined') {\n toReturn['participantType'] = this.participantType;\n }\n if (typeof this.internalParticipantId !== 'undefined') {\n toReturn['internalParticipantId'] = this.internalParticipantId;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$9(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Conversation {\n conversationId;\n channel;\n externalConversationId;\n created;\n updated;\n deleted;\n participantIds;\n latestMsgSentTime;\n originLocation;\n originLocationExternalId;\n lastSeenByParticipant;\n conversationViewIds;\n subjectParticipantsKey;\n subjectParticipants;\n isOpen;\n static fromProto(proto) {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {\n m.channel = enumStringToValue$9(ConversationChannel, proto.channel);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n if (proto.latestMsgSentTime) {\n m.latestMsgSentTime = new Date(proto.latestMsgSentTime);\n }\n if (proto.originLocation) {\n m.originLocation = enumStringToValue$9(PlatformLocation, proto.originLocation);\n }\n if (proto.lastSeenByParticipant) {\n m.lastSeenByParticipant = proto.lastSeenByParticipant.map(LastSeenByParticipant.fromProto);\n }\n if (proto.subjectParticipants) {\n m.subjectParticipants = proto.subjectParticipants.map(SubjectParticipant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.externalConversationId !== 'undefined') {\n toReturn['externalConversationId'] = this.externalConversationId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n if (typeof this.participantIds !== 'undefined') {\n toReturn['participantIds'] = this.participantIds;\n }\n if (typeof this.latestMsgSentTime !== 'undefined' && this.latestMsgSentTime !== null) {\n toReturn['latestMsgSentTime'] = 'toApiJson' in this.latestMsgSentTime ? this.latestMsgSentTime.toApiJson() : this.latestMsgSentTime;\n }\n if (typeof this.originLocation !== 'undefined') {\n toReturn['originLocation'] = this.originLocation;\n }\n if (typeof this.originLocationExternalId !== 'undefined') {\n toReturn['originLocationExternalId'] = this.originLocationExternalId;\n }\n if (typeof this.lastSeenByParticipant !== 'undefined' && this.lastSeenByParticipant !== null) {\n toReturn['lastSeenByParticipant'] = 'toApiJson' in this.lastSeenByParticipant ? this.lastSeenByParticipant.toApiJson() : this.lastSeenByParticipant;\n }\n if (typeof this.conversationViewIds !== 'undefined') {\n toReturn['conversationViewIds'] = this.conversationViewIds;\n }\n if (typeof this.subjectParticipantsKey !== 'undefined') {\n toReturn['subjectParticipantsKey'] = this.subjectParticipantsKey;\n }\n if (typeof this.subjectParticipants !== 'undefined' && this.subjectParticipants !== null) {\n toReturn['subjectParticipants'] = 'toApiJson' in this.subjectParticipants ? this.subjectParticipants.toApiJson() : this.subjectParticipants;\n }\n if (typeof this.isOpen !== 'undefined') {\n toReturn['isOpen'] = this.isOpen;\n }\n return toReturn;\n }\n}\nclass ConversationKey {\n subjectParticipants;\n channel;\n originLocationExternalId;\n static fromProto(proto) {\n let m = new ConversationKey();\n m = Object.assign(m, proto);\n if (proto.subjectParticipants) {\n m.subjectParticipants = proto.subjectParticipants.map(SubjectParticipant.fromProto);\n }\n if (proto.channel) {\n m.channel = enumStringToValue$9(ConversationChannel, proto.channel);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipants !== 'undefined' && this.subjectParticipants !== null) {\n toReturn['subjectParticipants'] = 'toApiJson' in this.subjectParticipants ? this.subjectParticipants.toApiJson() : this.subjectParticipants;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.originLocationExternalId !== 'undefined') {\n toReturn['originLocationExternalId'] = this.originLocationExternalId;\n }\n return toReturn;\n }\n}\nclass LastSeenByParticipant {\n participantId;\n lastSeenTime;\n static fromProto(proto) {\n let m = new LastSeenByParticipant();\n m = Object.assign(m, proto);\n if (proto.lastSeenTime) {\n m.lastSeenTime = new Date(proto.lastSeenTime);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n if (typeof this.lastSeenTime !== 'undefined' && this.lastSeenTime !== null) {\n toReturn['lastSeenTime'] = 'toApiJson' in this.lastSeenTime ? this.lastSeenTime.toApiJson() : this.lastSeenTime;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Message {\n messageId;\n externalMessageId;\n conversationId;\n participantId;\n type;\n body;\n error;\n created;\n updated;\n deleted;\n media;\n sendStatus;\n channel;\n static fromProto(proto) {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue$8(MessageType, proto.type);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n if (proto.sendStatus) {\n m.sendStatus = SendStatus.fromProto(proto.sendStatus);\n }\n if (proto.channel) {\n m.channel = enumStringToValue$8(ConversationChannel, proto.channel);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.externalMessageId !== 'undefined') {\n toReturn['externalMessageId'] = this.externalMessageId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.body !== 'undefined') {\n toReturn['body'] = this.body;\n }\n if (typeof this.error !== 'undefined') {\n toReturn['error'] = this.error;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n if (typeof this.media !== 'undefined') {\n toReturn['media'] = this.media;\n }\n if (typeof this.sendStatus !== 'undefined' && this.sendStatus !== null) {\n toReturn['sendStatus'] = 'toApiJson' in this.sendStatus ? this.sendStatus.toApiJson() : this.sendStatus;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n return toReturn;\n }\n}\nclass ParticipantMessageStatus {\n participantId;\n messageId;\n status;\n updated;\n static fromProto(proto) {\n let m = new ParticipantMessageStatus();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$8(MessageStatus, proto.status);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nclass SendStatus {\n status;\n reason;\n created;\n static fromProto(proto) {\n let m = new SendStatus();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$8(MessageStatus, proto.status);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Address {\n firstLineAddress;\n secondLineAddress;\n city;\n state;\n country;\n zipCode;\n static fromProto(proto) {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstLineAddress !== 'undefined') {\n toReturn['firstLineAddress'] = this.firstLineAddress;\n }\n if (typeof this.secondLineAddress !== 'undefined') {\n toReturn['secondLineAddress'] = this.secondLineAddress;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.country !== 'undefined') {\n toReturn['country'] = this.country;\n }\n if (typeof this.zipCode !== 'undefined') {\n toReturn['zipCode'] = this.zipCode;\n }\n return toReturn;\n }\n}\nclass Participant {\n participantId;\n internalParticipantId;\n partnerId;\n accountGroupId;\n location;\n channel;\n externalParticipantId;\n name;\n created;\n updated;\n deleted;\n participantType;\n email;\n phoneNumber;\n address;\n isSubjectParticipant;\n isParticipantInternalInfoDeleted;\n profileImageUrl;\n namespaceHierarchy;\n static fromProto(proto) {\n let m = new Participant();\n m = Object.assign(m, proto);\n if (proto.location) {\n m.location = enumStringToValue$7(PlatformLocation, proto.location);\n }\n if (proto.channel) {\n m.channel = enumStringToValue$7(ConversationChannel, proto.channel);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n if (proto.participantType) {\n m.participantType = enumStringToValue$7(ParticipantType, proto.participantType);\n }\n if (proto.address) {\n m.address = Address.fromProto(proto.address);\n }\n if (proto.namespaceHierarchy) {\n m.namespaceHierarchy = proto.namespaceHierarchy.map(NamespaceDetail.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n if (typeof this.internalParticipantId !== 'undefined') {\n toReturn['internalParticipantId'] = this.internalParticipantId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.externalParticipantId !== 'undefined') {\n toReturn['externalParticipantId'] = this.externalParticipantId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n if (typeof this.participantType !== 'undefined') {\n toReturn['participantType'] = this.participantType;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.address !== 'undefined' && this.address !== null) {\n toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;\n }\n if (typeof this.isSubjectParticipant !== 'undefined') {\n toReturn['isSubjectParticipant'] = this.isSubjectParticipant;\n }\n if (typeof this.isParticipantInternalInfoDeleted !== 'undefined') {\n toReturn['isParticipantInternalInfoDeleted'] = this.isParticipantInternalInfoDeleted;\n }\n if (typeof this.profileImageUrl !== 'undefined') {\n toReturn['profileImageUrl'] = this.profileImageUrl;\n }\n if (typeof this.namespaceHierarchy !== 'undefined' && this.namespaceHierarchy !== null) {\n toReturn['namespaceHierarchy'] = 'toApiJson' in this.namespaceHierarchy ? this.namespaceHierarchy.toApiJson() : this.namespaceHierarchy;\n }\n return toReturn;\n }\n}\nclass ParticipantKey {\n internalParticipantId;\n partnerId;\n accountGroupId;\n location;\n channels;\n participantType;\n namespaceHierarchy;\n static fromProto(proto) {\n let m = new ParticipantKey();\n m = Object.assign(m, proto);\n if (proto.location) {\n m.location = enumStringToValue$7(PlatformLocation, proto.location);\n }\n if (proto.channels) {\n m.channels = proto.channels.map(v => enumStringToValue$7(ConversationChannel, v));\n }\n if (proto.participantType) {\n m.participantType = enumStringToValue$7(GlobalParticipantType, proto.participantType);\n }\n if (proto.namespaceHierarchy) {\n m.namespaceHierarchy = proto.namespaceHierarchy.map(NamespaceDetail.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.internalParticipantId !== 'undefined') {\n toReturn['internalParticipantId'] = this.internalParticipantId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n if (typeof this.channels !== 'undefined') {\n toReturn['channels'] = this.channels;\n }\n if (typeof this.participantType !== 'undefined') {\n toReturn['participantType'] = this.participantType;\n }\n if (typeof this.namespaceHierarchy !== 'undefined' && this.namespaceHierarchy !== null) {\n toReturn['namespaceHierarchy'] = 'toApiJson' in this.namespaceHierarchy ? this.namespaceHierarchy.toApiJson() : this.namespaceHierarchy;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n scope;\n public;\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Configuration {\n subjectParticipant;\n createdAt;\n updatedAt;\n availabilityMessage;\n showAvailabilityMessage;\n googleBusinessMessagesEnabled;\n smsEnabled;\n inboxProEnabled;\n webChatEnabled;\n facebookMessengerEnabled;\n multiLocationEnabled;\n instagramMessagingEnabled;\n static fromProto(proto) {\n let m = new Configuration();\n m = Object.assign(m, proto);\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n if (proto.createdAt) {\n m.createdAt = new Date(proto.createdAt);\n }\n if (proto.updatedAt) {\n m.updatedAt = new Date(proto.updatedAt);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n if (typeof this.createdAt !== 'undefined' && this.createdAt !== null) {\n toReturn['createdAt'] = 'toApiJson' in this.createdAt ? this.createdAt.toApiJson() : this.createdAt;\n }\n if (typeof this.updatedAt !== 'undefined' && this.updatedAt !== null) {\n toReturn['updatedAt'] = 'toApiJson' in this.updatedAt ? this.updatedAt.toApiJson() : this.updatedAt;\n }\n if (typeof this.availabilityMessage !== 'undefined') {\n toReturn['availabilityMessage'] = this.availabilityMessage;\n }\n if (typeof this.showAvailabilityMessage !== 'undefined') {\n toReturn['showAvailabilityMessage'] = this.showAvailabilityMessage;\n }\n if (typeof this.googleBusinessMessagesEnabled !== 'undefined') {\n toReturn['googleBusinessMessagesEnabled'] = this.googleBusinessMessagesEnabled;\n }\n if (typeof this.smsEnabled !== 'undefined') {\n toReturn['smsEnabled'] = this.smsEnabled;\n }\n if (typeof this.inboxProEnabled !== 'undefined') {\n toReturn['inboxProEnabled'] = this.inboxProEnabled;\n }\n if (typeof this.webChatEnabled !== 'undefined') {\n toReturn['webChatEnabled'] = this.webChatEnabled;\n }\n if (typeof this.facebookMessengerEnabled !== 'undefined') {\n toReturn['facebookMessengerEnabled'] = this.facebookMessengerEnabled;\n }\n if (typeof this.multiLocationEnabled !== 'undefined') {\n toReturn['multiLocationEnabled'] = this.multiLocationEnabled;\n }\n if (typeof this.instagramMessagingEnabled !== 'undefined') {\n toReturn['instagramMessagingEnabled'] = this.instagramMessagingEnabled;\n }\n return toReturn;\n }\n}\nclass ProductFeature {\n googleBusinessMessagesEnabled;\n smsEnabled;\n multiLocationEnabled;\n webChatEnabled;\n facebookMessengerEnabled;\n instagramMessagingEnabled;\n static fromProto(proto) {\n let m = new ProductFeature();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.googleBusinessMessagesEnabled !== 'undefined') {\n toReturn['googleBusinessMessagesEnabled'] = this.googleBusinessMessagesEnabled;\n }\n if (typeof this.smsEnabled !== 'undefined') {\n toReturn['smsEnabled'] = this.smsEnabled;\n }\n if (typeof this.multiLocationEnabled !== 'undefined') {\n toReturn['multiLocationEnabled'] = this.multiLocationEnabled;\n }\n if (typeof this.webChatEnabled !== 'undefined') {\n toReturn['webChatEnabled'] = this.webChatEnabled;\n }\n if (typeof this.facebookMessengerEnabled !== 'undefined') {\n toReturn['facebookMessengerEnabled'] = this.facebookMessengerEnabled;\n }\n if (typeof this.instagramMessagingEnabled !== 'undefined') {\n toReturn['instagramMessagingEnabled'] = this.instagramMessagingEnabled;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass View {\n viewId;\n created;\n static fromProto(proto) {\n let m = new View();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.viewId !== 'undefined') {\n toReturn['viewId'] = this.viewId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass DataSources {\n businessProfile;\n static fromProto(proto) {\n let m = new DataSources();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businessProfile !== 'undefined') {\n toReturn['businessProfile'] = this.businessProfile;\n }\n return toReturn;\n }\n}\nclass Widget {\n widgetId;\n name;\n namespace;\n color;\n allowedUrls;\n position;\n created;\n updated;\n isEnabled;\n welcomeMessage;\n textColor;\n accentColor;\n accentTextColor;\n static fromProto(proto) {\n let m = new Widget();\n m = Object.assign(m, proto);\n if (proto.position) {\n m.position = enumStringToValue$3(WidgetPosition, proto.position);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.color !== 'undefined') {\n toReturn['color'] = this.color;\n }\n if (typeof this.allowedUrls !== 'undefined') {\n toReturn['allowedUrls'] = this.allowedUrls;\n }\n if (typeof this.position !== 'undefined') {\n toReturn['position'] = this.position;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.isEnabled !== 'undefined') {\n toReturn['isEnabled'] = this.isEnabled;\n }\n if (typeof this.welcomeMessage !== 'undefined') {\n toReturn['welcomeMessage'] = this.welcomeMessage;\n }\n if (typeof this.textColor !== 'undefined') {\n toReturn['textColor'] = this.textColor;\n }\n if (typeof this.accentColor !== 'undefined') {\n toReturn['accentColor'] = this.accentColor;\n }\n if (typeof this.accentTextColor !== 'undefined') {\n toReturn['accentTextColor'] = this.accentTextColor;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n paths;\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass MessageTemplate {\n templateId;\n name;\n content;\n created;\n static fromProto(proto) {\n let m = new MessageTemplate();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.content !== 'undefined') {\n toReturn['content'] = this.content;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AddConversationToConversationViewRequest {\n viewId;\n conversationId;\n participantId;\n static fromProto(proto) {\n let m = new AddConversationToConversationViewRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.viewId !== 'undefined') {\n toReturn['viewId'] = this.viewId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n return toReturn;\n }\n}\nclass AddMultiParticipantsRequest {\n conversationId;\n participants;\n static fromProto(proto) {\n let m = new AddMultiParticipantsRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass AddMultiParticipantsResponse {\n participants;\n static fromProto(proto) {\n let m = new AddMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass CapturedLead {\n name;\n email;\n phone;\n static fromProto(proto) {\n let m = new CapturedLead();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phone !== 'undefined') {\n toReturn['phone'] = this.phone;\n }\n return toReturn;\n }\n}\nclass ConversationMessageCount {\n conversationId;\n count;\n static fromProto(proto) {\n let m = new ConversationMessageCount();\n m = Object.assign(m, proto);\n if (proto.count) {\n m.count = parseInt(proto.count, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.count !== 'undefined') {\n toReturn['count'] = this.count;\n }\n return toReturn;\n }\n}\nclass LookupConversationsResponseConversations {\n conversation;\n participants;\n static fromProto(proto) {\n let m = new LookupConversationsResponseConversations();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationMessageCountResponseCountsEntry {\n key;\n value;\n static fromProto(proto) {\n let m = new GetMultiConversationMessageCountResponseCountsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass CreateConversationRequest {\n participants;\n channel;\n externalConversationId;\n created;\n updated;\n originLocation;\n originLocationExternalId;\n static fromProto(proto) {\n let m = new CreateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n if (proto.channel) {\n m.channel = enumStringToValue(ConversationChannel, proto.channel);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.originLocation) {\n m.originLocation = enumStringToValue(PlatformLocation, proto.originLocation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.externalConversationId !== 'undefined') {\n toReturn['externalConversationId'] = this.externalConversationId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.originLocation !== 'undefined') {\n toReturn['originLocation'] = this.originLocation;\n }\n if (typeof this.originLocationExternalId !== 'undefined') {\n toReturn['originLocationExternalId'] = this.originLocationExternalId;\n }\n return toReturn;\n }\n}\nclass CreateConversationResponse {\n conversation;\n participants;\n static fromProto(proto) {\n let m = new CreateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass CreateMessageTemplateRequest {\n template;\n subjectParticipant;\n static fromProto(proto) {\n let m = new CreateMessageTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = MessageTemplate.fromProto(proto.template);\n }\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n return toReturn;\n }\n}\nclass CreateMessageTemplateResponse {\n template;\n static fromProto(proto) {\n let m = new CreateMessageTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = MessageTemplate.fromProto(proto.template);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n return toReturn;\n }\n}\nclass CreateMultiMessagesRequest {\n messages;\n lastSeen;\n static fromProto(proto) {\n let m = new CreateMultiMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.messages) {\n m.messages = proto.messages.map(Message.fromProto);\n }\n if (proto.lastSeen) {\n m.lastSeen = new Date(proto.lastSeen);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messages !== 'undefined' && this.messages !== null) {\n toReturn['messages'] = 'toApiJson' in this.messages ? this.messages.toApiJson() : this.messages;\n }\n if (typeof this.lastSeen !== 'undefined' && this.lastSeen !== null) {\n toReturn['lastSeen'] = 'toApiJson' in this.lastSeen ? this.lastSeen.toApiJson() : this.lastSeen;\n }\n return toReturn;\n }\n}\nclass CreateWidgetConversationRequest {\n widgetId;\n chatSourceUrl;\n static fromProto(proto) {\n let m = new CreateWidgetConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n if (typeof this.chatSourceUrl !== 'undefined') {\n toReturn['chatSourceUrl'] = this.chatSourceUrl;\n }\n return toReturn;\n }\n}\nclass CreateWidgetConversationResponse {\n widgetParticipantToken;\n conversation;\n static fromProto(proto) {\n let m = new CreateWidgetConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetParticipantToken !== 'undefined') {\n toReturn['widgetParticipantToken'] = this.widgetParticipantToken;\n }\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n return toReturn;\n }\n}\nclass CreateWidgetRequest {\n name;\n namespace;\n color;\n allowedUrls;\n welcomeMessage;\n dataSources;\n textColor;\n accentColor;\n accentTextColor;\n static fromProto(proto) {\n let m = new CreateWidgetRequest();\n m = Object.assign(m, proto);\n if (proto.dataSources) {\n m.dataSources = DataSources.fromProto(proto.dataSources);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.color !== 'undefined') {\n toReturn['color'] = this.color;\n }\n if (typeof this.allowedUrls !== 'undefined') {\n toReturn['allowedUrls'] = this.allowedUrls;\n }\n if (typeof this.welcomeMessage !== 'undefined') {\n toReturn['welcomeMessage'] = this.welcomeMessage;\n }\n if (typeof this.dataSources !== 'undefined' && this.dataSources !== null) {\n toReturn['dataSources'] = 'toApiJson' in this.dataSources ? this.dataSources.toApiJson() : this.dataSources;\n }\n if (typeof this.textColor !== 'undefined') {\n toReturn['textColor'] = this.textColor;\n }\n if (typeof this.accentColor !== 'undefined') {\n toReturn['accentColor'] = this.accentColor;\n }\n if (typeof this.accentTextColor !== 'undefined') {\n toReturn['accentTextColor'] = this.accentTextColor;\n }\n return toReturn;\n }\n}\nclass CreateWidgetResponse {\n widget;\n static fromProto(proto) {\n let m = new CreateWidgetResponse();\n m = Object.assign(m, proto);\n if (proto.widget) {\n m.widget = Widget.fromProto(proto.widget);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widget !== 'undefined' && this.widget !== null) {\n toReturn['widget'] = 'toApiJson' in this.widget ? this.widget.toApiJson() : this.widget;\n }\n return toReturn;\n }\n}\nclass MetadataDataEntry {\n key;\n value;\n static fromProto(proto) {\n let m = new MetadataDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass DeleteConversationRequest {\n conversationId;\n static fromProto(proto) {\n let m = new DeleteConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass DeleteMessageRequest {\n messageId;\n static fromProto(proto) {\n let m = new DeleteMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n return toReturn;\n }\n}\nclass DeleteMessageTemplateRequest {\n templateId;\n static fromProto(proto) {\n let m = new DeleteMessageTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass DeleteWidgetRequest {\n widgetId;\n static fromProto(proto) {\n let m = new DeleteWidgetRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationDetailsResponseDetailedConversation {\n conversation;\n latestMessage;\n participants;\n summary;\n static fromProto(proto) {\n let m = new GetMultiConversationDetailsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n if (proto.latestMessage) {\n m.latestMessage = Message.fromProto(proto.latestMessage);\n }\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {\n toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? this.latestMessage.toApiJson() : this.latestMessage;\n }\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n if (typeof this.summary !== 'undefined') {\n toReturn['summary'] = this.summary;\n }\n return toReturn;\n }\n}\nclass SearchConversationsResponseDetailedConversation {\n conversation;\n latestMessage;\n participants;\n static fromProto(proto) {\n let m = new SearchConversationsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n if (proto.latestMessage) {\n m.latestMessage = Message.fromProto(proto.latestMessage);\n }\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {\n toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? this.latestMessage.toApiJson() : this.latestMessage;\n }\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass EvaluateResponseRequest {\n messageId;\n sentiment;\n comment;\n static fromProto(proto) {\n let m = new EvaluateResponseRequest();\n m = Object.assign(m, proto);\n if (proto.sentiment) {\n m.sentiment = enumStringToValue(EvaluationSentiment, proto.sentiment);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.sentiment !== 'undefined') {\n toReturn['sentiment'] = this.sentiment;\n }\n if (typeof this.comment !== 'undefined') {\n toReturn['comment'] = this.comment;\n }\n return toReturn;\n }\n}\nclass GetAvailableChannelsForConversationRequest {\n conversationId;\n static fromProto(proto) {\n let m = new GetAvailableChannelsForConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass GetAvailableChannelsForConversationResponse {\n channels;\n preferredChannel;\n static fromProto(proto) {\n let m = new GetAvailableChannelsForConversationResponse();\n m = Object.assign(m, proto);\n if (proto.channels) {\n m.channels = proto.channels.map(v => enumStringToValue(ConversationChannel, v));\n }\n if (proto.preferredChannel) {\n m.preferredChannel = enumStringToValue(ConversationChannel, proto.preferredChannel);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.channels !== 'undefined') {\n toReturn['channels'] = this.channels;\n }\n if (typeof this.preferredChannel !== 'undefined') {\n toReturn['preferredChannel'] = this.preferredChannel;\n }\n return toReturn;\n }\n}\nclass GetConfigurationRequest {\n subjectParticipant;\n static fromProto(proto) {\n let m = new GetConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n return toReturn;\n }\n}\nclass GetConfigurationResponse {\n configuration;\n static fromProto(proto) {\n let m = new GetConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configuration) {\n m.configuration = Configuration.fromProto(proto.configuration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {\n toReturn['configuration'] = 'toApiJson' in this.configuration ? this.configuration.toApiJson() : this.configuration;\n }\n return toReturn;\n }\n}\nclass GetConversationByKeyRequest {\n conversationKey;\n static fromProto(proto) {\n let m = new GetConversationByKeyRequest();\n m = Object.assign(m, proto);\n if (proto.conversationKey) {\n m.conversationKey = ConversationKey.fromProto(proto.conversationKey);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationKey !== 'undefined' && this.conversationKey !== null) {\n toReturn['conversationKey'] = 'toApiJson' in this.conversationKey ? this.conversationKey.toApiJson() : this.conversationKey;\n }\n return toReturn;\n }\n}\nclass GetConversationByKeyResponse {\n conversation;\n static fromProto(proto) {\n let m = new GetConversationByKeyResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n return toReturn;\n }\n}\nclass GetConversationSummaryRequest {\n conversationId;\n static fromProto(proto) {\n let m = new GetConversationSummaryRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass GetConversationSummaryResponse {\n summary;\n static fromProto(proto) {\n let m = new GetConversationSummaryResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.summary !== 'undefined') {\n toReturn['summary'] = this.summary;\n }\n return toReturn;\n }\n}\nclass GetConversationViewsRequest {\n participantId;\n static fromProto(proto) {\n let m = new GetConversationViewsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n return toReturn;\n }\n}\nclass GetConversationViewsResponse {\n views;\n static fromProto(proto) {\n let m = new GetConversationViewsResponse();\n m = Object.assign(m, proto);\n if (proto.views) {\n m.views = proto.views.map(View.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.views !== 'undefined' && this.views !== null) {\n toReturn['views'] = 'toApiJson' in this.views ? this.views.toApiJson() : this.views;\n }\n return toReturn;\n }\n}\nclass GetMessageRequest {\n messageId;\n static fromProto(proto) {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n return toReturn;\n }\n}\nclass GetMessageTemplateRequest {\n templateId;\n static fromProto(proto) {\n let m = new GetMessageTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass GetMessageTemplateResponse {\n template;\n static fromProto(proto) {\n let m = new GetMessageTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = MessageTemplate.fromProto(proto.template);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n return toReturn;\n }\n}\nclass GetMultiConfigurationRequest {\n subjectParticipants;\n static fromProto(proto) {\n let m = new GetMultiConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.subjectParticipants) {\n m.subjectParticipants = proto.subjectParticipants.map(SubjectParticipant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipants !== 'undefined' && this.subjectParticipants !== null) {\n toReturn['subjectParticipants'] = 'toApiJson' in this.subjectParticipants ? this.subjectParticipants.toApiJson() : this.subjectParticipants;\n }\n return toReturn;\n }\n}\nclass GetMultiConfigurationResponse {\n configurations;\n static fromProto(proto) {\n let m = new GetMultiConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configurations) {\n m.configurations = proto.configurations.map(Configuration.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.configurations !== 'undefined' && this.configurations !== null) {\n toReturn['configurations'] = 'toApiJson' in this.configurations ? this.configurations.toApiJson() : this.configurations;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationDetailsRequest {\n conversationIds;\n options;\n static fromProto(proto) {\n let m = new GetMultiConversationDetailsRequest();\n m = Object.assign(m, proto);\n if (proto.options) {\n m.options = FieldMask.fromProto(proto.options);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationIds !== 'undefined') {\n toReturn['conversationIds'] = this.conversationIds;\n }\n if (typeof this.options !== 'undefined' && this.options !== null) {\n toReturn['options'] = 'toApiJson' in this.options ? this.options.toApiJson() : this.options;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationDetailsResponse {\n conversations;\n static fromProto(proto) {\n let m = new GetMultiConversationDetailsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {\n m.conversations = proto.conversations.map(GetMultiConversationDetailsResponseDetailedConversation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {\n toReturn['conversations'] = 'toApiJson' in this.conversations ? this.conversations.toApiJson() : this.conversations;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationMessageCountRequest {\n conversationIds;\n static fromProto(proto) {\n let m = new GetMultiConversationMessageCountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationIds !== 'undefined') {\n toReturn['conversationIds'] = this.conversationIds;\n }\n return toReturn;\n }\n}\nclass GetMultiConversationMessageCountResponse {\n messageCounts;\n counts;\n static fromProto(proto) {\n let m = new GetMultiConversationMessageCountResponse();\n m = Object.assign(m, proto);\n if (proto.messageCounts) {\n m.messageCounts = proto.messageCounts.map(ConversationMessageCount.fromProto);\n }\n if (proto.counts) {\n m.counts = Object.keys(proto.counts).reduce((obj, k) => {\n obj[k] = parseInt(proto.counts[k], 10);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageCounts !== 'undefined' && this.messageCounts !== null) {\n toReturn['messageCounts'] = 'toApiJson' in this.messageCounts ? this.messageCounts.toApiJson() : this.messageCounts;\n }\n if (typeof this.counts !== 'undefined' && this.counts !== null) {\n toReturn['counts'] = 'toApiJson' in this.counts ? this.counts.toApiJson() : this.counts;\n }\n return toReturn;\n }\n}\nclass GetMultiMessagesRequest {\n messageIds;\n conversationId;\n languageCode;\n static fromProto(proto) {\n let m = new GetMultiMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageIds !== 'undefined') {\n toReturn['messageIds'] = this.messageIds;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass GetMultiMessagesResponse {\n messages;\n static fromProto(proto) {\n let m = new GetMultiMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {\n m.messages = proto.messages.map(Message.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messages !== 'undefined' && this.messages !== null) {\n toReturn['messages'] = 'toApiJson' in this.messages ? this.messages.toApiJson() : this.messages;\n }\n return toReturn;\n }\n}\nclass GetMultiParticipantsRequest {\n participantIds;\n conversationId;\n static fromProto(proto) {\n let m = new GetMultiParticipantsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantIds !== 'undefined') {\n toReturn['participantIds'] = this.participantIds;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass GetMultiParticipantsResponse {\n participants;\n static fromProto(proto) {\n let m = new GetMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n return toReturn;\n }\n}\nclass GetMultiWidgetMessagesRequest {\n messageIds;\n static fromProto(proto) {\n let m = new GetMultiWidgetMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageIds !== 'undefined') {\n toReturn['messageIds'] = this.messageIds;\n }\n return toReturn;\n }\n}\nclass GetMultiWidgetMessagesResponse {\n messages;\n static fromProto(proto) {\n let m = new GetMultiWidgetMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {\n m.messages = proto.messages.map(Message.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messages !== 'undefined' && this.messages !== null) {\n toReturn['messages'] = 'toApiJson' in this.messages ? this.messages.toApiJson() : this.messages;\n }\n return toReturn;\n }\n}\nclass GetOwnerEmailRequest {\n subjectParticipant;\n static fromProto(proto) {\n let m = new GetOwnerEmailRequest();\n m = Object.assign(m, proto);\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n return toReturn;\n }\n}\nclass GetOwnerEmailResponse {\n forwardingEmail;\n static fromProto(proto) {\n let m = new GetOwnerEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.forwardingEmail !== 'undefined') {\n toReturn['forwardingEmail'] = this.forwardingEmail;\n }\n return toReturn;\n }\n}\nclass GetParticipantsByKeyRequest {\n participantKey;\n static fromProto(proto) {\n let m = new GetParticipantsByKeyRequest();\n m = Object.assign(m, proto);\n if (proto.participantKey) {\n m.participantKey = ParticipantKey.fromProto(proto.participantKey);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participantKey !== 'undefined' && this.participantKey !== null) {\n toReturn['participantKey'] = 'toApiJson' in this.participantKey ? this.participantKey.toApiJson() : this.participantKey;\n }\n return toReturn;\n }\n}\nclass GetParticipantsByKeyResponse {\n participants;\n participant;\n static fromProto(proto) {\n let m = new GetParticipantsByKeyResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {\n m.participants = proto.participants.map(Participant.fromProto);\n }\n if (proto.participant) {\n m.participant = Participant.fromProto(proto.participant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participants !== 'undefined' && this.participants !== null) {\n toReturn['participants'] = 'toApiJson' in this.participants ? this.participants.toApiJson() : this.participants;\n }\n if (typeof this.participant !== 'undefined' && this.participant !== null) {\n toReturn['participant'] = 'toApiJson' in this.participant ? this.participant.toApiJson() : this.participant;\n }\n return toReturn;\n }\n}\nclass GetWidgetConfigRequest {\n widgetId;\n static fromProto(proto) {\n let m = new GetWidgetConfigRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n return toReturn;\n }\n}\nclass GetWidgetConfigResponse {\n name;\n color;\n isEnabled;\n welcomeMessage;\n textColor;\n accentColor;\n accentTextColor;\n static fromProto(proto) {\n let m = new GetWidgetConfigResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.color !== 'undefined') {\n toReturn['color'] = this.color;\n }\n if (typeof this.isEnabled !== 'undefined') {\n toReturn['isEnabled'] = this.isEnabled;\n }\n if (typeof this.welcomeMessage !== 'undefined') {\n toReturn['welcomeMessage'] = this.welcomeMessage;\n }\n if (typeof this.textColor !== 'undefined') {\n toReturn['textColor'] = this.textColor;\n }\n if (typeof this.accentColor !== 'undefined') {\n toReturn['accentColor'] = this.accentColor;\n }\n if (typeof this.accentTextColor !== 'undefined') {\n toReturn['accentTextColor'] = this.accentTextColor;\n }\n return toReturn;\n }\n}\nclass GetWidgetConversationResponse {\n conversation;\n static fromProto(proto) {\n let m = new GetWidgetConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n return toReturn;\n }\n}\nclass GetWidgetRequest {\n widgetId;\n static fromProto(proto) {\n let m = new GetWidgetRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n return toReturn;\n }\n}\nclass GetWidgetResponse {\n widget;\n static fromProto(proto) {\n let m = new GetWidgetResponse();\n m = Object.assign(m, proto);\n if (proto.widget) {\n m.widget = Widget.fromProto(proto.widget);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widget !== 'undefined' && this.widget !== null) {\n toReturn['widget'] = 'toApiJson' in this.widget ? this.widget.toApiJson() : this.widget;\n }\n return toReturn;\n }\n}\nclass ListMessageTemplateRequest {\n subjectParticipant;\n pagingOptions;\n static fromProto(proto) {\n let m = new ListMessageTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListMessageTemplateResponse {\n templates;\n pagingMetadata;\n static fromProto(proto) {\n let m = new ListMessageTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.templates) {\n m.templates = proto.templates.map(MessageTemplate.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templates !== 'undefined' && this.templates !== null) {\n toReturn['templates'] = 'toApiJson' in this.templates ? this.templates.toApiJson() : this.templates;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListMessagesRequestListMessagesFilters {\n conversationId;\n static fromProto(proto) {\n let m = new ListMessagesRequestListMessagesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass ListMessagesRequest {\n filters;\n pagingOptions;\n static fromProto(proto) {\n let m = new ListMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = ListMessagesRequestListMessagesFilters.fromProto(proto.filters);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListMessagesResponse {\n messages;\n pagingMetadata;\n static fromProto(proto) {\n let m = new ListMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {\n m.messages = proto.messages.map(Message.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messages !== 'undefined' && this.messages !== null) {\n toReturn['messages'] = 'toApiJson' in this.messages ? this.messages.toApiJson() : this.messages;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListWidgetsRequest {\n namespace;\n pagingOptions;\n static fromProto(proto) {\n let m = new ListWidgetsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListWidgetsResponse {\n widgets;\n pagingMetadata;\n static fromProto(proto) {\n let m = new ListWidgetsResponse();\n m = Object.assign(m, proto);\n if (proto.widgets) {\n m.widgets = proto.widgets.map(Widget.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgets !== 'undefined' && this.widgets !== null) {\n toReturn['widgets'] = 'toApiJson' in this.widgets ? this.widgets.toApiJson() : this.widgets;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass LookupConversationsRequestLookupConversationsFilters {\n internalParticipantId;\n location;\n channel;\n accountGroupId;\n externalConversationId;\n originLocation;\n originLocationExternalId;\n static fromProto(proto) {\n let m = new LookupConversationsRequestLookupConversationsFilters();\n m = Object.assign(m, proto);\n if (proto.location) {\n m.location = enumStringToValue(PlatformLocation, proto.location);\n }\n if (proto.channel) {\n m.channel = enumStringToValue(ConversationChannel, proto.channel);\n }\n if (proto.originLocation) {\n m.originLocation = enumStringToValue(PlatformLocation, proto.originLocation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.internalParticipantId !== 'undefined') {\n toReturn['internalParticipantId'] = this.internalParticipantId;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.externalConversationId !== 'undefined') {\n toReturn['externalConversationId'] = this.externalConversationId;\n }\n if (typeof this.originLocation !== 'undefined') {\n toReturn['originLocation'] = this.originLocation;\n }\n if (typeof this.originLocationExternalId !== 'undefined') {\n toReturn['originLocationExternalId'] = this.originLocationExternalId;\n }\n return toReturn;\n }\n}\nclass LookupConversationsRequest {\n filters;\n pagingOptions;\n static fromProto(proto) {\n let m = new LookupConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = LookupConversationsRequestLookupConversationsFilters.fromProto(proto.filters);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass LookupConversationsResponse {\n conversations;\n pagingMetadata;\n static fromProto(proto) {\n let m = new LookupConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {\n m.conversations = proto.conversations.map(LookupConversationsResponseConversations.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {\n toReturn['conversations'] = 'toApiJson' in this.conversations ? this.conversations.toApiJson() : this.conversations;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass Media {\n mediaContentType;\n mediaLocationPath;\n mediaFileName;\n fileSize;\n static fromProto(proto) {\n let m = new Media();\n m = Object.assign(m, proto);\n if (proto.fileSize) {\n m.fileSize = parseInt(proto.fileSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.mediaContentType !== 'undefined') {\n toReturn['mediaContentType'] = this.mediaContentType;\n }\n if (typeof this.mediaLocationPath !== 'undefined') {\n toReturn['mediaLocationPath'] = this.mediaLocationPath;\n }\n if (typeof this.mediaFileName !== 'undefined') {\n toReturn['mediaFileName'] = this.mediaFileName;\n }\n if (typeof this.fileSize !== 'undefined') {\n toReturn['fileSize'] = this.fileSize;\n }\n return toReturn;\n }\n}\nclass Metadata {\n identifier;\n data;\n static fromProto(proto) {\n let m = new Metadata();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = enumStringToValue(MetadataIdentifier, proto.identifier);\n }\n if (proto.data) {\n m.data = Object.keys(proto.data).reduce((obj, k) => {\n obj[k] = proto.data[k];\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined') {\n toReturn['identifier'] = this.identifier;\n }\n if (typeof this.data !== 'undefined' && this.data !== null) {\n toReturn['data'] = 'toApiJson' in this.data ? this.data.toApiJson() : this.data;\n }\n return toReturn;\n }\n}\nclass ReceiveMessageRequestMetadataEntry {\n key;\n value;\n static fromProto(proto) {\n let m = new ReceiveMessageRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass NewInboxLeadCapturedRequest {\n namespace;\n parentNamespace;\n conversationId;\n conversationSummary;\n capturedLead;\n source;\n capturedAt;\n static fromProto(proto) {\n let m = new NewInboxLeadCapturedRequest();\n m = Object.assign(m, proto);\n if (proto.capturedLead) {\n m.capturedLead = CapturedLead.fromProto(proto.capturedLead);\n }\n if (proto.capturedAt) {\n m.capturedAt = new Date(proto.capturedAt);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.parentNamespace !== 'undefined') {\n toReturn['parentNamespace'] = this.parentNamespace;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.conversationSummary !== 'undefined') {\n toReturn['conversationSummary'] = this.conversationSummary;\n }\n if (typeof this.capturedLead !== 'undefined' && this.capturedLead !== null) {\n toReturn['capturedLead'] = 'toApiJson' in this.capturedLead ? this.capturedLead.toApiJson() : this.capturedLead;\n }\n if (typeof this.source !== 'undefined') {\n toReturn['source'] = this.source;\n }\n if (typeof this.capturedAt !== 'undefined' && this.capturedAt !== null) {\n toReturn['capturedAt'] = 'toApiJson' in this.capturedAt ? this.capturedAt.toApiJson() : this.capturedAt;\n }\n return toReturn;\n }\n}\nclass NewInboxLeadCapturedResponse {\n static fromProto(proto) {\n let m = new NewInboxLeadCapturedResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n cursor;\n pageSize;\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n nextCursor;\n hasMore;\n totalResults;\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass ReceiveMessageRequest {\n senderId;\n recipientId;\n conversationId;\n messageId;\n body;\n channel;\n type;\n location;\n partnerId;\n accountGroupId;\n metadata;\n media;\n static fromProto(proto) {\n let m = new ReceiveMessageRequest();\n m = Object.assign(m, proto);\n if (proto.channel) {\n m.channel = enumStringToValue(ConversationChannel, proto.channel);\n }\n if (proto.type) {\n m.type = enumStringToValue(MessageType, proto.type);\n }\n if (proto.location) {\n m.location = enumStringToValue(PlatformLocation, proto.location);\n }\n if (proto.metadata) {\n m.metadata = Object.keys(proto.metadata).reduce((obj, k) => {\n obj[k] = proto.metadata[k];\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.body !== 'undefined') {\n toReturn['body'] = this.body;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\n }\n if (typeof this.media !== 'undefined') {\n toReturn['media'] = this.media;\n }\n return toReturn;\n }\n}\nclass RemoveConversationFromConversationViewRequest {\n viewId;\n conversationId;\n participantId;\n static fromProto(proto) {\n let m = new RemoveConversationFromConversationViewRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.viewId !== 'undefined') {\n toReturn['viewId'] = this.viewId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n return toReturn;\n }\n}\nclass SearchConversationsRequest {\n partnerId;\n accountGroupId;\n location;\n searchTerm;\n pagingOptions;\n static fromProto(proto) {\n let m = new SearchConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.location) {\n m.location = enumStringToValue(PlatformLocation, proto.location);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass SearchConversationsResponse {\n conversations;\n pagingMetadata;\n static fromProto(proto) {\n let m = new SearchConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {\n m.conversations = proto.conversations.map(SearchConversationsResponseDetailedConversation.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {\n toReturn['conversations'] = 'toApiJson' in this.conversations ? this.conversations.toApiJson() : this.conversations;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass SendMessageRequest {\n sender;\n recipient;\n conversationId;\n type;\n body;\n metadata;\n originLocation;\n media;\n channel;\n static fromProto(proto) {\n let m = new SendMessageRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Participant.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = Participant.fromProto(proto.recipient);\n }\n if (proto.type) {\n m.type = enumStringToValue(MessageType, proto.type);\n }\n if (proto.metadata) {\n m.metadata = proto.metadata.map(Metadata.fromProto);\n }\n if (proto.originLocation) {\n m.originLocation = enumStringToValue(PlatformLocation, proto.originLocation);\n }\n if (proto.media) {\n m.media = proto.media.map(Media.fromProto);\n }\n if (proto.channel) {\n m.channel = enumStringToValue(ConversationChannel, proto.channel);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.body !== 'undefined') {\n toReturn['body'] = this.body;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\n }\n if (typeof this.originLocation !== 'undefined') {\n toReturn['originLocation'] = this.originLocation;\n }\n if (typeof this.media !== 'undefined' && this.media !== null) {\n toReturn['media'] = 'toApiJson' in this.media ? this.media.toApiJson() : this.media;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n return toReturn;\n }\n}\nclass SendMessageResponse {\n workflowId;\n messageId;\n static fromProto(proto) {\n let m = new SendMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.workflowId !== 'undefined') {\n toReturn['workflowId'] = this.workflowId;\n }\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n return toReturn;\n }\n}\nclass SendWidgetMessageRequest {\n type;\n body;\n metadata;\n location;\n static fromProto(proto) {\n let m = new SendWidgetMessageRequest();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue(MessageType, proto.type);\n }\n if (proto.metadata) {\n m.metadata = proto.metadata.map(Metadata.fromProto);\n }\n if (proto.location) {\n m.location = enumStringToValue(PlatformLocation, proto.location);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.body !== 'undefined') {\n toReturn['body'] = this.body;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\n }\n if (typeof this.location !== 'undefined') {\n toReturn['location'] = this.location;\n }\n return toReturn;\n }\n}\nclass SendWidgetMessageResponse {\n messageId;\n static fromProto(proto) {\n let m = new SendWidgetMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n return toReturn;\n }\n}\nclass SetLastSeenRequest {\n conversationId;\n participant;\n status;\n static fromProto(proto) {\n let m = new SetLastSeenRequest();\n m = Object.assign(m, proto);\n if (proto.participant) {\n m.participant = Participant.fromProto(proto.participant);\n }\n if (proto.status) {\n m.status = enumStringToValue(SetLastSeenRequestStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n if (typeof this.participant !== 'undefined' && this.participant !== null) {\n toReturn['participant'] = 'toApiJson' in this.participant ? this.participant.toApiJson() : this.participant;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n return toReturn;\n }\n}\nclass SetLastSeenResponse {\n participant;\n static fromProto(proto) {\n let m = new SetLastSeenResponse();\n m = Object.assign(m, proto);\n if (proto.participant) {\n m.participant = Participant.fromProto(proto.participant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.participant !== 'undefined' && this.participant !== null) {\n toReturn['participant'] = 'toApiJson' in this.participant ? this.participant.toApiJson() : this.participant;\n }\n return toReturn;\n }\n}\nclass UpdateConversationRequest {\n conversation;\n fieldMask;\n static fromProto(proto) {\n let m = new UpdateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpdateConversationResponse {\n conversation;\n static fromProto(proto) {\n let m = new UpdateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {\n m.conversation = Conversation.fromProto(proto.conversation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {\n toReturn['conversation'] = 'toApiJson' in this.conversation ? this.conversation.toApiJson() : this.conversation;\n }\n return toReturn;\n }\n}\nclass UpdateMessageStatusRequest {\n messageId;\n participantId;\n status;\n static fromProto(proto) {\n let m = new UpdateMessageStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(MessageStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.participantId !== 'undefined') {\n toReturn['participantId'] = this.participantId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n return toReturn;\n }\n}\nclass UpdateMessageTemplateRequest {\n template;\n fieldMask;\n static fromProto(proto) {\n let m = new UpdateMessageTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = MessageTemplate.fromProto(proto.template);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpdateMessageTemplateResponse {\n template;\n static fromProto(proto) {\n let m = new UpdateMessageTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = MessageTemplate.fromProto(proto.template);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n return toReturn;\n }\n}\nclass UpdateWidgetRequest {\n widgetId;\n name;\n color;\n allowedUrls;\n welcomeMessage;\n isEnabled;\n fieldMask;\n textColor;\n accentColor;\n accentTextColor;\n static fromProto(proto) {\n let m = new UpdateWidgetRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.color !== 'undefined') {\n toReturn['color'] = this.color;\n }\n if (typeof this.allowedUrls !== 'undefined') {\n toReturn['allowedUrls'] = this.allowedUrls;\n }\n if (typeof this.welcomeMessage !== 'undefined') {\n toReturn['welcomeMessage'] = this.welcomeMessage;\n }\n if (typeof this.isEnabled !== 'undefined') {\n toReturn['isEnabled'] = this.isEnabled;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.textColor !== 'undefined') {\n toReturn['textColor'] = this.textColor;\n }\n if (typeof this.accentColor !== 'undefined') {\n toReturn['accentColor'] = this.accentColor;\n }\n if (typeof this.accentTextColor !== 'undefined') {\n toReturn['accentTextColor'] = this.accentTextColor;\n }\n return toReturn;\n }\n}\nclass UpdateWidgetResponse {\n widget;\n static fromProto(proto) {\n let m = new UpdateWidgetResponse();\n m = Object.assign(m, proto);\n if (proto.widget) {\n m.widget = Widget.fromProto(proto.widget);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.widget !== 'undefined' && this.widget !== null) {\n toReturn['widget'] = 'toApiJson' in this.widget ? this.widget.toApiJson() : this.widget;\n }\n return toReturn;\n }\n}\nclass UpsertConfigurationRequest {\n configuration;\n fieldMask;\n static fromProto(proto) {\n let m = new UpsertConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.configuration) {\n m.configuration = Configuration.fromProto(proto.configuration);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {\n toReturn['configuration'] = 'toApiJson' in this.configuration ? this.configuration.toApiJson() : this.configuration;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertConfigurationResponse {\n configuration;\n static fromProto(proto) {\n let m = new UpsertConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configuration) {\n m.configuration = Configuration.fromProto(proto.configuration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {\n toReturn['configuration'] = 'toApiJson' in this.configuration ? this.configuration.toApiJson() : this.configuration;\n }\n return toReturn;\n }\n}\nclass UpsertProductFeatureRequest {\n productFeature;\n fieldMask;\n subjectParticipant;\n static fromProto(proto) {\n let m = new UpsertProductFeatureRequest();\n m = Object.assign(m, proto);\n if (proto.productFeature) {\n m.productFeature = ProductFeature.fromProto(proto.productFeature);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.productFeature !== 'undefined' && this.productFeature !== null) {\n toReturn['productFeature'] = 'toApiJson' in this.productFeature ? this.productFeature.toApiJson() : this.productFeature;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.subjectParticipant !== 'undefined' && this.subjectParticipant !== null) {\n toReturn['subjectParticipant'] = 'toApiJson' in this.subjectParticipant ? this.subjectParticipant.toApiJson() : this.subjectParticipant;\n }\n return toReturn;\n }\n}\nclass UpsertProductFeatureResponse {\n productFeature;\n static fromProto(proto) {\n let m = new UpsertProductFeatureResponse();\n m = Object.assign(m, proto);\n if (proto.productFeature) {\n m.productFeature = ProductFeature.fromProto(proto.productFeature);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.productFeature !== 'undefined' && this.productFeature !== null) {\n toReturn['productFeature'] = 'toApiJson' in this.productFeature ? this.productFeature.toApiJson() : this.productFeature;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'conversation-api.vendasta-local.com',\n 'test': '',\n 'demo': 'conversation-demo.apigateway.co',\n 'prod': 'conversation-prod.apigateway.co',\n 'production': 'conversation-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n static ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n }\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet ConversationApiService = /*#__PURE__*/(() => {\n class ConversationApiService {\n hostService = inject(HostService);\n http = inject(HttpClient);\n _host = this.hostService.hostWithScheme;\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n sendMessage(r) {\n const request = r.toApiJson ? r : new SendMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/SendMessage\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SendMessageResponse.fromProto(resp)));\n }\n getMessage(r) {\n const request = r.toApiJson ? r : new GetMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMessage\", request.toApiJson(), this.apiOptions()).pipe(map(resp => Message.fromProto(resp)));\n }\n listMessages(r) {\n const request = r.toApiJson ? r : new ListMessagesRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/ListMessages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListMessagesResponse.fromProto(resp)));\n }\n deleteMessage(r) {\n const request = r.toApiJson ? r : new DeleteMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/DeleteMessage\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateMessageStatus(r) {\n const request = r.toApiJson ? r : new UpdateMessageStatusRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/UpdateMessageStatus\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n lookupConversations(r) {\n const request = r.toApiJson ? r : new LookupConversationsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/LookupConversations\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LookupConversationsResponse.fromProto(resp)));\n }\n getConversationByKey(r) {\n const request = r.toApiJson ? r : new GetConversationByKeyRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetConversationByKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConversationByKeyResponse.fromProto(resp)));\n }\n createConversation(r) {\n const request = r.toApiJson ? r : new CreateConversationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/CreateConversation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateConversationResponse.fromProto(resp)));\n }\n updateConversation(r) {\n const request = r.toApiJson ? r : new UpdateConversationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/UpdateConversation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateConversationResponse.fromProto(resp)));\n }\n deleteConversation(r) {\n const request = r.toApiJson ? r : new DeleteConversationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/DeleteConversation\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n receiveMessage(r) {\n const request = r.toApiJson ? r : new ReceiveMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/ReceiveMessage\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiMessages(r) {\n const request = r.toApiJson ? r : new GetMultiMessagesRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiMessages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiMessagesResponse.fromProto(resp)));\n }\n createMultiMessages(r) {\n const request = r.toApiJson ? r : new CreateMultiMessagesRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/CreateMultiMessages\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiConversationDetails(r) {\n const request = r.toApiJson ? r : new GetMultiConversationDetailsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiConversationDetails\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiConversationDetailsResponse.fromProto(resp)));\n }\n getMultiParticipants(r) {\n const request = r.toApiJson ? r : new GetMultiParticipantsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiParticipants\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiParticipantsResponse.fromProto(resp)));\n }\n searchConversations(r) {\n const request = r.toApiJson ? r : new SearchConversationsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/SearchConversations\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchConversationsResponse.fromProto(resp)));\n }\n getMultiConversationMessageCount(r) {\n const request = r.toApiJson ? r : new GetMultiConversationMessageCountRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiConversationMessageCount\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiConversationMessageCountResponse.fromProto(resp)));\n }\n addMultiParticipants(r) {\n const request = r.toApiJson ? r : new AddMultiParticipantsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/AddMultiParticipants\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddMultiParticipantsResponse.fromProto(resp)));\n }\n setLastSeen(r) {\n const request = r.toApiJson ? r : new SetLastSeenRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/SetLastSeen\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SetLastSeenResponse.fromProto(resp)));\n }\n getParticipantsByKey(r) {\n const request = r.toApiJson ? r : new GetParticipantsByKeyRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetParticipantsByKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetParticipantsByKeyResponse.fromProto(resp)));\n }\n getConversationViews(r) {\n const request = r.toApiJson ? r : new GetConversationViewsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetConversationViews\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConversationViewsResponse.fromProto(resp)));\n }\n addConversationToConversationView(r) {\n const request = r.toApiJson ? r : new AddConversationToConversationViewRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/AddConversationToConversationView\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeConversationFromConversationView(r) {\n const request = r.toApiJson ? r : new RemoveConversationFromConversationViewRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/RemoveConversationFromConversationView\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createWidgetConversation(r) {\n const request = r.toApiJson ? r : new CreateWidgetConversationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/CreateWidgetConversation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateWidgetConversationResponse.fromProto(resp)));\n }\n getMultiWidgetMessages(r) {\n const request = r.toApiJson ? r : new GetMultiWidgetMessagesRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiWidgetMessages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiWidgetMessagesResponse.fromProto(resp)));\n }\n sendWidgetMessage(r) {\n const request = r.toApiJson ? r : new SendWidgetMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/SendWidgetMessage\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SendWidgetMessageResponse.fromProto(resp)));\n }\n getWidgetConversation() {\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetWidgetConversation\", {}, this.apiOptions()).pipe(map(resp => GetWidgetConversationResponse.fromProto(resp)));\n }\n getAvailableChannelsForConversation(r) {\n const request = r.toApiJson ? r : new GetAvailableChannelsForConversationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetAvailableChannelsForConversation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAvailableChannelsForConversationResponse.fromProto(resp)));\n }\n evaluateResponse(r) {\n const request = r.toApiJson ? r : new EvaluateResponseRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/EvaluateResponse\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createWidget(r) {\n const request = r.toApiJson ? r : new CreateWidgetRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/CreateWidget\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateWidgetResponse.fromProto(resp)));\n }\n getWidget(r) {\n const request = r.toApiJson ? r : new GetWidgetRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetWidget\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetWidgetResponse.fromProto(resp)));\n }\n updateWidget(r) {\n const request = r.toApiJson ? r : new UpdateWidgetRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/UpdateWidget\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateWidgetResponse.fromProto(resp)));\n }\n deleteWidget(r) {\n const request = r.toApiJson ? r : new DeleteWidgetRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/DeleteWidget\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listWidgets(r) {\n const request = r.toApiJson ? r : new ListWidgetsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/ListWidgets\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListWidgetsResponse.fromProto(resp)));\n }\n getWidgetConfig(r) {\n const request = r.toApiJson ? r : new GetWidgetConfigRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetWidgetConfig\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetWidgetConfigResponse.fromProto(resp)));\n }\n listMessageTemplate(r) {\n const request = r.toApiJson ? r : new ListMessageTemplateRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/ListMessageTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListMessageTemplateResponse.fromProto(resp)));\n }\n deleteMessageTemplate(r) {\n const request = r.toApiJson ? r : new DeleteMessageTemplateRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/DeleteMessageTemplate\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createMessageTemplate(r) {\n const request = r.toApiJson ? r : new CreateMessageTemplateRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/CreateMessageTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateMessageTemplateResponse.fromProto(resp)));\n }\n updateMessageTemplate(r) {\n const request = r.toApiJson ? r : new UpdateMessageTemplateRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/UpdateMessageTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateMessageTemplateResponse.fromProto(resp)));\n }\n getMessageTemplate(r) {\n const request = r.toApiJson ? r : new GetMessageTemplateRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMessageTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMessageTemplateResponse.fromProto(resp)));\n }\n getConversationSummary(r) {\n const request = r.toApiJson ? r : new GetConversationSummaryRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetConversationSummary\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConversationSummaryResponse.fromProto(resp)));\n }\n newInboxLeadCaptured(r) {\n const request = r.toApiJson ? r : new NewInboxLeadCapturedRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/NewInboxLeadCaptured\", request.toApiJson(), this.apiOptions()).pipe(map(resp => NewInboxLeadCapturedResponse.fromProto(resp)));\n }\n static ɵfac = function ConversationApiService_Factory(t) {\n return new (t || ConversationApiService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ConversationApiService,\n factory: ConversationApiService.ɵfac,\n providedIn: 'root'\n });\n }\n return ConversationApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet EmailApiService = /*#__PURE__*/(() => {\n class EmailApiService {\n hostService = inject(HostService);\n http = inject(HttpClient);\n _host = this.hostService.hostWithScheme;\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getOwnerEmail(r) {\n const request = r.toApiJson ? r : new GetOwnerEmailRequest(r);\n return this.http.post(this._host + \"/conversation.v1.EmailService/GetOwnerEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOwnerEmailResponse.fromProto(resp)));\n }\n static ɵfac = function EmailApiService_Factory(t) {\n return new (t || EmailApiService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EmailApiService,\n factory: EmailApiService.ɵfac,\n providedIn: 'root'\n });\n }\n return EmailApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet InboxApiService = /*#__PURE__*/(() => {\n class InboxApiService {\n hostService = inject(HostService);\n http = inject(HttpClient);\n _host = this.hostService.hostWithScheme;\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getConfiguration(r) {\n const request = r.toApiJson ? r : new GetConfigurationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.InboxService/GetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConfigurationResponse.fromProto(resp)));\n }\n getMultiConfiguration(r) {\n const request = r.toApiJson ? r : new GetMultiConfigurationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.InboxService/GetMultiConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiConfigurationResponse.fromProto(resp)));\n }\n upsertConfiguration(r) {\n const request = r.toApiJson ? r : new UpsertConfigurationRequest(r);\n return this.http.post(this._host + \"/conversation.v1.InboxService/UpsertConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpsertConfigurationResponse.fromProto(resp)));\n }\n upsertProductFeature(r) {\n const request = r.toApiJson ? r : new UpsertProductFeatureRequest(r);\n return this.http.post(this._host + \"/conversation.v1.InboxService/UpsertProductFeature\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpsertProductFeatureResponse.fromProto(resp)));\n }\n static ɵfac = function InboxApiService_Factory(t) {\n return new (t || InboxApiService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InboxApiService,\n factory: InboxApiService.ɵfac,\n providedIn: 'root'\n });\n }\n return InboxApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, Address, CapturedLead, Configuration, Conversation, ConversationApiService, ConversationChannel, ConversationKey, ConversationMessageCount, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DataSources, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EmailApiService, EvaluateResponseRequest, EvaluationSentiment, FieldMask, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConfigurationRequest, GetConfigurationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateResponse, GetMultiConfigurationRequest, GetMultiConfigurationResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsResponseDetailedConversation, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiConversationMessageCountResponseCountsEntry, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetOwnerEmailRequest, GetOwnerEmailResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, GlobalParticipantType, InboxApiService, LastSeenByParticipant, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesRequestListMessagesFilters, ListMessagesResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsRequestLookupConversationsFilters, LookupConversationsResponse, LookupConversationsResponseConversations, Media, Message, MessageStatus, MessageTemplate, MessageType, Metadata, MetadataDataEntry, MetadataIdentifier, NamespaceDetail, NewInboxLeadCapturedRequest, NewInboxLeadCapturedResponse, PagedRequestOptions, PagedResponseMetadata, Participant, ParticipantKey, ParticipantMessageStatus, ParticipantType, PlatformLocation, ProductFeature, ReceiveMessageRequest, ReceiveMessageRequestMetadataEntry, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SearchConversationsResponseDetailedConversation, SendMessageRequest, SendMessageResponse, SendStatus, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenRequestStatus, SetLastSeenResponse, SortDirection, SubjectParticipant, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, UpsertConfigurationRequest, UpsertConfigurationResponse, UpsertProductFeatureRequest, UpsertProductFeatureResponse, View, ViewType, Widget, WidgetPosition };\n"],"mappings":"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","names":["CONVERSATION_CONFIG_TOKEN","InjectionToken","USER_ID_TOKEN","ACCOUNT_GROUP_ID_TOKEN","CONVERSATION_COUNTRY_TOKEN","CONVERSATION_GEOGRAPHICAL_STATE_TOKEN","PARTNER_ID_TOKEN","PARTNER_BRAND_NAME_TOKEN","MARKET_ID_TOKEN","COMPANY_NAME_TOKEN","FEATURE_FLAG_TOKEN","CONVERSATION_IMAGE_SERVICE_TOKEN","CONVERSATION_PLATFORM_LOCATION_TOKEN","CONVERSATION_CONVERSATION_CHANNELS_ENABLED_TOKEN","CONVERSATION_ROUTES_TOKEN","CONVERSATION_GOOGLE_BUSINESS_MESSAGES_AVAILABLE_TOKEN","CONVERSATION_FACEBOOK_MESSENGER_AVAILABLE_TOKEN","CONVERSATION_INSTAGRAM_MESSAGES_AVAILABLE_TOKEN","CONVERSATION_SMS_ENABLED_TOKEN","CONVERSATION_WEB_CHAT_ENABLED_TOKEN","CONVERSATION_CHANNEL_SERVICE_TOKEN","GROUP_ID_TOKEN","StubInboxImageService","getImageSrc","_imageName","Error","factory","ɵfac","providedIn","_StubInboxImageService","CONVERSATION_HOST_APP_INTERFACE_TOKEN","GlobalParticipantType","ConversationChannel","PlatformLocation","MessageStatus","MessageType","ParticipantType","WidgetPosition","EvaluationSentiment","MetadataIdentifier","SetLastSeenRequestStatus","enumStringToValue$a","enumRef","value","NamespaceDetail","_NamespaceDetail","proto","m","GlobalParticipantType","kwargs","toReturn","SubjectParticipant","_SubjectParticipant","enumStringToValue$9","Conversation","_Conversation","ConversationChannel","PlatformLocation","LastSeenByParticipant","ConversationKey","_ConversationKey","_LastSeenByParticipant","enumStringToValue$8","Message","_Message","MessageType","SendStatus","SendStatus","_SendStatus","proto","m","enumStringToValue$8","MessageStatus","kwargs","toReturn","enumStringToValue$7","enumRef","value","Address","_Address","Participant","_Participant","PlatformLocation","ConversationChannel","ParticipantType","NamespaceDetail","ParticipantKey","_ParticipantKey","v","GlobalParticipantType","Configuration","_Configuration","proto","m","SubjectParticipant","kwargs","toReturn","ProductFeature","_ProductFeature","View","_View","proto","m","kwargs","toReturn","enumStringToValue$3","enumRef","value","DataSources","_DataSources","Widget","_Widget","WidgetPosition","FieldMask","_FieldMask","proto","m","kwargs","toReturn","MessageTemplate","_MessageTemplate","proto","m","kwargs","toReturn","enumStringToValue","enumRef","value","AddConversationToConversationViewRequest","_AddConversationToConversationViewRequest","AddMultiParticipantsRequest","_AddMultiParticipantsRequest","Participant","AddMultiParticipantsResponse","_AddMultiParticipantsResponse","CapturedLead","_CapturedLead","ConversationMessageCount","_ConversationMessageCount","LookupConversationsResponseConversations","_LookupConversationsResponseConversations","Conversation","CreateConversationRequest","_CreateConversationRequest","proto","m","Participant","enumStringToValue","ConversationChannel","PlatformLocation","kwargs","toReturn","CreateConversationResponse","_CreateConversationResponse","Conversation","CreateMessageTemplateRequest","_CreateMessageTemplateRequest","MessageTemplate","SubjectParticipant","CreateMessageTemplateResponse","_CreateMessageTemplateResponse","CreateMultiMessagesRequest","_CreateMultiMessagesRequest","Message","CreateWidgetConversationRequest","_CreateWidgetConversationRequest","CreateWidgetConversationResponse","_CreateWidgetConversationResponse","CreateWidgetRequest","_CreateWidgetRequest","DataSources","CreateWidgetResponse","_CreateWidgetResponse","Widget","DeleteConversationRequest","_DeleteConversationRequest","proto","m","kwargs","toReturn","DeleteMessageRequest","_DeleteMessageRequest","DeleteMessageTemplateRequest","_DeleteMessageTemplateRequest","DeleteWidgetRequest","_DeleteWidgetRequest","GetMultiConversationDetailsResponseDetailedConversation","_GetMultiConversationDetailsResponseDetailedConversation","Conversation","Message","Participant","SearchConversationsResponseDetailedConversation","_SearchConversationsResponseDetailedConversation","EvaluateResponseRequest","_EvaluateResponseRequest","enumStringToValue","EvaluationSentiment","GetAvailableChannelsForConversationRequest","_GetAvailableChannelsForConversationRequest","GetAvailableChannelsForConversationResponse","_GetAvailableChannelsForConversationResponse","v","ConversationChannel","GetConfigurationRequest","_GetConfigurationRequest","SubjectParticipant","GetConfigurationResponse","_GetConfigurationResponse","Configuration","GetConversationByKeyRequest","_GetConversationByKeyRequest","ConversationKey","GetConversationByKeyResponse","_GetConversationByKeyResponse","GetConversationSummaryRequest","_GetConversationSummaryRequest","GetConversationSummaryResponse","_GetConversationSummaryResponse","GetConversationViewsRequest","_GetConversationViewsRequest","GetConversationViewsResponse","_GetConversationViewsResponse","View","GetMessageRequest","_GetMessageRequest","GetMessageTemplateRequest","_GetMessageTemplateRequest","GetMessageTemplateResponse","_GetMessageTemplateResponse","MessageTemplate","GetMultiConfigurationRequest","_GetMultiConfigurationRequest","GetMultiConfigurationResponse","_GetMultiConfigurationResponse","GetMultiConversationDetailsRequest","_GetMultiConversationDetailsRequest","FieldMask","GetMultiConversationDetailsResponse","_GetMultiConversationDetailsResponse","GetMultiConversationMessageCountRequest","_GetMultiConversationMessageCountRequest","GetMultiConversationMessageCountResponse","_GetMultiConversationMessageCountResponse","ConversationMessageCount","obj","k","GetMultiMessagesRequest","_GetMultiMessagesRequest","GetMultiMessagesResponse","_GetMultiMessagesResponse","GetMultiParticipantsRequest","_GetMultiParticipantsRequest","GetMultiParticipantsResponse","_GetMultiParticipantsResponse","GetMultiWidgetMessagesRequest","_GetMultiWidgetMessagesRequest","GetMultiWidgetMessagesResponse","_GetMultiWidgetMessagesResponse","GetOwnerEmailRequest","_GetOwnerEmailRequest","GetOwnerEmailResponse","_GetOwnerEmailResponse","GetParticipantsByKeyRequest","_GetParticipantsByKeyRequest","ParticipantKey","GetParticipantsByKeyResponse","_GetParticipantsByKeyResponse","GetWidgetConfigRequest","_GetWidgetConfigRequest","GetWidgetConfigResponse","_GetWidgetConfigResponse","GetWidgetConversationResponse","_GetWidgetConversationResponse","GetWidgetRequest","_GetWidgetRequest","GetWidgetResponse","_GetWidgetResponse","Widget","ListMessageTemplateRequest","_ListMessageTemplateRequest","PagedRequestOptions","ListMessageTemplateResponse","_ListMessageTemplateResponse","PagedResponseMetadata","ListMessagesRequestListMessagesFilters","_ListMessagesRequestListMessagesFilters","ListMessagesRequest","_ListMessagesRequest","ListMessagesResponse","_ListMessagesResponse","ListWidgetsRequest","_ListWidgetsRequest","ListWidgetsResponse","_ListWidgetsResponse","LookupConversationsRequestLookupConversationsFilters","_LookupConversationsRequestLookupConversationsFilters","PlatformLocation","LookupConversationsRequest","_LookupConversationsRequest","LookupConversationsResponse","_LookupConversationsResponse","LookupConversationsResponseConversations","Media","_Media","Metadata","_Metadata","MetadataIdentifier","NewInboxLeadCapturedRequest","_NewInboxLeadCapturedRequest","proto","m","CapturedLead","kwargs","toReturn","NewInboxLeadCapturedResponse","_NewInboxLeadCapturedResponse","PagedRequestOptions","_PagedRequestOptions","PagedResponseMetadata","_PagedResponseMetadata","ReceiveMessageRequest","_ReceiveMessageRequest","enumStringToValue","ConversationChannel","MessageType","PlatformLocation","obj","k","RemoveConversationFromConversationViewRequest","_RemoveConversationFromConversationViewRequest","SearchConversationsRequest","_SearchConversationsRequest","SearchConversationsResponse","_SearchConversationsResponse","SearchConversationsResponseDetailedConversation","SendMessageRequest","_SendMessageRequest","Participant","Metadata","Media","SendMessageResponse","_SendMessageResponse","SendWidgetMessageRequest","_SendWidgetMessageRequest","SendWidgetMessageResponse","_SendWidgetMessageResponse","SetLastSeenRequest","_SetLastSeenRequest","SetLastSeenRequestStatus","SetLastSeenResponse","_SetLastSeenResponse","UpdateConversationRequest","_UpdateConversationRequest","Conversation","FieldMask","UpdateConversationResponse","_UpdateConversationResponse","UpdateMessageStatusRequest","_UpdateMessageStatusRequest","MessageStatus","UpdateMessageTemplateRequest","_UpdateMessageTemplateRequest","MessageTemplate","UpdateMessageTemplateResponse","_UpdateMessageTemplateResponse","UpdateWidgetRequest","_UpdateWidgetRequest","UpdateWidgetResponse","_UpdateWidgetResponse","Widget","UpsertConfigurationRequest","_UpsertConfigurationRequest","Configuration","UpsertConfigurationResponse","_UpsertConfigurationResponse","UpsertProductFeatureRequest","_UpsertProductFeatureRequest","ProductFeature","SubjectParticipant","UpsertProductFeatureResponse","_UpsertProductFeatureResponse","environment","hostMap","HostService","t","ɵɵdefineInjectable","ConversationApiService","inject","HttpClient","HttpHeaders","r","request","map","resp","GetMessageRequest","Message","ListMessagesRequest","ListMessagesResponse","DeleteMessageRequest","__spreadProps","__spreadValues","LookupConversationsRequest","LookupConversationsResponse","GetConversationByKeyRequest","GetConversationByKeyResponse","CreateConversationRequest","CreateConversationResponse","DeleteConversationRequest","GetMultiMessagesRequest","GetMultiMessagesResponse","CreateMultiMessagesRequest","GetMultiConversationDetailsRequest","GetMultiConversationDetailsResponse","GetMultiParticipantsRequest","GetMultiParticipantsResponse","GetMultiConversationMessageCountRequest","GetMultiConversationMessageCountResponse","AddMultiParticipantsRequest","AddMultiParticipantsResponse","GetParticipantsByKeyRequest","GetParticipantsByKeyResponse","GetConversationViewsRequest","GetConversationViewsResponse","AddConversationToConversationViewRequest","CreateWidgetConversationRequest","CreateWidgetConversationResponse","GetMultiWidgetMessagesRequest","GetMultiWidgetMessagesResponse","GetWidgetConversationResponse","GetAvailableChannelsForConversationRequest","GetAvailableChannelsForConversationResponse","EvaluateResponseRequest","CreateWidgetRequest","CreateWidgetResponse","GetWidgetRequest","GetWidgetResponse","DeleteWidgetRequest","ListWidgetsRequest","ListWidgetsResponse","GetWidgetConfigRequest","GetWidgetConfigResponse","ListMessageTemplateRequest","ListMessageTemplateResponse","DeleteMessageTemplateRequest","CreateMessageTemplateRequest","CreateMessageTemplateResponse","GetMessageTemplateRequest","GetMessageTemplateResponse","GetConversationSummaryRequest","GetConversationSummaryResponse","EmailApiService","GetOwnerEmailRequest","GetOwnerEmailResponse","InboxApiService","GetConfigurationRequest","GetConfigurationResponse","GetMultiConfigurationRequest","GetMultiConfigurationResponse"],"x_google_ignoreList":[1]}