@microsoft/omnichannel-chat-widget 0.1.0-main.488d6f1 → 0.1.0-main.4eb4d1f

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 (138) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/common/Constants.js +52 -6
  3. package/lib/cjs/common/telemetry/TelemetryConstants.js +58 -6
  4. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  5. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -6
  6. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  7. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  8. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +33 -13
  9. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -5
  10. package/lib/cjs/common/utils.js +76 -2
  11. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  12. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -4
  13. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +6 -42
  14. package/lib/cjs/components/footerstateful/FooterStateful.js +1 -2
  15. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  16. package/lib/cjs/components/headerstateful/HeaderStateful.js +3 -9
  17. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  18. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  19. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  20. package/lib/cjs/components/livechatwidget/common/createAdapter.js +9 -1
  21. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +31 -30
  22. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -17
  23. package/lib/cjs/components/livechatwidget/common/endChat.js +94 -11
  24. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +1 -1
  25. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +35 -6
  26. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +115 -22
  27. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +6 -17
  28. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  29. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  30. package/lib/cjs/components/livechatwidget/common/startChat.js +169 -50
  31. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +233 -78
  32. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  33. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +5 -10
  34. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -3
  35. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
  36. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  37. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  38. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  39. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  40. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  41. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  42. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  43. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  44. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  46. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  47. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +9 -7
  48. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +8 -3
  49. package/lib/cjs/contexts/createReducer.js +16 -10
  50. package/lib/cjs/controller/componentController.js +3 -3
  51. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  52. package/lib/esm/common/Constants.js +48 -5
  53. package/lib/esm/common/telemetry/TelemetryConstants.js +54 -5
  54. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  55. package/lib/esm/common/telemetry/TelemetryManager.js +15 -6
  56. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  57. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  58. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +36 -14
  59. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -5
  60. package/lib/esm/common/utils.js +55 -1
  61. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  62. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -7
  63. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +6 -37
  64. package/lib/esm/components/footerstateful/FooterStateful.js +1 -2
  65. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  66. package/lib/esm/components/headerstateful/HeaderStateful.js +3 -9
  67. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  68. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  69. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  70. package/lib/esm/components/livechatwidget/common/createAdapter.js +9 -2
  71. package/lib/esm/components/livechatwidget/common/createMarkdown.js +31 -30
  72. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -18
  73. package/lib/esm/components/livechatwidget/common/endChat.js +91 -13
  74. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +1 -1
  75. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +30 -7
  76. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +104 -22
  77. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +5 -14
  78. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  79. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  80. package/lib/esm/components/livechatwidget/common/startChat.js +166 -52
  81. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +219 -78
  82. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  83. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +7 -11
  84. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +20 -4
  85. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
  86. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  87. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  88. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  89. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  90. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  91. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  92. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  93. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  94. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  95. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  96. package/lib/esm/contexts/common/ConversationState.js +3 -2
  97. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +9 -7
  98. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +8 -3
  99. package/lib/esm/contexts/createReducer.js +16 -9
  100. package/lib/esm/controller/componentController.js +3 -3
  101. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  102. package/lib/types/common/Constants.d.ts +26 -2
  103. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  104. package/lib/types/common/telemetry/TelemetryConstants.d.ts +42 -4
  105. package/lib/types/common/telemetry/TelemetryHelper.d.ts +3 -1
  106. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  107. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  108. package/lib/types/common/utils.d.ts +7 -1
  109. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
  110. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  111. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -1
  112. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  113. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  114. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  115. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  116. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  117. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  118. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  119. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  120. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +1 -1
  121. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  122. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -1
  123. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  124. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  125. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  126. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  127. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  128. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +1 -2
  129. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +1 -1
  130. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  131. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  132. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  133. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  134. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  135. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -1
  136. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +10 -8
  137. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  138. package/package.json +9 -11
@@ -17,13 +17,13 @@ exports.LiveChatWidgetActionType = LiveChatWidgetActionType;
17
17
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT";
18
18
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_OUTSIDE_OPERATING_HOURS"] = 7] = "SET_OUTSIDE_OPERATING_HOURS";
19
19
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRE_CHAT_SURVEY_RESPONSE"] = 8] = "SET_PRE_CHAT_SURVEY_RESPONSE";
20
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 9] = "SET_SHOW_CONFIRMATION";
21
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 10] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
22
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 11] = "SET_PRECHAT_RESPONSE_EMAIL";
23
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 12] = "SET_AUDIO_NOTIFICATION";
24
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 13] = "SET_E2VV_ENABLED";
25
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 14] = "SET_POST_CHAT_CONTEXT";
26
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOULD_SHOW_POST_CHAT"] = 15] = "SET_SHOULD_SHOW_POST_CHAT";
20
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CUSTOM_CONTEXT"] = 9] = "SET_CUSTOM_CONTEXT";
21
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 10] = "SET_SHOW_CONFIRMATION";
22
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 11] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
23
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 12] = "SET_PRECHAT_RESPONSE_EMAIL";
24
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 13] = "SET_AUDIO_NOTIFICATION";
25
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 14] = "SET_E2VV_ENABLED";
26
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 15] = "SET_POST_CHAT_CONTEXT";
27
27
  LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 16] = "SHOW_CALLING_CONTAINER";
28
28
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 17] = "SET_INCOMING_CALL";
29
29
  LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 18] = "DISABLE_VIDEO_CALL";
@@ -39,4 +39,6 @@ exports.LiveChatWidgetActionType = LiveChatWidgetActionType;
39
39
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 28] = "SET_CONVERSATION_ENDED_BY_AGENT";
40
40
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_STATE"] = 29] = "SET_WIDGET_STATE";
41
41
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONTEXT"] = 30] = "SET_LIVE_CHAT_CONTEXT";
42
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_BOT_OAUTH_SIGNIN_ID"] = 31] = "SET_BOT_OAUTH_SIGNIN_ID";
43
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_SIZE"] = 32] = "SET_WIDGET_SIZE";
42
44
  })(LiveChatWidgetActionType || (exports.LiveChatWidgetActionType = LiveChatWidgetActionType = {}));
@@ -12,6 +12,10 @@ var _defaultMiddlewareLocalizedTexts = require("../../components/webchatcontaine
12
12
  const getLiveChatWidgetContextInitialState = props => {
13
13
  var _props$webChatContain;
14
14
 
15
+ if (props !== null && props !== void 0 && props.liveChatContextFromCache) {
16
+ return props === null || props === void 0 ? void 0 : props.liveChatContextFromCache;
17
+ }
18
+
15
19
  const LiveChatWidgetContextInitialState = {
16
20
  domainStates: {
17
21
  liveChatConfig: props.chatConfig,
@@ -23,14 +27,15 @@ const getLiveChatWidgetContextInitialState = props => {
23
27
  postChatContext: undefined,
24
28
  telemetryInternalData: {},
25
29
  globalDir: "ltr",
26
- liveChatContext: undefined
30
+ liveChatContext: undefined,
31
+ customContext: undefined,
32
+ widgetSize: undefined
27
33
  },
28
34
  appStates: {
29
35
  conversationState: _ConversationState.ConversationState.Closed,
30
36
  isMinimized: false,
31
37
  previousElementOnFocusBeforeModalOpen: null,
32
38
  outsideOperatingHours: false,
33
- shouldShowPostChat: false,
34
39
  preChatResponseEmail: "",
35
40
  isAudioMuted: null,
36
41
  newMessage: false,
@@ -56,7 +61,7 @@ const getLiveChatWidgetContextInitialState = props => {
56
61
  focusChatButton: false
57
62
  }
58
63
  };
59
- return props.liveChatContextFromCache ?? LiveChatWidgetContextInitialState;
64
+ return LiveChatWidgetContextInitialState;
60
65
  };
61
66
 
62
67
  exports.getLiveChatWidgetContextInitialState = getLiveChatWidgetContextInitialState;
@@ -7,8 +7,6 @@ exports.createReducer = void 0;
7
7
 
8
8
  var _LiveChatWidgetActionType = require("./common/LiveChatWidgetActionType");
9
9
 
10
- var _TelemetryManager = require("../common/telemetry/TelemetryManager");
11
-
12
10
  /* eslint-disable indent */
13
11
  const createReducer = () => {
14
12
  const reducer = (state, action) => {
@@ -71,6 +69,14 @@ const createReducer = () => {
71
69
  }
72
70
  };
73
71
 
72
+ case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT:
73
+ return { ...state,
74
+ domainStates: { ...state.domainStates,
75
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
+ customContext: action.payload
77
+ }
78
+ };
79
+
74
80
  case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT:
75
81
  return { ...state,
76
82
  appStates: { ...state.appStates,
@@ -93,13 +99,6 @@ const createReducer = () => {
93
99
  }
94
100
  };
95
101
 
96
- case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT:
97
- return { ...state,
98
- appStates: { ...state.appStates,
99
- shouldShowPostChat: action.payload
100
- }
101
- };
102
-
103
102
  case _LiveChatWidgetActionType.LiveChatWidgetActionType.SHOW_CALLING_CONTAINER:
104
103
  return { ...state,
105
104
  uiStates: { ...state.uiStates,
@@ -197,7 +196,6 @@ const createReducer = () => {
197
196
  };
198
197
 
199
198
  case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA:
200
- _TelemetryManager.TelemetryManager.InternalTelemetryData = action.payload;
201
199
  return { ...state,
202
200
  domainStates: { ...state.domainStates,
203
201
  telemetryInternalData: action.payload
@@ -237,6 +235,14 @@ const createReducer = () => {
237
235
  }
238
236
  };
239
237
 
238
+ case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_SIZE:
239
+ return { ...state,
240
+ domainStates: { ...state.domainStates,
241
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
242
+ widgetSize: action.payload
243
+ }
244
+ };
245
+
240
246
  default:
241
247
  return state;
242
248
  }
@@ -8,7 +8,7 @@ exports.shouldShowWebChatContainer = exports.shouldShowReconnectChatPane = expor
8
8
  var _ConversationState = require("../contexts/common/ConversationState");
9
9
 
10
10
  const shouldShowChatButton = state => {
11
- return state.appStates.isMinimized || state.appStates.conversationState === _ConversationState.ConversationState.Closed;
11
+ return (state.appStates.isMinimized || state.appStates.conversationState === _ConversationState.ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
12
12
  };
13
13
 
14
14
  exports.shouldShowChatButton = shouldShowChatButton;
@@ -44,7 +44,7 @@ const shouldShowWebChatContainer = state => {
44
44
  exports.shouldShowWebChatContainer = shouldShowWebChatContainer;
45
45
 
46
46
  const shouldShowLoadingPane = state => {
47
- return !state.appStates.isMinimized && !state.appStates.shouldShowPostChat && state.appStates.conversationState === _ConversationState.ConversationState.Loading;
47
+ return !state.appStates.isMinimized && state.appStates.conversationState === _ConversationState.ConversationState.Loading;
48
48
  };
49
49
 
50
50
  exports.shouldShowLoadingPane = shouldShowLoadingPane;
@@ -56,7 +56,7 @@ const shouldShowReconnectChatPane = state => {
56
56
  exports.shouldShowReconnectChatPane = shouldShowReconnectChatPane;
57
57
 
58
58
  const shouldShowPostChatLoadingPane = state => {
59
- return !state.appStates.isMinimized && state.appStates.shouldShowPostChat && state.appStates.conversationState === _ConversationState.ConversationState.Loading;
59
+ return !state.appStates.isMinimized && state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading;
60
60
  };
61
61
 
62
62
  exports.shouldShowPostChatLoadingPane = shouldShowPostChatLoadingPane;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createOnNewAdapterActivityHandler = void 0;
7
+
8
+ var _TelemetryConstants = require("../common/telemetry/TelemetryConstants");
9
+
10
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
+
12
+ var _Constants = require("../common/Constants");
13
+
14
+ var _TelemetryHelper = require("../common/telemetry/TelemetryHelper");
15
+
16
+ const createOnNewAdapterActivityHandler = (chatId, userId) => {
17
+ const onNewAdapterActivityHandler = activity => {
18
+ var _activity$channelData, _activity$channelData2, _activity$channelData3;
19
+
20
+ const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === _Constants.Constants.message;
21
+ 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.Constants.historyMessageTag)) && !(activity !== null && activity !== void 0 && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && _activity$channelData3.fromList);
22
+
23
+ if (isNotHistoryMessage) {
24
+ raiseMessageEvent(activity);
25
+ }
26
+ };
27
+
28
+ const raiseMessageEvent = activity => {
29
+ if ((activity === null || activity === void 0 ? void 0 : activity.type) === _Constants.Constants.message) {
30
+ var _text, _text2, _activity$channelData4, _activity$from;
31
+
32
+ const payload = {
33
+ // To identify hidden contents vs empty content
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ text: (activity === null || activity === void 0 ? void 0 : (_text = activity.text) === null || _text === void 0 ? void 0 : _text.length) >= 1 ? `*contents hidden (${activity === null || activity === void 0 ? void 0 : (_text2 = activity.text) === null || _text2 === void 0 ? void 0 : _text2.length} chars)*` : "",
36
+ type: activity === null || activity === void 0 ? void 0 : activity.type,
37
+ timestamp: activity === null || activity === void 0 ? void 0 : activity.timestamp,
38
+ userId: userId,
39
+ tags: activity === null || activity === void 0 ? void 0 : (_activity$channelData4 = activity.channelData) === null || _activity$channelData4 === void 0 ? void 0 : _activity$channelData4.tags,
40
+ messageType: ""
41
+ };
42
+
43
+ if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === _Constants.Constants.userMessageTag) {
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ payload.messageType = _Constants.Constants.userMessageTag;
46
+ const newMessageSentEvent = {
47
+ eventName: _TelemetryConstants.BroadcastEvent.NewMessageSent,
48
+ payload: payload
49
+ };
50
+
51
+ _omnichannelChatComponents.BroadcastService.postMessage(newMessageSentEvent);
52
+
53
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
54
+ Event: _TelemetryConstants.TelemetryEvent.MessageSent,
55
+ Description: "New message sent"
56
+ });
57
+ } else {
58
+ var _activity$channelData5, _activity$channelData6;
59
+
60
+ if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(_Constants.Constants.systemMessageTag)) {
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ payload.messageType = _Constants.Constants.systemMessageTag;
63
+ } else {
64
+ var _activity$channelData7, _activity$channelData8, _activity$channelData9;
65
+
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+
69
+ const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
+
71
+ const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
72
+
73
+ if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
74
+ return;
75
+ }
76
+
77
+ payload.messageType = _Constants.Constants.userMessageTag;
78
+ }
79
+
80
+ const newMessageReceivedEvent = {
81
+ eventName: _TelemetryConstants.BroadcastEvent.NewMessageReceived,
82
+ payload: payload
83
+ };
84
+
85
+ _omnichannelChatComponents.BroadcastService.postMessage(newMessageReceivedEvent);
86
+
87
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
88
+ Event: _TelemetryConstants.TelemetryEvent.MessageReceived,
89
+ Description: "New message received",
90
+ Data: payload
91
+ });
92
+ }
93
+ }
94
+ };
95
+
96
+ return onNewAdapterActivityHandler;
97
+ };
98
+
99
+ exports.createOnNewAdapterActivityHandler = createOnNewAdapterActivityHandler;
@@ -4,12 +4,20 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
4
4
 
5
5
  export class Constants {}
6
6
 
7
+ _defineProperty(Constants, "magicCodeBroadcastChannel", "MagicCodeChannel");
8
+
9
+ _defineProperty(Constants, "magicCodeResponseBroadcastChannel", "MagicCodeResponseChannel");
10
+
7
11
  _defineProperty(Constants, "systemMessageTag", "system");
8
12
 
9
13
  _defineProperty(Constants, "userMessageTag", "user");
10
14
 
15
+ _defineProperty(Constants, "historyMessageTag", "history");
16
+
11
17
  _defineProperty(Constants, "agentEndConversationMessageTag", "agentendconversation");
12
18
 
19
+ _defineProperty(Constants, "supervisorForceCloseMessageTag", "supervisorforceclosedconversation");
20
+
13
21
  _defineProperty(Constants, "receivedMessageClassName", "ms_lcw_webchat_received_message");
14
22
 
15
23
  _defineProperty(Constants, "sentMessageClassName", "ms_lcw_webchat_sent_message");
@@ -32,8 +40,6 @@ _defineProperty(Constants, "false", "false");
32
40
 
33
41
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
34
42
 
35
- _defineProperty(Constants, "widgetStateDataKey", "LcwChatWidgetState");
36
-
37
43
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
38
44
 
39
45
  _defineProperty(Constants, "ChannelId", "lcw");
@@ -68,6 +74,14 @@ _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
68
74
 
69
75
  _defineProperty(Constants, "message", "message");
70
76
 
77
+ _defineProperty(Constants, "hiddenTag", "Hidden");
78
+
79
+ _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
80
+
81
+ _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
82
+
83
+ _defineProperty(Constants, "publicMessageTag", "public");
84
+
71
85
  _defineProperty(Constants, "supportedAdaptiveCardContentTypes", ["application/vnd.microsoft.card.adaptive", "application/vnd.microsoft.card.audio", "application/vnd.microsoft.card.hero", "application/vnd.microsoft.card.receipt", "application/vnd.microsoft.card.thumbnail", "application/vnd.microsoft.card.signin", "application/vnd.microsoft.card.oauth"]);
72
86
 
73
87
  _defineProperty(Constants, "maxUploadFileSize", "500000");
@@ -118,8 +132,6 @@ _defineProperty(Constants, "InputSubmit", "InputSubmit");
118
132
 
119
133
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
120
134
 
121
- _defineProperty(Constants, "redirectPageRequest", "redirectPageRequest");
122
-
123
135
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
124
136
 
125
137
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
@@ -144,6 +156,10 @@ _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azur
144
156
 
145
157
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
146
158
 
159
+ _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
160
+
161
+ _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
162
+
147
163
  export const Regex = (_class = class Regex {}, _defineProperty(_class, "EmailRegex", "(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"), _class);
148
164
  export class HtmlIdNames {}
149
165
 
@@ -253,6 +269,15 @@ export let ChatSDKError;
253
269
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
254
270
  })(ChatSDKError || (ChatSDKError = {}));
255
271
 
272
+ export let EnvironmentVersion;
273
+
274
+ (function (EnvironmentVersion) {
275
+ EnvironmentVersion["prod"] = "prod";
276
+ EnvironmentVersion["dogfood"] = "df";
277
+ EnvironmentVersion["int"] = "int";
278
+ EnvironmentVersion["test"] = "test";
279
+ })(EnvironmentVersion || (EnvironmentVersion = {}));
280
+
256
281
  export class TranscriptConstants {}
257
282
 
258
283
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
@@ -273,4 +298,22 @@ _defineProperty(TranscriptConstants, "InternalMode", "internal");
273
298
 
274
299
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
275
300
 
276
- _defineProperty(TranscriptConstants, "AgentFontColor", "white");
301
+ _defineProperty(TranscriptConstants, "AgentFontColor", "white");
302
+
303
+ export class AriaTelemetryConstants {}
304
+
305
+ _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
306
+
307
+ _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
308
+
309
+ _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
310
+
311
+ _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
312
+
313
+ _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
314
+
315
+ _defineProperty(AriaTelemetryConstants, "Public", "Public");
316
+
317
+ _defineProperty(AriaTelemetryConstants, "EU", "Europe");
318
+
319
+ _defineProperty(AriaTelemetryConstants, "lcwEUDomainNames", ["crm4.omnichannelengagementhub.com", "crm12.omnichannelengagementhub.com", "crm16.omnichannelengagementhub.com", "crm17.omnichannelengagementhub.com", "crm19.omnichannelengagementhub.com"]);
@@ -13,7 +13,7 @@ export let ScenarioType;
13
13
  ScenarioType["ACS_ADAPTER"] = "LCW_ACSAdapterEvents";
14
14
  })(ScenarioType || (ScenarioType = {}));
15
15
 
16
- export let LogLevel;
16
+ export let LogLevel; // Events used in certain functionalities that are not being logged
17
17
 
18
18
  (function (LogLevel) {
19
19
  LogLevel["INFO"] = "INFO";
@@ -22,6 +22,35 @@ export let LogLevel;
22
22
  LogLevel["ERROR"] = "ERROR";
23
23
  })(LogLevel || (LogLevel = {}));
24
24
 
25
+ export let BroadcastEvent; // Events being logged
26
+
27
+ (function (BroadcastEvent) {
28
+ BroadcastEvent["LoadPostChatSurvey"] = "LoadPostChatSurvey";
29
+ BroadcastEvent["ChatEnded"] = "ChatEnded";
30
+ BroadcastEvent["NewMessageNotification"] = "NewMessageNotification";
31
+ BroadcastEvent["UnreadMessageCount"] = "UnreadMessageCount";
32
+ BroadcastEvent["StartProactiveChat"] = "StartProactiveChat";
33
+ BroadcastEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
34
+ BroadcastEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
35
+ BroadcastEvent["ProactiveChatIsInPopoutMode"] = "ProactiveChatIsInPopoutMode";
36
+ BroadcastEvent["ResetProactiveChatParams"] = "ResetProactiveChatParams";
37
+ BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
38
+ BroadcastEvent["NewMessageSent"] = "NewMessageSent";
39
+ BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
40
+ BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
41
+ BroadcastEvent["StartChat"] = "StartChat";
42
+ BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
43
+ BroadcastEvent["StartUnauthenticatedReconnectChat"] = "StartUnauthenticatedReconnectChat";
44
+ BroadcastEvent["InitiateEndChat"] = "InitiateEndChat";
45
+ BroadcastEvent["SetCustomContext"] = "SetCustomContext";
46
+ BroadcastEvent["ChatRetrievedFromCache"] = "ChatRetrievedFromCache";
47
+ BroadcastEvent["MaximizeChat"] = "MaximizeChat";
48
+ BroadcastEvent["ChatInitiated"] = "ChatInitiated";
49
+ BroadcastEvent["CloseChat"] = "CloseChat";
50
+ BroadcastEvent["InitiateEndChatOnBrowserUnload"] = "InitiateEndChatOnBrowserUnload";
51
+ BroadcastEvent["ClosePopoutWindow"] = "ClosePopoutWindow";
52
+ })(BroadcastEvent || (BroadcastEvent = {}));
53
+
25
54
  export let TelemetryEvent;
26
55
 
27
56
  (function (TelemetryEvent) {
@@ -70,7 +99,10 @@ export let TelemetryEvent;
70
99
  TelemetryEvent["PrechatSurveyLoaded"] = "PrechatSurveyLoaded";
71
100
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
72
101
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
73
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
102
+ TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
103
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
104
+ TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
105
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
74
106
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
75
107
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
76
108
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -84,6 +116,7 @@ export let TelemetryEvent;
84
116
  TelemetryEvent["LoadingPaneLoaded"] = "LoadingPaneLoaded";
85
117
  TelemetryEvent["EmailTranscriptLoaded"] = "EmailTranscriptLoaded";
86
118
  TelemetryEvent["OutOfOfficePaneLoaded"] = "OutOfOfficePaneLoaded";
119
+ TelemetryEvent["PostChatSurveyLoadingPaneLoaded"] = "PostChatSurveyLoadingPaneLoaded";
87
120
  TelemetryEvent["PostChatSurveyLoaded"] = "PostChatSurveyLoaded";
88
121
  TelemetryEvent["ConfirmationPaneLoaded"] = "ConfirmationPaneLoaded";
89
122
  TelemetryEvent["ProactiveChatPaneLoaded"] = "ProactiveChatPaneLoaded";
@@ -94,6 +127,12 @@ export let TelemetryEvent;
94
127
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
95
128
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
96
129
  TelemetryEvent["AudioToggleButtonClicked"] = "AudioToggleButtonClicked";
130
+ TelemetryEvent["SuppressBotMagicCodeSucceeded"] = "SuppressBotMagicCodeSucceeded";
131
+ TelemetryEvent["SuppressBotMagicCodeFailed"] = "SuppressBotMagicCodeFailed";
132
+ TelemetryEvent["GetConversationDetailsException"] = "GetConversationDetailsException";
133
+ TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
134
+ TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
135
+ TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
97
136
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
98
137
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
99
138
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
@@ -105,6 +144,7 @@ export let TelemetryEvent;
105
144
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
106
145
  TelemetryEvent["SendTypingIndicatorSucceeded"] = "SendTypingIndicatorSucceeded";
107
146
  TelemetryEvent["SendTypingIndicatorFailed"] = "SendTypingIndicatorFailed";
147
+ TelemetryEvent["WebChatEvent"] = "WebChatEvent";
108
148
  TelemetryEvent["PreChatSurveyStartChatMethodFailed"] = "PreChatSurveyStartChatMethodFailed";
109
149
  TelemetryEvent["ChatAlreadyTriggered"] = "ChatAlreadyTriggered";
110
150
  TelemetryEvent["StartProactiveChatEventReceived"] = "StartProactiveChatEventReceived";
@@ -113,12 +153,12 @@ export let TelemetryEvent;
113
153
  TelemetryEvent["ProactiveChatRejected"] = "ProactiveChatRejected";
114
154
  TelemetryEvent["IncomingProactiveChatScreenLoaded"] = "IncomingProactiveChatScreenLoaded";
115
155
  TelemetryEvent["ProactiveChatClosed"] = "ProactiveChatClosed";
116
- TelemetryEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
117
- TelemetryEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
118
156
  TelemetryEvent["ReconnectChatContinueConversation"] = "ReconnectChatContinueConversation";
119
157
  TelemetryEvent["ReconnectChatStartNewConversation"] = "ReconnectChatStartNewConversation";
120
158
  TelemetryEvent["ReconnectChatMinimize"] = "ReconnectChatMinimize";
121
- TelemetryEvent["ChatWidgetStateChanged"] = "ChatWidgetStateChanged";
159
+ TelemetryEvent["MessageSent"] = "MessageSent";
160
+ TelemetryEvent["MessageReceived"] = "MessageReceived";
161
+ TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
122
162
  })(TelemetryEvent || (TelemetryEvent = {}));
123
163
 
124
164
  export class TelemetryConstants {
@@ -134,6 +174,7 @@ export class TelemetryConstants {
134
174
  case TelemetryEvent.LCWChatButtonShow:
135
175
  case TelemetryEvent.PrechatSurveyLoaded:
136
176
  case TelemetryEvent.LoadingPaneLoaded:
177
+ case TelemetryEvent.PostChatSurveyLoadingPaneLoaded:
137
178
  case TelemetryEvent.PostChatSurveyLoaded:
138
179
  case TelemetryEvent.EmailTranscriptLoaded:
139
180
  case TelemetryEvent.OutOfOfficePaneLoaded:
@@ -160,15 +201,23 @@ export class TelemetryConstants {
160
201
  case TelemetryEvent.PreChatSurveyStartChatMethodFailed:
161
202
  case TelemetryEvent.HeaderCloseButtonClicked:
162
203
  case TelemetryEvent.HeaderMinimizeButtonClicked:
204
+ case TelemetryEvent.MessageSent:
205
+ case TelemetryEvent.MessageReceived:
206
+ case TelemetryEvent.CustomContextReceived:
207
+ case TelemetryEvent.BrowserUnloadEventStarted:
163
208
  return ScenarioType.ACTIONS;
164
209
 
165
210
  case TelemetryEvent.StartChatSDKCall:
211
+ case TelemetryEvent.StartChatEventRecevied:
166
212
  case TelemetryEvent.StartChatMethodException:
167
213
  case TelemetryEvent.CloseChatMethodException:
214
+ case TelemetryEvent.StartProactiveChatEventReceived:
168
215
  case TelemetryEvent.StartProactiveChatMethodFailed:
169
216
  case TelemetryEvent.OnNewMessageFailed:
170
217
  case TelemetryEvent.OnNewMessageAudioNotificationFailed:
171
218
  case TelemetryEvent.GetConversationDetailsCallFailed:
219
+ case TelemetryEvent.EndChatSDKCall:
220
+ case TelemetryEvent.EndChatEventReceived:
172
221
  case TelemetryEvent.EndChatSDKCallFailed:
173
222
  case TelemetryEvent.PostChatContextCallFailed:
174
223
  case TelemetryEvent.PostChatContextCallSucceed:
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
- import { ScenarioType } from "./TelemetryConstants";
3
+ import { ScenarioType, TelemetryEvent } from "./TelemetryConstants";
4
4
  import { newGuid } from "../utils";
5
5
  import { TelemetryManager } from "./TelemetryManager";
6
6
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
@@ -259,4 +259,16 @@ _defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
259
259
  }
260
260
  };
261
261
  BroadcastService.postMessage(telemetryEvent);
262
+ });
263
+
264
+ _defineProperty(TelemetryHelper, "logWebChatEvent", (logLevel, payload) => {
265
+ const telemetryEvent = {
266
+ eventName: TelemetryEvent.WebChatEvent,
267
+ logLevel: logLevel,
268
+ payload: { ...payload,
269
+ type: TelemetryEvent.WebChatEvent,
270
+ scenarioType: ScenarioType.WEBCHAT
271
+ }
272
+ };
273
+ BroadcastService.postMessage(telemetryEvent);
262
274
  });
@@ -4,6 +4,8 @@ import { LogLevel, ScenarioType, TelemetryConstants, TelemetryEvent } from "./Te
4
4
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
5
5
  import { ariaTelemetryLogger } from "./loggers/ariaTelemetryLogger";
6
6
  import { consoleLogger } from "./loggers/consoleLogger";
7
+ import { defaultAriaConfig } from "./defaultConfigs/defaultAriaConfig";
8
+ import { TelemetryHelper } from "./TelemetryHelper";
7
9
  export class TelemetryTimers {}
8
10
 
9
11
  _defineProperty(TelemetryTimers, "LcwLoadToChatButtonTimer", void 0);
@@ -26,25 +28,25 @@ export const RegisterLoggers = () => {
26
28
  const registerLoggers = () => {
27
29
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
28
30
 
29
- if (!((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int !== void 0 && (_TelemetryManager$Int2 = _TelemetryManager$Int.telemetryConfig) !== null && _TelemetryManager$Int2 !== void 0 && _TelemetryManager$Int2.disableConsoleLog) || !((_TelemetryManager$Int3 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int3 !== void 0 && (_TelemetryManager$Int4 = _TelemetryManager$Int3.telemetryConfig) !== null && _TelemetryManager$Int4 !== void 0 && _TelemetryManager$Int4.telemetryDisabled)) {
31
+ if (((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : (_TelemetryManager$Int2 = _TelemetryManager$Int.telemetryConfig) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.disableConsoleLog) === false || ((_TelemetryManager$Int3 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int3 === void 0 ? void 0 : (_TelemetryManager$Int4 = _TelemetryManager$Int3.telemetryConfig) === null || _TelemetryManager$Int4 === void 0 ? void 0 : _TelemetryManager$Int4.telemetryDisabled) === false) {
30
32
  BroadcastService.getAnyMessage().subscribe(event => {
31
- if (event.payload && event.eventName !== TelemetryEvent.ChatWidgetStateChanged) {
33
+ if (event.payload && event.eventName in TelemetryEvent) {
32
34
  logTelemetry(event);
33
35
  }
34
36
  });
35
37
  }
36
38
 
37
- if (!((_TelemetryManager$Int5 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int5 !== void 0 && (_TelemetryManager$Int6 = _TelemetryManager$Int5.telemetryConfig) !== null && _TelemetryManager$Int6 !== void 0 && _TelemetryManager$Int6.disableConsoleLog)) {
39
+ if (((_TelemetryManager$Int5 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int5 === void 0 ? void 0 : (_TelemetryManager$Int6 = _TelemetryManager$Int5.telemetryConfig) === null || _TelemetryManager$Int6 === void 0 ? void 0 : _TelemetryManager$Int6.disableConsoleLog) === false) {
38
40
  loggers.push(consoleLogger());
39
41
  }
40
42
 
41
- if (!((_TelemetryManager$Int7 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int7 !== void 0 && (_TelemetryManager$Int8 = _TelemetryManager$Int7.telemetryConfig) !== null && _TelemetryManager$Int8 !== void 0 && _TelemetryManager$Int8.telemetryDisabled)) {
43
+ if (((_TelemetryManager$Int7 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int7 === void 0 ? void 0 : (_TelemetryManager$Int8 = _TelemetryManager$Int7.telemetryConfig) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.telemetryDisabled) === false) {
42
44
  var _TelemetryManager$Int9, _TelemetryManager$Int18, _TelemetryManager$Int19;
43
45
 
44
46
  if ((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int9 !== void 0 && _TelemetryManager$Int9.ariaConfig) {
45
47
  var _TelemetryManager$Int10, _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17;
46
48
 
47
- loggers.push(ariaTelemetryLogger(((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : (_TelemetryManager$Int11 = _TelemetryManager$Int10.ariaConfig) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.ariaTelemetryKey) ?? "", ((_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : (_TelemetryManager$Int13 = _TelemetryManager$Int12.ariaConfig) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.disableCookieUsage) ?? false, ((_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : (_TelemetryManager$Int15 = _TelemetryManager$Int14.ariaConfig) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.collectorUriForTelemetry) ?? "", ((_TelemetryManager$Int16 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : (_TelemetryManager$Int17 = _TelemetryManager$Int16.ariaConfig) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.ariaTelemetryApplicationName) ?? "OmniChannelProd_Web"));
49
+ loggers.push(ariaTelemetryLogger(((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : (_TelemetryManager$Int11 = _TelemetryManager$Int10.ariaConfig) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.ariaTelemetryKey) ?? defaultAriaConfig.ariaTelemetryKey, ((_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : (_TelemetryManager$Int13 = _TelemetryManager$Int12.ariaConfig) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.disableCookieUsage) ?? defaultAriaConfig.disableCookieUsage, ((_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : (_TelemetryManager$Int15 = _TelemetryManager$Int14.ariaConfig) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.collectorUriForTelemetry) ?? defaultAriaConfig.collectorUriForTelemetry, ((_TelemetryManager$Int16 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : (_TelemetryManager$Int17 = _TelemetryManager$Int16.ariaConfig) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.ariaTelemetryApplicationName) ?? defaultAriaConfig.ariaTelemetryApplicationName));
48
50
  }
49
51
 
50
52
  const customLoggers = (_TelemetryManager$Int18 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int18 === void 0 ? void 0 : (_TelemetryManager$Int19 = _TelemetryManager$Int18.telemetryConfig) === null || _TelemetryManager$Int19 === void 0 ? void 0 : _TelemetryManager$Int19.telemetryLoggers;
@@ -67,8 +69,15 @@ export const RegisterLoggers = () => {
67
69
 
68
70
  const logTelemetry = telemetryEvent => {
69
71
  loggers.map(logger => {
72
+ var _payload;
73
+
70
74
  const logLevel = telemetryEvent.logLevel ?? LogLevel.INFO;
71
- logger.log(logLevel, parseInput(telemetryEvent === null || telemetryEvent === void 0 ? void 0 : telemetryEvent.payload));
75
+ const scenarioType = ((_payload = telemetryEvent.payload) === null || _payload === void 0 ? void 0 : _payload.scenarioType) ?? ScenarioType.UNDEFINED;
76
+ const telemetryInput = parseInput(telemetryEvent === null || telemetryEvent === void 0 ? void 0 : telemetryEvent.payload, scenarioType);
77
+ telemetryInput.telemetryInfo = {
78
+ telemetryInfo: TelemetryHelper.buildTelemetryEvent(logLevel, telemetryInput)
79
+ };
80
+ logger.log(logLevel, telemetryInput);
72
81
  });
73
82
  };
74
83
 
@@ -1,6 +1,6 @@
1
1
  export const defaultAriaConfig = {
2
2
  collectorUriForTelemetry: "",
3
3
  ariaTelemetryKey: "c7655518acf1403f93ff6b9f77942f0a-d01a02fd-6b50-4de3-a566-62eda11f93bc-7083",
4
- ariaTelemetryApplicationName: "",
4
+ ariaTelemetryApplicationName: "D365_Omnichannel_Client_Public_Prod",
5
5
  disableCookieUsage: true
6
6
  };
@@ -3,5 +3,8 @@ export const defaultTelemetryConfiguration = {
3
3
  telemetryDisabled: false,
4
4
  disableConsoleLog: false,
5
5
  telemetryLoggers: [],
6
- ariaConfigurations: defaultAriaConfig
6
+ ariaConfigurations: defaultAriaConfig,
7
+ chatWidgetVersion: "0.0.0-0",
8
+ chatComponentVersion: "0.0.0-0",
9
+ OCChatSDKVersion: "0.0.0-0"
7
10
  };