@microsoft/omnichannel-chat-widget 0.1.0-main.dbc1afa → 0.1.0-main.df142b8

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 (309) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +25 -160
  4. package/lib/cjs/common/KeyCodes.js +0 -3
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  6. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  7. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  8. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  9. package/lib/cjs/common/telemetry/TelemetryConstants.js +48 -25
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  15. package/lib/cjs/common/utils.js +65 -93
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +19 -25
  18. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  19. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  20. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  23. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  24. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -43
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  27. package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -31
  28. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  29. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  33. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  34. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  35. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  36. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  37. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  38. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  39. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +70 -40
  42. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  43. package/lib/cjs/components/livechatwidget/common/endChat.js +95 -48
  44. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  45. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  46. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +32 -53
  48. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
  49. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  50. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  51. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  52. package/lib/cjs/components/livechatwidget/common/startChat.js +219 -122
  53. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  54. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  55. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +313 -203
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  58. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  59. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  60. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  61. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  62. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  64. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  65. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  66. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -42
  67. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  74. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  76. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  78. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  79. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  122. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  123. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  124. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  125. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  126. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
  127. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +13 -13
  128. package/lib/cjs/contexts/createReducer.js +164 -102
  129. package/lib/cjs/controller/componentController.js +4 -33
  130. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  131. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  132. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  133. package/lib/cjs/index.js +0 -5
  134. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  135. package/lib/esm/assets/Icons.js +2 -1
  136. package/lib/esm/common/Constants.js +22 -147
  137. package/lib/esm/common/KeyCodes.js +0 -2
  138. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  139. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  140. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  141. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  142. package/lib/esm/common/telemetry/TelemetryConstants.js +52 -22
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  144. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  145. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  146. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  147. package/lib/esm/common/utils.js +61 -51
  148. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  149. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -12
  150. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  151. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  152. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  154. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  155. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -36
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  157. package/lib/esm/components/headerstateful/HeaderStateful.js +17 -16
  158. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  159. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  160. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  163. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  164. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  165. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  166. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  167. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  168. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  169. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  170. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  171. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +72 -27
  172. package/lib/esm/components/livechatwidget/common/endChat.js +97 -32
  173. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  174. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  175. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  176. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +35 -22
  177. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -110
  178. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  179. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  180. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  181. package/lib/esm/components/livechatwidget/common/startChat.js +219 -100
  182. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  183. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  184. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +316 -147
  185. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  186. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  187. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  188. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  189. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  190. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  191. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  192. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  193. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  194. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -26
  195. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  196. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  197. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  198. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  201. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  202. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  203. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  206. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  207. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  250. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  251. package/lib/esm/contexts/ChatContextStore.js +2 -1
  252. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  253. package/lib/esm/contexts/common/ConversationState.js +3 -3
  254. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
  255. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +13 -9
  256. package/lib/esm/contexts/createReducer.js +164 -99
  257. package/lib/esm/controller/componentController.js +5 -4
  258. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  259. package/lib/esm/hooks/useChatContextStore.js +0 -4
  260. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  261. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  262. package/lib/types/assets/Icons.d.ts +1 -0
  263. package/lib/types/common/Constants.d.ts +20 -0
  264. package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
  265. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  266. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  267. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  268. package/lib/types/common/telemetry/TelemetryConstants.d.ts +35 -7
  269. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  270. package/lib/types/common/utils.d.ts +7 -3
  271. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  272. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  273. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  274. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  275. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  276. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  277. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  278. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  279. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  280. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  281. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  282. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  283. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  284. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  285. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  286. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  287. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  288. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  289. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  290. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  291. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  292. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  293. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  294. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  295. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  296. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  297. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  298. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  299. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  300. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  301. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  302. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  303. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  304. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  305. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  306. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -3
  307. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
  308. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  309. package/package.json +5 -4
@@ -0,0 +1,95 @@
1
+ import { inMemoryDataStore } from "./defaultInMemoryDataStore";
2
+ import { TelemetryHelper } from "../../telemetry/TelemetryHelper";
3
+ import { LogLevel, TelemetryEvent } from "../../telemetry/TelemetryConstants";
4
+ export const defaultClientDataStoreProvider = () => {
5
+ const isCookieAllowed = () => {
6
+ try {
7
+ localStorage;
8
+ sessionStorage;
9
+ return true;
10
+ } catch (error) {
11
+ console.error("Third party cookie blocked");
12
+ return false;
13
+ }
14
+ };
15
+ const TtlInMs = 15 * 60 * 1000; // 15 mins
16
+ const dataStoreProvider = {
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ setData: (key, data, type) => {
19
+ if (isCookieAllowed()) {
20
+ try {
21
+ if (key) {
22
+ const now = new Date();
23
+ const item = {
24
+ data: data,
25
+ expiry: now.getTime() + TtlInMs
26
+ };
27
+ const strItem = JSON.stringify(item);
28
+ if (type === "localStorage") {
29
+ localStorage.setItem(key, strItem);
30
+ } else {
31
+ sessionStorage.setItem(key, strItem);
32
+ }
33
+ }
34
+ } catch (error) {
35
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
36
+ Event: TelemetryEvent.ClientDataStoreProviderFailed,
37
+ ExceptionDetails: error,
38
+ Description: "Unable to store data in localStorage."
39
+ });
40
+ }
41
+ } else {
42
+ const dataToCache = {
43
+ key: key,
44
+ data: data,
45
+ type: type
46
+ };
47
+ parent.postMessage(dataToCache, "*");
48
+ }
49
+ },
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ getData: (key, type) => {
52
+ if (isCookieAllowed()) {
53
+ let item;
54
+ if (type === "localStorage") {
55
+ item = localStorage.getItem(key);
56
+ } else {
57
+ item = sessionStorage.getItem(key);
58
+ }
59
+ //Return item if not expired
60
+ let itemInJson = undefined;
61
+ if (item !== null) {
62
+ itemInJson = JSON.parse(item);
63
+ const now = new Date();
64
+ // compare the expiry time of the item with the current time
65
+ if (now.getTime() > itemInJson.expiry) {
66
+ // If the item is expired, delete the item from storage
67
+ // and return null
68
+ localStorage.removeItem(key);
69
+ return null;
70
+ }
71
+ return itemInJson.data;
72
+ }
73
+ } else {
74
+ // get data from in memory db when cookie is disabled
75
+ return inMemoryDataStore().getData(key);
76
+ }
77
+ },
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
+ removeData: (key, type) => {
80
+ if (isCookieAllowed()) {
81
+ if (key) {
82
+ if (type === "localStorage") {
83
+ return localStorage.removeItem(key);
84
+ } else {
85
+ return sessionStorage.removeItem(key);
86
+ }
87
+ }
88
+ } else {
89
+ // get data from in memory db when cookie is disabled
90
+ return inMemoryDataStore().removeData(key);
91
+ }
92
+ }
93
+ };
94
+ return dataStoreProvider;
95
+ };
@@ -0,0 +1,70 @@
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
+ if (defaultCacheManager.InternalCache[browserData.key]) {
16
+ delete defaultCacheManager.InternalCache[browserData.key];
17
+ }
18
+ defaultCacheManager.InternalCache[browserData.key] = browserData.data;
19
+ }
20
+ } catch (error) {
21
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
22
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
23
+ ExceptionDetails: error,
24
+ Description: "Unable to register default in-memory cache."
25
+ });
26
+ }
27
+ });
28
+
29
+ // send cache initialize message to client
30
+ if (defaultCacheManager.InternalCache === undefined || {}) {
31
+ parent.postMessage({
32
+ data: "cacheinitialize",
33
+ widgetId: widgetId
34
+ }, "*");
35
+ }
36
+ }
37
+ };
38
+ export const inMemoryDataStore = () => {
39
+ const dataStoreProvider = {
40
+ getData: key => {
41
+ if (defaultCacheManager.InternalCache && defaultCacheManager.InternalCache[key]) {
42
+ return defaultCacheManager.InternalCache[key];
43
+ }
44
+ },
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ setData: (key, data) => {
47
+ try {
48
+ defaultCacheManager.InternalCache[key] = data;
49
+ } catch (error) {
50
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
51
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
52
+ ExceptionDetails: error,
53
+ Description: "Unable to set data in default in-memory cache."
54
+ });
55
+ }
56
+ },
57
+ removeData: key => {
58
+ try {
59
+ defaultCacheManager.InternalCache[key] = {};
60
+ } catch (error) {
61
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
62
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
63
+ ExceptionDetails: error,
64
+ Description: "Unable to remove data from default in-memory cache."
65
+ });
66
+ }
67
+ }
68
+ };
69
+ return dataStoreProvider;
70
+ };
@@ -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,37 +11,46 @@ export let ScenarioType;
12
11
  ScenarioType["UNDEFINED"] = "LCW_Undefined";
13
12
  ScenarioType["ACS_ADAPTER"] = "LCW_ACSAdapterEvents";
14
13
  })(ScenarioType || (ScenarioType = {}));
14
+ export let LogLevel;
15
15
 
16
- export let LogLevel; // Events used in certain functionalities that are not being logged
17
-
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
- export let BroadcastEvent; // Events being logged
26
-
25
+ // Events being logged
27
26
  (function (BroadcastEvent) {
28
27
  BroadcastEvent["LoadPostChatSurvey"] = "LoadPostChatSurvey";
29
- BroadcastEvent["EndChat"] = "ChatEnded";
28
+ BroadcastEvent["ChatEnded"] = "ChatEnded";
30
29
  BroadcastEvent["NewMessageNotification"] = "NewMessageNotification";
31
30
  BroadcastEvent["UnreadMessageCount"] = "UnreadMessageCount";
31
+ BroadcastEvent["StartProactiveChat"] = "StartProactiveChat";
32
32
  BroadcastEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
33
33
  BroadcastEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
34
+ BroadcastEvent["ProactiveChatIsInPopoutMode"] = "ProactiveChatIsInPopoutMode";
35
+ BroadcastEvent["ResetProactiveChatParams"] = "ResetProactiveChatParams";
34
36
  BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
35
37
  BroadcastEvent["NewMessageSent"] = "NewMessageSent";
36
38
  BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
39
+ BroadcastEvent["HistoryMessageReceived"] = "HistoryMessageReceived";
37
40
  BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
38
- BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
41
+ BroadcastEvent["StartChat"] = "StartChat";
39
42
  BroadcastEvent["StartUnauthenticatedReconnectChat"] = "StartUnauthenticatedReconnectChat";
43
+ BroadcastEvent["InitiateEndChat"] = "InitiateEndChat";
40
44
  BroadcastEvent["SetCustomContext"] = "SetCustomContext";
41
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["RaiseErrorEvent"] = "RaiseErrorEvent";
42
52
  })(BroadcastEvent || (BroadcastEvent = {}));
43
-
44
53
  export let TelemetryEvent;
45
-
46
54
  (function (TelemetryEvent) {
47
55
  TelemetryEvent["CallAdded"] = "CallAdded";
48
56
  TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
@@ -52,8 +60,8 @@ export let TelemetryEvent;
52
60
  TelemetryEvent["CallDisconnected"] = "CallDisconnected";
53
61
  TelemetryEvent["CallDisconnectedException"] = "CallDisconnectedException";
54
62
  TelemetryEvent["IncomingCallEnded"] = "incomingCallEnded";
55
- TelemetryEvent["VoiceVideoInitialize"] = "VoiceVideoInitialize";
56
- TelemetryEvent["VoiceVideoInitializeException"] = "VoiceVideoInitializeException";
63
+ TelemetryEvent["VoiceVideoSdkInitialize"] = "VoiceVideoSdkInitialize";
64
+ TelemetryEvent["VoiceVideoSdkInitializeException"] = "VoiceVideoSdkInitializeException";
57
65
  TelemetryEvent["VoiceVideoLoading"] = "VoiceVideoLoading";
58
66
  TelemetryEvent["VoiceVideoNotLoaded"] = "VoiceVideoNotLoaded";
59
67
  TelemetryEvent["VoiceVideoLoadingException"] = "VoiceVideoLoadingException";
@@ -79,9 +87,12 @@ export let TelemetryEvent;
79
87
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
80
88
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
81
89
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
90
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
91
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
82
92
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
83
93
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
84
94
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
95
+ TelemetryEvent["WidgetLoadStarted"] = "WidgetLoadStarted";
85
96
  TelemetryEvent["WidgetLoadComplete"] = "WidgetLoadComplete";
86
97
  TelemetryEvent["WidgetLoadFailed"] = "WidgetLoadFailed";
87
98
  TelemetryEvent["StartChatMethodException"] = "StartChatMethodException";
@@ -90,8 +101,9 @@ export let TelemetryEvent;
90
101
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
91
102
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
92
103
  TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
93
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
104
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
94
105
  TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
106
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
95
107
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
96
108
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
97
109
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -116,12 +128,23 @@ export let TelemetryEvent;
116
128
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
117
129
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
118
130
  TelemetryEvent["AudioToggleButtonClicked"] = "AudioToggleButtonClicked";
131
+ TelemetryEvent["SuppressBotMagicCodeSucceeded"] = "SuppressBotMagicCodeSucceeded";
132
+ TelemetryEvent["SuppressBotMagicCodeFailed"] = "SuppressBotMagicCodeFailed";
133
+ TelemetryEvent["GetConversationDetailsException"] = "GetConversationDetailsException";
134
+ TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
135
+ TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
136
+ TelemetryEvent["GetAuthTokenFailed"] = "GetAuthTokenFailed";
137
+ TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
138
+ TelemetryEvent["CustomerVoiceResponsePageLoaded"] = "CustomerVoiceResponsePageLoaded";
139
+ TelemetryEvent["CustomerVoiceFormResponseSubmitted"] = "CustomerVoiceFormResponseSubmitted";
140
+ TelemetryEvent["CustomerVoiceFormResponseError"] = "CustomerVoiceFormResponseError";
119
141
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
120
142
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
121
143
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
122
144
  TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
123
145
  TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
124
146
  TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
147
+ TelemetryEvent["DataMaskingRuleApplyFailed"] = "DataMaskingRuleApplyFailed";
125
148
  TelemetryEvent["IC3ClientEvent"] = "IC3ClientEvent";
126
149
  TelemetryEvent["ConversationEndedThreadEventReceived"] = "ConversationEndedThreadEventReceived";
127
150
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
@@ -142,14 +165,18 @@ export let TelemetryEvent;
142
165
  TelemetryEvent["MessageSent"] = "MessageSent";
143
166
  TelemetryEvent["MessageReceived"] = "MessageReceived";
144
167
  TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
168
+ TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
169
+ TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
145
170
  })(TelemetryEvent || (TelemetryEvent = {}));
146
-
147
171
  export class TelemetryConstants {
148
172
  static map(eventTypeOrScenarioType) {
149
173
  switch (eventTypeOrScenarioType) {
150
174
  case TelemetryEvent.ParseAdaptiveCardFailed:
175
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
176
+ case TelemetryEvent.GetAuthTokenCalled:
177
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
178
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
151
179
  return ScenarioType.CONFIG_VALIDATION;
152
-
153
180
  case TelemetryEvent.WebChatLoaded:
154
181
  case TelemetryEvent.WidgetLoadComplete:
155
182
  case TelemetryEvent.WidgetLoadFailed:
@@ -164,7 +191,6 @@ export class TelemetryConstants {
164
191
  case TelemetryEvent.ConfirmationPaneLoaded:
165
192
  case TelemetryEvent.ProactiveChatPaneLoaded:
166
193
  return ScenarioType.LOAD;
167
-
168
194
  case TelemetryEvent.PrechatSubmitted:
169
195
  case TelemetryEvent.LCWChatButtonClicked:
170
196
  case TelemetryEvent.ProactiveChatAccepted:
@@ -187,8 +213,15 @@ export class TelemetryConstants {
187
213
  case TelemetryEvent.MessageSent:
188
214
  case TelemetryEvent.MessageReceived:
189
215
  case TelemetryEvent.CustomContextReceived:
216
+ case TelemetryEvent.BrowserUnloadEventStarted:
217
+ case TelemetryEvent.NetworkDisconnected:
218
+ case TelemetryEvent.NetworkReconnected:
219
+ case TelemetryEvent.AudioToggleButtonClicked:
220
+ case TelemetryEvent.EmailTranscriptCancelButtonClicked:
221
+ case TelemetryEvent.CustomerVoiceResponsePageLoaded:
222
+ case TelemetryEvent.CustomerVoiceFormResponseSubmitted:
223
+ case TelemetryEvent.CustomerVoiceFormResponseError:
190
224
  return ScenarioType.ACTIONS;
191
-
192
225
  case TelemetryEvent.StartChatSDKCall:
193
226
  case TelemetryEvent.StartChatEventRecevied:
194
227
  case TelemetryEvent.StartChatMethodException:
@@ -203,8 +236,8 @@ export class TelemetryConstants {
203
236
  case TelemetryEvent.EndChatSDKCallFailed:
204
237
  case TelemetryEvent.PostChatContextCallFailed:
205
238
  case TelemetryEvent.PostChatContextCallSucceed:
239
+ case TelemetryEvent.GetConversationDetailsException:
206
240
  return ScenarioType.SDK;
207
-
208
241
  case TelemetryEvent.VideoCallAcceptButtonClick:
209
242
  case TelemetryEvent.CallAdded:
210
243
  case TelemetryEvent.LocalVideoStreamAdded:
@@ -214,8 +247,8 @@ export class TelemetryConstants {
214
247
  case TelemetryEvent.CallDisconnected:
215
248
  case TelemetryEvent.CallDisconnectedException:
216
249
  case TelemetryEvent.IncomingCallEnded:
217
- case TelemetryEvent.VoiceVideoInitialize:
218
- case TelemetryEvent.VoiceVideoInitializeException:
250
+ case TelemetryEvent.VoiceVideoSdkInitialize:
251
+ case TelemetryEvent.VoiceVideoSdkInitializeException:
219
252
  case TelemetryEvent.VoiceVideoLoading:
220
253
  case TelemetryEvent.VoiceVideoNotLoaded:
221
254
  case TelemetryEvent.VoiceVideoLoadingException:
@@ -235,14 +268,11 @@ export class TelemetryConstants {
235
268
  case TelemetryEvent.CallingSDKLoadSuccess:
236
269
  case TelemetryEvent.CallingSDKLoadFailed:
237
270
  return ScenarioType.CALLING;
238
-
239
271
  default:
240
272
  return ScenarioType.ACTIONS;
241
273
  }
242
274
  }
243
-
244
275
  static mapEventToScenario(eventTypeOrScenarioType) {
245
276
  return TelemetryConstants.map(eventTypeOrScenarioType);
246
277
  }
247
-
248
278
  }
@@ -1,5 +1,4 @@
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 { ScenarioType, TelemetryEvent } from "./TelemetryConstants";
4
3
  import { newGuid } from "../utils";
5
4
  import { TelemetryManager } from "./TelemetryManager";
@@ -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 => {
@@ -64,9 +53,9 @@ export class TelemetryHelper {
64
53
  event.ActionType = payload.ActionType;
65
54
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
66
55
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
56
+ event.Description = payload.Description;
67
57
  });
68
58
  }
69
-
70
59
  static conformToWebChatContract(level, input) {
71
60
  const payload = input.payload;
72
61
  return TelemetryHelper.populate(level, payload, event => {
@@ -78,12 +67,10 @@ export class TelemetryHelper {
78
67
  event.ExceptionDetails = JSON.stringify(payload.error);
79
68
  });
80
69
  }
81
-
82
70
  static conformToConfigValidationContract(level, input) {
83
71
  const payload = input.payload;
84
72
  return TelemetryHelper.populate(level, payload, event => {
85
73
  var _TelemetryManager$Int8, _TelemetryManager$Int9, _TelemetryManager$Int10;
86
-
87
74
  event.Event = payload.Event;
88
75
  event.RequestId = payload.RequestId;
89
76
  event.LCWVersion = (_TelemetryManager$Int8 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.environmentVersion;
@@ -92,14 +79,13 @@ export class TelemetryHelper {
92
79
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
93
80
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
94
81
  event.Language = ((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.chatWidgetLocaleLCID) || "";
82
+ event.Description = payload.Data;
95
83
  });
96
84
  }
97
-
98
85
  static conformToLoadContract(level, input) {
99
86
  const payload = input.payload;
100
87
  return TelemetryHelper.populate(level, payload, event => {
101
88
  var _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13;
102
-
103
89
  event.Event = payload.Event;
104
90
  event.ResourcePath = payload.ResourcePath;
105
91
  event.WidgetState = payload.WidgetState;
@@ -112,12 +98,10 @@ export class TelemetryHelper {
112
98
  event.OCChatComponentsVersion = ((_TelemetryManager$Int13 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatComponentVersion) ?? "";
113
99
  });
114
100
  }
115
-
116
101
  static conformToIC3ClientContract(level, input) {
117
102
  const payload = input.payload;
118
103
  return TelemetryHelper.populate(level, payload, event => {
119
104
  var _TelemetryManager$Int14;
120
-
121
105
  event.Event = payload.Event;
122
106
  event.IC3ClientVersion = (_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.IC3ClientVersion;
123
107
  event.SubscriptionId = payload.SubscriptionId;
@@ -130,7 +114,6 @@ export class TelemetryHelper {
130
114
  event.Description = payload.Description;
131
115
  });
132
116
  }
133
-
134
117
  static conformToACSAdapterContract(level, input) {
135
118
  const payload = input.payload;
136
119
  return TelemetryHelper.populate(level, payload, event => {
@@ -144,7 +127,6 @@ export class TelemetryHelper {
144
127
  event.ExceptionDetails = payload.ExceptionDetails;
145
128
  });
146
129
  }
147
-
148
130
  static conformToCallingContract(level, input) {
149
131
  const payload = input.payload;
150
132
  return TelemetryHelper.populate(level, payload, event => {
@@ -155,7 +137,6 @@ export class TelemetryHelper {
155
137
  event.Description = payload.Description;
156
138
  });
157
139
  }
158
-
159
140
  static conformToOCChatSDKContract(level, input) {
160
141
  const payload = input.payload;
161
142
  return TelemetryHelper.populate(level, payload, event => {
@@ -167,15 +148,12 @@ export class TelemetryHelper {
167
148
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
168
149
  });
169
150
  }
170
-
171
151
  static addChatConfigDataToTelemetry(chatConfig, telemetryInternalData) {
172
152
  var _chatConfig$ChatWidge;
173
-
174
153
  const telemetryDataLocal = telemetryInternalData;
175
154
  telemetryDataLocal.chatWidgetLocaleLCID = (_chatConfig$ChatWidge = chatConfig.ChatWidgetLanguage) === null || _chatConfig$ChatWidge === void 0 ? void 0 : _chatConfig$ChatWidge.msdyn_localeid;
176
155
  return telemetryDataLocal;
177
156
  }
178
-
179
157
  static addWidgetDataToTelemetry(telemetryConfig, telemetryInternalData) {
180
158
  const telemetryDataLocal = telemetryInternalData;
181
159
  telemetryDataLocal.widgetId = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.appId;
@@ -184,88 +162,81 @@ export class TelemetryHelper {
184
162
  telemetryDataLocal.lcwRuntimeId = newGuid();
185
163
  return telemetryDataLocal;
186
164
  }
187
-
188
165
  static addSessionDataToTelemetry(chatSession, telemetryInternalData) {
189
166
  var _chatSession$chatToke, _chatSession$chatToke2;
190
-
191
167
  const telemetryDataLocal = telemetryInternalData;
192
168
  telemetryDataLocal.chatId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke = chatSession.chatToken) === null || _chatSession$chatToke === void 0 ? void 0 : _chatSession$chatToke.chatId;
193
169
  telemetryDataLocal.currentRequestId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke2 = chatSession.chatToken) === null || _chatSession$chatToke2 === void 0 ? void 0 : _chatSession$chatToke2.requestId;
194
170
  return telemetryInternalData;
195
171
  }
196
-
197
172
  static addConversationDataToTelemetry(liveWorkItem, telemetryInternalData) {
198
173
  const telemetryDataLocal = telemetryInternalData;
199
174
  telemetryDataLocal.conversationId = liveWorkItem.conversationId;
200
175
  return telemetryDataLocal;
201
176
  }
202
-
203
177
  }
204
-
205
178
  _defineProperty(TelemetryHelper, "callId", void 0);
206
-
207
179
  _defineProperty(TelemetryHelper, "elapsedTime", void 0);
208
-
209
180
  _defineProperty(TelemetryHelper, "logCallingEvent", (logLevel, payload, callId) => {
210
181
  const telemetryEvent = {
211
182
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
212
183
  logLevel: logLevel,
213
- payload: { ...payload,
184
+ payload: {
185
+ ...payload,
214
186
  CallId: callId
215
187
  }
216
188
  };
217
189
  BroadcastService.postMessage(telemetryEvent);
218
190
  });
219
-
220
191
  _defineProperty(TelemetryHelper, "logLoadingEvent", (logLevel, payload) => {
221
192
  const telemetryEvent = {
222
193
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
223
194
  logLevel: logLevel,
224
- payload: { ...payload
195
+ payload: {
196
+ ...payload
225
197
  }
226
198
  };
227
199
  BroadcastService.postMessage(telemetryEvent);
228
200
  });
229
-
230
201
  _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
231
202
  const telemetryEvent = {
232
203
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
233
204
  logLevel: logLevel,
234
- payload: { ...payload
205
+ payload: {
206
+ ...payload
235
207
  }
236
208
  };
237
209
  BroadcastService.postMessage(telemetryEvent);
238
210
  });
239
-
240
211
  _defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
241
212
  var _TelemetryManager$Int15;
242
-
243
213
  const telemetryEvent = {
244
214
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
245
215
  logLevel: logLevel,
246
- payload: { ...payload,
216
+ payload: {
217
+ ...payload,
247
218
  TransactionId: newGuid(),
248
219
  RequestId: (_TelemetryManager$Int15 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.currentRequestId
249
220
  }
250
221
  };
251
222
  BroadcastService.postMessage(telemetryEvent);
252
223
  });
253
-
254
224
  _defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
255
225
  const telemetryEvent = {
256
226
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
257
227
  logLevel: logLevel,
258
- payload: { ...payload
228
+ payload: {
229
+ ...payload
259
230
  }
260
231
  };
261
232
  BroadcastService.postMessage(telemetryEvent);
262
233
  });
263
-
264
234
  _defineProperty(TelemetryHelper, "logWebChatEvent", (logLevel, payload) => {
265
235
  const telemetryEvent = {
266
236
  eventName: TelemetryEvent.WebChatEvent,
267
237
  logLevel: logLevel,
268
- payload: { ...payload,
238
+ payload: {
239
+ ...payload,
269
240
  type: TelemetryEvent.WebChatEvent,
270
241
  scenarioType: ScenarioType.WEBCHAT
271
242
  }