@wildix/xbees-connect 1.3.14 → 1.3.16-beta.1

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 CHANGED
@@ -182,6 +182,10 @@ Returns `true` when the integration is launched in fullsize mode (`f`).
182
182
 
183
183
  Returns `true` when the integration is opened for activation/authorization purposes only (URL contains the `authorize` parameter).
184
184
 
185
+ #### `isCloudBackendEnabled(): boolean`
186
+
187
+ Returns `true` when cloud backend is enabled for this integration. Reads the `cbi` URL parameter at construction time (`cbi=1` → `true`, `cbi=0` or missing → `false`).
188
+
185
189
  ---
186
190
 
187
191
  ### Context
@@ -246,6 +250,14 @@ Starts listening for the event fired when a call starts. Returns an unsubscribe
246
250
 
247
251
  Starts listening for the event fired when a call ends. Returns an unsubscribe function.
248
252
 
253
+ #### `onDaemonCallStarted(callback: (info: IPayloadDaemonCallStarted) => void): RemoveEventListener`
254
+
255
+ Starts listening for daemon-specific call start events. This event is independent from `onCallStarted` and carries daemon payload.
256
+
257
+ #### `onDaemonCallFinished(callback: (info: IPayloadDaemonCallFinished) => void): RemoveEventListener`
258
+
259
+ Starts listening for daemon-specific call finish events. This event is independent from `onCallEnded` and carries daemon payload.
260
+
249
261
  ---
250
262
 
251
263
  ### Contacts
@@ -342,10 +354,14 @@ Starts listening for redirect query events. Fires when the user opens the app vi
342
354
 
343
355
  #### `onStartRedirectToEntityPage(callback: Callback<EventType.START_REDIRECT_TO_ENTITY_PAGE>): RemoveEventListener`
344
356
 
357
+ Deprecated. Use `addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
358
+
345
359
  Starts listening for the event that signals x-bees is navigating to an entity page (e.g. conversation). The payload contains `{ conversationId, pageName }`. Returns an unsubscribe function.
346
360
 
347
361
  #### `onCancelRedirectToEntityPage(callback: Callback<EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE>): RemoveEventListener`
348
362
 
363
+ Deprecated. Use `addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
364
+
349
365
  Starts listening for the event that signals a pending redirect to an entity page was cancelled. The payload contains `{ conversationId }`. Returns an unsubscribe function.
350
366
 
351
367
  ---
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.3.14",
3
+ "version": "1.3.16-beta.1",
4
4
  "description": "This library provides easy communication between x-bees and integrated web applications",
5
5
  "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
6
  "homepage": "",
@@ -52,6 +52,7 @@ class Client {
52
52
  variant = null;
53
53
  startPage = null;
54
54
  product = null;
55
+ cloudBackendEnabled;
55
56
  localStorageManager = LocalStorageManager_1.default.getInstance();
56
57
  constructor() {
57
58
  const params = (0, getUrlSearchParamsMap_1.getUrlSearchParamsMap)();
@@ -62,6 +63,7 @@ class Client {
62
63
  this.needAuthorize = params.has(enums_1.UrlParams.AUTHORIZE);
63
64
  this.startPage = params.get(enums_1.UrlParams.START_PAGE);
64
65
  this.product = params.get(enums_1.UrlParams.PRODUCT);
66
+ this.cloudBackendEnabled = params.get(enums_1.UrlParams.CLOUD_BACKEND_ENABLED) === '1';
65
67
  this.integrationId = params.get(enums_1.UrlParams.ID)?.split('-')[0] ?? '';
66
68
  // @ts-expect-error window.ReactNativeWebView will be provided by ReactNative WebView
67
69
  this.isParentReactNativeWebView = !!window.ReactNativeWebView;
@@ -239,6 +241,9 @@ class Client {
239
241
  isActivationOnly() {
240
242
  return this.needAuthorize;
241
243
  }
244
+ isCloudBackendEnabled() {
245
+ return this.cloudBackendEnabled;
246
+ }
242
247
  getContext() {
243
248
  return this.sendAsync({ type: enums_1.ClientEventType.CONTEXT });
244
249
  }
@@ -552,11 +557,23 @@ class Client {
552
557
  onContactRefresh(callback) {
553
558
  return this.addEventListener(enums_1.EventType.CONTACT_REFRESH, callback);
554
559
  }
560
+ /**
561
+ * @deprecated Use `addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
562
+ */
555
563
  onStartRedirectToEntityPage(callback) {
556
564
  return this.addEventListener(enums_1.EventType.START_REDIRECT_TO_ENTITY_PAGE, callback);
557
565
  }
566
+ /**
567
+ * @deprecated Use `addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
568
+ */
558
569
  onCancelRedirectToEntityPage(callback) {
559
570
  return this.addEventListener(enums_1.EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback);
560
571
  }
572
+ onDaemonCallStarted(callback) {
573
+ return this.addEventListener(enums_1.EventType.DAEMON_CALL_SESSION_STARTED, callback);
574
+ }
575
+ onDaemonCallFinished(callback) {
576
+ return this.addEventListener(enums_1.EventType.DAEMON_CALL_SESSION_FINISHED, callback);
577
+ }
561
578
  }
562
579
  exports.Client = Client;
@@ -8,6 +8,8 @@ var EventType;
8
8
  EventType["GET_LOOK_UP_AND_MATCH_BATCH"] = "xBeesGetLookUpAndMatchBatch";
9
9
  EventType["ADD_CALL"] = "xBeesAddCall";
10
10
  EventType["TERMINATE_CALL"] = "xBeesTerminateCall";
11
+ EventType["DAEMON_CALL_SESSION_STARTED"] = "xBeesDaemonCallSessionStarted";
12
+ EventType["DAEMON_CALL_SESSION_FINISHED"] = "xBeesDaemonCallSessionFinished";
11
13
  EventType["USE_THEME"] = "xBeesUseTheme";
12
14
  EventType["PBX_TOKEN"] = "xBeesPbxToken";
13
15
  EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
@@ -72,6 +74,7 @@ var UrlParams;
72
74
  UrlParams["AUTHORIZE"] = "a";
73
75
  UrlParams["START_PAGE"] = "sp";
74
76
  UrlParams["PRODUCT"] = "p";
77
+ UrlParams["CLOUD_BACKEND_ENABLED"] = "cbi";
75
78
  })(UrlParams || (exports.UrlParams = UrlParams = {}));
76
79
  var StartPage;
77
80
  (function (StartPage) {
@@ -19,6 +19,7 @@ class ClientParams {
19
19
  userExtension = null;
20
20
  startPage = null;
21
21
  product = null;
22
+ cloudBackendEnabled;
22
23
  constructor() {
23
24
  const params = (0, getUrlSearchParamsMap_1.getUrlSearchParamsMap)();
24
25
  this.iframeId = params.get(enums_1.UrlParams.ID);
@@ -30,6 +31,7 @@ class ClientParams {
30
31
  this.needAuthorize = params.has(enums_1.UrlParams.AUTHORIZE);
31
32
  this.startPage = params.get(enums_1.UrlParams.START_PAGE);
32
33
  this.product = params.get(enums_1.UrlParams.PRODUCT);
34
+ this.cloudBackendEnabled = params.get(enums_1.UrlParams.CLOUD_BACKEND_ENABLED) === '1';
33
35
  }
34
36
  toString() {
35
37
  const { userToken, ...props } = this;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.3.14",
3
+ "version": "1.3.16-beta.1",
4
4
  "description": "This library provides easy communication between x-bees and integrated web applications",
5
5
  "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
6
  "homepage": "",
@@ -46,6 +46,7 @@ export class Client {
46
46
  variant = null;
47
47
  startPage = null;
48
48
  product = null;
49
+ cloudBackendEnabled;
49
50
  localStorageManager = LocalStorageManager.getInstance();
50
51
  constructor() {
51
52
  const params = getUrlSearchParamsMap();
@@ -56,6 +57,7 @@ export class Client {
56
57
  this.needAuthorize = params.has(UrlParams.AUTHORIZE);
57
58
  this.startPage = params.get(UrlParams.START_PAGE);
58
59
  this.product = params.get(UrlParams.PRODUCT);
60
+ this.cloudBackendEnabled = params.get(UrlParams.CLOUD_BACKEND_ENABLED) === '1';
59
61
  this.integrationId = params.get(UrlParams.ID)?.split('-')[0] ?? '';
60
62
  // @ts-expect-error window.ReactNativeWebView will be provided by ReactNative WebView
61
63
  this.isParentReactNativeWebView = !!window.ReactNativeWebView;
@@ -233,6 +235,9 @@ export class Client {
233
235
  isActivationOnly() {
234
236
  return this.needAuthorize;
235
237
  }
238
+ isCloudBackendEnabled() {
239
+ return this.cloudBackendEnabled;
240
+ }
236
241
  getContext() {
237
242
  return this.sendAsync({ type: ClientEventType.CONTEXT });
238
243
  }
@@ -546,10 +551,22 @@ export class Client {
546
551
  onContactRefresh(callback) {
547
552
  return this.addEventListener(EventType.CONTACT_REFRESH, callback);
548
553
  }
554
+ /**
555
+ * @deprecated Use `addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
556
+ */
549
557
  onStartRedirectToEntityPage(callback) {
550
558
  return this.addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback);
551
559
  }
560
+ /**
561
+ * @deprecated Use `addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
562
+ */
552
563
  onCancelRedirectToEntityPage(callback) {
553
564
  return this.addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback);
554
565
  }
566
+ onDaemonCallStarted(callback) {
567
+ return this.addEventListener(EventType.DAEMON_CALL_SESSION_STARTED, callback);
568
+ }
569
+ onDaemonCallFinished(callback) {
570
+ return this.addEventListener(EventType.DAEMON_CALL_SESSION_FINISHED, callback);
571
+ }
555
572
  }
@@ -5,6 +5,8 @@ export var EventType;
5
5
  EventType["GET_LOOK_UP_AND_MATCH_BATCH"] = "xBeesGetLookUpAndMatchBatch";
6
6
  EventType["ADD_CALL"] = "xBeesAddCall";
7
7
  EventType["TERMINATE_CALL"] = "xBeesTerminateCall";
8
+ EventType["DAEMON_CALL_SESSION_STARTED"] = "xBeesDaemonCallSessionStarted";
9
+ EventType["DAEMON_CALL_SESSION_FINISHED"] = "xBeesDaemonCallSessionFinished";
8
10
  EventType["USE_THEME"] = "xBeesUseTheme";
9
11
  EventType["PBX_TOKEN"] = "xBeesPbxToken";
10
12
  EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
@@ -69,6 +71,7 @@ export var UrlParams;
69
71
  UrlParams["AUTHORIZE"] = "a";
70
72
  UrlParams["START_PAGE"] = "sp";
71
73
  UrlParams["PRODUCT"] = "p";
74
+ UrlParams["CLOUD_BACKEND_ENABLED"] = "cbi";
72
75
  })(UrlParams || (UrlParams = {}));
73
76
  export var StartPage;
74
77
  (function (StartPage) {
@@ -17,6 +17,7 @@ export default class ClientParams {
17
17
  userExtension = null;
18
18
  startPage = null;
19
19
  product = null;
20
+ cloudBackendEnabled;
20
21
  constructor() {
21
22
  const params = getUrlSearchParamsMap();
22
23
  this.iframeId = params.get(UrlParams.ID);
@@ -28,6 +29,7 @@ export default class ClientParams {
28
29
  this.needAuthorize = params.has(UrlParams.AUTHORIZE);
29
30
  this.startPage = params.get(UrlParams.START_PAGE);
30
31
  this.product = params.get(UrlParams.PRODUCT);
32
+ this.cloudBackendEnabled = params.get(UrlParams.CLOUD_BACKEND_ENABLED) === '1';
31
33
  }
32
34
  toString() {
33
35
  const { userToken, ...props } = this;
@@ -29,6 +29,7 @@ export declare class Client implements ConnectClient {
29
29
  private readonly variant;
30
30
  private readonly startPage;
31
31
  private readonly product;
32
+ private readonly cloudBackendEnabled;
32
33
  private readonly localStorageManager;
33
34
  constructor();
34
35
  private sendAsync;
@@ -66,6 +67,7 @@ export declare class Client implements ConnectClient {
66
67
  showsUi(): boolean;
67
68
  isFullsize(): boolean;
68
69
  isActivationOnly(): boolean;
70
+ isCloudBackendEnabled(): boolean;
69
71
  getContext(): Promise<Message<ClientEventType.CONTEXT>>;
70
72
  getCurrentContact(): Promise<Message<ClientEventType.CURRENT_CONTACT>>;
71
73
  getCurrentConversation(): Promise<Message<ClientEventType.CURRENT_CONVERSATION>>;
@@ -122,6 +124,14 @@ export declare class Client implements ConnectClient {
122
124
  setChatToOpen(chatId: string): void;
123
125
  onContactWeightUpdate(callback: Callback<EventType.CONTACT_WEIGHT_UPDATE>): RemoveEventListener;
124
126
  onContactRefresh(callback: Callback<EventType.CONTACT_REFRESH>): RemoveEventListener;
127
+ /**
128
+ * @deprecated Use `addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
129
+ */
125
130
  onStartRedirectToEntityPage(callback: Callback<EventType.START_REDIRECT_TO_ENTITY_PAGE>): RemoveEventListener;
131
+ /**
132
+ * @deprecated Use `addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
133
+ */
126
134
  onCancelRedirectToEntityPage(callback: Callback<EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE>): RemoveEventListener;
135
+ onDaemonCallStarted(callback: Callback<EventType.DAEMON_CALL_SESSION_STARTED>): RemoveEventListener;
136
+ onDaemonCallFinished(callback: Callback<EventType.DAEMON_CALL_SESSION_FINISHED>): RemoveEventListener;
127
137
  }
@@ -4,6 +4,8 @@ export declare enum EventType {
4
4
  GET_LOOK_UP_AND_MATCH_BATCH = "xBeesGetLookUpAndMatchBatch",
5
5
  ADD_CALL = "xBeesAddCall",
6
6
  TERMINATE_CALL = "xBeesTerminateCall",
7
+ DAEMON_CALL_SESSION_STARTED = "xBeesDaemonCallSessionStarted",
8
+ DAEMON_CALL_SESSION_FINISHED = "xBeesDaemonCallSessionFinished",
7
9
  USE_THEME = "xBeesUseTheme",
8
10
  PBX_TOKEN = "xBeesPbxToken",
9
11
  REDIRECT_QUERY = "xBeesRedirectQuery",
@@ -65,7 +67,8 @@ export declare enum UrlParams {
65
67
  REFERRER = "r",
66
68
  AUTHORIZE = "a",
67
69
  START_PAGE = "sp",
68
- PRODUCT = "p"
70
+ PRODUCT = "p",
71
+ CLOUD_BACKEND_ENABLED = "cbi"
69
72
  }
70
73
  export declare enum StartPage {
71
74
  CREATE_CONTACT = "createContact"
@@ -12,6 +12,7 @@ export default class ClientParams {
12
12
  readonly userExtension: string | null;
13
13
  readonly startPage: StartPage | null;
14
14
  readonly product: Product | null;
15
+ readonly cloudBackendEnabled: boolean;
15
16
  constructor();
16
17
  toString(): string;
17
18
  }
@@ -79,6 +79,9 @@ export interface ConnectClient {
79
79
  * dialog which leads to integration be activated
80
80
  * */
81
81
  isActivationOnly: () => boolean;
82
+ /**
83
+ * Determines whether cloud backend is enabled for this integration (URL parameter `cbi=1`). */
84
+ isCloudBackendEnabled: () => boolean;
82
85
  /**
83
86
  * Retrieves current x-bees context data */
84
87
  getContext: () => Promise<ResponseMessage<ClientEventType.CONTEXT>>;
@@ -167,6 +170,12 @@ export interface ConnectClient {
167
170
  /**
168
171
  * Starts listen for the events of ending the call and handle with the provided callback */
169
172
  onCallEnded: (callback: Callback<EventType.TERMINATE_CALL>) => RemoveEventListener;
173
+ /**
174
+ * Starts listening for daemon event when a call is started with daemon-specific payload */
175
+ onDaemonCallStarted: (callback: Callback<EventType.DAEMON_CALL_SESSION_STARTED>) => RemoveEventListener;
176
+ /**
177
+ * Starts listening for daemon event when a call is finished with daemon-specific payload */
178
+ onDaemonCallFinished: (callback: Callback<EventType.DAEMON_CALL_SESSION_FINISHED>) => RemoveEventListener;
170
179
  /**
171
180
  * Starts listen for redirect query message which fires when user opens app with deeplink to integration */
172
181
  onRedirectQuery: (callback: Callback<EventType.REDIRECT_QUERY>) => RemoveEventListener;
@@ -238,10 +247,12 @@ export interface ConnectClient {
238
247
  onContactRefresh: (callback: Callback<EventType.CONTACT_REFRESH>) => RemoveEventListener;
239
248
  /**
240
249
  * Saves data about redirect to entity page to integration storage
250
+ * @deprecated Use `addEventListener(EventType.START_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
241
251
  */
242
252
  onStartRedirectToEntityPage: (callback: Callback<EventType.START_REDIRECT_TO_ENTITY_PAGE>) => RemoveEventListener;
243
253
  /**
244
254
  * Removes data about redirect to entity page from integration storage
255
+ * @deprecated Use `addEventListener(EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE, callback)` instead.
245
256
  */
246
257
  onCancelRedirectToEntityPage: (callback: Callback<EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE>) => RemoveEventListener;
247
258
  }
@@ -2,15 +2,17 @@ import { ClientEventType, EventType } from '../src/enums';
2
2
  import { AvailableContactData } from './AvailableContactData';
3
3
  import { ContactQuery } from './Contact';
4
4
  import { Message, MessageType } from './Message';
5
- import { IntegrationProxyRequest, IntegrationProxyResponse, IPayloadAutoSuggestResult, IPayloadBatchContactsMatchResult, IPayloadBatchContactsMatchResultError, IPayloadCallStart, IPayloadCallStartedInfo, IPayloadCancelRedirectToEntityPage, IPayloadContactMatchResult, IPayloadContactMatchResultNotFound, IPayloadContactResult, IPayloadContactWeightUpdate, IPayloadContextResult, IPayloadConversationResult, IPayloadCustomEvent, IPayloadSetChatToOpen, IPayloadDropdownVisibility, IPayloadGetFromStorage, IPayloadSaveToStorage, IPayloadSendAnalytics, IPayloadStartRedirectToEntityPage, IPayloadTechSupport, IPayloadThemeChange, IPayloadToast, IPayloadVersion, IPayloadViewPort } from './Payload';
5
+ import { IntegrationProxyRequest, IntegrationProxyResponse, IPayloadAutoSuggestResult, IPayloadBatchContactsMatchResult, IPayloadBatchContactsMatchResultError, IPayloadCallStart, IPayloadCallStartedInfo, IPayloadCancelRedirectToEntityPage, IPayloadContactMatchResult, IPayloadContactMatchResultNotFound, IPayloadContactResult, IPayloadContactWeightUpdate, IPayloadContextResult, IPayloadConversationResult, IPayloadCustomEvent, IPayloadSetChatToOpen, IPayloadDaemonCallFinished, IPayloadDaemonCallStarted, IPayloadDropdownVisibility, IPayloadGetFromStorage, IPayloadSaveToStorage, IPayloadSendAnalytics, IPayloadStartRedirectToEntityPage, IPayloadTechSupport, IPayloadThemeChange, IPayloadToast, IPayloadVersion, IPayloadViewPort } from './Payload';
6
6
  import { SupportedPlatformVariant } from './Platform';
7
7
  import { XBeesUser } from './XBeesUser';
8
- export type EventPayload<T extends MessageType> = T extends EventType.GET_CONTACTS_AUTO_SUGGEST ? string : T extends ClientEventType.CONTACTS_AUTO_SUGGEST ? IPayloadAutoSuggestResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH | ClientEventType.CONTACT_CREATE_OR_UPDATE | ClientEventType.CONTACT_MATCH_UPDATE ? IPayloadContactMatchResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH_NOT_FOUND ? IPayloadContactMatchResultNotFound : T extends ClientEventType.LOOKUP_AND_MATCH_BATCH_ERROR ? IPayloadBatchContactsMatchResultError : T extends ClientEventType.CONTEXT ? IPayloadContextResult : T extends ClientEventType.CURRENT_CONTACT ? IPayloadContactResult : T extends ClientEventType.CURRENT_CONVERSATION ? IPayloadConversationResult : T extends EventType.ADD_CALL ? IPayloadCallStartedInfo : T extends ClientEventType.START_CALL ? IPayloadCallStart : T extends ClientEventType.READY ? IPayloadVersion : T extends ClientEventType.VIEW_PORT ? IPayloadViewPort : T extends ClientEventType.THEME ? IPayloadThemeChange : T extends EventType.USE_THEME ? IPayloadThemeChange : T extends ClientEventType.TOAST ? IPayloadToast : T extends ClientEventType.SEND_ANALYTICS ? IPayloadSendAnalytics : T extends ClientEventType.SEND_TECHNICAL_SUPPORT_INFORMATION ? IPayloadTechSupport : T extends EventType.PBX_TOKEN ? string : T extends ClientEventType.TOKEN ? string : T extends ClientEventType.TO_CLIPBOARD ? string : T extends EventType.GET_LOOK_UP_AND_MATCH ? ContactQuery : T extends EventType.GET_LOOK_UP_AND_MATCH_BATCH ? ContactQuery[] : T extends EventType.VISIBILITY ? boolean : T extends ClientEventType.USER ? XBeesUser : T extends ClientEventType.SAVE_TO_STORAGE ? IPayloadSaveToStorage : T extends ClientEventType.GET_FROM_STORAGE ? IPayloadGetFromStorage : T extends ClientEventType.REMOVE_FROM_STORAGE ? IPayloadGetFromStorage : T extends ClientEventType.AVAILABLE_CONTACT_DATA ? AvailableContactData | null : T extends ClientEventType.LOOK_UP_AND_MATCH_BATCH_CONTACTS ? IPayloadBatchContactsMatchResult : T extends ClientEventType.DROPDOWN_VISIBILITY ? IPayloadDropdownVisibility : T extends ClientEventType.CUSTOM_EVENT ? IPayloadCustomEvent : T extends ClientEventType.SET_CHAT_TO_OPEN ? IPayloadSetChatToOpen : T extends EventType.START_REDIRECT_TO_ENTITY_PAGE ? IPayloadStartRedirectToEntityPage : T extends EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE ? IPayloadCancelRedirectToEntityPage : T extends EventType.GET_INTEGRATION_PROXY_REQUEST ? IntegrationProxyRequest : T extends ClientEventType.INTEGRATION_PROXY_RESPONSE ? IntegrationProxyResponse : T extends ClientEventType.INTEGRATION_PROXY_REQUEST_IS_SUPPORTED ? undefined : never;
8
+ export type EventPayload<T extends MessageType> = T extends EventType.GET_CONTACTS_AUTO_SUGGEST ? string : T extends ClientEventType.CONTACTS_AUTO_SUGGEST ? IPayloadAutoSuggestResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH | ClientEventType.CONTACT_CREATE_OR_UPDATE | ClientEventType.CONTACT_MATCH_UPDATE ? IPayloadContactMatchResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH_NOT_FOUND ? IPayloadContactMatchResultNotFound : T extends ClientEventType.LOOKUP_AND_MATCH_BATCH_ERROR ? IPayloadBatchContactsMatchResultError : T extends ClientEventType.CONTEXT ? IPayloadContextResult : T extends ClientEventType.CURRENT_CONTACT ? IPayloadContactResult : T extends ClientEventType.CURRENT_CONVERSATION ? IPayloadConversationResult : T extends EventType.ADD_CALL ? IPayloadCallStartedInfo : T extends ClientEventType.START_CALL ? IPayloadCallStart : T extends ClientEventType.READY ? IPayloadVersion : T extends ClientEventType.VIEW_PORT ? IPayloadViewPort : T extends ClientEventType.THEME ? IPayloadThemeChange : T extends EventType.USE_THEME ? IPayloadThemeChange : T extends ClientEventType.TOAST ? IPayloadToast : T extends ClientEventType.SEND_ANALYTICS ? IPayloadSendAnalytics : T extends ClientEventType.SEND_TECHNICAL_SUPPORT_INFORMATION ? IPayloadTechSupport : T extends EventType.PBX_TOKEN ? string : T extends ClientEventType.TOKEN ? string : T extends ClientEventType.TO_CLIPBOARD ? string : T extends EventType.GET_LOOK_UP_AND_MATCH ? ContactQuery : T extends EventType.GET_LOOK_UP_AND_MATCH_BATCH ? ContactQuery[] : T extends EventType.VISIBILITY ? boolean : T extends ClientEventType.USER ? XBeesUser : T extends ClientEventType.SAVE_TO_STORAGE ? IPayloadSaveToStorage : T extends ClientEventType.GET_FROM_STORAGE ? IPayloadGetFromStorage : T extends ClientEventType.REMOVE_FROM_STORAGE ? IPayloadGetFromStorage : T extends ClientEventType.AVAILABLE_CONTACT_DATA ? AvailableContactData | null : T extends ClientEventType.LOOK_UP_AND_MATCH_BATCH_CONTACTS ? IPayloadBatchContactsMatchResult : T extends ClientEventType.DROPDOWN_VISIBILITY ? IPayloadDropdownVisibility : T extends ClientEventType.CUSTOM_EVENT ? IPayloadCustomEvent : T extends ClientEventType.SET_CHAT_TO_OPEN ? IPayloadSetChatToOpen : T extends EventType.START_REDIRECT_TO_ENTITY_PAGE ? IPayloadStartRedirectToEntityPage : T extends EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE ? IPayloadCancelRedirectToEntityPage : T extends EventType.GET_INTEGRATION_PROXY_REQUEST ? IntegrationProxyRequest : T extends ClientEventType.INTEGRATION_PROXY_RESPONSE ? IntegrationProxyResponse : T extends ClientEventType.INTEGRATION_PROXY_REQUEST_IS_SUPPORTED ? undefined : T extends EventType.DAEMON_CALL_SESSION_STARTED ? IPayloadDaemonCallStarted : T extends EventType.DAEMON_CALL_SESSION_FINISHED ? IPayloadDaemonCallFinished : never;
9
9
  export type EventPayloadMap = {
10
10
  [EventType.GET_CONTACTS_AUTO_SUGGEST]: string;
11
11
  [EventType.GET_LOOK_UP_AND_MATCH]: ContactQuery;
12
12
  [EventType.GET_LOOK_UP_AND_MATCH_BATCH]: ContactQuery[];
13
13
  [EventType.ADD_CALL]: IPayloadCallStartedInfo;
14
+ [EventType.DAEMON_CALL_SESSION_STARTED]: IPayloadDaemonCallStarted;
15
+ [EventType.DAEMON_CALL_SESSION_FINISHED]: IPayloadDaemonCallFinished;
14
16
  [EventType.USE_THEME]: IPayloadThemeChange;
15
17
  [EventType.PBX_TOKEN]: string;
16
18
  [EventType.VISIBILITY]: boolean;
@@ -26,6 +28,8 @@ export type EventCallbackMap = {
26
28
  [EventType.GET_LOOK_UP_AND_MATCH]: (query: EventPayloadMap[EventType.GET_LOOK_UP_AND_MATCH]) => void;
27
29
  [EventType.GET_LOOK_UP_AND_MATCH_BATCH]: (queries: EventPayloadMap[EventType.GET_LOOK_UP_AND_MATCH_BATCH]) => void;
28
30
  [EventType.ADD_CALL]: (callStartInfo: EventPayloadMap[EventType.ADD_CALL]) => void;
31
+ [EventType.DAEMON_CALL_SESSION_STARTED]: (callStartedInfo: EventPayloadMap[EventType.DAEMON_CALL_SESSION_STARTED]) => void;
32
+ [EventType.DAEMON_CALL_SESSION_FINISHED]: (callFinishedInfo: EventPayloadMap[EventType.DAEMON_CALL_SESSION_FINISHED]) => void;
29
33
  [EventType.USE_THEME]: (theme: EventPayloadMap[EventType.USE_THEME]) => void;
30
34
  [EventType.PBX_TOKEN]: (token: EventPayloadMap[EventType.PBX_TOKEN]) => void;
31
35
  [EventType.VISIBILITY]: (isActive: EventPayloadMap[EventType.VISIBILITY]) => void;
@@ -34,6 +38,8 @@ export type EventCallbackMap = {
34
38
  [EventType.CONTACT_REFRESH]: (id: EventPayloadMap[EventType.CONTACT_REFRESH]) => void;
35
39
  [EventType.START_REDIRECT_TO_ENTITY_PAGE]: (params: EventPayloadMap[EventType.START_REDIRECT_TO_ENTITY_PAGE]) => void;
36
40
  [EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE]: (params: EventPayloadMap[EventType.CANCEL_REDIRECT_TO_ENTITY_PAGE]) => void;
41
+ [EventType.DAEMON_CALL_SESSION_STARTED]: (callStartedInfo: EventPayloadMap[EventType.DAEMON_CALL_SESSION_STARTED]) => void;
42
+ [EventType.DAEMON_CALL_SESSION_FINISHED]: (callFinishedInfo: EventPayloadMap[EventType.DAEMON_CALL_SESSION_FINISHED]) => void;
37
43
  [EventType.GET_INTEGRATION_PROXY_REQUEST]: (request: EventPayloadMap[EventType.GET_INTEGRATION_PROXY_REQUEST]) => void;
38
44
  };
39
45
  export type RawMessageEvent = MessageEvent<string | Message>;
@@ -30,6 +30,16 @@ export interface IPayloadCallStartedInfo {
30
30
  destination: string;
31
31
  video: boolean;
32
32
  }
33
+ export interface IPayloadDaemonCallStarted {
34
+ callId?: string;
35
+ conversationId?: string;
36
+ [key: string]: unknown;
37
+ }
38
+ export interface IPayloadDaemonCallFinished {
39
+ callId?: string;
40
+ conversationId?: string;
41
+ [key: string]: unknown;
42
+ }
33
43
  export interface IPayloadCallStart {
34
44
  phoneNumber: string;
35
45
  }
@@ -7,7 +7,7 @@ export type { JSONArray, JSONObject } from './Json';
7
7
  export type { Listener, RemoveEventListener } from './Listener';
8
8
  export type { Message, MessageIFrameResponse, MessageType, ResponseMessage } from './Message';
9
9
  export type { MessageSender } from './MessageSender';
10
- export type { IntegrationProxyErrorCode, IntegrationProxyRequest, IntegrationProxyResponse, IPayloadAutoSuggestResult, IPayloadCallStart, IPayloadCallStartedInfo, IPayloadCancelRedirectToEntityPage, IPayloadContactMatchResult, IPayloadContactMatchResultNotFound, IPayloadContactResult, IPayloadContextResult, IPayloadConversationResult, IPayloadSendAnalytics, IPayloadSetChatToOpen, IPayloadStartRedirectToEntityPage, IPayloadTechSupport, IPayloadThemeChange, IPayloadToast, IPayloadVersion, IPayloadViewPort, } from './Payload';
10
+ export type { IntegrationProxyErrorCode, IntegrationProxyRequest, IntegrationProxyResponse, IPayloadAutoSuggestResult, IPayloadCallStart, IPayloadCallStartedInfo, IPayloadCancelRedirectToEntityPage, IPayloadContactMatchResult, IPayloadContactMatchResultNotFound, IPayloadContactResult, IPayloadContextResult, IPayloadConversationResult, IPayloadDaemonCallFinished, IPayloadDaemonCallStarted, IPayloadSendAnalytics, IPayloadSetChatToOpen, IPayloadStartRedirectToEntityPage, IPayloadTechSupport, IPayloadThemeChange, IPayloadToast, IPayloadVersion, IPayloadViewPort, } from './Payload';
11
11
  export { SupportedPlatformVariant } from './Platform';
12
12
  export type { IntegrationProxyRequestResolver, LookupAndMatchBatchContactsResolver, LookupAndMatchContactsResolver, Reject, SuggestContactsResolver, } from './Resolver';
13
13
  export type { StorageEventCallback } from './Storage';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.3.14",
3
+ "version": "1.3.16-beta.1",
4
4
  "description": "This library provides easy communication between x-bees and integrated web applications",
5
5
  "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
6
  "homepage": "",