@microsoft/omnichannel-chat-widget 1.8.3-main.38c88a7 → 1.8.3-main.892e099
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/telemetry/TelemetryConstants.js +1 -0
- package/lib/cjs/common/telemetry/TelemetryHelper.js +7 -5
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +8 -7
- package/lib/cjs/components/livechatwidget/common/startChat.js +4 -3
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +12 -6
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.js +72 -0
- package/lib/cjs/firstresponselatency/util.js +12 -2
- package/lib/cjs/plugins/newMessageEventHandler.js +2 -2
- package/lib/esm/common/telemetry/TelemetryConstants.js +1 -0
- package/lib/esm/common/telemetry/TelemetryHelper.js +7 -5
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +9 -8
- package/lib/esm/components/livechatwidget/common/startChat.js +4 -3
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +12 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.js +65 -0
- package/lib/esm/firstresponselatency/util.js +9 -0
- package/lib/esm/plugins/newMessageEventHandler.js +3 -3
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware.d.ts +5 -0
- package/lib/types/firstresponselatency/util.d.ts +1 -0
- package/package.json +1 -1
|
@@ -195,6 +195,7 @@ exports.TelemetryEvent = TelemetryEvent;
|
|
|
195
195
|
TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
|
|
196
196
|
TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
|
|
197
197
|
TelemetryEvent["AttachmentUploadValidatorMiddlewareFailed"] = "AttachmentUploadValidatorMiddlewareFailed";
|
|
198
|
+
TelemetryEvent["CitationMiddlewareFailed"] = "CitationMiddlewareFailed";
|
|
198
199
|
TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
|
|
199
200
|
TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
|
|
200
201
|
TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
|
|
@@ -236,11 +236,13 @@ let TelemetryHelper = /*#__PURE__*/function () {
|
|
|
236
236
|
}, {
|
|
237
237
|
key: "postTelemetryEvent",
|
|
238
238
|
value: function postTelemetryEvent(eventName, logLevel, payload) {
|
|
239
|
+
var _TelemetryManager$Int16;
|
|
239
240
|
const telemetryEvent = {
|
|
240
241
|
eventName,
|
|
241
242
|
logLevel,
|
|
242
243
|
payload: {
|
|
243
|
-
...payload
|
|
244
|
+
...payload,
|
|
245
|
+
runtimeId: (_TelemetryManager$Int16 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : _TelemetryManager$Int16.lcwRuntimeId
|
|
244
246
|
}
|
|
245
247
|
};
|
|
246
248
|
_omnichannelChatComponents.BroadcastService.postMessage(telemetryEvent);
|
|
@@ -267,11 +269,11 @@ _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
|
|
|
267
269
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, payload);
|
|
268
270
|
});
|
|
269
271
|
_defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
|
|
270
|
-
var _TelemetryManager$
|
|
272
|
+
var _TelemetryManager$Int17;
|
|
271
273
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, {
|
|
272
274
|
...payload,
|
|
273
275
|
TransactionId: (0, _utils.newGuid)(),
|
|
274
|
-
RequestId: (_TelemetryManager$
|
|
276
|
+
RequestId: (_TelemetryManager$Int17 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.currentRequestId
|
|
275
277
|
});
|
|
276
278
|
});
|
|
277
279
|
_defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
|
|
@@ -306,12 +308,12 @@ _defineProperty(TelemetryHelper, "logFacadeChatSDKEventToAllTelemetry", (logLeve
|
|
|
306
308
|
});
|
|
307
309
|
});
|
|
308
310
|
_defineProperty(TelemetryHelper, "logSDKEventToAllTelemetry", (logLevel, payload) => {
|
|
309
|
-
var _TelemetryManager$
|
|
311
|
+
var _TelemetryManager$Int18;
|
|
310
312
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, {
|
|
311
313
|
...{
|
|
312
314
|
...payload,
|
|
313
315
|
TransactionId: (0, _utils.newGuid)(),
|
|
314
|
-
RequestId: (_TelemetryManager$
|
|
316
|
+
RequestId: (_TelemetryManager$Int18 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int18 === void 0 ? void 0 : _TelemetryManager$Int18.currentRequestId
|
|
315
317
|
},
|
|
316
318
|
LogToAll: true
|
|
317
319
|
});
|
|
@@ -7,6 +7,8 @@ exports.initWebChatComposer = void 0;
|
|
|
7
7
|
var _Constants = require("../../../common/Constants");
|
|
8
8
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
9
9
|
var _utils = require("../../../common/utils");
|
|
10
|
+
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
11
|
+
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
10
12
|
var _dompurify = _interopRequireDefault(require("dompurify"));
|
|
11
13
|
var _HyperlinkTextOverrideRenderer = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer"));
|
|
12
14
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
@@ -18,31 +20,30 @@ var _activityMiddleware = require("../../webchatcontainerstateful/webchatcontrol
|
|
|
18
20
|
var _attachmentMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware");
|
|
19
21
|
var _attachmentUploadValidatorMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware"));
|
|
20
22
|
var _avatarMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
|
|
23
|
+
var _callActionMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/callActionMiddleware"));
|
|
21
24
|
var _cardActionMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware");
|
|
25
|
+
var _citationsMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware");
|
|
22
26
|
var _conversationEndMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware"));
|
|
27
|
+
var _customEventMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/customEventMiddleware"));
|
|
23
28
|
var _dataMaskingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware"));
|
|
24
29
|
var _createMarkdown = require("./createMarkdown");
|
|
25
30
|
var _maxMessageSizeValidator = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator"));
|
|
26
31
|
var _messageSequenceIdOverrideMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware");
|
|
27
32
|
var _messageTimestampMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware");
|
|
33
|
+
var _queueOverflowHandlerMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware");
|
|
28
34
|
var _botframeworkWebchat = require("botframework-webchat");
|
|
29
35
|
var _toastMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware");
|
|
30
36
|
var _WebChatLogger = require("../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
|
|
31
37
|
var _defaultAttachmentProps = require("../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps");
|
|
32
38
|
var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
|
|
33
39
|
var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
|
|
40
|
+
var _createReducer = require("../../../contexts/createReducer");
|
|
34
41
|
var _omnichannelChatSdk = require("@microsoft/omnichannel-chat-sdk");
|
|
35
42
|
var _gifUploadMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware"));
|
|
36
43
|
var _htmlPlayerMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware"));
|
|
37
44
|
var _htmlTextMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware"));
|
|
38
45
|
var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware"));
|
|
39
46
|
var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
|
|
40
|
-
var _callActionMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/callActionMiddleware"));
|
|
41
|
-
var _customEventMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/customEventMiddleware"));
|
|
42
|
-
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
43
|
-
var _createReducer = require("../../../contexts/createReducer");
|
|
44
|
-
var _queueOverflowHandlerMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware");
|
|
45
|
-
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
46
47
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
47
48
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
49
|
const initWebChatComposer = (props, state, dispatch, facadeChatSDK, endChat) => {
|
|
@@ -121,7 +122,7 @@ const initWebChatComposer = (props, state, dispatch, facadeChatSDK, endChat) =>
|
|
|
121
122
|
};
|
|
122
123
|
webChatStore = (0, _botframeworkWebchat.createStore)({},
|
|
123
124
|
//initial state
|
|
124
|
-
_preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : _state$domainStates$l.allowedFileExtensions, (_state$domainStates$l2 = state.domainStates.liveChatConfig) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.maxUploadFileSize, localizedTexts), (0, _customEventMiddleware.default)(_omnichannelChatComponents.BroadcastService), (0, _queueOverflowHandlerMiddleware.createQueueOverflowMiddleware)(state, dispatch), (0, _channelDataMiddleware.default)(addConversationalSurveyTagsCallback), (0, _conversationEndMiddleware.default)(conversationEndCallback, startConversationalSurveyCallback, endConversationalSurveyCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : _state$domainStates$l3.DataMaskingInfo), _messageTimestampMiddleware.createMessageTimeStampMiddleware, _messageSequenceIdOverrideMiddleware.createMessageSequenceIdOverrideMiddleware, _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, (0, _htmlTextMiddleware.default)(honorsTargetInHTMLLinks), (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, (0, _callActionMiddleware.default)(),
|
|
125
|
+
_preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : _state$domainStates$l.allowedFileExtensions, (_state$domainStates$l2 = state.domainStates.liveChatConfig) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.maxUploadFileSize, localizedTexts), (0, _customEventMiddleware.default)(_omnichannelChatComponents.BroadcastService), (0, _queueOverflowHandlerMiddleware.createQueueOverflowMiddleware)(state, dispatch), (0, _channelDataMiddleware.default)(addConversationalSurveyTagsCallback), (0, _conversationEndMiddleware.default)(conversationEndCallback, startConversationalSurveyCallback, endConversationalSurveyCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : _state$domainStates$l3.DataMaskingInfo), _messageTimestampMiddleware.createMessageTimeStampMiddleware, _messageSequenceIdOverrideMiddleware.createMessageSequenceIdOverrideMiddleware, _citationsMiddleware.createCitationsMiddleware, _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, (0, _htmlTextMiddleware.default)(honorsTargetInHTMLLinks), (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, (0, _callActionMiddleware.default)(),
|
|
125
126
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
126
127
|
...(((_props$webChatContain7 = props.webChatContainerProps) === null || _props$webChatContain7 === void 0 ? void 0 : _props$webChatContain7.storeMiddlewares) ?? []));
|
|
127
128
|
_WebChatStoreLoader.WebChatStoreLoader.store = webChatStore;
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = exports.checkIfConversationStillValid = void 0;
|
|
7
7
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
8
8
|
var _Constants = require("../../../common/Constants");
|
|
9
|
+
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
9
10
|
var _utils = require("../../../common/utils");
|
|
10
11
|
var _reconnectChatHelper = require("./reconnectChatHelper");
|
|
11
12
|
var _startChatErrorHandler = require("./startChatErrorHandler");
|
|
@@ -14,7 +15,6 @@ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components
|
|
|
14
15
|
var _ConversationState = require("../../../contexts/common/ConversationState");
|
|
15
16
|
var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
|
|
16
17
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
17
|
-
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
18
18
|
var _endChat = require("./endChat");
|
|
19
19
|
var _createAdapter = require("./createAdapter");
|
|
20
20
|
var _newMessageEventHandler = require("../../../plugins/newMessageEventHandler");
|
|
@@ -137,7 +137,7 @@ const setPreChatAndInitiateChat = async (facadeChatSDK, dispatch, setAdapter, is
|
|
|
137
137
|
* This is because a new change to control OOH as closed event when a widget is coming from chat.
|
|
138
138
|
*/
|
|
139
139
|
if ((state === null || state === void 0 ? void 0 : state.appStates.isMinimized) === undefined || (state === null || state === void 0 ? void 0 : (_state$appStates2 = state.appStates) === null || _state$appStates2 === void 0 ? void 0 : _state$appStates2.isMinimized) === true) {
|
|
140
|
-
var _state$domainStates5, _state$domainStates5$, _state$domainStates6, _state$domainStates6
|
|
140
|
+
var _state$domainStates5, _state$domainStates5$, _state$domainStates6, _state$domainStates6$, _TelemetryManager$Int;
|
|
141
141
|
dispatch({
|
|
142
142
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
|
|
143
143
|
payload: false
|
|
@@ -147,7 +147,8 @@ const setPreChatAndInitiateChat = async (facadeChatSDK, dispatch, setAdapter, is
|
|
|
147
147
|
eventName: _TelemetryConstants.BroadcastEvent.MaximizeChat,
|
|
148
148
|
payload: {
|
|
149
149
|
height: state === null || state === void 0 ? void 0 : (_state$domainStates5 = state.domainStates) === null || _state$domainStates5 === void 0 ? void 0 : (_state$domainStates5$ = _state$domainStates5.widgetSize) === null || _state$domainStates5$ === void 0 ? void 0 : _state$domainStates5$.height,
|
|
150
|
-
width: state === null || state === void 0 ? void 0 : (_state$domainStates6 = state.domainStates) === null || _state$domainStates6 === void 0 ? void 0 : (_state$domainStates6$ = _state$domainStates6.widgetSize) === null || _state$domainStates6$ === void 0 ? void 0 : _state$domainStates6$.width
|
|
150
|
+
width: state === null || state === void 0 ? void 0 : (_state$domainStates6 = state.domainStates) === null || _state$domainStates6 === void 0 ? void 0 : (_state$domainStates6$ = _state$domainStates6.widgetSize) === null || _state$domainStates6$ === void 0 ? void 0 : _state$domainStates6$.width,
|
|
151
|
+
runtimeId: _TelemetryManager.TelemetryManager === null || _TelemetryManager.TelemetryManager === void 0 ? void 0 : (_TelemetryManager$Int = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.lcwRuntimeId
|
|
151
152
|
}
|
|
152
153
|
});
|
|
153
154
|
}
|
|
@@ -14,6 +14,7 @@ var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
|
14
14
|
var _endChat = require("../common/endChat");
|
|
15
15
|
var _startChat = require("../common/startChat");
|
|
16
16
|
var _utils = require("../../../common/utils");
|
|
17
|
+
var _customEventHandler = require("../common/customEventHandler");
|
|
17
18
|
var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
|
|
18
19
|
var _reconnectChatHelper = require("../common/reconnectChatHelper");
|
|
19
20
|
var _componentController = require("../../../controller/componentController");
|
|
@@ -57,7 +58,6 @@ var _startProactiveChat = require("../common/startProactiveChat");
|
|
|
57
58
|
var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
|
|
58
59
|
var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
|
|
59
60
|
var _useFacadeChatSDKStore = _interopRequireDefault(require("../../../hooks/useFacadeChatSDKStore"));
|
|
60
|
-
var _customEventHandler = require("../common/customEventHandler");
|
|
61
61
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
62
62
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
63
63
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -727,11 +727,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
727
727
|
(0, _endChat.endChat)(props, facadeChatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
728
728
|
return;
|
|
729
729
|
}
|
|
730
|
-
const
|
|
731
|
-
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.GET_IN_MEMORY_STATE,
|
|
732
|
-
payload: null
|
|
733
|
-
});
|
|
734
|
-
let isConversationalSurveyEnabled = state.appStates.isConversationalSurveyEnabled;
|
|
730
|
+
const isConversationalSurveyEnabled = state.appStates.isConversationalSurveyEnabled;
|
|
735
731
|
|
|
736
732
|
// In conversational survey, we need to check post chat survey logics before we set ConversationState to InActive
|
|
737
733
|
// Hence setting ConversationState to InActive will be done later in the post chat flows
|
|
@@ -904,11 +900,21 @@ const LiveChatWidgetStateful = props => {
|
|
|
904
900
|
.webchat__basic-transcript__activity-markdown-body > :first-child {
|
|
905
901
|
margin-top: 0px;
|
|
906
902
|
}
|
|
903
|
+
|
|
907
904
|
.webchat__basic-transcript__activity-markdown-body img.webchat__render-markdown__external-link-icon {
|
|
908
905
|
background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuMjUwMSA0LjUwMDE3SDEwLjc0OTVDMTEuMTYzNyA0LjUwMDE3IDExLjQ5OTUgNC44MzU5NiAxMS40OTk1IDUuMjUwMTdDMTEuNDk5NSA1LjYyOTg2IDExLjIxNzMgNS45NDM2NiAxMC44NTEzIDUuOTkzMzJMMTAuNzQ5NSA2LjAwMDE3SDcuMjQ5NzRDNi4wNzA3OSA1Ljk5OTYxIDUuMTAzNDkgNi45MDY1NiA1LjAwNzg2IDguMDYxMTJMNS4wMDAyOCA4LjIyMDAzTDUuMDAzMTIgMTYuNzUwN0M1LjAwMzQzIDE3Ljk0MTUgNS45Mjg4NSAxOC45MTYxIDcuMDk5NjYgMTguOTk0OUw3LjI1MzcxIDE5LjAwMDFMMTUuNzUxOCAxOC45ODg0QzE2Ljk0MTUgMTguOTg2OCAxNy45MTQ1IDE4LjA2MiAxNy45OTM1IDE2Ljg5MjNMMTcuOTk4NyAxNi43Mzg0VjEzLjIzMjFDMTcuOTk4NyAxMi44MTc5IDE4LjMzNDUgMTIuNDgyMSAxOC43NDg3IDEyLjQ4MjFDMTkuMTI4NCAxMi40ODIxIDE5LjQ0MjIgMTIuNzY0MyAxOS40OTE4IDEzLjEzMDNMMTkuNDk4NyAxMy4yMzIxVjE2LjczODRDMTkuNDk4NyAxOC43NDA3IDE3LjkyOTMgMjAuMzc2OSAxNS45NTI4IDIwLjQ4MjlMMTUuNzUzOCAyMC40ODg0TDcuMjU4MjcgMjAuNTAwMUw3LjA1NDk1IDIwLjQ5NDlDNS4xNDIzOSAyMC4zOTU0IDMuNjA4OTUgMTguODYyNyAzLjUwODM3IDE2Ljk1MDJMMy41MDMxMiAxNi43NTExTDMuNTAwODkgOC4yNTI3TDMuNTA1MjkgOC4wNTAyQzMuNjA1MzkgNi4xMzc0OSA1LjEzODY3IDQuNjA0NDkgNy4wNTA5NiA0LjUwNTI3TDcuMjUwMSA0LjUwMDE3SDEwLjc0OTVINy4yNTAxWk0xMy43NDgxIDMuMDAxNDZMMjAuMzAxOCAzLjAwMTk3TDIwLjQwMTQgMy4wMTU3NUwyMC41MDIyIDMuMDQzOTNMMjAuNTU5IDMuMDY4MDNDMjAuNjEyMiAzLjA5MTIyIDIwLjY2MzQgMy4xMjE2MyAyMC43MTExIDMuMTU4ODVMMjAuNzgwNCAzLjIyMTU2TDIwLjg2NDEgMy4zMjAxNEwyMC45MTgzIDMuNDEwMjVMMjAuOTU3IDMuNTAwNTdMMjAuOTc2MiAzLjU2NDc2TDIwLjk4OTggMy42Mjg2MkwyMC45OTkyIDMuNzIyODJMMjAuOTk5NyAxMC4yNTU0QzIwLjk5OTcgMTAuNjY5NiAyMC42NjM5IDExLjAwNTQgMjAuMjQ5NyAxMS4wMDU0QzE5Ljg3IDExLjAwNTQgMTkuNTU2MiAxMC43MjMyIDE5LjUwNjUgMTAuMzU3MUwxOS40OTk3IDEwLjI1NTRMMTkuNDk4OSA1LjU2MTQ3TDEyLjI3OTcgMTIuNzg0N0MxMi4wMTM0IDEzLjA1MSAxMS41OTY4IDEzLjA3NTMgMTEuMzAzMSAxMi44NTc1TDExLjIxOSAxMi43ODQ5QzEwLjk1MjcgMTIuNTE4NyAxMC45Mjg0IDEyLjEwMjEgMTEuMTQ2MiAxMS44MDg0TDExLjIxODggMTEuNzI0M0wxOC40MzY5IDQuNTAxNDZIMTMuNzQ4MUMxMy4zNjg0IDQuNTAxNDYgMTMuMDU0NiA0LjIxOTMxIDEzLjAwNSAzLjg1MzI0TDEyLjk5ODEgMy43NTE0NkMxMi45OTgxIDMuMzcxNzcgMTMuMjgwMyAzLjA1Nzk3IDEzLjY0NjQgMy4wMDgzMUwxMy43NDgxIDMuMDAxNDZaIiBmaWxsPSIjMjEyMTIxIiAvPjwvc3ZnPg==) !important;
|
|
909
906
|
height: .75em;
|
|
910
907
|
margin-left: .25em;
|
|
911
908
|
}
|
|
909
|
+
|
|
910
|
+
.webchat__link-definitions__header-text {
|
|
911
|
+
color: ${bubbleBackground}
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
.webchat__link-definitions__header-chevron {
|
|
915
|
+
color: ${bubbleBackground}
|
|
916
|
+
}
|
|
917
|
+
|
|
912
918
|
${(sendBoxTextArea === null || sendBoxTextArea === void 0 ? void 0 : sendBoxTextArea.minHeight) && `
|
|
913
919
|
.webchat__auto-resize-textarea.webchat__send-box-text-box__text-area {
|
|
914
920
|
min-height: ${sendBoxTextArea === null || sendBoxTextArea === void 0 ? void 0 : sendBoxTextArea.minHeight} !important;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createCitationsMiddleware = void 0;
|
|
7
|
+
var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryConstants");
|
|
8
|
+
var _TelemetryHelper = require("../../../../../common/telemetry/TelemetryHelper");
|
|
9
|
+
const createCitationsMiddleware = _ref => {
|
|
10
|
+
let {
|
|
11
|
+
dispatch
|
|
12
|
+
} = _ref;
|
|
13
|
+
return next => action => {
|
|
14
|
+
var _action$payload;
|
|
15
|
+
if ((_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.activity) {
|
|
16
|
+
if (isApplicable(action)) {
|
|
17
|
+
try {
|
|
18
|
+
const gptFeedback = JSON.parse(action.payload.activity.channelData.metadata["pva:gpt-feedback"]);
|
|
19
|
+
// Replace citations in the text
|
|
20
|
+
const updatedText = replaceCitations(action.payload.activity.text, gptFeedback.summarizationOpenAIResponse.result.textCitations);
|
|
21
|
+
action.payload.activity.text = updatedText;
|
|
22
|
+
} catch (error) {
|
|
23
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
24
|
+
Event: _TelemetryConstants.TelemetryEvent.CitationMiddlewareFailed,
|
|
25
|
+
ExceptionDetails: {
|
|
26
|
+
ErrorData: "Error while converting citation labels",
|
|
27
|
+
Exception: error
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return next(action);
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.createCitationsMiddleware = createCitationsMiddleware;
|
|
37
|
+
const isApplicable = action => {
|
|
38
|
+
var _action$payload2, _action$payload2$acti, _action$payload3, _action$payload3$acti;
|
|
39
|
+
if ((action === null || action === void 0 ? void 0 : (_action$payload2 = action.payload) === null || _action$payload2 === void 0 ? void 0 : (_action$payload2$acti = _action$payload2.activity) === null || _action$payload2$acti === void 0 ? void 0 : _action$payload2$acti.actionType) === "DIRECT_LINE/INCOMING_ACTIVITY" && (action === null || action === void 0 ? void 0 : (_action$payload3 = action.payload) === null || _action$payload3 === void 0 ? void 0 : (_action$payload3$acti = _action$payload3.activity) === null || _action$payload3$acti === void 0 ? void 0 : _action$payload3$acti.channelId) === "ACS_CHANNEL") {
|
|
40
|
+
var _action$payload4, _action$payload4$acti, _action$payload4$acti2, _action$payload4$acti3;
|
|
41
|
+
// Validate if pva:gpt-feedback exists and is not null
|
|
42
|
+
if (action !== null && action !== void 0 && (_action$payload4 = action.payload) !== null && _action$payload4 !== void 0 && (_action$payload4$acti = _action$payload4.activity) !== null && _action$payload4$acti !== void 0 && (_action$payload4$acti2 = _action$payload4$acti.channelData) !== null && _action$payload4$acti2 !== void 0 && (_action$payload4$acti3 = _action$payload4$acti2.metadata) !== null && _action$payload4$acti3 !== void 0 && _action$payload4$acti3["pva:gpt-feedback"]) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
};
|
|
48
|
+
const replaceCitations = (text, citations) => {
|
|
49
|
+
if (!citations || !Array.isArray(citations)) {
|
|
50
|
+
return text;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
return text.replace(/\[(\d+)\]:\s(cite:\d+)\s"([^"]+)"/g, (match, number, citeId) => {
|
|
54
|
+
const citation = citations.find(c => c.id === citeId);
|
|
55
|
+
if (citation) {
|
|
56
|
+
// Replace only the citation label while preserving the original format
|
|
57
|
+
return `[${number}]: ${citeId} "${citation.title}"`;
|
|
58
|
+
}
|
|
59
|
+
return match; // Keep the original match if no replacement is found
|
|
60
|
+
});
|
|
61
|
+
} catch (error) {
|
|
62
|
+
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
63
|
+
Event: _TelemetryConstants.TelemetryEvent.CitationMiddlewareFailed,
|
|
64
|
+
ExceptionDetails: {
|
|
65
|
+
ErrorData: "Error while finding citations references",
|
|
66
|
+
Exception: error
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
// Return the original text in case of issues
|
|
70
|
+
return text;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.polyfillMessagePayloadForEvent = exports.isHistoryMessage = exports.getScenarioType = exports.extractTimestampFromId = exports.createTrackingMessage = exports.buildMessagePayload = void 0;
|
|
6
|
+
exports.polyfillMessagePayloadForEvent = exports.maskPayloadText = exports.isHistoryMessage = exports.getScenarioType = exports.extractTimestampFromId = exports.createTrackingMessage = exports.buildMessagePayload = void 0;
|
|
7
7
|
var _Constants = require("./Constants");
|
|
8
8
|
var _Constants2 = require("../common/Constants");
|
|
9
9
|
const DELTA_WITHIN_LIMITS_IN_MS = 250;
|
|
@@ -126,4 +126,14 @@ const createTrackingMessage = (payload, type) => {
|
|
|
126
126
|
checkTime: new Date().getTime()
|
|
127
127
|
};
|
|
128
128
|
};
|
|
129
|
-
exports.createTrackingMessage = createTrackingMessage;
|
|
129
|
+
exports.createTrackingMessage = createTrackingMessage;
|
|
130
|
+
const maskPayloadText = payload => {
|
|
131
|
+
if (!payload) {
|
|
132
|
+
return payload;
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
...payload,
|
|
136
|
+
text: "*contents hidden*"
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
exports.maskPayloadText = maskPayloadText;
|
|
@@ -71,7 +71,7 @@ const createOnNewAdapterActivityHandler = (chatId, userId, startTime) => {
|
|
|
71
71
|
_TelemetryHelper.TelemetryHelper.logActionEventToAllTelemetry(_TelemetryConstants.LogLevel.INFO, {
|
|
72
72
|
Event: _TelemetryConstants.TelemetryEvent.RehydrateMessageReceived,
|
|
73
73
|
Description: "History message received",
|
|
74
|
-
CustomProperties: payload
|
|
74
|
+
CustomProperties: (0, _util.maskPayloadText)(payload)
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
};
|
|
@@ -108,7 +108,7 @@ const createOnNewAdapterActivityHandler = (chatId, userId, startTime) => {
|
|
|
108
108
|
_TelemetryHelper.TelemetryHelper.logActionEventToAllTelemetry(_TelemetryConstants.LogLevel.INFO, {
|
|
109
109
|
Event: _TelemetryConstants.TelemetryEvent.MessageReceived,
|
|
110
110
|
Description: "New message received",
|
|
111
|
-
CustomProperties: payload
|
|
111
|
+
CustomProperties: (0, _util.maskPayloadText)(payload)
|
|
112
112
|
});
|
|
113
113
|
};
|
|
114
114
|
const raiseMessageEvent = activity => {
|
|
@@ -189,6 +189,7 @@ export let TelemetryEvent;
|
|
|
189
189
|
TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
|
|
190
190
|
TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
|
|
191
191
|
TelemetryEvent["AttachmentUploadValidatorMiddlewareFailed"] = "AttachmentUploadValidatorMiddlewareFailed";
|
|
192
|
+
TelemetryEvent["CitationMiddlewareFailed"] = "CitationMiddlewareFailed";
|
|
192
193
|
TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
|
|
193
194
|
TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
|
|
194
195
|
TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
|
|
@@ -230,11 +230,13 @@ export let TelemetryHelper = /*#__PURE__*/function () {
|
|
|
230
230
|
}, {
|
|
231
231
|
key: "postTelemetryEvent",
|
|
232
232
|
value: function postTelemetryEvent(eventName, logLevel, payload) {
|
|
233
|
+
var _TelemetryManager$Int16;
|
|
233
234
|
const telemetryEvent = {
|
|
234
235
|
eventName,
|
|
235
236
|
logLevel,
|
|
236
237
|
payload: {
|
|
237
|
-
...payload
|
|
238
|
+
...payload,
|
|
239
|
+
runtimeId: (_TelemetryManager$Int16 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : _TelemetryManager$Int16.lcwRuntimeId
|
|
238
240
|
}
|
|
239
241
|
};
|
|
240
242
|
BroadcastService.postMessage(telemetryEvent);
|
|
@@ -260,11 +262,11 @@ _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
|
|
|
260
262
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, payload);
|
|
261
263
|
});
|
|
262
264
|
_defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
|
|
263
|
-
var _TelemetryManager$
|
|
265
|
+
var _TelemetryManager$Int17;
|
|
264
266
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, {
|
|
265
267
|
...payload,
|
|
266
268
|
TransactionId: newGuid(),
|
|
267
|
-
RequestId: (_TelemetryManager$
|
|
269
|
+
RequestId: (_TelemetryManager$Int17 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.currentRequestId
|
|
268
270
|
});
|
|
269
271
|
});
|
|
270
272
|
_defineProperty(TelemetryHelper, "logConfigDataEvent", (logLevel, payload) => {
|
|
@@ -299,12 +301,12 @@ _defineProperty(TelemetryHelper, "logFacadeChatSDKEventToAllTelemetry", (logLeve
|
|
|
299
301
|
});
|
|
300
302
|
});
|
|
301
303
|
_defineProperty(TelemetryHelper, "logSDKEventToAllTelemetry", (logLevel, payload) => {
|
|
302
|
-
var _TelemetryManager$
|
|
304
|
+
var _TelemetryManager$Int18;
|
|
303
305
|
TelemetryHelper.postTelemetryEvent((payload === null || payload === void 0 ? void 0 : payload.Event) ?? "", logLevel, {
|
|
304
306
|
...{
|
|
305
307
|
...payload,
|
|
306
308
|
TransactionId: newGuid(),
|
|
307
|
-
RequestId: (_TelemetryManager$
|
|
309
|
+
RequestId: (_TelemetryManager$Int18 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int18 === void 0 ? void 0 : _TelemetryManager$Int18.currentRequestId
|
|
308
310
|
},
|
|
309
311
|
LogToAll: true
|
|
310
312
|
});
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ConversationEndEntity, ParticipantType } from "../../../common/Constants";
|
|
2
2
|
import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
3
3
|
import { changeLanguageCodeFormatForWebChat, getConversationDetailsCall } from "../../../common/utils";
|
|
4
|
+
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
5
|
+
import { Constants } from "../../../common/Constants";
|
|
6
|
+
import { ConversationState } from "../../../contexts/common/ConversationState";
|
|
4
7
|
import DOMPurify from "dompurify";
|
|
5
8
|
import HyperlinkTextOverrideRenderer from "../../webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer";
|
|
6
9
|
import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
|
|
@@ -12,32 +15,30 @@ import { createActivityMiddleware } from "../../webchatcontainerstateful/webchat
|
|
|
12
15
|
import { createAttachmentMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware";
|
|
13
16
|
import createAttachmentUploadValidatorMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware";
|
|
14
17
|
import { createAvatarMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
|
|
18
|
+
import createCallActionMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/callActionMiddleware";
|
|
15
19
|
import { createCardActionMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware";
|
|
20
|
+
import { createCitationsMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/citationsMiddleware";
|
|
16
21
|
import createConversationEndMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware";
|
|
22
|
+
import createCustomEventMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/customEventMiddleware";
|
|
17
23
|
import createDataMaskingMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware";
|
|
18
24
|
import { createMarkdown } from "./createMarkdown";
|
|
19
25
|
import createMaxMessageSizeValidator from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator";
|
|
20
26
|
import { createMessageSequenceIdOverrideMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageSequenceIdOverrideMiddleware";
|
|
21
27
|
import { createMessageTimeStampMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware";
|
|
28
|
+
import { createQueueOverflowMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware";
|
|
22
29
|
import { createStore } from "botframework-webchat";
|
|
23
30
|
import { createToastMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/toastMiddleware";
|
|
24
31
|
import { createWebChatTelemetry } from "../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
25
32
|
import { defaultAttachmentProps } from "../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps";
|
|
26
33
|
import { defaultMiddlewareLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
|
|
27
34
|
import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
|
|
35
|
+
import { executeReducer } from "../../../contexts/createReducer";
|
|
28
36
|
import { getLocaleStringFromId } from "@microsoft/omnichannel-chat-sdk";
|
|
29
37
|
import gifUploadMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware";
|
|
30
38
|
import htmlPlayerMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware";
|
|
31
39
|
import htmlTextMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware";
|
|
32
40
|
import preProcessingMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware";
|
|
33
41
|
import sanitizationMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware";
|
|
34
|
-
import { Constants } from "../../../common/Constants";
|
|
35
|
-
import createCallActionMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/callActionMiddleware";
|
|
36
|
-
import createCustomEventMiddleware from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/customEventMiddleware";
|
|
37
|
-
import { ConversationState } from "../../../contexts/common/ConversationState";
|
|
38
|
-
import { executeReducer } from "../../../contexts/createReducer";
|
|
39
|
-
import { createQueueOverflowMiddleware } from "../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/queueOverflowHandlerMiddleware";
|
|
40
|
-
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
41
42
|
|
|
42
43
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
44
|
export const initWebChatComposer = (props, state, dispatch, facadeChatSDK, endChat) => {
|
|
@@ -116,7 +117,7 @@ export const initWebChatComposer = (props, state, dispatch, facadeChatSDK, endCh
|
|
|
116
117
|
};
|
|
117
118
|
webChatStore = createStore({},
|
|
118
119
|
//initial state
|
|
119
|
-
preProcessingMiddleware, attachmentProcessingMiddleware, createAttachmentUploadValidatorMiddleware((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : _state$domainStates$l.allowedFileExtensions, (_state$domainStates$l2 = state.domainStates.liveChatConfig) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.maxUploadFileSize, localizedTexts), createCustomEventMiddleware(BroadcastService), createQueueOverflowMiddleware(state, dispatch), channelDataMiddleware(addConversationalSurveyTagsCallback), createConversationEndMiddleware(conversationEndCallback, startConversationalSurveyCallback, endConversationalSurveyCallback), createDataMaskingMiddleware((_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : _state$domainStates$l3.DataMaskingInfo), createMessageTimeStampMiddleware, createMessageSequenceIdOverrideMiddleware, gifUploadMiddleware, htmlPlayerMiddleware, htmlTextMiddleware(honorsTargetInHTMLLinks), createMaxMessageSizeValidator(localizedTexts), sanitizationMiddleware, createCallActionMiddleware(),
|
|
120
|
+
preProcessingMiddleware, attachmentProcessingMiddleware, createAttachmentUploadValidatorMiddleware((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : _state$domainStates$l.allowedFileExtensions, (_state$domainStates$l2 = state.domainStates.liveChatConfig) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.maxUploadFileSize, localizedTexts), createCustomEventMiddleware(BroadcastService), createQueueOverflowMiddleware(state, dispatch), channelDataMiddleware(addConversationalSurveyTagsCallback), createConversationEndMiddleware(conversationEndCallback, startConversationalSurveyCallback, endConversationalSurveyCallback), createDataMaskingMiddleware((_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : _state$domainStates$l3.DataMaskingInfo), createMessageTimeStampMiddleware, createMessageSequenceIdOverrideMiddleware, createCitationsMiddleware, gifUploadMiddleware, htmlPlayerMiddleware, htmlTextMiddleware(honorsTargetInHTMLLinks), createMaxMessageSizeValidator(localizedTexts), sanitizationMiddleware, createCallActionMiddleware(),
|
|
120
121
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
121
122
|
...(((_props$webChatContain7 = props.webChatContainerProps) === null || _props$webChatContain7 === void 0 ? void 0 : _props$webChatContain7.storeMiddlewares) ?? []));
|
|
122
123
|
WebChatStoreLoader.store = webChatStore;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import { Constants, LiveWorkItemState, WidgetLoadTelemetryMessage } from "../../../common/Constants";
|
|
3
|
+
import { TelemetryManager, TelemetryTimers } from "../../../common/telemetry/TelemetryManager";
|
|
3
4
|
import { checkContactIdError, createTimer, getConversationDetailsCall, getStateFromCache, getWidgetCacheIdfromProps, isNullOrEmptyString, isNullOrUndefined, isUndefinedOrEmpty } from "../../../common/utils";
|
|
4
5
|
import { handleChatReconnect, isPersistentEnabled, isReconnectEnabled } from "./reconnectChatHelper";
|
|
5
6
|
import { handleStartChatError, logWidgetLoadComplete } from "./startChatErrorHandler";
|
|
@@ -8,7 +9,6 @@ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
|
8
9
|
import { ConversationState } from "../../../contexts/common/ConversationState";
|
|
9
10
|
import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
|
|
10
11
|
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
11
|
-
import { TelemetryTimers } from "../../../common/telemetry/TelemetryManager";
|
|
12
12
|
import { chatSDKStateCleanUp } from "./endChat";
|
|
13
13
|
import { createAdapter } from "./createAdapter";
|
|
14
14
|
import { createOnNewAdapterActivityHandler } from "../../../plugins/newMessageEventHandler";
|
|
@@ -131,7 +131,7 @@ const setPreChatAndInitiateChat = async (facadeChatSDK, dispatch, setAdapter, is
|
|
|
131
131
|
* This is because a new change to control OOH as closed event when a widget is coming from chat.
|
|
132
132
|
*/
|
|
133
133
|
if ((state === null || state === void 0 ? void 0 : state.appStates.isMinimized) === undefined || (state === null || state === void 0 ? void 0 : (_state$appStates2 = state.appStates) === null || _state$appStates2 === void 0 ? void 0 : _state$appStates2.isMinimized) === true) {
|
|
134
|
-
var _state$domainStates5, _state$domainStates5$, _state$domainStates6, _state$domainStates6
|
|
134
|
+
var _state$domainStates5, _state$domainStates5$, _state$domainStates6, _state$domainStates6$, _TelemetryManager$Int;
|
|
135
135
|
dispatch({
|
|
136
136
|
type: LiveChatWidgetActionType.SET_MINIMIZED,
|
|
137
137
|
payload: false
|
|
@@ -141,7 +141,8 @@ const setPreChatAndInitiateChat = async (facadeChatSDK, dispatch, setAdapter, is
|
|
|
141
141
|
eventName: BroadcastEvent.MaximizeChat,
|
|
142
142
|
payload: {
|
|
143
143
|
height: state === null || state === void 0 ? void 0 : (_state$domainStates5 = state.domainStates) === null || _state$domainStates5 === void 0 ? void 0 : (_state$domainStates5$ = _state$domainStates5.widgetSize) === null || _state$domainStates5$ === void 0 ? void 0 : _state$domainStates5$.height,
|
|
144
|
-
width: state === null || state === void 0 ? void 0 : (_state$domainStates6 = state.domainStates) === null || _state$domainStates6 === void 0 ? void 0 : (_state$domainStates6$ = _state$domainStates6.widgetSize) === null || _state$domainStates6$ === void 0 ? void 0 : _state$domainStates6$.width
|
|
144
|
+
width: state === null || state === void 0 ? void 0 : (_state$domainStates6 = state.domainStates) === null || _state$domainStates6 === void 0 ? void 0 : (_state$domainStates6$ = _state$domainStates6.widgetSize) === null || _state$domainStates6$ === void 0 ? void 0 : _state$domainStates6$.width,
|
|
145
|
+
runtimeId: TelemetryManager === null || TelemetryManager === void 0 ? void 0 : (_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.lcwRuntimeId
|
|
145
146
|
}
|
|
146
147
|
});
|
|
147
148
|
}
|
|
@@ -9,6 +9,7 @@ import { TelemetryManager, TelemetryTimers } from "../../../common/telemetry/Tel
|
|
|
9
9
|
import { chatSDKStateCleanUp, endChat, endChatStateCleanUp, prepareEndChat } from "../common/endChat";
|
|
10
10
|
import { checkIfConversationStillValid, initStartChat, prepareStartChat, setPreChatAndInitiateChat } from "../common/startChat";
|
|
11
11
|
import { createTimer, getBroadcastChannelName, getConversationDetailsCall, getLocaleDirection, getStateFromCache, getWidgetCacheIdfromProps, getWidgetEndChatEventName, isNullOrEmptyString, isNullOrUndefined, isThisSessionPopout, isUndefinedOrEmpty, setOcUserAgent } from "../../../common/utils";
|
|
12
|
+
import { customEventCallback, subscribeToSendCustomEvent } from "../common/customEventHandler";
|
|
12
13
|
import { defaultClientDataStoreProvider, isCookieAllowed } from "../../../common/storage/default/defaultClientDataStoreProvider";
|
|
13
14
|
import { handleChatReconnect, isPersistentEnabled, isReconnectEnabled } from "../common/reconnectChatHelper";
|
|
14
15
|
import { shouldShowCallingContainer, shouldShowChatButton, shouldShowConfirmationPane, shouldShowEmailTranscriptPane, shouldShowHeader, shouldShowLoadingPane, shouldShowOutOfOfficeHoursPane, shouldShowPostChatLoadingPane, shouldShowPostChatSurveyPane, shouldShowPreChatSurveyPane, shouldShowProactiveChatPane, shouldShowReconnectChatPane, shouldShowStartChatErrorPane, shouldShowWebChatContainer } from "../../../controller/componentController";
|
|
@@ -53,7 +54,6 @@ import { startProactiveChat } from "../common/startProactiveChat";
|
|
|
53
54
|
import useChatAdapterStore from "../../../hooks/useChatAdapterStore";
|
|
54
55
|
import useChatContextStore from "../../../hooks/useChatContextStore";
|
|
55
56
|
import useFacadeSDKStore from "../../../hooks/useFacadeChatSDKStore";
|
|
56
|
-
import { customEventCallback, subscribeToSendCustomEvent } from "../common/customEventHandler";
|
|
57
57
|
let uiTimer;
|
|
58
58
|
export const LiveChatWidgetStateful = props => {
|
|
59
59
|
var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _props$webChatContain4, _props$webChatContain5, _props$webChatContain6, _props$webChatContain7, _props$webChatContain8, _props$webChatContain9, _props$styleProps, _props$webChatContain10, _props$webChatContain11, _props$controlProps, _props$controlProps3, _state$appStates7, _props$webChatContain15, _state$appStates14, _props$webChatContain17, _props$webChatContain18, _props$controlProps12, _props$draggableChatW, _props$draggableChatW2, _props$draggableChatW3, _props$draggableChatW4, _props$draggableChatW5, _livechatProps$webCha, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$compon8, _livechatProps$contro10, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$contro13, _livechatProps$compon11, _livechatProps$compon12, _livechatProps$compon13;
|
|
@@ -719,11 +719,7 @@ export const LiveChatWidgetStateful = props => {
|
|
|
719
719
|
endChat(props, facadeChatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
720
720
|
return;
|
|
721
721
|
}
|
|
722
|
-
const
|
|
723
|
-
type: LiveChatWidgetActionType.GET_IN_MEMORY_STATE,
|
|
724
|
-
payload: null
|
|
725
|
-
});
|
|
726
|
-
let isConversationalSurveyEnabled = state.appStates.isConversationalSurveyEnabled;
|
|
722
|
+
const isConversationalSurveyEnabled = state.appStates.isConversationalSurveyEnabled;
|
|
727
723
|
|
|
728
724
|
// In conversational survey, we need to check post chat survey logics before we set ConversationState to InActive
|
|
729
725
|
// Hence setting ConversationState to InActive will be done later in the post chat flows
|
|
@@ -896,11 +892,21 @@ export const LiveChatWidgetStateful = props => {
|
|
|
896
892
|
.webchat__basic-transcript__activity-markdown-body > :first-child {
|
|
897
893
|
margin-top: 0px;
|
|
898
894
|
}
|
|
895
|
+
|
|
899
896
|
.webchat__basic-transcript__activity-markdown-body img.webchat__render-markdown__external-link-icon {
|
|
900
897
|
background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuMjUwMSA0LjUwMDE3SDEwLjc0OTVDMTEuMTYzNyA0LjUwMDE3IDExLjQ5OTUgNC44MzU5NiAxMS40OTk1IDUuMjUwMTdDMTEuNDk5NSA1LjYyOTg2IDExLjIxNzMgNS45NDM2NiAxMC44NTEzIDUuOTkzMzJMMTAuNzQ5NSA2LjAwMDE3SDcuMjQ5NzRDNi4wNzA3OSA1Ljk5OTYxIDUuMTAzNDkgNi45MDY1NiA1LjAwNzg2IDguMDYxMTJMNS4wMDAyOCA4LjIyMDAzTDUuMDAzMTIgMTYuNzUwN0M1LjAwMzQzIDE3Ljk0MTUgNS45Mjg4NSAxOC45MTYxIDcuMDk5NjYgMTguOTk0OUw3LjI1MzcxIDE5LjAwMDFMMTUuNzUxOCAxOC45ODg0QzE2Ljk0MTUgMTguOTg2OCAxNy45MTQ1IDE4LjA2MiAxNy45OTM1IDE2Ljg5MjNMMTcuOTk4NyAxNi43Mzg0VjEzLjIzMjFDMTcuOTk4NyAxMi44MTc5IDE4LjMzNDUgMTIuNDgyMSAxOC43NDg3IDEyLjQ4MjFDMTkuMTI4NCAxMi40ODIxIDE5LjQ0MjIgMTIuNzY0MyAxOS40OTE4IDEzLjEzMDNMMTkuNDk4NyAxMy4yMzIxVjE2LjczODRDMTkuNDk4NyAxOC43NDA3IDE3LjkyOTMgMjAuMzc2OSAxNS45NTI4IDIwLjQ4MjlMMTUuNzUzOCAyMC40ODg0TDcuMjU4MjcgMjAuNTAwMUw3LjA1NDk1IDIwLjQ5NDlDNS4xNDIzOSAyMC4zOTU0IDMuNjA4OTUgMTguODYyNyAzLjUwODM3IDE2Ljk1MDJMMy41MDMxMiAxNi43NTExTDMuNTAwODkgOC4yNTI3TDMuNTA1MjkgOC4wNTAyQzMuNjA1MzkgNi4xMzc0OSA1LjEzODY3IDQuNjA0NDkgNy4wNTA5NiA0LjUwNTI3TDcuMjUwMSA0LjUwMDE3SDEwLjc0OTVINy4yNTAxWk0xMy43NDgxIDMuMDAxNDZMMjAuMzAxOCAzLjAwMTk3TDIwLjQwMTQgMy4wMTU3NUwyMC41MDIyIDMuMDQzOTNMMjAuNTU5IDMuMDY4MDNDMjAuNjEyMiAzLjA5MTIyIDIwLjY2MzQgMy4xMjE2MyAyMC43MTExIDMuMTU4ODVMMjAuNzgwNCAzLjIyMTU2TDIwLjg2NDEgMy4zMjAxNEwyMC45MTgzIDMuNDEwMjVMMjAuOTU3IDMuNTAwNTdMMjAuOTc2MiAzLjU2NDc2TDIwLjk4OTggMy42Mjg2MkwyMC45OTkyIDMuNzIyODJMMjAuOTk5NyAxMC4yNTU0QzIwLjk5OTcgMTAuNjY5NiAyMC42NjM5IDExLjAwNTQgMjAuMjQ5NyAxMS4wMDU0QzE5Ljg3IDExLjAwNTQgMTkuNTU2MiAxMC43MjMyIDE5LjUwNjUgMTAuMzU3MUwxOS40OTk3IDEwLjI1NTRMMTkuNDk4OSA1LjU2MTQ3TDEyLjI3OTcgMTIuNzg0N0MxMi4wMTM0IDEzLjA1MSAxMS41OTY4IDEzLjA3NTMgMTEuMzAzMSAxMi44NTc1TDExLjIxOSAxMi43ODQ5QzEwLjk1MjcgMTIuNTE4NyAxMC45Mjg0IDEyLjEwMjEgMTEuMTQ2MiAxMS44MDg0TDExLjIxODggMTEuNzI0M0wxOC40MzY5IDQuNTAxNDZIMTMuNzQ4MUMxMy4zNjg0IDQuNTAxNDYgMTMuMDU0NiA0LjIxOTMxIDEzLjAwNSAzLjg1MzI0TDEyLjk5ODEgMy43NTE0NkMxMi45OTgxIDMuMzcxNzcgMTMuMjgwMyAzLjA1Nzk3IDEzLjY0NjQgMy4wMDgzMUwxMy43NDgxIDMuMDAxNDZaIiBmaWxsPSIjMjEyMTIxIiAvPjwvc3ZnPg==) !important;
|
|
901
898
|
height: .75em;
|
|
902
899
|
margin-left: .25em;
|
|
903
900
|
}
|
|
901
|
+
|
|
902
|
+
.webchat__link-definitions__header-text {
|
|
903
|
+
color: ${bubbleBackground}
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
.webchat__link-definitions__header-chevron {
|
|
907
|
+
color: ${bubbleBackground}
|
|
908
|
+
}
|
|
909
|
+
|
|
904
910
|
${(sendBoxTextArea === null || sendBoxTextArea === void 0 ? void 0 : sendBoxTextArea.minHeight) && `
|
|
905
911
|
.webchat__auto-resize-textarea.webchat__send-box-text-box__text-area {
|
|
906
912
|
min-height: ${sendBoxTextArea === null || sendBoxTextArea === void 0 ? void 0 : sendBoxTextArea.minHeight} !important;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
|
|
2
|
+
import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper";
|
|
3
|
+
export const createCitationsMiddleware = _ref => {
|
|
4
|
+
let {
|
|
5
|
+
dispatch
|
|
6
|
+
} = _ref;
|
|
7
|
+
return next => action => {
|
|
8
|
+
var _action$payload;
|
|
9
|
+
if ((_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.activity) {
|
|
10
|
+
if (isApplicable(action)) {
|
|
11
|
+
try {
|
|
12
|
+
const gptFeedback = JSON.parse(action.payload.activity.channelData.metadata["pva:gpt-feedback"]);
|
|
13
|
+
// Replace citations in the text
|
|
14
|
+
const updatedText = replaceCitations(action.payload.activity.text, gptFeedback.summarizationOpenAIResponse.result.textCitations);
|
|
15
|
+
action.payload.activity.text = updatedText;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
18
|
+
Event: TelemetryEvent.CitationMiddlewareFailed,
|
|
19
|
+
ExceptionDetails: {
|
|
20
|
+
ErrorData: "Error while converting citation labels",
|
|
21
|
+
Exception: error
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return next(action);
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
const isApplicable = action => {
|
|
31
|
+
var _action$payload2, _action$payload2$acti, _action$payload3, _action$payload3$acti;
|
|
32
|
+
if ((action === null || action === void 0 ? void 0 : (_action$payload2 = action.payload) === null || _action$payload2 === void 0 ? void 0 : (_action$payload2$acti = _action$payload2.activity) === null || _action$payload2$acti === void 0 ? void 0 : _action$payload2$acti.actionType) === "DIRECT_LINE/INCOMING_ACTIVITY" && (action === null || action === void 0 ? void 0 : (_action$payload3 = action.payload) === null || _action$payload3 === void 0 ? void 0 : (_action$payload3$acti = _action$payload3.activity) === null || _action$payload3$acti === void 0 ? void 0 : _action$payload3$acti.channelId) === "ACS_CHANNEL") {
|
|
33
|
+
var _action$payload4, _action$payload4$acti, _action$payload4$acti2, _action$payload4$acti3;
|
|
34
|
+
// Validate if pva:gpt-feedback exists and is not null
|
|
35
|
+
if (action !== null && action !== void 0 && (_action$payload4 = action.payload) !== null && _action$payload4 !== void 0 && (_action$payload4$acti = _action$payload4.activity) !== null && _action$payload4$acti !== void 0 && (_action$payload4$acti2 = _action$payload4$acti.channelData) !== null && _action$payload4$acti2 !== void 0 && (_action$payload4$acti3 = _action$payload4$acti2.metadata) !== null && _action$payload4$acti3 !== void 0 && _action$payload4$acti3["pva:gpt-feedback"]) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
};
|
|
41
|
+
const replaceCitations = (text, citations) => {
|
|
42
|
+
if (!citations || !Array.isArray(citations)) {
|
|
43
|
+
return text;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
return text.replace(/\[(\d+)\]:\s(cite:\d+)\s"([^"]+)"/g, (match, number, citeId) => {
|
|
47
|
+
const citation = citations.find(c => c.id === citeId);
|
|
48
|
+
if (citation) {
|
|
49
|
+
// Replace only the citation label while preserving the original format
|
|
50
|
+
return `[${number}]: ${citeId} "${citation.title}"`;
|
|
51
|
+
}
|
|
52
|
+
return match; // Keep the original match if no replacement is found
|
|
53
|
+
});
|
|
54
|
+
} catch (error) {
|
|
55
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
56
|
+
Event: TelemetryEvent.CitationMiddlewareFailed,
|
|
57
|
+
ExceptionDetails: {
|
|
58
|
+
ErrorData: "Error while finding citations references",
|
|
59
|
+
Exception: error
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// Return the original text in case of issues
|
|
63
|
+
return text;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
@@ -114,4 +114,13 @@ export const createTrackingMessage = (payload, type) => {
|
|
|
114
114
|
type: type,
|
|
115
115
|
checkTime: new Date().getTime()
|
|
116
116
|
};
|
|
117
|
+
};
|
|
118
|
+
export const maskPayloadText = payload => {
|
|
119
|
+
if (!payload) {
|
|
120
|
+
return payload;
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
...payload,
|
|
124
|
+
text: "*contents hidden*"
|
|
125
|
+
};
|
|
117
126
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BroadcastEvent, LogLevel, TelemetryEvent } from "../common/telemetry/TelemetryConstants";
|
|
2
2
|
import { ScenarioType } from "../firstresponselatency/Constants";
|
|
3
|
-
import { buildMessagePayload, getScenarioType, isHistoryMessage, polyfillMessagePayloadForEvent } from "../firstresponselatency/util";
|
|
3
|
+
import { buildMessagePayload, getScenarioType, isHistoryMessage, maskPayloadText, polyfillMessagePayloadForEvent } from "../firstresponselatency/util";
|
|
4
4
|
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
5
5
|
import { Constants } from "../common/Constants";
|
|
6
6
|
import { FirstResponseLatencyTracker } from "../firstresponselatency/FirstResponseLatencyTracker";
|
|
@@ -65,7 +65,7 @@ export const createOnNewAdapterActivityHandler = (chatId, userId, startTime) =>
|
|
|
65
65
|
TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
|
|
66
66
|
Event: TelemetryEvent.RehydrateMessageReceived,
|
|
67
67
|
Description: "History message received",
|
|
68
|
-
CustomProperties: payload
|
|
68
|
+
CustomProperties: maskPayloadText(payload)
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
};
|
|
@@ -102,7 +102,7 @@ export const createOnNewAdapterActivityHandler = (chatId, userId, startTime) =>
|
|
|
102
102
|
TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
|
|
103
103
|
Event: TelemetryEvent.MessageReceived,
|
|
104
104
|
Description: "New message received",
|
|
105
|
-
CustomProperties: payload
|
|
105
|
+
CustomProperties: maskPayloadText(payload)
|
|
106
106
|
});
|
|
107
107
|
};
|
|
108
108
|
const raiseMessageEvent = activity => {
|
|
@@ -177,6 +177,7 @@ export declare enum TelemetryEvent {
|
|
|
177
177
|
ProcessingSanitizationMiddlewareFailed = "ProcessingSanitizationMiddlewareFailed",
|
|
178
178
|
FormatTagsMiddlewareJSONStringifyFailed = "FormatTagsMiddlewareJSONStringifyFailed",
|
|
179
179
|
AttachmentUploadValidatorMiddlewareFailed = "AttachmentUploadValidatorMiddlewareFailed",
|
|
180
|
+
CitationMiddlewareFailed = "CitationMiddlewareFailed",
|
|
180
181
|
QueuePositionMessageRecieved = "QueuePositionMessageRecieved",
|
|
181
182
|
AverageWaitTimeMessageRecieved = "AverageWaitTimeMessageRecieved",
|
|
182
183
|
DataMaskingRuleApplied = "DataMaskingRuleApplied",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Dispatch } from "redux";
|
|
2
|
+
import { IWebChatAction } from "../../../interfaces/IWebChatAction";
|
|
3
|
+
export declare const createCitationsMiddleware: ({ dispatch }: {
|
|
4
|
+
dispatch: Dispatch<IWebChatAction>;
|
|
5
|
+
}) => (next: Dispatch<IWebChatAction>) => (action: IWebChatAction) => IWebChatAction;
|
|
@@ -22,3 +22,4 @@ export declare const buildMessagePayload: (activity: IActivity, userId: string)
|
|
|
22
22
|
export declare const polyfillMessagePayloadForEvent: (activity: IActivity, payload: MessagePayload, conversationId?: string) => MessagePayload;
|
|
23
23
|
export declare const getScenarioType: (activity: IActivity) => ScenarioType;
|
|
24
24
|
export declare const createTrackingMessage: (payload: MessagePayload, type: string) => TrackingMessage;
|
|
25
|
+
export declare const maskPayloadText: (payload: MessagePayload) => MessagePayload;
|