solid-ui 2.4.27-cd2500d2 → 2.4.27-d81bb5b5

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/dist/solid-ui.js CHANGED
@@ -2655,7 +2655,7 @@ var ChatChannel = /*#__PURE__*/function () {
2655
2655
  var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2656
2656
  var deleteIt = arguments.length > 2 ? arguments[2] : undefined;
2657
2657
  return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
2658
- var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, pubKey, sig, _errMsg;
2658
+ var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, sig, _errMsg;
2659
2659
  return _regenerator["default"].wrap(function _callee2$(_context2) {
2660
2660
  while (1) switch (_context2.prev = _context2.next) {
2661
2661
  case 0:
@@ -2703,46 +2703,46 @@ var ChatChannel = /*#__PURE__*/function () {
2703
2703
  sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
2704
2704
  msg.created = dateStamp.value;
2705
2705
  if (!me) {
2706
- _context2.next = 36;
2706
+ _context2.next = 35;
2707
2707
  break;
2708
2708
  }
2709
2709
  sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
2710
2710
  msg.maker = me.uri;
2711
2711
  // privateKey the cached private key of me, cached in store
2712
2712
  _context2.next = 32;
2713
- return (0, _keys.getPrivateKey)(me.uri);
2713
+ return (0, _keys.getPrivateKey)(me);
2714
2714
  case 32:
2715
2715
  privateKey = _context2.sent;
2716
+ // me.uri)
2716
2717
  // const privateKey0 = 'a11bc5d2eee6cdb3b37f5473a712cad905ccfb13fb2ccdbf1be0a1ac4fdc7d2a'
2717
- // const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
2718
- pubKey = (0, _keys.getPublicKey)(me.uri);
2719
- sig = (0, _signature.signMsg)(msg, privateKey);
2720
- /* const verify = verifySignature(sig, msg, pubKey) // alain to remove
2718
+ sig = (0, _signature.signMsg)(msg, privateKey); // const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
2719
+ /* const pubKey = await getPublicKey(me)
2720
+ const verify = verifySignature(sig, msg, pubKey) // alain to remove
2721
2721
  debug.warn('sig ' + sig)
2722
2722
  debug.warn('verifySign ' + verify)
2723
2723
  debug.warn(msg) */
2724
2724
  sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "Proof")), $rdf.lit(sig), chatDocument));
2725
- case 36:
2726
- _context2.prev = 36;
2727
- _context2.next = 39;
2725
+ case 35:
2726
+ _context2.prev = 35;
2727
+ _context2.next = 38;
2728
2728
  return _solidLogic.store.updater.update([], sts);
2729
- case 39:
2730
- _context2.next = 47;
2729
+ case 38:
2730
+ _context2.next = 46;
2731
2731
  break;
2732
- case 41:
2733
- _context2.prev = 41;
2734
- _context2.t0 = _context2["catch"](36);
2732
+ case 40:
2733
+ _context2.prev = 40;
2734
+ _context2.t0 = _context2["catch"](35);
2735
2735
  _errMsg = 'Error saving chat message: ' + _context2.t0;
2736
2736
  debug.warn(_errMsg);
2737
2737
  alert(_errMsg);
2738
2738
  throw new Error(_errMsg);
2739
- case 47:
2739
+ case 46:
2740
2740
  return _context2.abrupt("return", message);
2741
- case 48:
2741
+ case 47:
2742
2742
  case "end":
2743
2743
  return _context2.stop();
2744
2744
  }
2745
- }, _callee2, null, [[36, 41]]);
2745
+ }, _callee2, null, [[35, 40]]);
2746
2746
  })();
2747
2747
  });
2748
2748
  function updateMessage(_x2) {
@@ -4043,7 +4043,8 @@ var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@nob
4043
4043
  var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js");
4044
4044
  var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
4045
4045
  var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
4046
- var _cryptoKeyHelpers = __webpack_require__(/*! ../utils/cryptoKeyHelpers */ "./lib/utils/cryptoKeyHelpers.js");
4046
+ var _accessData = __webpack_require__(/*! ../utils/keyHelpers/accessData */ "./lib/utils/keyHelpers/accessData.js");
4047
+ var _acl = __webpack_require__(/*! ../utils/keyHelpers/acl */ "./lib/utils/keyHelpers/acl.js");
4047
4048
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4048
4049
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
4049
4050
  function generatePrivateKey() {
@@ -4052,68 +4053,209 @@ function generatePrivateKey() {
4052
4053
  function generatePublicKey(privateKey) {
4053
4054
  return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
4054
4055
  }
4055
- function getPublicKey(webId) {
4056
- var publicKey = (0, _cryptoKeyHelpers.publicKeyExists)(webId);
4057
- return publicKey;
4056
+
4057
+ /**
4058
+ * getPublicKey
4059
+ * used for displaying messages in chat, therefore does not
4060
+ * create a new key if not found
4061
+ * @param webId
4062
+ * @returns string | undefined
4063
+ */
4064
+ function getPublicKey(_x) {
4065
+ return _getPublicKey.apply(this, arguments);
4066
+ }
4067
+ function _getPublicKey() {
4068
+ _getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4069
+ var publicKeyDoc, key;
4070
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
4071
+ while (1) switch (_context2.prev = _context2.next) {
4072
+ case 0:
4073
+ _context2.next = 2;
4074
+ return _solidLogic.store.fetcher.load(webId);
4075
+ case 2:
4076
+ _context2.next = 4;
4077
+ return (0, _accessData.pubKeyUrl)(webId);
4078
+ case 4:
4079
+ publicKeyDoc = _context2.sent;
4080
+ _context2.prev = 5;
4081
+ _context2.next = 8;
4082
+ return _solidLogic.store.fetcher.load(publicKeyDoc);
4083
+ case 8:
4084
+ // url.href)
4085
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
4086
+ return _context2.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
4087
+ case 12:
4088
+ _context2.prev = 12;
4089
+ _context2.t0 = _context2["catch"](5);
4090
+ return _context2.abrupt("return", undefined);
4091
+ case 15:
4092
+ case "end":
4093
+ return _context2.stop();
4094
+ }
4095
+ }, _callee2, null, [[5, 12]]);
4096
+ }));
4097
+ return _getPublicKey.apply(this, arguments);
4058
4098
  }
4059
- function getPrivateKey(_x) {
4099
+ function getPrivateKey(_x2) {
4060
4100
  return _getPrivateKey.apply(this, arguments);
4061
4101
  }
4062
4102
  function _getPrivateKey() {
4063
- _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
4064
- var publicKeyUrl, privateKeyUrl, publicKey, privateKey, del, add;
4065
- return _regenerator["default"].wrap(function _callee$(_context) {
4066
- while (1) switch (_context.prev = _context.next) {
4103
+ _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
4104
+ var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey, keyContainer;
4105
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
4106
+ while (1) switch (_context3.prev = _context3.next) {
4067
4107
  case 0:
4068
- /* const url = new URL(webId)
4069
- url.hash = '' */
4070
- /* const privateKeyUrl = url.protocol + '//' + url.host + '/profile/privateKey.ttl' */
4071
- publicKeyUrl = (0, _cryptoKeyHelpers.pubKeyUrl)(webId);
4072
- privateKeyUrl = (0, _cryptoKeyHelpers.privKeyUrl)(webId); // find publickey
4073
- _context.next = 4;
4074
- return (0, _cryptoKeyHelpers.publicKeyExists)(webId);
4108
+ _context3.next = 2;
4109
+ return _solidLogic.store.fetcher.load(webId);
4110
+ case 2:
4111
+ _context3.next = 4;
4112
+ return (0, _accessData.pubKeyUrl)(webId);
4075
4113
  case 4:
4076
- publicKey = _context.sent;
4077
- _context.next = 7;
4078
- return (0, _cryptoKeyHelpers.privateKeyExists)(webId);
4114
+ publicKeyDoc = _context3.sent;
4115
+ _context3.next = 7;
4116
+ return (0, _accessData.privKeyUrl)(webId);
4079
4117
  case 7:
4080
- privateKey = _context.sent;
4081
- // debug.warn('privateKey ' + privateKey)
4082
- if (privateKey && publicKey !== generatePublicKey(privateKey)) debug.warn('publicKey is not valid');
4083
-
4084
- // simulate new key pair
4085
- /* const newPrivateKey = generatePrivateKey()
4086
- const newPublicKey = generatePublicKey(newPrivateKey)
4087
- debug.log('newPrivateKey ' + newPrivateKey)
4088
- debug.log('newPublicKey ' + newPublicKey) */
4089
-
4090
- // create key pair
4091
- if (!(!privateKey || !publicKey)) {
4092
- _context.next = 20;
4118
+ privateKeyDoc = _context3.sent;
4119
+ _context3.next = 10;
4120
+ return (0, _accessData.getExistingPublicKey)(webId, publicKeyDoc);
4121
+ case 10:
4122
+ publicKey = _context3.sent;
4123
+ _context3.next = 13;
4124
+ return (0, _accessData.getExistingPrivateKey)(webId, privateKeyDoc);
4125
+ case 13:
4126
+ privateKey = _context3.sent;
4127
+ // is publicKey valid ?
4128
+ validPublicKey = true;
4129
+ if (privateKey && publicKey !== generatePublicKey(privateKey)) {
4130
+ if (confirm('This is strange the publicKey is not valid for\n' + (webId === null || webId === void 0 ? void 0 : webId.uri) + '\'shall we repair keeping the private key ?')) validPublicKey = false;
4131
+ }
4132
+
4133
+ // create key pair or repair publicKey
4134
+ if (!(!privateKey || !publicKey || !validPublicKey)) {
4135
+ _context3.next = 34;
4093
4136
  break;
4094
4137
  }
4095
4138
  del = [];
4096
- add = [];
4097
- if (privateKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PrivateKey'), $rdf.lit(privateKey), $rdf.sym(privateKeyUrl)));
4098
- if (publicKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), $rdf.sym(publicKeyUrl)));
4139
+ add = []; // if (privateKey) del.push($rdf.st(webId, store.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), store.sym(privateKeyDoc)))
4140
+ if (privateKey) {
4141
+ _context3.next = 24;
4142
+ break;
4143
+ }
4144
+ // add = []
4099
4145
  privateKey = generatePrivateKey();
4100
- publicKey = generatePublicKey(privateKey);
4101
- /* debug.log('newPrivateKey-1 ' + privateKey)
4102
- debug.log('newPublicKey-1 ' + publicKey) */
4103
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), $rdf.sym(privateKeyUrl)));
4104
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.literal(publicKey), $rdf.sym(publicKeyUrl)));
4105
- _context.next = 20;
4106
- return _solidLogic.store.updater.updateMany(del, add);
4107
- case 20:
4108
- return _context.abrupt("return", privateKey);
4109
- case 21:
4146
+ add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), _solidLogic.store.sym(privateKeyDoc))];
4147
+ _context3.next = 24;
4148
+ return saveKey(privateKeyDoc, [], add, webId.uri);
4149
+ case 24:
4150
+ if (!(!publicKey || !validPublicKey)) {
4151
+ _context3.next = 31;
4152
+ break;
4153
+ }
4154
+ del = [];
4155
+ // delete invalid public key
4156
+ if (publicKey) {
4157
+ del = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), _solidLogic.store.sym(publicKeyDoc))];
4158
+ debug.log(del);
4159
+ }
4160
+ // update new valid key
4161
+ newPublicKey = generatePublicKey(privateKey);
4162
+ add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.literal(newPublicKey), _solidLogic.store.sym(publicKeyDoc))];
4163
+ _context3.next = 31;
4164
+ return saveKey(publicKeyDoc, del, add);
4165
+ case 31:
4166
+ keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
4167
+ _context3.next = 34;
4168
+ return (0, _acl.setAcl)(keyContainer, (0, _acl.keyContainerAclBody)(webId.uri));
4169
+ case 34:
4170
+ return _context3.abrupt("return", privateKey);
4171
+ case 35:
4110
4172
  case "end":
4111
- return _context.stop();
4173
+ return _context3.stop();
4112
4174
  }
4113
- }, _callee);
4175
+ }, _callee3);
4114
4176
  }));
4115
4177
  return _getPrivateKey.apply(this, arguments);
4116
4178
  }
4179
+ var deleteKey = /*#__PURE__*/function () {
4180
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc) {
4181
+ var keyAclDoc, response;
4182
+ return _regenerator["default"].wrap(function _callee$(_context) {
4183
+ while (1) switch (_context.prev = _context.next) {
4184
+ case 0:
4185
+ _context.next = 2;
4186
+ return _solidLogic.store.fetcher.load(keyDoc);
4187
+ case 2:
4188
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
4189
+ if (!keyAclDoc) {
4190
+ _context.next = 16;
4191
+ break;
4192
+ }
4193
+ _context.prev = 4;
4194
+ _context.next = 7;
4195
+ return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
4196
+ case 7:
4197
+ response = _context.sent;
4198
+ // this may fail if webId is not an owner
4199
+ debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
4200
+ _context.next = 16;
4201
+ break;
4202
+ case 11:
4203
+ _context.prev = 11;
4204
+ _context.t0 = _context["catch"](4);
4205
+ if (!(_context.t0.response.status !== 404)) {
4206
+ _context.next = 15;
4207
+ break;
4208
+ }
4209
+ throw new Error(_context.t0);
4210
+ case 15:
4211
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
4212
+ case 16:
4213
+ case "end":
4214
+ return _context.stop();
4215
+ }
4216
+ }, _callee, null, [[4, 11]]);
4217
+ }));
4218
+ return function deleteKey(_x3) {
4219
+ return _ref.apply(this, arguments);
4220
+ };
4221
+ }();
4222
+
4223
+ /**
4224
+ * delete acl if keydoc exists
4225
+ * create/edit keyDoc
4226
+ * set keyDoc acl
4227
+ */
4228
+ function saveKey(_x4, _x5, _x6) {
4229
+ return _saveKey.apply(this, arguments);
4230
+ }
4231
+ function _saveKey() {
4232
+ _saveKey = (0, _asyncToGenerator2["default"])(function (keyDoc, del, add) {
4233
+ var me = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
4234
+ return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
4235
+ var aclBody;
4236
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
4237
+ while (1) switch (_context4.prev = _context4.next) {
4238
+ case 0:
4239
+ _context4.next = 2;
4240
+ return deleteKey(keyDoc);
4241
+ case 2:
4242
+ _context4.next = 4;
4243
+ return _solidLogic.store.updater.updateMany(del, add);
4244
+ case 4:
4245
+ // or a promise store.updater.update ?
4246
+ // create READ only ACL
4247
+ aclBody = (0, _acl.keyAclBody)(keyDoc, me);
4248
+ _context4.next = 7;
4249
+ return (0, _acl.setAcl)(keyDoc, aclBody);
4250
+ case 7:
4251
+ case "end":
4252
+ return _context4.stop();
4253
+ }
4254
+ }, _callee4);
4255
+ })();
4256
+ });
4257
+ return _saveKey.apply(this, arguments);
4258
+ }
4117
4259
  //# sourceMappingURL=keys.js.map
4118
4260
 
4119
4261
  /***/ }),
@@ -4243,44 +4385,37 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4243
4385
  var date = _solidLogic.store.any(message, ns.dct('created'));
4244
4386
  var latestVersion = (0, _chatLogic.mostRecentVersion)(message);
4245
4387
  var latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker'));
4388
+
4246
4389
  // use latest content if same owner, else use original
4247
4390
  var msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message;
4248
4391
  var content = _solidLogic.store.any(msgId, ns.sioc('content'));
4249
4392
  var signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "Proof")));
4250
- debug.log('alain ' + (signature === null || signature === void 0 ? void 0 : signature.value));
4251
4393
 
4252
- // verify signature
4394
+ // set message object
4253
4395
  var msg = (0, _signature.getBlankMsg)();
4254
4396
  msg.id = msgId.uri;
4255
4397
  msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
4256
4398
  msg.content = content.value;
4257
4399
  msg.maker = creator.uri;
4258
- try {
4259
- var publicKey = function publicKey(webId) {
4260
- var pubKey;
4261
- (0, _keys.getPublicKey)(webId).then(function (publicKey) {
4262
- debug.log('alain publicKey ' + publicKey);
4263
- pubKey = publicKey;
4264
- });
4265
- return pubKey;
4266
- };
4267
- var pubKey = publicKey(creator.uri); // await getPublicKey(creator.uri)
4268
- debug.log('alain pubKey ' + pubKey);
4269
- debug.log(creator.uri);
4270
- } catch (err) {
4271
- debug.warn(err);
4272
- }
4273
- try {
4274
- // pubKey could be store in a cache for all makers
4275
- /* const pubKey0 = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
4276
- debug.warn('publicKeys\n' + pubKey0 + '\n' + pubKey)
4277
- const privKey0 = getPrivateKey(creator.uri) // alain to remove
4278
- // unsigned messages should be signaled as unsecured
4279
- debug.warn(msg)
4280
- debug.warn(signature?.value) */
4281
- if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature.value, msg, pubKey)) throw new Error('invalid signature');
4282
- } catch (err) {
4283
- debug.log(err);
4400
+
4401
+ // unsigned message
4402
+ if (!(signature !== null && signature !== void 0 && signature.value)) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
4403
+
4404
+ // signed message, get public key and check signature
4405
+ else {
4406
+ (0, _keys.getPublicKey)(creator).then(function (publicKey) {
4407
+ debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey);
4408
+ if (!publicKey) {
4409
+ // TODO try to recreate the publicKey
4410
+ // if(me.uri === creator.uri) await getPrivateKey(creator)
4411
+ debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
4412
+ }
4413
+ // check that publicKey is a valid hex string
4414
+ var regex = /[0-9A-Fa-f]{6}/g;
4415
+ if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
4416
+ // verify signature
4417
+ else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature === null || signature === void 0 ? void 0 : signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
4418
+ });
4284
4419
  }
4285
4420
  var originalMessage = (0, _chatLogic.originalVersion)(message);
4286
4421
  var edited = !message.sameTerm(originalMessage);
@@ -5075,13 +5210,11 @@ Object.defineProperty(exports, "__esModule", ({
5075
5210
  value: true
5076
5211
  }));
5077
5212
  exports.SEC = exports.CERT = void 0;
5078
- exports.finishMsg = finishMsg;
5079
5213
  exports.getBlankMsg = getBlankMsg;
5080
5214
  exports.getMsgHash = getMsgHash;
5081
5215
  exports.serializeMsg = serializeMsg;
5082
5216
  exports.signMsg = signMsg;
5083
5217
  exports.utf8Encoder = exports.utf8Decoder = void 0;
5084
- exports.validateMsg = validateMsg;
5085
5218
  exports.verifySignature = verifySignature;
5086
5219
  var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
5087
5220
  var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
@@ -5127,19 +5260,22 @@ function getBlankMsg() {
5127
5260
  id: '',
5128
5261
  created: '',
5129
5262
  dateDeleted: '',
5263
+ // TODO to remove if not used
5130
5264
  content: '',
5131
5265
  maker: '',
5132
- sig: ''
5266
+ sig: '' // TODO to remove if not used
5133
5267
  };
5134
5268
  }
5135
- function finishMsg(t, privateKey) {
5136
- // to update to chat message triples
5137
- var message = t;
5138
- // message.pubkey = getPublicKey(privateKey)
5139
- message.id = getMsgHash(message);
5140
- message.sig = signMsg(message, privateKey);
5141
- return message;
5142
- }
5269
+
5270
+ /* export function finishMsg (t: MsgTemplate, privateKey: string): Message {
5271
+ // to update to chat message triples
5272
+ const message = t as Message
5273
+ // message.pubkey = getPublicKey(privateKey)
5274
+ message.id = getMsgHash(message)
5275
+ message.sig = signMsg(message, privateKey)
5276
+ return message
5277
+ } */
5278
+
5143
5279
  function serializeMsg(msg) {
5144
5280
  // to update to chat messages triples
5145
5281
  /* if (!validateMsg(msg))
@@ -5151,27 +5287,29 @@ function getMsgHash(message) {
5151
5287
  var msgHash = (0, _sha.sha256)(utf8Encoder.encode(serializeMsg(message)));
5152
5288
  return (0, _utils.bytesToHex)(msgHash);
5153
5289
  }
5154
- var isRecord = function isRecord(obj) {
5155
- return obj instanceof Object;
5156
- };
5157
- function validateMsg(message) {
5158
- /* if (!isRecord(message)) return false
5290
+
5291
+ // const isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object
5292
+
5293
+ /* export function validateMsg<T> (message: T): message is T & UnsignedMsg {
5294
+ if (!isRecord(message)) return false
5159
5295
  if (typeof message.kind !== 'number') return false
5160
5296
  if (typeof message.content !== 'string') return false
5161
5297
  if (typeof message.created_at !== 'number') return false
5162
5298
  if (typeof message.pubkey !== 'string') return false
5163
5299
  if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
5164
- if (!Array.isArray(message.tags)) return false
5300
+
5301
+ if (!Array.isArray(message.tags)) return false
5165
5302
  for (let i = 0; i < message.tags.length; i++) {
5166
5303
  let tag = message.tags[i]
5167
5304
  if (!Array.isArray(tag)) return false
5168
5305
  for (let j = 0; j < tag.length; j++) {
5169
5306
  if (typeof tag[j] === 'object') return false
5170
5307
  }
5171
- } */
5308
+ }
5309
+
5310
+ return true
5311
+ } */
5172
5312
 
5173
- return true;
5174
- }
5175
5313
  function verifySignature(sig, message, pubKey) {
5176
5314
  return _secp256k.schnorr.verify(sig, getMsgHash(message), pubKey);
5177
5315
  }
@@ -12382,130 +12520,6 @@ function isLight(x) {
12382
12520
 
12383
12521
  /***/ }),
12384
12522
 
12385
- /***/ "./lib/utils/cryptoKeyHelpers.js":
12386
- /*!***************************************!*\
12387
- !*** ./lib/utils/cryptoKeyHelpers.js ***!
12388
- \***************************************/
12389
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12390
-
12391
- "use strict";
12392
-
12393
-
12394
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12395
- var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
12396
- Object.defineProperty(exports, "__esModule", ({
12397
- value: true
12398
- }));
12399
- exports.privKeyUrl = void 0;
12400
- exports.privateKeyExists = privateKeyExists;
12401
- exports.pubKeyUrl = void 0;
12402
- exports.publicKeyExists = publicKeyExists;
12403
- var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
12404
- var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12405
- var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
12406
- var _signature = __webpack_require__(/*! ../chat/signature */ "./lib/chat/signature.js");
12407
- var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
12408
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12409
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12410
- var pubKeyUrl = function pubKeyUrl(webId) {
12411
- var url = new URL(webId);
12412
- var publicKeyUrl = url.origin + '/profile/keys/publicKey.ttl';
12413
- return publicKeyUrl;
12414
- };
12415
- exports.pubKeyUrl = pubKeyUrl;
12416
- function publicKeyExists(_x) {
12417
- return _publicKeyExists.apply(this, arguments);
12418
- }
12419
- function _publicKeyExists() {
12420
- _publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
12421
- var publicKey;
12422
- return _regenerator["default"].wrap(function _callee$(_context) {
12423
- while (1) switch (_context.prev = _context.next) {
12424
- case 0:
12425
- _context.next = 2;
12426
- return _solidLogic.store.fetcher.load(pubKeyUrl(webId));
12427
- case 2:
12428
- // url.href)
12429
- publicKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
12430
- return _context.abrupt("return", publicKey === null || publicKey === void 0 ? void 0 : publicKey.value);
12431
- case 4:
12432
- case "end":
12433
- return _context.stop();
12434
- }
12435
- }, _callee);
12436
- }));
12437
- return _publicKeyExists.apply(this, arguments);
12438
- }
12439
- var privKeyUrl = function privKeyUrl(webId) {
12440
- var url = new URL(webId);
12441
- var privateKeyUrl = url.origin + '/profile/keys/privateKey.ttl';
12442
- return privateKeyUrl;
12443
- };
12444
- exports.privKeyUrl = privKeyUrl;
12445
- function privateKeyExists(_x2) {
12446
- return _privateKeyExists.apply(this, arguments);
12447
- }
12448
- function _privateKeyExists() {
12449
- _privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
12450
- var privateKeyUrl, privateKey, _err$response, data, contentType, response;
12451
- return _regenerator["default"].wrap(function _callee2$(_context2) {
12452
- while (1) switch (_context2.prev = _context2.next) {
12453
- case 0:
12454
- /* const url = new URL(webId)
12455
- const privateKeyUrl = url.protocol + '//' + url.host + '/profile/privateKey.ttl' */
12456
- privateKeyUrl = privKeyUrl(webId);
12457
- /* debug.warn('Alain privateKeyExists')
12458
- debug.warn(webId)
12459
- debug.warn(privateKeyUrl) */
12460
- _context2.prev = 1;
12461
- _context2.next = 4;
12462
- return _solidLogic.store.fetcher.load(privateKeyUrl);
12463
- case 4:
12464
- privateKey = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PrivateKey'));
12465
- return _context2.abrupt("return", privateKey === null || privateKey === void 0 ? void 0 : privateKey.value);
12466
- case 8:
12467
- _context2.prev = 8;
12468
- _context2.t0 = _context2["catch"](1);
12469
- if (!((_context2.t0 === null || _context2.t0 === void 0 ? void 0 : (_err$response = _context2.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
12470
- _context2.next = 25;
12471
- break;
12472
- }
12473
- _context2.prev = 11;
12474
- // create privateKey resource
12475
- data = '';
12476
- contentType = 'text/ttl';
12477
- _context2.next = 16;
12478
- return _solidLogic.store.fetcher.webOperation('PUT', privateKeyUrl, {
12479
- data: data,
12480
- contentType: contentType
12481
- });
12482
- case 16:
12483
- response = _context2.sent;
12484
- _context2.next = 23;
12485
- break;
12486
- case 19:
12487
- _context2.prev = 19;
12488
- _context2.t1 = _context2["catch"](11);
12489
- debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t1);
12490
- throw _context2.t1;
12491
- case 23:
12492
- delete _solidLogic.store.fetcher.requested[privateKeyUrl]; // delete cached 404 error
12493
- return _context2.abrupt("return", undefined);
12494
- case 25:
12495
- debug.log('createIfNotExists doc FAILED: ' + privateKeyUrl + ': ' + _context2.t0);
12496
- throw _context2.t0;
12497
- case 27:
12498
- case "end":
12499
- return _context2.stop();
12500
- }
12501
- }, _callee2, null, [[1, 8], [11, 19]]);
12502
- }));
12503
- return _privateKeyExists.apply(this, arguments);
12504
- }
12505
- //# sourceMappingURL=cryptoKeyHelpers.js.map
12506
-
12507
- /***/ }),
12508
-
12509
12523
  /***/ "./lib/utils/headerFooterHelpers.js":
12510
12524
  /*!******************************************!*\
12511
12525
  !*** ./lib/utils/headerFooterHelpers.js ***!
@@ -13224,6 +13238,345 @@ function predParentOf(node) {
13224
13238
 
13225
13239
  /***/ }),
13226
13240
 
13241
+ /***/ "./lib/utils/keyHelpers/accessData.js":
13242
+ /*!********************************************!*\
13243
+ !*** ./lib/utils/keyHelpers/accessData.js ***!
13244
+ \********************************************/
13245
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13246
+
13247
+ "use strict";
13248
+
13249
+
13250
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13251
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13252
+ Object.defineProperty(exports, "__esModule", ({
13253
+ value: true
13254
+ }));
13255
+ exports.getExistingPrivateKey = getExistingPrivateKey;
13256
+ exports.getExistingPublicKey = getExistingPublicKey;
13257
+ exports.getKeyIfExists = getKeyIfExists;
13258
+ exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
13259
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13260
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13261
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13262
+ var _signature = __webpack_require__(/*! ../../chat/signature */ "./lib/chat/signature.js");
13263
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13264
+ var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
13265
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13266
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13267
+ var getPodRoot = /*#__PURE__*/function () {
13268
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
13269
+ var _podRoot;
13270
+ var webIdURL, storages, podRoot, path, _res$headers$get, res;
13271
+ return _regenerator["default"].wrap(function _callee$(_context) {
13272
+ while (1) switch (_context.prev = _context.next) {
13273
+ case 0:
13274
+ webIdURL = new URL(webId.uri); // find storages in webId document
13275
+ _context.next = 3;
13276
+ return _solidLogic.store.fetcher.load(webId.uri);
13277
+ case 3:
13278
+ storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
13279
+ if (storages !== null && storages !== void 0 && storages.length) {
13280
+ _context.next = 19;
13281
+ break;
13282
+ }
13283
+ // find storage recursively in webId URL
13284
+ path = webIdURL.pathname;
13285
+ case 6:
13286
+ if (!path.length) {
13287
+ _context.next = 17;
13288
+ break;
13289
+ }
13290
+ path = path.substring(0, path.lastIndexOf('/'));
13291
+ podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
13292
+ _context.next = 11;
13293
+ return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
13294
+ case 11:
13295
+ res = _context.sent;
13296
+ if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
13297
+ _context.next = 14;
13298
+ break;
13299
+ }
13300
+ return _context.abrupt("break", 17);
13301
+ case 14:
13302
+ if (!path) debug.warn("Current user storage not found for\n".concat(webId));
13303
+ _context.next = 6;
13304
+ break;
13305
+ case 17:
13306
+ _context.next = 21;
13307
+ break;
13308
+ case 19:
13309
+ // give preference to storage in webId root
13310
+ podRoot = storages.find(function (storage) {
13311
+ return webIdURL.origin === new URL(storage.value).origin;
13312
+ });
13313
+ if (!podRoot) podRoot = storages[0];
13314
+ case 21:
13315
+ return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
13316
+ case 22:
13317
+ case "end":
13318
+ return _context.stop();
13319
+ }
13320
+ }, _callee);
13321
+ }));
13322
+ return function getPodRoot(_x) {
13323
+ return _ref.apply(this, arguments);
13324
+ };
13325
+ }();
13326
+ exports.getPodRoot = getPodRoot;
13327
+ var pubKeyUrl = /*#__PURE__*/function () {
13328
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
13329
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
13330
+ while (1) switch (_context2.prev = _context2.next) {
13331
+ case 0:
13332
+ _context2.prev = 0;
13333
+ _context2.next = 3;
13334
+ return getPodRoot(webId);
13335
+ case 3:
13336
+ _context2.t0 = _context2.sent;
13337
+ return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
13338
+ case 7:
13339
+ _context2.prev = 7;
13340
+ _context2.t1 = _context2["catch"](0);
13341
+ throw new Error(_context2.t1);
13342
+ case 10:
13343
+ case "end":
13344
+ return _context2.stop();
13345
+ }
13346
+ }, _callee2, null, [[0, 7]]);
13347
+ }));
13348
+ return function pubKeyUrl(_x2) {
13349
+ return _ref2.apply(this, arguments);
13350
+ };
13351
+ }();
13352
+ exports.pubKeyUrl = pubKeyUrl;
13353
+ function getExistingPublicKey(_x3, _x4) {
13354
+ return _getExistingPublicKey.apply(this, arguments);
13355
+ }
13356
+ function _getExistingPublicKey() {
13357
+ _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
13358
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
13359
+ while (1) switch (_context4.prev = _context4.next) {
13360
+ case 0:
13361
+ _context4.next = 2;
13362
+ return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
13363
+ case 2:
13364
+ return _context4.abrupt("return", _context4.sent);
13365
+ case 3:
13366
+ case "end":
13367
+ return _context4.stop();
13368
+ }
13369
+ }, _callee4);
13370
+ }));
13371
+ return _getExistingPublicKey.apply(this, arguments);
13372
+ }
13373
+ var privKeyUrl = /*#__PURE__*/function () {
13374
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
13375
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
13376
+ while (1) switch (_context3.prev = _context3.next) {
13377
+ case 0:
13378
+ _context3.prev = 0;
13379
+ _context3.next = 3;
13380
+ return getPodRoot(webId);
13381
+ case 3:
13382
+ _context3.t0 = _context3.sent;
13383
+ return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
13384
+ case 7:
13385
+ _context3.prev = 7;
13386
+ _context3.t1 = _context3["catch"](0);
13387
+ throw new Error(_context3.t1);
13388
+ case 10:
13389
+ case "end":
13390
+ return _context3.stop();
13391
+ }
13392
+ }, _callee3, null, [[0, 7]]);
13393
+ }));
13394
+ return function privKeyUrl(_x5) {
13395
+ return _ref3.apply(this, arguments);
13396
+ };
13397
+ }();
13398
+ exports.privKeyUrl = privKeyUrl;
13399
+ function getExistingPrivateKey(_x6, _x7) {
13400
+ return _getExistingPrivateKey.apply(this, arguments);
13401
+ }
13402
+ function _getExistingPrivateKey() {
13403
+ _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
13404
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
13405
+ while (1) switch (_context5.prev = _context5.next) {
13406
+ case 0:
13407
+ _context5.next = 2;
13408
+ return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
13409
+ case 2:
13410
+ return _context5.abrupt("return", _context5.sent);
13411
+ case 3:
13412
+ case "end":
13413
+ return _context5.stop();
13414
+ }
13415
+ }, _callee5);
13416
+ }));
13417
+ return _getExistingPrivateKey.apply(this, arguments);
13418
+ }
13419
+ function getKeyIfExists(_x8, _x9, _x10) {
13420
+ return _getKeyIfExists.apply(this, arguments);
13421
+ }
13422
+ function _getKeyIfExists() {
13423
+ _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
13424
+ var key, _err$response, data, contentType, response;
13425
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
13426
+ while (1) switch (_context6.prev = _context6.next) {
13427
+ case 0:
13428
+ _context6.prev = 0;
13429
+ _context6.next = 3;
13430
+ return _solidLogic.store.fetcher.load(keyUrl);
13431
+ case 3:
13432
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
13433
+ return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
13434
+ case 7:
13435
+ _context6.prev = 7;
13436
+ _context6.t0 = _context6["catch"](0);
13437
+ if (!((_context6.t0 === null || _context6.t0 === void 0 ? void 0 : (_err$response = _context6.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
13438
+ _context6.next = 24;
13439
+ break;
13440
+ }
13441
+ _context6.prev = 10;
13442
+ // create resource
13443
+ data = '';
13444
+ contentType = 'text/turtle';
13445
+ _context6.next = 15;
13446
+ return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
13447
+ data: data,
13448
+ contentType: contentType
13449
+ });
13450
+ case 15:
13451
+ response = _context6.sent;
13452
+ _context6.next = 22;
13453
+ break;
13454
+ case 18:
13455
+ _context6.prev = 18;
13456
+ _context6.t1 = _context6["catch"](10);
13457
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
13458
+ throw _context6.t1;
13459
+ case 22:
13460
+ delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
13461
+ return _context6.abrupt("return", undefined);
13462
+ case 24:
13463
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
13464
+ throw _context6.t0;
13465
+ case 26:
13466
+ case "end":
13467
+ return _context6.stop();
13468
+ }
13469
+ }, _callee6, null, [[0, 7], [10, 18]]);
13470
+ }));
13471
+ return _getKeyIfExists.apply(this, arguments);
13472
+ }
13473
+ //# sourceMappingURL=accessData.js.map
13474
+
13475
+ /***/ }),
13476
+
13477
+ /***/ "./lib/utils/keyHelpers/acl.js":
13478
+ /*!*************************************!*\
13479
+ !*** ./lib/utils/keyHelpers/acl.js ***!
13480
+ \*************************************/
13481
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13482
+
13483
+ "use strict";
13484
+
13485
+
13486
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13487
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13488
+ Object.defineProperty(exports, "__esModule", ({
13489
+ value: true
13490
+ }));
13491
+ exports.keyContainerAclBody = exports.keyAclBody = void 0;
13492
+ exports.setAcl = setAcl;
13493
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13494
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13495
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13496
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13497
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13498
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13499
+ /**
13500
+ * set ACL
13501
+ * @param keyDoc
13502
+ * @param aclBody
13503
+ */
13504
+ function setAcl(_x, _x2) {
13505
+ return _setAcl.apply(this, arguments);
13506
+ }
13507
+ /**
13508
+ * key container ACL
13509
+ * @param me
13510
+ * @returns aclBody
13511
+ */
13512
+ function _setAcl() {
13513
+ _setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc, aclBody) {
13514
+ var keyAclDoc, _err$response;
13515
+ return _regenerator["default"].wrap(function _callee$(_context) {
13516
+ while (1) switch (_context.prev = _context.next) {
13517
+ case 0:
13518
+ _context.next = 2;
13519
+ return _solidLogic.store.fetcher.load(keyDoc);
13520
+ case 2:
13521
+ // FIXME: check the Why value on this quad:
13522
+ debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
13523
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
13524
+ if (keyAclDoc) {
13525
+ _context.next = 6;
13526
+ break;
13527
+ }
13528
+ throw new Error('Key ACL doc not found!');
13529
+ case 6:
13530
+ _context.prev = 6;
13531
+ _context.next = 9;
13532
+ return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
13533
+ data: aclBody,
13534
+ contentType: 'text/turtle'
13535
+ });
13536
+ case 9:
13537
+ _context.next = 16;
13538
+ break;
13539
+ case 11:
13540
+ _context.prev = 11;
13541
+ _context.t0 = _context["catch"](6);
13542
+ if (!((_context.t0 === null || _context.t0 === void 0 ? void 0 : (_err$response = _context.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) !== 404)) {
13543
+ _context.next = 15;
13544
+ break;
13545
+ }
13546
+ throw new Error(_context.t0);
13547
+ case 15:
13548
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
13549
+ case 16:
13550
+ case "end":
13551
+ return _context.stop();
13552
+ }
13553
+ }, _callee, null, [[6, 11]]);
13554
+ }));
13555
+ return _setAcl.apply(this, arguments);
13556
+ }
13557
+ var keyContainerAclBody = function keyContainerAclBody(me) {
13558
+ var aclBody = "\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <".concat(me, ">;\n acl:mode acl:Read, acl:Write.\n");
13559
+ return aclBody;
13560
+ };
13561
+
13562
+ /**
13563
+ * Read only ACL
13564
+ * @param keyDoc
13565
+ * @param me
13566
+ * @returns aclBody
13567
+ */
13568
+ exports.keyContainerAclBody = keyContainerAclBody;
13569
+ var keyAclBody = function keyAclBody(keyDoc, me) {
13570
+ var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
13571
+ if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
13572
+ var aclBody = "\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ".concat(keyAgent, ";\n acl:accessTo <").concat(keyDoc.split('/').pop(), ">;\n acl:mode acl:Read.\n");
13573
+ return aclBody;
13574
+ };
13575
+ exports.keyAclBody = keyAclBody;
13576
+ //# sourceMappingURL=acl.js.map
13577
+
13578
+ /***/ }),
13579
+
13227
13580
  /***/ "./lib/utils/label.js":
13228
13581
  /*!****************************!*\
13229
13582
  !*** ./lib/utils/label.js ***!
@@ -13352,8 +13705,8 @@ Object.defineProperty(exports, "__esModule", ({
13352
13705
  }));
13353
13706
  exports.versionInfo = void 0;
13354
13707
  var versionInfo = {
13355
- buildTime: '2023-04-26T07:56:58Z',
13356
- commit: 'cd2500d20c42878464cb05b8e0371bc451d9e740',
13708
+ buildTime: '2023-05-17T23:46:33Z',
13709
+ commit: 'd81bb5b5f74977b1daec5280060300f874f69065',
13357
13710
  npmInfo: {
13358
13711
  'solid-ui': '2.4.27',
13359
13712
  npm: '8.19.4',
@@ -62039,14 +62392,17 @@ __webpack_require__.r(__webpack_exports__);
62039
62392
  /* harmony export */ "createRemoteJWKSet": () => (/* binding */ createRemoteJWKSet)
62040
62393
  /* harmony export */ });
62041
62394
  /* harmony import */ var _runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/fetch_jwks.js */ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js");
62042
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
62043
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
62044
- /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
62045
-
62395
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
62396
+ /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
62046
62397
 
62047
62398
 
62048
62399
 
62049
- class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62400
+ function isCloudflareWorkers() {
62401
+ return (typeof WebSocketPair !== 'undefined' ||
62402
+ (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
62403
+ (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
62404
+ }
62405
+ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_2__.LocalJWKSet {
62050
62406
  constructor(url, options) {
62051
62407
  super({ keys: [] });
62052
62408
  this._jwks = undefined;
@@ -62079,7 +62435,7 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62079
62435
  return await super.getKey(protectedHeader, token);
62080
62436
  }
62081
62437
  catch (err) {
62082
- if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWKSNoMatchingKey) {
62438
+ if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey) {
62083
62439
  if (this.coolingDown() === false) {
62084
62440
  await this.reload();
62085
62441
  return super.getKey(protectedHeader, token);
@@ -62089,13 +62445,13 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62089
62445
  }
62090
62446
  }
62091
62447
  async reload() {
62092
- if (this._pendingFetch && (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_1__.isCloudflareWorkers)()) {
62448
+ if (this._pendingFetch && isCloudflareWorkers()) {
62093
62449
  this._pendingFetch = undefined;
62094
62450
  }
62095
62451
  this._pendingFetch || (this._pendingFetch = (0,_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
62096
62452
  .then((json) => {
62097
- if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_3__.isJWKSLike)(json)) {
62098
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWKSInvalid('JSON Web Key Set malformed');
62453
+ if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_2__.isJWKSLike)(json)) {
62454
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set malformed');
62099
62455
  }
62100
62456
  this._jwks = { keys: json.keys };
62101
62457
  this._jwksTimestamp = Date.now();
@@ -63283,8 +63639,6 @@ __webpack_require__.r(__webpack_exports__);
63283
63639
  /* harmony export */ "checkEncCryptoKey": () => (/* binding */ checkEncCryptoKey),
63284
63640
  /* harmony export */ "checkSigCryptoKey": () => (/* binding */ checkSigCryptoKey)
63285
63641
  /* harmony export */ });
63286
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
63287
-
63288
63642
  function unusable(name, prop = 'algorithm.name') {
63289
63643
  return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
63290
63644
  }
@@ -63359,11 +63713,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
63359
63713
  }
63360
63714
  case 'EdDSA': {
63361
63715
  if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
63362
- if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
63363
- if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
63364
- break;
63365
- throw unusable('Ed25519, Ed448, or NODE-ED25519');
63366
- }
63367
63716
  throw unusable('Ed25519 or Ed448');
63368
63717
  }
63369
63718
  break;
@@ -64194,14 +64543,12 @@ __webpack_require__.r(__webpack_exports__);
64194
64543
  /* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
64195
64544
  /* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
64196
64545
  /* harmony export */ });
64197
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64198
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64199
- /* harmony import */ var _lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lib/invalid_key_input.js */ "./node_modules/jose/dist/browser/lib/invalid_key_input.js");
64200
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
64201
- /* harmony import */ var _lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib/format_pem.js */ "./node_modules/jose/dist/browser/lib/format_pem.js");
64202
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64203
- /* harmony import */ var _is_key_like_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./is_key_like.js */ "./node_modules/jose/dist/browser/runtime/is_key_like.js");
64204
-
64546
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64547
+ /* harmony import */ var _lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/invalid_key_input.js */ "./node_modules/jose/dist/browser/lib/invalid_key_input.js");
64548
+ /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
64549
+ /* harmony import */ var _lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lib/format_pem.js */ "./node_modules/jose/dist/browser/lib/format_pem.js");
64550
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64551
+ /* harmony import */ var _is_key_like_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./is_key_like.js */ "./node_modules/jose/dist/browser/runtime/is_key_like.js");
64205
64552
 
64206
64553
 
64207
64554
 
@@ -64209,8 +64556,8 @@ __webpack_require__.r(__webpack_exports__);
64209
64556
 
64210
64557
 
64211
64558
  const genericExport = async (keyType, keyFormat, key) => {
64212
- if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__.isCryptoKey)(key)) {
64213
- throw new TypeError((0,_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_6__.types));
64559
+ if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_0__.isCryptoKey)(key)) {
64560
+ throw new TypeError((0,_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_1__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__.types));
64214
64561
  }
64215
64562
  if (!key.extractable) {
64216
64563
  throw new TypeError('CryptoKey is not extractable');
@@ -64218,7 +64565,7 @@ const genericExport = async (keyType, keyFormat, key) => {
64218
64565
  if (key.type !== keyType) {
64219
64566
  throw new TypeError(`key is not a ${keyType} key`);
64220
64567
  }
64221
- return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
64568
+ return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
64222
64569
  };
64223
64570
  const toSPKI = (key) => {
64224
64571
  return genericExport('public', 'spki', key);
@@ -64256,11 +64603,11 @@ const getNamedCurve = (keyData) => {
64256
64603
  case findOid(keyData, [0x2b, 0x65, 0x71]):
64257
64604
  return 'Ed448';
64258
64605
  default:
64259
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
64606
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
64260
64607
  }
64261
64608
  };
64262
64609
  const genericImport = async (replace, keyFormat, pem, alg, options) => {
64263
- var _a, _b;
64610
+ var _a;
64264
64611
  let algorithm;
64265
64612
  let keyUsages;
64266
64613
  const keyData = new Uint8Array(atob(pem.replace(replace, ''))
@@ -64316,20 +64663,9 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
64316
64663
  keyUsages = isPublic ? ['verify'] : ['sign'];
64317
64664
  break;
64318
64665
  default:
64319
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64320
- }
64321
- try {
64322
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64323
- }
64324
- catch (err) {
64325
- if (algorithm.name === 'Ed25519' &&
64326
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
64327
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
64328
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
64329
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_b = options === null || options === void 0 ? void 0 : options.extractable) !== null && _b !== void 0 ? _b : false, keyUsages);
64330
- }
64331
- throw err;
64666
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64332
64667
  }
64668
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64333
64669
  };
64334
64670
  const fromPKCS8 = (pem, alg, options) => {
64335
64671
  return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
@@ -64398,12 +64734,12 @@ function parseElement(bytes) {
64398
64734
  }
64399
64735
  function spkiFromX509(buf) {
64400
64736
  const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
64401
- return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
64737
+ return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
64402
64738
  }
64403
64739
  function getSPKI(x509) {
64404
64740
  const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
64405
- const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decodeBase64)(pem);
64406
- return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
64741
+ const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decodeBase64)(pem);
64742
+ return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_3__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
64407
64743
  }
64408
64744
  const fromX509 = (pem, alg, options) => {
64409
64745
  let spki;
@@ -64831,26 +65167,6 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
64831
65167
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (encrypt);
64832
65168
 
64833
65169
 
64834
- /***/ }),
64835
-
64836
- /***/ "./node_modules/jose/dist/browser/runtime/env.js":
64837
- /*!*******************************************************!*\
64838
- !*** ./node_modules/jose/dist/browser/runtime/env.js ***!
64839
- \*******************************************************/
64840
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
64841
-
64842
- "use strict";
64843
- __webpack_require__.r(__webpack_exports__);
64844
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
64845
- /* harmony export */ "isCloudflareWorkers": () => (/* binding */ isCloudflareWorkers)
64846
- /* harmony export */ });
64847
- function isCloudflareWorkers() {
64848
- return (typeof WebSocketPair !== 'undefined' ||
64849
- (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
64850
- (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
64851
- }
64852
-
64853
-
64854
65170
  /***/ }),
64855
65171
 
64856
65172
  /***/ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js":
@@ -64915,11 +65231,9 @@ __webpack_require__.r(__webpack_exports__);
64915
65231
  /* harmony export */ "generateKeyPair": () => (/* binding */ generateKeyPair),
64916
65232
  /* harmony export */ "generateSecret": () => (/* binding */ generateSecret)
64917
65233
  /* harmony export */ });
64918
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64919
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64920
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64921
- /* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
64922
-
65234
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65235
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65236
+ /* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
64923
65237
 
64924
65238
 
64925
65239
 
@@ -64940,7 +65254,7 @@ async function generateSecret(alg, options) {
64940
65254
  case 'A192CBC-HS384':
64941
65255
  case 'A256CBC-HS512':
64942
65256
  length = parseInt(alg.slice(-3), 10);
64943
- return (0,_random_js__WEBPACK_IMPORTED_MODULE_3__["default"])(new Uint8Array(length >> 3));
65257
+ return (0,_random_js__WEBPACK_IMPORTED_MODULE_2__["default"])(new Uint8Array(length >> 3));
64944
65258
  case 'A128KW':
64945
65259
  case 'A192KW':
64946
65260
  case 'A256KW':
@@ -64959,20 +65273,20 @@ async function generateSecret(alg, options) {
64959
65273
  keyUsages = ['encrypt', 'decrypt'];
64960
65274
  break;
64961
65275
  default:
64962
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65276
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
64963
65277
  }
64964
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
65278
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.generateKey(algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
64965
65279
  }
64966
65280
  function getModulusLengthOption(options) {
64967
65281
  var _a;
64968
65282
  const modulusLength = (_a = options === null || options === void 0 ? void 0 : options.modulusLength) !== null && _a !== void 0 ? _a : 2048;
64969
65283
  if (typeof modulusLength !== 'number' || modulusLength < 2048) {
64970
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
65284
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
64971
65285
  }
64972
65286
  return modulusLength;
64973
65287
  }
64974
65288
  async function generateKeyPair(alg, options) {
64975
- var _a, _b, _c, _d;
65289
+ var _a, _b, _c;
64976
65290
  let algorithm;
64977
65291
  let keyUsages;
64978
65292
  switch (alg) {
@@ -65031,7 +65345,7 @@ async function generateKeyPair(alg, options) {
65031
65345
  algorithm = { name: crv };
65032
65346
  break;
65033
65347
  default:
65034
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided');
65348
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided');
65035
65349
  }
65036
65350
  break;
65037
65351
  case 'ECDH-ES':
@@ -65052,25 +65366,14 @@ async function generateKeyPair(alg, options) {
65052
65366
  algorithm = { name: crv };
65053
65367
  break;
65054
65368
  default:
65055
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');
65369
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');
65056
65370
  }
65057
65371
  break;
65058
65372
  }
65059
65373
  default:
65060
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65061
- }
65062
- try {
65063
- return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
65064
- }
65065
- catch (err) {
65066
- if (algorithm.name === 'Ed25519' &&
65067
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65068
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65069
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65070
- return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_d = options === null || options === void 0 ? void 0 : options.extractable) !== null && _d !== void 0 ? _d : false, keyUsages));
65071
- }
65072
- throw err;
65374
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65073
65375
  }
65376
+ return (_webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
65074
65377
  }
65075
65378
 
65076
65379
 
@@ -65145,11 +65448,9 @@ __webpack_require__.r(__webpack_exports__);
65145
65448
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65146
65449
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
65147
65450
  /* harmony export */ });
65148
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65149
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65150
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65151
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
65152
-
65451
+ /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65452
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65453
+ /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
65153
65454
 
65154
65455
 
65155
65456
 
@@ -65168,7 +65469,7 @@ function subtleMapping(jwk) {
65168
65469
  case 'A128CBC-HS256':
65169
65470
  case 'A192CBC-HS384':
65170
65471
  case 'A256CBC-HS512':
65171
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
65472
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`${jwk.alg} keys cannot be imported as CryptoKey instances`);
65172
65473
  case 'A128GCM':
65173
65474
  case 'A192GCM':
65174
65475
  case 'A256GCM':
@@ -65191,7 +65492,7 @@ function subtleMapping(jwk) {
65191
65492
  keyUsages = ['deriveBits'];
65192
65493
  break;
65193
65494
  default:
65194
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65495
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65195
65496
  }
65196
65497
  break;
65197
65498
  }
@@ -65220,7 +65521,7 @@ function subtleMapping(jwk) {
65220
65521
  keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
65221
65522
  break;
65222
65523
  default:
65223
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65524
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65224
65525
  }
65225
65526
  break;
65226
65527
  }
@@ -65246,7 +65547,7 @@ function subtleMapping(jwk) {
65246
65547
  keyUsages = jwk.d ? ['deriveBits'] : [];
65247
65548
  break;
65248
65549
  default:
65249
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65550
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65250
65551
  }
65251
65552
  break;
65252
65553
  }
@@ -65264,12 +65565,12 @@ function subtleMapping(jwk) {
65264
65565
  keyUsages = jwk.d ? ['deriveBits'] : [];
65265
65566
  break;
65266
65567
  default:
65267
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65568
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65268
65569
  }
65269
65570
  break;
65270
65571
  }
65271
65572
  default:
65272
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
65573
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
65273
65574
  }
65274
65575
  return { algorithm, keyUsages };
65275
65576
  }
@@ -65285,23 +65586,12 @@ const parse = async (jwk) => {
65285
65586
  (_b = jwk.key_ops) !== null && _b !== void 0 ? _b : keyUsages,
65286
65587
  ];
65287
65588
  if (algorithm.name === 'PBKDF2') {
65288
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decode)(jwk.k), ...rest);
65589
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', (0,_base64url_js__WEBPACK_IMPORTED_MODULE_2__.decode)(jwk.k), ...rest);
65289
65590
  }
65290
65591
  const keyData = { ...jwk };
65291
65592
  delete keyData.alg;
65292
65593
  delete keyData.use;
65293
- try {
65294
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65295
- }
65296
- catch (err) {
65297
- if (algorithm.name === 'Ed25519' &&
65298
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65299
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65300
- rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65301
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65302
- }
65303
- throw err;
65304
- }
65594
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('jwk', keyData, ...rest);
65305
65595
  };
65306
65596
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
65307
65597
 
@@ -65543,9 +65833,7 @@ __webpack_require__.r(__webpack_exports__);
65543
65833
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65544
65834
  /* harmony export */ "default": () => (/* binding */ subtleDsa)
65545
65835
  /* harmony export */ });
65546
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65547
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65548
-
65836
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65549
65837
 
65550
65838
  function subtleDsa(alg, algorithm) {
65551
65839
  const hash = `SHA-${alg.slice(-3)}`;
@@ -65567,12 +65855,9 @@ function subtleDsa(alg, algorithm) {
65567
65855
  case 'ES512':
65568
65856
  return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
65569
65857
  case 'EdDSA':
65570
- if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
65571
- return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65572
- }
65573
65858
  return { name: algorithm.name };
65574
65859
  default:
65575
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
65860
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_0__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
65576
65861
  }
65577
65862
  }
65578
65863
 
@@ -66237,22 +66522,7 @@ module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"
66237
66522
  /******/
66238
66523
  /******/ /* webpack/runtime/publicPath */
66239
66524
  /******/ (() => {
66240
- /******/ var scriptUrl;
66241
- /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
66242
- /******/ var document = __webpack_require__.g.document;
66243
- /******/ if (!scriptUrl && document) {
66244
- /******/ if (document.currentScript)
66245
- /******/ scriptUrl = document.currentScript.src;
66246
- /******/ if (!scriptUrl) {
66247
- /******/ var scripts = document.getElementsByTagName("script");
66248
- /******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
66249
- /******/ }
66250
- /******/ }
66251
- /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
66252
- /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
66253
- /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
66254
- /******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
66255
- /******/ __webpack_require__.p = scriptUrl;
66525
+ /******/ __webpack_require__.p = "";
66256
66526
  /******/ })();
66257
66527
  /******/
66258
66528
  /******/ /* webpack/runtime/jsonp chunk loading */