@ironcorelabs/ironweb 3.2.1 → 4.0.15

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.
@@ -74,8 +74,16 @@ var ErrorCodes;
74
74
  ErrorCodes[ErrorCodes["GROUP_REMOVE_ADMINS_REQUEST_FAILURE"] = 412] = "GROUP_REMOVE_ADMINS_REQUEST_FAILURE";
75
75
  ErrorCodes[ErrorCodes["GROUP_UPDATE_REQUEST_FAILURE"] = 413] = "GROUP_UPDATE_REQUEST_FAILURE";
76
76
  ErrorCodes[ErrorCodes["GROUP_DELETE_REQUEST_FAILURE"] = 414] = "GROUP_DELETE_REQUEST_FAILURE";
77
+ ErrorCodes[ErrorCodes["GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE"] = 415] = "GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE";
78
+ ErrorCodes[ErrorCodes["GROUP_PRIVATE_KEY_ROTATION_FAILURE"] = 416] = "GROUP_PRIVATE_KEY_ROTATION_FAILURE";
79
+ ErrorCodes[ErrorCodes["GROUP_UPDATE_KEY_REQUEST_FAILURE"] = 417] = "GROUP_UPDATE_KEY_REQUEST_FAILURE";
80
+ ErrorCodes[ErrorCodes["GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE"] = 418] = "GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE";
77
81
  ErrorCodes[ErrorCodes["REQUEST_RATE_LIMITED"] = 500] = "REQUEST_RATE_LIMITED";
78
82
  ErrorCodes[ErrorCodes["POLICY_APPLY_REQUEST_FAILURE"] = 600] = "POLICY_APPLY_REQUEST_FAILURE";
83
+ ErrorCodes[ErrorCodes["SEARCH_CREATE_INDEX_FAILURE"] = 700] = "SEARCH_CREATE_INDEX_FAILURE";
84
+ ErrorCodes[ErrorCodes["SEARCH_INIT_INDEX_FAILURE"] = 701] = "SEARCH_INIT_INDEX_FAILURE";
85
+ ErrorCodes[ErrorCodes["SEARCH_TOKENIZE_DATA_FAILURE"] = 702] = "SEARCH_TOKENIZE_DATA_FAILURE";
86
+ ErrorCodes[ErrorCodes["SEARCH_TOKENIZE_QUERY_FAILURE"] = 703] = "SEARCH_TOKENIZE_QUERY_FAILURE";
79
87
  })(ErrorCodes = exports.ErrorCodes || (exports.ErrorCodes = {}));
80
88
  /*
81
89
  * Constants around frame communication
@@ -102,5 +110,5 @@ exports.UserAndGroupTypes = {
102
110
  };
103
111
  exports.Versions = {
104
112
  //This define is replaced at runtime during development, and at build time in the build script with the proper version
105
- SDK_VERSION: "3.2.1",
113
+ SDK_VERSION: "4.0.15",
106
114
  };
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var es6_promise_1 = require("es6-promise");
4
3
  var futurejs_1 = require("futurejs");
5
4
  var Constants_1 = require("../Constants");
6
5
  var SDKError_1 = require("../lib/SDKError");
@@ -67,7 +66,7 @@ exports.ShimMessenger = ShimMessenger;
67
66
  */
68
67
  var frame = window.document.createElement("iframe");
69
68
  exports.messenger = new ShimMessenger(frame);
70
- var frameLoadedPromise = new es6_promise_1.Promise(function (resolve, reject) {
69
+ var frameLoadedPromise = new Promise(function (resolve, reject) {
71
70
  //The frame "load" even fires even if the frame failed to load (e.g. 404). So once it loads, we want to verify that it is actually
72
71
  //responding to messages we pass it. So pass a test message and verify we get a response within a second. If it does, we resolve
73
72
  //this Promise for all future messages. If it fails we reject with the appropriate SDK error message.
@@ -62,7 +62,7 @@ function setUserPasscode(doesUserExist, passcode) {
62
62
  .map(function (sdkResponse) {
63
63
  ShimUtils_1.storeParentWindowSymmetricKey(sdkResponse.message.symmetricKey);
64
64
  ShimUtils_1.setSDKInitialized();
65
- return { user: sdkResponse.message.user };
65
+ return { user: sdkResponse.message.user, groupsNeedingRotation: sdkResponse.message.groupsNeedingRotation };
66
66
  });
67
67
  }
68
68
  /**
@@ -131,7 +131,10 @@ function initialize(jwtCallback, passcodeCallback) {
131
131
  }
132
132
  ShimUtils_1.storeParentWindowSymmetricKey(responsePayload.message.symmetricKey);
133
133
  ShimUtils_1.setSDKInitialized();
134
- return futurejs_1.default.of({ user: responsePayload.message.user });
134
+ return futurejs_1.default.of({
135
+ user: responsePayload.message.user,
136
+ groupsNeedingRotation: responsePayload.message.groupsNeedingRotation,
137
+ });
135
138
  })
136
139
  .toPromise();
137
140
  }
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var CodecSDK = require("./sdk/CodecSDK");
3
4
  var DocumentSDK = require("./sdk/DocumentSDK");
4
5
  var GroupSDK = require("./sdk/GroupSDK");
6
+ var SearchSDK = require("./sdk/SearchSDK");
5
7
  var UserSDK = require("./sdk/UserSDK");
6
- var CodecSDK = require("./sdk/CodecSDK");
7
8
  // https://github.com/Microsoft/TypeScript/issues/420
8
9
  // whenever this lands in TS we can get stronger compiler checking of our API <-> API Interface definition.
9
10
  exports.document = DocumentSDK;
10
11
  exports.user = UserSDK;
11
12
  exports.group = GroupSDK;
13
+ exports.search = SearchSDK;
12
14
  exports.codec = CodecSDK;
@@ -88,6 +88,16 @@ function dedupeArray(list, clearEmptyValues) {
88
88
  });
89
89
  }
90
90
  exports.dedupeArray = dedupeArray;
91
+ /**
92
+ * Validates that either an owner was specified or addAsAdmin is true allowing the creator to be the default owner.
93
+ * An error will be returned if no owner is specified and the group creator is not going to be an admin.
94
+ */
95
+ function validateOwnership(addAsAdmin, maybeOwner) {
96
+ if (!maybeOwner && addAsAdmin === false) {
97
+ throw new Error("Failed to create group because group ownership must be held by a group administrator");
98
+ }
99
+ }
100
+ exports.validateOwnership = validateOwnership;
91
101
  /**
92
102
  * Validate that the provided document ID is a string and has a length
93
103
  */
@@ -11,7 +11,7 @@ var ShimUtils_1 = require("./ShimUtils");
11
11
  * Checks bowser functionality to ensure random number generation is supported.
12
12
  */
13
13
  function supportsRandomNumGen() {
14
- var nativeCrypto = window.msCrypto || window.crypto;
14
+ var nativeCrypto = window.crypto;
15
15
  return typeof nativeCrypto === "object" && typeof nativeCrypto.getRandomValues === "function";
16
16
  }
17
17
  /**
@@ -1,4 +1,20 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
2
18
  Object.defineProperty(exports, "__esModule", { value: true });
3
19
  var futurejs_1 = require("futurejs");
4
20
  var Constants_1 = require("../../Constants");
@@ -14,7 +30,7 @@ var MAX_DOCUMENT_SIZE = 1024 * 2 * 1000; //2MB
14
30
  */
15
31
  function calculateDocumentCreateOptionsDefault(options) {
16
32
  //Generate a random ID for the document if the user didn't provide one
17
- var randomBytes = (window.msCrypto || window.crypto).getRandomValues(new Uint8Array(16));
33
+ var randomBytes = window.crypto.getRandomValues(new Uint8Array(16));
18
34
  var hexID = Array.prototype.map.call(randomBytes, function (byte) { return ("00" + byte.toString(16)).slice(-2); }).join("");
19
35
  if (!options) {
20
36
  return { documentID: hexID, documentName: "", accessList: { users: [], groups: [], grantToAuthor: true } };
@@ -157,7 +173,7 @@ function encryptToStore(documentData, options) {
157
173
  if (encryptOptions.documentID) {
158
174
  ShimUtils.validateID(encryptOptions.documentID);
159
175
  }
160
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
176
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
161
177
  var payload = {
162
178
  type: "DOCUMENT_STORE_ENCRYPT",
163
179
  message: {
@@ -198,7 +214,7 @@ function encrypt(documentData, options) {
198
214
  if (encryptOptions.documentID) {
199
215
  ShimUtils.validateID(encryptOptions.documentID);
200
216
  }
201
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
217
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
202
218
  var payload = {
203
219
  type: "DOCUMENT_ENCRYPT",
204
220
  message: {
@@ -303,7 +319,7 @@ function grantAccess(documentID, grantList) {
303
319
  ShimUtils.checkSDKInitialized();
304
320
  ShimUtils.validateID(documentID);
305
321
  ShimUtils.validateAccessList(grantList);
306
- var _a = ShimUtils.dedupeAccessLists(grantList), userGrants = _a[0], groupGrants = _a[1];
322
+ var _a = __read(ShimUtils.dedupeAccessLists(grantList), 2), userGrants = _a[0], groupGrants = _a[1];
307
323
  var payload = {
308
324
  type: "DOCUMENT_GRANT",
309
325
  message: {
@@ -330,7 +346,7 @@ function revokeAccess(documentID, revokeList) {
330
346
  ShimUtils.checkSDKInitialized();
331
347
  ShimUtils.validateID(documentID);
332
348
  ShimUtils.validateAccessList(revokeList);
333
- var _a = ShimUtils.dedupeAccessLists(revokeList), userRevocations = _a[0], groupRevocations = _a[1];
349
+ var _a = __read(ShimUtils.dedupeAccessLists(revokeList), 2), userRevocations = _a[0], groupRevocations = _a[1];
334
350
  var payload = {
335
351
  type: "DOCUMENT_REVOKE",
336
352
  message: {
@@ -395,7 +411,7 @@ exports.advanced = {
395
411
  if (encryptOptions.documentID) {
396
412
  ShimUtils.validateID(encryptOptions.documentID);
397
413
  }
398
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
414
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
399
415
  var payload = {
400
416
  type: "DOCUMENT_UNMANAGED_ENCRYPT",
401
417
  message: {
@@ -41,8 +41,9 @@ exports.get = get;
41
41
  * @param {GroupCreateOptions} options Group creation options
42
42
  */
43
43
  function create(options) {
44
- if (options === void 0) { options = { groupName: "", addAsMember: true }; }
44
+ if (options === void 0) { options = { groupName: "", addAsMember: true, addAsAdmin: true, needsRotation: false }; }
45
45
  ShimUtils.checkSDKInitialized();
46
+ ShimUtils.validateOwnership(options.addAsAdmin, options.ownerUserId);
46
47
  if (options.groupID) {
47
48
  ShimUtils.validateID(options.groupID);
48
49
  }
@@ -51,7 +52,14 @@ function create(options) {
51
52
  message: {
52
53
  groupID: options.groupID || "",
53
54
  groupName: options.groupName || "",
55
+ ownerUserId: options.ownerUserId,
54
56
  addAsMember: options.addAsMember !== false,
57
+ addAsAdmin: options.addAsAdmin !== false,
58
+ needsRotation: options.needsRotation === true,
59
+ userLists: {
60
+ memberList: options.memberList ? ShimUtils.dedupeArray(options.memberList, true) : [],
61
+ adminList: options.adminList ? ShimUtils.dedupeArray(options.adminList, true) : [],
62
+ },
55
63
  },
56
64
  };
57
65
  return FrameMediator.sendMessage(payload)
@@ -62,6 +70,27 @@ function create(options) {
62
70
  .toPromise();
63
71
  }
64
72
  exports.create = create;
73
+ /**
74
+ * Rotates the current group private key
75
+ * @param {string} groupID ID of the group to have private key rotated.
76
+ */
77
+ function rotatePrivateKey(groupID) {
78
+ ShimUtils.checkSDKInitialized();
79
+ ShimUtils.validateID(groupID);
80
+ var payload = {
81
+ type: "ROTATE_GROUP_PRIVATE_KEY",
82
+ message: {
83
+ groupID: groupID,
84
+ },
85
+ };
86
+ return FrameMediator.sendMessage(payload)
87
+ .map(function (_a) {
88
+ var message = _a.message;
89
+ return message;
90
+ })
91
+ .toPromise();
92
+ }
93
+ exports.rotatePrivateKey = rotatePrivateKey;
65
94
  /**
66
95
  * Update a group. Currently only supports updating the group name to a new value or clearing it out by passing in null.
67
96
  * @param {string} groupID ID of the group to update.
@@ -0,0 +1,95 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var FrameMediator = require("../FrameMediator");
15
+ var ShimUtils = require("../ShimUtils");
16
+ /**
17
+ * Class that is used to represent an initialized search index. Holds the search index ID (which is just a random ID used in the
18
+ * frames decrypted salt in-memory cache) so it can pass that down to the frame when tokenizing data.
19
+ */
20
+ var InitializedSearchIndex = /** @class */ (function () {
21
+ function InitializedSearchIndex(searchIndexId) {
22
+ this.searchIndexId = searchIndexId;
23
+ }
24
+ InitializedSearchIndex.prototype.tokenizeData = function (data, partitionId) {
25
+ return FrameMediator.sendMessage({
26
+ type: "BLIND_SEARCH_INDEX_TOKENIZE_DATA",
27
+ message: {
28
+ data: data,
29
+ partitionId: partitionId,
30
+ searchIndexId: this.searchIndexId,
31
+ },
32
+ })
33
+ .map(function (_a) {
34
+ var message = _a.message;
35
+ return message;
36
+ })
37
+ .toPromise();
38
+ };
39
+ InitializedSearchIndex.prototype.tokenizeQuery = function (query, partitionId) {
40
+ return FrameMediator.sendMessage({
41
+ type: "BLIND_SEARCH_INDEX_TOKENIZE_QUERY",
42
+ message: {
43
+ query: query,
44
+ partitionId: partitionId,
45
+ searchIndexId: this.searchIndexId,
46
+ },
47
+ })
48
+ .map(function (_a) {
49
+ var message = _a.message;
50
+ return message;
51
+ })
52
+ .toPromise();
53
+ };
54
+ return InitializedSearchIndex;
55
+ }());
56
+ /**
57
+ * Create a new blind search index and allow it to be decryptable by the provided group members. Creates and encrypts a new unmanaged
58
+ * document which is returned to the caller to store.
59
+ */
60
+ exports.createBlindSearchIndex = function (groupId) {
61
+ ShimUtils.checkSDKInitialized();
62
+ ShimUtils.validateID(groupId);
63
+ return FrameMediator.sendMessage({ type: "BLIND_SEARCH_INDEX_CREATE", message: { groupId: groupId } })
64
+ .map(function (_a) {
65
+ var message = _a.message;
66
+ return message;
67
+ })
68
+ .toPromise();
69
+ };
70
+ /**
71
+ * Initialize a blind search index using the fields returned from the createBlindSearchIndex method. Resolves with an instance of the
72
+ * InitializedSearchIndex class which
73
+ */
74
+ exports.initializeBlindSearchIndex = function (index) {
75
+ ShimUtils.checkSDKInitialized();
76
+ ShimUtils.validateDocumentData(index.searchIndexEncryptedSalt);
77
+ ShimUtils.validateDocumentData(index.searchIndexEdeks);
78
+ return FrameMediator.sendMessage({ type: "BLIND_SEARCH_INDEX_INIT", message: __assign({}, index) })
79
+ .map(function (_a) {
80
+ var message = _a.message;
81
+ return new InitializedSearchIndex(message.searchIndexId);
82
+ })
83
+ .toPromise();
84
+ };
85
+ /**
86
+ * Transliterate the provided string by latinizing each character and removing all special characters.
87
+ */
88
+ exports.transliterateString = function (string) {
89
+ return FrameMediator.sendMessage({ type: "SEARCH_TRANSLITERATE_STRING", message: string })
90
+ .map(function (_a) {
91
+ var message = _a.message;
92
+ return message;
93
+ })
94
+ .toPromise();
95
+ };
package/es/Constants.js CHANGED
@@ -72,8 +72,16 @@ export var ErrorCodes;
72
72
  ErrorCodes[ErrorCodes["GROUP_REMOVE_ADMINS_REQUEST_FAILURE"] = 412] = "GROUP_REMOVE_ADMINS_REQUEST_FAILURE";
73
73
  ErrorCodes[ErrorCodes["GROUP_UPDATE_REQUEST_FAILURE"] = 413] = "GROUP_UPDATE_REQUEST_FAILURE";
74
74
  ErrorCodes[ErrorCodes["GROUP_DELETE_REQUEST_FAILURE"] = 414] = "GROUP_DELETE_REQUEST_FAILURE";
75
+ ErrorCodes[ErrorCodes["GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE"] = 415] = "GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE";
76
+ ErrorCodes[ErrorCodes["GROUP_PRIVATE_KEY_ROTATION_FAILURE"] = 416] = "GROUP_PRIVATE_KEY_ROTATION_FAILURE";
77
+ ErrorCodes[ErrorCodes["GROUP_UPDATE_KEY_REQUEST_FAILURE"] = 417] = "GROUP_UPDATE_KEY_REQUEST_FAILURE";
78
+ ErrorCodes[ErrorCodes["GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE"] = 418] = "GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE";
75
79
  ErrorCodes[ErrorCodes["REQUEST_RATE_LIMITED"] = 500] = "REQUEST_RATE_LIMITED";
76
80
  ErrorCodes[ErrorCodes["POLICY_APPLY_REQUEST_FAILURE"] = 600] = "POLICY_APPLY_REQUEST_FAILURE";
81
+ ErrorCodes[ErrorCodes["SEARCH_CREATE_INDEX_FAILURE"] = 700] = "SEARCH_CREATE_INDEX_FAILURE";
82
+ ErrorCodes[ErrorCodes["SEARCH_INIT_INDEX_FAILURE"] = 701] = "SEARCH_INIT_INDEX_FAILURE";
83
+ ErrorCodes[ErrorCodes["SEARCH_TOKENIZE_DATA_FAILURE"] = 702] = "SEARCH_TOKENIZE_DATA_FAILURE";
84
+ ErrorCodes[ErrorCodes["SEARCH_TOKENIZE_QUERY_FAILURE"] = 703] = "SEARCH_TOKENIZE_QUERY_FAILURE";
77
85
  })(ErrorCodes || (ErrorCodes = {}));
78
86
  /*
79
87
  * Constants around frame communication
@@ -100,5 +108,5 @@ export var UserAndGroupTypes = {
100
108
  };
101
109
  export var Versions = {
102
110
  //This define is replaced at runtime during development, and at build time in the build script with the proper version
103
- SDK_VERSION: "3.2.1",
111
+ SDK_VERSION: "4.0.15",
104
112
  };
@@ -1,4 +1,3 @@
1
- import { Promise } from "es6-promise";
2
1
  import Future from "futurejs";
3
2
  import { ErrorCodes, Frame, Versions } from "../Constants";
4
3
  import SDKError from "../lib/SDKError";
@@ -60,7 +60,7 @@ function setUserPasscode(doesUserExist, passcode) {
60
60
  .map(function (sdkResponse) {
61
61
  storeParentWindowSymmetricKey(sdkResponse.message.symmetricKey);
62
62
  setSDKInitialized();
63
- return { user: sdkResponse.message.user };
63
+ return { user: sdkResponse.message.user, groupsNeedingRotation: sdkResponse.message.groupsNeedingRotation };
64
64
  });
65
65
  }
66
66
  /**
@@ -129,7 +129,10 @@ export function initialize(jwtCallback, passcodeCallback) {
129
129
  }
130
130
  storeParentWindowSymmetricKey(responsePayload.message.symmetricKey);
131
131
  setSDKInitialized();
132
- return Future.of({ user: responsePayload.message.user });
132
+ return Future.of({
133
+ user: responsePayload.message.user,
134
+ groupsNeedingRotation: responsePayload.message.groupsNeedingRotation,
135
+ });
133
136
  })
134
137
  .toPromise();
135
138
  }
package/es/shim/SDK.js CHANGED
@@ -1,10 +1,12 @@
1
+ import * as CodecSDK from "./sdk/CodecSDK";
1
2
  import * as DocumentSDK from "./sdk/DocumentSDK";
2
3
  import * as GroupSDK from "./sdk/GroupSDK";
4
+ import * as SearchSDK from "./sdk/SearchSDK";
3
5
  import * as UserSDK from "./sdk/UserSDK";
4
- import * as CodecSDK from "./sdk/CodecSDK";
5
6
  // https://github.com/Microsoft/TypeScript/issues/420
6
7
  // whenever this lands in TS we can get stronger compiler checking of our API <-> API Interface definition.
7
8
  export var document = DocumentSDK;
8
9
  export var user = UserSDK;
9
10
  export var group = GroupSDK;
11
+ export var search = SearchSDK;
10
12
  export var codec = CodecSDK;
@@ -79,6 +79,15 @@ export function dedupeArray(list, clearEmptyValues) {
79
79
  return true;
80
80
  });
81
81
  }
82
+ /**
83
+ * Validates that either an owner was specified or addAsAdmin is true allowing the creator to be the default owner.
84
+ * An error will be returned if no owner is specified and the group creator is not going to be an admin.
85
+ */
86
+ export function validateOwnership(addAsAdmin, maybeOwner) {
87
+ if (!maybeOwner && addAsAdmin === false) {
88
+ throw new Error("Failed to create group because group ownership must be held by a group administrator");
89
+ }
90
+ }
82
91
  /**
83
92
  * Validate that the provided document ID is a string and has a length
84
93
  */
package/es/shim/index.js CHANGED
@@ -6,7 +6,7 @@ import { checkSDKInitialized } from "./ShimUtils";
6
6
  * Checks bowser functionality to ensure random number generation is supported.
7
7
  */
8
8
  function supportsRandomNumGen() {
9
- var nativeCrypto = window.msCrypto || window.crypto;
9
+ var nativeCrypto = window.crypto;
10
10
  return typeof nativeCrypto === "object" && typeof nativeCrypto.getRandomValues === "function";
11
11
  }
12
12
  /**
@@ -1,3 +1,19 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
1
17
  import Future from "futurejs";
2
18
  import { ErrorCodes, HEADER_META_LENGTH_LENGTH, VERSION_HEADER_LENGTH } from "../../Constants";
3
19
  import SDKError from "../../lib/SDKError";
@@ -12,7 +28,7 @@ var MAX_DOCUMENT_SIZE = 1024 * 2 * 1000; //2MB
12
28
  */
13
29
  function calculateDocumentCreateOptionsDefault(options) {
14
30
  //Generate a random ID for the document if the user didn't provide one
15
- var randomBytes = (window.msCrypto || window.crypto).getRandomValues(new Uint8Array(16));
31
+ var randomBytes = window.crypto.getRandomValues(new Uint8Array(16));
16
32
  var hexID = Array.prototype.map.call(randomBytes, function (byte) { return ("00" + byte.toString(16)).slice(-2); }).join("");
17
33
  if (!options) {
18
34
  return { documentID: hexID, documentName: "", accessList: { users: [], groups: [], grantToAuthor: true } };
@@ -150,7 +166,7 @@ export function encryptToStore(documentData, options) {
150
166
  if (encryptOptions.documentID) {
151
167
  ShimUtils.validateID(encryptOptions.documentID);
152
168
  }
153
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
169
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
154
170
  var payload = {
155
171
  type: "DOCUMENT_STORE_ENCRYPT",
156
172
  message: {
@@ -190,7 +206,7 @@ export function encrypt(documentData, options) {
190
206
  if (encryptOptions.documentID) {
191
207
  ShimUtils.validateID(encryptOptions.documentID);
192
208
  }
193
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
209
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
194
210
  var payload = {
195
211
  type: "DOCUMENT_ENCRYPT",
196
212
  message: {
@@ -291,7 +307,7 @@ export function grantAccess(documentID, grantList) {
291
307
  ShimUtils.checkSDKInitialized();
292
308
  ShimUtils.validateID(documentID);
293
309
  ShimUtils.validateAccessList(grantList);
294
- var _a = ShimUtils.dedupeAccessLists(grantList), userGrants = _a[0], groupGrants = _a[1];
310
+ var _a = __read(ShimUtils.dedupeAccessLists(grantList), 2), userGrants = _a[0], groupGrants = _a[1];
295
311
  var payload = {
296
312
  type: "DOCUMENT_GRANT",
297
313
  message: {
@@ -317,7 +333,7 @@ export function revokeAccess(documentID, revokeList) {
317
333
  ShimUtils.checkSDKInitialized();
318
334
  ShimUtils.validateID(documentID);
319
335
  ShimUtils.validateAccessList(revokeList);
320
- var _a = ShimUtils.dedupeAccessLists(revokeList), userRevocations = _a[0], groupRevocations = _a[1];
336
+ var _a = __read(ShimUtils.dedupeAccessLists(revokeList), 2), userRevocations = _a[0], groupRevocations = _a[1];
321
337
  var payload = {
322
338
  type: "DOCUMENT_REVOKE",
323
339
  message: {
@@ -381,7 +397,7 @@ export var advanced = {
381
397
  if (encryptOptions.documentID) {
382
398
  ShimUtils.validateID(encryptOptions.documentID);
383
399
  }
384
- var _a = ShimUtils.dedupeAccessLists(encryptOptions.accessList), userGrants = _a[0], groupGrants = _a[1];
400
+ var _a = __read(ShimUtils.dedupeAccessLists(encryptOptions.accessList), 2), userGrants = _a[0], groupGrants = _a[1];
385
401
  var payload = {
386
402
  type: "DOCUMENT_UNMANAGED_ENCRYPT",
387
403
  message: {
@@ -37,8 +37,9 @@ export function get(groupID) {
37
37
  * @param {GroupCreateOptions} options Group creation options
38
38
  */
39
39
  export function create(options) {
40
- if (options === void 0) { options = { groupName: "", addAsMember: true }; }
40
+ if (options === void 0) { options = { groupName: "", addAsMember: true, addAsAdmin: true, needsRotation: false }; }
41
41
  ShimUtils.checkSDKInitialized();
42
+ ShimUtils.validateOwnership(options.addAsAdmin, options.ownerUserId);
42
43
  if (options.groupID) {
43
44
  ShimUtils.validateID(options.groupID);
44
45
  }
@@ -47,7 +48,34 @@ export function create(options) {
47
48
  message: {
48
49
  groupID: options.groupID || "",
49
50
  groupName: options.groupName || "",
51
+ ownerUserId: options.ownerUserId,
50
52
  addAsMember: options.addAsMember !== false,
53
+ addAsAdmin: options.addAsAdmin !== false,
54
+ needsRotation: options.needsRotation === true,
55
+ userLists: {
56
+ memberList: options.memberList ? ShimUtils.dedupeArray(options.memberList, true) : [],
57
+ adminList: options.adminList ? ShimUtils.dedupeArray(options.adminList, true) : [],
58
+ },
59
+ },
60
+ };
61
+ return FrameMediator.sendMessage(payload)
62
+ .map(function (_a) {
63
+ var message = _a.message;
64
+ return message;
65
+ })
66
+ .toPromise();
67
+ }
68
+ /**
69
+ * Rotates the current group private key
70
+ * @param {string} groupID ID of the group to have private key rotated.
71
+ */
72
+ export function rotatePrivateKey(groupID) {
73
+ ShimUtils.checkSDKInitialized();
74
+ ShimUtils.validateID(groupID);
75
+ var payload = {
76
+ type: "ROTATE_GROUP_PRIVATE_KEY",
77
+ message: {
78
+ groupID: groupID,
51
79
  },
52
80
  };
53
81
  return FrameMediator.sendMessage(payload)
@@ -0,0 +1,93 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import * as FrameMediator from "../FrameMediator";
13
+ import * as ShimUtils from "../ShimUtils";
14
+ /**
15
+ * Class that is used to represent an initialized search index. Holds the search index ID (which is just a random ID used in the
16
+ * frames decrypted salt in-memory cache) so it can pass that down to the frame when tokenizing data.
17
+ */
18
+ var InitializedSearchIndex = /** @class */ (function () {
19
+ function InitializedSearchIndex(searchIndexId) {
20
+ this.searchIndexId = searchIndexId;
21
+ }
22
+ InitializedSearchIndex.prototype.tokenizeData = function (data, partitionId) {
23
+ return FrameMediator.sendMessage({
24
+ type: "BLIND_SEARCH_INDEX_TOKENIZE_DATA",
25
+ message: {
26
+ data: data,
27
+ partitionId: partitionId,
28
+ searchIndexId: this.searchIndexId,
29
+ },
30
+ })
31
+ .map(function (_a) {
32
+ var message = _a.message;
33
+ return message;
34
+ })
35
+ .toPromise();
36
+ };
37
+ InitializedSearchIndex.prototype.tokenizeQuery = function (query, partitionId) {
38
+ return FrameMediator.sendMessage({
39
+ type: "BLIND_SEARCH_INDEX_TOKENIZE_QUERY",
40
+ message: {
41
+ query: query,
42
+ partitionId: partitionId,
43
+ searchIndexId: this.searchIndexId,
44
+ },
45
+ })
46
+ .map(function (_a) {
47
+ var message = _a.message;
48
+ return message;
49
+ })
50
+ .toPromise();
51
+ };
52
+ return InitializedSearchIndex;
53
+ }());
54
+ /**
55
+ * Create a new blind search index and allow it to be decryptable by the provided group members. Creates and encrypts a new unmanaged
56
+ * document which is returned to the caller to store.
57
+ */
58
+ export var createBlindSearchIndex = function (groupId) {
59
+ ShimUtils.checkSDKInitialized();
60
+ ShimUtils.validateID(groupId);
61
+ return FrameMediator.sendMessage({ type: "BLIND_SEARCH_INDEX_CREATE", message: { groupId: groupId } })
62
+ .map(function (_a) {
63
+ var message = _a.message;
64
+ return message;
65
+ })
66
+ .toPromise();
67
+ };
68
+ /**
69
+ * Initialize a blind search index using the fields returned from the createBlindSearchIndex method. Resolves with an instance of the
70
+ * InitializedSearchIndex class which
71
+ */
72
+ export var initializeBlindSearchIndex = function (index) {
73
+ ShimUtils.checkSDKInitialized();
74
+ ShimUtils.validateDocumentData(index.searchIndexEncryptedSalt);
75
+ ShimUtils.validateDocumentData(index.searchIndexEdeks);
76
+ return FrameMediator.sendMessage({ type: "BLIND_SEARCH_INDEX_INIT", message: __assign({}, index) })
77
+ .map(function (_a) {
78
+ var message = _a.message;
79
+ return new InitializedSearchIndex(message.searchIndexId);
80
+ })
81
+ .toPromise();
82
+ };
83
+ /**
84
+ * Transliterate the provided string by latinizing each character and removing all special characters.
85
+ */
86
+ export var transliterateString = function (string) {
87
+ return FrameMediator.sendMessage({ type: "SEARCH_TRANSLITERATE_STRING", message: string })
88
+ .map(function (_a) {
89
+ var message = _a.message;
90
+ return message;
91
+ })
92
+ .toPromise();
93
+ };
package/ironweb.d.ts CHANGED
@@ -29,8 +29,14 @@ export interface Policy {
29
29
  export interface GroupCreateOptions {
30
30
  groupID?: string;
31
31
  groupName?: string;
32
+ ownerUserId?: string;
32
33
  addAsMember?: boolean;
34
+ addAsAdmin?: boolean;
35
+ memberList?: string[];
36
+ adminList?: string[];
37
+ needsRotation?: boolean;
33
38
  }
39
+
34
40
  export interface GroupUpdateOptions {
35
41
  groupName: string | null;
36
42
  }
@@ -108,6 +114,7 @@ export interface GroupListResponse {
108
114
  export interface GroupDetailResponse extends GroupMetaResponse {
109
115
  groupAdmins: string[];
110
116
  groupMembers: string[];
117
+ needsRotation?: boolean;
111
118
  }
112
119
  export interface GroupUserEditResponse {
113
120
  succeeded: string[];
@@ -137,12 +144,22 @@ export interface DeviceKeys {
137
144
  segmentId: number;
138
145
  devicePrivateKey: PrivateKey<Base64String>;
139
146
  signingPrivateKey: PrivateKey<Base64String>;
147
+ id: number;
148
+ created: RFC3339Timestamp;
149
+ name?: string;
140
150
  }
141
-
142
151
  export interface UserCreateOptions {
143
152
  needsRotation?: boolean;
144
153
  }
145
154
 
155
+ /**
156
+ * Search SDK response types
157
+ */
158
+ export interface BlindSearchIndex {
159
+ searchIndexEncryptedSalt: Uint8Array;
160
+ searchIndexEdeks: Uint8Array;
161
+ }
162
+
146
163
  /**
147
164
  * SDK Namespaces
148
165
  */
@@ -182,6 +199,17 @@ export interface Group {
182
199
  addMembers(groupID: string, userList: string[]): Promise<GroupUserEditResponse>;
183
200
  removeMembers(groupID: string, userList: string[]): Promise<GroupUserEditResponse>;
184
201
  removeSelfAsMember(groupID: string): Promise<void>;
202
+ rotatePrivateKey(groupID: string): Promise<{needsRotation: boolean}>;
203
+ }
204
+
205
+ export interface Search {
206
+ createBlindSearchIndex(groupId: string): Promise<BlindSearchIndex>;
207
+ initializeBlindSearchIndex(index: BlindSearchIndex): Promise<InitializedSearchIndex>;
208
+ transliterateString(string: string): Promise<string>;
209
+ }
210
+ export interface InitializedSearchIndex {
211
+ tokenizeData(data: string, partitionId?: string): Promise<Uint32Array>;
212
+ tokenizeQuery(query: string, partitionId?: string): Promise<Uint32Array>;
185
213
  }
186
214
 
187
215
  export interface Codec {
@@ -203,6 +231,7 @@ export interface InitializedUser {
203
231
 
204
232
  export interface SDKInitializationResult {
205
233
  user: InitializedUser;
234
+ groupsNeedingRotation: string[];
206
235
  }
207
236
 
208
237
  export class SDKError extends Error {
@@ -266,7 +295,16 @@ export interface ErrorCodes {
266
295
  GROUP_REMOVE_ADMINS_REQUEST_FAILURE: 412;
267
296
  GROUP_UPDATE_REQUEST_FAILURE: 413;
268
297
  GROUP_DELETE_REQUEST_FAILURE: 414;
298
+ GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE: 415;
299
+ GROUP_PRIVATE_KEY_ROTATION_FAILURE: 416;
300
+ GROUP_UPDATE_KEY_REQUEST_FAILURE: 417;
301
+ GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE: 418;
269
302
  REQUEST_RATE_LIMITED: 500;
303
+ POLICY_APPLY_REQUEST_FAILURE: 600;
304
+ SEARCH_CREATE_INDEX_FAILURE: 700;
305
+ SEARCH_INIT_INDEX_FAILURE: 701;
306
+ SEARCH_TOKENIZE_DATA_FAILURE: 702;
307
+ SEARCH_TOKENIZE_QUERY_FAILURE: 703;
270
308
  }
271
309
 
272
310
  export const ErrorCodes: ErrorCodes;
package/ironweb.min.js CHANGED
@@ -1,8 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(window,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t,r){"use strict";t.__esModule=!0;var n=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){try{this.action(e,t)}catch(t){e(t)}},e.prototype.toPromise=function(){var e=this;return new Promise(function(t,r){return e.engage(r,t)})},e.prototype.map=function(t){return this.flatMap(function(r){return e.of(t(r))})},e.prototype.flatMap=function(t){var r=this;return new e(function(e,n){r.engage(e,function(r){return t(r).engage(e,n)})})},e.prototype.handleWith=function(t){var r=this;return new e(function(e,n){r.engage(function(r){t(r).engage(e,n)},n)})},e.prototype.errorMap=function(t){var r=this;return new e(function(e,n){r.engage(function(r){return e(t(r))},n)})},e.tryF=function(t){return new e(function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)})},e.tryP=function(t){return new e(function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)})},e.of=function(t){return new e(function(e,r){r(t)})},e.reject=function(t){return new e(function(e){e(t)})},e.encase=function(t,r){return new e(function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)})},e.gather2=function(t,r){return new e(function(e,n){var o=[],i=0,u=!1;t.engage(function(t){u||(u=!0,e(t))},function(e){o[0]=e,2==++i&&n(o)}),r.engage(function(t){u||(u=!0,e(t))},function(e){o[1]=e,2==++i&&n(o)})})},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map(function(e){var t=e[0];return[t[0],t[1],e[1]]})},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),i=this.gather2(r,n);return this.gather2(o,i).map(function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]})},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e(function(e,r){var n=[],o=0,i=!1;t.forEach(function(u,s){u.engage(function(t){i||(i=!0,e(t))},function(e){n[s]=e,(o+=1)===t.length&&r(n)})})})},e.allObject=function(e){var t=Object.keys(e),r=t.map(function(t){return e[t]});return this.allArray(r).map(function(e){return t.reduce(function(t,r,n){return t[r]=e[n],t},{})})},e}();t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="utf8: invalid string",o="utf8: invalid source encoding";function i(e){for(var t=0,r=0;r<e.length;r++){var o=e.charCodeAt(r);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(n);if(r>=e.length-1)throw new Error(n);r++,t+=4}}return t}t.encode=function(e){for(var t=new Uint8Array(i(e)),r=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=192|o>>6,t[r++]=128|63&o):o<55296?(t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o):(n++,o=(1023&o)<<10,o|=1023&e.charCodeAt(n),o+=65536,t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o)}return t},t.encodedLength=i,t.decode=function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];if(128&n){var i=void 0;if(n<224){if(r>=e.length)throw new Error(o);if(128!=(192&(u=e[++r])))throw new Error(o);n=(31&n)<<6|63&u,i=128}else if(n<240){if(r>=e.length-1)throw new Error(o);var u=e[++r],s=e[++r];if(128!=(192&u)||128!=(192&s))throw new Error(o);n=(15&n)<<12|(63&u)<<6|63&s,i=2048}else{if(!(n<248))throw new Error(o);if(r>=e.length-2)throw new Error(o);u=e[++r],s=e[++r];var a=e[++r];if(128!=(192&u)||128!=(192&s)||128!=(192&a))throw new Error(o);n=(15&n)<<18|(63&u)<<12|(63&s)<<6|63&a,i=65536}if(n<i||n>=55296&&n<=57343)throw new Error(o);if(n>=65536){if(n>1114111)throw new Error(o);n-=65536,t.push(String.fromCharCode(55296|n>>10)),n=56320|1023&n}}t.push(String.fromCharCode(n))}return t.join("")}},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),u=n[0],s=n[1],a=new i(function(e,t,r){return 3*(t+r)/4-r}(0,u,s)),E=0,f=s>0?u-4:u;for(r=0;r<f;r+=4)t=o[e.charCodeAt(r)]<<18|o[e.charCodeAt(r+1)]<<12|o[e.charCodeAt(r+2)]<<6|o[e.charCodeAt(r+3)],a[E++]=t>>16&255,a[E++]=t>>8&255,a[E++]=255&t;2===s&&(t=o[e.charCodeAt(r)]<<2|o[e.charCodeAt(r+1)]>>4,a[E++]=255&t);1===s&&(t=o[e.charCodeAt(r)]<<10|o[e.charCodeAt(r+1)]<<4|o[e.charCodeAt(r+2)]>>2,a[E++]=t>>8&255,a[E++]=255&t);return a},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],u=0,s=r-o;u<s;u+=16383)i.push(E(e,u,u+16383>s?s:u+16383));1===o?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")};for(var n=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=u.length;s<a;++s)n[s]=u[s],o[u.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function E(e,t,r){for(var o,i,u=[],s=t;s<r;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),u.push(n[(i=o)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return u.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t,r){(function(t,r){
2
- /*!
3
- * @overview es6-promise - a tiny implementation of Promises/A+.
4
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
5
- * @license Licensed under MIT license
6
- * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
7
- * @version v4.2.8+1e68dce6
8
- */var n;n=function(){"use strict";function e(e){return"function"==typeof e}var n=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},o=0,i=void 0,u=void 0,s=function(e,t){d[o]=e,d[o+1]=t,2===(o+=2)&&(u?u(A):U())},a="undefined"!=typeof window?window:void 0,c=a||{},E=c.MutationObserver||c.WebKitMutationObserver,f="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),_="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function R(){var e=setTimeout;return function(){return e(A,1)}}var d=new Array(1e3);function A(){for(var e=0;e<o;e+=2){(0,d[e])(d[e+1]),d[e]=void 0,d[e+1]=void 0}o=0}var l,m,p,h,U=void 0;function T(e,t){var r=this,n=new this.constructor(y);void 0===n[g]&&G(n);var o=r._state;if(o){var i=arguments[o-1];s(function(){return F(o,n,i,r._result)})}else N(r,n,e,t);return n}function I(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(y);return w(t,e),t}f?U=function(){return t.nextTick(A)}:E?(m=0,p=new E(A),h=document.createTextNode(""),p.observe(h,{characterData:!0}),U=function(){h.data=m=++m%2}):_?((l=new MessageChannel).port1.onmessage=A,U=function(){return l.port2.postMessage(0)}):U=void 0===a?function(){try{var e=Function("return this")().require("vertx");return void 0!==(i=e.runOnLoop||e.runOnContext)?function(){i(A)}:R()}catch(e){return R()}}():R();var g=Math.random().toString(36).substring(2);function y(){}var D=void 0,S=1,v=2;function O(t,r,n){r.constructor===t.constructor&&n===T&&r.constructor.resolve===I?function(e,t){t._state===S?M(e,t._result):t._state===v?P(e,t._result):N(t,void 0,function(t){return w(e,t)},function(t){return P(e,t)})}(t,r):void 0===n?M(t,r):e(n)?function(e,t,r){s(function(e){var n=!1,o=function(e,t,r,n){try{e.call(t,r,n)}catch(e){return e}}(r,t,function(r){n||(n=!0,t!==r?w(e,r):M(e,r))},function(t){n||(n=!0,P(e,t))},e._label);!n&&o&&(n=!0,P(e,o))},e)}(t,r,n):M(t,r)}function w(e,t){if(e===t)P(e,new TypeError("You cannot resolve a promise with itself"));else if(o=typeof(n=t),null===n||"object"!==o&&"function"!==o)M(e,t);else{var r=void 0;try{r=t.then}catch(t){return void P(e,t)}O(e,t,r)}var n,o}function L(e){e._onerror&&e._onerror(e._result),C(e)}function M(e,t){e._state===D&&(e._result=t,e._state=S,0!==e._subscribers.length&&s(C,e))}function P(e,t){e._state===D&&(e._state=v,e._result=t,s(L,e))}function N(e,t,r,n){var o=e._subscribers,i=o.length;e._onerror=null,o[i]=t,o[i+S]=r,o[i+v]=n,0===i&&e._state&&s(C,e)}function C(e){var t=e._subscribers,r=e._state;if(0!==t.length){for(var n=void 0,o=void 0,i=e._result,u=0;u<t.length;u+=3)n=t[u],o=t[u+r],n?F(r,n,o,i):o(i);e._subscribers.length=0}}function F(t,r,n,o){var i=e(n),u=void 0,s=void 0,a=!0;if(i){try{u=n(o)}catch(e){a=!1,s=e}if(r===u)return void P(r,new TypeError("A promises callback cannot return that same promise."))}else u=o;r._state!==D||(i&&a?w(r,u):!1===a?P(r,s):t===S?M(r,u):t===v&&P(r,u))}var b=0;function G(e){e[g]=b++,e._state=void 0,e._result=void 0,e._subscribers=[]}var Y=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(y),this.promise[g]||G(this.promise),n(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?M(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&M(this.promise,this._result))):P(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;this._state===D&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var r=this._instanceConstructor,n=r.resolve;if(n===I){var o=void 0,i=void 0,u=!1;try{o=e.then}catch(e){u=!0,i=e}if(o===T&&e._state!==D)this._settledAt(e._state,t,e._result);else if("function"!=typeof o)this._remaining--,this._result[t]=e;else if(r===Q){var s=new r(y);u?P(s,i):O(s,e,o),this._willSettleAt(s,t)}else this._willSettleAt(new r(function(t){return t(e)}),t)}else this._willSettleAt(n(e),t)},e.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===D&&(this._remaining--,e===v?P(n,r):this._result[t]=r),0===this._remaining&&M(n,this._result)},e.prototype._willSettleAt=function(e,t){var r=this;N(e,void 0,function(e){return r._settledAt(S,t,e)},function(e){return r._settledAt(v,t,e)})},e}(),Q=function(){function t(e){this[g]=b++,this._result=this._state=void 0,this._subscribers=[],y!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(e,t){try{t(function(t){w(e,t)},function(t){P(e,t)})}catch(t){P(e,t)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(t){var r=this.constructor;return e(t)?this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):this.then(t,t)},t}();return Q.prototype.then=T,Q.all=function(e){return new Y(this,e).promise},Q.race=function(e){var t=this;return n(e)?new t(function(r,n){for(var o=e.length,i=0;i<o;i++)t.resolve(e[i]).then(r,n)}):new t(function(e,t){return t(new TypeError("You must pass an array to race."))})},Q.resolve=I,Q.reject=function(e){var t=new this(y);return P(t,e),t},Q._setScheduler=function(e){u=e},Q._setAsap=function(e){s=e},Q._asap=s,Q.polyfill=function(){var e=void 0;if(void 0!==r)e=r;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=Q},Q.Promise=Q,Q},e.exports=n()}).call(this,r(4),r(5))},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:u}catch(e){n=u}}();var a,c=[],E=!1,f=-1;function _(){E&&a&&(E=!1,a.length?c=a.concat(c):f=-1,c.length&&R())}function R(){if(!E){var e=s(_);E=!0;for(var t=c.length;t;){for(a=c,c=[];++f<t;)a&&a[f].run();f=-1,t=c.length}a=null,E=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===u||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function A(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new d(e,t)),1!==c.length||E||s(R)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=A,o.addListener=A,o.once=A,o.off=A,o.removeListener=A,o.removeAllListeners=A,o.emit=A,o.prependListener=A,o.prependOnceListener=A,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t);var n={};r.r(n),r.d(n,"utf8",function(){return k}),r.d(n,"base64",function(){return H});var o={};r.r(o),r.d(o,"list",function(){return X}),r.d(o,"getMetadata",function(){return Z}),r.d(o,"getDocumentIDFromBytes",function(){return q}),r.d(o,"decryptFromStore",function(){return $}),r.d(o,"decrypt",function(){return ee}),r.d(o,"encryptToStore",function(){return te}),r.d(o,"encrypt",function(){return re}),r.d(o,"updateEncryptedDataInStore",function(){return ne}),r.d(o,"updateEncryptedData",function(){return oe}),r.d(o,"updateName",function(){return ie}),r.d(o,"grantAccess",function(){return ue}),r.d(o,"revokeAccess",function(){return se}),r.d(o,"advanced",function(){return ae});var i={};r.r(i),r.d(i,"list",function(){return ce}),r.d(i,"get",function(){return Ee}),r.d(i,"create",function(){return fe}),r.d(i,"update",function(){return _e}),r.d(i,"addAdmins",function(){return Re}),r.d(i,"removeAdmins",function(){return de}),r.d(i,"addMembers",function(){return Ae}),r.d(i,"removeMembers",function(){return le}),r.d(i,"removeSelfAsMember",function(){return me}),r.d(i,"deleteGroup",function(){return pe});var u={};r.r(u),r.d(u,"changePasscode",function(){return he}),r.d(u,"rotateMasterKey",function(){return Ue}),r.d(u,"deauthorizeDevice",function(){return Te});var s,a=1,c=2,E=/^[a-zA-Z0-9_.$#|@\/:;=+'-]{1,100}$/,f={VERSION_HEADER_LENGTH:1,IV_LENGTH:12,SALT_LENGTH:32,AES_SYMMETRIC_KEY_LENGTH:32,PBKDF2_ITERATIONS:function(){return 25e4},NATIVE_DECRYPT_FAILURE_ERROR:"OperationError"};!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE"}(s||(s={}));var _={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(_.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var R,d="3.2.1",A=(R=function(e,t){return(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});var l=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==f.NATIVE_DECRYPT_FAILURE_ERROR}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return A(t,e),t}(Error),m=r(0),p=r.n(m),h=r(3),U=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,i=t.callbacks[o];i&&(delete t.callbacks[o],i(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",_.FRAME_DOMAIN,[r.port2])})}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map(function(e){return e.buffer})),new p.a(function(e,t){r.callbacks[n.replyID]=t})}catch(e){return p.a.reject(new l(new Error("Failure occurred when passing message due to the lack of browser support."),s.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),T=window.document.createElement("iframe"),I=new U(T),g=new h.Promise(function(e,t){T.addEventListener("load",function(){var r=setTimeout(function(){t(new l(new Error("Failed to load IronWeb frame."),s.FRAME_LOAD_FAILURE))},1e3);I.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,function(){clearTimeout(r),e()})})});function y(e,t){return p.a.tryP(function(){return g}).flatMap(function(){return I.postMessageToFrame(e,t)}).flatMap(function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?p.a.reject(new l(new Error(e.message.text),e.message.code)):p.a.of(e)})}T.height="0",T.width="0",T.style.display="none",T.style.position="absolute",T.style.top="-999px",T.style.left="-999px",T.src=""+_.FRAME_DOMAIN+_.FRAME_PATH+"?version="+d,window.document.body.appendChild(T);var D,S="1",v=!1;function O(){return S+"-icldassk"}function w(){v=!0}function L(){if(!v)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function M(e){if(e)try{localStorage.setItem(O(),e)}catch(e){}}function P(){try{return localStorage.getItem(O())||void 0}catch(e){return}}function N(e,t){void 0===t&&(t=!1);var r={};return e.filter(function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)})}function C(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got "+e);if(!E.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '"+e+"'.")}function F(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function b(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<f.IV_LENGTH+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function G(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function Y(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function Q(e){var t=[],r=[];return e.users&&e.users.length&&(t=N(e.users.map(function(e){return e.id}),!0)),e.groups&&e.groups.length&&(r=N(e.groups.map(function(e){return e.id}),!0)),[t,r]}function j(e){return p.a.tryP(function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new l(new Error("JWT callback did not return a Promise."),s.JWT_FORMAT_FAILURE)}).flatMap(function(e){return"string"==typeof e&&e.length>0?p.a.of(e):p.a.reject(new l(new Error("JWT should be a non-zero length string, but instead got '"+e+"'"),s.JWT_RETRIEVAL_FAILURE))})}var V=function(e,t,r){return void 0===r&&(r=!1),j(e).flatMap(function(e){return y({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})}).map(function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}}).toPromise()},K=function(e,t){return j(e).flatMap(function(e){return y({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})}).map(function(e){return e.message}).toPromise()};function B(e,t){return D=e,j(e).flatMap(function(e){return y({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:P()}})}).flatMap(function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return p.a.tryP(function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new l(new Error("Passcode callback did not return a Promise."),s.PASSCODE_FORMAT_FAILURE)}).flatMap(function(e){return"string"==typeof e&&e.length>0?p.a.of(e):p.a.reject(new l(new Error("User provided passcode should be a non-zero length string, but instead got '"+e+"'"),s.PASSCODE_RETRIEVAL_FAILURE))})}(t,e.message.doesUserExist).flatMap(function(t){return function(e,t){return j(D).flatMap(function(r){return y({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})}).map(function(e){return M(e.message.symmetricKey),w(),{user:e.message.user}})}(e.message.doesUserExist,t)}):(M(e.message.symmetricKey),w(),p.a.of({user:e.message.user}))}).toPromise()}var W=r(1),x=r(2),k={fromBytes:function(e){return Object(W.decode)(e)},toBytes:function(e){return Object(W.encode)(e)}},H={fromBytes:function(e){return Object(x.fromByteArray)(e)},toBytes:function(e){return Object(x.toByteArray)(e)}},z=2048e3;function J(e){var t=(window.msCrypto||window.crypto).getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,function(e){return("00"+e.toString(16)).slice(-2)}).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function X(){return L(),y({type:"DOCUMENT_LIST"}).map(function(e){return e.message}).toPromise()}function Z(e){return L(),C(e),y({type:"DOCUMENT_META_GET",message:{documentID:e}}).map(function(e){return e.message}).toPromise()}function q(e){if(L(),b(e),1===e[0])return Promise.resolve(null);if(2!==e[0])return Promise.reject(new l(new Error("Provided encrypted document doesn't appear to be valid. Invalid version."),s.DOCUMENT_HEADER_PARSE_FAILURE));var t=new DataView(e.buffer).getUint16(e.byteOffset+a,!1),r=e.slice(a+c,a+c+t);try{var n=JSON.parse(k.fromBytes(r));return Promise.resolve(n._did_)}catch(e){return Promise.reject(new l(new Error("Unable to parse document header. Header value is corrupted."),s.DOCUMENT_HEADER_PARSE_FAILURE))}}function $(e){return L(),C(e),y({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map(function(e){return e.message}).toPromise()}function ee(e,t){L(),C(e),b(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return y(r,[r.message.documentData]).map(function(e){return e.message}).toPromise()}function te(e,t){if(L(),F(e),e.length>z)return Promise.reject(new l(new Error("Document of length "+e.length+" exceeds maximum allowed byte size of "+z),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r=J(t);r.documentID&&C(r.documentID);var n=Q(r.accessList),o=n[0],i=n[1],u={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:i,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return y(u,[u.message.documentData]).map(function(e){return e.message}).toPromise()}function re(e,t){L(),F(e);var r=J(t);r.documentID&&C(r.documentID);var n=Q(r.accessList),o=n[0],i=n[1],u={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:i,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return y(u,[u.message.documentData]).map(function(e){return e.message}).toPromise()}function ne(e,t){if(L(),C(e),F(t),t.length>z)return Promise.reject(new l(new Error("Document of length "+t.length+" exceeds maximum allowed byte size of "+z),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return y(r,[r.message.documentData]).map(function(e){return e.message}).toPromise()}function oe(e,t){L(),C(e),F(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return y(r,[r.message.documentData]).map(function(e){return e.message}).toPromise()}function ie(e,t){return L(),C(e),y({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map(function(e){return e.message}).toPromise()}function ue(e,t){L(),C(e),G(t);var r=Q(t);return y({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map(function(e){return e.message}).toPromise()}function se(e,t){L(),C(e),G(t);var r=Q(t);return y({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map(function(e){return e.message}).toPromise()}var ae={decryptUnmanaged:function(e,t){return L(),function(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}(t),b(e),p.a.tryP(function(){return q(e)}).flatMap(function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return y(n,[n.message.documentData]).map(function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}})}).toPromise()},encryptUnmanaged:function(e,t){L(),F(e);var r=J(t);r.documentID&&C(r.documentID);var n=Q(r.accessList),o=n[0],i=n[1],u={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:i,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return y(u,[u.message.documentData]).map(function(e){return e.message}).toPromise()}};function ce(){return L(),y({type:"GROUP_LIST"}).map(function(e){return e.message}).toPromise()}function Ee(e){return L(),C(e),y({type:"GROUP_GET",message:{groupID:e}}).map(function(e){return e.message}).toPromise()}function fe(e){return void 0===e&&(e={groupName:"",addAsMember:!0}),L(),e.groupID&&C(e.groupID),y({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",addAsMember:!1!==e.addAsMember}}).map(function(e){return e.message}).toPromise()}function _e(e,t){if(L(),C(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return y({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map(function(e){return e.message}).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function Re(e,t){return L(),C(e),Y(t),y({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:N(t,!0)}}).map(function(e){return e.message}).toPromise()}function de(e,t){return L(),C(e),Y(t),y({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:N(t,!0)}}).map(function(e){return e.message}).toPromise()}function Ae(e,t){return L(),C(e),Y(t),y({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:N(t,!0)}}).map(function(e){return e.message}).toPromise()}function le(e,t){return L(),C(e),Y(t),y({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:N(t,!0)}}).map(function(e){return e.message}).toPromise()}function me(e){return L(),C(e),y({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map(function(){}).toPromise()}function pe(e){return L(),C(e),y({type:"GROUP_DELETE",message:{groupID:e}}).map(function(e){return e.message}).toPromise()}function he(e,t){return L(),y({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map(function(){}).toPromise()}function Ue(e){return L(),y({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map(function(){}).toPromise()}function Te(){L();return function(){try{localStorage.removeItem(O())}catch(e){}}(),y({type:"DEAUTHORIZE_DEVICE",message:null}).map(function(e){var t=e.message;return v=!1,{transformKeyDeleted:t}}).toPromise()}var Ie=o,ge=u,ye=i,De=n;function Se(){var e=window.msCrypto||window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function ve(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}r.d(t,"createNewUser",function(){return Le}),r.d(t,"createNewDeviceKeys",function(){return Me}),r.d(t,"initialize",function(){return Pe}),r.d(t,"isInitialized",function(){return Ne}),r.d(t,"ErrorCodes",function(){return s}),r.d(t,"SDKError",function(){return l}),r.d(t,"document",function(){return Ie}),r.d(t,"user",function(){return ge}),r.d(t,"group",function(){return ye}),r.d(t,"codec",function(){return De});var Oe=function(){return Promise.reject(new l(new Error("Request failed due to a lack of browser support for WebAssembly."),s.WEBASSEMBLY_SUPPORT_FAILURE))},we=function(){return Promise.reject(new l(new Error("Request failed due to a lack of browser support for random number generation."),s.RANDOM_NUMBER_GENERATION_FAILURE))};function Le(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return Se()?ve()?V(e,t,r.needsRotation||!1):Oe():we()}function Me(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return Se()?ve()?K(e,t):Oe():we()}function Pe(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return Se()?ve()?B(e,t):Oe():we()}function Ne(){try{return L(),!0}catch(e){return!1}}}])});
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(self,(function(){return(()=>{"use strict";var e={249:(e,t)=>{var r="utf8: invalid string",n="utf8: invalid source encoding";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(r);if(n>=e.length-1)throw new Error(r);n++,t+=4}}return t}t.cv=function(e){for(var t=new Uint8Array(o(e)),r=0,n=0;n<e.length;n++){var E=e.charCodeAt(n);E<128?t[r++]=E:E<2048?(t[r++]=192|E>>6,t[r++]=128|63&E):E<55296?(t[r++]=224|E>>12,t[r++]=128|E>>6&63,t[r++]=128|63&E):(n++,E=(1023&E)<<10,E|=1023&e.charCodeAt(n),E+=65536,t[r++]=240|E>>18,t[r++]=128|E>>12&63,t[r++]=128|E>>6&63,t[r++]=128|63&E)}return t},t.Jx=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];if(128&o){var E=void 0;if(o<224){if(r>=e.length)throw new Error(n);if(128!=(192&(a=e[++r])))throw new Error(n);o=(31&o)<<6|63&a,E=128}else if(o<240){if(r>=e.length-1)throw new Error(n);var a=e[++r],s=e[++r];if(128!=(192&a)||128!=(192&s))throw new Error(n);o=(15&o)<<12|(63&a)<<6|63&s,E=2048}else{if(!(o<248))throw new Error(n);if(r>=e.length-2)throw new Error(n);a=e[++r],s=e[++r];var i=e[++r];if(128!=(192&a)||128!=(192&s)||128!=(192&i))throw new Error(n);o=(15&o)<<18|(63&a)<<12|(63&s)<<6|63&i,E=65536}if(o<E||o>=55296&&o<=57343)throw new Error(n);if(o>=65536){if(o>1114111)throw new Error(n);o-=65536,t.push(String.fromCharCode(55296|o>>10)),o=56320|1023&o}}t.push(String.fromCharCode(o))}return t.join("")}},742:(e,t)=>{t.b$=function(e){var t,r,E=i(e),a=E[0],s=E[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),_=0,c=s>0?a-4:a;for(r=0;r<c;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],u[_++]=t>>16&255,u[_++]=t>>8&255,u[_++]=255&t;2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[_++]=255&t);1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[_++]=t>>8&255,u[_++]=255&t);return u},t.JQ=function(e){for(var t,n=e.length,o=n%3,E=[],a=16383,s=0,i=n-o;s<i;s+=a)E.push(u(e,s,s+a>i?i:s+a));1===o?(t=e[n-1],E.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],E.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return E.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=E.length;a<s;++a)r[a]=E[a],n[E.charCodeAt(a)]=a;function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,n){for(var o,E,a=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(E=o)>>18&63]+r[E>>12&63]+r[E>>6&63]+r[63&E]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},670:(e,t)=>{var r=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){try{this.action(e,t)}catch(t){e(t)}},e.prototype.toPromise=function(){var e=this;return new Promise((function(t,r){return e.engage(r,t)}))},e.prototype.map=function(t){return this.flatMap((function(r){return e.of(t(r))}))},e.prototype.flatMap=function(t){var r=this;return new e((function(e,n){r.engage(e,(function(r){return t(r).engage(e,n)}))}))},e.prototype.handleWith=function(t){var r=this;return new e((function(e,n){r.engage((function(r){t(r).engage(e,n)}),n)}))},e.prototype.errorMap=function(t){var r=this;return new e((function(e,n){r.engage((function(r){return e(t(r))}),n)}))},e.tryF=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)}))},e.tryP=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)}))},e.of=function(t){return new e((function(e,r){r(t)}))},e.reject=function(t){return new e((function(e){e(t)}))},e.encase=function(t,r){return new e((function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)}))},e.gather2=function(t,r){return new e((function(e,n){var o=[],E=0,a=!1;t.engage((function(t){a||(a=!0,e(t))}),(function(e){o[0]=e,2==++E&&n(o)})),r.engage((function(t){a||(a=!0,e(t))}),(function(e){o[1]=e,2==++E&&n(o)}))}))},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map((function(e){var t=e[0];return[t[0],t[1],e[1]]}))},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),E=this.gather2(r,n);return this.gather2(o,E).map((function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]}))},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e((function(e,r){var n=[],o=0,E=!1;t.forEach((function(a,s){a.engage((function(t){E||(E=!0,e(t))}),(function(e){n[s]=e,(o+=1)===t.length&&r(n)}))}))}))},e.allObject=function(e){var t=Object.keys(e),r=t.map((function(t){return e[t]}));return this.allArray(r).map((function(e){return t.reduce((function(t,r,n){return t[r]=e[n],t}),{})}))},e}();t.Z=r}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var E=t[n]={exports:{}};return e[n](E,E.exports,r),E.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{ErrorCodes:()=>s,SDKError:()=>m,codec:()=>he,createNewDeviceKeys:()=>Ce,createNewUser:()=>Me,document:()=>De,group:()=>Se,initialize:()=>Fe,isInitialized:()=>we,search:()=>Oe,user:()=>le});var e={};r.r(e),r.d(e,{base64:()=>K,utf8:()=>Q});var t={};r.r(t),r.d(t,{advanced:()=>re,decrypt:()=>Z,decryptFromStore:()=>k,encrypt:()=>J,encryptToStore:()=>z,getDocumentIDFromBytes:()=>H,getMetadata:()=>W,grantAccess:()=>ee,list:()=>x,revokeAccess:()=>te,updateEncryptedData:()=>q,updateEncryptedDataInStore:()=>X,updateName:()=>$});var o={};r.r(o),r.d(o,{addAdmins:()=>ie,addMembers:()=>_e,create:()=>Ee,deleteGroup:()=>Ae,get:()=>oe,list:()=>ne,removeAdmins:()=>ue,removeMembers:()=>ce,removeSelfAsMember:()=>Re,rotatePrivateKey:()=>ae,update:()=>se});var E={};r.r(E),r.d(E,{createBlindSearchIndex:()=>Ue,initializeBlindSearchIndex:()=>Ie,transliterateString:()=>de});var a={};r.r(a),r.d(a,{changePasscode:()=>pe,deauthorizeDevice:()=>ge,rotateMasterKey:()=>Te});var s,i=/^[a-zA-Z0-9_.$#|@/:;=+'-]{1,100}$/,u=12,_="OperationError";!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE=415]="GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE",e[e.GROUP_PRIVATE_KEY_ROTATION_FAILURE=416]="GROUP_PRIVATE_KEY_ROTATION_FAILURE",e[e.GROUP_UPDATE_KEY_REQUEST_FAILURE=417]="GROUP_UPDATE_KEY_REQUEST_FAILURE",e[e.GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE=418]="GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE",e[e.SEARCH_CREATE_INDEX_FAILURE=700]="SEARCH_CREATE_INDEX_FAILURE",e[e.SEARCH_INIT_INDEX_FAILURE=701]="SEARCH_INIT_INDEX_FAILURE",e[e.SEARCH_TOKENIZE_DATA_FAILURE=702]="SEARCH_TOKENIZE_DATA_FAILURE",e[e.SEARCH_TOKENIZE_QUERY_FAILURE=703]="SEARCH_TOKENIZE_QUERY_FAILURE"}(s||(s={}));var c={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(c.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var R,A="4.0.15",f=(R=function(e,t){return(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const m=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==_}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return f(t,e),t}(Error);var U=r(670),I=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,E=t.callbacks[o];E&&(delete t.callbacks[o],E(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",(function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",c.FRAME_DOMAIN,[r.port2])}))}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map((function(e){return e.buffer}))),new U.Z((function(e,t){r.callbacks[n.replyID]=t}))}catch(e){return U.Z.reject(new m(new Error("Failure occurred when passing message due to the lack of browser support."),s.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),d=window.document.createElement("iframe"),p=new I(d),T=new Promise((function(e,t){d.addEventListener("load",(function(){var r=setTimeout((function(){t(new m(new Error("Failed to load IronWeb frame."),s.FRAME_LOAD_FAILURE))}),1e3);p.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,(function(){clearTimeout(r),e()}))}))}));function g(e,t){return U.Z.tryP((function(){return T})).flatMap((function(){return p.postMessageToFrame(e,t)})).flatMap((function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?U.Z.reject(new m(new Error(e.message.text),e.message.code)):U.Z.of(e)}))}d.height="0",d.width="0",d.style.display="none",d.style.position="absolute",d.style.top="-999px",d.style.left="-999px",d.src=""+c.FRAME_DOMAIN+c.FRAME_PATH+"?version="+A,window.document.body.appendChild(d);var D,l=!1;function S(){l=!0}function O(){if(!l)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function h(e){if(e)try{localStorage.setItem("1-icldassk",e)}catch(e){}}function L(){try{return localStorage.getItem("1-icldassk")||void 0}catch(e){return}}function N(e,t){void 0===t&&(t=!1);var r={};return e.filter((function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)}))}function P(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got "+e);if(!i.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '"+e+"'.")}function y(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function M(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<u+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function C(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function F(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function w(e){var t=[],r=[];return e.users&&e.users.length&&(t=N(e.users.map((function(e){return e.id})),!0)),e.groups&&e.groups.length&&(r=N(e.groups.map((function(e){return e.id})),!0)),[t,r]}function v(e){return U.Z.tryP((function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new m(new Error("JWT callback did not return a Promise."),s.JWT_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.Z.of(e):U.Z.reject(new m(new Error("JWT should be a non-zero length string, but instead got '"+e+"'"),s.JWT_RETRIEVAL_FAILURE))}))}function G(e,t){return D=e,v(e).flatMap((function(e){return g({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:L()}})})).flatMap((function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return U.Z.tryP((function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new m(new Error("Passcode callback did not return a Promise."),s.PASSCODE_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.Z.of(e):U.Z.reject(new m(new Error("User provided passcode should be a non-zero length string, but instead got '"+e+"'"),s.PASSCODE_RETRIEVAL_FAILURE))}))}(t,e.message.doesUserExist).flatMap((function(t){return function(e,t){return v(D).flatMap((function(r){return g({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})})).map((function(e){return h(e.message.symmetricKey),S(),{user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}}))}(e.message.doesUserExist,t)})):(h(e.message.symmetricKey),S(),U.Z.of({user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}))})).toPromise()}var b=r(249),Y=r(742),Q={fromBytes:function(e){return(0,b.Jx)(e)},toBytes:function(e){return(0,b.cv)(e)}},K={fromBytes:function(e){return(0,Y.JQ)(e)},toBytes:function(e){return(0,Y.b$)(e)}},V=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,E=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=E.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=E.return)&&r.call(E)}finally{if(o)throw o.error}}return a},B=2048e3;function j(e){var t=window.crypto.getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,(function(e){return("00"+e.toString(16)).slice(-2)})).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function x(){return O(),g({type:"DOCUMENT_LIST"}).map((function(e){return e.message})).toPromise()}function W(e){return O(),P(e),g({type:"DOCUMENT_META_GET",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function H(e){if(O(),M(e),1===e[0])return Promise.resolve(null);if(2!==e[0])return Promise.reject(new m(new Error("Provided encrypted document doesn't appear to be valid. Invalid version."),s.DOCUMENT_HEADER_PARSE_FAILURE));var t=new DataView(e.buffer).getUint16(e.byteOffset+1,!1),r=e.slice(3,3+t);try{var n=JSON.parse(Q.fromBytes(r));return Promise.resolve(n._did_)}catch(e){return Promise.reject(new m(new Error("Unable to parse document header. Header value is corrupted."),s.DOCUMENT_HEADER_PARSE_FAILURE))}}function k(e){return O(),P(e),g({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function Z(e,t){O(),P(e),M(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return g(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function z(e,t){if(O(),y(e),e.length>B)return Promise.reject(new m(new Error("Document of length "+e.length+" exceeds maximum allowed byte size of "+B),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r=j(t);r.documentID&&P(r.documentID);var n=V(w(r.accessList),2),o=n[0],E=n[1],a={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:E,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return g(a,[a.message.documentData]).map((function(e){return e.message})).toPromise()}function J(e,t){O(),y(e);var r=j(t);r.documentID&&P(r.documentID);var n=V(w(r.accessList),2),o=n[0],E=n[1],a={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:E,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return g(a,[a.message.documentData]).map((function(e){return e.message})).toPromise()}function X(e,t){if(O(),P(e),y(t),t.length>B)return Promise.reject(new m(new Error("Document of length "+t.length+" exceeds maximum allowed byte size of "+B),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return g(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function q(e,t){O(),P(e),y(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return g(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function $(e,t){return O(),P(e),g({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map((function(e){return e.message})).toPromise()}function ee(e,t){O(),P(e),C(t);var r=V(w(t),2);return g({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map((function(e){return e.message})).toPromise()}function te(e,t){O(),P(e),C(t);var r=V(w(t),2);return g({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map((function(e){return e.message})).toPromise()}var re={decryptUnmanaged:function(e,t){return O(),function(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}(t),M(e),U.Z.tryP((function(){return H(e)})).flatMap((function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return g(n,[n.message.documentData]).map((function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}}))})).toPromise()},encryptUnmanaged:function(e,t){O(),y(e);var r=j(t);r.documentID&&P(r.documentID);var n=V(w(r.accessList),2),o=n[0],E=n[1],a={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:E,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return g(a,[a.message.documentData]).map((function(e){return e.message})).toPromise()}};function ne(){return O(),g({type:"GROUP_LIST"}).map((function(e){return e.message})).toPromise()}function oe(e){return O(),P(e),g({type:"GROUP_GET",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function Ee(e){return void 0===e&&(e={groupName:"",addAsMember:!0,addAsAdmin:!0,needsRotation:!1}),O(),function(e,t){if(!t&&!1===e)throw new Error("Failed to create group because group ownership must be held by a group administrator")}(e.addAsAdmin,e.ownerUserId),e.groupID&&P(e.groupID),g({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",ownerUserId:e.ownerUserId,addAsMember:!1!==e.addAsMember,addAsAdmin:!1!==e.addAsAdmin,needsRotation:!0===e.needsRotation,userLists:{memberList:e.memberList?N(e.memberList,!0):[],adminList:e.adminList?N(e.adminList,!0):[]}}}).map((function(e){return e.message})).toPromise()}function ae(e){return O(),P(e),g({type:"ROTATE_GROUP_PRIVATE_KEY",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function se(e,t){if(O(),P(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return g({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map((function(e){return e.message})).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function ie(e,t){return O(),P(e),F(t),g({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:N(t,!0)}}).map((function(e){return e.message})).toPromise()}function ue(e,t){return O(),P(e),F(t),g({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:N(t,!0)}}).map((function(e){return e.message})).toPromise()}function _e(e,t){return O(),P(e),F(t),g({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:N(t,!0)}}).map((function(e){return e.message})).toPromise()}function ce(e,t){return O(),P(e),F(t),g({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:N(t,!0)}}).map((function(e){return e.message})).toPromise()}function Re(e){return O(),P(e),g({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map((function(){})).toPromise()}function Ae(e){return O(),P(e),g({type:"GROUP_DELETE",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}var fe=function(){return(fe=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},me=function(){function e(e){this.searchIndexId=e}return e.prototype.tokenizeData=function(e,t){return g({type:"BLIND_SEARCH_INDEX_TOKENIZE_DATA",message:{data:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e.prototype.tokenizeQuery=function(e,t){return g({type:"BLIND_SEARCH_INDEX_TOKENIZE_QUERY",message:{query:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e}(),Ue=function(e){return O(),P(e),g({type:"BLIND_SEARCH_INDEX_CREATE",message:{groupId:e}}).map((function(e){return e.message})).toPromise()},Ie=function(e){return O(),y(e.searchIndexEncryptedSalt),y(e.searchIndexEdeks),g({type:"BLIND_SEARCH_INDEX_INIT",message:fe({},e)}).map((function(e){var t=e.message;return new me(t.searchIndexId)})).toPromise()},de=function(e){return g({type:"SEARCH_TRANSLITERATE_STRING",message:e}).map((function(e){return e.message})).toPromise()};function pe(e,t){return O(),g({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map((function(){})).toPromise()}function Te(e){return O(),g({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map((function(){})).toPromise()}function ge(){O();return function(){try{localStorage.removeItem("1-icldassk")}catch(e){}}(),g({type:"DEAUTHORIZE_DEVICE",message:null}).map((function(e){var t=e.message;return l=!1,{transformKeyDeleted:t}})).toPromise()}var De=t,le=a,Se=o,Oe=E,he=e;function Le(){var e=window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function Ne(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}var Pe=function(){return Promise.reject(new m(new Error("Request failed due to a lack of browser support for WebAssembly."),s.WEBASSEMBLY_SUPPORT_FAILURE))},ye=function(){return Promise.reject(new m(new Error("Request failed due to a lack of browser support for random number generation."),s.RANDOM_NUMBER_GENERATION_FAILURE))};function Me(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return Le()?Ne()?function(e,t,r){return void 0===r&&(r=!1),v(e).flatMap((function(e){return g({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()}(e,t,r.needsRotation||!1):Pe():ye()}function Ce(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return Le()?Ne()?function(e,t){return v(e).flatMap((function(e){return g({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})})).map((function(e){return e.message})).toPromise()}(e,t):Pe():ye()}function Fe(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return Le()?Ne()?G(e,t):Pe():ye()}function we(){try{return O(),!0}catch(e){return!1}}})(),n})()}));
2
+ //# sourceMappingURL=ironweb.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://ironweb/shim/ironweb.min.js"],"names":["root","factory","exports","module","define","amd","self","__webpack_modules__","249","__unused_webpack_module","INVALID_UTF16","INVALID_UTF8","encodedLength","s","result","i","length","c","charCodeAt","Error","cv","arr","Uint8Array","pos","Jx","chars","b","min","n1","n2","n3","push","String","fromCharCode","join","742","b$","b64","tmp","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","len","revLookup","JQ","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","Array","code","indexOf","start","end","num","output","670","Future","action","this","prototype","engage","reject","resolve","error","toPromise","_this","Promise","map","mapper","flatMap","x","of","next","data","handleWith","errHandler","errorMap","tryF","fn","e","tryP","promiseResult","then","_","encase","a","gather2","future1","future2","results","count","done","gather3","future3","firstTwo","_a","_b","gather4","future4","secondTwo","f1","f2","_c","all","futures","isArray","allArray","allObject","forEach","futureInstance","index","futureKeys","Object","keys","futuresArray","key","futureResults","reduce","futureMap","futureKey","Z","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","d","definition","o","defineProperty","enumerable","get","obj","prop","hasOwnProperty","call","r","Symbol","toStringTag","value","__webpack_exports__","ErrorCodes","SDKError","codec","createNewDeviceKeys","createNewUser","document","group","initialize","isInitialized","search","user","CodecSDK_namespaceObject","base64","utf8","DocumentSDK_namespaceObject","advanced","decrypt","decryptFromStore","encrypt","encryptToStore","getDocumentIDFromBytes","getMetadata","grantAccess","list","revokeAccess","updateEncryptedData","updateEncryptedDataInStore","updateName","GroupSDK_namespaceObject","addAdmins","addMembers","create","deleteGroup","removeAdmins","removeMembers","removeSelfAsMember","rotatePrivateKey","update","SearchSDK_namespaceObject","createBlindSearchIndex","initializeBlindSearchIndex","transliterateString","UserSDK_namespaceObject","changePasscode","deauthorizeDevice","rotateMasterKey","ALLOWED_ID_CHAR_REGEX","CryptoConstants","Frame","FRAME_DOMAIN","FRAME_PATH","_ICL_FRAME_DOMAIN_REPLACEMENT_","extendStatics","Versions",""4.0.15"","__extends","setPrototypeOf","__proto__","p","__","constructor","lib_SDKError","_super","message","name","isSDKError","rawError","ShimMessenger","iFrameWindow","callbackCount","callbacks","processMessageIntoShim","event","replyID","callback","channel","MessageChannel","port1","addEventListener","messagePort","contentWindow","postMessage","port2","postMessageToFrame","transferList","buffer","BROWSER_FRAME_MESSAGE_FAILURE","FrameMediator_frame","window","createElement","messenger","frameLoadedPromise","timeout","setTimeout","FRAME_LOAD_FAILURE","type","clearTimeout","sendMessage","payload","response","isErrorResponse","text","height","width","style","display","position","top","left","src","body","appendChild","userJWTCallback","hasInitializedSDK","setSDKInitialized","checkSDKInitialized","storeParentWindowSymmetricKey","symmetricKey","localStorage","setItem","SECRET_KEY_LOCAL_STORAGE_VERSION","getParentWindowSymmetricKey","getItem","dedupeArray","clearEmptyValues","seenList","filter","item","validateID","id","test","validateDocumentData","validateEncryptedDocument","documentData","byteLength","validateAccessList","accessList","isUserListSet","users","isGroupListSet","groups","validateIDList","userList","dedupeAccessLists","userAccess","groupAccess","getJWT","jwtCallback","jwtPromise","JWT_FORMAT_FAILURE","jwt","JWT_RETRIEVAL_FAILURE","passcodeCallback","jwtToken","responsePayload","doesUserExist","passcodePromise","PASSCODE_FORMAT_FAILURE","passcode","PASSCODE_RETRIEVAL_FAILURE","invokePasscodeCallback","sdkResponse","groupsNeedingRotation","setUserPasscode","base64_js","CodecSDK_utf8","fromBytes","bytes","toBytes","utf8String","base64String","__read","n","m","iterator","ar","MAX_DOCUMENT_SIZE","calculateDocumentCreateOptionsDefault","options","randomBytes","crypto","getRandomValues","hexID","byte","toString","slice","documentID","documentName","grantToAuthor","policy","DOCUMENT_HEADER_PARSE_FAILURE","headerLength","DataView","getUint16","byteOffset","headerContent","VERSION_HEADER_LENGTH","headerObject","JSON","parse","_did_","DOCUMENT_MAX_SIZE_EXCEEDED","encryptOptions","userGrants","groupGrants","newDocumentData","grantList","revokeList","userRevocations","groupRevocations","decryptUnmanaged","edeks","validateEncryptedDeks","documentId","accessVia","encryptUnmanaged","GroupSDK_list","groupID","groupName","addAsMember","addAsAdmin","needsRotation","maybeOwner","validateOwnership","ownerUserId","userLists","memberList","adminList","__assign","assign","t","arguments","apply","InitializedSearchIndex","searchIndexId","tokenizeData","partitionId","tokenizeQuery","query","groupId","searchIndexEncryptedSalt","searchIndexEdeks","string","currentPasscode","newPasscode","removeItem","clearParentWindowSymmetricKey","transformKeyDeleted","SDK_document","supportsRandomNumGen","nativeCrypto","isWebAssemblySupported","WebAssembly","instantiate","webAssemblyFailure","WEBASSEMBLY_SUPPORT_FAILURE","randomGenFailure","RANDOM_NUMBER_GENERATION_FAILURE","shim_createNewUser","accountID","segmentID","segmentId","status","userMasterPublicKey","createUserDeviceKeys","shim_initialize"],"mappings":"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","file":"./shim/ironweb.min.js","sourceRoot":""}
package/package.json CHANGED
@@ -1,22 +1,17 @@
1
1
  {
2
- "author": {
3
- "name": "IronCore Labs"
4
- },
5
- "dependencies": {
6
- "@stablelib/utf8": "^0.10",
7
- "base64-js": "^1.2",
8
- "futurejs": "^2"
9
- },
2
+ "name": "@ironcorelabs/ironweb",
3
+ "author": "IronCore Labs",
10
4
  "description": "IronCore Labs Web SDK",
11
5
  "homepage": "https://github.com/IronCoreLabs/ironweb",
12
- "jsnext:main": "es/shim/index.js",
13
6
  "license": "AGPL-3.0-only",
14
7
  "main": "commonjs/shim/index.js",
15
8
  "module": "es/shim/index.js",
16
- "name": "@ironcorelabs/ironweb",
17
- "peerDependencies": {
18
- "es6-promise": "^4.0.0"
19
- },
9
+ "jsnext:main": "es/shim/index.js",
20
10
  "types": "ironweb.d.ts",
21
- "version": "3.2.1"
11
+ "dependencies": {
12
+ "@stablelib/utf8": "^0.10",
13
+ "base64-js": "^1.2",
14
+ "futurejs": "^2"
15
+ },
16
+ "version": "4.0.15"
22
17
  }