@microsoft/omnichannel-chat-widget 1.8.3-main.ec1328d → 1.8.4-main.4478bbf
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.
- package/lib/cjs/common/Constants.js +7 -0
- package/lib/cjs/common/facades/FacadeChatSDK.js +6 -0
- package/lib/cjs/common/telemetry/AppInsightsEvents.js +4 -5
- package/lib/cjs/common/telemetry/TelemetryConstants.js +46 -2
- package/lib/cjs/common/telemetry/loggers/appInsightsLogger.js +26 -10
- package/lib/cjs/common/utils/SecureEventBus.js +307 -0
- package/lib/cjs/common/utils/dispatchCustomEvent.js +25 -0
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +16 -4
- package/lib/cjs/components/citationpanestateful/CitationDim.js +29 -0
- package/lib/cjs/components/citationpanestateful/CitationPaneStateful.js +199 -0
- package/lib/cjs/components/citationpanestateful/common/defaultProps/defaultCitationPaneProps.js +70 -0
- package/lib/cjs/components/confirmationpanestateful/interfaces/IConfirmationPaneLocalizedTexts.js +1 -0
- package/lib/cjs/components/headerstateful/HeaderStateful.js +8 -2
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +4 -4
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/AddActivitySubscriber.js +127 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +4 -5
- package/lib/cjs/components/livechatwidget/common/ChatWidgetEvents.js +15 -0
- package/lib/cjs/components/livechatwidget/common/PersistentConversationHandler.js +284 -0
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -0
- package/lib/cjs/components/livechatwidget/common/defaultProps/defaultPersistentChatHistoryProps.js +18 -0
- package/lib/cjs/components/livechatwidget/common/endChat.js +28 -3
- package/lib/cjs/components/livechatwidget/common/getMockChatSDKIfApplicable.js +4 -3
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +8 -6
- package/lib/cjs/components/livechatwidget/common/overridePropsOnMockIfApplicable.js +2 -1
- package/lib/cjs/components/livechatwidget/common/renderSurveyHelpers.js +2 -2
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -3
- package/lib/cjs/components/livechatwidget/common/startChat.js +10 -5
- package/lib/cjs/components/livechatwidget/common/startChatErrorHandler.js +24 -4
- package/lib/cjs/components/livechatwidget/interfaces/IMockProps.js +8 -2
- package/lib/cjs/components/livechatwidget/interfaces/IPersistentChatHistoryProps.js +1 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +41 -8
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +29 -2
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -3
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +122 -11
- package/lib/cjs/components/webchatcontainerstateful/common/DesignerChatAdapter.js +43 -14
- package/lib/cjs/components/webchatcontainerstateful/common/DesignerChatSDK.js +6 -1
- package/lib/cjs/components/webchatcontainerstateful/common/activities/botActivity.js +14 -0
- package/lib/cjs/components/webchatcontainerstateful/common/activities/conversationDividerActivity.js +17 -0
- package/lib/cjs/components/webchatcontainerstateful/common/activityConverters/convertPersistentChatHistoryMessageToActivity.js +97 -0
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +1 -1
- package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStyles.js +1 -1
- package/lib/cjs/components/webchatcontainerstateful/common/utils/chatAdapterUtils.js +36 -2
- package/lib/cjs/components/webchatcontainerstateful/common/utils/fontUtils.js +28 -0
- package/lib/cjs/components/webchatcontainerstateful/hooks/usePersistentChatHistory.js +59 -0
- package/lib/cjs/components/webchatcontainerstateful/interfaces/ICitation.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatEventSubscribers.js +122 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/Constants.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/ConversationDividerActivity.js +18 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LazyLoadActivity.js +1038 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LoadInlineBannerActivity.js +34 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +44 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +16 -2
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarTextStyles.js +1 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultInLineBannerStyle.js +20 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageStyles.js +1 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -2
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/HistoryMessageTimestamp.js +59 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +5 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -2
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.js +97 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware.js +2 -2
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +46 -45
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -0
- package/lib/cjs/contexts/createReducer.js +15 -0
- package/lib/cjs/firstresponselatency/FirstMessageTrackerFromBot.js +3 -2
- package/lib/cjs/firstresponselatency/FirstResponseLatencyTracker.js +6 -2
- package/lib/cjs/index.js +9 -1
- package/lib/cjs/plugins/newMessageEventHandler.js +4 -1
- package/lib/esm/common/Constants.js +7 -0
- package/lib/esm/common/facades/FacadeChatSDK.js +6 -0
- package/lib/esm/common/telemetry/AppInsightsEvents.js +4 -5
- package/lib/esm/common/telemetry/TelemetryConstants.js +44 -1
- package/lib/esm/common/telemetry/loggers/appInsightsLogger.js +27 -11
- package/lib/esm/common/utils/SecureEventBus.js +328 -0
- package/lib/esm/common/utils/dispatchCustomEvent.js +18 -0
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +17 -5
- package/lib/esm/components/citationpanestateful/CitationDim.js +20 -0
- package/lib/esm/components/citationpanestateful/CitationPaneStateful.js +188 -0
- package/lib/esm/components/citationpanestateful/common/defaultProps/defaultCitationPaneProps.js +61 -0
- package/lib/esm/components/confirmationpanestateful/interfaces/IConfirmationPaneLocalizedTexts.js +1 -0
- package/lib/esm/components/headerstateful/HeaderStateful.js +9 -3
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +4 -4
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/AddActivitySubscriber.js +120 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +4 -5
- package/lib/esm/components/livechatwidget/common/ChatWidgetEvents.js +8 -0
- package/lib/esm/components/livechatwidget/common/PersistentConversationHandler.js +277 -0
- package/lib/esm/components/livechatwidget/common/createAdapter.js +2 -0
- package/lib/esm/components/livechatwidget/common/defaultProps/defaultPersistentChatHistoryProps.js +11 -0
- package/lib/esm/components/livechatwidget/common/endChat.js +29 -4
- package/lib/esm/components/livechatwidget/common/getMockChatSDKIfApplicable.js +4 -3
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +8 -6
- package/lib/esm/components/livechatwidget/common/overridePropsOnMockIfApplicable.js +2 -1
- package/lib/esm/components/livechatwidget/common/renderSurveyHelpers.js +2 -2
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -3
- package/lib/esm/components/livechatwidget/common/startChat.js +12 -7
- package/lib/esm/components/livechatwidget/common/startChatErrorHandler.js +23 -4
- package/lib/esm/components/livechatwidget/interfaces/IMockProps.js +3 -3
- package/lib/esm/components/livechatwidget/interfaces/IPersistentChatHistoryProps.js +1 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +42 -9
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +31 -4
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -4
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +125 -12
- package/lib/esm/components/webchatcontainerstateful/common/DesignerChatAdapter.js +43 -14
- package/lib/esm/components/webchatcontainerstateful/common/DesignerChatSDK.js +6 -1
- package/lib/esm/components/webchatcontainerstateful/common/activities/botActivity.js +7 -0
- package/lib/esm/components/webchatcontainerstateful/common/activities/conversationDividerActivity.js +9 -0
- package/lib/esm/components/webchatcontainerstateful/common/activityConverters/convertPersistentChatHistoryMessageToActivity.js +90 -0
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
- package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStyles.js +1 -1
- package/lib/esm/components/webchatcontainerstateful/common/utils/chatAdapterUtils.js +32 -0
- package/lib/esm/components/webchatcontainerstateful/common/utils/fontUtils.js +21 -0
- package/lib/esm/components/webchatcontainerstateful/hooks/usePersistentChatHistory.js +51 -0
- package/lib/esm/components/webchatcontainerstateful/interfaces/ICitation.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatEventSubscribers.js +115 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/Constants.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/ConversationDividerActivity.js +10 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LazyLoadActivity.js +1060 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LoadInlineBannerActivity.js +25 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +42 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +13 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarTextStyles.js +1 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultInLineBannerStyle.js +13 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageStyles.js +1 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +1 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/HistoryMessageTimestamp.js +52 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +3 -2
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +1 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.js +98 -30
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware.js +2 -2
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +46 -45
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -0
- package/lib/esm/contexts/createReducer.js +15 -0
- package/lib/esm/firstresponselatency/FirstMessageTrackerFromBot.js +3 -2
- package/lib/esm/firstresponselatency/FirstResponseLatencyTracker.js +6 -2
- package/lib/esm/index.js +1 -0
- package/lib/esm/plugins/newMessageEventHandler.js +4 -1
- package/lib/types/common/Constants.d.ts +6 -0
- package/lib/types/common/facades/FacadeChatSDK.d.ts +3 -1
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +41 -2
- package/lib/types/common/utils/SecureEventBus.d.ts +159 -0
- package/lib/types/common/utils/dispatchCustomEvent.d.ts +2 -0
- package/lib/types/components/citationpanestateful/CitationDim.d.ts +5 -0
- package/lib/types/components/citationpanestateful/CitationPaneStateful.d.ts +4 -0
- package/lib/types/components/citationpanestateful/common/defaultProps/defaultCitationPaneProps.d.ts +11 -0
- package/lib/types/components/citationpanestateful/interfaces/ICitationPaneStatefulProps.d.ts +19 -0
- package/lib/types/components/confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts.d.ts +1 -1
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulProps.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/ActivitySubscriber/AddActivitySubscriber.d.ts +45 -0
- package/lib/types/components/livechatwidget/common/ChatWidgetEvents.d.ts +7 -0
- package/lib/types/components/livechatwidget/common/PersistentConversationHandler.d.ts +28 -0
- package/lib/types/components/livechatwidget/common/defaultProps/defaultPersistentChatHistoryProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/common/getMockChatSDKIfApplicable.d.ts +2 -1
- package/lib/types/components/livechatwidget/common/startChatErrorHandler.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -1
- package/lib/types/components/livechatwidget/interfaces/IMockProps.d.ts +5 -3
- package/lib/types/components/livechatwidget/interfaces/IPersistentChatHistoryProps.d.ts +7 -0
- package/lib/types/components/webchatcontainerstateful/common/DesignerChatAdapter.d.ts +4 -2
- package/lib/types/components/webchatcontainerstateful/common/DesignerChatSDK.d.ts +5 -0
- package/lib/types/components/webchatcontainerstateful/common/activities/botActivity.d.ts +7 -0
- package/lib/types/components/webchatcontainerstateful/common/activities/conversationDividerActivity.d.ts +10 -0
- package/lib/types/components/webchatcontainerstateful/common/activityConverters/convertPersistentChatHistoryMessageToActivity.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/common/utils/chatAdapterUtils.d.ts +6 -1
- package/lib/types/components/webchatcontainerstateful/common/utils/fontUtils.d.ts +10 -0
- package/lib/types/components/webchatcontainerstateful/hooks/usePersistentChatHistory.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/ICitation.d.ts +12 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/WebChatEventSubscribers.d.ts +7 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/Constants.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/ConversationDividerActivity.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LazyLoadActivity.d.ts +326 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activities/LoadInlineBannerActivity.d.ts +8 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultInLineBannerStyle.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/HistoryMessageTimestamp.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.d.ts +3 -4
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware.d.ts +2 -2
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
- package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +1 -0
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +46 -45
- package/lib/types/index.d.ts +1 -0
- package/package.json +3 -3
- /package/lib/cjs/components/{confirmationpanestateful/interfaces/IConfirmationPaneLocalizedText.js → citationpanestateful/interfaces/ICitationPaneStatefulProps.js} +0 -0
- /package/lib/esm/components/{confirmationpanestateful/interfaces/IConfirmationPaneLocalizedText.js → citationpanestateful/interfaces/ICitationPaneStatefulProps.js} +0 -0
- /package/lib/types/components/confirmationpanestateful/interfaces/{IConfirmationPaneLocalizedText.d.ts → IConfirmationPaneLocalizedTexts.d.ts} +0 -0
|
@@ -45,6 +45,8 @@ const getLiveChatWidgetContextInitialState = props => {
|
|
|
45
45
|
domainStates: {
|
|
46
46
|
liveChatConfig: props.chatConfig,
|
|
47
47
|
widgetElementId: "",
|
|
48
|
+
// Map of citation id => content injected by citations middleware
|
|
49
|
+
citations: {},
|
|
48
50
|
renderingMiddlewareProps: (_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.renderingMiddlewareProps,
|
|
49
51
|
middlewareLocalizedTexts: _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
|
|
50
52
|
preChatSurveyResponse: "{}",
|
|
@@ -70,6 +70,21 @@ const reducer = (state, action) => {
|
|
|
70
70
|
middlewareLocalizedTexts: action.payload
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
|
+
case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CITATIONS:
|
|
74
|
+
inMemory = {
|
|
75
|
+
...inMemory,
|
|
76
|
+
domainStates: {
|
|
77
|
+
...inMemory.domainStates,
|
|
78
|
+
citations: action.payload
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
...state,
|
|
83
|
+
domainStates: {
|
|
84
|
+
...state.domainStates,
|
|
85
|
+
citations: action.payload
|
|
86
|
+
}
|
|
87
|
+
};
|
|
73
88
|
case _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_GLOBAL_DIR:
|
|
74
89
|
inMemory = {
|
|
75
90
|
...inMemory,
|
|
@@ -36,7 +36,7 @@ const createTrackingForFirstMessage = () => {
|
|
|
36
36
|
* Starts tracking the time for the first bot message after widget loads.
|
|
37
37
|
* Sets a 5-second timeout to auto-reset if no bot message is received.
|
|
38
38
|
*/
|
|
39
|
-
const widgetLoadListener = _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.TelemetryEvent.
|
|
39
|
+
const widgetLoadListener = _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.TelemetryEvent.StartChatComplete).subscribe(() => {
|
|
40
40
|
if (isTracking) return;
|
|
41
41
|
isTracking = true;
|
|
42
42
|
startTime = new Date().getTime();
|
|
@@ -91,7 +91,8 @@ const createTrackingForFirstMessage = () => {
|
|
|
91
91
|
CustomProperties: {
|
|
92
92
|
elapsedTime,
|
|
93
93
|
widgetLoadedAt: startTime,
|
|
94
|
-
botMessage: stopTrackingMessage
|
|
94
|
+
botMessage: stopTrackingMessage,
|
|
95
|
+
type: payload === null || payload === void 0 ? void 0 : payload.type
|
|
95
96
|
}
|
|
96
97
|
});
|
|
97
98
|
disconnectListener();
|
|
@@ -7,6 +7,7 @@ exports.FirstResponseLatencyTracker = void 0;
|
|
|
7
7
|
var _TelemetryConstants = require("../common/telemetry/TelemetryConstants");
|
|
8
8
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
9
9
|
var _TelemetryHelper = require("../common/telemetry/TelemetryHelper");
|
|
10
|
+
var _Constants = require("../common/Constants");
|
|
10
11
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11
12
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
12
13
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
@@ -133,7 +134,8 @@ let FirstResponseLatencyTracker = /*#__PURE__*/function () {
|
|
|
133
134
|
CustomProperties: {
|
|
134
135
|
elapsedTime,
|
|
135
136
|
userMessage: this.startTrackingMessage,
|
|
136
|
-
botMessage: this.stopTrackingMessage
|
|
137
|
+
botMessage: this.stopTrackingMessage,
|
|
138
|
+
type: payload === null || payload === void 0 ? void 0 : payload.type
|
|
137
139
|
}
|
|
138
140
|
});
|
|
139
141
|
}
|
|
@@ -174,7 +176,9 @@ let FirstResponseLatencyTracker = /*#__PURE__*/function () {
|
|
|
174
176
|
value: function stopClock(payload) {
|
|
175
177
|
try {
|
|
176
178
|
if (!payload || !payload.Id) {
|
|
177
|
-
|
|
179
|
+
if ((payload === null || payload === void 0 ? void 0 : payload.type) !== _Constants.Constants.typing) {
|
|
180
|
+
throw new Error("Invalid payload");
|
|
181
|
+
}
|
|
178
182
|
}
|
|
179
183
|
|
|
180
184
|
// Only allow stopTracking if sender is valid and tracking is active
|
package/lib/cjs/index.js
CHANGED
|
@@ -14,7 +14,8 @@ var _exportNames = {
|
|
|
14
14
|
useChatSDKStore: true,
|
|
15
15
|
useFacadeChatSDKStore: true,
|
|
16
16
|
LiveChatWidget: true,
|
|
17
|
-
getMockChatSDKIfApplicable: true
|
|
17
|
+
getMockChatSDKIfApplicable: true,
|
|
18
|
+
LiveChatWidgetMockType: true
|
|
18
19
|
};
|
|
19
20
|
Object.defineProperty(exports, "BroadcastService", {
|
|
20
21
|
enumerable: true,
|
|
@@ -34,6 +35,12 @@ Object.defineProperty(exports, "LiveChatWidget", {
|
|
|
34
35
|
return _LiveChatWidget.default;
|
|
35
36
|
}
|
|
36
37
|
});
|
|
38
|
+
Object.defineProperty(exports, "LiveChatWidgetMockType", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function () {
|
|
41
|
+
return _IMockProps.LiveChatWidgetMockType;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
37
44
|
Object.defineProperty(exports, "decodeComponentString", {
|
|
38
45
|
enumerable: true,
|
|
39
46
|
get: function () {
|
|
@@ -90,6 +97,7 @@ var _useChatSDKStore = _interopRequireDefault(require("./hooks/useChatSDKStore")
|
|
|
90
97
|
var _useFacadeChatSDKStore = _interopRequireDefault(require("./hooks/useFacadeChatSDKStore"));
|
|
91
98
|
var _LiveChatWidget = _interopRequireDefault(require("./components/livechatwidget/LiveChatWidget"));
|
|
92
99
|
var _getMockChatSDKIfApplicable = require("./components/livechatwidget/common/getMockChatSDKIfApplicable");
|
|
100
|
+
var _IMockProps = require("./components/livechatwidget/interfaces/IMockProps");
|
|
93
101
|
var _renderingmiddlewares = require("./components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares");
|
|
94
102
|
Object.keys(_renderingmiddlewares).forEach(function (key) {
|
|
95
103
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -84,6 +84,9 @@ const createOnNewAdapterActivityHandler = (chatId, userId, startTime) => {
|
|
|
84
84
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
85
|
const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
|
|
86
86
|
if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
|
|
87
|
+
if ((activity === null || activity === void 0 ? void 0 : activity.type) === _Constants2.Constants.typing) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
87
90
|
return false;
|
|
88
91
|
}
|
|
89
92
|
return true;
|
|
@@ -112,7 +115,7 @@ const createOnNewAdapterActivityHandler = (chatId, userId, startTime) => {
|
|
|
112
115
|
});
|
|
113
116
|
};
|
|
114
117
|
const raiseMessageEvent = activity => {
|
|
115
|
-
if ((activity === null || activity === void 0 ? void 0 : activity.type) === _Constants2.Constants.message) {
|
|
118
|
+
if ((activity === null || activity === void 0 ? void 0 : activity.type) === _Constants2.Constants.message || (activity === null || activity === void 0 ? void 0 : activity.type) === _Constants2.Constants.typing) {
|
|
116
119
|
const scenarioType = (0, _util.getScenarioType)(activity);
|
|
117
120
|
switch (scenarioType) {
|
|
118
121
|
case _Constants.ScenarioType.UserSendMessageStrategy:
|
|
@@ -38,6 +38,10 @@ _defineProperty(Constants, "botParticipantTypeTag", "Bot");
|
|
|
38
38
|
_defineProperty(Constants, "channelIdKey", "ChannelId-");
|
|
39
39
|
_defineProperty(Constants, "ChannelId", "lcw");
|
|
40
40
|
_defineProperty(Constants, "CustomerTag", "FromCustomer");
|
|
41
|
+
// LCW only tags (Only applicable on client-side for additional processing, not recognized by service)
|
|
42
|
+
_defineProperty(Constants, "persistentChatHistoryMessageTag", "PersistentChatHistory");
|
|
43
|
+
_defineProperty(Constants, "persistentChatHistoryMessagePullTriggerTag", "PersistentChatHistoryMessagePullTrigger");
|
|
44
|
+
_defineProperty(Constants, "conversationDividerTag", "ConversationDivider");
|
|
41
45
|
// gifUploadMiddleware
|
|
42
46
|
_defineProperty(Constants, "GifContentType", "image/gif");
|
|
43
47
|
// htmlPlayerMiddleware
|
|
@@ -57,6 +61,7 @@ _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
|
|
|
57
61
|
_defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
|
|
58
62
|
_defineProperty(Constants, "message", "message");
|
|
59
63
|
_defineProperty(Constants, "hiddenTag", "Hidden");
|
|
64
|
+
_defineProperty(Constants, "typing", "typing");
|
|
60
65
|
// messageTimestampMiddleware
|
|
61
66
|
_defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
|
|
62
67
|
_defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
|
|
@@ -184,6 +189,8 @@ _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
|
|
|
184
189
|
_defineProperty(HtmlAttributeNames, "adaptiveCardTextBlockClassName", "ac-textBlock");
|
|
185
190
|
_defineProperty(HtmlAttributeNames, "adaptiveCardToggleInputClassName", "ac-toggleInput");
|
|
186
191
|
_defineProperty(HtmlAttributeNames, "adaptiveCardActionSetClassName", "ac-actionSet");
|
|
192
|
+
_defineProperty(HtmlAttributeNames, "ocwCitationPaneClassName", "ocw-citation-pane");
|
|
193
|
+
_defineProperty(HtmlAttributeNames, "ocwCitationPaneTitle", "Citation");
|
|
187
194
|
export let WebChatMiddlewareConstants = /*#__PURE__*/_createClass(function WebChatMiddlewareConstants() {
|
|
188
195
|
_classCallCheck(this, WebChatMiddlewareConstants);
|
|
189
196
|
});
|
|
@@ -481,6 +481,12 @@ export let FacadeChatSDK = /*#__PURE__*/function () {
|
|
|
481
481
|
reconnectableChatsParams.authenticatedUserToken = this.token;
|
|
482
482
|
return this.validateAndExecuteCall("getReconnectableChats", () => this.chatSDK.OCClient.getReconnectableChats(reconnectableChatsParams));
|
|
483
483
|
}
|
|
484
|
+
}, {
|
|
485
|
+
key: "fetchPersistentConversationHistory",
|
|
486
|
+
value: async function fetchPersistentConversationHistory() {
|
|
487
|
+
let getPersistentChatHistoryOptionalParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
488
|
+
return this.validateAndExecuteCall("getPersistentChatHistory", () => this.chatSDK.getPersistentChatHistory(getPersistentChatHistoryOptionalParams));
|
|
489
|
+
}
|
|
484
490
|
}]);
|
|
485
491
|
return FacadeChatSDK;
|
|
486
492
|
}();
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export const AppInsightsEventMapping = {
|
|
2
2
|
"LCWChatButtonClicked": "LCWChatButtonActionStarted",
|
|
3
|
-
"WidgetLoadStarted": "WidgetStartChatStarted",
|
|
4
|
-
"WidgetLoadComplete": "WidgetStartChatCompleted",
|
|
5
|
-
"WidgetLoadFailed": "WidgetStartChatFailed",
|
|
6
3
|
"PrechatSubmitted": "PrechatSubmitCompleted",
|
|
7
4
|
"StartChatEventRecevied": "StartChatEventReceivedCompleted",
|
|
8
5
|
"EndChatEventReceived": "EndChatEventReceivedCompleted",
|
|
@@ -18,7 +15,9 @@ export const AppInsightsEventMapping = {
|
|
|
18
15
|
"MessageSent": "MessageSentCompleted",
|
|
19
16
|
"MessageReceived": "MessageReceivedCompleted",
|
|
20
17
|
"SystemMessageReceived": "SystemMessageReceivedCompleted",
|
|
21
|
-
"RehydrateMessageReceived": "
|
|
18
|
+
"RehydrateMessageReceived": "ChatHistoryMessageReceivedCompleted",
|
|
22
19
|
"CustomContextReceived": "CustomContextReceivedCompleted",
|
|
23
|
-
"
|
|
20
|
+
"NewTokenValidationStarted": "AuthTokenValidationStarted",
|
|
21
|
+
"NewTokenValidationCompleted": "AuthTokenValidationCompleted",
|
|
22
|
+
"NewTokenValidationFailed": "AuthTokenValidationFailed"
|
|
24
23
|
};
|
|
@@ -68,9 +68,11 @@ export let BroadcastEvent;
|
|
|
68
68
|
BroadcastEvent["OnWidgetError"] = "OnWidgetError";
|
|
69
69
|
BroadcastEvent["FMLTrackingCompletedAck"] = "FMLTrackingCompletedAck";
|
|
70
70
|
BroadcastEvent["FMLTrackingCompleted"] = "FMLTrackingCompleted";
|
|
71
|
+
BroadcastEvent["PersistentConversationReset"] = "PersistentConversationReset";
|
|
71
72
|
})(BroadcastEvent || (BroadcastEvent = {}));
|
|
72
73
|
export let TelemetryEvent;
|
|
73
74
|
(function (TelemetryEvent) {
|
|
75
|
+
TelemetryEvent["FetchPersistentChatHistoryFailed"] = "FetchPersistentChatHistoryFailed";
|
|
74
76
|
TelemetryEvent["CallAdded"] = "CallAdded";
|
|
75
77
|
TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
|
|
76
78
|
TelemetryEvent["LocalVideoStreamRemoved"] = "LocalVideoStreamRemoved";
|
|
@@ -148,6 +150,7 @@ export let TelemetryEvent;
|
|
|
148
150
|
TelemetryEvent["EmailTranscriptLoaded"] = "EmailTranscriptLoaded";
|
|
149
151
|
TelemetryEvent["OutOfOfficePaneLoaded"] = "OutOfOfficePaneLoaded";
|
|
150
152
|
TelemetryEvent["ConfirmationPaneLoaded"] = "ConfirmationPaneLoaded";
|
|
153
|
+
TelemetryEvent["CitationPaneLoaded"] = "CitationPaneLoaded";
|
|
151
154
|
TelemetryEvent["ProactiveChatPaneLoaded"] = "ProactiveChatPaneLoaded";
|
|
152
155
|
TelemetryEvent["ReconnectChatPaneLoaded"] = "ReconnectChatPaneLoaded";
|
|
153
156
|
TelemetryEvent["HeaderCloseButtonClicked"] = "HeaderCloseButtonClicked";
|
|
@@ -274,11 +277,42 @@ export let TelemetryEvent;
|
|
|
274
277
|
TelemetryEvent["UXLCWChatButtonLoadingStart"] = "UXLCWChatButtonLoadingStart";
|
|
275
278
|
TelemetryEvent["UXLCWChatButtonLoadingCompleted"] = "UXLCWChatButtonLoadingCompleted";
|
|
276
279
|
TelemetryEvent["UXConfirmationPaneStart"] = "UXConfirmationPaneStart";
|
|
280
|
+
TelemetryEvent["UXCitationPaneStart"] = "UXCitationPaneStart";
|
|
277
281
|
TelemetryEvent["UXConfirmationPaneCompleted"] = "UXConfirmationPaneCompleted";
|
|
282
|
+
TelemetryEvent["UXCitationPaneCompleted"] = "UXCitationPaneCompleted";
|
|
278
283
|
TelemetryEvent["UXLiveChatWidgetStart"] = "UXLiveChatWidgetStart";
|
|
279
284
|
TelemetryEvent["UXLiveChatWidgetCompleted"] = "UXLiveChatWidgetCompleted";
|
|
285
|
+
TelemetryEvent["UXPostChatPaneStarted"] = "UXPostChatPaneStarted";
|
|
286
|
+
TelemetryEvent["UXPostChatPaneCompleted"] = "UXPostChatPaneCompleted";
|
|
280
287
|
TelemetryEvent["AppInsightsInitialized"] = "AppInsightsInitialized";
|
|
281
288
|
TelemetryEvent["AppInsightsInitFailed"] = "AppInsightsInitFailed";
|
|
289
|
+
TelemetryEvent["ConvertPersistentChatHistoryMessageToActivityFailed"] = "ConvertPersistentChatHistoryMessageToActivityFailed";
|
|
290
|
+
TelemetryEvent["UXLCWPersistentChatHistoryInitialized"] = "UXLCWPersistentChatHistoryInitialized";
|
|
291
|
+
TelemetryEvent["LCWPersistentChatHistoryFetchStarted"] = "LCWPersistentChatHistoryFetchStarted";
|
|
292
|
+
TelemetryEvent["LCWPersistentChatHistoryFetchCompleted"] = "LCWPersistentChatHistoryFetchCompleted";
|
|
293
|
+
TelemetryEvent["LCWPersistentChatHistoryFetchFailed"] = "LCWPersistentChatHistoryFetchFailed";
|
|
294
|
+
TelemetryEvent["LCWWebChatStorePollingStarted"] = "LCWWebChatStorePollingStarted";
|
|
295
|
+
TelemetryEvent["LCWWebChatStoreReady"] = "LCWWebChatStoreReady";
|
|
296
|
+
TelemetryEvent["LCWWebChatConnected"] = "LCWWebChatConnected";
|
|
297
|
+
TelemetryEvent["LCWWebChatDisconnected"] = "LCWWebChatDisconnected";
|
|
298
|
+
TelemetryEvent["LCWWebChatConnectionCheckFailed"] = "LCWWebChatConnectionCheckFailed";
|
|
299
|
+
TelemetryEvent["LCWPersistentConversationHandlerInitialized"] = "LCWPersistentConversationHandlerInitialized";
|
|
300
|
+
TelemetryEvent["LCWPersistentHistoryPullBlocked"] = "LCWPersistentHistoryPullBlocked";
|
|
301
|
+
TelemetryEvent["LCWPersistentHistoryPullCompleted"] = "LCWPersistentHistoryPullCompleted";
|
|
302
|
+
TelemetryEvent["LCWLazyLoadInitializationStarted"] = "LCWLazyLoadInitializationStarted";
|
|
303
|
+
TelemetryEvent["LCWLazyLoadContainerNotFound"] = "LCWLazyLoadContainerNotFound";
|
|
304
|
+
TelemetryEvent["LCWLazyLoadInitializationCompleted"] = "LCWLazyLoadInitializationCompleted";
|
|
305
|
+
TelemetryEvent["LCWLazyLoadSessionMetrics"] = "LCWLazyLoadSessionMetrics";
|
|
306
|
+
TelemetryEvent["LCWLazyLoadTargetElementNotFound"] = "LCWLazyLoadTargetElementNotFound";
|
|
307
|
+
TelemetryEvent["LCWLazyLoadScrollFailed"] = "LCWLazyLoadScrollFailed";
|
|
308
|
+
TelemetryEvent["LCWLazyLoadActivityMounted"] = "LCWLazyLoadActivityMounted";
|
|
309
|
+
TelemetryEvent["LCWLazyLoadReset"] = "LCWLazyLoadReset";
|
|
310
|
+
TelemetryEvent["LCWLazyLoadNoMoreHistory"] = "LCWLazyLoadNoMoreHistory";
|
|
311
|
+
TelemetryEvent["LCWLazyLoadDestroyed"] = "LCWLazyLoadDestroyed";
|
|
312
|
+
TelemetryEvent["SecureEventBusUnauthorizedDispatch"] = "SecureEventBusUnauthorizedDispatch";
|
|
313
|
+
TelemetryEvent["SecureEventBusListenerError"] = "SecureEventBusListenerError";
|
|
314
|
+
TelemetryEvent["SecureEventBusDispatchError"] = "SecureEventBusDispatchError";
|
|
315
|
+
TelemetryEvent["StartChatComplete"] = "StartChatComplete";
|
|
282
316
|
})(TelemetryEvent || (TelemetryEvent = {}));
|
|
283
317
|
export let TelemetryConstants = /*#__PURE__*/function () {
|
|
284
318
|
function TelemetryConstants() {
|
|
@@ -346,6 +380,9 @@ export let TelemetryConstants = /*#__PURE__*/function () {
|
|
|
346
380
|
case TelemetryEvent.PostChatWorkflowFromAgent:
|
|
347
381
|
case TelemetryEvent.PostChatWorkflowFromBot:
|
|
348
382
|
case TelemetryEvent.AppStatesException:
|
|
383
|
+
case TelemetryEvent.SecureEventBusUnauthorizedDispatch:
|
|
384
|
+
case TelemetryEvent.SecureEventBusListenerError:
|
|
385
|
+
case TelemetryEvent.SecureEventBusDispatchError:
|
|
349
386
|
return ScenarioType.ACTIONS;
|
|
350
387
|
case TelemetryEvent.StartChatSDKCall:
|
|
351
388
|
case TelemetryEvent.StartChatEventReceived:
|
|
@@ -405,4 +442,10 @@ export let TelemetryConstants = /*#__PURE__*/function () {
|
|
|
405
442
|
}
|
|
406
443
|
}]);
|
|
407
444
|
return TelemetryConstants;
|
|
408
|
-
}();
|
|
445
|
+
}();
|
|
446
|
+
export let ConversationStage;
|
|
447
|
+
(function (ConversationStage) {
|
|
448
|
+
ConversationStage["Initialization"] = "Initialization";
|
|
449
|
+
ConversationStage["CSREngagement"] = "CSR Engagement";
|
|
450
|
+
ConversationStage["ConversationEnd"] = "Conversation End";
|
|
451
|
+
})(ConversationStage || (ConversationStage = {}));
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
import { LogLevel, TelemetryEvent } from "../TelemetryConstants";
|
|
1
|
+
import { ConversationStage, LogLevel, TelemetryEvent } from "../TelemetryConstants";
|
|
2
2
|
import ScenarioMarker from "../ScenarioMarker";
|
|
3
3
|
import { TelemetryHelper } from "../TelemetryHelper";
|
|
4
4
|
import { AppInsightsTelemetryMessage } from "../../Constants";
|
|
5
5
|
import { AppInsightsEventMapping } from "../AppInsightsEvents";
|
|
6
6
|
var AllowedKeys;
|
|
7
7
|
(function (AllowedKeys) {
|
|
8
|
-
AllowedKeys["
|
|
8
|
+
AllowedKeys["OrganizationId"] = "OrganizationId";
|
|
9
|
+
AllowedKeys["ConversationId"] = "LiveWorkItemId";
|
|
10
|
+
AllowedKeys["ElapsedTimeInMilliseconds"] = "Duration";
|
|
9
11
|
AllowedKeys["Description"] = "Description";
|
|
10
|
-
AllowedKeys["
|
|
11
|
-
AllowedKeys["ChannelId"] = "ChannelId";
|
|
12
|
+
AllowedKeys["ChannelId"] = "ChannelType";
|
|
12
13
|
AllowedKeys["LCWRuntimeId"] = "ClientSessionId";
|
|
13
|
-
AllowedKeys["ConversationId"] = "LiveWorkItemId";
|
|
14
|
-
AllowedKeys["ChatId"] = "ChatThreadId";
|
|
15
|
-
AllowedKeys["OrganizationId"] = "OrganizationId";
|
|
16
|
-
AllowedKeys["ElapsedTimeInMilliseconds"] = "DurationInMilliseconds";
|
|
17
14
|
})(AllowedKeys || (AllowedKeys = {}));
|
|
18
15
|
let initializationPromise = null;
|
|
19
16
|
export const appInsightsLogger = appInsightsKey => {
|
|
@@ -86,9 +83,9 @@ export const appInsightsLogger = appInsightsKey => {
|
|
|
86
83
|
if (!_logger) return;
|
|
87
84
|
const eventName = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$paylo = telemetryInput.payload) === null || _telemetryInput$paylo === void 0 ? void 0 : _telemetryInput$paylo.Event;
|
|
88
85
|
const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo;
|
|
89
|
-
const eventProperties = setEventProperties(telemetryInfo);
|
|
90
86
|
if (eventName) {
|
|
91
87
|
const trackingEventName = getTrackingEventName(logLevel, eventName);
|
|
88
|
+
const eventProperties = setEventProperties(trackingEventName, telemetryInfo);
|
|
92
89
|
_logger.trackEvent({
|
|
93
90
|
name: trackingEventName,
|
|
94
91
|
properties: eventProperties
|
|
@@ -107,17 +104,36 @@ export const appInsightsLogger = appInsightsKey => {
|
|
|
107
104
|
};
|
|
108
105
|
|
|
109
106
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
|
-
function setEventProperties(telemetryInfo) {
|
|
107
|
+
function setEventProperties(eventName, telemetryInfo) {
|
|
111
108
|
const eventProperties = {};
|
|
112
109
|
if (telemetryInfo) {
|
|
113
110
|
for (const key in AllowedKeys) {
|
|
114
|
-
const finalKey = AllowedKeys[key]; // get renamed keys for LCWRuntimeId, ConversationId
|
|
111
|
+
const finalKey = AllowedKeys[key]; // get renamed keys for LCWRuntimeId, ConversationId
|
|
115
112
|
const value = telemetryInfo[key];
|
|
116
113
|
if (value !== undefined && value !== null && value !== "") {
|
|
117
114
|
eventProperties[finalKey] = value;
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
117
|
}
|
|
118
|
+
// Include exception details in description for error events
|
|
119
|
+
if (telemetryInfo !== null && telemetryInfo !== void 0 && telemetryInfo.ExceptionDetails) {
|
|
120
|
+
eventProperties[AllowedKeys.Description] = JSON.stringify(telemetryInfo.ExceptionDetails);
|
|
121
|
+
}
|
|
122
|
+
const customProperties = (() => {
|
|
123
|
+
if (!(telemetryInfo !== null && telemetryInfo !== void 0 && telemetryInfo.CustomProperties)) {
|
|
124
|
+
return {};
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
return typeof telemetryInfo.CustomProperties === "string" ? JSON.parse(telemetryInfo.CustomProperties) : telemetryInfo.CustomProperties;
|
|
128
|
+
} catch (error) {
|
|
129
|
+
console.warn("Failed to parse CustomProperties:", error);
|
|
130
|
+
return {};
|
|
131
|
+
}
|
|
132
|
+
})();
|
|
133
|
+
// Additional properties
|
|
134
|
+
eventProperties["ConversationStage"] = customProperties.ConversationStage ?? ConversationStage.CSREngagement;
|
|
135
|
+
eventProperties["Scenario"] = "Conversation Diagnostics";
|
|
136
|
+
eventProperties["OperationName"] = eventName.includes(": ") ? eventName.split(": ")[1] : eventName;
|
|
121
137
|
return eventProperties;
|
|
122
138
|
}
|
|
123
139
|
function getTrackingEventName(logLevel, eventName) {
|