@microsoft/omnichannel-chat-sdk 1.2.0 → 1.2.1-main.2590ee2

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +16 -1
  3. package/lib/OmnichannelChatSDK.d.ts +5 -1
  4. package/lib/OmnichannelChatSDK.js +231 -247
  5. package/lib/OmnichannelChatSDK.js.map +1 -1
  6. package/lib/config/settings.d.ts +2 -1
  7. package/lib/config/settings.js +3 -1
  8. package/lib/config/settings.js.map +1 -1
  9. package/lib/core/ChatSDKErrors.d.ts +6 -0
  10. package/lib/core/ChatSDKErrors.js +10 -0
  11. package/lib/core/ChatSDKErrors.js.map +1 -0
  12. package/lib/core/ChatSDKExceptionDetails.d.ts +1 -0
  13. package/lib/core/GetAgentAvailabilityOptionalParams.d.ts +13 -0
  14. package/lib/core/GetAgentAvailabilityOptionalParams.js +3 -0
  15. package/lib/core/GetAgentAvailabilityOptionalParams.js.map +1 -0
  16. package/lib/core/StartChatOptionalParams.d.ts +4 -0
  17. package/lib/core/messaging/ACSClient.js +5 -0
  18. package/lib/core/messaging/ACSClient.js.map +1 -1
  19. package/lib/core/messaging/ChatAdapterConfig.d.ts +2 -0
  20. package/lib/core/messaging/ChatAdapterOptionalParams.d.ts +5 -0
  21. package/lib/telemetry/AriaTelemetry.d.ts +2 -0
  22. package/lib/telemetry/AriaTelemetry.js +49 -0
  23. package/lib/telemetry/AriaTelemetry.js.map +1 -1
  24. package/lib/telemetry/ScenarioType.d.ts +1 -0
  25. package/lib/telemetry/ScenarioType.js +1 -0
  26. package/lib/telemetry/ScenarioType.js.map +1 -1
  27. package/lib/telemetry/TelemetryEvent.d.ts +4 -1
  28. package/lib/telemetry/TelemetryEvent.js +3 -0
  29. package/lib/telemetry/TelemetryEvent.js.map +1 -1
  30. package/lib/tsconfig.tsbuildinfo +315 -168
  31. package/lib/utils/WebUtils.d.ts +2 -2
  32. package/lib/utils/WebUtils.js +30 -4
  33. package/lib/utils/WebUtils.js.map +1 -1
  34. package/lib/utils/chatAdapterCreators.d.ts +20 -0
  35. package/lib/utils/chatAdapterCreators.js +230 -0
  36. package/lib/utils/chatAdapterCreators.js.map +1 -0
  37. package/lib/utils/libraries.d.ts +3 -1
  38. package/lib/utils/libraries.js +9 -2
  39. package/lib/utils/libraries.js.map +1 -1
  40. package/lib/utils/location.d.ts +7 -0
  41. package/lib/utils/location.js +96 -0
  42. package/lib/utils/location.js.map +1 -0
  43. package/lib/utils/loggers.d.ts +16 -0
  44. package/lib/utils/loggers.js +69 -1
  45. package/lib/utils/loggers.js.map +1 -1
  46. package/lib/utils/sleep.d.ts +2 -0
  47. package/lib/utils/sleep.js +5 -0
  48. package/lib/utils/sleep.js.map +1 -0
  49. package/lib/utils/urlResolvers.d.ts +10 -0
  50. package/lib/utils/urlResolvers.js +65 -0
  51. package/lib/utils/urlResolvers.js.map +1 -0
  52. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
- declare const loadScript: (scriptUrl: string, callbackOnload?: CallableFunction, callbackError?: CallableFunction) => Promise<void>;
1
+ declare const loadScript: (scriptUrl: string, callbackOnload?: CallableFunction, callbackError?: CallableFunction, retries?: number, attempt?: number) => Promise<void>;
2
2
  declare const removeElementById: (id: string) => void;
3
3
  declare const _default: {
4
- loadScript: (scriptUrl: string, callbackOnload?: CallableFunction, callbackError?: CallableFunction) => Promise<void>;
4
+ loadScript: (scriptUrl: string, callbackOnload?: CallableFunction, callbackError?: CallableFunction, retries?: number, attempt?: number) => Promise<void>;
5
5
  removeElementById: (id: string) => void;
6
6
  };
7
7
  export default _default;
@@ -37,9 +37,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.removeElementById = exports.loadScript = void 0;
40
- var loadScript = function (scriptUrl, callbackOnload, callbackError) {
40
+ var sleep_1 = require("./sleep");
41
+ var defaultLoadScriptRetries = 3;
42
+ var maxBackoffSeconds = 60;
43
+ var loadScript = function (scriptUrl, callbackOnload, callbackError, retries, attempt) {
41
44
  if (callbackOnload === void 0) { callbackOnload = function () { return void (0); }; }
42
45
  if (callbackError === void 0) { callbackError = function () { return void (0); }; }
46
+ if (retries === void 0) { retries = defaultLoadScriptRetries; }
47
+ if (attempt === void 0) { attempt = 0; }
43
48
  return __awaiter(void 0, void 0, void 0, function () {
44
49
  return __generator(this, function (_a) {
45
50
  return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
@@ -71,13 +76,34 @@ var loadScript = function (scriptUrl, callbackOnload, callbackError) {
71
76
  });
72
77
  }); });
73
78
  scriptElement.addEventListener('error', function () { return __awaiter(void 0, void 0, void 0, function () {
79
+ var exponentialBackoffWaitTime, e_1;
74
80
  return __generator(this, function (_a) {
75
81
  switch (_a.label) {
76
- case 0: return [4 /*yield*/, callbackError()];
82
+ case 0:
83
+ if (!(++attempt >= retries)) return [3 /*break*/, 2];
84
+ return [4 /*yield*/, callbackError()];
77
85
  case 1:
78
86
  _a.sent();
79
- reject();
80
- return [2 /*return*/];
87
+ // Reference: https://developer.mozilla.org/en-US/docs/Web/API/Element/error_event
88
+ return [2 /*return*/, reject(new Error("Resource failed to load, or can't be used."))];
89
+ case 2:
90
+ scriptElement.remove();
91
+ exponentialBackoffWaitTime = Math.min((Math.pow(2, attempt)) + Math.random(), maxBackoffSeconds) * 1000;
92
+ return [4 /*yield*/, sleep_1.default(exponentialBackoffWaitTime)];
93
+ case 3:
94
+ _a.sent();
95
+ _a.label = 4;
96
+ case 4:
97
+ _a.trys.push([4, 6, , 7]);
98
+ return [4 /*yield*/, loadScript(scriptUrl, callbackOnload, callbackError, retries, attempt)];
99
+ case 5:
100
+ _a.sent();
101
+ return [3 /*break*/, 7];
102
+ case 6:
103
+ e_1 = _a.sent();
104
+ reject(e_1);
105
+ return [3 /*break*/, 7];
106
+ case 7: return [2 /*return*/];
81
107
  }
82
108
  });
83
109
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"WebUtils.js","sourceRoot":"","sources":["../../src/utils/WebUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,UAAU,GAAG,UAAO,SAAiB,EAAE,cAAgD,EAAE,aAA+C;IAAjG,+BAAA,EAAA,+BAAyC,OAAA,KAAI,CAAC,CAAC,CAAC,EAAP,CAAO;IAAE,8BAAA,EAAA,8BAAwC,OAAA,KAAI,CAAC,CAAC,CAAC,EAAP,CAAO;;;YAC5I,sBAAO,IAAI,OAAO,CAAE,UAAO,OAAO,EAAE,MAAM;;;;;gCAClC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACrE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,GAAG,IAAI,SAAS,EAA9B,CAA8B,CAAC,CAAC;qCAE9F,kBAAkB,CAAC,MAAM,EAAzB,wBAAyB;gCAC3B,qBAAM,cAAc,EAAE,EAAA;;gCAAtB,SAAsB,CAAC;gCACvB,sBAAO,OAAO,EAAE,EAAC;;gCAGb,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACvD,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gCAC7C,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gCACtD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gCAEzC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE;;;oDACrC,qBAAM,cAAc,EAAE,EAAA;;gDAAtB,SAAsB,CAAC;gDACvB,OAAO,EAAE,CAAC;;;;qCACX,CAAC,CAAC;gCAEH,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;;;oDACtC,qBAAM,aAAa,EAAE,EAAA;;gDAArB,SAAqB,CAAC;gDACtB,MAAM,EAAE,CAAC;;;;qCACV,CAAC,CAAC;;;;qBACJ,CAAC,EAAC;;;CACJ,CAAC;AAYA,gCAAU;AAVZ,IAAM,iBAAiB,GAAG,UAAC,EAAU;;IACnC,MAAA,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,0CAAE,MAAM,GAAG;AACxC,CAAC,CAAA;AASC,8CAAiB;AAPnB,kBAAe;IACb,UAAU,YAAA;IACV,iBAAiB,mBAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"WebUtils.js","sourceRoot":"","sources":["../../src/utils/WebUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4B;AAE5B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,IAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,IAAM,UAAU,GAAG,UAAO,SAAiB,EAAE,cAAgD,EAAE,aAA+C,EAAE,OAAkC,EAAE,OAAW;IAAlJ,+BAAA,EAAA,+BAAyC,OAAA,KAAI,CAAC,CAAC,CAAC,EAAP,CAAO;IAAE,8BAAA,EAAA,8BAAwC,OAAA,KAAI,CAAC,CAAC,CAAC,EAAP,CAAO;IAAE,wBAAA,EAAA,kCAAkC;IAAE,wBAAA,EAAA,WAAW;;;YAC7L,sBAAO,IAAI,OAAO,CAAE,UAAO,OAAO,EAAE,MAAM;;;;;gCAClC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACrE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,GAAG,IAAI,SAAS,EAA9B,CAA8B,CAAC,CAAC;qCAE9F,kBAAkB,CAAC,MAAM,EAAzB,wBAAyB;gCAC3B,qBAAM,cAAc,EAAE,EAAA;;gCAAtB,SAAsB,CAAC;gCACvB,sBAAO,OAAO,EAAE,EAAC;;gCAGb,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACvD,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gCAC7C,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gCACtD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gCAEzC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE;;;oDACrC,qBAAM,cAAc,EAAE,EAAA;;gDAAtB,SAAsB,CAAC;gDACvB,OAAO,EAAE,CAAC;;;;qCACX,CAAC,CAAC;gCAEH,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;;;;;qDAClC,CAAA,EAAE,OAAO,IAAI,OAAO,CAAA,EAApB,wBAAoB;gDACtB,qBAAM,aAAa,EAAE,EAAA;;gDAArB,SAAqB,CAAC;gDAEtB,kFAAkF;gDAClF,sBAAO,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,EAAC;;gDAGzE,aAAa,CAAC,MAAM,EAAE,CAAC;gDAEjB,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAA,CAAC,EAAI,OAAO,CAAA,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;gDACtG,qBAAM,eAAK,CAAC,0BAA0B,CAAC,EAAA;;gDAAvC,SAAuC,CAAC;;;;gDAGtC,qBAAM,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,EAAA;;gDAA5E,SAA4E,CAAC;;;;gDAE7E,MAAM,CAAC,GAAC,CAAC,CAAC;;;;;qCAEb,CAAC,CAAC;;;;qBACJ,CAAC,EAAC;;;CACJ,CAAC;AAYA,gCAAU;AAVZ,IAAM,iBAAiB,GAAG,UAAC,EAAU;;IACnC,MAAA,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,0CAAE,MAAM,GAAG;AACxC,CAAC,CAAA;AASC,8CAAiB;AAPnB,kBAAe;IACb,UAAU,YAAA;IACV,iBAAiB,mBAAA;CAClB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { ACSAdapterLogger, IC3ClientLogger } from "./loggers";
2
+ import AMSFileManager from "../external/ACSAdapter/AMSFileManager";
3
+ import AriaTelemetry from "../telemetry/AriaTelemetry";
4
+ import ChatAdapterOptionalParams from "../core/messaging/ChatAdapterOptionalParams";
5
+ import { ChatClient } from "@azure/communication-chat";
6
+ import ChatSDKConfig from "../core/ChatSDKConfig";
7
+ import IChatToken from "../external/IC3Adapter/IChatToken";
8
+ import LiveChatVersion from "../core/LiveChatVersion";
9
+ import OmnichannelConfig from "../core/OmnichannelConfig";
10
+ import ScenarioMarker from "../telemetry/ScenarioMarker";
11
+ declare const createDirectLine: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker) => Promise<unknown>;
12
+ declare const createACSAdapter: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker, omnichannelConfig: OmnichannelConfig, chatToken: IChatToken, fileManager: AMSFileManager, chatClient: ChatClient, logger: ACSAdapterLogger) => Promise<unknown>;
13
+ declare const createIC3Adapter: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker, chatToken: IChatToken, ic3Client: any, logger: IC3ClientLogger) => Promise<unknown>;
14
+ declare const _default: {
15
+ createDirectLine: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker) => Promise<unknown>;
16
+ createACSAdapter: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker, omnichannelConfig: OmnichannelConfig, chatToken: IChatToken, fileManager: AMSFileManager, chatClient: ChatClient, logger: ACSAdapterLogger) => Promise<unknown>;
17
+ createIC3Adapter: (optionalParams: ChatAdapterOptionalParams, chatSDKConfig: ChatSDKConfig, liveChatVersion: LiveChatVersion, protocol: string, telemetry: typeof AriaTelemetry, scenarioMarker: ScenarioMarker, chatToken: IChatToken, ic3Client: any, logger: IC3ClientLogger) => Promise<unknown>;
18
+ };
19
+ export default _default;
20
+ export { createDirectLine, createACSAdapter, createIC3Adapter };
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
50
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
51
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
52
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
53
+ r[k] = a[j];
54
+ return r;
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.createIC3Adapter = exports.createACSAdapter = exports.createDirectLine = void 0;
58
+ var ACSParticipantDisplayName_1 = require("../core/messaging/ACSParticipantDisplayName");
59
+ var ChatSDKErrors_1 = require("../core/ChatSDKErrors");
60
+ var createChannelDataEgressMiddleware_1 = require("../external/ACSAdapter/createChannelDataEgressMiddleware");
61
+ var createFormatEgressTagsMiddleware_1 = require("../external/ACSAdapter/createFormatEgressTagsMiddleware");
62
+ var createFormatIngressTagsMiddleware_1 = require("../external/ACSAdapter/createFormatIngressTagsMiddleware");
63
+ var WebUtils_1 = require("./WebUtils");
64
+ var TelemetryEvent_1 = require("../telemetry/TelemetryEvent");
65
+ var urlResolvers_1 = require("./urlResolvers");
66
+ var createDirectLine = function (optionalParams, chatSDKConfig, liveChatVersion, protocol, telemetry, scenarioMarker) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var options, directLineCDNUrl, error_1, exceptionDetails, DirectLine, adapter, exceptionDetails;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ options = optionalParams.DirectLine ? optionalParams.DirectLine.options : {};
72
+ directLineCDNUrl = urlResolvers_1.default.resolveChatAdapterUrl(chatSDKConfig, liveChatVersion, protocol);
73
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.setCDNPackages({
74
+ DirectLine: directLineCDNUrl
75
+ });
76
+ scenarioMarker.startScenario(TelemetryEvent_1.default.CreateDirectLine);
77
+ _a.label = 1;
78
+ case 1:
79
+ _a.trys.push([1, 3, , 4]);
80
+ return [4 /*yield*/, WebUtils_1.loadScript(directLineCDNUrl)];
81
+ case 2:
82
+ _a.sent();
83
+ return [3 /*break*/, 4];
84
+ case 3:
85
+ error_1 = _a.sent();
86
+ exceptionDetails = {
87
+ response: ChatSDKErrors_1.default.ScriptLoadFailure,
88
+ errorObject: "" + error_1
89
+ };
90
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateDirectLine, {
91
+ ExceptionDetails: JSON.stringify(exceptionDetails)
92
+ });
93
+ throw new Error('Failed to load DirectLine');
94
+ case 4:
95
+ try {
96
+ DirectLine = window.DirectLine;
97
+ adapter = new DirectLine.DirectLine(__assign({}, options));
98
+ scenarioMarker.completeScenario(TelemetryEvent_1.default.CreateDirectLine);
99
+ return [2 /*return*/, adapter];
100
+ }
101
+ catch (error) {
102
+ exceptionDetails = {
103
+ response: ChatSDKErrors_1.default.ChatAdapterInitializationFailure,
104
+ errorObject: "" + error
105
+ };
106
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateDirectLine, {
107
+ ExceptionDetails: JSON.stringify(exceptionDetails)
108
+ });
109
+ throw new Error('Failed to create DirectLine');
110
+ }
111
+ return [2 /*return*/];
112
+ }
113
+ });
114
+ }); };
115
+ exports.createDirectLine = createDirectLine;
116
+ var createACSAdapter = function (optionalParams, chatSDKConfig, liveChatVersion, protocol, telemetry, scenarioMarker, omnichannelConfig, chatToken, fileManager, chatClient, logger) { return __awaiter(void 0, void 0, void 0, function () {
117
+ var options, acsAdapterCDNUrl, defaultEgressMiddlewares, defaultIngressMiddlewares, egressMiddleware, ingressMiddleware, featuresOption, error_2, exceptionDetails, ChatAdapter, adapter, exceptionDetails;
118
+ return __generator(this, function (_a) {
119
+ switch (_a.label) {
120
+ case 0:
121
+ options = optionalParams.ACSAdapter ? optionalParams.ACSAdapter.options : {};
122
+ acsAdapterCDNUrl = urlResolvers_1.default.resolveChatAdapterUrl(chatSDKConfig, liveChatVersion, protocol);
123
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.setCDNPackages({
124
+ ACSAdapter: acsAdapterCDNUrl
125
+ });
126
+ defaultEgressMiddlewares = [createChannelDataEgressMiddleware_1.default({ widgetId: omnichannelConfig.widgetId }), createFormatEgressTagsMiddleware_1.default()];
127
+ defaultIngressMiddlewares = [createFormatIngressTagsMiddleware_1.default()];
128
+ egressMiddleware = (options === null || options === void 0 ? void 0 : options.egressMiddleware) ? __spreadArrays(options.egressMiddleware, defaultEgressMiddlewares) : __spreadArrays(defaultEgressMiddlewares);
129
+ ingressMiddleware = (options === null || options === void 0 ? void 0 : options.ingressMiddleware) ? __spreadArrays(options.ingressMiddleware, defaultIngressMiddlewares) : __spreadArrays(defaultIngressMiddlewares);
130
+ featuresOption = __assign(__assign({ enableAdaptiveCards: true, enableThreadMemberUpdateNotification: true, enableLeaveThreadOnWindowClosed: false }, options), { // overrides
131
+ ingressMiddleware: ingressMiddleware,
132
+ egressMiddleware: egressMiddleware });
133
+ scenarioMarker.startScenario(TelemetryEvent_1.default.CreateACSAdapter);
134
+ _a.label = 1;
135
+ case 1:
136
+ _a.trys.push([1, 3, , 4]);
137
+ return [4 /*yield*/, WebUtils_1.loadScript(acsAdapterCDNUrl)];
138
+ case 2:
139
+ _a.sent();
140
+ return [3 /*break*/, 4];
141
+ case 3:
142
+ error_2 = _a.sent();
143
+ exceptionDetails = {
144
+ response: ChatSDKErrors_1.default.ScriptLoadFailure,
145
+ errorObject: "" + error_2
146
+ };
147
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateACSAdapter, {
148
+ ExceptionDetails: JSON.stringify(exceptionDetails)
149
+ });
150
+ throw new Error('Failed to load ACSAdapter');
151
+ case 4:
152
+ try {
153
+ ChatAdapter = window.ChatAdapter;
154
+ adapter = ChatAdapter.createACSAdapter(chatToken.token, chatToken.visitorId || 'teamsvisitor', chatToken.chatId, chatToken.acsEndpoint, fileManager, 30000, ACSParticipantDisplayName_1.default.Customer, chatClient, logger, featuresOption);
155
+ scenarioMarker.completeScenario(TelemetryEvent_1.default.CreateACSAdapter);
156
+ return [2 /*return*/, adapter];
157
+ }
158
+ catch (error) {
159
+ exceptionDetails = {
160
+ response: ChatSDKErrors_1.default.ChatAdapterInitializationFailure,
161
+ errorObject: "" + error
162
+ };
163
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateACSAdapter, {
164
+ ExceptionDetails: JSON.stringify(exceptionDetails)
165
+ });
166
+ throw new Error('Failed to create ACSAdapter');
167
+ }
168
+ return [2 /*return*/];
169
+ }
170
+ });
171
+ }); };
172
+ exports.createACSAdapter = createACSAdapter;
173
+ var createIC3Adapter = function (optionalParams, chatSDKConfig, liveChatVersion, protocol, telemetry, scenarioMarker, chatToken, ic3Client, logger) { return __awaiter(void 0, void 0, void 0, function () {
174
+ var options, ic3AdapterCDNUrl, error_3, exceptionDetails, adapterConfig, adapter, exceptionDetails;
175
+ return __generator(this, function (_a) {
176
+ switch (_a.label) {
177
+ case 0:
178
+ options = optionalParams.IC3Adapter ? optionalParams.IC3Adapter.options : {};
179
+ ic3AdapterCDNUrl = urlResolvers_1.default.resolveChatAdapterUrl(chatSDKConfig, liveChatVersion, protocol);
180
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.setCDNPackages({
181
+ IC3Adapter: ic3AdapterCDNUrl
182
+ });
183
+ scenarioMarker.startScenario(TelemetryEvent_1.default.CreateIC3Adapter);
184
+ _a.label = 1;
185
+ case 1:
186
+ _a.trys.push([1, 3, , 4]);
187
+ return [4 /*yield*/, WebUtils_1.loadScript(ic3AdapterCDNUrl)];
188
+ case 2:
189
+ _a.sent();
190
+ return [3 /*break*/, 4];
191
+ case 3:
192
+ error_3 = _a.sent();
193
+ exceptionDetails = {
194
+ response: ChatSDKErrors_1.default.ScriptLoadFailure,
195
+ errorObject: "" + error_3
196
+ };
197
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateIC3Adapter, {
198
+ ExceptionDetails: JSON.stringify(exceptionDetails)
199
+ });
200
+ throw new Error('Failed to load IC3Adapter');
201
+ case 4:
202
+ adapterConfig = __assign({ chatToken: chatToken, userDisplayName: 'Customer', userId: chatToken.visitorId || 'teamsvisitor', sdkURL: urlResolvers_1.default.resolveIC3ClientUrl(chatSDKConfig), sdk: ic3Client }, options // overrides
203
+ );
204
+ try {
205
+ adapter = new window.Microsoft.BotFramework.WebChat.IC3Adapter(adapterConfig);
206
+ adapter.logger = logger;
207
+ scenarioMarker.completeScenario(TelemetryEvent_1.default.CreateIC3Adapter);
208
+ return [2 /*return*/, adapter];
209
+ }
210
+ catch (error) {
211
+ exceptionDetails = {
212
+ response: ChatSDKErrors_1.default.ChatAdapterInitializationFailure,
213
+ errorObject: "" + error
214
+ };
215
+ scenarioMarker.failScenario(TelemetryEvent_1.default.CreateIC3Adapter, {
216
+ ExceptionDetails: JSON.stringify(exceptionDetails)
217
+ });
218
+ throw new Error('Failed to create IC3Adapter');
219
+ }
220
+ return [2 /*return*/];
221
+ }
222
+ });
223
+ }); };
224
+ exports.createIC3Adapter = createIC3Adapter;
225
+ exports.default = {
226
+ createDirectLine: createDirectLine,
227
+ createACSAdapter: createACSAdapter,
228
+ createIC3Adapter: createIC3Adapter
229
+ };
230
+ //# sourceMappingURL=chatAdapterCreators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatAdapterCreators.js","sourceRoot":"","sources":["../../src/utils/chatAdapterCreators.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  declare const getIC3ClientCDNUrl: (version?: string) => string;
2
2
  declare const getIC3AdapterCDNUrl: (version?: string) => string;
3
3
  declare const getACSAdapterCDNUrl: (version?: string) => string;
4
+ declare const getDirectLineCDNUrl: (version?: string) => string;
4
5
  declare const _default: {
5
6
  getIC3ClientCDNUrl: (version?: string) => string;
6
7
  getIC3AdapterCDNUrl: (version?: string) => string;
7
8
  getACSAdapterCDNUrl: (version?: string) => string;
9
+ getDirectLineCDNUrl: (version?: string) => string;
8
10
  };
9
11
  export default _default;
10
- export { getIC3ClientCDNUrl, getIC3AdapterCDNUrl, getACSAdapterCDNUrl };
12
+ export { getIC3ClientCDNUrl, getIC3AdapterCDNUrl, getACSAdapterCDNUrl, getDirectLineCDNUrl };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getACSAdapterCDNUrl = exports.getIC3AdapterCDNUrl = exports.getIC3ClientCDNUrl = void 0;
3
+ exports.getDirectLineCDNUrl = exports.getACSAdapterCDNUrl = exports.getIC3AdapterCDNUrl = exports.getIC3ClientCDNUrl = void 0;
4
4
  var settings_1 = require("../config/settings");
5
5
  var getIC3ClientCDNUrl = function (version) {
6
6
  if (version === void 0) { version = settings_1.ic3ClientVersion; }
@@ -20,9 +20,16 @@ var getACSAdapterCDNUrl = function (version) {
20
20
  return ACSAdapterCDNUrl;
21
21
  };
22
22
  exports.getACSAdapterCDNUrl = getACSAdapterCDNUrl;
23
+ var getDirectLineCDNUrl = function (version) {
24
+ if (version === void 0) { version = settings_1.webChatDirectLineVersion; }
25
+ var DirectLineCDNUrl = "https://unpkg.com/botframework-directlinejs@" + version + "/dist/directline.js";
26
+ return DirectLineCDNUrl;
27
+ };
28
+ exports.getDirectLineCDNUrl = getDirectLineCDNUrl;
23
29
  exports.default = {
24
30
  getIC3ClientCDNUrl: getIC3ClientCDNUrl,
25
31
  getIC3AdapterCDNUrl: getIC3AdapterCDNUrl,
26
- getACSAdapterCDNUrl: getACSAdapterCDNUrl
32
+ getACSAdapterCDNUrl: getACSAdapterCDNUrl,
33
+ getDirectLineCDNUrl: getDirectLineCDNUrl
27
34
  };
28
35
  //# sourceMappingURL=libraries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libraries.js","sourceRoot":"","sources":["../../src/utils/libraries.ts"],"names":[],"mappings":";;;AAAA,+CAA0G;AAE1G,IAAM,kBAAkB,GAAG,UAAC,OAA0B;IAA1B,wBAAA,EAAA,UAAU,2BAAgB;IAClD,IAAM,eAAe,GAAG,wDAAsD,OAAO,4BAAyB,CAAC;IAC/G,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAA;AAmBG,gDAAkB;AAjBtB,IAAM,mBAAmB,GAAG,UAAC,OAAkC;IAAlC,wBAAA,EAAA,UAAU,mCAAwB;IAC3D,IAAM,gBAAgB,GAAG,iEAA+D,OAAO,wDAAqD,CAAC;IACrJ,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAA;AAeG,kDAAmB;AAbvB,IAAM,mBAAmB,GAAG,UAAC,OAAkC;IAAlC,wBAAA,EAAA,UAAU,mCAAwB;IAC3D,IAAM,gBAAgB,GAAG,gDAA8C,OAAO,0BAAuB,CAAC;IACtG,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAA;AAWG,kDAAmB;AATvB,kBAAe;IACX,kBAAkB,oBAAA;IAClB,mBAAmB,qBAAA;IACnB,mBAAmB,qBAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"libraries.js","sourceRoot":"","sources":["../../src/utils/libraries.ts"],"names":[],"mappings":";;;AAAA,+CAAoI;AAEpI,IAAM,kBAAkB,GAAG,UAAC,OAA0B;IAA1B,wBAAA,EAAA,UAAU,2BAAgB;IAClD,IAAM,eAAe,GAAG,wDAAsD,OAAO,4BAAyB,CAAC;IAC/G,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAA;AAyBG,gDAAkB;AAvBtB,IAAM,mBAAmB,GAAG,UAAC,OAAkC;IAAlC,wBAAA,EAAA,UAAU,mCAAwB;IAC3D,IAAM,gBAAgB,GAAG,iEAA+D,OAAO,wDAAqD,CAAC;IACrJ,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAA;AAqBG,kDAAmB;AAnBvB,IAAM,mBAAmB,GAAG,UAAC,OAAkC;IAAlC,wBAAA,EAAA,UAAU,mCAAwB;IAC3D,IAAM,gBAAgB,GAAG,gDAA8C,OAAO,0BAAuB,CAAC;IACtG,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAA;AAiBG,kDAAmB;AAfvB,IAAM,mBAAmB,GAAG,UAAC,OAAkC;IAAlC,wBAAA,EAAA,UAAU,mCAAwB;IAC3D,IAAM,gBAAgB,GAAG,iDAA+C,OAAO,wBAAqB,CAAC;IACrG,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAA;AAaG,kDAAmB;AAXvB,kBAAe;IACX,kBAAkB,oBAAA;IAClB,mBAAmB,qBAAA;IACnB,mBAAmB,qBAAA;IACnB,mBAAmB,qBAAA;CACtB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import ScenarioMarker from "../telemetry/ScenarioMarker";
2
+ interface Location {
3
+ latitude: string;
4
+ longitude: string;
5
+ }
6
+ export declare const getLocationInfo: (scenarioMarker: ScenarioMarker, chatId: string, requestId: string) => Promise<Location>;
7
+ export {};
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __generator = (this && this.__generator) || function (thisArg, body) {
13
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
+ function verb(n) { return function (v) { return step([n, v]); }; }
16
+ function step(op) {
17
+ if (f) throw new TypeError("Generator is already executing.");
18
+ while (_) try {
19
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
+ if (y = 0, t) op = [op[0] & 2, t.value];
21
+ switch (op[0]) {
22
+ case 0: case 1: t = op; break;
23
+ case 4: _.label++; return { value: op[1], done: false };
24
+ case 5: _.label++; y = op[1]; op = [0]; continue;
25
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
+ default:
27
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
+ if (t[2]) _.ops.pop();
32
+ _.trys.pop(); continue;
33
+ }
34
+ op = body.call(thisArg, _);
35
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
+ }
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getLocationInfo = void 0;
41
+ var TelemetryEvent_1 = require("../telemetry/TelemetryEvent");
42
+ var platform_1 = require("./platform");
43
+ exports.getLocationInfo = function (scenarioMarker, chatId, requestId) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var reportLocationError;
45
+ return __generator(this, function (_a) {
46
+ reportLocationError = function (response, error) {
47
+ console.error(response, error);
48
+ var exceptionDetails;
49
+ try {
50
+ exceptionDetails = JSON.stringify({ Response: response, ExceptionalDetails: error });
51
+ }
52
+ catch (_a) {
53
+ exceptionDetails = JSON.stringify({ Response: response });
54
+ }
55
+ scenarioMarker.failScenario(TelemetryEvent_1.default.GetGeolocation, {
56
+ RequestId: requestId,
57
+ ChatId: chatId,
58
+ ExceptionDetails: exceptionDetails
59
+ });
60
+ };
61
+ return [2 /*return*/, new Promise(function (resolve, reject) {
62
+ scenarioMarker.startScenario(TelemetryEvent_1.default.GetGeolocation, {
63
+ RequestId: requestId
64
+ });
65
+ var location = {
66
+ latitude: "",
67
+ longitude: ""
68
+ };
69
+ if (platform_1.default.isNode() || platform_1.default.isReactNative() || !navigator.geolocation) {
70
+ reportLocationError("Unsupported");
71
+ resolve(location);
72
+ }
73
+ var onSuccess = function (position) {
74
+ try {
75
+ location.latitude = position.coords.latitude.toString();
76
+ location.longitude = position.coords.longitude.toString();
77
+ scenarioMarker.completeScenario(TelemetryEvent_1.default.GetGeolocation, {
78
+ RequestId: requestId,
79
+ ChatId: chatId
80
+ });
81
+ resolve(location);
82
+ }
83
+ catch (ex) {
84
+ reportLocationError("GetGeolocationFailed", ex);
85
+ resolve(location);
86
+ }
87
+ };
88
+ var onError = function (ex) {
89
+ reportLocationError("GetGeolocationFailed", ex);
90
+ resolve(location);
91
+ };
92
+ navigator.geolocation.getCurrentPosition(onSuccess, onError);
93
+ })];
94
+ });
95
+ }); };
96
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/utils/location.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvD,8DAAyD;AACzD,uCAAkC;AAOrB,QAAA,eAAe,GAAG,UAAO,cAA8B,EAAE,MAAc,EAAE,SAAiB;;;QAC7F,mBAAmB,GAAG,UAAC,QAAgB,EAAE,KAAW;YACtD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,gBAAgB,CAAC;YACrB,IAAI;gBACA,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAC,CAAC,CAAA;aACrF;YAAC,WAAM;gBACJ,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAA;aAC1D;YACD,cAAc,CAAC,YAAY,CAAC,wBAAc,CAAC,cAAc,EAAE;gBACvD,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,MAAM;gBACd,gBAAgB,EAAE,gBAAgB;aACrC,CAAC,CAAC;QACP,CAAC,CAAA;QAED,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,cAAc,CAAC,aAAa,CAAC,wBAAc,CAAC,cAAc,EAAE;oBACxD,SAAS,EAAE,SAAS;iBACvB,CAAC,CAAC;gBAEH,IAAM,QAAQ,GAAa;oBACvB,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,EAAE;iBAChB,CAAC;gBAEF,IAAI,kBAAQ,CAAC,MAAM,EAAE,IAAI,kBAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oBACzE,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACnC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACrB;gBAED,IAAM,SAAS,GAAG,UAAC,QAAa;oBAC5B,IAAI;wBACA,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACxD,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC1D,cAAc,CAAC,gBAAgB,CAAC,wBAAc,CAAC,cAAc,EAAE;4BAC3D,SAAS,EAAE,SAAS;4BACpB,MAAM,EAAE,MAAM;yBACjB,CAAC,CAAC;wBACH,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACrB;oBAAC,OAAO,EAAE,EAAE;wBACT,mBAAmB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACrB;gBACL,CAAC,CAAA;gBAED,IAAM,OAAO,GAAG,UAAC,EAAO;oBACpB,mBAAmB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;oBAC/C,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC,CAAA;gBAED,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC,CAAC,EAAC;;KACN,CAAA"}
@@ -87,8 +87,24 @@ export declare class CallingSDKLogger {
87
87
  useTelemetry(telemetry: typeof AriaTelemetry): void;
88
88
  logCallingSdkTelemetryEvent(logLevel: LogLevel, event: ICallingSDKLogData): void;
89
89
  }
90
+ export declare class AMSClientLogger {
91
+ private omnichannelConfig;
92
+ private debug;
93
+ private runtimeId;
94
+ private requestId;
95
+ private chatId;
96
+ private telemetry;
97
+ constructor(omnichannelConfig: OmnichannelConfig);
98
+ setDebug(flag: boolean): void;
99
+ setRuntimeId(runtimeId: string): void;
100
+ setRequestId(requestId: string): void;
101
+ setChatId(chatId: string): void;
102
+ useTelemetry(telemetry: typeof AriaTelemetry): void;
103
+ logClientSdkTelemetryEvent(logLevel: LogLevel, event: any): void;
104
+ }
90
105
  export declare const createIC3ClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => IC3ClientLogger;
91
106
  export declare const createOCSDKLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => OCSDKLogger;
92
107
  export declare const createACSClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => ACSClientLogger;
93
108
  export declare const createACSAdapterLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => ACSAdapterLogger;
94
109
  export declare const createCallingSDKLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => CallingSDKLogger;
110
+ export declare const createAMSClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => AMSClientLogger;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.createCallingSDKLogger = exports.createACSAdapterLogger = exports.createACSClientLogger = exports.createOCSDKLogger = exports.createIC3ClientLogger = exports.CallingSDKLogger = exports.ACSAdapterLogger = exports.ACSClientLogger = exports.OCSDKLogger = exports.IC3ClientLogger = void 0;
14
+ exports.createAMSClientLogger = exports.createCallingSDKLogger = exports.createACSAdapterLogger = exports.createACSClientLogger = exports.createOCSDKLogger = exports.createIC3ClientLogger = exports.AMSClientLogger = exports.CallingSDKLogger = exports.ACSAdapterLogger = exports.ACSClientLogger = exports.OCSDKLogger = exports.IC3ClientLogger = void 0;
15
15
  var LogLevel_1 = require("../telemetry/LogLevel");
16
16
  var ScenarioType_1 = require("../telemetry/ScenarioType");
17
17
  var ScenarioMarker_1 = require("../telemetry/ScenarioMarker");
@@ -397,6 +397,68 @@ var CallingSDKLogger = /** @class */ (function () {
397
397
  return CallingSDKLogger;
398
398
  }());
399
399
  exports.CallingSDKLogger = CallingSDKLogger;
400
+ var AMSClientLogger = /** @class */ (function () {
401
+ function AMSClientLogger(omnichannelConfig) {
402
+ this.omnichannelConfig = omnichannelConfig;
403
+ this.debug = false;
404
+ this.runtimeId = '';
405
+ this.requestId = '';
406
+ this.chatId = '';
407
+ this.telemetry = null;
408
+ this.debug = false;
409
+ }
410
+ /* istanbul ignore next */
411
+ AMSClientLogger.prototype.setDebug = function (flag) {
412
+ this.debug = flag;
413
+ };
414
+ AMSClientLogger.prototype.setRuntimeId = function (runtimeId) {
415
+ this.runtimeId = runtimeId;
416
+ };
417
+ AMSClientLogger.prototype.setRequestId = function (requestId) {
418
+ this.requestId = requestId;
419
+ };
420
+ AMSClientLogger.prototype.setChatId = function (chatId) {
421
+ this.chatId = chatId;
422
+ };
423
+ AMSClientLogger.prototype.useTelemetry = function (telemetry) {
424
+ /* istanbul ignore next */
425
+ this.debug && console.log("[AMSClientLogger][useTelemetry]");
426
+ this.telemetry = telemetry;
427
+ };
428
+ AMSClientLogger.prototype.logClientSdkTelemetryEvent = function (logLevel, event) {
429
+ var _a, _b, _c, _d;
430
+ /* istanbul ignore next */
431
+ this.debug && console.log("[AMSClientLogger][logClientSdkTelemetryEvent][" + logLevel + "]");
432
+ /* istanbul ignore next */
433
+ this.debug && console.log(event);
434
+ var baseProperties = {
435
+ ChatSDKRuntimeId: this.runtimeId,
436
+ OrgId: this.omnichannelConfig.orgId,
437
+ OrgUrl: this.omnichannelConfig.orgUrl,
438
+ WidgetId: this.omnichannelConfig.widgetId,
439
+ RequestId: this.requestId,
440
+ ChatId: this.chatId
441
+ };
442
+ var additionalProperties = __assign(__assign({}, event), { ExceptionDetails: event.ExceptionDetails ? JSON.stringify(event.ExceptionDetails) : '' });
443
+ switch (logLevel) {
444
+ case LogLevel_1.default.DEBUG:
445
+ (_a = this.telemetry) === null || _a === void 0 ? void 0 : _a.debug(__assign(__assign({}, baseProperties), additionalProperties), ScenarioType_1.default.AMSCLIENT);
446
+ break;
447
+ case LogLevel_1.default.WARN:
448
+ (_b = this.telemetry) === null || _b === void 0 ? void 0 : _b.warn(__assign(__assign({}, baseProperties), additionalProperties), ScenarioType_1.default.AMSCLIENT);
449
+ break;
450
+ case LogLevel_1.default.ERROR:
451
+ (_c = this.telemetry) === null || _c === void 0 ? void 0 : _c.error(__assign(__assign({}, baseProperties), additionalProperties), ScenarioType_1.default.AMSCLIENT);
452
+ break;
453
+ case LogLevel_1.default.INFO:
454
+ default:
455
+ (_d = this.telemetry) === null || _d === void 0 ? void 0 : _d.info(__assign(__assign({}, baseProperties), additionalProperties), ScenarioType_1.default.AMSCLIENT);
456
+ break;
457
+ }
458
+ };
459
+ return AMSClientLogger;
460
+ }());
461
+ exports.AMSClientLogger = AMSClientLogger;
400
462
  exports.createIC3ClientLogger = function (omnichannelConfig, debug) {
401
463
  if (debug === void 0) { debug = false; }
402
464
  var logger = new IC3ClientLogger(omnichannelConfig);
@@ -427,4 +489,10 @@ exports.createCallingSDKLogger = function (omnichannelConfig, debug) {
427
489
  logger.setDebug(debug);
428
490
  return logger;
429
491
  };
492
+ exports.createAMSClientLogger = function (omnichannelConfig, debug) {
493
+ if (debug === void 0) { debug = false; }
494
+ var logger = new AMSClientLogger(omnichannelConfig);
495
+ logger.setDebug(debug);
496
+ return logger;
497
+ };
430
498
  //# sourceMappingURL=loggers.js.map