@livechat/customer-sdk 3.1.4 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -78
- package/dist/customer-sdk.cjs.js +208 -228
- package/dist/customer-sdk.cjs.native.js +208 -228
- package/dist/customer-sdk.esm.js +202 -227
- package/dist/customer-sdk.js +222 -249
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +7 -7
- package/types/actions.d.ts +331 -0
- package/types/chatHistory.d.ts +19 -0
- package/types/clientDataParsers.d.ts +55 -0
- package/types/completionValues.d.ts +4 -0
- package/types/constants/clientErrorCodes.d.ts +11 -0
- package/types/constants/connectionStatuses.d.ts +6 -0
- package/types/constants/eventTypes.d.ts +8 -0
- package/types/constants/organizationIds.d.ts +2 -0
- package/types/constants/reduxActions.d.ts +23 -0
- package/types/constants/serverDisconnectionReasons.d.ts +16 -0
- package/types/constants/serverErrorCodes.d.ts +23 -0
- package/types/constants/serverPushActions.d.ts +27 -0
- package/types/constants/serverRequestActions.d.ts +30 -0
- package/types/constants/sortOrders.d.ts +3 -0
- package/types/constants/userTypes.d.ts +3 -0
- package/types/createError.d.ts +9 -0
- package/types/createStore.d.ts +12 -0
- package/types/debug.d.ts +3 -0
- package/types/graylog/index.d.ts +14 -0
- package/types/graylog/makeGrayLogRequest.d.ts +2 -0
- package/types/graylog/makeGrayLogRequest.native.d.ts +6 -0
- package/types/index.d.ts +252 -0
- package/types/reducer.d.ts +545 -0
- package/types/sendRequestAction.d.ts +4 -0
- package/types/sendTicketForm.d.ts +14 -0
- package/types/serverDataParser.d.ts +34 -0
- package/types/serverEventParser.d.ts +12 -0
- package/types/serverFrameParser.d.ts +393 -0
- package/types/sideEffects/checkGoals.d.ts +5 -0
- package/types/sideEffects/index.d.ts +13 -0
- package/types/sideStorage.d.ts +5 -0
- package/types/socketClient.d.ts +11 -0
- package/types/socketListener.d.ts +12 -0
- package/types/thunks.d.ts +4 -0
- package/types/types/actions.d.ts +157 -0
- package/types/types/clientEntities.d.ts +376 -0
- package/types/types/frames.d.ts +644 -0
- package/types/types/serverEntities.d.ts +409 -0
- package/types/types/state.d.ts +56 -0
- package/types/uploadFile.d.ts +19 -0
- package/types/validateFile/index.d.ts +3 -0
package/dist/customer-sdk.js
CHANGED
|
@@ -247,16 +247,6 @@
|
|
|
247
247
|
return arrOrStr.indexOf(value) !== -1;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
/**
|
|
251
|
-
* returns true or false depending if the provided value is an empty object or an empty array
|
|
252
|
-
* @example
|
|
253
|
-
* isEmpty({})
|
|
254
|
-
* // returns true
|
|
255
|
-
*/
|
|
256
|
-
function isEmpty(collection) {
|
|
257
|
-
return (isArray(collection) ? collection : Object.keys(collection)).length === 0;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
250
|
/**
|
|
261
251
|
* constructs an object from the provided array of objects, grouped by the value of the specified key
|
|
262
252
|
* @example
|
|
@@ -1208,6 +1198,21 @@
|
|
|
1208
1198
|
};
|
|
1209
1199
|
};
|
|
1210
1200
|
|
|
1201
|
+
/**
|
|
1202
|
+
* 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.
|
|
1203
|
+
* @param anyFunction - function to be called
|
|
1204
|
+
* @returns promise that resolves to the return value of the function
|
|
1205
|
+
* @example
|
|
1206
|
+
* const promise = promiseTry(() => 1)
|
|
1207
|
+
* promise.then(value => console.log(value)) // 1
|
|
1208
|
+
*/
|
|
1209
|
+
|
|
1210
|
+
function promiseTry(anyFunction) {
|
|
1211
|
+
return new Promise(function (resolve) {
|
|
1212
|
+
resolve(anyFunction());
|
|
1213
|
+
});
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1211
1216
|
/**
|
|
1212
1217
|
* Creates a deferred object that can be resolved or rejected later.
|
|
1213
1218
|
* @returns A deferred object with a promise and resolve and reject functions.
|
|
@@ -1245,9 +1250,26 @@
|
|
|
1245
1250
|
var PAUSED = 'paused';
|
|
1246
1251
|
var RECONNECTING = 'reconnecting';
|
|
1247
1252
|
|
|
1253
|
+
var connectionStatuses = /*#__PURE__*/Object.freeze({
|
|
1254
|
+
__proto__: null,
|
|
1255
|
+
CONNECTED: CONNECTED,
|
|
1256
|
+
DESTROYED: DESTROYED,
|
|
1257
|
+
DISCONNECTED: DISCONNECTED,
|
|
1258
|
+
PAUSED: PAUSED,
|
|
1259
|
+
RECONNECTING: RECONNECTING
|
|
1260
|
+
});
|
|
1261
|
+
|
|
1248
1262
|
var AGENT = 'agent';
|
|
1249
1263
|
var CUSTOMER = 'customer';
|
|
1250
1264
|
|
|
1265
|
+
var userTypes = /*#__PURE__*/Object.freeze({
|
|
1266
|
+
__proto__: null,
|
|
1267
|
+
AGENT: AGENT,
|
|
1268
|
+
CUSTOMER: CUSTOMER
|
|
1269
|
+
});
|
|
1270
|
+
|
|
1271
|
+
var LIVECHAT_ORGANIZATION_ID = 'feaf6c0e-9f43-48ff-9ad0-8e24e0350932';
|
|
1272
|
+
|
|
1251
1273
|
var getAllRequests = function getAllRequests(state) {
|
|
1252
1274
|
return state.requests;
|
|
1253
1275
|
};
|
|
@@ -1271,9 +1293,9 @@
|
|
|
1271
1293
|
return getConnectionStatus(state) === DESTROYED;
|
|
1272
1294
|
};
|
|
1273
1295
|
var getEnvPart = function getEnvPart(_ref) {
|
|
1274
|
-
var
|
|
1296
|
+
var organizationId = _ref.organizationId,
|
|
1275
1297
|
env = _ref.env;
|
|
1276
|
-
if (
|
|
1298
|
+
if (organizationId === LIVECHAT_ORGANIZATION_ID) {
|
|
1277
1299
|
return '.staging';
|
|
1278
1300
|
}
|
|
1279
1301
|
if (env === 'production') {
|
|
@@ -1287,12 +1309,12 @@
|
|
|
1287
1309
|
return "https://api" + regionPart + getEnvPart(state) + ".livechatinc.com";
|
|
1288
1310
|
};
|
|
1289
1311
|
var getServerUrl = function getServerUrl(state) {
|
|
1290
|
-
return getApiOrigin(state) + "/v3.
|
|
1312
|
+
return getApiOrigin(state) + "/v3.5/customer";
|
|
1291
1313
|
};
|
|
1292
1314
|
var createInitialState = function createInitialState(initialStateData) {
|
|
1293
1315
|
var _initialStateData$app = initialStateData.application,
|
|
1294
1316
|
application = _initialStateData$app === void 0 ? {} : _initialStateData$app,
|
|
1295
|
-
|
|
1317
|
+
organizationId = initialStateData.organizationId,
|
|
1296
1318
|
_initialStateData$gro = initialStateData.groupId,
|
|
1297
1319
|
groupId = _initialStateData$gro === void 0 ? null : _initialStateData$gro,
|
|
1298
1320
|
env = initialStateData.env,
|
|
@@ -1309,9 +1331,9 @@
|
|
|
1309
1331
|
return {
|
|
1310
1332
|
application: _extends({}, application, {
|
|
1311
1333
|
name: "customer_sdk",
|
|
1312
|
-
version: "
|
|
1334
|
+
version: "4.0.0"
|
|
1313
1335
|
}),
|
|
1314
|
-
|
|
1336
|
+
organizationId: organizationId,
|
|
1315
1337
|
env: env,
|
|
1316
1338
|
groupId: groupId,
|
|
1317
1339
|
chats: {},
|
|
@@ -1429,9 +1451,12 @@
|
|
|
1429
1451
|
}
|
|
1430
1452
|
|
|
1431
1453
|
var ACCESS_TOKEN_EXPIRED = 'access_token_expired';
|
|
1454
|
+
var CONNECTION_TIMEOUT = 'connection_timeout';
|
|
1432
1455
|
var CUSTOMER_BANNED = 'customer_banned';
|
|
1433
1456
|
// customer tried reconnecting too many times after they received too_many_connections error
|
|
1434
1457
|
var CUSTOMER_TEMPORARILY_BLOCKED = 'customer_temporarily_blocked';
|
|
1458
|
+
var INACTIVITY_TIMEOUT = 'inactivity_timeout';
|
|
1459
|
+
var INTERNAL_ERROR = 'internal_error';
|
|
1435
1460
|
var LICENSE_EXPIRED = 'license_expired';
|
|
1436
1461
|
var LICENSE_NOT_FOUND = 'license_not_found';
|
|
1437
1462
|
var MISDIRECTED_CONNECTION$1 = 'misdirected_connection';
|
|
@@ -1445,6 +1470,27 @@
|
|
|
1445
1470
|
// the limit of unauthorized connections is per IP
|
|
1446
1471
|
var TOO_MANY_UNAUTHORIZED_CONNECTIONS = 'too_many_unauthorized_connections';
|
|
1447
1472
|
var UNSUPPORTED_VERSION = 'unsupported_version';
|
|
1473
|
+
// introduced in 3.5 meaning the customer was logged out by the server
|
|
1474
|
+
var LOGGED_OUT_REMOTELY = 'logged_out_remotely';
|
|
1475
|
+
|
|
1476
|
+
var serverDisconnectionReasons = /*#__PURE__*/Object.freeze({
|
|
1477
|
+
__proto__: null,
|
|
1478
|
+
ACCESS_TOKEN_EXPIRED: ACCESS_TOKEN_EXPIRED,
|
|
1479
|
+
CONNECTION_TIMEOUT: CONNECTION_TIMEOUT,
|
|
1480
|
+
CUSTOMER_BANNED: CUSTOMER_BANNED,
|
|
1481
|
+
CUSTOMER_TEMPORARILY_BLOCKED: CUSTOMER_TEMPORARILY_BLOCKED,
|
|
1482
|
+
INACTIVITY_TIMEOUT: INACTIVITY_TIMEOUT,
|
|
1483
|
+
INTERNAL_ERROR: INTERNAL_ERROR,
|
|
1484
|
+
LICENSE_EXPIRED: LICENSE_EXPIRED,
|
|
1485
|
+
LICENSE_NOT_FOUND: LICENSE_NOT_FOUND,
|
|
1486
|
+
MISDIRECTED_CONNECTION: MISDIRECTED_CONNECTION$1,
|
|
1487
|
+
PRODUCT_VERSION_CHANGED: PRODUCT_VERSION_CHANGED,
|
|
1488
|
+
SERVICE_TEMPORARILY_UNAVAILABLE: SERVICE_TEMPORARILY_UNAVAILABLE$1,
|
|
1489
|
+
TOO_MANY_CONNECTIONS: TOO_MANY_CONNECTIONS,
|
|
1490
|
+
TOO_MANY_UNAUTHORIZED_CONNECTIONS: TOO_MANY_UNAUTHORIZED_CONNECTIONS,
|
|
1491
|
+
UNSUPPORTED_VERSION: UNSUPPORTED_VERSION,
|
|
1492
|
+
LOGGED_OUT_REMOTELY: LOGGED_OUT_REMOTELY
|
|
1493
|
+
});
|
|
1448
1494
|
|
|
1449
1495
|
var CHAT_DEACTIVATED = 'chat_deactivated';
|
|
1450
1496
|
var CHAT_PROPERTIES_DELETED = 'chat_properties_deleted';
|
|
@@ -1460,6 +1506,7 @@
|
|
|
1460
1506
|
var EVENTS_MARKED_AS_SEEN = 'events_marked_as_seen';
|
|
1461
1507
|
var GREETING_ACCEPTED = 'greeting_accepted';
|
|
1462
1508
|
var GREETING_CANCELED = 'greeting_canceled';
|
|
1509
|
+
var GROUPS_STATUS_UPDATED = 'groups_status_updated';
|
|
1463
1510
|
var INCOMING_CHAT = 'incoming_chat';
|
|
1464
1511
|
var INCOMING_EVENT = 'incoming_event';
|
|
1465
1512
|
var INCOMING_GREETING = 'incoming_greeting';
|
|
@@ -1488,6 +1535,7 @@
|
|
|
1488
1535
|
EVENTS_MARKED_AS_SEEN: EVENTS_MARKED_AS_SEEN,
|
|
1489
1536
|
GREETING_ACCEPTED: GREETING_ACCEPTED,
|
|
1490
1537
|
GREETING_CANCELED: GREETING_CANCELED,
|
|
1538
|
+
GROUPS_STATUS_UPDATED: GROUPS_STATUS_UPDATED,
|
|
1491
1539
|
INCOMING_CHAT: INCOMING_CHAT,
|
|
1492
1540
|
INCOMING_EVENT: INCOMING_EVENT,
|
|
1493
1541
|
INCOMING_GREETING: INCOMING_GREETING,
|
|
@@ -1509,6 +1557,17 @@
|
|
|
1509
1557
|
var SYSTEM_MESSAGE = 'system_message';
|
|
1510
1558
|
var CUSTOM = 'custom';
|
|
1511
1559
|
|
|
1560
|
+
var eventTypes = /*#__PURE__*/Object.freeze({
|
|
1561
|
+
__proto__: null,
|
|
1562
|
+
FILE: FILE,
|
|
1563
|
+
FORM: FORM,
|
|
1564
|
+
FILLED_FORM: FILLED_FORM,
|
|
1565
|
+
MESSAGE: MESSAGE,
|
|
1566
|
+
RICH_MESSAGE: RICH_MESSAGE,
|
|
1567
|
+
SYSTEM_MESSAGE: SYSTEM_MESSAGE,
|
|
1568
|
+
CUSTOM: CUSTOM
|
|
1569
|
+
});
|
|
1570
|
+
|
|
1512
1571
|
var createEventBase = function createEventBase(event) {
|
|
1513
1572
|
var base = {};
|
|
1514
1573
|
if (typeof event.customId === 'string') {
|
|
@@ -1762,22 +1821,13 @@
|
|
|
1762
1821
|
};
|
|
1763
1822
|
};
|
|
1764
1823
|
|
|
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
|
-
|
|
1774
1824
|
// TODO: this thing is not really well typed and should be improved
|
|
1775
1825
|
var sendRequestAction = function sendRequestAction(store, action) {
|
|
1776
1826
|
action.payload.id = generateUniqueId(store.getState().requests);
|
|
1777
|
-
var
|
|
1778
|
-
resolve =
|
|
1779
|
-
reject =
|
|
1780
|
-
promise =
|
|
1827
|
+
var _promiseDeferred = promiseDeferred(),
|
|
1828
|
+
resolve = _promiseDeferred.resolve,
|
|
1829
|
+
reject = _promiseDeferred.reject,
|
|
1830
|
+
promise = _promiseDeferred.promise;
|
|
1781
1831
|
action.payload.promise = promise;
|
|
1782
1832
|
action.payload.resolve = resolve;
|
|
1783
1833
|
action.payload.reject = reject;
|
|
@@ -1785,35 +1835,89 @@
|
|
|
1785
1835
|
return promise;
|
|
1786
1836
|
};
|
|
1787
1837
|
|
|
1788
|
-
var index$1 = function (fn) {
|
|
1789
|
-
return new Promise(function (resolve) {
|
|
1790
|
-
resolve(fn());
|
|
1791
|
-
});
|
|
1792
|
-
};
|
|
1793
|
-
|
|
1794
1838
|
var AUTHENTICATION = 'AUTHENTICATION';
|
|
1839
|
+
var AUTHORIZATION = 'AUTHORIZATION';
|
|
1840
|
+
var CHAT_ALREADY_ACTIVE = 'CHAT_ALREADY_ACTIVE';
|
|
1841
|
+
var CHAT_LIMIT_REACHED = 'CHAT_LIMIT_REACHED';
|
|
1795
1842
|
var CUSTOMER_BANNED$1 = 'CUSTOMER_BANNED';
|
|
1843
|
+
var CUSTOMER_SESSION_FIELDS_LIMIT_REACHED = 'CUSTOMER_SESSION_FIELDS_LIMIT_REACHED';
|
|
1844
|
+
var ENTITY_TOO_LARGE = 'ENTITY_TOO_LARGE';
|
|
1845
|
+
var GREETING_NOT_FOUND = 'GREETING_NOT_FOUND';
|
|
1846
|
+
var GROUP_OFFLINE = 'GROUP_OFFLINE';
|
|
1847
|
+
var GROUPS_OFFLINE = 'GROUPS_OFFLINE';
|
|
1848
|
+
var GROUP_NOT_FOUND = 'GROUP_NOT_FOUND';
|
|
1849
|
+
var GROUP_UNAVAILABLE = 'GROUP_UNAVAILABLE';
|
|
1850
|
+
var INTERNAL = 'INTERNAL';
|
|
1851
|
+
var LICENSE_EXPIRED$1 = 'LICENSE_EXPIRED';
|
|
1852
|
+
// actually this can happen only when using REST
|
|
1853
|
+
var MISDIRECTED_REQUEST = 'MISDIRECTED_REQUEST';
|
|
1854
|
+
var PENDING_REQUESTS_LIMIT_REACHED = 'PENDING_REQUESTS_LIMIT_REACHED';
|
|
1855
|
+
var REQUEST_TIMEOUT$1 = 'REQUEST_TIMEOUT';
|
|
1856
|
+
var SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE';
|
|
1857
|
+
var UNSUPPORTED_VERSION$1 = 'UNSUPPORTED_VERSION';
|
|
1796
1858
|
var USERS_LIMIT_REACHED = 'USERS_LIMIT_REACHED';
|
|
1859
|
+
var VALIDATION = 'VALIDATION';
|
|
1797
1860
|
var WRONG_PRODUCT_VERSION = 'WRONG_PRODUCT_VERSION';
|
|
1798
1861
|
|
|
1799
|
-
var
|
|
1862
|
+
var serverErrorCodes = /*#__PURE__*/Object.freeze({
|
|
1863
|
+
__proto__: null,
|
|
1864
|
+
AUTHENTICATION: AUTHENTICATION,
|
|
1865
|
+
AUTHORIZATION: AUTHORIZATION,
|
|
1866
|
+
CHAT_ALREADY_ACTIVE: CHAT_ALREADY_ACTIVE,
|
|
1867
|
+
CHAT_LIMIT_REACHED: CHAT_LIMIT_REACHED,
|
|
1868
|
+
CUSTOMER_BANNED: CUSTOMER_BANNED$1,
|
|
1869
|
+
CUSTOMER_SESSION_FIELDS_LIMIT_REACHED: CUSTOMER_SESSION_FIELDS_LIMIT_REACHED,
|
|
1870
|
+
ENTITY_TOO_LARGE: ENTITY_TOO_LARGE,
|
|
1871
|
+
GREETING_NOT_FOUND: GREETING_NOT_FOUND,
|
|
1872
|
+
GROUP_OFFLINE: GROUP_OFFLINE,
|
|
1873
|
+
GROUPS_OFFLINE: GROUPS_OFFLINE,
|
|
1874
|
+
GROUP_NOT_FOUND: GROUP_NOT_FOUND,
|
|
1875
|
+
GROUP_UNAVAILABLE: GROUP_UNAVAILABLE,
|
|
1876
|
+
INTERNAL: INTERNAL,
|
|
1877
|
+
LICENSE_EXPIRED: LICENSE_EXPIRED$1,
|
|
1878
|
+
MISDIRECTED_REQUEST: MISDIRECTED_REQUEST,
|
|
1879
|
+
PENDING_REQUESTS_LIMIT_REACHED: PENDING_REQUESTS_LIMIT_REACHED,
|
|
1880
|
+
REQUEST_TIMEOUT: REQUEST_TIMEOUT$1,
|
|
1881
|
+
SERVICE_UNAVAILABLE: SERVICE_UNAVAILABLE,
|
|
1882
|
+
UNSUPPORTED_VERSION: UNSUPPORTED_VERSION$1,
|
|
1883
|
+
USERS_LIMIT_REACHED: USERS_LIMIT_REACHED,
|
|
1884
|
+
VALIDATION: VALIDATION,
|
|
1885
|
+
WRONG_PRODUCT_VERSION: WRONG_PRODUCT_VERSION
|
|
1886
|
+
});
|
|
1887
|
+
|
|
1888
|
+
var getSideStorageKeyByLicense = function getSideStorageKeyByLicense(store, licenseId) {
|
|
1800
1889
|
var _store$getState = store.getState(),
|
|
1801
|
-
licenseId = _store$getState.licenseId,
|
|
1802
1890
|
groupId = _store$getState.groupId,
|
|
1803
1891
|
uniqueGroups = _store$getState.uniqueGroups;
|
|
1804
1892
|
return "side_storage_" + licenseId + (uniqueGroups ? ":" + groupId : '');
|
|
1805
1893
|
};
|
|
1806
|
-
var
|
|
1807
|
-
|
|
1808
|
-
|
|
1894
|
+
var getSideStorageKeyByOrganization = function getSideStorageKeyByOrganization(store) {
|
|
1895
|
+
var _store$getState2 = store.getState(),
|
|
1896
|
+
organizationId = _store$getState2.organizationId,
|
|
1897
|
+
groupId = _store$getState2.groupId,
|
|
1898
|
+
uniqueGroups = _store$getState2.uniqueGroups;
|
|
1899
|
+
return "side_storage_" + organizationId + (uniqueGroups ? ":" + groupId : '');
|
|
1900
|
+
};
|
|
1901
|
+
var getSideStorage = function getSideStorage(store, licenseId) {
|
|
1902
|
+
var sideStorageLicenseKey = getSideStorageKeyByLicense(store, licenseId);
|
|
1903
|
+
var sideStorageOrganizationKey = getSideStorageKeyByOrganization(store);
|
|
1904
|
+
return storage.getItem(sideStorageLicenseKey)["catch"](noop).then(function (sideStorage) {
|
|
1905
|
+
if (!sideStorage) {
|
|
1906
|
+
return storage.getItem(sideStorageOrganizationKey)["catch"](noop).then(function (organizationSideStorage) {
|
|
1907
|
+
return JSON.parse(organizationSideStorage || '{}');
|
|
1908
|
+
})["catch"](noop);
|
|
1909
|
+
}
|
|
1910
|
+
return storage.setItem(sideStorageOrganizationKey, sideStorage)["catch"](noop).then(function () {
|
|
1911
|
+
return storage.removeItem(sideStorageLicenseKey)["catch"](noop).then(function () {
|
|
1912
|
+
return JSON.parse(sideStorage);
|
|
1913
|
+
})["catch"](noop);
|
|
1914
|
+
});
|
|
1809
1915
|
})
|
|
1810
1916
|
// shouldnt get triggered, just a defensive measure against malformed storage entries
|
|
1811
|
-
["catch"](
|
|
1812
|
-
return {};
|
|
1813
|
-
});
|
|
1917
|
+
["catch"](noop);
|
|
1814
1918
|
};
|
|
1815
1919
|
var saveSideStorage = function saveSideStorage(store, sideStorage) {
|
|
1816
|
-
|
|
1920
|
+
storage.setItem(getSideStorageKeyByOrganization(store), JSON.stringify(sideStorage))["catch"](noop);
|
|
1817
1921
|
};
|
|
1818
1922
|
|
|
1819
1923
|
var taskChain = function taskChain(_ref, onSuccess, onError) {
|
|
@@ -1821,7 +1925,7 @@
|
|
|
1821
1925
|
var cancelled = false;
|
|
1822
1926
|
var next = function next(intermediateResult) {
|
|
1823
1927
|
var step = steps.shift();
|
|
1824
|
-
|
|
1928
|
+
promiseTry(function () {
|
|
1825
1929
|
return step(intermediateResult);
|
|
1826
1930
|
}).then(function (result) {
|
|
1827
1931
|
if (cancelled) {
|
|
@@ -1854,7 +1958,7 @@
|
|
|
1854
1958
|
setTimeout(resolve, ms);
|
|
1855
1959
|
});
|
|
1856
1960
|
};
|
|
1857
|
-
function createLoginTask(auth, customerDataProvider) {
|
|
1961
|
+
function createLoginTask(auth, customerDataProvider, licenseId) {
|
|
1858
1962
|
var store;
|
|
1859
1963
|
var sentPage = null;
|
|
1860
1964
|
var task;
|
|
@@ -1875,7 +1979,7 @@
|
|
|
1875
1979
|
return store.dispatch(reconnect(currentBackoffStrategy.duration()));
|
|
1876
1980
|
};
|
|
1877
1981
|
var getTokenAndSideStorage = function getTokenAndSideStorage() {
|
|
1878
|
-
return Promise.all([auth.getToken(), getSideStorage(store)]);
|
|
1982
|
+
return Promise.all([auth.getToken(), getSideStorage(store, licenseId)]);
|
|
1879
1983
|
};
|
|
1880
1984
|
var dispatchSelfId = function dispatchSelfId(_ref2) {
|
|
1881
1985
|
var token = _ref2[0],
|
|
@@ -2015,7 +2119,7 @@
|
|
|
2015
2119
|
return;
|
|
2016
2120
|
}
|
|
2017
2121
|
var query = buildQueryString({
|
|
2018
|
-
|
|
2122
|
+
organization_id: state.organizationId
|
|
2019
2123
|
});
|
|
2020
2124
|
var payload = {
|
|
2021
2125
|
session_fields: parseCustomerSessionFields(sessionFields || {}),
|
|
@@ -2514,11 +2618,11 @@
|
|
|
2514
2618
|
{
|
|
2515
2619
|
var upgradedPushes = [];
|
|
2516
2620
|
socket.emit(_extends({}, frame, {
|
|
2517
|
-
version: '3.
|
|
2621
|
+
version: '3.5',
|
|
2518
2622
|
payload: _extends({}, frame.payload, {
|
|
2519
2623
|
pushes: {
|
|
2520
|
-
// '3.
|
|
2521
|
-
'3.
|
|
2624
|
+
// '3.6': upgradedPushes,
|
|
2625
|
+
'3.5': values(serverPushActions).filter(function (pushAction) {
|
|
2522
2626
|
return (
|
|
2523
2627
|
// `customer_disconnected` can be sent immediately after opening the connection, before it even received login request
|
|
2524
2628
|
// therefore it's not possible to subscribe for a particular version of this push - the "connection version" is always used
|
|
@@ -2550,25 +2654,10 @@
|
|
|
2550
2654
|
emit('user_data', user);
|
|
2551
2655
|
});
|
|
2552
2656
|
};
|
|
2553
|
-
var
|
|
2554
|
-
var
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
return;
|
|
2558
|
-
}
|
|
2559
|
-
if (content.name === 'groups_update' && 'groups' in content && !isEmpty(content.groups)) {
|
|
2560
|
-
var _content$groups = content.groups,
|
|
2561
|
-
group = _content$groups[0];
|
|
2562
|
-
var availability = parseGroupStatus(group.status);
|
|
2563
|
-
emit('availability_updated', {
|
|
2564
|
-
availability: availability
|
|
2565
|
-
});
|
|
2566
|
-
}
|
|
2567
|
-
};
|
|
2568
|
-
var handlePush = function handlePush(_ref5, _ref6) {
|
|
2569
|
-
var emit = _ref5.emit,
|
|
2570
|
-
store = _ref5.store;
|
|
2571
|
-
var payload = _ref6.payload;
|
|
2657
|
+
var handlePush = function handlePush(_ref4, _ref5) {
|
|
2658
|
+
var emit = _ref4.emit,
|
|
2659
|
+
store = _ref4.store;
|
|
2660
|
+
var payload = _ref5.payload;
|
|
2572
2661
|
switch (payload.action) {
|
|
2573
2662
|
case THREAD_PROPERTIES_UPDATED:
|
|
2574
2663
|
if (payload.payload.properties.lc2 && 'queue_pos' in payload.payload.properties.lc2) {
|
|
@@ -2608,6 +2697,7 @@
|
|
|
2608
2697
|
case PRODUCT_VERSION_CHANGED:
|
|
2609
2698
|
case TOO_MANY_CONNECTIONS:
|
|
2610
2699
|
case UNSUPPORTED_VERSION:
|
|
2700
|
+
case LOGGED_OUT_REMOTELY:
|
|
2611
2701
|
// this also emits `disconnected` event - but it's handled in response to this action by destroy handler
|
|
2612
2702
|
store.dispatch(destroy(payload.payload.reason));
|
|
2613
2703
|
break;
|
|
@@ -2630,6 +2720,16 @@
|
|
|
2630
2720
|
break;
|
|
2631
2721
|
}
|
|
2632
2722
|
return;
|
|
2723
|
+
case GROUPS_STATUS_UPDATED:
|
|
2724
|
+
{
|
|
2725
|
+
var _payload$payload$grou = payload.payload.groups,
|
|
2726
|
+
group = _payload$payload$grou[0];
|
|
2727
|
+
var availability = parseGroupStatus(group.status);
|
|
2728
|
+
emit('availability_updated', {
|
|
2729
|
+
availability: availability
|
|
2730
|
+
});
|
|
2731
|
+
return;
|
|
2732
|
+
}
|
|
2633
2733
|
case INCOMING_CHAT:
|
|
2634
2734
|
emitUsers(emit, payload.payload.chat.users);
|
|
2635
2735
|
emit(payload.action, payload.payload);
|
|
@@ -2643,11 +2743,6 @@
|
|
|
2643
2743
|
case INCOMING_TYPING_INDICATOR:
|
|
2644
2744
|
emit(payload.action, payload.payload);
|
|
2645
2745
|
return;
|
|
2646
|
-
case INCOMING_MULTICAST:
|
|
2647
|
-
handleMulticast(emit, payload.payload);
|
|
2648
|
-
// we passthrough this action even if it was already handled above
|
|
2649
|
-
emit(payload.action, payload.payload);
|
|
2650
|
-
return;
|
|
2651
2746
|
case USER_ADDED_TO_CHAT:
|
|
2652
2747
|
emitUsers(emit, [payload.payload.user]);
|
|
2653
2748
|
emit(payload.action, payload.payload);
|
|
@@ -2657,9 +2752,9 @@
|
|
|
2657
2752
|
return;
|
|
2658
2753
|
}
|
|
2659
2754
|
};
|
|
2660
|
-
var handleResponse = function handleResponse(
|
|
2661
|
-
var emit =
|
|
2662
|
-
var payload =
|
|
2755
|
+
var handleResponse = function handleResponse(_ref6, _ref7) {
|
|
2756
|
+
var emit = _ref6.emit;
|
|
2757
|
+
var payload = _ref7.payload;
|
|
2663
2758
|
switch (payload.action) {
|
|
2664
2759
|
case CHAT_DEACTIVATED:
|
|
2665
2760
|
payload.resolve(SUCCESS);
|
|
@@ -2684,13 +2779,14 @@
|
|
|
2684
2779
|
return;
|
|
2685
2780
|
}
|
|
2686
2781
|
};
|
|
2687
|
-
var createSideEffectsHandler = (function (
|
|
2688
|
-
var auth =
|
|
2689
|
-
customerDataProvider =
|
|
2690
|
-
emitter =
|
|
2691
|
-
socket =
|
|
2782
|
+
var createSideEffectsHandler = (function (_ref8) {
|
|
2783
|
+
var auth = _ref8.auth,
|
|
2784
|
+
customerDataProvider = _ref8.customerDataProvider,
|
|
2785
|
+
emitter = _ref8.emitter,
|
|
2786
|
+
socket = _ref8.socket,
|
|
2787
|
+
licenseId = _ref8.licenseId;
|
|
2692
2788
|
var emit = emitter.emit;
|
|
2693
|
-
var loginTask = createLoginTask(auth, customerDataProvider);
|
|
2789
|
+
var loginTask = createLoginTask(auth, customerDataProvider, licenseId);
|
|
2694
2790
|
|
|
2695
2791
|
// TODO: using Store type here is a lie, middleware only provides MiddlewareAPI here
|
|
2696
2792
|
return function (action, store) {
|
|
@@ -2713,6 +2809,7 @@
|
|
|
2713
2809
|
case CUSTOMER_BANNED:
|
|
2714
2810
|
case LICENSE_EXPIRED:
|
|
2715
2811
|
case PRODUCT_VERSION_CHANGED:
|
|
2812
|
+
case LOGGED_OUT_REMOTELY:
|
|
2716
2813
|
// normalize those to CONNECTION_LOST as the handling on the consumer's side should be the same
|
|
2717
2814
|
failAllRequests(store, CONNECTION_LOST);
|
|
2718
2815
|
emit('disconnected', payload);
|
|
@@ -2783,9 +2880,9 @@
|
|
|
2783
2880
|
if (!hasToken) {
|
|
2784
2881
|
return auth.getToken();
|
|
2785
2882
|
}
|
|
2786
|
-
return auth.getToken().then(function (
|
|
2787
|
-
var creationDate =
|
|
2788
|
-
expiresIn =
|
|
2883
|
+
return auth.getToken().then(function (_ref9) {
|
|
2884
|
+
var creationDate = _ref9.creationDate,
|
|
2885
|
+
expiresIn = _ref9.expiresIn;
|
|
2789
2886
|
var ONE_HOUR = 60 * 60 * 1000;
|
|
2790
2887
|
// check if the token is worth reusing
|
|
2791
2888
|
// we don't want to get disconnected in a moment because of expired token
|
|
@@ -3211,7 +3308,7 @@
|
|
|
3211
3308
|
var url = (getServerUrl(state) + "/rtm/ws").replace(/^https/, 'wss');
|
|
3212
3309
|
return createPlatformClient(url, {
|
|
3213
3310
|
query: {
|
|
3214
|
-
|
|
3311
|
+
organization_id: state.organizationId
|
|
3215
3312
|
},
|
|
3216
3313
|
emitter: emitter
|
|
3217
3314
|
});
|
|
@@ -3503,16 +3600,17 @@
|
|
|
3503
3600
|
var lastEventSummary = last(lastEventSummariesArray.sort(function (eventSummaryA, eventSummaryB) {
|
|
3504
3601
|
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);
|
|
3505
3602
|
}));
|
|
3506
|
-
if (lastEventSummary) {
|
|
3603
|
+
if (lastEventSummary && chatSummary.lastEventsPerType) {
|
|
3507
3604
|
chatSummary.lastEvent = chatSummary.lastEventsPerType[lastEventSummary.event.type];
|
|
3508
3605
|
}
|
|
3509
3606
|
return chatSummary;
|
|
3510
3607
|
});
|
|
3511
3608
|
return {
|
|
3512
3609
|
chatsSummary: numericSortBy(function (_ref4) {
|
|
3610
|
+
var _ref5;
|
|
3513
3611
|
var lastEvent = _ref4.lastEvent,
|
|
3514
3612
|
order = _ref4.order;
|
|
3515
|
-
return -1 * (lastEvent !== undefined ? lastEvent.timestamp : order);
|
|
3613
|
+
return -1 * ((_ref5 = lastEvent !== undefined ? lastEvent.timestamp : order) != null ? _ref5 : 0);
|
|
3516
3614
|
}, chatsSummary),
|
|
3517
3615
|
totalChats: payload.total_chats,
|
|
3518
3616
|
users: uniqBy(function (user) {
|
|
@@ -3632,6 +3730,11 @@
|
|
|
3632
3730
|
// 'greeting_canceled' has the same payload as `greeting_accepted`
|
|
3633
3731
|
payload: parseGreetingAcceptedPush(push.payload)
|
|
3634
3732
|
};
|
|
3733
|
+
case GROUPS_STATUS_UPDATED:
|
|
3734
|
+
return {
|
|
3735
|
+
action: push.action,
|
|
3736
|
+
payload: push.payload
|
|
3737
|
+
};
|
|
3635
3738
|
case INCOMING_CHAT:
|
|
3636
3739
|
return {
|
|
3637
3740
|
action: push.action,
|
|
@@ -3689,9 +3792,9 @@
|
|
|
3689
3792
|
};
|
|
3690
3793
|
}
|
|
3691
3794
|
};
|
|
3692
|
-
var parseResponse = function parseResponse(
|
|
3693
|
-
var request =
|
|
3694
|
-
response =
|
|
3795
|
+
var parseResponse = function parseResponse(_ref6) {
|
|
3796
|
+
var request = _ref6.request,
|
|
3797
|
+
response = _ref6.response;
|
|
3695
3798
|
switch (response.action) {
|
|
3696
3799
|
case ACCEPT_GREETING:
|
|
3697
3800
|
return {
|
|
@@ -3936,150 +4039,6 @@
|
|
|
3936
4039
|
return socket.off;
|
|
3937
4040
|
});
|
|
3938
4041
|
|
|
3939
|
-
var INCORRECT_REQUESTER_STRUCTURE = 'incorrect requester structure';
|
|
3940
|
-
var appendString = function appendString(input, str) {
|
|
3941
|
-
return input.length ? input + "\n" + str : str;
|
|
3942
|
-
};
|
|
3943
|
-
var createTicketBody = function createTicketBody(state, _ref) {
|
|
3944
|
-
var fields = _ref.fields,
|
|
3945
|
-
customerId = _ref.customerId,
|
|
3946
|
-
_ref$groupId = _ref.groupId,
|
|
3947
|
-
groupId = _ref$groupId === void 0 ? state.groupId : _ref$groupId,
|
|
3948
|
-
timeZone = _ref.timeZone;
|
|
3949
|
-
var ticketBody = _extends({
|
|
3950
|
-
licence_id: state.licenseId,
|
|
3951
|
-
ticket_message: '',
|
|
3952
|
-
offline_message: '',
|
|
3953
|
-
visitor_id: customerId,
|
|
3954
|
-
requester: {}
|
|
3955
|
-
}, typeof groupId === 'number' && {
|
|
3956
|
-
group: groupId
|
|
3957
|
-
}, state.page && {
|
|
3958
|
-
source: {
|
|
3959
|
-
url: state.page.url
|
|
3960
|
-
}
|
|
3961
|
-
}, timeZone && {
|
|
3962
|
-
timezone: timeZone
|
|
3963
|
-
});
|
|
3964
|
-
return fields.reduce(function (body, field) {
|
|
3965
|
-
switch (field.type) {
|
|
3966
|
-
case 'subject':
|
|
3967
|
-
{
|
|
3968
|
-
var value = field.answer;
|
|
3969
|
-
var text = value ? field.label + " " + value : field.label;
|
|
3970
|
-
if (value) {
|
|
3971
|
-
body.subject = value;
|
|
3972
|
-
}
|
|
3973
|
-
body.offline_message = appendString(body.offline_message, text);
|
|
3974
|
-
return body;
|
|
3975
|
-
}
|
|
3976
|
-
case 'name':
|
|
3977
|
-
{
|
|
3978
|
-
var _value = field.answer;
|
|
3979
|
-
var _text = _value ? field.label + " " + _value : field.label;
|
|
3980
|
-
if (_value) {
|
|
3981
|
-
body.requester.name = _value;
|
|
3982
|
-
}
|
|
3983
|
-
body.offline_message = appendString(body.offline_message, _text);
|
|
3984
|
-
return body;
|
|
3985
|
-
}
|
|
3986
|
-
case 'email':
|
|
3987
|
-
{
|
|
3988
|
-
var _value2 = field.answer;
|
|
3989
|
-
var _text2 = _value2 ? field.label + " " + _value2 : field.label;
|
|
3990
|
-
body.requester.mail = _value2;
|
|
3991
|
-
body.offline_message = appendString(body.offline_message, _text2);
|
|
3992
|
-
return body;
|
|
3993
|
-
}
|
|
3994
|
-
case 'question':
|
|
3995
|
-
case 'textarea':
|
|
3996
|
-
{
|
|
3997
|
-
var _value3 = field.answer;
|
|
3998
|
-
var _text3 = _value3 ? field.label + " " + _value3 : field.label;
|
|
3999
|
-
body.offline_message = appendString(body.offline_message, _text3);
|
|
4000
|
-
body.ticket_message = appendString(body.ticket_message, _text3);
|
|
4001
|
-
return body;
|
|
4002
|
-
}
|
|
4003
|
-
case 'radio':
|
|
4004
|
-
case 'select':
|
|
4005
|
-
{
|
|
4006
|
-
var _value4 = field.answer && field.answer.label;
|
|
4007
|
-
var _text4 = _value4 ? field.label + " " + _value4 : field.label;
|
|
4008
|
-
body.offline_message = appendString(body.offline_message, _text4);
|
|
4009
|
-
body.ticket_message = appendString(body.ticket_message, _text4);
|
|
4010
|
-
return body;
|
|
4011
|
-
}
|
|
4012
|
-
case 'checkbox':
|
|
4013
|
-
{
|
|
4014
|
-
var _value5 = field.answers && field.answers.map(function (answer) {
|
|
4015
|
-
return answer.label;
|
|
4016
|
-
}).join(', ');
|
|
4017
|
-
var _text5 = _value5 ? field.label + " " + _value5 : field.label;
|
|
4018
|
-
body.offline_message = appendString(body.offline_message, _text5);
|
|
4019
|
-
body.ticket_message = appendString(body.ticket_message, _text5);
|
|
4020
|
-
return body;
|
|
4021
|
-
}
|
|
4022
|
-
default:
|
|
4023
|
-
return body;
|
|
4024
|
-
}
|
|
4025
|
-
}, ticketBody);
|
|
4026
|
-
};
|
|
4027
|
-
var sendTicketForm = function sendTicketForm(store, auth, _ref2) {
|
|
4028
|
-
var filledForm = _ref2.filledForm,
|
|
4029
|
-
groupId = _ref2.groupId,
|
|
4030
|
-
timeZone = _ref2.timeZone;
|
|
4031
|
-
return auth.getToken().then(function (token) {
|
|
4032
|
-
var state = store.getState();
|
|
4033
|
-
if (getSelfId(state) === null) {
|
|
4034
|
-
store.dispatch(setSelfId(token.entityId));
|
|
4035
|
-
}
|
|
4036
|
-
var url = getApiOrigin(state) + "/v2/tickets/new";
|
|
4037
|
-
var body = createTicketBody(state, {
|
|
4038
|
-
fields: filledForm.fields,
|
|
4039
|
-
customerId: token.entityId,
|
|
4040
|
-
groupId: groupId,
|
|
4041
|
-
timeZone: timeZone
|
|
4042
|
-
});
|
|
4043
|
-
return unfetch(url, {
|
|
4044
|
-
method: 'POST',
|
|
4045
|
-
headers: {
|
|
4046
|
-
'Content-Type': 'application/json'
|
|
4047
|
-
},
|
|
4048
|
-
body: JSON.stringify(body)
|
|
4049
|
-
}).then(function (response) {
|
|
4050
|
-
if (response.ok) {
|
|
4051
|
-
return response.json().then(function (res) {
|
|
4052
|
-
return _extends({}, res, {
|
|
4053
|
-
text: body.ticket_message
|
|
4054
|
-
});
|
|
4055
|
-
});
|
|
4056
|
-
}
|
|
4057
|
-
|
|
4058
|
-
// we actually should normalize this somehow
|
|
4059
|
-
if (response.status === 400 || response.status === 422) {
|
|
4060
|
-
var errHandler = function errHandler(error) {
|
|
4061
|
-
if (!error || !error.errors) {
|
|
4062
|
-
// TODO: I honestly don't know if this can even be reached and even if it is - What error should be thrown here
|
|
4063
|
-
throw new Error();
|
|
4064
|
-
}
|
|
4065
|
-
// we receive some hardcore aggregate error here 😱
|
|
4066
|
-
var firstError = error.errors[0];
|
|
4067
|
-
var type = Object.keys(firstError)[0];
|
|
4068
|
-
if (type === INCORRECT_REQUESTER_STRUCTURE) {
|
|
4069
|
-
throw createError$1({
|
|
4070
|
-
message: firstError[INCORRECT_REQUESTER_STRUCTURE][0],
|
|
4071
|
-
code: 'VALIDATION'
|
|
4072
|
-
});
|
|
4073
|
-
}
|
|
4074
|
-
throw new Error();
|
|
4075
|
-
};
|
|
4076
|
-
return response.json().then(errHandler, errHandler);
|
|
4077
|
-
}
|
|
4078
|
-
throw new Error();
|
|
4079
|
-
});
|
|
4080
|
-
});
|
|
4081
|
-
};
|
|
4082
|
-
|
|
4083
4042
|
var toFormData = function toFormData(object) {
|
|
4084
4043
|
var formData = new FormData();
|
|
4085
4044
|
Object.keys(object).forEach(function (key) {
|
|
@@ -4189,7 +4148,7 @@
|
|
|
4189
4148
|
validateFile(file);
|
|
4190
4149
|
var state = store.getState();
|
|
4191
4150
|
var query = buildQueryString({
|
|
4192
|
-
|
|
4151
|
+
organization_id: state.organizationId
|
|
4193
4152
|
});
|
|
4194
4153
|
var url = getServerUrl(state) + "/action/" + UPLOAD_FILE + "?" + query;
|
|
4195
4154
|
var payload = {
|
|
@@ -4255,7 +4214,7 @@
|
|
|
4255
4214
|
*/
|
|
4256
4215
|
var log = function log(_ref) {
|
|
4257
4216
|
var env = _ref.env,
|
|
4258
|
-
|
|
4217
|
+
organizationId = _ref.organizationId,
|
|
4259
4218
|
eventName = _ref.eventName;
|
|
4260
4219
|
if (env !== 'production' || "customer_sdk" !== 'customer_sdk') {
|
|
4261
4220
|
return Promise.resolve();
|
|
@@ -4263,10 +4222,10 @@
|
|
|
4263
4222
|
var message = {
|
|
4264
4223
|
event_name: eventName,
|
|
4265
4224
|
severity: 'Informational',
|
|
4266
|
-
sdkVersion: "
|
|
4225
|
+
sdkVersion: "4.0.0"
|
|
4267
4226
|
};
|
|
4268
4227
|
var body = {
|
|
4269
|
-
|
|
4228
|
+
organizationId: organizationId,
|
|
4270
4229
|
event_id: 'chat_widget_customer_sdk',
|
|
4271
4230
|
message: JSON.stringify(message)
|
|
4272
4231
|
};
|
|
@@ -4380,8 +4339,17 @@
|
|
|
4380
4339
|
}));
|
|
4381
4340
|
});
|
|
4382
4341
|
|
|
4342
|
+
var ASC = 'asc';
|
|
4343
|
+
var DESC = 'desc';
|
|
4344
|
+
|
|
4345
|
+
var sortOrders = /*#__PURE__*/Object.freeze({
|
|
4346
|
+
__proto__: null,
|
|
4347
|
+
ASC: ASC,
|
|
4348
|
+
DESC: DESC
|
|
4349
|
+
});
|
|
4350
|
+
|
|
4383
4351
|
var CHATS_PAGINATION_MAX_LIMIT = 25;
|
|
4384
|
-
var init = function init(config, env) {
|
|
4352
|
+
var init = function init(config, env, licenseId) {
|
|
4385
4353
|
if (env === void 0) {
|
|
4386
4354
|
env = 'production';
|
|
4387
4355
|
}
|
|
@@ -4396,12 +4364,13 @@
|
|
|
4396
4364
|
}));
|
|
4397
4365
|
var emitter = createMitt();
|
|
4398
4366
|
var socket = createSocketClient(store);
|
|
4399
|
-
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth(instanceConfig, env);
|
|
4367
|
+
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth(instanceConfig, licenseId, env);
|
|
4400
4368
|
store.addSideEffectsHandler(createSideEffectsHandler({
|
|
4401
4369
|
emitter: emitter,
|
|
4402
4370
|
socket: socket,
|
|
4403
4371
|
auth: auth,
|
|
4404
|
-
customerDataProvider: customerDataProvider
|
|
4372
|
+
customerDataProvider: customerDataProvider,
|
|
4373
|
+
licenseId: licenseId
|
|
4405
4374
|
}));
|
|
4406
4375
|
socketListener(store, socket);
|
|
4407
4376
|
var sendRequestAction$1 = sendRequestAction.bind(null, store);
|
|
@@ -4600,7 +4569,7 @@
|
|
|
4600
4569
|
resumeChat: function resumeChat(data) {
|
|
4601
4570
|
log({
|
|
4602
4571
|
env: env,
|
|
4603
|
-
|
|
4572
|
+
organizationId: config.organizationId,
|
|
4604
4573
|
eventName: 'chat_started'
|
|
4605
4574
|
});
|
|
4606
4575
|
return sendRequestAction$1(sendRequest(RESUME_CHAT, parseResumeChatData(data)));
|
|
@@ -4616,9 +4585,6 @@
|
|
|
4616
4585
|
}(function (params) {
|
|
4617
4586
|
return sendRequestAction$1(sendEvent(params));
|
|
4618
4587
|
}),
|
|
4619
|
-
sendTicketForm: function sendTicketForm$1(options) {
|
|
4620
|
-
return sendTicketForm(store, auth, options);
|
|
4621
|
-
},
|
|
4622
4588
|
sendRichMessagePostback: function sendRichMessagePostback(_ref15) {
|
|
4623
4589
|
var chatId = _ref15.chatId,
|
|
4624
4590
|
threadId = _ref15.threadId,
|
|
@@ -4655,7 +4621,7 @@
|
|
|
4655
4621
|
}
|
|
4656
4622
|
log({
|
|
4657
4623
|
env: env,
|
|
4658
|
-
|
|
4624
|
+
organizationId: config.organizationId,
|
|
4659
4625
|
eventName: 'chat_started'
|
|
4660
4626
|
});
|
|
4661
4627
|
return sendRequestAction$1(sendRequest(START_CHAT, parseStartChatData(data)));
|
|
@@ -4719,7 +4685,9 @@
|
|
|
4719
4685
|
return api;
|
|
4720
4686
|
};
|
|
4721
4687
|
|
|
4688
|
+
exports.connectionStatuses = connectionStatuses;
|
|
4722
4689
|
exports.debug = debug;
|
|
4690
|
+
exports.eventTypes = eventTypes;
|
|
4723
4691
|
exports.init = init;
|
|
4724
4692
|
exports.parseCustomEvent = parseCustomEvent;
|
|
4725
4693
|
exports.parseEvent = parseEvent$1;
|
|
@@ -4730,6 +4698,11 @@
|
|
|
4730
4698
|
exports.parseMessage = parseMessage;
|
|
4731
4699
|
exports.parseRichMessage = parseRichMessage;
|
|
4732
4700
|
exports.parseSystemMessage = parseSystemMessage;
|
|
4701
|
+
exports.serverDisconnectionReasons = serverDisconnectionReasons;
|
|
4702
|
+
exports.serverErrorCodes = serverErrorCodes;
|
|
4703
|
+
exports.serverPushActions = serverPushActions;
|
|
4704
|
+
exports.sortOrders = sortOrders;
|
|
4705
|
+
exports.userTypes = userTypes;
|
|
4733
4706
|
|
|
4734
4707
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4735
4708
|
|