@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.
Files changed (48) hide show
  1. package/README.md +11 -19
  2. package/dist/customer-sdk.cjs.js +48 -68
  3. package/dist/customer-sdk.cjs.native.js +48 -68
  4. package/dist/customer-sdk.esm.js +45 -67
  5. package/dist/customer-sdk.js +59 -82
  6. package/dist/customer-sdk.min.js +1 -1
  7. package/package.json +7 -7
  8. package/types/actions.d.ts +0 -331
  9. package/types/chatHistory.d.ts +0 -19
  10. package/types/clientDataParsers.d.ts +0 -55
  11. package/types/completionValues.d.ts +0 -4
  12. package/types/constants/clientErrorCodes.d.ts +0 -11
  13. package/types/constants/connectionStatuses.d.ts +0 -6
  14. package/types/constants/eventTypes.d.ts +0 -8
  15. package/types/constants/organizationIds.d.ts +0 -2
  16. package/types/constants/reduxActions.d.ts +0 -23
  17. package/types/constants/serverDisconnectionReasons.d.ts +0 -15
  18. package/types/constants/serverErrorCodes.d.ts +0 -23
  19. package/types/constants/serverPushActions.d.ts +0 -26
  20. package/types/constants/serverRequestActions.d.ts +0 -30
  21. package/types/constants/sortOrders.d.ts +0 -3
  22. package/types/constants/userTypes.d.ts +0 -3
  23. package/types/createError.d.ts +0 -9
  24. package/types/createStore.d.ts +0 -12
  25. package/types/debug.d.ts +0 -3
  26. package/types/graylog/index.d.ts +0 -14
  27. package/types/graylog/makeGrayLogRequest.d.ts +0 -2
  28. package/types/graylog/makeGrayLogRequest.native.d.ts +0 -6
  29. package/types/index.d.ts +0 -245
  30. package/types/reducer.d.ts +0 -546
  31. package/types/sendRequestAction.d.ts +0 -4
  32. package/types/sendTicketForm.d.ts +0 -15
  33. package/types/serverDataParser.d.ts +0 -34
  34. package/types/serverEventParser.d.ts +0 -12
  35. package/types/serverFrameParser.d.ts +0 -385
  36. package/types/sideEffects/checkGoals.d.ts +0 -5
  37. package/types/sideEffects/index.d.ts +0 -13
  38. package/types/sideStorage.d.ts +0 -5
  39. package/types/socketClient.d.ts +0 -11
  40. package/types/socketListener.d.ts +0 -12
  41. package/types/thunks.d.ts +0 -4
  42. package/types/types/actions.d.ts +0 -157
  43. package/types/types/clientEntities.d.ts +0 -376
  44. package/types/types/frames.d.ts +0 -635
  45. package/types/types/serverEntities.d.ts +0 -409
  46. package/types/types/state.d.ts +0 -56
  47. package/types/uploadFile.d.ts +0 -19
  48. package/types/validateFile/index.d.ts +0 -3
@@ -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 organizationId = _ref.organizationId,
1274
+ var licenseId = _ref.licenseId,
1292
1275
  env = _ref.env;
1293
- if (organizationId === LIVECHAT_ORGANIZATION_ID) {
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.4/customer";
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
- organizationId = initialStateData.organizationId,
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.3"
1312
+ version: "3.1.4"
1330
1313
  }),
1331
- organizationId: organizationId,
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 _promiseDeferred = promiseDeferred(),
1786
- resolve = _promiseDeferred.resolve,
1787
- reject = _promiseDeferred.reject,
1788
- promise = _promiseDeferred.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 getSideStorageKeyByLicense = function getSideStorageKeyByLicense(store, licenseId) {
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 getSideStorageKeyByOrganization = function getSideStorageKeyByOrganization(store) {
1808
- var _store$getState2 = store.getState(),
1809
- organizationId = _store$getState2.organizationId,
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"](noop);
1811
+ ["catch"](function () {
1812
+ return {};
1813
+ });
1831
1814
  };
1832
1815
  var saveSideStorage = function saveSideStorage(store, sideStorage) {
1833
- storage.setItem(getSideStorageKeyByOrganization(store), JSON.stringify(sideStorage))["catch"](noop);
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
- promiseTry(function () {
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, licenseId) {
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, licenseId)]);
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
- organization_id: state.organizationId
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.4',
2517
+ version: '3.3',
2535
2518
  payload: _extends({}, frame.payload, {
2536
2519
  pushes: {
2537
- // '3.5': upgradedPushes,
2538
- '3.4': values(serverPushActions).filter(function (pushAction) {
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, licenseId);
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
- organization_id: state.organizationId
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 && chatSummary.lastEventsPerType) {
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 * ((_ref5 = lastEvent !== undefined ? lastEvent.timestamp : order) != null ? _ref5 : 0);
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(_ref6) {
3712
- var request = _ref6.request,
3713
- response = _ref6.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
- organization_id: state.organizationId
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
- organizationId = _ref.organizationId,
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.3"
4266
+ sdkVersion: "3.1.4"
4289
4267
  };
4290
4268
  var body = {
4291
- organizationId: organizationId,
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, licenseId) {
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, licenseId, env);
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
- organizationId: config.organizationId,
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
- organizationId: config.organizationId,
4658
+ licenseId: config.licenseId,
4682
4659
  eventName: 'chat_started'
4683
4660
  });
4684
4661
  return sendRequestAction$1(sendRequest(START_CHAT, parseStartChatData(data)));
@@ -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})}));