@microsoft/omnichannel-chat-widget 0.1.0-main.a27ec4b → 0.1.0-main.a3902df

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