@microsoft/omnichannel-chat-sdk 1.11.9-main.b0a2bb8 → 1.11.9-main.da8219b

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.
@@ -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 (_o) {
851
- switch (_o.label) {
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 = _o.sent();
869
- _o.label = 2;
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
- _o.label = 3;
876
+ _u.label = 3;
876
877
  case 3:
877
- _o.trys.push([3, 5, , 6]);
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 = _o.sent();
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 = _o.sent();
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 = _o.sent();
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
- _o.label = 8;
921
+ _u.label = 8;
921
922
  case 8:
922
- if (!this.authSettings) return [3 /*break*/, 14];
923
- if (!!this.authenticatedUserToken) return [3 /*break*/, 10];
924
- return [4 /*yield*/, this.setAuthTokenProvider(this.chatSDKConfig.getAuthToken, { throwError: true })];
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
- _o.sent();
927
- _o.label = 10;
949
+ if (!!this.authenticatedUserToken) return [3 /*break*/, 11];
950
+ return [4 /*yield*/, this.setAuthTokenProvider(this.chatSDKConfig.getAuthToken, { throwError: true })];
928
951
  case 10:
929
- if (!(optionalParams.liveChatContext && Object.keys(optionalParams.liveChatContext).length > 0)) return [3 /*break*/, 14];
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
- _o.label = 11;
933
- case 11:
934
- _o.trys.push([11, 13, , 14]);
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
- e_7 = _o.sent();
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*/, 14];
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
- _o.sent();
955
- _o.label = 16;
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
- if ((_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId) {
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 && !((_f = this.chatSDKConfig.persistentChat) === null || _f === void 0 ? void 0 : _f.disable)) {
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 && !((_g = this.chatSDKConfig.chatReconnect) === null || _g === void 0 ? void 0 : _g.disable) && !this.isPersistentChat) {
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)((_j = (_h = this.liveChatConfig) === null || _h === void 0 ? void 0 : _h.LiveWSAndLiveChatEngJoin) === null || _j === void 0 ? void 0 : _j.msdyn_requestvisitorlocation) === "true")) return [3 /*break*/, 18];
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 17:
980
- location_2 = _o.sent();
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
- _o.label = 18;
984
- case 18:
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 (!!((_k = this.chatSDKConfig.useCreateConversation) === null || _k === void 0 ? void 0 : _k.disable)) return [3 /*break*/, 20];
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 19:
1181
- _o.sent();
1182
- return [3 /*break*/, 22];
1183
- case 20: return [4 /*yield*/, sessionInitPromise()];
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
- _o.trys.push([22, 24, , 26]);
1189
- return [4 /*yield*/, Promise.all([messagingClientPromise(), attachmentClientPromise()])];
1211
+ _u.sent(); // Await the session initialization
1212
+ _u.label = 23;
1190
1213
  case 23:
1191
- _o.sent();
1192
- return [3 /*break*/, 26];
1214
+ _u.trys.push([23, 25, , 27]);
1215
+ return [4 /*yield*/, Promise.all([messagingClientPromise(), attachmentClientPromise()])];
1193
1216
  case 24:
1194
- error_5 = _o.sent();
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 25:
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
- _o.sent();
1227
+ _u.sent();
1202
1228
  throw error_5; // Re-throw the original error
1203
- case 26:
1204
- if (this.isPersistentChat && !((_l = this.chatSDKConfig.persistentChat) === null || _l === void 0 ? void 0 : _l.disable)) {
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
- }); }, (_m = this.chatSDKConfig.persistentChat) === null || _m === void 0 ? void 0 : _m.tokenUpdateTime);
1252
+ }); }, (_t = this.chatSDKConfig.persistentChat) === null || _t === void 0 ? void 0 : _t.tokenUpdateTime);
1227
1253
  }
1228
1254
  return [2 /*return*/];
1229
1255
  }
@@ -2825,6 +2851,91 @@ var OmnichannelChatSDK = /** @class */ (function () {
2825
2851
  });
2826
2852
  });
2827
2853
  };
2854
+ OmnichannelChatSDK.prototype.authenticateChat = function (tokenOrProvider_1) {
2855
+ return __awaiter(this, arguments, void 0, function (tokenOrProvider, optionalParams) {
2856
+ var telemetryData, token, _a, e_9, exceptionDetails, exceptionDetails, error_26, exceptionDetails;
2857
+ var _b, _c, _d, _e, _f;
2858
+ if (optionalParams === void 0) { optionalParams = {}; }
2859
+ return __generator(this, function (_g) {
2860
+ switch (_g.label) {
2861
+ case 0:
2862
+ if (!this.isInitialized) {
2863
+ exceptionThrowers_1.default.throwUninitializedChatSDK(this.scenarioMarker, TelemetryEvent_1.default.MidConversationAuth);
2864
+ }
2865
+ if (!this.conversation || !((_b = this.chatToken) === null || _b === void 0 ? void 0 : _b.chatId)) {
2866
+ 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 : "" });
2867
+ }
2868
+ telemetryData = {
2869
+ RequestId: this.requestId,
2870
+ ChatId: (_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId
2871
+ };
2872
+ this.scenarioMarker.startScenario(TelemetryEvent_1.default.MidConversationAuth, telemetryData);
2873
+ _g.label = 1;
2874
+ case 1:
2875
+ _g.trys.push([1, 5, , 6]);
2876
+ if (!(typeof tokenOrProvider === "function")) return [3 /*break*/, 3];
2877
+ return [4 /*yield*/, tokenOrProvider()];
2878
+ case 2:
2879
+ _a = _g.sent();
2880
+ return [3 /*break*/, 4];
2881
+ case 3:
2882
+ _a = tokenOrProvider;
2883
+ _g.label = 4;
2884
+ case 4:
2885
+ token = _a;
2886
+ return [3 /*break*/, 6];
2887
+ case 5:
2888
+ e_9 = _g.sent();
2889
+ exceptionDetails = {
2890
+ response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
2891
+ errorObject: "".concat(e_9)
2892
+ };
2893
+ this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
2894
+ throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
2895
+ case 6:
2896
+ if (!token || token.trim().length === 0) {
2897
+ exceptionDetails = {
2898
+ response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
2899
+ message: "Authentication token is empty or invalid"
2900
+ };
2901
+ this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
2902
+ throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
2903
+ }
2904
+ _g.label = 7;
2905
+ case 7:
2906
+ _g.trys.push([7, 11, , 12]);
2907
+ if (!((_f = this.OCClient) === null || _f === void 0 ? void 0 : _f.midConversationAuthenticateChat)) {
2908
+ throw new Error("OCClient.midConversationAuthenticateChat is not available");
2909
+ }
2910
+ return [4 /*yield*/, this.OCClient.midConversationAuthenticateChat(this.requestId, {
2911
+ chatId: this.chatToken.chatId,
2912
+ authenticatedUserToken: token
2913
+ })];
2914
+ case 8:
2915
+ _g.sent();
2916
+ // Persist token
2917
+ this.authenticatedUserToken = token;
2918
+ if (!optionalParams.refreshChatToken) return [3 /*break*/, 10];
2919
+ return [4 /*yield*/, this.getChatToken(false)];
2920
+ case 9:
2921
+ _g.sent();
2922
+ _g.label = 10;
2923
+ case 10:
2924
+ this.scenarioMarker.completeScenario(TelemetryEvent_1.default.MidConversationAuth, telemetryData);
2925
+ return [3 /*break*/, 12];
2926
+ case 11:
2927
+ error_26 = _g.sent();
2928
+ exceptionDetails = {
2929
+ response: ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure,
2930
+ errorObject: "".concat(error_26)
2931
+ };
2932
+ this.scenarioMarker.failScenario(TelemetryEvent_1.default.MidConversationAuth, __assign(__assign({}, telemetryData), { ExceptionDetails: JSON.stringify(exceptionDetails) }));
2933
+ throw new ChatSDKError_1.ChatSDKError(ChatSDKError_1.ChatSDKErrorName.MidConversationAuthFailure, undefined, exceptionDetails);
2934
+ case 12: return [2 /*return*/];
2935
+ }
2936
+ });
2937
+ });
2938
+ };
2828
2939
  OmnichannelChatSDK.prototype.startPolling = function () {
2829
2940
  return __awaiter(this, void 0, void 0, function () {
2830
2941
  return __generator(this, function (_a) {
@@ -3057,7 +3168,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
3057
3168
  };
3058
3169
  OmnichannelChatSDK.prototype.getChatConfig = function () {
3059
3170
  return __awaiter(this, arguments, void 0, function (optionalParams) {
3060
- var sendCacheHeaders, bypassCache, liveChatConfig, error_26, _a;
3171
+ var sendCacheHeaders, bypassCache, liveChatConfig, error_27, _a;
3061
3172
  var _b, _c;
3062
3173
  if (optionalParams === void 0) { optionalParams = {}; }
3063
3174
  return __generator(this, function (_d) {
@@ -3078,8 +3189,8 @@ var OmnichannelChatSDK = /** @class */ (function () {
3078
3189
  this.debug && console.log("[OmnichannelChatSDK][getChatConfig][liveChatVersion] ".concat(this.liveChatVersion));
3079
3190
  return [2 /*return*/, this.liveChatConfig];
3080
3191
  case 3:
3081
- error_26 = _d.sent();
3082
- if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(error_26, this.coreServicesOrgUrl, this.dynamicsLocationCode)) return [3 /*break*/, 6];
3192
+ error_27 = _d.sent();
3193
+ if (!(0, internalUtils_1.isCoreServicesOrgUrlDNSError)(error_27, this.coreServicesOrgUrl, this.dynamicsLocationCode)) return [3 /*break*/, 6];
3083
3194
  this.omnichannelConfig.orgUrl = this.unqServicesOrgUrl;
3084
3195
  _a = this;
3085
3196
  return [4 /*yield*/, ocsdk_1.SDKProvider.getSDK(this.omnichannelConfig, (0, createOcSDKConfiguration_1.default)(false), this.ocSdkLogger)];
@@ -3091,10 +3202,10 @@ var OmnichannelChatSDK = /** @class */ (function () {
3091
3202
  return [3 /*break*/, 7];
3092
3203
  case 6:
3093
3204
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3094
- if (((_c = (_b = error_26.response) === null || _b === void 0 ? void 0 : _b.headers) === null || _c === void 0 ? void 0 : _c.errorcode) && parseInt(error_26.response.headers.errorcode) === OmnichannelErrorCodes_1.default.WidgetNotFound) {
3205
+ 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
3206
  console.warn("No widget with the given app id is present in the system.");
3096
3207
  }
3097
- throw error_26; // Bubble up error by default to throw ChatConfigRetrievalFailure
3208
+ throw error_27; // Bubble up error by default to throw ChatConfigRetrievalFailure
3098
3209
  case 7: return [3 /*break*/, 8];
3099
3210
  case 8: return [2 /*return*/, this.liveChatConfig];
3100
3211
  }
@@ -3129,7 +3240,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
3129
3240
  };
3130
3241
  OmnichannelChatSDK.prototype.updateChatToken = function (newToken, newRegionGTMS) {
3131
3242
  return __awaiter(this, void 0, void 0, function () {
3132
- var sessionInfo, error_27, exceptionDetails;
3243
+ var sessionInfo, error_28, exceptionDetails;
3133
3244
  return __generator(this, function (_a) {
3134
3245
  switch (_a.label) {
3135
3246
  case 0:
@@ -3157,7 +3268,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
3157
3268
  });
3158
3269
  return [3 /*break*/, 5];
3159
3270
  case 4:
3160
- error_27 = _a.sent();
3271
+ error_28 = _a.sent();
3161
3272
  exceptionDetails = {
3162
3273
  response: "UpdateChatTokenFailed"
3163
3274
  };
@@ -3174,7 +3285,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
3174
3285
  };
3175
3286
  OmnichannelChatSDK.prototype.setAuthTokenProvider = function (provider_1) {
3176
3287
  return __awaiter(this, arguments, void 0, function (provider, optionalParams) {
3177
- var token, exceptionDetails, error_28, exceptionDetails, exceptionDetails;
3288
+ var token, exceptionDetails, error_29, exceptionDetails, exceptionDetails;
3178
3289
  if (optionalParams === void 0) { optionalParams = {}; }
3179
3290
  return __generator(this, function (_a) {
3180
3291
  switch (_a.label) {
@@ -3206,12 +3317,12 @@ var OmnichannelChatSDK = /** @class */ (function () {
3206
3317
  }
3207
3318
  return [3 /*break*/, 4];
3208
3319
  case 3:
3209
- error_28 = _a.sent();
3320
+ error_29 = _a.sent();
3210
3321
  exceptionDetails = {
3211
3322
  response: ChatSDKError_1.ChatSDKErrorName.GetAuthTokenFailed
3212
3323
  };
3213
- if (error_28.message == ChatSDKError_1.ChatSDKErrorName.UndefinedAuthToken) {
3214
- exceptionDetails.response = error_28.message;
3324
+ if (error_29.message == ChatSDKError_1.ChatSDKErrorName.UndefinedAuthToken) {
3325
+ exceptionDetails.response = error_29.message;
3215
3326
  }
3216
3327
  this.scenarioMarker.failScenario(TelemetryEvent_1.default.GetAuthToken, {
3217
3328
  ExceptionDetails: JSON.stringify(exceptionDetails)
@@ -3310,7 +3421,7 @@ var OmnichannelChatSDK = /** @class */ (function () {
3310
3421
  */
3311
3422
  OmnichannelChatSDK.prototype.getPersistentChatHistory = function () {
3312
3423
  return __awaiter(this, arguments, void 0, function (getPersistentChatHistoryOptionalParams) {
3313
- var params, result, error_29, telemetryData;
3424
+ var params, result, error_30, telemetryData;
3314
3425
  var _a, _b, _c, _d, _e;
3315
3426
  if (getPersistentChatHistoryOptionalParams === void 0) { getPersistentChatHistoryOptionalParams = {}; }
3316
3427
  return __generator(this, function (_f) {
@@ -3352,13 +3463,13 @@ var OmnichannelChatSDK = /** @class */ (function () {
3352
3463
  });
3353
3464
  return [2 /*return*/, result];
3354
3465
  case 3:
3355
- error_29 = _f.sent();
3466
+ error_30 = _f.sent();
3356
3467
  telemetryData = {
3357
3468
  RequestId: this.requestId,
3358
3469
  ChatId: (_e = this.chatToken) === null || _e === void 0 ? void 0 : _e.chatId,
3359
- ErrorMessage: (error_29 === null || error_29 === void 0 ? void 0 : error_29.message) || 'Unknown error' // Added error message for better debugging
3470
+ ErrorMessage: (error_30 === null || error_30 === void 0 ? void 0 : error_30.message) || 'Unknown error' // Added error message for better debugging
3360
3471
  };
3361
- exceptionThrowers_1.default.throwPersistentChatConversationRetrievalFailure(error_29, this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, telemetryData);
3472
+ exceptionThrowers_1.default.throwPersistentChatConversationRetrievalFailure(error_30, this.scenarioMarker, TelemetryEvent_1.default.GetPersistentChatHistory, telemetryData);
3362
3473
  return [3 /*break*/, 4];
3363
3474
  case 4: return [2 /*return*/];
3364
3475
  }