solid-ui 2.4.27-2766a189 → 2.4.27-289d7678

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) {
@@ -4037,12 +4037,14 @@ exports.getPrivateKey = getPrivateKey;
4037
4037
  exports.getPublicKey = getPublicKey;
4038
4038
  var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
4039
4039
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4040
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
4040
4041
  var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
4041
4042
  var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
4042
4043
  var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js");
4043
4044
  var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
4044
4045
  var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
4045
- 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");
4046
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); }
4047
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; }
4048
4050
  function generatePrivateKey() {
@@ -4051,32 +4053,46 @@ function generatePrivateKey() {
4051
4053
  function generatePublicKey(privateKey) {
4052
4054
  return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
4053
4055
  }
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
+ */
4054
4064
  function getPublicKey(_x) {
4055
4065
  return _getPublicKey.apply(this, arguments);
4056
4066
  }
4057
4067
  function _getPublicKey() {
4058
- _getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
4059
- var publicKeyUrl, key;
4060
- return _regenerator["default"].wrap(function _callee$(_context) {
4061
- while (1) switch (_context.prev = _context.next) {
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) {
4062
4072
  case 0:
4063
- publicKeyUrl = (0, _cryptoKeyHelpers.pubKeyUrl)(webId);
4064
- _context.prev = 1;
4065
- _context.next = 4;
4066
- return _solidLogic.store.fetcher.load(publicKeyUrl);
4073
+ _context2.next = 2;
4074
+ return _solidLogic.store.fetcher.load(webId);
4075
+ case 2:
4076
+ _context2.next = 4;
4077
+ return (0, _accessData.pubKeyUrl)(webId);
4067
4078
  case 4:
4068
- // url.href)
4069
- key = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
4070
- return _context.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
4079
+ publicKeyDoc = _context2.sent;
4080
+ _context2.prev = 5;
4081
+ _context2.next = 8;
4082
+ return _solidLogic.store.fetcher.load(publicKeyDoc);
4071
4083
  case 8:
4072
- _context.prev = 8;
4073
- _context.t0 = _context["catch"](1);
4074
- return _context.abrupt("return", undefined);
4075
- case 11:
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:
4076
4092
  case "end":
4077
- return _context.stop();
4093
+ return _context2.stop();
4078
4094
  }
4079
- }, _callee, null, [[1, 8]]);
4095
+ }, _callee2, null, [[5, 12]]);
4080
4096
  }));
4081
4097
  return _getPublicKey.apply(this, arguments);
4082
4098
  }
@@ -4084,70 +4100,162 @@ function getPrivateKey(_x2) {
4084
4100
  return _getPrivateKey.apply(this, arguments);
4085
4101
  }
4086
4102
  function _getPrivateKey() {
4087
- _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4088
- var publicKeyUrl, privateKeyUrl, publicKey, privateKey, validPublicKey, del, add;
4089
- return _regenerator["default"].wrap(function _callee2$(_context2) {
4090
- while (1) switch (_context2.prev = _context2.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) {
4091
4107
  case 0:
4092
- // find key url's
4093
- publicKeyUrl = (0, _cryptoKeyHelpers.pubKeyUrl)(webId);
4094
- privateKeyUrl = (0, _cryptoKeyHelpers.privKeyUrl)(webId); // find key pair
4095
- _context2.next = 4;
4096
- 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);
4097
4113
  case 4:
4098
- publicKey = _context2.sent;
4099
- _context2.next = 7;
4100
- return (0, _cryptoKeyHelpers.privateKeyExists)(webId);
4114
+ publicKeyDoc = _context3.sent;
4115
+ _context3.next = 7;
4116
+ return (0, _accessData.privKeyUrl)(webId);
4101
4117
  case 7:
4102
- privateKey = _context2.sent;
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;
4103
4127
  // is publicKey valid ?
4104
4128
  validPublicKey = true;
4105
4129
  if (privateKey && publicKey !== generatePublicKey(privateKey)) {
4106
- if (confirm('This is strange the publicKey is not valid for\n' + webId + '\'shall we repair keeping the private key ?')) validPublicKey = false;
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;
4107
4131
  }
4108
4132
 
4109
4133
  // create key pair or repair publicKey
4110
4134
  if (!(!privateKey || !publicKey || !validPublicKey)) {
4111
- _context2.next = 17;
4135
+ _context3.next = 34;
4112
4136
  break;
4113
4137
  }
4114
4138
  del = [];
4115
- add = []; // if (privateKey) del.push($rdf.st($rdf.sym(webId), $rdf.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), $rdf.sym(privateKeyUrl)))
4116
- if (!privateKey) {
4117
- privateKey = generatePrivateKey();
4118
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), $rdf.sym(privateKeyUrl)));
4119
- // TODO delete privateKeyUrl.acl, it may exist !!!
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;
4120
4143
  }
4121
-
4122
- if (!publicKey || !validPublicKey) {
4123
- // delete invalid public key
4124
- if (publicKey) {
4125
- del.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.lit(publicKey), $rdf.sym(publicKeyUrl)));
4126
- }
4127
- // insert new valid key
4128
- publicKey = generatePublicKey(privateKey);
4129
- add.push($rdf.st($rdf.sym(webId), $rdf.sym(_signature.CERT + 'PublicKey'), $rdf.literal(publicKey), $rdf.sym(publicKeyUrl)));
4130
- // TODO delete privateKeyUrl.acl, it may exist !!!
4144
+ // add = []
4145
+ privateKey = generatePrivateKey();
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;
4131
4153
  }
4132
- /* debug.log('new key pair ' + webId)
4133
- debug.log('newPrivateKey-1 ' + privateKey)
4134
- debug.log('newPublicKey-1 ' + publicKey) */
4135
- /* debug.log('del')
4136
- debug.log(del)
4137
- debug.log('add')
4138
- debug.log(add) */
4139
- _context2.next = 17;
4140
- return _solidLogic.store.updater.updateMany(del, add);
4141
- case 17:
4142
- return _context2.abrupt("return", privateKey);
4143
- case 18:
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:
4144
4172
  case "end":
4145
- return _context2.stop();
4173
+ return _context3.stop();
4146
4174
  }
4147
- }, _callee2);
4175
+ }, _callee3);
4148
4176
  }));
4149
4177
  return _getPrivateKey.apply(this, arguments);
4150
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
+ }
4151
4259
  //# sourceMappingURL=keys.js.map
4152
4260
 
4153
4261
  /***/ }),
@@ -4277,12 +4385,13 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4277
4385
  var date = _solidLogic.store.any(message, ns.dct('created'));
4278
4386
  var latestVersion = (0, _chatLogic.mostRecentVersion)(message);
4279
4387
  var latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker'));
4388
+
4280
4389
  // use latest content if same owner, else use original
4281
4390
  var msgId = creator.uri === latestVersionCreator.uri ? latestVersion : message;
4282
4391
  var content = _solidLogic.store.any(msgId, ns.sioc('content'));
4283
4392
  var signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "Proof")));
4284
4393
 
4285
- // verify signature
4394
+ // set message object
4286
4395
  var msg = (0, _signature.getBlankMsg)();
4287
4396
  msg.id = msgId.uri;
4288
4397
  msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
@@ -4290,16 +4399,22 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4290
4399
  msg.maker = creator.uri;
4291
4400
 
4292
4401
  // unsigned message
4293
- if (signature !== null && signature !== void 0 && signature.value) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
4294
- // get public key and check signature
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
4295
4405
  else {
4296
- (0, _keys.getPublicKey)(creator.uri).then(function (publicKey) {
4297
- if (!publicKey) debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
4298
- // check publicKey is valid hex string
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
4299
4414
  var regex = /[0-9A-Fa-f]{6}/g;
4300
4415
  if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
4301
4416
  // verify signature
4302
- else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
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);
4303
4418
  });
4304
4419
  }
4305
4420
  var originalMessage = (0, _chatLogic.originalVersion)(message);
@@ -5095,13 +5210,11 @@ Object.defineProperty(exports, "__esModule", ({
5095
5210
  value: true
5096
5211
  }));
5097
5212
  exports.SEC = exports.CERT = void 0;
5098
- exports.finishMsg = finishMsg;
5099
5213
  exports.getBlankMsg = getBlankMsg;
5100
5214
  exports.getMsgHash = getMsgHash;
5101
5215
  exports.serializeMsg = serializeMsg;
5102
5216
  exports.signMsg = signMsg;
5103
5217
  exports.utf8Encoder = exports.utf8Decoder = void 0;
5104
- exports.validateMsg = validateMsg;
5105
5218
  exports.verifySignature = verifySignature;
5106
5219
  var _secp256k = __webpack_require__(/*! @noble/curves/secp256k1 */ "./node_modules/@noble/curves/secp256k1.js");
5107
5220
  var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@noble/hashes/utils.js");
@@ -5147,19 +5260,22 @@ function getBlankMsg() {
5147
5260
  id: '',
5148
5261
  created: '',
5149
5262
  dateDeleted: '',
5263
+ // TODO to remove if not used
5150
5264
  content: '',
5151
5265
  maker: '',
5152
- sig: ''
5266
+ sig: '' // TODO to remove if not used
5153
5267
  };
5154
5268
  }
5155
- function finishMsg(t, privateKey) {
5156
- // to update to chat message triples
5157
- var message = t;
5158
- // message.pubkey = getPublicKey(privateKey)
5159
- message.id = getMsgHash(message);
5160
- message.sig = signMsg(message, privateKey);
5161
- return message;
5162
- }
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
+
5163
5279
  function serializeMsg(msg) {
5164
5280
  // to update to chat messages triples
5165
5281
  /* if (!validateMsg(msg))
@@ -5171,27 +5287,29 @@ function getMsgHash(message) {
5171
5287
  var msgHash = (0, _sha.sha256)(utf8Encoder.encode(serializeMsg(message)));
5172
5288
  return (0, _utils.bytesToHex)(msgHash);
5173
5289
  }
5174
- var isRecord = function isRecord(obj) {
5175
- return obj instanceof Object;
5176
- };
5177
- function validateMsg(message) {
5178
- /* 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
5179
5295
  if (typeof message.kind !== 'number') return false
5180
5296
  if (typeof message.content !== 'string') return false
5181
5297
  if (typeof message.created_at !== 'number') return false
5182
5298
  if (typeof message.pubkey !== 'string') return false
5183
5299
  if (!message.pubkey.match(/^[a-f0-9]{64}$/)) return false
5184
- if (!Array.isArray(message.tags)) return false
5300
+
5301
+ if (!Array.isArray(message.tags)) return false
5185
5302
  for (let i = 0; i < message.tags.length; i++) {
5186
5303
  let tag = message.tags[i]
5187
5304
  if (!Array.isArray(tag)) return false
5188
5305
  for (let j = 0; j < tag.length; j++) {
5189
5306
  if (typeof tag[j] === 'object') return false
5190
5307
  }
5191
- } */
5308
+ }
5309
+
5310
+ return true
5311
+ } */
5192
5312
 
5193
- return true;
5194
- }
5195
5313
  function verifySignature(sig, message, pubKey) {
5196
5314
  return _secp256k.schnorr.verify(sig, getMsgHash(message), pubKey);
5197
5315
  }
@@ -12402,148 +12520,6 @@ function isLight(x) {
12402
12520
 
12403
12521
  /***/ }),
12404
12522
 
12405
- /***/ "./lib/utils/cryptoKeyHelpers.js":
12406
- /*!***************************************!*\
12407
- !*** ./lib/utils/cryptoKeyHelpers.js ***!
12408
- \***************************************/
12409
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12410
-
12411
- "use strict";
12412
-
12413
-
12414
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12415
- var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
12416
- Object.defineProperty(exports, "__esModule", ({
12417
- value: true
12418
- }));
12419
- exports.privKeyUrl = void 0;
12420
- exports.privateKeyExists = privateKeyExists;
12421
- exports.pubKeyUrl = void 0;
12422
- exports.publicKeyExists = publicKeyExists;
12423
- var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
12424
- var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12425
- var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
12426
- var _signature = __webpack_require__(/*! ../chat/signature */ "./lib/chat/signature.js");
12427
- var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
12428
- 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); }
12429
- 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; }
12430
- var pubKeyUrl = function pubKeyUrl(webId) {
12431
- var url = new URL(webId);
12432
- var publicKeyUrl = url.origin + '/profile/keys/publicKey.ttl';
12433
- return publicKeyUrl;
12434
- };
12435
- exports.pubKeyUrl = pubKeyUrl;
12436
- function publicKeyExists(_x) {
12437
- return _publicKeyExists.apply(this, arguments);
12438
- }
12439
- function _publicKeyExists() {
12440
- _publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
12441
- var publicKeyUrl;
12442
- return _regenerator["default"].wrap(function _callee$(_context) {
12443
- while (1) switch (_context.prev = _context.next) {
12444
- case 0:
12445
- // find publickey
12446
- publicKeyUrl = pubKeyUrl(webId);
12447
- _context.next = 3;
12448
- return keyExists(webId, publicKeyUrl, 'PublicKey');
12449
- case 3:
12450
- return _context.abrupt("return", _context.sent);
12451
- case 4:
12452
- case "end":
12453
- return _context.stop();
12454
- }
12455
- }, _callee);
12456
- }));
12457
- return _publicKeyExists.apply(this, arguments);
12458
- }
12459
- var privKeyUrl = function privKeyUrl(webId) {
12460
- var url = new URL(webId);
12461
- var privateKeyUrl = url.origin + '/profile/keys/privateKey.ttl';
12462
- return privateKeyUrl;
12463
- };
12464
- exports.privKeyUrl = privKeyUrl;
12465
- function privateKeyExists(_x2) {
12466
- return _privateKeyExists.apply(this, arguments);
12467
- }
12468
- function _privateKeyExists() {
12469
- _privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
12470
- var privateKeyUrl;
12471
- return _regenerator["default"].wrap(function _callee2$(_context2) {
12472
- while (1) switch (_context2.prev = _context2.next) {
12473
- case 0:
12474
- // find privateKey
12475
- privateKeyUrl = privKeyUrl(webId);
12476
- _context2.next = 3;
12477
- return keyExists(webId, privateKeyUrl, 'PrivateKey');
12478
- case 3:
12479
- return _context2.abrupt("return", _context2.sent);
12480
- case 4:
12481
- case "end":
12482
- return _context2.stop();
12483
- }
12484
- }, _callee2);
12485
- }));
12486
- return _privateKeyExists.apply(this, arguments);
12487
- }
12488
- function keyExists(_x3, _x4, _x5) {
12489
- return _keyExists.apply(this, arguments);
12490
- }
12491
- function _keyExists() {
12492
- _keyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, keyUrl, keyType) {
12493
- var key, _err$response, data, contentType, response;
12494
- return _regenerator["default"].wrap(function _callee3$(_context3) {
12495
- while (1) switch (_context3.prev = _context3.next) {
12496
- case 0:
12497
- _context3.prev = 0;
12498
- _context3.next = 3;
12499
- return _solidLogic.store.fetcher.load(keyUrl);
12500
- case 3:
12501
- // url.href)
12502
- key = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + keyType));
12503
- return _context3.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
12504
- case 7:
12505
- _context3.prev = 7;
12506
- _context3.t0 = _context3["catch"](0);
12507
- if (!((_context3.t0 === null || _context3.t0 === void 0 ? void 0 : (_err$response = _context3.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
12508
- _context3.next = 24;
12509
- break;
12510
- }
12511
- _context3.prev = 10;
12512
- // create privateKey resource
12513
- data = '';
12514
- contentType = 'text/turtle';
12515
- _context3.next = 15;
12516
- return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
12517
- data: data,
12518
- contentType: contentType
12519
- });
12520
- case 15:
12521
- response = _context3.sent;
12522
- _context3.next = 22;
12523
- break;
12524
- case 18:
12525
- _context3.prev = 18;
12526
- _context3.t1 = _context3["catch"](10);
12527
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t1);
12528
- throw _context3.t1;
12529
- case 22:
12530
- delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
12531
- return _context3.abrupt("return", undefined);
12532
- case 24:
12533
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t0);
12534
- throw _context3.t0;
12535
- case 26:
12536
- case "end":
12537
- return _context3.stop();
12538
- }
12539
- }, _callee3, null, [[0, 7], [10, 18]]);
12540
- }));
12541
- return _keyExists.apply(this, arguments);
12542
- }
12543
- //# sourceMappingURL=cryptoKeyHelpers.js.map
12544
-
12545
- /***/ }),
12546
-
12547
12523
  /***/ "./lib/utils/headerFooterHelpers.js":
12548
12524
  /*!******************************************!*\
12549
12525
  !*** ./lib/utils/headerFooterHelpers.js ***!
@@ -13262,6 +13238,345 @@ function predParentOf(node) {
13262
13238
 
13263
13239
  /***/ }),
13264
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
+
13265
13580
  /***/ "./lib/utils/label.js":
13266
13581
  /*!****************************!*\
13267
13582
  !*** ./lib/utils/label.js ***!
@@ -13390,8 +13705,8 @@ Object.defineProperty(exports, "__esModule", ({
13390
13705
  }));
13391
13706
  exports.versionInfo = void 0;
13392
13707
  var versionInfo = {
13393
- buildTime: '2023-04-27T18:48:41Z',
13394
- commit: '2766a18921371fdd8973e038c654ebdd72f8b347',
13708
+ buildTime: '2023-05-17T23:34:57Z',
13709
+ commit: '289d7678b1f269f88de591ef247c5a76d39866e5',
13395
13710
  npmInfo: {
13396
13711
  'solid-ui': '2.4.27',
13397
13712
  npm: '8.19.4',
@@ -62077,14 +62392,17 @@ __webpack_require__.r(__webpack_exports__);
62077
62392
  /* harmony export */ "createRemoteJWKSet": () => (/* binding */ createRemoteJWKSet)
62078
62393
  /* harmony export */ });
62079
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");
62080
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
62081
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
62082
- /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
62083
-
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");
62084
62397
 
62085
62398
 
62086
62399
 
62087
- 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 {
62088
62406
  constructor(url, options) {
62089
62407
  super({ keys: [] });
62090
62408
  this._jwks = undefined;
@@ -62117,7 +62435,7 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62117
62435
  return await super.getKey(protectedHeader, token);
62118
62436
  }
62119
62437
  catch (err) {
62120
- if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWKSNoMatchingKey) {
62438
+ if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey) {
62121
62439
  if (this.coolingDown() === false) {
62122
62440
  await this.reload();
62123
62441
  return super.getKey(protectedHeader, token);
@@ -62127,13 +62445,13 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
62127
62445
  }
62128
62446
  }
62129
62447
  async reload() {
62130
- if (this._pendingFetch && (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_1__.isCloudflareWorkers)()) {
62448
+ if (this._pendingFetch && isCloudflareWorkers()) {
62131
62449
  this._pendingFetch = undefined;
62132
62450
  }
62133
62451
  this._pendingFetch || (this._pendingFetch = (0,_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
62134
62452
  .then((json) => {
62135
- if (!(0,_local_js__WEBPACK_IMPORTED_MODULE_3__.isJWKSLike)(json)) {
62136
- 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');
62137
62455
  }
62138
62456
  this._jwks = { keys: json.keys };
62139
62457
  this._jwksTimestamp = Date.now();
@@ -63321,8 +63639,6 @@ __webpack_require__.r(__webpack_exports__);
63321
63639
  /* harmony export */ "checkEncCryptoKey": () => (/* binding */ checkEncCryptoKey),
63322
63640
  /* harmony export */ "checkSigCryptoKey": () => (/* binding */ checkSigCryptoKey)
63323
63641
  /* harmony export */ });
63324
- /* harmony import */ var _runtime_env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
63325
-
63326
63642
  function unusable(name, prop = 'algorithm.name') {
63327
63643
  return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
63328
63644
  }
@@ -63397,11 +63713,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
63397
63713
  }
63398
63714
  case 'EdDSA': {
63399
63715
  if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
63400
- if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
63401
- if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
63402
- break;
63403
- throw unusable('Ed25519, Ed448, or NODE-ED25519');
63404
- }
63405
63716
  throw unusable('Ed25519 or Ed448');
63406
63717
  }
63407
63718
  break;
@@ -64232,14 +64543,12 @@ __webpack_require__.r(__webpack_exports__);
64232
64543
  /* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
64233
64544
  /* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
64234
64545
  /* harmony export */ });
64235
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64236
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64237
- /* 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");
64238
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
64239
- /* 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");
64240
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64241
- /* 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");
64242
-
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");
64243
64552
 
64244
64553
 
64245
64554
 
@@ -64247,8 +64556,8 @@ __webpack_require__.r(__webpack_exports__);
64247
64556
 
64248
64557
 
64249
64558
  const genericExport = async (keyType, keyFormat, key) => {
64250
- if (!(0,_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__.isCryptoKey)(key)) {
64251
- 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));
64252
64561
  }
64253
64562
  if (!key.extractable) {
64254
64563
  throw new TypeError('CryptoKey is not extractable');
@@ -64256,7 +64565,7 @@ const genericExport = async (keyType, keyFormat, key) => {
64256
64565
  if (key.type !== keyType) {
64257
64566
  throw new TypeError(`key is not a ${keyType} key`);
64258
64567
  }
64259
- 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`);
64260
64569
  };
64261
64570
  const toSPKI = (key) => {
64262
64571
  return genericExport('public', 'spki', key);
@@ -64294,11 +64603,11 @@ const getNamedCurve = (keyData) => {
64294
64603
  case findOid(keyData, [0x2b, 0x65, 0x71]):
64295
64604
  return 'Ed448';
64296
64605
  default:
64297
- 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');
64298
64607
  }
64299
64608
  };
64300
64609
  const genericImport = async (replace, keyFormat, pem, alg, options) => {
64301
- var _a, _b;
64610
+ var _a;
64302
64611
  let algorithm;
64303
64612
  let keyUsages;
64304
64613
  const keyData = new Uint8Array(atob(pem.replace(replace, ''))
@@ -64354,20 +64663,9 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
64354
64663
  keyUsages = isPublic ? ['verify'] : ['sign'];
64355
64664
  break;
64356
64665
  default:
64357
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64358
- }
64359
- try {
64360
- 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);
64361
- }
64362
- catch (err) {
64363
- if (algorithm.name === 'Ed25519' &&
64364
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
64365
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
64366
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
64367
- 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);
64368
- }
64369
- throw err;
64666
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
64370
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);
64371
64669
  };
64372
64670
  const fromPKCS8 = (pem, alg, options) => {
64373
64671
  return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
@@ -64436,12 +64734,12 @@ function parseElement(bytes) {
64436
64734
  }
64437
64735
  function spkiFromX509(buf) {
64438
64736
  const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
64439
- 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);
64440
64738
  }
64441
64739
  function getSPKI(x509) {
64442
64740
  const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
64443
- const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decodeBase64)(pem);
64444
- 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');
64445
64743
  }
64446
64744
  const fromX509 = (pem, alg, options) => {
64447
64745
  let spki;
@@ -64869,26 +65167,6 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
64869
65167
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (encrypt);
64870
65168
 
64871
65169
 
64872
- /***/ }),
64873
-
64874
- /***/ "./node_modules/jose/dist/browser/runtime/env.js":
64875
- /*!*******************************************************!*\
64876
- !*** ./node_modules/jose/dist/browser/runtime/env.js ***!
64877
- \*******************************************************/
64878
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
64879
-
64880
- "use strict";
64881
- __webpack_require__.r(__webpack_exports__);
64882
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
64883
- /* harmony export */ "isCloudflareWorkers": () => (/* binding */ isCloudflareWorkers)
64884
- /* harmony export */ });
64885
- function isCloudflareWorkers() {
64886
- return (typeof WebSocketPair !== 'undefined' ||
64887
- (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||
64888
- (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));
64889
- }
64890
-
64891
-
64892
65170
  /***/ }),
64893
65171
 
64894
65172
  /***/ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js":
@@ -64953,11 +65231,9 @@ __webpack_require__.r(__webpack_exports__);
64953
65231
  /* harmony export */ "generateKeyPair": () => (/* binding */ generateKeyPair),
64954
65232
  /* harmony export */ "generateSecret": () => (/* binding */ generateSecret)
64955
65233
  /* harmony export */ });
64956
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
64957
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
64958
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
64959
- /* harmony import */ var _random_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./random.js */ "./node_modules/jose/dist/browser/runtime/random.js");
64960
-
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");
64961
65237
 
64962
65238
 
64963
65239
 
@@ -64978,7 +65254,7 @@ async function generateSecret(alg, options) {
64978
65254
  case 'A192CBC-HS384':
64979
65255
  case 'A256CBC-HS512':
64980
65256
  length = parseInt(alg.slice(-3), 10);
64981
- 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));
64982
65258
  case 'A128KW':
64983
65259
  case 'A192KW':
64984
65260
  case 'A256KW':
@@ -64997,20 +65273,20 @@ async function generateSecret(alg, options) {
64997
65273
  keyUsages = ['encrypt', 'decrypt'];
64998
65274
  break;
64999
65275
  default:
65000
- 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');
65001
65277
  }
65002
- 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);
65003
65279
  }
65004
65280
  function getModulusLengthOption(options) {
65005
65281
  var _a;
65006
65282
  const modulusLength = (_a = options === null || options === void 0 ? void 0 : options.modulusLength) !== null && _a !== void 0 ? _a : 2048;
65007
65283
  if (typeof modulusLength !== 'number' || modulusLength < 2048) {
65008
- 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');
65009
65285
  }
65010
65286
  return modulusLength;
65011
65287
  }
65012
65288
  async function generateKeyPair(alg, options) {
65013
- var _a, _b, _c, _d;
65289
+ var _a, _b, _c;
65014
65290
  let algorithm;
65015
65291
  let keyUsages;
65016
65292
  switch (alg) {
@@ -65069,7 +65345,7 @@ async function generateKeyPair(alg, options) {
65069
65345
  algorithm = { name: crv };
65070
65346
  break;
65071
65347
  default:
65072
- 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');
65073
65349
  }
65074
65350
  break;
65075
65351
  case 'ECDH-ES':
@@ -65090,25 +65366,14 @@ async function generateKeyPair(alg, options) {
65090
65366
  algorithm = { name: crv };
65091
65367
  break;
65092
65368
  default:
65093
- 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');
65094
65370
  }
65095
65371
  break;
65096
65372
  }
65097
65373
  default:
65098
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65099
- }
65100
- try {
65101
- 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));
65102
- }
65103
- catch (err) {
65104
- if (algorithm.name === 'Ed25519' &&
65105
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65106
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65107
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65108
- 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));
65109
- }
65110
- throw err;
65374
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
65111
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));
65112
65377
  }
65113
65378
 
65114
65379
 
@@ -65183,11 +65448,9 @@ __webpack_require__.r(__webpack_exports__);
65183
65448
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65184
65449
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
65185
65450
  /* harmony export */ });
65186
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65187
- /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
65188
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65189
- /* harmony import */ var _base64url_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base64url.js */ "./node_modules/jose/dist/browser/runtime/base64url.js");
65190
-
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");
65191
65454
 
65192
65455
 
65193
65456
 
@@ -65206,7 +65469,7 @@ function subtleMapping(jwk) {
65206
65469
  case 'A128CBC-HS256':
65207
65470
  case 'A192CBC-HS384':
65208
65471
  case 'A256CBC-HS512':
65209
- 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`);
65210
65473
  case 'A128GCM':
65211
65474
  case 'A192GCM':
65212
65475
  case 'A256GCM':
@@ -65229,7 +65492,7 @@ function subtleMapping(jwk) {
65229
65492
  keyUsages = ['deriveBits'];
65230
65493
  break;
65231
65494
  default:
65232
- 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');
65233
65496
  }
65234
65497
  break;
65235
65498
  }
@@ -65258,7 +65521,7 @@ function subtleMapping(jwk) {
65258
65521
  keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
65259
65522
  break;
65260
65523
  default:
65261
- 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');
65262
65525
  }
65263
65526
  break;
65264
65527
  }
@@ -65284,7 +65547,7 @@ function subtleMapping(jwk) {
65284
65547
  keyUsages = jwk.d ? ['deriveBits'] : [];
65285
65548
  break;
65286
65549
  default:
65287
- 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');
65288
65551
  }
65289
65552
  break;
65290
65553
  }
@@ -65302,12 +65565,12 @@ function subtleMapping(jwk) {
65302
65565
  keyUsages = jwk.d ? ['deriveBits'] : [];
65303
65566
  break;
65304
65567
  default:
65305
- 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');
65306
65569
  }
65307
65570
  break;
65308
65571
  }
65309
65572
  default:
65310
- 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');
65311
65574
  }
65312
65575
  return { algorithm, keyUsages };
65313
65576
  }
@@ -65323,23 +65586,12 @@ const parse = async (jwk) => {
65323
65586
  (_b = jwk.key_ops) !== null && _b !== void 0 ? _b : keyUsages,
65324
65587
  ];
65325
65588
  if (algorithm.name === 'PBKDF2') {
65326
- 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);
65327
65590
  }
65328
65591
  const keyData = { ...jwk };
65329
65592
  delete keyData.alg;
65330
65593
  delete keyData.use;
65331
- try {
65332
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65333
- }
65334
- catch (err) {
65335
- if (algorithm.name === 'Ed25519' &&
65336
- (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
65337
- (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
65338
- rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65339
- return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
65340
- }
65341
- throw err;
65342
- }
65594
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('jwk', keyData, ...rest);
65343
65595
  };
65344
65596
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
65345
65597
 
@@ -65581,9 +65833,7 @@ __webpack_require__.r(__webpack_exports__);
65581
65833
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
65582
65834
  /* harmony export */ "default": () => (/* binding */ subtleDsa)
65583
65835
  /* harmony export */ });
65584
- /* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env.js */ "./node_modules/jose/dist/browser/runtime/env.js");
65585
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65586
-
65836
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
65587
65837
 
65588
65838
  function subtleDsa(alg, algorithm) {
65589
65839
  const hash = `SHA-${alg.slice(-3)}`;
@@ -65605,12 +65855,9 @@ function subtleDsa(alg, algorithm) {
65605
65855
  case 'ES512':
65606
65856
  return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
65607
65857
  case 'EdDSA':
65608
- if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
65609
- return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
65610
- }
65611
65858
  return { name: algorithm.name };
65612
65859
  default:
65613
- 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`);
65614
65861
  }
65615
65862
  }
65616
65863
 
@@ -66275,22 +66522,7 @@ module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"
66275
66522
  /******/
66276
66523
  /******/ /* webpack/runtime/publicPath */
66277
66524
  /******/ (() => {
66278
- /******/ var scriptUrl;
66279
- /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
66280
- /******/ var document = __webpack_require__.g.document;
66281
- /******/ if (!scriptUrl && document) {
66282
- /******/ if (document.currentScript)
66283
- /******/ scriptUrl = document.currentScript.src;
66284
- /******/ if (!scriptUrl) {
66285
- /******/ var scripts = document.getElementsByTagName("script");
66286
- /******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
66287
- /******/ }
66288
- /******/ }
66289
- /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
66290
- /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
66291
- /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
66292
- /******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
66293
- /******/ __webpack_require__.p = scriptUrl;
66525
+ /******/ __webpack_require__.p = "";
66294
66526
  /******/ })();
66295
66527
  /******/
66296
66528
  /******/ /* webpack/runtime/jsonp chunk loading */