@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 +8 -0
- package/dist/customer-sdk.cjs.js +17 -4
- package/dist/customer-sdk.cjs.native.js +17 -4
- package/dist/customer-sdk.esm.js +17 -4
- package/dist/customer-sdk.js +19 -6
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +2 -2
- package/types/actions.d.ts +14 -14
- package/types/index.d.ts +2 -2
- package/types/reducer.d.ts +77 -77
- package/types/serverFrameParser.d.ts +5 -4
- package/types/socketListener.d.ts +3 -3
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
|
package/dist/customer-sdk.cjs.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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))
|
|
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.
|
|
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.
|
|
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))
|
|
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 {
|
package/dist/customer-sdk.esm.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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))
|
|
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 {
|
package/dist/customer-sdk.js
CHANGED
|
@@ -478,7 +478,7 @@
|
|
|
478
478
|
});
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
var 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 ||
|
|
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.
|
|
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.
|
|
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))
|
|
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 {
|
package/dist/customer-sdk.min.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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": "*",
|
package/types/actions.d.ts
CHANGED
|
@@ -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 "
|
|
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
|
-
|
|
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";
|
package/types/reducer.d.ts
CHANGED
|
@@ -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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
277
|
+
}, "payload" | "action">;
|
|
278
278
|
}>;
|
|
279
|
-
export declare const getConnectionStatus: (state: State) => "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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
|
-
}, "
|
|
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: "
|
|
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:
|
|
406
|
-
|
|
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<
|
|
6
|
-
(type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<
|
|
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<
|
|
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;
|