@microsoft/omnichannel-chat-widget 0.1.0-main.86df755 → 0.1.0-main.886e5cf

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 (186) hide show
  1. package/README.md +259 -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 +52 -4
  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 +59 -4
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +22 -4
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +28 -9
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +48 -15
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -5
  14. package/lib/cjs/common/utils.js +76 -2
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +28 -5
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -54
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  19. package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
  20. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  21. package/lib/cjs/components/headerstateful/HeaderStateful.js +13 -10
  22. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
  23. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +53 -48
  24. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +14 -0
  25. package/lib/cjs/components/livechatwidget/common/endChat.js +142 -43
  26. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  27. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +48 -11
  28. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +107 -22
  29. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -7
  30. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +22 -24
  31. package/lib/cjs/components/livechatwidget/common/startChat.js +179 -41
  32. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  33. package/lib/cjs/components/livechatwidget/interfaces/IAuthProps.js +1 -0
  34. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +249 -67
  35. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  36. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  37. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  38. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  39. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -5
  40. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  41. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
  42. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  43. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  44. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  46. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  47. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  48. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  49. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  50. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  51. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  52. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  53. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  54. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +13 -7
  55. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +13 -5
  56. package/lib/cjs/contexts/createReducer.js +43 -10
  57. package/lib/cjs/controller/componentController.js +5 -5
  58. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  59. package/lib/esm/assets/Audios.js +1 -0
  60. package/lib/esm/assets/Icons.js +11 -0
  61. package/lib/esm/common/Constants.js +48 -3
  62. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  63. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  64. package/lib/esm/common/telemetry/TelemetryConstants.js +55 -3
  65. package/lib/esm/common/telemetry/TelemetryHelper.js +22 -5
  66. package/lib/esm/common/telemetry/TelemetryManager.js +22 -9
  67. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  68. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  69. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +50 -15
  70. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -5
  71. package/lib/esm/common/utils.js +55 -1
  72. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  73. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +31 -8
  74. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -50
  75. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  76. package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
  77. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  78. package/lib/esm/components/headerstateful/HeaderStateful.js +14 -11
  79. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  80. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +51 -49
  81. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  82. package/lib/esm/components/livechatwidget/common/endChat.js +139 -42
  83. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  84. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +42 -12
  85. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -23
  86. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -3
  87. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -22
  88. package/lib/esm/components/livechatwidget/common/startChat.js +172 -39
  89. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  90. package/lib/esm/components/livechatwidget/interfaces/IAuthProps.js +1 -0
  91. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +235 -71
  92. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  93. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  94. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  95. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  96. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -6
  97. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  98. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
  99. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  100. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  101. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  102. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  103. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  104. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  105. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  106. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  107. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  108. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  109. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  110. package/lib/esm/contexts/common/ConversationState.js +4 -2
  111. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +13 -7
  112. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +13 -5
  113. package/lib/esm/contexts/createReducer.js +43 -9
  114. package/lib/esm/controller/componentController.js +5 -5
  115. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  116. package/lib/types/assets/Audios.d.ts +1 -0
  117. package/lib/types/assets/Icons.d.ts +11 -0
  118. package/lib/types/common/Constants.d.ts +26 -1
  119. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  120. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  121. package/lib/types/common/telemetry/TelemetryConstants.d.ts +43 -2
  122. package/lib/types/common/telemetry/TelemetryHelper.d.ts +3 -1
  123. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  124. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  125. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  126. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  127. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  128. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  129. package/lib/types/common/utils.d.ts +6 -0
  130. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  131. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  132. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -1
  133. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
  134. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  135. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  136. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  137. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  138. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  139. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  140. package/lib/types/components/livechatwidget/interfaces/IAuthProps.d.ts +4 -0
  141. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  142. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -1
  143. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  144. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  145. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  146. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  147. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  148. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  149. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  150. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  151. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +1 -2
  152. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +1 -1
  153. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  154. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  155. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  156. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  157. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  158. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -1
  159. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +14 -8
  160. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  161. package/package.json +11 -11
  162. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  163. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  164. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  165. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  166. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  167. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  168. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  169. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  170. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  171. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  172. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  173. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  174. package/lib/esm/assets/assets.d.js +0 -0
  175. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  176. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  177. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  178. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  179. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  180. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  181. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  182. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  183. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  184. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  185. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  186. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -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");
@@ -66,6 +74,14 @@ _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
66
74
 
67
75
  _defineProperty(Constants, "message", "message");
68
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
+
69
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"]);
70
86
 
71
87
  _defineProperty(Constants, "maxUploadFileSize", "500000");
@@ -116,8 +132,6 @@ _defineProperty(Constants, "InputSubmit", "InputSubmit");
116
132
 
117
133
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
118
134
 
119
- _defineProperty(Constants, "redirectPageRequest", "redirectPageRequest");
120
-
121
135
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
122
136
 
123
137
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
@@ -142,6 +156,10 @@ _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azur
142
156
 
143
157
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
144
158
 
159
+ _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
160
+
161
+ _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
162
+
145
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);
146
164
  export class HtmlIdNames {}
147
165
 
@@ -251,6 +269,15 @@ export let ChatSDKError;
251
269
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
252
270
  })(ChatSDKError || (ChatSDKError = {}));
253
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
+
254
281
  export class TranscriptConstants {}
255
282
 
256
283
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
@@ -271,4 +298,22 @@ _defineProperty(TranscriptConstants, "InternalMode", "internal");
271
298
 
272
299
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
273
300
 
274
- _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"]);
@@ -0,0 +1,5 @@
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
+
3
+ export class DataStoreManager {}
4
+
5
+ _defineProperty(DataStoreManager, "clientDataStore", void 0);
@@ -0,0 +1 @@
1
+ export {};
@@ -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,10 @@ 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";
97
134
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
98
135
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
99
136
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
@@ -105,7 +142,10 @@ export let TelemetryEvent;
105
142
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
106
143
  TelemetryEvent["SendTypingIndicatorSucceeded"] = "SendTypingIndicatorSucceeded";
107
144
  TelemetryEvent["SendTypingIndicatorFailed"] = "SendTypingIndicatorFailed";
145
+ TelemetryEvent["WebChatEvent"] = "WebChatEvent";
108
146
  TelemetryEvent["PreChatSurveyStartChatMethodFailed"] = "PreChatSurveyStartChatMethodFailed";
147
+ TelemetryEvent["ChatAlreadyTriggered"] = "ChatAlreadyTriggered";
148
+ TelemetryEvent["StartProactiveChatEventReceived"] = "StartProactiveChatEventReceived";
109
149
  TelemetryEvent["StartProactiveChatMethodFailed"] = "StartProactiveChatMethodFailed";
110
150
  TelemetryEvent["ProactiveChatAccepted"] = "ProactiveChatAccepted";
111
151
  TelemetryEvent["ProactiveChatRejected"] = "ProactiveChatRejected";
@@ -114,12 +154,14 @@ export let TelemetryEvent;
114
154
  TelemetryEvent["ReconnectChatContinueConversation"] = "ReconnectChatContinueConversation";
115
155
  TelemetryEvent["ReconnectChatStartNewConversation"] = "ReconnectChatStartNewConversation";
116
156
  TelemetryEvent["ReconnectChatMinimize"] = "ReconnectChatMinimize";
157
+ TelemetryEvent["MessageSent"] = "MessageSent";
158
+ TelemetryEvent["MessageReceived"] = "MessageReceived";
159
+ TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
117
160
  })(TelemetryEvent || (TelemetryEvent = {}));
118
161
 
119
162
  export class TelemetryConstants {
120
163
  static map(eventTypeOrScenarioType) {
121
164
  switch (eventTypeOrScenarioType) {
122
- case TelemetryEvent.StartChatSDKCall:
123
165
  case TelemetryEvent.ParseAdaptiveCardFailed:
124
166
  return ScenarioType.CONFIG_VALIDATION;
125
167
 
@@ -130,6 +172,7 @@ export class TelemetryConstants {
130
172
  case TelemetryEvent.LCWChatButtonShow:
131
173
  case TelemetryEvent.PrechatSurveyLoaded:
132
174
  case TelemetryEvent.LoadingPaneLoaded:
175
+ case TelemetryEvent.PostChatSurveyLoadingPaneLoaded:
133
176
  case TelemetryEvent.PostChatSurveyLoaded:
134
177
  case TelemetryEvent.EmailTranscriptLoaded:
135
178
  case TelemetryEvent.OutOfOfficePaneLoaded:
@@ -156,14 +199,23 @@ export class TelemetryConstants {
156
199
  case TelemetryEvent.PreChatSurveyStartChatMethodFailed:
157
200
  case TelemetryEvent.HeaderCloseButtonClicked:
158
201
  case TelemetryEvent.HeaderMinimizeButtonClicked:
202
+ case TelemetryEvent.MessageSent:
203
+ case TelemetryEvent.MessageReceived:
204
+ case TelemetryEvent.CustomContextReceived:
205
+ case TelemetryEvent.BrowserUnloadEventStarted:
159
206
  return ScenarioType.ACTIONS;
160
207
 
208
+ case TelemetryEvent.StartChatSDKCall:
209
+ case TelemetryEvent.StartChatEventRecevied:
161
210
  case TelemetryEvent.StartChatMethodException:
162
211
  case TelemetryEvent.CloseChatMethodException:
212
+ case TelemetryEvent.StartProactiveChatEventReceived:
163
213
  case TelemetryEvent.StartProactiveChatMethodFailed:
164
214
  case TelemetryEvent.OnNewMessageFailed:
165
215
  case TelemetryEvent.OnNewMessageAudioNotificationFailed:
166
216
  case TelemetryEvent.GetConversationDetailsCallFailed:
217
+ case TelemetryEvent.EndChatSDKCall:
218
+ case TelemetryEvent.EndChatEventReceived:
167
219
  case TelemetryEvent.EndChatSDKCallFailed:
168
220
  case TelemetryEvent.PostChatContextCallFailed:
169
221
  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";
@@ -98,6 +98,8 @@ export class TelemetryHelper {
98
98
  static conformToLoadContract(level, input) {
99
99
  const payload = input.payload;
100
100
  return TelemetryHelper.populate(level, payload, event => {
101
+ var _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13;
102
+
101
103
  event.Event = payload.Event;
102
104
  event.ResourcePath = payload.ResourcePath;
103
105
  event.WidgetState = payload.WidgetState;
@@ -105,16 +107,19 @@ export class TelemetryHelper {
105
107
  event.ChatType = payload.ChatType;
106
108
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
107
109
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
110
+ event.OCChatSDKVersion = ((_TelemetryManager$Int11 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.OCChatSDKVersion) ?? "";
111
+ event.OCChatWidgetVersion = ((_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : _TelemetryManager$Int12.chatWidgetVersion) ?? "";
112
+ event.OCChatComponentsVersion = ((_TelemetryManager$Int13 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatComponentVersion) ?? "";
108
113
  });
109
114
  }
110
115
 
111
116
  static conformToIC3ClientContract(level, input) {
112
117
  const payload = input.payload;
113
118
  return TelemetryHelper.populate(level, payload, event => {
114
- var _TelemetryManager$Int11;
119
+ var _TelemetryManager$Int14;
115
120
 
116
121
  event.Event = payload.Event;
117
- event.IC3ClientVersion = (_TelemetryManager$Int11 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.IC3ClientVersion;
122
+ event.IC3ClientVersion = (_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.IC3ClientVersion;
118
123
  event.SubscriptionId = payload.SubscriptionId;
119
124
  event.EndpointUrl = payload.EndpointUrl;
120
125
  event.EndpointId = payload.EndpointId;
@@ -233,14 +238,14 @@ _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
233
238
  });
234
239
 
235
240
  _defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
236
- var _TelemetryManager$Int12;
241
+ var _TelemetryManager$Int15;
237
242
 
238
243
  const telemetryEvent = {
239
244
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
240
245
  logLevel: logLevel,
241
246
  payload: { ...payload,
242
247
  TransactionId: newGuid(),
243
- RequestId: (_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : _TelemetryManager$Int12.currentRequestId
248
+ RequestId: (_TelemetryManager$Int15 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.currentRequestId
244
249
  }
245
250
  };
246
251
  BroadcastService.postMessage(telemetryEvent);
@@ -254,4 +259,16 @@ _defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
254
259
  }
255
260
  };
256
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);
257
274
  });
@@ -1,9 +1,11 @@
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 { LogLevel, ScenarioType, TelemetryConstants } from "./TelemetryConstants";
3
+ import { LogLevel, ScenarioType, TelemetryConstants, TelemetryEvent } from "./TelemetryConstants";
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);
@@ -16,31 +18,35 @@ export class TelemetryManager {}
16
18
 
17
19
  _defineProperty(TelemetryManager, "InternalTelemetryData", void 0);
18
20
 
21
+ const loggers = [];
22
+ export const disposeLoggers = () => {
23
+ loggers.map(logger => {
24
+ logger.dispose();
25
+ });
26
+ };
19
27
  export const RegisterLoggers = () => {
20
- const loggers = [];
21
-
22
28
  const registerLoggers = () => {
23
29
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
24
30
 
25
- 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) {
26
32
  BroadcastService.getAnyMessage().subscribe(event => {
27
- if (event.payload) {
33
+ if (event.payload && event.eventName in TelemetryEvent) {
28
34
  logTelemetry(event);
29
35
  }
30
36
  });
31
37
  }
32
38
 
33
- 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) {
34
40
  loggers.push(consoleLogger());
35
41
  }
36
42
 
37
- 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) {
38
44
  var _TelemetryManager$Int9, _TelemetryManager$Int18, _TelemetryManager$Int19;
39
45
 
40
46
  if ((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int9 !== void 0 && _TelemetryManager$Int9.ariaConfig) {
41
47
  var _TelemetryManager$Int10, _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17;
42
48
 
43
- 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));
44
50
  }
45
51
 
46
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;
@@ -63,8 +69,15 @@ export const RegisterLoggers = () => {
63
69
 
64
70
  const logTelemetry = telemetryEvent => {
65
71
  loggers.map(logger => {
72
+ var _payload;
73
+
66
74
  const logLevel = telemetryEvent.logLevel ?? LogLevel.INFO;
67
- 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);
68
81
  });
69
82
  };
70
83
 
@@ -1,6 +1,6 @@
1
1
  export const defaultAriaConfig = {
2
- collectorUriForTelemetry: "https://browser.pipe.aria.microsoft.com/Collector/3.0/",
3
- ariaTelemetryKey: "1574efd98545488983328fac0c9bcb59-45c2ff50-ebcc-473d-949d-e3134ef2189e-6906",
4
- ariaTelemetryApplicationName: "D365_Omnichannel_Client_Sandbox",
2
+ collectorUriForTelemetry: "",
3
+ ariaTelemetryKey: "c7655518acf1403f93ff6b9f77942f0a-d01a02fd-6b50-4de3-a566-62eda11f93bc-7083",
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
  };
@@ -1,9 +1,9 @@
1
- import { isNullOrEmptyString, isNullOrUndefined } from "../../utils";
1
+ import { getDomain, isNullOrEmptyString, isNullOrUndefined } from "../../utils";
2
2
  import AWTEventProperties from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTEventProperties";
3
3
  import AWTLogManager from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTLogManager";
4
4
  import { AWTPiiKind } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums";
5
- import { Constants } from "../../Constants";
6
- import { TelemetryHelper } from "../TelemetryHelper";
5
+ import { Constants, AriaTelemetryConstants, EnvironmentVersion } from "../../Constants";
6
+ import { TelemetryManager } from "../TelemetryManager";
7
7
  export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUriForTelemetry, ariaTelemetryApplicationName) => {
8
8
  let _logger;
9
9
 
@@ -15,9 +15,32 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
15
15
 
16
16
  if (!isNullOrEmptyString(collectiorUriForTelemetry)) {
17
17
  configuration.collectorUri = collectiorUriForTelemetry;
18
+ } else {
19
+ if (TelemetryManager.InternalTelemetryData.environmentVersion == EnvironmentVersion.prod) {
20
+ var _TelemetryManager$Int;
21
+
22
+ const orgUrl = (_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.orgUrl;
23
+
24
+ if (!isNullOrUndefined(orgUrl)) {
25
+ // If the given org is a Production EU org, modify the Aria collector uri
26
+ const region = getDomain(orgUrl);
27
+
28
+ if (region === AriaTelemetryConstants.EU) {
29
+ configuration.collectorUri = AriaTelemetryConstants.EUROPE_ENDPOINT;
30
+ }
31
+ }
32
+ }
18
33
  }
19
34
 
20
- _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
35
+ try {
36
+ _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
37
+
38
+ if (_logger === undefined) {
39
+ _logger = AWTLogManager.getLogger(ariaTelemetryKey);
40
+ }
41
+ } catch (error) {
42
+ console.log(error);
43
+ }
21
44
  }
22
45
 
23
46
  return _logger;
@@ -25,18 +48,30 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
25
48
 
26
49
  const ariaLogger = {
27
50
  log: (logLevel, telemetryInput) => {
28
- let property;
29
- const eventProperties = new AWTEventProperties();
30
- const event = TelemetryHelper.buildTelemetryEvent(logLevel, telemetryInput);
31
- eventProperties.setName(telemetryInput.scenarioType);
32
-
33
- for (const key of Object.keys(event)) {
34
- property = typeof event[key] === "object" ? JSON.stringify(event[key]) : event[key];
35
- eventProperties.setProperty(key, property);
36
- }
51
+ try {
52
+ let property;
53
+ const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo;
54
+ const eventProperties = new AWTEventProperties();
55
+ eventProperties.setName(telemetryInput.scenarioType);
56
+
57
+ if (telemetryInfo) {
58
+ for (const key of Object.keys(telemetryInfo)) {
59
+ property = typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key];
60
+ eventProperties.setProperty(key, property);
61
+ }
37
62
 
38
- eventProperties.setPropertyWithPii(ariaTelemetryApplicationName, Constants.LiveChatWidget, AWTPiiKind.GenericData);
39
- logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
63
+ eventProperties.setPropertyWithPii(ariaTelemetryApplicationName, Constants.LiveChatWidget, AWTPiiKind.GenericData);
64
+ }
65
+
66
+ logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
67
+ } catch (error) {
68
+ console.error("Error in logging telemetry to Aria logger:" + error);
69
+ }
70
+ },
71
+ dispose: () => {
72
+ AWTLogManager.flush(function () {
73
+ console.log("Aria logger disposed");
74
+ });
40
75
  }
41
76
  };
42
77
  return ariaLogger;
@@ -4,32 +4,36 @@ export const consoleLogger = () => {
4
4
  const consoleLogger = {
5
5
  log: (logLevel, telemetryInput) => {
6
6
  const payload = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.payload && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload : "";
7
+ const telemetryInfo = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.telemetryInfo && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo : "";
7
8
 
8
9
  try {
9
10
  switch (logLevel) {
10
11
  case LogLevel.INFO:
11
- console.info(Constants.LiveChatWidget, payload);
12
+ console.info(Constants.LiveChatWidget, payload, telemetryInfo);
12
13
  break;
13
14
 
14
15
  case LogLevel.DEBUG:
15
- console.debug(Constants.LiveChatWidget, payload);
16
+ console.debug(Constants.LiveChatWidget, payload, telemetryInfo);
16
17
  break;
17
18
 
18
19
  case LogLevel.WARN:
19
- console.warn(Constants.LiveChatWidget, payload);
20
+ console.warn(Constants.LiveChatWidget, payload, telemetryInfo);
20
21
  break;
21
22
 
22
23
  case LogLevel.ERROR:
23
- console.error(Constants.LiveChatWidget, payload);
24
+ console.error(Constants.LiveChatWidget, payload, telemetryInfo);
24
25
  break;
25
26
 
26
27
  default:
27
- console.debug(Constants.LiveChatWidget, payload);
28
+ console.debug(Constants.LiveChatWidget, payload, telemetryInfo);
28
29
  break;
29
30
  }
30
31
  } catch (ex) {
31
32
  console.error("An unexpected error occurred in the Telemetry client: " + ex);
32
33
  }
34
+ },
35
+ dispose: () => {
36
+ console.log("disposing loggers");
33
37
  }
34
38
  };
35
39
  return consoleLogger;
@@ -1,5 +1,7 @@
1
- import { Constants, LocaleConstants } from "./Constants";
1
+ import { AriaTelemetryConstants, Constants, LocaleConstants } from "./Constants";
2
+ import { DataStoreManager } from "./contextDataStore/DataStoreManager";
2
3
  import { KeyCodes } from "./KeyCodes";
4
+ import { BroadcastEvent } from "./telemetry/TelemetryConstants";
3
5
 
4
6
  const getElementBySelector = selector => {
5
7
  let element;
@@ -276,4 +278,56 @@ export const createTimer = () => {
276
278
  }
277
279
 
278
280
  };
281
+ }; // Returns the domain of the org
282
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
283
+
284
+ export const getDomain = hostValue => {
285
+ for (let i = 0; i < AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
286
+ if (hostValue.endsWith(AriaTelemetryConstants.lcwEUDomainNames[i])) {
287
+ return AriaTelemetryConstants.EU;
288
+ }
289
+ }
290
+
291
+ return AriaTelemetryConstants.Public;
292
+ };
293
+ export const getWidgetCacheId = (orgId, widgetId) => {
294
+ return `${Constants.ChatWidgetStateChangedPrefix}_${orgId}_${widgetId}`;
295
+ };
296
+ export const getWidgetEndChatEventName = (orgId, widgetId) => {
297
+ return `${BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
298
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
+
300
+ export const getStateFromCache = (orgId, widgetId) => {
301
+ // Getting updated state from cache
302
+ try {
303
+ if (DataStoreManager.clientDataStore) {
304
+ var _DataStoreManager$cli;
305
+
306
+ const widgetStateEventName = getWidgetCacheId(orgId, widgetId);
307
+ const widgetStateFromCache = (_DataStoreManager$cli = DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
308
+ const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
309
+ return persistedState;
310
+ } else {
311
+ return null;
312
+ }
313
+ } catch (error) {
314
+ console.log(error);
315
+ return null;
316
+ }
317
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
318
+
319
+ export const isUndefinedOrEmpty = object => {
320
+ if (object) {
321
+ if (Object.keys(object).length === 0) {
322
+ return true;
323
+ }
324
+
325
+ return false;
326
+ } else {
327
+ return true;
328
+ }
329
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
330
+
331
+ export const addDelayInMs = ms => {
332
+ return new Promise(resolve => setTimeout(resolve, ms));
279
333
  };
@@ -177,6 +177,20 @@ export const CallingContainerStateful = props => {
177
177
  });
178
178
  }
179
179
  });
180
+ window.addEventListener("beforeunload", () => {
181
+ if (state.uiStates.isIncomingCall) {
182
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.rejectCall();
183
+ } else {
184
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.stopCall();
185
+ }
186
+
187
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.close();
188
+ dispatch({
189
+ type: LiveChatWidgetActionType.SET_E2VV_ENABLED,
190
+ payload: false
191
+ });
192
+ resetCallingStates(true);
193
+ });
180
194
  }, []);
181
195
  const controlProps = {
182
196
  id: "oc-lcw-callingcontainer",