@lifeready/core 1.0.18 → 1.0.20
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/bundles/lifeready-core.umd.js +133 -110
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/api/contact-card.service.js +1 -1
- package/esm2015/lib/api/contact-card2.service.js +1 -1
- package/esm2015/lib/api/key-exchange.types.js +1 -1
- package/esm2015/lib/api/key-exchange2.gql.js +1 -1
- package/esm2015/lib/api/key-exchange2.service.js +3 -2
- package/esm2015/lib/api/shared-contact-card.service.js +1 -1
- package/esm2015/lib/api/types/graphql.types.js +1 -1
- package/esm2015/lib/api/types/lr-graphql.types.js +18 -9
- package/esm2015/lib/auth/auth.gql.js +1 -6
- package/esm2015/lib/auth/auth.types.js +1 -1
- package/esm2015/lib/auth/password.service.js +3 -8
- package/esm2015/lib/cryptography/key-factory.service.js +1 -1
- package/esm2015/lib/cryptography/key-graph.service.js +1 -1
- package/esm2015/lib/items2/item2.gql.js +10 -1
- package/esm2015/lib/items2/item2.service.js +18 -2
- package/esm2015/lib/items2/item2.types.js +1 -1
- package/esm2015/lib/scenario/scenario.service.js +1 -2
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/esm2015/lib/trusted-parties/tp-assembly.js +8 -5
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +1 -1
- package/esm2015/lib/users/profile.types.js +1 -1
- package/esm2015/lib/users/user.service.js +1 -1
- package/esm2015/lib/users/user.types.js +1 -5
- package/fesm2015/lifeready-core.js +53 -31
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/api/contact-card.service.d.ts +8 -7
- package/lib/api/contact-card2.service.d.ts +4 -3
- package/lib/api/key-exchange.types.d.ts +5 -5
- package/lib/api/key-exchange2.gql.d.ts +3 -3
- package/lib/api/key-exchange2.service.d.ts +3 -3
- package/lib/api/shared-contact-card.service.d.ts +4 -3
- package/lib/api/types/graphql.types.d.ts +1 -0
- package/lib/api/types/lr-graphql.types.d.ts +88 -35
- package/lib/auth/auth.types.d.ts +2 -3
- package/lib/cryptography/key-graph.service.d.ts +2 -1
- package/lib/items2/item2.gql.d.ts +8 -0
- package/lib/items2/item2.service.d.ts +8 -1
- package/lib/items2/item2.types.d.ts +4 -0
- package/lib/scenario/scenario.types.d.ts +3 -3
- package/lib/trusted-parties/tp-assembly.types.d.ts +2 -0
- package/lib/trusted-parties/tp-password-reset.gql.d.ts +6 -6
- package/lib/users/profile.types.d.ts +2 -2
- package/lib/users/user.service.d.ts +3 -2
- package/lib/users/user.types.d.ts +0 -7
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -3230,7 +3230,7 @@
|
|
|
3230
3230
|
return gql.apply(void 0, __spread([literals], placeholders));
|
|
3231
3231
|
}
|
|
3232
3232
|
|
|
3233
|
-
var PasswordChangeRequestMutation = gql(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n mutation {\n passwordChangeRequest(input: {}) {\n challenge\n
|
|
3233
|
+
var PasswordChangeRequestMutation = gql(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n mutation {\n passwordChangeRequest(input: {}) {\n challenge\n }\n }\n"], ["\n mutation {\n passwordChangeRequest(input: {}) {\n challenge\n }\n }\n"])));
|
|
3234
3234
|
var PasswordChangeMutation = gql(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n mutation PasswordChange($input: PasswordChangeInput!) {\n passwordChange(input: $input) {\n token\n newPassKey {\n id\n }\n }\n }\n"], ["\n mutation PasswordChange($input: PasswordChangeInput!) {\n passwordChange(input: $input) {\n token\n newPassKey {\n id\n }\n }\n }\n"])));
|
|
3235
3235
|
var PasswordChangeConfigQuery = gql(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n query PasswordChangeConfigQuery {\n passwordChangeConfig {\n maxAuthAgeSeconds\n authTime\n serverTime\n }\n }\n"], ["\n query PasswordChangeConfigQuery {\n passwordChangeConfig {\n maxAuthAgeSeconds\n authTime\n serverTime\n }\n }\n"])));
|
|
3236
3236
|
var SetSessionEncryptionKeyMutation = gqlTyped(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\nmutation SetSessionEncryptionKeyMutation($input: SetSessionEncryptionKeyInput!) {\n setSessionEncryptionKey(input: $input) {\n sessionEncryptionKey\n }\n}\n"], ["\nmutation SetSessionEncryptionKeyMutation($input: SetSessionEncryptionKeyInput!) {\n setSessionEncryptionKey(input: $input) {\n sessionEncryptionKey\n }\n}\n"])));
|
|
@@ -3613,12 +3613,6 @@
|
|
|
3613
3613
|
case 0: return [4 /*yield*/, this.auth.currentAuthenticatedUser()];
|
|
3614
3614
|
case 1:
|
|
3615
3615
|
cognitoUser = _c.sent();
|
|
3616
|
-
// Validation
|
|
3617
|
-
// todo: Add this back in
|
|
3618
|
-
// Note the passIdp will always have a random salt, so will always be different to the current passIdp.
|
|
3619
|
-
if (password === newPassword) {
|
|
3620
|
-
throw new LrBadArgumentException('New password is the same as the current one.');
|
|
3621
|
-
}
|
|
3622
3616
|
return [4 /*yield*/, this.profileService.getCurrentUser()];
|
|
3623
3617
|
case 2:
|
|
3624
3618
|
currentUser = (_c.sent()).currentUser;
|
|
@@ -5191,6 +5185,13 @@
|
|
|
5191
5185
|
function mapEdges(connection) {
|
|
5192
5186
|
return connection.edges.map(function (edge) { return edge.node; });
|
|
5193
5187
|
}
|
|
5188
|
+
(function (UserDeleteState) {
|
|
5189
|
+
UserDeleteState["REQUESTED"] = "REQUESTED";
|
|
5190
|
+
})(exports.UserDeleteState || (exports.UserDeleteState = {}));
|
|
5191
|
+
(function (PlanState) {
|
|
5192
|
+
PlanState["ENABLED"] = "ENABLED";
|
|
5193
|
+
PlanState["DISABLED"] = "DISABLED";
|
|
5194
|
+
})(exports.PlanState || (exports.PlanState = {}));
|
|
5194
5195
|
(function (AccessRoleChoice) {
|
|
5195
5196
|
AccessRoleChoice["READER"] = "READER";
|
|
5196
5197
|
AccessRoleChoice["WRITER"] = "WRITER";
|
|
@@ -5202,13 +5203,13 @@
|
|
|
5202
5203
|
AccessRoleMethod["inherited"] = "inherited";
|
|
5203
5204
|
AccessRoleMethod["direct"] = "direct";
|
|
5204
5205
|
})(exports.AccessRoleMethod || (exports.AccessRoleMethod = {}));
|
|
5205
|
-
(function (
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
})(exports.
|
|
5206
|
+
(function (FileOperationField) {
|
|
5207
|
+
FileOperationField["CREATE"] = "CREATE";
|
|
5208
|
+
FileOperationField["READ"] = "READ";
|
|
5209
|
+
FileOperationField["UPDATE"] = "UPDATE";
|
|
5210
|
+
FileOperationField["REVERT"] = "REVERT";
|
|
5211
|
+
FileOperationField["DELETE"] = "DELETE";
|
|
5212
|
+
})(exports.FileOperationField || (exports.FileOperationField = {}));
|
|
5212
5213
|
(function (KeyExchangeOtkState) {
|
|
5213
5214
|
KeyExchangeOtkState["OTK_INITIATED"] = "OTK_INITIATED";
|
|
5214
5215
|
KeyExchangeOtkState["OTK_ACCEPTED"] = "OTK_ACCEPTED";
|
|
@@ -5518,8 +5519,8 @@
|
|
|
5518
5519
|
TpAssemblyController.prototype.recoverAssemblyKey = function (partials) {
|
|
5519
5520
|
return __awaiter(this, void 0, void 0, function () {
|
|
5520
5521
|
var assemblyKeyParams, shares, rawAssemblyKey;
|
|
5521
|
-
return __generator(this, function (
|
|
5522
|
-
switch (
|
|
5522
|
+
return __generator(this, function (_c) {
|
|
5523
|
+
switch (_c.label) {
|
|
5523
5524
|
case 0:
|
|
5524
5525
|
shares = partials.map(function (partial) {
|
|
5525
5526
|
if (assemblyKeyParams) {
|
|
@@ -5535,46 +5536,46 @@
|
|
|
5535
5536
|
});
|
|
5536
5537
|
return [4 /*yield*/, this.slip39Service.recoverSecret(shares, this.slip39Passphrase)];
|
|
5537
5538
|
case 1:
|
|
5538
|
-
rawAssemblyKey =
|
|
5539
|
+
rawAssemblyKey = _c.sent();
|
|
5539
5540
|
return [4 /*yield*/, KeyFactoryService.asKey(Object.assign(Object.assign({}, assemblyKeyParams), { k: rawAssemblyKey }))];
|
|
5540
|
-
case 2: return [2 /*return*/,
|
|
5541
|
+
case 2: return [2 /*return*/, _c.sent()];
|
|
5541
5542
|
}
|
|
5542
5543
|
});
|
|
5543
5544
|
});
|
|
5544
5545
|
};
|
|
5545
5546
|
TpAssemblyController.prototype.prepareTpWrappingKey = function (tp) {
|
|
5546
5547
|
return __awaiter(this, void 0, void 0, function () {
|
|
5547
|
-
return __generator(this, function (
|
|
5548
|
+
return __generator(this, function (_c) {
|
|
5548
5549
|
return [2 /*return*/, this.keyGraph.getKey(tp.wrappingKeyId)];
|
|
5549
5550
|
});
|
|
5550
5551
|
});
|
|
5551
5552
|
};
|
|
5552
|
-
TpAssemblyController.prototype.prepareAssembly = function (
|
|
5553
|
-
var subjectKey =
|
|
5553
|
+
TpAssemblyController.prototype.prepareAssembly = function (_c) {
|
|
5554
|
+
var subjectKey = _c.subjectKey, rootKey = _c.rootKey;
|
|
5554
5555
|
return __awaiter(this, void 0, void 0, function () {
|
|
5555
5556
|
var assemblyKey, _a, rawAssemblyKey, assemblyKeyParams, assemblyKeyVerifierPrk, wrappedAssemblyKeyVerifierPrk, assemblyKeyVerifierPbk, subjectKeyWrappedAssemblyKey, assemblyCipherData;
|
|
5556
|
-
return __generator(this, function (
|
|
5557
|
-
switch (
|
|
5557
|
+
return __generator(this, function (_c) {
|
|
5558
|
+
switch (_c.label) {
|
|
5558
5559
|
case 0: return [4 /*yield*/, this.keyFactory.createKey()];
|
|
5559
5560
|
case 1:
|
|
5560
|
-
assemblyKey =
|
|
5561
|
+
assemblyKey = _c.sent();
|
|
5561
5562
|
console.log('prepareAssembly assemblyKey', assemblyKey);
|
|
5562
5563
|
_a = assemblyKey.toJSON(true), rawAssemblyKey = _a.k, assemblyKeyParams = __rest(_a, ["k"]);
|
|
5563
5564
|
return [4 /*yield*/, this.keyFactory.createPkcSignKey()];
|
|
5564
5565
|
case 2:
|
|
5565
|
-
assemblyKeyVerifierPrk =
|
|
5566
|
+
assemblyKeyVerifierPrk = _c.sent();
|
|
5566
5567
|
return [4 /*yield*/, this.encryptionService.encryptToString(assemblyKey, assemblyKeyVerifierPrk.toJSON(true))];
|
|
5567
5568
|
case 3:
|
|
5568
|
-
wrappedAssemblyKeyVerifierPrk =
|
|
5569
|
+
wrappedAssemblyKeyVerifierPrk = _c.sent();
|
|
5569
5570
|
assemblyKeyVerifierPbk = JSON.stringify(assemblyKeyVerifierPrk.toJSON());
|
|
5570
5571
|
return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey, assemblyKey.toJSON(true))];
|
|
5571
5572
|
case 4:
|
|
5572
|
-
subjectKeyWrappedAssemblyKey =
|
|
5573
|
+
subjectKeyWrappedAssemblyKey = _c.sent();
|
|
5573
5574
|
return [4 /*yield*/, this.encryptionService.encryptToString(assemblyKey, {
|
|
5574
5575
|
rootKey: rootKey.toJSON(true),
|
|
5575
5576
|
})];
|
|
5576
5577
|
case 5:
|
|
5577
|
-
assemblyCipherData =
|
|
5578
|
+
assemblyCipherData = _c.sent();
|
|
5578
5579
|
return [2 /*return*/, {
|
|
5579
5580
|
assemblyKey: assemblyKey,
|
|
5580
5581
|
rawAssemblyKey: rawAssemblyKey,
|
|
@@ -5588,21 +5589,21 @@
|
|
|
5588
5589
|
});
|
|
5589
5590
|
});
|
|
5590
5591
|
};
|
|
5591
|
-
TpAssemblyController.prototype.prepareCreateSubAssemblies = function (
|
|
5592
|
-
var input =
|
|
5592
|
+
TpAssemblyController.prototype.prepareCreateSubAssemblies = function (_c) {
|
|
5593
|
+
var input = _c.input, subjectKey = _c.subjectKey, slipSubAssemblies = _c.slipSubAssemblies, assemblyKeyParams = _c.assemblyKeyParams;
|
|
5593
5594
|
return __awaiter(this, void 0, void 0, function () {
|
|
5594
5595
|
var _this = this;
|
|
5595
|
-
return __generator(this, function (
|
|
5596
|
+
return __generator(this, function (_c) {
|
|
5596
5597
|
return [2 /*return*/, Promise.all(input.map(function (sa, saIndex) { return __awaiter(_this, void 0, void 0, function () {
|
|
5597
5598
|
var subjectCipherData, createApprovers;
|
|
5598
5599
|
var _this = this;
|
|
5599
|
-
return __generator(this, function (
|
|
5600
|
-
switch (
|
|
5600
|
+
return __generator(this, function (_c) {
|
|
5601
|
+
switch (_c.label) {
|
|
5601
5602
|
case 0: return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey, sa.subjectCipherDataClearJson || '')];
|
|
5602
5603
|
case 1:
|
|
5603
|
-
subjectCipherData =
|
|
5604
|
+
subjectCipherData = _c.sent();
|
|
5604
5605
|
return [4 /*yield*/, Promise.all(sa.approverTps.map(function (approverTp, approverIndex) { return __awaiter(_this, void 0, void 0, function () {
|
|
5605
|
-
return __generator(this, function (
|
|
5606
|
+
return __generator(this, function (_c) {
|
|
5606
5607
|
return [2 /*return*/, this.prepareApprover({
|
|
5607
5608
|
tp: approverTp,
|
|
5608
5609
|
approverIndex: approverIndex,
|
|
@@ -5613,7 +5614,7 @@
|
|
|
5613
5614
|
});
|
|
5614
5615
|
}); }))];
|
|
5615
5616
|
case 2:
|
|
5616
|
-
createApprovers =
|
|
5617
|
+
createApprovers = _c.sent();
|
|
5617
5618
|
return [2 /*return*/, {
|
|
5618
5619
|
singleReject: sa.singleReject,
|
|
5619
5620
|
quorum: sa.quorum,
|
|
@@ -5626,22 +5627,22 @@
|
|
|
5626
5627
|
});
|
|
5627
5628
|
});
|
|
5628
5629
|
};
|
|
5629
|
-
TpAssemblyController.prototype.prepareUpdateSubAssemblies = function (
|
|
5630
|
-
var input =
|
|
5630
|
+
TpAssemblyController.prototype.prepareUpdateSubAssemblies = function (_c) {
|
|
5631
|
+
var input = _c.input, subjectKey = _c.subjectKey, slipSubAssemblies = _c.slipSubAssemblies, assemblyKeyParams = _c.assemblyKeyParams, subAssemblies = _c.subAssemblies;
|
|
5631
5632
|
return __awaiter(this, void 0, void 0, function () {
|
|
5632
5633
|
var _this = this;
|
|
5633
|
-
return __generator(this, function (
|
|
5634
|
+
return __generator(this, function (_c) {
|
|
5634
5635
|
if (slipSubAssemblies.length !== input.length) {
|
|
5635
5636
|
throw new LrBadArgumentException('The slipSubAssemblies must be the same length as the input');
|
|
5636
5637
|
}
|
|
5637
5638
|
return [2 /*return*/, Promise.all(input.map(function (sa, saIndex) { return __awaiter(_this, void 0, void 0, function () {
|
|
5638
|
-
var subjectCipherData, existingSa, createApprovers, updateApprovers, slipSubAssembly,
|
|
5639
|
+
var subjectCipherData, existingSa, createApprovers, updateApprovers, slipSubAssembly, _c;
|
|
5639
5640
|
var _this = this;
|
|
5640
|
-
return __generator(this, function (
|
|
5641
|
-
switch (
|
|
5641
|
+
return __generator(this, function (_d) {
|
|
5642
|
+
switch (_d.label) {
|
|
5642
5643
|
case 0: return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey, sa.subjectCipherDataClearJson || '')];
|
|
5643
5644
|
case 1:
|
|
5644
|
-
subjectCipherData =
|
|
5645
|
+
subjectCipherData = _d.sent();
|
|
5645
5646
|
existingSa = subAssemblies.edges.find(function (edge) { return edge.node.id === sa.id; }).node;
|
|
5646
5647
|
createApprovers = [];
|
|
5647
5648
|
updateApprovers = [];
|
|
@@ -5661,16 +5662,16 @@
|
|
|
5661
5662
|
}
|
|
5662
5663
|
});
|
|
5663
5664
|
slipSubAssembly = slipSubAssemblies[saIndex];
|
|
5664
|
-
|
|
5665
|
+
_c = {
|
|
5665
5666
|
subAssemblyId: sa.id,
|
|
5666
5667
|
singleReject: sa.singleReject,
|
|
5667
5668
|
quorum: sa.quorum,
|
|
5668
5669
|
subjectCipherData: subjectCipherData
|
|
5669
5670
|
};
|
|
5670
|
-
return [4 /*yield*/, Promise.all(createApprovers.map(function (
|
|
5671
|
-
var tp =
|
|
5671
|
+
return [4 /*yield*/, Promise.all(createApprovers.map(function (_c, approverIndex) {
|
|
5672
|
+
var tp = _c.tp;
|
|
5672
5673
|
return __awaiter(_this, void 0, void 0, function () {
|
|
5673
|
-
return __generator(this, function (
|
|
5674
|
+
return __generator(this, function (_c) {
|
|
5674
5675
|
return [2 /*return*/, this.prepareApprover({
|
|
5675
5676
|
tp: tp,
|
|
5676
5677
|
approverIndex: approverIndex,
|
|
@@ -5682,11 +5683,11 @@
|
|
|
5682
5683
|
});
|
|
5683
5684
|
}))];
|
|
5684
5685
|
case 2:
|
|
5685
|
-
|
|
5686
|
-
return [4 /*yield*/, Promise.all(updateApprovers.map(function (
|
|
5687
|
-
var tp =
|
|
5686
|
+
_c.createApprovers = _d.sent();
|
|
5687
|
+
return [4 /*yield*/, Promise.all(updateApprovers.map(function (_c, approverIndex) {
|
|
5688
|
+
var tp = _c.tp, approverId = _c.approverId;
|
|
5688
5689
|
return __awaiter(_this, void 0, void 0, function () {
|
|
5689
|
-
return __generator(this, function (
|
|
5690
|
+
return __generator(this, function (_c) {
|
|
5690
5691
|
return [2 /*return*/, this.prepareApprover({
|
|
5691
5692
|
approverId: approverId,
|
|
5692
5693
|
tp: tp,
|
|
@@ -5698,8 +5699,8 @@
|
|
|
5698
5699
|
});
|
|
5699
5700
|
});
|
|
5700
5701
|
}))];
|
|
5701
|
-
case 3: return [2 /*return*/, (
|
|
5702
|
-
|
|
5702
|
+
case 3: return [2 /*return*/, (_c.updateApprovers = _d.sent(),
|
|
5703
|
+
_c)];
|
|
5703
5704
|
}
|
|
5704
5705
|
});
|
|
5705
5706
|
}); }))];
|
|
@@ -5729,29 +5730,29 @@
|
|
|
5729
5730
|
};
|
|
5730
5731
|
TpAssemblyController.prototype.prepareCreate = function (input) {
|
|
5731
5732
|
return __awaiter(this, void 0, void 0, function () {
|
|
5732
|
-
var rootKey, subjectKey, rootKeyWrappedSubjectKey, _a, assemblyKey, rawAssemblyKey, assemblyKeyParams, assemblyInput, slipAssembly, tpIds, tps,
|
|
5733
|
-
return __generator(this, function (
|
|
5734
|
-
switch (
|
|
5733
|
+
var rootKey, subjectKey, rootKeyWrappedSubjectKey, _a, assemblyKey, rawAssemblyKey, assemblyKeyParams, assemblyInput, slipAssembly, tpIds, tps, _c, createSubAssemblies, subjectCipherData;
|
|
5734
|
+
return __generator(this, function (_d) {
|
|
5735
|
+
switch (_d.label) {
|
|
5735
5736
|
case 0: return [4 /*yield*/, this.keyService.getCurrentRootKey()];
|
|
5736
5737
|
case 1:
|
|
5737
|
-
rootKey =
|
|
5738
|
+
rootKey = _d.sent();
|
|
5738
5739
|
return [4 /*yield*/, this.keyFactory.createKey()];
|
|
5739
5740
|
case 2:
|
|
5740
|
-
subjectKey =
|
|
5741
|
+
subjectKey = _d.sent();
|
|
5741
5742
|
return [4 /*yield*/, this.keyGraph.wrapKey(rootKey, subjectKey)];
|
|
5742
5743
|
case 3:
|
|
5743
|
-
rootKeyWrappedSubjectKey =
|
|
5744
|
+
rootKeyWrappedSubjectKey = _d.sent();
|
|
5744
5745
|
return [4 /*yield*/, this.prepareAssembly({
|
|
5745
5746
|
rootKey: rootKey.jwk,
|
|
5746
5747
|
subjectKey: subjectKey,
|
|
5747
5748
|
})];
|
|
5748
5749
|
case 4:
|
|
5749
|
-
_a =
|
|
5750
|
+
_a = _d.sent(), assemblyKey = _a.assemblyKey, rawAssemblyKey = _a.rawAssemblyKey, assemblyKeyParams = _a.assemblyKeyParams, assemblyInput = __rest(_a, ["assemblyKey", "rawAssemblyKey", "assemblyKeyParams"]);
|
|
5750
5751
|
return [4 /*yield*/, this.prepareSlip39(input.createSubAssemblies, input.quorum, rawAssemblyKey)];
|
|
5751
5752
|
case 5:
|
|
5752
|
-
slipAssembly =
|
|
5753
|
+
slipAssembly = _d.sent();
|
|
5753
5754
|
tpIds = this.getInputApprovers(input.createSubAssemblies);
|
|
5754
|
-
|
|
5755
|
+
_c = mapEdges;
|
|
5755
5756
|
return [4 /*yield*/, this.lrGraphQl.query({
|
|
5756
5757
|
query: TpsKeysQuery,
|
|
5757
5758
|
variables: {
|
|
@@ -5759,7 +5760,7 @@
|
|
|
5759
5760
|
},
|
|
5760
5761
|
})];
|
|
5761
5762
|
case 6:
|
|
5762
|
-
tps =
|
|
5763
|
+
tps = _c.apply(void 0, [(_d.sent()).tps]);
|
|
5763
5764
|
// Fill in wrappingKeyId if not present
|
|
5764
5765
|
this.fillWrappingKeyId(input.createSubAssemblies, tps);
|
|
5765
5766
|
return [4 /*yield*/, this.prepareCreateSubAssemblies({
|
|
@@ -5769,10 +5770,13 @@
|
|
|
5769
5770
|
subjectKey: subjectKey,
|
|
5770
5771
|
})];
|
|
5771
5772
|
case 7:
|
|
5772
|
-
createSubAssemblies =
|
|
5773
|
+
createSubAssemblies = _d.sent();
|
|
5774
|
+
return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey, input.subjectCipherDataClearJson || '')];
|
|
5775
|
+
case 8:
|
|
5776
|
+
subjectCipherData = _d.sent();
|
|
5773
5777
|
return [2 /*return*/, {
|
|
5774
5778
|
assemblyKey: assemblyKey,
|
|
5775
|
-
mutationInput: Object.assign(Object.assign({}, assemblyInput), { singleReject: input.singleReject, quorum: input.quorum, subjectCipherData:
|
|
5779
|
+
mutationInput: Object.assign(Object.assign({}, assemblyInput), { singleReject: input.singleReject, quorum: input.quorum, subjectCipherData: subjectCipherData,
|
|
5776
5780
|
createSubAssemblies: createSubAssemblies, rootKeyId: rootKey.id, rootKeyWrappedSubjectKey: rootKeyWrappedSubjectKey }),
|
|
5777
5781
|
}];
|
|
5778
5782
|
}
|
|
@@ -5789,10 +5793,11 @@
|
|
|
5789
5793
|
};
|
|
5790
5794
|
TpAssemblyController.prototype.prepareUpdate = function (input, assembly // TODO type this to only what we need.
|
|
5791
5795
|
) {
|
|
5796
|
+
var _a;
|
|
5792
5797
|
return __awaiter(this, void 0, void 0, function () {
|
|
5793
|
-
var createSubAssembliesInput, updateSubAssembliesInput, deleteSubAssembliesInput, rootKey, subjectKey,
|
|
5794
|
-
return __generator(this, function (
|
|
5795
|
-
switch (
|
|
5798
|
+
var createSubAssembliesInput, updateSubAssembliesInput, deleteSubAssembliesInput, rootKey, subjectKey, _b, assemblyKey, rawAssemblyKey, assemblyKeyParams, assemblyInput, tpIds, tps, _c, slipAssembly, error_1, common, createSubAssemblies, updateSubAssemblies, subjectCipherData;
|
|
5799
|
+
return __generator(this, function (_d) {
|
|
5800
|
+
switch (_d.label) {
|
|
5796
5801
|
case 0:
|
|
5797
5802
|
input = Object.assign({ createSubAssemblies: [] }, input);
|
|
5798
5803
|
createSubAssembliesInput = input.createSubAssemblies || [];
|
|
@@ -5806,18 +5811,18 @@
|
|
|
5806
5811
|
}
|
|
5807
5812
|
return [4 /*yield*/, this.keyService.getCurrentRootKey()];
|
|
5808
5813
|
case 1:
|
|
5809
|
-
rootKey =
|
|
5814
|
+
rootKey = _d.sent();
|
|
5810
5815
|
return [4 /*yield*/, this.keyGraph.getKey(assembly.subjectKey.id)];
|
|
5811
5816
|
case 2:
|
|
5812
|
-
subjectKey =
|
|
5817
|
+
subjectKey = _d.sent();
|
|
5813
5818
|
return [4 /*yield*/, this.prepareAssembly({
|
|
5814
5819
|
rootKey: rootKey.jwk,
|
|
5815
5820
|
subjectKey: subjectKey.jwk,
|
|
5816
5821
|
})];
|
|
5817
5822
|
case 3:
|
|
5818
|
-
|
|
5823
|
+
_b = _d.sent(), assemblyKey = _b.assemblyKey, rawAssemblyKey = _b.rawAssemblyKey, assemblyKeyParams = _b.assemblyKeyParams, assemblyInput = __rest(_b, ["assemblyKey", "rawAssemblyKey", "assemblyKeyParams"]);
|
|
5819
5824
|
tpIds = this.getAssemblyApprovers(assembly).concat(this.getInputApprovers(createSubAssembliesInput), this.getInputApprovers(updateSubAssembliesInput));
|
|
5820
|
-
|
|
5825
|
+
_c = mapEdges;
|
|
5821
5826
|
return [4 /*yield*/, this.lrGraphQl.query({
|
|
5822
5827
|
query: TpsKeysQuery,
|
|
5823
5828
|
variables: {
|
|
@@ -5825,7 +5830,7 @@
|
|
|
5825
5830
|
},
|
|
5826
5831
|
})];
|
|
5827
5832
|
case 4:
|
|
5828
|
-
tps =
|
|
5833
|
+
tps = _c.apply(void 0, [(_d.sent()).tps]);
|
|
5829
5834
|
// Auto fill the updateSubAssemblies with existing sub assemblies if they are not
|
|
5830
5835
|
// explicitly deleted.
|
|
5831
5836
|
mapEdges(assembly.subAssemblies).forEach(function (existing) {
|
|
@@ -5855,15 +5860,15 @@
|
|
|
5855
5860
|
// Fill in wrappingKeyId if not present
|
|
5856
5861
|
this.fillWrappingKeyId(createSubAssembliesInput, tps);
|
|
5857
5862
|
this.fillWrappingKeyId(updateSubAssembliesInput, tps);
|
|
5858
|
-
|
|
5863
|
+
_d.label = 5;
|
|
5859
5864
|
case 5:
|
|
5860
|
-
|
|
5865
|
+
_d.trys.push([5, 7, , 8]);
|
|
5861
5866
|
return [4 /*yield*/, this.prepareSlip39((createSubAssembliesInput || []).concat(updateSubAssembliesInput || []), input.quorum, rawAssemblyKey)];
|
|
5862
5867
|
case 6:
|
|
5863
|
-
slipAssembly =
|
|
5868
|
+
slipAssembly = _d.sent();
|
|
5864
5869
|
return [3 /*break*/, 8];
|
|
5865
5870
|
case 7:
|
|
5866
|
-
error_1 =
|
|
5871
|
+
error_1 = _d.sent();
|
|
5867
5872
|
// TODO this sometimes happens. Maybe missing await.
|
|
5868
5873
|
console.log('Error while creating slip assembly', error_1);
|
|
5869
5874
|
return [3 /*break*/, 8];
|
|
@@ -5876,39 +5881,42 @@
|
|
|
5876
5881
|
// Need to match the slip sub assemblies to the input
|
|
5877
5882
|
slipSubAssemblies: slipAssembly.subAssemblies.slice(0, createSubAssembliesInput.length) }))];
|
|
5878
5883
|
case 9:
|
|
5879
|
-
createSubAssemblies =
|
|
5884
|
+
createSubAssemblies = _d.sent();
|
|
5880
5885
|
return [4 /*yield*/, this.prepareUpdateSubAssemblies(Object.assign(Object.assign({}, common), { input: updateSubAssembliesInput,
|
|
5881
5886
|
// Add an offset to the sub assemblies to skip the one that are created.
|
|
5882
5887
|
slipSubAssemblies: slipAssembly.subAssemblies.slice(createSubAssembliesInput.length), subAssemblies: assembly.subAssemblies }))];
|
|
5883
5888
|
case 10:
|
|
5884
|
-
updateSubAssemblies =
|
|
5889
|
+
updateSubAssemblies = _d.sent();
|
|
5890
|
+
return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey.jwk, (_a = input.subjectCipherDataClearJson) !== null && _a !== void 0 ? _a : assembly.subjectCipherDataClearJson)];
|
|
5891
|
+
case 11:
|
|
5892
|
+
subjectCipherData = _d.sent();
|
|
5885
5893
|
return [2 /*return*/, {
|
|
5886
5894
|
assemblyKey: assemblyKey,
|
|
5887
|
-
mutationInput: Object.assign(Object.assign({}, assemblyInput), { singleReject: input.singleReject, quorum: input.quorum, subjectCipherData:
|
|
5895
|
+
mutationInput: Object.assign(Object.assign({}, assemblyInput), { singleReject: input.singleReject, quorum: input.quorum, subjectCipherData: subjectCipherData, subjectKeyId: subjectKey.id, createSubAssemblies: createSubAssemblies,
|
|
5888
5896
|
updateSubAssemblies: updateSubAssemblies }),
|
|
5889
5897
|
}];
|
|
5890
5898
|
}
|
|
5891
5899
|
});
|
|
5892
5900
|
});
|
|
5893
5901
|
};
|
|
5894
|
-
TpAssemblyController.prototype.prepareApprover = function (
|
|
5895
|
-
var approverId =
|
|
5902
|
+
TpAssemblyController.prototype.prepareApprover = function (_c) {
|
|
5903
|
+
var approverId = _c.approverId, tp = _c.tp, approverIndex = _c.approverIndex, slipSubAssembly = _c.slipSubAssembly, assemblyKeyParams = _c.assemblyKeyParams, subjectKey = _c.subjectKey;
|
|
5896
5904
|
return __awaiter(this, void 0, void 0, function () {
|
|
5897
5905
|
var tpWrappingKey, sharedKey, tpWrappedSharedKey, subjectKeyWrappedSharedKey, share, partialAssemblyKey, sharedCipherData, sharedCipherApprovalData, sharedCipherPartialAssemblyKey;
|
|
5898
|
-
return __generator(this, function (
|
|
5899
|
-
switch (
|
|
5906
|
+
return __generator(this, function (_c) {
|
|
5907
|
+
switch (_c.label) {
|
|
5900
5908
|
case 0: return [4 /*yield*/, this.prepareTpWrappingKey(tp)];
|
|
5901
5909
|
case 1:
|
|
5902
|
-
tpWrappingKey =
|
|
5910
|
+
tpWrappingKey = _c.sent();
|
|
5903
5911
|
return [4 /*yield*/, this.keyFactory.createKey()];
|
|
5904
5912
|
case 2:
|
|
5905
|
-
sharedKey =
|
|
5913
|
+
sharedKey = _c.sent();
|
|
5906
5914
|
return [4 /*yield*/, this.encryptionService.encryptToString(tpWrappingKey.jwk, sharedKey.toJSON(true))];
|
|
5907
5915
|
case 3:
|
|
5908
|
-
tpWrappedSharedKey =
|
|
5916
|
+
tpWrappedSharedKey = _c.sent();
|
|
5909
5917
|
return [4 /*yield*/, this.encryptionService.encryptToString(subjectKey, sharedKey.toJSON(true))];
|
|
5910
5918
|
case 4:
|
|
5911
|
-
subjectKeyWrappedSharedKey =
|
|
5919
|
+
subjectKeyWrappedSharedKey = _c.sent();
|
|
5912
5920
|
share = slipSubAssembly.threshold === 1
|
|
5913
5921
|
? slipSubAssembly.shares[0]
|
|
5914
5922
|
: slipSubAssembly.shares[approverIndex];
|
|
@@ -5925,13 +5933,13 @@
|
|
|
5925
5933
|
console.log('partialAssemblyKey', partialAssemblyKey);
|
|
5926
5934
|
return [4 /*yield*/, this.encryptionService.encryptToString(sharedKey, tp.sharedCipherDataClearJson || '')];
|
|
5927
5935
|
case 5:
|
|
5928
|
-
sharedCipherData =
|
|
5936
|
+
sharedCipherData = _c.sent();
|
|
5929
5937
|
return [4 /*yield*/, this.encryptionService.encryptToString(sharedKey, tp.sharedCipherApprovalDataClearJson || '')];
|
|
5930
5938
|
case 6:
|
|
5931
|
-
sharedCipherApprovalData =
|
|
5939
|
+
sharedCipherApprovalData = _c.sent();
|
|
5932
5940
|
return [4 /*yield*/, this.encryptionService.encryptToString(sharedKey, partialAssemblyKey)];
|
|
5933
5941
|
case 7:
|
|
5934
|
-
sharedCipherPartialAssemblyKey =
|
|
5942
|
+
sharedCipherPartialAssemblyKey = _c.sent();
|
|
5935
5943
|
return [2 /*return*/, {
|
|
5936
5944
|
tpWrappingKeyId: tpWrappingKey.id,
|
|
5937
5945
|
tpWrappedSharedKey: tpWrappedSharedKey,
|
|
@@ -5947,7 +5955,7 @@
|
|
|
5947
5955
|
});
|
|
5948
5956
|
};
|
|
5949
5957
|
TpAssemblyController.prototype.validateApprovers = function (approvers) {
|
|
5950
|
-
var e_1,
|
|
5958
|
+
var e_1, _c;
|
|
5951
5959
|
try {
|
|
5952
5960
|
// Ensure all approvers have mkSharedKey.
|
|
5953
5961
|
for (var approvers_1 = __values(approvers), approvers_1_1 = approvers_1.next(); !approvers_1_1.done; approvers_1_1 = approvers_1.next()) {
|
|
@@ -5962,7 +5970,7 @@
|
|
|
5962
5970
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
5963
5971
|
finally {
|
|
5964
5972
|
try {
|
|
5965
|
-
if (approvers_1_1 && !approvers_1_1.done && (
|
|
5973
|
+
if (approvers_1_1 && !approvers_1_1.done && (_c = approvers_1.return)) _c.call(approvers_1);
|
|
5966
5974
|
}
|
|
5967
5975
|
finally { if (e_1) throw e_1.error; }
|
|
5968
5976
|
}
|
|
@@ -5971,8 +5979,8 @@
|
|
|
5971
5979
|
TpAssemblyController.prototype.prepareSlip39 = function (subAssemblies, assemblyQuorum, rawAssemblyKey) {
|
|
5972
5980
|
return __awaiter(this, void 0, void 0, function () {
|
|
5973
5981
|
var slipAssembly;
|
|
5974
|
-
return __generator(this, function (
|
|
5975
|
-
switch (
|
|
5982
|
+
return __generator(this, function (_c) {
|
|
5983
|
+
switch (_c.label) {
|
|
5976
5984
|
case 0:
|
|
5977
5985
|
// Is there enough sub assemblies to meet quorum
|
|
5978
5986
|
if (subAssemblies.length < assemblyQuorum) {
|
|
@@ -5990,7 +5998,7 @@
|
|
|
5990
5998
|
});
|
|
5991
5999
|
return [4 /*yield*/, this.slip39Service.generateShares(rawAssemblyKey, this.slip39Passphrase, slipAssembly)];
|
|
5992
6000
|
case 1:
|
|
5993
|
-
|
|
6001
|
+
_c.sent();
|
|
5994
6002
|
return [2 /*return*/, slipAssembly];
|
|
5995
6003
|
}
|
|
5996
6004
|
});
|
|
@@ -10919,10 +10927,6 @@
|
|
|
10919
10927
|
{ type: LifeReadyAuthService }
|
|
10920
10928
|
]; };
|
|
10921
10929
|
|
|
10922
|
-
(function (UserDeleteState) {
|
|
10923
|
-
UserDeleteState["REQUESTED"] = "REQUESTED";
|
|
10924
|
-
})(exports.UserDeleteState || (exports.UserDeleteState = {}));
|
|
10925
|
-
|
|
10926
10930
|
var LifeReadyModule = /** @class */ (function () {
|
|
10927
10931
|
function LifeReadyModule() {
|
|
10928
10932
|
}
|
|
@@ -11790,7 +11794,8 @@
|
|
|
11790
11794
|
_o = (_m = JSON).stringify;
|
|
11791
11795
|
return [4 /*yield*/, this.encryptionService.sign(initiatorSigPrk.jwk, sharedCipherData)];
|
|
11792
11796
|
case 27:
|
|
11793
|
-
_l.sharedCipherDataSig =
|
|
11797
|
+
_l.sharedCipherDataSig =
|
|
11798
|
+
_o.apply(_m, [_p.sent()]);
|
|
11794
11799
|
_p.label = 28;
|
|
11795
11800
|
case 28:
|
|
11796
11801
|
// TODO ideally we update the shared data in the contact card sent to the responder as well since that
|
|
@@ -12075,14 +12080,15 @@
|
|
|
12075
12080
|
var DeleteDirectoryMutation = gqlTyped(templateObject_6$a || (templateObject_6$a = __makeTemplateObject(["\nmutation DeleteDirectoryMutation($input: DeleteDirectoryInput!) {\n deleteDirectory(input: $input) {\n id\n }\n}\n"], ["\nmutation DeleteDirectoryMutation($input: DeleteDirectoryInput!) {\n deleteDirectory(input: $input) {\n id\n }\n}\n"])));
|
|
12076
12081
|
var CreateFileMutation$1 = gqlTyped(templateObject_7$8 || (templateObject_7$8 = __makeTemplateObject(["\nmutation CreateFileMutation($input: CreateFileInput!) {\n createFile(input: $input) {\n file {\n id\n }\n }\n}\n"], ["\nmutation CreateFileMutation($input: CreateFileInput!) {\n createFile(input: $input) {\n file {\n id\n }\n }\n}\n"])));
|
|
12077
12082
|
var UpdateFileMutation = gqlTyped(templateObject_8$7 || (templateObject_8$7 = __makeTemplateObject(["\nmutation UpdateFileMutation($input: UpdateFileInput!) {\n updateFile(input: $input) {\n file {\n id\n }\n }\n}\n"], ["\nmutation UpdateFileMutation($input: UpdateFileInput!) {\n updateFile(input: $input) {\n file {\n id\n }\n }\n}\n"])));
|
|
12078
|
-
var
|
|
12079
|
-
var
|
|
12080
|
-
var
|
|
12081
|
-
var
|
|
12082
|
-
var
|
|
12083
|
-
var
|
|
12084
|
-
var
|
|
12085
|
-
var
|
|
12083
|
+
var RevertFileMutation = gqlTyped(templateObject_9$4 || (templateObject_9$4 = __makeTemplateObject(["\nmutation RevertFileMutation($input: RevertFileInput!) {\n revertFile(input: $input) {\n file {\n id\n }\n }\n}\n"], ["\nmutation RevertFileMutation($input: RevertFileInput!) {\n revertFile(input: $input) {\n file {\n id\n }\n }\n}\n"])));
|
|
12084
|
+
var DeleteFileMutation$1 = gqlTyped(templateObject_10$4 || (templateObject_10$4 = __makeTemplateObject(["\nmutation DeleteFileMutation($input: DeleteFileInput!) {\n deleteFile(input: $input) {\n id\n }\n}\n"], ["\nmutation DeleteFileMutation($input: DeleteFileInput!) {\n deleteFile(input: $input) {\n id\n }\n}\n"])));
|
|
12085
|
+
var ArchiveDirectoryMutation$1 = gqlTyped(templateObject_11$3 || (templateObject_11$3 = __makeTemplateObject(["\nmutation ArchiveDirectoryMutation($input: ArchiveDirectoryInput!) {\n archiveDirectory(input: $input) {\n directory {\n id\n }\n }\n}\n"], ["\nmutation ArchiveDirectoryMutation($input: ArchiveDirectoryInput!) {\n archiveDirectory(input: $input) {\n directory {\n id\n }\n }\n}\n"])));
|
|
12086
|
+
var UnarchiveDirectoryMutation$1 = gqlTyped(templateObject_12$2 || (templateObject_12$2 = __makeTemplateObject(["\nmutation UnarchiveDirectoryMutation($input: UnarchiveDirectoryInput!) {\n unarchiveDirectory(input: $input) {\n directory {\n id\n }\n }\n}\n"], ["\nmutation UnarchiveDirectoryMutation($input: UnarchiveDirectoryInput!) {\n unarchiveDirectory(input: $input) {\n directory {\n id\n }\n }\n}\n"])));
|
|
12087
|
+
var ChangeDirectoryParentsMutation = gqlTyped(templateObject_13$2 || (templateObject_13$2 = __makeTemplateObject(["\nmutation ChangeDirectoryParentsMutation($input: ChangeDirectoryParentsInput!) {\n changeDirectoryParents(input: $input) {\n directory {\n id\n }\n }\n}\n"], ["\nmutation ChangeDirectoryParentsMutation($input: ChangeDirectoryParentsInput!) {\n changeDirectoryParents(input: $input) {\n directory {\n id\n }\n }\n}\n"])));
|
|
12088
|
+
var ChangeFileParentsMutation = gqlTyped(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\nmutation ChangeFileParentsMutation($input: ChangeFileParentsInput!) {\n changeFileParents(input: $input) {\n file {\n id\n }\n }\n}\n"], ["\nmutation ChangeFileParentsMutation($input: ChangeFileParentsInput!) {\n changeFileParents(input: $input) {\n file {\n id\n }\n }\n}\n"])));
|
|
12089
|
+
var BeginDeleteChildItemLinksWindowMutation = gqlTyped(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\nmutation BeginDeleteChildItemLinksWindowMutation($input: BeginDeleteChildItemLinksWindowInput!) {\n beginDeleteChildItemLinksWindow(input: $input) {\n begin\n end\n scheduled\n windowMs\n directory {\n id\n }\n }\n}\n"], ["\nmutation BeginDeleteChildItemLinksWindowMutation($input: BeginDeleteChildItemLinksWindowInput!) {\n beginDeleteChildItemLinksWindow(input: $input) {\n begin\n end\n scheduled\n windowMs\n directory {\n id\n }\n }\n}\n"])));
|
|
12090
|
+
var TempDirectoryQuery = gqlTyped(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\nquery TempDirectoryQuery($plainMeta: LrJSONFilter!) {\n rootDirectories(plainMeta: $plainMeta, first: 2, orderBy: \"created\") {\n edges {\n node {\n id\n keyId\n }\n }\n }\n lock {\n version\n }\n}\n"], ["\nquery TempDirectoryQuery($plainMeta: LrJSONFilter!) {\n rootDirectories(plainMeta: $plainMeta, first: 2, orderBy: \"created\") {\n edges {\n node {\n id\n keyId\n }\n }\n }\n lock {\n version\n }\n}\n"])));
|
|
12091
|
+
var templateObject_1$m, templateObject_2$i, templateObject_3$g, templateObject_4$f, templateObject_5$c, templateObject_6$a, templateObject_7$8, templateObject_8$7, templateObject_9$4, templateObject_10$4, templateObject_11$3, templateObject_12$2, templateObject_13$2, templateObject_14$1, templateObject_15, templateObject_16;
|
|
12086
12092
|
|
|
12087
12093
|
var Item2Service_1;
|
|
12088
12094
|
exports.Item2Service = Item2Service_1 = /** @class */ (function (_super) {
|
|
@@ -12279,6 +12285,24 @@
|
|
|
12279
12285
|
});
|
|
12280
12286
|
});
|
|
12281
12287
|
};
|
|
12288
|
+
Item2Service.prototype.revertFileExec = function (options) {
|
|
12289
|
+
return this.mutate(this.revertFileMutation(options));
|
|
12290
|
+
};
|
|
12291
|
+
Item2Service.prototype.revertFile = function (options) {
|
|
12292
|
+
return this.revertFileMutation(options);
|
|
12293
|
+
};
|
|
12294
|
+
Item2Service.prototype.revertFileMutation = function (options) {
|
|
12295
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12296
|
+
return __generator(this, function (_c) {
|
|
12297
|
+
return [2 /*return*/, new LrMutation({
|
|
12298
|
+
mutation: RevertFileMutation,
|
|
12299
|
+
variables: {
|
|
12300
|
+
input: options,
|
|
12301
|
+
},
|
|
12302
|
+
})];
|
|
12303
|
+
});
|
|
12304
|
+
});
|
|
12305
|
+
};
|
|
12282
12306
|
Item2Service.prototype.deleteFileExec = function (id) {
|
|
12283
12307
|
return this.mutate(this.deleteFileMutation(id));
|
|
12284
12308
|
};
|
|
@@ -13741,7 +13765,6 @@
|
|
|
13741
13765
|
});
|
|
13742
13766
|
});
|
|
13743
13767
|
};
|
|
13744
|
-
// TODO auto add the missing existing receivers and directories
|
|
13745
13768
|
ScenarioService.prototype.updateScenarioMutation = function (options) {
|
|
13746
13769
|
return __awaiter(this, void 0, void 0, function () {
|
|
13747
13770
|
var scenario, input;
|