@livechat/customer-sdk 3.1.1 → 3.1.3
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 +24 -10
- package/dist/customer-sdk.cjs.js +243 -673
- package/dist/customer-sdk.cjs.native.js +243 -672
- package/dist/customer-sdk.esm.js +243 -671
- package/dist/customer-sdk.js +589 -1056
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +9 -9
- package/types/actions.d.ts +331 -0
- package/types/chatHistory.d.ts +19 -0
- package/types/clientDataParsers.d.ts +55 -0
- package/types/completionValues.d.ts +4 -0
- package/types/constants/clientErrorCodes.d.ts +11 -0
- package/types/constants/connectionStatuses.d.ts +6 -0
- package/types/constants/eventTypes.d.ts +8 -0
- package/types/constants/organizationIds.d.ts +2 -0
- package/types/constants/reduxActions.d.ts +23 -0
- package/types/constants/serverDisconnectionReasons.d.ts +15 -0
- package/types/constants/serverErrorCodes.d.ts +23 -0
- package/types/constants/serverPushActions.d.ts +26 -0
- package/types/constants/serverRequestActions.d.ts +30 -0
- package/types/constants/sortOrders.d.ts +3 -0
- package/types/constants/userTypes.d.ts +3 -0
- package/types/createError.d.ts +9 -0
- package/types/createStore.d.ts +12 -0
- package/types/debug.d.ts +3 -0
- package/types/graylog/index.d.ts +14 -0
- package/types/graylog/makeGrayLogRequest.d.ts +2 -0
- package/types/graylog/makeGrayLogRequest.native.d.ts +6 -0
- package/types/index.d.ts +245 -0
- package/types/reducer.d.ts +546 -0
- package/types/sendRequestAction.d.ts +4 -0
- package/types/sendTicketForm.d.ts +15 -0
- package/types/serverDataParser.d.ts +34 -0
- package/types/serverEventParser.d.ts +12 -0
- package/types/serverFrameParser.d.ts +385 -0
- package/types/sideEffects/checkGoals.d.ts +5 -0
- package/types/sideEffects/index.d.ts +13 -0
- package/types/sideStorage.d.ts +5 -0
- package/types/socketClient.d.ts +11 -0
- package/types/socketListener.d.ts +12 -0
- package/types/thunks.d.ts +4 -0
- package/types/types/actions.d.ts +157 -0
- package/types/types/clientEntities.d.ts +376 -0
- package/types/types/frames.d.ts +635 -0
- package/types/types/serverEntities.d.ts +409 -0
- package/types/types/state.d.ts +56 -0
- package/types/uploadFile.d.ts +19 -0
- package/types/validateFile/index.d.ts +3 -0
package/dist/customer-sdk.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]*")};RegExp("^[\0-]*("+k("javascript")+"|"+k("data")+"):","i");function P(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 C=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},N=function(e,t){if("identity_exception"in e)throw C({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw C({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}},x="https://accounts.livechatinc.com",j=function(e,t){return""+("production"===t?x:x.replace("accounts.","accounts."+t+"."))+function(e){return(e.uniqueGroups?"/licence/g"+e.licenseId+"_"+e.groupId:"")+"/customer"}(e)},D="https://accounts.livechatinc.com",q="@livechat/customer-auth",R=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:q}}(e,S(window.location+"")+window.location.pathname),r=document.createElement("iframe");return r.style.display="none",r.setAttribute("src",j(e,t)+"?"+w(n)),r};function A(e,t){var n=e.licenseId,r=function(e){return"production"===e?D:D.replace("accounts.","accounts."+e+".")}(t);return new Promise((function(o,a){var i=R(e,t),c=function(){var e,t;(t=(e=i).parentNode)&&t.removeChild(e),window.removeEventListener("message",u,!1)},s=setTimeout((function(){c(),a(C({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===q}(t)){clearTimeout(s),c();try{o(N(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 M=function(e){if("number"!=typeof e.licenseId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { licenseId, clientId }.")},U=function(e,t){M(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?A(e,t):P(j(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 N(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 L=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)}))}})},H="change_region",F="check_goals",G="destroy",Y="fail_all_requests",V="login_success",z="pause_connection",B="prefetch_token",J="push_received",K="push_response_received",X="reconnect",W="request_failed",Q="response_received",Z="send_request",$="set_chat_active",ee="set_self_id",te="socket_connected",ne="socket_disconnected",re="socket_recovered",oe="socket_unstable",ae="start_connection",ie="update_customer_page",ce="CONNECTION_LOST",se="IDENTITY_MISMATCH",ue="MISDIRECTED_CONNECTION",de="MISSING_CHAT_THREAD",pe="SDK_DESTROYED",le="accept_greeting",fe="cancel_greeting",he="delete_chat_properties",ve="delete_event_properties",_e="delete_thread_properties",ye="get_chat",me="get_customer",ge="get_form",Ie="get_predicted_agent",Ee="get_url_info",be="list_chats",Te="list_group_statuses",we="list_threads",Oe="login",Se="mark_events_as_seen",ke="resume_chat",Pe="send_event",Ce="send_rich_message_postback",Ne="send_sneak_peek",xe="set_customer_session_fields",je="start_chat",De="update_chat_properties",qe="update_customer",Re="update_customer_page",Ae="update_event_properties",Me="update_thread_properties";var Ue=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")()),Le=function(){return Math.random().toString(36).substring(7).split("").join(".")},He={INIT:"@@redux/INIT"+Le(),REPLACE:"@@redux/REPLACE"+Le(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Le()}};function Fe(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 Ge(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(Ge)(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(!Fe(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:He.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)}}})[Ue]=function(){return this},e}return l({type:He.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[Ue]=h,r}function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ve(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 ze(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ve(n,!0).forEach((function(t){Ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ve(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Be(){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 Je(){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 ze({},n,{dispatch:r=Be.apply(void 0,a)(n.dispatch)})}}}function Ke(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var Xe="connected",We="destroyed",Qe="disconnected",Ze="agent",$e="customer",et=function(e){return e.connection.status},tt=function(e,t){return e.requests[t]},nt=function(e){return e.users.self.id},rt=function(e,t){var n=e.chats[t];return!!n&&n.active},ot=function(e){return et(e)===Xe},at=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"},it=function(e){return at(e)+"/v3.3/customer"},ct=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})})},ut=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(We,e)},n.login_success=function(e){return st(Xe,e)},n.pause_connection=function(e){return st("paused",e)},n.request_failed=ct,n.response_received=ct,n.push_response_received=ct,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=et(e);return t({},st(n===Qe?Qe:"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 dt(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=Ge(ut(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.1"}),licenseId:r,env:i,groupId:a,chats:{},connection:{status:Qe},page:s,region:d,referrer:l,requests:{},users:{self:{id:null,type:$e},others:{}},uniqueGroups:h,mobile:_}}(e)),n(Je(r)));return o.addSideEffectsHandler=r.add,o}function pt(e){var t=e.code,n=Error(e.message);return n.code=t,n}var lt="customer_banned",ft="product_version_changed",ht="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=Object.freeze({__proto__:null,CHAT_DEACTIVATED:ht,CHAT_PROPERTIES_DELETED:vt,CHAT_PROPERTIES_UPDATED:_t,CHAT_TRANSFERRED:yt,CUSTOMER_DISCONNECTED:mt,CUSTOMER_PAGE_UPDATED:gt,CUSTOMER_SIDE_STORAGE_UPDATED:It,CUSTOMER_UPDATED:Et,EVENT_PROPERTIES_DELETED:bt,EVENT_PROPERTIES_UPDATED:Tt,EVENT_UPDATED:wt,EVENTS_MARKED_AS_SEEN:Ot,GREETING_ACCEPTED:St,GREETING_CANCELED:kt,INCOMING_CHAT:Pt,INCOMING_EVENT:Ct,INCOMING_GREETING:Nt,INCOMING_MULTICAST:xt,INCOMING_RICH_MESSAGE_POSTBACK:jt,INCOMING_TYPING_INDICATOR:Dt,QUEUE_POSITION_UPDATED:qt,THREAD_PROPERTIES_DELETED:Rt,THREAD_PROPERTIES_UPDATED:At,USER_ADDED_TO_CHAT:Mt,USER_REMOVED_FROM_CHAT:Ut}),Ht="file",Ft="form",Gt="filled_form",Yt="message",Vt="rich_message",zt="system_message",Bt="custom",Jt=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||h(t)||(n.properties=e.properties),n},Kt=function(e){switch(e.type){case Yt:var r=t({},Jt(e),{type:e.type,text:e.text});return e.postback&&(r.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),r;case Ht:return t({},Jt(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case Gt:return t({},Jt(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case zt:var o=t({},Jt(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case Bt:var a=t({},Jt(e),{type:e.type});return e.content&&(a.content=e.content),a}},Xt=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(Kt)),r&&(t.properties=r),t}(i)),o},Wt=function(e){return b(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},Qt=function(e){var t=E(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=Wt(e.sessionFields)),t},Zt=function(e){return{type:G,payload:{reason:e}}},$t=function(e){return{type:z,payload:{reason:e}}},en=function(e){return void 0===e&&(e=!1),{type:B,payload:{fresh:e}}},tn=function(e){return{type:X,payload:{delay:e}}},nn=function(e,n,r){return{type:Z,payload:t({request:{action:e,payload:n}},r&&{source:r})}},rn=function(e,t){return{type:$,payload:{id:e,active:t}}},on=function(e){return{type:ee,payload:{id:e}}},an=function(e,t){t.payload.id=y(e.getState().requests);var n=Ke(),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},cn=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}}},sn=function(e){var t=e.getState();return"side_storage_"+t.licenseId+(t.uniqueGroups?":"+t.groupId:"")},un=function(e){return u(sn(e)).catch(g).then((function(e){return JSON.parse(e||"{}")})).catch((function(){return{}}))},dn=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}}},pn=function(e,t,n){return an(e,nn(t,n,"login"))};function ln(e,n){var r,o,a=null,i={min:300,max:6e4,jitter:.3},c=cn(i),s=cn(t({},i,{min:1e3})),u=c,d=function(e){return r.dispatch(Zt(e))},p=function(){return r.dispatch(tn(u.duration()))},l=function(){return Promise.all([e.getToken(),un(r)])},f=function(e){var t=e[0],n=e[1],o=nt(r.getState());if(null===o)r.dispatch(on(t.entityId));else if(o!==t.entityId){var a=Error("Identity has changed.");throw a.code=se,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?Qt(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([pn(r,Oe,v),(i=15e3,new Promise((function(e){setTimeout(e,i)}))).then((function(){return Promise.reject(pt({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;r=t,null==(n=o)||n.cancel(),o=dn([l,f,h],(function(e){var t;o=null,c.reset(),s.reset(),u=c,t=r.getState().page,a!==t&&pn(r,Re,t).catch(g),a=null,r.dispatch({type:V,payload:e})}),(function(t){switch(o=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void p();case ce:case ue:case pe: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($t(t.code.toLowerCase()));case se: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 fn,hn=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:Y,payload:{rejects:Object.keys(r).map((function(e){return r[e].reject})),reason:t}})},vn=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:W,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},_n=Object.freeze({success:!0}),yn=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},mn=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},gn=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},yn(e,n),{type:Ht,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},mn(300,n)),high:t({url:n.thumbnail2x_url},mn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},yn(e,n),{type:Ht,contentType:n.content_type,url:n.url,name:n.name})},In=function(e,r){return t({},yn(e,r),{type:Gt,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}}))})},En=function(e,n){return t({},yn(e,n),{type:Yt,text:n.text})},bn=function(e,n){return t({},yn(e,n),{type:Bt},n.content&&{content:n.content})},Tn=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},wn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},yn(e,n),{type:Vt,template:n.template_id,elements:n.elements.map(Tn)});default:return null}},On=function(e,n){var r=t({},yn(e,t({},n,{author_id:"system"})),{type:zt,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Sn=function(e,n){switch(n.type){case Ht:return gn(e,n);case Ft:return function(e,n){return t({},yn(e,n),{authorId:"system",type:Ft,formId:n.form_id,fields:n.fields})}(e,n);case Gt:return In(e,n);case Yt:return En(e,n);case Vt:return wn(e,n);case zt:return On(e,n);case Bt:return bn(e,n);default:return null}},kn=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:Sn(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}}},Pn=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Cn=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},Nn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:Pn(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return Sn(t.id,e)})).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?Mn(t.queue):null}},xn=function(e){return{id:e.id,access:Pn(e.access),users:e.users.map(Un),properties:e.properties||{},eventsSeenUpToMap:Cn(e.users)}},jn=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},Dn=function(e){var n=jn(e);return t({id:e.id,type:$e},n,{sessionFields:n.sessionFields||{}})},qn=function(e){var n=e.statistics;return t({},Dn(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}})},Rn=function(e){var t=e.agent;return{agent:{id:t.id,type:Ze,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},An=function(e){return{position:e.position,waitTime:e.wait_time}},Mn=function(e){return t({},An(e),{queuedAt:e.queued_at})},Un=function(e){return e.type===$e?t({},Dn(r=e),{present:r.present}):{id:(n=e).id,type:Ze,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},Ln=((fn={}).CONNECTION_LOST="Connection lost.",fn.MISDIRECTED_CONNECTION="Connected to wrong region.",fn),Hn=function(e,t){var n=e.getState();switch(t.type){case K:case J:switch(t.payload.action){case ht:return void e.dispatch(rn(t.payload.payload.chatId,!1));case Pt:return void e.dispatch(rn(t.payload.payload.chat.id,!0));default:return}case Q:switch(t.payload.action){case be:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return rt(n,e.id)!==t})).forEach((function(t){e.dispatch(rn(t.id,t.active))}));default:return}}},Fn=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==$e)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},Gn=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"}))},Yn=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case At:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(qt,{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 It:return void function(e,t){s(sn(e),JSON.stringify(t)).catch(g)}(r,o.payload.customer_side_storage);case mt:switch(o.payload.reason){case"access_token_expired":r.dispatch(en(!0)),r.dispatch(tn(100)),n("disconnected",o.payload);break;case lt:case"customer_temporarily_blocked":case"license_not_found":case ft:case"too_many_connections":case"unsupported_version":r.dispatch(Zt(o.payload.reason));break;case"misdirected_connection":hn(r,ue),r.dispatch({type:H,payload:o.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":hn(r,o.payload.reason.toUpperCase());break;default:r.dispatch(tn(100)),n("disconnected",o.payload)}return;case Pt:return Fn(n,o.payload.chat.users),void n(o.action,o.payload);case Ct:if(null===o.payload.event)return;return void n(o.action,o.payload);case Dt:return void n(o.action,o.payload);case xt:return Gn(n,o.payload),void n(o.action,o.payload);case Mt:return Fn(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},Vn=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case ht:return void r.resolve(_n);case ye:return Fn(n,r.payload.users),void r.resolve(r.payload);case Pt:return Fn(n,r.payload.chat.users),void r.resolve(r.payload);case Ct:return void r.resolve(r.payload.event);case be:return Fn(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},zn=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=ln(n,e.customerDataProvider);return function(e,c){switch(e.type){case H:return void o.reinitialize();case F:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===nt(r)&&e.dispatch(on(t.entityId));var o=r.page;if(o&&o.url){var a=w({license_id:r.licenseId}),i={session_fields:Wt(n||{}),group_id:r.groupId||0,page_url:o.url};return P(it(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 G:var s=e.payload;switch(i.cancel(),o.destroy(),s.reason){case"manual":hn(c,pe);break;case lt:case"license_expired":case ft:hn(c,ce),a("disconnected",s);break;default:a("disconnected",s)}return void r.off();case Y:var u=e.payload,d=u.reason,p={message:Ln[d],code:d};return void u.rejects.forEach((function(e){e(pt(p))}));case V: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 z:var y=e.payload;return o.disconnect(),void("manual"!==y.reason&&a("disconnected",y));case B: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 J:return e.payload.action===mt||Hn(c,e),void Yn({emit:a,store:c},e);case K:return Hn(c,e),void Vn({emit:a},e);case X:return hn(c,ce),void o.reconnect(e.payload.delay);case W:var E=e.payload;return void(0,E.reject)(pt(E.error));case Q:return Hn(c,e),void Vn({emit:a},e);case Z:var b=c.getState();return function(e){return et(e)===We}(b)?void vn(c,e,{code:pe,message:"SDK destroyed."}):ot(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 Oe:var a=[];return void e.emit(t({},o,{version:"3.3",payload:t({},o.payload,{pushes:{3.3:I(Lt).filter((function(e){return e!==mt&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void vn(c,e,{code:"NO_CONNECTION",message:"No connection."});case ee:return void a("customer_id",e.payload.id);case ne:return void a("disconnected",{reason:"connection_lost"});case te:return void i.sendLogin(c);case re:if(!ot(c.getState()))return;return void a("connection_recovered");case oe:if(!ot(c.getState()))return;return void a("connection_unstable");case ae:return o.connect(),void c.dispatch(en());case ie:if(!ot(c.getState()))return;return void an(c,nn(Re,e.payload)).catch(g);default:return}}},Bn=function(e,t){var n,r=(void 0===t?{}:t).query,o=w(void 0===r?{}:r),a=o?e+"?"+o:e,i=L(),c=cn({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}},Jn=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?L():d,l=Bn(e,{query:u}),f=(o=g,{cancel:function(){clearTimeout(r),o=g},check:function(){var e=Ke();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})},Kn=function(e,t){var n=e.getState(),r=(it(n)+"/rtm/ws").replace(/^https/,"wss");return Jn(r,{query:{license_id:n.licenseId},emitter:t})},Xn=function(e){return{chatId:e.chat_id,properties:e.properties}},Wn=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?Mn(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},Qn=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},Zn=function(e){return t({id:e.id},jn(e))},$n=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},er=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},tr=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Sn(t,e.event)}},nr=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},rr=function(e){return{uniqueId:e.unique_id}},or=function(e){var n=e.chat;return{chat:t({},xn(n),{thread:Nn(n.id,n.thread)})}},ar=function(e){return{chatId:e.chat_id,event:Sn(e.thread_id,e.event)}},ir=function(e){return kn(e)},cr=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}}},ur=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:An(e.queue)}},dr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},pr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},lr=function(e){return{chatId:e.chat_id,user:Un(e.user),present:e.user.present}},fr=function(e){return{chatId:e.chat_id,userId:e.user_id}},hr=function(e){return e.map((function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map((function(e){var r=e.group_id;return t({},n(e,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},vr=function(e){var n,r;return{id:e.id,fields:!("id"in e.fields[0])?(n=e.fields,r=n.map((function(e,n){return t({},e,{id:n+""})})),hr(r)):hr(e.fields)}},_r=function(e){return e.enabled?t({},e,{form:vr(e.form)}):e},yr=function(e){var t={url:e.url};return e.title&&(t.title=e.title),e.description&&(t.description=e.description),e.image_url&&(t.imageUrl="https://"+e.image_url,e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},mr=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:Pn(e.access),properties:a,users:i.map(Un),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Cn(i)};if(!r)return c;c.lastEventsPerType=v((function(e){return Sn(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}},gr=function(e){return e.groups_status},Ir=function(e,t){return{threads:t.threads.map((function(t){return Nn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},Er=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:qn(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:kn(i)})},br=function(e){switch(e.action){case ht:return{action:e.action,payload:{chatId:e.payload.chat_id}};case vt:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case _t:return{action:e.action,payload:Xn(e.payload)};case yt:return{action:e.action,payload:Wn(e.payload)};case It:case mt:return{action:e.action,payload:e.payload};case gt:return{action:e.action,payload:Qn(e.payload)};case Et: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:case kt:return{action:e.action,payload:rr(e.payload)};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:e.payload};case jt:return{action:e.action,payload:cr(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)}}var t},Tr=function(e,n){var r=e.dispatch,o=n.request_id,a=tt((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 le:case fe:case he:case ve:case _e:return{action:o.action,payload:_n};case ye:return{action:o.action,payload:(n=o.payload,t({},xn(n),{thread:n.thread?Nn(n.id,n.thread):null}))};case me:return{action:o.action,payload:qn(o.payload)};case ge:return{action:o.action,payload:_r(o.payload)};case Ie:return{action:o.action,payload:Rn(o.payload)};case Ee:return{action:o.action,payload:yr(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(r,o.payload)};case Oe:return{action:o.action,payload:Er(o.payload)};case Se:case Ne:case xe:case Ce:case De:case qe:case Re:case Ae:case Me:return{action:o.action,payload:_n}}}({request:a.request,response:n});r({type:Q,payload:t({id:o,promise:i,resolve:c},s)})},wr=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:te})})),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=tt((0,e.getState)(),o);r({type:W,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case ke:case Pe:case je:return;default:return void Tr(e,n)}}if("request_id"in n)switch(n.action){case Pt:case Ct:return void function(e,n){var r=e.dispatch,o=n.request_id,a=tt((0,e.getState)(),o),i=a.promise,c=a.resolve,s=br(n);r({type:K,payload:t({id:o,promise:i,resolve:c},s)})}(e,n)}!function(e,t){var n=br(t);n&&e.dispatch({type:J,payload:n})}(e,n)})),n.on("disconnect",(function(){hn(e,ce),et(e.getState())===Xe&&e.dispatch({type:ne})})),n.on("connection_unstable",(function(){r({type:oe})})),n.on("connection_recovered",(function(){r({type:re})})),n.off},Or="incorrect requester structure",Sr=function(e,t){return e.length?e+"\n"+t:t},kr=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===nt(r)&&e.dispatch(on(n.entityId));var c=at(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=Sr(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=Sr(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=Sr(e.offline_message,c),e;case"question":case"textarea":var s=t.answer,u=s?t.label+" "+s:t.label;return e.offline_message=Sr(e.offline_message,u),e.ticket_message=Sr(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=Sr(e.offline_message,p),e.ticket_message=Sr(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=Sr(e.offline_message,f),e.ticket_message=Sr(e.ticket_message,f),e;default:return e}}),c)}(r,{fields:o.fields,customerId:n.entityId,groupId:a,timeZone:i});return P(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]===Or)throw pt({message:t[Or][0],code:"VALIDATION"});throw Error()};return e.json().then(n,n)}throw Error()}))}))},Pr="UPLOAD_FAILED",Cr=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=Pr,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=Pr,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()}}},Nr=1048576,xr=10485760,jr=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(Nr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},Dr=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>xr)throw pt({message:"The file is too big (max size is "+jr(xr)+").",code:"TOO_BIG_FILE"})}(a);var s=o.getState(),u=w({license_id:s.licenseId}),d=it(s)+"/action/upload_file?"+u,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=Cr(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(pt({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},qr=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.1"})};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))},Rr="LISTENER_IDENTITY",Ar={},Mr=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}),{})},Ur=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,Rr,{value:{}}),n.LISTENER_IDENTITY[t])return Ar[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=y(Ar);return n.LISTENER_IDENTITY[t]=o,Ar[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=Mr(u);return Object.freeze(t({auth:Object.freeze(Mr(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=Ar[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,Ur("on",e,t))},once:function(e,t){a(e,Ur("once",e,t))}}))},e.init=function(e,r){void 0===r&&(r="production"),M(e);var o=e.autoConnect,a=void 0===o||o,i=e.customerDataProvider,c=e.identityProvider,s=n(e,["autoConnect","customerDataProvider","identityProvider"]),u=dt(t({},s,{env:r})),d=L(),p=function(e){var n=L(),r=Kn(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=Kn(e,n)).connect()}})}(u),l="function"==typeof c?c():U(s,r);u.addSideEffectsHandler(zn({emitter:d,socket:p,auth:l,customerDataProvider:i})),wr(u,p);var f=an.bind(null,u),h=function(){u.dispatch({type:ae})},v=Object.freeze({acceptGreeting:function(e){return f(nn(le,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:l,cancelGreeting:function(e){return f(nn(fe,{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 pt({message:'There is no thread in "'+t+'".',code:de});return v.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:h,deactivateChat:function(e){return f(nn("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return f(nn(he,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return f(nn(ve,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return f(nn(_e,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){u.dispatch(Zt("manual"))},disconnect:function(){u.dispatch($t("manual"))},getChat:function(e){return f(nn(ye,{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(nn(me,{}))},getForm:function(e){return f(nn(ge,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return f(nn(Ie,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return f(nn(Ee,{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(nn(be,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return f(nn(Te,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return f(nn(we,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(nn(Se,{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 pt({message:'There is no thread in "'+t+'".',code:de});return v.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return qr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f(nn(ke,function(e){var n=Xt(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:Kt(e.event)};return t&&(n.attach_to_last_thread=!0),nn(Pe,n)}(e))})),sendTicketForm:function(e){return kr(u,l,e)},sendRichMessagePostback:function(e){return f(nn(Ce,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return f(nn(xe,{session_fields:Wt(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=u.getState();rt(r,t)&&ot(r)&&f(nn(Ne,{chat_id:t,sneak_peek_text:n})).catch(g)},startChat:function(t){return void 0===t&&(t={}),qr({env:r,licenseId:e.licenseId,eventName:"chat_started"}),f(nn(je,Xt(t)))},updateChatProperties:function(e){return f(nn(De,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return f(nn(qe,Qt(e)))},updateCustomerPage:function(e){u.dispatch({type:ie,payload:E(["title","url"],e)})},updateEventProperties:function(e){return f(nn(Ae,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return f(nn(Me,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return Dr({auth:l,store:u},e)}});return a?h():u.dispatch({type:F,payload:{sessionFields:"function"==typeof i?i().sessionFields:{}}}),v},e.parseCustomEvent=bn,e.parseEvent=Sn,e.parseFile=gn,e.parseFilledForm=In,e.parseForm=vr,e.parseGreeting=kn,e.parseMessage=En,e.parseRichMessage=wn,e.parseSystemMessage=On,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CustomerSDK={})}(this,(function(e){"use strict";function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)0>t.indexOf(n=a[r])&&(o[n]=e[n]);return o}function r(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o="__test_storage_support__",a="@@test",i=function(){var e=Object.create(null);return{getItem:function(t){var n=e[t];return"string"==typeof n?n:null},setItem:function(t,n){e[t]=n},removeItem:function(t){delete e[t]},clear:function(){e=Object.create(null)}}}(),c=function(e){void 0===e&&(e="local");try{var t="session"===e?window.sessionStorage:window.localStorage;return t.setItem(o,a),t.getItem(o)!==a?!1:(t.removeItem(o),!0)}catch(e){return!1}}()?window.localStorage:i,s=function(e,t){return new Promise((function(n){return n(c.setItem(e,t))}))},u=function(e){return new Promise((function(t){return t(c.getItem(e))}))},d=function(e){return new Promise((function(t){return t(c.removeItem(e))}))},p={}.hasOwnProperty;function l(e,t){return p.call(t,e)}function f(e,t){var n;return(n=[]).concat.apply(n,t.map(e))}function h(e){return Array.isArray(e)}function v(e){if("keys"in Object&&"function"==typeof Object.keys)return Object.keys(e);var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}function _(e,t){return v(t).reduce((function(n,r){return n[r]=e(t[r]),n}),{})}function g(e){return e}function y(e){var t=Math.random().toString(36).substring(2);return l(t,e)?y(e):t}function m(e,t){return-1!==t.indexOf(e)}function I(){}function b(e){return v(e).map((function(t){return e[t]}))}function E(e,t){return e.reduce((function(e,n){return e[n]=t[n],e}),{})}function T(e,t){return e.reduce((function(e,n){return l(n,t)&&(e[n]=t[n]),e}),{})}function w(e){return v(e).map((function(t){return[t,e[t]]}))}function O(e,t){return e===t?0:t>e?-1:1}var S=function(e){return w(e).map((function(e){return e.map(encodeURIComponent).join("=")})).join("&")},k=/[^:]+:\/\/[^(/|?)\s]+/,P=function(e){return e.replace(/\w/g,"$&[\\r\\n\\t]*")},C=(RegExp("^[\0-]*("+P("javascript")+"|"+P("data")+"):","i"),/^((http(s)?:)?\/\/)/);function N(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest,a=[],i=[],c={},s=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:s,headers:{keys:function(){return a},entries:function(){return i},get:function(e){return c[e.toLowerCase()]},has:function(e){return e.toLowerCase()in c}}}};for(var u in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){a.push(t=t.toLowerCase()),i.push([t,n]),c[t]=c[t]?c[t]+","+n:n})),n(s())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(u,t.headers[u]);o.send(t.body||null)}))}var x="https://accounts.livechatinc.com",j=function(e){var t=e.code,n=Error(e.message);return n.code=t,n},D=function(e,t){return N(""+function(e,t){return""+("production"===t?x:x.replace("accounts.","accounts."+t+"."))+function(e){return e.uniqueGroups?"/v2/customer/"+e.organizationId+"/"+e.groupId+"/token":"/v2/customer/token"}(e)}(e,t),{method:"POST",credentials:"include",body:JSON.stringify({response_type:"token",grant_type:"cookie",client_id:e.clientId,organization_id:e.organizationId,redirect_uri:(n=window.location+"",r=n.match(k),(r&&r[0])+window.location.pathname)})}).then((function(e){return e.json()})).then((function(t){return function(e,t){if("identity_exception"in e)throw j({code:"SSO_IDENTITY_EXCEPTION",message:e.identity_exception});if("oauth_exception"in e)throw j({code:"SSO_OAUTH_EXCEPTION",message:e.oauth_exception});return{accessToken:e.access_token,entityId:e.entity_id,expiresIn:1e3*e.expires_in,tokenType:e.token_type,creationDate:Date.now(),organizationId:t}}(t,e.organizationId)}));var n,r},q=function(e){if("string"!=typeof e.organizationId||"string"!=typeof e.clientId)throw Error("You need to pass valid configuration object: { organizationId, clientId }.")},R=function(e,t,n){q(e);var r=e.tokenStoragePrefix||"@@lc_auth_token:",o=""+r+t+(e.uniqueGroups?":"+e.groupId:""),a=""+r+e.organizationId+(e.uniqueGroups?":"+e.groupId:""),i=null,c=null,p=u(o).then((function(e){null!==p&&(p=null,e?s(a,e).then((function(){d(o).then((function(){c=JSON.parse(e)}))})):d(o).then((function(){return u(a).then((function(e){e&&(c=JSON.parse(e))}))})))})),l=function(){return i=D(e,n).then((function(e){return i=null,s(a,JSON.stringify(e)),c=e,e}),(function(e){throw i=null,e}))};return{getFreshToken:l,getToken:function e(){return i||(c&&!function(e){var t=e.creationDate,n=e.expiresIn;return Date.now()>=t+n}(c)?Promise.resolve(c):p?p.then(e):l())},hasToken:function e(){return p?p.then(e):Promise.resolve(!!c)},invalidate:function(){return c=null,p=null,d(a)}}};var A=function(){var e,r={all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map((function(e){e(n)})),(r=e.get("*"))&&r.slice().map((function(e){e(t,n)}))}},o=r.all,a=n(r,["all"]);return t({},a,{off:function(e,t){e?a.off(e,t):o.clear()},once:function(e,t){a.on(e,(function n(r,o){a.off(e,n),t(r,o)}))}})},M="change_region",U="check_goals",L="destroy",z="fail_all_requests",H="login_success",F="pause_connection",G="prefetch_token",Y="push_received",J="push_response_received",V="reconnect",B="request_failed",K="response_received",X="send_request",W="set_chat_active",Z="set_self_id",Q="socket_connected",$="socket_disconnected",ee="socket_recovered",te="socket_unstable",ne="start_connection",re="update_customer_page",oe="CONNECTION_LOST",ae="IDENTITY_MISMATCH",ie="MISDIRECTED_CONNECTION",ce="MISSING_CHAT_THREAD",se="SDK_DESTROYED",ue="accept_greeting",de="cancel_greeting",pe="delete_chat_properties",le="delete_event_properties",fe="delete_thread_properties",he="get_chat",ve="get_customer",_e="get_form",ge="get_predicted_agent",ye="get_url_info",me="list_chats",Ie="list_group_statuses",be="list_threads",Ee="login",Te="mark_events_as_seen",we="resume_chat",Oe="send_event",Se="send_rich_message_postback",ke="send_sneak_peek",Pe="set_customer_session_fields",Ce="start_chat",Ne="update_chat_properties",xe="update_customer",je="update_customer_page",De="update_event_properties",qe="update_thread_properties";var Re=function(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()),Ae=function(){return Math.random().toString(36).substring(7).split("").join(".")},Me={INIT:"@@redux/INIT"+Ae(),REPLACE:"@@redux/REPLACE"+Ae(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Ae()}};function Ue(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Le(e,t,n){var r;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw Error("Expected the enhancer to be a function.");return n(Le)(e,t)}if("function"!=typeof e)throw Error("Expected the reducer to be a function.");var o=e,a=t,i=[],c=i,s=!1;function u(){c===i&&(c=i.slice())}function d(){if(s)throw Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return a}function p(e){if("function"!=typeof e)throw Error("Expected the listener to be a function.");if(s)throw Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return u(),c.push(e),function(){if(t){if(s)throw Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,u();var n=c.indexOf(e);c.splice(n,1)}}}function l(e){if(!Ue(e))throw Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(s)throw Error("Reducers may not dispatch actions.");try{s=!0,a=o(a,e)}finally{s=!1}for(var t=i=c,n=0;t.length>n;n++){(0,t[n])()}return e}function f(e){if("function"!=typeof e)throw Error("Expected the nextReducer to be a function.");o=e,l({type:Me.REPLACE})}function h(){var e,t=p;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(d())}return n(),{unsubscribe:t(n)}}})[Re]=function(){return this},e}return l({type:Me.INIT}),(r={dispatch:l,subscribe:p,getState:d,replaceReducer:f})[Re]=h,r}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n}function Fe(e){for(var t=1;arguments.length>t;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?He(n,!0).forEach((function(t){ze(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ge(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function Ye(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map((function(e){return e(o)}));return Fe({},n,{dispatch:r=Ge.apply(void 0,a)(n.dispatch)})}}}var Je=function(e){var t=e.min,n=void 0===t?1e3:t,r=e.max,o=void 0===r?5e3:r,a=e.jitter,i=void 0===a?.5:a,c=0;return{duration:function(){var e=n*Math.pow(2,c++);if(i){var t=Math.random(),r=Math.floor(t*i*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,o)},reset:function(){c=0}}};function Ve(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var Be="connected",Ke="destroyed",Xe="disconnected",We="agent",Ze="customer",Qe=function(e){return e.connection.status},$e=function(e,t){return e.requests[t]},et=function(e){return e.users.self.id},tt=function(e,t){var n=e.chats[t];return!!n&&n.active},nt=function(e){return Qe(e)===Be},rt=function(e){var t=e.region;return"https://api"+(t?"-"+t:"")+function(e){var t=e.env;return"feaf6c0e-9f43-48ff-9ad0-8e24e0350932"===e.organizationId?".staging":"production"===t?"":"."+t}(e)+".livechatinc.com"},ot=function(e){return rt(e)+"/v3.4/customer"},at=function(e,o){return t({},e,{requests:n(e.requests,[o.id].map(r))})},it=function(e,n){return t({},n,{connection:t({},n.connection,{status:e})})},ct=function(e){var n,r,o;return r=e,(n={}).change_region=function(e,n){return t({},e,{region:n.region})},n.destroy=function(e){return it(Ke,e)},n.login_success=function(e){return it(Be,e)},n.pause_connection=function(e){return it("paused",e)},n.request_failed=at,n.response_received=at,n.push_response_received=at,n.send_request=function(e,n){var r,o=n.id;return t({},e,{requests:t({},e.requests,(r={},r[o]={id:o,promise:n.promise,resolve:n.resolve,reject:n.reject,request:n.request},r))})},n.set_chat_active=function(e,n){var r,o=n.id;return t({},e,{chats:t({},e.chats,(r={},r[o]=t({},e.chats[o],{active:n.active}),r))})},n.set_self_id=function(e,n){return t({},e,{users:t({},e.users,{self:t({},e.users.self,{id:n.id})})})},n.socket_disconnected=function(e){var n=Qe(e);return t({},it(n===Xe?Xe:"reconnecting",e),{requests:{}})},n.update_customer_page=function(e,n){return t({},e,{page:t({},e.page,n)})},(o=n)[void 0]&&console.warn("Reducer contains an 'undefined' action type.\nHave you misspelled a constant?"),function(e,t){return void 0===e&&(e=r),l(t.type,o)?o[t.type](e,t.payload):e}};function st(e){var n=g,r=function(){var e=[],t=function(t){return function(n){return function(r){var o=n(r);return e.forEach((function(e){e(r,t)})),o}}};return t.add=function(t){e.push(t)},t}(),o=Le(ct(function(e){var n=e.application,r=e.organizationId,o=e.groupId,a=void 0===o?null:o,i=e.env,c=e.page,s=void 0===c?null:c,u=e.region,d=void 0===u?null:u,p=e.referrer,l=void 0===p?null:p,f=e.uniqueGroups,h=void 0!==f&&f,v=e.mobile,_=void 0!==v&&v;return{application:t({},void 0===n?{}:n,{name:"customer_sdk",version:"3.1.3"}),organizationId:r,env:i,groupId:a,chats:{},connection:{status:Xe},page:s,region:d,referrer:l,requests:{},users:{self:{id:null,type:Ze},others:{}},uniqueGroups:h,mobile:_}}(e)),n(Ye(r)));return o.addSideEffectsHandler=r.add,o}function ut(e){var t=e.code,n=Error(e.message);return n.code=t,n}var dt="customer_banned",pt="product_version_changed",lt="chat_deactivated",ft="chat_properties_deleted",ht="chat_properties_updated",vt="chat_transferred",_t="customer_disconnected",gt="customer_page_updated",yt="customer_side_storage_updated",mt="customer_updated",It="event_properties_deleted",bt="event_properties_updated",Et="event_updated",Tt="events_marked_as_seen",wt="greeting_accepted",Ot="greeting_canceled",St="incoming_chat",kt="incoming_event",Pt="incoming_greeting",Ct="incoming_multicast",Nt="incoming_rich_message_postback",xt="incoming_typing_indicator",jt="queue_position_updated",Dt="thread_properties_deleted",qt="thread_properties_updated",Rt="user_added_to_chat",At="user_removed_from_chat",Mt=Object.freeze({__proto__:null,CHAT_DEACTIVATED:lt,CHAT_PROPERTIES_DELETED:ft,CHAT_PROPERTIES_UPDATED:ht,CHAT_TRANSFERRED:vt,CUSTOMER_DISCONNECTED:_t,CUSTOMER_PAGE_UPDATED:gt,CUSTOMER_SIDE_STORAGE_UPDATED:yt,CUSTOMER_UPDATED:mt,EVENT_PROPERTIES_DELETED:It,EVENT_PROPERTIES_UPDATED:bt,EVENT_UPDATED:Et,EVENTS_MARKED_AS_SEEN:Tt,GREETING_ACCEPTED:wt,GREETING_CANCELED:Ot,INCOMING_CHAT:St,INCOMING_EVENT:kt,INCOMING_GREETING:Pt,INCOMING_MULTICAST:Ct,INCOMING_RICH_MESSAGE_POSTBACK:Nt,INCOMING_TYPING_INDICATOR:xt,QUEUE_POSITION_UPDATED:jt,THREAD_PROPERTIES_DELETED:Dt,THREAD_PROPERTIES_UPDATED:qt,USER_ADDED_TO_CHAT:Rt,USER_REMOVED_FROM_CHAT:At}),Ut="file",Lt="form",zt="filled_form",Ht="message",Ft="rich_message",Gt="system_message",Yt="custom",Jt=function(e){var t,n={};return"string"==typeof e.customId&&(n.custom_id=e.customId),"object"!=typeof(t=e.properties)||null===t||h(t)||(n.properties=e.properties),n},Vt=function(e){switch(e.type){case Ht:var r=t({},Jt(e),{type:e.type,text:e.text});return e.postback&&(r.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),r;case Ut:return t({},Jt(e),{type:e.type,url:e.url,alternative_text:e.alternativeText});case zt:return t({},Jt(e),{type:e.type,form_id:e.formId,fields:e.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.groupId;return t({},e,{answer:t({},n(r,["groupId"]),{group_id:o})});default:return e}}))});case Gt:var o=t({},Jt(e),{type:e.type,text:e.text,system_message_type:e.systemMessageType});return e.recipients&&(o.recipients=e.recipients),o;case Yt:var a=t({},Jt(e),{type:e.type});return e.content&&(a.content=e.content),a}},Bt=function(e){var t=e.active,n=e.chat,r=e.continuous,o={active:void 0===t||t,chat:{}};if("boolean"==typeof r&&(o.continuous=r),!n)return o;var a=n.access,i=n.thread,c=n.properties;return a&&a.groupIds&&(o.chat.access={group_ids:a.groupIds}),c&&(o.chat.properties=c),i&&(o.chat.thread=function(e){var t={},n=e.events,r=e.properties;return n&&(t.events=n.map(Vt)),r&&(t.properties=r),t}(i)),o},Kt=function(e){return w(e).map((function(e){var t;return(t={})[e[0]]=e[1],t}))},Xt=function(e){var t=T(["avatar","name","email"],e);return e.sessionFields&&(t.session_fields=Kt(e.sessionFields)),t},Wt=function(e){return{type:L,payload:{reason:e}}},Zt=function(e){return{type:F,payload:{reason:e}}},Qt=function(e){return void 0===e&&(e=!1),{type:G,payload:{fresh:e}}},$t=function(e){return{type:V,payload:{delay:e}}},en=function(e,n,r){return{type:X,payload:t({request:{action:e,payload:n}},r&&{source:r})}},tn=function(e,t){return{type:W,payload:{id:e,active:t}}},nn=function(e){return{type:Z,payload:{id:e}}},rn=function(e,t){t.payload.id=y(e.getState().requests);var n=Ve(),r=n.resolve,o=n.reject,a=n.promise;return t.payload.promise=a,t.payload.resolve=r,t.payload.reject=o,e.dispatch(t),a},on=function(e){var t=e.getState();return"side_storage_"+t.organizationId+(t.uniqueGroups?":"+t.groupId:"")},an=function(e,t){var n=function(e,t){var n=e.getState();return"side_storage_"+t+(n.uniqueGroups?":"+n.groupId:"")}(e,t),r=on(e);return u(n).catch(I).then((function(e){return e?s(r,e).catch(I).then((function(){return d(n).catch(I).then((function(){return JSON.parse(e)})).catch(I)})):u(r).catch(I).then((function(e){return JSON.parse(e||"{}")})).catch(I)})).catch(I)},cn=function(e,t,n){var r=e.slice(0),o=!1;return function e(a){var i,c=r.shift();(i=function(){return c(a)},new Promise((function(e){e(i())}))).then((function(n){o||(r.length?e(n):t(n))}),(function(e){o||n(e)}))}(),{cancel:function(){o=!0}}},sn=function(e,t,n){return rn(e,en(t,n,"login"))};function un(e,n,r){var o,a,i=null,c={min:300,max:6e4,jitter:.3},s=Je(c),u=Je(t({},c,{min:1e3})),d=s,p=function(e){return o.dispatch(Wt(e))},l=function(){return o.dispatch($t(d.duration()))},f=function(){return Promise.all([e.getToken(),an(o,r)])},h=function(e){var t=e[0],n=e[1],r=et(o.getState());if(null===r)o.dispatch(nn(t.entityId));else if(r!==t.entityId){var a=Error("Identity has changed.");throw a.code=ae,a}return[t,n]},v=function(e){var t,r=e[0],a=e[1],c=o.getState(),s=c.application,u=c.groupId,d=c.page,p=c.referrer,l=c.mobile,f={token:r.tokenType+" "+r.accessToken,customer:"function"==typeof n?Xt(n()):{},customer_side_storage:a,is_mobile:l,application:E(["name","version"],s)};return"number"==typeof u&&(f.group_id=u),s.channelType&&(f.application.channel_type=s.channelType),null!==d&&(i=d,f.customer_page=d),null!==p&&(f.referrer=p),Promise.race([sn(o,Ee,f),(t=15e3,new Promise((function(e){setTimeout(e,t)}))).then((function(){return Promise.reject(ut({message:"Request timed out.",code:"REQUEST_TIMEOUT"}))}))])};return{sendLogin:function(t){var n;o=t,null==(n=a)||n.cancel(),a=cn([f,h,v],(function(e){var t;a=null,s.reset(),u.reset(),d=s,t=o.getState().page,i!==t&&sn(o,je,t).catch(I),i=null,o.dispatch({type:H,payload:e})}),(function(t){switch(a=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void l();case oe:case ie:case se:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void l():void p(t.message);case"USERS_LIMIT_REACHED":return void o.dispatch(Zt(t.code.toLowerCase()));case ae:case"CUSTOMER_BANNED":case"WRONG_PRODUCT_VERSION":return void p(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return d=u,void l();default:return void l()}}))},cancel:function(){var e;null==(e=a)||e.cancel()}}}var dn,pn=function(e,t){var n=e.dispatch,r=function(e){return e.requests}((0,e.getState)());n({type:z,payload:{rejects:Object.keys(r).map((function(e){return r[e].reject})),reason:t}})},ln=function(e,t,n){var r=t.payload.id;(0,e.dispatch)({type:B,payload:{id:r,reject:(0,e.getState)().requests[r].reject,error:n}})},fn=Object.freeze({success:!0}),hn=function(e,t){var n={id:t.id,authorId:t.author_id,createdAt:t.created_at,threadId:e,properties:t.properties||{}};return void 0!==t.custom_id&&(n.customId=t.custom_id),n},vn=function(e,t){var n,r,o,a,i;t.height>t.width?(r="height",o="width",a=t.height,i=t.width):(r="width",o="height",a=t.width,i=t.height);var c=e/a;return(n={})[r]=Math.ceil(Math.min(a,e)),n[o]=Math.ceil(Math.min(c*i,i)),n},_n=function(e,n){return void 0!==n.width&&void 0!==n.height?function(e,n){return t({},hn(e,n),{type:Ut,contentType:n.content_type,url:n.url,name:n.name,width:n.width,height:n.height,thumbnails:{default:t({url:n.thumbnail_url},vn(300,n)),high:t({url:n.thumbnail2x_url},vn(600,n))}},n.alternative_text&&{alternativeText:n.alternative_text})}(e,n):t({},hn(e,n),{type:Ut,contentType:n.content_type,url:n.url,name:n.name})},gn=function(e,r){return t({},hn(e,r),{type:zt,formId:r.form_id,fields:r.fields.map((function(e){switch(e.type){case"group_chooser":if(!e.answer)return e;var r=e.answer,o=r.group_id;return t({},e,{answer:t({},n(r,["group_id"]),{groupId:o})});default:return e}}))})},yn=function(e,n){return t({},hn(e,n),{type:Ht,text:n.text})},mn=function(e,n){return t({},hn(e,n),{type:Yt},n.content&&{content:n.content})},In=function(e){var n={};if("string"==typeof e.title&&(n.title=e.title),"string"==typeof e.subtitle&&(n.subtitle=e.subtitle),e.image){var r=e.image;n.image=t({url:r.url,name:r.name},r.alternative_text&&{alternativeText:r.alternative_text})}return e.buttons&&(n.buttons=e.buttons.map((function(e){switch(e.type){case"message":case"phone":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};case"cancel":return{type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"};case"url":var t={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return e.target&&(t.target=e.target),t;case"webview":var n={type:e.type,text:e.text,postbackId:e.postback_id,userIds:e.user_ids,value:e.value,role:e.role||"default"};return"string"==typeof e.webview_height&&(n.webviewHeight=e.webview_height),n;default:return{text:e.text,postbackId:e.postback_id,userIds:e.user_ids,role:e.role||"default"}}}))),n},bn=function(e,n){switch(n.template_id){case"cards":case"quick_replies":case"sticker":return t({},hn(e,n),{type:Ft,template:n.template_id,elements:n.elements.map(In)});default:return null}},En=function(e,n){var r=t({},hn(e,t({},n,{author_id:"system"})),{type:Gt,text:n.text,systemMessageType:n.system_message_type});return n.text_vars&&(r.textVars=n.text_vars),r},Tn=function(e,n){switch(n.type){case Ut:return _n(e,n);case Lt:return function(e,n){return t({},hn(e,n),{authorId:"system",type:Lt,formId:n.form_id,fields:n.fields})}(e,n);case zt:return gn(e,n);case Ht:return yn(e,n);case Ft:return bn(e,n);case Gt:return En(e,n);case Yt:return mn(e,n);default:return null}},wn=function(e){return{id:e.id,addon:e.addon||null,uniqueId:e.unique_id,displayedFirstTime:e.displayed_first_time,accepted:e.accepted||!1,subtype:e.subtype||"greeting",event:Tn(null,e.event),agent:{id:e.agent.id,name:e.agent.name,avatar:e.agent.avatar,jobTitle:e.agent.job_title,isBot:e.agent.is_bot||!1}}},On=function(e){return void 0===e&&(e={}),e.group_ids?{groupIds:e.group_ids}:{}},Sn=function(e){return _((function(e){return e.events_seen_up_to?e.events_seen_up_to:null}),(t="id",e.reduce((function(e,n){return e[n[t]]=n,e}),{})));var t},kn=function(e,t){var n=t.properties||{};return{id:t.id,chatId:e,active:t.active,access:On(t.access),createdAt:t.created_at,userIds:t.user_ids,events:t.events.map((function(e){return Tn(t.id,e)})).filter(Boolean),properties:n,previousThreadId:t.previous_thread_id||null,nextThreadId:t.next_thread_id||null,queue:t.queue?qn(t.queue):null}},Pn=function(e){return{id:e.id,access:On(e.access),users:e.users.map(Rn),properties:e.properties||{},eventsSeenUpToMap:Sn(e.users)}},Cn=function(e){var t=T(["avatar","email","name"],e);return e.session_fields&&(t.sessionFields=e.session_fields.reduce((function(e,t){var n=Object.keys(t)[0];return e[n]=t[n],e}),{})),t},Nn=function(e){var n=Cn(e);return t({id:e.id,type:Ze},n,{sessionFields:n.sessionFields||{}})},xn=function(e){var n=e.statistics;return t({},Nn(e),{statistics:{chatsCount:n.chats_count,threadsCount:n.threads_count,visitsCount:n.visits_count,pageViewsCount:n.page_views_count,greetingsShownCount:n.greetings_shown_count,greetingsAcceptedCount:n.greetings_accepted_count}})},jn=function(e){var t=e.agent;return{agent:{id:t.id,type:We,name:t.name,avatar:t.avatar,jobTitle:t.job_title,isBot:t.is_bot},queue:e.queue}},Dn=function(e){return{position:e.position,waitTime:e.wait_time}},qn=function(e){return t({},Dn(e),{queuedAt:e.queued_at})},Rn=function(e){return e.type===Ze?t({},Nn(r=e),{present:r.present}):{id:(n=e).id,type:We,name:n.name,avatar:n.avatar,jobTitle:n.job_title,present:n.present};var n,r},An=((dn={}).CONNECTION_LOST="Connection lost.",dn.MISDIRECTED_CONNECTION="Connected to wrong region.",dn),Mn=function(e,t){var n=e.getState();switch(t.type){case J:case Y:switch(t.payload.action){case lt:return void e.dispatch(tn(t.payload.payload.chatId,!1));case St:return void e.dispatch(tn(t.payload.payload.chat.id,!0));default:return}case K:switch(t.payload.action){case me:return void t.payload.payload.chatsSummary.filter((function(e){var t=e.active;return tt(n,e.id)!==t})).forEach((function(t){e.dispatch(tn(t.id,t.active))}));default:return}}},Un=function(e,t){t.forEach((function(t){if("present"in t){var r=n(t,["present"]);e("user_data",r)}else if(t.type!==Ze)e("user_data",t);else{var o=n(t,["statistics"]);e("user_data",o)}}))},Ln=function(e,t){var n,r=t.content;"lc2"===t.type&&("groups_update"===r.name&&"groups"in r&&0!==(h(n=r.groups)?n:Object.keys(n)).length&&e("availability_updated",{availability:"offline"===r.groups[0].status?"offline":"online"}))},zn=function(e,t){var n=e.emit,r=e.store,o=t.payload;switch(o.action){case qt:return o.payload.properties.lc2&&"queue_pos"in o.payload.properties.lc2&&n(jt,{chatId:o.payload.chatId,threadId:o.payload.threadId,queue:{position:o.payload.properties.lc2.queue_pos,waitTime:o.payload.properties.lc2.queue_waiting_time}}),void n("thread_properties_updated",o.payload);case yt:return void function(e,t){s(on(e),JSON.stringify(t)).catch(I)}(r,o.payload.customer_side_storage);case _t:switch(o.payload.reason){case"access_token_expired":r.dispatch(Qt(!0)),r.dispatch($t(100)),n("disconnected",o.payload);break;case dt:case"customer_temporarily_blocked":case"license_not_found":case pt:case"too_many_connections":case"unsupported_version":r.dispatch(Wt(o.payload.reason));break;case"misdirected_connection":pn(r,ie),r.dispatch({type:M,payload:o.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":pn(r,o.payload.reason.toUpperCase());break;default:r.dispatch($t(100)),n("disconnected",o.payload)}return;case St:return Un(n,o.payload.chat.users),void n(o.action,o.payload);case kt:if(null===o.payload.event)return;return void n(o.action,o.payload);case xt:return void n(o.action,o.payload);case Ct:return Ln(n,o.payload),void n(o.action,o.payload);case Rt:return Un(n,[o.payload.user]),void n(o.action,o.payload);default:return void n(o.action,o.payload)}},Hn=function(e,t){var n=e.emit,r=t.payload;switch(r.action){case lt:return void r.resolve(fn);case he:return Un(n,r.payload.users),void r.resolve(r.payload);case St:return Un(n,r.payload.chat.users),void r.resolve(r.payload);case kt:return void r.resolve(r.payload.event);case me:return Un(n,r.payload.users),void r.resolve(r.payload);default:return void r.resolve(r.payload)}},Fn=function(e){var n=e.auth,r=e.emitter,o=e.socket,a=r.emit,i=un(n,e.customerDataProvider,e.licenseId);return function(e,c){switch(e.type){case M:return void o.reinitialize();case U:return void function(e,t,n){return t.getToken().then((function(t){var r=e.getState();null===et(r)&&e.dispatch(nn(t.entityId));var o=r.page;if(o&&o.url){var a=S({organization_id:r.organizationId}),i={session_fields:Kt(n||{}),group_id:r.groupId||0,page_url:o.url};return N(ot(r)+"/action/check_goals?"+a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:t.tokenType+" "+t.accessToken},body:JSON.stringify(i)}).then((function(){}))}}))}(c,n,e.payload.sessionFields).catch(I);case L:var s=e.payload;switch(i.cancel(),o.destroy(),s.reason){case"manual":pn(c,se);break;case dt:case"license_expired":case pt:pn(c,oe),a("disconnected",s);break;default:a("disconnected",s)}return void r.off();case z:var u=e.payload,d=u.reason,p={message:An[d],code:d};return void u.rejects.forEach((function(e){e(ut(p))}));case H:var l=e.payload,f=l.dynamicConfig,h=l.chats,v=l.greeting,_=t({customer:l.customer,availability:l.availability},v&&{greeting:v});return Object.defineProperty(_,"__unsafeDynamicConfig",{value:f}),Object.defineProperty(_,"__unsafeChats",{value:h}),void a("connected",_);case F:var g=e.payload;return o.disconnect(),void("manual"!==g.reason&&a("disconnected",g));case G:return e.payload.fresh?void n.getFreshToken().catch(I):void n.hasToken().then((function(e){return e?n.getToken().then((function(e){if(36e5>=e.creationDate+e.expiresIn-Date.now())return n.invalidate().then(n.getFreshToken)})):n.getToken()})).catch(I);case Y:return e.payload.action===_t||Mn(c,e),void zn({emit:a,store:c},e);case J:return Mn(c,e),void Hn({emit:a},e);case V:return pn(c,oe),void o.reconnect(e.payload.delay);case B:var y=e.payload;return void(0,y.reject)(ut(y.error));case K:return Mn(c,e),void Hn({emit:a},e);case X:var E=c.getState();return function(e){return Qe(e)===Ke}(E)?void ln(c,e,{code:se,message:"SDK destroyed."}):nt(E)||"login"===e.payload.source?void function(e,n){var r=n.payload,o=t({request_id:r.id},r.request);switch(o.action){case Ee:var a=[];return void e.emit(t({},o,{version:"3.4",payload:t({},o.payload,{pushes:{3.4:b(Mt).filter((function(e){return e!==_t&&!m(e,a)}))}})}));default:e.emit(o)}}(o,e):void ln(c,e,{code:"NO_CONNECTION",message:"No connection."});case Z:return void a("customer_id",e.payload.id);case $:return void a("disconnected",{reason:"connection_lost"});case Q:return void i.sendLogin(c);case ee:if(!nt(c.getState()))return;return void a("connection_recovered");case te:if(!nt(c.getState()))return;return void a("connection_unstable");case ne:return o.connect(),void c.dispatch(Qt());case re:if(!nt(c.getState()))return;return void rn(c,en(je,e.payload)).catch(I);default:return}}},Gn=function(e,t){var n,r=(void 0===t?{}:t).query,o=S(void 0===r?{}:r),a=o?e+"?"+o:e,i=A(),c=Je({min:1e3,max:5e3,jitter:.5}),s=3,u=null,d=function(){s=1,c.reset(),i.emit("connect")},p=function(){f(),v(),i.emit("disconnect")},l=function(e){i.emit("message",e.data)},f=function(){var e;(clearTimeout(n),s=3,u)&&((e=u).removeEventListener("open",d),e.removeEventListener("close",p),e.removeEventListener("message",l),u.close(),u=null)},h=function(){var e;s=0,u=new WebSocket(a),(e=u).addEventListener("open",d),e.addEventListener("close",p),e.addEventListener("message",l)},v=function(e){void 0===e&&(e=c.duration()),f(),0!==e?n=setTimeout(h,e):h()};return{connect:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){if(3!==s)throw Error("Socket is already open or connecting.");clearTimeout(n),h()})),destroy:function(){i.off(),f()},disconnect:f,reconnect:v,emit:function(e){if(1!==s)throw Error("Socket is not connected.");u.send(e)},getReadyState:function(){return s},on:i.on,off:i.off}},Yn=function(e,n){var r,o,a,i,c=void 0===n?{}:n,s=c.query,u=void 0===s?{}:s,d=c.emitter,p=void 0===d?A():d,l=Gn(e,{query:u}),f=(o=I,{cancel:function(){clearTimeout(r),o=I},check:function(){var e=Ve();return o=e.resolve,r=setTimeout((function(){var t=Error("Timeout.");t.code="TIMEOUT",e.reject(t)}),2e3),e.promise},resolve:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){clearTimeout(r),o()}))}),h=function(){return 1===l.getReadyState()},v=function(){f.cancel()};return a=l,i=p,["connect","disconnect"].forEach((function(e){a.on(e,(function(t){i.emit(e,t)}))})),l.on("disconnect",v),l.on("message",(function(e){f.resolve();var t=JSON.parse(e);p.emit("message",t)})),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",(function(){h()&&f.check().then((function(){f.cancel(),p.emit("connection_recovered")}),(function(e){if(f.cancel(),"TIMEOUT"!==e.code)throw e;l.reconnect()}))})),window.addEventListener("offline",(function(){f.cancel(),h()&&p.emit("connection_unstable")}))),t({},l,{destroy:function(){v(),l.destroy()},disconnect:function(){v(),l.disconnect()},reconnect:function(e){v(),l.reconnect(e)},emit:function(e){l.emit(JSON.stringify(e))},on:p.on,off:p.off})},Jn=function(e,t){var n=e.getState(),r=(ot(n)+"/rtm/ws").replace(/^https/,"wss");return Yn(r,{query:{organization_id:n.organizationId},emitter:t})},Vn=function(e){return{chatId:e.chat_id,properties:e.properties}},Bn=function(e){var n={chatId:e.chat_id,threadId:e.thread_id,transferredTo:t({},e.transferred_to.agent_ids&&{agentIds:e.transferred_to.agent_ids},e.transferred_to.group_ids&&{groupIds:e.transferred_to.group_ids}),queue:e.queue?qn(e.queue):null};return t({},n,"manual"===e.reason?{reason:e.reason,requesterId:e.requester_id}:{reason:e.reason})},Kn=function(e){return{url:e.url,title:e.title,openedAt:e.opened_at}},Xn=function(e){return t({id:e.id},Cn(e))},Wn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Zn=function(e){return{chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,properties:e.properties}},Qn=function(e){var t=e.thread_id;return{chatId:e.chat_id,threadId:t,event:Tn(t,e.event)}},$n=function(e){return{chatId:e.chat_id,userId:e.user_id,seenUpTo:e.seen_up_to}},er=function(e){return{uniqueId:e.unique_id}},tr=function(e){var n=e.chat;return{chat:t({},Pn(n),{thread:kn(n.id,n.thread)})}},nr=function(e){return{chatId:e.chat_id,event:Tn(e.thread_id,e.event)}},rr=function(e){return wn(e)},or=function(e){return{userId:e.user_id,chatId:e.chat_id,threadId:e.thread_id,eventId:e.event_id,postback:e.postback}},ar=function(e){var t=e.typing_indicator;return{chatId:e.chat_id,typingIndicator:{authorId:t.author_id,isTyping:t.is_typing}}},ir=function(e){return{chatId:e.chat_id,threadId:e.thread_id,queue:Dn(e.queue)}},cr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},sr=function(e){return{chatId:e.chat_id,threadId:e.thread_id,properties:e.properties}},ur=function(e){return{chatId:e.chat_id,user:Rn(e.user),present:e.user.present}},dr=function(e){return{chatId:e.chat_id,userId:e.user_id}},pr=function(e){return e.map((function(e){switch(e.type){case"group_chooser":return t({},e,{options:e.options.map((function(e){var r=e.group_id;return t({},n(e,["group_id"]),{groupId:r})}))});case"rating":var r=e.comment_label;return t({},n(e,["comment_label"]),{commentLabel:r});default:return e}}))},lr=function(e){var n,r;return{id:e.id,fields:!("id"in e.fields[0])?(n=e.fields,r=n.map((function(e,n){return t({},e,{id:n+""})})),pr(r)):pr(e.fields)}},fr=function(e){return e.enabled?t({},e,{form:lr(e.form)}):e},hr=function(e){var t={url:e.url};return e.title&&(t.title=e.title),e.description&&(t.description=e.description),e.image_url&&(t.imageUrl="https://"+e.image_url.replace(C,""),e.image_width&&e.image_height&&(t.imageWidth=e.image_width,t.imageHeight=e.image_height)),t},vr=function(e){var t,n,r,o,a,i,c=e.chats_summary.map((function(e){var t=e.last_thread_created_at,n=e.last_thread_id,r=e.last_event_per_type,o=e.properties,a=void 0===o?{}:o,i=e.users,c={id:e.id,active:e.active,access:On(e.access),properties:a,users:i.map(Rn),lastThreadId:n||null,lastThreadCreatedAt:t||null,eventsSeenUpToMap:Sn(i)};if(!r)return c;c.lastEventsPerType=_((function(e){return Tn(e.thread_id,e.event)}),r);var s,u=r,d=Object.keys(u).map((function(e){return u[e]})),p=(s=d.sort((function(e,t){return e.thread_id===t.thread_id?O(e.event.created_at,t.event.created_at):O(e.thread_created_at,t.thread_created_at)}))).length>0?s[s.length-1]:void 0;return p&&c.lastEventsPerType&&(c.lastEvent=c.lastEventsPerType[p.event.type]),c}));return{chatsSummary:(o=function(e){var t,n=e.lastEvent;return-1*(null!=(t=void 0!==n?n.timestamp:e.order)?t:0)},a=c,i="function"==typeof o?o:function(e){return function(e,t){for(var n="string"==typeof e?e.split("."):e,r=0,o=t;o&&n.length>r;)o=o[n[r++]];return o}(o,e)},(h(a)?[].concat(a):b(a)).sort((function(e,t){return i(e)-i(t)}))),totalChats:e.total_chats,users:(t=function(e){return e.id},n=f((function(e){return e.users}),c),r=[],n.filter((function(e){var n=t(e);return-1===r.indexOf(n)&&(r.push(n),!0)}))),previousPageId:e.previous_page_id||null,nextPageId:e.next_page_id||null}},_r=function(e){return e.groups_status},gr=function(e,t){return{threads:t.threads.map((function(t){return kn(e.payload.chat_id,t)})),previousPageId:t.previous_page_id||null,nextPageId:t.next_page_id||null}},yr=function(e){var n,r,o=e.__priv_dynamic_config,a=e.chats,i=e.greeting;return t({dynamicConfig:o,customer:xn(e.customer),availability:(n=o,r=n.online_groups_ids,r&&m(n.customer_groups.monitoring.id,r)?"online":"offline"),chats:a.map((function(t){return{id:t.chat_id,active:"has_active_thread"in t?t.has_active_thread:e.has_active_thread,hasUnreadEvents:t.has_unread_events}}))},i&&{greeting:wn(i)})},mr=function(e){switch(e.action){case lt:return{action:e.action,payload:{chatId:e.payload.chat_id}};case ft:return{action:e.action,payload:(t=e.payload,{chatId:t.chat_id,properties:t.properties})};case ht:return{action:e.action,payload:Vn(e.payload)};case vt:return{action:e.action,payload:Bn(e.payload)};case yt:case _t:return{action:e.action,payload:e.payload};case gt:return{action:e.action,payload:Kn(e.payload)};case mt:return{action:e.action,payload:Xn(e.payload)};case It:return{action:e.action,payload:Wn(e.payload)};case bt:return{action:e.action,payload:Zn(e.payload)};case Et:return{action:e.action,payload:Qn(e.payload)};case Tt:return{action:e.action,payload:$n(e.payload)};case wt:case Ot:return{action:e.action,payload:er(e.payload)};case St:return{action:e.action,payload:tr(e.payload)};case kt:return{action:e.action,payload:nr(e.payload)};case Pt:return{action:e.action,payload:rr(e.payload)};case Ct:return{action:e.action,payload:e.payload};case Nt:return{action:e.action,payload:or(e.payload)};case xt:return{action:e.action,payload:ar(e.payload)};case jt:return{action:e.action,payload:ir(e.payload)};case Dt:return{action:e.action,payload:cr(e.payload)};case qt:return{action:e.action,payload:sr(e.payload)};case Rt:return{action:e.action,payload:ur(e.payload)};case At:return{action:e.action,payload:dr(e.payload)}}var t},Ir=function(e,n){var r=e.dispatch,o=n.request_id,a=$e((0,e.getState)(),o),i=a.promise,c=a.resolve,s=function(e){var n,r=e.request,o=e.response;switch(o.action){case ue:case de:case pe:case le:case fe:return{action:o.action,payload:fn};case he:return{action:o.action,payload:(n=o.payload,t({},Pn(n),{thread:n.thread?kn(n.id,n.thread):null}))};case ve:return{action:o.action,payload:xn(o.payload)};case _e:return{action:o.action,payload:fr(o.payload)};case ge:return{action:o.action,payload:jn(o.payload)};case ye:return{action:o.action,payload:hr(o.payload)};case me:return{action:o.action,payload:vr(o.payload)};case Ie:return{action:o.action,payload:_r(o.payload)};case be:return{action:o.action,payload:gr(r,o.payload)};case Ee:return{action:o.action,payload:yr(o.payload)};case Te:case ke:case Pe:case Se:case Ne:case xe:case je:case De:case qe:return{action:o.action,payload:fn}}}({request:a.request,response:n});r({type:K,payload:t({id:o,promise:i,resolve:c},s)})},br=function(e,n){var r=e.dispatch;return n.on("connect",(function(){r({type:Q})})),n.on("message",(function(n){if("response"===n.type){if(!n.success)return void function(e,t){var n,r=e.dispatch,o=t.request_id,a=t.payload,i=$e((0,e.getState)(),o);r({type:B,payload:{id:o,reject:i.reject,error:(n=a.error,{code:n.type.toUpperCase(),message:n.message})}})}(e,n);switch(n.action){case we:case Oe:case Ce:return;default:return void Ir(e,n)}}if("request_id"in n)switch(n.action){case St:case kt:return void function(e,n){var r=e.dispatch,o=n.request_id,a=$e((0,e.getState)(),o),i=a.promise,c=a.resolve,s=mr(n);r({type:J,payload:t({id:o,promise:i,resolve:c},s)})}(e,n)}!function(e,t){var n=mr(t);n&&e.dispatch({type:Y,payload:n})}(e,n)})),n.on("disconnect",(function(){pn(e,oe),Qe(e.getState())===Be&&e.dispatch({type:$})})),n.on("connection_unstable",(function(){r({type:te})})),n.on("connection_recovered",(function(){r({type:ee})})),n.off},Er="incorrect requester structure",Tr=function(e,t){return e.length?e+"\n"+t:t},wr=function(e,n,r){var o=r.filledForm,a=r.groupId,i=r.licenseId,c=r.timeZone;return n.getToken().then((function(n){var r=e.getState();null===et(r)&&e.dispatch(nn(n.entityId));var s=rt(r)+"/v2/tickets/new",u=function(e,n){var r=n.fields,o=n.groupId,a=void 0===o?e.groupId:o,i=n.timeZone,c=t({licence_id:n.licenseId,ticket_message:"",offline_message:"",visitor_id:n.customerId,requester:{}},"number"==typeof a&&{group:a},e.page&&{source:{url:e.page.url}},i&&{timezone:i});return r.reduce((function(e,t){switch(t.type){case"subject":var n=t.answer,r=n?t.label+" "+n:t.label;return n&&(e.subject=n),e.offline_message=Tr(e.offline_message,r),e;case"name":var o=t.answer,a=o?t.label+" "+o:t.label;return o&&(e.requester.name=o),e.offline_message=Tr(e.offline_message,a),e;case"email":var i=t.answer,c=i?t.label+" "+i:t.label;return e.requester.mail=i,e.offline_message=Tr(e.offline_message,c),e;case"question":case"textarea":var s=t.answer,u=s?t.label+" "+s:t.label;return e.offline_message=Tr(e.offline_message,u),e.ticket_message=Tr(e.ticket_message,u),e;case"radio":case"select":var d=t.answer&&t.answer.label,p=d?t.label+" "+d:t.label;return e.offline_message=Tr(e.offline_message,p),e.ticket_message=Tr(e.ticket_message,p),e;case"checkbox":var l=t.answers&&t.answers.map((function(e){return e.label})).join(", "),f=l?t.label+" "+l:t.label;return e.offline_message=Tr(e.offline_message,f),e.ticket_message=Tr(e.ticket_message,f),e;default:return e}}),c)}(r,{fields:o.fields,customerId:n.entityId,groupId:a,licenseId:i,timeZone:c});return N(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(e){if(e.ok)return e.json().then((function(e){return t({},e,{text:u.ticket_message})}));if(400===e.status||422===e.status){var n=function(e){if(!e||!e.errors)throw Error();var t=e.errors[0];if(Object.keys(t)[0]===Er)throw ut({message:t[Er][0],code:"VALIDATION"});throw Error()};return e.json().then(n,n)}throw Error()}))}))},Or="UPLOAD_FAILED",Sr=function(e,t,n){var r=void 0===n?{}:n,o=r.headers,a=r.method,i=void 0===a?"POST":a,c=r.onProgress,s=r.withCredentials,u=void 0!==s&&s,d=new XMLHttpRequest;return{promise:new Promise((function(n,r){var a,s;"function"==typeof c&&(d.upload.onprogress=function(e){c(e.loaded/e.total)}),d.onload=function(){var e;try{e=JSON.parse(d.response)}catch(t){e=d.response}if(200>d.status||d.status>=300){var t=Error("Upload failed.");t.code=Or,t.response=e,r(t)}else n(e)},d.onerror=function(){var e=Error("Upload failed.");e.code=Or,r(e)},d.onabort=function(){var e=Error("Upload canceled.");e.code="UPLOAD_CANCELED",r(e)},d.open(i,e),d.withCredentials=u,o&&Object.keys(o).forEach((function(e){return d.setRequestHeader(e,o[e])})),d.send((a=t,s=new FormData,Object.keys(a).forEach((function(e){return s.append(e,a[e])})),s))})),cancel:function(){d.abort()}}},kr=1048576,Pr=10485760,Cr=function(e,t){if(void 0===t&&(t=2),1024>e)return e+" b";var n=e/1024;if(kr>e)return n.toFixed(t)+" kb";var r=n/1024;return 1073741824>e?r.toFixed(t)+" MB":(r/1024).toFixed(t)+" GB"},Nr=function(e,t){var n,r=e.auth,o=e.store,a=t.file,i=t.onProgress,c=!1;return{promise:new Promise((function(e,t){!function(e){if(e.size>Pr)throw ut({message:"The file is too big (max size is "+Cr(Pr)+").",code:"TOO_BIG_FILE"})}(a);var s=o.getState(),u=S({organization_id:s.organizationId}),d=ot(s)+"/action/upload_file?"+u,p={file:a};r.getToken().then((function(r){c?t(Error("Upload cancelled.")):(n=Sr(d,p,{headers:{Authorization:r.tokenType+" "+r.accessToken},onProgress:i})).promise.then(e,(function(e){if(e.response){var n=e.response.error;t(ut({message:n.message,code:n.type.toUpperCase()}))}else t(e)}))}))})),cancel:function(){c||(c=!0,n&&n.cancel())}}},xr=function(e){var t=e.organizationId,n=e.eventName;if("production"!==e.env)return Promise.resolve();var r={organizationId:t,event_id:"chat_widget_customer_sdk",message:JSON.stringify({event_name:n,severity:"Informational",sdkVersion:"3.1.3"})};return function(e,t){return new Promise((function(n){var r=new Image;r.src=e+"?"+t,r.onerror=I,r.onload=function(){return n()}}))}("https://queue.livechatinc.com/logs",S(r))},jr="LISTENER_IDENTITY",Dr={},qr=function(e,t){void 0===t&&(t="");var n=Object.keys(e);return n.map((function(n){var r=e[n];return function(){for(var e,o=arguments.length,a=Array(o),i=0;o>i;i++)a[i]=arguments[i];(e=console).info.apply(e,[t+"."+n+"() ===>"].concat(a));var c=r.apply(void 0,a);return"function"==typeof(null==c?void 0:c.then)?c.then((function(e){return console.info(t+"."+n+"() <===",e),e}),(function(e){throw console.error(t+"."+n+"() <===",e),e})):c}})).reduce((function(e,t,r){return e[n[r]]=t,e}),{})},Rr=function(e,t,n){if(void 0===n.LISTENER_IDENTITY&&Object.defineProperty(n,jr,{value:{}}),n.LISTENER_IDENTITY[t])return Dr[n.LISTENER_IDENTITY[t]];var r=function(r){console.info("."+e+'("'+t+'") <===',r),n(r)},o=y(Dr);return n.LISTENER_IDENTITY[t]=o,Dr[o]=r,r};e.debug=function(e){var r=e;console.warn("You probably do not want to use debug(customerSDK) in your production environment.");var o=r.on,a=r.once,i=r.off,c=r.getChatHistory,s=r.auth,u=n(r,["on","once","off","getChatHistory","auth"]),d=qr(u);return Object.freeze(t({auth:Object.freeze(qr(s,".auth"))},d,{getChatHistory:function(){for(var e,t=arguments.length,n=Array(t),r=0;t>r;r++)n[r]=arguments[r];(e=console).info.apply(e,[".getChatHistory()"].concat(n));var o=c.apply(void 0,n),a="history.next()";return{next:function(){var e;return(e=console).info.apply(e,[a+" ===>"].concat(n)),o.next().then((function(e){var t;return(t=console).info.apply(t,[a+" <==="].concat(n,[e])),e}),(function(e){var t;throw(t=console).error.apply(t,[a+" <==="].concat(n,[e])),e}))}}},off:function(e,t){console.info('.off("'+e+'", '+(t.name||"anonymous")+")");var n=t;void 0!==t.LISTENER_IDENTITY&&(n=Dr[t.LISTENER_IDENTITY[e]]);i(e,n)},on:function(e,t){o(e,Rr("on",e,t))},once:function(e,t){a(e,Rr("once",e,t))}}))},e.init=function(e,r,o){void 0===r&&(r="production"),q(e);var a=e.autoConnect,i=void 0===a||a,c=e.customerDataProvider,s=e.identityProvider,u=n(e,["autoConnect","customerDataProvider","identityProvider"]),d=st(t({},u,{env:r})),p=A(),l=function(e){var n=A(),r=Jn(e,n);return t({},Object.keys(r).reduce((function(e,t){return e[t]=function(){var e;return(e=r)[t].apply(e,arguments)},e}),{}),{reinitialize:function(){r.disconnect(),(r=Jn(e,n)).connect()}})}(d),f="function"==typeof s?s():R(u,o,r);d.addSideEffectsHandler(Fn({emitter:p,socket:l,auth:f,customerDataProvider:c,licenseId:o})),br(d,l);var h=rn.bind(null,d),v=function(){d.dispatch({type:ne})},_=Object.freeze({acceptGreeting:function(e){return h(en(ue,{greeting_id:e.greetingId,unique_id:e.uniqueId}))},auth:f,cancelGreeting:function(e){return h(en(de,{unique_id:e.uniqueId}))},cancelRate:function(e){var t=e.chatId,n=e.properties,r=void 0===n?["score"]:n;return _.listThreads({chatId:t}).then((function(e){var n=e.threads;if(!n.length)throw ut({message:'There is no thread in "'+t+'".',code:ce});return _.deleteThreadProperties({chatId:t,threadId:n[0].id,properties:{rating:r}})}))},connect:v,deactivateChat:function(e){return h(en("deactivate_chat",{id:e.id}))},deleteChatProperties:function(e){return h(en(pe,{id:e.id,properties:e.properties}))},deleteEventProperties:function(e){return h(en(le,{chat_id:e.chatId,thread_id:e.threadId,event_id:e.eventId,properties:e.properties}))},deleteThreadProperties:function(e){return h(en(fe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},destroy:function(){d.dispatch(Wt("manual"))},disconnect:function(){d.dispatch(Zt("manual"))},getChat:function(e){return h(en(he,{chat_id:e.chatId,thread_id:e.threadId}))},getChatHistory:function(e){return function(e,t){var n={status:"idle",queuedTasks:[],nextPageId:null},r=function r(o,a){switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then((function(e){var t=e.threads;n.nextPageId=e.nextPageId,n.nextPageId?(n.status="idle",o({value:{threads:[].concat(t).reverse()},done:!1})):(n.status="done",o({value:{threads:[].concat(t).reverse()},done:!0}));var a=n.queuedTasks.shift();a&&r(a.resolve,a.reject)}),(function(e){var t=n.queuedTasks;n.status="idle",n.queuedTasks=[],a(e),t.forEach((function(t){return t.reject(e)}))}));case"fetching":return void n.queuedTasks.push({resolve:o,reject:a});case"done":return void o({value:void 0,done:!0})}};return{next:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(){return new Promise(r)}))}}(_,e.chatId)},getCustomer:function(){return h(en(ve,{}))},getForm:function(e){return h(en(_e,{group_id:e.groupId,type:e.type}))},getPredictedAgent:function(e){void 0===e&&(e={});var t=e.groupId;return h(en(ge,"number"==typeof t?{group_id:t}:{}))},getUrlInfo:function(e){return h(en(ye,{url:e.url}))},listChats:function(e){return void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(Error("Specified limit is too high (max 25).")):h(en(me,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))},listGroupStatuses:function(e){var t=(void 0===e?{}:e).groupIds;return h(en(Ie,t?{group_ids:t}:{all:!0}))},listThreads:function(e){return h(en(be,void 0===e.pageId?{chat_id:e.chatId,sort_order:e.sortOrder,limit:e.limit,min_events_count:e.minEventsCount}:{chat_id:e.chatId,page_id:e.pageId}))},markEventsAsSeen:function(e){return h(en(Te,{chat_id:e.chatId,seen_up_to:e.seenUpTo}))},on:p.on,once:p.once,off:p.off,rateChat:function(e){var t=e.chatId,n=e.rating;return _.listThreads({chatId:t}).then((function(e){var r=e.threads;if(!r.length)throw ut({message:'There is no thread in "'+t+'".',code:ce});return _.updateThreadProperties({chatId:t,threadId:r[0].id,properties:{rating:n}})}))},resumeChat:function(n){return xr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),h(en(we,function(e){var n=Bt(e);return t({},n,{chat:t({},n.chat,{id:e.chat.id})})}(n)))},sendEvent:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return""+e},t}((function(e){return h(function(e){var t=e.attachToLastThread,n={chat_id:e.chatId,event:Vt(e.event)};return t&&(n.attach_to_last_thread=!0),en(Oe,n)}(e))})),sendTicketForm:function(e){return wr(d,f,e)},sendRichMessagePostback:function(e){return h(en(Se,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,postback:e.postback}))},setCustomerSessionFields:function(e){return h(en(Pe,{session_fields:Kt(e.sessionFields)}))},setSneakPeek:function(e){var t=e.chatId,n=e.sneakPeekText,r=d.getState();tt(r,t)&&nt(r)&&h(en(ke,{chat_id:t,sneak_peek_text:n})).catch(I)},startChat:function(t){return void 0===t&&(t={}),xr({env:r,organizationId:e.organizationId,eventName:"chat_started"}),h(en(Ce,Bt(t)))},updateChatProperties:function(e){return h(en(Ne,{id:e.id,properties:e.properties}))},updateCustomer:function(e){return h(en(xe,Xt(e)))},updateCustomerPage:function(e){d.dispatch({type:re,payload:T(["title","url"],e)})},updateEventProperties:function(e){return h(en(De,{chat_id:e.chatId,event_id:e.eventId,thread_id:e.threadId,properties:e.properties}))},updateThreadProperties:function(e){return h(en(qe,{chat_id:e.chatId,thread_id:e.threadId,properties:e.properties}))},uploadFile:function(e){return Nr({auth:f,store:d},e)}});return i?v():d.dispatch({type:U,payload:{sessionFields:"function"==typeof c?c().sessionFields:{}}}),_},e.parseCustomEvent=mn,e.parseEvent=Tn,e.parseFile=_n,e.parseFilledForm=gn,e.parseForm=lr,e.parseGreeting=wn,e.parseMessage=yn,e.parseRichMessage=bn,e.parseSystemMessage=En,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livechat/customer-sdk",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "SDK for connecting to LiveChat as a customer",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Konrad Kruk <k.kruk@livechatinc.com>",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"react-native": "dist/customer-sdk.cjs.native.js",
|
|
15
15
|
"types": "./types",
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist",
|
|
18
|
+
"types/**/*.d.ts"
|
|
18
19
|
],
|
|
19
20
|
"keywords": [
|
|
20
21
|
"livechat"
|
|
@@ -22,25 +23,24 @@
|
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"@livechat/backoff": "^0.1.0",
|
|
24
25
|
"@livechat/customer-auth": "^0.4.0-alpha.7",
|
|
25
|
-
"@livechat/data-utils": "^0.
|
|
26
|
-
"@livechat/deferred": "^1.1.0",
|
|
26
|
+
"@livechat/data-utils": "^1.0.3",
|
|
27
27
|
"@livechat/file-upload": "^0.3.0",
|
|
28
28
|
"@livechat/isomorphic-storage": "^0.1.0",
|
|
29
|
-
"@livechat/mitt": "^0.1.
|
|
29
|
+
"@livechat/mitt": "^0.1.3",
|
|
30
30
|
"@livechat/platform-client": "^0.3.1",
|
|
31
|
-
"@livechat/promise-
|
|
31
|
+
"@livechat/promise-utils": "^1.0.1",
|
|
32
32
|
"@livechat/side-effects-middleware": "^0.2.0",
|
|
33
|
-
"@livechat/url-utils": "^0.2.
|
|
33
|
+
"@livechat/url-utils": "^0.2.1",
|
|
34
34
|
"redux": "^4.0.4",
|
|
35
35
|
"ts-toolbelt": "^6.7.5",
|
|
36
36
|
"unfetch": "^4.2.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/core": "
|
|
39
|
+
"@babel/core": "7.20.7",
|
|
40
40
|
"@babel/plugin-proposal-class-properties": "^7.10.4",
|
|
41
41
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
42
42
|
"@babel/preset-env": "^7.10.4",
|
|
43
|
-
"@babel/preset-typescript": "^7.
|
|
43
|
+
"@babel/preset-typescript": "^7.18.6",
|
|
44
44
|
"@livechat/customer-api-fake": "*",
|
|
45
45
|
"@rollup/plugin-alias": "^3.1.1",
|
|
46
46
|
"@rollup/plugin-babel": "^5.2.1",
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import * as Actions from './types/actions';
|
|
2
|
+
import { Request } from './types/frames';
|
|
3
|
+
import { RequestBodyEvent } from './types/clientEntities';
|
|
4
|
+
export declare const destroy: (reason: string) => Actions.DestroyAction;
|
|
5
|
+
export declare const loginSuccess: (payload: Actions.LoginSuccessAction['payload']) => Actions.LoginSuccessAction;
|
|
6
|
+
export declare const pauseConnection: (reason: string) => Actions.PauseConnectionAction;
|
|
7
|
+
export declare const prefetchToken: (fresh?: boolean) => Actions.PrefetchTokenAction;
|
|
8
|
+
export declare const reconnect: (delay: number) => Actions.ReconnectAction;
|
|
9
|
+
export declare const sendRequest: <A extends "update_customer_page" | "accept_greeting" | "cancel_greeting" | "deactivate_chat" | "delete_chat_properties" | "delete_event_properties" | "delete_thread_properties" | "get_chat" | "get_customer" | "get_form" | "get_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_event_properties" | "update_thread_properties">(action: A, payload: (Extract<{
|
|
10
|
+
request_id: string;
|
|
11
|
+
version?: string | undefined;
|
|
12
|
+
action: "accept_greeting";
|
|
13
|
+
payload: {
|
|
14
|
+
greeting_id: number;
|
|
15
|
+
unique_id: string;
|
|
16
|
+
};
|
|
17
|
+
}, {
|
|
18
|
+
action: A;
|
|
19
|
+
}> | Extract<{
|
|
20
|
+
request_id: string;
|
|
21
|
+
version?: string | undefined;
|
|
22
|
+
action: "cancel_greeting";
|
|
23
|
+
payload: {
|
|
24
|
+
unique_id: string;
|
|
25
|
+
};
|
|
26
|
+
}, {
|
|
27
|
+
action: A;
|
|
28
|
+
}> | Extract<{
|
|
29
|
+
request_id: string;
|
|
30
|
+
version?: string | undefined;
|
|
31
|
+
action: "deactivate_chat";
|
|
32
|
+
payload: {
|
|
33
|
+
id: string;
|
|
34
|
+
};
|
|
35
|
+
}, {
|
|
36
|
+
action: A;
|
|
37
|
+
}> | Extract<{
|
|
38
|
+
request_id: string;
|
|
39
|
+
version?: string | undefined;
|
|
40
|
+
action: "delete_chat_properties";
|
|
41
|
+
payload: {
|
|
42
|
+
id: string;
|
|
43
|
+
properties: Record<string, string[]>;
|
|
44
|
+
};
|
|
45
|
+
}, {
|
|
46
|
+
action: A;
|
|
47
|
+
}> | Extract<{
|
|
48
|
+
request_id: string;
|
|
49
|
+
version?: string | undefined;
|
|
50
|
+
action: "delete_event_properties";
|
|
51
|
+
payload: {
|
|
52
|
+
chat_id: string;
|
|
53
|
+
thread_id: string;
|
|
54
|
+
event_id: string;
|
|
55
|
+
properties: Record<string, string[]>;
|
|
56
|
+
};
|
|
57
|
+
}, {
|
|
58
|
+
action: A;
|
|
59
|
+
}> | Extract<{
|
|
60
|
+
request_id: string;
|
|
61
|
+
version?: string | undefined;
|
|
62
|
+
action: "delete_thread_properties";
|
|
63
|
+
payload: {
|
|
64
|
+
chat_id: string;
|
|
65
|
+
thread_id: string;
|
|
66
|
+
properties: Record<string, string[]>;
|
|
67
|
+
};
|
|
68
|
+
}, {
|
|
69
|
+
action: A;
|
|
70
|
+
}> | Extract<{
|
|
71
|
+
request_id: string;
|
|
72
|
+
version?: string | undefined;
|
|
73
|
+
action: "get_chat";
|
|
74
|
+
payload: {
|
|
75
|
+
chat_id: string;
|
|
76
|
+
thread_id?: string | undefined;
|
|
77
|
+
};
|
|
78
|
+
}, {
|
|
79
|
+
action: A;
|
|
80
|
+
}> | Extract<{
|
|
81
|
+
request_id: string;
|
|
82
|
+
version?: string | undefined;
|
|
83
|
+
action: "get_customer";
|
|
84
|
+
payload: {
|
|
85
|
+
[x: string]: never;
|
|
86
|
+
};
|
|
87
|
+
}, {
|
|
88
|
+
action: A;
|
|
89
|
+
}> | Extract<{
|
|
90
|
+
request_id: string;
|
|
91
|
+
version?: string | undefined;
|
|
92
|
+
action: "get_form";
|
|
93
|
+
payload: {
|
|
94
|
+
type: import("./types/serverEntities").FormType;
|
|
95
|
+
group_id: number;
|
|
96
|
+
};
|
|
97
|
+
}, {
|
|
98
|
+
action: A;
|
|
99
|
+
}> | Extract<{
|
|
100
|
+
request_id: string;
|
|
101
|
+
version?: string | undefined;
|
|
102
|
+
action: "get_predicted_agent";
|
|
103
|
+
payload: {
|
|
104
|
+
group_id?: number | undefined;
|
|
105
|
+
};
|
|
106
|
+
}, {
|
|
107
|
+
action: A;
|
|
108
|
+
}> | Extract<{
|
|
109
|
+
request_id: string;
|
|
110
|
+
version?: string | undefined;
|
|
111
|
+
action: "get_url_info";
|
|
112
|
+
payload: {
|
|
113
|
+
url: string;
|
|
114
|
+
};
|
|
115
|
+
}, {
|
|
116
|
+
action: A;
|
|
117
|
+
}> | Extract<{
|
|
118
|
+
request_id: string;
|
|
119
|
+
version?: string | undefined;
|
|
120
|
+
action: "list_chats";
|
|
121
|
+
payload: {
|
|
122
|
+
limit?: number | undefined;
|
|
123
|
+
page_id?: string | undefined;
|
|
124
|
+
};
|
|
125
|
+
}, {
|
|
126
|
+
action: A;
|
|
127
|
+
}> | Extract<{
|
|
128
|
+
request_id: string;
|
|
129
|
+
version?: string | undefined;
|
|
130
|
+
action: "list_group_statuses";
|
|
131
|
+
payload: {
|
|
132
|
+
group_ids: number[];
|
|
133
|
+
} | {
|
|
134
|
+
all: true;
|
|
135
|
+
};
|
|
136
|
+
}, {
|
|
137
|
+
action: A;
|
|
138
|
+
}> | Extract<{
|
|
139
|
+
request_id: string;
|
|
140
|
+
version?: string | undefined;
|
|
141
|
+
action: "list_threads";
|
|
142
|
+
payload: {
|
|
143
|
+
chat_id: string;
|
|
144
|
+
sort_order?: "asc" | "desc" | undefined;
|
|
145
|
+
limit?: number | undefined;
|
|
146
|
+
page_id?: string | undefined;
|
|
147
|
+
min_events_count?: number | undefined;
|
|
148
|
+
};
|
|
149
|
+
}, {
|
|
150
|
+
action: A;
|
|
151
|
+
}> | Extract<{
|
|
152
|
+
request_id: string;
|
|
153
|
+
version?: string | undefined;
|
|
154
|
+
action: "login";
|
|
155
|
+
payload: {
|
|
156
|
+
token: string;
|
|
157
|
+
customer?: {
|
|
158
|
+
avatar?: string | undefined;
|
|
159
|
+
email?: string | undefined;
|
|
160
|
+
name?: string | undefined;
|
|
161
|
+
fields?: import("./types/serverEntities").CustomerSessionFields | undefined;
|
|
162
|
+
} | undefined;
|
|
163
|
+
customer_page?: {
|
|
164
|
+
url?: string | undefined;
|
|
165
|
+
title?: string | undefined;
|
|
166
|
+
} | undefined;
|
|
167
|
+
customer_side_storage?: import("./types/serverEntities").SideStorage | undefined;
|
|
168
|
+
is_mobile?: boolean | undefined;
|
|
169
|
+
group_id?: number | undefined;
|
|
170
|
+
referrer?: string | undefined;
|
|
171
|
+
pushes?: Record<string, readonly import("./types").SubscribablePush[]> | undefined;
|
|
172
|
+
};
|
|
173
|
+
}, {
|
|
174
|
+
action: A;
|
|
175
|
+
}> | Extract<{
|
|
176
|
+
request_id: string;
|
|
177
|
+
version?: string | undefined;
|
|
178
|
+
action: "mark_events_as_seen";
|
|
179
|
+
payload: {
|
|
180
|
+
chat_id: string;
|
|
181
|
+
seen_up_to: string;
|
|
182
|
+
};
|
|
183
|
+
}, {
|
|
184
|
+
action: A;
|
|
185
|
+
}> | Extract<{
|
|
186
|
+
request_id: string;
|
|
187
|
+
version?: string | undefined;
|
|
188
|
+
action: "resume_chat";
|
|
189
|
+
payload: {
|
|
190
|
+
active?: boolean | undefined;
|
|
191
|
+
chat: {
|
|
192
|
+
id: string;
|
|
193
|
+
access?: import("./types/serverEntities").Access | undefined;
|
|
194
|
+
properties?: import("./types/serverEntities").Properties | undefined;
|
|
195
|
+
thread?: {
|
|
196
|
+
events?: import("./types/serverEntities").RequestBodyEvent[] | undefined;
|
|
197
|
+
properties?: import("./types/serverEntities").Properties | undefined;
|
|
198
|
+
} | undefined;
|
|
199
|
+
};
|
|
200
|
+
continuous?: boolean | undefined;
|
|
201
|
+
};
|
|
202
|
+
}, {
|
|
203
|
+
action: A;
|
|
204
|
+
}> | Extract<{
|
|
205
|
+
request_id: string;
|
|
206
|
+
version?: string | undefined;
|
|
207
|
+
action: "send_event";
|
|
208
|
+
payload: {
|
|
209
|
+
chat_id: string;
|
|
210
|
+
event: import("./types/serverEntities").RequestBodyEvent;
|
|
211
|
+
attach_to_last_thread?: boolean | undefined;
|
|
212
|
+
};
|
|
213
|
+
}, {
|
|
214
|
+
action: A;
|
|
215
|
+
}> | Extract<{
|
|
216
|
+
request_id: string;
|
|
217
|
+
version?: string | undefined;
|
|
218
|
+
action: "send_rich_message_postback";
|
|
219
|
+
payload: {
|
|
220
|
+
chat_id: string;
|
|
221
|
+
thread_id: string;
|
|
222
|
+
event_id: string;
|
|
223
|
+
postback: {
|
|
224
|
+
id: string;
|
|
225
|
+
toggled: boolean;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
}, {
|
|
229
|
+
action: A;
|
|
230
|
+
}> | Extract<{
|
|
231
|
+
request_id: string;
|
|
232
|
+
version?: string | undefined;
|
|
233
|
+
action: "send_sneak_peek";
|
|
234
|
+
payload: {
|
|
235
|
+
chat_id: string;
|
|
236
|
+
sneak_peek_text: string;
|
|
237
|
+
};
|
|
238
|
+
}, {
|
|
239
|
+
action: A;
|
|
240
|
+
}> | Extract<{
|
|
241
|
+
request_id: string;
|
|
242
|
+
version?: string | undefined;
|
|
243
|
+
action: "set_customer_session_fields";
|
|
244
|
+
payload: {
|
|
245
|
+
session_fields: import("./types/serverEntities").CustomerSessionFields;
|
|
246
|
+
};
|
|
247
|
+
}, {
|
|
248
|
+
action: A;
|
|
249
|
+
}> | Extract<{
|
|
250
|
+
request_id: string;
|
|
251
|
+
version?: string | undefined;
|
|
252
|
+
action: "start_chat";
|
|
253
|
+
payload: {
|
|
254
|
+
active?: boolean | undefined;
|
|
255
|
+
chat?: {
|
|
256
|
+
access?: import("./types/serverEntities").Access | undefined;
|
|
257
|
+
properties?: import("./types/serverEntities").Properties | undefined;
|
|
258
|
+
thread?: {
|
|
259
|
+
events?: import("./types/serverEntities").RequestBodyEvent[] | undefined;
|
|
260
|
+
properties?: import("./types/serverEntities").Properties | undefined;
|
|
261
|
+
} | undefined;
|
|
262
|
+
} | undefined;
|
|
263
|
+
continuous?: boolean | undefined;
|
|
264
|
+
};
|
|
265
|
+
}, {
|
|
266
|
+
action: A;
|
|
267
|
+
}> | Extract<{
|
|
268
|
+
request_id: string;
|
|
269
|
+
version?: string | undefined;
|
|
270
|
+
action: "update_chat_properties";
|
|
271
|
+
payload: {
|
|
272
|
+
id: string;
|
|
273
|
+
properties: import("./types/serverEntities").Properties;
|
|
274
|
+
};
|
|
275
|
+
}, {
|
|
276
|
+
action: A;
|
|
277
|
+
}> | Extract<{
|
|
278
|
+
request_id: string;
|
|
279
|
+
version?: string | undefined;
|
|
280
|
+
action: "update_customer_page";
|
|
281
|
+
payload: {
|
|
282
|
+
url: string;
|
|
283
|
+
title?: string | undefined;
|
|
284
|
+
};
|
|
285
|
+
}, {
|
|
286
|
+
action: A;
|
|
287
|
+
}> | Extract<{
|
|
288
|
+
request_id: string;
|
|
289
|
+
version?: string | undefined;
|
|
290
|
+
action: "update_customer";
|
|
291
|
+
payload: {
|
|
292
|
+
avatar?: string | undefined;
|
|
293
|
+
name?: string | undefined;
|
|
294
|
+
email?: string | undefined;
|
|
295
|
+
fields?: import("./types/serverEntities").CustomerSessionFields | undefined;
|
|
296
|
+
};
|
|
297
|
+
}, {
|
|
298
|
+
action: A;
|
|
299
|
+
}> | Extract<{
|
|
300
|
+
request_id: string;
|
|
301
|
+
version?: string | undefined;
|
|
302
|
+
action: "update_event_properties";
|
|
303
|
+
payload: {
|
|
304
|
+
chat_id: string;
|
|
305
|
+
thread_id: string;
|
|
306
|
+
event_id: string;
|
|
307
|
+
properties: import("./types/serverEntities").Properties;
|
|
308
|
+
};
|
|
309
|
+
}, {
|
|
310
|
+
action: A;
|
|
311
|
+
}> | Extract<{
|
|
312
|
+
request_id: string;
|
|
313
|
+
version?: string | undefined;
|
|
314
|
+
action: "update_thread_properties";
|
|
315
|
+
payload: {
|
|
316
|
+
chat_id: string;
|
|
317
|
+
thread_id: string;
|
|
318
|
+
properties: import("./types/serverEntities").Properties;
|
|
319
|
+
};
|
|
320
|
+
}, {
|
|
321
|
+
action: A;
|
|
322
|
+
}>)["payload"], source?: 'login') => Actions.SendRequestAction;
|
|
323
|
+
export declare const sendEvent: ({ chatId, event, attachToLastThread, }: {
|
|
324
|
+
chatId: string;
|
|
325
|
+
event: RequestBodyEvent;
|
|
326
|
+
attachToLastThread?: boolean | undefined;
|
|
327
|
+
}) => Actions.SendRequestAction;
|
|
328
|
+
export declare const setChatActive: (id: string, active: boolean) => Actions.SetChatActiveAction;
|
|
329
|
+
export declare const setSelfId: (id: string) => Actions.SetSelfIdAction;
|
|
330
|
+
export declare const socketDisconnected: () => Actions.SocketDisconnectedAction;
|
|
331
|
+
//# sourceMappingURL=actions.d.ts.map
|