/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@livechat/customer-sdk@4.0.2/dist/customer-sdk.cjs.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var createAuth=require("@livechat/customer-auth"),mitt=require("@livechat/mitt"),dataUtils=require("@livechat/data-utils"),redux=require("redux"),createSideEffectsMiddleware=require("@livechat/side-effects-middleware"),promiseUtils=require("@livechat/promise-utils"),createBackoff=require("@livechat/backoff"),storage=require("@livechat/isomorphic-storage"),unfetch=require("unfetch"),urlUtils=require("@livechat/url-utils"),createPlatformClient=require("@livechat/platform-client"),rawUploadFile=require("@livechat/file-upload");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var createAuth__default=_interopDefaultLegacy(createAuth),mitt__default=_interopDefaultLegacy(mitt),createSideEffectsMiddleware__default=_interopDefaultLegacy(createSideEffectsMiddleware),createBackoff__default=_interopDefaultLegacy(createBackoff),storage__default=_interopDefaultLegacy(storage),unfetch__default=_interopDefaultLegacy(unfetch),createPlatformClient__default=_interopDefaultLegacy(createPlatformClient),rawUploadFile__default=_interopDefaultLegacy(rawUploadFile);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(this,arguments)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var r,a,n={},s=Object.keys(e);for(a=0;a<s.length;a++)r=s[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}function _toPrimitive(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:String(t)}var CHANGE_REGION="change_region",CHECK_GOALS="check_goals",DESTROY="destroy",FAIL_ALL_REQUESTS="fail_all_requests",LOGIN_SUCCESS="login_success",PAUSE_CONNECTION="pause_connection",PREFETCH_TOKEN="prefetch_token",PUSH_RECEIVED="push_received",PUSH_RESPONSE_RECEIVED="push_response_received",RECONNECT="reconnect",REQUEST_FAILED="request_failed",RESPONSE_RECEIVED="response_received",SEND_REQUEST="send_request",SET_CHAT_ACTIVE="set_chat_active",SET_SELF_ID="set_self_id",SOCKET_CONNECTED="socket_connected",SOCKET_DISCONNECTED="socket_disconnected",SOCKET_RECOVERED="socket_recovered",SOCKET_UNSTABLE="socket_unstable",START_CONNECTION="start_connection",UPDATE_CUSTOMER_PAGE="update_customer_page",CONNECTION_LOST="CONNECTION_LOST",IDENTITY_MISMATCH="IDENTITY_MISMATCH",MISDIRECTED_CONNECTION="MISDIRECTED_CONNECTION",MISSING_CHAT_THREAD="MISSING_CHAT_THREAD",NO_CONNECTION="NO_CONNECTION",REQUEST_TIMEOUT="REQUEST_TIMEOUT",SDK_DESTROYED="SDK_DESTROYED",SERVICE_TEMPORARILY_UNAVAILABLE="SERVICE_TEMPORARILY_UNAVAILABLE",TOO_BIG_FILE="TOO_BIG_FILE",ACCEPT_GREETING="accept_greeting",CANCEL_GREETING="cancel_greeting",CHECK_GOALS$1="check_goals",DEACTIVATE_CHAT="deactivate_chat",DELETE_CHAT_PROPERTIES="delete_chat_properties",DELETE_EVENT_PROPERTIES="delete_event_properties",DELETE_THREAD_PROPERTIES="delete_thread_properties",GET_CHAT="get_chat",GET_CUSTOMER="get_customer",GET_FORM="get_form",GET_PREDICTED_AGENT="get_predicted_agent",GET_URL_INFO="get_url_info",LIST_CHATS="list_chats",LIST_GROUP_STATUSES="list_group_statuses",LIST_THREADS="list_threads",LOGIN="login",MARK_EVENTS_AS_SEEN="mark_events_as_seen",RESUME_CHAT="resume_chat",SEND_EVENT="send_event",SEND_RICH_MESSAGE_POSTBACK="send_rich_message_postback",SEND_SNEAK_PEEK="send_sneak_peek",SET_CUSTOMER_SESSION_FIELDS="set_customer_session_fields",START_CHAT="start_chat",UPDATE_CHAT_PROPERTIES="update_chat_properties",UPDATE_CUSTOMER="update_customer",UPDATE_CUSTOMER_PAGE$1="update_customer_page",UPDATE_EVENT_PROPERTIES="update_event_properties",UPDATE_THREAD_PROPERTIES="update_thread_properties",UPLOAD_FILE="upload_file",createReducer=function(e,t){return"development"!==process.env.NODE_ENV&&t[void 0]&&console.warn(["Reducer contains an 'undefined' action type.","Have you misspelled a constant?"].join("\n")),function(r,a){return void 0===r&&(r=e),dataUtils.hasOwn(a.type,t)?t[a.type](r,a.payload):r}},CONNECTED="connected",DESTROYED="destroyed",DISCONNECTED="disconnected",PAUSED="paused",RECONNECTING="reconnecting",connectionStatuses=Object.freeze({__proto__:null,CONNECTED:CONNECTED,DESTROYED:DESTROYED,DISCONNECTED:DISCONNECTED,PAUSED:PAUSED,RECONNECTING:RECONNECTING}),AGENT="agent",CUSTOMER="customer",userTypes=Object.freeze({__proto__:null,AGENT:AGENT,CUSTOMER:CUSTOMER}),LIVECHAT_ORGANIZATION_ID="feaf6c0e-9f43-48ff-9ad0-8e24e0350932",getAllRequests=function(e){return e.requests},getConnectionStatus=function(e){return e.connection.status},getRequest=function(e,t){return e.requests[t]},getSelfId=function(e){return e.users.self.id},isChatActive=function(e,t){var r=e.chats[t];return!!r&&r.active},isConnected=function(e){return getConnectionStatus(e)===CONNECTED},isDestroyed=function(e){return getConnectionStatus(e)===DESTROYED},getEnvPart=function(e){var t=e.organizationId,r=e.env;return t===LIVECHAT_ORGANIZATION_ID?".staging":"production"===r?"":"."+r},getApiOrigin=function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+getEnvPart(e)+".livechatinc.com"},getServerUrl=function(e){return getApiOrigin(e)+"/v3.5/customer"},createInitialState=function(e){var t=e.application,r=void 0===t?{}:t,a=e.organizationId,n=e.groupId,s=void 0===n?null:n,o=e.env,i=e.page,E=void 0===i?null:i,d=e.region,u=void 0===d?null:d,c=e.referrer,_=void 0===c?null:c,p=e.uniqueGroups,T=void 0!==p&&p,l=e.mobile,I=void 0!==l&&l;return{application:_extends({},r,{name:"customer_sdk",version:"4.0.2"}),organizationId:a,env:o,groupId:s,chats:{},connection:{status:DISCONNECTED},page:E,region:u,referrer:_,requests:{},users:{self:{id:null,type:CUSTOMER},others:{}},uniqueGroups:T,mobile:I}},removeStoredRequest=function(e,t){var r=t.id;return _extends({},e,{requests:_objectWithoutPropertiesLoose(e.requests,[r].map(_toPropertyKey))})},setConnectionStatus=function(e,t){return _extends({},t,{connection:_extends({},t.connection,{status:e})})},createReducer$1=function(e){var t;return createReducer(e,((t={})[CHANGE_REGION]=function(e,t){return _extends({},e,{region:t.region})},t[DESTROY]=function(e){return setConnectionStatus(DESTROYED,e)},t[LOGIN_SUCCESS]=function(e){return setConnectionStatus(CONNECTED,e)},t[PAUSE_CONNECTION]=function(e){return setConnectionStatus(PAUSED,e)},t[REQUEST_FAILED]=removeStoredRequest,t[RESPONSE_RECEIVED]=removeStoredRequest,t[PUSH_RESPONSE_RECEIVED]=removeStoredRequest,t[SEND_REQUEST]=function(e,t){var r,a=t.promise,n=t.resolve,s=t.reject,o=t.id,i=t.request;return _extends({},e,{requests:_extends({},e.requests,(r={},r[o]={id:o,promise:a,resolve:n,reject:s,request:i},r))})},t[SET_CHAT_ACTIVE]=function(e,t){var r,a=t.id,n=t.active;return _extends({},e,{chats:_extends({},e.chats,(r={},r[a]=_extends({},e.chats[a],{active:n}),r))})},t[SET_SELF_ID]=function(e,t){return _extends({},e,{users:_extends({},e.users,{self:_extends({},e.users.self,{id:t.id})})})},t[SOCKET_DISCONNECTED]=function(e){var t=getConnectionStatus(e);if("production"!==process.env.NODE_ENV&&(t===PAUSED||t===DESTROYED))throw new Error("Got 'socket_disconnected' action when in "+t+" state. This should be an impossible state.");return _extends({},setConnectionStatus(t===DISCONNECTED?DISCONNECTED:RECONNECTING,e),{requests:{}})},t[UPDATE_CUSTOMER_PAGE]=function(e,t){return _extends({},e,{page:_extends({},e.page,t)})},t))};function finalCreateStore(e){var t="development"===process.env.NODE_ENV&&"undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({name:"@livechat/customer-sdk"}):dataUtils.identity,r=createSideEffectsMiddleware__default.default(),a=redux.createStore(createReducer$1(createInitialState(e)),t(redux.applyMiddleware(r)));return a.addSideEffectsHandler=r.add,a}function createError(e){var t=e.message,r=e.code,a=new Error(t);return a.code=r,a}var ACCESS_TOKEN_EXPIRED="access_token_expired",CONNECTION_TIMEOUT="connection_timeout",CUSTOMER_BANNED="customer_banned",CUSTOMER_TEMPORARILY_BLOCKED="customer_temporarily_blocked",INACTIVITY_TIMEOUT="inactivity_timeout",INTERNAL_ERROR="internal_error",LICENSE_EXPIRED="license_expired",LICENSE_NOT_FOUND="license_not_found",MISDIRECTED_CONNECTION$1="misdirected_connection",PRODUCT_VERSION_CHANGED="product_version_changed",SERVICE_TEMPORARILY_UNAVAILABLE$1="service_temporarily_unavailable",TOO_MANY_CONNECTIONS="too_many_connections",TOO_MANY_UNAUTHORIZED_CONNECTIONS="too_many_unauthorized_connections",UNSUPPORTED_VERSION="unsupported_version",LOGGED_OUT_REMOTELY="logged_out_remotely",serverDisconnectionReasons=Object.freeze({__proto__:null,ACCESS_TOKEN_EXPIRED:ACCESS_TOKEN_EXPIRED,CONNECTION_TIMEOUT:CONNECTION_TIMEOUT,CUSTOMER_BANNED:CUSTOMER_BANNED,CUSTOMER_TEMPORARILY_BLOCKED:CUSTOMER_TEMPORARILY_BLOCKED,INACTIVITY_TIMEOUT:INACTIVITY_TIMEOUT,INTERNAL_ERROR:INTERNAL_ERROR,LICENSE_EXPIRED:LICENSE_EXPIRED,LICENSE_NOT_FOUND:LICENSE_NOT_FOUND,MISDIRECTED_CONNECTION:MISDIRECTED_CONNECTION$1,PRODUCT_VERSION_CHANGED:PRODUCT_VERSION_CHANGED,SERVICE_TEMPORARILY_UNAVAILABLE:SERVICE_TEMPORARILY_UNAVAILABLE$1,TOO_MANY_CONNECTIONS:TOO_MANY_CONNECTIONS,TOO_MANY_UNAUTHORIZED_CONNECTIONS:TOO_MANY_UNAUTHORIZED_CONNECTIONS,UNSUPPORTED_VERSION:UNSUPPORTED_VERSION,LOGGED_OUT_REMOTELY:LOGGED_OUT_REMOTELY}),CHAT_DEACTIVATED="chat_deactivated",CHAT_PROPERTIES_DELETED="chat_properties_deleted",CHAT_PROPERTIES_UPDATED="chat_properties_updated",CHAT_TRANSFERRED="chat_transferred",CUSTOMER_DISCONNECTED="customer_disconnected",CUSTOMER_PAGE_UPDATED="customer_page_updated",CUSTOMER_SIDE_STORAGE_UPDATED="customer_side_storage_updated",CUSTOMER_UPDATED="customer_updated",EVENT_PROPERTIES_DELETED="event_properties_deleted",EVENT_PROPERTIES_UPDATED="event_properties_updated",EVENT_UPDATED="event_updated",EVENTS_MARKED_AS_SEEN="events_marked_as_seen",GREETING_ACCEPTED="greeting_accepted",GREETING_CANCELED="greeting_canceled",GROUPS_STATUS_UPDATED="groups_status_updated",INCOMING_CHAT="incoming_chat",INCOMING_EVENT="incoming_event",INCOMING_GREETING="incoming_greeting",INCOMING_MULTICAST="incoming_multicast",INCOMING_RICH_MESSAGE_POSTBACK="incoming_rich_message_postback",INCOMING_TYPING_INDICATOR="incoming_typing_indicator",QUEUE_POSITION_UPDATED="queue_position_updated",THREAD_PROPERTIES_DELETED="thread_properties_deleted",THREAD_PROPERTIES_UPDATED="thread_properties_updated",USER_ADDED_TO_CHAT="user_added_to_chat",USER_REMOVED_FROM_CHAT="user_removed_from_chat",serverPushActions=Object.freeze({__proto__:null,CHAT_DEACTIVATED:CHAT_DEACTIVATED,CHAT_PROPERTIES_DELETED:CHAT_PROPERTIES_DELETED,CHAT_PROPERTIES_UPDATED:CHAT_PROPERTIES_UPDATED,CHAT_TRANSFERRED:CHAT_TRANSFERRED,CUSTOMER_DISCONNECTED:CUSTOMER_DISCONNECTED,CUSTOMER_PAGE_UPDATED:CUSTOMER_PAGE_UPDATED,CUSTOMER_SIDE_STORAGE_UPDATED:CUSTOMER_SIDE_STORAGE_UPDATED,CUSTOMER_UPDATED:CUSTOMER_UPDATED,EVENT_PROPERTIES_DELETED:EVENT_PROPERTIES_DELETED,EVENT_PROPERTIES_UPDATED:EVENT_PROPERTIES_UPDATED,EVENT_UPDATED:EVENT_UPDATED,EVENTS_MARKED_AS_SEEN:EVENTS_MARKED_AS_SEEN,GREETING_ACCEPTED:GREETING_ACCEPTED,GREETING_CANCELED:GREETING_CANCELED,GROUPS_STATUS_UPDATED:GROUPS_STATUS_UPDATED,INCOMING_CHAT:INCOMING_CHAT,INCOMING_EVENT:INCOMING_EVENT,INCOMING_GREETING:INCOMING_GREETING,INCOMING_MULTICAST:INCOMING_MULTICAST,INCOMING_RICH_MESSAGE_POSTBACK:INCOMING_RICH_MESSAGE_POSTBACK,INCOMING_TYPING_INDICATOR:INCOMING_TYPING_INDICATOR,QUEUE_POSITION_UPDATED:QUEUE_POSITION_UPDATED,THREAD_PROPERTIES_DELETED:THREAD_PROPERTIES_DELETED,THREAD_PROPERTIES_UPDATED:THREAD_PROPERTIES_UPDATED,USER_ADDED_TO_CHAT:USER_ADDED_TO_CHAT,USER_REMOVED_FROM_CHAT:USER_REMOVED_FROM_CHAT}),FILE="file",FORM="form",FILLED_FORM="filled_form",MESSAGE="message",RICH_MESSAGE="rich_message",SYSTEM_MESSAGE="system_message",CUSTOM="custom",eventTypes=Object.freeze({__proto__:null,FILE:FILE,FORM:FORM,FILLED_FORM:FILLED_FORM,MESSAGE:MESSAGE,RICH_MESSAGE:RICH_MESSAGE,SYSTEM_MESSAGE:SYSTEM_MESSAGE,CUSTOM:CUSTOM}),createEventBase=function(e){var t={};return"string"==typeof e.customId&&(t.custom_id=e.customId),dataUtils.isObject(e.properties)&&(t.properties=e.properties),t},parseEvent=function(e){switch(e.type){case MESSAGE:var t=_extends({},createEventBase(e),{type:e.type,text:e.text});return e.postback&&(t.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),t;case FILE:return _extends({},createEventBase(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case FILLED_FORM:return _extends({},createEventBase(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){if("group_chooser"===e.type){if(!e.answer)return e;var t=e.answer,r=t.groupId;return _extends({},e,{answer:_extends({},_objectWithoutPropertiesLoose(t,["groupId"]),{group_id:r})})}return e}))});case SYSTEM_MESSAGE:var r=_extends({},createEventBase(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(r.recipients=e.recipients),r;case CUSTOM:var a=_extends({},createEventBase(e),{type:e.type});return e.content&&(a.content=e.content),a}},parseThreadData=function(e){var t={},r=e.events,a=e.properties;return r&&(t.events=r.map(parseEvent)),a&&(t.properties=a),t},parseStartChatData=function(e){var t=e.active,r=void 0===t||t,a=e.chat,n=e.continuous,s={active:r,chat:{}};if("boolean"==typeof n&&(s.continuous=n),!a)return s;var o=a.access,i=a.thread,E=a.properties;return o&&o.groupIds&&(s.chat.access={group_ids:o.groupIds}),E&&(s.chat.properties=E),i&&(s.chat.thread=parseThreadData(i)),s},parseResumeChatData=function(e){var t=parseStartChatData(e);return _extends({},t,{chat:_extends({},t.chat,{id:e.chat.id})})},parseCustomerSessionFields=function(e){return dataUtils.toPairs(e).map((function(e){var t,r=e[0],a=e[1];return(t={})[r]=a,t}))},parseCustomerUpdate=function(e){var t=dataUtils.pickOwn(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=parseCustomerSessionFields(e.sessionFields)),t},destroy=function(e){return{type:DESTROY,payload:{reason:e}}},loginSuccess=function(e){return{type:LOGIN_SUCCESS,payload:e}},pauseConnection=function(e){return{type:PAUSE_CONNECTION,payload:{reason:e}}},prefetchToken=function(e){return void 0===e&&(e=!1),{type:PREFETCH_TOKEN,payload:{fresh:e}}},reconnect=function(e){return{type:RECONNECT,payload:{delay:e}}},sendRequest=function(e,t,r){return{type:SEND_REQUEST,payload:_extends({request:{action:e,payload:t}},r&&{source:r})}},sendEvent=function(e){var t=e.chatId,r=e.event,a=e.attachToLastThread,n={chat_id:t,event:parseEvent(r)};return a&&(n.attach_to_last_thread=!0),sendRequest(SEND_EVENT,n)},setChatActive=function(e,t){return{type:SET_CHAT_ACTIVE,payload:{id:e,active:t}}},setSelfId=function(e){return{type:SET_SELF_ID,payload:{id:e}}},socketDisconnected=function(){return{type:SOCKET_DISCONNECTED}},sendRequestAction=function(e,t){t.payload.id=dataUtils.generateUniqueId(e.getState().requests);var r=promiseUtils.promiseDeferred(),a=r.resolve,n=r.reject,s=r.promise;return t.payload.promise=s,t.payload.resolve=a,t.payload.reject=n,e.dispatch(t),s},AUTHENTICATION="AUTHENTICATION",AUTHORIZATION="AUTHORIZATION",CHAT_ALREADY_ACTIVE="CHAT_ALREADY_ACTIVE",CHAT_LIMIT_REACHED="CHAT_LIMIT_REACHED",CUSTOMER_BANNED$1="CUSTOMER_BANNED",CUSTOMER_SESSION_FIELDS_LIMIT_REACHED="CUSTOMER_SESSION_FIELDS_LIMIT_REACHED",ENTITY_TOO_LARGE="ENTITY_TOO_LARGE",GREETING_NOT_FOUND="GREETING_NOT_FOUND",GROUP_OFFLINE="GROUP_OFFLINE",GROUPS_OFFLINE="GROUPS_OFFLINE",GROUP_NOT_FOUND="GROUP_NOT_FOUND",GROUP_UNAVAILABLE="GROUP_UNAVAILABLE",INTERNAL="INTERNAL",LICENSE_EXPIRED$1="LICENSE_EXPIRED",MISDIRECTED_REQUEST="MISDIRECTED_REQUEST",PENDING_REQUESTS_LIMIT_REACHED="PENDING_REQUESTS_LIMIT_REACHED",REQUEST_TIMEOUT$1="REQUEST_TIMEOUT",SERVICE_UNAVAILABLE="SERVICE_UNAVAILABLE",UNSUPPORTED_VERSION$1="UNSUPPORTED_VERSION",USERS_LIMIT_REACHED="USERS_LIMIT_REACHED",VALIDATION="VALIDATION",WRONG_PRODUCT_VERSION="WRONG_PRODUCT_VERSION",serverErrorCodes=Object.freeze({__proto__:null,AUTHENTICATION:AUTHENTICATION,AUTHORIZATION:AUTHORIZATION,CHAT_ALREADY_ACTIVE:CHAT_ALREADY_ACTIVE,CHAT_LIMIT_REACHED:CHAT_LIMIT_REACHED,CUSTOMER_BANNED:CUSTOMER_BANNED$1,CUSTOMER_SESSION_FIELDS_LIMIT_REACHED:CUSTOMER_SESSION_FIELDS_LIMIT_REACHED,ENTITY_TOO_LARGE:ENTITY_TOO_LARGE,GREETING_NOT_FOUND:GREETING_NOT_FOUND,GROUP_OFFLINE:GROUP_OFFLINE,GROUPS_OFFLINE:GROUPS_OFFLINE,GROUP_NOT_FOUND:GROUP_NOT_FOUND,GROUP_UNAVAILABLE:GROUP_UNAVAILABLE,INTERNAL:INTERNAL,LICENSE_EXPIRED:LICENSE_EXPIRED$1,MISDIRECTED_REQUEST:MISDIRECTED_REQUEST,PENDING_REQUESTS_LIMIT_REACHED:PENDING_REQUESTS_LIMIT_REACHED,REQUEST_TIMEOUT:REQUEST_TIMEOUT$1,SERVICE_UNAVAILABLE:SERVICE_UNAVAILABLE,UNSUPPORTED_VERSION:UNSUPPORTED_VERSION$1,USERS_LIMIT_REACHED:USERS_LIMIT_REACHED,VALIDATION:VALIDATION,WRONG_PRODUCT_VERSION:WRONG_PRODUCT_VERSION}),getSideStorageKeyByLicense=function(e,t){var r=e.getState(),a=r.groupId;return"side_storage_"+t+(r.uniqueGroups?":"+a:"")},getSideStorageKeyByOrganization=function(e){var t=e.getState(),r=t.organizationId,a=t.groupId;return"side_storage_"+r+(t.uniqueGroups?":"+a:"")},getSideStorage=function(e,t){var r=getSideStorageKeyByLicense(e,t),a=getSideStorageKeyByOrganization(e);return storage__default.default.getItem(r).catch(dataUtils.noop).then((function(e){return e?storage__default.default.setItem(a,e).catch(dataUtils.noop).then((function(){return storage__default.default.removeItem(r).catch(dataUtils.noop).then((function(){return JSON.parse(e)})).catch(dataUtils.noop)})):storage__default.default.getItem(a).catch(dataUtils.noop).then((function(e){return JSON.parse(e||"{}")})).catch(dataUtils.noop)})).catch(dataUtils.noop)},saveSideStorage=function(e,t){storage__default.default.setItem(getSideStorageKeyByOrganization(e),JSON.stringify(t)).catch(dataUtils.noop)},taskChain=function(e,t,r){var a=e.slice(0),n=!1;return function e(s){var o=a.shift();promiseUtils.promiseTry((function(){return o(s)})).then((function(r){n||(a.length?e(r):t(r))}),(function(e){n||r(e)}))}(),{cancel:function(){n=!0}}},sendLoginFlowRequest=function(e,t,r){return sendRequestAction(e,sendRequest(t,r,"login"))},delay=function(e){return new Promise((function(t){setTimeout(t,e)}))};function createLoginTask(e,t,r){var a,n,s=null,o={min:300,max:6e4,jitter:.3},i=createBackoff__default.default(o),E=createBackoff__default.default(_extends({},o,{min:1e3})),d=i,u=function(e){return a.dispatch(destroy(e))},c=function(){return a.dispatch(reconnect(d.duration()))},_=function(){return Promise.all([e.getToken(),getSideStorage(a,r)])},p=function(e){var t=e[0],r=e[1],n=getSelfId(a.getState());if(null===n)a.dispatch(setSelfId(t.entityId));else if(n!==t.entityId){var s=new Error("Identity has changed.");throw s.code=IDENTITY_MISMATCH,s}return[t,r]},T=function(e){var r=e[0],n=e[1],o=a.getState(),i=o.application,E=o.groupId,d=o.page,u=o.referrer,c=o.mobile,_={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof t?parseCustomerUpdate(t()):{},customer_side_storage:n,is_mobile:c,application:dataUtils.pick(["name","version"],i)};return"number"==typeof E&&(_.group_id=E),i.channelType&&(_.application.channel_type=i.channelType),null!==d&&(s=d,_.customer_page=d),null!==u&&(_.referrer=u),Promise.race([sendLoginFlowRequest(a,LOGIN,_),delay(15e3).then((function(){return Promise.reject(createError({message:"Request timed out.",code:REQUEST_TIMEOUT}))}))])};return{sendLogin:function(t){var r;a=t,null==(r=n)||r.cancel(),n=taskChain([_,p,T],(function(e){var t;n=null,i.reset(),E.reset(),d=i,t=a.getState().page,s!==t&&sendLoginFlowRequest(a,UPDATE_CUSTOMER_PAGE$1,t).catch(dataUtils.noop),s=null,a.dispatch(loginSuccess(e))}),(function(t){switch(n=null,"production"!==process.env.NODE_ENV&&console.error("[Customer SDK] Login flow has thrown code",t.code,"with",t),t.code){case AUTHENTICATION:return e.getFreshToken(),void c();case CONNECTION_LOST:case MISDIRECTED_CONNECTION:case SDK_DESTROYED:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void c():void u(t.message);case USERS_LIMIT_REACHED:return void a.dispatch(pauseConnection(t.code.toLowerCase()));case IDENTITY_MISMATCH:case CUSTOMER_BANNED$1:case WRONG_PRODUCT_VERSION:return void u(t.code.toLowerCase());case SERVICE_TEMPORARILY_UNAVAILABLE:return d=E,void c();default:return void c()}}))},cancel:function(){var e;null==(e=n)||e.cancel()}}}var _FAIL_ALL_REQUESTS_ME,checkGoals=function(e,t,r){return t.getToken().then((function(t){var a=e.getState();null===getSelfId(a)&&e.dispatch(setSelfId(t.entityId));var n=a.page;if(n&&n.url){var s=urlUtils.buildQueryString({organization_id:a.organizationId}),o={session_fields:parseCustomerSessionFields(r||{}),group_id:a.groupId||0,page_url:n.url};return unfetch__default.default(getServerUrl(a)+"/action/"+CHECK_GOALS$1+"?"+s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(o)}).then((function(){}))}}))},failAllRequests=function(e,t){var r=e.getState,a=e.dispatch,n=r(),s=getAllRequests(n);a({type:FAIL_ALL_REQUESTS,payload:{rejects:Object.keys(s).map((function(e){return s[e].reject})),reason:t}})},failRequest=function(e,t,r){var a=e.getState,n=e.dispatch,s=t.payload.id;n({type:REQUEST_FAILED,payload:{id:s,reject:a().requests[s].reject,error:r}})},SUCCESS=Object.freeze({success:!0}),parseCommonEventProps=function(e,t){var r={id:t.id,authorId:t.author_id,createdAt:t.created_at,threadId:e,properties:t.properties||{}};return void 0!==t.custom_id&&(r.customId=t.custom_id),r},downsizeWithRatio=function(e,t){var r,a,n,s,o;t.height>t.width?(a="height",n="width",s=t.height,o=t.width):(a="width",n="height",s=t.width,o=t.height);var i=e/s;return(r={})[a]=Math.ceil(Math.min(s,e)),r[n]=Math.ceil(Math.min(i*o,o)),r},parseImage=function(e,t){return _extends({},parseCommonEventProps(e,t),{type:FILE,contentType:t.content_type,url:t.url,name:t.name,width:t.width,height:t.height,thumbnails:{default:_extends({url:t.thumbnail_url},downsizeWithRatio(300,t)),high:_extends({url:t.thumbnail2x_url},downsizeWithRatio(600,t))}},t.alternative_text&&{alternativeText:t.alternative_text})},parseFile=function(e,t){return void 0!==t.width&&void 0!==t.height?parseImage(e,t):_extends({},parseCommonEventProps(e,t),{type:FILE,contentType:t.content_type,url:t.url,name:t.name})},parseForm=function(e,t){return _extends({},parseCommonEventProps(e,t),{authorId:"system",type:FORM,formId:t.form_id,fields:t.fields})},parseFilledForm=function(e,t){return _extends({},parseCommonEventProps(e,t),{type:FILLED_FORM,formId:t.form_id,fields:t.fields.map((function(e){if("group_chooser"===e.type){if(!e.answer)return e;var t=e.answer,r=t.group_id;return _extends({},e,{answer:_extends({},_objectWithoutPropertiesLoose(t,["group_id"]),{groupId:r})})}return e}))})},parseMessage=function(e,t){return _extends({},parseCommonEventProps(e,t),{type:MESSAGE,text:t.text})},parseCustomEvent=function(e,t){return _extends({},parseCommonEventProps(e,t),{type:CUSTOM},t.content&&{content:t.content})},parseRichMessageElement=function(e){var t={};if("string"==typeof e.title&&(t.title=e.title),"string"==typeof e.subtitle&&(t.subtitle=e.subtitle),e.image){var r=e.image;t.image=_extends({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.buttons&&(t.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var r={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(r.webviewHeight=e.webview_height),r;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),t},parseRichMessage=function(e,t){switch(t.template_id){case"cards":case"quick_replies":case"sticker":return _extends({},parseCommonEventProps(e,t),{type:RICH_MESSAGE,template:t.template_id,elements:t.elements.map(parseRichMessageElement)});default:return null}},parseSystemMessage=function(e,t){var r=_extends({},parseCommonEventProps(e,_extends({},t,{author_id:"system"})),{type:SYSTEM_MESSAGE,text:t.text,systemMessageType:t.system_message_type});return t.text_vars&&(r.textVars=t.text_vars),r},parseEvent$1=function(e,t){switch(t.type){case FILE:return parseFile(e,t);case FORM:return parseForm(e,t);case FILLED_FORM:return parseFilledForm(e,t);case MESSAGE:return parseMessage(e,t);case RICH_MESSAGE:return parseRichMessage(e,t);case SYSTEM_MESSAGE:return parseSystemMessage(e,t);case CUSTOM:return parseCustomEvent(e,t);default:return null}},parseGreeting=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:parseEvent$1(null,e.event),agent:{id:e.agent.id,name:e.agent.name,avatar:e.agent.avatar,jobTitle:e.agent.job_title,isBot:e.agent.is_bot||!1}}},parseCustomerSessionFields$1=function(e){return e.reduce((function(e,t){var r=Object.keys(t)[0];return e[r]=t[r],e}),{})},parseAccess=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},getEventsSeenUpToMap=function(e){return dataUtils.mapValues((function(e){return e.events_seen_up_to?e.events_seen_up_to:null}),dataUtils.keyBy("id",e))},parseThread=function(e,t){var r=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:parseAccess(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return parseEvent$1(t.id,e)})).filter(Boolean),properties:r,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?parseQueue(t.queue):null}},parseChatCommon=function(e){return{id:e.id,access:parseAccess(e.access),users:e.users.map(parseChatUser),properties:e.properties||{},eventsSeenUpToMap:getEventsSeenUpToMap(e.users)}},parseChatAgent=function(e){return{id:e.id,type:AGENT,name:e.name,avatar:e.avatar,jobTitle:e.job_title,present:e.present}},parseCustomerOptionalProps=function(e){var t=dataUtils.pickOwn(["avatar","email","name"],e);return e.session_fields&&(t.sessionFields=parseCustomerSessionFields$1(e.session_fields)),t},parseCustomerCommonProps=function(e){var t=parseCustomerOptionalProps(e);return _extends({id:e.id,type:CUSTOMER},t,{sessionFields:t.sessionFields||{}})},parseChatCustomer=function(e){return _extends({},parseCustomerCommonProps(e),{present:e.present})},parseCustomer=function(e){var t=e.statistics;return _extends({},parseCustomerCommonProps(e),{statistics:{chatsCount:t.chats_count,threadsCount:t.threads_count,visitsCount:t.visits_count,pageViewsCount:t.page_views_count,greetingsShownCount:t.greetings_shown_count,greetingsAcceptedCount:t.greetings_accepted_count}})},parsePredictedAgent=function(e){var t=e.agent,r=e.queue;return{agent:{id:t.id,type:AGENT,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:r}},parseQueueUpdate=function(e){return{position:e.position,waitTime:e.wait_time}},parseQueue=function(e){return _extends({},parseQueueUpdate(e),{queuedAt:e.queued_at})},parseChatUser=function(e){return e.type===CUSTOMER?parseChatCustomer(e):parseChatAgent(e)},parseGroupStatus=function(e){return"offline"===e?"offline":"online"},SMALL_RECONNECT_DELAY=100,FAIL_ALL_REQUESTS_MESSAGES=((_FAIL_ALL_REQUESTS_ME={})[CONNECTION_LOST]="Connection lost.",_FAIL_ALL_REQUESTS_ME[MISDIRECTED_CONNECTION]="Connected to wrong region.",_FAIL_ALL_REQUESTS_ME),updateStateIfNeeded=function(e,t){var r=e.getState();switch(t.type){case PUSH_RESPONSE_RECEIVED:case PUSH_RECEIVED:switch(t.payload.action){case CHAT_DEACTIVATED:return void e.dispatch(setChatActive(t.payload.payload.chatId,!1));case INCOMING_CHAT:return void e.dispatch(setChatActive(t.payload.payload.chat.id,!0));default:return}case RESPONSE_RECEIVED:return t.payload.action===LIST_CHATS?void t.payload.payload.chatsSummary.filter((function(e){var t=e.id,a=e.active;return isChatActive(r,t)!==a})).forEach((function(t){var r=t.id,a=t.active;e.dispatch(setChatActive(r,a))})):void 0}},sendRequest$1=function(e,t){var r=t.payload,a=_extends({request_id:r.id},r.request);if(a.action!==LOGIN)e.emit(a);else{var n=[];e.emit(_extends({},a,{version:"3.5",payload:_extends({},a.payload,{pushes:{3.5:dataUtils.values(serverPushActions).filter((function(e){return e!==CUSTOMER_DISCONNECTED&&!dataUtils.includes(e,n)}))}})}))}},emitUsers=function(e,t){t.forEach((function(t){if("present"in t){var r=_objectWithoutPropertiesLoose(t,["present"]);e("user_data",r)}else if(t.type!==CUSTOMER)e("user_data",t);else{var a=_objectWithoutPropertiesLoose(t,["statistics"]);e("user_data",a)}}))},handlePush=function(e,t){var r=e.emit,a=e.store,n=t.payload;switch(n.action){case THREAD_PROPERTIES_UPDATED:return n.payload.properties.lc2&&"queue_pos"in n.payload.properties.lc2&&r(QUEUE_POSITION_UPDATED,{chatId:n.payload.chatId,threadId:n.payload.threadId,queue:{position:n.payload.properties.lc2.queue_pos,waitTime:n.payload.properties.lc2.queue_waiting_time}}),void r("thread_properties_updated",n.payload);case CUSTOMER_SIDE_STORAGE_UPDATED:return void saveSideStorage(a,n.payload.customer_side_storage);case CUSTOMER_DISCONNECTED:switch(n.payload.reason){case ACCESS_TOKEN_EXPIRED:a.dispatch(prefetchToken(!0)),a.dispatch(reconnect(SMALL_RECONNECT_DELAY)),r("disconnected",n.payload);break;case CUSTOMER_BANNED:case CUSTOMER_TEMPORARILY_BLOCKED:case LICENSE_NOT_FOUND:case PRODUCT_VERSION_CHANGED:case TOO_MANY_CONNECTIONS:case UNSUPPORTED_VERSION:case LOGGED_OUT_REMOTELY:a.dispatch(destroy(n.payload.reason));break;case MISDIRECTED_CONNECTION$1:failAllRequests(a,MISDIRECTED_CONNECTION),a.dispatch({type:CHANGE_REGION,payload:n.payload.data});break;case SERVICE_TEMPORARILY_UNAVAILABLE$1:case TOO_MANY_UNAUTHORIZED_CONNECTIONS:failAllRequests(a,n.payload.reason.toUpperCase());break;default:a.dispatch(reconnect(SMALL_RECONNECT_DELAY)),r("disconnected",n.payload)}return;case GROUPS_STATUS_UPDATED:var s=n.payload.groups[0];return void r("availability_updated",{availability:parseGroupStatus(s.status)});case INCOMING_CHAT:return emitUsers(r,n.payload.chat.users),void r(n.action,n.payload);case INCOMING_EVENT:if(null===n.payload.event)return;return void r(n.action,n.payload);case INCOMING_TYPING_INDICATOR:return void r(n.action,n.payload);case USER_ADDED_TO_CHAT:return emitUsers(r,[n.payload.user]),void r(n.action,n.payload);default:return void r(n.action,n.payload)}},handleResponse=function(e,t){var r=e.emit,a=t.payload;switch(a.action){case CHAT_DEACTIVATED:return void a.resolve(SUCCESS);case GET_CHAT:return emitUsers(r,a.payload.users),void a.resolve(a.payload);case INCOMING_CHAT:return emitUsers(r,a.payload.chat.users),void a.resolve(a.payload);case INCOMING_EVENT:return void a.resolve(a.payload.event);case LIST_CHATS:return emitUsers(r,a.payload.users),void a.resolve(a.payload);default:return void a.resolve(a.payload)}},createSideEffectsHandler=function(e){var t=e.auth,r=e.customerDataProvider,a=e.emitter,n=e.socket,s=e.licenseId,o=a.emit,i=createLoginTask(t,r,s);return function(e,r){switch(e.type){case CHANGE_REGION:return void n.reinitialize();case CHECK_GOALS:return void checkGoals(r,t,e.payload.sessionFields).catch(dataUtils.noop);case DESTROY:var s=e.payload;switch(i.cancel(),n.destroy(),s.reason){case"manual":failAllRequests(r,SDK_DESTROYED);break;case CUSTOMER_BANNED:case LICENSE_EXPIRED:case PRODUCT_VERSION_CHANGED:case LOGGED_OUT_REMOTELY:failAllRequests(r,CONNECTION_LOST),o("disconnected",s);break;default:o("disconnected",s)}return void a.off();case FAIL_ALL_REQUESTS:var E=e.payload,d=E.reason,u=E.rejects,c={message:FAIL_ALL_REQUESTS_MESSAGES[d],code:d};return void u.forEach((function(e){e(createError(c))}));case LOGIN_SUCCESS:var _=e.payload,p=_.dynamicConfig,T=_.customer,l=_.chats,I=_.greeting,S=_extends({customer:T,availability:_.availability},I&&{greeting:I});return Object.defineProperty(S,"__unsafeDynamicConfig",{value:p}),Object.defineProperty(S,"__unsafeChats",{value:l}),void o("connected",S);case PAUSE_CONNECTION:var C=e.payload;return n.disconnect(),void("manual"!==C.reason&&o("disconnected",C));case PREFETCH_TOKEN:return e.payload.fresh?void t.getFreshToken().catch(dataUtils.noop):void t.hasToken().then((function(e){return e?t.getToken().then((function(e){if(!(e.creationDate+e.expiresIn-Date.now()>36e5))return t.invalidate().then(t.getFreshToken)})):t.getToken()})).catch(dataUtils.noop);case PUSH_RECEIVED:return e.payload.action===CUSTOMER_DISCONNECTED||updateStateIfNeeded(r,e),void handlePush({emit:o,store:r},e);case PUSH_RESPONSE_RECEIVED:return updateStateIfNeeded(r,e),void handleResponse({emit:o},e);case RECONNECT:return failAllRequests(r,CONNECTION_LOST),void n.reconnect(e.payload.delay);case REQUEST_FAILED:var R=e.payload;return void(0,R.reject)(createError(R.error));case RESPONSE_RECEIVED:return updateStateIfNeeded(r,e),void handleResponse({emit:o},e);case SEND_REQUEST:var O=r.getState();return isDestroyed(O)?void failRequest(r,e,{code:SDK_DESTROYED,message:"SDK destroyed."}):isConnected(O)||"login"===e.payload.source?void sendRequest$1(n,e):void failRequest(r,e,{code:NO_CONNECTION,message:"No connection."});case SET_SELF_ID:return void o("customer_id",e.payload.id);case SOCKET_DISCONNECTED:return void o("disconnected",{reason:"connection_lost"});case SOCKET_CONNECTED:return void i.sendLogin(r);case SOCKET_RECOVERED:if(!isConnected(r.getState()))return;return void o("connection_recovered");case SOCKET_UNSTABLE:if(!isConnected(r.getState()))return;return void o("connection_unstable");case START_CONNECTION:return n.connect(),void r.dispatch(prefetchToken());case UPDATE_CUSTOMER_PAGE:if(!isConnected(r.getState()))return;return void sendRequestAction(r,sendRequest(UPDATE_CUSTOMER_PAGE$1,e.payload)).catch(dataUtils.noop);default:return}}},HISTORY_EVENT_COUNT_TARGET=25,createState=function(){return{status:"idle",queuedTasks:[],nextPageId:null}},createChatHistoryIterator=function(e,t){var r=createState(),a=function a(n,s){switch(r.status){case"idle":return r.status="fetching",void e.listThreads(r.nextPageId?{chatId:t,pageId:r.nextPageId}:{chatId:t,minEventsCount:HISTORY_EVENT_COUNT_TARGET}).then((function(e){var t=e.threads,s=e.nextPageId;r.nextPageId=s,r.nextPageId?(r.status="idle",n({value:{threads:[].concat(t).reverse()},done:!1})):(r.status="done",n({value:{threads:[].concat(t).reverse()},done:!0}));var o=r.queuedTasks.shift();o&&a(o.resolve,o.reject)}),(function(e){var t=r.queuedTasks;r.status="idle",r.queuedTasks=[],s(e),t.forEach((function(t){return t.reject(e)}))}));case"fetching":return void r.queuedTasks.push({resolve:n,reject:s});case"done":return void n({value:void 0,done:!0})}};return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return new Promise(a)}))}},initialize=function(e,t){var r=e.getState(),a=(getServerUrl(r)+"/rtm/ws").replace(/^https/,"wss");return createPlatformClient__default.default(a,{query:{organization_id:r.organizationId},emitter:t})},createSocketClient=function(e){var t=mitt__default.default(),r=initialize(e,t);return _extends({},Object.keys(r).reduce((function(e,t){return e[t]=function(){var e;return(e=r)[t].apply(e,arguments)},e}),{}),{reinitialize:function(){r.disconnect(),(r=initialize(e,t)).connect()}})},parseChatPropertiesDeletedPush=function(e){return{chatId:e.chat_id,properties:e.properties}},parseChatPropertiesUpdatedPush=function(e){return{chatId:e.chat_id,properties:e.properties}},parseChatTransferredPush=function(e){var t={chatId:e.chat_id,threadId:e.thread_id,transferredTo:_extends({},e.transferred_to.agent_ids&&{agentIds:e.transferred_to.agent_ids},e.transferred_to.group_ids&&{groupIds:e.transferred_to.group_ids}),queue:e.queue?parseQueue(e.queue):null};return"manual"===e.reason?_extends({},t,{reason:e.reason,requesterId:e.requester_id}):_extends({},t,{reason:e.reason})},parseCustomerPageUpdatedPush=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},parseCustomerUpdatedPush=function(e){return _extends({id:e.id},parseCustomerOptionalProps(e))},parseEventPropertiesDeletedPush=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},parseEventPropertiesUpdatedPush=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},parseEventUpdatedPush=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:parseEvent$1(t,e.event)}},parseEventsMarkedAsSeenPush=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},parseGreetingAcceptedPush=function(e){return{uniqueId:e.unique_id}},parseGetChatResponse=function(e){return _extends({},parseChatCommon(e),{thread:e.thread?parseThread(e.id,e.thread):null})},parseIncomingChatPush=function(e){var t=e.chat;return{chat:_extends({},parseChatCommon(t),{thread:parseThread(t.id,t.thread)})}},parseIncomingEventPush=function(e){return{chatId:e.chat_id,event:parseEvent$1(e.thread_id,e.event)}},parseIncomingGreetingPush=function(e){return parseGreeting(e)},parseIncomingRichMessagePostbackPush=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},parseIncomingTypingIndicatorPush=function(e){var t=e.chat_id,r=e.typing_indicator;return{chatId:t,typingIndicator:{authorId:r.author_id,isTyping:r.is_typing}}},parseQueuePositionUpdatedPush=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:parseQueueUpdate(e.queue)}},parseThreadPropertiesDeletedPush=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},parseThreadPropertiesUpdatedPush=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},parseUserAddedToChatPush=function(e){return{chatId:e.chat_id,user:parseChatUser(e.user),present:e.user.present}},parseUserRemovedFromChatPush=function(e){return{chatId:e.chat_id,userId:e.user_id}},parseFields=function(e){return e.map((function(e){switch(e.type){case"group_chooser":return _extends({},e,{options:e.options.map((function(e){var t=e.group_id;return _extends({},_objectWithoutPropertiesLoose(e,["group_id"]),{groupId:t})}))});case"rating":var t=e.comment_label;return _extends({},_objectWithoutPropertiesLoose(e,["comment_label"]),{commentLabel:t});default:return e}}))},parseTicketFormFields=function(e){var t=e.map((function(e,t){return _extends({},e,{id:String(t)})}));return parseFields(t)},parseForm$1=function(e){var t=!("id"in e.fields[0]);return{id:e.id,fields:t?parseTicketFormFields(e.fields):parseFields(e.fields)}},parseGetFormResponse=function(e){return e.enabled?_extends({},e,{form:parseForm$1(e.form)}):e},parseGetUrlInfoResponse=function(e){var t={url:e.url};return e.title&&(t.title=e.title),e.description&&(t.description=e.description),e.image_url&&(t.imageUrl="https://"+urlUtils.removeProtocol(e.image_url),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},getAvailabilityBasedOnDynamicConfig=function(e){var t=e.online_groups_ids,r=e.customer_groups;if(!t)return"offline";var a=r.monitoring.id;return dataUtils.includes(a,t)?"online":"offline"},parseListChatsResponse=function(e){var t=e.chats_summary.map((function(e){var t=e.id,r=e.active,a=e.access,n=e.last_thread_created_at,s=e.last_thread_id,o=e.last_event_per_type,i=e.properties,E=void 0===i?{}:i,d=e.users,u={id:t,active:r,access:parseAccess(a),properties:E,users:d.map(parseChatUser),lastThreadId:s||null,lastThreadCreatedAt:n||null,eventsSeenUpToMap:getEventsSeenUpToMap(d)};if(!o)return u;u.lastEventsPerType=dataUtils.mapValues((function(e){return parseEvent$1(e.thread_id,e.event)}),o);var c=o,_=Object.keys(c).map((function(e){return c[e]})),p=dataUtils.last(_.sort((function(e,t){return e.thread_id===t.thread_id?dataUtils.stringCompare(e.event.created_at,t.event.created_at):dataUtils.stringCompare(e.thread_created_at,t.thread_created_at)})));return p&&u.lastEventsPerType&&(u.lastEvent=u.lastEventsPerType[p.event.type]),u}));return{chatsSummary:dataUtils.numericSortBy((function(e){var t,r=e.lastEvent,a=e.order;return-1*(null!=(t=void 0!==r?r.timestamp:a)?t:0)}),t),totalChats:e.total_chats,users:dataUtils.uniqBy((function(e){return e.id}),dataUtils.flatMap((function(e){return e.users}),t)),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},parseListGroupStatusesResponse=function(e){return e.groups_status},parseListThreadsResponse=function(e,t){return{threads:t.threads.map((function(t){return parseThread(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},parseLoginResponse=function(e){var t=e.__priv_dynamic_config,r=e.chats,a=e.greeting;return _extends({dynamicConfig:t,customer:parseCustomer(e.customer),availability:getAvailabilityBasedOnDynamicConfig(t),chats:r.map((function(t){return{id:t.chat_id,active:"has_active_thread"in t?t.has_active_thread:e.has_active_thread,hasUnreadEvents:t.has_unread_events}}))},a&&{greeting:parseGreeting(a)})},parsePush=function(e){switch(e.action){case CHAT_DEACTIVATED:return{action:e.action,payload:{chatId:e.payload.chat_id}};case CHAT_PROPERTIES_DELETED:return{action:e.action,payload:parseChatPropertiesDeletedPush(e.payload)};case CHAT_PROPERTIES_UPDATED:return{action:e.action,payload:parseChatPropertiesUpdatedPush(e.payload)};case CHAT_TRANSFERRED:return{action:e.action,payload:parseChatTransferredPush(e.payload)};case CUSTOMER_SIDE_STORAGE_UPDATED:case CUSTOMER_DISCONNECTED:return{action:e.action,payload:e.payload};case CUSTOMER_PAGE_UPDATED:return{action:e.action,payload:parseCustomerPageUpdatedPush(e.payload)};case CUSTOMER_UPDATED:return{action:e.action,payload:parseCustomerUpdatedPush(e.payload)};case EVENT_PROPERTIES_DELETED:return{action:e.action,payload:parseEventPropertiesDeletedPush(e.payload)};case EVENT_PROPERTIES_UPDATED:return{action:e.action,payload:parseEventPropertiesUpdatedPush(e.payload)};case EVENT_UPDATED:return{action:e.action,payload:parseEventUpdatedPush(e.payload)};case EVENTS_MARKED_AS_SEEN:return{action:e.action,payload:parseEventsMarkedAsSeenPush(e.payload)};case GREETING_ACCEPTED:case GREETING_CANCELED:return{action:e.action,payload:parseGreetingAcceptedPush(e.payload)};case GROUPS_STATUS_UPDATED:return{action:e.action,payload:e.payload};case INCOMING_CHAT:return{action:e.action,payload:parseIncomingChatPush(e.payload)};case INCOMING_EVENT:return{action:e.action,payload:parseIncomingEventPush(e.payload)};case INCOMING_GREETING:return{action:e.action,payload:parseIncomingGreetingPush(e.payload)};case INCOMING_MULTICAST:return{action:e.action,payload:e.payload};case INCOMING_RICH_MESSAGE_POSTBACK:return{action:e.action,payload:parseIncomingRichMessagePostbackPush(e.payload)};case INCOMING_TYPING_INDICATOR:return{action:e.action,payload:parseIncomingTypingIndicatorPush(e.payload)};case QUEUE_POSITION_UPDATED:return{action:e.action,payload:parseQueuePositionUpdatedPush(e.payload)};case THREAD_PROPERTIES_DELETED:return{action:e.action,payload:parseThreadPropertiesDeletedPush(e.payload)};case THREAD_PROPERTIES_UPDATED:return{action:e.action,payload:parseThreadPropertiesUpdatedPush(e.payload)};case USER_ADDED_TO_CHAT:return{action:e.action,payload:parseUserAddedToChatPush(e.payload)};case USER_REMOVED_FROM_CHAT:return{action:e.action,payload:parseUserRemovedFromChatPush(e.payload)}}},parseResponse=function(e){var t=e.request,r=e.response;switch(r.action){case ACCEPT_GREETING:case CANCEL_GREETING:case DELETE_CHAT_PROPERTIES:case DELETE_EVENT_PROPERTIES:case DELETE_THREAD_PROPERTIES:return{action:r.action,payload:SUCCESS};case GET_CHAT:return{action:r.action,payload:parseGetChatResponse(r.payload)};case GET_CUSTOMER:return{action:r.action,payload:parseCustomer(r.payload)};case GET_FORM:return{action:r.action,payload:parseGetFormResponse(r.payload)};case GET_PREDICTED_AGENT:return{action:r.action,payload:parsePredictedAgent(r.payload)};case GET_URL_INFO:return{action:r.action,payload:parseGetUrlInfoResponse(r.payload)};case LIST_CHATS:return{action:r.action,payload:parseListChatsResponse(r.payload)};case LIST_GROUP_STATUSES:return{action:r.action,payload:parseListGroupStatusesResponse(r.payload)};case LIST_THREADS:return{action:r.action,payload:parseListThreadsResponse(t,r.payload)};case LOGIN:return{action:r.action,payload:parseLoginResponse(r.payload)};case MARK_EVENTS_AS_SEEN:case SEND_SNEAK_PEEK:case SET_CUSTOMER_SESSION_FIELDS:case SEND_RICH_MESSAGE_POSTBACK:case UPDATE_CHAT_PROPERTIES:case UPDATE_CUSTOMER:case UPDATE_CUSTOMER_PAGE$1:case UPDATE_EVENT_PROPERTIES:case UPDATE_THREAD_PROPERTIES:return{action:r.action,payload:SUCCESS}}},parseServerError=function(e){return{code:e.type.toUpperCase(),message:e.message}},handleResponseError=function(e,t){var r=e.dispatch,a=e.getState,n=t.request_id,s=t.payload,o=getRequest(a(),n).reject;r({type:REQUEST_FAILED,payload:{id:n,reject:o,error:parseServerError(s.error)}})},handleResponse$1=function(e,t){var r=e.dispatch,a=e.getState,n=t.request_id,s=getRequest(a(),n),o=s.promise,i=s.resolve,E=s.request,d=parseResponse({request:E,response:t});r({type:RESPONSE_RECEIVED,payload:_extends({id:n,promise:o,resolve:i},d)})},handlePushResponse=function(e,t){var r=e.dispatch,a=e.getState,n=t.request_id,s=getRequest(a(),n),o=s.promise,i=s.resolve,E=parsePush(t);r({type:PUSH_RESPONSE_RECEIVED,payload:_extends({id:n,promise:o,resolve:i},E)})},handlePush$1=function(e,t){var r=parsePush(t);r&&e.dispatch({type:PUSH_RECEIVED,payload:r})},socketListener=function(e,t){var r=e.dispatch;return t.on("connect",(function(){r({type:SOCKET_CONNECTED})})),t.on("message",(function(t){if("response"===t.type){if(!t.success)return void handleResponseError(e,t);switch(t.action){case RESUME_CHAT:case SEND_EVENT:case START_CHAT:return;default:return void handleResponse$1(e,t)}}if("request_id"in t)switch(t.action){case INCOMING_CHAT:case INCOMING_EVENT:return void handlePushResponse(e,t)}handlePush$1(e,t)})),t.on("disconnect",(function(){failAllRequests(e,CONNECTION_LOST),getConnectionStatus(e.getState())===CONNECTED&&e.dispatch(socketDisconnected())})),t.on("connection_unstable",(function(){r({type:SOCKET_UNSTABLE})})),t.on("connection_recovered",(function(){r({type:SOCKET_RECOVERED})})),t.off},KILOBYTE=1024,MEGABYTE=1024*KILOBYTE,GIGABYTE=1024*MEGABYTE,SIZE_LIMIT=10*MEGABYTE,formatBytes=function(e,t){if(void 0===t&&(t=2),e<KILOBYTE)return e+" b";var r=e/1024;if(e<MEGABYTE)return r.toFixed(t)+" kb";var a=r/1024;return e<GIGABYTE?a.toFixed(t)+" MB":(a/1024).toFixed(t)+" GB"},validateFile=function(e){if(e.size>SIZE_LIMIT)throw createError({message:"The file is too big (max size is "+formatBytes(SIZE_LIMIT)+").",code:TOO_BIG_FILE})},uploadFile=function(e,t){var r,a=e.auth,n=e.store,s=t.file,o=t.onProgress,i=!1;return{promise:new Promise((function(e,t){validateFile(s);var E=n.getState(),d=urlUtils.buildQueryString({organization_id:E.organizationId}),u=getServerUrl(E)+"/action/"+UPLOAD_FILE+"?"+d,c={file:s};a.getToken().then((function(a){i?t(new Error("Upload cancelled.")):(r=rawUploadFile__default.default(u,c,{headers:{Authorization:a.tokenType+" "+a.accessToken},onProgress:o})).promise.then(e,(function(e){if(e.response){var r=e.response.error,a=r.type,n=r.message;t(createError({message:n,code:a.toUpperCase()}))}else t(e)}))}))})),cancel:function(){i||(i=!0,r&&r.cancel())}}},makeGraylogRequest=function(e,t){return new Promise((function(r){var a=new Image;a.src=e+"?"+t,a.onerror=dataUtils.noop,a.onload=function(){return r()}}))},log=function(e){var t=e.env,r=e.organizationId,a=e.eventName;if("production"!==t)return Promise.resolve();var n={event_name:a,severity:"Informational",sdkVersion:"4.0.2"},s={organizationId:r,event_id:"chat_widget_customer_sdk",message:JSON.stringify(n)};return makeGraylogRequest("https://queue.livechatinc.com/logs",urlUtils.buildQueryString(s))},LISTENER_IDENTITY="LISTENER_IDENTITY",listenersMap={},createDebuggedMethods=function(e,t){void 0===t&&(t="");var r=Object.keys(e);return r.map((function(r){var a=e[r];return function(){for(var e,n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];(e=console).info.apply(e,[t+"."+r+"() ===>"].concat(s));var i=a.apply(void 0,s);return"function"==typeof(null==i?void 0:i.then)?i.then((function(e){return console.info(t+"."+r+"() <===",e),e}),(function(e){throw console.error(t+"."+r+"() <===",e),e})):i}})).reduce((function(e,t,a){return e[r[a]]=t,e}),{})},createEnhancedListener=function(e,t,r){if(void 0===r[LISTENER_IDENTITY]&&Object.defineProperty(r,LISTENER_IDENTITY,{value:{}}),r[LISTENER_IDENTITY][t]){var a=r[LISTENER_IDENTITY][t];return listenersMap[a]}var n=function(a){console.info("."+e+'("'+t+'") <===',a),r(a)},s=dataUtils.generateUniqueId(listenersMap);return r[LISTENER_IDENTITY][t]=s,listenersMap[s]=n,n},debug=function(e){var t=e;"production"===process.env.NODE_ENV&&console.warn("You probably do not want to use debug(customerSDK) in your production environment.");var r=t.on,a=t.once,n=t.off,s=t.getChatHistory,o=t.auth,i=_objectWithoutPropertiesLoose(t,["on","once","off","getChatHistory","auth"]),E=createDebuggedMethods(i);return Object.freeze(_extends({auth:Object.freeze(createDebuggedMethods(o,".auth"))},E,{getChatHistory:function(){for(var e,t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];(e=console).info.apply(e,[".getChatHistory()"].concat(r));var n=s.apply(void 0,r),o="history.next()";return{next:function(){var e;return(e=console).info.apply(e,[o+" ===>"].concat(r)),n.next().then((function(e){var t;return(t=console).info.apply(t,[o+" <==="].concat(r,[e])),e}),(function(e){var t;throw(t=console).error.apply(t,[o+" <==="].concat(r,[e])),e}))}}},off:function(e,t){console.info('.off("'+e+'", '+(t.name||"anonymous")+")");var r=t;if(void 0!==t[LISTENER_IDENTITY]){var a=t[LISTENER_IDENTITY][e];r=listenersMap[a]}n(e,r)},on:function(e,t){r(e,createEnhancedListener("on",e,t))},once:function(e,t){a(e,createEnhancedListener("once",e,t))}}))},ASC="asc",DESC="desc",sortOrders=Object.freeze({__proto__:null,ASC:ASC,DESC:DESC}),CHATS_PAGINATION_MAX_LIMIT=25,init=function(e,t,r){void 0===t&&(t="production"),createAuth.validateConfig(e);var a=e.autoConnect,n=void 0===a||a,s=e.customerDataProvider,o=e.identityProvider,i=_objectWithoutPropertiesLoose(e,["autoConnect","customerDataProvider","identityProvider"]),E=finalCreateStore(_extends({},i,{env:t})),d=mitt__default.default(),u=createSocketClient(E),c="function"==typeof o?o():createAuth__default.default(i,r,t);E.addSideEffectsHandler(createSideEffectsHandler({emitter:d,socket:u,auth:c,customerDataProvider:s,licenseId:r})),socketListener(E,u);var _=sendRequestAction.bind(null,E),p=function(){E.dispatch({type:START_CONNECTION})},T=Object.freeze({acceptGreeting:function(e){var t=e.greetingId,r=e.uniqueId;return _(sendRequest(ACCEPT_GREETING,{greeting_id:t,unique_id:r}))},auth:c,cancelGreeting:function(e){var t=e.uniqueId;return _(sendRequest(CANCEL_GREETING,{unique_id:t}))},cancelRate:function(e){var t=e.chatId,r=e.properties,a=void 0===r?["score"]:r;return T.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw createError({message:'There is no thread in "'+t+'".',code:MISSING_CHAT_THREAD});return T.deleteThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:a}})}))},connect:p,deactivateChat:function(e){var t=e.id;return _(sendRequest(DEACTIVATE_CHAT,{id:t}))},deleteChatProperties:function(e){var t=e.id,r=e.properties;return _(sendRequest(DELETE_CHAT_PROPERTIES,{id:t,properties:r}))},deleteEventProperties:function(e){var t=e.chatId,r=e.threadId,a=e.eventId,n=e.properties;return _(sendRequest(DELETE_EVENT_PROPERTIES,{chat_id:t,thread_id:r,event_id:a,properties:n}))},deleteThreadProperties:function(e){var t=e.chatId,r=e.threadId,a=e.properties;return _(sendRequest(DELETE_THREAD_PROPERTIES,{chat_id:t,thread_id:r,properties:a}))},destroy:function(){E.dispatch(destroy("manual"))},disconnect:function(){E.dispatch(pauseConnection("manual"))},getChat:function(e){var t=e.chatId,r=e.threadId;return _(sendRequest(GET_CHAT,{chat_id:t,thread_id:r}))},getChatHistory:function(e){var t=e.chatId;return createChatHistoryIterator(T,t)},getCustomer:function(){return _(sendRequest(GET_CUSTOMER,{}))},getForm:function(e){var t=e.groupId,r=e.type;return _(sendRequest(GET_FORM,{group_id:t,type:r}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return _(sendRequest(GET_PREDICTED_AGENT,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){var t=e.url;return _(sendRequest(GET_URL_INFO,{url:t}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>CHATS_PAGINATION_MAX_LIMIT?Promise.reject(new Error("Specified limit is too high (max "+CHATS_PAGINATION_MAX_LIMIT+").")):_(sendRequest(LIST_CHATS,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return _(sendRequest(LIST_GROUP_STATUSES,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return _(sendRequest(LIST_THREADS,void 0===e.pageId?{chat_id:e.chatId,sort_order:e.sortOrder,limit:e.limit,min_events_count:e.minEventsCount}:{chat_id:e.chatId,page_id:e.pageId}))},markEventsAsSeen:function(e){var t=e.chatId,r=e.seenUpTo;return _(sendRequest(MARK_EVENTS_AS_SEEN,{chat_id:t,seen_up_to:r}))},on:d.on,once:d.once,off:d.off,rateChat:function(e){var t=e.chatId,r=e.rating;return T.listThreads({chatId:t}).then((function(e){var a=e.threads;if(!a.length)throw createError({message:'There is no thread in "'+t+'".',code:MISSING_CHAT_THREAD});return T.updateThreadProperties({chatId:t,threadId:a[0].id,properties:{rating:r}})}))},resumeChat:function(r){return log({env:t,organizationId:e.organizationId,eventName:"chat_started"}),_(sendRequest(RESUME_CHAT,parseResumeChatData(r)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return _(sendEvent(e))})),sendRichMessagePostback:function(e){var t=e.chatId,r=e.threadId,a=e.eventId,n=e.postback;return _(sendRequest(SEND_RICH_MESSAGE_POSTBACK,{chat_id:t,event_id:a,thread_id:r,postback:n}))},setCustomerSessionFields:function(e){var t=e.sessionFields;return _(sendRequest(SET_CUSTOMER_SESSION_FIELDS,{session_fields:parseCustomerSessionFields(t)}))},setSneakPeek:function(e){var t=e.chatId,r=e.sneakPeekText,a=E.getState();isChatActive(a,t)&&isConnected(a)&&_(sendRequest(SEND_SNEAK_PEEK,{chat_id:t,sneak_peek_text:r})).catch(dataUtils.noop)},startChat:function(r){return void 0===r&&(r={}),log({env:t,organizationId:e.organizationId,eventName:"chat_started"}),_(sendRequest(START_CHAT,parseStartChatData(r)))},updateChatProperties:function(e){var t=e.id,r=e.properties;return _(sendRequest(UPDATE_CHAT_PROPERTIES,{id:t,properties:r}))},updateCustomer:function(e){return _(sendRequest(UPDATE_CUSTOMER,parseCustomerUpdate(e)))},updateCustomerPage:function(e){E.dispatch({type:UPDATE_CUSTOMER_PAGE,payload:dataUtils.pickOwn(["title","url"],e)})},updateEventProperties:function(e){var t=e.chatId,r=e.threadId,a=e.eventId,n=e.properties;return _(sendRequest(UPDATE_EVENT_PROPERTIES,{chat_id:t,event_id:a,thread_id:r,properties:n}))},updateThreadProperties:function(e){var t=e.chatId,r=e.threadId,a=e.properties;return _(sendRequest(UPDATE_THREAD_PROPERTIES,{chat_id:t,thread_id:r,properties:a}))},uploadFile:function(e){return uploadFile({auth:c,store:E},e)}});return n?p():E.dispatch({type:CHECK_GOALS,payload:{sessionFields:"function"==typeof s?s().sessionFields:{}}}),T};exports.connectionStatuses=connectionStatuses,exports.debug=debug,exports.eventTypes=eventTypes,exports.init=init,exports.parseCustomEvent=parseCustomEvent,exports.parseEvent=parseEvent$1,exports.parseFile=parseFile,exports.parseFilledForm=parseFilledForm,exports.parseForm=parseForm$1,exports.parseGreeting=parseGreeting,exports.parseMessage=parseMessage,exports.parseRichMessage=parseRichMessage,exports.parseSystemMessage=parseSystemMessage,exports.serverDisconnectionReasons=serverDisconnectionReasons,exports.serverErrorCodes=serverErrorCodes,exports.serverPushActions=serverPushActions,exports.sortOrders=sortOrders,exports.userTypes=userTypes;
//# sourceMappingURL=/sm/a63c3f272d91c99d3750ab768315d9a0ddd2d8c53e59f98aa059bc13a5087694.map