@microsoft/omnichannel-chat-widget 0.1.0-main.d5846c0 → 0.1.0-main.d5a92f2

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 +28 -161
  4. package/lib/cjs/common/KeyCodes.js +3 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  6. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -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 +44 -27
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +19 -58
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
  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 +14 -26
  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 +39 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  33. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  34. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -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 +309 -216
  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 +3 -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 +12 -27
  74. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -17
  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 +12 -0
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  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 +25 -148
  137. package/lib/esm/common/KeyCodes.js +3 -3
  138. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  139. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -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 +48 -24
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +19 -46
  144. package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
  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 +60 -50
  148. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  149. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +16 -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 +32 -0
  160. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  163. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  164. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -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 +314 -160
  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 +5 -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 +12 -19
  202. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  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 +5 -0
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  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 +31 -9
  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,18 +11,18 @@ 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
28
  BroadcastEvent["ChatEnded"] = "ChatEnded";
@@ -33,21 +32,25 @@ export let BroadcastEvent; // Events being logged
33
32
  BroadcastEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
34
33
  BroadcastEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
35
34
  BroadcastEvent["ProactiveChatIsInPopoutMode"] = "ProactiveChatIsInPopoutMode";
36
- BroadcastEvent["ClosePopoutWindow"] = "ClosePopoutWindow";
35
+ BroadcastEvent["ResetProactiveChatParams"] = "ResetProactiveChatParams";
37
36
  BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
38
37
  BroadcastEvent["NewMessageSent"] = "NewMessageSent";
39
38
  BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
39
+ BroadcastEvent["HistoryMessageReceived"] = "HistoryMessageReceived";
40
40
  BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
41
41
  BroadcastEvent["StartChat"] = "StartChat";
42
- BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
43
42
  BroadcastEvent["StartUnauthenticatedReconnectChat"] = "StartUnauthenticatedReconnectChat";
44
- BroadcastEvent["EndChat"] = "EndChat";
43
+ BroadcastEvent["InitiateEndChat"] = "InitiateEndChat";
45
44
  BroadcastEvent["SetCustomContext"] = "SetCustomContext";
46
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";
47
52
  })(BroadcastEvent || (BroadcastEvent = {}));
48
-
49
53
  export let TelemetryEvent;
50
-
51
54
  (function (TelemetryEvent) {
52
55
  TelemetryEvent["CallAdded"] = "CallAdded";
53
56
  TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
@@ -57,8 +60,8 @@ export let TelemetryEvent;
57
60
  TelemetryEvent["CallDisconnected"] = "CallDisconnected";
58
61
  TelemetryEvent["CallDisconnectedException"] = "CallDisconnectedException";
59
62
  TelemetryEvent["IncomingCallEnded"] = "incomingCallEnded";
60
- TelemetryEvent["VoiceVideoInitialize"] = "VoiceVideoInitialize";
61
- TelemetryEvent["VoiceVideoInitializeException"] = "VoiceVideoInitializeException";
63
+ TelemetryEvent["VoiceVideoSdkInitialize"] = "VoiceVideoSdkInitialize";
64
+ TelemetryEvent["VoiceVideoSdkInitializeException"] = "VoiceVideoSdkInitializeException";
62
65
  TelemetryEvent["VoiceVideoLoading"] = "VoiceVideoLoading";
63
66
  TelemetryEvent["VoiceVideoNotLoaded"] = "VoiceVideoNotLoaded";
64
67
  TelemetryEvent["VoiceVideoLoadingException"] = "VoiceVideoLoadingException";
@@ -84,9 +87,12 @@ export let TelemetryEvent;
84
87
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
85
88
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
86
89
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
90
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
91
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
87
92
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
88
93
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
89
94
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
95
+ TelemetryEvent["WidgetLoadStarted"] = "WidgetLoadStarted";
90
96
  TelemetryEvent["WidgetLoadComplete"] = "WidgetLoadComplete";
91
97
  TelemetryEvent["WidgetLoadFailed"] = "WidgetLoadFailed";
92
98
  TelemetryEvent["StartChatMethodException"] = "StartChatMethodException";
@@ -95,9 +101,9 @@ export let TelemetryEvent;
95
101
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
96
102
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
97
103
  TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
98
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
104
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
99
105
  TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
100
- TelemetryEvent["ClosePopoutWindowEventRecevied"] = "ClosePopoutWindowEventRecevied";
106
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
101
107
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
102
108
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
103
109
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -122,12 +128,23 @@ export let TelemetryEvent;
122
128
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
123
129
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
124
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";
125
141
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
126
142
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
127
143
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
128
144
  TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
129
145
  TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
130
146
  TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
147
+ TelemetryEvent["DataMaskingRuleApplyFailed"] = "DataMaskingRuleApplyFailed";
131
148
  TelemetryEvent["IC3ClientEvent"] = "IC3ClientEvent";
132
149
  TelemetryEvent["ConversationEndedThreadEventReceived"] = "ConversationEndedThreadEventReceived";
133
150
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
@@ -148,14 +165,18 @@ export let TelemetryEvent;
148
165
  TelemetryEvent["MessageSent"] = "MessageSent";
149
166
  TelemetryEvent["MessageReceived"] = "MessageReceived";
150
167
  TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
168
+ TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
169
+ TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
151
170
  })(TelemetryEvent || (TelemetryEvent = {}));
152
-
153
171
  export class TelemetryConstants {
154
172
  static map(eventTypeOrScenarioType) {
155
173
  switch (eventTypeOrScenarioType) {
156
174
  case TelemetryEvent.ParseAdaptiveCardFailed:
175
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
176
+ case TelemetryEvent.GetAuthTokenCalled:
177
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
178
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
157
179
  return ScenarioType.CONFIG_VALIDATION;
158
-
159
180
  case TelemetryEvent.WebChatLoaded:
160
181
  case TelemetryEvent.WidgetLoadComplete:
161
182
  case TelemetryEvent.WidgetLoadFailed:
@@ -170,7 +191,6 @@ export class TelemetryConstants {
170
191
  case TelemetryEvent.ConfirmationPaneLoaded:
171
192
  case TelemetryEvent.ProactiveChatPaneLoaded:
172
193
  return ScenarioType.LOAD;
173
-
174
194
  case TelemetryEvent.PrechatSubmitted:
175
195
  case TelemetryEvent.LCWChatButtonClicked:
176
196
  case TelemetryEvent.ProactiveChatAccepted:
@@ -193,8 +213,15 @@ export class TelemetryConstants {
193
213
  case TelemetryEvent.MessageSent:
194
214
  case TelemetryEvent.MessageReceived:
195
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:
196
224
  return ScenarioType.ACTIONS;
197
-
198
225
  case TelemetryEvent.StartChatSDKCall:
199
226
  case TelemetryEvent.StartChatEventRecevied:
200
227
  case TelemetryEvent.StartChatMethodException:
@@ -209,8 +236,8 @@ export class TelemetryConstants {
209
236
  case TelemetryEvent.EndChatSDKCallFailed:
210
237
  case TelemetryEvent.PostChatContextCallFailed:
211
238
  case TelemetryEvent.PostChatContextCallSucceed:
239
+ case TelemetryEvent.GetConversationDetailsException:
212
240
  return ScenarioType.SDK;
213
-
214
241
  case TelemetryEvent.VideoCallAcceptButtonClick:
215
242
  case TelemetryEvent.CallAdded:
216
243
  case TelemetryEvent.LocalVideoStreamAdded:
@@ -220,8 +247,8 @@ export class TelemetryConstants {
220
247
  case TelemetryEvent.CallDisconnected:
221
248
  case TelemetryEvent.CallDisconnectedException:
222
249
  case TelemetryEvent.IncomingCallEnded:
223
- case TelemetryEvent.VoiceVideoInitialize:
224
- case TelemetryEvent.VoiceVideoInitializeException:
250
+ case TelemetryEvent.VoiceVideoSdkInitialize:
251
+ case TelemetryEvent.VoiceVideoSdkInitializeException:
225
252
  case TelemetryEvent.VoiceVideoLoading:
226
253
  case TelemetryEvent.VoiceVideoNotLoaded:
227
254
  case TelemetryEvent.VoiceVideoLoadingException:
@@ -241,14 +268,11 @@ export class TelemetryConstants {
241
268
  case TelemetryEvent.CallingSDKLoadSuccess:
242
269
  case TelemetryEvent.CallingSDKLoadFailed:
243
270
  return ScenarioType.CALLING;
244
-
245
271
  default:
246
272
  return ScenarioType.ACTIONS;
247
273
  }
248
274
  }
249
-
250
275
  static mapEventToScenario(eventTypeOrScenarioType) {
251
276
  return TelemetryConstants.map(eventTypeOrScenarioType);
252
277
  }
253
-
254
278
  }
@@ -1,5 +1,6 @@
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
-
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import { ScenarioType, TelemetryEvent } from "./TelemetryConstants";
4
5
  import { newGuid } from "../utils";
5
6
  import { TelemetryManager } from "./TelemetryManager";
@@ -9,35 +10,27 @@ export class TelemetryHelper {
9
10
  switch (input.scenarioType) {
10
11
  case ScenarioType.LOAD:
11
12
  return TelemetryHelper.conformToLoadContract(level, input);
12
-
13
13
  case ScenarioType.IC3_CLIENT:
14
14
  return TelemetryHelper.conformToIC3ClientContract(level, input);
15
-
16
15
  case ScenarioType.WEBCHAT:
17
16
  return TelemetryHelper.conformToWebChatContract(level, input);
18
-
19
17
  case ScenarioType.OCCHATSDK:
20
18
  return TelemetryHelper.conformToOCChatSDKContract(level, input);
21
-
22
19
  case ScenarioType.ACTIONS:
23
20
  return TelemetryHelper.conformToActionsContract(level, input);
24
-
25
21
  case ScenarioType.CALLING:
26
22
  return TelemetryHelper.conformToCallingContract(level, input);
27
-
28
23
  case ScenarioType.ACS_ADAPTER:
29
24
  return TelemetryHelper.conformToACSAdapterContract(level, input);
30
-
31
25
  default:
32
26
  case ScenarioType.CONFIG_VALIDATION:
33
27
  return TelemetryHelper.conformToConfigValidationContract(level, input);
34
28
  }
35
29
  }
36
-
37
- static populateBasicProperties(level, // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ static populateBasicProperties(level,
31
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
32
  telemetryData) {
39
33
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7;
40
-
41
34
  return {
42
35
  WidgetId: ((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.widgetId) ?? "",
43
36
  ChatId: ((_TelemetryManager$Int2 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.chatId) ?? "",
@@ -49,14 +42,12 @@ export class TelemetryHelper {
49
42
  LogLevel: level
50
43
  };
51
44
  }
52
-
53
45
  static populate(level, telemetryData, configure) {
54
46
  const base = TelemetryHelper.populateBasicProperties(level, telemetryData);
55
47
  const event = base;
56
48
  configure(event);
57
49
  return event;
58
50
  }
59
-
60
51
  static conformToActionsContract(level, input) {
61
52
  const payload = input.payload;
62
53
  return TelemetryHelper.populate(level, payload, event => {
@@ -64,9 +55,9 @@ export class TelemetryHelper {
64
55
  event.ActionType = payload.ActionType;
65
56
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
66
57
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
58
+ event.Description = payload.Description;
67
59
  });
68
60
  }
69
-
70
61
  static conformToWebChatContract(level, input) {
71
62
  const payload = input.payload;
72
63
  return TelemetryHelper.populate(level, payload, event => {
@@ -78,12 +69,10 @@ export class TelemetryHelper {
78
69
  event.ExceptionDetails = JSON.stringify(payload.error);
79
70
  });
80
71
  }
81
-
82
72
  static conformToConfigValidationContract(level, input) {
83
73
  const payload = input.payload;
84
74
  return TelemetryHelper.populate(level, payload, event => {
85
75
  var _TelemetryManager$Int8, _TelemetryManager$Int9, _TelemetryManager$Int10;
86
-
87
76
  event.Event = payload.Event;
88
77
  event.RequestId = payload.RequestId;
89
78
  event.LCWVersion = (_TelemetryManager$Int8 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.environmentVersion;
@@ -92,14 +81,13 @@ export class TelemetryHelper {
92
81
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
93
82
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
94
83
  event.Language = ((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.chatWidgetLocaleLCID) || "";
84
+ event.Description = payload.Data;
95
85
  });
96
86
  }
97
-
98
87
  static conformToLoadContract(level, input) {
99
88
  const payload = input.payload;
100
89
  return TelemetryHelper.populate(level, payload, event => {
101
90
  var _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13;
102
-
103
91
  event.Event = payload.Event;
104
92
  event.ResourcePath = payload.ResourcePath;
105
93
  event.WidgetState = payload.WidgetState;
@@ -112,12 +100,10 @@ export class TelemetryHelper {
112
100
  event.OCChatComponentsVersion = ((_TelemetryManager$Int13 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatComponentVersion) ?? "";
113
101
  });
114
102
  }
115
-
116
103
  static conformToIC3ClientContract(level, input) {
117
104
  const payload = input.payload;
118
105
  return TelemetryHelper.populate(level, payload, event => {
119
106
  var _TelemetryManager$Int14;
120
-
121
107
  event.Event = payload.Event;
122
108
  event.IC3ClientVersion = (_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.IC3ClientVersion;
123
109
  event.SubscriptionId = payload.SubscriptionId;
@@ -130,7 +116,6 @@ export class TelemetryHelper {
130
116
  event.Description = payload.Description;
131
117
  });
132
118
  }
133
-
134
119
  static conformToACSAdapterContract(level, input) {
135
120
  const payload = input.payload;
136
121
  return TelemetryHelper.populate(level, payload, event => {
@@ -144,7 +129,6 @@ export class TelemetryHelper {
144
129
  event.ExceptionDetails = payload.ExceptionDetails;
145
130
  });
146
131
  }
147
-
148
132
  static conformToCallingContract(level, input) {
149
133
  const payload = input.payload;
150
134
  return TelemetryHelper.populate(level, payload, event => {
@@ -155,7 +139,6 @@ export class TelemetryHelper {
155
139
  event.Description = payload.Description;
156
140
  });
157
141
  }
158
-
159
142
  static conformToOCChatSDKContract(level, input) {
160
143
  const payload = input.payload;
161
144
  return TelemetryHelper.populate(level, payload, event => {
@@ -167,15 +150,12 @@ export class TelemetryHelper {
167
150
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
168
151
  });
169
152
  }
170
-
171
153
  static addChatConfigDataToTelemetry(chatConfig, telemetryInternalData) {
172
154
  var _chatConfig$ChatWidge;
173
-
174
155
  const telemetryDataLocal = telemetryInternalData;
175
156
  telemetryDataLocal.chatWidgetLocaleLCID = (_chatConfig$ChatWidge = chatConfig.ChatWidgetLanguage) === null || _chatConfig$ChatWidge === void 0 ? void 0 : _chatConfig$ChatWidge.msdyn_localeid;
176
157
  return telemetryDataLocal;
177
158
  }
178
-
179
159
  static addWidgetDataToTelemetry(telemetryConfig, telemetryInternalData) {
180
160
  const telemetryDataLocal = telemetryInternalData;
181
161
  telemetryDataLocal.widgetId = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.appId;
@@ -184,88 +164,81 @@ export class TelemetryHelper {
184
164
  telemetryDataLocal.lcwRuntimeId = newGuid();
185
165
  return telemetryDataLocal;
186
166
  }
187
-
188
167
  static addSessionDataToTelemetry(chatSession, telemetryInternalData) {
189
168
  var _chatSession$chatToke, _chatSession$chatToke2;
190
-
191
169
  const telemetryDataLocal = telemetryInternalData;
192
170
  telemetryDataLocal.chatId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke = chatSession.chatToken) === null || _chatSession$chatToke === void 0 ? void 0 : _chatSession$chatToke.chatId;
193
171
  telemetryDataLocal.currentRequestId = chatSession === null || chatSession === void 0 ? void 0 : (_chatSession$chatToke2 = chatSession.chatToken) === null || _chatSession$chatToke2 === void 0 ? void 0 : _chatSession$chatToke2.requestId;
194
172
  return telemetryInternalData;
195
173
  }
196
-
197
174
  static addConversationDataToTelemetry(liveWorkItem, telemetryInternalData) {
198
175
  const telemetryDataLocal = telemetryInternalData;
199
176
  telemetryDataLocal.conversationId = liveWorkItem.conversationId;
200
177
  return telemetryDataLocal;
201
178
  }
202
-
203
179
  }
204
-
205
180
  _defineProperty(TelemetryHelper, "callId", void 0);
206
-
207
181
  _defineProperty(TelemetryHelper, "elapsedTime", void 0);
208
-
209
182
  _defineProperty(TelemetryHelper, "logCallingEvent", (logLevel, payload, callId) => {
210
183
  const telemetryEvent = {
211
184
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
212
185
  logLevel: logLevel,
213
- payload: { ...payload,
186
+ payload: {
187
+ ...payload,
214
188
  CallId: callId
215
189
  }
216
190
  };
217
191
  BroadcastService.postMessage(telemetryEvent);
218
192
  });
219
-
220
193
  _defineProperty(TelemetryHelper, "logLoadingEvent", (logLevel, payload) => {
221
194
  const telemetryEvent = {
222
195
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
223
196
  logLevel: logLevel,
224
- payload: { ...payload
197
+ payload: {
198
+ ...payload
225
199
  }
226
200
  };
227
201
  BroadcastService.postMessage(telemetryEvent);
228
202
  });
229
-
230
203
  _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
231
204
  const telemetryEvent = {
232
205
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
233
206
  logLevel: logLevel,
234
- payload: { ...payload
207
+ payload: {
208
+ ...payload
235
209
  }
236
210
  };
237
211
  BroadcastService.postMessage(telemetryEvent);
238
212
  });
239
-
240
213
  _defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
241
214
  var _TelemetryManager$Int15;
242
-
243
215
  const telemetryEvent = {
244
216
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
245
217
  logLevel: logLevel,
246
- payload: { ...payload,
218
+ payload: {
219
+ ...payload,
247
220
  TransactionId: newGuid(),
248
221
  RequestId: (_TelemetryManager$Int15 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.currentRequestId
249
222
  }
250
223
  };
251
224
  BroadcastService.postMessage(telemetryEvent);
252
225
  });
253
-
254
226
  _defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
255
227
  const telemetryEvent = {
256
228
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
257
229
  logLevel: logLevel,
258
- payload: { ...payload
230
+ payload: {
231
+ ...payload
259
232
  }
260
233
  };
261
234
  BroadcastService.postMessage(telemetryEvent);
262
235
  });
263
-
264
236
  _defineProperty(TelemetryHelper, "logWebChatEvent", (logLevel, payload) => {
265
237
  const telemetryEvent = {
266
238
  eventName: TelemetryEvent.WebChatEvent,
267
239
  logLevel: logLevel,
268
- payload: { ...payload,
240
+ payload: {
241
+ ...payload,
269
242
  type: TelemetryEvent.WebChatEvent,
270
243
  scenarioType: ScenarioType.WEBCHAT
271
244
  }