@microsoft/omnichannel-chat-sdk 1.11.9-main.b0a2bb8 → 1.11.9-main.e47a43c
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 +4 -0
- package/lib/OmnichannelChatSDK.js +187 -75
- package/lib/OmnichannelChatSDK.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/StartChatOptionalParams.d.ts +1 -0
- 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/package.json +4 -4
|
@@ -50,6 +50,7 @@ declare class OmnichannelChatSDK {
|
|
|
50
50
|
sessionId: string | null;
|
|
51
51
|
private chatOperationInProgress;
|
|
52
52
|
private pendingOperations;
|
|
53
|
+
private deferInitialAuth;
|
|
53
54
|
private unqServicesOrgUrl;
|
|
54
55
|
private coreServicesOrgUrl;
|
|
55
56
|
private dynamicsLocationCode;
|
|
@@ -181,6 +182,9 @@ declare class OmnichannelChatSDK {
|
|
|
181
182
|
getVoiceVideoCalling(voiceVideoCallingOptionalParams?: VoiceVideoCallingOptionalParams): Promise<GetVoiceVideoCallingResponse>;
|
|
182
183
|
getPostChatSurveyContext(): Promise<PostChatContext>;
|
|
183
184
|
getAgentAvailability(optionalParams?: GetAgentAvailabilityOptionalParams): Promise<GetAgentAvailabilityResponse>;
|
|
185
|
+
authenticateChat(tokenOrProvider: string | (() => Promise<string>), optionalParams?: {
|
|
186
|
+
refreshChatToken?: boolean;
|
|
187
|
+
}): Promise<void>;
|
|
184
188
|
startPolling(): Promise<void>;
|
|
185
189
|
stopPolling(): Promise<void>;
|
|
186
190
|
private populateInitChatOptionalParam;
|
|
@@ -119,6 +119,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
119
119
|
// Operation queue for serializing chat operations
|
|
120
120
|
this.chatOperationInProgress = false;
|
|
121
121
|
this.pendingOperations = [];
|
|
122
|
+
this.deferInitialAuth = false;
|
|
122
123
|
this.unqServicesOrgUrl = null;
|
|
123
124
|
this.coreServicesOrgUrl = null;
|
|
124
125
|
this.dynamicsLocationCode = null;
|
|
@@ -843,12 +844,12 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
843
844
|
};
|
|
844
845
|
OmnichannelChatSDK.prototype.internalStartChat = function () {
|
|
845
846
|
return __awaiter(this, arguments, void 0, function (optionalParams) {
|
|
846
|
-
var shouldReinitIC3Client, _a, reconnectableChatsParams, reconnectableChatsResponse, e_6, telemetryData, conversationDetails, telemetryData, telemetryData, e_7, telemetryData, sessionInitOptionalParams, location_2, sessionInitPromise, createConversationPromise, messagingClientPromise, attachmentClientPromise, error_5;
|
|
847
|
+
var shouldReinitIC3Client, _a, reconnectableChatsParams, reconnectableChatsResponse, e_6, telemetryData, conversationDetails, telemetryData, telemetryData, deferInitialAuth, isMidAuthEnabled, e_7, telemetryData, sessionInitOptionalParams, location_2, sessionInitPromise, createConversationPromise, messagingClientPromise, attachmentClientPromise, error_5;
|
|
847
848
|
var _this = this;
|
|
848
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
849
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
849
850
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
850
|
-
return __generator(this, function (
|
|
851
|
-
switch (
|
|
851
|
+
return __generator(this, function (_u) {
|
|
852
|
+
switch (_u.label) {
|
|
852
853
|
case 0:
|
|
853
854
|
this.isEndingChat = false;
|
|
854
855
|
this.scenarioMarker.startScenario(TelemetryEvent_1.default.StartChat, {
|
|
@@ -865,29 +866,29 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
865
866
|
_a = this;
|
|
866
867
|
return [4 /*yield*/, this.getIC3Client()];
|
|
867
868
|
case 1:
|
|
868
|
-
_a.IC3Client =
|
|
869
|
-
|
|
869
|
+
_a.IC3Client = _u.sent();
|
|
870
|
+
_u.label = 2;
|
|
870
871
|
case 2:
|
|
871
872
|
if (this.isChatReconnect && !((_b = this.chatSDKConfig.chatReconnect) === null || _b === void 0 ? void 0 : _b.disable) && !this.isPersistentChat && optionalParams.reconnectId) {
|
|
872
873
|
this.reconnectId = optionalParams.reconnectId;
|
|
873
874
|
}
|
|
874
875
|
if (!(this.isPersistentChat && !((_c = this.chatSDKConfig.persistentChat) === null || _c === void 0 ? void 0 : _c.disable))) return [3 /*break*/, 6];
|
|
875
|
-
|
|
876
|
+
_u.label = 3;
|
|
876
877
|
case 3:
|
|
877
|
-
|
|
878
|
+
_u.trys.push([3, 5, , 6]);
|
|
878
879
|
reconnectableChatsParams = {
|
|
879
880
|
authenticatedUserToken: this.authenticatedUserToken,
|
|
880
881
|
requestId: this.requestId
|
|
881
882
|
};
|
|
882
883
|
return [4 /*yield*/, this.OCClient.getReconnectableChats(reconnectableChatsParams)];
|
|
883
884
|
case 4:
|
|
884
|
-
reconnectableChatsResponse =
|
|
885
|
+
reconnectableChatsResponse = _u.sent();
|
|
885
886
|
if (reconnectableChatsResponse && reconnectableChatsResponse.reconnectid) {
|
|
886
887
|
this.reconnectId = reconnectableChatsResponse.reconnectid;
|
|
887
888
|
}
|
|
888
889
|
return [3 /*break*/, 6];
|
|
889
890
|
case 5:
|
|
890
|
-
e_6 =
|
|
891
|
+
e_6 = _u.sent();
|
|
891
892
|
telemetryData = {
|
|
892
893
|
RequestId: this.requestId,
|
|
893
894
|
ChatId: this.chatToken.chatId,
|
|
@@ -901,7 +902,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
901
902
|
this.sessionId = optionalParams.liveChatContext.sessionId || null;
|
|
902
903
|
return [4 /*yield*/, this.getConversationDetails()];
|
|
903
904
|
case 7:
|
|
904
|
-
conversationDetails =
|
|
905
|
+
conversationDetails = _u.sent();
|
|
905
906
|
if (Object.keys(conversationDetails).length === 0) {
|
|
906
907
|
telemetryData = {
|
|
907
908
|
RequestId: this.requestId,
|
|
@@ -917,44 +918,69 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
917
918
|
};
|
|
918
919
|
exceptionThrowers_1.default.throwClosedConversation(this.scenarioMarker, TelemetryEvent_1.default.StartChat, telemetryData);
|
|
919
920
|
}
|
|
920
|
-
|
|
921
|
+
_u.label = 8;
|
|
921
922
|
case 8:
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
923
|
+
deferInitialAuth = this.deferInitialAuth;
|
|
924
|
+
this.deferInitialAuth = false;
|
|
925
|
+
isMidAuthEnabled = ((_g = (_f = (_e = (_d = this.liveChatConfig) === null || _d === void 0 ? void 0 : _d.LiveWSAndLiveChatEngJoin) === null || _e === void 0 ? void 0 : _e.msdyn_authenticatedsigninoptional) === null || _f === void 0 ? void 0 : _f.toString()) === null || _g === void 0 ? void 0 : _g.toLowerCase()) === "true";
|
|
926
|
+
this.scenarioMarker.singleRecord(TelemetryEvent_1.default.StartChat, {
|
|
927
|
+
RequestId: this.requestId || "",
|
|
928
|
+
ChatId: ((_h = this.chatToken) === null || _h === void 0 ? void 0 : _h.chatId) || "",
|
|
929
|
+
CustomProperties: JSON.stringify({
|
|
930
|
+
authSettings: !!this.authSettings,
|
|
931
|
+
isMidAuthEnabled: String(isMidAuthEnabled),
|
|
932
|
+
deferInitialAuth: String(deferInitialAuth),
|
|
933
|
+
hasAuthToken: String(!!this.authenticatedUserToken)
|
|
934
|
+
})
|
|
935
|
+
});
|
|
936
|
+
if (!this.authSettings) return [3 /*break*/, 15];
|
|
937
|
+
if (!(isMidAuthEnabled && (deferInitialAuth || !this.authenticatedUserToken))) return [3 /*break*/, 9];
|
|
938
|
+
this.scenarioMarker.singleRecord(TelemetryEvent_1.default.StartChat, {
|
|
939
|
+
RequestId: this.requestId || "",
|
|
940
|
+
ChatId: ((_j = this.chatToken) === null || _j === void 0 ? void 0 : _j.chatId) || "",
|
|
941
|
+
CustomProperties: JSON.stringify({
|
|
942
|
+
action: "DeferredInitialAuth",
|
|
943
|
+
deferInitialAuth: String(deferInitialAuth),
|
|
944
|
+
hasAuthToken: String(!!this.authenticatedUserToken)
|
|
945
|
+
})
|
|
946
|
+
});
|
|
947
|
+
return [3 /*break*/, 15];
|
|
925
948
|
case 9:
|
|
926
|
-
|
|
927
|
-
|
|
949
|
+
if (!!this.authenticatedUserToken) return [3 /*break*/, 11];
|
|
950
|
+
return [4 /*yield*/, this.setAuthTokenProvider(this.chatSDKConfig.getAuthToken, { throwError: true })];
|
|
928
951
|
case 10:
|
|
929
|
-
|
|
952
|
+
_u.sent();
|
|
953
|
+
_u.label = 11;
|
|
954
|
+
case 11:
|
|
955
|
+
if (!(optionalParams.liveChatContext && Object.keys(optionalParams.liveChatContext).length > 0)) return [3 /*break*/, 15];
|
|
930
956
|
this.chatToken = optionalParams.liveChatContext.chatToken || {};
|
|
931
957
|
this.requestId = optionalParams.liveChatContext.requestId || (0, ocsdk_1.uuidv4)();
|
|
932
|
-
|
|
933
|
-
case
|
|
934
|
-
|
|
958
|
+
_u.label = 12;
|
|
959
|
+
case 12:
|
|
960
|
+
_u.trys.push([12, 14, , 15]);
|
|
935
961
|
return [4 /*yield*/, this.OCClient.validateAuthChatRecord(this.requestId, {
|
|
936
962
|
authenticatedUserToken: this.authenticatedUserToken,
|
|
937
963
|
chatId: this.chatToken.chatId
|
|
938
964
|
})];
|
|
939
|
-
case 12:
|
|
940
|
-
_o.sent();
|
|
941
|
-
return [3 /*break*/, 14];
|
|
942
965
|
case 13:
|
|
943
|
-
|
|
966
|
+
_u.sent();
|
|
967
|
+
return [3 /*break*/, 15];
|
|
968
|
+
case 14:
|
|
969
|
+
e_7 = _u.sent();
|
|
944
970
|
telemetryData = {
|
|
945
971
|
RequestId: this.requestId,
|
|
946
972
|
ChatId: this.chatToken.chatId,
|
|
947
973
|
};
|
|
948
974
|
exceptionThrowers_1.default.throwAuthenticatedChatConversationRetrievalFailure(e_7, this.scenarioMarker, TelemetryEvent_1.default.StartChat, telemetryData);
|
|
949
|
-
return [3 /*break*/,
|
|
950
|
-
case 14:
|
|
951
|
-
if (!(((_d = this.chatSDKConfig.useCreateConversation) === null || _d === void 0 ? void 0 : _d.disable) && this.chatToken && Object.keys(this.chatToken).length === 0)) return [3 /*break*/, 16];
|
|
952
|
-
return [4 /*yield*/, this.getChatToken(false)];
|
|
975
|
+
return [3 /*break*/, 15];
|
|
953
976
|
case 15:
|
|
954
|
-
|
|
955
|
-
|
|
977
|
+
if (!(((_k = this.chatSDKConfig.useCreateConversation) === null || _k === void 0 ? void 0 : _k.disable) && this.chatToken && Object.keys(this.chatToken).length === 0)) return [3 /*break*/, 17];
|
|
978
|
+
return [4 /*yield*/, this.getChatToken(false)];
|
|
956
979
|
case 16:
|
|
957
|
-
|
|
980
|
+
_u.sent();
|
|
981
|
+
_u.label = 17;
|
|
982
|
+
case 17:
|
|
983
|
+
if ((_l = this.chatToken) === null || _l === void 0 ? void 0 : _l.chatId) {
|
|
958
984
|
loggerUtils_1.default.setChatId(this.chatToken.chatId || '', this.ocSdkLogger, this.acsClientLogger, this.acsAdapterLogger, this.callingSdkLogger, this.amsClientLogger, this.ic3ClientLogger);
|
|
959
985
|
}
|
|
960
986
|
sessionInitOptionalParams = {
|
|
@@ -968,20 +994,20 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
968
994
|
if (optionalParams.handle) {
|
|
969
995
|
sessionInitOptionalParams.initContext.handle = optionalParams.handle;
|
|
970
996
|
}
|
|
971
|
-
if (this.isPersistentChat && !((
|
|
997
|
+
if (this.isPersistentChat && !((_m = this.chatSDKConfig.persistentChat) === null || _m === void 0 ? void 0 : _m.disable)) {
|
|
972
998
|
sessionInitOptionalParams.reconnectId = this.reconnectId;
|
|
973
999
|
}
|
|
974
|
-
else if (this.isChatReconnect && !((
|
|
1000
|
+
else if (this.isChatReconnect && !((_o = this.chatSDKConfig.chatReconnect) === null || _o === void 0 ? void 0 : _o.disable) && !this.isPersistentChat) {
|
|
975
1001
|
sessionInitOptionalParams.reconnectId = this.reconnectId;
|
|
976
1002
|
}
|
|
977
|
-
if (!((0, parsers_1.parseLowerCaseString)((
|
|
1003
|
+
if (!((0, parsers_1.parseLowerCaseString)((_q = (_p = this.liveChatConfig) === null || _p === void 0 ? void 0 : _p.LiveWSAndLiveChatEngJoin) === null || _q === void 0 ? void 0 : _q.msdyn_requestvisitorlocation) === "true")) return [3 /*break*/, 19];
|
|
978
1004
|
return [4 /*yield*/, (0, location_1.getLocationInfo)(this.scenarioMarker, this.chatToken.chatId, this.requestId)];
|
|
979
|
-
case
|
|
980
|
-
location_2 =
|
|
1005
|
+
case 18:
|
|
1006
|
+
location_2 = _u.sent();
|
|
981
1007
|
sessionInitOptionalParams.initContext.latitude = location_2.latitude;
|
|
982
1008
|
sessionInitOptionalParams.initContext.longitude = location_2.longitude;
|
|
983
|
-
|
|
984
|
-
case
|
|
1009
|
+
_u.label = 19;
|
|
1010
|
+
case 19:
|
|
985
1011
|
sessionInitPromise = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
986
1012
|
var error_6, telemetryData;
|
|
987
1013
|
var _a, _b, _c;
|
|
@@ -1175,33 +1201,33 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1175
1201
|
}
|
|
1176
1202
|
});
|
|
1177
1203
|
}); };
|
|
1178
|
-
if (!!((
|
|
1204
|
+
if (!!((_r = this.chatSDKConfig.useCreateConversation) === null || _r === void 0 ? void 0 : _r.disable)) return [3 /*break*/, 21];
|
|
1179
1205
|
return [4 /*yield*/, createConversationPromise()];
|
|
1180
|
-
case
|
|
1181
|
-
|
|
1182
|
-
return [3 /*break*/,
|
|
1183
|
-
case
|
|
1184
|
-
case 21:
|
|
1185
|
-
_o.sent(); // Await the session initialization
|
|
1186
|
-
_o.label = 22;
|
|
1206
|
+
case 20:
|
|
1207
|
+
_u.sent();
|
|
1208
|
+
return [3 /*break*/, 23];
|
|
1209
|
+
case 21: return [4 /*yield*/, sessionInitPromise()];
|
|
1187
1210
|
case 22:
|
|
1188
|
-
|
|
1189
|
-
|
|
1211
|
+
_u.sent(); // Await the session initialization
|
|
1212
|
+
_u.label = 23;
|
|
1190
1213
|
case 23:
|
|
1191
|
-
|
|
1192
|
-
return [
|
|
1214
|
+
_u.trys.push([23, 25, , 27]);
|
|
1215
|
+
return [4 /*yield*/, Promise.all([messagingClientPromise(), attachmentClientPromise()])];
|
|
1193
1216
|
case 24:
|
|
1194
|
-
|
|
1217
|
+
_u.sent();
|
|
1218
|
+
return [3 /*break*/, 27];
|
|
1219
|
+
case 25:
|
|
1220
|
+
error_5 = _u.sent();
|
|
1195
1221
|
// If conversation joining fails after conversation was created, clean up the conversation
|
|
1196
1222
|
// Only cleanup conversations that were freshly created (not existing ones being reconnected to)
|
|
1197
1223
|
return [4 /*yield*/, this.handleConversationJoinFailure(error_5, optionalParams)];
|
|
1198
|
-
case
|
|
1224
|
+
case 26:
|
|
1199
1225
|
// If conversation joining fails after conversation was created, clean up the conversation
|
|
1200
1226
|
// Only cleanup conversations that were freshly created (not existing ones being reconnected to)
|
|
1201
|
-
|
|
1227
|
+
_u.sent();
|
|
1202
1228
|
throw error_5; // Re-throw the original error
|
|
1203
|
-
case
|
|
1204
|
-
if (this.isPersistentChat && !((
|
|
1229
|
+
case 27:
|
|
1230
|
+
if (this.isPersistentChat && !((_s = this.chatSDKConfig.persistentChat) === null || _s === void 0 ? void 0 : _s.disable)) {
|
|
1205
1231
|
this.refreshTokenTimer = setInterval(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1206
1232
|
var error_13;
|
|
1207
1233
|
return __generator(this, function (_a) {
|
|
@@ -1223,7 +1249,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
1223
1249
|
case 3: return [2 /*return*/];
|
|
1224
1250
|
}
|
|
1225
1251
|
});
|
|
1226
|
-
}); }, (
|
|
1252
|
+
}); }, (_t = this.chatSDKConfig.persistentChat) === null || _t === void 0 ? void 0 : _t.tokenUpdateTime);
|
|
1227
1253
|
}
|
|
1228
1254
|
return [2 /*return*/];
|
|
1229
1255
|
}
|
|
@@ -2490,12 +2516,13 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2490
2516
|
if (this.authenticatedUserToken) {
|
|
2491
2517
|
getChatTranscriptOptionalParams.authenticatedUserToken = this.authenticatedUserToken;
|
|
2492
2518
|
}
|
|
2519
|
+
// Ensure OCClient has sessionId before the call (reconnect may have set it via sessionInit/getChatToken)
|
|
2520
|
+
if (sessionId) {
|
|
2521
|
+
this.OCClient.sessionId = sessionId;
|
|
2522
|
+
}
|
|
2493
2523
|
return [4 /*yield*/, this.OCClient.getChatTranscripts(requestId, chatToken.chatId, chatToken.token, getChatTranscriptOptionalParams)];
|
|
2494
2524
|
case 2:
|
|
2495
2525
|
transcriptResponse = _c.sent();
|
|
2496
|
-
if (this.sessionId) {
|
|
2497
|
-
this.OCClient.sessionId = this.sessionId;
|
|
2498
|
-
}
|
|
2499
2526
|
this.scenarioMarker.completeScenario(TelemetryEvent_1.default.GetLiveChatTranscript, {
|
|
2500
2527
|
RequestId: requestId,
|
|
2501
2528
|
ChatId: chatId
|
|
@@ -2825,6 +2852,91 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
2825
2852
|
});
|
|
2826
2853
|
});
|
|
2827
2854
|
};
|
|
2855
|
+
OmnichannelChatSDK.prototype.authenticateChat = function (tokenOrProvider_1) {
|
|
2856
|
+
return __awaiter(this, arguments, void 0, function (tokenOrProvider, optionalParams) {
|
|
2857
|
+
var telemetryData, token, _a, e_9, exceptionDetails, exceptionDetails, error_26, exceptionDetails;
|
|
2858
|
+
var _b, _c, _d, _e, _f;
|
|
2859
|
+
if (optionalParams === void 0) { optionalParams = {}; }
|
|
2860
|
+
return __generator(this, function (_g) {
|
|
2861
|
+
switch (_g.label) {
|
|
2862
|
+
case 0:
|
|
2863
|
+
if (!this.isInitialized) {
|
|
2864
|
+
exceptionThrowers_1.default.throwUninitializedChatSDK(this.scenarioMarker, TelemetryEvent_1.default.MidConversationAuth);
|
|
2865
|
+
}
|
|
2866
|
+
if (!this.conversation || !((_b = this.chatToken) === null || _b === void 0 ? void 0 : _b.chatId)) {
|
|
2867
|
+
exceptionThrowers_1.default.throwChatSDKError(ChatSDKError_1.ChatSDKErrorName.InvalidConversation, new Error("No active conversation to authenticate"), this.scenarioMarker, TelemetryEvent_1.default.MidConversationAuth, { RequestId: this.requestId, ChatId: (_d = (_c = this.chatToken) === null || _c === void 0 ? void 0 : _c.chatId) !== null && _d !== void 0 ? _d : "" });
|
|
2868
|
+
}
|
|
2869
|
+
telemetryData = {
|
|
2870
|
+
RequestId: this.requestId,
|
|
2871
|
+
ChatId: (_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId
|
|
2872
|
+
};
|
|
2873
|
+
this.scenarioMarker.startScenario(TelemetryEvent_1.default.MidConversationAuth, telemetryData);
|
|
2874
|
+
_g.label = 1;
|
|
2875
|
+
case 1:
|
|
2876
|
+
_g.trys.push([1, 5, , 6]);
|
|
2877
|
+
if (!(typeof tokenOrProvider === "function")) return [3 /*break*/, 3];
|
|
2878
|
+
return [4 /*yield*/, tokenOrProvider()];
|
|
2879
|
+
case 2:
|
|
2880
|
+
_a = _g.sent();
|
|
2881
|
+
return [3 /*break*/, 4];
|
|
2882
|
+
case 3:
|
|
2883
|
+
_a = tokenOrProvider;
|
|
2884
|
+
_g.label = 4;
|
|
2885
|
+
case 4:
|
|
2886
|
+
token = _a;
|
|
2887
|
+
return [3 /*break*/, 6];
|
|
2888
|
+
case 5:
|
|
2889
|
+
e_9 = _g.sent();
|
|
2890
|
+
exceptionDetails = {
|
|
2891
|
+
response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
|
|
2892
|
+
errorObject: "".concat(e_9)
|
|
2893
|
+
};
|
|
2894
|
+
this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
|
|
2895
|
+
throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
|
|
2896
|
+
case 6:
|
|
2897
|
+
if (!token || token.trim().length === 0) {
|
|
2898
|
+
exceptionDetails = {
|
|
2899
|
+
response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
|
|
2900
|
+
message: "Authentication token is empty or invalid"
|
|
2901
|
+
};
|
|
2902
|
+
this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
|
|
2903
|
+
throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
|
|
2904
|
+
}
|
|
2905
|
+
_g.label = 7;
|
|
2906
|
+
case 7:
|
|
2907
|
+
_g.trys.push([7, 11, , 12]);
|
|
2908
|
+
if (!((_f = this.OCClient) === null || _f === void 0 ? void 0 : _f.midConversationAuthenticateChat)) {
|
|
2909
|
+
throw new Error("OCClient.midConversationAuthenticateChat is not available");
|
|
2910
|
+
}
|
|
2911
|
+
return [4 /*yield*/, this.OCClient.midConversationAuthenticateChat(this.requestId, {
|
|
2912
|
+
chatId: this.chatToken.chatId,
|
|
2913
|
+
authenticatedUserToken: token
|
|
2914
|
+
})];
|
|
2915
|
+
case 8:
|
|
2916
|
+
_g.sent();
|
|
2917
|
+
// Persist token
|
|
2918
|
+
this.authenticatedUserToken = token;
|
|
2919
|
+
if (!optionalParams.refreshChatToken) return [3 /*break*/, 10];
|
|
2920
|
+
return [4 /*yield*/, this.getChatToken(false)];
|
|
2921
|
+
case 9:
|
|
2922
|
+
_g.sent();
|
|
2923
|
+
_g.label = 10;
|
|
2924
|
+
case 10:
|
|
2925
|
+
this.scenarioMarker.completeScenario(TelemetryEvent_1.default.MidConversationAuth, telemetryData);
|
|
2926
|
+
return [3 /*break*/, 12];
|
|
2927
|
+
case 11:
|
|
2928
|
+
error_26 = _g.sent();
|
|
2929
|
+
exceptionDetails = {
|
|
2930
|
+
response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
|
|
2931
|
+
errorObject: "".concat(error_26)
|
|
2932
|
+
};
|
|
2933
|
+
this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
|
|
2934
|
+
throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
|
|
2935
|
+
case 12: return [2 /*return*/];
|
|
2936
|
+
}
|
|
2937
|
+
});
|
|
2938
|
+
});
|
|
2939
|
+
};
|
|
2828
2940
|
OmnichannelChatSDK.prototype.startPolling = function () {
|
|
2829
2941
|
return __awaiter(this, void 0, void 0, function () {
|
|
2830
2942
|
return __generator(this, function (_a) {
|
|
@@ -3057,7 +3169,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3057
3169
|
};
|
|
3058
3170
|
OmnichannelChatSDK.prototype.getChatConfig = function () {
|
|
3059
3171
|
return __awaiter(this, arguments, void 0, function (optionalParams) {
|
|
3060
|
-
var sendCacheHeaders, bypassCache, liveChatConfig,
|
|
3172
|
+
var sendCacheHeaders, bypassCache, liveChatConfig, error_27, _a;
|
|
3061
3173
|
var _b, _c;
|
|
3062
3174
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
3063
3175
|
return __generator(this, function (_d) {
|
|
@@ -3078,8 +3190,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3078
3190
|
this.debug && console.log("[OmnichannelChatSDK][getChatConfig][liveChatVersion] ".concat(this.liveChatVersion));
|
|
3079
3191
|
return [2 /*return*/, this.liveChatConfig];
|
|
3080
3192
|
case 3:
|
|
3081
|
-
|
|
3082
|
-
if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(
|
|
3193
|
+
error_27 = _d.sent();
|
|
3194
|
+
if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(error_27, this.coreServicesOrgUrl, this.dynamicsLocationCode)) return [3 /*break*/, 6];
|
|
3083
3195
|
this.omnichannelConfig.orgUrl = this.unqServicesOrgUrl;
|
|
3084
3196
|
_a = this;
|
|
3085
3197
|
return [4 /*yield*/, ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(false), this.ocSdkLogger)];
|
|
@@ -3091,10 +3203,10 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3091
3203
|
return [3 /*break*/, 7];
|
|
3092
3204
|
case 6:
|
|
3093
3205
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3094
|
-
if (((_c = (_b =
|
|
3206
|
+
if (((_c = (_b = error_27.response) === null || _b === void 0 ? void 0 : _b.headers) === null || _c === void 0 ? void 0 : _c.errorcode) && parseInt(error_27.response.headers.errorcode) === OmnichannelErrorCodes_1.default.WidgetNotFound) {
|
|
3095
3207
|
console.warn("No widget with the given app id is present in the system.");
|
|
3096
3208
|
}
|
|
3097
|
-
throw
|
|
3209
|
+
throw error_27; // Bubble up error by default to throw ChatConfigRetrievalFailure
|
|
3098
3210
|
case 7: return [3 /*break*/, 8];
|
|
3099
3211
|
case 8: return [2 /*return*/, this.liveChatConfig];
|
|
3100
3212
|
}
|
|
@@ -3129,7 +3241,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3129
3241
|
};
|
|
3130
3242
|
OmnichannelChatSDK.prototype.updateChatToken = function (newToken, newRegionGTMS) {
|
|
3131
3243
|
return __awaiter(this, void 0, void 0, function () {
|
|
3132
|
-
var sessionInfo,
|
|
3244
|
+
var sessionInfo, error_28, exceptionDetails;
|
|
3133
3245
|
return __generator(this, function (_a) {
|
|
3134
3246
|
switch (_a.label) {
|
|
3135
3247
|
case 0:
|
|
@@ -3157,7 +3269,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3157
3269
|
});
|
|
3158
3270
|
return [3 /*break*/, 5];
|
|
3159
3271
|
case 4:
|
|
3160
|
-
|
|
3272
|
+
error_28 = _a.sent();
|
|
3161
3273
|
exceptionDetails = {
|
|
3162
3274
|
response: "UpdateChatTokenFailed"
|
|
3163
3275
|
};
|
|
@@ -3174,7 +3286,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3174
3286
|
};
|
|
3175
3287
|
OmnichannelChatSDK.prototype.setAuthTokenProvider = function (provider_1) {
|
|
3176
3288
|
return __awaiter(this, arguments, void 0, function (provider, optionalParams) {
|
|
3177
|
-
var token, exceptionDetails,
|
|
3289
|
+
var token, exceptionDetails, error_29, exceptionDetails, exceptionDetails;
|
|
3178
3290
|
if (optionalParams === void 0) { optionalParams = {}; }
|
|
3179
3291
|
return __generator(this, function (_a) {
|
|
3180
3292
|
switch (_a.label) {
|
|
@@ -3206,12 +3318,12 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3206
3318
|
}
|
|
3207
3319
|
return [3 /*break*/, 4];
|
|
3208
3320
|
case 3:
|
|
3209
|
-
|
|
3321
|
+
error_29 = _a.sent();
|
|
3210
3322
|
exceptionDetails = {
|
|
3211
3323
|
response: ChatSDKError_1.ChatSDKErrorName.GetAuthTokenFailed
|
|
3212
3324
|
};
|
|
3213
|
-
if (
|
|
3214
|
-
exceptionDetails.response =
|
|
3325
|
+
if (error_29.message == ChatSDKError_1.ChatSDKErrorName.UndefinedAuthToken) {
|
|
3326
|
+
exceptionDetails.response = error_29.message;
|
|
3215
3327
|
}
|
|
3216
3328
|
this.scenarioMarker.failScenario(TelemetryEvent_1.default.GetAuthToken, {
|
|
3217
3329
|
ExceptionDetails: JSON.stringify(exceptionDetails)
|
|
@@ -3310,7 +3422,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3310
3422
|
*/
|
|
3311
3423
|
OmnichannelChatSDK.prototype.getPersistentChatHistory = function () {
|
|
3312
3424
|
return __awaiter(this, arguments, void 0, function (getPersistentChatHistoryOptionalParams) {
|
|
3313
|
-
var params, result,
|
|
3425
|
+
var params, result, error_30, telemetryData;
|
|
3314
3426
|
var _a, _b, _c, _d, _e;
|
|
3315
3427
|
if (getPersistentChatHistoryOptionalParams === void 0) { getPersistentChatHistoryOptionalParams = {}; }
|
|
3316
3428
|
return __generator(this, function (_f) {
|
|
@@ -3352,13 +3464,13 @@ var OmnichannelChatSDK = /** @class */ (function () {
|
|
|
3352
3464
|
});
|
|
3353
3465
|
return [2 /*return*/, result];
|
|
3354
3466
|
case 3:
|
|
3355
|
-
|
|
3467
|
+
error_30 = _f.sent();
|
|
3356
3468
|
telemetryData = {
|
|
3357
3469
|
RequestId: this.requestId,
|
|
3358
3470
|
ChatId: (_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId,
|
|
3359
|
-
ErrorMessage: (
|
|
3471
|
+
ErrorMessage: (error_30 === null || error_30 === void 0 ? void 0 : error_30.message) || 'Unknown error' // Added error message for better debugging
|
|
3360
3472
|
};
|
|
3361
|
-
exceptionThrowers_1.default.throwPersistentChatConversationRetrievalFailure(
|
|
3473
|
+
exceptionThrowers_1.default.throwPersistentChatConversationRetrievalFailure(error_30, this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, telemetryData);
|
|
3362
3474
|
return [3 /*break*/, 4];
|
|
3363
3475
|
case 4: return [2 /*return*/];
|
|
3364
3476
|
}
|