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