@microsoft/omnichannel-chat-widget 0.1.0-main.3d1c026 → 0.1.0-main.63cfb47

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.
Files changed (139) hide show
  1. package/README.md +227 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +6 -2
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +37 -4
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +11 -6
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  11. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -54
  12. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  13. package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
  14. package/lib/cjs/components/headerstateful/HeaderStateful.js +11 -8
  15. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
  16. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +16 -9
  17. package/lib/cjs/components/livechatwidget/common/endChat.js +102 -54
  18. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  19. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +27 -12
  20. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +105 -20
  21. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +23 -5
  22. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +26 -24
  23. package/lib/cjs/components/livechatwidget/common/startChat.js +113 -54
  24. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  25. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +91 -30
  26. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  27. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  28. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  29. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +28 -11
  30. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +10 -4
  31. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  32. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  33. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  34. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +9 -46
  35. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  36. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  37. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +44 -0
  38. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  39. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +15 -14
  40. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  41. package/lib/cjs/contexts/createReducer.js +13 -10
  42. package/lib/cjs/controller/componentController.js +2 -2
  43. package/lib/cjs/plugins/newMessageEventHandler.js +102 -0
  44. package/lib/esm/assets/Audios.js +1 -0
  45. package/lib/esm/assets/Icons.js +11 -0
  46. package/lib/esm/common/Constants.js +6 -2
  47. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  48. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  49. package/lib/esm/common/telemetry/TelemetryConstants.js +33 -3
  50. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  51. package/lib/esm/common/telemetry/TelemetryManager.js +10 -6
  52. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  53. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -50
  54. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  55. package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
  56. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -9
  57. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  58. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -10
  59. package/lib/esm/components/livechatwidget/common/endChat.js +100 -51
  60. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  61. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +23 -12
  62. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +94 -20
  63. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +20 -4
  64. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +23 -22
  65. package/lib/esm/components/livechatwidget/common/startChat.js +108 -51
  66. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  67. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +85 -29
  68. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  69. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  70. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  71. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -10
  72. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -5
  73. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  74. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  75. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  76. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +7 -44
  77. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  78. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  79. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +31 -0
  80. package/lib/esm/contexts/common/ConversationState.js +3 -2
  81. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +15 -14
  82. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  83. package/lib/esm/contexts/createReducer.js +13 -9
  84. package/lib/esm/controller/componentController.js +2 -2
  85. package/lib/esm/plugins/newMessageEventHandler.js +84 -0
  86. package/lib/types/assets/Audios.d.ts +1 -0
  87. package/lib/types/assets/Icons.d.ts +11 -0
  88. package/lib/types/common/Constants.d.ts +3 -1
  89. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  90. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  91. package/lib/types/common/telemetry/TelemetryConstants.d.ts +23 -1
  92. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
  93. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  94. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  95. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
  96. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  97. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -2
  98. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  99. package/lib/types/components/livechatwidget/common/startChat.d.ts +1 -1
  100. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  101. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  102. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
  103. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  104. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  105. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -0
  106. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  107. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  108. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  109. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  110. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  111. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
  112. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +15 -14
  113. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  114. package/package.json +7 -6
  115. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  116. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  117. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  118. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  119. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  120. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  121. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  122. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  123. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  124. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  125. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  126. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  127. package/lib/esm/assets/assets.d.js +0 -0
  128. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  129. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  130. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  131. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  132. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  133. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  134. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  135. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  136. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  137. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  138. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  139. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -1,4 +1,4 @@
1
- import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
1
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
2
2
  import React, { useEffect, useState } from "react";
3
3
  import { createTimer, setFocusOnElement } from "../../common/utils";
4
4
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
@@ -28,7 +28,7 @@ export const ProactiveChatPaneStateful = props => {
28
28
  type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
29
29
  payload: ConversationState.Closed
30
30
  });
31
- TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
31
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
32
32
  Event: TelemetryEvent.ProactiveChatRejected,
33
33
  ElapsedTimeInMilliseconds: TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed,
34
34
  Description: "Proactive chat invitation timed out."
@@ -51,12 +51,12 @@ export const ProactiveChatPaneStateful = props => {
51
51
  if (state.appStates.proactiveChatStates.proactiveChatInNewWindow) {
52
52
  // TODO: BroadcastService: replace with the sdk broadcast service, when in place
53
53
  const startPopoutChatEvent = {
54
- eventName: "StartPopoutChat"
54
+ eventName: BroadcastEvent.ProactiveChatStartPopoutChat
55
55
  };
56
56
  BroadcastService.postMessage(startPopoutChatEvent);
57
57
  dispatch({
58
- type: LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING,
59
- payload: true
58
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
59
+ payload: ConversationState.Closed
60
60
  });
61
61
  } else if (((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True") {
62
62
  dispatch({
@@ -68,6 +68,10 @@ export const ProactiveChatPaneStateful = props => {
68
68
  payload: ConversationState.OutOfOffice
69
69
  });
70
70
  } else {
71
+ const proactiveChatStarted = {
72
+ eventName: BroadcastEvent.ProactiveChatStartChat
73
+ };
74
+ BroadcastService.postMessage(proactiveChatStarted);
71
75
  await startChat();
72
76
  }
73
77
  },
@@ -14,6 +14,10 @@ export class MockChatSDK {
14
14
  return null;
15
15
  }
16
16
 
17
+ getChatToken() {
18
+ return null;
19
+ }
20
+
17
21
  createChatAdapter() {
18
22
  return new MockAdapter();
19
23
  } // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1,16 +1,6 @@
1
- import { BrowserVendor } from "../../webchatcontroller/enums/BrowserVendor";
1
+ import { ArchiveIcon, AudioIcon, BlankIcon, ExcelIcon, ImageIcon, OneNoteIcon, PDFIcon, PowerpointIcon, VideoIcon, VisioIcon, WordIcon } from "../../../../assets/Icons";
2
2
  import { getBrowserName, isChromiumEdge } from "./BrowserInfo";
3
- import ArchiveIcon from "../../../../assets/icons/archiveIcon.svg";
4
- import AudioIcon from "../../../../assets/icons/audioIcon.svg";
5
- import BlankIcon from "../../../../assets/icons/blankIcon.svg";
6
- import VideoIcon from "../../../../assets/icons/videoIcon.svg";
7
- import ImageIcon from "../../../../assets/icons/imageIcon.svg";
8
- import WordIcon from "../../../../assets/icons/wordIcon.svg";
9
- import OneNoteIcon from "../../../../assets/icons/oneNoteIcon.svg";
10
- import PowerpointIcon from "../../../../assets/icons/powerpointIcon.svg";
11
- import VisioIcon from "../../../../assets/icons/visioIcon.svg";
12
- import PDFIcon from "../../../../assets/icons/pdfIcon.svg";
13
- import ExcelIcon from "../../../../assets/icons/excelIcon.svg";
3
+ import { BrowserVendor } from "../../webchatcontroller/enums/BrowserVendor";
14
4
  import { Constants } from "../../../../common/Constants";
15
5
  const FileAttachmentIconMap = {
16
6
  "aac": AudioIcon,
@@ -5,59 +5,19 @@
5
5
  * 1. Renders system messages differently, according to Microsoft LiveChatWidget styles
6
6
  * 2. Changes the font size of user messages
7
7
  * 3. Decodes certain html characters that came through from chat services
8
- * 4. Triggers end conversation sequence when the chat thread is deleted
9
8
  ******/
10
- import React from "react";
9
+ import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
11
10
  import { Constants } from "../../../../../common/Constants";
12
11
  import { DirectLineActivityType } from "../../enums/DirectLineActivityType";
13
12
  import { DirectLineSenderRole } from "../../enums/DirectLineSenderRole";
14
13
  import { MessageTypes } from "../../enums/MessageType";
14
+ import React from "react";
15
+ import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper";
15
16
  import { defaultSystemMessageStyles } from "./defaultStyles/defaultSystemMessageStyles";
16
17
  import { defaultUserMessageStyles } from "./defaultStyles/defaultUserMessageStyles";
17
18
  import { escapeHtml } from "../../../../../common/utils";
18
- import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper";
19
- import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
20
19
  const loggedSystemMessages = new Array(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
20
 
22
- const handleThreadUpdate = channelData => {
23
- var _channelData$properti, _channelData$properti2;
24
-
25
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
26
- Event: TelemetryEvent.IC3ThreadUpdateEventReceived,
27
- Description: "IC3 ThreadUpdateEvent Received"
28
- });
29
-
30
- const postConversationEndedAction = () => {
31
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
32
- Event: TelemetryEvent.ConversationEndedThreadEventReceived,
33
- Description: "Conversation is ended by agent side or by timeout."
34
- });
35
- }; // If the Thread is deleted, then display post conversation survey if enabled.
36
-
37
-
38
- const isThreadDeleted = (channelData === null || channelData === void 0 ? void 0 : (_channelData$properti = channelData.properties) === null || _channelData$properti === void 0 ? void 0 : (_channelData$properti2 = _channelData$properti.isdeleted) === null || _channelData$properti2 === void 0 ? void 0 : _channelData$properti2.toLowerCase()) === Constants.true;
39
-
40
- if (isThreadDeleted) {
41
- postConversationEndedAction();
42
- return;
43
- } //check if customer is still in the thread
44
-
45
-
46
- if (channelData.members && channelData.members.length > 0) {
47
- for (let i = 0; i < channelData.members.length; i++) {
48
- const id = channelData.members[i].id;
49
- const tag = channelData.members[i].tag; // In case of ACS customer is not removed from thread and has "left" tag
50
-
51
- if (id.startsWith(Constants.visitorIdPrefix) && tag !== Constants.left) {
52
- return;
53
- }
54
- }
55
- }
56
-
57
- postConversationEndedAction();
58
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
-
60
-
61
21
  const handleSystemMessage = (next, args, card, systemMessageStyleProps) => {
62
22
  var _card$activity, _card$activity$channe, _card$activity$channe2, _card$activity2, _card$activity2$chann, _card$activity3, _card$activity3$chann, _card$activity3$chann2, _card$activity4, _card$activity4$chann, _card$activity5, _card$activity5$chann, _card$nextVisibleActi, _card$nextVisibleActi2, _card$activity6, _card$activity6$chann, _card$activity7, _card$nextVisibleActi3, _card$activity8;
63
23
 
@@ -108,7 +68,10 @@ export const createActivityMiddleware = (systemMessageStyleProps, userMessageSty
108
68
  var _card$activity$channe3;
109
69
 
110
70
  if (((_card$activity$channe3 = card.activity.channelData) === null || _card$activity$channe3 === void 0 ? void 0 : _card$activity$channe3.type) === MessageTypes.Thread) {
111
- handleThreadUpdate(card.activity.channelData);
71
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
72
+ Event: TelemetryEvent.IC3ThreadUpdateEventReceived,
73
+ Description: "IC3 ThreadUpdateEvent Received"
74
+ });
112
75
  }
113
76
 
114
77
  return () => false;
@@ -8,6 +8,7 @@
8
8
  import { Constants, MimeTypes, WebChatMiddlewareConstants } from "../../../../../common/Constants";
9
9
  import React from "react";
10
10
  import { getFileAttachmentIconData, isInlineMediaSupported } from "../../../common/utils/FileAttachmentIconManager";
11
+ import { BroadcastEvent } from "../../../../../common/telemetry/TelemetryConstants";
11
12
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
12
13
  import { WebChatActionType } from "../../enums/WebChatActionType";
13
14
  import { defaultAttachmentAdaptiveCardStyles } from "./defaultStyles/defaultAtttachmentAdaptiveCardStyles";
@@ -187,7 +188,7 @@ const createAttachmentMiddleware = enableInlinePlaying => {
187
188
  } catch (e) {
188
189
  const errorData = "Unable to parse the adaptive card format";
189
190
  BroadcastService.postMessage({
190
- eventName: "InvalidAdaptiveCardFormat",
191
+ eventName: BroadcastEvent.InvalidAdaptiveCardFormat,
191
192
  payload: {
192
193
  Message: errorData,
193
194
  ExceptionDetails: e
@@ -17,22 +17,22 @@ const createConversationEndMiddleware = conversationEndCallback => _ref => {
17
17
  var _action$payload;
18
18
 
19
19
  if ((action === null || action === void 0 ? void 0 : action.type) == WebChatActionType.DIRECT_LINE_INCOMING_ACTIVITY && (_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.activity) {
20
- var _activity$from, _activity$from2, _activity$channelData5, _activity$channelData6;
20
+ var _activity$from, _activity$from2, _activity$channelData7, _activity$channelData8;
21
21
 
22
22
  const activity = action.payload.activity;
23
23
 
24
24
  if (((_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === DirectLineSenderRole.Bot && activity.channelId === "ACS_CHANNEL") {
25
- var _activity$channelData, _activity$channelData2, _activity$channelData3, _activity$channelData4;
25
+ var _activity$channelData, _activity$channelData2, _activity$channelData3, _activity$channelData4, _activity$channelData5, _activity$channelData6;
26
26
 
27
27
  // ACS
28
- if ((_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.systemMessageTag) && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && (_activity$channelData4 = _activity$channelData3.tags) !== null && _activity$channelData4 !== void 0 && _activity$channelData4.includes(Constants.agentEndConversationMessageTag)) {
28
+ if ((_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.systemMessageTag) && ((_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && (_activity$channelData4 = _activity$channelData3.tags) !== null && _activity$channelData4 !== void 0 && _activity$channelData4.includes(Constants.agentEndConversationMessageTag) || (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.supervisorForceCloseMessageTag))) {
29
29
  conversationEndCallback();
30
30
  }
31
- } else if (((_activity$from2 = activity.from) === null || _activity$from2 === void 0 ? void 0 : _activity$from2.role) === DirectLineSenderRole.Channel && ((_activity$channelData5 = activity.channelData) === null || _activity$channelData5 === void 0 ? void 0 : _activity$channelData5.type) === MessageTypes.Thread && (_activity$channelData6 = activity.channelData) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.properties) {
32
- var _activity$channelData7, _activity$channelData8, _activity$channelData9, _activity$channelData10;
31
+ } else if (((_activity$from2 = activity.from) === null || _activity$from2 === void 0 ? void 0 : _activity$from2.role) === DirectLineSenderRole.Channel && ((_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : _activity$channelData7.type) === MessageTypes.Thread && (_activity$channelData8 = activity.channelData) !== null && _activity$channelData8 !== void 0 && _activity$channelData8.properties) {
32
+ var _activity$channelData9, _activity$channelData10, _activity$channelData11, _activity$channelData12;
33
33
 
34
34
  // IC3
35
- if (((_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : (_activity$channelData8 = _activity$channelData7.properties) === null || _activity$channelData8 === void 0 ? void 0 : _activity$channelData8.isdeleted) === Constants.truePascal || !((_activity$channelData9 = activity.channelData) !== null && _activity$channelData9 !== void 0 && (_activity$channelData10 = _activity$channelData9.properties) !== null && _activity$channelData10 !== void 0 && _activity$channelData10.containsExternalEntitiesListeningAll)) {
35
+ if (((_activity$channelData9 = activity.channelData) === null || _activity$channelData9 === void 0 ? void 0 : (_activity$channelData10 = _activity$channelData9.properties) === null || _activity$channelData10 === void 0 ? void 0 : _activity$channelData10.isdeleted) === Constants.truePascal || !((_activity$channelData11 = activity.channelData) !== null && _activity$channelData11 !== void 0 && (_activity$channelData12 = _activity$channelData11.properties) !== null && _activity$channelData12 !== void 0 && _activity$channelData12.containsExternalEntitiesListeningAll)) {
36
36
  conversationEndCallback();
37
37
  }
38
38
  }
@@ -0,0 +1,31 @@
1
+ import { LogLevel } from "../../../../common/telemetry/TelemetryConstants";
2
+ import { TelemetryHelper } from "../../../../common/telemetry/TelemetryHelper";
3
+ export function createWebChatTelemetry() {
4
+ const handleTelemetry = event => {
5
+ const {
6
+ level
7
+ } = event;
8
+ const loglevel = level ? level.toUpperCase() : "";
9
+
10
+ switch (loglevel) {
11
+ case LogLevel.DEBUG:
12
+ TelemetryHelper.logWebChatEvent(LogLevel.DEBUG, event);
13
+ break;
14
+
15
+ case LogLevel.WARN:
16
+ TelemetryHelper.logWebChatEvent(LogLevel.WARN, event);
17
+ break;
18
+
19
+ case LogLevel.ERROR:
20
+ TelemetryHelper.logWebChatEvent(LogLevel.ERROR, event);
21
+ break;
22
+
23
+ case LogLevel.INFO:
24
+ default:
25
+ TelemetryHelper.logWebChatEvent(LogLevel.INFO, event);
26
+ break;
27
+ }
28
+ };
29
+
30
+ return handleTelemetry;
31
+ }
@@ -7,6 +7,7 @@ export let ConversationState;
7
7
  ConversationState[ConversationState["OutOfOffice"] = 3] = "OutOfOffice";
8
8
  ConversationState[ConversationState["ProactiveChat"] = 4] = "ProactiveChat";
9
9
  ConversationState[ConversationState["Active"] = 5] = "Active";
10
- ConversationState[ConversationState["Postchat"] = 6] = "Postchat";
11
- ConversationState[ConversationState["Closed"] = 7] = "Closed";
10
+ ConversationState[ConversationState["InActive"] = 6] = "InActive";
11
+ ConversationState[ConversationState["Postchat"] = 7] = "Postchat";
12
+ ConversationState[ConversationState["Closed"] = 8] = "Closed";
12
13
  })(ConversationState || (ConversationState = {}));
@@ -16,18 +16,19 @@ export let LiveChatWidgetActionType;
16
16
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 12] = "SET_AUDIO_NOTIFICATION";
17
17
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 13] = "SET_E2VV_ENABLED";
18
18
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 14] = "SET_POST_CHAT_CONTEXT";
19
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOULD_SHOW_POST_CHAT"] = 15] = "SET_SHOULD_SHOW_POST_CHAT";
20
- LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 16] = "SHOW_CALLING_CONTAINER";
21
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 17] = "SET_INCOMING_CALL";
22
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 18] = "DISABLE_VIDEO_CALL";
23
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_LOCAL_VIDEO"] = 19] = "DISABLE_LOCAL_VIDEO";
24
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_REMOTE_VIDEO"] = 20] = "DISABLE_REMOTE_VIDEO";
25
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CHAT_TOKEN"] = 21] = "SET_CHAT_TOKEN";
26
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SKIP_CHAT_BUTTON_RENDERING"] = 22] = "SET_SKIP_CHAT_BUTTON_RENDERING";
27
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PROACTIVE_CHAT_PARAMS"] = 23] = "SET_PROACTIVE_CHAT_PARAMS";
28
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_TELEMETRY_DATA"] = 24] = "SET_TELEMETRY_DATA";
29
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RECONNECT_ID"] = 25] = "SET_RECONNECT_ID";
30
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_UNREAD_MESSAGE_COUNT"] = 26] = "SET_UNREAD_MESSAGE_COUNT";
31
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_FOCUS_CHAT_BUTTON"] = 27] = "SET_FOCUS_CHAT_BUTTON";
32
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 28] = "SET_CONVERSATION_ENDED_BY_AGENT";
19
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 15] = "SHOW_CALLING_CONTAINER";
20
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 16] = "SET_INCOMING_CALL";
21
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 17] = "DISABLE_VIDEO_CALL";
22
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_LOCAL_VIDEO"] = 18] = "DISABLE_LOCAL_VIDEO";
23
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_REMOTE_VIDEO"] = 19] = "DISABLE_REMOTE_VIDEO";
24
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CHAT_TOKEN"] = 20] = "SET_CHAT_TOKEN";
25
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SKIP_CHAT_BUTTON_RENDERING"] = 21] = "SET_SKIP_CHAT_BUTTON_RENDERING";
26
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PROACTIVE_CHAT_PARAMS"] = 22] = "SET_PROACTIVE_CHAT_PARAMS";
27
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_TELEMETRY_DATA"] = 23] = "SET_TELEMETRY_DATA";
28
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RECONNECT_ID"] = 24] = "SET_RECONNECT_ID";
29
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_UNREAD_MESSAGE_COUNT"] = 25] = "SET_UNREAD_MESSAGE_COUNT";
30
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_FOCUS_CHAT_BUTTON"] = 26] = "SET_FOCUS_CHAT_BUTTON";
31
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 27] = "SET_CONVERSATION_ENDED_BY_AGENT";
32
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_STATE"] = 28] = "SET_WIDGET_STATE";
33
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONTEXT"] = 29] = "SET_LIVE_CHAT_CONTEXT";
33
34
  })(LiveChatWidgetActionType || (LiveChatWidgetActionType = {}));
@@ -3,6 +3,10 @@ import { defaultMiddlewareLocalizedTexts } from "../../components/webchatcontain
3
3
  export const getLiveChatWidgetContextInitialState = props => {
4
4
  var _props$webChatContain;
5
5
 
6
+ if (props !== null && props !== void 0 && props.liveChatContextFromCache) {
7
+ return props === null || props === void 0 ? void 0 : props.liveChatContextFromCache;
8
+ }
9
+
6
10
  const LiveChatWidgetContextInitialState = {
7
11
  domainStates: {
8
12
  liveChatConfig: props.chatConfig,
@@ -13,7 +17,8 @@ export const getLiveChatWidgetContextInitialState = props => {
13
17
  chatToken: undefined,
14
18
  postChatContext: undefined,
15
19
  telemetryInternalData: {},
16
- globalDir: "ltr"
20
+ globalDir: "ltr",
21
+ liveChatContext: undefined
17
22
  },
18
23
  appStates: {
19
24
  conversationState: ConversationState.Closed,
@@ -46,5 +51,5 @@ export const getLiveChatWidgetContextInitialState = props => {
46
51
  focusChatButton: false
47
52
  }
48
53
  };
49
- return props.liveChatContextFromCache ?? LiveChatWidgetContextInitialState;
54
+ return LiveChatWidgetContextInitialState;
50
55
  };
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable indent */
2
2
  import { LiveChatWidgetActionType } from "./common/LiveChatWidgetActionType";
3
- import { TelemetryManager } from "../common/telemetry/TelemetryManager";
4
3
  export const createReducer = () => {
5
4
  const reducer = (state, action) => {
6
5
  var _action$payload, _action$payload2, _action$payload3;
@@ -84,13 +83,6 @@ export const createReducer = () => {
84
83
  }
85
84
  };
86
85
 
87
- case LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT:
88
- return { ...state,
89
- appStates: { ...state.appStates,
90
- shouldShowPostChat: action.payload
91
- }
92
- };
93
-
94
86
  case LiveChatWidgetActionType.SHOW_CALLING_CONTAINER:
95
87
  return { ...state,
96
88
  uiStates: { ...state.uiStates,
@@ -136,6 +128,7 @@ export const createReducer = () => {
136
128
  case LiveChatWidgetActionType.SET_CHAT_TOKEN:
137
129
  return { ...state,
138
130
  domainStates: { ...state.domainStates,
131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
132
  chatToken: action.payload
140
133
  }
141
134
  };
@@ -187,7 +180,6 @@ export const createReducer = () => {
187
180
  };
188
181
 
189
182
  case LiveChatWidgetActionType.SET_TELEMETRY_DATA:
190
- TelemetryManager.InternalTelemetryData = action.payload;
191
183
  return { ...state,
192
184
  domainStates: { ...state.domainStates,
193
185
  telemetryInternalData: action.payload
@@ -208,6 +200,18 @@ export const createReducer = () => {
208
200
  }
209
201
  };
210
202
 
203
+ case LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT:
204
+ return { ...state,
205
+ domainStates: { ...state.domainStates,
206
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
207
+ liveChatContext: action.payload
208
+ }
209
+ };
210
+
211
+ case LiveChatWidgetActionType.SET_WIDGET_STATE:
212
+ return { ...action.payload
213
+ };
214
+
211
215
  case LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT:
212
216
  return { ...state,
213
217
  appStates: { ...state.appStates,
@@ -9,13 +9,13 @@ export const shouldShowHeader = state => {
9
9
  return !state.appStates.isMinimized && state.appStates.conversationState !== ConversationState.Closed && state.appStates.conversationState !== ConversationState.ProactiveChat;
10
10
  };
11
11
  export const shouldShowFooter = state => {
12
- return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.Active;
12
+ return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive);
13
13
  };
14
14
  export const shouldShowEmailTranscriptPane = state => {
15
15
  return state.uiStates.showEmailTranscriptPane;
16
16
  };
17
17
  export const shouldShowWebChatContainer = state => {
18
- return state.appStates.conversationState === ConversationState.Active;
18
+ return state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive;
19
19
  };
20
20
  export const shouldShowLoadingPane = state => {
21
21
  return !state.appStates.isMinimized && !state.appStates.shouldShowPostChat && state.appStates.conversationState === ConversationState.Loading;
@@ -0,0 +1,84 @@
1
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../common/telemetry/TelemetryConstants";
2
+ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
3
+ import { Constants } from "../common/Constants";
4
+ import { TelemetryHelper } from "../common/telemetry/TelemetryHelper";
5
+ import { TelemetryManager } from "../common/telemetry/TelemetryManager";
6
+ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
7
+ const onNewAdapterActivityHandler = activity => {
8
+ var _activity$channelData, _activity$channelData2, _activity$channelData3;
9
+
10
+ const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message;
11
+ const isNotHistoryMessage = isActivityMessage && !(activity !== null && activity !== void 0 && (_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.historyMessageTag)) && !(activity !== null && activity !== void 0 && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && _activity$channelData3.fromList);
12
+
13
+ if (isNotHistoryMessage) {
14
+ raiseMessageEvent(activity);
15
+ }
16
+ };
17
+
18
+ const raiseMessageEvent = activity => {
19
+ if ((activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message) {
20
+ var _TelemetryManager$Int, _activity$from;
21
+
22
+ const payload = {
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ text: activity === null || activity === void 0 ? void 0 : activity.text,
25
+ id: activity === null || activity === void 0 ? void 0 : activity.id,
26
+ type: activity === null || activity === void 0 ? void 0 : activity.type,
27
+ timestamp: activity === null || activity === void 0 ? void 0 : activity.timestamp,
28
+ chatId: chatId,
29
+ userId: userId,
30
+ conversationId: ((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.conversationId) ?? "",
31
+ channelData: activity === null || activity === void 0 ? void 0 : activity.channelData,
32
+ messageType: ""
33
+ };
34
+
35
+ if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === Constants.userMessageTag) {
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ payload.messageType = Constants.userMessageTag;
38
+ const newMessageSentEvent = {
39
+ eventName: BroadcastEvent.NewMessageSent,
40
+ payload: payload
41
+ };
42
+ BroadcastService.postMessage(newMessageSentEvent);
43
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
44
+ Event: TelemetryEvent.MessageSent,
45
+ Description: "New message sent"
46
+ });
47
+ } else {
48
+ var _activity$channelData4, _activity$channelData5;
49
+
50
+ if (activity !== null && activity !== void 0 && (_activity$channelData4 = activity.channelData) !== null && _activity$channelData4 !== void 0 && (_activity$channelData5 = _activity$channelData4.tags) !== null && _activity$channelData5 !== void 0 && _activity$channelData5.includes(Constants.systemMessageTag)) {
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ payload.messageType = Constants.systemMessageTag;
53
+ } else {
54
+ var _activity$channelData6, _activity$channelData7, _activity$channelData8;
55
+
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+
59
+ const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData6 = activity.channelData) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : (_activity$channelData8 = _activity$channelData7.tags) === null || _activity$channelData8 === void 0 ? void 0 : _activity$channelData8.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+
61
+ const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
62
+
63
+ if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
64
+ return;
65
+ }
66
+
67
+ payload.messageType = Constants.userMessageTag;
68
+ }
69
+
70
+ const newMessageReceivedEvent = {
71
+ eventName: BroadcastEvent.NewMessageReceived,
72
+ payload: payload
73
+ };
74
+ BroadcastService.postMessage(newMessageReceivedEvent);
75
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
76
+ Event: TelemetryEvent.MessageReceived,
77
+ Description: "New message received"
78
+ });
79
+ }
80
+ }
81
+ };
82
+
83
+ return onNewAdapterActivityHandler;
84
+ };
@@ -0,0 +1 @@
1
+ export declare const NewMessageNotificationSoundBase64: string;
@@ -0,0 +1,11 @@
1
+ export declare const ArchiveIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiIHdpZHRoPSIxMnB4IiBoZWlnaHQ9IjEycHgiPg0KPHBhdGggZD0iTTE3OTIgMHEyNyAwIDUwIDEwdDQwIDI3IDI4IDQxIDEwIDUwdjQ4MHEwIDQ1LTkgNzd0LTI0IDU4LTMxIDQ2LTMxIDQwLTIzIDQ0LTEwIDU1djk5MnEwIDI3LTEwIDUwdC0yNyA0MC00MSAyOC01MCAxMEgyNTZWMGgxNTM2ek02NDAgMTI4djM4NGgyNTZWMTI4SDY0MHptMTAyNCA4MDBxMC0zMS05LTU0dC0yNC00NC0zMS00MS0zMS00NS0yMy01OC0xMC03OFYxMjhoLTUxMnY1MTJINzY4djEyOEg2NDBWNjQwSDUxMlYxMjhIMzg0djE3OTJoMzg0di0xMjhoMTI4djEyOGg3NjhWOTI4em0xMjgtODAwaC0xMjh2NDgwcTAgMjQgNCA0MnQxMyAzMyAyMCAyOSAyNyAzMnExNS0xNyAyNi0zMXQyMC0zMCAxMy0zMyA1LTQyVjEyOHpNNjQwIDg5NmgxMjh2MTI4SDY0MFY4OTZ6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTEyOCAyNTZ2MTI4SDY0MHYtMTI4aDEyOHptMC03NjhWNzY4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4eiIgLz4NCjwvc3ZnPg==";
2
+ export declare const AudioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xNzkyIDE0MDhxMCA2Mi0yOSAxMDl0LTc2IDgwLTEwNCA1MC0xMTEgMTdxLTU0IDAtMTExLTE3dC0xMDMtNDktNzYtODAtMzAtMTEwcTAtNjEgMjktMTA5dDc2LTgwIDEwNC01MCAxMTEtMTdxNTEgMCAxMDAgMTJ0OTIgMzlWMjI2TDc2OCA0NTB2MTIxNHEwIDYyLTI5IDEwOXQtNzYgODAtMTA0IDUwLTExMSAxN3EtNTQgMC0xMTEtMTd0LTEwMy00OS03Ni04MC0zMC0xMTBxMC02MSAyOS0xMDl0NzYtODAgMTA0LTUwIDExMS0xN3E1MSAwIDEwMCAxMnQ5MiAzOVYzNTBMMTc5MiA2MnYxMzQ2eiIgLz4NCjwvc3ZnPg==";
3
+ export declare const BlankIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik01NDkgMGgxMjQzdjE3NTVsLTI5MyAyOTNIMjU2VjI5M0w1NDkgMHptMTExNSAxNzAxVjEyOEg2MDNMMzg0IDM0N3YxNTczaDEwNjFsMjE5LTIxOXoiIC8+DQo8L3N2Zz4=";
4
+ export declare const ExcelIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMjYxIDE0MjRoMTg5cTItNCAxMi0yM3QyNS00NSAyOS01NSAyOS01MyAyMy00MSAxMC0xN3EyNyA1OSA2MCAxMTh0NjUgMTE2aDE4N2wtMjA5LTMzOSAyMDUtMzMzSDcwN3EtMzEgNTctNjAgMTE0dC02MyAxMTJxLTI5LTU3LTU3LTExM3QtNTctMTEzSDI3OWwxOTkgMzM1LTIxNyAzMzd6bTM3OSA0OTZoMTI4MFY1MTJoLTI1NnEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTBWMTI4SDY0MHYzODRoMzk3cTI0IDAgNDQgOXQzNyAyNSAyNSAzNiA5IDQ1djkyMnEwIDI0LTkgNDR0LTI1IDM3LTM2IDI1LTQ1IDlINjQwdjI1NnptNjQwLTEwMjRWNzY4aDUxMnYxMjhoLTUxMnptMCAyNTZ2LTEyOGg1MTJ2MTI4aC01MTJ6bTAgMjU2di0xMjhoNTEydjEyOGgtNTEyeiIgLz4NCjwvc3ZnPg==";
5
+ export declare const ImageIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yNTYgMTkyMGgxNTM2djEyOEgxMjhWMGgxMTE1bDU0OSA1NDl2OTFoLTY0MFYxMjhIMjU2djE3OTJ6TTEyODAgNTEyaDI5M2wtMjkzLTI5M3YyOTN6bTc2OCAyNTZ2MTAyNEg2NDBWNzY4aDE0MDh6TTc2OCA4OTZ2NDIxbDMyMC0zMTkgNDE2IDQxNiAxNjAtMTYwIDI1NiAyNTZWODk2SDc2OHptOTg3IDc2OGgxMzlsLTIzMC0yMzAtNjkgNzAgMTYwIDE2MHptLTk4NyAwaDgwNWwtNDg1LTQ4Ni0zMjAgMzIxdjE2NXptOTYwLTUxMnEtMjYgMC00NS0xOXQtMTktNDVxMC0yNiAxOS00NXQ0NS0xOXEyNiAwIDQ1IDE5dDE5IDQ1cTAgMjYtMTkgNDV0LTQ1IDE5eiIgLz4NCjwvc3ZnPg==";
6
+ export declare const OneNoteIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xOTYzIDEyOHEzNSAwIDYwIDI1dDI1IDYwdjE2MjJxMCAzNS0yNSA2MHQtNjAgMjVINTk3cS0zNSAwLTYwLTI1dC0yNS02MHYtMjk5SDg1cS0zNSAwLTYwLTI1dC0yNS02MFY1OTdxMC0zNSAyNS02MHQ2MC0yNWg0MjdWMjEzcTAtMzUgMjUtNjB0NjAtMjVoMTM2NnpNMzg5IDkzOWwyNDIgNDIwaDE1MlY2ODlINjM1djQyOUw0MDIgNjg5SDI0MXY2NzBoMTQ4VjkzOXptMTUzMSA4NTN2LTI1NmgtMjU2djI1NmgyNTZ6bTAtMzg0di0yNTZoLTI1NnYyNTZoMjU2em0wLTM4NFY3NjhoLTI1NnYyNTZoMjU2em0wLTM4NFYyNTZINjQwdjI1NmgyOTlxMzUgMCA2MCAyNXQyNSA2MHY4NTRxMCAzNS0yNSA2MHQtNjAgMjVINjQwdjI1Nmg4OTZWNjQwaDM4NHoiIC8+DQo8L3N2Zz4=";
7
+ export declare const PDFIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xOTIwIDE2NjRoLTEyOHYzODRIMTI4di0zODRIMFY2NDBoMTI4VjBoMTI0M2w0MjEgNDIxdjIxOWgxMjh2MTAyNHpNMTQwOCAzODRoMTY1bC0xNjUtMTY1djE2NXpNMjU2IDY0MGgxNDA4VjUxMmgtMzg0VjEyOEgyNTZ2NTEyem0xNDA4IDEwMjRIMjU2djI1NmgxNDA4di0yNTZ6bTEyOC04OTZIMTI4djc2OGgxNjY0Vjc2OHpNNDQ4IDg5NnE0MCAwIDc1IDE1dDYxIDQxIDQxIDYxIDE1IDc1cTAgNDAtMTUgNzV0LTQxIDYxLTYxIDQxLTc1IDE1aC02NHYxMjhIMjU2Vjg5NmgxOTJ6bTAgMjU2cTI2IDAgNDUtMTl0MTktNDVxMC0yNi0xOS00NXQtNDUtMTloLTY0djEyOGg2NHptNDQ4LTI1NnE1MyAwIDk5IDIwdDgyIDU1IDU1IDgxIDIwIDEwMHEwIDUzLTIwIDk5dC01NSA4Mi04MSA1NS0xMDAgMjBINzY4Vjg5NmgxMjh6bTAgMzg0cTI3IDAgNTAtMTB0NDAtMjcgMjgtNDEgMTAtNTBxMC0yNy0xMC01MHQtMjctNDAtNDEtMjgtNTAtMTB2MjU2em0zODQtMzg0aDMyMHYxMjhoLTE5MnYxMjhoMTkydjEyOGgtMTkydjEyOGgtMTI4Vjg5NnoiIC8+DQo8L3N2Zz4=";
8
+ export declare const PowerpointIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMzY4IDc1MnY2NzJoMTUwdi0yMjZoMTAwcTUyIDAgOTctMTV0NzgtNDYgNTMtNzIgMjAtOTdxMC01Ni0xNy05N3QtNTAtNjctNzYtMzktOTctMTNIMzY4em0xNTUyIDExNjhWNTEyaC0yNTZxLTI3IDAtNTAtMTB0LTQwLTI3LTI4LTQxLTEwLTUwVjEyOEg2NDB2Mzg0aDM5N3EyNCAwIDQ0IDl0MzcgMjUgMjUgMzYgOSA0NXY5MjJxMCAyNC05IDQ0dC0yNSAzNy0zNiAyNS00NSA5SDY0MHYyNTZoMTI4MHpNMTUzNiA2NDBxNzkgMCAxNDkgMzB0MTIyIDgyIDgzIDEyMyAzMCAxNDloLTM4NFY2NDB6bS0xMjggMTI4djM4NGgzODRxMCA4MC0zMCAxNDl0LTgyIDEyMi0xMjMgODMtMTQ5IDMwcS0zMyAwLTY1LTZ0LTYzLTE4Vjc5MnEzMS0xMSA2My0xN3Q2NS03em0tODA0IDMwMGgtODZWODgzaDkwcTQ3IDAgNzQgMjB0MjcgNzBxMCA1Mi0yOCA3M3QtNzcgMjJ6IiAvPg0KPC9zdmc+";
9
+ export declare const VideoIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0wIDI1NmgyMDQ4djE0MDhIMFYyNTZ6bTI1NiAxMjgwdi0xMjhIMTI4djEyOGgxMjh6bTAtMjU2di0xMjhIMTI4djEyOGgxMjh6bTAtMjU2Vjg5NkgxMjh2MTI4aDEyOHptMC0yNTZWNjQwSDEyOHYxMjhoMTI4em0wLTI1NlYzODRIMTI4djEyOGgxMjh6bTE0MDggNzg2VjM4NEgzODR2ODIzbDQxMS01NDkgNzQxIDg3OC0zMjktNTU4IDEzNy0xMzcgMzIwIDQ1N3ptMjU2IDIzOHYtMTI4aC0xMjh2MTI4aDEyOHptMC0yNTZ2LTEyOGgtMTI4djEyOGgxMjh6bTAtMjU2Vjg5NmgtMTI4djEyOGgxMjh6bTAtMjU2VjY0MGgtMTI4djEyOGgxMjh6bTAtMjU2VjM4NGgtMTI4djEyOGgxMjh6IiAvPg0KPC9zdmc+";
10
+ export declare const VisioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNNDkzIDE0MjRoMTYzbDI1NS02NzJINzQ1bC0xNDcgNDI3cS01IDE2LTEwIDMxdC0xMSAzMXEtNDEtMTIzLTgyLTI0NHQtODQtMjQ1SDI0MWwyNDggNjYyIDQgMTB6bTE0NyA0OTZoMTI4MFY1MTJoLTI1NnEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTBWMTI4SDY0MHYzODRoMzk3cTI0IDAgNDQgOXQzNyAyNSAyNSAzNiA5IDQ1djkyMnEwIDI0LTkgNDR0LTI1IDM3LTM2IDI1LTQ1IDlINjQwdjI1NnptOTYwLTEyODBsMTkyIDE5Mi0xMjggMTI4djQ0OGgtMjU2djEyOGgtMTI4di0zODRoMTI4djEyOGgxMjhWOTYwbC0xMjgtMTI4IDE5Mi0xOTJ6IiAvPg0KPC9zdmc+";
11
+ export declare const WordIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMzIwIDE0MjRoMTYxcTItOCA5LTQzdDE4LTgzIDIxLTEwMyAyMi0xMDEgMTYtNzYgOC0zMWw3IDMwcTcgMzAgMTcgNzd0MjMgMTAwIDIzIDEwMyAxOSA4NCAxMCA0M2gxNjBsMTQ4LTY3Mkg4MzRsLTgwIDQzOC0xMDAtNDM4SDUwMmwtOTYgNDQwLTg2LTQ0MEgxNzBsMTUwIDY3MnptMzIwIDQ5NmgxMjgwVjUxMmgtMjU2cS0yNyAwLTUwLTEwdC00MC0yNy0yOC00MS0xMC01MFYxMjhINjQwdjM4NGgzOTdxMjQgMCA0NCA5dDM3IDI1IDI1IDM2IDkgNDV2OTIycTAgMjQtOSA0NHQtMjUgMzctMzYgMjUtNDUgOUg2NDB2MjU2em02NDAtMTAyNFY3NjhoNTEydjEyOGgtNTEyem0wIDI1NnYtMTI4aDUxMnYxMjhoLTUxMnptMCAyNTZ2LTEyOGg1MTJ2MTI4aC01MTJ6IiAvPg0KPC9zdmc+";
@@ -1,7 +1,9 @@
1
1
  export declare class Constants {
2
2
  static readonly systemMessageTag = "system";
3
3
  static readonly userMessageTag = "user";
4
+ static readonly historyMessageTag = "history";
4
5
  static readonly agentEndConversationMessageTag = "agentendconversation";
6
+ static readonly supervisorForceCloseMessageTag = "supervisorforceclosedconversation";
5
7
  static readonly receivedMessageClassName = "ms_lcw_webchat_received_message";
6
8
  static readonly sentMessageClassName = "ms_lcw_webchat_sent_message";
7
9
  static readonly webchatChannelId = "webchat";
@@ -13,6 +15,7 @@ export declare class Constants {
13
15
  static readonly true = "true";
14
16
  static readonly false = "false";
15
17
  static readonly maximumUnreadMessageCount = 99;
18
+ static readonly widgetStateDataKey = "LcwChatWidgetState";
16
19
  static readonly channelIdKey = "ChannelId-";
17
20
  static readonly ChannelId = "lcw";
18
21
  static readonly CustomerTag = "FromCustomer";
@@ -55,7 +58,6 @@ export declare class Constants {
55
58
  static readonly ProactiveChatInviteTimeoutInMs = 60000;
56
59
  static readonly InputSubmit = "InputSubmit";
57
60
  static readonly ReconnectIdAttributeName = "oc.reconnectid";
58
- static readonly redirectPageRequest = "redirectPageRequest";
59
61
  static readonly LiveChatWidget = "LiveChatWidgetNew";
60
62
  static readonly GuidPattern = "xx-x-4m-ym-xxx";
61
63
  static readonly Default = "default";
@@ -0,0 +1,4 @@
1
+ import { IContextDataStore } from "../interfaces/IContextDataStore";
2
+ export declare class DataStoreManager {
3
+ static clientDataStore?: IContextDataStore;
4
+ }
@@ -0,0 +1,14 @@
1
+ export interface IContextDataStore {
2
+ /**
3
+ * getData: Get data from data store
4
+ */
5
+ getData: (key: string, type: string) => any;
6
+ /**
7
+ * setData: Set data to data store
8
+ */
9
+ setData: (key: string, value: string) => void;
10
+ /**
11
+ * removeData: Remove data from data store by key
12
+ */
13
+ removeData?: (key: string) => void;
14
+ }
@@ -17,6 +17,21 @@ export declare enum LogLevel {
17
17
  WARN = "WARN",
18
18
  ERROR = "ERROR"
19
19
  }
20
+ export declare enum BroadcastEvent {
21
+ LoadPostChatSurvey = "LoadPostChatSurvey",
22
+ EndChat = "ChatEnded",
23
+ NewMessageNotification = "NewMessageNotification",
24
+ UnreadMessageCount = "UnreadMessageCount",
25
+ ChatWidgetStateChanged = "ChatWidgetStateChanged",
26
+ ProactiveChatStartChat = "ProactiveChatStartChat",
27
+ ProactiveChatStartPopoutChat = "ProactiveChatStartPopoutChat",
28
+ InvalidAdaptiveCardFormat = "InvalidAdaptiveCardFormat",
29
+ NewMessageSent = "NewMessageSent",
30
+ NewMessageReceived = "NewMessageReceived",
31
+ RedirectPageRequest = "RedirectPageRequest",
32
+ StartChatSkippingChatButtonRendering = "StartChatSkippingChatButtonRendering",
33
+ StartUnauthenticatedReconnectChat = "StartUnauthenticatedReconnectChat"
34
+ }
20
35
  export declare enum TelemetryEvent {
21
36
  CallAdded = "CallAdded",
22
37
  LocalVideoStreamAdded = "LocalVideoStreamAdded",
@@ -63,7 +78,9 @@ export declare enum TelemetryEvent {
63
78
  PrechatSurveyLoaded = "PrechatSurveyLoaded",
64
79
  PrechatSubmitted = "PrechatSubmitted",
65
80
  StartChatSDKCall = "StartChatCall",
81
+ StartChatEventRecevied = "StartChatEventReceived",
66
82
  EndChatSDKCall = "EndChatCall",
83
+ EndChatEventReceived = "EndChatEventReceived",
67
84
  OnNewMessageFailed = "OnNewMessageFailed",
68
85
  OnNewMessageAudioNotificationFailed = "OnNewMessageAudioNotificationFailed",
69
86
  DownloadTranscriptResponseNullOrUndefined = "DownloadTranscriptResponseNullOrUndefined",
@@ -77,6 +94,7 @@ export declare enum TelemetryEvent {
77
94
  LoadingPaneLoaded = "LoadingPaneLoaded",
78
95
  EmailTranscriptLoaded = "EmailTranscriptLoaded",
79
96
  OutOfOfficePaneLoaded = "OutOfOfficePaneLoaded",
97
+ PostChatSurveyLoadingPaneLoaded = "PostChatSurveyLoadingPaneLoaded",
80
98
  PostChatSurveyLoaded = "PostChatSurveyLoaded",
81
99
  ConfirmationPaneLoaded = "ConfirmationPaneLoaded",
82
100
  ProactiveChatPaneLoaded = "ProactiveChatPaneLoaded",
@@ -98,7 +116,10 @@ export declare enum TelemetryEvent {
98
116
  InvalidConfiguration = "InvalidConfiguration",
99
117
  SendTypingIndicatorSucceeded = "SendTypingIndicatorSucceeded",
100
118
  SendTypingIndicatorFailed = "SendTypingIndicatorFailed",
119
+ WebChatEvent = "WebChatEvent",
101
120
  PreChatSurveyStartChatMethodFailed = "PreChatSurveyStartChatMethodFailed",
121
+ ChatAlreadyTriggered = "ChatAlreadyTriggered",
122
+ StartProactiveChatEventReceived = "StartProactiveChatEventReceived",
102
123
  StartProactiveChatMethodFailed = "StartProactiveChatMethodFailed",
103
124
  ProactiveChatAccepted = "ProactiveChatAccepted",
104
125
  ProactiveChatRejected = "ProactiveChatRejected",
@@ -107,7 +128,8 @@ export declare enum TelemetryEvent {
107
128
  ReconnectChatContinueConversation = "ReconnectChatContinueConversation",
108
129
  ReconnectChatStartNewConversation = "ReconnectChatStartNewConversation",
109
130
  ReconnectChatMinimize = "ReconnectChatMinimize",
110
- ChatWidgetStateChanged = "ChatWidgetStateChanged"
131
+ MessageSent = "MessageSent",
132
+ MessageReceived = "MessageReceived"
111
133
  }
112
134
  export interface TelemetryInput {
113
135
  scenarioType: ScenarioType;
@@ -35,4 +35,5 @@ export declare class TelemetryHelper {
35
35
  static logActionEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
36
36
  static logSDKEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
37
37
  static logConfigDataEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
38
+ static logWebChatEvent: (logLevel: LogLevel, payload: TelemetryEventWrapper) => void;
38
39
  }