{"version":3,"sources":["node_modules/@vendasta/conversation/fesm2022/vendasta-conversation.mjs"],"sourcesContent":["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 ConversationChannel[ConversationChannel[\"CONVERSATION_CHANNEL_WHATSAPP\"] = 10] = \"CONVERSATION_CHANNEL_WHATSAPP\";\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 MessageType[MessageType[\"MESSAGE_TYPE_FORM_SUBMISSION\"] = 3] = \"MESSAGE_TYPE_FORM_SUBMISSION\";\n MessageType[MessageType[\"MESSAGE_TYPE_BOOKING_AVAILABILITY\"] = 4] = \"MESSAGE_TYPE_BOOKING_AVAILABILITY\";\n MessageType[MessageType[\"MESSAGE_TYPE_TEMPLATE\"] = 5] = \"MESSAGE_TYPE_TEMPLATE\";\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 EventType = /*#__PURE__*/function (EventType) {\n EventType[EventType[\"EVENT_TYPE_UNDEFINED\"] = 0] = \"EVENT_TYPE_UNDEFINED\";\n EventType[EventType[\"EVENT_TYPE_SMS_UNSUBSCRIBED\"] = 1] = \"EVENT_TYPE_SMS_UNSUBSCRIBED\";\n EventType[EventType[\"EVENT_TYPE_CAMPAIGN\"] = 3] = \"EVENT_TYPE_CAMPAIGN\";\n EventType[EventType[\"EVENT_TYPE_REVIEW_REQUEST\"] = 4] = \"EVENT_TYPE_REVIEW_REQUEST\";\n EventType[EventType[\"EVENT_TYPE_FORM_SUBMISSION\"] = 5] = \"EVENT_TYPE_FORM_SUBMISSION\";\n EventType[EventType[\"EVENT_TYPE_PHONE_CALL\"] = 6] = \"EVENT_TYPE_PHONE_CALL\";\n return EventType;\n}(EventType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType = /*#__PURE__*/function (GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType) {\n GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[\"ENTITY_TYPE_UNDEFINED\"] = 0] = \"ENTITY_TYPE_UNDEFINED\";\n GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[\"ENTITY_TYPE_PARTNER\"] = 1] = \"ENTITY_TYPE_PARTNER\";\n GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[\"ENTITY_TYPE_ACCOUNT_GROUP\"] = 2] = \"ENTITY_TYPE_ACCOUNT_GROUP\";\n GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType[\"ENTITY_TYPE_CONTACT\"] = 3] = \"ENTITY_TYPE_CONTACT\";\n return GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType;\n}(GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType || {});\nvar EvaluateResponseType = /*#__PURE__*/function (EvaluateResponseType) {\n EvaluateResponseType[EvaluateResponseType[\"EVALUATION_RESPONSE_TYPE_UNSPECIFIED\"] = 0] = \"EVALUATION_RESPONSE_TYPE_UNSPECIFIED\";\n EvaluateResponseType[EvaluateResponseType[\"EVALUATION_RESPONSE_TYPE_EVENT\"] = 1] = \"EVALUATION_RESPONSE_TYPE_EVENT\";\n EvaluateResponseType[EvaluateResponseType[\"EVALUATION_RESPONSE_TYPE_MESSAGE\"] = 2] = \"EVALUATION_RESPONSE_TYPE_MESSAGE\";\n return EvaluateResponseType;\n}(EvaluateResponseType || {});\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 MetadataIdentifier[MetadataIdentifier[\"METADATA_IDENTIFIER_WHATSAPP_TEMPLATE\"] = 4] = \"METADATA_IDENTIFIER_WHATSAPP_TEMPLATE\";\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 || {});\nvar Status = /*#__PURE__*/function (Status) {\n Status[Status[\"ERROR\"] = 0] = \"ERROR\";\n Status[Status[\"WARNING\"] = 1] = \"WARNING\";\n Status[Status[\"INFO\"] = 2] = \"INFO\";\n Status[Status[\"RESTRICTED\"] = 3] = \"RESTRICTED\";\n return Status;\n}(Status || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\n\nfunction enumStringToValue$d(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass KeyValuePair {\n key;\n value;\n static fromProto(proto) {\n let m = new KeyValuePair();\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 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$d(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$d(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$c(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AIConfiguration {\n aiResponseEnabled;\n willRespondAt;\n static fromProto(proto) {\n let m = new AIConfiguration();\n m = Object.assign(m, proto);\n if (proto.willRespondAt) {\n m.willRespondAt = new Date(proto.willRespondAt);\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.aiResponseEnabled !== 'undefined') {\n toReturn['aiResponseEnabled'] = this.aiResponseEnabled;\n }\n if (typeof this.willRespondAt !== 'undefined' && this.willRespondAt !== null) {\n toReturn['willRespondAt'] = 'toApiJson' in this.willRespondAt ? this.willRespondAt.toApiJson() : this.willRespondAt;\n }\n return toReturn;\n }\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 aiConfiguration;\n latestMsgSentTimeBySubjectParticipant;\n subjectParticipantKey;\n latestRelevantActivityTime;\n metadata;\n static fromProto(proto) {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {\n m.channel = enumStringToValue$c(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$c(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 if (proto.aiConfiguration) {\n m.aiConfiguration = AIConfiguration.fromProto(proto.aiConfiguration);\n }\n if (proto.latestMsgSentTimeBySubjectParticipant) {\n m.latestMsgSentTimeBySubjectParticipant = proto.latestMsgSentTimeBySubjectParticipant.map(LatestMessageSentTimeBySubjectParticipant.fromProto);\n }\n if (proto.subjectParticipantKey) {\n m.subjectParticipantKey = SubjectParticipantKey.fromProto(proto.subjectParticipantKey);\n }\n if (proto.latestRelevantActivityTime) {\n m.latestRelevantActivityTime = new Date(proto.latestRelevantActivityTime);\n }\n if (proto.metadata) {\n m.metadata = proto.metadata.map(KeyValuePair.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 if (typeof this.aiConfiguration !== 'undefined' && this.aiConfiguration !== null) {\n toReturn['aiConfiguration'] = 'toApiJson' in this.aiConfiguration ? this.aiConfiguration.toApiJson() : this.aiConfiguration;\n }\n if (typeof this.latestMsgSentTimeBySubjectParticipant !== 'undefined' && this.latestMsgSentTimeBySubjectParticipant !== null) {\n toReturn['latestMsgSentTimeBySubjectParticipant'] = 'toApiJson' in this.latestMsgSentTimeBySubjectParticipant ? this.latestMsgSentTimeBySubjectParticipant.toApiJson() : this.latestMsgSentTimeBySubjectParticipant;\n }\n if (typeof this.subjectParticipantKey !== 'undefined' && this.subjectParticipantKey !== null) {\n toReturn['subjectParticipantKey'] = 'toApiJson' in this.subjectParticipantKey ? this.subjectParticipantKey.toApiJson() : this.subjectParticipantKey;\n }\n if (typeof this.latestRelevantActivityTime !== 'undefined' && this.latestRelevantActivityTime !== null) {\n toReturn['latestRelevantActivityTime'] = 'toApiJson' in this.latestRelevantActivityTime ? this.latestRelevantActivityTime.toApiJson() : this.latestRelevantActivityTime;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\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$c(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}\nclass LatestMessageSentTimeBySubjectParticipant {\n subjectParticipant;\n time;\n static fromProto(proto) {\n let m = new LatestMessageSentTimeBySubjectParticipant();\n m = Object.assign(m, proto);\n if (proto.subjectParticipant) {\n m.subjectParticipant = SubjectParticipant.fromProto(proto.subjectParticipant);\n }\n if (proto.time) {\n m.time = new Date(proto.time);\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.time !== 'undefined' && this.time !== null) {\n toReturn['time'] = 'toApiJson' in this.time ? this.time.toApiJson() : this.time;\n }\n return toReturn;\n }\n}\nclass SubjectParticipantKey {\n subjectParticipantsKey;\n subjectParticipants;\n static fromProto(proto) {\n let m = new SubjectParticipantKey();\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.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 return toReturn;\n }\n}\nfunction enumStringToValue$b(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 metadata;\n originalContent;\n static fromProto(proto) {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue$b(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$b(ConversationChannel, proto.channel);\n }\n if (proto.metadata) {\n m.metadata = proto.metadata.map(KeyValuePair.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.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 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.originalContent !== 'undefined') {\n toReturn['originalContent'] = this.originalContent;\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$b(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$b(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$a(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$a(PlatformLocation, proto.location);\n }\n if (proto.channel) {\n m.channel = enumStringToValue$a(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$a(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$a(PlatformLocation, proto.location);\n }\n if (proto.channels) {\n m.channels = proto.channels.map(v => enumStringToValue$a(ConversationChannel, v));\n }\n if (proto.participantType) {\n m.participantType = enumStringToValue$a(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$9(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$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ConfigurationAIConfiguration {\n smsResponderEnabled;\n static fromProto(proto) {\n let m = new ConfigurationAIConfiguration();\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.smsResponderEnabled !== 'undefined') {\n toReturn['smsResponderEnabled'] = this.smsResponderEnabled;\n }\n return toReturn;\n }\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 aiConfiguration;\n whatsappEnabled;\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 if (proto.aiConfiguration) {\n m.aiConfiguration = ConfigurationAIConfiguration.fromProto(proto.aiConfiguration);\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 if (typeof this.aiConfiguration !== 'undefined' && this.aiConfiguration !== null) {\n toReturn['aiConfiguration'] = 'toApiJson' in this.aiConfiguration ? this.aiConfiguration.toApiJson() : this.aiConfiguration;\n }\n if (typeof this.whatsappEnabled !== 'undefined') {\n toReturn['whatsappEnabled'] = this.whatsappEnabled;\n }\n return toReturn;\n }\n}\nclass ProductFeature {\n googleBusinessMessagesEnabled;\n smsEnabled;\n multiLocationEnabled;\n webChatEnabled;\n facebookMessengerEnabled;\n instagramMessagingEnabled;\n aiSmsResponderEnabled;\n whatsappEnabled;\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 if (typeof this.aiSmsResponderEnabled !== 'undefined') {\n toReturn['aiSmsResponderEnabled'] = this.aiSmsResponderEnabled;\n }\n if (typeof this.whatsappEnabled !== 'undefined') {\n toReturn['whatsappEnabled'] = this.whatsappEnabled;\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 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$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass DataSources {\n businessProfile;\n businessWebsite;\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 if (typeof this.businessWebsite !== 'undefined') {\n toReturn['businessWebsite'] = this.businessWebsite;\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 skipContactCapture;\n additionalPromptInstructions;\n assistantName;\n assistantAvatarUrl;\n embedHistory;\n hideMobileCta;\n customGreetingMessage;\n enableGreetingMessage;\n static fromProto(proto) {\n let m = new Widget();\n m = Object.assign(m, proto);\n if (proto.position) {\n m.position = enumStringToValue$6(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 if (typeof this.skipContactCapture !== 'undefined') {\n toReturn['skipContactCapture'] = this.skipContactCapture;\n }\n if (typeof this.additionalPromptInstructions !== 'undefined') {\n toReturn['additionalPromptInstructions'] = this.additionalPromptInstructions;\n }\n if (typeof this.assistantName !== 'undefined') {\n toReturn['assistantName'] = this.assistantName;\n }\n if (typeof this.assistantAvatarUrl !== 'undefined') {\n toReturn['assistantAvatarUrl'] = this.assistantAvatarUrl;\n }\n if (typeof this.embedHistory !== 'undefined') {\n toReturn['embedHistory'] = this.embedHistory;\n }\n if (typeof this.hideMobileCta !== 'undefined') {\n toReturn['hideMobileCta'] = this.hideMobileCta;\n }\n if (typeof this.customGreetingMessage !== 'undefined') {\n toReturn['customGreetingMessage'] = this.customGreetingMessage;\n }\n if (typeof this.enableGreetingMessage !== 'undefined') {\n toReturn['enableGreetingMessage'] = this.enableGreetingMessage;\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 ResponseEvaluation {\n messageId;\n conversationId;\n sentiment;\n comment;\n createdAt;\n subjectParticipants;\n eventId;\n static fromProto(proto) {\n let m = new ResponseEvaluation();\n m = Object.assign(m, proto);\n if (proto.sentiment) {\n m.sentiment = enumStringToValue$5(EvaluationSentiment, proto.sentiment);\n }\n if (proto.createdAt) {\n m.createdAt = new Date(proto.createdAt);\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.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\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 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.subjectParticipants !== 'undefined' && this.subjectParticipants !== null) {\n toReturn['subjectParticipants'] = 'toApiJson' in this.subjectParticipants ? this.subjectParticipants.toApiJson() : this.subjectParticipants;\n }\n if (typeof this.eventId !== 'undefined') {\n toReturn['eventId'] = this.eventId;\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 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$3(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$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AISystemMessage {\n systemMessageId;\n systemMessageBody;\n iamUserId;\n updated;\n static fromProto(proto) {\n let m = new AISystemMessage();\n m = Object.assign(m, proto);\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.systemMessageId !== 'undefined') {\n toReturn['systemMessageId'] = this.systemMessageId;\n }\n if (typeof this.systemMessageBody !== 'undefined') {\n toReturn['systemMessageBody'] = this.systemMessageBody;\n }\n if (typeof this.iamUserId !== 'undefined') {\n toReturn['iamUserId'] = this.iamUserId;\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 GetAISystemMessageRequest {\n systemMessageId;\n static fromProto(proto) {\n let m = new GetAISystemMessageRequest();\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.systemMessageId !== 'undefined') {\n toReturn['systemMessageId'] = this.systemMessageId;\n }\n return toReturn;\n }\n}\nclass GetAISystemMessageResponse {\n systemMessage;\n static fromProto(proto) {\n let m = new GetAISystemMessageResponse();\n m = Object.assign(m, proto);\n if (proto.systemMessage) {\n m.systemMessage = AISystemMessage.fromProto(proto.systemMessage);\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.systemMessage !== 'undefined' && this.systemMessage !== null) {\n toReturn['systemMessage'] = 'toApiJson' in this.systemMessage ? this.systemMessage.toApiJson() : this.systemMessage;\n }\n return toReturn;\n }\n}\nclass ListAISystemMessagesRequest {\n cursor;\n pageSize;\n static fromProto(proto) {\n let m = new ListAISystemMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 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.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 ListAISystemMessagesResponse {\n aiSystemMessages;\n nextCursor;\n hasMore;\n static fromProto(proto) {\n let m = new ListAISystemMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.aiSystemMessages) {\n m.aiSystemMessages = proto.aiSystemMessages.map(AISystemMessage.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.aiSystemMessages !== 'undefined' && this.aiSystemMessages !== null) {\n toReturn['aiSystemMessages'] = 'toApiJson' in this.aiSystemMessages ? this.aiSystemMessages.toApiJson() : this.aiSystemMessages;\n }\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 return toReturn;\n }\n}\nclass UpsertAISystemMessageRequest {\n systemMessage;\n static fromProto(proto) {\n let m = new UpsertAISystemMessageRequest();\n m = Object.assign(m, proto);\n if (proto.systemMessage) {\n m.systemMessage = AISystemMessage.fromProto(proto.systemMessage);\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.systemMessage !== 'undefined' && this.systemMessage !== null) {\n toReturn['systemMessage'] = 'toApiJson' in this.systemMessage ? this.systemMessage.toApiJson() : this.systemMessage;\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 Event {\n conversationId;\n eventId;\n happenedAt;\n labelKey;\n initiatorId;\n created;\n updated;\n deleted;\n message;\n channel;\n originatedAt;\n type;\n metadata;\n static fromProto(proto) {\n let m = new Event();\n m = Object.assign(m, proto);\n if (proto.happenedAt) {\n m.happenedAt = new Date(proto.happenedAt);\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.channel) {\n m.channel = enumStringToValue$1(ConversationChannel, proto.channel);\n }\n if (proto.originatedAt) {\n m.originatedAt = enumStringToValue$1(PlatformLocation, proto.originatedAt);\n }\n if (proto.type) {\n m.type = enumStringToValue$1(EventType, proto.type);\n }\n if (proto.metadata) {\n m.metadata = proto.metadata.map(KeyValuePair.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.eventId !== 'undefined') {\n toReturn['eventId'] = this.eventId;\n }\n if (typeof this.happenedAt !== 'undefined' && this.happenedAt !== null) {\n toReturn['happenedAt'] = 'toApiJson' in this.happenedAt ? this.happenedAt.toApiJson() : this.happenedAt;\n }\n if (typeof this.labelKey !== 'undefined') {\n toReturn['labelKey'] = this.labelKey;\n }\n if (typeof this.initiatorId !== 'undefined') {\n toReturn['initiatorId'] = this.initiatorId;\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.message !== 'undefined') {\n toReturn['message'] = this.message;\n }\n if (typeof this.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.originatedAt !== 'undefined') {\n toReturn['originatedAt'] = this.originatedAt;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\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 contactId;\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 if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n return toReturn;\n }\n}\nclass ChannelAvailability {\n channel;\n isAvailable;\n statuses;\n static fromProto(proto) {\n let m = new ChannelAvailability();\n m = Object.assign(m, proto);\n if (proto.channel) {\n m.channel = enumStringToValue(ConversationChannel, proto.channel);\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(ChannelStatus.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.channel !== 'undefined') {\n toReturn['channel'] = this.channel;\n }\n if (typeof this.isAvailable !== 'undefined') {\n toReturn['isAvailable'] = this.isAvailable;\n }\n if (typeof this.statuses !== 'undefined' && this.statuses !== null) {\n toReturn['statuses'] = 'toApiJson' in this.statuses ? this.statuses.toApiJson() : this.statuses;\n }\n return toReturn;\n }\n}\nclass ChannelStatus {\n status;\n i18nKey;\n static fromProto(proto) {\n let m = new ChannelStatus();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(Status, 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.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.i18nKey !== 'undefined') {\n toReturn['i18nKey'] = this.i18nKey;\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 greetingMessage;\n metadata;\n static fromProto(proto) {\n let m = new CreateWidgetConversationRequest();\n m = Object.assign(m, proto);\n if (proto.metadata) {\n m.metadata = proto.metadata.map(KeyValuePair.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.widgetId !== 'undefined') {\n toReturn['widgetId'] = this.widgetId;\n }\n if (typeof this.chatSourceUrl !== 'undefined') {\n toReturn['chatSourceUrl'] = this.chatSourceUrl;\n }\n if (typeof this.greetingMessage !== 'undefined') {\n toReturn['greetingMessage'] = this.greetingMessage;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\n }\n return toReturn;\n }\n}\nclass CreateWidgetConversationResponse {\n widgetParticipantToken;\n conversation;\n greetingMessageId;\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 if (typeof this.greetingMessageId !== 'undefined') {\n toReturn['greetingMessageId'] = this.greetingMessageId;\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 skipContactCapture;\n additionalPromptInstructions;\n assistantName;\n assistantAvatarUrl;\n position;\n hideMobileCta;\n customGreetingMessage;\n enableGreetingMessage;\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 if (proto.position) {\n m.position = enumStringToValue(WidgetPosition, proto.position);\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 if (typeof this.skipContactCapture !== 'undefined') {\n toReturn['skipContactCapture'] = this.skipContactCapture;\n }\n if (typeof this.additionalPromptInstructions !== 'undefined') {\n toReturn['additionalPromptInstructions'] = this.additionalPromptInstructions;\n }\n if (typeof this.assistantName !== 'undefined') {\n toReturn['assistantName'] = this.assistantName;\n }\n if (typeof this.assistantAvatarUrl !== 'undefined') {\n toReturn['assistantAvatarUrl'] = this.assistantAvatarUrl;\n }\n if (typeof this.position !== 'undefined') {\n toReturn['position'] = this.position;\n }\n if (typeof this.hideMobileCta !== 'undefined') {\n toReturn['hideMobileCta'] = this.hideMobileCta;\n }\n if (typeof this.customGreetingMessage !== 'undefined') {\n toReturn['customGreetingMessage'] = this.customGreetingMessage;\n }\n if (typeof this.enableGreetingMessage !== 'undefined') {\n toReturn['enableGreetingMessage'] = this.enableGreetingMessage;\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 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 GetMultiConversationDetailsResponseDetailedConversation {\n conversation;\n latestMessage;\n participants;\n summary;\n event;\n message;\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 if (proto.event) {\n m.event = Event.fromProto(proto.event);\n }\n if (proto.message) {\n m.message = Message.fromProto(proto.message);\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 if (typeof this.event !== 'undefined' && this.event !== null) {\n toReturn['event'] = 'toApiJson' in this.event ? this.event.toApiJson() : this.event;\n }\n if (typeof this.message !== 'undefined' && this.message !== null) {\n toReturn['message'] = 'toApiJson' in this.message ? this.message.toApiJson() : this.message;\n }\n return toReturn;\n }\n}\nclass EvaluateResponseRequest {\n messageId;\n sentiment;\n comment;\n evaluatedEventId;\n evaluatedMessageId;\n conversationId;\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 if (typeof this.evaluatedEventId !== 'undefined') {\n toReturn['evaluatedEventId'] = this.evaluatedEventId;\n }\n if (typeof this.evaluatedMessageId !== 'undefined') {\n toReturn['evaluatedMessageId'] = this.evaluatedMessageId;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\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 channelAvailabilities;\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 if (proto.channelAvailabilities) {\n m.channelAvailabilities = proto.channelAvailabilities.map(ChannelAvailability.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.channels !== 'undefined') {\n toReturn['channels'] = this.channels;\n }\n if (typeof this.preferredChannel !== 'undefined') {\n toReturn['preferredChannel'] = this.preferredChannel;\n }\n if (typeof this.channelAvailabilities !== 'undefined' && this.channelAvailabilities !== null) {\n toReturn['channelAvailabilities'] = 'toApiJson' in this.channelAvailabilities ? this.channelAvailabilities.toApiJson() : this.channelAvailabilities;\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 GetMessageOptions {\n includeOriginalContent;\n static fromProto(proto) {\n let m = new GetMessageOptions();\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.includeOriginalContent !== 'undefined') {\n toReturn['includeOriginalContent'] = this.includeOriginalContent;\n }\n return toReturn;\n }\n}\nclass GetMessageRequest {\n messageId;\n options;\n static fromProto(proto) {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n if (proto.options) {\n m.options = GetMessageOptions.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.messageId !== 'undefined') {\n toReturn['messageId'] = this.messageId;\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 GetMessageTemplateRequest {\n templateId;\n hydrationOptions;\n static fromProto(proto) {\n let m = new GetMessageTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.hydrationOptions) {\n m.hydrationOptions = GetMessageTemplateRequestHydrationOptions.fromProto(proto.hydrationOptions);\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.hydrationOptions !== 'undefined' && this.hydrationOptions !== null) {\n toReturn['hydrationOptions'] = 'toApiJson' in this.hydrationOptions ? this.hydrationOptions.toApiJson() : this.hydrationOptions;\n }\n return toReturn;\n }\n}\nclass GetMessageTemplateResponse {\n template;\n hydrationInformation;\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 if (proto.hydrationInformation) {\n m.hydrationInformation = GetMessageTemplateResponseHydrationInformation.fromProto(proto.hydrationInformation);\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.hydrationInformation !== 'undefined' && this.hydrationInformation !== null) {\n toReturn['hydrationInformation'] = 'toApiJson' in this.hydrationInformation ? this.hydrationInformation.toApiJson() : this.hydrationInformation;\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 GetMultiEventsRequest {\n eventIds;\n conversationId;\n static fromProto(proto) {\n let m = new GetMultiEventsRequest();\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.eventIds !== 'undefined') {\n toReturn['eventIds'] = this.eventIds;\n }\n if (typeof this.conversationId !== 'undefined') {\n toReturn['conversationId'] = this.conversationId;\n }\n return toReturn;\n }\n}\nclass GetMultiEventsResponse {\n events;\n static fromProto(proto) {\n let m = new GetMultiEventsResponse();\n m = Object.assign(m, proto);\n if (proto.events) {\n m.events = proto.events.map(Event.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.events !== 'undefined' && this.events !== null) {\n toReturn['events'] = 'toApiJson' in this.events ? this.events.toApiJson() : this.events;\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 GetMultiWidgetRequest {\n widgetIds;\n static fromProto(proto) {\n let m = new GetMultiWidgetRequest();\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.widgetIds !== 'undefined') {\n toReturn['widgetIds'] = this.widgetIds;\n }\n return toReturn;\n }\n}\nclass GetMultiWidgetResponse {\n widgets;\n static fromProto(proto) {\n let m = new GetMultiWidgetResponse();\n m = Object.assign(m, proto);\n if (proto.widgets) {\n m.widgets = proto.widgets.map(Widget.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.widgets !== 'undefined' && this.widgets !== null) {\n toReturn['widgets'] = 'toApiJson' in this.widgets ? this.widgets.toApiJson() : this.widgets;\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 visitData;\n static fromProto(proto) {\n let m = new GetWidgetConfigRequest();\n m = Object.assign(m, proto);\n if (proto.visitData) {\n m.visitData = WidgetVisit.fromProto(proto.visitData);\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.visitData !== 'undefined' && this.visitData !== null) {\n toReturn['visitData'] = 'toApiJson' in this.visitData ? this.visitData.toApiJson() : this.visitData;\n }\n return toReturn;\n }\n}\nclass GetWidgetConfigResponse {\n name;\n color;\n isEnabled;\n welcomeMessage;\n textColor;\n accentColor;\n accentTextColor;\n skipContactCapture;\n widgetTopSpace;\n assistantName;\n assistantAvatarUrl;\n position;\n hideMobileCta;\n customGreetingMessage;\n enableGreetingMessage;\n namespace;\n poweredByName;\n poweredByWebsite;\n showFooterContent;\n static fromProto(proto) {\n let m = new GetWidgetConfigResponse();\n m = Object.assign(m, proto);\n if (proto.widgetTopSpace) {\n m.widgetTopSpace = parseInt(proto.widgetTopSpace, 10);\n }\n if (proto.position) {\n m.position = enumStringToValue(WidgetPosition, proto.position);\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.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 if (typeof this.skipContactCapture !== 'undefined') {\n toReturn['skipContactCapture'] = this.skipContactCapture;\n }\n if (typeof this.widgetTopSpace !== 'undefined') {\n toReturn['widgetTopSpace'] = this.widgetTopSpace;\n }\n if (typeof this.assistantName !== 'undefined') {\n toReturn['assistantName'] = this.assistantName;\n }\n if (typeof this.assistantAvatarUrl !== 'undefined') {\n toReturn['assistantAvatarUrl'] = this.assistantAvatarUrl;\n }\n if (typeof this.position !== 'undefined') {\n toReturn['position'] = this.position;\n }\n if (typeof this.hideMobileCta !== 'undefined') {\n toReturn['hideMobileCta'] = this.hideMobileCta;\n }\n if (typeof this.customGreetingMessage !== 'undefined') {\n toReturn['customGreetingMessage'] = this.customGreetingMessage;\n }\n if (typeof this.enableGreetingMessage !== 'undefined') {\n toReturn['enableGreetingMessage'] = this.enableGreetingMessage;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.poweredByName !== 'undefined') {\n toReturn['poweredByName'] = this.poweredByName;\n }\n if (typeof this.poweredByWebsite !== 'undefined') {\n toReturn['poweredByWebsite'] = this.poweredByWebsite;\n }\n if (typeof this.showFooterContent !== 'undefined') {\n toReturn['showFooterContent'] = this.showFooterContent;\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 GetMessageTemplateRequestHydrationOptionsHydrationEntity {\n entityType;\n entityId;\n static fromProto(proto) {\n let m = new GetMessageTemplateRequestHydrationOptionsHydrationEntity();\n m = Object.assign(m, proto);\n if (proto.entityType) {\n m.entityType = enumStringToValue(GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType, proto.entityType);\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.entityType !== 'undefined') {\n toReturn['entityType'] = this.entityType;\n }\n if (typeof this.entityId !== 'undefined') {\n toReturn['entityId'] = this.entityId;\n }\n return toReturn;\n }\n}\nclass GetMessageTemplateResponseHydrationInformation {\n allFieldsHydrated;\n static fromProto(proto) {\n let m = new GetMessageTemplateResponseHydrationInformation();\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.allFieldsHydrated !== 'undefined') {\n toReturn['allFieldsHydrated'] = this.allFieldsHydrated;\n }\n return toReturn;\n }\n}\nclass GetMessageTemplateRequestHydrationOptions {\n hydrationEntities;\n static fromProto(proto) {\n let m = new GetMessageTemplateRequestHydrationOptions();\n m = Object.assign(m, proto);\n if (proto.hydrationEntities) {\n m.hydrationEntities = proto.hydrationEntities.map(GetMessageTemplateRequestHydrationOptionsHydrationEntity.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.hydrationEntities !== 'undefined' && this.hydrationEntities !== null) {\n toReturn['hydrationEntities'] = 'toApiJson' in this.hydrationEntities ? this.hydrationEntities.toApiJson() : this.hydrationEntities;\n }\n return toReturn;\n }\n}\nclass InjectMessageRequest {\n messageId;\n body;\n channel;\n type;\n location;\n metadata;\n media;\n namespace;\n sourceName;\n created;\n static fromProto(proto) {\n let m = new InjectMessageRequest();\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 if (proto.media) {\n m.media = proto.media.map(Media.fromProto);\n }\n if (proto.namespace) {\n m.namespace = NamespaceDetail.fromProto(proto.namespace);\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.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.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\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.namespace !== 'undefined' && this.namespace !== null) {\n toReturn['namespace'] = 'toApiJson' in this.namespace ? this.namespace.toApiJson() : this.namespace;\n }\n if (typeof this.sourceName !== 'undefined') {\n toReturn['sourceName'] = this.sourceName;\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}\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 ListResponseEvaluationsRequest {\n summarize;\n subjectParticipant;\n pagingOptions;\n createdAfter;\n createdBefore;\n evaluationType;\n static fromProto(proto) {\n let m = new ListResponseEvaluationsRequest();\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 if (proto.createdAfter) {\n m.createdAfter = new Date(proto.createdAfter);\n }\n if (proto.createdBefore) {\n m.createdBefore = new Date(proto.createdBefore);\n }\n if (proto.evaluationType) {\n m.evaluationType = proto.evaluationType.map(v => enumStringToValue(EvaluateResponseType, v));\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.summarize !== 'undefined') {\n toReturn['summarize'] = this.summarize;\n }\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 if (typeof this.createdAfter !== 'undefined' && this.createdAfter !== null) {\n toReturn['createdAfter'] = 'toApiJson' in this.createdAfter ? this.createdAfter.toApiJson() : this.createdAfter;\n }\n if (typeof this.createdBefore !== 'undefined' && this.createdBefore !== null) {\n toReturn['createdBefore'] = 'toApiJson' in this.createdBefore ? this.createdBefore.toApiJson() : this.createdBefore;\n }\n if (typeof this.evaluationType !== 'undefined') {\n toReturn['evaluationType'] = this.evaluationType;\n }\n return toReturn;\n }\n}\nclass ListResponseEvaluationsResponse {\n evaluations;\n summary;\n pagingMetadata;\n static fromProto(proto) {\n let m = new ListResponseEvaluationsResponse();\n m = Object.assign(m, proto);\n if (proto.evaluations) {\n m.evaluations = proto.evaluations.map(ResponseEvaluation.fromProto);\n }\n if (proto.summary) {\n m.summary = ListResponseEvaluationsResponseSummary.fromProto(proto.summary);\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.evaluations !== 'undefined' && this.evaluations !== null) {\n toReturn['evaluations'] = 'toApiJson' in this.evaluations ? this.evaluations.toApiJson() : this.evaluations;\n }\n if (typeof this.summary !== 'undefined' && this.summary !== null) {\n toReturn['summary'] = 'toApiJson' in this.summary ? this.summary.toApiJson() : this.summary;\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 ListWidgetsRequestListWidgetsFilters {\n namespaces;\n widgetTypes;\n static fromProto(proto) {\n let m = new ListWidgetsRequestListWidgetsFilters();\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.namespaces !== 'undefined') {\n toReturn['namespaces'] = this.namespaces;\n }\n if (typeof this.widgetTypes !== 'undefined') {\n toReturn['widgetTypes'] = this.widgetTypes;\n }\n return toReturn;\n }\n}\nclass ListWidgetsRequest {\n namespace;\n pagingOptions;\n options;\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 if (proto.options) {\n m.options = ListWidgetsRequestListWidgetsFilters.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.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 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 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 mediaUrl;\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 if (typeof this.mediaUrl !== 'undefined') {\n toReturn['mediaUrl'] = this.mediaUrl;\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 InjectMessageRequestMetadataEntry {\n key;\n value;\n static fromProto(proto) {\n let m = new InjectMessageRequestMetadataEntry();\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 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 message;\n initiatorId;\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 if (typeof this.message !== 'undefined') {\n toReturn['message'] = this.message;\n }\n if (typeof this.initiatorId !== 'undefined') {\n toReturn['initiatorId'] = this.initiatorId;\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 namespace;\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 if (proto.namespace) {\n m.namespace = NamespaceDetail.fromProto(proto.namespace);\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 if (typeof this.namespace !== 'undefined' && this.namespace !== null) {\n toReturn['namespace'] = 'toApiJson' in this.namespace ? this.namespace.toApiJson() : this.namespace;\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 SendMessageOptions {\n runSync;\n static fromProto(proto) {\n let m = new SendMessageOptions();\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.runSync !== 'undefined') {\n toReturn['runSync'] = this.runSync;\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 options;\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 if (proto.options) {\n m.options = SendMessageOptions.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.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 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 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 ListResponseEvaluationsResponseSummary {\n feedbackThemes;\n static fromProto(proto) {\n let m = new ListResponseEvaluationsResponseSummary();\n m = Object.assign(m, proto);\n if (proto.feedbackThemes) {\n m.feedbackThemes = proto.feedbackThemes.map(ListResponseEvaluationsResponseSummaryTheme.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.feedbackThemes !== 'undefined' && this.feedbackThemes !== null) {\n toReturn['feedbackThemes'] = 'toApiJson' in this.feedbackThemes ? this.feedbackThemes.toApiJson() : this.feedbackThemes;\n }\n return toReturn;\n }\n}\nclass ListResponseEvaluationsResponseSummaryTheme {\n name;\n description;\n examples;\n static fromProto(proto) {\n let m = new ListResponseEvaluationsResponseSummaryTheme();\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.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.examples !== 'undefined') {\n toReturn['examples'] = this.examples;\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 textColor;\n accentColor;\n accentTextColor;\n skipContactCapture;\n additionalPromptInstructions;\n assistantName;\n assistantAvatarUrl;\n position;\n hideMobileCta;\n customGreetingMessage;\n enableGreetingMessage;\n fieldMask;\n static fromProto(proto) {\n let m = new UpdateWidgetRequest();\n m = Object.assign(m, proto);\n if (proto.position) {\n m.position = enumStringToValue(WidgetPosition, proto.position);\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.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.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 if (typeof this.skipContactCapture !== 'undefined') {\n toReturn['skipContactCapture'] = this.skipContactCapture;\n }\n if (typeof this.additionalPromptInstructions !== 'undefined') {\n toReturn['additionalPromptInstructions'] = this.additionalPromptInstructions;\n }\n if (typeof this.assistantName !== 'undefined') {\n toReturn['assistantName'] = this.assistantName;\n }\n if (typeof this.assistantAvatarUrl !== 'undefined') {\n toReturn['assistantAvatarUrl'] = this.assistantAvatarUrl;\n }\n if (typeof this.position !== 'undefined') {\n toReturn['position'] = this.position;\n }\n if (typeof this.hideMobileCta !== 'undefined') {\n toReturn['hideMobileCta'] = this.hideMobileCta;\n }\n if (typeof this.customGreetingMessage !== 'undefined') {\n toReturn['customGreetingMessage'] = this.customGreetingMessage;\n }\n if (typeof this.enableGreetingMessage !== 'undefined') {\n toReturn['enableGreetingMessage'] = this.enableGreetingMessage;\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 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}\nclass WidgetVisit {\n visitorId;\n visitId;\n static fromProto(proto) {\n let m = new WidgetVisit();\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.visitorId !== 'undefined') {\n toReturn['visitorId'] = this.visitorId;\n }\n if (typeof this.visitId !== 'undefined') {\n toReturn['visitId'] = this.visitId;\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(__ngFactoryType__) {\n return new (__ngFactoryType__ || 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 AISystemMessageApiService = /*#__PURE__*/(() => {\n class AISystemMessageApiService {\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 upsertAiSystemMessage(r) {\n const request = r.toApiJson ? r : new UpsertAISystemMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.AISystemMessageService/UpsertAISystemMessage\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getAiSystemMessage(r) {\n const request = r.toApiJson ? r : new GetAISystemMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.AISystemMessageService/GetAISystemMessage\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAISystemMessageResponse.fromProto(resp)));\n }\n listAiSystemMessages(r) {\n const request = r.toApiJson ? r : new ListAISystemMessagesRequest(r);\n return this.http.post(this._host + \"/conversation.v1.AISystemMessageService/ListAISystemMessages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAISystemMessagesResponse.fromProto(resp)));\n }\n static ɵfac = function AISystemMessageApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || AISystemMessageApiService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AISystemMessageApiService,\n factory: AISystemMessageApiService.ɵfac,\n providedIn: 'root'\n });\n }\n return AISystemMessageApiService;\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 listResponseEvaluations(r) {\n const request = r.toApiJson ? r : new ListResponseEvaluationsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/ListResponseEvaluations\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListResponseEvaluationsResponse.fromProto(resp)));\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 getMultiWidget(r) {\n const request = r.toApiJson ? r : new GetMultiWidgetRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiWidget\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiWidgetResponse.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 getMultiEvents(r) {\n const request = r.toApiJson ? r : new GetMultiEventsRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/GetMultiEvents\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiEventsResponse.fromProto(resp)));\n }\n injectMessage(r) {\n const request = r.toApiJson ? r : new InjectMessageRequest(r);\n return this.http.post(this._host + \"/conversation.v1.ConversationService/InjectMessage\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n static ɵfac = function ConversationApiService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || 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(__ngFactoryType__) {\n return new (__ngFactoryType__ || 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(__ngFactoryType__) {\n return new (__ngFactoryType__ || 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 { AIConfiguration, AISystemMessage, AISystemMessageApiService, Access, AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, Address, CapturedLead, ChannelAvailability, ChannelStatus, Configuration, ConfigurationAIConfiguration, Conversation, ConversationApiService, ConversationChannel, ConversationKey, ConversationMessageCount, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DataSources, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EmailApiService, EvaluateResponseRequest, EvaluateResponseType, EvaluationSentiment, Event, EventType, FieldMask, GetAISystemMessageRequest, GetAISystemMessageResponse, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConfigurationRequest, GetConfigurationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageOptions, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateRequestHydrationOptions, GetMessageTemplateRequestHydrationOptionsHydrationEntity, GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType, GetMessageTemplateResponse, GetMessageTemplateResponseHydrationInformation, GetMultiConfigurationRequest, GetMultiConfigurationResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsResponseDetailedConversation, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiConversationMessageCountResponseCountsEntry, GetMultiEventsRequest, GetMultiEventsResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetMultiWidgetRequest, GetMultiWidgetResponse, GetOwnerEmailRequest, GetOwnerEmailResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, GlobalParticipantType, InboxApiService, InjectMessageRequest, InjectMessageRequestMetadataEntry, KeyValuePair, LastSeenByParticipant, LatestMessageSentTimeBySubjectParticipant, ListAISystemMessagesRequest, ListAISystemMessagesResponse, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesRequestListMessagesFilters, ListMessagesResponse, ListResponseEvaluationsRequest, ListResponseEvaluationsResponse, ListResponseEvaluationsResponseSummary, ListResponseEvaluationsResponseSummaryTheme, ListWidgetsRequest, ListWidgetsRequestListWidgetsFilters, 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, ResponseEvaluation, SearchConversationsRequest, SearchConversationsResponse, SearchConversationsResponseDetailedConversation, SendMessageOptions, SendMessageRequest, SendMessageResponse, SendStatus, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenRequestStatus, SetLastSeenResponse, SortDirection, Status, SubjectParticipant, SubjectParticipantKey, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, UpsertAISystemMessageRequest, UpsertConfigurationRequest, UpsertConfigurationResponse, UpsertProductFeatureRequest, UpsertProductFeatureResponse, View, ViewType, Widget, WidgetPosition, WidgetVisit };\n"],"mappings":"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","names":["enumStringToValue$d","enumRef","value","enumStringToValue$c","enumStringToValue$b","enumStringToValue$a","enumStringToValue$6","enumStringToValue$5","enumStringToValue$1","enumStringToValue","GlobalParticipantType","ConversationChannel","PlatformLocation","MessageStatus","MessageType","ParticipantType","WidgetPosition","EvaluationSentiment","EventType","GetMessageTemplateRequestHydrationOptionsHydrationEntityEntityType","EvaluateResponseType","MetadataIdentifier","SetLastSeenRequestStatus","Status","KeyValuePair","NamespaceDetail","SubjectParticipant","AIConfiguration","Conversation","ConversationKey","LastSeenByParticipant","LatestMessageSentTimeBySubjectParticipant","SubjectParticipantKey","Message","SendStatus","Address","Participant","ParticipantKey","ConfigurationAIConfiguration","Configuration","ProductFeature","View","DataSources","Widget","ResponseEvaluation","FieldMask","MessageTemplate","Event","AddConversationToConversationViewRequest","AddMultiParticipantsRequest","AddMultiParticipantsResponse","CapturedLead","ChannelAvailability","ChannelStatus","ConversationMessageCount","LookupConversationsResponseConversations","CreateConversationRequest","CreateConversationResponse","CreateMessageTemplateRequest","CreateMessageTemplateResponse","CreateMultiMessagesRequest","CreateWidgetConversationRequest","CreateWidgetConversationResponse","CreateWidgetRequest","CreateWidgetResponse","DeleteConversationRequest","DeleteMessageRequest","DeleteMessageTemplateRequest","DeleteWidgetRequest","SearchConversationsResponseDetailedConversation","GetMultiConversationDetailsResponseDetailedConversation","EvaluateResponseRequest","GetAvailableChannelsForConversationRequest","GetAvailableChannelsForConversationResponse","GetConfigurationRequest","GetConfigurationResponse","GetConversationByKeyRequest","GetConversationByKeyResponse","GetConversationSummaryRequest","GetConversationSummaryResponse","GetConversationViewsRequest","GetConversationViewsResponse","GetMessageOptions","GetMessageRequest","GetMessageTemplateRequest","GetMessageTemplateResponse","GetMultiConfigurationRequest","GetMultiConfigurationResponse","GetMultiConversationDetailsRequest","GetMultiConversationDetailsResponse","GetMultiConversationMessageCountRequest","GetMultiConversationMessageCountResponse","GetMultiEventsRequest","GetMultiEventsResponse","GetMultiMessagesRequest","GetMultiMessagesResponse","GetMultiParticipantsRequest","GetMultiParticipantsResponse","GetMultiWidgetMessagesRequest","GetMultiWidgetMessagesResponse","GetMultiWidgetRequest","GetMultiWidgetResponse","GetOwnerEmailRequest","GetOwnerEmailResponse","GetParticipantsByKeyRequest","GetParticipantsByKeyResponse","GetWidgetConfigRequest","GetWidgetConfigResponse","GetWidgetConversationResponse","GetWidgetRequest","GetWidgetResponse","GetMessageTemplateRequestHydrationOptionsHydrationEntity","GetMessageTemplateResponseHydrationInformation","GetMessageTemplateRequestHydrationOptions","InjectMessageRequest","ListMessageTemplateRequest","ListMessageTemplateResponse","ListMessagesRequestListMessagesFilters","ListMessagesRequest","ListMessagesResponse","ListResponseEvaluationsRequest","ListResponseEvaluationsResponse","ListWidgetsRequestListWidgetsFilters","ListWidgetsRequest","ListWidgetsResponse","LookupConversationsRequestLookupConversationsFilters","LookupConversationsRequest","LookupConversationsResponse","Media","Metadata","NewInboxLeadCapturedRequest","NewInboxLeadCapturedResponse","PagedRequestOptions","PagedResponseMetadata","ReceiveMessageRequest","RemoveConversationFromConversationViewRequest","SearchConversationsRequest","SearchConversationsResponse","SendMessageOptions","SendMessageRequest","SendMessageResponse","SendWidgetMessageRequest","SendWidgetMessageResponse","SetLastSeenRequest","SetLastSeenResponse","ListResponseEvaluationsResponseSummary","ListResponseEvaluationsResponseSummaryTheme","UpdateConversationRequest","UpdateConversationResponse","UpdateMessageStatusRequest","UpdateMessageTemplateRequest","UpdateMessageTemplateResponse","UpdateWidgetRequest","UpdateWidgetResponse","UpsertConfigurationRequest","UpsertConfigurationResponse","UpsertProductFeatureRequest","UpsertProductFeatureResponse","WidgetVisit","environment","hostMap","HostService","ConversationApiService","EmailApiService","InboxApiService","init_vendasta_conversation","__esmMin","init_core","init_http","init_operators","_KeyValuePair","proto","m","kwargs","toReturn","_NamespaceDetail","_SubjectParticipant","_AIConfiguration","_Conversation","_ConversationKey","_LastSeenByParticipant","_LatestMessageSentTimeBySubjectParticipant","_SubjectParticipantKey","_Message","_SendStatus","_Address","_Participant","_ParticipantKey","v","_ConfigurationAIConfiguration","_Configuration","_ProductFeature","_View","_DataSources","_Widget","_ResponseEvaluation","_FieldMask","_MessageTemplate","_Event","_AddConversationToConversationViewRequest","_AddMultiParticipantsRequest","_AddMultiParticipantsResponse","_CapturedLead","_ChannelAvailability","_ChannelStatus","_ConversationMessageCount","_LookupConversationsResponseConversations","_CreateConversationRequest","_CreateConversationResponse","_CreateMessageTemplateRequest","_CreateMessageTemplateResponse","_CreateMultiMessagesRequest","_CreateWidgetConversationRequest","_CreateWidgetConversationResponse","_CreateWidgetRequest","_CreateWidgetResponse","_DeleteConversationRequest","_DeleteMessageRequest","_DeleteMessageTemplateRequest","_DeleteWidgetRequest","_SearchConversationsResponseDetailedConversation","_GetMultiConversationDetailsResponseDetailedConversation","_EvaluateResponseRequest","_GetAvailableChannelsForConversationRequest","_GetAvailableChannelsForConversationResponse","_GetConfigurationRequest","_GetConfigurationResponse","_GetConversationByKeyRequest","_GetConversationByKeyResponse","_GetConversationSummaryRequest","_GetConversationSummaryResponse","_GetConversationViewsRequest","_GetConversationViewsResponse","_GetMessageOptions","_GetMessageRequest","_GetMessageTemplateRequest","_GetMessageTemplateResponse","_GetMultiConfigurationRequest","_GetMultiConfigurationResponse","_GetMultiConversationDetailsRequest","_GetMultiConversationDetailsResponse","_GetMultiConversationMessageCountRequest","_GetMultiConversationMessageCountResponse","obj","k","_GetMultiEventsRequest","_GetMultiEventsResponse","_GetMultiMessagesRequest","_GetMultiMessagesResponse","_GetMultiParticipantsRequest","_GetMultiParticipantsResponse","_GetMultiWidgetMessagesRequest","_GetMultiWidgetMessagesResponse","_GetMultiWidgetRequest","_GetMultiWidgetResponse","_GetOwnerEmailRequest","_GetOwnerEmailResponse","_GetParticipantsByKeyRequest","_GetParticipantsByKeyResponse","_GetWidgetConfigRequest","_GetWidgetConfigResponse","_GetWidgetConversationResponse","_GetWidgetRequest","_GetWidgetResponse","_GetMessageTemplateRequestHydrationOptionsHydrationEntity","_GetMessageTemplateResponseHydrationInformation","_GetMessageTemplateRequestHydrationOptions","_InjectMessageRequest","_ListMessageTemplateRequest","_ListMessageTemplateResponse","_ListMessagesRequestListMessagesFilters","_ListMessagesRequest","_ListMessagesResponse","_ListResponseEvaluationsRequest","_ListResponseEvaluationsResponse","_ListWidgetsRequestListWidgetsFilters","_ListWidgetsRequest","_ListWidgetsResponse","_LookupConversationsRequestLookupConversationsFilters","_LookupConversationsRequest","_LookupConversationsResponse","_Media","_Metadata","_NewInboxLeadCapturedRequest","_NewInboxLeadCapturedResponse","_PagedRequestOptions","_PagedResponseMetadata","_ReceiveMessageRequest","_RemoveConversationFromConversationViewRequest","_SearchConversationsRequest","_SearchConversationsResponse","_SendMessageOptions","_SendMessageRequest","_SendMessageResponse","_SendWidgetMessageRequest","_SendWidgetMessageResponse","_SetLastSeenRequest","_SetLastSeenResponse","_ListResponseEvaluationsResponseSummary","_ListResponseEvaluationsResponseSummaryTheme","_UpdateConversationRequest","_UpdateConversationResponse","_UpdateMessageStatusRequest","_UpdateMessageTemplateRequest","_UpdateMessageTemplateResponse","_UpdateWidgetRequest","_UpdateWidgetResponse","_UpsertConfigurationRequest","_UpsertConfigurationResponse","_UpsertProductFeatureRequest","_UpsertProductFeatureResponse","_WidgetVisit","__ngFactoryType__","ɵɵdefineInjectable","inject","HttpClient","HttpHeaders","r","request","map","resp","__spreadProps","__spreadValues"],"x_google_ignoreList":[0]}