@microsoft/omnichannel-chat-sdk 2.0.1 → 2.0.2-main.c0f210d

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.
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Fail-safe ACS chat token refresher backed by the Omnichannel renew chat token API.
3
+ *
4
+ * The refresher NEVER throws and NEVER returns an unusable token. On any failure (API not deployed, feature disabled,
5
+ * chat ended, network error, timeout, invalid response, ...) it returns the last known good token, which is exactly
6
+ * what the SDK did before renewal existed, so behavior falls back to the existing flow.
7
+ */
8
+ export interface RenewedChatToken {
9
+ ChatId?: string;
10
+ Token?: string;
11
+ ExpiresIn?: string | number;
12
+ VoiceVideoCallToken?: unknown;
13
+ }
14
+ export interface ChatTokenRefresherParams {
15
+ initialToken: string;
16
+ chatId: string;
17
+ /** Returns false once the chat this refresher was created for has ended or was replaced. */
18
+ isChatActive: () => boolean;
19
+ /** Calls the renew chat token API. May throw. */
20
+ renewChatToken: () => Promise<RenewedChatToken>;
21
+ /** Invoked after a usable token is received for the same chat. May throw. */
22
+ onRenewed: (renewed: RenewedChatToken) => void;
23
+ onStart?: () => void;
24
+ onSuccess?: () => void;
25
+ onFailure?: (reason: string, error?: unknown) => void;
26
+ /** Returns true when an HTTP status means renewal cannot succeed for this chat. Checked on each failure. */
27
+ isNonRetriableStatus?: (statusCode: number) => boolean;
28
+ retryCooldownInMs?: number;
29
+ timeoutInMs?: number;
30
+ now?: () => number;
31
+ }
32
+ export declare const defaultChatTokenRenewalRetryCooldownInMs: number;
33
+ export declare const defaultChatTokenRenewalTimeoutInMs: number;
34
+ export declare const defaultNonRetriableStatusCodes: number[];
35
+ export declare const authenticatedNonRetriableStatusCodes: number[];
36
+ /**
37
+ * Returns true when the token is a JWT whose exp claim is far enough in the future to be accepted by ACS.
38
+ */
39
+ export declare const isChatTokenUsable: (token: unknown, nowInMs?: number) => boolean;
40
+ export declare const createChatTokenRefresher: (params: ChatTokenRefresherParams) => (() => Promise<string>);
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /**
3
+ * Fail-safe ACS chat token refresher backed by the Omnichannel renew chat token API.
4
+ *
5
+ * The refresher NEVER throws and NEVER returns an unusable token. On any failure (API not deployed, feature disabled,
6
+ * chat ended, network error, timeout, invalid response, ...) it returns the last known good token, which is exactly
7
+ * what the SDK did before renewal existed, so behavior falls back to the existing flow.
8
+ */
9
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
16
+ });
17
+ };
18
+ var __generator = (this && this.__generator) || function (thisArg, body) {
19
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
20
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
21
+ function verb(n) { return function (v) { return step([n, v]); }; }
22
+ function step(op) {
23
+ if (f) throw new TypeError("Generator is already executing.");
24
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
25
+ 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;
26
+ if (y = 0, t) op = [op[0] & 2, t.value];
27
+ switch (op[0]) {
28
+ case 0: case 1: t = op; break;
29
+ case 4: _.label++; return { value: op[1], done: false };
30
+ case 5: _.label++; y = op[1]; op = [0]; continue;
31
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
32
+ default:
33
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
34
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
35
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
36
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
37
+ if (t[2]) _.ops.pop();
38
+ _.trys.pop(); continue;
39
+ }
40
+ op = body.call(thisArg, _);
41
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
42
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
43
+ }
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.createChatTokenRefresher = exports.isChatTokenUsable = exports.authenticatedNonRetriableStatusCodes = exports.defaultNonRetriableStatusCodes = exports.defaultChatTokenRenewalTimeoutInMs = exports.defaultChatTokenRenewalRetryCooldownInMs = void 0;
47
+ exports.defaultChatTokenRenewalRetryCooldownInMs = 60 * 1000;
48
+ exports.defaultChatTokenRenewalTimeoutInMs = 60 * 1000;
49
+ var minimumTokenLifetimeInMs = 60 * 1000;
50
+ // The API is not deployed, renewal is disabled for the org, or the chat cannot be renewed. Retrying will not help.
51
+ exports.defaultNonRetriableStatusCodes = [400, 401, 403, 404, 405];
52
+ // On the authenticated route, 400/401/403 come from customer token validation and can succeed once the host has a fresh token.
53
+ exports.authenticatedNonRetriableStatusCodes = [404, 405];
54
+ var decodeBase64Url = function (value) {
55
+ var base64 = value.replace(/-/g, "+").replace(/_/g, "/");
56
+ var padded = base64 + "=".repeat((4 - (base64.length % 4)) % 4);
57
+ if (typeof atob === "function") {
58
+ return atob(padded);
59
+ }
60
+ if (typeof Buffer !== "undefined" && typeof Buffer.from === "function") {
61
+ return Buffer.from(padded, "base64").toString("utf8");
62
+ }
63
+ return null;
64
+ };
65
+ /**
66
+ * Returns true when the token is a JWT whose exp claim is far enough in the future to be accepted by ACS.
67
+ */
68
+ var isChatTokenUsable = function (token, nowInMs) {
69
+ if (nowInMs === void 0) { nowInMs = Date.now(); }
70
+ try {
71
+ if (typeof token !== "string" || token.trim().length === 0) {
72
+ return false;
73
+ }
74
+ var parts = token.split(".");
75
+ if (parts.length !== 3) {
76
+ return false;
77
+ }
78
+ var payload = decodeBase64Url(parts[1]);
79
+ if (!payload) {
80
+ return false;
81
+ }
82
+ var exp = JSON.parse(payload).exp;
83
+ return typeof exp === "number" && exp * 1000 > nowInMs + minimumTokenLifetimeInMs;
84
+ }
85
+ catch (_a) {
86
+ return false;
87
+ }
88
+ };
89
+ exports.isChatTokenUsable = isChatTokenUsable;
90
+ var getStatusCode = function (error) {
91
+ var _a;
92
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
+ var status = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status;
94
+ return typeof status === "number" ? status : undefined;
95
+ };
96
+ var createChatTokenRefresher = function (params) {
97
+ var _a, _b, _c, _d;
98
+ var retryCooldownInMs = (_a = params.retryCooldownInMs) !== null && _a !== void 0 ? _a : exports.defaultChatTokenRenewalRetryCooldownInMs;
99
+ var timeoutInMs = (_b = params.timeoutInMs) !== null && _b !== void 0 ? _b : exports.defaultChatTokenRenewalTimeoutInMs;
100
+ var now = (_c = params.now) !== null && _c !== void 0 ? _c : (function () { return Date.now(); });
101
+ var isNonRetriableStatus = (_d = params.isNonRetriableStatus) !== null && _d !== void 0 ? _d : (function (statusCode) { return exports.defaultNonRetriableStatusCodes.includes(statusCode); });
102
+ var latestToken = params.initialToken;
103
+ var isDisabled = false;
104
+ var lastFailureTime = null;
105
+ var activeRenewal = null;
106
+ var safeInvoke = function (callback) {
107
+ try {
108
+ callback === null || callback === void 0 ? void 0 : callback();
109
+ }
110
+ catch (_a) {
111
+ // Telemetry callbacks must never break the refresh.
112
+ }
113
+ };
114
+ var fail = function (reason, error, disable) {
115
+ if (disable === void 0) { disable = false; }
116
+ if (disable) {
117
+ isDisabled = true;
118
+ }
119
+ else {
120
+ lastFailureTime = now();
121
+ }
122
+ safeInvoke(function () { var _a; return (_a = params.onFailure) === null || _a === void 0 ? void 0 : _a.call(params, reason, error); });
123
+ return latestToken;
124
+ };
125
+ var renew = function () { return __awaiter(void 0, void 0, void 0, function () {
126
+ var renewed, timeoutId_1, timeout, error_1, statusCode, isNonRetriable;
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ safeInvoke(params.onStart);
131
+ _a.label = 1;
132
+ case 1:
133
+ _a.trys.push([1, 6, , 7]);
134
+ timeout = new Promise(function (_, reject) {
135
+ timeoutId_1 = setTimeout(function () { return reject(new Error("RenewChatTokenTimeout")); }, timeoutInMs);
136
+ });
137
+ _a.label = 2;
138
+ case 2:
139
+ _a.trys.push([2, , 4, 5]);
140
+ return [4 /*yield*/, Promise.race([params.renewChatToken(), timeout])];
141
+ case 3:
142
+ renewed = _a.sent();
143
+ return [3 /*break*/, 5];
144
+ case 4:
145
+ clearTimeout(timeoutId_1);
146
+ return [7 /*endfinally*/];
147
+ case 5: return [3 /*break*/, 7];
148
+ case 6:
149
+ error_1 = _a.sent();
150
+ statusCode = getStatusCode(error_1);
151
+ isNonRetriable = statusCode !== undefined && isNonRetriableStatus(statusCode);
152
+ return [2 /*return*/, fail(statusCode !== undefined ? "HttpStatus".concat(statusCode) : "RequestFailed", error_1, isNonRetriable)];
153
+ case 7:
154
+ if (!params.isChatActive()) {
155
+ return [2 /*return*/, fail("ChatNotActive")];
156
+ }
157
+ if (!renewed || renewed.ChatId !== params.chatId) {
158
+ return [2 /*return*/, fail("ChatIdMismatch")];
159
+ }
160
+ if (!(0, exports.isChatTokenUsable)(renewed.Token, now())) {
161
+ return [2 /*return*/, fail("InvalidToken")];
162
+ }
163
+ try {
164
+ params.onRenewed(renewed);
165
+ }
166
+ catch (error) {
167
+ return [2 /*return*/, fail("UpdateFailed", error)];
168
+ }
169
+ latestToken = renewed.Token;
170
+ lastFailureTime = null;
171
+ safeInvoke(params.onSuccess);
172
+ return [2 /*return*/, latestToken];
173
+ }
174
+ });
175
+ }); };
176
+ return function () { return __awaiter(void 0, void 0, void 0, function () {
177
+ var _a;
178
+ return __generator(this, function (_b) {
179
+ switch (_b.label) {
180
+ case 0:
181
+ _b.trys.push([0, 2, , 3]);
182
+ if (isDisabled || !params.isChatActive()) {
183
+ return [2 /*return*/, latestToken];
184
+ }
185
+ if (lastFailureTime !== null && now() - lastFailureTime < retryCooldownInMs) {
186
+ return [2 /*return*/, latestToken];
187
+ }
188
+ if (!activeRenewal) {
189
+ activeRenewal = (function () { return __awaiter(void 0, void 0, void 0, function () {
190
+ return __generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ _a.trys.push([0, , 2, 3]);
194
+ return [4 /*yield*/, renew()];
195
+ case 1: return [2 /*return*/, _a.sent()];
196
+ case 2:
197
+ activeRenewal = null;
198
+ return [7 /*endfinally*/];
199
+ case 3: return [2 /*return*/];
200
+ }
201
+ });
202
+ }); })();
203
+ }
204
+ return [4 /*yield*/, activeRenewal];
205
+ case 1: return [2 /*return*/, _b.sent()];
206
+ case 2:
207
+ _a = _b.sent();
208
+ return [2 /*return*/, latestToken];
209
+ case 3: return [2 /*return*/];
210
+ }
211
+ });
212
+ }); };
213
+ };
214
+ exports.createChatTokenRefresher = createChatTokenRefresher;
215
+ //# sourceMappingURL=chatTokenRenewal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatTokenRenewal.js","sourceRoot":"","sources":["../../src/utils/chatTokenRenewal.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { ACSAdapterLogger, ACSClientLogger, AMSClientLogger, CallingSDKLogger, I
2
2
  import AriaTelemetry from "../telemetry/AriaTelemetry";
3
3
  export declare const _basePIIKeys: string[];
4
4
  export declare const _exceptionDetailPIIKeys: string[];
5
+ export declare const redactedSecretPlaceholder = "[REDACTED]";
6
+ export declare function redactSecrets(value: string): string;
5
7
  export declare const useTelemetry: (telemetry: typeof AriaTelemetry, ocSdkLogger: OCSDKLogger, acsClientLogger: ACSClientLogger, acsAdapterLogger: ACSAdapterLogger, callingSdkLogger: CallingSDKLogger, amsClientLogger: AMSClientLogger, ic3ClientLogger?: IC3ClientLogger | null) => void;
6
8
  export declare const setRuntimeId: (runtimeId: string, ocSdkLogger: OCSDKLogger, acsClientLogger: ACSClientLogger, acsAdapterLogger: ACSAdapterLogger, callingSdkLogger: CallingSDKLogger, amsClientLogger: AMSClientLogger, ic3ClientLogger?: IC3ClientLogger | null) => void;
7
9
  export declare const setRequestId: (requestId: string, ocSdkLogger?: OCSDKLogger | null, acsClientLogger?: ACSClientLogger | null, acsAdapterLogger?: ACSAdapterLogger | null, callingSdkLogger?: CallingSDKLogger | null, amsClientLogger?: AMSClientLogger | null, ic3ClientLogger?: IC3ClientLogger | null) => void;
@@ -9,18 +9,36 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9
9
  return to.concat(ar || Array.prototype.slice.call(from));
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.setChatId = exports.setDebugDetailed = exports.setDebug = exports.setRequestId = exports.setRuntimeId = exports.useTelemetry = exports._exceptionDetailPIIKeys = exports._basePIIKeys = void 0;
12
+ exports.setChatId = exports.setDebugDetailed = exports.setDebug = exports.setRequestId = exports.setRuntimeId = exports.useTelemetry = exports.redactedSecretPlaceholder = exports._exceptionDetailPIIKeys = exports._basePIIKeys = void 0;
13
+ exports.redactSecrets = redactSecrets;
13
14
  exports.redactPII = redactPII;
14
15
  var utilities_1 = require("./utilities");
15
16
  exports._basePIIKeys = [
16
17
  "senderDisplayName",
17
18
  "message",
18
19
  "content",
19
- "fileName"
20
+ "fileName",
21
+ // Untranslated message text added to message metadata by real-time translation
22
+ "OriginalMessageText"
20
23
  ]
21
24
  .map(function (s) { return s.toLowerCase(); });
22
25
  exports._exceptionDetailPIIKeys = __spreadArray(__spreadArray([], exports._basePIIKeys, true), ["authorization"], false);
23
26
  var disallowedStrValues = [];
27
+ exports.redactedSecretPlaceholder = "[REDACTED]";
28
+ // A JWT may follow any non-base64url character or a percent-encoded delimiter (e.g. "%3D" in a URL-encoded link).
29
+ // Anchoring on the preceding character keeps the scan linear, since base64url runs cannot start a new match.
30
+ var jwtPattern = /(^|[^A-Za-z0-9_-]|%[0-9A-Fa-f]{2})eyJ[A-Za-z0-9_-]{2,}\.[A-Za-z0-9_-]{2,}\.[A-Za-z0-9_-]*/g;
31
+ // Delimiters and "=" may be raw, percent-encoded (Safe Links style "%3F", "%26", "%23", "%3D") or HTML-escaped ("&amp;" ends in ";")
32
+ var sensitiveQueryParamPattern = /((?:[?&#;]|%3F|%26|%23)(?:access_token|id_token|refresh_token|token|sig|signature|code|api[-_]?key|secret|client_secret|password|pwd|passwd|workspace)(?:=|%3D))(?:[^%&#\s"'<>]|%(?!26|23)[0-9A-Fa-f]{2})+/gi;
33
+ // Backstop for credentials embedded in values that are not under a known PII key (e.g. a link pasted into a message)
34
+ function redactSecrets(value) {
35
+ if (!value) {
36
+ return value;
37
+ }
38
+ return value
39
+ .replace(jwtPattern, "$1".concat(exports.redactedSecretPlaceholder))
40
+ .replace(sensitiveQueryParamPattern, "$1".concat(exports.redactedSecretPlaceholder));
41
+ }
24
42
  var useTelemetry = function (telemetry, ocSdkLogger, acsClientLogger, acsAdapterLogger, callingSdkLogger, amsClientLogger, ic3ClientLogger) {
25
43
  if (ic3ClientLogger === void 0) { ic3ClientLogger = null; }
26
44
  ocSdkLogger.useTelemetry(telemetry);
@@ -88,6 +106,16 @@ function containsDisallowedValues(targetValue) {
88
106
  }
89
107
  return undefined;
90
108
  }
109
+ // Only stringified objects/arrays are traversed under PII keys; JSON primitives such as "\"text\"" or "1234" are masked like any other string
110
+ function parseJsonContainer(value) {
111
+ try {
112
+ var parsed = JSON.parse(value);
113
+ return parsed !== null && typeof parsed == "object" ? parsed : undefined;
114
+ }
115
+ catch (_a) {
116
+ return undefined;
117
+ }
118
+ }
91
119
  function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
92
120
  if (redactAllNested === void 0) { redactAllNested = false; }
93
121
  if (shouldClone === void 0) { shouldClone = true; }
@@ -101,7 +129,12 @@ function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
101
129
  // If stringified JSON, parse it first
102
130
  if (typeof input == "string") {
103
131
  if ((0, utilities_1.isJsonObject)(input)) {
104
- input = JSON.parse(input);
132
+ var parsed = JSON.parse(input);
133
+ if (typeof parsed == "string") {
134
+ // JSON-encoded string: decode again so doubly-encoded objects are still traversed. Terminates because each decode shortens the string.
135
+ return redactPII(parsed, redactAllNested, shouldClone, knownPIIKeys);
136
+ }
137
+ input = parsed;
105
138
  }
106
139
  else {
107
140
  var disallowedValue = containsDisallowedValues(input);
@@ -110,6 +143,9 @@ function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
110
143
  input = "".concat(disallowedValue, ":").concat(input.slice(0, 1), "**").concat(input.length - 1, " hidden**");
111
144
  }
112
145
  }
146
+ else {
147
+ input = redactSecrets(input);
148
+ }
113
149
  }
114
150
  }
115
151
  if (input && typeof input == "object") {
@@ -131,11 +167,12 @@ function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
131
167
  var keyLowerCase = key.toLowerCase();
132
168
  if (redactAllNested || knownPIIKeys.includes(keyLowerCase)) {
133
169
  // Found a PII key, redact it. Not currently considering UUID, or number types as PII
134
- // Any key that contains "token" is considered PII
170
+ // Keys are matched exactly (case-insensitive); token-like values under other keys are only caught by redactSecrets
135
171
  if (typeof value == "string") {
136
- // Even if it is a string, it could be a JSON string, so we need to check that first
137
- if ((0, utilities_1.isJsonObject)(value)) {
138
- cloned[key] = redactPII(JSON.parse(value), true, false, knownPIIKeys);
172
+ // A stringified object/array is traversed; any other string (including JSON primitives) is masked
173
+ var parsed = parseJsonContainer(value);
174
+ if (parsed) {
175
+ cloned[key] = redactPII(parsed, true, false, knownPIIKeys);
139
176
  }
140
177
  else {
141
178
  if (value.length > 1) {
@@ -153,7 +190,7 @@ function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
153
190
  }
154
191
  else if (typeof value === "string") {
155
192
  if ((0, utilities_1.isJsonObject)(value)) {
156
- // Check and redact stringified objects that are not under a known PII key
193
+ // Check and redact stringified values that are not under a known PII key
157
194
  cloned[key] = redactPII(JSON.parse(value), redactAllNested, false, knownPIIKeys);
158
195
  }
159
196
  else {
@@ -165,6 +202,9 @@ function redactPII(input, redactAllNested, shouldClone, knownPIIKeys) {
165
202
  + value.slice(0, 1) + "**".concat(value.length - 1, " hidden**");
166
203
  }
167
204
  }
205
+ else {
206
+ cloned[key] = redactSecrets(value);
207
+ }
168
208
  }
169
209
  }
170
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loggerUtils.js","sourceRoot":"","sources":["../../src/utils/loggerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loggerUtils.js","sourceRoot":"","sources":["../../src/utils/loggerUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-sdk",
3
- "version": "2.0.1",
3
+ "version": "2.0.2-main.c0f210d",
4
4
  "description": "Microsoft Omnichannel Chat SDK",
5
5
  "files": [
6
6
  "lib/**/*"
@@ -52,7 +52,7 @@
52
52
  "@azure/communication-chat": "1.6.0-beta.7",
53
53
  "@azure/communication-common": "2.4.2",
54
54
  "@microsoft/botframework-webchat-adapter-azure-communication-chat": "0.0.1-beta.8",
55
- "@microsoft/ocsdk": "0.6.0",
55
+ "@microsoft/ocsdk": "0.6.0-main.316a2fa",
56
56
  "@microsoft/omnichannel-amsclient": "0.2.0",
57
57
  "@microsoft/omnichannel-ic3core": "^0.1.5"
58
58
  },