@livechat/customer-sdk 3.1.3 → 3.1.4
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 +11 -19
- package/dist/customer-sdk.cjs.js +48 -68
- package/dist/customer-sdk.cjs.native.js +48 -68
- package/dist/customer-sdk.esm.js +45 -67
- package/dist/customer-sdk.js +59 -82
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +7 -7
- package/types/actions.d.ts +0 -331
- package/types/chatHistory.d.ts +0 -19
- package/types/clientDataParsers.d.ts +0 -55
- package/types/completionValues.d.ts +0 -4
- package/types/constants/clientErrorCodes.d.ts +0 -11
- package/types/constants/connectionStatuses.d.ts +0 -6
- package/types/constants/eventTypes.d.ts +0 -8
- package/types/constants/organizationIds.d.ts +0 -2
- package/types/constants/reduxActions.d.ts +0 -23
- package/types/constants/serverDisconnectionReasons.d.ts +0 -15
- package/types/constants/serverErrorCodes.d.ts +0 -23
- package/types/constants/serverPushActions.d.ts +0 -26
- package/types/constants/serverRequestActions.d.ts +0 -30
- package/types/constants/sortOrders.d.ts +0 -3
- package/types/constants/userTypes.d.ts +0 -3
- package/types/createError.d.ts +0 -9
- package/types/createStore.d.ts +0 -12
- package/types/debug.d.ts +0 -3
- package/types/graylog/index.d.ts +0 -14
- package/types/graylog/makeGrayLogRequest.d.ts +0 -2
- package/types/graylog/makeGrayLogRequest.native.d.ts +0 -6
- package/types/index.d.ts +0 -245
- package/types/reducer.d.ts +0 -546
- package/types/sendRequestAction.d.ts +0 -4
- package/types/sendTicketForm.d.ts +0 -15
- package/types/serverDataParser.d.ts +0 -34
- package/types/serverEventParser.d.ts +0 -12
- package/types/serverFrameParser.d.ts +0 -385
- package/types/sideEffects/checkGoals.d.ts +0 -5
- package/types/sideEffects/index.d.ts +0 -13
- package/types/sideStorage.d.ts +0 -5
- package/types/socketClient.d.ts +0 -11
- package/types/socketListener.d.ts +0 -12
- package/types/thunks.d.ts +0 -4
- package/types/types/actions.d.ts +0 -157
- package/types/types/clientEntities.d.ts +0 -376
- package/types/types/frames.d.ts +0 -635
- package/types/types/serverEntities.d.ts +0 -409
- package/types/types/state.d.ts +0 -56
- package/types/uploadFile.d.ts +0 -19
- package/types/validateFile/index.d.ts +0 -3
package/dist/customer-sdk.js
CHANGED
|
@@ -1208,21 +1208,6 @@
|
|
|
1208
1208
|
};
|
|
1209
1209
|
};
|
|
1210
1210
|
|
|
1211
|
-
/**
|
|
1212
|
-
* promiseTry allows us to move success / error handling to be promise based so we will handle both synchronous and asynchronous execution failures and success properly.
|
|
1213
|
-
* @param anyFunction - function to be called
|
|
1214
|
-
* @returns promise that resolves to the return value of the function
|
|
1215
|
-
* @example
|
|
1216
|
-
* const promise = promiseTry(() => 1)
|
|
1217
|
-
* promise.then(value => console.log(value)) // 1
|
|
1218
|
-
*/
|
|
1219
|
-
|
|
1220
|
-
function promiseTry(anyFunction) {
|
|
1221
|
-
return new Promise(function (resolve) {
|
|
1222
|
-
resolve(anyFunction());
|
|
1223
|
-
});
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
1211
|
/**
|
|
1227
1212
|
* Creates a deferred object that can be resolved or rejected later.
|
|
1228
1213
|
* @returns A deferred object with a promise and resolve and reject functions.
|
|
@@ -1263,8 +1248,6 @@
|
|
|
1263
1248
|
var AGENT = 'agent';
|
|
1264
1249
|
var CUSTOMER = 'customer';
|
|
1265
1250
|
|
|
1266
|
-
var LIVECHAT_ORGANIZATION_ID = 'feaf6c0e-9f43-48ff-9ad0-8e24e0350932';
|
|
1267
|
-
|
|
1268
1251
|
var getAllRequests = function getAllRequests(state) {
|
|
1269
1252
|
return state.requests;
|
|
1270
1253
|
};
|
|
@@ -1288,9 +1271,9 @@
|
|
|
1288
1271
|
return getConnectionStatus(state) === DESTROYED;
|
|
1289
1272
|
};
|
|
1290
1273
|
var getEnvPart = function getEnvPart(_ref) {
|
|
1291
|
-
var
|
|
1274
|
+
var licenseId = _ref.licenseId,
|
|
1292
1275
|
env = _ref.env;
|
|
1293
|
-
if (
|
|
1276
|
+
if (licenseId === 1520) {
|
|
1294
1277
|
return '.staging';
|
|
1295
1278
|
}
|
|
1296
1279
|
if (env === 'production') {
|
|
@@ -1304,12 +1287,12 @@
|
|
|
1304
1287
|
return "https://api" + regionPart + getEnvPart(state) + ".livechatinc.com";
|
|
1305
1288
|
};
|
|
1306
1289
|
var getServerUrl = function getServerUrl(state) {
|
|
1307
|
-
return getApiOrigin(state) + "/v3.
|
|
1290
|
+
return getApiOrigin(state) + "/v3.3/customer";
|
|
1308
1291
|
};
|
|
1309
1292
|
var createInitialState = function createInitialState(initialStateData) {
|
|
1310
1293
|
var _initialStateData$app = initialStateData.application,
|
|
1311
1294
|
application = _initialStateData$app === void 0 ? {} : _initialStateData$app,
|
|
1312
|
-
|
|
1295
|
+
licenseId = initialStateData.licenseId,
|
|
1313
1296
|
_initialStateData$gro = initialStateData.groupId,
|
|
1314
1297
|
groupId = _initialStateData$gro === void 0 ? null : _initialStateData$gro,
|
|
1315
1298
|
env = initialStateData.env,
|
|
@@ -1326,9 +1309,9 @@
|
|
|
1326
1309
|
return {
|
|
1327
1310
|
application: _extends({}, application, {
|
|
1328
1311
|
name: "customer_sdk",
|
|
1329
|
-
version: "3.1.
|
|
1312
|
+
version: "3.1.4"
|
|
1330
1313
|
}),
|
|
1331
|
-
|
|
1314
|
+
licenseId: licenseId,
|
|
1332
1315
|
env: env,
|
|
1333
1316
|
groupId: groupId,
|
|
1334
1317
|
chats: {},
|
|
@@ -1779,13 +1762,22 @@
|
|
|
1779
1762
|
};
|
|
1780
1763
|
};
|
|
1781
1764
|
|
|
1765
|
+
function deferred() {
|
|
1766
|
+
var def = {};
|
|
1767
|
+
def.promise = new Promise(function (resolve, reject) {
|
|
1768
|
+
def.resolve = resolve;
|
|
1769
|
+
def.reject = reject;
|
|
1770
|
+
});
|
|
1771
|
+
return def;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1782
1774
|
// TODO: this thing is not really well typed and should be improved
|
|
1783
1775
|
var sendRequestAction = function sendRequestAction(store, action) {
|
|
1784
1776
|
action.payload.id = generateUniqueId(store.getState().requests);
|
|
1785
|
-
var
|
|
1786
|
-
resolve =
|
|
1787
|
-
reject =
|
|
1788
|
-
promise =
|
|
1777
|
+
var _deferred = deferred(),
|
|
1778
|
+
resolve = _deferred.resolve,
|
|
1779
|
+
reject = _deferred.reject,
|
|
1780
|
+
promise = _deferred.promise;
|
|
1789
1781
|
action.payload.promise = promise;
|
|
1790
1782
|
action.payload.resolve = resolve;
|
|
1791
1783
|
action.payload.reject = reject;
|
|
@@ -1793,44 +1785,35 @@
|
|
|
1793
1785
|
return promise;
|
|
1794
1786
|
};
|
|
1795
1787
|
|
|
1788
|
+
var index$1 = function (fn) {
|
|
1789
|
+
return new Promise(function (resolve) {
|
|
1790
|
+
resolve(fn());
|
|
1791
|
+
});
|
|
1792
|
+
};
|
|
1793
|
+
|
|
1796
1794
|
var AUTHENTICATION = 'AUTHENTICATION';
|
|
1797
1795
|
var CUSTOMER_BANNED$1 = 'CUSTOMER_BANNED';
|
|
1798
1796
|
var USERS_LIMIT_REACHED = 'USERS_LIMIT_REACHED';
|
|
1799
1797
|
var WRONG_PRODUCT_VERSION = 'WRONG_PRODUCT_VERSION';
|
|
1800
1798
|
|
|
1801
|
-
var
|
|
1799
|
+
var getSideStorageKey = function getSideStorageKey(store) {
|
|
1802
1800
|
var _store$getState = store.getState(),
|
|
1801
|
+
licenseId = _store$getState.licenseId,
|
|
1803
1802
|
groupId = _store$getState.groupId,
|
|
1804
1803
|
uniqueGroups = _store$getState.uniqueGroups;
|
|
1805
1804
|
return "side_storage_" + licenseId + (uniqueGroups ? ":" + groupId : '');
|
|
1806
1805
|
};
|
|
1807
|
-
var
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
groupId = _store$getState2.groupId,
|
|
1811
|
-
uniqueGroups = _store$getState2.uniqueGroups;
|
|
1812
|
-
return "side_storage_" + organizationId + (uniqueGroups ? ":" + groupId : '');
|
|
1813
|
-
};
|
|
1814
|
-
var getSideStorage = function getSideStorage(store, licenseId) {
|
|
1815
|
-
var sideStorageLicenseKey = getSideStorageKeyByLicense(store, licenseId);
|
|
1816
|
-
var sideStorageOrganizationKey = getSideStorageKeyByOrganization(store);
|
|
1817
|
-
return storage.getItem(sideStorageLicenseKey)["catch"](noop).then(function (sideStorage) {
|
|
1818
|
-
if (!sideStorage) {
|
|
1819
|
-
return storage.getItem(sideStorageOrganizationKey)["catch"](noop).then(function (organizationSideStorage) {
|
|
1820
|
-
return JSON.parse(organizationSideStorage || '{}');
|
|
1821
|
-
})["catch"](noop);
|
|
1822
|
-
}
|
|
1823
|
-
return storage.setItem(sideStorageOrganizationKey, sideStorage)["catch"](noop).then(function () {
|
|
1824
|
-
return storage.removeItem(sideStorageLicenseKey)["catch"](noop).then(function () {
|
|
1825
|
-
return JSON.parse(sideStorage);
|
|
1826
|
-
})["catch"](noop);
|
|
1827
|
-
});
|
|
1806
|
+
var getSideStorage = function getSideStorage(store) {
|
|
1807
|
+
return storage.getItem(getSideStorageKey(store))["catch"](noop).then(function (sideStorage) {
|
|
1808
|
+
return JSON.parse(sideStorage || '{}');
|
|
1828
1809
|
})
|
|
1829
1810
|
// shouldnt get triggered, just a defensive measure against malformed storage entries
|
|
1830
|
-
["catch"](
|
|
1811
|
+
["catch"](function () {
|
|
1812
|
+
return {};
|
|
1813
|
+
});
|
|
1831
1814
|
};
|
|
1832
1815
|
var saveSideStorage = function saveSideStorage(store, sideStorage) {
|
|
1833
|
-
storage.setItem(
|
|
1816
|
+
return storage.setItem(getSideStorageKey(store), JSON.stringify(sideStorage))["catch"](noop);
|
|
1834
1817
|
};
|
|
1835
1818
|
|
|
1836
1819
|
var taskChain = function taskChain(_ref, onSuccess, onError) {
|
|
@@ -1838,7 +1821,7 @@
|
|
|
1838
1821
|
var cancelled = false;
|
|
1839
1822
|
var next = function next(intermediateResult) {
|
|
1840
1823
|
var step = steps.shift();
|
|
1841
|
-
|
|
1824
|
+
index$1(function () {
|
|
1842
1825
|
return step(intermediateResult);
|
|
1843
1826
|
}).then(function (result) {
|
|
1844
1827
|
if (cancelled) {
|
|
@@ -1871,7 +1854,7 @@
|
|
|
1871
1854
|
setTimeout(resolve, ms);
|
|
1872
1855
|
});
|
|
1873
1856
|
};
|
|
1874
|
-
function createLoginTask(auth, customerDataProvider
|
|
1857
|
+
function createLoginTask(auth, customerDataProvider) {
|
|
1875
1858
|
var store;
|
|
1876
1859
|
var sentPage = null;
|
|
1877
1860
|
var task;
|
|
@@ -1892,7 +1875,7 @@
|
|
|
1892
1875
|
return store.dispatch(reconnect(currentBackoffStrategy.duration()));
|
|
1893
1876
|
};
|
|
1894
1877
|
var getTokenAndSideStorage = function getTokenAndSideStorage() {
|
|
1895
|
-
return Promise.all([auth.getToken(), getSideStorage(store
|
|
1878
|
+
return Promise.all([auth.getToken(), getSideStorage(store)]);
|
|
1896
1879
|
};
|
|
1897
1880
|
var dispatchSelfId = function dispatchSelfId(_ref2) {
|
|
1898
1881
|
var token = _ref2[0],
|
|
@@ -2032,7 +2015,7 @@
|
|
|
2032
2015
|
return;
|
|
2033
2016
|
}
|
|
2034
2017
|
var query = buildQueryString({
|
|
2035
|
-
|
|
2018
|
+
license_id: state.licenseId
|
|
2036
2019
|
});
|
|
2037
2020
|
var payload = {
|
|
2038
2021
|
session_fields: parseCustomerSessionFields(sessionFields || {}),
|
|
@@ -2531,11 +2514,11 @@
|
|
|
2531
2514
|
{
|
|
2532
2515
|
var upgradedPushes = [];
|
|
2533
2516
|
socket.emit(_extends({}, frame, {
|
|
2534
|
-
version: '3.
|
|
2517
|
+
version: '3.3',
|
|
2535
2518
|
payload: _extends({}, frame.payload, {
|
|
2536
2519
|
pushes: {
|
|
2537
|
-
// '3.
|
|
2538
|
-
'3.
|
|
2520
|
+
// '3.4': upgradedPushes,
|
|
2521
|
+
'3.3': values(serverPushActions).filter(function (pushAction) {
|
|
2539
2522
|
return (
|
|
2540
2523
|
// `customer_disconnected` can be sent immediately after opening the connection, before it even received login request
|
|
2541
2524
|
// therefore it's not possible to subscribe for a particular version of this push - the "connection version" is always used
|
|
@@ -2705,10 +2688,9 @@
|
|
|
2705
2688
|
var auth = _ref9.auth,
|
|
2706
2689
|
customerDataProvider = _ref9.customerDataProvider,
|
|
2707
2690
|
emitter = _ref9.emitter,
|
|
2708
|
-
socket = _ref9.socket
|
|
2709
|
-
licenseId = _ref9.licenseId;
|
|
2691
|
+
socket = _ref9.socket;
|
|
2710
2692
|
var emit = emitter.emit;
|
|
2711
|
-
var loginTask = createLoginTask(auth, customerDataProvider
|
|
2693
|
+
var loginTask = createLoginTask(auth, customerDataProvider);
|
|
2712
2694
|
|
|
2713
2695
|
// TODO: using Store type here is a lie, middleware only provides MiddlewareAPI here
|
|
2714
2696
|
return function (action, store) {
|
|
@@ -3229,7 +3211,7 @@
|
|
|
3229
3211
|
var url = (getServerUrl(state) + "/rtm/ws").replace(/^https/, 'wss');
|
|
3230
3212
|
return createPlatformClient(url, {
|
|
3231
3213
|
query: {
|
|
3232
|
-
|
|
3214
|
+
license_id: state.licenseId
|
|
3233
3215
|
},
|
|
3234
3216
|
emitter: emitter
|
|
3235
3217
|
});
|
|
@@ -3521,17 +3503,16 @@
|
|
|
3521
3503
|
var lastEventSummary = last(lastEventSummariesArray.sort(function (eventSummaryA, eventSummaryB) {
|
|
3522
3504
|
return eventSummaryA.thread_id === eventSummaryB.thread_id ? stringCompare(eventSummaryA.event.created_at, eventSummaryB.event.created_at) : stringCompare(eventSummaryA.thread_created_at, eventSummaryB.thread_created_at);
|
|
3523
3505
|
}));
|
|
3524
|
-
if (lastEventSummary
|
|
3506
|
+
if (lastEventSummary) {
|
|
3525
3507
|
chatSummary.lastEvent = chatSummary.lastEventsPerType[lastEventSummary.event.type];
|
|
3526
3508
|
}
|
|
3527
3509
|
return chatSummary;
|
|
3528
3510
|
});
|
|
3529
3511
|
return {
|
|
3530
3512
|
chatsSummary: numericSortBy(function (_ref4) {
|
|
3531
|
-
var _ref5;
|
|
3532
3513
|
var lastEvent = _ref4.lastEvent,
|
|
3533
3514
|
order = _ref4.order;
|
|
3534
|
-
return -1 * (
|
|
3515
|
+
return -1 * (lastEvent !== undefined ? lastEvent.timestamp : order);
|
|
3535
3516
|
}, chatsSummary),
|
|
3536
3517
|
totalChats: payload.total_chats,
|
|
3537
3518
|
users: uniqBy(function (user) {
|
|
@@ -3708,9 +3689,9 @@
|
|
|
3708
3689
|
};
|
|
3709
3690
|
}
|
|
3710
3691
|
};
|
|
3711
|
-
var parseResponse = function parseResponse(
|
|
3712
|
-
var request =
|
|
3713
|
-
response =
|
|
3692
|
+
var parseResponse = function parseResponse(_ref5) {
|
|
3693
|
+
var request = _ref5.request,
|
|
3694
|
+
response = _ref5.response;
|
|
3714
3695
|
switch (response.action) {
|
|
3715
3696
|
case ACCEPT_GREETING:
|
|
3716
3697
|
return {
|
|
@@ -3964,10 +3945,9 @@
|
|
|
3964
3945
|
customerId = _ref.customerId,
|
|
3965
3946
|
_ref$groupId = _ref.groupId,
|
|
3966
3947
|
groupId = _ref$groupId === void 0 ? state.groupId : _ref$groupId,
|
|
3967
|
-
licenseId = _ref.licenseId,
|
|
3968
3948
|
timeZone = _ref.timeZone;
|
|
3969
3949
|
var ticketBody = _extends({
|
|
3970
|
-
licence_id: licenseId,
|
|
3950
|
+
licence_id: state.licenseId,
|
|
3971
3951
|
ticket_message: '',
|
|
3972
3952
|
offline_message: '',
|
|
3973
3953
|
visitor_id: customerId,
|
|
@@ -4047,7 +4027,6 @@
|
|
|
4047
4027
|
var sendTicketForm = function sendTicketForm(store, auth, _ref2) {
|
|
4048
4028
|
var filledForm = _ref2.filledForm,
|
|
4049
4029
|
groupId = _ref2.groupId,
|
|
4050
|
-
licenseId = _ref2.licenseId,
|
|
4051
4030
|
timeZone = _ref2.timeZone;
|
|
4052
4031
|
return auth.getToken().then(function (token) {
|
|
4053
4032
|
var state = store.getState();
|
|
@@ -4059,7 +4038,6 @@
|
|
|
4059
4038
|
fields: filledForm.fields,
|
|
4060
4039
|
customerId: token.entityId,
|
|
4061
4040
|
groupId: groupId,
|
|
4062
|
-
licenseId: licenseId,
|
|
4063
4041
|
timeZone: timeZone
|
|
4064
4042
|
});
|
|
4065
4043
|
return unfetch(url, {
|
|
@@ -4211,7 +4189,7 @@
|
|
|
4211
4189
|
validateFile(file);
|
|
4212
4190
|
var state = store.getState();
|
|
4213
4191
|
var query = buildQueryString({
|
|
4214
|
-
|
|
4192
|
+
license_id: state.licenseId
|
|
4215
4193
|
});
|
|
4216
4194
|
var url = getServerUrl(state) + "/action/" + UPLOAD_FILE + "?" + query;
|
|
4217
4195
|
var payload = {
|
|
@@ -4277,7 +4255,7 @@
|
|
|
4277
4255
|
*/
|
|
4278
4256
|
var log = function log(_ref) {
|
|
4279
4257
|
var env = _ref.env,
|
|
4280
|
-
|
|
4258
|
+
licenseId = _ref.licenseId,
|
|
4281
4259
|
eventName = _ref.eventName;
|
|
4282
4260
|
if (env !== 'production' || "customer_sdk" !== 'customer_sdk') {
|
|
4283
4261
|
return Promise.resolve();
|
|
@@ -4285,10 +4263,10 @@
|
|
|
4285
4263
|
var message = {
|
|
4286
4264
|
event_name: eventName,
|
|
4287
4265
|
severity: 'Informational',
|
|
4288
|
-
sdkVersion: "3.1.
|
|
4266
|
+
sdkVersion: "3.1.4"
|
|
4289
4267
|
};
|
|
4290
4268
|
var body = {
|
|
4291
|
-
|
|
4269
|
+
licence_id: licenseId,
|
|
4292
4270
|
event_id: 'chat_widget_customer_sdk',
|
|
4293
4271
|
message: JSON.stringify(message)
|
|
4294
4272
|
};
|
|
@@ -4403,7 +4381,7 @@
|
|
|
4403
4381
|
});
|
|
4404
4382
|
|
|
4405
4383
|
var CHATS_PAGINATION_MAX_LIMIT = 25;
|
|
4406
|
-
var init = function init(config, env
|
|
4384
|
+
var init = function init(config, env) {
|
|
4407
4385
|
if (env === void 0) {
|
|
4408
4386
|
env = 'production';
|
|
4409
4387
|
}
|
|
@@ -4418,13 +4396,12 @@
|
|
|
4418
4396
|
}));
|
|
4419
4397
|
var emitter = createMitt();
|
|
4420
4398
|
var socket = createSocketClient(store);
|
|
4421
|
-
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth(instanceConfig,
|
|
4399
|
+
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth(instanceConfig, env);
|
|
4422
4400
|
store.addSideEffectsHandler(createSideEffectsHandler({
|
|
4423
4401
|
emitter: emitter,
|
|
4424
4402
|
socket: socket,
|
|
4425
4403
|
auth: auth,
|
|
4426
|
-
customerDataProvider: customerDataProvider
|
|
4427
|
-
licenseId: licenseId
|
|
4404
|
+
customerDataProvider: customerDataProvider
|
|
4428
4405
|
}));
|
|
4429
4406
|
socketListener(store, socket);
|
|
4430
4407
|
var sendRequestAction$1 = sendRequestAction.bind(null, store);
|
|
@@ -4623,7 +4600,7 @@
|
|
|
4623
4600
|
resumeChat: function resumeChat(data) {
|
|
4624
4601
|
log({
|
|
4625
4602
|
env: env,
|
|
4626
|
-
|
|
4603
|
+
licenseId: config.licenseId,
|
|
4627
4604
|
eventName: 'chat_started'
|
|
4628
4605
|
});
|
|
4629
4606
|
return sendRequestAction$1(sendRequest(RESUME_CHAT, parseResumeChatData(data)));
|
|
@@ -4678,7 +4655,7 @@
|
|
|
4678
4655
|
}
|
|
4679
4656
|
log({
|
|
4680
4657
|
env: env,
|
|
4681
|
-
|
|
4658
|
+
licenseId: config.licenseId,
|
|
4682
4659
|
eventName: 'chat_started'
|
|
4683
4660
|
});
|
|
4684
4661
|
return sendRequestAction$1(sendRequest(START_CHAT, parseStartChatData(data)));
|
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)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)0>t.indexOf(n=a[r])&&(o[n]=e[n]);return o}function r(e){var t=function(e,t){if("object"!=typeof e||null===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)}}}(),c=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?!1:(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i,s=function(e,t){return new Promise((function(n){return n(c.setItem(e,t))}))},u=function(e){return new Promise((function(t){return t(c.getItem(e))}))},d=function(e){return new Promise((function(t){return t(c.removeItem(e))}))},p={}.hasOwnProperty;function l(e,t){return p.call(t,e)}function f(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function h(e){return Array.isArray(e)}function v(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 v(t).reduce((function(n,r){return n[r]=e(t[r]),n}),{})}function g(e){return e}function y(e){var t=Math.random().toString(36).substring(2);return l(t,e)?y(e):t}function m(e,t){return-1!==t.indexOf(e)}function I(){}function b(e){return v(e).map((function(t){return e[t]}))}function E(e,t){return e.reduce((function(e,n){return e[n]=t[n],e}),{})}function T(e,t){return e.reduce((function(e,n){return l(n,t)&&(e[n]=t[n]),e}),{})}function w(e){return v(e).map((function(t){return[t,e[t]]}))}function O(e,t){return e===t?0:t>e?-1:1}var S=function(e){return w(e).map((function(e){return e.map(encodeURIComponent).join("=")})).join("&")},k=/[^:]+:\/\/[^(/|?)\s]+/,P=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")},C=(RegExp("^[\0-]*("+P("javascript")+"|"+P("data")+"):","i"),/^((http(s)?:)?\/\/)/);function N(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},s=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:s,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 u 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(s())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(u,t.headers[u]);o.send(t.body||null)}))}var x="https://accounts.livechatinc.com",j=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},D=function(e,t){return N(""+function(e,t){return""+("production"===t?x:x.replace("accounts.","accounts."+t+"."))+function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e)}(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(k),(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 j({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw j({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},q=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},R=function(e,t,n){q(e);var r=e.tokenStoragePrefix||"@@lc_auth_token:",o=""+r+t+(e.uniqueGroups?":"+e.groupId:""),a=""+r+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,p=u(o).then((function(e){null!==p&&(p=null,e?s(a,e).then((function(){d(o).then((function(){c=JSON.parse(e)}))})):d(o).then((function(){return u(a).then((function(e){e&&(c=JSON.parse(e))}))})))})),l=function(){return i=D(e,n).then((function(e){return i=null,s(a,JSON.stringify(e)),c=e,e}),(function(e){throw i=null,e}))};return{getFreshToken:l,getToken:function e(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):p?p.then(e):l())},hasToken:function e(){return p?p.then(e):Promise.resolve(!!c)},invalidate:function(){return c=null,p=null,d(a)}}};var A=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,["all"]);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)}))}})},M="change_region",U="check_goals",L="destroy",z="fail_all_requests",H="login_success",F="pause_connection",G="prefetch_token",Y="push_received",J="push_response_received",V="reconnect",B="request_failed",K="response_received",X="send_request",W="set_chat_active",Z="set_self_id",Q="socket_connected",$="socket_disconnected",ee="socket_recovered",te="socket_unstable",ne="start_connection",re="update_customer_page",oe="CONNECTION_LOST",ae="IDENTITY_MISMATCH",ie="MISDIRECTED_CONNECTION",ce="MISSING_CHAT_THREAD",se="SDK_DESTROYED",ue="accept_greeting",de="cancel_greeting",pe="delete_chat_properties",le="delete_event_properties",fe="delete_thread_properties",he="get_chat",ve="get_customer",_e="get_form",ge="get_predicted_agent",ye="get_url_info",me="list_chats",Ie="list_group_statuses",be="list_threads",Ee="login",Te="mark_events_as_seen",we="resume_chat",Oe="send_event",Se="send_rich_message_postback",ke="send_sneak_peek",Pe="set_customer_session_fields",Ce="start_chat",Ne="update_chat_properties",xe="update_customer",je="update_customer_page",De="update_event_properties",qe="update_thread_properties";var Re=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")()),Ae=function(){return Math.random().toString(36).substring(7).split("").join(".")},Me={INIT:"@@redux/INIT"+Ae(),REPLACE:"@@redux/REPLACE"+Ae(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Ae()}};function Ue(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}function Le(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(Le)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,s=!1;function u(){c===i&&(c=i.slice())}function d(){if(s)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(s)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 u(),c.push(e),function(){if(t){if(s)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,u();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!Ue(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(s)throw Error("Reducers may not dispatch actions.");try{s=!0,a=o(a,e)}finally{s=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}function f(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:Me.REPLACE})}function h(){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)}}})[Re]=function(){return this},e}return l({type:Me.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[Re]=h,r}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(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 Fe(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?He(n,!0).forEach((function(t){ze(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ge(){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 Ye(){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 Fe({},n,{dispatch:r=Ge.apply(void 0,a)(n.dispatch)})}}}var Je=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=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,o)},reset:function(){c=0}}};function Ve(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var Be="connected",Ke="destroyed",Xe="disconnected",We="agent",Ze="customer",Qe=function(e){return e.connection.status},$e=function(e,t){return e.requests[t]},et=function(e){return e.users.self.id},tt=function(e,t){var n=e.chats[t];return!!n&&n.active},nt=function(e){return Qe(e)===Be},rt=function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+function(e){var t=e.env;return"feaf6c0e-9f43-48ff-9ad0-8e24e0350932"===e.organizationId?".staging":"production"===t?"":"."+t}(e)+".livechatinc.com"},ot=function(e){return rt(e)+"/v3.4/customer"},at=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},it=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},ct=function(e){var n,r,o;return r=e,(n={}).change_region=function(e,n){return t({},e,{region:n.region})},n.destroy=function(e){return it(Ke,e)},n.login_success=function(e){return it(Be,e)},n.pause_connection=function(e){return it("paused",e)},n.request_failed=at,n.response_received=at,n.push_response_received=at,n.send_request=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.set_chat_active=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.set_self_id=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n.socket_disconnected=function(e){var n=Qe(e);return t({},it(n===Xe?Xe:"reconnecting",e),{requests:{}})},n.update_customer_page=function(e,n){return t({},e,{page:t({},e.page,n)})},(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),l(t.type,o)?o[t.type](e,t.payload):e}};function st(e){var n=g,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=Le(ct(function(e){var n=e.application,r=e.organizationId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,s=void 0===c?null:c,u=e.region,d=void 0===u?null:u,p=e.referrer,l=void 0===p?null:p,f=e.uniqueGroups,h=void 0!==f&&f,v=e.mobile,_=void 0!==v&&v;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"3.1.3"}),organizationId:r,env:i,groupId:a,chats:{},connection:{status:Xe},page:s,region:d,referrer:l,requests:{},users:{self:{id:null,type:Ze},others:{}},uniqueGroups:h,mobile:_}}(e)),n(Ye(r)));return o.addSideEffectsHandler=r.add,o}function ut(e){var t=e.code,n=Error(e.message);return n.code=t,n}var dt="customer_banned",pt="product_version_changed",lt="chat_deactivated",ft="chat_properties_deleted",ht="chat_properties_updated",vt="chat_transferred",_t="customer_disconnected",gt="customer_page_updated",yt="customer_side_storage_updated",mt="customer_updated",It="event_properties_deleted",bt="event_properties_updated",Et="event_updated",Tt="events_marked_as_seen",wt="greeting_accepted",Ot="greeting_canceled",St="incoming_chat",kt="incoming_event",Pt="incoming_greeting",Ct="incoming_multicast",Nt="incoming_rich_message_postback",xt="incoming_typing_indicator",jt="queue_position_updated",Dt="thread_properties_deleted",qt="thread_properties_updated",Rt="user_added_to_chat",At="user_removed_from_chat",Mt=Object.freeze({__proto__:null,CHAT_DEACTIVATED:lt,CHAT_PROPERTIES_DELETED:ft,CHAT_PROPERTIES_UPDATED:ht,CHAT_TRANSFERRED:vt,CUSTOMER_DISCONNECTED:_t,CUSTOMER_PAGE_UPDATED:gt,CUSTOMER_SIDE_STORAGE_UPDATED:yt,CUSTOMER_UPDATED:mt,EVENT_PROPERTIES_DELETED:It,EVENT_PROPERTIES_UPDATED:bt,EVENT_UPDATED:Et,EVENTS_MARKED_AS_SEEN:Tt,GREETING_ACCEPTED:wt,GREETING_CANCELED:Ot,INCOMING_CHAT:St,INCOMING_EVENT:kt,INCOMING_GREETING:Pt,INCOMING_MULTICAST:Ct,INCOMING_RICH_MESSAGE_POSTBACK:Nt,INCOMING_TYPING_INDICATOR:xt,QUEUE_POSITION_UPDATED:jt,THREAD_PROPERTIES_DELETED:Dt,THREAD_PROPERTIES_UPDATED:qt,USER_ADDED_TO_CHAT:Rt,USER_REMOVED_FROM_CHAT:At}),Ut="file",Lt="form",zt="filled_form",Ht="message",Ft="rich_message",Gt="system_message",Yt="custom",Jt=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||h(t)||(n.properties=e.properties),n},Vt=function(e){switch(e.type){case Ht:var r=t({},Jt(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 Ut:return t({},Jt(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case zt:return t({},Jt(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case Gt:var o=t({},Jt(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case Yt:var a=t({},Jt(e),{type:e.type});return e.content&&(a.content=e.content),a}},Bt=function(e){var t=e.active,n=e.chat,r=e.continuous,o={active:void 0===t||t,chat:{}};if("boolean"==typeof r&&(o.continuous=r),!n)return o;var a=n.access,i=n.thread,c=n.properties;return a&&a.groupIds&&(o.chat.access={group_ids:a.groupIds}),c&&(o.chat.properties=c),i&&(o.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(Vt)),r&&(t.properties=r),t}(i)),o},Kt=function(e){return w(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},Xt=function(e){var t=T(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=Kt(e.sessionFields)),t},Wt=function(e){return{type:L,payload:{reason:e}}},Zt=function(e){return{type:F,payload:{reason:e}}},Qt=function(e){return void 0===e&&(e=!1),{type:G,payload:{fresh:e}}},$t=function(e){return{type:V,payload:{delay:e}}},en=function(e,n,r){return{type:X,payload:t({request:{action:e,payload:n}},r&&{source:r})}},tn=function(e,t){return{type:W,payload:{id:e,active:t}}},nn=function(e){return{type:Z,payload:{id:e}}},rn=function(e,t){t.payload.id=y(e.getState().requests);var n=Ve(),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},on=function(e){var t=e.getState();return"side_storage_"+t.organizationId+(t.uniqueGroups?":"+t.groupId:"")},an=function(e,t){var n=function(e,t){var n=e.getState();return"side_storage_"+t+(n.uniqueGroups?":"+n.groupId:"")}(e,t),r=on(e);return u(n).catch(I).then((function(e){return e?s(r,e).catch(I).then((function(){return d(n).catch(I).then((function(){return JSON.parse(e)})).catch(I)})):u(r).catch(I).then((function(e){return JSON.parse(e||"{}")})).catch(I)})).catch(I)},cn=function(e,t,n){var r=e.slice(0),o=!1;return function e(a){var i,c=r.shift();(i=function(){return c(a)},new Promise((function(e){e(i())}))).then((function(n){o||(r.length?e(n):t(n))}),(function(e){o||n(e)}))}(),{cancel:function(){o=!0}}},sn=function(e,t,n){return rn(e,en(t,n,"login"))};function un(e,n,r){var o,a,i=null,c={min:300,max:6e4,jitter:.3},s=Je(c),u=Je(t({},c,{min:1e3})),d=s,p=function(e){return o.dispatch(Wt(e))},l=function(){return o.dispatch($t(d.duration()))},f=function(){return Promise.all([e.getToken(),an(o,r)])},h=function(e){var t=e[0],n=e[1],r=et(o.getState());if(null===r)o.dispatch(nn(t.entityId));else if(r!==t.entityId){var a=Error("Identity has changed.");throw a.code=ae,a}return[t,n]},v=function(e){var t,r=e[0],a=e[1],c=o.getState(),s=c.application,u=c.groupId,d=c.page,p=c.referrer,l=c.mobile,f={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof n?Xt(n()):{},customer_side_storage:a,is_mobile:l,application:E(["name","version"],s)};return"number"==typeof u&&(f.group_id=u),s.channelType&&(f.application.channel_type=s.channelType),null!==d&&(i=d,f.customer_page=d),null!==p&&(f.referrer=p),Promise.race([sn(o,Ee,f),(t=15e3,new Promise((function(e){setTimeout(e,t)}))).then((function(){return Promise.reject(ut({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;o=t,null==(n=a)||n.cancel(),a=cn([f,h,v],(function(e){var t;a=null,s.reset(),u.reset(),d=s,t=o.getState().page,i!==t&&sn(o,je,t).catch(I),i=null,o.dispatch({type:H,payload:e})}),(function(t){switch(a=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void l();case oe:case ie:case se:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void l():void p(t.message);case"USERS_LIMIT_REACHED":return void o.dispatch(Zt(t.code.toLowerCase()));case ae:case"CUSTOMER_BANNED":case"WRONG_PRODUCT_VERSION":return void p(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return d=u,void l();default:return void l()}}))},cancel:function(){var e;null==(e=a)||e.cancel()}}}var dn,pn=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}})},ln=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:B,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},fn=Object.freeze({success:!0}),hn=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},vn=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},_n=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},hn(e,n),{type:Ut,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},vn(300,n)),high:t({url:n.thumbnail2x_url},vn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},hn(e,n),{type:Ut,contentType:n.content_type,url:n.url,name:n.name})},gn=function(e,r){return t({},hn(e,r),{type:zt,formId:r.form_id,fields:r.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,["group_id"]),{groupId:o})});default:return e}}))})},yn=function(e,n){return t({},hn(e,n),{type:Ht,text:n.text})},mn=function(e,n){return t({},hn(e,n),{type:Yt},n.content&&{content:n.content})},In=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.buttons&&(n.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var n={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(n.webviewHeight=e.webview_height),n;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),n},bn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},hn(e,n),{type:Ft,template:n.template_id,elements:n.elements.map(In)});default:return null}},En=function(e,n){var r=t({},hn(e,t({},n,{author_id:"system"})),{type:Gt,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Tn=function(e,n){switch(n.type){case Ut:return _n(e,n);case Lt:return function(e,n){return t({},hn(e,n),{authorId:"system",type:Lt,formId:n.form_id,fields:n.fields})}(e,n);case zt:return gn(e,n);case Ht:return yn(e,n);case Ft:return bn(e,n);case Gt:return En(e,n);case Yt:return mn(e,n);default:return null}},wn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:Tn(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}}},On=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Sn=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},kn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:On(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return Tn(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}},Pn=function(e){return{id:e.id,access:On(e.access),users:e.users.map(Rn),properties:e.properties||{},eventsSeenUpToMap:Sn(e.users)}},Cn=function(e){var t=T(["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},Nn=function(e){var n=Cn(e);return t({id:e.id,type:Ze},n,{sessionFields:n.sessionFields||{}})},xn=function(e){var n=e.statistics;return t({},Nn(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}})},jn=function(e){var t=e.agent;return{agent:{id:t.id,type:We,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},Dn=function(e){return{position:e.position,waitTime:e.wait_time}},qn=function(e){return t({},Dn(e),{queuedAt:e.queued_at})},Rn=function(e){return e.type===Ze?t({},Nn(r=e),{present:r.present}):{id:(n=e).id,type:We,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},An=((dn={}).CONNECTION_LOST="Connection lost.",dn.MISDIRECTED_CONNECTION="Connected to wrong region.",dn),Mn=function(e,t){var n=e.getState();switch(t.type){case J:case Y:switch(t.payload.action){case lt:return void e.dispatch(tn(t.payload.payload.chatId,!1));case St:return void e.dispatch(tn(t.payload.payload.chat.id,!0));default:return}case K:switch(t.payload.action){case me:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return tt(n,e.id)!==t})).forEach((function(t){e.dispatch(tn(t.id,t.active))}));default:return}}},Un=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==Ze)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},Ln=function(e,t){var n,r=t.content;"lc2"===t.type&&("groups_update"===r.name&&"groups"in r&&0!==(h(n=r.groups)?n:Object.keys(n)).length&&e("availability_updated",{availability:"offline"===r.groups[0].status?"offline":"online"}))},zn=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case qt:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(jt,{chatId:o.payload.chatId,threadId:o.payload.threadId,queue:{position:o.payload.properties.lc2.queue_pos,waitTime:o.payload.properties.lc2.queue_waiting_time}}),void n("thread_properties_updated",o.payload);case yt:return void function(e,t){s(on(e),JSON.stringify(t)).catch(I)}(r,o.payload.customer_side_storage);case _t:switch(o.payload.reason){case"access_token_expired":r.dispatch(Qt(!0)),r.dispatch($t(100)),n("disconnected",o.payload);break;case dt:case"customer_temporarily_blocked":case"license_not_found":case pt:case"too_many_connections":case"unsupported_version":r.dispatch(Wt(o.payload.reason));break;case"misdirected_connection":pn(r,ie),r.dispatch({type:M,payload:o.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":pn(r,o.payload.reason.toUpperCase());break;default:r.dispatch($t(100)),n("disconnected",o.payload)}return;case St:return Un(n,o.payload.chat.users),void n(o.action,o.payload);case kt:if(null===o.payload.event)return;return void n(o.action,o.payload);case xt:return void n(o.action,o.payload);case Ct:return Ln(n,o.payload),void n(o.action,o.payload);case Rt:return Un(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},Hn=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case lt:return void r.resolve(fn);case he:return Un(n,r.payload.users),void r.resolve(r.payload);case St:return Un(n,r.payload.chat.users),void r.resolve(r.payload);case kt:return void r.resolve(r.payload.event);case me:return Un(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},Fn=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=un(n,e.customerDataProvider,e.licenseId);return function(e,c){switch(e.type){case M:return void o.reinitialize();case U:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===et(r)&&e.dispatch(nn(t.entityId));var o=r.page;if(o&&o.url){var a=S({organization_id:r.organizationId}),i={session_fields:Kt(n||{}),group_id:r.groupId||0,page_url:o.url};return N(ot(r)+"/action/check_goals?"+a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(i)}).then((function(){}))}}))}(c,n,e.payload.sessionFields).catch(I);case L:var s=e.payload;switch(i.cancel(),o.destroy(),s.reason){case"manual":pn(c,se);break;case dt:case"license_expired":case pt:pn(c,oe),a("disconnected",s);break;default:a("disconnected",s)}return void r.off();case z:var u=e.payload,d=u.reason,p={message:An[d],code:d};return void u.rejects.forEach((function(e){e(ut(p))}));case H:var l=e.payload,f=l.dynamicConfig,h=l.chats,v=l.greeting,_=t({customer:l.customer,availability:l.availability},v&&{greeting:v});return Object.defineProperty(_,"__unsafeDynamicConfig",{value:f}),Object.defineProperty(_,"__unsafeChats",{value:h}),void a("connected",_);case F:var g=e.payload;return o.disconnect(),void("manual"!==g.reason&&a("disconnected",g));case G:return e.payload.fresh?void n.getFreshToken().catch(I):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(I);case Y:return e.payload.action===_t||Mn(c,e),void zn({emit:a,store:c},e);case J:return Mn(c,e),void Hn({emit:a},e);case V:return pn(c,oe),void o.reconnect(e.payload.delay);case B:var y=e.payload;return void(0,y.reject)(ut(y.error));case K:return Mn(c,e),void Hn({emit:a},e);case X:var E=c.getState();return function(e){return Qe(e)===Ke}(E)?void ln(c,e,{code:se,message:"SDK destroyed."}):nt(E)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);switch(o.action){case Ee:var a=[];return void e.emit(t({},o,{version:"3.4",payload:t({},o.payload,{pushes:{3.4:b(Mt).filter((function(e){return e!==_t&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void ln(c,e,{code:"NO_CONNECTION",message:"No connection."});case Z:return void a("customer_id",e.payload.id);case $:return void a("disconnected",{reason:"connection_lost"});case Q:return void i.sendLogin(c);case ee:if(!nt(c.getState()))return;return void a("connection_recovered");case te:if(!nt(c.getState()))return;return void a("connection_unstable");case ne:return o.connect(),void c.dispatch(Qt());case re:if(!nt(c.getState()))return;return void rn(c,en(je,e.payload)).catch(I);default:return}}},Gn=function(e,t){var n,r=(void 0===t?{}:t).query,o=S(void 0===r?{}:r),a=o?e+"?"+o:e,i=A(),c=Je({min:1e3,max:5e3,jitter:.5}),s=3,u=null,d=function(){s=1,c.reset(),i.emit("connect")},p=function(){f(),v(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),s=3,u)&&((e=u).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),u.close(),u=null)},h=function(){var e;s=0,u=new WebSocket(a),(e=u).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},v=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(h,e):h()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){if(3!==s)throw Error("Socket is already open or connecting.");clearTimeout(n),h()})),destroy:function(){i.off(),f()},disconnect:f,reconnect:v,emit:function(e){if(1!==s)throw Error("Socket is not connected.");u.send(e)},getReadyState:function(){return s},on:i.on,off:i.off}},Yn=function(e,n){var r,o,a,i,c=void 0===n?{}:n,s=c.query,u=void 0===s?{}:s,d=c.emitter,p=void 0===d?A():d,l=Gn(e,{query:u}),f=(o=I,{cancel:function(){clearTimeout(r),o=I},check:function(){var e=Ve();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()}))}),h=function(){return 1===l.getReadyState()},v=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",v),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(){h()&&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(),h()&&p.emit("connection_unstable")}))),t({},l,{destroy:function(){v(),l.destroy()},disconnect:function(){v(),l.disconnect()},reconnect:function(e){v(),l.reconnect(e)},emit:function(e){l.emit(JSON.stringify(e))},on:p.on,off:p.off})},Jn=function(e,t){var n=e.getState(),r=(ot(n)+"/rtm/ws").replace(/^https/,"wss");return Yn(r,{query:{organization_id:n.organizationId},emitter:t})},Vn=function(e){return{chatId:e.chat_id,properties:e.properties}},Bn=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})},Kn=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},Xn=function(e){return t({id:e.id},Cn(e))},Wn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Zn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Qn=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Tn(t,e.event)}},$n=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},er=function(e){return{uniqueId:e.unique_id}},tr=function(e){var n=e.chat;return{chat:t({},Pn(n),{thread:kn(n.id,n.thread)})}},nr=function(e){return{chatId:e.chat_id,event:Tn(e.thread_id,e.event)}},rr=function(e){return wn(e)},or=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},ar=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},ir=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:Dn(e.queue)}},cr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},sr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},ur=function(e){return{chatId:e.chat_id,user:Rn(e.user),present:e.user.present}},dr=function(e){return{chatId:e.chat_id,userId:e.user_id}},pr=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,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},lr=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+""})})),pr(r)):pr(e.fields)}},fr=function(e){return e.enabled?t({},e,{form:lr(e.form)}):e},hr=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(C,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},vr=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:On(e.access),properties:a,users:i.map(Rn),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Sn(i)};if(!r)return c;c.lastEventsPerType=_((function(e){return Tn(e.thread_id,e.event)}),r);var s,u=r,d=Object.keys(u).map((function(e){return u[e]})),p=(s=d.sort((function(e,t){return e.thread_id===t.thread_id?O(e.event.created_at,t.event.created_at):O(e.thread_created_at,t.thread_created_at)}))).length>0?s[s.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)},(h(a)?[].concat(a):b(a)).sort((function(e,t){return i(e)-i(t)}))),totalChats:e.total_chats,users:(t=function(e){return e.id},n=f((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}},_r=function(e){return e.groups_status},gr=function(e,t){return{threads:t.threads.map((function(t){return kn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},yr=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&&m(n.customer_groups.monitoring.id,r)?"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:wn(i)})},mr=function(e){switch(e.action){case lt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case ft:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case ht:return{action:e.action,payload:Vn(e.payload)};case vt:return{action:e.action,payload:Bn(e.payload)};case yt:case _t:return{action:e.action,payload:e.payload};case gt:return{action:e.action,payload:Kn(e.payload)};case mt:return{action:e.action,payload:Xn(e.payload)};case It:return{action:e.action,payload:Wn(e.payload)};case bt:return{action:e.action,payload:Zn(e.payload)};case Et:return{action:e.action,payload:Qn(e.payload)};case Tt:return{action:e.action,payload:$n(e.payload)};case wt:case Ot:return{action:e.action,payload:er(e.payload)};case St:return{action:e.action,payload:tr(e.payload)};case kt:return{action:e.action,payload:nr(e.payload)};case Pt:return{action:e.action,payload:rr(e.payload)};case Ct:return{action:e.action,payload:e.payload};case Nt:return{action:e.action,payload:or(e.payload)};case xt:return{action:e.action,payload:ar(e.payload)};case jt:return{action:e.action,payload:ir(e.payload)};case Dt:return{action:e.action,payload:cr(e.payload)};case qt:return{action:e.action,payload:sr(e.payload)};case Rt:return{action:e.action,payload:ur(e.payload)};case At:return{action:e.action,payload:dr(e.payload)}}var t},Ir=function(e,n){var r=e.dispatch,o=n.request_id,a=$e((0,e.getState)(),o),i=a.promise,c=a.resolve,s=function(e){var n,r=e.request,o=e.response;switch(o.action){case ue:case de:case pe:case le:case fe:return{action:o.action,payload:fn};case he:return{action:o.action,payload:(n=o.payload,t({},Pn(n),{thread:n.thread?kn(n.id,n.thread):null}))};case ve:return{action:o.action,payload:xn(o.payload)};case _e:return{action:o.action,payload:fr(o.payload)};case ge:return{action:o.action,payload:jn(o.payload)};case ye:return{action:o.action,payload:hr(o.payload)};case me:return{action:o.action,payload:vr(o.payload)};case Ie:return{action:o.action,payload:_r(o.payload)};case be:return{action:o.action,payload:gr(r,o.payload)};case Ee:return{action:o.action,payload:yr(o.payload)};case Te:case ke:case Pe:case Se:case Ne:case xe:case je:case De:case qe:return{action:o.action,payload:fn}}}({request:a.request,response:n});r({type:K,payload:t({id:o,promise:i,resolve:c},s)})},br=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:Q})})),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=$e((0,e.getState)(),o);r({type:B,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case we:case Oe:case Ce:return;default:return void Ir(e,n)}}if("request_id"in n)switch(n.action){case St:case kt:return void function(e,n){var r=e.dispatch,o=n.request_id,a=$e((0,e.getState)(),o),i=a.promise,c=a.resolve,s=mr(n);r({type:J,payload:t({id:o,promise:i,resolve:c},s)})}(e,n)}!function(e,t){var n=mr(t);n&&e.dispatch({type:Y,payload:n})}(e,n)})),n.on("disconnect",(function(){pn(e,oe),Qe(e.getState())===Be&&e.dispatch({type:$})})),n.on("connection_unstable",(function(){r({type:te})})),n.on("connection_recovered",(function(){r({type:ee})})),n.off},Er="incorrect requester structure",Tr=function(e,t){return e.length?e+"\n"+t:t},wr=function(e,n,r){var o=r.filledForm,a=r.groupId,i=r.licenseId,c=r.timeZone;return n.getToken().then((function(n){var r=e.getState();null===et(r)&&e.dispatch(nn(n.entityId));var s=rt(r)+"/v2/tickets/new",u=function(e,n){var r=n.fields,o=n.groupId,a=void 0===o?e.groupId:o,i=n.timeZone,c=t({licence_id:n.licenseId,ticket_message:"",offline_message:"",visitor_id:n.customerId,requester:{}},"number"==typeof a&&{group:a},e.page&&{source:{url:e.page.url}},i&&{timezone:i});return r.reduce((function(e,t){switch(t.type){case"subject":var n=t.answer,r=n?t.label+" "+n:t.label;return n&&(e.subject=n),e.offline_message=Tr(e.offline_message,r),e;case"name":var o=t.answer,a=o?t.label+" "+o:t.label;return o&&(e.requester.name=o),e.offline_message=Tr(e.offline_message,a),e;case"email":var i=t.answer,c=i?t.label+" "+i:t.label;return e.requester.mail=i,e.offline_message=Tr(e.offline_message,c),e;case"question":case"textarea":var s=t.answer,u=s?t.label+" "+s:t.label;return e.offline_message=Tr(e.offline_message,u),e.ticket_message=Tr(e.ticket_message,u),e;case"radio":case"select":var d=t.answer&&t.answer.label,p=d?t.label+" "+d:t.label;return e.offline_message=Tr(e.offline_message,p),e.ticket_message=Tr(e.ticket_message,p),e;case"checkbox":var l=t.answers&&t.answers.map((function(e){return e.label})).join(", "),f=l?t.label+" "+l:t.label;return e.offline_message=Tr(e.offline_message,f),e.ticket_message=Tr(e.ticket_message,f),e;default:return e}}),c)}(r,{fields:o.fields,customerId:n.entityId,groupId:a,licenseId:i,timeZone:c});return N(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(e){if(e.ok)return e.json().then((function(e){return t({},e,{text:u.ticket_message})}));if(400===e.status||422===e.status){var n=function(e){if(!e||!e.errors)throw Error();var t=e.errors[0];if(Object.keys(t)[0]===Er)throw ut({message:t[Er][0],code:"VALIDATION"});throw Error()};return e.json().then(n,n)}throw Error()}))}))},Or="UPLOAD_FAILED",Sr=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,s=r.withCredentials,u=void 0!==s&&s,d=new XMLHttpRequest;return{promise:new Promise((function(n,r){var a,s;"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=Or,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=Or,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=u,o&&Object.keys(o).forEach((function(e){return d.setRequestHeader(e,o[e])})),d.send((a=t,s=new FormData,Object.keys(a).forEach((function(e){return s.append(e,a[e])})),s))})),cancel:function(){d.abort()}}},kr=1048576,Pr=10485760,Cr=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(kr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},Nr=function(e,t){var n,r=e.auth,o=e.store,a=t.file,i=t.onProgress,c=!1;return{promise:new Promise((function(e,t){!function(e){if(e.size>Pr)throw ut({message:"The file is too big (max size is "+Cr(Pr)+").",code:"TOO_BIG_FILE"})}(a);var s=o.getState(),u=S({organization_id:s.organizationId}),d=ot(s)+"/action/upload_file?"+u,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=Sr(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(ut({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},xr=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:"3.1.3"})};return function(e,t){return new Promise((function(n){var r=new Image;r.src=e+"?"+t,r.onerror=I,r.onload=function(){return n()}}))}("https://queue.livechatinc.com/logs",S(r))},jr="LISTENER_IDENTITY",Dr={},qr=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}),{})},Rr=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,jr,{value:{}}),n.LISTENER_IDENTITY[t])return Dr[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=y(Dr);return n.LISTENER_IDENTITY[t]=o,Dr[o]=r,r};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,s=r.auth,u=n(r,["on","once","off","getChatHistory","auth"]),d=qr(u);return Object.freeze(t({auth:Object.freeze(qr(s,".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.LISTENER_IDENTITY&&(n=Dr[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,Rr("on",e,t))},once:function(e,t){a(e,Rr("once",e,t))}}))},e.init=function(e,r,o){void 0===r&&(r="production"),q(e);var a=e.autoConnect,i=void 0===a||a,c=e.customerDataProvider,s=e.identityProvider,u=n(e,["autoConnect","customerDataProvider","identityProvider"]),d=st(t({},u,{env:r})),p=A(),l=function(e){var n=A(),r=Jn(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=Jn(e,n)).connect()}})}(d),f="function"==typeof s?s():R(u,o,r);d.addSideEffectsHandler(Fn({emitter:p,socket:l,auth:f,customerDataProvider:c,licenseId:o})),br(d,l);var h=rn.bind(null,d),v=function(){d.dispatch({type:ne})},_=Object.freeze({acceptGreeting:function(e){return h(en(ue,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:f,cancelGreeting:function(e){return h(en(de,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return _.listThreads({chatId:t}).then((function(e){var n=e.threads;if(!n.length)throw ut({message:'There is no thread in "'+t+'".',code:ce});return _.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:v,deactivateChat:function(e){return h(en("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return h(en(pe,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return h(en(le,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return h(en(fe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){d.dispatch(Wt("manual"))},disconnect:function(){d.dispatch(Zt("manual"))},getChat:function(e){return h(en(he,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function r(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)}))}}(_,e.chatId)},getCustomer:function(){return h(en(ve,{}))},getForm:function(e){return h(en(_e,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return h(en(ge,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return h(en(ye,{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).")):h(en(me,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return h(en(Ie,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return h(en(be,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 h(en(Te,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:p.on,once:p.once,off:p.off,rateChat:function(e){var t=e.chatId,n=e.rating;return _.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw ut({message:'There is no thread in "'+t+'".',code:ce});return _.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return xr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),h(en(we,function(e){var n=Bt(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(e){return h(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:Vt(e.event)};return t&&(n.attach_to_last_thread=!0),en(Oe,n)}(e))})),sendTicketForm:function(e){return wr(d,f,e)},sendRichMessagePostback:function(e){return h(en(Se,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return h(en(Pe,{session_fields:Kt(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=d.getState();tt(r,t)&&nt(r)&&h(en(ke,{chat_id:t,sneak_peek_text:n})).catch(I)},startChat:function(t){return void 0===t&&(t={}),xr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),h(en(Ce,Bt(t)))},updateChatProperties:function(e){return h(en(Ne,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return h(en(xe,Xt(e)))},updateCustomerPage:function(e){d.dispatch({type:re,payload:T(["title","url"],e)})},updateEventProperties:function(e){return h(en(De,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return h(en(qe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return Nr({auth:f,store:d},e)}});return i?v():d.dispatch({type:U,payload:{sessionFields:"function"==typeof c?c().sessionFields:{}}}),_},e.parseCustomEvent=mn,e.parseEvent=Tn,e.parseFile=_n,e.parseFilledForm=gn,e.parseForm=lr,e.parseGreeting=wn,e.parseMessage=yn,e.parseRichMessage=bn,e.parseSystemMessage=En,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)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)0>t.indexOf(n=a[r])&&(o[n]=e[n]);return o}function r(e){var t=function(e,t){if("object"!=typeof e||null===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)}}}(),c=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?!1:(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i,s=function(e,t){return new Promise((function(n){return n(c.setItem(e,t))}))},u=function(e){return new Promise((function(t){return t(c.getItem(e))}))},d=function(e){return new Promise((function(t){return t(c.removeItem(e))}))},p={}.hasOwnProperty;function l(e,t){return p.call(t,e)}function f(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function h(e){return Array.isArray(e)}function v(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 v(t).reduce((function(n,r){return n[r]=e(t[r]),n}),{})}function y(e){return e}function g(e){var t=Math.random().toString(36).substring(2);return l(t,e)?g(e):t}function m(e,t){return-1!==t.indexOf(e)}function I(){}function b(e){return v(e).map((function(t){return e[t]}))}function E(e,t){return e.reduce((function(e,n){return e[n]=t[n],e}),{})}function T(e,t){return e.reduce((function(e,n){return l(n,t)&&(e[n]=t[n]),e}),{})}function w(e){return v(e).map((function(t){return[t,e[t]]}))}function O(e,t){return e===t?0:t>e?-1:1}var S=function(e){return w(e).map((function(e){return e.map(encodeURIComponent).join("=")})).join("&")},k=/[^:]+:\/\/[^(/|?)\s]+/,P=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")},C=(RegExp("^[\0-]*("+P("javascript")+"|"+P("data")+"):","i"),/^((http(s)?:)?\/\/)/);function N(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},s=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:s,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 u 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(s())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(u,t.headers[u]);o.send(t.body||null)}))}var x="https://accounts.livechatinc.com",j=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},D=function(e,t){return N(""+function(e,t){return""+("production"===t?x:x.replace("accounts.","accounts."+t+"."))+function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e)}(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(k),(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 j({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw j({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},q=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},R=function(e,t,n){q(e);var r=e.tokenStoragePrefix||"@@lc_auth_token:",o=""+r+t+(e.uniqueGroups?":"+e.groupId:""),a=""+r+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,p=u(o).then((function(e){null!==p&&(p=null,e?s(a,e).then((function(){d(o).then((function(){c=JSON.parse(e)}))})):d(o).then((function(){return u(a).then((function(e){e&&(c=JSON.parse(e))}))})))})),l=function(){return i=D(e,n).then((function(e){return i=null,s(a,JSON.stringify(e)),c=e,e}),(function(e){throw i=null,e}))};return{getFreshToken:l,getToken:function e(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):p?p.then(e):l())},hasToken:function e(){return p?p.then(e):Promise.resolve(!!c)},invalidate:function(){return c=null,p=null,d(a)}}};var A=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,["all"]);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)}))}})},M="change_region",U="check_goals",L="destroy",H="fail_all_requests",F="login_success",G="pause_connection",z="prefetch_token",Y="push_received",V="push_response_received",J="reconnect",B="request_failed",K="response_received",X="send_request",W="set_chat_active",Z="set_self_id",Q="socket_connected",$="socket_disconnected",ee="socket_recovered",te="socket_unstable",ne="start_connection",re="update_customer_page",oe="CONNECTION_LOST",ae="IDENTITY_MISMATCH",ie="MISDIRECTED_CONNECTION",ce="MISSING_CHAT_THREAD",se="SDK_DESTROYED",ue="accept_greeting",de="cancel_greeting",pe="delete_chat_properties",le="delete_event_properties",fe="delete_thread_properties",he="get_chat",ve="get_customer",_e="get_form",ye="get_predicted_agent",ge="get_url_info",me="list_chats",Ie="list_group_statuses",be="list_threads",Ee="login",Te="mark_events_as_seen",we="resume_chat",Oe="send_event",Se="send_rich_message_postback",ke="send_sneak_peek",Pe="set_customer_session_fields",Ce="start_chat",Ne="update_chat_properties",xe="update_customer",je="update_customer_page",De="update_event_properties",qe="update_thread_properties";var Re=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")()),Ae=function(){return Math.random().toString(36).substring(7).split("").join(".")},Me={INIT:"@@redux/INIT"+Ae(),REPLACE:"@@redux/REPLACE"+Ae(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Ae()}};function Ue(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}function Le(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(Le)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,s=!1;function u(){c===i&&(c=i.slice())}function d(){if(s)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(s)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 u(),c.push(e),function(){if(t){if(s)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,u();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!Ue(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(s)throw Error("Reducers may not dispatch actions.");try{s=!0,a=o(a,e)}finally{s=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}function f(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:Me.REPLACE})}function h(){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)}}})[Re]=function(){return this},e}return l({type:Me.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[Re]=h,r}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fe(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 Ge(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fe(n,!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fe(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ze(){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 Ye(){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 Ge({},n,{dispatch:r=ze.apply(void 0,a)(n.dispatch)})}}}var Ve=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=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,o)},reset:function(){c=0}}};var Je="connected",Be="destroyed",Ke="disconnected",Xe="agent",We="customer",Ze=function(e){return e.connection.status},Qe=function(e,t){return e.requests[t]},$e=function(e){return e.users.self.id},et=function(e,t){var n=e.chats[t];return!!n&&n.active},tt=function(e){return Ze(e)===Je},nt=function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+function(e){var t=e.env;return 1520===e.licenseId?".staging":"production"===t?"":"."+t}(e)+".livechatinc.com"},rt=function(e){return nt(e)+"/v3.3/customer"},ot=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},at=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},it=function(e){var n,r,o;return r=e,(n={}).change_region=function(e,n){return t({},e,{region:n.region})},n.destroy=function(e){return at(Be,e)},n.login_success=function(e){return at(Je,e)},n.pause_connection=function(e){return at("paused",e)},n.request_failed=ot,n.response_received=ot,n.push_response_received=ot,n.send_request=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.set_chat_active=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.set_self_id=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n.socket_disconnected=function(e){var n=Ze(e);return t({},at(n===Ke?Ke:"reconnecting",e),{requests:{}})},n.update_customer_page=function(e,n){return t({},e,{page:t({},e.page,n)})},(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),l(t.type,o)?o[t.type](e,t.payload):e}};function ct(e){var n=y,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=Le(it(function(e){var n=e.application,r=e.licenseId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,s=void 0===c?null:c,u=e.region,d=void 0===u?null:u,p=e.referrer,l=void 0===p?null:p,f=e.uniqueGroups,h=void 0!==f&&f,v=e.mobile,_=void 0!==v&&v;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"3.1.4"}),licenseId:r,env:i,groupId:a,chats:{},connection:{status:Ke},page:s,region:d,referrer:l,requests:{},users:{self:{id:null,type:We},others:{}},uniqueGroups:h,mobile:_}}(e)),n(Ye(r)));return o.addSideEffectsHandler=r.add,o}function st(e){var t=e.code,n=Error(e.message);return n.code=t,n}var ut="customer_banned",dt="product_version_changed",pt="chat_deactivated",lt="chat_properties_deleted",ft="chat_properties_updated",ht="chat_transferred",vt="customer_disconnected",_t="customer_page_updated",yt="customer_side_storage_updated",gt="customer_updated",mt="event_properties_deleted",It="event_properties_updated",bt="event_updated",Et="events_marked_as_seen",Tt="greeting_accepted",wt="greeting_canceled",Ot="incoming_chat",St="incoming_event",kt="incoming_greeting",Pt="incoming_multicast",Ct="incoming_rich_message_postback",Nt="incoming_typing_indicator",xt="queue_position_updated",jt="thread_properties_deleted",Dt="thread_properties_updated",qt="user_added_to_chat",Rt="user_removed_from_chat",At=Object.freeze({__proto__:null,CHAT_DEACTIVATED:pt,CHAT_PROPERTIES_DELETED:lt,CHAT_PROPERTIES_UPDATED:ft,CHAT_TRANSFERRED:ht,CUSTOMER_DISCONNECTED:vt,CUSTOMER_PAGE_UPDATED:_t,CUSTOMER_SIDE_STORAGE_UPDATED:yt,CUSTOMER_UPDATED:gt,EVENT_PROPERTIES_DELETED:mt,EVENT_PROPERTIES_UPDATED:It,EVENT_UPDATED:bt,EVENTS_MARKED_AS_SEEN:Et,GREETING_ACCEPTED:Tt,GREETING_CANCELED:wt,INCOMING_CHAT:Ot,INCOMING_EVENT:St,INCOMING_GREETING:kt,INCOMING_MULTICAST:Pt,INCOMING_RICH_MESSAGE_POSTBACK:Ct,INCOMING_TYPING_INDICATOR:Nt,QUEUE_POSITION_UPDATED:xt,THREAD_PROPERTIES_DELETED:jt,THREAD_PROPERTIES_UPDATED:Dt,USER_ADDED_TO_CHAT:qt,USER_REMOVED_FROM_CHAT:Rt}),Mt="file",Ut="form",Lt="filled_form",Ht="message",Ft="rich_message",Gt="system_message",zt="custom",Yt=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||h(t)||(n.properties=e.properties),n},Vt=function(e){switch(e.type){case Ht:var r=t({},Yt(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 Mt:return t({},Yt(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case Lt:return t({},Yt(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case Gt:var o=t({},Yt(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case zt:var a=t({},Yt(e),{type:e.type});return e.content&&(a.content=e.content),a}},Jt=function(e){var t=e.active,n=e.chat,r=e.continuous,o={active:void 0===t||t,chat:{}};if("boolean"==typeof r&&(o.continuous=r),!n)return o;var a=n.access,i=n.thread,c=n.properties;return a&&a.groupIds&&(o.chat.access={group_ids:a.groupIds}),c&&(o.chat.properties=c),i&&(o.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(Vt)),r&&(t.properties=r),t}(i)),o},Bt=function(e){return w(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},Kt=function(e){var t=T(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=Bt(e.sessionFields)),t},Xt=function(e){return{type:L,payload:{reason:e}}},Wt=function(e){return{type:G,payload:{reason:e}}},Zt=function(e){return void 0===e&&(e=!1),{type:z,payload:{fresh:e}}},Qt=function(e){return{type:J,payload:{delay:e}}},$t=function(e,n,r){return{type:X,payload:t({request:{action:e,payload:n}},r&&{source:r})}},en=function(e,t){return{type:W,payload:{id:e,active:t}}},tn=function(e){return{type:Z,payload:{id:e}}};var nn=function(e,t){t.payload.id=g(e.getState().requests);var n,r=((n={}).promise=new Promise((function(e,t){n.resolve=e,n.reject=t})),n),o=r.resolve,a=r.reject,i=r.promise;return t.payload.promise=i,t.payload.resolve=o,t.payload.reject=a,e.dispatch(t),i},rn=function(e){var t=e.getState();return"side_storage_"+t.licenseId+(t.uniqueGroups?":"+t.groupId:"")},on=function(e){return u(rn(e)).catch(I).then((function(e){return JSON.parse(e||"{}")})).catch((function(){return{}}))},an=function(e,t,n){var r=e.slice(0),o=!1;return function e(a){var i,c=r.shift();(i=function(){return c(a)},new Promise((function(e){e(i())}))).then((function(n){o||(r.length?e(n):t(n))}),(function(e){o||n(e)}))}(),{cancel:function(){o=!0}}},cn=function(e,t,n){return nn(e,$t(t,n,"login"))};function sn(e,n){var r,o,a=null,i={min:300,max:6e4,jitter:.3},c=Ve(i),s=Ve(t({},i,{min:1e3})),u=c,d=function(e){return r.dispatch(Xt(e))},p=function(){return r.dispatch(Qt(u.duration()))},l=function(){return Promise.all([e.getToken(),on(r)])},f=function(e){var t=e[0],n=e[1],o=$e(r.getState());if(null===o)r.dispatch(tn(t.entityId));else if(o!==t.entityId){var a=Error("Identity has changed.");throw a.code=ae,a}return[t,n]},h=function(e){var t,o=e[0],i=e[1],c=r.getState(),s=c.application,u=c.groupId,d=c.page,p=c.referrer,l=c.mobile,f={token:o.tokenType+" "+o.accessToken,customer:"function"==typeof n?Kt(n()):{},customer_side_storage:i,is_mobile:l,application:E(["name","version"],s)};return"number"==typeof u&&(f.group_id=u),s.channelType&&(f.application.channel_type=s.channelType),null!==d&&(a=d,f.customer_page=d),null!==p&&(f.referrer=p),Promise.race([cn(r,Ee,f),(t=15e3,new Promise((function(e){setTimeout(e,t)}))).then((function(){return Promise.reject(st({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;r=t,null==(n=o)||n.cancel(),o=an([l,f,h],(function(e){var t;o=null,c.reset(),s.reset(),u=c,t=r.getState().page,a!==t&&cn(r,je,t).catch(I),a=null,r.dispatch({type:F,payload:e})}),(function(t){switch(o=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void p();case oe:case ie:case se:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void p():void d(t.message);case"USERS_LIMIT_REACHED":return void r.dispatch(Wt(t.code.toLowerCase()));case ae:case"CUSTOMER_BANNED":case"WRONG_PRODUCT_VERSION":return void d(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return u=s,void p();default:return void p()}}))},cancel:function(){var e;null==(e=o)||e.cancel()}}}var un,dn=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:H,payload:{rejects:Object.keys(r).map((function(e){return r[e].reject})),reason:t}})},pn=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:B,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},ln=Object.freeze({success:!0}),fn=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},hn=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},vn=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},fn(e,n),{type:Mt,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},hn(300,n)),high:t({url:n.thumbnail2x_url},hn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},fn(e,n),{type:Mt,contentType:n.content_type,url:n.url,name:n.name})},_n=function(e,r){return t({},fn(e,r),{type:Lt,formId:r.form_id,fields:r.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,["group_id"]),{groupId:o})});default:return e}}))})},yn=function(e,n){return t({},fn(e,n),{type:Ht,text:n.text})},gn=function(e,n){return t({},fn(e,n),{type:zt},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.buttons&&(n.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var n={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(n.webviewHeight=e.webview_height),n;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),n},In=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},fn(e,n),{type:Ft,template:n.template_id,elements:n.elements.map(mn)});default:return null}},bn=function(e,n){var r=t({},fn(e,t({},n,{author_id:"system"})),{type:Gt,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},En=function(e,n){switch(n.type){case Mt:return vn(e,n);case Ut:return function(e,n){return t({},fn(e,n),{authorId:"system",type:Ut,formId:n.form_id,fields:n.fields})}(e,n);case Lt:return _n(e,n);case Ht:return yn(e,n);case Ft:return In(e,n);case Gt:return bn(e,n);case zt:return gn(e,n);default:return null}},Tn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:En(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}}},wn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},On=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},Sn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:wn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return En(t.id,e)})).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?Dn(t.queue):null}},kn=function(e){return{id:e.id,access:wn(e.access),users:e.users.map(qn),properties:e.properties||{},eventsSeenUpToMap:On(e.users)}},Pn=function(e){var t=T(["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},Cn=function(e){var n=Pn(e);return t({id:e.id,type:We},n,{sessionFields:n.sessionFields||{}})},Nn=function(e){var n=e.statistics;return t({},Cn(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}})},xn=function(e){var t=e.agent;return{agent:{id:t.id,type:Xe,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},jn=function(e){return{position:e.position,waitTime:e.wait_time}},Dn=function(e){return t({},jn(e),{queuedAt:e.queued_at})},qn=function(e){return e.type===We?t({},Cn(r=e),{present:r.present}):{id:(n=e).id,type:Xe,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},Rn=((un={}).CONNECTION_LOST="Connection lost.",un.MISDIRECTED_CONNECTION="Connected to wrong region.",un),An=function(e,t){var n=e.getState();switch(t.type){case V:case Y:switch(t.payload.action){case pt:return void e.dispatch(en(t.payload.payload.chatId,!1));case Ot:return void e.dispatch(en(t.payload.payload.chat.id,!0));default:return}case K:switch(t.payload.action){case me:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return et(n,e.id)!==t})).forEach((function(t){e.dispatch(en(t.id,t.active))}));default:return}}},Mn=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==We)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},Un=function(e,t){var n,r=t.content;"lc2"===t.type&&("groups_update"===r.name&&"groups"in r&&0!==(h(n=r.groups)?n:Object.keys(n)).length&&e("availability_updated",{availability:"offline"===r.groups[0].status?"offline":"online"}))},Ln=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case Dt:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(xt,{chatId:o.payload.chatId,threadId:o.payload.threadId,queue:{position:o.payload.properties.lc2.queue_pos,waitTime:o.payload.properties.lc2.queue_waiting_time}}),void n("thread_properties_updated",o.payload);case yt:return void function(e,t){s(rn(e),JSON.stringify(t)).catch(I)}(r,o.payload.customer_side_storage);case vt:switch(o.payload.reason){case"access_token_expired":r.dispatch(Zt(!0)),r.dispatch(Qt(100)),n("disconnected",o.payload);break;case ut:case"customer_temporarily_blocked":case"license_not_found":case dt:case"too_many_connections":case"unsupported_version":r.dispatch(Xt(o.payload.reason));break;case"misdirected_connection":dn(r,ie),r.dispatch({type:M,payload:o.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":dn(r,o.payload.reason.toUpperCase());break;default:r.dispatch(Qt(100)),n("disconnected",o.payload)}return;case Ot:return Mn(n,o.payload.chat.users),void n(o.action,o.payload);case St:if(null===o.payload.event)return;return void n(o.action,o.payload);case Nt:return void n(o.action,o.payload);case Pt:return Un(n,o.payload),void n(o.action,o.payload);case qt:return Mn(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},Hn=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case pt:return void r.resolve(ln);case he:return Mn(n,r.payload.users),void r.resolve(r.payload);case Ot:return Mn(n,r.payload.chat.users),void r.resolve(r.payload);case St:return void r.resolve(r.payload.event);case me:return Mn(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},Fn=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=sn(n,e.customerDataProvider);return function(e,c){switch(e.type){case M:return void o.reinitialize();case U:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===$e(r)&&e.dispatch(tn(t.entityId));var o=r.page;if(o&&o.url){var a=S({license_id:r.licenseId}),i={session_fields:Bt(n||{}),group_id:r.groupId||0,page_url:o.url};return N(rt(r)+"/action/check_goals?"+a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(i)}).then((function(){}))}}))}(c,n,e.payload.sessionFields).catch(I);case L:var s=e.payload;switch(i.cancel(),o.destroy(),s.reason){case"manual":dn(c,se);break;case ut:case"license_expired":case dt:dn(c,oe),a("disconnected",s);break;default:a("disconnected",s)}return void r.off();case H:var u=e.payload,d=u.reason,p={message:Rn[d],code:d};return void u.rejects.forEach((function(e){e(st(p))}));case F:var l=e.payload,f=l.dynamicConfig,h=l.chats,v=l.greeting,_=t({customer:l.customer,availability:l.availability},v&&{greeting:v});return Object.defineProperty(_,"__unsafeDynamicConfig",{value:f}),Object.defineProperty(_,"__unsafeChats",{value:h}),void a("connected",_);case G:var y=e.payload;return o.disconnect(),void("manual"!==y.reason&&a("disconnected",y));case z:return e.payload.fresh?void n.getFreshToken().catch(I):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(I);case Y:return e.payload.action===vt||An(c,e),void Ln({emit:a,store:c},e);case V:return An(c,e),void Hn({emit:a},e);case J:return dn(c,oe),void o.reconnect(e.payload.delay);case B:var g=e.payload;return void(0,g.reject)(st(g.error));case K:return An(c,e),void Hn({emit:a},e);case X:var E=c.getState();return function(e){return Ze(e)===Be}(E)?void pn(c,e,{code:se,message:"SDK destroyed."}):tt(E)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);switch(o.action){case Ee:var a=[];return void e.emit(t({},o,{version:"3.3",payload:t({},o.payload,{pushes:{3.3:b(At).filter((function(e){return e!==vt&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void pn(c,e,{code:"NO_CONNECTION",message:"No connection."});case Z:return void a("customer_id",e.payload.id);case $:return void a("disconnected",{reason:"connection_lost"});case Q:return void i.sendLogin(c);case ee:if(!tt(c.getState()))return;return void a("connection_recovered");case te:if(!tt(c.getState()))return;return void a("connection_unstable");case ne:return o.connect(),void c.dispatch(Zt());case re:if(!tt(c.getState()))return;return void nn(c,$t(je,e.payload)).catch(I);default:return}}},Gn=function(e,t){var n,r=(void 0===t?{}:t).query,o=S(void 0===r?{}:r),a=o?e+"?"+o:e,i=A(),c=Ve({min:1e3,max:5e3,jitter:.5}),s=3,u=null,d=function(){s=1,c.reset(),i.emit("connect")},p=function(){f(),v(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),s=3,u)&&((e=u).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),u.close(),u=null)},h=function(){var e;s=0,u=new WebSocket(a),(e=u).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},v=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(h,e):h()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){if(3!==s)throw Error("Socket is already open or connecting.");clearTimeout(n),h()})),destroy:function(){i.off(),f()},disconnect:f,reconnect:v,emit:function(e){if(1!==s)throw Error("Socket is not connected.");u.send(e)},getReadyState:function(){return s},on:i.on,off:i.off}},zn=function(){var e,t=I;return{cancel:function(){clearTimeout(e),t=I},check:function(){var n=function(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}();return t=n.resolve,e=setTimeout((function(){var e=Error("Timeout.");e.code="TIMEOUT",n.reject(e)}),2e3),n.promise},resolve:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){clearTimeout(e),t()}))}},Yn=function(e,n){var r=e.getState();return function(e,n){var r,o,a=void 0===n?{}:n,i=a.query,c=void 0===i?{}:i,s=a.emitter,u=void 0===s?A():s,d=Gn(e,{query:c}),p=zn(),l=function(){return 1===d.getReadyState()},f=function(){p.cancel()};return r=d,o=u,["connect","disconnect"].forEach((function(e){r.on(e,(function(t){o.emit(e,t)}))})),d.on("disconnect",f),d.on("message",(function(e){p.resolve();var t=JSON.parse(e);u.emit("message",t)})),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",(function(){l()&&p.check().then((function(){p.cancel(),u.emit("connection_recovered")}),(function(e){if(p.cancel(),"TIMEOUT"!==e.code)throw e;d.reconnect()}))})),window.addEventListener("offline",(function(){p.cancel(),l()&&u.emit("connection_unstable")}))),t({},d,{destroy:function(){f(),d.destroy()},disconnect:function(){f(),d.disconnect()},reconnect:function(e){f(),d.reconnect(e)},emit:function(e){d.emit(JSON.stringify(e))},on:u.on,off:u.off})}((rt(r)+"/rtm/ws").replace(/^https/,"wss"),{query:{license_id:r.licenseId},emitter:n})},Vn=function(e){return{chatId:e.chat_id,properties:e.properties}},Jn=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?Dn(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},Bn=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},Kn=function(e){return t({id:e.id},Pn(e))},Xn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Wn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Zn=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:En(t,e.event)}},Qn=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},$n=function(e){return{uniqueId:e.unique_id}},er=function(e){var n=e.chat;return{chat:t({},kn(n),{thread:Sn(n.id,n.thread)})}},tr=function(e){return{chatId:e.chat_id,event:En(e.thread_id,e.event)}},nr=function(e){return Tn(e)},rr=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},or=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},ar=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:jn(e.queue)}},ir=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},cr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},sr=function(e){return{chatId:e.chat_id,user:qn(e.user),present:e.user.present}},ur=function(e){return{chatId:e.chat_id,userId:e.user_id}},dr=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,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},pr=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+""})})),dr(r)):dr(e.fields)}},lr=function(e){return e.enabled?t({},e,{form:pr(e.form)}):e},fr=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(C,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},hr=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:wn(e.access),properties:a,users:i.map(qn),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:On(i)};if(!r)return c;c.lastEventsPerType=_((function(e){return En(e.thread_id,e.event)}),r);var s,u=r,d=Object.keys(u).map((function(e){return u[e]})),p=(s=d.sort((function(e,t){return e.thread_id===t.thread_id?O(e.event.created_at,t.event.created_at):O(e.thread_created_at,t.thread_created_at)}))).length>0?s[s.length-1]:void 0;return p&&(c.lastEvent=c.lastEventsPerType[p.event.type]),c}));return{chatsSummary:(o=function(e){var t=e.lastEvent;return-1*(void 0!==t?t.timestamp:e.order)},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)},(h(a)?[].concat(a):b(a)).sort((function(e,t){return i(e)-i(t)}))),totalChats:e.total_chats,users:(t=function(e){return e.id},n=f((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}},vr=function(e){return e.groups_status},_r=function(e,t){return{threads:t.threads.map((function(t){return Sn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},yr=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:Nn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&m(n.customer_groups.monitoring.id,r)?"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:Tn(i)})},gr=function(e){switch(e.action){case pt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case lt:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case ft:return{action:e.action,payload:Vn(e.payload)};case ht:return{action:e.action,payload:Jn(e.payload)};case yt:case vt:return{action:e.action,payload:e.payload};case _t:return{action:e.action,payload:Bn(e.payload)};case gt:return{action:e.action,payload:Kn(e.payload)};case mt:return{action:e.action,payload:Xn(e.payload)};case It:return{action:e.action,payload:Wn(e.payload)};case bt:return{action:e.action,payload:Zn(e.payload)};case Et:return{action:e.action,payload:Qn(e.payload)};case Tt:case wt:return{action:e.action,payload:$n(e.payload)};case Ot:return{action:e.action,payload:er(e.payload)};case St:return{action:e.action,payload:tr(e.payload)};case kt:return{action:e.action,payload:nr(e.payload)};case Pt:return{action:e.action,payload:e.payload};case Ct:return{action:e.action,payload:rr(e.payload)};case Nt:return{action:e.action,payload:or(e.payload)};case xt:return{action:e.action,payload:ar(e.payload)};case jt:return{action:e.action,payload:ir(e.payload)};case Dt:return{action:e.action,payload:cr(e.payload)};case qt:return{action:e.action,payload:sr(e.payload)};case Rt:return{action:e.action,payload:ur(e.payload)}}var t},mr=function(e,n){var r=e.dispatch,o=n.request_id,a=Qe((0,e.getState)(),o),i=a.promise,c=a.resolve,s=function(e){var n,r=e.request,o=e.response;switch(o.action){case ue:case de:case pe:case le:case fe:return{action:o.action,payload:ln};case he:return{action:o.action,payload:(n=o.payload,t({},kn(n),{thread:n.thread?Sn(n.id,n.thread):null}))};case ve:return{action:o.action,payload:Nn(o.payload)};case _e:return{action:o.action,payload:lr(o.payload)};case ye:return{action:o.action,payload:xn(o.payload)};case ge:return{action:o.action,payload:fr(o.payload)};case me:return{action:o.action,payload:hr(o.payload)};case Ie:return{action:o.action,payload:vr(o.payload)};case be:return{action:o.action,payload:_r(r,o.payload)};case Ee:return{action:o.action,payload:yr(o.payload)};case Te:case ke:case Pe:case Se:case Ne:case xe:case je:case De:case qe:return{action:o.action,payload:ln}}}({request:a.request,response:n});r({type:K,payload:t({id:o,promise:i,resolve:c},s)})},Ir=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:Q})})),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=Qe((0,e.getState)(),o);r({type:B,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case we:case Oe:case Ce:return;default:return void mr(e,n)}}if("request_id"in n)switch(n.action){case Ot:case St:return void function(e,n){var r=e.dispatch,o=n.request_id,a=Qe((0,e.getState)(),o),i=a.promise,c=a.resolve,s=gr(n);r({type:V,payload:t({id:o,promise:i,resolve:c},s)})}(e,n)}!function(e,t){var n=gr(t);n&&e.dispatch({type:Y,payload:n})}(e,n)})),n.on("disconnect",(function(){dn(e,oe),Ze(e.getState())===Je&&e.dispatch({type:$})})),n.on("connection_unstable",(function(){r({type:te})})),n.on("connection_recovered",(function(){r({type:ee})})),n.off},br="incorrect requester structure",Er=function(e,t){return e.length?e+"\n"+t:t},Tr=function(e,n,r){var o=r.filledForm,a=r.groupId,i=r.timeZone;return n.getToken().then((function(n){var r=e.getState();null===$e(r)&&e.dispatch(tn(n.entityId));var c=nt(r)+"/v2/tickets/new",s=function(e,n){var r=n.fields,o=n.groupId,a=void 0===o?e.groupId:o,i=n.timeZone,c=t({licence_id:e.licenseId,ticket_message:"",offline_message:"",visitor_id:n.customerId,requester:{}},"number"==typeof a&&{group:a},e.page&&{source:{url:e.page.url}},i&&{timezone:i});return r.reduce((function(e,t){switch(t.type){case"subject":var n=t.answer,r=n?t.label+" "+n:t.label;return n&&(e.subject=n),e.offline_message=Er(e.offline_message,r),e;case"name":var o=t.answer,a=o?t.label+" "+o:t.label;return o&&(e.requester.name=o),e.offline_message=Er(e.offline_message,a),e;case"email":var i=t.answer,c=i?t.label+" "+i:t.label;return e.requester.mail=i,e.offline_message=Er(e.offline_message,c),e;case"question":case"textarea":var s=t.answer,u=s?t.label+" "+s:t.label;return e.offline_message=Er(e.offline_message,u),e.ticket_message=Er(e.ticket_message,u),e;case"radio":case"select":var d=t.answer&&t.answer.label,p=d?t.label+" "+d:t.label;return e.offline_message=Er(e.offline_message,p),e.ticket_message=Er(e.ticket_message,p),e;case"checkbox":var l=t.answers&&t.answers.map((function(e){return e.label})).join(", "),f=l?t.label+" "+l:t.label;return e.offline_message=Er(e.offline_message,f),e.ticket_message=Er(e.ticket_message,f),e;default:return e}}),c)}(r,{fields:o.fields,customerId:n.entityId,groupId:a,timeZone:i});return N(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}).then((function(e){if(e.ok)return e.json().then((function(e){return t({},e,{text:s.ticket_message})}));if(400===e.status||422===e.status){var n=function(e){if(!e||!e.errors)throw Error();var t=e.errors[0];if(Object.keys(t)[0]===br)throw st({message:t[br][0],code:"VALIDATION"});throw Error()};return e.json().then(n,n)}throw Error()}))}))},wr="UPLOAD_FAILED",Or=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,s=r.withCredentials,u=void 0!==s&&s,d=new XMLHttpRequest;return{promise:new Promise((function(n,r){var a,s;"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=wr,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=wr,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=u,o&&Object.keys(o).forEach((function(e){return d.setRequestHeader(e,o[e])})),d.send((a=t,s=new FormData,Object.keys(a).forEach((function(e){return s.append(e,a[e])})),s))})),cancel:function(){d.abort()}}},Sr=1048576,kr=10485760,Pr=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(Sr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},Cr=function(e,t){var n,r=e.auth,o=e.store,a=t.file,i=t.onProgress,c=!1;return{promise:new Promise((function(e,t){!function(e){if(e.size>kr)throw st({message:"The file is too big (max size is "+Pr(kr)+").",code:"TOO_BIG_FILE"})}(a);var s=o.getState(),u=S({license_id:s.licenseId}),d=rt(s)+"/action/upload_file?"+u,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=Or(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(st({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},Nr=function(e){var t=e.licenseId,n=e.eventName;if("production"!==e.env)return Promise.resolve();var r={licence_id:t,event_id:"chat_widget_customer_sdk",message:JSON.stringify({event_name:n,severity:"Informational",sdkVersion:"3.1.4"})};return function(e,t){return new Promise((function(n){var r=new Image;r.src=e+"?"+t,r.onerror=I,r.onload=function(){return n()}}))}("https://queue.livechatinc.com/logs",S(r))},xr="LISTENER_IDENTITY",jr={},Dr=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}),{})},qr=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,xr,{value:{}}),n.LISTENER_IDENTITY[t])return jr[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=g(jr);return n.LISTENER_IDENTITY[t]=o,jr[o]=r,r};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,s=r.auth,u=n(r,["on","once","off","getChatHistory","auth"]),d=Dr(u);return Object.freeze(t({auth:Object.freeze(Dr(s,".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.LISTENER_IDENTITY&&(n=jr[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,qr("on",e,t))},once:function(e,t){a(e,qr("once",e,t))}}))},e.init=function(e,r){void 0===r&&(r="production"),q(e);var o=e.autoConnect,a=void 0===o||o,i=e.customerDataProvider,c=e.identityProvider,s=n(e,["autoConnect","customerDataProvider","identityProvider"]),u=ct(t({},s,{env:r})),d=A(),p=function(e){var n=A(),r=Yn(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=Yn(e,n)).connect()}})}(u),l="function"==typeof c?c():R(s,r);u.addSideEffectsHandler(Fn({emitter:d,socket:p,auth:l,customerDataProvider:i})),Ir(u,p);var f=nn.bind(null,u),h=function(){u.dispatch({type:ne})},v=Object.freeze({acceptGreeting:function(e){return f($t(ue,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:l,cancelGreeting:function(e){return f($t(de,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return v.listThreads({chatId:t}).then((function(e){var n=e.threads;if(!n.length)throw st({message:'There is no thread in "'+t+'".',code:ce});return v.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:h,deactivateChat:function(e){return f($t("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return f($t(pe,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return f($t(le,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return f($t(fe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){u.dispatch(Xt("manual"))},disconnect:function(){u.dispatch(Wt("manual"))},getChat:function(e){return f($t(he,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function r(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)}))}}(v,e.chatId)},getCustomer:function(){return f($t(ve,{}))},getForm:function(e){return f($t(_e,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return f($t(ye,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return f($t(ge,{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).")):f($t(me,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return f($t(Ie,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return f($t(be,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 f($t(Te,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:d.on,once:d.once,off:d.off,rateChat:function(e){var t=e.chatId,n=e.rating;return v.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw st({message:'There is no thread in "'+t+'".',code:ce});return v.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return Nr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f($t(we,function(e){var n=Jt(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(e){return f(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:Vt(e.event)};return t&&(n.attach_to_last_thread=!0),$t(Oe,n)}(e))})),sendTicketForm:function(e){return Tr(u,l,e)},sendRichMessagePostback:function(e){return f($t(Se,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return f($t(Pe,{session_fields:Bt(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=u.getState();et(r,t)&&tt(r)&&f($t(ke,{chat_id:t,sneak_peek_text:n})).catch(I)},startChat:function(t){return void 0===t&&(t={}),Nr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f($t(Ce,Jt(t)))},updateChatProperties:function(e){return f($t(Ne,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return f($t(xe,Kt(e)))},updateCustomerPage:function(e){u.dispatch({type:re,payload:T(["title","url"],e)})},updateEventProperties:function(e){return f($t(De,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return f($t(qe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return Cr({auth:l,store:u},e)}});return a?h():u.dispatch({type:U,payload:{sessionFields:"function"==typeof i?i().sessionFields:{}}}),v},e.parseCustomEvent=gn,e.parseEvent=En,e.parseFile=vn,e.parseFilledForm=_n,e.parseForm=pr,e.parseGreeting=Tn,e.parseMessage=yn,e.parseRichMessage=In,e.parseSystemMessage=bn,Object.defineProperty(e,"__esModule",{value:!0})}));
|