@microsoft/omnichannel-chat-widget 0.1.0-main.63cfb47 → 0.1.0-main.6d27b26

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 (315) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +50 -153
  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 +54 -26
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +9 -32
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  15. package/lib/cjs/common/utils.js +80 -80
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  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 +15 -44
  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 +126 -60
  42. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  43. package/lib/cjs/components/livechatwidget/common/endChat.js +99 -37
  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 +36 -53
  48. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +76 -129
  49. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +7 -32
  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 +251 -106
  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 +331 -193
  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 +11 -44
  67. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +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 +5 -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 +10 -22
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
  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 +7 -18
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  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 +1 -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 -25
  127. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -13
  128. package/lib/cjs/contexts/createReducer.js +169 -99
  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 +26 -46
  135. package/lib/esm/assets/Icons.js +2 -1
  136. package/lib/esm/common/Constants.js +45 -141
  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 +58 -23
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
  144. package/lib/esm/common/telemetry/TelemetryManager.js +9 -20
  145. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  146. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  147. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  148. package/lib/esm/common/utils.js +73 -45
  149. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  150. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  151. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  152. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -14
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  154. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  155. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  157. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  158. package/lib/esm/components/headerstateful/HeaderStateful.js +20 -17
  159. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  160. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  163. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  164. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  165. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  166. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  167. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  168. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  169. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  170. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  171. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  172. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +127 -46
  173. package/lib/esm/components/livechatwidget/common/endChat.js +99 -23
  174. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  175. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  176. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  177. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +39 -22
  178. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -111
  179. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +7 -22
  180. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  181. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  182. package/lib/esm/components/livechatwidget/common/startChat.js +251 -86
  183. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  184. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  185. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +334 -141
  186. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  187. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  188. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  189. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  190. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  191. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  192. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  193. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  194. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  195. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  196. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  197. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  198. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  201. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  202. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  203. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  206. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  207. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  208. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +1 -5
  251. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  252. package/lib/esm/contexts/ChatContextStore.js +2 -1
  253. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  254. package/lib/esm/contexts/common/ConversationState.js +3 -3
  255. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -25
  256. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -9
  257. package/lib/esm/contexts/createReducer.js +169 -96
  258. package/lib/esm/controller/componentController.js +5 -4
  259. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  260. package/lib/esm/hooks/useChatContextStore.js +0 -4
  261. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  262. package/lib/esm/plugins/newMessageEventHandler.js +26 -35
  263. package/lib/types/assets/Icons.d.ts +1 -0
  264. package/lib/types/common/Constants.d.ts +37 -1
  265. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  266. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  267. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  268. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  269. package/lib/types/common/telemetry/TelemetryConstants.d.ts +39 -8
  270. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
  271. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  272. package/lib/types/common/telemetry/definitions/Payload.d.ts +13 -9
  273. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +7 -3
  274. package/lib/types/common/utils.d.ts +8 -1
  275. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  276. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  277. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  278. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  279. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  280. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  281. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  282. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  283. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  284. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  285. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  286. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  287. package/lib/types/components/livechatwidget/common/startChat.d.ts +6 -2
  288. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  289. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  290. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  291. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  292. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  293. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  294. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  295. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  296. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  297. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  298. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  299. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  300. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  301. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  302. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  303. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  304. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  305. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  306. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  307. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  308. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  311. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  312. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -3
  313. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -24
  314. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  315. package/package.json +7 -9
@@ -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,41 +18,45 @@ 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";
43
- BroadcastEvent["ChatWidgetStateChanged"] = "ChatWidgetStateChanged";
36
+ BroadcastEvent["StartProactiveChat"] = "StartProactiveChat";
44
37
  BroadcastEvent["ProactiveChatStartChat"] = "ProactiveChatStartChat";
45
38
  BroadcastEvent["ProactiveChatStartPopoutChat"] = "ProactiveChatStartPopoutChat";
39
+ BroadcastEvent["ProactiveChatIsInPopoutMode"] = "ProactiveChatIsInPopoutMode";
40
+ BroadcastEvent["ResetProactiveChatParams"] = "ResetProactiveChatParams";
46
41
  BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
47
42
  BroadcastEvent["NewMessageSent"] = "NewMessageSent";
48
43
  BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
44
+ BroadcastEvent["HistoryMessageReceived"] = "HistoryMessageReceived";
49
45
  BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
50
- BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
46
+ BroadcastEvent["StartChat"] = "StartChat";
51
47
  BroadcastEvent["StartUnauthenticatedReconnectChat"] = "StartUnauthenticatedReconnectChat";
48
+ BroadcastEvent["InitiateEndChat"] = "InitiateEndChat";
49
+ BroadcastEvent["SetCustomContext"] = "SetCustomContext";
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";
52
57
  })(BroadcastEvent || (exports.BroadcastEvent = BroadcastEvent = {}));
53
-
54
58
  let TelemetryEvent;
55
59
  exports.TelemetryEvent = TelemetryEvent;
56
-
57
60
  (function (TelemetryEvent) {
58
61
  TelemetryEvent["CallAdded"] = "CallAdded";
59
62
  TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
@@ -63,8 +66,8 @@ exports.TelemetryEvent = TelemetryEvent;
63
66
  TelemetryEvent["CallDisconnected"] = "CallDisconnected";
64
67
  TelemetryEvent["CallDisconnectedException"] = "CallDisconnectedException";
65
68
  TelemetryEvent["IncomingCallEnded"] = "incomingCallEnded";
66
- TelemetryEvent["VoiceVideoInitialize"] = "VoiceVideoInitialize";
67
- TelemetryEvent["VoiceVideoInitializeException"] = "VoiceVideoInitializeException";
69
+ TelemetryEvent["VoiceVideoSdkInitialize"] = "VoiceVideoSdkInitialize";
70
+ TelemetryEvent["VoiceVideoSdkInitializeException"] = "VoiceVideoSdkInitializeException";
68
71
  TelemetryEvent["VoiceVideoLoading"] = "VoiceVideoLoading";
69
72
  TelemetryEvent["VoiceVideoNotLoaded"] = "VoiceVideoNotLoaded";
70
73
  TelemetryEvent["VoiceVideoLoadingException"] = "VoiceVideoLoadingException";
@@ -90,9 +93,12 @@ exports.TelemetryEvent = TelemetryEvent;
90
93
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
91
94
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
92
95
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
96
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
97
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
93
98
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
94
99
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
95
100
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
101
+ TelemetryEvent["WidgetLoadStarted"] = "WidgetLoadStarted";
96
102
  TelemetryEvent["WidgetLoadComplete"] = "WidgetLoadComplete";
97
103
  TelemetryEvent["WidgetLoadFailed"] = "WidgetLoadFailed";
98
104
  TelemetryEvent["StartChatMethodException"] = "StartChatMethodException";
@@ -101,8 +107,9 @@ exports.TelemetryEvent = TelemetryEvent;
101
107
  TelemetryEvent["PrechatSubmitted"] = "PrechatSubmitted";
102
108
  TelemetryEvent["StartChatSDKCall"] = "StartChatCall";
103
109
  TelemetryEvent["StartChatEventRecevied"] = "StartChatEventReceived";
104
- TelemetryEvent["EndChatSDKCall"] = "EndChatCall";
110
+ TelemetryEvent["EndChatSDKCall"] = "EndChatSDKCall";
105
111
  TelemetryEvent["EndChatEventReceived"] = "EndChatEventReceived";
112
+ TelemetryEvent["WindowClosed"] = "WindowClosed";
106
113
  TelemetryEvent["OnNewMessageFailed"] = "OnNewMessageFailed";
107
114
  TelemetryEvent["OnNewMessageAudioNotificationFailed"] = "OnNewMessageAudioNotificationFailed";
108
115
  TelemetryEvent["DownloadTranscriptResponseNullOrUndefined"] = "DownloadTranscriptResponseNullOrUndefined";
@@ -127,12 +134,23 @@ exports.TelemetryEvent = TelemetryEvent;
127
134
  TelemetryEvent["EmailTranscriptButtonClicked"] = "EmailTranscriptButtonClicked";
128
135
  TelemetryEvent["EmailTranscriptCancelButtonClicked"] = "EmailTranscriptCancelButtonClicked";
129
136
  TelemetryEvent["AudioToggleButtonClicked"] = "AudioToggleButtonClicked";
137
+ TelemetryEvent["SuppressBotMagicCodeSucceeded"] = "SuppressBotMagicCodeSucceeded";
138
+ TelemetryEvent["SuppressBotMagicCodeFailed"] = "SuppressBotMagicCodeFailed";
139
+ TelemetryEvent["GetConversationDetailsException"] = "GetConversationDetailsException";
140
+ TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
141
+ TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
142
+ TelemetryEvent["GetAuthTokenFailed"] = "GetAuthTokenFailed";
143
+ TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
144
+ TelemetryEvent["CustomerVoiceResponsePageLoaded"] = "CustomerVoiceResponsePageLoaded";
145
+ TelemetryEvent["CustomerVoiceFormResponseSubmitted"] = "CustomerVoiceFormResponseSubmitted";
146
+ TelemetryEvent["CustomerVoiceFormResponseError"] = "CustomerVoiceFormResponseError";
130
147
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
131
148
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
132
149
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
133
150
  TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
134
151
  TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
135
152
  TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
153
+ TelemetryEvent["DataMaskingRuleApplyFailed"] = "DataMaskingRuleApplyFailed";
136
154
  TelemetryEvent["IC3ClientEvent"] = "IC3ClientEvent";
137
155
  TelemetryEvent["ConversationEndedThreadEventReceived"] = "ConversationEndedThreadEventReceived";
138
156
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
@@ -152,14 +170,19 @@ exports.TelemetryEvent = TelemetryEvent;
152
170
  TelemetryEvent["ReconnectChatMinimize"] = "ReconnectChatMinimize";
153
171
  TelemetryEvent["MessageSent"] = "MessageSent";
154
172
  TelemetryEvent["MessageReceived"] = "MessageReceived";
173
+ TelemetryEvent["CustomContextReceived"] = "CustomContextReceived";
174
+ TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
175
+ TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
155
176
  })(TelemetryEvent || (exports.TelemetryEvent = TelemetryEvent = {}));
156
-
157
177
  class TelemetryConstants {
158
178
  static map(eventTypeOrScenarioType) {
159
179
  switch (eventTypeOrScenarioType) {
160
180
  case TelemetryEvent.ParseAdaptiveCardFailed:
181
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
182
+ case TelemetryEvent.GetAuthTokenCalled:
183
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
184
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
161
185
  return ScenarioType.CONFIG_VALIDATION;
162
-
163
186
  case TelemetryEvent.WebChatLoaded:
164
187
  case TelemetryEvent.WidgetLoadComplete:
165
188
  case TelemetryEvent.WidgetLoadFailed:
@@ -174,7 +197,6 @@ class TelemetryConstants {
174
197
  case TelemetryEvent.ConfirmationPaneLoaded:
175
198
  case TelemetryEvent.ProactiveChatPaneLoaded:
176
199
  return ScenarioType.LOAD;
177
-
178
200
  case TelemetryEvent.PrechatSubmitted:
179
201
  case TelemetryEvent.LCWChatButtonClicked:
180
202
  case TelemetryEvent.ProactiveChatAccepted:
@@ -194,8 +216,18 @@ class TelemetryConstants {
194
216
  case TelemetryEvent.PreChatSurveyStartChatMethodFailed:
195
217
  case TelemetryEvent.HeaderCloseButtonClicked:
196
218
  case TelemetryEvent.HeaderMinimizeButtonClicked:
219
+ case TelemetryEvent.MessageSent:
220
+ case TelemetryEvent.MessageReceived:
221
+ case TelemetryEvent.CustomContextReceived:
222
+ case TelemetryEvent.BrowserUnloadEventStarted:
223
+ case TelemetryEvent.NetworkDisconnected:
224
+ case TelemetryEvent.NetworkReconnected:
225
+ case TelemetryEvent.AudioToggleButtonClicked:
226
+ case TelemetryEvent.EmailTranscriptCancelButtonClicked:
227
+ case TelemetryEvent.CustomerVoiceResponsePageLoaded:
228
+ case TelemetryEvent.CustomerVoiceFormResponseSubmitted:
229
+ case TelemetryEvent.CustomerVoiceFormResponseError:
197
230
  return ScenarioType.ACTIONS;
198
-
199
231
  case TelemetryEvent.StartChatSDKCall:
200
232
  case TelemetryEvent.StartChatEventRecevied:
201
233
  case TelemetryEvent.StartChatMethodException:
@@ -210,8 +242,8 @@ class TelemetryConstants {
210
242
  case TelemetryEvent.EndChatSDKCallFailed:
211
243
  case TelemetryEvent.PostChatContextCallFailed:
212
244
  case TelemetryEvent.PostChatContextCallSucceed:
245
+ case TelemetryEvent.GetConversationDetailsException:
213
246
  return ScenarioType.SDK;
214
-
215
247
  case TelemetryEvent.VideoCallAcceptButtonClick:
216
248
  case TelemetryEvent.CallAdded:
217
249
  case TelemetryEvent.LocalVideoStreamAdded:
@@ -221,8 +253,8 @@ class TelemetryConstants {
221
253
  case TelemetryEvent.CallDisconnected:
222
254
  case TelemetryEvent.CallDisconnectedException:
223
255
  case TelemetryEvent.IncomingCallEnded:
224
- case TelemetryEvent.VoiceVideoInitialize:
225
- case TelemetryEvent.VoiceVideoInitializeException:
256
+ case TelemetryEvent.VoiceVideoSdkInitialize:
257
+ case TelemetryEvent.VoiceVideoSdkInitializeException:
226
258
  case TelemetryEvent.VoiceVideoLoading:
227
259
  case TelemetryEvent.VoiceVideoNotLoaded:
228
260
  case TelemetryEvent.VoiceVideoLoadingException:
@@ -242,16 +274,12 @@ class TelemetryConstants {
242
274
  case TelemetryEvent.CallingSDKLoadSuccess:
243
275
  case TelemetryEvent.CallingSDKLoadFailed:
244
276
  return ScenarioType.CALLING;
245
-
246
277
  default:
247
278
  return ScenarioType.ACTIONS;
248
279
  }
249
280
  }
250
-
251
281
  static mapEventToScenario(eventTypeOrScenarioType) {
252
282
  return TelemetryConstants.map(eventTypeOrScenarioType);
253
283
  }
254
-
255
284
  }
256
-
257
285
  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
  });