@microsoft/omnichannel-chat-widget 0.1.0-main.86df755 → 0.1.0-main.875499b

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 (249) 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 +54 -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/storage/default/defaultCacheManager.js +34 -0
  8. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +114 -0
  9. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +86 -0
  10. package/lib/cjs/common/telemetry/TelemetryConstants.js +74 -4
  11. package/lib/cjs/common/telemetry/TelemetryHelper.js +22 -4
  12. package/lib/cjs/common/telemetry/TelemetryManager.js +28 -9
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  15. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +66 -20
  16. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -5
  17. package/lib/cjs/common/utils.js +89 -2
  18. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  19. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +28 -5
  20. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -58
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +6 -6
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +9 -18
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  24. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -13
  25. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +44 -0
  26. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  27. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +39 -0
  29. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  30. package/lib/cjs/components/livechatwidget/common/Deferred.js +42 -0
  31. package/lib/cjs/components/livechatwidget/common/authHelper.js +65 -0
  32. package/lib/cjs/components/livechatwidget/common/createAdapter.js +13 -1
  33. package/lib/cjs/components/livechatwidget/common/createFooter.js +7 -16
  34. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +12 -0
  35. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +32 -32
  36. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +101 -61
  37. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +14 -0
  38. package/lib/cjs/components/livechatwidget/common/endChat.js +142 -43
  39. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  40. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -10
  41. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +144 -39
  42. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -7
  43. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +22 -24
  44. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  45. package/lib/cjs/components/livechatwidget/common/startChat.js +207 -41
  46. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  47. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +335 -71
  48. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  49. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  50. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  51. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +6 -4
  52. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  53. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  54. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -5
  55. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  56. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +110 -2
  57. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  58. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  59. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  60. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  61. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  62. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  63. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  64. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  65. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  66. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  67. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  68. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  69. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  75. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  76. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +15 -8
  77. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +23 -7
  78. package/lib/cjs/contexts/createReducer.js +53 -12
  79. package/lib/cjs/controller/componentController.js +5 -5
  80. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  81. package/lib/esm/assets/Audios.js +1 -0
  82. package/lib/esm/assets/Icons.js +11 -0
  83. package/lib/esm/common/Constants.js +50 -3
  84. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  85. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  86. package/lib/esm/common/storage/default/defaultCacheManager.js +19 -0
  87. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  88. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +71 -0
  89. package/lib/esm/common/telemetry/TelemetryConstants.js +70 -3
  90. package/lib/esm/common/telemetry/TelemetryHelper.js +22 -5
  91. package/lib/esm/common/telemetry/TelemetryManager.js +22 -9
  92. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  93. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  94. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +69 -18
  95. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -5
  96. package/lib/esm/common/utils.js +64 -1
  97. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  98. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +31 -8
  99. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -54
  100. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +6 -6
  101. package/lib/esm/components/footerstateful/FooterStateful.js +9 -18
  102. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  103. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -14
  104. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +34 -0
  105. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  106. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  107. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +29 -0
  108. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  109. package/lib/esm/components/livechatwidget/common/Deferred.js +33 -0
  110. package/lib/esm/components/livechatwidget/common/authHelper.js +50 -0
  111. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -2
  112. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -15
  113. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +8 -0
  114. package/lib/esm/components/livechatwidget/common/createMarkdown.js +32 -31
  115. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +99 -62
  116. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  117. package/lib/esm/components/livechatwidget/common/endChat.js +139 -42
  118. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  119. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +45 -11
  120. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +134 -41
  121. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -3
  122. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -22
  123. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  124. package/lib/esm/components/livechatwidget/common/startChat.js +195 -39
  125. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  126. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +319 -76
  127. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  128. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  129. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  130. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +5 -4
  131. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  132. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  133. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -6
  134. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  135. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +97 -2
  136. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  137. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  138. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  139. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  140. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  141. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  142. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  143. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  144. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  145. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  146. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  147. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  148. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  149. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  150. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  151. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  152. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  153. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  154. package/lib/esm/contexts/common/ConversationState.js +4 -2
  155. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +15 -8
  156. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +21 -7
  157. package/lib/esm/contexts/createReducer.js +53 -11
  158. package/lib/esm/controller/componentController.js +5 -5
  159. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  160. package/lib/types/assets/Audios.d.ts +1 -0
  161. package/lib/types/assets/Icons.d.ts +11 -0
  162. package/lib/types/common/Constants.d.ts +27 -1
  163. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  164. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  165. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  166. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  167. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  168. package/lib/types/common/telemetry/TelemetryConstants.d.ts +49 -2
  169. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  170. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  171. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  172. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  173. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  174. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  175. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  176. package/lib/types/common/utils.d.ts +8 -1
  177. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  178. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  179. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  180. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  181. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  182. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  183. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  184. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  185. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  186. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  187. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  188. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  189. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  190. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  191. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  192. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  193. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  194. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  195. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  196. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  197. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  198. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  199. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  200. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  201. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  202. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  203. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  204. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  205. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  206. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  207. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  208. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  209. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  210. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  211. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  212. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  213. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  214. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  215. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  216. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  217. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  218. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  219. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  220. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +7 -2
  221. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +16 -9
  222. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  223. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  224. package/package.json +14 -13
  225. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  226. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  227. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  228. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  229. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  230. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  231. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  232. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  233. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  234. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  235. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  236. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  237. package/lib/esm/assets/assets.d.js +0 -0
  238. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  239. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  240. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  241. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  242. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  243. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  244. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  245. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  246. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  247. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  248. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  249. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -0,0 +1,71 @@
1
+ import { LogLevel, TelemetryEvent } from "../../telemetry/TelemetryConstants";
2
+ import { TelemetryHelper } from "../../telemetry/TelemetryHelper";
3
+ import { defaultCacheManager } from "./defaultCacheManager";
4
+ export const defaultInitializeInMemoryDataStore = widgetId => {
5
+ try {
6
+ localStorage;
7
+ } catch (error) {
8
+ // Register below events when localStorage is not accessible
9
+ // Listening to event raised from client browser
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ window.addEventListener("message", function (e) {
12
+ try {
13
+ if (e.data.key) {
14
+ const browserData = e.data;
15
+
16
+ if (defaultCacheManager.InternalCache[browserData.key]) {
17
+ delete defaultCacheManager.InternalCache[browserData.key];
18
+ }
19
+
20
+ defaultCacheManager.InternalCache[browserData.key] = browserData.data;
21
+ }
22
+ } catch (error) {
23
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
24
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
25
+ ExceptionDetails: error,
26
+ Description: "Unable to register default in-memory cache."
27
+ });
28
+ }
29
+ }); // send cache initialize message to client
30
+
31
+ if (defaultCacheManager.InternalCache === undefined || {}) {
32
+ parent.postMessage({
33
+ data: "cacheinitialize",
34
+ widgetId: widgetId
35
+ }, "*");
36
+ }
37
+ }
38
+ };
39
+ export const inMemoryDataStore = () => {
40
+ const dataStoreProvider = {
41
+ getData: key => {
42
+ if (defaultCacheManager.InternalCache && defaultCacheManager.InternalCache[key]) {
43
+ return defaultCacheManager.InternalCache[key];
44
+ }
45
+ },
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ setData: (key, data) => {
48
+ try {
49
+ defaultCacheManager.InternalCache[key] = data;
50
+ } catch (error) {
51
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
52
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
53
+ ExceptionDetails: error,
54
+ Description: "Unable to set data in default in-memory cache."
55
+ });
56
+ }
57
+ },
58
+ removeData: key => {
59
+ try {
60
+ defaultCacheManager.InternalCache[key] = {};
61
+ } catch (error) {
62
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
63
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
64
+ ExceptionDetails: error,
65
+ Description: "Unable to remove data from default in-memory cache."
66
+ });
67
+ }
68
+ }
69
+ };
70
+ return dataStoreProvider;
71
+ };
@@ -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) {
@@ -60,6 +89,8 @@ export let TelemetryEvent;
60
89
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
61
90
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
62
91
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
92
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
93
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
63
94
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
64
95
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
65
96
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
@@ -70,7 +101,10 @@ export let TelemetryEvent;
70
101
  TelemetryEvent["PrechatSurveyLoaded"] = "PrechatSurveyLoaded";
71
102
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
72
103
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
73
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
104
+ TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
105
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
106
+ TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
107
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
74
108
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
75
109
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
76
110
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -84,6 +118,7 @@ export let TelemetryEvent;
84
118
  TelemetryEvent["LoadingPaneLoaded"] = "LoadingPaneLoaded";
85
119
  TelemetryEvent["EmailTranscriptLoaded"] = "EmailTranscriptLoaded";
86
120
  TelemetryEvent["OutOfOfficePaneLoaded"] = "OutOfOfficePaneLoaded";
121
+ TelemetryEvent["PostChatSurveyLoadingPaneLoaded"] = "PostChatSurveyLoadingPaneLoaded";
87
122
  TelemetryEvent["PostChatSurveyLoaded"] = "PostChatSurveyLoaded";
88
123
  TelemetryEvent["ConfirmationPaneLoaded"] = "ConfirmationPaneLoaded";
89
124
  TelemetryEvent["ProactiveChatPaneLoaded"] = "ProactiveChatPaneLoaded";
@@ -94,6 +129,12 @@ export let TelemetryEvent;
94
129
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
95
130
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
96
131
  TelemetryEvent["AudioToggleButtonClicked"] = "AudioToggleButtonClicked";
132
+ TelemetryEvent["SuppressBotMagicCodeSucceeded"] = "SuppressBotMagicCodeSucceeded";
133
+ TelemetryEvent["SuppressBotMagicCodeFailed"] = "SuppressBotMagicCodeFailed";
134
+ TelemetryEvent["GetConversationDetailsException"] = "GetConversationDetailsException";
135
+ TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
136
+ TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
137
+ TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
97
138
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
98
139
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
99
140
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
@@ -105,7 +146,10 @@ export let TelemetryEvent;
105
146
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
106
147
  TelemetryEvent["SendTypingIndicatorSucceeded"] = "SendTypingIndicatorSucceeded";
107
148
  TelemetryEvent["SendTypingIndicatorFailed"] = "SendTypingIndicatorFailed";
149
+ TelemetryEvent["WebChatEvent"] = "WebChatEvent";
108
150
  TelemetryEvent["PreChatSurveyStartChatMethodFailed"] = "PreChatSurveyStartChatMethodFailed";
151
+ TelemetryEvent["ChatAlreadyTriggered"] = "ChatAlreadyTriggered";
152
+ TelemetryEvent["StartProactiveChatEventReceived"] = "StartProactiveChatEventReceived";
109
153
  TelemetryEvent["StartProactiveChatMethodFailed"] = "StartProactiveChatMethodFailed";
110
154
  TelemetryEvent["ProactiveChatAccepted"] = "ProactiveChatAccepted";
111
155
  TelemetryEvent["ProactiveChatRejected"] = "ProactiveChatRejected";
@@ -114,13 +158,21 @@ export let TelemetryEvent;
114
158
  TelemetryEvent["ReconnectChatContinueConversation"] = "ReconnectChatContinueConversation";
115
159
  TelemetryEvent["ReconnectChatStartNewConversation"] = "ReconnectChatStartNewConversation";
116
160
  TelemetryEvent["ReconnectChatMinimize"] = "ReconnectChatMinimize";
161
+ TelemetryEvent["MessageSent"] = "MessageSent";
162
+ TelemetryEvent["MessageReceived"] = "MessageReceived";
163
+ TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
164
+ TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
165
+ TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
117
166
  })(TelemetryEvent || (TelemetryEvent = {}));
118
167
 
119
168
  export class TelemetryConstants {
120
169
  static map(eventTypeOrScenarioType) {
121
170
  switch (eventTypeOrScenarioType) {
122
- case TelemetryEvent.StartChatSDKCall:
123
171
  case TelemetryEvent.ParseAdaptiveCardFailed:
172
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
173
+ case TelemetryEvent.GetAuthTokenCalled:
174
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
175
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
124
176
  return ScenarioType.CONFIG_VALIDATION;
125
177
 
126
178
  case TelemetryEvent.WebChatLoaded:
@@ -130,6 +182,7 @@ export class TelemetryConstants {
130
182
  case TelemetryEvent.LCWChatButtonShow:
131
183
  case TelemetryEvent.PrechatSurveyLoaded:
132
184
  case TelemetryEvent.LoadingPaneLoaded:
185
+ case TelemetryEvent.PostChatSurveyLoadingPaneLoaded:
133
186
  case TelemetryEvent.PostChatSurveyLoaded:
134
187
  case TelemetryEvent.EmailTranscriptLoaded:
135
188
  case TelemetryEvent.OutOfOfficePaneLoaded:
@@ -156,17 +209,31 @@ export class TelemetryConstants {
156
209
  case TelemetryEvent.PreChatSurveyStartChatMethodFailed:
157
210
  case TelemetryEvent.HeaderCloseButtonClicked:
158
211
  case TelemetryEvent.HeaderMinimizeButtonClicked:
212
+ case TelemetryEvent.MessageSent:
213
+ case TelemetryEvent.MessageReceived:
214
+ case TelemetryEvent.CustomContextReceived:
215
+ case TelemetryEvent.BrowserUnloadEventStarted:
216
+ case TelemetryEvent.NetworkDisconnected:
217
+ case TelemetryEvent.NetworkReconnected:
218
+ case TelemetryEvent.AudioToggleButtonClicked:
219
+ case TelemetryEvent.EmailTranscriptCancelButtonClicked:
159
220
  return ScenarioType.ACTIONS;
160
221
 
222
+ case TelemetryEvent.StartChatSDKCall:
223
+ case TelemetryEvent.StartChatEventRecevied:
161
224
  case TelemetryEvent.StartChatMethodException:
162
225
  case TelemetryEvent.CloseChatMethodException:
226
+ case TelemetryEvent.StartProactiveChatEventReceived:
163
227
  case TelemetryEvent.StartProactiveChatMethodFailed:
164
228
  case TelemetryEvent.OnNewMessageFailed:
165
229
  case TelemetryEvent.OnNewMessageAudioNotificationFailed:
166
230
  case TelemetryEvent.GetConversationDetailsCallFailed:
231
+ case TelemetryEvent.EndChatSDKCall:
232
+ case TelemetryEvent.EndChatEventReceived:
167
233
  case TelemetryEvent.EndChatSDKCallFailed:
168
234
  case TelemetryEvent.PostChatContextCallFailed:
169
235
  case TelemetryEvent.PostChatContextCallSucceed:
236
+ case TelemetryEvent.GetConversationDetailsException:
170
237
  return ScenarioType.SDK;
171
238
 
172
239
  case TelemetryEvent.VideoCallAcceptButtonClick:
@@ -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,8 @@
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
8
 
@@ -15,9 +14,32 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
15
14
 
16
15
  if (!isNullOrEmptyString(collectiorUriForTelemetry)) {
17
16
  configuration.collectorUri = collectiorUriForTelemetry;
17
+ } else {
18
+ if (TelemetryManager.InternalTelemetryData.environmentVersion == EnvironmentVersion.prod) {
19
+ var _TelemetryManager$Int;
20
+
21
+ const orgUrl = (_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.orgUrl;
22
+
23
+ if (!isNullOrUndefined(orgUrl)) {
24
+ // If the given org is a Production EU org, modify the Aria collector uri
25
+ const region = getDomain(orgUrl);
26
+
27
+ if (region === AriaTelemetryConstants.EU) {
28
+ configuration.collectorUri = AriaTelemetryConstants.EUROPE_ENDPOINT;
29
+ }
30
+ }
31
+ }
18
32
  }
19
33
 
20
- _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
34
+ try {
35
+ _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
36
+
37
+ if (_logger === undefined) {
38
+ _logger = AWTLogManager.getLogger(ariaTelemetryKey);
39
+ }
40
+ } catch (error) {
41
+ console.log(error);
42
+ }
21
43
  }
22
44
 
23
45
  return _logger;
@@ -25,18 +47,47 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
25
47
 
26
48
  const ariaLogger = {
27
49
  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
- }
50
+ try {
51
+ var _telemetryInput$telem;
52
+
53
+ const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo; // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+
55
+ const eventProperties = {
56
+ name: telemetryInput.scenarioType,
57
+ properties: {}
58
+ };
37
59
 
38
- eventProperties.setPropertyWithPii(ariaTelemetryApplicationName, Constants.LiveChatWidget, AWTPiiKind.GenericData);
39
- logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
60
+ if (telemetryInfo) {
61
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
62
+ Object.keys(telemetryInfo).forEach((key, index) => {
63
+ if (!isNullOrUndefined(telemetryInfo[key]) && !isNullOrEmptyString(telemetryInfo[key])) {
64
+ const property = {
65
+ value: typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key],
66
+ type: typeof telemetryInfo[key] === "number" ? AWTPropertyType.Double : AWTPropertyType.String,
67
+ pii: AWTPiiKind.NotSet,
68
+ cc: AWTCustomerContentKind.NotSet
69
+ };
70
+ eventProperties.properties[key] = property;
71
+ }
72
+ });
73
+ const nameProperty = {
74
+ value: Constants.LiveChatWidget,
75
+ type: AWTPropertyType.String,
76
+ pii: AWTPiiKind.GenericData,
77
+ cc: AWTCustomerContentKind.NotSet
78
+ };
79
+ eventProperties.properties[ariaTelemetryApplicationName] = nameProperty;
80
+ }
81
+
82
+ logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
83
+ } catch (error) {
84
+ console.error("Error in logging telemetry to Aria logger:" + error);
85
+ }
86
+ },
87
+ dispose: () => {
88
+ AWTLogManager.flush(function () {
89
+ console.log("Aria logger disposed");
90
+ });
40
91
  }
41
92
  };
42
93
  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,8 @@
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";
5
+ import { Md5 } from "md5-typescript";
3
6
 
4
7
  const getElementBySelector = selector => {
5
8
  let element;
@@ -276,4 +279,64 @@ export const createTimer = () => {
276
279
  }
277
280
 
278
281
  };
282
+ }; // Returns the domain of the org
283
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
284
+
285
+ export const getDomain = hostValue => {
286
+ for (let i = 0; i < AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
287
+ if (hostValue.endsWith(AriaTelemetryConstants.lcwEUDomainNames[i])) {
288
+ return AriaTelemetryConstants.EU;
289
+ }
290
+ }
291
+
292
+ return AriaTelemetryConstants.Public;
293
+ };
294
+ export const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
295
+ const widgetCacheId = `${widgetInstanceId}_${orgId}_${widgetId}`;
296
+ return Md5.init(widgetCacheId);
297
+ };
298
+ export const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) => {
299
+ if (!isNullOrEmptyString(widgetInstanceId)) {
300
+ return `${BroadcastEvent.ChatEnded}_${widgetInstanceId}_${orgId}_${widgetId}`;
301
+ }
302
+
303
+ return `${BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
304
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
305
+
306
+ export const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
307
+ // Getting updated state from cache
308
+ try {
309
+ if (DataStoreManager.clientDataStore) {
310
+ var _DataStoreManager$cli;
311
+
312
+ const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
313
+ const widgetStateFromCache = (_DataStoreManager$cli = DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
314
+ const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
315
+ return persistedState;
316
+ } else {
317
+ return null;
318
+ }
319
+ } catch (error) {
320
+ console.log(error);
321
+ return null;
322
+ }
323
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
324
+
325
+ export const isUndefinedOrEmpty = object => {
326
+ if (object) {
327
+ if (Object.keys(object).length === 0) {
328
+ return true;
329
+ }
330
+
331
+ return false;
332
+ } else {
333
+ return true;
334
+ }
335
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
336
+
337
+ export const addDelayInMs = ms => {
338
+ return new Promise(resolve => setTimeout(resolve, ms));
339
+ };
340
+ export const getBroadcastChannelName = (widgetId, widgetInstanceId) => {
341
+ return widgetInstanceId && !isNullOrEmptyString(widgetInstanceId) ? `${widgetInstanceId}_${widgetId}` : widgetId;
279
342
  };
@@ -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",