@livechat/customer-sdk 3.1.5 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -77
- package/dist/customer-sdk.cjs.js +208 -228
- package/dist/customer-sdk.cjs.native.js +208 -228
- package/dist/customer-sdk.esm.js +202 -227
- package/dist/customer-sdk.js +481 -399
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +5 -6
- package/types/actions.d.ts +8 -8
- package/types/constants/organizationIds.d.ts +2 -0
- package/types/constants/serverDisconnectionReasons.d.ts +1 -0
- package/types/constants/serverPushActions.d.ts +1 -0
- package/types/createStore.d.ts +1 -1
- package/types/graylog/index.d.ts +2 -2
- package/types/index.d.ts +20 -7
- package/types/reducer.d.ts +14 -15
- package/types/serverFrameParser.d.ts +10 -2
- package/types/sideEffects/index.d.ts +2 -1
- package/types/sideStorage.d.ts +2 -2
- package/types/socketListener.d.ts +6 -3
- package/types/types/clientEntities.d.ts +2 -0
- package/types/types/frames.d.ts +10 -1
- package/types/types/serverEntities.d.ts +1 -0
- package/types/types/state.d.ts +2 -2
package/dist/customer-sdk.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CustomerSDK={})}(this,(function(e){"use strict";function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)0>t.indexOf(n=a[r])&&(o[n]=e[n]);return o}function r(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o="__test_storage_support__",a="@@test",i=function(){var e=Object.create(null);return{getItem:function(t){var n=e[t];return"string"==typeof n?n:null},setItem:function(t,n){e[t]=n},removeItem:function(t){delete e[t]},clear:function(){e=Object.create(null)}}}(),c=function(e){void 0===e&&(e="local");try{var t="session"===e?window.sessionStorage:window.localStorage;return t.setItem(o,a),t.getItem(o)!==a?!1:(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i,s=function(e,t){return new Promise((function(n){return n(c.setItem(e,t))}))},u=function(e){return new Promise((function(t){return t(c.getItem(e))}))},d=function(e){return new Promise((function(t){return t(c.removeItem(e))}))},p={}.hasOwnProperty;function l(e,t){return p.call(t,e)}function f(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}var h=Array.isArray;function v(e,t){return Object.keys(t).reduce((function(n,r){return n[r]=e(t[r]),n}),{})}function _(e){return e}function y(e){var t=Math.random().toString(36).substring(2);return l(t,e)?y(e):t}function m(e,t){return-1!==t.indexOf(e)}function g(){}function I(e){return Object.keys(e).map((function(t){return e[t]}))}function E(e,t){return e.reduce((function(e,n){return l(n,t)&&(e[n]=t[n]),e}),{})}var b=function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))},T=function(e,t){return e===t?0:t>e?-1:1};var w=function(e){return b(e).map((function(e){return e.map(encodeURIComponent).join("=")})).join("&")},O=/[^:]+:\/\/[^(/|?)\s]+/,S=function(e){var t=e.match(O);return t&&t[0]},k=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")},P=(RegExp("^[\0-]*("+k("javascript")+"|"+k("data")+"):","i"),/^((http(s)?:)?\/\/)/);function C(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},s=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:s,headers:{keys:function(){return a},entries:function(){return i},get:function(e){return c[e.toLowerCase()]},has:function(e){return e.toLowerCase()in c}}}};for(var u in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){a.push(t=t.toLowerCase()),i.push([t,n]),c[t]=c[t]?c[t]+","+n:n})),n(s())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(u,t.headers[u]);o.send(t.body||null)}))}var N=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},x=function(e,t){if("identity_exception"in e)throw N({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw N({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(),licenseId:t}},j="https://accounts.livechatinc.com",D=function(e,t){return""+("production"===t?j:j.replace("accounts.","accounts."+t+"."))+function(e){return(e.uniqueGroups?"/licence/g"+e.licenseId+"_"+e.groupId:"")+"/customer"}(e)},q="https://accounts.livechatinc.com",R="@livechat/customer-auth",A=function(e,t){var n=function(e,t){return{license_id:e.licenseId+"",flow:"button",response_type:"token",client_id:e.clientId,redirect_uri:t,post_message_uri:t,state:R}}(e,S(window.location+"")+window.location.pathname),r=document.createElement("iframe");return r.style.display="none",r.setAttribute("src",D(e,t)+"?"+w(n)),r};function M(e,t){var n=e.licenseId,r=function(e){return"production"===e?q:q.replace("accounts.","accounts."+e+".")}(t);return new Promise((function(o,a){var i=A(e,t),c=function(){var e,t;(t=(e=i).parentNode)&&t.removeChild(e),window.removeEventListener("message",u,!1)},s=setTimeout((function(){c(),a(N({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}),15e3),u=function(e){var t=e.data;if(e.origin===r&&function(e){return e&&e.state===R}(t)){clearTimeout(s),c();try{o(x(t,n))}catch(e){a(e)}}};window.addEventListener("message",u,!1),new Promise((function(e){!function t(){document.body?e(document.body):setTimeout(t,100)}()})).then((function(e){e.appendChild(i)}))}))}var U=function(e){if("number"!=typeof e.licenseId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { licenseId, clientId }.")},L=function(e,t){U(e);var n="@@lc_auth_token:"+e.licenseId+(e.uniqueGroups?":"+e.groupId:""),r=null,o=null,a=u(n).then((function(e){null!==a&&(a=null,e&&(o=JSON.parse(e)))})),i=function(){return r=function(e,t){return e.uniqueGroups?M(e,t):C(D(e,t)+"/token",{method:"POST",credentials:"include",body:JSON.stringify({response_type:"token",grant_type:"cookie",client_id:e.clientId,license_id:e.licenseId,redirect_uri:S(window.location+"")+window.location.pathname})}).then((function(e){return e.json()})).then((function(t){return x(t,e.licenseId)}))}(e,t).then((function(e){return r=null,s(n,JSON.stringify(e)),o=e,e}),(function(e){throw r=null,e}))};return{getFreshToken:i,getToken:function e(){return r||(o&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(o)?Promise.resolve(o):a?a.then(e):i())},hasToken:function e(){return a?a.then(e):Promise.resolve(!!o)},invalidate:function(){return o=null,a=null,d(n)}}};var H=function(){var e,r={all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map((function(e){e(n)})),(r=e.get("*"))&&r.slice().map((function(e){e(t,n)}))}},o=r.all,a=n(r,["all"]);return t({},a,{off:function(e,t){e?a.off(e,t):o.clear()},once:function(e,t){a.on(e,(function n(r,o){a.off(e,n),t(r,o)}))}})},F="change_region",G="check_goals",Y="destroy",V="fail_all_requests",z="login_success",B="pause_connection",J="prefetch_token",K="push_received",X="push_response_received",W="reconnect",Q="request_failed",Z="response_received",$="send_request",ee="set_chat_active",te="set_self_id",ne="socket_connected",re="socket_disconnected",oe="socket_recovered",ae="socket_unstable",ie="start_connection",ce="update_customer_page",se="CONNECTION_LOST",ue="IDENTITY_MISMATCH",de="MISDIRECTED_CONNECTION",pe="MISSING_CHAT_THREAD",le="SDK_DESTROYED",fe="accept_greeting",he="cancel_greeting",ve="delete_chat_properties",_e="delete_event_properties",ye="delete_thread_properties",me="get_chat",ge="get_customer",Ie="get_form",Ee="get_predicted_agent",be="get_url_info",Te="list_chats",we="list_group_statuses",Oe="list_threads",Se="login",ke="mark_events_as_seen",Pe="resume_chat",Ce="send_event",Ne="send_rich_message_postback",xe="send_sneak_peek",je="set_customer_session_fields",De="start_chat",qe="update_chat_properties",Re="update_customer",Ae="update_customer_page",Me="update_event_properties",Ue="update_thread_properties";var Le=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")()),He=function(){return Math.random().toString(36).substring(7).split("").join(".")},Fe={INIT:"@@redux/INIT"+He(),REPLACE:"@@redux/REPLACE"+He(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+He()}};function Ge(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Ye(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(Ye)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,s=!1;function u(){c===i&&(c=i.slice())}function d(){if(s)throw Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return a}function p(e){if("function"!=typeof e)throw Error("Expected the listener to be a function.");if(s)throw Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return u(),c.push(e),function(){if(t){if(s)throw Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,u();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!Ge(e))throw Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(s)throw Error("Reducers may not dispatch actions.");try{s=!0,a=o(a,e)}finally{s=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}function f(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:Fe.REPLACE})}function h(){var e,t=p;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(d())}return n(),{unsubscribe:t(n)}}})[Le]=function(){return this},e}return l({type:Fe.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[Le]=h,r}function Ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ze(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 Be(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(n,!0).forEach((function(t){Ve(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Je(){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 Ke(){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 Be({},n,{dispatch:r=Je.apply(void 0,a)(n.dispatch)})}}}function Xe(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var We="connected",Qe="destroyed",Ze="disconnected",$e="agent",et="customer",tt=function(e){return e.connection.status},nt=function(e,t){return e.requests[t]},rt=function(e){return e.users.self.id},ot=function(e,t){var n=e.chats[t];return!!n&&n.active},at=function(e){return tt(e)===We},it=function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+function(e){var t=e.env;return 1520===e.licenseId?".staging":"production"===t?"":"."+t}(e)+".livechatinc.com"},ct=function(e){return it(e)+"/v3.3/customer"},st=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},ut=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},dt=function(e){var n,r,o;return r=e,(n={}).change_region=function(e,n){return t({},e,{region:n.region})},n.destroy=function(e){return ut(Qe,e)},n.login_success=function(e){return ut(We,e)},n.pause_connection=function(e){return ut("paused",e)},n.request_failed=st,n.response_received=st,n.push_response_received=st,n.send_request=function(e,n){var r,o=n.id;return t({},e,{requests:t({},e.requests,(r={},r[o]={id:o,promise:n.promise,resolve:n.resolve,reject:n.reject,request:n.request},r))})},n.set_chat_active=function(e,n){var r,o=n.id;return t({},e,{chats:t({},e.chats,(r={},r[o]=t({},e.chats[o],{active:n.active}),r))})},n.set_self_id=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n.socket_disconnected=function(e){var n=tt(e);return t({},ut(n===Ze?Ze:"reconnecting",e),{requests:{}})},n.update_customer_page=function(e,n){return t({},e,{page:t({},e.page,n)})},(o=n)[void 0]&&console.warn("Reducer contains an 'undefined' action type.\nHave you misspelled a constant?"),function(e,t){return void 0===e&&(e=r),l(t.type,o)?o[t.type](e,t.payload):e}};function pt(e){var n=_,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=Ye(dt(function(e){var n=e.application,r=e.licenseId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,s=void 0===c?null:c,u=e.region,d=void 0===u?null:u,p=e.referrer,l=void 0===p?null:p,f=e.uniqueGroups,h=void 0!==f&&f,v=e.mobile,_=void 0!==v&&v;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"3.1.5"}),licenseId:r,env:i,groupId:a,chats:{},connection:{status:Ze},page:s,region:d,referrer:l,requests:{},users:{self:{id:null,type:et},others:{}},uniqueGroups:h,mobile:_}}(e)),n(Ke(r)));return o.addSideEffectsHandler=r.add,o}function lt(e){var t=e.code,n=Error(e.message);return n.code=t,n}var ft="customer_banned",ht="product_version_changed",vt="chat_deactivated",_t="chat_properties_deleted",yt="chat_properties_updated",mt="chat_transferred",gt="customer_disconnected",It="customer_page_updated",Et="customer_side_storage_updated",bt="customer_updated",Tt="event_properties_deleted",wt="event_properties_updated",Ot="event_updated",St="events_marked_as_seen",kt="greeting_accepted",Pt="greeting_canceled",Ct="incoming_chat",Nt="incoming_event",xt="incoming_greeting",jt="incoming_multicast",Dt="incoming_rich_message_postback",qt="incoming_typing_indicator",Rt="queue_position_updated",At="thread_properties_deleted",Mt="thread_properties_updated",Ut="user_added_to_chat",Lt="user_removed_from_chat",Ht=Object.freeze({__proto__:null,CHAT_DEACTIVATED:vt,CHAT_PROPERTIES_DELETED:_t,CHAT_PROPERTIES_UPDATED:yt,CHAT_TRANSFERRED:mt,CUSTOMER_DISCONNECTED:gt,CUSTOMER_PAGE_UPDATED:It,CUSTOMER_SIDE_STORAGE_UPDATED:Et,CUSTOMER_UPDATED:bt,EVENT_PROPERTIES_DELETED:Tt,EVENT_PROPERTIES_UPDATED:wt,EVENT_UPDATED:Ot,EVENTS_MARKED_AS_SEEN:St,GREETING_ACCEPTED:kt,GREETING_CANCELED:Pt,INCOMING_CHAT:Ct,INCOMING_EVENT:Nt,INCOMING_GREETING:xt,INCOMING_MULTICAST:jt,INCOMING_RICH_MESSAGE_POSTBACK:Dt,INCOMING_TYPING_INDICATOR:qt,QUEUE_POSITION_UPDATED:Rt,THREAD_PROPERTIES_DELETED:At,THREAD_PROPERTIES_UPDATED:Mt,USER_ADDED_TO_CHAT:Ut,USER_REMOVED_FROM_CHAT:Lt}),Ft="file",Gt="form",Yt="filled_form",Vt="message",zt="rich_message",Bt="system_message",Jt="custom",Kt=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||h(t)||(n.properties=e.properties),n},Xt=function(e){switch(e.type){case Vt:var r=t({},Kt(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 Ft:return t({},Kt(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case Yt:return t({},Kt(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case Bt:var o=t({},Kt(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case Jt:var a=t({},Kt(e),{type:e.type});return e.content&&(a.content=e.content),a}},Wt=function(e){var t=e.active,n=e.chat,r=e.continuous,o={active:void 0===t||t,chat:{}};if("boolean"==typeof r&&(o.continuous=r),!n)return o;var a=n.access,i=n.thread,c=n.properties;return a&&a.groupIds&&(o.chat.access={group_ids:a.groupIds}),c&&(o.chat.properties=c),i&&(o.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(Xt)),r&&(t.properties=r),t}(i)),o},Qt=function(e){return b(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},Zt=function(e){var t=E(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=Qt(e.sessionFields)),t},$t=function(e){return{type:Y,payload:{reason:e}}},en=function(e){return{type:B,payload:{reason:e}}},tn=function(e){return void 0===e&&(e=!1),{type:J,payload:{fresh:e}}},nn=function(e){return{type:W,payload:{delay:e}}},rn=function(e,n,r){return{type:$,payload:t({request:{action:e,payload:n}},r&&{source:r})}},on=function(e,t){return{type:ee,payload:{id:e,active:t}}},an=function(e){return{type:te,payload:{id:e}}},cn=function(e,t){t.payload.id=y(e.getState().requests);var n=Xe(),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},sn=function(e){var t=e.min,n=void 0===t?1e3:t,r=e.max,o=void 0===r?5e3:r,a=e.jitter,i=void 0===a?.5:a,c=0;return{duration:function(){var e=n*Math.pow(2,c++);if(i){var t=Math.random(),r=Math.floor(t*i*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,o)},reset:function(){c=0}}},un=function(e){var t=e.getState();return"side_storage_"+t.licenseId+(t.uniqueGroups?":"+t.groupId:"")},dn=function(e){return u(un(e)).catch(g).then((function(e){return JSON.parse(e||"{}")})).catch((function(){return{}}))},pn=function(e,t,n){var r=e.slice(0),o=!1;return function e(a){var i,c=r.shift();(i=function(){return c(a)},new Promise((function(e){e(i())}))).then((function(n){o||(r.length?e(n):t(n))}),(function(e){o||n(e)}))}(),{cancel:function(){o=!0}}},ln=function(e,t,n){return cn(e,rn(t,n,"login"))};function fn(e,n){var r,o,a=null,i={min:300,max:6e4,jitter:.3},c=sn(i),s=sn(t({},i,{min:1e3})),u=c,d=function(e){return r.dispatch($t(e))},p=function(){return r.dispatch(nn(u.duration()))},l=function(){return Promise.all([e.getToken(),dn(r)])},f=function(e){var t=e[0],n=e[1],o=rt(r.getState());if(null===o)r.dispatch(an(t.entityId));else if(o!==t.entityId){var a=Error("Identity has changed.");throw a.code=ue,a}return[t,n]},h=function(e){var t,o,i,c=e[0],s=e[1],u=r.getState(),d=u.application,p=u.groupId,l=u.page,f=u.referrer,h=u.mobile,v={token:c.tokenType+" "+c.accessToken,customer:"function"==typeof n?Zt(n()):{},customer_side_storage:s,is_mobile:h,application:(t=["name","version"],o=d,t.reduce((function(e,t){return e[t]=o[t],e}),{}))};return"number"==typeof p&&(v.group_id=p),d.channelType&&(v.application.channel_type=d.channelType),null!==l&&(a=l,v.customer_page=l),null!==f&&(v.referrer=f),Promise.race([ln(r,Se,v),(i=15e3,new Promise((function(e){setTimeout(e,i)}))).then((function(){return Promise.reject(lt({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;r=t,null==(n=o)||n.cancel(),o=pn([l,f,h],(function(e){var t;o=null,c.reset(),s.reset(),u=c,t=r.getState().page,a!==t&&ln(r,Ae,t).catch(g),a=null,r.dispatch({type:z,payload:e})}),(function(t){switch(o=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void p();case se:case de:case le:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void p():void d(t.message);case"USERS_LIMIT_REACHED":return void r.dispatch(en(t.code.toLowerCase()));case ue:case"CUSTOMER_BANNED":case"WRONG_PRODUCT_VERSION":return void d(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return u=s,void p();default:return void p()}}))},cancel:function(){var e;null==(e=o)||e.cancel()}}}var hn,vn=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:V,payload:{rejects:Object.keys(r).map((function(e){return r[e].reject})),reason:t}})},_n=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:Q,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},yn=Object.freeze({success:!0}),mn=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},gn=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},In=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},mn(e,n),{type:Ft,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},gn(300,n)),high:t({url:n.thumbnail2x_url},gn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},mn(e,n),{type:Ft,contentType:n.content_type,url:n.url,name:n.name})},En=function(e,r){return t({},mn(e,r),{type:Yt,formId:r.form_id,fields:r.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,["group_id"]),{groupId:o})});default:return e}}))})},bn=function(e,n){return t({},mn(e,n),{type:Vt,text:n.text})},Tn=function(e,n){return t({},mn(e,n),{type:Jt},n.content&&{content:n.content})},wn=function(e){var n={};if("string"==typeof e.title&&(n.title=e.title),"string"==typeof e.subtitle&&(n.subtitle=e.subtitle),e.image){var r=e.image;n.image=t({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.buttons&&(n.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var n={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(n.webviewHeight=e.webview_height),n;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),n},On=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},mn(e,n),{type:zt,template:n.template_id,elements:n.elements.map(wn)});default:return null}},Sn=function(e,n){var r=t({},mn(e,t({},n,{author_id:"system"})),{type:Bt,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},kn=function(e,n){switch(n.type){case Ft:return In(e,n);case Gt:return function(e,n){return t({},mn(e,n),{authorId:"system",type:Gt,formId:n.form_id,fields:n.fields})}(e,n);case Yt:return En(e,n);case Vt:return bn(e,n);case zt:return On(e,n);case Bt:return Sn(e,n);case Jt:return Tn(e,n);default:return null}},Pn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:kn(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}}},Cn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Nn=function(e){return v((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},xn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:Cn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return kn(t.id,e)})).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?Un(t.queue):null}},jn=function(e){return{id:e.id,access:Cn(e.access),users:e.users.map(Ln),properties:e.properties||{},eventsSeenUpToMap:Nn(e.users)}},Dn=function(e){var t=E(["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},qn=function(e){var n=Dn(e);return t({id:e.id,type:et},n,{sessionFields:n.sessionFields||{}})},Rn=function(e){var n=e.statistics;return t({},qn(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}})},An=function(e){var t=e.agent;return{agent:{id:t.id,type:$e,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},Mn=function(e){return{position:e.position,waitTime:e.wait_time}},Un=function(e){return t({},Mn(e),{queuedAt:e.queued_at})},Ln=function(e){return e.type===et?t({},qn(r=e),{present:r.present}):{id:(n=e).id,type:$e,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},Hn=((hn={}).CONNECTION_LOST="Connection lost.",hn.MISDIRECTED_CONNECTION="Connected to wrong region.",hn),Fn=function(e,t){var n=e.getState();switch(t.type){case X:case K:switch(t.payload.action){case vt:return void e.dispatch(on(t.payload.payload.chatId,!1));case Ct:return void e.dispatch(on(t.payload.payload.chat.id,!0));default:return}case Z:switch(t.payload.action){case Te:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return ot(n,e.id)!==t})).forEach((function(t){e.dispatch(on(t.id,t.active))}));default:return}}},Gn=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==et)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},Yn=function(e,t){var n,r=t.content;"lc2"===t.type&&("groups_update"===r.name&&"groups"in r&&0!==(h(n=r.groups)?n:Object.keys(n)).length&&e("availability_updated",{availability:"offline"===r.groups[0].status?"offline":"online"}))},Vn=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case Mt:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(Rt,{chatId:o.payload.chatId,threadId:o.payload.threadId,queue:{position:o.payload.properties.lc2.queue_pos,waitTime:o.payload.properties.lc2.queue_waiting_time}}),void n("thread_properties_updated",o.payload);case Et:return void function(e,t){s(un(e),JSON.stringify(t)).catch(g)}(r,o.payload.customer_side_storage);case gt:switch(o.payload.reason){case"access_token_expired":r.dispatch(tn(!0)),r.dispatch(nn(100)),n("disconnected",o.payload);break;case ft:case"customer_temporarily_blocked":case"license_not_found":case ht:case"too_many_connections":case"unsupported_version":r.dispatch($t(o.payload.reason));break;case"misdirected_connection":vn(r,de),r.dispatch({type:F,payload:o.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":vn(r,o.payload.reason.toUpperCase());break;default:r.dispatch(nn(100)),n("disconnected",o.payload)}return;case Ct:return Gn(n,o.payload.chat.users),void n(o.action,o.payload);case Nt:if(null===o.payload.event)return;return void n(o.action,o.payload);case qt:return void n(o.action,o.payload);case jt:return Yn(n,o.payload),void n(o.action,o.payload);case Ut:return Gn(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},zn=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case vt:return void r.resolve(yn);case me:return Gn(n,r.payload.users),void r.resolve(r.payload);case Ct:return Gn(n,r.payload.chat.users),void r.resolve(r.payload);case Nt:return void r.resolve(r.payload.event);case Te:return Gn(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},Bn=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=fn(n,e.customerDataProvider);return function(e,c){switch(e.type){case F:return void o.reinitialize();case G:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===rt(r)&&e.dispatch(an(t.entityId));var o=r.page;if(o&&o.url){var a=w({license_id:r.licenseId}),i={session_fields:Qt(n||{}),group_id:r.groupId||0,page_url:o.url};return C(ct(r)+"/action/check_goals?"+a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(i)}).then((function(){}))}}))}(c,n,e.payload.sessionFields).catch(g);case Y:var s=e.payload;switch(i.cancel(),o.destroy(),s.reason){case"manual":vn(c,le);break;case ft:case"license_expired":case ht:vn(c,se),a("disconnected",s);break;default:a("disconnected",s)}return void r.off();case V:var u=e.payload,d=u.reason,p={message:Hn[d],code:d};return void u.rejects.forEach((function(e){e(lt(p))}));case z:var l=e.payload,f=l.dynamicConfig,h=l.chats,v=l.greeting,_=t({customer:l.customer,availability:l.availability},v&&{greeting:v});return Object.defineProperty(_,"__unsafeDynamicConfig",{value:f}),Object.defineProperty(_,"__unsafeChats",{value:h}),void a("connected",_);case B:var y=e.payload;return o.disconnect(),void("manual"!==y.reason&&a("disconnected",y));case J:return e.payload.fresh?void n.getFreshToken().catch(g):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(g);case K:return e.payload.action===gt||Fn(c,e),void Vn({emit:a,store:c},e);case X:return Fn(c,e),void zn({emit:a},e);case W:return vn(c,se),void o.reconnect(e.payload.delay);case Q:var E=e.payload;return void(0,E.reject)(lt(E.error));case Z:return Fn(c,e),void zn({emit:a},e);case $:var b=c.getState();return function(e){return tt(e)===Qe}(b)?void _n(c,e,{code:le,message:"SDK destroyed."}):at(b)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);switch(o.action){case Se:var a=[];return void e.emit(t({},o,{version:"3.3",payload:t({},o.payload,{pushes:{3.3:I(Ht).filter((function(e){return e!==gt&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void _n(c,e,{code:"NO_CONNECTION",message:"No connection."});case te:return void a("customer_id",e.payload.id);case re:return void a("disconnected",{reason:"connection_lost"});case ne:return void i.sendLogin(c);case oe:if(!at(c.getState()))return;return void a("connection_recovered");case ae:if(!at(c.getState()))return;return void a("connection_unstable");case ie:return o.connect(),void c.dispatch(tn());case ce:if(!at(c.getState()))return;return void cn(c,rn(Ae,e.payload)).catch(g);default:return}}},Jn=function(e,t){var n,r=(void 0===t?{}:t).query,o=w(void 0===r?{}:r),a=o?e+"?"+o:e,i=H(),c=sn({min:1e3,max:5e3,jitter:.5}),s=3,u=null,d=function(){s=1,c.reset(),i.emit("connect")},p=function(){f(),v(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),s=3,u)&&((e=u).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),u.close(),u=null)},h=function(){var e;s=0,u=new WebSocket(a),(e=u).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},v=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(h,e):h()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){if(3!==s)throw Error("Socket is already open or connecting.");clearTimeout(n),h()})),destroy:function(){i.off(),f()},disconnect:f,reconnect:v,emit:function(e){if(1!==s)throw Error("Socket is not connected.");u.send(e)},getReadyState:function(){return s},on:i.on,off:i.off}},Kn=function(e,n){var r,o,a,i,c=void 0===n?{}:n,s=c.query,u=void 0===s?{}:s,d=c.emitter,p=void 0===d?H():d,l=Jn(e,{query:u}),f=(o=g,{cancel:function(){clearTimeout(r),o=g},check:function(){var e=Xe();return o=e.resolve,r=setTimeout((function(){var t=Error("Timeout.");t.code="TIMEOUT",e.reject(t)}),2e3),e.promise},resolve:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){clearTimeout(r),o()}))}),h=function(){return 1===l.getReadyState()},v=function(){f.cancel()};return a=l,i=p,["connect","disconnect"].forEach((function(e){a.on(e,(function(t){i.emit(e,t)}))})),l.on("disconnect",v),l.on("message",(function(e){f.resolve();var t=JSON.parse(e);p.emit("message",t)})),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",(function(){h()&&f.check().then((function(){f.cancel(),p.emit("connection_recovered")}),(function(e){if(f.cancel(),"TIMEOUT"!==e.code)throw e;l.reconnect()}))})),window.addEventListener("offline",(function(){f.cancel(),h()&&p.emit("connection_unstable")}))),t({},l,{destroy:function(){v(),l.destroy()},disconnect:function(){v(),l.disconnect()},reconnect:function(e){v(),l.reconnect(e)},emit:function(e){l.emit(JSON.stringify(e))},on:p.on,off:p.off})},Xn=function(e,t){var n=e.getState(),r=(ct(n)+"/rtm/ws").replace(/^https/,"wss");return Kn(r,{query:{license_id:n.licenseId},emitter:t})},Wn=function(e){return{chatId:e.chat_id,properties:e.properties}},Qn=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?Un(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},Zn=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},$n=function(e){return t({id:e.id},Dn(e))},er=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},tr=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:kn(t,e.event)}},rr=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},or=function(e){return{uniqueId:e.unique_id}},ar=function(e){var n=e.chat;return{chat:t({},jn(n),{thread:xn(n.id,n.thread)})}},ir=function(e){return{chatId:e.chat_id,event:kn(e.thread_id,e.event)}},cr=function(e){return Pn(e)},sr=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},ur=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},dr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:Mn(e.queue)}},pr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},lr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},fr=function(e){return{chatId:e.chat_id,user:Ln(e.user),present:e.user.present}},hr=function(e){return{chatId:e.chat_id,userId:e.user_id}},vr=function(e){return e.map((function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map((function(e){var r=e.group_id;return t({},n(e,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},_r=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+""})})),vr(r)):vr(e.fields)}},yr=function(e){return e.enabled?t({},e,{form:_r(e.form)}):e},mr=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(P,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},gr=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:Cn(e.access),properties:a,users:i.map(Ln),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Nn(i)};if(!r)return c;c.lastEventsPerType=v((function(e){return kn(e.thread_id,e.event)}),r);var s,u=r,d=Object.keys(u).map((function(e){return u[e]})),p=(s=d.sort((function(e,t){return e.thread_id===t.thread_id?T(e.event.created_at,t.event.created_at):T(e.thread_created_at,t.thread_created_at)}))).length>0?s[s.length-1]:null;return p&&(c.lastEvent=c.lastEventsPerType[p.event.type]),c}));return{chatsSummary:(o=function(e){var t=e.lastEvent;return-1*(void 0!==t?t.timestamp:e.order)},a=c,i="function"==typeof o?o:function(e){return function(e,t){for(var n="string"==typeof e?e.split("."):e,r=0,o=t;o&&n.length>r;)o=o[n[r++]];return o}(o,e)},(h(a)?[].concat(a):I(a)).sort((function(e,t){return i(e)-i(t)}))),totalChats:e.total_chats,users:(t=function(e){return e.id},n=f((function(e){return e.users}),c),r=[],n.filter((function(e){var n=t(e);return-1===r.indexOf(n)&&(r.push(n),!0)}))),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},Ir=function(e){return e.groups_status},Er=function(e,t){return{threads:t.threads.map((function(t){return xn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},br=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:Rn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&m(n.customer_groups.monitoring.id,r)?"online":"offline"),chats:a.map((function(t){return{id:t.chat_id,active:"has_active_thread"in t?t.has_active_thread:e.has_active_thread,hasUnreadEvents:t.has_unread_events}}))},i&&{greeting:Pn(i)})},Tr=function(e){switch(e.action){case vt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case _t:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case yt:return{action:e.action,payload:Wn(e.payload)};case mt:return{action:e.action,payload:Qn(e.payload)};case Et:case gt:return{action:e.action,payload:e.payload};case It:return{action:e.action,payload:Zn(e.payload)};case bt:return{action:e.action,payload:$n(e.payload)};case Tt:return{action:e.action,payload:er(e.payload)};case wt:return{action:e.action,payload:tr(e.payload)};case Ot:return{action:e.action,payload:nr(e.payload)};case St:return{action:e.action,payload:rr(e.payload)};case kt:case Pt:return{action:e.action,payload:or(e.payload)};case Ct:return{action:e.action,payload:ar(e.payload)};case Nt:return{action:e.action,payload:ir(e.payload)};case xt:return{action:e.action,payload:cr(e.payload)};case jt:return{action:e.action,payload:e.payload};case Dt:return{action:e.action,payload:sr(e.payload)};case qt:return{action:e.action,payload:ur(e.payload)};case Rt:return{action:e.action,payload:dr(e.payload)};case At:return{action:e.action,payload:pr(e.payload)};case Mt:return{action:e.action,payload:lr(e.payload)};case Ut:return{action:e.action,payload:fr(e.payload)};case Lt:return{action:e.action,payload:hr(e.payload)}}var t},wr=function(e,n){var r=e.dispatch,o=n.request_id,a=nt((0,e.getState)(),o),i=a.promise,c=a.resolve,s=function(e){var n,r=e.request,o=e.response;switch(o.action){case fe:case he:case ve:case _e:case ye:return{action:o.action,payload:yn};case me:return{action:o.action,payload:(n=o.payload,t({},jn(n),{thread:n.thread?xn(n.id,n.thread):null}))};case ge:return{action:o.action,payload:Rn(o.payload)};case Ie:return{action:o.action,payload:yr(o.payload)};case Ee:return{action:o.action,payload:An(o.payload)};case be:return{action:o.action,payload:mr(o.payload)};case Te:return{action:o.action,payload:gr(o.payload)};case we:return{action:o.action,payload:Ir(o.payload)};case Oe:return{action:o.action,payload:Er(r,o.payload)};case Se:return{action:o.action,payload:br(o.payload)};case ke:case xe:case je:case Ne:case qe:case Re:case Ae:case Me:case Ue:return{action:o.action,payload:yn}}}({request:a.request,response:n});r({type:Z,payload:t({id:o,promise:i,resolve:c},s)})},Or=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:ne})})),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=nt((0,e.getState)(),o);r({type:Q,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case Pe:case Ce:case De:return;default:return void wr(e,n)}}if("request_id"in n)switch(n.action){case Ct:case Nt:return void function(e,n){var r=e.dispatch,o=n.request_id,a=nt((0,e.getState)(),o),i=a.promise,c=a.resolve,s=Tr(n);r({type:X,payload:t({id:o,promise:i,resolve:c},s)})}(e,n)}!function(e,t){var n=Tr(t);n&&e.dispatch({type:K,payload:n})}(e,n)})),n.on("disconnect",(function(){vn(e,se),tt(e.getState())===We&&e.dispatch({type:re})})),n.on("connection_unstable",(function(){r({type:ae})})),n.on("connection_recovered",(function(){r({type:oe})})),n.off},Sr="incorrect requester structure",kr=function(e,t){return e.length?e+"\n"+t:t},Pr=function(e,n,r){var o=r.filledForm,a=r.groupId,i=r.timeZone;return n.getToken().then((function(n){var r=e.getState();null===rt(r)&&e.dispatch(an(n.entityId));var c=it(r)+"/v2/tickets/new",s=function(e,n){var r=n.fields,o=n.groupId,a=void 0===o?e.groupId:o,i=n.timeZone,c=t({licence_id:e.licenseId,ticket_message:"",offline_message:"",visitor_id:n.customerId,requester:{}},"number"==typeof a&&{group:a},e.page&&{source:{url:e.page.url}},i&&{timezone:i});return r.reduce((function(e,t){switch(t.type){case"subject":var n=t.answer,r=n?t.label+" "+n:t.label;return n&&(e.subject=n),e.offline_message=kr(e.offline_message,r),e;case"name":var o=t.answer,a=o?t.label+" "+o:t.label;return o&&(e.requester.name=o),e.offline_message=kr(e.offline_message,a),e;case"email":var i=t.answer,c=i?t.label+" "+i:t.label;return e.requester.mail=i,e.offline_message=kr(e.offline_message,c),e;case"question":case"textarea":var s=t.answer,u=s?t.label+" "+s:t.label;return e.offline_message=kr(e.offline_message,u),e.ticket_message=kr(e.ticket_message,u),e;case"radio":case"select":var d=t.answer&&t.answer.label,p=d?t.label+" "+d:t.label;return e.offline_message=kr(e.offline_message,p),e.ticket_message=kr(e.ticket_message,p),e;case"checkbox":var l=t.answers&&t.answers.map((function(e){return e.label})).join(", "),f=l?t.label+" "+l:t.label;return e.offline_message=kr(e.offline_message,f),e.ticket_message=kr(e.ticket_message,f),e;default:return e}}),c)}(r,{fields:o.fields,customerId:n.entityId,groupId:a,timeZone:i});return C(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}).then((function(e){if(e.ok)return e.json().then((function(e){return t({},e,{text:s.ticket_message})}));if(400===e.status||422===e.status){var n=function(e){if(!e||!e.errors)throw Error();var t=e.errors[0];if(Object.keys(t)[0]===Sr)throw lt({message:t[Sr][0],code:"VALIDATION"});throw Error()};return e.json().then(n,n)}throw Error()}))}))},Cr="UPLOAD_FAILED",Nr=function(e,t,n){var r=void 0===n?{}:n,o=r.headers,a=r.method,i=void 0===a?"POST":a,c=r.onProgress,s=r.withCredentials,u=void 0!==s&&s,d=new XMLHttpRequest;return{promise:new Promise((function(n,r){var a,s;"function"==typeof c&&(d.upload.onprogress=function(e){c(e.loaded/e.total)}),d.onload=function(){var e;try{e=JSON.parse(d.response)}catch(t){e=d.response}if(200>d.status||d.status>=300){var t=Error("Upload failed.");t.code=Cr,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=Cr,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=u,o&&Object.keys(o).forEach((function(e){return d.setRequestHeader(e,o[e])})),d.send((a=t,s=new FormData,Object.keys(a).forEach((function(e){return s.append(e,a[e])})),s))})),cancel:function(){d.abort()}}},xr=1048576,jr=10485760,Dr=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(xr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},qr=function(e,t){var n,r=e.auth,o=e.store,a=t.file,i=t.onProgress,c=!1;return{promise:new Promise((function(e,t){!function(e){if(e.size>jr)throw lt({message:"The file is too big (max size is "+Dr(jr)+").",code:"TOO_BIG_FILE"})}(a);var s=o.getState(),u=w({license_id:s.licenseId}),d=ct(s)+"/action/upload_file?"+u,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=Nr(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(lt({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},Rr=function(e){var t=e.licenseId,n=e.eventName;if("production"!==e.env)return Promise.resolve();var r={licence_id:t,event_id:"chat_widget_customer_sdk",message:JSON.stringify({event_name:n,severity:"Informational",sdkVersion:"3.1.5"})};return function(e,t){return new Promise((function(n){var r=new Image;r.src=e+"?"+t,r.onerror=g,r.onload=function(){return n()}}))}("https://queue.livechatinc.com/logs",w(r))},Ar="LISTENER_IDENTITY",Mr={},Ur=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}),{})},Lr=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,Ar,{value:{}}),n.LISTENER_IDENTITY[t])return Mr[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=y(Mr);return n.LISTENER_IDENTITY[t]=o,Mr[o]=r,r};e.debug=function(e){var r=e;console.warn("You probably do not want to use debug(customerSDK) in your production environment.");var o=r.on,a=r.once,i=r.off,c=r.getChatHistory,s=r.auth,u=n(r,["on","once","off","getChatHistory","auth"]),d=Ur(u);return Object.freeze(t({auth:Object.freeze(Ur(s,".auth"))},d,{getChatHistory:function(){for(var e,t=arguments.length,n=Array(t),r=0;t>r;r++)n[r]=arguments[r];(e=console).info.apply(e,[".getChatHistory()"].concat(n));var o=c.apply(void 0,n),a="history.next()";return{next:function(){var e;return(e=console).info.apply(e,[a+" ===>"].concat(n)),o.next().then((function(e){var t;return(t=console).info.apply(t,[a+" <==="].concat(n,[e])),e}),(function(e){var t;throw(t=console).error.apply(t,[a+" <==="].concat(n,[e])),e}))}}},off:function(e,t){console.info('.off("'+e+'", '+(t.name||"anonymous")+")");var n=t;void 0!==t.LISTENER_IDENTITY&&(n=Mr[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,Lr("on",e,t))},once:function(e,t){a(e,Lr("once",e,t))}}))},e.init=function(e,r){void 0===r&&(r="production"),U(e);var o=e.autoConnect,a=void 0===o||o,i=e.customerDataProvider,c=e.identityProvider,s=n(e,["autoConnect","customerDataProvider","identityProvider"]),u=pt(t({},s,{env:r})),d=H(),p=function(e){var n=H(),r=Xn(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=Xn(e,n)).connect()}})}(u),l="function"==typeof c?c():L(s,r);u.addSideEffectsHandler(Bn({emitter:d,socket:p,auth:l,customerDataProvider:i})),Or(u,p);var f=cn.bind(null,u),h=function(){u.dispatch({type:ie})},v=Object.freeze({acceptGreeting:function(e){return f(rn(fe,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:l,cancelGreeting:function(e){return f(rn(he,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return v.listThreads({chatId:t}).then((function(e){var n=e.threads;if(!n.length)throw lt({message:'There is no thread in "'+t+'".',code:pe});return v.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:h,deactivateChat:function(e){return f(rn("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return f(rn(ve,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return f(rn(_e,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return f(rn(ye,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){u.dispatch($t("manual"))},disconnect:function(){u.dispatch(en("manual"))},getChat:function(e){return f(rn(me,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function r(o,a){switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then((function(e){var t=e.threads;n.nextPageId=e.nextPageId,n.nextPageId?(n.status="idle",o({value:{threads:[].concat(t).reverse()},done:!1})):(n.status="done",o({value:{threads:[].concat(t).reverse()},done:!0}));var a=n.queuedTasks.shift();a&&r(a.resolve,a.reject)}),(function(e){var t=n.queuedTasks;n.status="idle",n.queuedTasks=[],a(e),t.forEach((function(t){return t.reject(e)}))}));case"fetching":return void n.queuedTasks.push({resolve:o,reject:a});case"done":return void o({value:void 0,done:!0})}};return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){return new Promise(r)}))}}(v,e.chatId)},getCustomer:function(){return f(rn(ge,{}))},getForm:function(e){return f(rn(Ie,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return f(rn(Ee,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return f(rn(be,{url:e.url}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(Error("Specified limit is too high (max 25).")):f(rn(Te,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return f(rn(we,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return f(rn(Oe,void 0===e.pageId?{chat_id:e.chatId,sort_order:e.sortOrder,limit:e.limit,min_events_count:e.minEventsCount}:{chat_id:e.chatId,page_id:e.pageId}))},markEventsAsSeen:function(e){return f(rn(ke,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:d.on,once:d.once,off:d.off,rateChat:function(e){var t=e.chatId,n=e.rating;return v.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw lt({message:'There is no thread in "'+t+'".',code:pe});return v.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return Rr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f(rn(Pe,function(e){var n=Wt(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(e){return f(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:Xt(e.event)};return t&&(n.attach_to_last_thread=!0),rn(Ce,n)}(e))})),sendTicketForm:function(e){return Pr(u,l,e)},sendRichMessagePostback:function(e){return f(rn(Ne,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return f(rn(je,{session_fields:Qt(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=u.getState();ot(r,t)&&at(r)&&f(rn(xe,{chat_id:t,sneak_peek_text:n})).catch(g)},startChat:function(t){return void 0===t&&(t={}),Rr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f(rn(De,Wt(t)))},updateChatProperties:function(e){return f(rn(qe,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return f(rn(Re,Zt(e)))},updateCustomerPage:function(e){u.dispatch({type:ce,payload:E(["title","url"],e)})},updateEventProperties:function(e){return f(rn(Me,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return f(rn(Ue,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return qr({auth:l,store:u},e)}});return a?h():u.dispatch({type:G,payload:{sessionFields:"function"==typeof i?i().sessionFields:{}}}),v},e.parseCustomEvent=Tn,e.parseEvent=kn,e.parseFile=In,e.parseFilledForm=En,e.parseForm=_r,e.parseGreeting=Pn,e.parseMessage=bn,e.parseRichMessage=On,e.parseSystemMessage=Sn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CustomerSDK={})}(this,(function(e){"use strict";function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)0>t.indexOf(n=a[r])&&(o[n]=e[n]);return o}function r(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o="__test_storage_support__",a="@@test",i=function(){var e=Object.create(null);return{getItem:function(t){var n=e[t];return"string"==typeof n?n:null},setItem:function(t,n){e[t]=n},removeItem:function(t){delete e[t]},clear:function(){e=Object.create(null)}}}(),c=function(e){void 0===e&&(e="local");try{var t="session"===e?window.sessionStorage:window.localStorage;return t.setItem(o,a),t.getItem(o)!==a?!1:(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i,u=function(e,t){return new Promise((function(n){return n(c.setItem(e,t))}))},s=function(e){return new Promise((function(t){return t(c.getItem(e))}))},d=function(e){return new Promise((function(t){return t(c.removeItem(e))}))},p={}.hasOwnProperty;function l(e,t){return p.call(t,e)}function f(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function _(e){return Array.isArray(e)}function h(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 v(e,t){return h(t).reduce((function(n,r){return n[r]=e(t[r]),n}),{})}function y(e){return e}function g(e){var t=Math.random().toString(36).substring(2);return l(t,e)?g(e):t}function m(e,t){return-1!==t.indexOf(e)}function I(){}function E(e){return h(e).map((function(t){return e[t]}))}function T(e,t){return e.reduce((function(e,n){return e[n]=t[n],e}),{})}function O(e,t){return e.reduce((function(e,n){return l(n,t)&&(e[n]=t[n]),e}),{})}function b(e){return h(e).map((function(t){return[t,e[t]]}))}function S(e,t){return e===t?0:t>e?-1:1}var N=function(e){return b(e).map((function(e){return e.map(encodeURIComponent).join("=")})).join("&")},w=/[^:]+:\/\/[^(/|?)\s]+/,C=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")},R=(RegExp("^[\0-]*("+C("javascript")+"|"+C("data")+"):","i"),/^((http(s)?:)?\/\/)/);function P(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 A="https://accounts.livechatinc.com",D=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},k=function(e,t){return P(""+function(e,t){return""+("production"===t?A:A.replace("accounts.","accounts."+t+"."))+function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e)}(e,t),{method:"POST",credentials:"include",body:JSON.stringify({response_type:"token",grant_type:"cookie",client_id:e.clientId,organization_id:e.organizationId,redirect_uri:(n=window.location+"",r=n.match(w),(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 D({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw D({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},U=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},x=function(e,t,n){U(e);var r=e.tokenStoragePrefix||"@@lc_auth_token:",o=""+r+t+(e.uniqueGroups?":"+e.groupId:""),a=""+r+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,p=s(o).then((function(e){null!==p&&(p=null,e?u(a,e).then((function(){d(o).then((function(){c=JSON.parse(e)}))})):d(o).then((function(){return s(a).then((function(e){e&&(c=JSON.parse(e))}))})))})),l=function(){return i=k(e,n).then((function(e){return i=null,u(a,JSON.stringify(e)),c=e,e}),(function(e){throw i=null,e}))};return{getFreshToken:l,getToken:function e(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):p?p.then(e):l())},hasToken:function e(){return p?p.then(e):Promise.resolve(!!c)},invalidate:function(){return c=null,p=null,d(a)}}};var j=function(){var e,r={all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map((function(e){e(n)})),(r=e.get("*"))&&r.slice().map((function(e){e(t,n)}))}},o=r.all,a=n(r,["all"]);return t({},a,{off:function(e,t){e?a.off(e,t):o.clear()},once:function(e,t){a.on(e,(function n(r,o){a.off(e,n),t(r,o)}))}})},L="change_region",M="check_goals",q="destroy",G="fail_all_requests",H="login_success",F="pause_connection",z="prefetch_token",V="push_received",Y="push_response_received",B="reconnect",J="request_failed",K="response_received",X="send_request",Q="set_chat_active",W="set_self_id",Z="socket_connected",$="socket_disconnected",ee="socket_recovered",te="socket_unstable",ne="start_connection",re="update_customer_page",oe="CONNECTION_LOST",ae="IDENTITY_MISMATCH",ie="MISDIRECTED_CONNECTION",ce="MISSING_CHAT_THREAD",ue="SDK_DESTROYED",se="accept_greeting",de="cancel_greeting",pe="delete_chat_properties",le="delete_event_properties",fe="delete_thread_properties",_e="get_chat",he="get_customer",ve="get_form",ye="get_predicted_agent",ge="get_url_info",me="list_chats",Ie="list_group_statuses",Ee="list_threads",Te="login",Oe="mark_events_as_seen",be="resume_chat",Se="send_event",Ne="send_rich_message_postback",we="send_sneak_peek",Ce="set_customer_session_fields",Re="start_chat",Pe="update_chat_properties",Ae="update_customer",De="update_customer_page",ke="update_event_properties",Ue="update_thread_properties";var xe=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")()),je=function(){return Math.random().toString(36).substring(7).split("").join(".")},Le={INIT:"@@redux/INIT"+je(),REPLACE:"@@redux/REPLACE"+je(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+je()}};function Me(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function qe(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(qe)(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(!Me(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}function f(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:Le.REPLACE})}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)}}})[xe]=function(){return this},e}return l({type:Le.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[xe]=_,r}function Ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n}function Fe(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?He(n,!0).forEach((function(t){Ge(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ze(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function Ve(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map((function(e){return e(o)}));return Fe({},n,{dispatch:r=ze.apply(void 0,a)(n.dispatch)})}}}var Ye=function(e){var t=e.min,n=void 0===t?1e3:t,r=e.max,o=void 0===r?5e3:r,a=e.jitter,i=void 0===a?.5:a,c=0;return{duration:function(){var e=n*Math.pow(2,c++);if(i){var t=Math.random(),r=Math.floor(t*i*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,o)},reset:function(){c=0}}};function Be(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var Je="connected",Ke="destroyed",Xe="disconnected",Qe="paused",We="reconnecting",Ze=Object.freeze({__proto__:null,CONNECTED:Je,DESTROYED:Ke,DISCONNECTED:Xe,PAUSED:Qe,RECONNECTING:We}),$e="agent",et="customer",tt=Object.freeze({__proto__:null,AGENT:$e,CUSTOMER:et}),nt=function(e){return e.connection.status},rt=function(e,t){return e.requests[t]},ot=function(e){return e.users.self.id},at=function(e,t){var n=e.chats[t];return!!n&&n.active},it=function(e){return nt(e)===Je},ct=function(e){return function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+function(e){var t=e.env;return"feaf6c0e-9f43-48ff-9ad0-8e24e0350932"===e.organizationId?".staging":"production"===t?"":"."+t}(e)+".livechatinc.com"}(e)+"/v3.5/customer"},ut=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},st=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},dt=function(e){var n,r,o;return r=e,(n={}).change_region=function(e,n){return t({},e,{region:n.region})},n.destroy=function(e){return st(Ke,e)},n.login_success=function(e){return st(Je,e)},n.pause_connection=function(e){return st(Qe,e)},n.request_failed=ut,n.response_received=ut,n.push_response_received=ut,n.send_request=function(e,n){var r,o=n.id;return t({},e,{requests:t({},e.requests,(r={},r[o]={id:o,promise:n.promise,resolve:n.resolve,reject:n.reject,request:n.request},r))})},n.set_chat_active=function(e,n){var r,o=n.id;return t({},e,{chats:t({},e.chats,(r={},r[o]=t({},e.chats[o],{active:n.active}),r))})},n.set_self_id=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n.socket_disconnected=function(e){var n=nt(e);return t({},st(n===Xe?Xe:We,e),{requests:{}})},n.update_customer_page=function(e,n){return t({},e,{page:t({},e.page,n)})},(o=n)[void 0]&&console.warn("Reducer contains an 'undefined' action type.\nHave you misspelled a constant?"),function(e,t){return void 0===e&&(e=r),l(t.type,o)?o[t.type](e,t.payload):e}};function pt(e){var n=y,r=function(){var e=[],t=function(t){return function(n){return function(r){var o=n(r);return e.forEach((function(e){e(r,t)})),o}}};return t.add=function(t){e.push(t)},t}(),o=qe(dt(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.uniqueGroups,_=void 0!==f&&f,h=e.mobile,v=void 0!==h&&h;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"4.0.0"}),organizationId:r,env:i,groupId:a,chats:{},connection:{status:Xe},page:u,region:d,referrer:l,requests:{},users:{self:{id:null,type:et},others:{}},uniqueGroups:_,mobile:v}}(e)),n(Ve(r)));return o.addSideEffectsHandler=r.add,o}function lt(e){var t=e.code,n=Error(e.message);return n.code=t,n}var ft="access_token_expired",_t="customer_banned",ht="customer_temporarily_blocked",vt="license_expired",yt="license_not_found",gt="misdirected_connection",mt="product_version_changed",It="service_temporarily_unavailable",Et="too_many_connections",Tt="too_many_unauthorized_connections",Ot="unsupported_version",bt="logged_out_remotely",St=Object.freeze({__proto__:null,ACCESS_TOKEN_EXPIRED:ft,CONNECTION_TIMEOUT:"connection_timeout",CUSTOMER_BANNED:_t,CUSTOMER_TEMPORARILY_BLOCKED:ht,INACTIVITY_TIMEOUT:"inactivity_timeout",INTERNAL_ERROR:"internal_error",LICENSE_EXPIRED:vt,LICENSE_NOT_FOUND:yt,MISDIRECTED_CONNECTION:gt,PRODUCT_VERSION_CHANGED:mt,SERVICE_TEMPORARILY_UNAVAILABLE:It,TOO_MANY_CONNECTIONS:Et,TOO_MANY_UNAUTHORIZED_CONNECTIONS:Tt,UNSUPPORTED_VERSION:Ot,LOGGED_OUT_REMOTELY:bt}),Nt="chat_deactivated",wt="chat_properties_deleted",Ct="chat_properties_updated",Rt="chat_transferred",Pt="customer_disconnected",At="customer_page_updated",Dt="customer_side_storage_updated",kt="customer_updated",Ut="event_properties_deleted",xt="event_properties_updated",jt="event_updated",Lt="events_marked_as_seen",Mt="greeting_accepted",qt="greeting_canceled",Gt="groups_status_updated",Ht="incoming_chat",Ft="incoming_event",zt="incoming_greeting",Vt="incoming_multicast",Yt="incoming_rich_message_postback",Bt="incoming_typing_indicator",Jt="queue_position_updated",Kt="thread_properties_deleted",Xt="thread_properties_updated",Qt="user_added_to_chat",Wt="user_removed_from_chat",Zt=Object.freeze({__proto__:null,CHAT_DEACTIVATED:Nt,CHAT_PROPERTIES_DELETED:wt,CHAT_PROPERTIES_UPDATED:Ct,CHAT_TRANSFERRED:Rt,CUSTOMER_DISCONNECTED:Pt,CUSTOMER_PAGE_UPDATED:At,CUSTOMER_SIDE_STORAGE_UPDATED:Dt,CUSTOMER_UPDATED:kt,EVENT_PROPERTIES_DELETED:Ut,EVENT_PROPERTIES_UPDATED:xt,EVENT_UPDATED:jt,EVENTS_MARKED_AS_SEEN:Lt,GREETING_ACCEPTED:Mt,GREETING_CANCELED:qt,GROUPS_STATUS_UPDATED:Gt,INCOMING_CHAT:Ht,INCOMING_EVENT:Ft,INCOMING_GREETING:zt,INCOMING_MULTICAST:Vt,INCOMING_RICH_MESSAGE_POSTBACK:Yt,INCOMING_TYPING_INDICATOR:Bt,QUEUE_POSITION_UPDATED:Jt,THREAD_PROPERTIES_DELETED:Kt,THREAD_PROPERTIES_UPDATED:Xt,USER_ADDED_TO_CHAT:Qt,USER_REMOVED_FROM_CHAT:Wt}),$t="file",en="form",tn="filled_form",nn="message",rn="rich_message",on="system_message",an="custom",cn=Object.freeze({__proto__:null,FILE:$t,FORM:en,FILLED_FORM:tn,MESSAGE:nn,RICH_MESSAGE:rn,SYSTEM_MESSAGE:on,CUSTOM:an}),un=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||_(t)||(n.properties=e.properties),n},sn=function(e){switch(e.type){case nn:var r=t({},un(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 $t:return t({},un(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case tn:return t({},un(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case on:var o=t({},un(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case an:var a=t({},un(e),{type:e.type});return e.content&&(a.content=e.content),a}},dn=function(e){var t=e.active,n=e.chat,r=e.continuous,o={active:void 0===t||t,chat:{}};if("boolean"==typeof r&&(o.continuous=r),!n)return o;var a=n.access,i=n.thread,c=n.properties;return a&&a.groupIds&&(o.chat.access={group_ids:a.groupIds}),c&&(o.chat.properties=c),i&&(o.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(sn)),r&&(t.properties=r),t}(i)),o},pn=function(e){return b(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},ln=function(e){var t=O(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=pn(e.sessionFields)),t},fn=function(e){return{type:q,payload:{reason:e}}},_n=function(e){return{type:F,payload:{reason:e}}},hn=function(e){return void 0===e&&(e=!1),{type:z,payload:{fresh:e}}},vn=function(e){return{type:B,payload:{delay:e}}},yn=function(e,n,r){return{type:X,payload:t({request:{action:e,payload:n}},r&&{source:r})}},gn=function(e,t){return{type:Q,payload:{id:e,active:t}}},mn=function(e){return{type:W,payload:{id:e}}},In=function(e,t){t.payload.id=g(e.getState().requests);var n=Be(),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},En="AUTHENTICATION",Tn="CUSTOMER_BANNED",On="USERS_LIMIT_REACHED",bn="WRONG_PRODUCT_VERSION",Sn=Object.freeze({__proto__:null,AUTHENTICATION:En,AUTHORIZATION:"AUTHORIZATION",CHAT_ALREADY_ACTIVE:"CHAT_ALREADY_ACTIVE",CHAT_LIMIT_REACHED:"CHAT_LIMIT_REACHED",CUSTOMER_BANNED:Tn,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:On,VALIDATION:"VALIDATION",WRONG_PRODUCT_VERSION:bn}),Nn=function(e){var t=e.getState();return"side_storage_"+t.organizationId+(t.uniqueGroups?":"+t.groupId:"")},wn=function(e,t){var n=function(e,t){var n=e.getState();return"side_storage_"+t+(n.uniqueGroups?":"+n.groupId:"")}(e,t),r=Nn(e);return s(n).catch(I).then((function(e){return e?u(r,e).catch(I).then((function(){return d(n).catch(I).then((function(){return JSON.parse(e)})).catch(I)})):s(r).catch(I).then((function(e){return JSON.parse(e||"{}")})).catch(I)})).catch(I)},Cn=function(e,t,n){var r=e.slice(0),o=!1;return function e(a){var i,c=r.shift();(i=function(){return c(a)},new Promise((function(e){e(i())}))).then((function(n){o||(r.length?e(n):t(n))}),(function(e){o||n(e)}))}(),{cancel:function(){o=!0}}},Rn=function(e,t,n){return In(e,yn(t,n,"login"))};function Pn(e,n,r){var o,a,i=null,c={min:300,max:6e4,jitter:.3},u=Ye(c),s=Ye(t({},c,{min:1e3})),d=u,p=function(e){return o.dispatch(fn(e))},l=function(){return o.dispatch(vn(d.duration()))},f=function(){return Promise.all([e.getToken(),wn(o,r)])},_=function(e){var t=e[0],n=e[1],r=ot(o.getState());if(null===r)o.dispatch(mn(t.entityId));else if(r!==t.entityId){var a=Error("Identity has changed.");throw a.code=ae,a}return[t,n]},h=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={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof n?ln(n()):{},customer_side_storage:a,is_mobile:l,application:T(["name","version"],u)};return"number"==typeof s&&(f.group_id=s),u.channelType&&(f.application.channel_type=u.channelType),null!==d&&(i=d,f.customer_page=d),null!==p&&(f.referrer=p),Promise.race([Rn(o,Te,f),(t=15e3,new Promise((function(e){setTimeout(e,t)}))).then((function(){return Promise.reject(lt({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;o=t,null==(n=a)||n.cancel(),a=Cn([f,_,h],(function(e){var t;a=null,u.reset(),s.reset(),d=u,t=o.getState().page,i!==t&&Rn(o,De,t).catch(I),i=null,o.dispatch({type:H,payload:e})}),(function(t){switch(a=null,t.code){case En:return e.getFreshToken(),void l();case oe:case ie:case ue:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void l():void p(t.message);case On:return void o.dispatch(_n(t.code.toLowerCase()));case ae:case Tn:case bn:return void p(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return d=s,void l();default:return void l()}}))},cancel:function(){var e;null==(e=a)||e.cancel()}}}var An,Dn=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:G,payload:{rejects:Object.keys(r).map((function(e){return r[e].reject})),reason:t}})},kn=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:J,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},Un=Object.freeze({success:!0}),xn=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},jn=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},Ln=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},xn(e,n),{type:$t,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},jn(300,n)),high:t({url:n.thumbnail2x_url},jn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},xn(e,n),{type:$t,contentType:n.content_type,url:n.url,name:n.name})},Mn=function(e,r){return t({},xn(e,r),{type:tn,formId:r.form_id,fields:r.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,["group_id"]),{groupId:o})});default:return e}}))})},qn=function(e,n){return t({},xn(e,n),{type:nn,text:n.text})},Gn=function(e,n){return t({},xn(e,n),{type:an},n.content&&{content:n.content})},Hn=function(e){var n={};if("string"==typeof e.title&&(n.title=e.title),"string"==typeof e.subtitle&&(n.subtitle=e.subtitle),e.image){var r=e.image;n.image=t({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.buttons&&(n.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var n={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(n.webviewHeight=e.webview_height),n;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),n},Fn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},xn(e,n),{type:rn,template:n.template_id,elements:n.elements.map(Hn)});default:return null}},zn=function(e,n){var r=t({},xn(e,t({},n,{author_id:"system"})),{type:on,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Vn=function(e,n){switch(n.type){case $t:return Ln(e,n);case en:return function(e,n){return t({},xn(e,n),{authorId:"system",type:en,formId:n.form_id,fields:n.fields})}(e,n);case tn:return Mn(e,n);case nn:return qn(e,n);case rn:return Fn(e,n);case on:return zn(e,n);case an:return Gn(e,n);default:return null}},Yn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:Vn(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}}},Bn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Jn=function(e){return v((function(e){return e.events_seen_up_to?e.events_seen_up_to:null}),(t="id",e.reduce((function(e,n){return e[n[t]]=n,e}),{})));var t},Kn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:Bn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return Vn(t.id,e)})).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?tr(t.queue):null}},Xn=function(e){return{id:e.id,access:Bn(e.access),users:e.users.map(nr),properties:e.properties||{},eventsSeenUpToMap:Jn(e.users)}},Qn=function(e){var t=O(["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},Wn=function(e){var n=Qn(e);return t({id:e.id,type:et},n,{sessionFields:n.sessionFields||{}})},Zn=function(e){var n=e.statistics;return t({},Wn(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}})},$n=function(e){var t=e.agent;return{agent:{id:t.id,type:$e,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},er=function(e){return{position:e.position,waitTime:e.wait_time}},tr=function(e){return t({},er(e),{queuedAt:e.queued_at})},nr=function(e){return e.type===et?t({},Wn(r=e),{present:r.present}):{id:(n=e).id,type:$e,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},rr=((An={}).CONNECTION_LOST="Connection lost.",An.MISDIRECTED_CONNECTION="Connected to wrong region.",An),or=function(e,t){var n=e.getState();switch(t.type){case Y:case V:switch(t.payload.action){case Nt:return void e.dispatch(gn(t.payload.payload.chatId,!1));case Ht:return void e.dispatch(gn(t.payload.payload.chat.id,!0));default:return}case K:switch(t.payload.action){case me:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return at(n,e.id)!==t})).forEach((function(t){e.dispatch(gn(t.id,t.active))}));default:return}}},ar=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==et)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},ir=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case Xt:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(Jt,{chatId:o.payload.chatId,threadId:o.payload.threadId,queue:{position:o.payload.properties.lc2.queue_pos,waitTime:o.payload.properties.lc2.queue_waiting_time}}),void n("thread_properties_updated",o.payload);case Dt:return void function(e,t){u(Nn(e),JSON.stringify(t)).catch(I)}(r,o.payload.customer_side_storage);case Pt:switch(o.payload.reason){case ft:r.dispatch(hn(!0)),r.dispatch(vn(100)),n("disconnected",o.payload);break;case _t:case ht:case yt:case mt:case Et:case Ot:case bt:r.dispatch(fn(o.payload.reason));break;case gt:Dn(r,ie),r.dispatch({type:L,payload:o.payload.data});break;case It:case Tt:Dn(r,o.payload.reason.toUpperCase());break;default:r.dispatch(vn(100)),n("disconnected",o.payload)}return;case Gt:return void n("availability_updated",{availability:"offline"===o.payload.groups[0].status?"offline":"online"});case Ht:return ar(n,o.payload.chat.users),void n(o.action,o.payload);case Ft:if(null===o.payload.event)return;return void n(o.action,o.payload);case Bt:return void n(o.action,o.payload);case Qt:return ar(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},cr=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case Nt:return void r.resolve(Un);case _e:return ar(n,r.payload.users),void r.resolve(r.payload);case Ht:return ar(n,r.payload.chat.users),void r.resolve(r.payload);case Ft:return void r.resolve(r.payload.event);case me:return ar(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},ur=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=Pn(n,e.customerDataProvider,e.licenseId);return function(e,c){switch(e.type){case L:return void o.reinitialize();case M:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===ot(r)&&e.dispatch(mn(t.entityId));var o=r.page;if(o&&o.url){var a=N({organization_id:r.organizationId}),i={session_fields:pn(n||{}),group_id:r.groupId||0,page_url:o.url};return P(ct(r)+"/action/check_goals?"+a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(i)}).then((function(){}))}}))}(c,n,e.payload.sessionFields).catch(I);case q:var u=e.payload;switch(i.cancel(),o.destroy(),u.reason){case"manual":Dn(c,ue);break;case _t:case vt:case mt:case bt:Dn(c,oe),a("disconnected",u);break;default:a("disconnected",u)}return void r.off();case G:var s=e.payload,d=s.reason,p={message:rr[d],code:d};return void s.rejects.forEach((function(e){e(lt(p))}));case H:var l=e.payload,f=l.dynamicConfig,_=l.chats,h=l.greeting,v=t({customer:l.customer,availability:l.availability},h&&{greeting:h});return Object.defineProperty(v,"__unsafeDynamicConfig",{value:f}),Object.defineProperty(v,"__unsafeChats",{value:_}),void a("connected",v);case F:var y=e.payload;return o.disconnect(),void("manual"!==y.reason&&a("disconnected",y));case z:return e.payload.fresh?void n.getFreshToken().catch(I):void n.hasToken().then((function(e){return e?n.getToken().then((function(e){if(36e5>=e.creationDate+e.expiresIn-Date.now())return n.invalidate().then(n.getFreshToken)})):n.getToken()})).catch(I);case V:return e.payload.action===Pt||or(c,e),void ir({emit:a,store:c},e);case Y:return or(c,e),void cr({emit:a},e);case B:return Dn(c,oe),void o.reconnect(e.payload.delay);case J:var g=e.payload;return void(0,g.reject)(lt(g.error));case K:return or(c,e),void cr({emit:a},e);case X:var T=c.getState();return function(e){return nt(e)===Ke}(T)?void kn(c,e,{code:ue,message:"SDK destroyed."}):it(T)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);switch(o.action){case Te:var a=[];return void e.emit(t({},o,{version:"3.5",payload:t({},o.payload,{pushes:{3.5:E(Zt).filter((function(e){return e!==Pt&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void kn(c,e,{code:"NO_CONNECTION",message:"No connection."});case W:return void a("customer_id",e.payload.id);case $:return void a("disconnected",{reason:"connection_lost"});case Z:return void i.sendLogin(c);case ee:if(!it(c.getState()))return;return void a("connection_recovered");case te:if(!it(c.getState()))return;return void a("connection_unstable");case ne:return o.connect(),void c.dispatch(hn());case re:if(!it(c.getState()))return;return void In(c,yn(De,e.payload)).catch(I);default:return}}},sr=function(e,t){var n,r=(void 0===t?{}:t).query,o=N(void 0===r?{}:r),a=o?e+"?"+o:e,i=j(),c=Ye({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}},dr=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?j():d,l=sr(e,{query:s}),f=(o=I,{cancel:function(){clearTimeout(r),o=I},check:function(){var e=Be();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})},pr=function(e,t){var n=e.getState(),r=(ct(n)+"/rtm/ws").replace(/^https/,"wss");return dr(r,{query:{organization_id:n.organizationId},emitter:t})},lr=function(e){return{chatId:e.chat_id,properties:e.properties}},fr=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?tr(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},_r=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},hr=function(e){return t({id:e.id},Qn(e))},vr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},yr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},gr=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Vn(t,e.event)}},mr=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},Ir=function(e){return{uniqueId:e.unique_id}},Er=function(e){var n=e.chat;return{chat:t({},Xn(n),{thread:Kn(n.id,n.thread)})}},Tr=function(e){return{chatId:e.chat_id,event:Vn(e.thread_id,e.event)}},Or=function(e){return Yn(e)},br=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},Sr=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},Nr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:er(e.queue)}},wr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},Cr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},Rr=function(e){return{chatId:e.chat_id,user:nr(e.user),present:e.user.present}},Pr=function(e){return{chatId:e.chat_id,userId:e.user_id}},Ar=function(e){return e.map((function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map((function(e){var r=e.group_id;return t({},n(e,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},Dr=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+""})})),Ar(r)):Ar(e.fields)}},kr=function(e){return e.enabled?t({},e,{form:Dr(e.form)}):e},Ur=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(R,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},xr=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:Bn(e.access),properties:a,users:i.map(nr),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Jn(i)};if(!r)return c;c.lastEventsPerType=v((function(e){return Vn(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?S(e.event.created_at,t.event.created_at):S(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)},(_(a)?[].concat(a):E(a)).sort((function(e,t){return i(e)-i(t)}))),totalChats:e.total_chats,users:(t=function(e){return e.id},n=f((function(e){return e.users}),c),r=[],n.filter((function(e){var n=t(e);return-1===r.indexOf(n)&&(r.push(n),!0)}))),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},jr=function(e){return e.groups_status},Lr=function(e,t){return{threads:t.threads.map((function(t){return Kn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},Mr=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:Zn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&m(n.customer_groups.monitoring.id,r)?"online":"offline"),chats:a.map((function(t){return{id:t.chat_id,active:"has_active_thread"in t?t.has_active_thread:e.has_active_thread,hasUnreadEvents:t.has_unread_events}}))},i&&{greeting:Yn(i)})},qr=function(e){switch(e.action){case Nt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case wt:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case Ct:return{action:e.action,payload:lr(e.payload)};case Rt:return{action:e.action,payload:fr(e.payload)};case Dt:case Pt:return{action:e.action,payload:e.payload};case At:return{action:e.action,payload:_r(e.payload)};case kt:return{action:e.action,payload:hr(e.payload)};case Ut:return{action:e.action,payload:vr(e.payload)};case xt:return{action:e.action,payload:yr(e.payload)};case jt:return{action:e.action,payload:gr(e.payload)};case Lt:return{action:e.action,payload:mr(e.payload)};case Mt:case qt:return{action:e.action,payload:Ir(e.payload)};case Gt:return{action:e.action,payload:e.payload};case Ht:return{action:e.action,payload:Er(e.payload)};case Ft:return{action:e.action,payload:Tr(e.payload)};case zt:return{action:e.action,payload:Or(e.payload)};case Vt:return{action:e.action,payload:e.payload};case Yt:return{action:e.action,payload:br(e.payload)};case Bt:return{action:e.action,payload:Sr(e.payload)};case Jt:return{action:e.action,payload:Nr(e.payload)};case Kt:return{action:e.action,payload:wr(e.payload)};case Xt:return{action:e.action,payload:Cr(e.payload)};case Qt:return{action:e.action,payload:Rr(e.payload)};case Wt:return{action:e.action,payload:Pr(e.payload)}}var t},Gr=function(e,n){var r=e.dispatch,o=n.request_id,a=rt((0,e.getState)(),o),i=a.promise,c=a.resolve,u=function(e){var n,r=e.request,o=e.response;switch(o.action){case se:case de:case pe:case le:case fe:return{action:o.action,payload:Un};case _e:return{action:o.action,payload:(n=o.payload,t({},Xn(n),{thread:n.thread?Kn(n.id,n.thread):null}))};case he:return{action:o.action,payload:Zn(o.payload)};case ve:return{action:o.action,payload:kr(o.payload)};case ye:return{action:o.action,payload:$n(o.payload)};case ge:return{action:o.action,payload:Ur(o.payload)};case me:return{action:o.action,payload:xr(o.payload)};case Ie:return{action:o.action,payload:jr(o.payload)};case Ee:return{action:o.action,payload:Lr(r,o.payload)};case Te:return{action:o.action,payload:Mr(o.payload)};case Oe:case we:case Ce:case Ne:case Pe:case Ae:case De:case ke:case Ue:return{action:o.action,payload:Un}}}({request:a.request,response:n});r({type:K,payload:t({id:o,promise:i,resolve:c},u)})},Hr=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:Z})})),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=rt((0,e.getState)(),o);r({type:J,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case be:case Se:case Re:return;default:return void Gr(e,n)}}if("request_id"in n)switch(n.action){case Ht:case Ft:return void function(e,n){var r=e.dispatch,o=n.request_id,a=rt((0,e.getState)(),o),i=a.promise,c=a.resolve,u=qr(n);r({type:Y,payload:t({id:o,promise:i,resolve:c},u)})}(e,n)}!function(e,t){var n=qr(t);n&&e.dispatch({type:V,payload:n})}(e,n)})),n.on("disconnect",(function(){Dn(e,oe),nt(e.getState())===Je&&e.dispatch({type:$})})),n.on("connection_unstable",(function(){r({type:te})})),n.on("connection_recovered",(function(){r({type:ee})})),n.off},Fr="UPLOAD_FAILED",zr=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=Fr,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=Fr,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()}}},Vr=1048576,Yr=10485760,Br=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(Vr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},Jr=function(e,t){var n,r=e.auth,o=e.store,a=t.file,i=t.onProgress,c=!1;return{promise:new Promise((function(e,t){!function(e){if(e.size>Yr)throw lt({message:"The file is too big (max size is "+Br(Yr)+").",code:"TOO_BIG_FILE"})}(a);var u=o.getState(),s=N({organization_id:u.organizationId}),d=ct(u)+"/action/upload_file?"+s,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=zr(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(lt({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},Kr=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:"4.0.0"})};return function(e,t){return new Promise((function(n){var r=new Image;r.src=e+"?"+t,r.onerror=I,r.onload=function(){return n()}}))}("https://queue.livechatinc.com/logs",N(r))},Xr="LISTENER_IDENTITY",Qr={},Wr=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}),{})},Zr=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,Xr,{value:{}}),n.LISTENER_IDENTITY[t])return Qr[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=g(Qr);return n.LISTENER_IDENTITY[t]=o,Qr[o]=r,r},$r=Object.freeze({__proto__:null,ASC:"asc",DESC:"desc"});e.connectionStatuses=Ze,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,["on","once","off","getChatHistory","auth"]),d=Wr(s);return Object.freeze(t({auth:Object.freeze(Wr(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.LISTENER_IDENTITY&&(n=Qr[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,Zr("on",e,t))},once:function(e,t){a(e,Zr("once",e,t))}}))},e.eventTypes=cn,e.init=function(e,r,o){void 0===r&&(r="production"),U(e);var a=e.autoConnect,i=void 0===a||a,c=e.customerDataProvider,u=e.identityProvider,s=n(e,["autoConnect","customerDataProvider","identityProvider"]),d=pt(t({},s,{env:r})),p=j(),l=function(e){var n=j(),r=pr(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=pr(e,n)).connect()}})}(d),f="function"==typeof u?u():x(s,o,r);d.addSideEffectsHandler(ur({emitter:p,socket:l,auth:f,customerDataProvider:c,licenseId:o})),Hr(d,l);var _=In.bind(null,d),h=function(){d.dispatch({type:ne})},v=Object.freeze({acceptGreeting:function(e){return _(yn(se,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:f,cancelGreeting:function(e){return _(yn(de,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return v.listThreads({chatId:t}).then((function(e){var n=e.threads;if(!n.length)throw lt({message:'There is no thread in "'+t+'".',code:ce});return v.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:h,deactivateChat:function(e){return _(yn("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return _(yn(pe,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return _(yn(le,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return _(yn(fe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){d.dispatch(fn("manual"))},disconnect:function(){d.dispatch(_n("manual"))},getChat:function(e){return _(yn(_e,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function r(o,a){switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then((function(e){var t=e.threads;n.nextPageId=e.nextPageId,n.nextPageId?(n.status="idle",o({value:{threads:[].concat(t).reverse()},done:!1})):(n.status="done",o({value:{threads:[].concat(t).reverse()},done:!0}));var a=n.queuedTasks.shift();a&&r(a.resolve,a.reject)}),(function(e){var t=n.queuedTasks;n.status="idle",n.queuedTasks=[],a(e),t.forEach((function(t){return t.reject(e)}))}));case"fetching":return void n.queuedTasks.push({resolve:o,reject:a});case"done":return void o({value:void 0,done:!0})}};return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){return new Promise(r)}))}}(v,e.chatId)},getCustomer:function(){return _(yn(he,{}))},getForm:function(e){return _(yn(ve,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return _(yn(ye,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return _(yn(ge,{url:e.url}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(Error("Specified limit is too high (max 25).")):_(yn(me,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return _(yn(Ie,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return _(yn(Ee,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 _(yn(Oe,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:p.on,once:p.once,off:p.off,rateChat:function(e){var t=e.chatId,n=e.rating;return v.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw lt({message:'There is no thread in "'+t+'".',code:ce});return v.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return Kr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),_(yn(be,function(e){var n=dn(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(e){return _(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:sn(e.event)};return t&&(n.attach_to_last_thread=!0),yn(Se,n)}(e))})),sendRichMessagePostback:function(e){return _(yn(Ne,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return _(yn(Ce,{session_fields:pn(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=d.getState();at(r,t)&&it(r)&&_(yn(we,{chat_id:t,sneak_peek_text:n})).catch(I)},startChat:function(t){return void 0===t&&(t={}),Kr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),_(yn(Re,dn(t)))},updateChatProperties:function(e){return _(yn(Pe,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return _(yn(Ae,ln(e)))},updateCustomerPage:function(e){d.dispatch({type:re,payload:O(["title","url"],e)})},updateEventProperties:function(e){return _(yn(ke,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return _(yn(Ue,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return Jr({auth:f,store:d},e)}});return i?h():d.dispatch({type:M,payload:{sessionFields:"function"==typeof c?c().sessionFields:{}}}),v},e.parseCustomEvent=Gn,e.parseEvent=Vn,e.parseFile=Ln,e.parseFilledForm=Mn,e.parseForm=Dr,e.parseGreeting=Yn,e.parseMessage=qn,e.parseRichMessage=Fn,e.parseSystemMessage=zn,e.serverDisconnectionReasons=St,e.serverErrorCodes=Sn,e.serverPushActions=Zt,e.sortOrders=$r,e.userTypes=tt,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livechat/customer-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "SDK for connecting to LiveChat as a customer",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Konrad Kruk <k.kruk@livechatinc.com>",
|
|
@@ -23,15 +23,14 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@livechat/backoff": "^0.1.0",
|
|
25
25
|
"@livechat/customer-auth": "^0.4.0-alpha.7",
|
|
26
|
-
"@livechat/data-utils": "^0.
|
|
27
|
-
"@livechat/deferred": "^1.1.0",
|
|
26
|
+
"@livechat/data-utils": "^1.0.3",
|
|
28
27
|
"@livechat/file-upload": "^0.3.0",
|
|
29
28
|
"@livechat/isomorphic-storage": "^0.1.0",
|
|
30
|
-
"@livechat/mitt": "^0.1.
|
|
29
|
+
"@livechat/mitt": "^0.1.3",
|
|
31
30
|
"@livechat/platform-client": "^0.3.1",
|
|
32
|
-
"@livechat/promise-
|
|
31
|
+
"@livechat/promise-utils": "^1.0.1",
|
|
33
32
|
"@livechat/side-effects-middleware": "^0.2.0",
|
|
34
|
-
"@livechat/url-utils": "^0.2.
|
|
33
|
+
"@livechat/url-utils": "^0.2.1",
|
|
35
34
|
"redux": "^4.0.4",
|
|
36
35
|
"ts-toolbelt": "^6.7.5",
|
|
37
36
|
"unfetch": "^4.2.0"
|
package/types/actions.d.ts
CHANGED
|
@@ -6,7 +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 "
|
|
9
|
+
export declare const sendRequest: <A extends "accept_greeting" | "cancel_greeting" | "deactivate_chat" | "delete_chat_properties" | "delete_event_properties" | "delete_thread_properties" | "get_chat" | "get_customer" | "get_form" | "get_predicted_agent" | "get_url_info" | "list_chats" | "list_group_statuses" | "list_threads" | "login" | "mark_events_as_seen" | "resume_chat" | "send_event" | "send_rich_message_postback" | "send_sneak_peek" | "set_customer_session_fields" | "start_chat" | "update_chat_properties" | "update_customer" | "update_customer_page" | "update_event_properties" | "update_thread_properties">(action: A, payload: (Extract<{
|
|
10
10
|
request_id: string;
|
|
11
11
|
version?: string | undefined;
|
|
12
12
|
action: "accept_greeting";
|
|
@@ -117,21 +117,21 @@ export declare const sendRequest: <A extends "update_customer_page" | "accept_gr
|
|
|
117
117
|
}> | Extract<{
|
|
118
118
|
request_id: string;
|
|
119
119
|
version?: string | undefined;
|
|
120
|
-
action: "
|
|
120
|
+
action: "list_group_statuses";
|
|
121
121
|
payload: {
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
group_ids: number[];
|
|
123
|
+
} | {
|
|
124
|
+
all: true;
|
|
124
125
|
};
|
|
125
126
|
}, {
|
|
126
127
|
action: A;
|
|
127
128
|
}> | Extract<{
|
|
128
129
|
request_id: string;
|
|
129
130
|
version?: string | undefined;
|
|
130
|
-
action: "
|
|
131
|
+
action: "list_chats";
|
|
131
132
|
payload: {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
all: true;
|
|
133
|
+
limit?: number | undefined;
|
|
134
|
+
page_id?: string | undefined;
|
|
135
135
|
};
|
|
136
136
|
}, {
|
|
137
137
|
action: A;
|
|
@@ -12,4 +12,5 @@ export declare const SERVICE_TEMPORARILY_UNAVAILABLE = "service_temporarily_unav
|
|
|
12
12
|
export declare const TOO_MANY_CONNECTIONS = "too_many_connections";
|
|
13
13
|
export declare const TOO_MANY_UNAUTHORIZED_CONNECTIONS = "too_many_unauthorized_connections";
|
|
14
14
|
export declare const UNSUPPORTED_VERSION = "unsupported_version";
|
|
15
|
+
export declare const LOGGED_OUT_REMOTELY = "logged_out_remotely";
|
|
15
16
|
//# sourceMappingURL=serverDisconnectionReasons.d.ts.map
|
|
@@ -12,6 +12,7 @@ export declare const EVENT_UPDATED = "event_updated";
|
|
|
12
12
|
export declare const EVENTS_MARKED_AS_SEEN = "events_marked_as_seen";
|
|
13
13
|
export declare const GREETING_ACCEPTED = "greeting_accepted";
|
|
14
14
|
export declare const GREETING_CANCELED = "greeting_canceled";
|
|
15
|
+
export declare const GROUPS_STATUS_UPDATED = "groups_status_updated";
|
|
15
16
|
export declare const INCOMING_CHAT = "incoming_chat";
|
|
16
17
|
export declare const INCOMING_EVENT = "incoming_event";
|
|
17
18
|
export declare const INCOMING_GREETING = "incoming_greeting";
|
package/types/createStore.d.ts
CHANGED
package/types/graylog/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Env } from '@livechat/customer-auth/src/types';
|
|
2
2
|
export type Config = {
|
|
3
3
|
env: Env;
|
|
4
|
-
|
|
4
|
+
organizationId: string;
|
|
5
5
|
eventName: string;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
@@ -10,5 +10,5 @@ export type Config = {
|
|
|
10
10
|
* 1. package is used in lc production environment
|
|
11
11
|
* 2. package is used standalone because only then process.env.CUSTOMER_SDK_PACKAGE_NAME will be set to customer_sdk
|
|
12
12
|
*/
|
|
13
|
-
export declare const log: ({ env,
|
|
13
|
+
export declare const log: ({ env, organizationId, eventName }: Config) => Promise<void>;
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
import sendTicketForm from './sendTicketForm';
|
|
2
1
|
import { UploadFileOptions } from './uploadFile';
|
|
3
2
|
import * as actions from './actions';
|
|
4
3
|
import { RequestBodyResumeChatData, RequestBodyStartChatData } from './clientDataParsers';
|
|
5
4
|
import { Config, Env, Page, SortOrder } from './types';
|
|
6
5
|
import * as clientEntities from './types/clientEntities';
|
|
7
6
|
export { default as debug } from './debug';
|
|
7
|
+
import * as connectionStatuses from './constants/connectionStatuses';
|
|
8
|
+
import * as eventTypes from './constants/eventTypes';
|
|
9
|
+
import * as serverDisconnectionReasons from './constants/serverDisconnectionReasons';
|
|
10
|
+
import * as serverErrorCodes from './constants/serverErrorCodes';
|
|
11
|
+
import * as serverPushActions from './constants/serverPushActions';
|
|
12
|
+
import * as sortOrders from './constants/sortOrders';
|
|
13
|
+
import * as userTypes from './constants/userTypes';
|
|
14
|
+
export { connectionStatuses, eventTypes, serverDisconnectionReasons, serverErrorCodes, serverPushActions, sortOrders, userTypes, };
|
|
15
|
+
export * from './types/clientEntities';
|
|
16
|
+
export type { CustomerSessionFields, CustomerData, CustomerDataProvider, IdentityProvider, Config, ConnectionStatus, Page, SortOrder, SubscribablePush, } from './types/index';
|
|
17
|
+
export type { CustomerAuth, CustomerAuthToken } from '@livechat/customer-auth';
|
|
8
18
|
export * from './serverEventParser';
|
|
9
19
|
export { parseForm } from './serverFrameParser';
|
|
10
|
-
export declare const init: (config: Config, env
|
|
20
|
+
export declare const init: (config: Config, env: Env | undefined, licenseId: number) => Readonly<{
|
|
11
21
|
acceptGreeting({ greetingId, uniqueId }: {
|
|
12
22
|
greetingId: number;
|
|
13
23
|
uniqueId: string;
|
|
@@ -109,7 +119,7 @@ export declare const init: (config: Config, env?: Env) => Readonly<{
|
|
|
109
119
|
pageId?: undefined;
|
|
110
120
|
limit?: number;
|
|
111
121
|
}): Promise<{
|
|
112
|
-
chatsSummary:
|
|
122
|
+
chatsSummary: clientEntities.ChatSummary[];
|
|
113
123
|
totalChats: number;
|
|
114
124
|
users: clientEntities.ChatUser[];
|
|
115
125
|
previousPageId: string | null;
|
|
@@ -167,7 +177,13 @@ export declare const init: (config: Config, env?: Env) => Readonly<{
|
|
|
167
177
|
[x: string]: unknown;
|
|
168
178
|
[x: symbol]: unknown;
|
|
169
179
|
}>): void;
|
|
170
|
-
} &
|
|
180
|
+
} & {
|
|
181
|
+
(type: "*", handler: import("mitt").WildcardHandler<{
|
|
182
|
+
[x: string]: unknown;
|
|
183
|
+
[x: symbol]: unknown;
|
|
184
|
+
}>): void;
|
|
185
|
+
(): void;
|
|
186
|
+
};
|
|
171
187
|
rateChat(params: {
|
|
172
188
|
chatId: string;
|
|
173
189
|
rating: {
|
|
@@ -179,9 +195,6 @@ export declare const init: (config: Config, env?: Env) => Readonly<{
|
|
|
179
195
|
}>>;
|
|
180
196
|
resumeChat(data: RequestBodyResumeChatData): Promise<clientEntities.IncomingChat>;
|
|
181
197
|
sendEvent(params: Parameters<typeof actions.sendEvent>[0]): Promise<clientEntities.Event>;
|
|
182
|
-
sendTicketForm(options: Parameters<typeof sendTicketForm>['2']): Promise<{
|
|
183
|
-
id: string;
|
|
184
|
-
}>;
|
|
185
198
|
sendRichMessagePostback({ chatId, threadId, eventId, postback, }: {
|
|
186
199
|
chatId: string;
|
|
187
200
|
threadId: string;
|
package/types/reducer.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="ts-toolbelt" />
|
|
2
1
|
import { Action } from './types/actions';
|
|
3
2
|
import { InitialStateData, State } from './types/state';
|
|
4
3
|
export declare const getAllRequests: (state: State) => Record<string, {
|
|
@@ -95,19 +94,19 @@ export declare const getAllRequests: (state: State) => Record<string, {
|
|
|
95
94
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
96
95
|
request_id: string;
|
|
97
96
|
version?: string | undefined;
|
|
98
|
-
action: "
|
|
97
|
+
action: "list_group_statuses";
|
|
99
98
|
payload: {
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
group_ids: number[];
|
|
100
|
+
} | {
|
|
101
|
+
all: true;
|
|
102
102
|
};
|
|
103
103
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
104
104
|
request_id: string;
|
|
105
105
|
version?: string | undefined;
|
|
106
|
-
action: "
|
|
106
|
+
action: "list_chats";
|
|
107
107
|
payload: {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
all: true;
|
|
108
|
+
limit?: number | undefined;
|
|
109
|
+
page_id?: string | undefined;
|
|
111
110
|
};
|
|
112
111
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
113
112
|
request_id: string;
|
|
@@ -362,19 +361,19 @@ export declare const getRequest: (state: State, id: string) => {
|
|
|
362
361
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
363
362
|
request_id: string;
|
|
364
363
|
version?: string | undefined;
|
|
365
|
-
action: "
|
|
364
|
+
action: "list_group_statuses";
|
|
366
365
|
payload: {
|
|
367
|
-
|
|
368
|
-
|
|
366
|
+
group_ids: number[];
|
|
367
|
+
} | {
|
|
368
|
+
all: true;
|
|
369
369
|
};
|
|
370
370
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
371
371
|
request_id: string;
|
|
372
372
|
version?: string | undefined;
|
|
373
|
-
action: "
|
|
373
|
+
action: "list_chats";
|
|
374
374
|
payload: {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
all: true;
|
|
375
|
+
limit?: number | undefined;
|
|
376
|
+
page_id?: string | undefined;
|
|
378
377
|
};
|
|
379
378
|
}, "action" | "payload"> | import("Object/Pick")._Pick<{
|
|
380
379
|
request_id: string;
|
|
@@ -64,7 +64,7 @@ export declare const parsePush: (push: Push) => {
|
|
|
64
64
|
} | {
|
|
65
65
|
action: "customer_disconnected";
|
|
66
66
|
payload: {
|
|
67
|
-
reason: "
|
|
67
|
+
reason: "customer_banned" | "license_expired" | "product_version_changed" | "logged_out_remotely" | "misdirected_connection" | "access_token_expired" | "connection_timeout" | "customer_temporarily_blocked" | "inactivity_timeout" | "internal_error" | "license_not_found" | "service_temporarily_unavailable" | "too_many_connections" | "too_many_unauthorized_connections" | "unsupported_version";
|
|
68
68
|
data?: any;
|
|
69
69
|
};
|
|
70
70
|
} | {
|
|
@@ -123,6 +123,14 @@ export declare const parsePush: (push: Push) => {
|
|
|
123
123
|
payload: {
|
|
124
124
|
uniqueId: string;
|
|
125
125
|
};
|
|
126
|
+
} | {
|
|
127
|
+
action: "groups_status_updated";
|
|
128
|
+
payload: {
|
|
129
|
+
groups: {
|
|
130
|
+
id: number;
|
|
131
|
+
status: serverEntities.GroupStatus;
|
|
132
|
+
}[];
|
|
133
|
+
};
|
|
126
134
|
} | {
|
|
127
135
|
action: "incoming_chat";
|
|
128
136
|
payload: {
|
|
@@ -285,7 +293,7 @@ export declare const parseResponse: ({ request, response, }: {
|
|
|
285
293
|
} | {
|
|
286
294
|
action: "list_chats";
|
|
287
295
|
payload: {
|
|
288
|
-
chatsSummary:
|
|
296
|
+
chatsSummary: clientEntities.ChatSummary[];
|
|
289
297
|
totalChats: number;
|
|
290
298
|
users: clientEntities.ChatUser[];
|
|
291
299
|
previousPageId: string | null;
|
|
@@ -2,11 +2,12 @@ import { CustomerAuth } from '@livechat/customer-auth';
|
|
|
2
2
|
import { SocketClient } from '../socketClient';
|
|
3
3
|
import { Action } from '../types/actions';
|
|
4
4
|
import { CustomerDataProvider, Store } from '../types';
|
|
5
|
-
declare const _default: ({ auth, customerDataProvider, emitter, socket, }: {
|
|
5
|
+
declare const _default: ({ auth, customerDataProvider, emitter, socket, licenseId, }: {
|
|
6
6
|
auth: CustomerAuth;
|
|
7
7
|
customerDataProvider?: CustomerDataProvider | undefined;
|
|
8
8
|
socket: SocketClient;
|
|
9
9
|
emitter: any;
|
|
10
|
+
licenseId: number;
|
|
10
11
|
}) => (action: Action, store: Store) => void;
|
|
11
12
|
export default _default;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/types/sideStorage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Store } from './types';
|
|
2
2
|
import { SideStorage } from './types/serverEntities';
|
|
3
|
-
export declare const getSideStorage: (store: Store) => Promise<SideStorage>;
|
|
4
|
-
export declare const saveSideStorage: (store: Store, sideStorage: SideStorage) =>
|
|
3
|
+
export declare const getSideStorage: (store: Store, licenseId: number) => Promise<SideStorage>;
|
|
4
|
+
export declare const saveSideStorage: (store: Store, sideStorage: SideStorage) => void;
|
|
5
5
|
//# sourceMappingURL=sideStorage.d.ts.map
|
|
@@ -2,8 +2,11 @@ import { SocketClient } from './socketClient';
|
|
|
2
2
|
import { Store } from './types';
|
|
3
3
|
import { Push, PushResponse, ResponseError } from './types/frames';
|
|
4
4
|
declare const _default: (store: Store, socket: SocketClient) => {
|
|
5
|
-
<Key extends keyof import("@livechat/platform-client/types").PlatformClientEvents<
|
|
6
|
-
(type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<
|
|
7
|
-
} &
|
|
5
|
+
<Key extends keyof import("@livechat/platform-client/types").PlatformClientEvents<import("./types/frames").Response | Push | PushResponse | ResponseError>>(type: Key, handler?: import("mitt").Handler<import("@livechat/platform-client/types").PlatformClientEvents<import("./types/frames").Response | Push | PushResponse | ResponseError>[Key]> | undefined): void;
|
|
6
|
+
(type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<import("./types/frames").Response | Push | PushResponse | ResponseError>>): void;
|
|
7
|
+
} & {
|
|
8
|
+
(type: "*", handler: import("mitt").WildcardHandler<import("@livechat/platform-client/types").PlatformClientEvents<import("./types/frames").Response | Push | PushResponse | ResponseError>>): void;
|
|
9
|
+
(): void;
|
|
10
|
+
};
|
|
8
11
|
export default _default;
|
|
9
12
|
//# sourceMappingURL=socketListener.d.ts.map
|
|
@@ -63,6 +63,7 @@ export type ChatSummary = {
|
|
|
63
63
|
}>;
|
|
64
64
|
};
|
|
65
65
|
lastEvent?: Event;
|
|
66
|
+
order?: number;
|
|
66
67
|
};
|
|
67
68
|
export type Chat = {
|
|
68
69
|
id: string;
|
|
@@ -282,6 +283,7 @@ type ClientGeneratedEventBase = {
|
|
|
282
283
|
type EventBase = {
|
|
283
284
|
customId?: string;
|
|
284
285
|
properties: Properties;
|
|
286
|
+
timestamp?: number;
|
|
285
287
|
};
|
|
286
288
|
export type NonSpecificEventBase = ServerGeneratedEventBase & ClientGeneratedEventBase & EventBase;
|
|
287
289
|
type FileSpecificProps = {
|