@microsoft/omnichannel-chat-widget 0.1.0-main.a7e4e7d → 0.1.0-main.ada8ec0

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