@livechat/customer-sdk 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1242,6 +1242,8 @@ Parameters:
1242
1242
 
1243
1243
  Updates information about the Customer page using the provided page object.
1244
1244
 
1245
+ If the page URL change triggers a group reassignment via routing rules, the [`availability_updated`](#availability_updated) event will be emitted with the new group's availability status.
1246
+
1245
1247
  ```js
1246
1248
  const page = {
1247
1249
  url: 'https://developers.livechat.com/',
@@ -2256,6 +2258,12 @@ customerSDK.on('disconnected', ({ reason }) => {
2256
2258
 
2257
2259
  # Changelog
2258
2260
 
2261
+ ## [v5.0.1] - 2026-07-16
2262
+
2263
+ ### Fixed
2264
+
2265
+ - Fixed missing environment variable injection in the unpkg build.
2266
+
2259
2267
  ## [v5.0.0] - 2026-05-12
2260
2268
 
2261
2269
  ### Added
@@ -790,7 +790,7 @@ var createInitialState = function createInitialState(initialStateData) {
790
790
  return {
791
791
  application: _extends({}, application, {
792
792
  name: "customer_sdk",
793
- version: "5.0.0"
793
+ version: "5.0.1"
794
794
  }),
795
795
  organizationId: organizationId,
796
796
  env: env,
@@ -944,7 +944,7 @@ var log = function log(_ref) {
944
944
  var message = {
945
945
  event_name: eventName,
946
946
  severity: 'Informational',
947
- sdkVersion: "5.0.0"
947
+ sdkVersion: "5.0.1"
948
948
  };
949
949
  var body = {
950
950
  organizationId: organizationId,
@@ -2198,7 +2198,17 @@ var createSideEffectsHandler = (function (_ref8) {
2198
2198
  if (!isConnected(store.getState())) {
2199
2199
  return;
2200
2200
  }
2201
- sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload))["catch"](dataUtils.noop);
2201
+ sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload)).then(function (response) {
2202
+ var _response$groups;
2203
+ if (response != null && (_response$groups = response.groups) != null && _response$groups.length) {
2204
+ var _response$groups2 = response.groups,
2205
+ group = _response$groups2[0];
2206
+ var _availability = parseGroupStatus(group.status);
2207
+ emit('availability_updated', {
2208
+ availability: _availability
2209
+ });
2210
+ }
2211
+ })["catch"](dataUtils.noop);
2202
2212
  return;
2203
2213
  case IDENTITY_CHANGED:
2204
2214
  emit('identity_changed', action.payload);
@@ -2758,6 +2768,7 @@ var parsePush = function parsePush(push) {
2758
2768
  }
2759
2769
  };
2760
2770
  var parseResponse = function parseResponse(_ref6) {
2771
+ var _response$payload;
2761
2772
  var request = _ref6.request,
2762
2773
  response = _ref6.response;
2763
2774
  switch (response.action) {
@@ -2869,7 +2880,9 @@ var parseResponse = function parseResponse(_ref6) {
2869
2880
  case UPDATE_CUSTOMER_PAGE:
2870
2881
  return {
2871
2882
  action: response.action,
2872
- payload: SUCCESS
2883
+ payload: _extends({}, SUCCESS, {
2884
+ groups: (_response$payload = response.payload) == null ? void 0 : _response$payload.groups
2885
+ })
2873
2886
  };
2874
2887
  case UPDATE_EVENT_PROPERTIES:
2875
2888
  return {
@@ -790,7 +790,7 @@ var createInitialState = function createInitialState(initialStateData) {
790
790
  return {
791
791
  application: _extends({}, application, {
792
792
  name: "customer_sdk",
793
- version: "5.0.0"
793
+ version: "5.0.1"
794
794
  }),
795
795
  organizationId: organizationId,
796
796
  env: env,
@@ -944,7 +944,7 @@ var log = function log(_ref) {
944
944
  var message = {
945
945
  event_name: eventName,
946
946
  severity: 'Informational',
947
- sdkVersion: "5.0.0"
947
+ sdkVersion: "5.0.1"
948
948
  };
949
949
  var body = {
950
950
  organizationId: organizationId,
@@ -2198,7 +2198,17 @@ var createSideEffectsHandler = (function (_ref8) {
2198
2198
  if (!isConnected(store.getState())) {
2199
2199
  return;
2200
2200
  }
2201
- sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload))["catch"](dataUtils.noop);
2201
+ sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload)).then(function (response) {
2202
+ var _response$groups;
2203
+ if (response != null && (_response$groups = response.groups) != null && _response$groups.length) {
2204
+ var _response$groups2 = response.groups,
2205
+ group = _response$groups2[0];
2206
+ var _availability = parseGroupStatus(group.status);
2207
+ emit('availability_updated', {
2208
+ availability: _availability
2209
+ });
2210
+ }
2211
+ })["catch"](dataUtils.noop);
2202
2212
  return;
2203
2213
  case IDENTITY_CHANGED:
2204
2214
  emit('identity_changed', action.payload);
@@ -2758,6 +2768,7 @@ var parsePush = function parsePush(push) {
2758
2768
  }
2759
2769
  };
2760
2770
  var parseResponse = function parseResponse(_ref6) {
2771
+ var _response$payload;
2761
2772
  var request = _ref6.request,
2762
2773
  response = _ref6.response;
2763
2774
  switch (response.action) {
@@ -2869,7 +2880,9 @@ var parseResponse = function parseResponse(_ref6) {
2869
2880
  case UPDATE_CUSTOMER_PAGE:
2870
2881
  return {
2871
2882
  action: response.action,
2872
- payload: SUCCESS
2883
+ payload: _extends({}, SUCCESS, {
2884
+ groups: (_response$payload = response.payload) == null ? void 0 : _response$payload.groups
2885
+ })
2873
2886
  };
2874
2887
  case UPDATE_EVENT_PROPERTIES:
2875
2888
  return {
@@ -776,7 +776,7 @@ var createInitialState = function createInitialState(initialStateData) {
776
776
  return {
777
777
  application: _extends({}, application, {
778
778
  name: "customer_sdk",
779
- version: "5.0.0"
779
+ version: "5.0.1"
780
780
  }),
781
781
  organizationId: organizationId,
782
782
  env: env,
@@ -930,7 +930,7 @@ var log = function log(_ref) {
930
930
  var message = {
931
931
  event_name: eventName,
932
932
  severity: 'Informational',
933
- sdkVersion: "5.0.0"
933
+ sdkVersion: "5.0.1"
934
934
  };
935
935
  var body = {
936
936
  organizationId: organizationId,
@@ -2184,7 +2184,17 @@ var createSideEffectsHandler = (function (_ref8) {
2184
2184
  if (!isConnected(store.getState())) {
2185
2185
  return;
2186
2186
  }
2187
- sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload))["catch"](noop);
2187
+ sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload)).then(function (response) {
2188
+ var _response$groups;
2189
+ if (response != null && (_response$groups = response.groups) != null && _response$groups.length) {
2190
+ var _response$groups2 = response.groups,
2191
+ group = _response$groups2[0];
2192
+ var _availability = parseGroupStatus(group.status);
2193
+ emit('availability_updated', {
2194
+ availability: _availability
2195
+ });
2196
+ }
2197
+ })["catch"](noop);
2188
2198
  return;
2189
2199
  case IDENTITY_CHANGED:
2190
2200
  emit('identity_changed', action.payload);
@@ -2744,6 +2754,7 @@ var parsePush = function parsePush(push) {
2744
2754
  }
2745
2755
  };
2746
2756
  var parseResponse = function parseResponse(_ref6) {
2757
+ var _response$payload;
2747
2758
  var request = _ref6.request,
2748
2759
  response = _ref6.response;
2749
2760
  switch (response.action) {
@@ -2855,7 +2866,9 @@ var parseResponse = function parseResponse(_ref6) {
2855
2866
  case UPDATE_CUSTOMER_PAGE:
2856
2867
  return {
2857
2868
  action: response.action,
2858
- payload: SUCCESS
2869
+ payload: _extends({}, SUCCESS, {
2870
+ groups: (_response$payload = response.payload) == null ? void 0 : _response$payload.groups
2871
+ })
2859
2872
  };
2860
2873
  case UPDATE_EVENT_PROPERTIES:
2861
2874
  return {
@@ -478,7 +478,7 @@
478
478
  });
479
479
  }
480
480
 
481
- var ACCOUNTS_URL = process.env.PUBLIC_ACCOUNTS_URL;
481
+ var ACCOUNTS_URL = "https://accounts.livechatinc.com";
482
482
  var buildPath = function buildPath(_ref) {
483
483
  var uniqueGroups = _ref.uniqueGroups,
484
484
  organizationId = _ref.organizationId,
@@ -558,7 +558,7 @@
558
558
  var configEnv = config.env;
559
559
  var env = configEnv && ['labs', 'staging'].includes(configEnv) ? configEnv : 'production';
560
560
  var storage = createAsyncStorage(parentStorage);
561
- var tokenStoragePrefix = config.tokenStoragePrefix || process.env.PUBLIC_TOKEN_STORAGE_PREFIX;
561
+ var tokenStoragePrefix = config.tokenStoragePrefix || "@@lc_auth_token:";
562
562
  var cacheKey = "" + tokenStoragePrefix + config.organizationId + (config.uniqueGroups ? ":" + config.groupId : '');
563
563
  var pendingTokenRequest = null;
564
564
  var cachedToken = null;
@@ -1894,7 +1894,7 @@
1894
1894
  return {
1895
1895
  application: _extends({}, application, {
1896
1896
  name: "customer_sdk",
1897
- version: "5.0.0"
1897
+ version: "5.0.1"
1898
1898
  }),
1899
1899
  organizationId: organizationId,
1900
1900
  env: env,
@@ -2048,7 +2048,7 @@
2048
2048
  var message = {
2049
2049
  event_name: eventName,
2050
2050
  severity: 'Informational',
2051
- sdkVersion: "5.0.0"
2051
+ sdkVersion: "5.0.1"
2052
2052
  };
2053
2053
  var body = {
2054
2054
  organizationId: organizationId,
@@ -3302,7 +3302,17 @@
3302
3302
  if (!isConnected(store.getState())) {
3303
3303
  return;
3304
3304
  }
3305
- sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload))["catch"](noop);
3305
+ sendRequestAction(store, sendRequest$1(UPDATE_CUSTOMER_PAGE, action.payload)).then(function (response) {
3306
+ var _response$groups;
3307
+ if (response != null && (_response$groups = response.groups) != null && _response$groups.length) {
3308
+ var _response$groups2 = response.groups,
3309
+ group = _response$groups2[0];
3310
+ var _availability = parseGroupStatus(group.status);
3311
+ emit('availability_updated', {
3312
+ availability: _availability
3313
+ });
3314
+ }
3315
+ })["catch"](noop);
3306
3316
  return;
3307
3317
  case IDENTITY_CHANGED:
3308
3318
  emit('identity_changed', action.payload);
@@ -4086,6 +4096,7 @@
4086
4096
  }
4087
4097
  };
4088
4098
  var parseResponse = function parseResponse(_ref6) {
4099
+ var _response$payload;
4089
4100
  var request = _ref6.request,
4090
4101
  response = _ref6.response;
4091
4102
  switch (response.action) {
@@ -4197,7 +4208,9 @@
4197
4208
  case UPDATE_CUSTOMER_PAGE:
4198
4209
  return {
4199
4210
  action: response.action,
4200
- payload: SUCCESS
4211
+ payload: _extends({}, SUCCESS, {
4212
+ groups: (_response$payload = response.payload) == null ? void 0 : _response$payload.groups
4213
+ })
4201
4214
  };
4202
4215
  case UPDATE_EVENT_PROPERTIES:
4203
4216
  return {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CustomerSDK={})}(this,function(e){"use strict";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(null,arguments)}function n(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}function r(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o="__test_storage_support__",a="@@test",i=function(){var e=Object.create(null);return{getItem:function(t){var n=e[t];return"string"==typeof n?n:null},setItem:function(t,n){e[t]=n},removeItem:function(t){delete e[t]},clear:function(){e=Object.create(null)}}}();function c(e){try{return window.localStorage}catch(t){return"SecurityError"===t.name&&e?e:function(e){void 0===e&&(e="local");try{var t="session"===e?window.sessionStorage:window.localStorage;return t.setItem(o,a),t.getItem(o)===a&&(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i}}function u(e){var t=c(e);return{setItem:function(e,n){return new Promise(function(r){return r(t.setItem(e,n))})},getItem:function(e){return new Promise(function(n){return n(t.getItem(e))})},removeItem:function(e){return new Promise(function(n){return n(t.removeItem(e))})}}}u();var s={}.hasOwnProperty;function d(e,t){return s.call(t,e)}function p(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function l(e){return Array.isArray(e)}function f(e){if("keys"in Object&&"function"==typeof Object.keys)return Object.keys(e);var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}function _(e,t){return f(t).reduce(function(n,r){return n[r]=e(t[r]),n},{})}function h(e){return e}function v(e){var t=Math.random().toString(36).substring(2);return d(t,e)?v(e):t}function y(){}function g(e){return f(e).map(function(t){return e[t]})}function m(e,t){return e.reduce(function(e,n){return e[n]=t[n],e},{})}function I(e,t){return e.reduce(function(e,n){return d(n,t)&&(e[n]=t[n]),e},{})}function E(e){return f(e).map(function(t){return[t,e[t]]})}function T(e,t){return e===t?0:t>e?-1:1}var b=function(e){return E(e).map(function(e){return e.map(encodeURIComponent).join("=")}).join("&")},O=/[^:]+:\/\/[^(/|?)\s]+/,S=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")};RegExp("^[\0-]*("+S("javascript")+"|"+S("data")+"):","i");var N=/^((http(s)?:)?\/\/)/;function C(e,t){return t=t||{},new Promise(function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},u=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:u,headers:{keys:function(){return a},entries:function(){return i},get:function(e){return c[e.toLowerCase()]},has:function(e){return e.toLowerCase()in c}}}};for(var s in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,n){a.push(t=t.toLowerCase()),i.push([t,n]),c[t]=c[t]?c[t]+","+n:n}),n(u())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(s,t.headers[s]);o.send(t.body||null)})}var w=process.env.PUBLIC_ACCOUNTS_URL,P=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},R=function(e,t){return C(""+function(e,t){var n="production"===t?w:w.replace("accounts.","accounts."+t+"."),r=function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e);return""+n+r}(e,t),{method:"POST",credentials:"include",body:JSON.stringify({response_type:"token",grant_type:"cookie",client_id:e.clientId,organization_id:e.organizationId,redirect_uri:(n=window.location+"",r=n.match(O),(r&&r[0])+window.location.pathname)})}).then(function(e){return e.json()}).then(function(t){return function(e,t){if("identity_exception"in e)throw P({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw P({code:"SSO_OAUTH_EXCEPTION",message:e.oauth_exception});return{accessToken:e.access_token,entityId:e.entity_id,expiresIn:1e3*e.expires_in,tokenType:e.token_type,creationDate:Date.now(),organizationId:t}}(t,e.organizationId)});var n,r},A=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},k=function(e,t){A(e);var n=e.env,r=n&&["labs","staging"].includes(n)?n:"production",o=u(t),a=""+(e.tokenStoragePrefix||process.env.PUBLIC_TOKEN_STORAGE_PREFIX)+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,s=o.getItem(a).then(function(e){null!==s&&(s=null,e&&(c=JSON.parse(e)))}),d=function(){return i=R(e,r).then(function(e){return i=null,o.setItem(a,JSON.stringify(e)),c=e,e},function(e){throw i=null,e})},p=function(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):s?s.then(p):d())},l=function(){return s?s.then(l):Promise.resolve(!!c)};return{getFreshToken:d,getToken:p,hasToken:l,invalidate:function(){return c=null,s=null,o.removeItem(a)}}};var D=["all"],U=function(){var e,r={all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get("*"))&&r.slice().map(function(e){e(t,n)})}},o=r.all,a=n(r,D);return t({},a,{off:function(e,t){e?a.off(e,t):o.clear()},once:function(e,t){a.on(e,function n(r,o){a.off(e,n),t(r,o)})}})},x="file",j="form",L="filled_form",M="message",q="rich_message",G="system_message",F="custom",H=Object.freeze({__proto__:null,FILE:x,FORM:j,FILLED_FORM:L,MESSAGE:M,RICH_MESSAGE:q,SYSTEM_MESSAGE:G,CUSTOM:F}),z=["groupId"],V=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||l(t)||(n.properties=e.properties),n},B=function(e){switch(e.type){case M:var r=t({},V(e),{type:e.type,text:e.text});return e.postback&&(r.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),r;case x:return t({},V(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case L:return t({},V(e),{type:e.type,form_id:e.formId},e.formType&&{form_type:e.formType},{fields:e.fields.map(function(e){if("group_chooser"===e.type){if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,z),{group_id:o})})}return e})});case G:var o=t({},V(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case F:var a=t({},V(e),{type:e.type});return e.content&&(a.content=e.content),a}},Y=function(e){var t=e.active,n=e.chat,r=e.welcomeMessageId,o=e.continuous,a={active:void 0===t||t,chat:{}};if("boolean"==typeof o&&(a.continuous=o),r&&"string"==typeof r&&(a.welcome_message_id=r),!n)return a;var i=n.access,c=n.thread,u=n.properties;return i&&i.groupIds&&(a.chat.access={group_ids:i.groupIds}),u&&(a.chat.properties=u),c&&(a.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(B)),r&&(t.properties=r),t}(c)),a},J=function(e){return E(e).map(function(e){var t;return(t={})[e[0]]=e[1],t})},K=function(e){var t=I(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=J(e.sessionFields)),"boolean"==typeof e.nameIsDefault&&(t.name_is_default=e.nameIsDefault),t},X="change_region",W="check_goals",Q="destroy",Z="fail_all_requests",$="login_success",ee="pause_connection",te="prefetch_token",ne="push_received",re="push_response_received",oe="reconnect",ae="request_failed",ie="response_received",ce="send_request",ue="set_chat_active",se="set_self_id",de="socket_connected",pe="socket_disconnected",le="socket_recovered",fe="socket_unstable",_e="start_connection",he="update_customer_page",ve="clear_sensitive_session_state",ye="identity_changed",ge="accept_greeting",me="cancel_greeting",Ie="delete_chat_properties",Ee="delete_event_properties",Te="delete_thread_properties",be="get_chat",Oe="get_customer",Se="get_form",Ne="get_url_info",Ce="list_chats",we="list_group_statuses",Pe="list_threads",Re="login",Ae="mark_events_as_seen",ke="request_welcome_message",De="resume_chat",Ue="send_event",xe="send_greeting_button_clicked",je="send_rich_message_postback",Le="send_sneak_peek",Me="set_customer_session_fields",qe="start_chat",Ge="update_chat_properties",Fe="update_customer",He="update_customer_page",ze="update_event_properties",Ve="update_thread_properties",Be=function(e){return{type:Q,payload:{reason:e}}},Ye=function(e){return{type:ee,payload:{reason:e}}},Je=function(e){return void 0===e&&(e=!1),{type:te,payload:{fresh:e}}},Ke=function(e){return{type:oe,payload:{delay:e}}},Xe=function(e,n,r){return{type:ce,payload:t({request:{action:e,payload:n}},r&&{source:r})}},We=function(e,t){return{type:ue,payload:{id:e,active:t}}},Qe=function(e){return{type:se,payload:{id:e}}},Ze="CONNECTION_LOST",$e="MISDIRECTED_CONNECTION",et="MISSING_CHAT_THREAD",tt="SDK_DESTROYED",nt="connected",rt="destroyed",ot="disconnected",at="paused",it="reconnecting",ct=Object.freeze({__proto__:null,CONNECTED:nt,DESTROYED:rt,DISCONNECTED:ot,PAUSED:at,RECONNECTING:it}),ut="access_token_expired",st="customer_banned",dt="customer_temporarily_blocked",pt="license_expired",lt="license_not_found",ft="misdirected_connection",_t="product_version_changed",ht="service_temporarily_unavailable",vt="too_many_connections",yt="too_many_unauthorized_connections",gt="unsupported_version",mt="logged_out_remotely",It=Object.freeze({__proto__:null,ACCESS_TOKEN_EXPIRED:ut,CONNECTION_TIMEOUT:"connection_timeout",CUSTOMER_BANNED:st,CUSTOMER_TEMPORARILY_BLOCKED:dt,INACTIVITY_TIMEOUT:"inactivity_timeout",INTERNAL_ERROR:"internal_error",LICENSE_EXPIRED:pt,LICENSE_NOT_FOUND:lt,MISDIRECTED_CONNECTION:ft,PRODUCT_VERSION_CHANGED:_t,SERVICE_TEMPORARILY_UNAVAILABLE:ht,TOO_MANY_CONNECTIONS:vt,TOO_MANY_UNAUTHORIZED_CONNECTIONS:yt,UNSUPPORTED_VERSION:gt,LOGGED_OUT_REMOTELY:mt}),Et="AUTHENTICATION",Tt="CUSTOMER_BANNED",bt="USERS_LIMIT_REACHED",Ot="WRONG_PRODUCT_VERSION",St=Object.freeze({__proto__:null,AUTHENTICATION:Et,AUTHORIZATION:"AUTHORIZATION",CHAT_ALREADY_ACTIVE:"CHAT_ALREADY_ACTIVE",CHAT_LIMIT_REACHED:"CHAT_LIMIT_REACHED",CUSTOMER_BANNED:Tt,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",MISDIRECTED_REQUEST:"MISDIRECTED_REQUEST",PENDING_REQUESTS_LIMIT_REACHED:"PENDING_REQUESTS_LIMIT_REACHED",REQUEST_TIMEOUT:"REQUEST_TIMEOUT",SERVICE_UNAVAILABLE:"SERVICE_UNAVAILABLE",UNSUPPORTED_VERSION:"UNSUPPORTED_VERSION",USERS_LIMIT_REACHED:bt,VALIDATION:"VALIDATION",WRONG_PRODUCT_VERSION:Ot}),Nt="chat_deactivated",Ct="chat_properties_deleted",wt="chat_properties_updated",Pt="chat_transferred",Rt="customer_disconnected",At="customer_side_storage_updated",kt="customer_updated",Dt="event_properties_deleted",Ut="event_properties_updated",xt="event_updated",jt="events_marked_as_seen",Lt="greeting_accepted",Mt="greeting_canceled",qt="groups_status_updated",Gt="incoming_chat",Ft="incoming_event",Ht="incoming_greeting",zt="incoming_multicast",Vt="incoming_rich_message_postback",Bt="incoming_typing_indicator",Yt="incoming_welcome_message",Jt="queue_position_updated",Kt="thread_properties_deleted",Xt="thread_properties_updated",Wt="user_added_to_chat",Qt="user_removed_from_chat",Zt="incoming_thinking_indicator",$t="incoming_event_preview",en=Object.freeze({__proto__:null,CHAT_DEACTIVATED:Nt,CHAT_PROPERTIES_DELETED:Ct,CHAT_PROPERTIES_UPDATED:wt,CHAT_TRANSFERRED:Pt,CUSTOMER_DISCONNECTED:Rt,CUSTOMER_SIDE_STORAGE_UPDATED:At,CUSTOMER_UPDATED:kt,EVENT_PROPERTIES_DELETED:Dt,EVENT_PROPERTIES_UPDATED:Ut,EVENT_UPDATED:xt,EVENTS_MARKED_AS_SEEN:jt,GREETING_ACCEPTED:Lt,GREETING_CANCELED:Mt,GROUPS_STATUS_UPDATED:qt,INCOMING_CHAT:Gt,INCOMING_EVENT:Ft,INCOMING_GREETING:Ht,INCOMING_MULTICAST:zt,INCOMING_RICH_MESSAGE_POSTBACK:Vt,INCOMING_TYPING_INDICATOR:Bt,INCOMING_WELCOME_MESSAGE:Yt,QUEUE_POSITION_UPDATED:Jt,THREAD_PROPERTIES_DELETED:Kt,THREAD_PROPERTIES_UPDATED:Xt,USER_ADDED_TO_CHAT:Wt,USER_REMOVED_FROM_CHAT:Qt,INCOMING_THINKING_INDICATOR:Zt,INCOMING_EVENT_PREVIEW:$t}),tn=Object.freeze({__proto__:null,ASC:"asc",DESC:"desc"}),nn="agent",rn="customer",on=Object.freeze({__proto__:null,AGENT:nn,CUSTOMER:rn});function an(e){var t=e.code,n=Error(e.message);return n.code=t,n}var cn=function(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()),un=function(){return Math.random().toString(36).substring(7).split("").join(".")},sn={INIT:"@@redux/INIT"+un(),REPLACE:"@@redux/REPLACE"+un(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+un()}};function dn(e,t,n){var r;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw Error("Expected the enhancer to be a function.");return n(dn)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,u=!1;function s(){c===i&&(c=i.slice())}function d(){if(u)throw Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return a}function p(e){if("function"!=typeof e)throw Error("Expected the listener to be a function.");if(u)throw Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return s(),c.push(e),function(){if(t){if(u)throw Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,s();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!function(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e))throw Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw Error("Reducers may not dispatch actions.");try{u=!0,a=o(a,e)}finally{u=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}return l({type:sn.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:function(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:sn.REPLACE})}})[cn]=function(){var e,t=p;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(d())}return n(),{unsubscribe:t(n)}}})[cn]=function(){return this},e},r}function pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ln(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n}function fn(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function _n(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map(function(e){return e(o)});return function(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(n,!0).forEach(function(t){pn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n,{dispatch:r=fn.apply(void 0,a)(n.dispatch)})}}}var hn=function(e){var t=e.min,n=void 0===t?1e3:t,r=e.max,o=void 0===r?5e3:r,a=e.jitter,i=void 0===a?.5:a,c=0;return{duration:function(){var e=n*Math.pow(2,c++);if(i){var t=Math.random(),r=Math.floor(t*i*e);e=1&Math.floor(10*t)?e+r:e-r}return 0|Math.min(e,o)},reset:function(){c=0}}};function vn(){var e={};return e.promise=new Promise(function(t,n){e.resolve=t,e.reject=n}),e}var yn=function(e){return e.connection.status},gn=function(e,t){return e.requests[t]},mn=function(e){return e.users.self.id},In=function(e,t){var n=e.chats[t];return!!n&&n.active},En=function(e){return yn(e)===nt},Tn=function(e){var t;return{"x-region":null!=(t=e.region)?t:""}},bn=function(e){return function(e){return"https://api"+function(e){var t=e.env;return"production"===t?"":"."+t}(e)+".livechatinc.com"}(e)+"/v3.6/customer"},On=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},Sn=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},Nn=function(e){var n,r,o;return r=e,(n={})[X]=function(e,n){return t({},e,{region:n.region})},n[Q]=function(e){return Sn(rt,e)},n[$]=function(e){return Sn(nt,e)},n[ee]=function(e){return Sn(at,e)},n[ae]=On,n[ie]=On,n[re]=On,n[ce]=function(e,n){var r,o=n.id;return t({},e,{requests:t({},e.requests,(r={},r[o]={id:o,promise:n.promise,resolve:n.resolve,reject:n.reject,request:n.request},r))})},n[ue]=function(e,n){var r,o=n.id;return t({},e,{chats:t({},e.chats,(r={},r[o]=t({},e.chats[o],{active:n.active}),r))})},n[se]=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n[pe]=function(e){var n=yn(e);return t({},Sn(n===ot?ot:it,e),{requests:{}})},n[he]=function(e,n){return t({},e,{page:t({},e.page,n)})},n[ve]=function(e){return t({},e,{chats:{},users:{self:{id:null,type:rn},others:{}},requests:{}})},n[ye]=function(e){return e},(o=n)[void 0]&&console.warn("Reducer contains an 'undefined' action type.\nHave you misspelled a constant?"),function(e,t){return void 0===e&&(e=r),d(t.type,o)?o[t.type](e,t.payload):e}};function Cn(e){var n=h,r=function(){var e=[],t=function(t){return function(n){return function(r){var o=n(r);return e.forEach(function(e){e(r,t)}),o}}};return t.add=function(t){e.push(t)},t}(),o=dn(Nn(function(e){var n=e.application,r=e.organizationId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,u=void 0===c?null:c,s=e.region,d=void 0===s?null:s,p=e.referrer,l=void 0===p?null:p,f=e.tabId,_=void 0===f?null:f,h=e.uniqueGroups,v=void 0!==h&&h,y=e.mobile,g=void 0!==y&&y;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"5.0.0"}),organizationId:r,env:i,groupId:a,chats:{},connection:{status:ot},page:u,region:d,referrer:l,tabId:_,requests:{},users:{self:{id:null,type:rn},others:{}},uniqueGroups:v,mobile:g}}(e)),n(_n(r)));return o.addSideEffectsHandler=r.add,o}var wn=function(e){var t=e.organizationId,n=e.eventName;if("production"!==e.env)return Promise.resolve();var r={organizationId:t,event_id:"chat_widget_customer_sdk",message:JSON.stringify({event_name:n,severity:"Informational",sdkVersion:"5.0.0"})};return function(e,t){return new Promise(function(n){var r=new Image;r.src=e+"?"+t,r.onerror=y,r.onload=function(){return n()}})}("https://applog.livechatinc.com/logs",b(r))},Pn=function(e,t){t.payload.id=v(e.getState().requests);var n=vn(),r=n.resolve,o=n.reject,a=n.promise;return t.payload.promise=a,t.payload.resolve=r,t.payload.reject=o,e.dispatch(t),a},Rn=Object.freeze({success:!0}),An=["group_id"],kn=function(e,t){var n={id:t.id,authorId:t.author_id,createdAt:t.created_at,threadId:e,properties:t.properties||{}};return void 0!==t.custom_id&&(n.customId=t.custom_id),n},Dn=function(e,t){var n,r,o,a,i;t.height>t.width?(r="height",o="width",a=t.height,i=t.width):(r="width",o="height",a=t.width,i=t.height);var c=e/a;return(n={})[r]=Math.ceil(Math.min(a,e)),n[o]=Math.ceil(Math.min(c*i,i)),n},Un=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},kn(e,n),{type:x,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},Dn(300,n)),high:t({url:n.thumbnail2x_url},Dn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},kn(e,n),{type:x,contentType:n.content_type,url:n.url,name:n.name})},xn=function(e,r){return t({},kn(e,r),{type:L,formId:r.form_id},r.form_type&&{formType:r.form_type},{fields:r.fields.map(function(e){if("group_chooser"===e.type){if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,An),{groupId:o})})}return e})})},jn=function(e,n){return t({},kn(e,n),{type:M,text:n.text})},Ln=function(e,n){return t({},kn(e,n),{type:F},n.content&&{content:n.content})},Mn=function(e){var n={};if("string"==typeof e.title&&(n.title=e.title),"string"==typeof e.subtitle&&(n.subtitle=e.subtitle),e.image){var r=e.image;n.image=t({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.ecommerce&&(n.ecommerce=t({productId:e.ecommerce.product_id,viewType:e.ecommerce.view_type},"string"==typeof e.ecommerce.label&&{label:e.ecommerce.label},Array.isArray(e.ecommerce.options)&&{options:e.ecommerce.options.map(function(e){return t({label:e.label,optionId:e.option_id},void 0!==e.price&&{price:e.price},void 0!==e.regular_price&&{regularPrice:e.regular_price},void 0!==e.max_price&&{maxPrice:e.max_price},void 0!==e.currency&&{currency:e.currency},"string"==typeof e.color&&{color:e.color},e.image_url&&t({imageUrl:e.image_url},"string"==typeof e.image_thumbnail_url&&{imageThumbnailUrl:e.image_thumbnail_url}),"boolean"==typeof e.available&&{available:e.available},"boolean"==typeof e.selected&&{selected:e.selected})})},Array.isArray(e.ecommerce.addons)&&{addons:e.ecommerce.addons.map(function(e){return"price_range"===e.addon_type?t({addonType:e.addon_type},void 0!==e.range_from&&{rangeFrom:e.range_from},void 0!==e.range_to&&{rangeTo:e.range_to},"string"==typeof e.currency&&{currency:e.currency}):{addonType:e.addon_type}})})),e.buttons&&(n.buttons=e.buttons.map(function(e){switch(e.type){case"message":case"add_to_cart":case"show_gallery":case"copy":case"phone":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});case"cancel":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});case"url":var n=t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});return e.target&&(n.target=e.target),n;case"open_external":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id},e.target&&{target:e.target});case"webview":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});default:return t({text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"},e.button_id&&{buttonId:e.button_id})}})),n},qn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":case"ecommerce":return t({},kn(e,n),{type:q,template:n.template_id,elements:n.elements.map(Mn)});default:return null}},Gn=function(e,n){var r=t({},kn(e,t({},n,{author_id:"system"})),{type:G,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Fn=function(e,n){switch(n.type){case x:return Un(e,n);case j:return function(e,n){return t({},kn(e,n),{authorId:"system",type:j,formId:n.form_id},n.form_type&&{formType:n.form_type},{fields:n.fields})}(e,n);case L:return xn(e,n);case M:return jn(e,n);case q:return qn(e,n);case G:return Gn(e,n);case F:return Ln(e,n);default:return null}},Hn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,isExitIntent:e.is_exit_intent,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:Fn(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}}},zn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Vn=function(e){return _(function(e){return e.events_seen_up_to?e.events_seen_up_to:null},(t="id",e.reduce(function(e,n){return e[n[t]]=n,e},{})));var t},Bn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:zn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map(function(e){return Fn(t.id,e)}).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?Qn(t.queue):null}},Yn=function(e){return{id:e.id,access:zn(e.access),users:e.users.map(Zn),properties:e.properties||{},eventsSeenUpToMap:Vn(e.users)}},Jn=function(e){var t=I(["avatar","email","name"],e);return e.session_fields&&(t.sessionFields=e.session_fields.reduce(function(e,t){var n=Object.keys(t)[0];return e[n]=t[n],e},{})),t},Kn=function(e){var n=Jn(e);return t({id:e.id,type:rn},n,{sessionFields:n.sessionFields||{}})},Xn=function(e){var n=e.statistics;return t({},Kn(e),{statistics:{chatsCount:n.chats_count,threadsCount:n.threads_count,visitsCount:n.visits_count,pageViewsCount:n.page_views_count,greetingsShownCount:n.greetings_shown_count,greetingsAcceptedCount:n.greetings_accepted_count}})},Wn=function(e){return{position:e.position,waitTime:e.wait_time}},Qn=function(e){return t({},Wn(e),{queuedAt:e.queued_at})},Zn=function(e){return e.type===rn?t({},Kn(r=e),{present:r.present}):{id:(n=e).id,type:nn,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},$n=function(e){var t=e.getState();return"side_storage_"+t.organizationId+(t.uniqueGroups?":"+t.groupId:"")},er=function(e,t){var n=u(t),r=$n(e);return n.getItem(r).catch(y).then(function(e){return JSON.parse(e||"{}")}).catch(y)},tr=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:Z,payload:{rejects:Object.keys(r).map(function(e){return r[e].reject}),reason:t}})},nr=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:ae,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},rr=function(e,t,n){var r=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);t>n;n++)r[n]=e[n];return r}(e).slice(0),o=!1,a=function(e){var i,c=r.shift();(i=function(){return c(e)},new Promise(function(e){e(i())})).then(function(e){o||(r.length?a(e):t(e))},function(e){o||n(e)})};return a(),{cancel:function(){o=!0}}},or=function(e,t,n){return Pn(e,Xe(t,n,"login"))};function ar(e,n,r){var o,a,i=null,c={min:300,max:6e4,jitter:.3},s=hn(c),d=hn(t({},c,{min:1e3})),p=s,l=function(e){return o.dispatch(Be(e))},f=function(){return o.dispatch(Ke(p.duration()))},_=function(){return Promise.all([e.getToken(),er(o,r)])},h=function(e){var t=e[0],n=e[1],a=mn(o.getState());if(null===a)o.dispatch(Qe(t.entityId));else if(a!==t.entityId)return r&&function(e,t){u(t).removeItem($n(e)).catch(y)}(o,r),o.dispatch({type:ve}),o.dispatch(Qe(t.entityId)),o.dispatch({type:ye,payload:{previousId:a,newId:t.entityId}}),[t,{}];return[t,n]},v=function(e){var t,r=e[0],a=e[1],c=o.getState(),u=c.application,s=c.groupId,d=c.page,p=c.referrer,l=c.mobile,f=c.tabId,_={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof n?K(n()):{},customer_side_storage:a,is_mobile:l,application:m(["name","version"],u)};return"number"==typeof s&&(_.group_id=s),u.channelType&&(_.application.channel_type=u.channelType),null!==d&&(i=d,_.customer_page=d),null!==p&&(_.referrer=p),null!==f&&(_.tab_id=f),Promise.race([or(o,Re,_),(t=15e3,new Promise(function(e){setTimeout(e,t)})).then(function(){return Promise.reject(an({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))})])};return{sendLogin:function(t){var n;o=t,null==(n=a)||n.cancel(),a=rr([_,h,v],function(e){var t;a=null,s.reset(),d.reset(),p=s,t=o.getState().page,i!==t&&or(o,He,t).catch(y),i=null,o.dispatch({type:$,payload:e})},function(t){switch(a=null,t.code){case Et:return e.getFreshToken(),void f();case Ze:case $e:case tt:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void f():void l(t.message);case bt:return void o.dispatch(Ye(t.code.toLowerCase()));case Tt:case Ot:return void l(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return p=d,void f();default:return void f()}})},cancel:function(){var e;null==(e=a)||e.cancel()}}}var ir,cr=["present"],ur=["statistics"],sr=((ir={})[Ze]="Connection lost.",ir[$e]="Connected to wrong region.",ir),dr=function(e,t){var n=e.getState();switch(t.type){case re:case ne:switch(t.payload.action){case Nt:return void e.dispatch(We(t.payload.payload.chatId,!1));case Gt:return void e.dispatch(We(t.payload.payload.chat.id,!0));default:return}case ie:return t.payload.action===Ce?void t.payload.payload.chatsSummary.filter(function(e){var t=e.active;return In(n,e.id)!==t}).forEach(function(t){e.dispatch(We(t.id,t.active))}):void 0}},pr=function(e,t){t.forEach(function(t){if("present"in t){var r=n(t,cr);e("user_data",r)}else if(t.type!==rn)e("user_data",t);else{var o=n(t,ur);e("user_data",o)}})},lr=function(e,t,n){var r=e.emit,o=e.store,a=t.payload;switch(a.action){case Xt:return a.payload.properties.lc2&&"queue_pos"in a.payload.properties.lc2&&r(Jt,{chatId:a.payload.chatId,threadId:a.payload.threadId,queue:{position:a.payload.properties.lc2.queue_pos,waitTime:a.payload.properties.lc2.queue_waiting_time}}),void r("thread_properties_updated",a.payload);case At:return void function(e,t,n){u(n).setItem($n(e),JSON.stringify(t)).catch(y)}(o,a.payload.customer_side_storage,n);case Rt:switch(a.payload.reason){case ut:o.dispatch(Je(!0)),o.dispatch(Ke(100)),r("disconnected",a.payload);break;case st:case dt:case lt:case _t:case vt:case gt:case mt:o.dispatch(Be(a.payload.reason));break;case ft:tr(o,$e),o.dispatch({type:X,payload:a.payload.data});break;case ht:case yt:tr(o,a.payload.reason.toUpperCase());break;default:o.dispatch(Ke(100)),r("disconnected",a.payload)}return;case qt:return void r("availability_updated",{availability:"offline"===a.payload.groups[0].status?"offline":"online"});case Gt:return pr(r,a.payload.chat.users),void r(a.action,a.payload);case Ft:if(null===a.payload.event)return;return void r(a.action,a.payload);case Bt:case Zt:case $t:return void r(a.action,a.payload);case Wt:return pr(r,[a.payload.user]),void r(a.action,a.payload);default:return void r(a.action,a.payload)}},fr=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case Nt:return void r.resolve(Rn);case be:return pr(n,r.payload.users),void r.resolve(r.payload);case Gt:return pr(n,r.payload.chat.users),void r.resolve(r.payload);case Ft:return void r.resolve(r.payload.event);case Ce:return pr(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},_r=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=e.parentStorage,i=r.emit,c=ar(n,e.customerDataProvider,a);return function(e,u){switch(e.type){case X:return void o.reinitialize();case W:return void function(e,n,r){return n.getToken().then(function(n){var o=e.getState();null===mn(o)&&e.dispatch(Qe(n.entityId));var a=o.page;if(a&&a.url){var i=b(t({organization_id:o.organizationId},Tn(o))),c={session_fields:J(r||{}),group_id:o.groupId||0,page_url:a.url};return C(bn(o)+"/action/check_goals?"+i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:n.tokenType+" "+n.accessToken},body:JSON.stringify(c)}).then(function(){})}})}(u,n,e.payload.sessionFields).catch(y);case Q:var s=e.payload;switch(c.cancel(),o.destroy(),s.reason){case"manual":tr(u,tt);break;case st:case pt:case _t:case mt:tr(u,Ze),i("disconnected",s);break;default:i("disconnected",s)}return void r.off();case Z:var d=e.payload,p=d.reason,l={message:sr[p],code:p};return void d.rejects.forEach(function(e){e(an(l))});case $:var f=e.payload,_=f.dynamicConfig,h=f.chats,v=f.greeting,m=t({customer:f.customer,availability:f.availability},v&&{greeting:v});return Object.defineProperty(m,"__unsafeDynamicConfig",{value:_}),Object.defineProperty(m,"__unsafeChats",{value:h}),void i("connected",m);case ee:var I=e.payload;return o.disconnect(),void("manual"!==I.reason&&i("disconnected",I));case te:return e.payload.fresh?void n.getFreshToken().catch(y):void n.hasToken().then(function(e){return e?n.getToken().then(function(e){if(36e5>=e.creationDate+e.expiresIn-Date.now())return n.invalidate().then(n.getFreshToken)}):n.getToken()}).catch(y);case ne:return e.payload.action===Rt||dr(u,e),void lr({emit:i,store:u},e,a);case re:return dr(u,e),void fr({emit:i},e);case oe:return tr(u,Ze),void o.reconnect(e.payload.delay);case ae:var E=e.payload;return void(0,E.reject)(an(E.error));case ie:return dr(u,e),void fr({emit:i},e);case ce:var T=u.getState();return function(e){return yn(e)===rt}(T)?void nr(u,e,{code:tt,message:"SDK destroyed."}):En(T)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);if(o.action!==Re)e.emit(o);else{var a={3.6:g(en).filter(function(e){return e!==Rt})};e.emit(t({},o,{version:"3.6",payload:t({},o.payload,{pushes:a})}))}}(o,e):void nr(u,e,{code:"NO_CONNECTION",message:"No connection."});case se:return void i("customer_id",e.payload.id);case pe:return void i("disconnected",{reason:"connection_lost"});case de:return void c.sendLogin(u);case le:if(!En(u.getState()))return;return void i("connection_recovered");case fe:if(!En(u.getState()))return;return void i("connection_unstable");case _e:return o.connect(),void u.dispatch(Je());case he:if(!En(u.getState()))return;return void Pn(u,Xe(He,e.payload)).catch(y);case ye:return void i("identity_changed",e.payload);default:return}}},hr=function(e,t){var n,r=(void 0===t?{}:t).query,o=b(void 0===r?{}:r),a=o?e+"?"+o:e,i=U(),c=hn({min:1e3,max:5e3,jitter:.5}),u=3,s=null,d=function(){u=1,c.reset(),i.emit("connect")},p=function(){f(),h(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),u=3,s)&&((e=s).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),s.close(),s=null)},_=function(){var e;u=0,s=new WebSocket(a),(e=s).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},h=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(_,e):_()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){if(3!==u)throw Error("Socket is already open or connecting.");clearTimeout(n),_()}),destroy:function(){i.off(),f()},disconnect:f,reconnect:h,emit:function(e){if(1!==u)throw Error("Socket is not connected.");s.send(e)},getReadyState:function(){return u},on:i.on,off:i.off}},vr=function(e,n){var r,o,a,i,c=void 0===n?{}:n,u=c.query,s=void 0===u?{}:u,d=c.emitter,p=void 0===d?U():d,l=hr(e,{query:s}),f=(o=y,{cancel:function(){clearTimeout(r),o=y},check:function(){var e=vn();return o=e.resolve,r=setTimeout(function(){var t=Error("Timeout.");t.code="TIMEOUT",e.reject(t)},2e3),e.promise},resolve:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){clearTimeout(r),o()})}),_=function(){return 1===l.getReadyState()},h=function(){f.cancel()};return a=l,i=p,["connect","disconnect"].forEach(function(e){a.on(e,function(t){i.emit(e,t)})}),l.on("disconnect",h),l.on("message",function(e){f.resolve();var t=JSON.parse(e);p.emit("message",t)}),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",function(){_()&&f.check().then(function(){f.cancel(),p.emit("connection_recovered")},function(e){if(f.cancel(),"TIMEOUT"!==e.code)throw e;l.reconnect()})}),window.addEventListener("offline",function(){f.cancel(),_()&&p.emit("connection_unstable")})),t({},l,{destroy:function(){h(),l.destroy()},disconnect:function(){h(),l.disconnect()},reconnect:function(e){h(),l.reconnect(e)},emit:function(e){l.emit(JSON.stringify(e))},on:p.on,off:p.off})},yr=function(e,n){var r=e.getState(),o=(bn(r)+"/rtm/ws").replace(/^https/,"wss");return vr(o,{query:t({organization_id:r.organizationId},Tn(r)),emitter:n})},gr=["group_id"],mr=["comment_label"],Ir=function(e){return{chatId:e.chat_id,properties:e.properties}},Er=function(e){var n={chatId:e.chat_id,threadId:e.thread_id,transferredTo:t({},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?Qn(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},Tr=function(e){return t({id:e.id},Jn(e))},br=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Or=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Sr=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Fn(t,e.event)}},Nr=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},Cr=function(e){return{uniqueId:e.unique_id}},wr=function(e){var n=e.chat;return{chat:t({},Yn(n),{thread:Bn(n.id,n.thread)})}},Pr=function(e){return{chatId:e.chat_id,event:Fn(e.thread_id,e.event)}},Rr=function(e){return Hn(e)},Ar=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},kr=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},Dr=function(e){var n=e.custom_id,r=e.title,o=e.description;return t({chatId:e.chat_id,threadId:e.thread_id,authorId:e.author_id,sentAt:e.sent_at},n&&{customId:n},r&&{title:r},o&&{description:o})},Ur=function(e){return{chatId:e.chat_id,threadId:e.thread_id,event:Fn(e.thread_id,e.event)}},xr=function(e){return{id:e.id,event:Fn(null,e.event)}},jr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:Wn(e.queue)}},Lr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},Mr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},qr=function(e){return{chatId:e.chat_id,user:Zn(e.user),present:e.user.present}},Gr=function(e){return{chatId:e.chat_id,userId:e.user_id,reason:e.reason}},Fr=function(e){return e.map(function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map(function(e){var r=e.group_id;return t({},n(e,gr),{groupId:r})})});case"rating":var r=e.comment_label;return t({},n(e,mr),{commentLabel:r});default:return e}})},Hr=function(e){var n,r;return{id:e.id,fields:!("id"in e.fields[0])?(n=e.fields,r=n.map(function(e,n){return t({},e,{id:n+""})}),Fr(r)):Fr(e.fields)}},zr=function(e){return e.enabled?t({},e,{form:Hr(e.form)}):e},Vr=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://"+e.image_url.replace(N,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},Br=function(e){var t=e.predicted_agent;return{id:e.id,predictedAgent:{id:t.id,type:t.type,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot,botType:t.bot_type},queue:e.queue}},Yr=function(e){var t,n,r,o,a,i,c=e.chats_summary.map(function(e){var t=e.last_thread_created_at,n=e.last_thread_id,r=e.last_event_per_type,o=e.properties,a=void 0===o?{}:o,i=e.users,c={id:e.id,active:e.active,access:zn(e.access),properties:a,users:i.map(Zn),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Vn(i)};if(!r)return c;c.lastEventsPerType=_(function(e){return Fn(e.thread_id,e.event)},r);var u,s=r,d=Object.keys(s).map(function(e){return s[e]}),p=(u=d.sort(function(e,t){return e.thread_id===t.thread_id?T(e.event.created_at,t.event.created_at):T(e.thread_created_at,t.thread_created_at)})).length>0?u[u.length-1]:void 0;return p&&c.lastEventsPerType&&(c.lastEvent=c.lastEventsPerType[p.event.type]),c});return{chatsSummary:(o=function(e){var t,n=e.lastEvent;return-1*(null!=(t=void 0!==n?n.timestamp:e.order)?t:0)},a=c,i="function"==typeof o?o:function(e){return function(e,t){for(var n="string"==typeof e?e.split("."):e,r=0,o=t;o&&n.length>r;)o=o[n[r++]];return o}(o,e)},(l(a)?[].concat(a):g(a)).sort(function(e,t){return i(e)-i(t)})),totalChats:e.total_chats,users:(t=function(e){return e.id},n=p(function(e){return e.users},c),r=[],n.filter(function(e){var n=t(e);return-1===r.indexOf(n)&&(r.push(n),!0)})),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},Jr=function(e){return e.groups_status},Kr=function(e,t){return{threads:t.threads.map(function(t){return Bn(e.payload.chat_id,t)}),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},Xr=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:Xn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&-1!==r.indexOf(n.customer_groups.monitoring.id)?"online":"offline"),chats:a.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}})},i&&{greeting:Hn(i)})},Wr=function(e){switch(e.action){case Nt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case Ct:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case wt:return{action:e.action,payload:Ir(e.payload)};case Pt:return{action:e.action,payload:Er(e.payload)};case At:case Rt:return{action:e.action,payload:e.payload};case kt:return{action:e.action,payload:Tr(e.payload)};case Dt:return{action:e.action,payload:br(e.payload)};case Ut:return{action:e.action,payload:Or(e.payload)};case xt:return{action:e.action,payload:Sr(e.payload)};case jt:return{action:e.action,payload:Nr(e.payload)};case Lt:case Mt:return{action:e.action,payload:Cr(e.payload)};case qt:return{action:e.action,payload:e.payload};case Gt:return{action:e.action,payload:wr(e.payload)};case Ft:return{action:e.action,payload:Pr(e.payload)};case Ht:return{action:e.action,payload:Rr(e.payload)};case zt:return{action:e.action,payload:e.payload};case Vt:return{action:e.action,payload:Ar(e.payload)};case Bt:return{action:e.action,payload:kr(e.payload)};case Zt:return{action:e.action,payload:Dr(e.payload)};case $t:return{action:e.action,payload:Ur(e.payload)};case Yt:return{action:e.action,payload:xr(e.payload)};case Jt:return{action:e.action,payload:jr(e.payload)};case Kt:return{action:e.action,payload:Lr(e.payload)};case Xt:return{action:e.action,payload:Mr(e.payload)};case Wt:return{action:e.action,payload:qr(e.payload)};case Qt:return{action:e.action,payload:Gr(e.payload)}}var t},Qr=function(e,n){var r=e.dispatch,o=n.request_id,a=gn((0,e.getState)(),o),i=a.promise,c=a.resolve,u=function(e){var n,r=e.request,o=e.response;switch(o.action){case ge:case me:case Ie:case Ee:case Te:return{action:o.action,payload:Rn};case be:return{action:o.action,payload:(n=o.payload,t({},Yn(n),{thread:n.thread?Bn(n.id,n.thread):null}))};case Oe:return{action:o.action,payload:Xn(o.payload)};case Se:return{action:o.action,payload:zr(o.payload)};case Ne:return{action:o.action,payload:Vr(o.payload)};case Ce:return{action:o.action,payload:Yr(o.payload)};case we:return{action:o.action,payload:Jr(o.payload)};case Pe:return{action:o.action,payload:Kr(r,o.payload)};case Re:return{action:o.action,payload:Xr(o.payload)};case Ae:return{action:o.action,payload:Rn};case ke:return{action:o.action,payload:Br(o.payload)};case Le:case Me:case xe:case je:case Ge:case Fe:case He:case ze:case Ve:return{action:o.action,payload:Rn}}}({request:a.request,response:n});r({type:ie,payload:t({id:o,promise:i,resolve:c},u)})},Zr=function(e,n){var r=e.dispatch;return n.on("connect",function(){r({type:de})}),n.on("message",function(n){if("response"===n.type){if(!n.success)return void function(e,t){var n,r=e.dispatch,o=t.request_id,a=t.payload,i=gn((0,e.getState)(),o);r({type:ae,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case De:case Ue:case qe:return;default:return void Qr(e,n)}}if("request_id"in n)switch(n.action){case Gt:case Ft:return void function(e,n){var r=e.dispatch,o=n.request_id,a=gn((0,e.getState)(),o),i=a.promise,c=a.resolve,u=Wr(n);r({type:re,payload:t({id:o,promise:i,resolve:c},u)})}(e,n)}!function(e,t){var n=Wr(t);n&&e.dispatch({type:ne,payload:n})}(e,n)}),n.on("disconnect",function(){tr(e,Ze),yn(e.getState())===nt&&e.dispatch({type:pe})}),n.on("connection_unstable",function(){r({type:fe})}),n.on("connection_recovered",function(){r({type:le})}),n.off},$r="UPLOAD_FAILED",eo=function(e,t,n){var r=void 0===n?{}:n,o=r.headers,a=r.method,i=void 0===a?"POST":a,c=r.onProgress,u=r.withCredentials,s=void 0!==u&&u,d=new XMLHttpRequest;return{promise:new Promise(function(n,r){var a,u;"function"==typeof c&&(d.upload.onprogress=function(e){c(e.loaded/e.total)}),d.onload=function(){var e;try{e=JSON.parse(d.response)}catch(t){e=d.response}if(200>d.status||d.status>=300){var t=Error("Upload failed.");t.code=$r,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=$r,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=s,o&&Object.keys(o).forEach(function(e){return d.setRequestHeader(e,o[e])}),d.send((a=t,u=new FormData,Object.keys(a).forEach(function(e){return u.append(e,a[e])}),u))}),cancel:function(){d.abort()}}},to=1048576,no=10485760,ro=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(to>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},oo=function(e,n){var r,o=e.auth,a=e.store,i=n.file,c=n.onProgress,u=!1;return{promise:new Promise(function(e,n){!function(e){if(e.size>no)throw an({message:"The file is too big (max size is "+ro(no)+").",code:"TOO_BIG_FILE"})}(i);var s=a.getState(),d=b(t({organization_id:s.organizationId},Tn(s))),p=bn(s)+"/action/upload_file?"+d,l={file:i};o.getToken().then(function(t){u?n(Error("Upload cancelled.")):(r=eo(p,l,{headers:{Authorization:t.tokenType+" "+t.accessToken},onProgress:c})).promise.then(e,function(e){if(e.response){var t=e.response.error;n(an({message:t.message,code:t.type.toUpperCase()}))}else n(e)})})}),cancel:function(){u||(u=!0,r&&r.cancel())}}},ao=["on","once","off","getChatHistory","auth"],io="LISTENER_IDENTITY",co={},uo=function(e,t){void 0===t&&(t="");var n=Object.keys(e);return n.map(function(n){var r=e[n];return function(){for(var e,o=arguments.length,a=Array(o),i=0;o>i;i++)a[i]=arguments[i];(e=console).info.apply(e,[t+"."+n+"() ===>"].concat(a));var c=r.apply(void 0,a);return"function"==typeof(null==c?void 0:c.then)?c.then(function(e){return console.info(t+"."+n+"() <===",e),e},function(e){throw console.error(t+"."+n+"() <===",e),e}):c}}).reduce(function(e,t,r){return e[n[r]]=t,e},{})},so=function(e,t,n){if(void 0===n[io]&&Object.defineProperty(n,io,{value:{}}),n[io][t])return co[n[io][t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=v(co);return n[io][t]=o,co[o]=r,r},po=["autoConnect","customerDataProvider","identityProvider","parentStorage","env"];e.connectionStatuses=ct,e.debug=function(e){var r=e;console.warn("You probably do not want to use debug(customerSDK) in your production environment.");var o=r.on,a=r.once,i=r.off,c=r.getChatHistory,u=r.auth,s=n(r,ao),d=uo(s);return Object.freeze(t({auth:Object.freeze(uo(u,".auth"))},d,{getChatHistory:function(){for(var e,t=arguments.length,n=Array(t),r=0;t>r;r++)n[r]=arguments[r];(e=console).info.apply(e,[".getChatHistory()"].concat(n));var o=c.apply(void 0,n),a="history.next()";return{next:function(){var e;return(e=console).info.apply(e,[a+" ===>"].concat(n)),o.next().then(function(e){var t;return(t=console).info.apply(t,[a+" <==="].concat(n,[e])),e},function(e){var t;throw(t=console).error.apply(t,[a+" <==="].concat(n,[e])),e})}}},off:function(e,t){console.info('.off("'+e+'", '+(t.name||"anonymous")+")");var n=t;void 0!==t[io]&&(n=co[t[io][e]]);i(e,n)},on:function(e,t){o(e,so("on",e,t))},once:function(e,t){a(e,so("once",e,t))}}))},e.eventTypes=H,e.init=function(e){A(e);var r=e.autoConnect,o=void 0===r||r,a=e.customerDataProvider,i=e.identityProvider,c=e.parentStorage,u=e.env,s=n(e,po),d=u&&["labs","staging"].includes(u)?u:"production",p=Cn(t({},s,{env:d})),l=U(),f=function(e){var n=U(),r=yr(e,n);return t({},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=yr(e,n)).connect()}})}(p),_="function"==typeof i,h=_?i():k(t({},s,{env:d}),c);p.addSideEffectsHandler(_r({emitter:l,socket:f,auth:h,customerDataProvider:a,parentStorage:c,hasCustomIdentityProvider:_})),Zr(p,f);var v=Pn.bind(null,p),g=function(){p.dispatch({type:_e})},m=Object.freeze({acceptGreeting:function(e){return v(Xe(ge,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:h,cancelGreeting:function(e){return v(Xe(me,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return m.listThreads({chatId:t}).then(function(e){var n=e.threads;if(!n.length)throw an({message:'There is no thread in "'+t+'".',code:et});return m.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})})},connect:g,deactivateChat:function(e){return v(Xe("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return v(Xe(Ie,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return v(Xe(Ee,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return v(Xe(Te,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){p.dispatch(Be("manual"))},disconnect:function(){p.dispatch(Ye("manual"))},getChat:function(e){return v(Xe(be,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(o,a){switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then(function(e){var t=e.threads;n.nextPageId=e.nextPageId,n.nextPageId?(n.status="idle",o({value:{threads:[].concat(t).reverse()},done:!1})):(n.status="done",o({value:{threads:[].concat(t).reverse()},done:!0}));var a=n.queuedTasks.shift();a&&r(a.resolve,a.reject)},function(e){var t=n.queuedTasks;n.status="idle",n.queuedTasks=[],a(e),t.forEach(function(t){return t.reject(e)})});case"fetching":return void n.queuedTasks.push({resolve:o,reject:a});case"done":return void o({value:void 0,done:!0})}});return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){return new Promise(r)})}}(m,e.chatId)},getCustomer:function(){return v(Xe(Oe,{}))},getForm:function(e){return v(Xe(Se,{group_id:e.groupId,type:e.type}))},getUrlInfo:function(e){return v(Xe(Ne,{url:e.url}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(Error("Specified limit is too high (max 25).")):v(Xe(Ce,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return v(Xe(we,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return v(Xe(Pe,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){return v(Xe(Ae,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:l.on,once:l.once,off:l.off,rateChat:function(e){var t=e.chatId,n=e.rating;return m.listThreads({chatId:t}).then(function(e){var r=e.threads;if(!r.length)throw an({message:'There is no thread in "'+t+'".',code:et});return m.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})})},requestWelcomeMessage:function(e){var t=(void 0===e?{}:e).id;return v(Xe(ke,t?{id:t}:{}))},resumeChat:function(n){return wn({env:d,organizationId:e.organizationId,eventName:"chat_started"}),v(Xe(De,function(e){var n=Y(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){return v(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:B(e.event)};return t&&(n.attach_to_last_thread=!0),Xe(Ue,n)}(e))},sendGreetingButtonClicked:function(e){return function(e,n){var r=e.store,o=n.greetingUniqueId,a=n.buttonId;return e.auth.getToken().then(function(e){var n=r.getState(),i=b(t({organization_id:n.organizationId},Tn(n))),c=bn(n)+"/action/"+xe+"?"+i;return fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Authorization:e.tokenType+" "+e.accessToken},body:JSON.stringify({greeting_unique_id:o,button_id:a}),keepalive:!0}).then(y)})}({auth:h,store:p},e)},sendCustomerActions:function(e){return function(e,n){var r=e.store,o=n.actions;return e.auth.getToken().then(function(e){var n=r.getState(),a=b(t({organization_id:n.organizationId},Tn(n))),i=bn(n)+"/action/send_customer_actions?"+a;return fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:e.tokenType+" "+e.accessToken},body:JSON.stringify({actions:o}),keepalive:!0}).then(y)})}({auth:h,store:p},e)},sendRichMessagePostback:function(e){return v(Xe(je,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return v(Xe(Me,{session_fields:J(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=p.getState();In(r,t)&&En(r)&&v(Xe(Le,{chat_id:t,sneak_peek_text:n})).catch(y)},startChat:function(t){return void 0===t&&(t={}),wn({env:d,organizationId:e.organizationId,eventName:"chat_started"}),v(Xe(qe,Y(t)))},updateChatProperties:function(e){return v(Xe(Ge,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return v(Xe(Fe,K(e)))},updateCustomerPage:function(e){p.dispatch({type:he,payload:I(["title","url"],e)})},updateEventProperties:function(e){return v(Xe(ze,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return v(Xe(Ve,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return oo({auth:h,store:p},e)}});return o?g():p.dispatch({type:W,payload:{sessionFields:"function"==typeof a?a().sessionFields:{}}}),m},e.parseCustomEvent=Ln,e.parseEvent=Fn,e.parseFile=Un,e.parseFilledForm=xn,e.parseForm=Hr,e.parseGreeting=Hn,e.parseMessage=jn,e.parseRichMessage=qn,e.parseSystemMessage=Gn,e.serverDisconnectionReasons=It,e.serverErrorCodes=St,e.serverPushActions=en,e.sortOrders=tn,e.userTypes=on,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CustomerSDK={})}(this,function(e){"use strict";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(null,arguments)}function n(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}function r(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o="__test_storage_support__",a="@@test",i=function(){var e=Object.create(null);return{getItem:function(t){var n=e[t];return"string"==typeof n?n:null},setItem:function(t,n){e[t]=n},removeItem:function(t){delete e[t]},clear:function(){e=Object.create(null)}}}();function c(e){try{return window.localStorage}catch(t){return"SecurityError"===t.name&&e?e:function(e){void 0===e&&(e="local");try{var t="session"===e?window.sessionStorage:window.localStorage;return t.setItem(o,a),t.getItem(o)===a&&(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i}}function u(e){var t=c(e);return{setItem:function(e,n){return new Promise(function(r){return r(t.setItem(e,n))})},getItem:function(e){return new Promise(function(n){return n(t.getItem(e))})},removeItem:function(e){return new Promise(function(n){return n(t.removeItem(e))})}}}u();var s={}.hasOwnProperty;function d(e,t){return s.call(t,e)}function p(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function l(e){return Array.isArray(e)}function f(e){if("keys"in Object&&"function"==typeof Object.keys)return Object.keys(e);var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}function _(e,t){return f(t).reduce(function(n,r){return n[r]=e(t[r]),n},{})}function h(e){return e}function v(e){var t=Math.random().toString(36).substring(2);return d(t,e)?v(e):t}function y(){}function g(e){return f(e).map(function(t){return e[t]})}function m(e,t){return e.reduce(function(e,n){return e[n]=t[n],e},{})}function I(e,t){return e.reduce(function(e,n){return d(n,t)&&(e[n]=t[n]),e},{})}function E(e){return f(e).map(function(t){return[t,e[t]]})}function T(e,t){return e===t?0:t>e?-1:1}var b=function(e){return E(e).map(function(e){return e.map(encodeURIComponent).join("=")}).join("&")},O=/[^:]+:\/\/[^(/|?)\s]+/,S=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")};RegExp("^[\0-]*("+S("javascript")+"|"+S("data")+"):","i");var N=/^((http(s)?:)?\/\/)/;function C(e,t){return t=t||{},new Promise(function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},u=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:u,headers:{keys:function(){return a},entries:function(){return i},get:function(e){return c[e.toLowerCase()]},has:function(e){return e.toLowerCase()in c}}}};for(var s in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,n){a.push(t=t.toLowerCase()),i.push([t,n]),c[t]=c[t]?c[t]+","+n:n}),n(u())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(s,t.headers[s]);o.send(t.body||null)})}var w="https://accounts.livechatinc.com",P=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},R=function(e,t){return C(""+function(e,t){var n="production"===t?w:w.replace("accounts.","accounts."+t+"."),r=function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e);return""+n+r}(e,t),{method:"POST",credentials:"include",body:JSON.stringify({response_type:"token",grant_type:"cookie",client_id:e.clientId,organization_id:e.organizationId,redirect_uri:(n=window.location+"",r=n.match(O),(r&&r[0])+window.location.pathname)})}).then(function(e){return e.json()}).then(function(t){return function(e,t){if("identity_exception"in e)throw P({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw P({code:"SSO_OAUTH_EXCEPTION",message:e.oauth_exception});return{accessToken:e.access_token,entityId:e.entity_id,expiresIn:1e3*e.expires_in,tokenType:e.token_type,creationDate:Date.now(),organizationId:t}}(t,e.organizationId)});var n,r},A=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},k=function(e,t){A(e);var n=e.env,r=n&&["labs","staging"].includes(n)?n:"production",o=u(t),a=""+(e.tokenStoragePrefix||"@@lc_auth_token:")+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,s=o.getItem(a).then(function(e){null!==s&&(s=null,e&&(c=JSON.parse(e)))}),d=function(){return i=R(e,r).then(function(e){return i=null,o.setItem(a,JSON.stringify(e)),c=e,e},function(e){throw i=null,e})},p=function(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):s?s.then(p):d())},l=function(){return s?s.then(l):Promise.resolve(!!c)};return{getFreshToken:d,getToken:p,hasToken:l,invalidate:function(){return c=null,s=null,o.removeItem(a)}}};var D=["all"],x=function(){var e,r={all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get("*"))&&r.slice().map(function(e){e(t,n)})}},o=r.all,a=n(r,D);return t({},a,{off:function(e,t){e?a.off(e,t):o.clear()},once:function(e,t){a.on(e,function n(r,o){a.off(e,n),t(r,o)})}})},U="file",j="form",L="filled_form",M="message",q="rich_message",G="system_message",F="custom",H=Object.freeze({__proto__:null,FILE:U,FORM:j,FILLED_FORM:L,MESSAGE:M,RICH_MESSAGE:q,SYSTEM_MESSAGE:G,CUSTOM:F}),z=["groupId"],V=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||l(t)||(n.properties=e.properties),n},Y=function(e){switch(e.type){case M:var r=t({},V(e),{type:e.type,text:e.text});return e.postback&&(r.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),r;case U:return t({},V(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case L:return t({},V(e),{type:e.type,form_id:e.formId},e.formType&&{form_type:e.formType},{fields:e.fields.map(function(e){if("group_chooser"===e.type){if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,z),{group_id:o})})}return e})});case G:var o=t({},V(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case F:var a=t({},V(e),{type:e.type});return e.content&&(a.content=e.content),a}},B=function(e){var t=e.active,n=e.chat,r=e.welcomeMessageId,o=e.continuous,a={active:void 0===t||t,chat:{}};if("boolean"==typeof o&&(a.continuous=o),r&&"string"==typeof r&&(a.welcome_message_id=r),!n)return a;var i=n.access,c=n.thread,u=n.properties;return i&&i.groupIds&&(a.chat.access={group_ids:i.groupIds}),u&&(a.chat.properties=u),c&&(a.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(Y)),r&&(t.properties=r),t}(c)),a},J=function(e){return E(e).map(function(e){var t;return(t={})[e[0]]=e[1],t})},K=function(e){var t=I(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=J(e.sessionFields)),"boolean"==typeof e.nameIsDefault&&(t.name_is_default=e.nameIsDefault),t},X="change_region",W="check_goals",Q="destroy",Z="fail_all_requests",$="login_success",ee="pause_connection",te="prefetch_token",ne="push_received",re="push_response_received",oe="reconnect",ae="request_failed",ie="response_received",ce="send_request",ue="set_chat_active",se="set_self_id",de="socket_connected",pe="socket_disconnected",le="socket_recovered",fe="socket_unstable",_e="start_connection",he="update_customer_page",ve="clear_sensitive_session_state",ye="identity_changed",ge="accept_greeting",me="cancel_greeting",Ie="delete_chat_properties",Ee="delete_event_properties",Te="delete_thread_properties",be="get_chat",Oe="get_customer",Se="get_form",Ne="get_url_info",Ce="list_chats",we="list_group_statuses",Pe="list_threads",Re="login",Ae="mark_events_as_seen",ke="request_welcome_message",De="resume_chat",xe="send_event",Ue="send_greeting_button_clicked",je="send_rich_message_postback",Le="send_sneak_peek",Me="set_customer_session_fields",qe="start_chat",Ge="update_chat_properties",Fe="update_customer",He="update_customer_page",ze="update_event_properties",Ve="update_thread_properties",Ye=function(e){return{type:Q,payload:{reason:e}}},Be=function(e){return{type:ee,payload:{reason:e}}},Je=function(e){return void 0===e&&(e=!1),{type:te,payload:{fresh:e}}},Ke=function(e){return{type:oe,payload:{delay:e}}},Xe=function(e,n,r){return{type:ce,payload:t({request:{action:e,payload:n}},r&&{source:r})}},We=function(e,t){return{type:ue,payload:{id:e,active:t}}},Qe=function(e){return{type:se,payload:{id:e}}},Ze="CONNECTION_LOST",$e="MISDIRECTED_CONNECTION",et="MISSING_CHAT_THREAD",tt="SDK_DESTROYED",nt="connected",rt="destroyed",ot="disconnected",at="paused",it="reconnecting",ct=Object.freeze({__proto__:null,CONNECTED:nt,DESTROYED:rt,DISCONNECTED:ot,PAUSED:at,RECONNECTING:it}),ut="access_token_expired",st="customer_banned",dt="customer_temporarily_blocked",pt="license_expired",lt="license_not_found",ft="misdirected_connection",_t="product_version_changed",ht="service_temporarily_unavailable",vt="too_many_connections",yt="too_many_unauthorized_connections",gt="unsupported_version",mt="logged_out_remotely",It=Object.freeze({__proto__:null,ACCESS_TOKEN_EXPIRED:ut,CONNECTION_TIMEOUT:"connection_timeout",CUSTOMER_BANNED:st,CUSTOMER_TEMPORARILY_BLOCKED:dt,INACTIVITY_TIMEOUT:"inactivity_timeout",INTERNAL_ERROR:"internal_error",LICENSE_EXPIRED:pt,LICENSE_NOT_FOUND:lt,MISDIRECTED_CONNECTION:ft,PRODUCT_VERSION_CHANGED:_t,SERVICE_TEMPORARILY_UNAVAILABLE:ht,TOO_MANY_CONNECTIONS:vt,TOO_MANY_UNAUTHORIZED_CONNECTIONS:yt,UNSUPPORTED_VERSION:gt,LOGGED_OUT_REMOTELY:mt}),Et="AUTHENTICATION",Tt="CUSTOMER_BANNED",bt="USERS_LIMIT_REACHED",Ot="WRONG_PRODUCT_VERSION",St=Object.freeze({__proto__:null,AUTHENTICATION:Et,AUTHORIZATION:"AUTHORIZATION",CHAT_ALREADY_ACTIVE:"CHAT_ALREADY_ACTIVE",CHAT_LIMIT_REACHED:"CHAT_LIMIT_REACHED",CUSTOMER_BANNED:Tt,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",MISDIRECTED_REQUEST:"MISDIRECTED_REQUEST",PENDING_REQUESTS_LIMIT_REACHED:"PENDING_REQUESTS_LIMIT_REACHED",REQUEST_TIMEOUT:"REQUEST_TIMEOUT",SERVICE_UNAVAILABLE:"SERVICE_UNAVAILABLE",UNSUPPORTED_VERSION:"UNSUPPORTED_VERSION",USERS_LIMIT_REACHED:bt,VALIDATION:"VALIDATION",WRONG_PRODUCT_VERSION:Ot}),Nt="chat_deactivated",Ct="chat_properties_deleted",wt="chat_properties_updated",Pt="chat_transferred",Rt="customer_disconnected",At="customer_side_storage_updated",kt="customer_updated",Dt="event_properties_deleted",xt="event_properties_updated",Ut="event_updated",jt="events_marked_as_seen",Lt="greeting_accepted",Mt="greeting_canceled",qt="groups_status_updated",Gt="incoming_chat",Ft="incoming_event",Ht="incoming_greeting",zt="incoming_multicast",Vt="incoming_rich_message_postback",Yt="incoming_typing_indicator",Bt="incoming_welcome_message",Jt="queue_position_updated",Kt="thread_properties_deleted",Xt="thread_properties_updated",Wt="user_added_to_chat",Qt="user_removed_from_chat",Zt="incoming_thinking_indicator",$t="incoming_event_preview",en=Object.freeze({__proto__:null,CHAT_DEACTIVATED:Nt,CHAT_PROPERTIES_DELETED:Ct,CHAT_PROPERTIES_UPDATED:wt,CHAT_TRANSFERRED:Pt,CUSTOMER_DISCONNECTED:Rt,CUSTOMER_SIDE_STORAGE_UPDATED:At,CUSTOMER_UPDATED:kt,EVENT_PROPERTIES_DELETED:Dt,EVENT_PROPERTIES_UPDATED:xt,EVENT_UPDATED:Ut,EVENTS_MARKED_AS_SEEN:jt,GREETING_ACCEPTED:Lt,GREETING_CANCELED:Mt,GROUPS_STATUS_UPDATED:qt,INCOMING_CHAT:Gt,INCOMING_EVENT:Ft,INCOMING_GREETING:Ht,INCOMING_MULTICAST:zt,INCOMING_RICH_MESSAGE_POSTBACK:Vt,INCOMING_TYPING_INDICATOR:Yt,INCOMING_WELCOME_MESSAGE:Bt,QUEUE_POSITION_UPDATED:Jt,THREAD_PROPERTIES_DELETED:Kt,THREAD_PROPERTIES_UPDATED:Xt,USER_ADDED_TO_CHAT:Wt,USER_REMOVED_FROM_CHAT:Qt,INCOMING_THINKING_INDICATOR:Zt,INCOMING_EVENT_PREVIEW:$t}),tn=Object.freeze({__proto__:null,ASC:"asc",DESC:"desc"}),nn="agent",rn="customer",on=Object.freeze({__proto__:null,AGENT:nn,CUSTOMER:rn});function an(e){var t=e.code,n=Error(e.message);return n.code=t,n}var cn=function(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()),un=function(){return Math.random().toString(36).substring(7).split("").join(".")},sn={INIT:"@@redux/INIT"+un(),REPLACE:"@@redux/REPLACE"+un(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+un()}};function dn(e,t,n){var r;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw Error("Expected the enhancer to be a function.");return n(dn)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,u=!1;function s(){c===i&&(c=i.slice())}function d(){if(u)throw Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return a}function p(e){if("function"!=typeof e)throw Error("Expected the listener to be a function.");if(u)throw Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return s(),c.push(e),function(){if(t){if(u)throw Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,s();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!function(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e))throw Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw Error("Reducers may not dispatch actions.");try{u=!0,a=o(a,e)}finally{u=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}return l({type:sn.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:function(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:sn.REPLACE})}})[cn]=function(){var e,t=p;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(d())}return n(),{unsubscribe:t(n)}}})[cn]=function(){return this},e},r}function pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ln(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n}function fn(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function _n(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map(function(e){return e(o)});return function(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(n,!0).forEach(function(t){pn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n,{dispatch:r=fn.apply(void 0,a)(n.dispatch)})}}}var hn=function(e){var t=e.min,n=void 0===t?1e3:t,r=e.max,o=void 0===r?5e3:r,a=e.jitter,i=void 0===a?.5:a,c=0;return{duration:function(){var e=n*Math.pow(2,c++);if(i){var t=Math.random(),r=Math.floor(t*i*e);e=1&Math.floor(10*t)?e+r:e-r}return 0|Math.min(e,o)},reset:function(){c=0}}};function vn(){var e={};return e.promise=new Promise(function(t,n){e.resolve=t,e.reject=n}),e}var yn=function(e){return e.connection.status},gn=function(e,t){return e.requests[t]},mn=function(e){return e.users.self.id},In=function(e,t){var n=e.chats[t];return!!n&&n.active},En=function(e){return yn(e)===nt},Tn=function(e){var t;return{"x-region":null!=(t=e.region)?t:""}},bn=function(e){return function(e){return"https://api"+function(e){var t=e.env;return"production"===t?"":"."+t}(e)+".livechatinc.com"}(e)+"/v3.6/customer"},On=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},Sn=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},Nn=function(e){var n,r,o;return r=e,(n={})[X]=function(e,n){return t({},e,{region:n.region})},n[Q]=function(e){return Sn(rt,e)},n[$]=function(e){return Sn(nt,e)},n[ee]=function(e){return Sn(at,e)},n[ae]=On,n[ie]=On,n[re]=On,n[ce]=function(e,n){var r,o=n.id;return t({},e,{requests:t({},e.requests,(r={},r[o]={id:o,promise:n.promise,resolve:n.resolve,reject:n.reject,request:n.request},r))})},n[ue]=function(e,n){var r,o=n.id;return t({},e,{chats:t({},e.chats,(r={},r[o]=t({},e.chats[o],{active:n.active}),r))})},n[se]=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n[pe]=function(e){var n=yn(e);return t({},Sn(n===ot?ot:it,e),{requests:{}})},n[he]=function(e,n){return t({},e,{page:t({},e.page,n)})},n[ve]=function(e){return t({},e,{chats:{},users:{self:{id:null,type:rn},others:{}},requests:{}})},n[ye]=function(e){return e},(o=n)[void 0]&&console.warn("Reducer contains an 'undefined' action type.\nHave you misspelled a constant?"),function(e,t){return void 0===e&&(e=r),d(t.type,o)?o[t.type](e,t.payload):e}};function Cn(e){var n=h,r=function(){var e=[],t=function(t){return function(n){return function(r){var o=n(r);return e.forEach(function(e){e(r,t)}),o}}};return t.add=function(t){e.push(t)},t}(),o=dn(Nn(function(e){var n=e.application,r=e.organizationId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,u=void 0===c?null:c,s=e.region,d=void 0===s?null:s,p=e.referrer,l=void 0===p?null:p,f=e.tabId,_=void 0===f?null:f,h=e.uniqueGroups,v=void 0!==h&&h,y=e.mobile,g=void 0!==y&&y;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"5.0.1"}),organizationId:r,env:i,groupId:a,chats:{},connection:{status:ot},page:u,region:d,referrer:l,tabId:_,requests:{},users:{self:{id:null,type:rn},others:{}},uniqueGroups:v,mobile:g}}(e)),n(_n(r)));return o.addSideEffectsHandler=r.add,o}var wn=function(e){var t=e.organizationId,n=e.eventName;if("production"!==e.env)return Promise.resolve();var r={organizationId:t,event_id:"chat_widget_customer_sdk",message:JSON.stringify({event_name:n,severity:"Informational",sdkVersion:"5.0.1"})};return function(e,t){return new Promise(function(n){var r=new Image;r.src=e+"?"+t,r.onerror=y,r.onload=function(){return n()}})}("https://applog.livechatinc.com/logs",b(r))},Pn=function(e,t){t.payload.id=v(e.getState().requests);var n=vn(),r=n.resolve,o=n.reject,a=n.promise;return t.payload.promise=a,t.payload.resolve=r,t.payload.reject=o,e.dispatch(t),a},Rn=Object.freeze({success:!0}),An=["group_id"],kn=function(e,t){var n={id:t.id,authorId:t.author_id,createdAt:t.created_at,threadId:e,properties:t.properties||{}};return void 0!==t.custom_id&&(n.customId=t.custom_id),n},Dn=function(e,t){var n,r,o,a,i;t.height>t.width?(r="height",o="width",a=t.height,i=t.width):(r="width",o="height",a=t.width,i=t.height);var c=e/a;return(n={})[r]=Math.ceil(Math.min(a,e)),n[o]=Math.ceil(Math.min(c*i,i)),n},xn=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},kn(e,n),{type:U,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},Dn(300,n)),high:t({url:n.thumbnail2x_url},Dn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},kn(e,n),{type:U,contentType:n.content_type,url:n.url,name:n.name})},Un=function(e,r){return t({},kn(e,r),{type:L,formId:r.form_id},r.form_type&&{formType:r.form_type},{fields:r.fields.map(function(e){if("group_chooser"===e.type){if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,An),{groupId:o})})}return e})})},jn=function(e,n){return t({},kn(e,n),{type:M,text:n.text})},Ln=function(e,n){return t({},kn(e,n),{type:F},n.content&&{content:n.content})},Mn=function(e){var n={};if("string"==typeof e.title&&(n.title=e.title),"string"==typeof e.subtitle&&(n.subtitle=e.subtitle),e.image){var r=e.image;n.image=t({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.ecommerce&&(n.ecommerce=t({productId:e.ecommerce.product_id,viewType:e.ecommerce.view_type},"string"==typeof e.ecommerce.label&&{label:e.ecommerce.label},Array.isArray(e.ecommerce.options)&&{options:e.ecommerce.options.map(function(e){return t({label:e.label,optionId:e.option_id},void 0!==e.price&&{price:e.price},void 0!==e.regular_price&&{regularPrice:e.regular_price},void 0!==e.max_price&&{maxPrice:e.max_price},void 0!==e.currency&&{currency:e.currency},"string"==typeof e.color&&{color:e.color},e.image_url&&t({imageUrl:e.image_url},"string"==typeof e.image_thumbnail_url&&{imageThumbnailUrl:e.image_thumbnail_url}),"boolean"==typeof e.available&&{available:e.available},"boolean"==typeof e.selected&&{selected:e.selected})})},Array.isArray(e.ecommerce.addons)&&{addons:e.ecommerce.addons.map(function(e){return"price_range"===e.addon_type?t({addonType:e.addon_type},void 0!==e.range_from&&{rangeFrom:e.range_from},void 0!==e.range_to&&{rangeTo:e.range_to},"string"==typeof e.currency&&{currency:e.currency}):{addonType:e.addon_type}})})),e.buttons&&(n.buttons=e.buttons.map(function(e){switch(e.type){case"message":case"add_to_cart":case"show_gallery":case"copy":case"phone":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});case"cancel":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});case"url":var n=t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});return e.target&&(n.target=e.target),n;case"open_external":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id},e.target&&{target:e.target});case"webview":return t({type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"},e.button_id&&{buttonId:e.button_id});default:return t({text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"},e.button_id&&{buttonId:e.button_id})}})),n},qn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":case"ecommerce":return t({},kn(e,n),{type:q,template:n.template_id,elements:n.elements.map(Mn)});default:return null}},Gn=function(e,n){var r=t({},kn(e,t({},n,{author_id:"system"})),{type:G,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Fn=function(e,n){switch(n.type){case U:return xn(e,n);case j:return function(e,n){return t({},kn(e,n),{authorId:"system",type:j,formId:n.form_id},n.form_type&&{formType:n.form_type},{fields:n.fields})}(e,n);case L:return Un(e,n);case M:return jn(e,n);case q:return qn(e,n);case G:return Gn(e,n);case F:return Ln(e,n);default:return null}},Hn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,isExitIntent:e.is_exit_intent,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:Fn(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}}},zn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Vn=function(e){return _(function(e){return e.events_seen_up_to?e.events_seen_up_to:null},(t="id",e.reduce(function(e,n){return e[n[t]]=n,e},{})));var t},Yn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:zn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map(function(e){return Fn(t.id,e)}).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?Qn(t.queue):null}},Bn=function(e){return{id:e.id,access:zn(e.access),users:e.users.map(Zn),properties:e.properties||{},eventsSeenUpToMap:Vn(e.users)}},Jn=function(e){var t=I(["avatar","email","name"],e);return e.session_fields&&(t.sessionFields=e.session_fields.reduce(function(e,t){var n=Object.keys(t)[0];return e[n]=t[n],e},{})),t},Kn=function(e){var n=Jn(e);return t({id:e.id,type:rn},n,{sessionFields:n.sessionFields||{}})},Xn=function(e){var n=e.statistics;return t({},Kn(e),{statistics:{chatsCount:n.chats_count,threadsCount:n.threads_count,visitsCount:n.visits_count,pageViewsCount:n.page_views_count,greetingsShownCount:n.greetings_shown_count,greetingsAcceptedCount:n.greetings_accepted_count}})},Wn=function(e){return{position:e.position,waitTime:e.wait_time}},Qn=function(e){return t({},Wn(e),{queuedAt:e.queued_at})},Zn=function(e){return e.type===rn?t({},Kn(r=e),{present:r.present}):{id:(n=e).id,type:nn,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},$n=function(e){return"offline"===e?"offline":"online"},er=function(e){var t=e.getState();return"side_storage_"+t.organizationId+(t.uniqueGroups?":"+t.groupId:"")},tr=function(e,t){var n=u(t),r=er(e);return n.getItem(r).catch(y).then(function(e){return JSON.parse(e||"{}")}).catch(y)},nr=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:Z,payload:{rejects:Object.keys(r).map(function(e){return r[e].reject}),reason:t}})},rr=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:ae,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},or=function(e,t,n){var r=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);t>n;n++)r[n]=e[n];return r}(e).slice(0),o=!1,a=function(e){var i,c=r.shift();(i=function(){return c(e)},new Promise(function(e){e(i())})).then(function(e){o||(r.length?a(e):t(e))},function(e){o||n(e)})};return a(),{cancel:function(){o=!0}}},ar=function(e,t,n){return Pn(e,Xe(t,n,"login"))};function ir(e,n,r){var o,a,i=null,c={min:300,max:6e4,jitter:.3},s=hn(c),d=hn(t({},c,{min:1e3})),p=s,l=function(e){return o.dispatch(Ye(e))},f=function(){return o.dispatch(Ke(p.duration()))},_=function(){return Promise.all([e.getToken(),tr(o,r)])},h=function(e){var t=e[0],n=e[1],a=mn(o.getState());if(null===a)o.dispatch(Qe(t.entityId));else if(a!==t.entityId)return r&&function(e,t){u(t).removeItem(er(e)).catch(y)}(o,r),o.dispatch({type:ve}),o.dispatch(Qe(t.entityId)),o.dispatch({type:ye,payload:{previousId:a,newId:t.entityId}}),[t,{}];return[t,n]},v=function(e){var t,r=e[0],a=e[1],c=o.getState(),u=c.application,s=c.groupId,d=c.page,p=c.referrer,l=c.mobile,f=c.tabId,_={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof n?K(n()):{},customer_side_storage:a,is_mobile:l,application:m(["name","version"],u)};return"number"==typeof s&&(_.group_id=s),u.channelType&&(_.application.channel_type=u.channelType),null!==d&&(i=d,_.customer_page=d),null!==p&&(_.referrer=p),null!==f&&(_.tab_id=f),Promise.race([ar(o,Re,_),(t=15e3,new Promise(function(e){setTimeout(e,t)})).then(function(){return Promise.reject(an({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))})])};return{sendLogin:function(t){var n;o=t,null==(n=a)||n.cancel(),a=or([_,h,v],function(e){var t;a=null,s.reset(),d.reset(),p=s,t=o.getState().page,i!==t&&ar(o,He,t).catch(y),i=null,o.dispatch({type:$,payload:e})},function(t){switch(a=null,t.code){case Et:return e.getFreshToken(),void f();case Ze:case $e:case tt:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void f():void l(t.message);case bt:return void o.dispatch(Be(t.code.toLowerCase()));case Tt:case Ot:return void l(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return p=d,void f();default:return void f()}})},cancel:function(){var e;null==(e=a)||e.cancel()}}}var cr,ur=["present"],sr=["statistics"],dr=((cr={})[Ze]="Connection lost.",cr[$e]="Connected to wrong region.",cr),pr=function(e,t){var n=e.getState();switch(t.type){case re:case ne:switch(t.payload.action){case Nt:return void e.dispatch(We(t.payload.payload.chatId,!1));case Gt:return void e.dispatch(We(t.payload.payload.chat.id,!0));default:return}case ie:return t.payload.action===Ce?void t.payload.payload.chatsSummary.filter(function(e){var t=e.active;return In(n,e.id)!==t}).forEach(function(t){e.dispatch(We(t.id,t.active))}):void 0}},lr=function(e,t){t.forEach(function(t){if("present"in t){var r=n(t,ur);e("user_data",r)}else if(t.type!==rn)e("user_data",t);else{var o=n(t,sr);e("user_data",o)}})},fr=function(e,t,n){var r=e.emit,o=e.store,a=t.payload;switch(a.action){case Xt:return a.payload.properties.lc2&&"queue_pos"in a.payload.properties.lc2&&r(Jt,{chatId:a.payload.chatId,threadId:a.payload.threadId,queue:{position:a.payload.properties.lc2.queue_pos,waitTime:a.payload.properties.lc2.queue_waiting_time}}),void r("thread_properties_updated",a.payload);case At:return void function(e,t,n){u(n).setItem(er(e),JSON.stringify(t)).catch(y)}(o,a.payload.customer_side_storage,n);case Rt:switch(a.payload.reason){case ut:o.dispatch(Je(!0)),o.dispatch(Ke(100)),r("disconnected",a.payload);break;case st:case dt:case lt:case _t:case vt:case gt:case mt:o.dispatch(Ye(a.payload.reason));break;case ft:nr(o,$e),o.dispatch({type:X,payload:a.payload.data});break;case ht:case yt:nr(o,a.payload.reason.toUpperCase());break;default:o.dispatch(Ke(100)),r("disconnected",a.payload)}return;case qt:return void r("availability_updated",{availability:$n(a.payload.groups[0].status)});case Gt:return lr(r,a.payload.chat.users),void r(a.action,a.payload);case Ft:if(null===a.payload.event)return;return void r(a.action,a.payload);case Yt:case Zt:case $t:return void r(a.action,a.payload);case Wt:return lr(r,[a.payload.user]),void r(a.action,a.payload);default:return void r(a.action,a.payload)}},_r=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case Nt:return void r.resolve(Rn);case be:return lr(n,r.payload.users),void r.resolve(r.payload);case Gt:return lr(n,r.payload.chat.users),void r.resolve(r.payload);case Ft:return void r.resolve(r.payload.event);case Ce:return lr(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},hr=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=e.parentStorage,i=r.emit,c=ir(n,e.customerDataProvider,a);return function(e,u){switch(e.type){case X:return void o.reinitialize();case W:return void function(e,n,r){return n.getToken().then(function(n){var o=e.getState();null===mn(o)&&e.dispatch(Qe(n.entityId));var a=o.page;if(a&&a.url){var i=b(t({organization_id:o.organizationId},Tn(o))),c={session_fields:J(r||{}),group_id:o.groupId||0,page_url:a.url};return C(bn(o)+"/action/check_goals?"+i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:n.tokenType+" "+n.accessToken},body:JSON.stringify(c)}).then(function(){})}})}(u,n,e.payload.sessionFields).catch(y);case Q:var s=e.payload;switch(c.cancel(),o.destroy(),s.reason){case"manual":nr(u,tt);break;case st:case pt:case _t:case mt:nr(u,Ze),i("disconnected",s);break;default:i("disconnected",s)}return void r.off();case Z:var d=e.payload,p=d.reason,l={message:dr[p],code:p};return void d.rejects.forEach(function(e){e(an(l))});case $:var f=e.payload,_=f.dynamicConfig,h=f.chats,v=f.greeting,m=t({customer:f.customer,availability:f.availability},v&&{greeting:v});return Object.defineProperty(m,"__unsafeDynamicConfig",{value:_}),Object.defineProperty(m,"__unsafeChats",{value:h}),void i("connected",m);case ee:var I=e.payload;return o.disconnect(),void("manual"!==I.reason&&i("disconnected",I));case te:return e.payload.fresh?void n.getFreshToken().catch(y):void n.hasToken().then(function(e){return e?n.getToken().then(function(e){if(36e5>=e.creationDate+e.expiresIn-Date.now())return n.invalidate().then(n.getFreshToken)}):n.getToken()}).catch(y);case ne:return e.payload.action===Rt||pr(u,e),void fr({emit:i,store:u},e,a);case re:return pr(u,e),void _r({emit:i},e);case oe:return nr(u,Ze),void o.reconnect(e.payload.delay);case ae:var E=e.payload;return void(0,E.reject)(an(E.error));case ie:return pr(u,e),void _r({emit:i},e);case ce:var T=u.getState();return function(e){return yn(e)===rt}(T)?void rr(u,e,{code:tt,message:"SDK destroyed."}):En(T)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);if(o.action!==Re)e.emit(o);else{var a={3.6:g(en).filter(function(e){return e!==Rt})};e.emit(t({},o,{version:"3.6",payload:t({},o.payload,{pushes:a})}))}}(o,e):void rr(u,e,{code:"NO_CONNECTION",message:"No connection."});case se:return void i("customer_id",e.payload.id);case pe:return void i("disconnected",{reason:"connection_lost"});case de:return void c.sendLogin(u);case le:if(!En(u.getState()))return;return void i("connection_recovered");case fe:if(!En(u.getState()))return;return void i("connection_unstable");case _e:return o.connect(),void u.dispatch(Je());case he:if(!En(u.getState()))return;return void Pn(u,Xe(He,e.payload)).then(function(e){var t;if(null!=e&&null!=(t=e.groups)&&t.length){var n=$n(e.groups[0].status);i("availability_updated",{availability:n})}}).catch(y);case ye:return void i("identity_changed",e.payload);default:return}}},vr=function(e,t){var n,r=(void 0===t?{}:t).query,o=b(void 0===r?{}:r),a=o?e+"?"+o:e,i=x(),c=hn({min:1e3,max:5e3,jitter:.5}),u=3,s=null,d=function(){u=1,c.reset(),i.emit("connect")},p=function(){f(),h(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),u=3,s)&&((e=s).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),s.close(),s=null)},_=function(){var e;u=0,s=new WebSocket(a),(e=s).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},h=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(_,e):_()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){if(3!==u)throw Error("Socket is already open or connecting.");clearTimeout(n),_()}),destroy:function(){i.off(),f()},disconnect:f,reconnect:h,emit:function(e){if(1!==u)throw Error("Socket is not connected.");s.send(e)},getReadyState:function(){return u},on:i.on,off:i.off}},yr=function(e,n){var r,o,a,i,c=void 0===n?{}:n,u=c.query,s=void 0===u?{}:u,d=c.emitter,p=void 0===d?x():d,l=vr(e,{query:s}),f=(o=y,{cancel:function(){clearTimeout(r),o=y},check:function(){var e=vn();return o=e.resolve,r=setTimeout(function(){var t=Error("Timeout.");t.code="TIMEOUT",e.reject(t)},2e3),e.promise},resolve:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){clearTimeout(r),o()})}),_=function(){return 1===l.getReadyState()},h=function(){f.cancel()};return a=l,i=p,["connect","disconnect"].forEach(function(e){a.on(e,function(t){i.emit(e,t)})}),l.on("disconnect",h),l.on("message",function(e){f.resolve();var t=JSON.parse(e);p.emit("message",t)}),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",function(){_()&&f.check().then(function(){f.cancel(),p.emit("connection_recovered")},function(e){if(f.cancel(),"TIMEOUT"!==e.code)throw e;l.reconnect()})}),window.addEventListener("offline",function(){f.cancel(),_()&&p.emit("connection_unstable")})),t({},l,{destroy:function(){h(),l.destroy()},disconnect:function(){h(),l.disconnect()},reconnect:function(e){h(),l.reconnect(e)},emit:function(e){l.emit(JSON.stringify(e))},on:p.on,off:p.off})},gr=function(e,n){var r=e.getState(),o=(bn(r)+"/rtm/ws").replace(/^https/,"wss");return yr(o,{query:t({organization_id:r.organizationId},Tn(r)),emitter:n})},mr=["group_id"],Ir=["comment_label"],Er=function(e){return{chatId:e.chat_id,properties:e.properties}},Tr=function(e){var n={chatId:e.chat_id,threadId:e.thread_id,transferredTo:t({},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?Qn(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},br=function(e){return t({id:e.id},Jn(e))},Or=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Sr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Nr=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Fn(t,e.event)}},Cr=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},wr=function(e){return{uniqueId:e.unique_id}},Pr=function(e){var n=e.chat;return{chat:t({},Bn(n),{thread:Yn(n.id,n.thread)})}},Rr=function(e){return{chatId:e.chat_id,event:Fn(e.thread_id,e.event)}},Ar=function(e){return Hn(e)},kr=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},Dr=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},xr=function(e){var n=e.custom_id,r=e.title,o=e.description;return t({chatId:e.chat_id,threadId:e.thread_id,authorId:e.author_id,sentAt:e.sent_at},n&&{customId:n},r&&{title:r},o&&{description:o})},Ur=function(e){return{chatId:e.chat_id,threadId:e.thread_id,event:Fn(e.thread_id,e.event)}},jr=function(e){return{id:e.id,event:Fn(null,e.event)}},Lr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:Wn(e.queue)}},Mr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},qr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},Gr=function(e){return{chatId:e.chat_id,user:Zn(e.user),present:e.user.present}},Fr=function(e){return{chatId:e.chat_id,userId:e.user_id,reason:e.reason}},Hr=function(e){return e.map(function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map(function(e){var r=e.group_id;return t({},n(e,mr),{groupId:r})})});case"rating":var r=e.comment_label;return t({},n(e,Ir),{commentLabel:r});default:return e}})},zr=function(e){var n,r;return{id:e.id,fields:!("id"in e.fields[0])?(n=e.fields,r=n.map(function(e,n){return t({},e,{id:n+""})}),Hr(r)):Hr(e.fields)}},Vr=function(e){return e.enabled?t({},e,{form:zr(e.form)}):e},Yr=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://"+e.image_url.replace(N,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},Br=function(e){var t=e.predicted_agent;return{id:e.id,predictedAgent:{id:t.id,type:t.type,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot,botType:t.bot_type},queue:e.queue}},Jr=function(e){var t,n,r,o,a,i,c=e.chats_summary.map(function(e){var t=e.last_thread_created_at,n=e.last_thread_id,r=e.last_event_per_type,o=e.properties,a=void 0===o?{}:o,i=e.users,c={id:e.id,active:e.active,access:zn(e.access),properties:a,users:i.map(Zn),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Vn(i)};if(!r)return c;c.lastEventsPerType=_(function(e){return Fn(e.thread_id,e.event)},r);var u,s=r,d=Object.keys(s).map(function(e){return s[e]}),p=(u=d.sort(function(e,t){return e.thread_id===t.thread_id?T(e.event.created_at,t.event.created_at):T(e.thread_created_at,t.thread_created_at)})).length>0?u[u.length-1]:void 0;return p&&c.lastEventsPerType&&(c.lastEvent=c.lastEventsPerType[p.event.type]),c});return{chatsSummary:(o=function(e){var t,n=e.lastEvent;return-1*(null!=(t=void 0!==n?n.timestamp:e.order)?t:0)},a=c,i="function"==typeof o?o:function(e){return function(e,t){for(var n="string"==typeof e?e.split("."):e,r=0,o=t;o&&n.length>r;)o=o[n[r++]];return o}(o,e)},(l(a)?[].concat(a):g(a)).sort(function(e,t){return i(e)-i(t)})),totalChats:e.total_chats,users:(t=function(e){return e.id},n=p(function(e){return e.users},c),r=[],n.filter(function(e){var n=t(e);return-1===r.indexOf(n)&&(r.push(n),!0)})),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},Kr=function(e){return e.groups_status},Xr=function(e,t){return{threads:t.threads.map(function(t){return Yn(e.payload.chat_id,t)}),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},Wr=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:Xn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&-1!==r.indexOf(n.customer_groups.monitoring.id)?"online":"offline"),chats:a.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}})},i&&{greeting:Hn(i)})},Qr=function(e){switch(e.action){case Nt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case Ct:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case wt:return{action:e.action,payload:Er(e.payload)};case Pt:return{action:e.action,payload:Tr(e.payload)};case At:case Rt:return{action:e.action,payload:e.payload};case kt:return{action:e.action,payload:br(e.payload)};case Dt:return{action:e.action,payload:Or(e.payload)};case xt:return{action:e.action,payload:Sr(e.payload)};case Ut:return{action:e.action,payload:Nr(e.payload)};case jt:return{action:e.action,payload:Cr(e.payload)};case Lt:case Mt:return{action:e.action,payload:wr(e.payload)};case qt:return{action:e.action,payload:e.payload};case Gt:return{action:e.action,payload:Pr(e.payload)};case Ft:return{action:e.action,payload:Rr(e.payload)};case Ht:return{action:e.action,payload:Ar(e.payload)};case zt:return{action:e.action,payload:e.payload};case Vt:return{action:e.action,payload:kr(e.payload)};case Yt:return{action:e.action,payload:Dr(e.payload)};case Zt:return{action:e.action,payload:xr(e.payload)};case $t:return{action:e.action,payload:Ur(e.payload)};case Bt:return{action:e.action,payload:jr(e.payload)};case Jt:return{action:e.action,payload:Lr(e.payload)};case Kt:return{action:e.action,payload:Mr(e.payload)};case Xt:return{action:e.action,payload:qr(e.payload)};case Wt:return{action:e.action,payload:Gr(e.payload)};case Qt:return{action:e.action,payload:Fr(e.payload)}}var t},Zr=function(e,n){var r=e.dispatch,o=n.request_id,a=gn((0,e.getState)(),o),i=a.promise,c=a.resolve,u=function(e){var n,r,o=e.request,a=e.response;switch(a.action){case ge:case me:case Ie:case Ee:case Te:return{action:a.action,payload:Rn};case be:return{action:a.action,payload:(r=a.payload,t({},Bn(r),{thread:r.thread?Yn(r.id,r.thread):null}))};case Oe:return{action:a.action,payload:Xn(a.payload)};case Se:return{action:a.action,payload:Vr(a.payload)};case Ne:return{action:a.action,payload:Yr(a.payload)};case Ce:return{action:a.action,payload:Jr(a.payload)};case we:return{action:a.action,payload:Kr(a.payload)};case Pe:return{action:a.action,payload:Xr(o,a.payload)};case Re:return{action:a.action,payload:Wr(a.payload)};case Ae:return{action:a.action,payload:Rn};case ke:return{action:a.action,payload:Br(a.payload)};case Le:case Me:case Ue:case je:case Ge:case Fe:return{action:a.action,payload:Rn};case He:return{action:a.action,payload:t({},Rn,{groups:null==(n=a.payload)?void 0:n.groups})};case ze:case Ve:return{action:a.action,payload:Rn}}}({request:a.request,response:n});r({type:ie,payload:t({id:o,promise:i,resolve:c},u)})},$r=function(e,n){var r=e.dispatch;return n.on("connect",function(){r({type:de})}),n.on("message",function(n){if("response"===n.type){if(!n.success)return void function(e,t){var n,r=e.dispatch,o=t.request_id,a=t.payload,i=gn((0,e.getState)(),o);r({type:ae,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case De:case xe:case qe:return;default:return void Zr(e,n)}}if("request_id"in n)switch(n.action){case Gt:case Ft:return void function(e,n){var r=e.dispatch,o=n.request_id,a=gn((0,e.getState)(),o),i=a.promise,c=a.resolve,u=Qr(n);r({type:re,payload:t({id:o,promise:i,resolve:c},u)})}(e,n)}!function(e,t){var n=Qr(t);n&&e.dispatch({type:ne,payload:n})}(e,n)}),n.on("disconnect",function(){nr(e,Ze),yn(e.getState())===nt&&e.dispatch({type:pe})}),n.on("connection_unstable",function(){r({type:fe})}),n.on("connection_recovered",function(){r({type:le})}),n.off},eo="UPLOAD_FAILED",to=function(e,t,n){var r=void 0===n?{}:n,o=r.headers,a=r.method,i=void 0===a?"POST":a,c=r.onProgress,u=r.withCredentials,s=void 0!==u&&u,d=new XMLHttpRequest;return{promise:new Promise(function(n,r){var a,u;"function"==typeof c&&(d.upload.onprogress=function(e){c(e.loaded/e.total)}),d.onload=function(){var e;try{e=JSON.parse(d.response)}catch(t){e=d.response}if(200>d.status||d.status>=300){var t=Error("Upload failed.");t.code=eo,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=eo,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=s,o&&Object.keys(o).forEach(function(e){return d.setRequestHeader(e,o[e])}),d.send((a=t,u=new FormData,Object.keys(a).forEach(function(e){return u.append(e,a[e])}),u))}),cancel:function(){d.abort()}}},no=1048576,ro=10485760,oo=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(no>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},ao=function(e,n){var r,o=e.auth,a=e.store,i=n.file,c=n.onProgress,u=!1;return{promise:new Promise(function(e,n){!function(e){if(e.size>ro)throw an({message:"The file is too big (max size is "+oo(ro)+").",code:"TOO_BIG_FILE"})}(i);var s=a.getState(),d=b(t({organization_id:s.organizationId},Tn(s))),p=bn(s)+"/action/upload_file?"+d,l={file:i};o.getToken().then(function(t){u?n(Error("Upload cancelled.")):(r=to(p,l,{headers:{Authorization:t.tokenType+" "+t.accessToken},onProgress:c})).promise.then(e,function(e){if(e.response){var t=e.response.error;n(an({message:t.message,code:t.type.toUpperCase()}))}else n(e)})})}),cancel:function(){u||(u=!0,r&&r.cancel())}}},io=["on","once","off","getChatHistory","auth"],co="LISTENER_IDENTITY",uo={},so=function(e,t){void 0===t&&(t="");var n=Object.keys(e);return n.map(function(n){var r=e[n];return function(){for(var e,o=arguments.length,a=Array(o),i=0;o>i;i++)a[i]=arguments[i];(e=console).info.apply(e,[t+"."+n+"() ===>"].concat(a));var c=r.apply(void 0,a);return"function"==typeof(null==c?void 0:c.then)?c.then(function(e){return console.info(t+"."+n+"() <===",e),e},function(e){throw console.error(t+"."+n+"() <===",e),e}):c}}).reduce(function(e,t,r){return e[n[r]]=t,e},{})},po=function(e,t,n){if(void 0===n[co]&&Object.defineProperty(n,co,{value:{}}),n[co][t])return uo[n[co][t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=v(uo);return n[co][t]=o,uo[o]=r,r},lo=["autoConnect","customerDataProvider","identityProvider","parentStorage","env"];e.connectionStatuses=ct,e.debug=function(e){var r=e;console.warn("You probably do not want to use debug(customerSDK) in your production environment.");var o=r.on,a=r.once,i=r.off,c=r.getChatHistory,u=r.auth,s=n(r,io),d=so(s);return Object.freeze(t({auth:Object.freeze(so(u,".auth"))},d,{getChatHistory:function(){for(var e,t=arguments.length,n=Array(t),r=0;t>r;r++)n[r]=arguments[r];(e=console).info.apply(e,[".getChatHistory()"].concat(n));var o=c.apply(void 0,n),a="history.next()";return{next:function(){var e;return(e=console).info.apply(e,[a+" ===>"].concat(n)),o.next().then(function(e){var t;return(t=console).info.apply(t,[a+" <==="].concat(n,[e])),e},function(e){var t;throw(t=console).error.apply(t,[a+" <==="].concat(n,[e])),e})}}},off:function(e,t){console.info('.off("'+e+'", '+(t.name||"anonymous")+")");var n=t;void 0!==t[co]&&(n=uo[t[co][e]]);i(e,n)},on:function(e,t){o(e,po("on",e,t))},once:function(e,t){a(e,po("once",e,t))}}))},e.eventTypes=H,e.init=function(e){A(e);var r=e.autoConnect,o=void 0===r||r,a=e.customerDataProvider,i=e.identityProvider,c=e.parentStorage,u=e.env,s=n(e,lo),d=u&&["labs","staging"].includes(u)?u:"production",p=Cn(t({},s,{env:d})),l=x(),f=function(e){var n=x(),r=gr(e,n);return t({},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=gr(e,n)).connect()}})}(p),_="function"==typeof i,h=_?i():k(t({},s,{env:d}),c);p.addSideEffectsHandler(hr({emitter:l,socket:f,auth:h,customerDataProvider:a,parentStorage:c,hasCustomIdentityProvider:_})),$r(p,f);var v=Pn.bind(null,p),g=function(){p.dispatch({type:_e})},m=Object.freeze({acceptGreeting:function(e){return v(Xe(ge,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:h,cancelGreeting:function(e){return v(Xe(me,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return m.listThreads({chatId:t}).then(function(e){var n=e.threads;if(!n.length)throw an({message:'There is no thread in "'+t+'".',code:et});return m.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})})},connect:g,deactivateChat:function(e){return v(Xe("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return v(Xe(Ie,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return v(Xe(Ee,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return v(Xe(Te,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){p.dispatch(Ye("manual"))},disconnect:function(){p.dispatch(Be("manual"))},getChat:function(e){return v(Xe(be,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(o,a){switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then(function(e){var t=e.threads;n.nextPageId=e.nextPageId,n.nextPageId?(n.status="idle",o({value:{threads:[].concat(t).reverse()},done:!1})):(n.status="done",o({value:{threads:[].concat(t).reverse()},done:!0}));var a=n.queuedTasks.shift();a&&r(a.resolve,a.reject)},function(e){var t=n.queuedTasks;n.status="idle",n.queuedTasks=[],a(e),t.forEach(function(t){return t.reject(e)})});case"fetching":return void n.queuedTasks.push({resolve:o,reject:a});case"done":return void o({value:void 0,done:!0})}});return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}(function(){return new Promise(r)})}}(m,e.chatId)},getCustomer:function(){return v(Xe(Oe,{}))},getForm:function(e){return v(Xe(Se,{group_id:e.groupId,type:e.type}))},getUrlInfo:function(e){return v(Xe(Ne,{url:e.url}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(Error("Specified limit is too high (max 25).")):v(Xe(Ce,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return v(Xe(we,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return v(Xe(Pe,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){return v(Xe(Ae,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:l.on,once:l.once,off:l.off,rateChat:function(e){var t=e.chatId,n=e.rating;return m.listThreads({chatId:t}).then(function(e){var r=e.threads;if(!r.length)throw an({message:'There is no thread in "'+t+'".',code:et});return m.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})})},requestWelcomeMessage:function(e){var t=(void 0===e?{}:e).id;return v(Xe(ke,t?{id:t}:{}))},resumeChat:function(n){return wn({env:d,organizationId:e.organizationId,eventName:"chat_started"}),v(Xe(De,function(e){var n=B(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){return v(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:Y(e.event)};return t&&(n.attach_to_last_thread=!0),Xe(xe,n)}(e))},sendGreetingButtonClicked:function(e){return function(e,n){var r=e.store,o=n.greetingUniqueId,a=n.buttonId;return e.auth.getToken().then(function(e){var n=r.getState(),i=b(t({organization_id:n.organizationId},Tn(n))),c=bn(n)+"/action/"+Ue+"?"+i;return fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Authorization:e.tokenType+" "+e.accessToken},body:JSON.stringify({greeting_unique_id:o,button_id:a}),keepalive:!0}).then(y)})}({auth:h,store:p},e)},sendCustomerActions:function(e){return function(e,n){var r=e.store,o=n.actions;return e.auth.getToken().then(function(e){var n=r.getState(),a=b(t({organization_id:n.organizationId},Tn(n))),i=bn(n)+"/action/send_customer_actions?"+a;return fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:e.tokenType+" "+e.accessToken},body:JSON.stringify({actions:o}),keepalive:!0}).then(y)})}({auth:h,store:p},e)},sendRichMessagePostback:function(e){return v(Xe(je,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return v(Xe(Me,{session_fields:J(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=p.getState();In(r,t)&&En(r)&&v(Xe(Le,{chat_id:t,sneak_peek_text:n})).catch(y)},startChat:function(t){return void 0===t&&(t={}),wn({env:d,organizationId:e.organizationId,eventName:"chat_started"}),v(Xe(qe,B(t)))},updateChatProperties:function(e){return v(Xe(Ge,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return v(Xe(Fe,K(e)))},updateCustomerPage:function(e){p.dispatch({type:he,payload:I(["title","url"],e)})},updateEventProperties:function(e){return v(Xe(ze,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return v(Xe(Ve,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return ao({auth:h,store:p},e)}});return o?g():p.dispatch({type:W,payload:{sessionFields:"function"==typeof a?a().sessionFields:{}}}),m},e.parseCustomEvent=Ln,e.parseEvent=Fn,e.parseFile=xn,e.parseFilledForm=Un,e.parseForm=zr,e.parseGreeting=Hn,e.parseMessage=jn,e.parseRichMessage=qn,e.parseSystemMessage=Gn,e.serverDisconnectionReasons=It,e.serverErrorCodes=St,e.serverPushActions=en,e.sortOrders=tn,e.userTypes=on,Object.defineProperty(e,"__esModule",{value:!0})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livechat/customer-sdk",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "SDK for connecting to LiveChat as a customer",
5
5
  "contributors": [
6
6
  "Konrad Kruk <k.kruk@livechatinc.com>",
@@ -36,7 +36,7 @@
36
36
  "unfetch": "^4.2.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@babel/core": "7.28.5",
39
+ "@babel/core": "7.29.6",
40
40
  "@babel/preset-env": "7.28.5",
41
41
  "@babel/preset-typescript": "7.28.5",
42
42
  "@livechat/customer-api-fake": "*",
@@ -6,7 +6,20 @@ export declare const loginSuccess: (payload: Actions.LoginSuccessAction['payload
6
6
  export declare const pauseConnection: (reason: string) => Actions.PauseConnectionAction;
7
7
  export declare const prefetchToken: (fresh?: boolean) => Actions.PrefetchTokenAction;
8
8
  export declare const reconnect: (delay: number) => Actions.ReconnectAction;
9
- export declare const sendRequest: <A extends "update_customer_page" | "accept_greeting" | "cancel_greeting" | "deactivate_chat" | "delete_chat_properties" | "delete_event_properties" | "delete_thread_properties" | "get_chat" | "get_customer" | "get_form" | "get_url_info" | "list_chats" | "list_group_statuses" | "list_threads" | "login" | "mark_events_as_seen" | "request_welcome_message" | "resume_chat" | "send_event" | "send_greeting_button_clicked" | "send_rich_message_postback" | "send_sneak_peek" | "set_customer_session_fields" | "start_chat" | "update_chat_properties" | "update_customer" | "update_event_properties" | "update_thread_properties">(action: A, payload: (Extract<{
9
+ export declare const sendRequest: <A extends "resume_chat" | "send_event" | "start_chat" | "get_chat" | "get_form" | "get_url_info" | "request_welcome_message" | "list_chats" | "list_group_statuses" | "list_threads" | "login" | "accept_greeting" | "cancel_greeting" | "delete_chat_properties" | "delete_event_properties" | "delete_thread_properties" | "send_greeting_button_clicked" | "get_customer" | "mark_events_as_seen" | "send_rich_message_postback" | "send_sneak_peek" | "set_customer_session_fields" | "update_chat_properties" | "update_customer_page" | "update_customer" | "update_event_properties" | "update_thread_properties" | "deactivate_chat">(action: A, payload: (Extract<{
10
+ request_id: string;
11
+ version?: string | undefined;
12
+ action: "list_threads";
13
+ payload: {
14
+ chat_id: string;
15
+ sort_order?: "asc" | "desc" | undefined;
16
+ limit?: number | undefined;
17
+ page_id?: string | undefined;
18
+ min_events_count?: number | undefined;
19
+ };
20
+ }, {
21
+ action: A;
22
+ }> | Extract<{
10
23
  request_id: string;
11
24
  version?: string | undefined;
12
25
  action: "accept_greeting";
@@ -126,19 +139,6 @@ export declare const sendRequest: <A extends "update_customer_page" | "accept_gr
126
139
  };
127
140
  }, {
128
141
  action: A;
129
- }> | Extract<{
130
- request_id: string;
131
- version?: string | undefined;
132
- action: "list_threads";
133
- payload: {
134
- chat_id: string;
135
- sort_order?: "asc" | "desc" | undefined;
136
- limit?: number | undefined;
137
- page_id?: string | undefined;
138
- min_events_count?: number | undefined;
139
- };
140
- }, {
141
- action: A;
142
142
  }> | Extract<{
143
143
  request_id: string;
144
144
  version?: string | undefined;
package/types/index.d.ts CHANGED
@@ -198,11 +198,11 @@ export declare const init: (config: Config) => Readonly<{
198
198
  }): Promise<{
199
199
  id: string;
200
200
  predictedAgent: {
201
- type: "agent";
201
+ avatar: string;
202
202
  id: string;
203
203
  name: string;
204
- avatar: string;
205
204
  jobTitle: string;
205
+ type: "agent";
206
206
  isBot: boolean;
207
207
  } & {
208
208
  botType: "chatbot" | "ai_agent";
@@ -7,6 +7,17 @@ export declare const getAllRequests: (state: State) => Record<string, {
7
7
  resolve: (val: any) => void;
8
8
  reject: (err: any) => void;
9
9
  request: import("Object/Pick")._Pick<{
10
+ request_id: string;
11
+ version?: string | undefined;
12
+ action: "list_threads";
13
+ payload: {
14
+ chat_id: string;
15
+ sort_order?: "asc" | "desc" | undefined;
16
+ limit?: number | undefined;
17
+ page_id?: string | undefined;
18
+ min_events_count?: number | undefined;
19
+ };
20
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
10
21
  request_id: string;
11
22
  version?: string | undefined;
12
23
  action: "accept_greeting";
@@ -14,21 +25,21 @@ export declare const getAllRequests: (state: State) => Record<string, {
14
25
  greeting_id: number;
15
26
  unique_id: string;
16
27
  };
17
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
28
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
18
29
  request_id: string;
19
30
  version?: string | undefined;
20
31
  action: "cancel_greeting";
21
32
  payload: {
22
33
  unique_id: string;
23
34
  };
24
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
35
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
25
36
  request_id: string;
26
37
  version?: string | undefined;
27
38
  action: "deactivate_chat";
28
39
  payload: {
29
40
  id: string;
30
41
  };
31
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
42
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
32
43
  request_id: string;
33
44
  version?: string | undefined;
34
45
  action: "delete_chat_properties";
@@ -36,7 +47,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
36
47
  id: string;
37
48
  properties: Record<string, string[]>;
38
49
  };
39
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
50
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
40
51
  request_id: string;
41
52
  version?: string | undefined;
42
53
  action: "delete_event_properties";
@@ -46,7 +57,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
46
57
  event_id: string;
47
58
  properties: Record<string, string[]>;
48
59
  };
49
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
60
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
50
61
  request_id: string;
51
62
  version?: string | undefined;
52
63
  action: "delete_thread_properties";
@@ -55,7 +66,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
55
66
  thread_id: string;
56
67
  properties: Record<string, string[]>;
57
68
  };
58
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
69
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
59
70
  request_id: string;
60
71
  version?: string | undefined;
61
72
  action: "get_chat";
@@ -63,14 +74,14 @@ export declare const getAllRequests: (state: State) => Record<string, {
63
74
  chat_id: string;
64
75
  thread_id?: string | undefined;
65
76
  };
66
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
77
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
67
78
  request_id: string;
68
79
  version?: string | undefined;
69
80
  action: "get_customer";
70
81
  payload: {
71
82
  [x: string]: never;
72
83
  };
73
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
84
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
74
85
  request_id: string;
75
86
  version?: string | undefined;
76
87
  action: "get_form";
@@ -78,14 +89,14 @@ export declare const getAllRequests: (state: State) => Record<string, {
78
89
  type: import("./types/serverEntities").FormType;
79
90
  group_id: number;
80
91
  };
81
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
92
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
82
93
  request_id: string;
83
94
  version?: string | undefined;
84
95
  action: "get_url_info";
85
96
  payload: {
86
97
  url: string;
87
98
  };
88
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
99
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
89
100
  request_id: string;
90
101
  version?: string | undefined;
91
102
  action: "list_group_statuses";
@@ -94,7 +105,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
94
105
  } | {
95
106
  all: true;
96
107
  };
97
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
108
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
98
109
  request_id: string;
99
110
  version?: string | undefined;
100
111
  action: "list_chats";
@@ -102,18 +113,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
102
113
  limit?: number | undefined;
103
114
  page_id?: string | undefined;
104
115
  };
105
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
106
- request_id: string;
107
- version?: string | undefined;
108
- action: "list_threads";
109
- payload: {
110
- chat_id: string;
111
- sort_order?: "asc" | "desc" | undefined;
112
- limit?: number | undefined;
113
- page_id?: string | undefined;
114
- min_events_count?: number | undefined;
115
- };
116
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
116
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
117
117
  request_id: string;
118
118
  version?: string | undefined;
119
119
  action: "login";
@@ -136,7 +136,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
136
136
  tab_id?: string | undefined;
137
137
  pushes?: Record<string, readonly import("./types").SubscribablePush[]> | undefined;
138
138
  };
139
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
139
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
140
140
  request_id: string;
141
141
  version?: string | undefined;
142
142
  action: "mark_events_as_seen";
@@ -144,14 +144,14 @@ export declare const getAllRequests: (state: State) => Record<string, {
144
144
  chat_id: string;
145
145
  seen_up_to: string;
146
146
  };
147
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
147
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
148
148
  request_id: string;
149
149
  version?: string | undefined;
150
150
  action: "request_welcome_message";
151
151
  payload: {
152
152
  id?: string | undefined;
153
153
  };
154
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
154
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
155
155
  request_id: string;
156
156
  version?: string | undefined;
157
157
  action: "resume_chat";
@@ -168,7 +168,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
168
168
  };
169
169
  continuous?: boolean | undefined;
170
170
  };
171
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
171
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
172
172
  request_id: string;
173
173
  version?: string | undefined;
174
174
  action: "send_event";
@@ -177,7 +177,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
177
177
  event: import("./types/serverEntities").RequestBodyEvent;
178
178
  attach_to_last_thread?: boolean | undefined;
179
179
  };
180
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
180
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
181
181
  request_id: string;
182
182
  version?: string | undefined;
183
183
  action: "send_greeting_button_clicked";
@@ -185,7 +185,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
185
185
  greeting_unique_id: string;
186
186
  button_id: string;
187
187
  };
188
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
188
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
189
189
  request_id: string;
190
190
  version?: string | undefined;
191
191
  action: "send_rich_message_postback";
@@ -198,7 +198,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
198
198
  toggled: boolean;
199
199
  };
200
200
  };
201
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
201
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
202
202
  request_id: string;
203
203
  version?: string | undefined;
204
204
  action: "send_sneak_peek";
@@ -206,14 +206,14 @@ export declare const getAllRequests: (state: State) => Record<string, {
206
206
  chat_id: string;
207
207
  sneak_peek_text: string;
208
208
  };
209
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
209
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
210
210
  request_id: string;
211
211
  version?: string | undefined;
212
212
  action: "set_customer_session_fields";
213
213
  payload: {
214
214
  session_fields: import("./types/serverEntities").CustomerSessionFields;
215
215
  };
216
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
216
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
217
217
  request_id: string;
218
218
  version?: string | undefined;
219
219
  action: "start_chat";
@@ -229,7 +229,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
229
229
  } | undefined;
230
230
  continuous?: boolean | undefined;
231
231
  };
232
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
232
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
233
233
  request_id: string;
234
234
  version?: string | undefined;
235
235
  action: "update_chat_properties";
@@ -237,7 +237,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
237
237
  id: string;
238
238
  properties: import("./types/serverEntities").Properties;
239
239
  };
240
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
240
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
241
241
  request_id: string;
242
242
  version?: string | undefined;
243
243
  action: "update_customer_page";
@@ -245,7 +245,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
245
245
  url: string;
246
246
  title?: string | undefined;
247
247
  };
248
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
248
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
249
249
  request_id: string;
250
250
  version?: string | undefined;
251
251
  action: "update_customer";
@@ -255,7 +255,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
255
255
  email?: string | undefined;
256
256
  fields?: import("./types/serverEntities").CustomerSessionFields | undefined;
257
257
  };
258
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
258
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
259
259
  request_id: string;
260
260
  version?: string | undefined;
261
261
  action: "update_event_properties";
@@ -265,7 +265,7 @@ export declare const getAllRequests: (state: State) => Record<string, {
265
265
  event_id: string;
266
266
  properties: import("./types/serverEntities").Properties;
267
267
  };
268
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
268
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
269
269
  request_id: string;
270
270
  version?: string | undefined;
271
271
  action: "update_thread_properties";
@@ -274,15 +274,26 @@ export declare const getAllRequests: (state: State) => Record<string, {
274
274
  thread_id: string;
275
275
  properties: import("./types/serverEntities").Properties;
276
276
  };
277
- }, "action" | "payload">;
277
+ }, "payload" | "action">;
278
278
  }>;
279
- export declare const getConnectionStatus: (state: State) => "connected" | "destroyed" | "disconnected" | "paused" | "reconnecting";
279
+ export declare const getConnectionStatus: (state: State) => "disconnected" | "connected" | "destroyed" | "paused" | "reconnecting";
280
280
  export declare const getRequest: (state: State, id: string) => {
281
281
  id: string;
282
282
  promise: Promise<any>;
283
283
  resolve: (val: any) => void;
284
284
  reject: (err: any) => void;
285
285
  request: import("Object/Pick")._Pick<{
286
+ request_id: string;
287
+ version?: string | undefined;
288
+ action: "list_threads";
289
+ payload: {
290
+ chat_id: string;
291
+ sort_order?: "asc" | "desc" | undefined;
292
+ limit?: number | undefined;
293
+ page_id?: string | undefined;
294
+ min_events_count?: number | undefined;
295
+ };
296
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
286
297
  request_id: string;
287
298
  version?: string | undefined;
288
299
  action: "accept_greeting";
@@ -290,21 +301,21 @@ export declare const getRequest: (state: State, id: string) => {
290
301
  greeting_id: number;
291
302
  unique_id: string;
292
303
  };
293
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
304
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
294
305
  request_id: string;
295
306
  version?: string | undefined;
296
307
  action: "cancel_greeting";
297
308
  payload: {
298
309
  unique_id: string;
299
310
  };
300
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
311
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
301
312
  request_id: string;
302
313
  version?: string | undefined;
303
314
  action: "deactivate_chat";
304
315
  payload: {
305
316
  id: string;
306
317
  };
307
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
318
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
308
319
  request_id: string;
309
320
  version?: string | undefined;
310
321
  action: "delete_chat_properties";
@@ -312,7 +323,7 @@ export declare const getRequest: (state: State, id: string) => {
312
323
  id: string;
313
324
  properties: Record<string, string[]>;
314
325
  };
315
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
326
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
316
327
  request_id: string;
317
328
  version?: string | undefined;
318
329
  action: "delete_event_properties";
@@ -322,7 +333,7 @@ export declare const getRequest: (state: State, id: string) => {
322
333
  event_id: string;
323
334
  properties: Record<string, string[]>;
324
335
  };
325
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
336
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
326
337
  request_id: string;
327
338
  version?: string | undefined;
328
339
  action: "delete_thread_properties";
@@ -331,7 +342,7 @@ export declare const getRequest: (state: State, id: string) => {
331
342
  thread_id: string;
332
343
  properties: Record<string, string[]>;
333
344
  };
334
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
345
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
335
346
  request_id: string;
336
347
  version?: string | undefined;
337
348
  action: "get_chat";
@@ -339,14 +350,14 @@ export declare const getRequest: (state: State, id: string) => {
339
350
  chat_id: string;
340
351
  thread_id?: string | undefined;
341
352
  };
342
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
353
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
343
354
  request_id: string;
344
355
  version?: string | undefined;
345
356
  action: "get_customer";
346
357
  payload: {
347
358
  [x: string]: never;
348
359
  };
349
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
360
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
350
361
  request_id: string;
351
362
  version?: string | undefined;
352
363
  action: "get_form";
@@ -354,14 +365,14 @@ export declare const getRequest: (state: State, id: string) => {
354
365
  type: import("./types/serverEntities").FormType;
355
366
  group_id: number;
356
367
  };
357
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
368
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
358
369
  request_id: string;
359
370
  version?: string | undefined;
360
371
  action: "get_url_info";
361
372
  payload: {
362
373
  url: string;
363
374
  };
364
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
375
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
365
376
  request_id: string;
366
377
  version?: string | undefined;
367
378
  action: "list_group_statuses";
@@ -370,7 +381,7 @@ export declare const getRequest: (state: State, id: string) => {
370
381
  } | {
371
382
  all: true;
372
383
  };
373
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
384
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
374
385
  request_id: string;
375
386
  version?: string | undefined;
376
387
  action: "list_chats";
@@ -378,18 +389,7 @@ export declare const getRequest: (state: State, id: string) => {
378
389
  limit?: number | undefined;
379
390
  page_id?: string | undefined;
380
391
  };
381
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
382
- request_id: string;
383
- version?: string | undefined;
384
- action: "list_threads";
385
- payload: {
386
- chat_id: string;
387
- sort_order?: "asc" | "desc" | undefined;
388
- limit?: number | undefined;
389
- page_id?: string | undefined;
390
- min_events_count?: number | undefined;
391
- };
392
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
392
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
393
393
  request_id: string;
394
394
  version?: string | undefined;
395
395
  action: "login";
@@ -412,7 +412,7 @@ export declare const getRequest: (state: State, id: string) => {
412
412
  tab_id?: string | undefined;
413
413
  pushes?: Record<string, readonly import("./types").SubscribablePush[]> | undefined;
414
414
  };
415
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
415
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
416
416
  request_id: string;
417
417
  version?: string | undefined;
418
418
  action: "mark_events_as_seen";
@@ -420,14 +420,14 @@ export declare const getRequest: (state: State, id: string) => {
420
420
  chat_id: string;
421
421
  seen_up_to: string;
422
422
  };
423
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
423
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
424
424
  request_id: string;
425
425
  version?: string | undefined;
426
426
  action: "request_welcome_message";
427
427
  payload: {
428
428
  id?: string | undefined;
429
429
  };
430
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
430
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
431
431
  request_id: string;
432
432
  version?: string | undefined;
433
433
  action: "resume_chat";
@@ -444,7 +444,7 @@ export declare const getRequest: (state: State, id: string) => {
444
444
  };
445
445
  continuous?: boolean | undefined;
446
446
  };
447
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
447
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
448
448
  request_id: string;
449
449
  version?: string | undefined;
450
450
  action: "send_event";
@@ -453,7 +453,7 @@ export declare const getRequest: (state: State, id: string) => {
453
453
  event: import("./types/serverEntities").RequestBodyEvent;
454
454
  attach_to_last_thread?: boolean | undefined;
455
455
  };
456
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
456
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
457
457
  request_id: string;
458
458
  version?: string | undefined;
459
459
  action: "send_greeting_button_clicked";
@@ -461,7 +461,7 @@ export declare const getRequest: (state: State, id: string) => {
461
461
  greeting_unique_id: string;
462
462
  button_id: string;
463
463
  };
464
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
464
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
465
465
  request_id: string;
466
466
  version?: string | undefined;
467
467
  action: "send_rich_message_postback";
@@ -474,7 +474,7 @@ export declare const getRequest: (state: State, id: string) => {
474
474
  toggled: boolean;
475
475
  };
476
476
  };
477
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
477
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
478
478
  request_id: string;
479
479
  version?: string | undefined;
480
480
  action: "send_sneak_peek";
@@ -482,14 +482,14 @@ export declare const getRequest: (state: State, id: string) => {
482
482
  chat_id: string;
483
483
  sneak_peek_text: string;
484
484
  };
485
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
485
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
486
486
  request_id: string;
487
487
  version?: string | undefined;
488
488
  action: "set_customer_session_fields";
489
489
  payload: {
490
490
  session_fields: import("./types/serverEntities").CustomerSessionFields;
491
491
  };
492
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
492
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
493
493
  request_id: string;
494
494
  version?: string | undefined;
495
495
  action: "start_chat";
@@ -505,7 +505,7 @@ export declare const getRequest: (state: State, id: string) => {
505
505
  } | undefined;
506
506
  continuous?: boolean | undefined;
507
507
  };
508
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
508
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
509
509
  request_id: string;
510
510
  version?: string | undefined;
511
511
  action: "update_chat_properties";
@@ -513,7 +513,7 @@ export declare const getRequest: (state: State, id: string) => {
513
513
  id: string;
514
514
  properties: import("./types/serverEntities").Properties;
515
515
  };
516
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
516
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
517
517
  request_id: string;
518
518
  version?: string | undefined;
519
519
  action: "update_customer_page";
@@ -521,7 +521,7 @@ export declare const getRequest: (state: State, id: string) => {
521
521
  url: string;
522
522
  title?: string | undefined;
523
523
  };
524
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
524
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
525
525
  request_id: string;
526
526
  version?: string | undefined;
527
527
  action: "update_customer";
@@ -531,7 +531,7 @@ export declare const getRequest: (state: State, id: string) => {
531
531
  email?: string | undefined;
532
532
  fields?: import("./types/serverEntities").CustomerSessionFields | undefined;
533
533
  };
534
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
534
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
535
535
  request_id: string;
536
536
  version?: string | undefined;
537
537
  action: "update_event_properties";
@@ -541,7 +541,7 @@ export declare const getRequest: (state: State, id: string) => {
541
541
  event_id: string;
542
542
  properties: import("./types/serverEntities").Properties;
543
543
  };
544
- }, "action" | "payload"> | import("Object/Pick")._Pick<{
544
+ }, "payload" | "action"> | import("Object/Pick")._Pick<{
545
545
  request_id: string;
546
546
  version?: string | undefined;
547
547
  action: "update_thread_properties";
@@ -550,7 +550,7 @@ export declare const getRequest: (state: State, id: string) => {
550
550
  thread_id: string;
551
551
  properties: import("./types/serverEntities").Properties;
552
552
  };
553
- }, "action" | "payload">;
553
+ }, "payload" | "action">;
554
554
  };
555
555
  export declare const getSelfId: (state: State) => string | null;
556
556
  export declare const isChatActive: (state: State, chatId: string) => boolean;
@@ -236,7 +236,7 @@ export declare const parsePush: (push: Push) => {
236
236
  payload: {
237
237
  chatId: string;
238
238
  userId: string;
239
- reason: "chat_deactivated" | "disconnected" | "manual" | "signed_out" | "remotely_signed_out" | "deleted" | "inactive" | "other";
239
+ reason: "manual" | "disconnected" | "signed_out" | "remotely_signed_out" | "deleted" | "chat_deactivated" | "inactive" | "other";
240
240
  };
241
241
  };
242
242
  export declare const parseResponse: ({ request, response, }: {
@@ -402,9 +402,10 @@ export declare const parseResponse: ({ request, response, }: {
402
402
  }>;
403
403
  } | {
404
404
  action: "update_customer_page";
405
- payload: Readonly<{
406
- readonly success: true;
407
- }>;
405
+ payload: {
406
+ groups: never;
407
+ success: true;
408
+ };
408
409
  } | {
409
410
  action: "update_event_properties";
410
411
  payload: Readonly<{
@@ -2,10 +2,10 @@ import { SocketClient } from './socketClient';
2
2
  import { Store } from './types';
3
3
  import { Push, PushResponse, ResponseError } from './types/frames';
4
4
  declare const _default: (store: Store, socket: SocketClient) => {
5
- <Key extends keyof import("@livechat/platform-client/types").PlatformClientEvents<PushResponse | Push | import("./types/frames").Response | ResponseError>>(type: Key, handler?: import("mitt").Handler<import("@livechat/platform-client/types").PlatformClientEvents<PushResponse | Push | import("./types/frames").Response | ResponseError>[Key]> | undefined): void;
6
- (type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<PushResponse | Push | import("./types/frames").Response | ResponseError>>): void;
5
+ <Key extends keyof import("@livechat/platform-client/types").PlatformClientEvents<Push | import("./types/frames").Response | PushResponse | ResponseError>>(type: Key, handler?: import("mitt").Handler<import("@livechat/platform-client/types").PlatformClientEvents<Push | import("./types/frames").Response | PushResponse | ResponseError>[Key]> | undefined): void;
6
+ (type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<Push | import("./types/frames").Response | PushResponse | ResponseError>>): void;
7
7
  } & {
8
- (type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<PushResponse | Push | import("./types/frames").Response | ResponseError>>): void;
8
+ (type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<Push | import("./types/frames").Response | PushResponse | ResponseError>>): void;
9
9
  (): void;
10
10
  };
11
11
  export default _default;