@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.
- package/commonjs/Constants.js +9 -1
- package/commonjs/shim/FrameMediator.js +1 -2
- package/commonjs/shim/Initialize.js +5 -2
- package/commonjs/shim/SDK.js +3 -1
- package/commonjs/shim/ShimUtils.js +10 -0
- package/commonjs/shim/index.js +1 -1
- package/commonjs/shim/sdk/DocumentSDK.js +22 -6
- package/commonjs/shim/sdk/GroupSDK.js +30 -1
- package/commonjs/shim/sdk/SearchSDK.js +95 -0
- package/es/Constants.js +9 -1
- package/es/shim/FrameMediator.js +0 -1
- package/es/shim/Initialize.js +5 -2
- package/es/shim/SDK.js +3 -1
- package/es/shim/ShimUtils.js +9 -0
- package/es/shim/index.js +1 -1
- package/es/shim/sdk/DocumentSDK.js +22 -6
- package/es/shim/sdk/GroupSDK.js +29 -1
- package/es/shim/sdk/SearchSDK.js +93 -0
- package/ironweb.d.ts +39 -1
- package/ironweb.min.js +2 -8
- package/ironweb.min.js.map +1 -0
- package/package.json +9 -14
package/commonjs/Constants.js
CHANGED
|
@@ -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: "
|
|
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
|
|
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({
|
|
134
|
+
return futurejs_1.default.of({
|
|
135
|
+
user: responsePayload.message.user,
|
|
136
|
+
groupsNeedingRotation: responsePayload.message.groupsNeedingRotation,
|
|
137
|
+
});
|
|
135
138
|
})
|
|
136
139
|
.toPromise();
|
|
137
140
|
}
|
package/commonjs/shim/SDK.js
CHANGED
|
@@ -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
|
*/
|
package/commonjs/shim/index.js
CHANGED
|
@@ -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.
|
|
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 =
|
|
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: "
|
|
111
|
+
SDK_VERSION: "4.0.15",
|
|
104
112
|
};
|
package/es/shim/FrameMediator.js
CHANGED
package/es/shim/Initialize.js
CHANGED
|
@@ -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({
|
|
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;
|
package/es/shim/ShimUtils.js
CHANGED
|
@@ -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.
|
|
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 =
|
|
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: {
|
package/es/shim/sdk/GroupSDK.js
CHANGED
|
@@ -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
|
-
"
|
|
3
|
-
|
|
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
|
-
"
|
|
17
|
-
"peerDependencies": {
|
|
18
|
-
"es6-promise": "^4.0.0"
|
|
19
|
-
},
|
|
9
|
+
"jsnext:main": "es/shim/index.js",
|
|
20
10
|
"types": "ironweb.d.ts",
|
|
21
|
-
"
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@stablelib/utf8": "^0.10",
|
|
13
|
+
"base64-js": "^1.2",
|
|
14
|
+
"futurejs": "^2"
|
|
15
|
+
},
|
|
16
|
+
"version": "4.0.15"
|
|
22
17
|
}
|