@microsoft/omnichannel-chat-sdk 1.11.7-main.b4e455c → 1.11.7-main.e13c432
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/OmnichannelChatSDK.d.ts +9 -1
- package/lib/OmnichannelChatSDK.js +134 -87
- package/lib/OmnichannelChatSDK.js.map +1 -1
- package/lib/config/settings.d.ts +3 -2
- package/lib/config/settings.js +4 -2
- package/lib/config/settings.js.map +1 -1
- package/lib/core/ChatSDKError.d.ts +3 -1
- package/lib/core/ChatSDKError.js +2 -0
- package/lib/core/ChatSDKError.js.map +1 -1
- package/lib/core/GetPersistentChatHistoryOptionalParams.d.ts +10 -0
- package/lib/core/GetPersistentChatHistoryOptionalParams.js +3 -0
- package/lib/core/GetPersistentChatHistoryOptionalParams.js.map +1 -0
- package/lib/core/messaging/OmnichannelMessage.d.ts +6 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js.map +1 -1
- package/lib/telemetry/TelemetryEvent.d.ts +2 -1
- package/lib/telemetry/TelemetryEvent.js +1 -0
- package/lib/telemetry/TelemetryEvent.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/createOcSDKConfiguration.d.ts +2 -2
- package/lib/utils/createOcSDKConfiguration.js +16 -2
- package/lib/utils/createOcSDKConfiguration.js.map +1 -1
- package/lib/utils/createOmnichannelMessage.js +9 -0
- package/lib/utils/createOmnichannelMessage.js.map +1 -1
- package/lib/utils/exceptionThrowers.d.ts +6 -0
- package/lib/utils/exceptionThrowers.js +8 -2
- package/lib/utils/exceptionThrowers.js.map +1 -1
- package/lib/utils/setOcUserAgent.js +2 -1
- package/lib/utils/setOcUserAgent.js.map +1 -1
- package/lib/utils/version.d.ts +9 -0
- package/lib/utils/version.js +28 -0
- package/lib/utils/version.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ACSClient from "./core/messaging/ACSClient";
|
|
2
2
|
import { VoiceVideoCallingOptionalParams } from "./types/config";
|
|
3
|
-
import { ChatAdapter, GetAgentAvailabilityResponse, GetCurrentLiveChatContextResponse, GetLiveChatTranscriptResponse, GetMessagesResponse, GetPreChatSurveyResponse, GetVoiceVideoCallingResponse, MaskingRules, UploadFileAttachmentResponse } from "./types/response";
|
|
3
|
+
import { ChatAdapter, GetAgentAvailabilityResponse, GetCurrentLiveChatContextResponse, GetLiveChatTranscriptResponse, GetMessagesResponse, GetPersistentChatHistoryResponse, GetPreChatSurveyResponse, GetVoiceVideoCallingResponse, MaskingRules, UploadFileAttachmentResponse } from "./types/response";
|
|
4
4
|
import { ParticipantsRemovedEvent } from '@azure/communication-signaling';
|
|
5
5
|
import ChatAdapterOptionalParams from "./core/messaging/ChatAdapterOptionalParams";
|
|
6
6
|
import ChatConfig from "./core/ChatConfig";
|
|
@@ -21,6 +21,7 @@ import GetChatTokenOptionalParams from "./core/GetChatTokenOptionalParams";
|
|
|
21
21
|
import GetConversationDetailsOptionalParams from "./core/GetConversationDetailsOptionalParams";
|
|
22
22
|
import GetLiveChatConfigOptionalParams from "./core/GetLiveChatConfigOptionalParams";
|
|
23
23
|
import GetLiveChatTranscriptOptionalParams from "./core/GetLiveChatTranscriptOptionalParams";
|
|
24
|
+
import GetPersistentChatHistoryOptionalParams from "./core/GetPersistentChatHistoryOptionalParams";
|
|
24
25
|
import IChatToken from "./external/IC3Adapter/IChatToken";
|
|
25
26
|
import IFileInfo from "@microsoft/omnichannel-ic3core/lib/interfaces/IFileInfo";
|
|
26
27
|
import IFileMetadata from "@microsoft/omnichannel-ic3core/lib/model/IFileMetadata";
|
|
@@ -83,6 +84,7 @@ declare class OmnichannelChatSDK {
|
|
|
83
84
|
private debugAMS;
|
|
84
85
|
private debugACS;
|
|
85
86
|
private detailedDebugEnabled;
|
|
87
|
+
private regexCompiledForDataMasking;
|
|
86
88
|
constructor(omnichannelConfig: OmnichannelConfig, chatSDKConfig?: ChatSDKConfig);
|
|
87
89
|
/**
|
|
88
90
|
* Executes an operation with mutual exclusion to prevent race conditions
|
|
@@ -164,6 +166,7 @@ declare class OmnichannelChatSDK {
|
|
|
164
166
|
private getIC3Client;
|
|
165
167
|
private setPrechatConfigurations;
|
|
166
168
|
private setDataMaskingConfiguration;
|
|
169
|
+
private compileDataMaskingRegex;
|
|
167
170
|
private setAuthSettingConfig;
|
|
168
171
|
private setPersistentChatConfiguration;
|
|
169
172
|
private setLocaleIdConfiguration;
|
|
@@ -186,5 +189,10 @@ declare class OmnichannelChatSDK {
|
|
|
186
189
|
* @private
|
|
187
190
|
*/
|
|
188
191
|
private handleConversationJoinFailure;
|
|
192
|
+
/**
|
|
193
|
+
* Get persistent chat history for authenticated users.
|
|
194
|
+
* @param getPersistentChatHistoryOptionalParams Optional parameters for persistent chat history retrieval.
|
|
195
|
+
*/
|
|
196
|
+
getPersistentChatHistory(getPersistentChatHistoryOptionalParams?: GetPersistentChatHistoryOptionalParams): Promise<GetPersistentChatHistoryResponse | undefined>;
|
|
189
197
|
}
|
|
190
198
|
export default OmnichannelChatSDK;
|
|
@@ -105,7 +105,6 @@ var loggerUtils_1 = require("./utils/loggerUtils");
|
|
|
105
105
|
var parsers_1 = require("./utils/parsers");
|
|
106
106
|
var platform_1 = require("./utils/platform");
|
|
107
107
|
var retrieveCollectorUri_1 = require("./telemetry/retrieveCollectorUri");
|
|
108
|
-
var setOcUserAgent_1 = require("./utils/setOcUserAgent");
|
|
109
108
|
var startPolling_1 = require("./commands/startPolling");
|
|
110
109
|
var stopPolling_1 = require("./commands/stopPolling");
|
|
111
110
|
var urlResolvers_1 = require("./utils/urlResolvers");
|
|
@@ -150,6 +149,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
150
149
|
this.debugAMS = false;
|
|
151
150
|
this.debugACS = false;
|
|
152
151
|
this.detailedDebugEnabled = false;
|
|
152
|
+
this.regexCompiledForDataMasking = [];
|
|
153
153
|
this.populateInitChatOptionalParam = function (requestOptionalParams, optionalParams, telemetryEvent) {
|
|
154
154
|
requestOptionalParams.initContext.locale = (0, locale_1.getLocaleStringFromId)(_this.localeId);
|
|
155
155
|
if (optionalParams === null || optionalParams === void 0 ? void 0 : optionalParams.customContext) {
|
|
@@ -551,10 +551,9 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
551
551
|
_j.trys.push([1, 3, , 4]);
|
|
552
552
|
this.OCSDKProvider = ocsdk_1.SDKProvider;
|
|
553
553
|
_a = this;
|
|
554
|
-
return [4 /*yield*/, ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(useCoreServices), this.ocSdkLogger)];
|
|
554
|
+
return [4 /*yield*/, ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(useCoreServices, (_d = this.chatSDKConfig) === null || _d === void 0 ? void 0 : _d.ocUserAgent), this.ocSdkLogger)];
|
|
555
555
|
case 2:
|
|
556
556
|
_a.OCClient = _j.sent();
|
|
557
|
-
(0, setOcUserAgent_1.default)(this.OCClient, (_d = this.chatSDKConfig) === null || _d === void 0 ? void 0 : _d.ocUserAgent);
|
|
558
557
|
return [3 /*break*/, 4];
|
|
559
558
|
case 3:
|
|
560
559
|
e_2 = _j.sent();
|
|
@@ -657,8 +656,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
657
656
|
useCoreServices = (0, CoreServicesUtils_1.isCoreServicesOrgUrl)(this.omnichannelConfig.orgUrl);
|
|
658
657
|
try {
|
|
659
658
|
this.OCSDKProvider = ocsdk_1.SDKProvider;
|
|
660
|
-
this.OCClient = ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(useCoreServices), this.ocSdkLogger);
|
|
661
|
-
(0, setOcUserAgent_1.default)(this.OCClient, (_a = this.chatSDKConfig) === null || _a === void 0 ? void 0 : _a.ocUserAgent);
|
|
659
|
+
this.OCClient = ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(useCoreServices, (_a = this.chatSDKConfig) === null || _a === void 0 ? void 0 : _a.ocUserAgent), this.ocSdkLogger);
|
|
662
660
|
}
|
|
663
661
|
catch (e) {
|
|
664
662
|
exceptionThrowers_1.default.throwOmnichannelClientInitializationFailure(e, this.scenarioMarker, TelemetryEvent_1.default.InitializeLoadChatConfig);
|
|
@@ -1687,21 +1685,36 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1687
1685
|
}
|
|
1688
1686
|
var content = message.content;
|
|
1689
1687
|
var match;
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1688
|
+
if (this.regexCompiledForDataMasking.length === 0) {
|
|
1689
|
+
return message;
|
|
1690
|
+
}
|
|
1691
|
+
for (var _i = 0, _a = this.regexCompiledForDataMasking; _i < _a.length; _i++) {
|
|
1692
|
+
var regex = _a[_i];
|
|
1693
|
+
try {
|
|
1694
|
+
var lastIndex = -1;
|
|
1695
|
+
while ((match = regex.exec(content)) !== null) {
|
|
1696
|
+
// Prevent infinite loop from zero-width matches
|
|
1697
|
+
if (regex.lastIndex === lastIndex) {
|
|
1698
|
+
this.debug && console.warn("[OmnichannelChatSDK][transformMessage] Data masking regex caused zero-width match, skipping rule ".concat(regex));
|
|
1699
|
+
break;
|
|
1700
|
+
}
|
|
1701
|
+
lastIndex = regex.lastIndex;
|
|
1702
|
+
var replaceStr = match[0].replace(/./g, this.maskingCharacter);
|
|
1703
|
+
content = content.replace(match[0], replaceStr);
|
|
1704
|
+
}
|
|
1705
|
+
match = null;
|
|
1706
|
+
}
|
|
1707
|
+
catch (error) {
|
|
1708
|
+
// Log error for invalid regex but continue processing other rules
|
|
1709
|
+
this.debug && console.error("[OmnichannelChatSDK][transformMessage] Data masking regex failed for rule ".concat(regex, ": ").concat(error));
|
|
1696
1710
|
}
|
|
1697
|
-
match = null;
|
|
1698
1711
|
}
|
|
1699
1712
|
message.content = content;
|
|
1700
1713
|
return message;
|
|
1701
1714
|
};
|
|
1702
1715
|
OmnichannelChatSDK.prototype.sendMessage = function (message) {
|
|
1703
1716
|
return __awaiter(this, void 0, void 0, function () {
|
|
1704
|
-
var sendMessageRequest, chatMessage, error_17, exceptionDetails
|
|
1717
|
+
var sendMessageRequest, chatMessage, error_17, exceptionDetails;
|
|
1705
1718
|
var _a;
|
|
1706
1719
|
return __generator(this, function (_b) {
|
|
1707
1720
|
switch (_b.label) {
|
|
@@ -1714,7 +1727,6 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1714
1727
|
exceptionThrowers_1.default.throwUninitializedChatSDK(this.scenarioMarker, TelemetryEvent_1.default.SendMessages);
|
|
1715
1728
|
}
|
|
1716
1729
|
this.transformMessage(message);
|
|
1717
|
-
if (!(this.liveChatVersion === LiveChatVersion_1.default.V2)) return [3 /*break*/, 5];
|
|
1718
1730
|
sendMessageRequest = {
|
|
1719
1731
|
content: message.content,
|
|
1720
1732
|
};
|
|
@@ -1751,52 +1763,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1751
1763
|
response: ChatSDKError_1.ChatSDKErrorName.ChatSDKSendMessageFailed,
|
|
1752
1764
|
errorObject: "".concat(error_17)
|
|
1753
1765
|
});
|
|
1754
|
-
case 4: return [
|
|
1755
|
-
case 5:
|
|
1756
|
-
messageToSend = {
|
|
1757
|
-
content: message.content,
|
|
1758
|
-
timestamp: new Date(),
|
|
1759
|
-
contentType: MessageContentType_1.default.Text,
|
|
1760
|
-
deliveryMode: DeliveryMode_1.default.Bridged,
|
|
1761
|
-
messageType: MessageType_1.default.UserMessage,
|
|
1762
|
-
properties: undefined,
|
|
1763
|
-
tags: __spreadArray([], MessageTags_1.defaultMessageTags, true),
|
|
1764
|
-
sender: {
|
|
1765
|
-
displayName: "Customer",
|
|
1766
|
-
id: "customer",
|
|
1767
|
-
type: PersonType_1.default.User
|
|
1768
|
-
}
|
|
1769
|
-
};
|
|
1770
|
-
if (message.tags) {
|
|
1771
|
-
messageToSend.tags = message.tags;
|
|
1772
|
-
}
|
|
1773
|
-
if (message.timestamp) {
|
|
1774
|
-
messageToSend.timestamp = message.timestamp;
|
|
1775
|
-
}
|
|
1776
|
-
_b.label = 6;
|
|
1777
|
-
case 6:
|
|
1778
|
-
_b.trys.push([6, 8, , 9]);
|
|
1779
|
-
return [4 /*yield*/, this.conversation.sendMessage(messageToSend)];
|
|
1780
|
-
case 7:
|
|
1781
|
-
_b.sent();
|
|
1782
|
-
this.scenarioMarker.completeScenario(TelemetryEvent_1.default.SendMessages, {
|
|
1783
|
-
RequestId: this.requestId,
|
|
1784
|
-
ChatId: this.chatToken.chatId
|
|
1785
|
-
});
|
|
1786
|
-
return [3 /*break*/, 9];
|
|
1787
|
-
case 8:
|
|
1788
|
-
error_18 = _b.sent();
|
|
1789
|
-
exceptionDetails = {
|
|
1790
|
-
response: ChatSDKError_1.ChatSDKErrorName.ChatSDKSendMessageFailed,
|
|
1791
|
-
errorObject: "".concat(error_18)
|
|
1792
|
-
};
|
|
1793
|
-
this.scenarioMarker.failScenario(TelemetryEvent_1.default.SendMessages, {
|
|
1794
|
-
RequestId: this.requestId,
|
|
1795
|
-
ChatId: this.chatToken.chatId,
|
|
1796
|
-
ExceptionDetails: JSON.stringify(exceptionDetails)
|
|
1797
|
-
});
|
|
1798
|
-
throw new Error(ChatSDKError_1.ChatSDKErrorName.ChatSDKSendMessageFailed);
|
|
1799
|
-
case 9: return [2 /*return*/];
|
|
1766
|
+
case 4: return [2 /*return*/];
|
|
1800
1767
|
}
|
|
1801
1768
|
});
|
|
1802
1769
|
});
|
|
@@ -1847,12 +1814,17 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1847
1814
|
}
|
|
1848
1815
|
(_b = this.conversation) === null || _b === void 0 ? void 0 : _b.registerOnNewMessage(function (event) {
|
|
1849
1816
|
var id = event.id;
|
|
1817
|
+
var isChatMessageEditedEvent = Object.keys(event).includes("editedOn");
|
|
1818
|
+
console.log("[OmnichannelChatSDK][onNewMessage] New message received", event);
|
|
1819
|
+
console.log("[OmnichannelChatSDK][onNewMessage] isChatMessageEditedEvent=>", isChatMessageEditedEvent);
|
|
1850
1820
|
var omnichannelMessage = (0, createOmnichannelMessage_1.default)(event, {
|
|
1851
1821
|
liveChatVersion: _this.liveChatVersion,
|
|
1852
1822
|
debug: (_this.detailedDebugEnabled ? _this.debugACS : _this.debug),
|
|
1853
1823
|
});
|
|
1854
|
-
|
|
1824
|
+
// send callback for new messages or edited existent messages
|
|
1825
|
+
if (!postedMessages_1.has(id) || isChatMessageEditedEvent) {
|
|
1855
1826
|
onNewMessageCallback(omnichannelMessage);
|
|
1827
|
+
console.log("[OmnichannelChatSDK][onNewMessage] Message posted");
|
|
1856
1828
|
postedMessages_1.add(id);
|
|
1857
1829
|
}
|
|
1858
1830
|
}, registerOnNewMessageOptionalParams);
|
|
@@ -1875,7 +1847,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1875
1847
|
};
|
|
1876
1848
|
OmnichannelChatSDK.prototype.sendTypingEvent = function () {
|
|
1877
1849
|
return __awaiter(this, void 0, void 0, function () {
|
|
1878
|
-
var
|
|
1850
|
+
var error_18;
|
|
1879
1851
|
return __generator(this, function (_a) {
|
|
1880
1852
|
switch (_a.label) {
|
|
1881
1853
|
case 0:
|
|
@@ -1904,7 +1876,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1904
1876
|
});
|
|
1905
1877
|
return [3 /*break*/, 5];
|
|
1906
1878
|
case 4:
|
|
1907
|
-
|
|
1879
|
+
error_18 = _a.sent();
|
|
1908
1880
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.SendTypingEvent, {
|
|
1909
1881
|
RequestId: this.requestId,
|
|
1910
1882
|
ChatId: this.chatToken.chatId
|
|
@@ -2013,7 +1985,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2013
1985
|
};
|
|
2014
1986
|
OmnichannelChatSDK.prototype.uploadFileAttachment = function (fileInfo) {
|
|
2015
1987
|
return __awaiter(this, void 0, void 0, function () {
|
|
2016
|
-
var amsClient, createObjectResponse, documentId, uploadDocumentResponse, fileIdsProperty, fileMetaProperty, sendMessageRequest, messageToSend,
|
|
1988
|
+
var amsClient, createObjectResponse, documentId, uploadDocumentResponse, fileIdsProperty, fileMetaProperty, sendMessageRequest, messageToSend, error_19, fileMetadata, messageToSend, error_20;
|
|
2017
1989
|
var _a, _b;
|
|
2018
1990
|
return __generator(this, function (_c) {
|
|
2019
1991
|
switch (_c.label) {
|
|
@@ -2082,7 +2054,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2082
2054
|
});
|
|
2083
2055
|
return [2 /*return*/, messageToSend];
|
|
2084
2056
|
case 6:
|
|
2085
|
-
|
|
2057
|
+
error_19 = _c.sent();
|
|
2086
2058
|
console.error("OmnichannelChatSDK/uploadFileAttachment/sendMessage/error");
|
|
2087
2059
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.UploadFileAttachment, {
|
|
2088
2060
|
RequestId: this.requestId,
|
|
@@ -2128,8 +2100,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2128
2100
|
});
|
|
2129
2101
|
return [2 /*return*/, messageToSend];
|
|
2130
2102
|
case 15:
|
|
2131
|
-
|
|
2132
|
-
console.error("OmnichannelChatSDK/uploadFileAttachment/error: ".concat(
|
|
2103
|
+
error_20 = _c.sent();
|
|
2104
|
+
console.error("OmnichannelChatSDK/uploadFileAttachment/error: ".concat(error_20));
|
|
2133
2105
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.UploadFileAttachment, {
|
|
2134
2106
|
RequestId: this.requestId,
|
|
2135
2107
|
ChatId: this.chatToken.chatId
|
|
@@ -2142,7 +2114,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2142
2114
|
};
|
|
2143
2115
|
OmnichannelChatSDK.prototype.downloadFileAttachment = function (fileMetadata) {
|
|
2144
2116
|
return __awaiter(this, void 0, void 0, function () {
|
|
2145
|
-
var amsClient, response, view_location, viewResponse, _a, downloadedFile,
|
|
2117
|
+
var amsClient, response, view_location, viewResponse, _a, downloadedFile, error_21;
|
|
2146
2118
|
return __generator(this, function (_b) {
|
|
2147
2119
|
switch (_b.label) {
|
|
2148
2120
|
case 0:
|
|
@@ -2202,8 +2174,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2202
2174
|
});
|
|
2203
2175
|
return [2 /*return*/, downloadedFile];
|
|
2204
2176
|
case 9:
|
|
2205
|
-
|
|
2206
|
-
console.error("OmnichannelChatSDK/downloadFileAttachment/error: ".concat(
|
|
2177
|
+
error_21 = _b.sent();
|
|
2178
|
+
console.error("OmnichannelChatSDK/downloadFileAttachment/error: ".concat(error_21));
|
|
2207
2179
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.DownloadFileAttachment, {
|
|
2208
2180
|
RequestId: this.requestId,
|
|
2209
2181
|
ChatId: this.chatToken.chatId
|
|
@@ -2216,7 +2188,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2216
2188
|
};
|
|
2217
2189
|
OmnichannelChatSDK.prototype.emailLiveChatTranscript = function (body_1) {
|
|
2218
2190
|
return __awaiter(this, arguments, void 0, function (body, optionalParams) {
|
|
2219
|
-
var emailTranscriptOptionalParams, requestId, chatToken, chatId, sessionId, emailRequestBody,
|
|
2191
|
+
var emailTranscriptOptionalParams, requestId, chatToken, chatId, sessionId, emailRequestBody, error_22;
|
|
2220
2192
|
var _a;
|
|
2221
2193
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
2222
2194
|
return __generator(this, function (_b) {
|
|
@@ -2267,8 +2239,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2267
2239
|
});
|
|
2268
2240
|
return [3 /*break*/, 4];
|
|
2269
2241
|
case 3:
|
|
2270
|
-
|
|
2271
|
-
console.error("OmnichannelChatSDK/emailLiveChatTranscript/error: ".concat(
|
|
2242
|
+
error_22 = _b.sent();
|
|
2243
|
+
console.error("OmnichannelChatSDK/emailLiveChatTranscript/error: ".concat(error_22));
|
|
2272
2244
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.EmailLiveChatTranscript, {
|
|
2273
2245
|
RequestId: requestId,
|
|
2274
2246
|
ChatId: chatId
|
|
@@ -2281,7 +2253,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2281
2253
|
};
|
|
2282
2254
|
OmnichannelChatSDK.prototype.getLiveChatTranscript = function () {
|
|
2283
2255
|
return __awaiter(this, arguments, void 0, function (optionalParams) {
|
|
2284
|
-
var getChatTranscriptOptionalParams, requestId, chatToken, chatId, sessionId, transcriptResponse,
|
|
2256
|
+
var getChatTranscriptOptionalParams, requestId, chatToken, chatId, sessionId, transcriptResponse, error_23, telemetryData;
|
|
2285
2257
|
var _a, _b;
|
|
2286
2258
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
2287
2259
|
return __generator(this, function (_c) {
|
|
@@ -2338,12 +2310,12 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2338
2310
|
});
|
|
2339
2311
|
return [2 /*return*/, transcriptResponse];
|
|
2340
2312
|
case 3:
|
|
2341
|
-
|
|
2313
|
+
error_23 = _c.sent();
|
|
2342
2314
|
telemetryData = {
|
|
2343
2315
|
RequestId: requestId,
|
|
2344
2316
|
ChatId: chatId
|
|
2345
2317
|
};
|
|
2346
|
-
exceptionThrowers_1.default.throwLiveChatTranscriptRetrievalFailure(
|
|
2318
|
+
exceptionThrowers_1.default.throwLiveChatTranscriptRetrievalFailure(error_23, this.scenarioMarker, TelemetryEvent_1.default.GetLiveChatTranscript, telemetryData);
|
|
2347
2319
|
return [3 /*break*/, 4];
|
|
2348
2320
|
case 4: return [2 /*return*/];
|
|
2349
2321
|
}
|
|
@@ -2795,12 +2767,26 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2795
2767
|
regex: value
|
|
2796
2768
|
});
|
|
2797
2769
|
}
|
|
2770
|
+
this.compileDataMaskingRegex();
|
|
2798
2771
|
}
|
|
2799
2772
|
}
|
|
2800
2773
|
return [2 /*return*/];
|
|
2801
2774
|
});
|
|
2802
2775
|
});
|
|
2803
2776
|
};
|
|
2777
|
+
OmnichannelChatSDK.prototype.compileDataMaskingRegex = function () {
|
|
2778
|
+
this.regexCompiledForDataMasking = [];
|
|
2779
|
+
for (var _i = 0, _a = this.dataMaskingRules.rules; _i < _a.length; _i++) {
|
|
2780
|
+
var rule = _a[_i];
|
|
2781
|
+
try {
|
|
2782
|
+
var regex = new RegExp(rule.regex, 'g');
|
|
2783
|
+
this.regexCompiledForDataMasking.push(regex);
|
|
2784
|
+
}
|
|
2785
|
+
catch (e) {
|
|
2786
|
+
console.error("Error compiling regex for data masking rule id ".concat(rule.id, ": ").concat(e));
|
|
2787
|
+
}
|
|
2788
|
+
}
|
|
2789
|
+
};
|
|
2804
2790
|
OmnichannelChatSDK.prototype.setAuthSettingConfig = function (authSettings) {
|
|
2805
2791
|
return __awaiter(this, void 0, void 0, function () {
|
|
2806
2792
|
return __generator(this, function (_a) {
|
|
@@ -2879,7 +2865,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2879
2865
|
};
|
|
2880
2866
|
OmnichannelChatSDK.prototype.getChatConfig = function () {
|
|
2881
2867
|
return __awaiter(this, arguments, void 0, function (optionalParams) {
|
|
2882
|
-
var sendCacheHeaders, bypassCache, liveChatConfig,
|
|
2868
|
+
var sendCacheHeaders, bypassCache, liveChatConfig, error_24, _a;
|
|
2883
2869
|
var _b, _c;
|
|
2884
2870
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
2885
2871
|
return __generator(this, function (_d) {
|
|
@@ -2900,8 +2886,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2900
2886
|
this.debug && console.log("[OmnichannelChatSDK][getChatConfig][liveChatVersion] ".concat(this.liveChatVersion));
|
|
2901
2887
|
return [2 /*return*/, this.liveChatConfig];
|
|
2902
2888
|
case 3:
|
|
2903
|
-
|
|
2904
|
-
if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(
|
|
2889
|
+
error_24 = _d.sent();
|
|
2890
|
+
if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(error_24, this.coreServicesOrgUrl, this.dynamicsLocationCode)) return [3 /*break*/, 6];
|
|
2905
2891
|
this.omnichannelConfig.orgUrl = this.unqServicesOrgUrl;
|
|
2906
2892
|
_a = this;
|
|
2907
2893
|
return [4 /*yield*/, ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(false), this.ocSdkLogger)];
|
|
@@ -2913,10 +2899,10 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2913
2899
|
return [3 /*break*/, 7];
|
|
2914
2900
|
case 6:
|
|
2915
2901
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2916
|
-
if (((_c = (_b =
|
|
2902
|
+
if (((_c = (_b = error_24.response) === null || _b === void 0 ? void 0 : _b.headers) === null || _c === void 0 ? void 0 : _c.errorcode) && parseInt(error_24.response.headers.errorcode) === OmnichannelErrorCodes_1.default.WidgetNotFound) {
|
|
2917
2903
|
console.warn("No widget with the given app id is present in the system.");
|
|
2918
2904
|
}
|
|
2919
|
-
throw
|
|
2905
|
+
throw error_24; // Bubble up error by default to throw ChatConfigRetrievalFailure
|
|
2920
2906
|
case 7: return [3 /*break*/, 8];
|
|
2921
2907
|
case 8: return [2 /*return*/, this.liveChatConfig];
|
|
2922
2908
|
}
|
|
@@ -2951,7 +2937,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2951
2937
|
};
|
|
2952
2938
|
OmnichannelChatSDK.prototype.updateChatToken = function (newToken, newRegionGTMS) {
|
|
2953
2939
|
return __awaiter(this, void 0, void 0, function () {
|
|
2954
|
-
var sessionInfo,
|
|
2940
|
+
var sessionInfo, error_25, exceptionDetails;
|
|
2955
2941
|
return __generator(this, function (_a) {
|
|
2956
2942
|
switch (_a.label) {
|
|
2957
2943
|
case 0:
|
|
@@ -2979,7 +2965,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2979
2965
|
});
|
|
2980
2966
|
return [3 /*break*/, 5];
|
|
2981
2967
|
case 4:
|
|
2982
|
-
|
|
2968
|
+
error_25 = _a.sent();
|
|
2983
2969
|
exceptionDetails = {
|
|
2984
2970
|
response: "UpdateChatTokenFailed"
|
|
2985
2971
|
};
|
|
@@ -2996,7 +2982,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2996
2982
|
};
|
|
2997
2983
|
OmnichannelChatSDK.prototype.setAuthTokenProvider = function (provider_1) {
|
|
2998
2984
|
return __awaiter(this, arguments, void 0, function (provider, optionalParams) {
|
|
2999
|
-
var token, exceptionDetails,
|
|
2985
|
+
var token, exceptionDetails, error_26, exceptionDetails, exceptionDetails;
|
|
3000
2986
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
3001
2987
|
return __generator(this, function (_a) {
|
|
3002
2988
|
switch (_a.label) {
|
|
@@ -3028,12 +3014,12 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3028
3014
|
}
|
|
3029
3015
|
return [3 /*break*/, 4];
|
|
3030
3016
|
case 3:
|
|
3031
|
-
|
|
3017
|
+
error_26 = _a.sent();
|
|
3032
3018
|
exceptionDetails = {
|
|
3033
3019
|
response: ChatSDKError_1.ChatSDKErrorName.GetAuthTokenFailed
|
|
3034
3020
|
};
|
|
3035
|
-
if (
|
|
3036
|
-
exceptionDetails.response =
|
|
3021
|
+
if (error_26.message == ChatSDKError_1.ChatSDKErrorName.UndefinedAuthToken) {
|
|
3022
|
+
exceptionDetails.response = error_26.message;
|
|
3037
3023
|
}
|
|
3038
3024
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.GetAuthToken, {
|
|
3039
3025
|
ExceptionDetails: JSON.stringify(exceptionDetails)
|
|
@@ -3126,6 +3112,67 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3126
3112
|
});
|
|
3127
3113
|
});
|
|
3128
3114
|
};
|
|
3115
|
+
/**
|
|
3116
|
+
* Get persistent chat history for authenticated users.
|
|
3117
|
+
* @param getPersistentChatHistoryOptionalParams Optional parameters for persistent chat history retrieval.
|
|
3118
|
+
*/
|
|
3119
|
+
OmnichannelChatSDK.prototype.getPersistentChatHistory = function () {
|
|
3120
|
+
return __awaiter(this, arguments, void 0, function (getPersistentChatHistoryOptionalParams) {
|
|
3121
|
+
var params, result, error_27, telemetryData;
|
|
3122
|
+
var _a, _b, _c, _d, _e;
|
|
3123
|
+
if (getPersistentChatHistoryOptionalParams === void 0) { getPersistentChatHistoryOptionalParams = {}; }
|
|
3124
|
+
return __generator(this, function (_f) {
|
|
3125
|
+
switch (_f.label) {
|
|
3126
|
+
case 0:
|
|
3127
|
+
if (!this.requestId) {
|
|
3128
|
+
this.requestId = (0, ocsdk_1.uuidv4)();
|
|
3129
|
+
}
|
|
3130
|
+
this.scenarioMarker.startScenario(TelemetryEvent_1.default.GetPersistentChatHistory, {
|
|
3131
|
+
RequestId: this.requestId
|
|
3132
|
+
});
|
|
3133
|
+
if (!this.isInitialized) {
|
|
3134
|
+
exceptionThrowers_1.default.throwUninitializedChatSDK(this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory);
|
|
3135
|
+
}
|
|
3136
|
+
if (!this.isPersistentChat || ((_a = this.chatSDKConfig.persistentChat) === null || _a === void 0 ? void 0 : _a.disable) === true) {
|
|
3137
|
+
exceptionThrowers_1.default.throwNotPersistentChatEnabled(this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, {
|
|
3138
|
+
RequestId: this.requestId,
|
|
3139
|
+
ChatId: (_b = this.chatToken) === null || _b === void 0 ? void 0 : _b.chatId
|
|
3140
|
+
});
|
|
3141
|
+
}
|
|
3142
|
+
if (!this.authenticatedUserToken) {
|
|
3143
|
+
exceptionThrowers_1.default.throwChatSDKError(ChatSDKError_1.ChatSDKErrorName.AuthenticatedUserTokenNotFound, new Error('Authenticated user token not found'), this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, {
|
|
3144
|
+
RequestId: this.requestId,
|
|
3145
|
+
ChatId: (_c = this.chatToken) === null || _c === void 0 ? void 0 : _c.chatId
|
|
3146
|
+
});
|
|
3147
|
+
}
|
|
3148
|
+
_f.label = 1;
|
|
3149
|
+
case 1:
|
|
3150
|
+
_f.trys.push([1, 3, , 4]);
|
|
3151
|
+
params = {};
|
|
3152
|
+
params.pageSize = getPersistentChatHistoryOptionalParams.pageSize || undefined;
|
|
3153
|
+
params.pageToken = getPersistentChatHistoryOptionalParams.pageToken || undefined;
|
|
3154
|
+
return [4 /*yield*/, this.OCClient.getPersistentChatHistory(this.requestId, __assign(__assign({}, params), { authenticatedUserToken: this.authenticatedUserToken }))];
|
|
3155
|
+
case 2:
|
|
3156
|
+
result = _f.sent();
|
|
3157
|
+
this.scenarioMarker.completeScenario(TelemetryEvent_1.default.GetPersistentChatHistory, {
|
|
3158
|
+
RequestId: this.requestId,
|
|
3159
|
+
ChatId: (_d = this.chatToken) === null || _d === void 0 ? void 0 : _d.chatId
|
|
3160
|
+
});
|
|
3161
|
+
return [2 /*return*/, result];
|
|
3162
|
+
case 3:
|
|
3163
|
+
error_27 = _f.sent();
|
|
3164
|
+
telemetryData = {
|
|
3165
|
+
RequestId: this.requestId,
|
|
3166
|
+
ChatId: (_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId,
|
|
3167
|
+
ErrorMessage: (error_27 === null || error_27 === void 0 ? void 0 : error_27.message) || 'Unknown error' // Added error message for better debugging
|
|
3168
|
+
};
|
|
3169
|
+
exceptionThrowers_1.default.throwPersistentChatConversationRetrievalFailure(error_27, this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, telemetryData);
|
|
3170
|
+
return [3 /*break*/, 4];
|
|
3171
|
+
case 4: return [2 /*return*/];
|
|
3172
|
+
}
|
|
3173
|
+
});
|
|
3174
|
+
});
|
|
3175
|
+
};
|
|
3129
3176
|
return OmnichannelChatSDK;
|
|
3130
3177
|
}());
|
|
3131
3178
|
exports.default = OmnichannelChatSDK;
|