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

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 (302) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/common/Constants.js +31 -150
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +67 -20
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +24 -54
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +14 -34
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  15. package/lib/cjs/common/utils.js +80 -80
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +19 -43
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +12 -72
  19. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -37
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  32. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  33. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  34. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  35. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  36. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  37. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  38. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +73 -51
  40. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  41. package/lib/cjs/components/livechatwidget/common/endChat.js +80 -22
  42. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  43. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  44. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  45. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +47 -52
  46. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +128 -57
  47. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  48. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -15
  49. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  50. package/lib/cjs/components/livechatwidget/common/startChat.js +157 -77
  51. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  52. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  53. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +289 -142
  54. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  55. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  56. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  57. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -23
  58. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  59. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  60. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  61. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -35
  62. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  63. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  65. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  66. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  67. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  68. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -15
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  70. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  71. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  72. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  73. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -60
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -18
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  116. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  117. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  118. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  119. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  120. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -9
  121. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -10
  122. package/lib/cjs/contexts/createReducer.js +150 -107
  123. package/lib/cjs/controller/componentController.js +3 -32
  124. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  125. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  126. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  127. package/lib/cjs/index.js +0 -5
  128. package/lib/cjs/plugins/newMessageEventHandler.js +78 -0
  129. package/lib/esm/common/Constants.js +28 -138
  130. package/lib/esm/common/KeyCodes.js +0 -2
  131. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  132. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  133. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  134. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  135. package/lib/esm/common/telemetry/TelemetryConstants.js +66 -15
  136. package/lib/esm/common/telemetry/TelemetryHelper.js +25 -44
  137. package/lib/esm/common/telemetry/TelemetryManager.js +14 -23
  138. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  139. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  140. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  141. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  142. package/lib/esm/common/utils.js +73 -45
  143. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +19 -14
  144. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  145. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +13 -47
  146. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  147. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  148. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  149. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  150. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  151. package/lib/esm/components/headerstateful/HeaderStateful.js +17 -22
  152. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  153. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  154. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  155. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  156. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  157. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  158. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  159. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  160. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  161. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  162. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  163. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  164. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +75 -39
  165. package/lib/esm/components/livechatwidget/common/endChat.js +84 -14
  166. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  167. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  168. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  169. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +49 -23
  170. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +127 -50
  171. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  172. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
  173. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  174. package/lib/esm/components/livechatwidget/common/startChat.js +161 -61
  175. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  176. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +295 -97
  177. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  178. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  179. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  180. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -11
  181. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  182. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  183. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  184. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +24 -12
  185. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  186. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  187. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  188. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  189. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  190. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  191. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -11
  192. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  193. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  194. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  195. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  196. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -13
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  239. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  240. package/lib/esm/contexts/ChatContextStore.js +2 -1
  241. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  242. package/lib/esm/contexts/common/ConversationState.js +3 -3
  243. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -9
  244. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -6
  245. package/lib/esm/contexts/createReducer.js +150 -103
  246. package/lib/esm/controller/componentController.js +4 -3
  247. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  248. package/lib/esm/hooks/useChatContextStore.js +0 -4
  249. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  250. package/lib/esm/plugins/newMessageEventHandler.js +71 -0
  251. package/lib/types/common/Constants.d.ts +27 -2
  252. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  253. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  254. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  255. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  256. package/lib/types/common/telemetry/TelemetryConstants.d.ts +46 -4
  257. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  258. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  259. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  260. package/lib/types/common/utils.d.ts +8 -1
  261. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
  262. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  263. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  264. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  265. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  266. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  267. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  268. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  269. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  270. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  271. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  272. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  273. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  274. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  275. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  276. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  277. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
  278. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  279. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  280. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  281. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  282. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  283. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  284. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  285. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  286. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  287. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  288. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  289. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  290. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  291. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  292. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  293. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  294. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  295. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  296. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  297. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  298. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  299. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
  300. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  301. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  302. package/package.json +12 -13
@@ -1,5 +1,4 @@
1
1
  export let ScenarioType;
2
-
3
2
  (function (ScenarioType) {
4
3
  ScenarioType["CONFIG_VALIDATION"] = "LCW_ConfigValidationEvents";
5
4
  ScenarioType["LOAD"] = "LCW_LoadEvents";
@@ -12,18 +11,45 @@ export let ScenarioType;
12
11
  ScenarioType["UNDEFINED"] = "LCW_Undefined";
13
12
  ScenarioType["ACS_ADAPTER"] = "LCW_ACSAdapterEvents";
14
13
  })(ScenarioType || (ScenarioType = {}));
15
-
16
14
  export let LogLevel;
17
15
 
16
+ // Events used in certain functionalities that are not being logged
18
17
  (function (LogLevel) {
19
18
  LogLevel["INFO"] = "INFO";
20
19
  LogLevel["DEBUG"] = "DEBUG";
21
20
  LogLevel["WARN"] = "WARN";
22
21
  LogLevel["ERROR"] = "ERROR";
23
22
  })(LogLevel || (LogLevel = {}));
23
+ export let BroadcastEvent;
24
24
 
25
+ // Events being logged
26
+ (function (BroadcastEvent) {
27
+ BroadcastEvent["LoadPostChatSurvey"] = "LoadPostChatSurvey";
28
+ BroadcastEvent["ChatEnded"] = "ChatEnded";
29
+ BroadcastEvent["NewMessageNotification"] = "NewMessageNotification";
30
+ BroadcastEvent["UnreadMessageCount"] = "UnreadMessageCount";
31
+ BroadcastEvent["StartProactiveChat"] = "StartProactiveChat";
32
+ BroadcastEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
33
+ BroadcastEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
34
+ BroadcastEvent["ProactiveChatIsInPopoutMode"] = "ProactiveChatIsInPopoutMode";
35
+ BroadcastEvent["ResetProactiveChatParams"] = "ResetProactiveChatParams";
36
+ BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
37
+ BroadcastEvent["NewMessageSent"] = "NewMessageSent";
38
+ BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
39
+ BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
40
+ BroadcastEvent["StartChat"] = "StartChat";
41
+ BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
42
+ BroadcastEvent["StartUnauthenticatedReconnectChat"] = "StartUnauthenticatedReconnectChat";
43
+ BroadcastEvent["InitiateEndChat"] = "InitiateEndChat";
44
+ BroadcastEvent["SetCustomContext"] = "SetCustomContext";
45
+ BroadcastEvent["ChatRetrievedFromCache"] = "ChatRetrievedFromCache";
46
+ BroadcastEvent["MaximizeChat"] = "MaximizeChat";
47
+ BroadcastEvent["ChatInitiated"] = "ChatInitiated";
48
+ BroadcastEvent["CloseChat"] = "CloseChat";
49
+ BroadcastEvent["InitiateEndChatOnBrowserUnload"] = "InitiateEndChatOnBrowserUnload";
50
+ BroadcastEvent["ClosePopoutWindow"] = "ClosePopoutWindow";
51
+ })(BroadcastEvent || (BroadcastEvent = {}));
25
52
  export let TelemetryEvent;
26
-
27
53
  (function (TelemetryEvent) {
28
54
  TelemetryEvent["CallAdded"] = "CallAdded";
29
55
  TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
@@ -60,6 +86,8 @@ export let TelemetryEvent;
60
86
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
61
87
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
62
88
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
89
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
90
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
63
91
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
64
92
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
65
93
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
@@ -70,7 +98,10 @@ export let TelemetryEvent;
70
98
  TelemetryEvent["PrechatSurveyLoaded"] = "PrechatSurveyLoaded";
71
99
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
72
100
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
73
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
101
+ TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
102
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
103
+ TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
104
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
74
105
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
75
106
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
76
107
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -84,6 +115,7 @@ export let TelemetryEvent;
84
115
  TelemetryEvent["LoadingPaneLoaded"] = "LoadingPaneLoaded";
85
116
  TelemetryEvent["EmailTranscriptLoaded"] = "EmailTranscriptLoaded";
86
117
  TelemetryEvent["OutOfOfficePaneLoaded"] = "OutOfOfficePaneLoaded";
118
+ TelemetryEvent["PostChatSurveyLoadingPaneLoaded"] = "PostChatSurveyLoadingPaneLoaded";
87
119
  TelemetryEvent["PostChatSurveyLoaded"] = "PostChatSurveyLoaded";
88
120
  TelemetryEvent["ConfirmationPaneLoaded"] = "ConfirmationPaneLoaded";
89
121
  TelemetryEvent["ProactiveChatPaneLoaded"] = "ProactiveChatPaneLoaded";
@@ -94,6 +126,12 @@ export let TelemetryEvent;
94
126
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
95
127
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
96
128
  TelemetryEvent["AudioToggleButtonClicked"] = "AudioToggleButtonClicked";
129
+ TelemetryEvent["SuppressBotMagicCodeSucceeded"] = "SuppressBotMagicCodeSucceeded";
130
+ TelemetryEvent["SuppressBotMagicCodeFailed"] = "SuppressBotMagicCodeFailed";
131
+ TelemetryEvent["GetConversationDetailsException"] = "GetConversationDetailsException";
132
+ TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
133
+ TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
134
+ TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
97
135
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
98
136
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
99
137
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
@@ -105,6 +143,7 @@ export let TelemetryEvent;
105
143
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
106
144
  TelemetryEvent["SendTypingIndicatorSucceeded"] = "SendTypingIndicatorSucceeded";
107
145
  TelemetryEvent["SendTypingIndicatorFailed"] = "SendTypingIndicatorFailed";
146
+ TelemetryEvent["WebChatEvent"] = "WebChatEvent";
108
147
  TelemetryEvent["PreChatSurveyStartChatMethodFailed"] = "PreChatSurveyStartChatMethodFailed";
109
148
  TelemetryEvent["ChatAlreadyTriggered"] = "ChatAlreadyTriggered";
110
149
  TelemetryEvent["StartProactiveChatEventReceived"] = "StartProactiveChatEventReceived";
@@ -113,20 +152,24 @@ export let TelemetryEvent;
113
152
  TelemetryEvent["ProactiveChatRejected"] = "ProactiveChatRejected";
114
153
  TelemetryEvent["IncomingProactiveChatScreenLoaded"] = "IncomingProactiveChatScreenLoaded";
115
154
  TelemetryEvent["ProactiveChatClosed"] = "ProactiveChatClosed";
116
- TelemetryEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
117
- TelemetryEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
118
155
  TelemetryEvent["ReconnectChatContinueConversation"] = "ReconnectChatContinueConversation";
119
156
  TelemetryEvent["ReconnectChatStartNewConversation"] = "ReconnectChatStartNewConversation";
120
157
  TelemetryEvent["ReconnectChatMinimize"] = "ReconnectChatMinimize";
121
- TelemetryEvent["ChatWidgetStateChanged"] = "ChatWidgetStateChanged";
158
+ TelemetryEvent["MessageSent"] = "MessageSent";
159
+ TelemetryEvent["MessageReceived"] = "MessageReceived";
160
+ TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
161
+ TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
162
+ TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
122
163
  })(TelemetryEvent || (TelemetryEvent = {}));
123
-
124
164
  export class TelemetryConstants {
125
165
  static map(eventTypeOrScenarioType) {
126
166
  switch (eventTypeOrScenarioType) {
127
167
  case TelemetryEvent.ParseAdaptiveCardFailed:
168
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
169
+ case TelemetryEvent.GetAuthTokenCalled:
170
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
171
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
128
172
  return ScenarioType.CONFIG_VALIDATION;
129
-
130
173
  case TelemetryEvent.WebChatLoaded:
131
174
  case TelemetryEvent.WidgetLoadComplete:
132
175
  case TelemetryEvent.WidgetLoadFailed:
@@ -134,13 +177,13 @@ export class TelemetryConstants {
134
177
  case TelemetryEvent.LCWChatButtonShow:
135
178
  case TelemetryEvent.PrechatSurveyLoaded:
136
179
  case TelemetryEvent.LoadingPaneLoaded:
180
+ case TelemetryEvent.PostChatSurveyLoadingPaneLoaded:
137
181
  case TelemetryEvent.PostChatSurveyLoaded:
138
182
  case TelemetryEvent.EmailTranscriptLoaded:
139
183
  case TelemetryEvent.OutOfOfficePaneLoaded:
140
184
  case TelemetryEvent.ConfirmationPaneLoaded:
141
185
  case TelemetryEvent.ProactiveChatPaneLoaded:
142
186
  return ScenarioType.LOAD;
143
-
144
187
  case TelemetryEvent.PrechatSubmitted:
145
188
  case TelemetryEvent.LCWChatButtonClicked:
146
189
  case TelemetryEvent.ProactiveChatAccepted:
@@ -160,20 +203,31 @@ export class TelemetryConstants {
160
203
  case TelemetryEvent.PreChatSurveyStartChatMethodFailed:
161
204
  case TelemetryEvent.HeaderCloseButtonClicked:
162
205
  case TelemetryEvent.HeaderMinimizeButtonClicked:
206
+ case TelemetryEvent.MessageSent:
207
+ case TelemetryEvent.MessageReceived:
208
+ case TelemetryEvent.CustomContextReceived:
209
+ case TelemetryEvent.BrowserUnloadEventStarted:
210
+ case TelemetryEvent.NetworkDisconnected:
211
+ case TelemetryEvent.NetworkReconnected:
212
+ case TelemetryEvent.AudioToggleButtonClicked:
213
+ case TelemetryEvent.EmailTranscriptCancelButtonClicked:
163
214
  return ScenarioType.ACTIONS;
164
-
165
215
  case TelemetryEvent.StartChatSDKCall:
216
+ case TelemetryEvent.StartChatEventRecevied:
166
217
  case TelemetryEvent.StartChatMethodException:
167
218
  case TelemetryEvent.CloseChatMethodException:
219
+ case TelemetryEvent.StartProactiveChatEventReceived:
168
220
  case TelemetryEvent.StartProactiveChatMethodFailed:
169
221
  case TelemetryEvent.OnNewMessageFailed:
170
222
  case TelemetryEvent.OnNewMessageAudioNotificationFailed:
171
223
  case TelemetryEvent.GetConversationDetailsCallFailed:
224
+ case TelemetryEvent.EndChatSDKCall:
225
+ case TelemetryEvent.EndChatEventReceived:
172
226
  case TelemetryEvent.EndChatSDKCallFailed:
173
227
  case TelemetryEvent.PostChatContextCallFailed:
174
228
  case TelemetryEvent.PostChatContextCallSucceed:
229
+ case TelemetryEvent.GetConversationDetailsException:
175
230
  return ScenarioType.SDK;
176
-
177
231
  case TelemetryEvent.VideoCallAcceptButtonClick:
178
232
  case TelemetryEvent.CallAdded:
179
233
  case TelemetryEvent.LocalVideoStreamAdded:
@@ -204,14 +258,11 @@ export class TelemetryConstants {
204
258
  case TelemetryEvent.CallingSDKLoadSuccess:
205
259
  case TelemetryEvent.CallingSDKLoadFailed:
206
260
  return ScenarioType.CALLING;
207
-
208
261
  default:
209
262
  return ScenarioType.ACTIONS;
210
263
  }
211
264
  }
212
-
213
265
  static mapEventToScenario(eventTypeOrScenarioType) {
214
266
  return TelemetryConstants.map(eventTypeOrScenarioType);
215
267
  }
216
-
217
268
  }
@@ -1,6 +1,5 @@
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
-
3
- import { ScenarioType } from "./TelemetryConstants";
2
+ import { ScenarioType, TelemetryEvent } from "./TelemetryConstants";
4
3
  import { newGuid } from "../utils";
5
4
  import { TelemetryManager } from "./TelemetryManager";
6
5
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
@@ -9,35 +8,27 @@ export class TelemetryHelper {
9
8
  switch (input.scenarioType) {
10
9
  case ScenarioType.LOAD:
11
10
  return TelemetryHelper.conformToLoadContract(level, input);
12
-
13
11
  case ScenarioType.IC3_CLIENT:
14
12
  return TelemetryHelper.conformToIC3ClientContract(level, input);
15
-
16
13
  case ScenarioType.WEBCHAT:
17
14
  return TelemetryHelper.conformToWebChatContract(level, input);
18
-
19
15
  case ScenarioType.OCCHATSDK:
20
16
  return TelemetryHelper.conformToOCChatSDKContract(level, input);
21
-
22
17
  case ScenarioType.ACTIONS:
23
18
  return TelemetryHelper.conformToActionsContract(level, input);
24
-
25
19
  case ScenarioType.CALLING:
26
20
  return TelemetryHelper.conformToCallingContract(level, input);
27
-
28
21
  case ScenarioType.ACS_ADAPTER:
29
22
  return TelemetryHelper.conformToACSAdapterContract(level, input);
30
-
31
23
  default:
32
24
  case ScenarioType.CONFIG_VALIDATION:
33
25
  return TelemetryHelper.conformToConfigValidationContract(level, input);
34
26
  }
35
27
  }
36
-
37
- static populateBasicProperties(level, // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
+ static populateBasicProperties(level,
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
30
  telemetryData) {
39
31
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7;
40
-
41
32
  return {
42
33
  WidgetId: ((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.widgetId) ?? "",
43
34
  ChatId: ((_TelemetryManager$Int2 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.chatId) ?? "",
@@ -49,14 +40,12 @@ export class TelemetryHelper {
49
40
  LogLevel: level
50
41
  };
51
42
  }
52
-
53
43
  static populate(level, telemetryData, configure) {
54
44
  const base = TelemetryHelper.populateBasicProperties(level, telemetryData);
55
45
  const event = base;
56
46
  configure(event);
57
47
  return event;
58
48
  }
59
-
60
49
  static conformToActionsContract(level, input) {
61
50
  const payload = input.payload;
62
51
  return TelemetryHelper.populate(level, payload, event => {
@@ -66,7 +55,6 @@ export class TelemetryHelper {
66
55
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
67
56
  });
68
57
  }
69
-
70
58
  static conformToWebChatContract(level, input) {
71
59
  const payload = input.payload;
72
60
  return TelemetryHelper.populate(level, payload, event => {
@@ -78,12 +66,10 @@ export class TelemetryHelper {
78
66
  event.ExceptionDetails = JSON.stringify(payload.error);
79
67
  });
80
68
  }
81
-
82
69
  static conformToConfigValidationContract(level, input) {
83
70
  const payload = input.payload;
84
71
  return TelemetryHelper.populate(level, payload, event => {
85
72
  var _TelemetryManager$Int8, _TelemetryManager$Int9, _TelemetryManager$Int10;
86
-
87
73
  event.Event = payload.Event;
88
74
  event.RequestId = payload.RequestId;
89
75
  event.LCWVersion = (_TelemetryManager$Int8 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.environmentVersion;
@@ -94,12 +80,10 @@ export class TelemetryHelper {
94
80
  event.Language = ((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.chatWidgetLocaleLCID) || "";
95
81
  });
96
82
  }
97
-
98
83
  static conformToLoadContract(level, input) {
99
84
  const payload = input.payload;
100
85
  return TelemetryHelper.populate(level, payload, event => {
101
86
  var _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13;
102
-
103
87
  event.Event = payload.Event;
104
88
  event.ResourcePath = payload.ResourcePath;
105
89
  event.WidgetState = payload.WidgetState;
@@ -112,12 +96,10 @@ export class TelemetryHelper {
112
96
  event.OCChatComponentsVersion = ((_TelemetryManager$Int13 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatComponentVersion) ?? "";
113
97
  });
114
98
  }
115
-
116
99
  static conformToIC3ClientContract(level, input) {
117
100
  const payload = input.payload;
118
101
  return TelemetryHelper.populate(level, payload, event => {
119
102
  var _TelemetryManager$Int14;
120
-
121
103
  event.Event = payload.Event;
122
104
  event.IC3ClientVersion = (_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.IC3ClientVersion;
123
105
  event.SubscriptionId = payload.SubscriptionId;
@@ -130,7 +112,6 @@ export class TelemetryHelper {
130
112
  event.Description = payload.Description;
131
113
  });
132
114
  }
133
-
134
115
  static conformToACSAdapterContract(level, input) {
135
116
  const payload = input.payload;
136
117
  return TelemetryHelper.populate(level, payload, event => {
@@ -144,7 +125,6 @@ export class TelemetryHelper {
144
125
  event.ExceptionDetails = payload.ExceptionDetails;
145
126
  });
146
127
  }
147
-
148
128
  static conformToCallingContract(level, input) {
149
129
  const payload = input.payload;
150
130
  return TelemetryHelper.populate(level, payload, event => {
@@ -155,7 +135,6 @@ export class TelemetryHelper {
155
135
  event.Description = payload.Description;
156
136
  });
157
137
  }
158
-
159
138
  static conformToOCChatSDKContract(level, input) {
160
139
  const payload = input.payload;
161
140
  return TelemetryHelper.populate(level, payload, event => {
@@ -167,15 +146,12 @@ export class TelemetryHelper {
167
146
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
168
147
  });
169
148
  }
170
-
171
149
  static addChatConfigDataToTelemetry(chatConfig, telemetryInternalData) {
172
150
  var _chatConfig$ChatWidge;
173
-
174
151
  const telemetryDataLocal = telemetryInternalData;
175
152
  telemetryDataLocal.chatWidgetLocaleLCID = (_chatConfig$ChatWidge = chatConfig.ChatWidgetLanguage) === null || _chatConfig$ChatWidge === void 0 ? void 0 : _chatConfig$ChatWidge.msdyn_localeid;
176
153
  return telemetryDataLocal;
177
154
  }
178
-
179
155
  static addWidgetDataToTelemetry(telemetryConfig, telemetryInternalData) {
180
156
  const telemetryDataLocal = telemetryInternalData;
181
157
  telemetryDataLocal.widgetId = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.appId;
@@ -184,78 +160,83 @@ export class TelemetryHelper {
184
160
  telemetryDataLocal.lcwRuntimeId = newGuid();
185
161
  return telemetryDataLocal;
186
162
  }
187
-
188
163
  static addSessionDataToTelemetry(chatSession, telemetryInternalData) {
189
164
  var _chatSession$chatToke, _chatSession$chatToke2;
190
-
191
165
  const telemetryDataLocal = telemetryInternalData;
192
166
  telemetryDataLocal.chatId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke = chatSession.chatToken) === null || _chatSession$chatToke === void 0 ? void 0 : _chatSession$chatToke.chatId;
193
167
  telemetryDataLocal.currentRequestId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke2 = chatSession.chatToken) === null || _chatSession$chatToke2 === void 0 ? void 0 : _chatSession$chatToke2.requestId;
194
168
  return telemetryInternalData;
195
169
  }
196
-
197
170
  static addConversationDataToTelemetry(liveWorkItem, telemetryInternalData) {
198
171
  const telemetryDataLocal = telemetryInternalData;
199
172
  telemetryDataLocal.conversationId = liveWorkItem.conversationId;
200
173
  return telemetryDataLocal;
201
174
  }
202
-
203
175
  }
204
-
205
176
  _defineProperty(TelemetryHelper, "callId", void 0);
206
-
207
177
  _defineProperty(TelemetryHelper, "elapsedTime", void 0);
208
-
209
178
  _defineProperty(TelemetryHelper, "logCallingEvent", (logLevel, payload, callId) => {
210
179
  const telemetryEvent = {
211
180
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
212
181
  logLevel: logLevel,
213
- payload: { ...payload,
182
+ payload: {
183
+ ...payload,
214
184
  CallId: callId
215
185
  }
216
186
  };
217
187
  BroadcastService.postMessage(telemetryEvent);
218
188
  });
219
-
220
189
  _defineProperty(TelemetryHelper, "logLoadingEvent", (logLevel, payload) => {
221
190
  const telemetryEvent = {
222
191
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
223
192
  logLevel: logLevel,
224
- payload: { ...payload
193
+ payload: {
194
+ ...payload
225
195
  }
226
196
  };
227
197
  BroadcastService.postMessage(telemetryEvent);
228
198
  });
229
-
230
199
  _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
231
200
  const telemetryEvent = {
232
201
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
233
202
  logLevel: logLevel,
234
- payload: { ...payload
203
+ payload: {
204
+ ...payload
235
205
  }
236
206
  };
237
207
  BroadcastService.postMessage(telemetryEvent);
238
208
  });
239
-
240
209
  _defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
241
210
  var _TelemetryManager$Int15;
242
-
243
211
  const telemetryEvent = {
244
212
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
245
213
  logLevel: logLevel,
246
- payload: { ...payload,
214
+ payload: {
215
+ ...payload,
247
216
  TransactionId: newGuid(),
248
217
  RequestId: (_TelemetryManager$Int15 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.currentRequestId
249
218
  }
250
219
  };
251
220
  BroadcastService.postMessage(telemetryEvent);
252
221
  });
253
-
254
222
  _defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
255
223
  const telemetryEvent = {
256
224
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
257
225
  logLevel: logLevel,
258
- payload: { ...payload
226
+ payload: {
227
+ ...payload
228
+ }
229
+ };
230
+ BroadcastService.postMessage(telemetryEvent);
231
+ });
232
+ _defineProperty(TelemetryHelper, "logWebChatEvent", (logLevel, payload) => {
233
+ const telemetryEvent = {
234
+ eventName: TelemetryEvent.WebChatEvent,
235
+ logLevel: logLevel,
236
+ payload: {
237
+ ...payload,
238
+ type: TelemetryEvent.WebChatEvent,
239
+ scenarioType: ScenarioType.WEBCHAT
259
240
  }
260
241
  };
261
242
  BroadcastService.postMessage(telemetryEvent);
@@ -1,21 +1,16 @@
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
-
3
2
  import { LogLevel, ScenarioType, TelemetryConstants, TelemetryEvent } from "./TelemetryConstants";
4
3
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
5
4
  import { ariaTelemetryLogger } from "./loggers/ariaTelemetryLogger";
6
5
  import { consoleLogger } from "./loggers/consoleLogger";
6
+ import { defaultAriaConfig } from "./defaultConfigs/defaultAriaConfig";
7
+ import { TelemetryHelper } from "./TelemetryHelper";
7
8
  export class TelemetryTimers {}
8
-
9
9
  _defineProperty(TelemetryTimers, "LcwLoadToChatButtonTimer", void 0);
10
-
11
10
  _defineProperty(TelemetryTimers, "ProactiveChatScreenTimer", void 0);
12
-
13
11
  _defineProperty(TelemetryTimers, "WidgetLoadTimer", void 0);
14
-
15
12
  export class TelemetryManager {}
16
-
17
13
  _defineProperty(TelemetryManager, "InternalTelemetryData", void 0);
18
-
19
14
  const loggers = [];
20
15
  export const disposeLoggers = () => {
21
16
  loggers.map(logger => {
@@ -25,30 +20,23 @@ export const disposeLoggers = () => {
25
20
  export const RegisterLoggers = () => {
26
21
  const registerLoggers = () => {
27
22
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
28
-
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)) {
23
+ 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
24
  BroadcastService.getAnyMessage().subscribe(event => {
31
- if (event.payload && event.eventName !== TelemetryEvent.ChatWidgetStateChanged) {
25
+ if (event.payload && event.eventName in TelemetryEvent) {
32
26
  logTelemetry(event);
33
27
  }
34
28
  });
35
29
  }
36
-
37
- if (!((_TelemetryManager$Int5 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int5 !== void 0 && (_TelemetryManager$Int6 = _TelemetryManager$Int5.telemetryConfig) !== null && _TelemetryManager$Int6 !== void 0 && _TelemetryManager$Int6.disableConsoleLog)) {
30
+ 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
31
  loggers.push(consoleLogger());
39
32
  }
40
-
41
- if (!((_TelemetryManager$Int7 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int7 !== void 0 && (_TelemetryManager$Int8 = _TelemetryManager$Int7.telemetryConfig) !== null && _TelemetryManager$Int8 !== void 0 && _TelemetryManager$Int8.telemetryDisabled)) {
33
+ 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
34
  var _TelemetryManager$Int9, _TelemetryManager$Int18, _TelemetryManager$Int19;
43
-
44
35
  if ((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int9 !== void 0 && _TelemetryManager$Int9.ariaConfig) {
45
36
  var _TelemetryManager$Int10, _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17;
46
-
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"));
37
+ 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
38
  }
49
-
50
39
  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;
51
-
52
40
  if (customLoggers) {
53
41
  customLoggers.map(logger => {
54
42
  loggers.push(logger);
@@ -56,7 +44,6 @@ export const RegisterLoggers = () => {
56
44
  }
57
45
  }
58
46
  };
59
-
60
47
  const parseInput = function (payload) {
61
48
  let scenarioType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ScenarioType.UNDEFINED;
62
49
  return {
@@ -64,13 +51,17 @@ export const RegisterLoggers = () => {
64
51
  payload: payload
65
52
  };
66
53
  };
67
-
68
54
  const logTelemetry = telemetryEvent => {
69
55
  loggers.map(logger => {
56
+ var _payload;
70
57
  const logLevel = telemetryEvent.logLevel ?? LogLevel.INFO;
71
- logger.log(logLevel, parseInput(telemetryEvent === null || telemetryEvent === void 0 ? void 0 : telemetryEvent.payload));
58
+ const scenarioType = ((_payload = telemetryEvent.payload) === null || _payload === void 0 ? void 0 : _payload.scenarioType) ?? ScenarioType.UNDEFINED;
59
+ const telemetryInput = parseInput(telemetryEvent === null || telemetryEvent === void 0 ? void 0 : telemetryEvent.payload, scenarioType);
60
+ telemetryInput.telemetryInfo = {
61
+ telemetryInfo: TelemetryHelper.buildTelemetryEvent(logLevel, telemetryInput)
62
+ };
63
+ logger.log(logLevel, telemetryInput);
72
64
  });
73
65
  };
74
-
75
66
  return registerLoggers();
76
67
  };
@@ -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
  };
@@ -1,25 +1,32 @@
1
- import { isNullOrEmptyString, isNullOrUndefined } from "../../utils";
2
- import AWTEventProperties from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTEventProperties";
3
- import AWTLogManager from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTLogManager";
4
- import { AWTPiiKind } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums";
5
- import { Constants } from "../../Constants";
6
- import { TelemetryHelper } from "../TelemetryHelper";
1
+ import { getDomain, isNullOrEmptyString, isNullOrUndefined } from "../../utils";
2
+ import { AWTLogManager } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AriaSDK";
3
+ import { AWTCustomerContentKind, AWTPiiKind, AWTPropertyType } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums";
4
+ import { Constants, AriaTelemetryConstants, EnvironmentVersion } from "../../Constants";
5
+ import { TelemetryManager } from "../TelemetryManager";
7
6
  export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUriForTelemetry, ariaTelemetryApplicationName) => {
8
7
  let _logger;
9
-
10
8
  const logger = () => {
11
9
  if (isNullOrUndefined(_logger) && !isNullOrEmptyString(ariaTelemetryKey)) {
12
10
  const configuration = {
13
11
  disableCookiesUsage: disabledCookieUsage
14
12
  };
15
-
16
13
  if (!isNullOrEmptyString(collectiorUriForTelemetry)) {
17
14
  configuration.collectorUri = collectiorUriForTelemetry;
15
+ } else {
16
+ if (TelemetryManager.InternalTelemetryData.environmentVersion == EnvironmentVersion.prod) {
17
+ var _TelemetryManager$Int;
18
+ const orgUrl = (_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.orgUrl;
19
+ if (!isNullOrUndefined(orgUrl)) {
20
+ // If the given org is a Production EU org, modify the Aria collector uri
21
+ const region = getDomain(orgUrl);
22
+ if (region === AriaTelemetryConstants.EU) {
23
+ configuration.collectorUri = AriaTelemetryConstants.EUROPE_ENDPOINT;
24
+ }
25
+ }
26
+ }
18
27
  }
19
-
20
28
  try {
21
29
  _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
22
-
23
30
  if (_logger === undefined) {
24
31
  _logger = AWTLogManager.getLogger(ariaTelemetryKey);
25
32
  }
@@ -27,24 +34,43 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
27
34
  console.log(error);
28
35
  }
29
36
  }
30
-
31
37
  return _logger;
32
38
  };
33
-
34
39
  const ariaLogger = {
35
40
  log: (logLevel, telemetryInput) => {
36
- let property;
37
- const eventProperties = new AWTEventProperties();
38
- const event = TelemetryHelper.buildTelemetryEvent(logLevel, telemetryInput);
39
- eventProperties.setName(telemetryInput.scenarioType);
40
-
41
- for (const key of Object.keys(event)) {
42
- property = typeof event[key] === "object" ? JSON.stringify(event[key]) : event[key];
43
- eventProperties.setProperty(key, property);
41
+ try {
42
+ var _telemetryInput$telem;
43
+ const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo;
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ const eventProperties = {
46
+ name: telemetryInput.scenarioType,
47
+ properties: {}
48
+ };
49
+ if (telemetryInfo) {
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ Object.keys(telemetryInfo).forEach((key, index) => {
52
+ if (!isNullOrUndefined(telemetryInfo[key]) && !isNullOrEmptyString(telemetryInfo[key])) {
53
+ const property = {
54
+ value: typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key],
55
+ type: typeof telemetryInfo[key] === "number" ? AWTPropertyType.Double : AWTPropertyType.String,
56
+ pii: AWTPiiKind.NotSet,
57
+ cc: AWTCustomerContentKind.NotSet
58
+ };
59
+ eventProperties.properties[key] = property;
60
+ }
61
+ });
62
+ const nameProperty = {
63
+ value: Constants.LiveChatWidget,
64
+ type: AWTPropertyType.String,
65
+ pii: AWTPiiKind.GenericData,
66
+ cc: AWTCustomerContentKind.NotSet
67
+ };
68
+ eventProperties.properties[ariaTelemetryApplicationName] = nameProperty;
69
+ }
70
+ logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
71
+ } catch (error) {
72
+ console.error("Error in logging telemetry to Aria logger:" + error);
44
73
  }
45
-
46
- eventProperties.setPropertyWithPii(ariaTelemetryApplicationName, Constants.LiveChatWidget, AWTPiiKind.GenericData);
47
- logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
48
74
  },
49
75
  dispose: () => {
50
76
  AWTLogManager.flush(function () {