@privateaim/kit 0.8.10 → 0.8.12

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.12](https://github.com/PrivateAIM/hub/compare/v0.8.11...v0.8.12) (2025-04-25)
4
+
5
+ ## [0.8.11](https://github.com/PrivateAIM/hub/compare/v0.8.10...v0.8.11) (2025-04-24)
6
+
7
+
8
+ ### Features
9
+
10
+ * initial permission assignment ui component ([#1027](https://github.com/PrivateAIM/hub/issues/1027)) ([6ec6a87](https://github.com/PrivateAIM/hub/commit/6ec6a876b368f6cb373976a1d126f9119bed429e))
11
+
3
12
  ## [0.8.10](https://github.com/PrivateAIM/hub/compare/v0.8.9...v0.8.10) (2025-04-23)
4
13
 
5
14
 
@@ -18,6 +18,8 @@ export declare enum PermissionName {
18
18
  ANALYSIS_EXECUTION_STOP = "analysis_execution_stop",
19
19
  ANALYSIS_DELETE = "analysis_delete",
20
20
  ANALYSIS_RESULT_READ = "analysis_result_read",// todo: this is maybe not required anymore
21
+ ANALYSIS_SELF_MESSAGE_BROKER_USE = "analysis_self_message_broker_use",
22
+ ANALYSIS_SELF_STORAGE_USE = "analysis_self_storage_use",
21
23
  MASTER_IMAGE_MANAGE = "master_image_manage",
22
24
  MASTER_IMAGE_GROUP_MANAGE = "master_image_group_manage",
23
25
  SERVICE_MANAGE = "service_manage"
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domains/permission/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,cAAc;IACtB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAE/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAEnC,eAAe,oBAAoB;IACnC,uBAAuB,4BAA4B;IAEnD,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAE3B,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB,CAAE,2CAA2C;IAE1F,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IAEvD,cAAc,mBAAmB;CACpC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domains/permission/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,cAAc;IACtB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAE/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAEnC,eAAe,oBAAoB;IACnC,uBAAuB,4BAA4B;IAEnD,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAE3B,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB,CAAE,2CAA2C;IAE1F,gCAAgC,qCAAqC;IACrE,yBAAyB,8BAA8B;IAEvD,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IAEvD,cAAc,mBAAmB;CACpC"}
package/dist/index.cjs CHANGED
@@ -52,30 +52,19 @@ function arrayBufferToBase64(arrayBuffer) {
52
52
  return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));
53
53
  }
54
54
  function exportAsymmetricPublicKey(key) {
55
- return _exportAsymmetricPublicKey.apply(this, arguments);
56
- }
57
- function _exportAsymmetricPublicKey() {
58
- _exportAsymmetricPublicKey = _async_to_generator$2(function*(key) {
55
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
59
56
  const exported = yield crypto.subtle.exportKey('spki', key);
60
57
  return `-----BEGIN PUBLIC KEY-----\n${arrayBufferToBase64(exported)}\n-----END PUBLIC KEY-----`;
61
- });
62
- return _exportAsymmetricPublicKey.apply(this, arguments);
58
+ })();
63
59
  }
64
60
  function exportAsymmetricPrivateKey(key) {
65
- return _exportAsymmetricPrivateKey.apply(this, arguments);
66
- }
67
- function _exportAsymmetricPrivateKey() {
68
- _exportAsymmetricPrivateKey = _async_to_generator$2(function*(key) {
61
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
69
62
  const exported = yield crypto.subtle.exportKey('pkcs8', key);
70
63
  return `-----BEGIN PRIVATE KEY-----\n${arrayBufferToBase64(exported)}\n-----END PRIVATE KEY-----`;
71
- });
72
- return _exportAsymmetricPrivateKey.apply(this, arguments);
64
+ })();
73
65
  }
74
66
  function importAsymmetricPublicKey(pem, params) {
75
- return _importAsymmetricPublicKey.apply(this, arguments);
76
- }
77
- function _importAsymmetricPublicKey() {
78
- _importAsymmetricPublicKey = _async_to_generator$2(function*(pem, params) {
67
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
79
68
  const pemHeader = '-----BEGIN PUBLIC KEY-----';
80
69
  const pemFooter = '-----END PUBLIC KEY-----';
81
70
  const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);
@@ -88,8 +77,7 @@ function _importAsymmetricPublicKey() {
88
77
  return crypto.subtle.importKey('spki', buffer, params, true, [
89
78
  'encrypt'
90
79
  ]);
91
- });
92
- return _importAsymmetricPublicKey.apply(this, arguments);
80
+ })();
93
81
  }
94
82
 
95
83
  /*
@@ -191,57 +179,52 @@ class CryptoAsymmetricAlgorithm {
191
179
  throw new Error('Import params could not be created.');
192
180
  }
193
181
  generateKeyPair() {
194
- var _this = this;
195
- return _async_to_generator$1(function*() {
196
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
197
- _this.keyPair = yield crypto.subtle.generateKey(_this.algorithm, true, [
182
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
183
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
184
+ this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
198
185
  'encrypt',
199
186
  'decrypt'
200
187
  ]);
201
- return _this.keyPair;
188
+ return this.keyPair;
202
189
  }
203
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
204
- _this.keyPair = yield crypto.subtle.generateKey(_this.algorithm, true, [
190
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
191
+ this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
205
192
  'deriveKey'
206
193
  ]);
207
- return _this.keyPair;
194
+ return this.keyPair;
208
195
  }
209
196
  throw new Error('The algorithm is not supported for key generation.');
210
- })();
197
+ }).call(this);
211
198
  }
212
199
  useKeyPair() {
213
- var _this = this;
214
- return _async_to_generator$1(function*() {
215
- if (typeof _this.keyPair !== 'undefined') {
216
- return _this.keyPair;
200
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
201
+ if (typeof this.keyPair !== 'undefined') {
202
+ return this.keyPair;
217
203
  }
218
- return _this.generateKeyPair();
219
- })();
204
+ return this.generateKeyPair();
205
+ }).call(this);
220
206
  }
221
207
  exportPublicKey() {
222
- var _this = this;
223
- return _async_to_generator$1(function*() {
224
- const keyPair = yield _this.useKeyPair();
208
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
209
+ const keyPair = yield this.useKeyPair();
225
210
  return exportAsymmetricPublicKey(keyPair.publicKey);
226
- })();
211
+ }).call(this);
227
212
  }
228
213
  exportPrivateKey() {
229
- var _this = this;
230
- return _async_to_generator$1(function*() {
231
- const keyPair = yield _this.useKeyPair();
214
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
215
+ const keyPair = yield this.useKeyPair();
232
216
  return exportAsymmetricPrivateKey(keyPair.privateKey);
233
- })();
217
+ }).call(this);
234
218
  }
235
219
  encrypt(data, remoteKey) {
236
- var _this = this;
237
- return _async_to_generator$1(function*() {
238
- const keyPair = yield _this.useKeyPair();
239
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
220
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
221
+ const keyPair = yield this.useKeyPair();
222
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
240
223
  return crypto.subtle.encrypt({
241
224
  name: 'RSA-OAEP'
242
225
  }, remoteKey || keyPair.publicKey, data);
243
226
  }
244
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
227
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
245
228
  if (typeof remoteKey === 'undefined') {
246
229
  throw new Error('Remote public key is required.');
247
230
  }
@@ -268,18 +251,17 @@ class CryptoAsymmetricAlgorithm {
268
251
  ]);
269
252
  }
270
253
  throw new Error('Unsupported algorithm for encryption.');
271
- })();
254
+ }).call(this);
272
255
  }
273
256
  decrypt(data, remoteKey) {
274
- var _this = this;
275
- return _async_to_generator$1(function*() {
276
- const keyPair = yield _this.useKeyPair();
277
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
257
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
258
+ const keyPair = yield this.useKeyPair();
259
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
278
260
  return crypto.subtle.decrypt({
279
261
  name: 'RSA-OAEP'
280
262
  }, keyPair.privateKey, data);
281
263
  }
282
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
264
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
283
265
  if (typeof remoteKey === 'undefined') {
284
266
  throw new Error('Remote public key is required.');
285
267
  }
@@ -300,7 +282,7 @@ class CryptoAsymmetricAlgorithm {
300
282
  }, key, data.slice(16));
301
283
  }
302
284
  throw new Error('Unsupported algorithm for decryption.');
303
- })();
285
+ }).call(this);
304
286
  }
305
287
  constructor(algorithm){
306
288
  _define_property$1(this, "algorithm", void 0);
@@ -367,34 +349,31 @@ function _define_property(obj, key, value) {
367
349
  }
368
350
  class CryptoSymmetricAlgorithm {
369
351
  generateKey() {
370
- var _this = this;
371
- return _async_to_generator(function*() {
352
+ return /*#__PURE__*/ _async_to_generator(function*() {
372
353
  return crypto.subtle.generateKey({
373
- name: _this.algorithm.name,
354
+ name: this.algorithm.name,
374
355
  length: 256
375
356
  }, true, [
376
357
  'encrypt',
377
358
  'decrypt'
378
359
  ]);
379
- })();
360
+ }).call(this);
380
361
  }
381
362
  importKey(buffer) {
382
- var _this = this;
383
- return _async_to_generator(function*() {
363
+ return /*#__PURE__*/ _async_to_generator(function*() {
384
364
  return crypto.subtle.importKey('raw', buffer, {
385
- name: _this.algorithm.name,
365
+ name: this.algorithm.name,
386
366
  length: 256
387
367
  }, true, [
388
368
  'encrypt',
389
369
  'decrypt'
390
370
  ]);
391
- })();
371
+ }).call(this);
392
372
  }
393
373
  encrypt(key, iv, data) {
394
- var _this = this;
395
- return _async_to_generator(function*() {
374
+ return /*#__PURE__*/ _async_to_generator(function*() {
396
375
  const arrayBuffer = yield crypto.subtle.encrypt({
397
- name: _this.algorithm.name,
376
+ name: this.algorithm.name,
398
377
  length: 256,
399
378
  iv
400
379
  }, key, data);
@@ -403,19 +382,18 @@ class CryptoSymmetricAlgorithm {
403
382
  iv,
404
383
  buffer
405
384
  ]);
406
- })();
385
+ }).call(this);
407
386
  }
408
387
  decrypt(key, data) {
409
- var _this = this;
410
- return _async_to_generator(function*() {
388
+ return /*#__PURE__*/ _async_to_generator(function*() {
411
389
  const iv = data.slice(0, 16);
412
390
  const arrayBuffer = yield crypto.subtle.decrypt({
413
- name: _this.algorithm.name,
391
+ name: this.algorithm.name,
414
392
  length: 256,
415
393
  iv
416
394
  }, key, data.slice(16));
417
395
  return Buffer.from(arrayBuffer);
418
- })();
396
+ }).call(this);
419
397
  }
420
398
  constructor(algorithm){
421
399
  _define_property(this, "algorithm", void 0);
@@ -448,6 +426,8 @@ class CryptoSymmetricAlgorithm {
448
426
  PermissionName["ANALYSIS_EXECUTION_STOP"] = "analysis_execution_stop";
449
427
  PermissionName["ANALYSIS_DELETE"] = "analysis_delete";
450
428
  PermissionName["ANALYSIS_RESULT_READ"] = "analysis_result_read";
429
+ PermissionName["ANALYSIS_SELF_MESSAGE_BROKER_USE"] = "analysis_self_message_broker_use";
430
+ PermissionName["ANALYSIS_SELF_STORAGE_USE"] = "analysis_self_storage_use";
451
431
  PermissionName["MASTER_IMAGE_MANAGE"] = "master_image_manage";
452
432
  PermissionName["MASTER_IMAGE_GROUP_MANAGE"] = "master_image_group_manage";
453
433
  PermissionName["SERVICE_MANAGE"] = "service_manage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/crypto/asymmetric/constants.ts","../src/crypto/asymmetric/helpers.ts","../src/crypto/asymmetric/module.ts","../src/crypto/symmetric/module.ts","../src/domains/permission/constants.ts","../src/utils/boolean.ts","../src/utils/has-own-property.ts","../src/utils/error.ts","../src/utils/hex-checker.ts","../src/utils/hostname.ts","../src/utils/is-object.ts","../src/utils/nanoid.ts","../src/utils/object-properties.ts","../src/utils/proxy-connection-string.ts","../src/utils/regex-patterns.ts","../src/domains/realm/helper.ts","../src/domain-event/helpers.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AsymmetricCryptoAlgorithmName {\n RSA_OAEP = 'RSA-OAEP',\n\n ECDH = 'ECDH',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AsymmetricAlgorithmImportParams } from './types';\n\nfunction arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));\n}\n\nexport async function exportAsymmetricPublicKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'spki',\n key,\n );\n\n return `-----BEGIN PUBLIC KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PUBLIC KEY-----`;\n}\n\nexport async function exportAsymmetricPrivateKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'pkcs8',\n key,\n );\n\n return `-----BEGIN PRIVATE KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PRIVATE KEY-----`;\n}\n\nexport async function importAsymmetricPublicKey(\n pem: string,\n params: AsymmetricAlgorithmImportParams,\n): Promise<CryptoKey> {\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);\n const buffer = Buffer.from(pemContents, 'base64');\n\n if (params.name === 'ECDH') {\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['deriveKey'],\n );\n }\n\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['encrypt'],\n );\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AsymmetricCryptoAlgorithmName } from './constants';\nimport type { AsymmetricAlgorithmImportParams, AsymmetricAlgorithmParams } from './types';\nimport { exportAsymmetricPrivateKey, exportAsymmetricPublicKey } from './helpers';\n\nexport class CryptoAsymmetricAlgorithm {\n public readonly algorithm: AsymmetricAlgorithmParams;\n\n protected keyPair : CryptoKeyPair | undefined;\n\n constructor(algorithm: AsymmetricAlgorithmParams) {\n if (algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n algorithm = {\n ...algorithm,\n publicExponent: new Uint8Array([1, 0, 1]),\n };\n }\n\n this.algorithm = algorithm;\n }\n\n buildImportParams() : AsymmetricAlgorithmImportParams {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return {\n name: 'RSA-OAEP',\n hash: 'SHA-256',\n };\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n return {\n name: 'ECDH',\n namedCurve: (this.algorithm as EcKeyGenParams).namedCurve,\n hash: 'SHA-256',\n };\n }\n\n throw new Error('Import params could not be created.');\n }\n\n async generateKeyPair() : Promise<CryptoKeyPair> {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['encrypt', 'decrypt'],\n );\n\n return this.keyPair;\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['deriveKey'],\n );\n\n return this.keyPair;\n }\n\n throw new Error('The algorithm is not supported for key generation.');\n }\n\n async useKeyPair(): Promise<CryptoKeyPair> {\n if (typeof this.keyPair !== 'undefined') {\n return this.keyPair;\n }\n\n return this.generateKeyPair();\n }\n\n async exportPublicKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPublicKey(keyPair.publicKey);\n }\n\n async exportPrivateKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPrivateKey(keyPair.privateKey);\n }\n\n async encrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.encrypt(\n {\n name: 'RSA-OAEP',\n },\n remoteKey || keyPair.publicKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const array = new Uint8Array(16);\n const iv = crypto.getRandomValues(array);\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt'],\n );\n\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n throw new Error('Unsupported algorithm for encryption.');\n }\n\n async decrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.decrypt(\n {\n name: 'RSA-OAEP',\n },\n keyPair.privateKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const iv = data.slice(0, 16);\n\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['decrypt'],\n );\n\n return crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n }\n\n throw new Error('Unsupported algorithm for decryption.');\n }\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { SymmetricAlgorithmParams } from './types';\n\nexport class CryptoSymmetricAlgorithm {\n protected algorithm : SymmetricAlgorithmParams;\n\n constructor(algorithm: SymmetricAlgorithmParams) {\n this.algorithm = algorithm;\n }\n\n async generateKey() : Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async importKey(buffer: Buffer | ArrayBuffer) : Promise<CryptoKey> {\n return crypto.subtle.importKey(\n 'raw',\n buffer,\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async encrypt(key: CryptoKey, iv: Buffer, data: Buffer) : Promise<Buffer> {\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n async decrypt(key: CryptoKey, data: Buffer) : Promise<Buffer> {\n const iv = data.slice(0, 16);\n const arrayBuffer = await crypto.subtle.decrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n\n return Buffer.from(arrayBuffer);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum PermissionName {\n BUCKET_CREATE = 'bucket_create',\n BUCKET_UPDATE = 'bucket_update',\n BUCKET_DELETE = 'bucket_delete',\n\n PROJECT_CREATE = 'project_create',\n PROJECT_DELETE = 'project_delete',\n PROJECT_UPDATE = 'project_update',\n PROJECT_APPROVE = 'project_approve',\n\n REGISTRY_MANAGE = 'registry_manage',\n REGISTRY_PROJECT_MANAGE = 'registry_project_manage',\n\n NODE_CREATE = 'node_create',\n NODE_DELETE = 'node_delete',\n NODE_UPDATE = 'node_update',\n\n ANALYSIS_APPROVE = 'analysis_approve',\n ANALYSIS_UPDATE = 'analysis_update',\n ANALYSIS_CREATE = 'analysis_create',\n ANALYSIS_EXECUTION_START = 'analysis_execution_start',\n ANALYSIS_EXECUTION_STOP = 'analysis_execution_stop',\n ANALYSIS_DELETE = 'analysis_delete',\n ANALYSIS_RESULT_READ = 'analysis_result_read', // todo: this is maybe not required anymore\n\n MASTER_IMAGE_MANAGE = 'master_image_manage',\n MASTER_IMAGE_GROUP_MANAGE = 'master_image_group_manage',\n\n SERVICE_MANAGE = 'service_manage',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isBoolTrue<T = any>(input: T | boolean) : input is true {\n return typeof input === 'boolean' && !!input;\n}\n\nexport function isBoolFalse<T = any>(input: T | boolean) : input is false {\n return typeof input === 'boolean' && !input;\n}\n\nexport function isBool<T = any>(input: T | boolean) : input is boolean {\n return typeof input === 'boolean';\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasOwnProperty<X extends {}, Y extends PropertyKey>(obj: X, prop: Y): obj is X & Record<Y, unknown> {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function isPropertySet<X extends Record<string, any>, K extends keyof X>(\n obj: X,\n prop: K,\n) : boolean {\n return hasOwnProperty(obj, prop);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from './has-own-property';\n\nexport function isError(e: unknown) {\n return typeof e === 'object' && e && hasOwnProperty(e, 'message');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isHex(value: string) : boolean {\n return /^[A-Fa-f0-9]+$/i.test(value);\n}\n\nexport function hexToUTF8(value: string) {\n try {\n return decodeURIComponent(`%${value.match(/.{1,2}/g).join('%')}`);\n } catch (e) {\n if (e instanceof URIError) {\n return value;\n }\n\n throw e;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function getHostNameFromString(value: string) : string {\n if (\n value.startsWith('http://') ||\n value.startsWith('https://')\n ) {\n const url = new URL(value);\n value = url.hostname;\n }\n\n return value;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isObject(item: unknown) : item is Record<string, any> {\n return (\n !!item &&\n typeof item === 'object' &&\n !Array.isArray(item)\n );\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { customAlphabet } from 'nanoid';\n\nexport function createNanoID(alphabet?: string) : string;\nexport function createNanoID(len?: number) : string;\nexport function createNanoID(alphabet?: string, len?: number) : string;\nexport function createNanoID(alphabetOrLen?: string | number, len?: number) : string {\n if (typeof alphabetOrLen === 'string') {\n return customAlphabet(alphabetOrLen, len || 21)();\n }\n\n if (typeof alphabetOrLen === 'number') {\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', alphabetOrLen)();\n }\n\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function nullifyEmptyObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : (keyof T)[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (data[key] === '') {\n data[key] = null as T[keyof T];\n }\n }\n\n return data as T;\n}\n\nexport function deleteUndefinedObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : string[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n if (typeof data[keys[i]] === 'undefined') {\n delete data[keys[i]];\n }\n }\n\n return data;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport type ProxyConnectionConfig = {\n protocol: 'http' | 'https',\n host: string,\n port: number,\n auth: {\n username: string,\n password: string,\n }\n};\n\nexport function parseProxyConnectionString(connectionStr: string) : ProxyConnectionConfig | undefined {\n const match = connectionStr\n .match(/(?:(https|http):\\/\\/)(?:(\\w+)(?::(\\w+))?@)?(?:([^:]+))(?::(\\d{1,5}))?$/);\n\n if (!match) {\n return undefined;\n }\n\n return {\n protocol: match[1] as 'http' | 'https',\n host: match[4],\n port: parseInt(match[5], 10),\n auth: {\n username: match[2],\n password: match[3],\n },\n };\n}\n\nexport function detectProxyConnectionConfig() : ProxyConnectionConfig | undefined {\n const envKeys = [\n 'https_proxy',\n 'HTTPS_PROXY',\n 'http_proxy',\n 'HTTP_PROXY',\n ];\n\n let result : string | undefined;\n\n for (let i = 0; i < envKeys.length; i++) {\n const envKey = envKeys[i];\n const envVal = process.env[envKey];\n\n if (\n envVal !== undefined &&\n envVal !== null\n ) {\n result = result || envVal;\n }\n }\n\n if (!result) {\n return undefined;\n }\n\n return parseProxyConnectionString(result);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\nimport { REALM_MASTER_NAME } from '@authup/core-kit';\nimport { isPropertySet } from '../../utils';\n\n/**\n * Check if a realm resource is writable.\n *\n * @param realm\n * @param resourceRealmId\n */\nexport function isRealmResourceWritable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceWritable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (!realm) {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return realm?.id === resourceRealmId;\n}\n/**\n * Check if realm resource is readable.\n *\n * @param realm\n * @param resourceRealmId\n */\n\nexport function isRealmResourceReadable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n if (resourceRealmId.length === 0) {\n return true;\n }\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceReadable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (typeof realm === 'undefined') {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return !resourceRealmId || realm?.id === resourceRealmId;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { DomainEventFullName } from './types';\n\nexport function buildDomainEventFullName<\n ENTITY extends string,\n EVENT extends string,\n>(\n type: ENTITY,\n event: EVENT,\n) : DomainEventFullName<ENTITY, EVENT> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<ENTITY, EVENT>;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["AsymmetricCryptoAlgorithmName","asyncGeneratorStep","arrayBufferToBase64","arrayBuffer","btoa","String","fromCharCode","apply","Uint8Array","exportAsymmetricPublicKey","key","_async_to_generator","exported","crypto","subtle","exportKey","exportAsymmetricPrivateKey","importAsymmetricPublicKey","pem","params","pemHeader","pemFooter","pemContents","substring","length","buffer","Buffer","from","name","importKey","CryptoAsymmetricAlgorithm","buildImportParams","algorithm","RSA_OAEP","hash","ECDH","namedCurve","Error","generateKeyPair","keyPair","generateKey","useKeyPair","exportPublicKey","publicKey","exportPrivateKey","privateKey","encrypt","data","remoteKey","array","iv","getRandomValues","deriveKey","public","concat","decrypt","slice","constructor","_define_property","publicExponent","CryptoSymmetricAlgorithm","PermissionName","isBoolTrue","input","isBoolFalse","isBool","hasOwnProperty","obj","prop","Object","prototype","call","isPropertySet","isError","e","isHex","value","test","hexToUTF8","decodeURIComponent","match","join","URIError","getHostNameFromString","startsWith","url","URL","hostname","isObject","item","Array","isArray","createNanoID","alphabetOrLen","len","customAlphabet","nullifyEmptyObjectProperties","keys","i","deleteUndefinedObjectProperties","parseProxyConnectionString","connectionStr","undefined","protocol","host","port","parseInt","auth","username","password","detectProxyConnectionConfig","envKeys","result","envKey","envVal","process","env","alphaNumHyphenUnderscoreRegex","registryRobotSecretRegex","isRealmResourceWritable","realm","resourceRealmId","REALM_MASTER_NAME","id","isRealmResourceReadable","buildDomainEventFullName","type","event","eventCapitalized","toUpperCase","EnvironmentName"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/crypto/asymmetric/constants.ts","../src/crypto/asymmetric/helpers.ts","../src/crypto/asymmetric/module.ts","../src/crypto/symmetric/module.ts","../src/domains/permission/constants.ts","../src/utils/boolean.ts","../src/utils/has-own-property.ts","../src/utils/error.ts","../src/utils/hex-checker.ts","../src/utils/hostname.ts","../src/utils/is-object.ts","../src/utils/nanoid.ts","../src/utils/object-properties.ts","../src/utils/proxy-connection-string.ts","../src/utils/regex-patterns.ts","../src/domains/realm/helper.ts","../src/domain-event/helpers.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AsymmetricCryptoAlgorithmName {\n RSA_OAEP = 'RSA-OAEP',\n\n ECDH = 'ECDH',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AsymmetricAlgorithmImportParams } from './types';\n\nfunction arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));\n}\n\nexport async function exportAsymmetricPublicKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'spki',\n key,\n );\n\n return `-----BEGIN PUBLIC KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PUBLIC KEY-----`;\n}\n\nexport async function exportAsymmetricPrivateKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'pkcs8',\n key,\n );\n\n return `-----BEGIN PRIVATE KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PRIVATE KEY-----`;\n}\n\nexport async function importAsymmetricPublicKey(\n pem: string,\n params: AsymmetricAlgorithmImportParams,\n): Promise<CryptoKey> {\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);\n const buffer = Buffer.from(pemContents, 'base64');\n\n if (params.name === 'ECDH') {\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['deriveKey'],\n );\n }\n\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['encrypt'],\n );\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AsymmetricCryptoAlgorithmName } from './constants';\nimport type { AsymmetricAlgorithmImportParams, AsymmetricAlgorithmParams } from './types';\nimport { exportAsymmetricPrivateKey, exportAsymmetricPublicKey } from './helpers';\n\nexport class CryptoAsymmetricAlgorithm {\n public readonly algorithm: AsymmetricAlgorithmParams;\n\n protected keyPair : CryptoKeyPair | undefined;\n\n constructor(algorithm: AsymmetricAlgorithmParams) {\n if (algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n algorithm = {\n ...algorithm,\n publicExponent: new Uint8Array([1, 0, 1]),\n };\n }\n\n this.algorithm = algorithm;\n }\n\n buildImportParams() : AsymmetricAlgorithmImportParams {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return {\n name: 'RSA-OAEP',\n hash: 'SHA-256',\n };\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n return {\n name: 'ECDH',\n namedCurve: (this.algorithm as EcKeyGenParams).namedCurve,\n hash: 'SHA-256',\n };\n }\n\n throw new Error('Import params could not be created.');\n }\n\n async generateKeyPair() : Promise<CryptoKeyPair> {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['encrypt', 'decrypt'],\n );\n\n return this.keyPair;\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['deriveKey'],\n );\n\n return this.keyPair;\n }\n\n throw new Error('The algorithm is not supported for key generation.');\n }\n\n async useKeyPair(): Promise<CryptoKeyPair> {\n if (typeof this.keyPair !== 'undefined') {\n return this.keyPair;\n }\n\n return this.generateKeyPair();\n }\n\n async exportPublicKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPublicKey(keyPair.publicKey);\n }\n\n async exportPrivateKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPrivateKey(keyPair.privateKey);\n }\n\n async encrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.encrypt(\n {\n name: 'RSA-OAEP',\n },\n remoteKey || keyPair.publicKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const array = new Uint8Array(16);\n const iv = crypto.getRandomValues(array);\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt'],\n );\n\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n throw new Error('Unsupported algorithm for encryption.');\n }\n\n async decrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.decrypt(\n {\n name: 'RSA-OAEP',\n },\n keyPair.privateKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const iv = data.slice(0, 16);\n\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['decrypt'],\n );\n\n return crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n }\n\n throw new Error('Unsupported algorithm for decryption.');\n }\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { SymmetricAlgorithmParams } from './types';\n\nexport class CryptoSymmetricAlgorithm {\n protected algorithm : SymmetricAlgorithmParams;\n\n constructor(algorithm: SymmetricAlgorithmParams) {\n this.algorithm = algorithm;\n }\n\n async generateKey() : Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async importKey(buffer: Buffer | ArrayBuffer) : Promise<CryptoKey> {\n return crypto.subtle.importKey(\n 'raw',\n buffer,\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async encrypt(key: CryptoKey, iv: Buffer, data: Buffer) : Promise<Buffer> {\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n async decrypt(key: CryptoKey, data: Buffer) : Promise<Buffer> {\n const iv = data.slice(0, 16);\n const arrayBuffer = await crypto.subtle.decrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n\n return Buffer.from(arrayBuffer);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum PermissionName {\n BUCKET_CREATE = 'bucket_create',\n BUCKET_UPDATE = 'bucket_update',\n BUCKET_DELETE = 'bucket_delete',\n\n PROJECT_CREATE = 'project_create',\n PROJECT_DELETE = 'project_delete',\n PROJECT_UPDATE = 'project_update',\n PROJECT_APPROVE = 'project_approve',\n\n REGISTRY_MANAGE = 'registry_manage',\n REGISTRY_PROJECT_MANAGE = 'registry_project_manage',\n\n NODE_CREATE = 'node_create',\n NODE_DELETE = 'node_delete',\n NODE_UPDATE = 'node_update',\n\n ANALYSIS_APPROVE = 'analysis_approve',\n ANALYSIS_UPDATE = 'analysis_update',\n ANALYSIS_CREATE = 'analysis_create',\n ANALYSIS_EXECUTION_START = 'analysis_execution_start',\n ANALYSIS_EXECUTION_STOP = 'analysis_execution_stop',\n ANALYSIS_DELETE = 'analysis_delete',\n ANALYSIS_RESULT_READ = 'analysis_result_read', // todo: this is maybe not required anymore\n\n ANALYSIS_SELF_MESSAGE_BROKER_USE = 'analysis_self_message_broker_use',\n ANALYSIS_SELF_STORAGE_USE = 'analysis_self_storage_use',\n\n MASTER_IMAGE_MANAGE = 'master_image_manage',\n MASTER_IMAGE_GROUP_MANAGE = 'master_image_group_manage',\n\n SERVICE_MANAGE = 'service_manage',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isBoolTrue<T = any>(input: T | boolean) : input is true {\n return typeof input === 'boolean' && !!input;\n}\n\nexport function isBoolFalse<T = any>(input: T | boolean) : input is false {\n return typeof input === 'boolean' && !input;\n}\n\nexport function isBool<T = any>(input: T | boolean) : input is boolean {\n return typeof input === 'boolean';\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasOwnProperty<X extends {}, Y extends PropertyKey>(obj: X, prop: Y): obj is X & Record<Y, unknown> {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function isPropertySet<X extends Record<string, any>, K extends keyof X>(\n obj: X,\n prop: K,\n) : boolean {\n return hasOwnProperty(obj, prop);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from './has-own-property';\n\nexport function isError(e: unknown) {\n return typeof e === 'object' && e && hasOwnProperty(e, 'message');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isHex(value: string) : boolean {\n return /^[A-Fa-f0-9]+$/i.test(value);\n}\n\nexport function hexToUTF8(value: string) {\n try {\n return decodeURIComponent(`%${value.match(/.{1,2}/g).join('%')}`);\n } catch (e) {\n if (e instanceof URIError) {\n return value;\n }\n\n throw e;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function getHostNameFromString(value: string) : string {\n if (\n value.startsWith('http://') ||\n value.startsWith('https://')\n ) {\n const url = new URL(value);\n value = url.hostname;\n }\n\n return value;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isObject(item: unknown) : item is Record<string, any> {\n return (\n !!item &&\n typeof item === 'object' &&\n !Array.isArray(item)\n );\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { customAlphabet } from 'nanoid';\n\nexport function createNanoID(alphabet?: string) : string;\nexport function createNanoID(len?: number) : string;\nexport function createNanoID(alphabet?: string, len?: number) : string;\nexport function createNanoID(alphabetOrLen?: string | number, len?: number) : string {\n if (typeof alphabetOrLen === 'string') {\n return customAlphabet(alphabetOrLen, len || 21)();\n }\n\n if (typeof alphabetOrLen === 'number') {\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', alphabetOrLen)();\n }\n\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function nullifyEmptyObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : (keyof T)[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (data[key] === '') {\n data[key] = null as T[keyof T];\n }\n }\n\n return data as T;\n}\n\nexport function deleteUndefinedObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : string[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n if (typeof data[keys[i]] === 'undefined') {\n delete data[keys[i]];\n }\n }\n\n return data;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport type ProxyConnectionConfig = {\n protocol: 'http' | 'https',\n host: string,\n port: number,\n auth: {\n username: string,\n password: string,\n }\n};\n\nexport function parseProxyConnectionString(connectionStr: string) : ProxyConnectionConfig | undefined {\n const match = connectionStr\n .match(/(?:(https|http):\\/\\/)(?:(\\w+)(?::(\\w+))?@)?(?:([^:]+))(?::(\\d{1,5}))?$/);\n\n if (!match) {\n return undefined;\n }\n\n return {\n protocol: match[1] as 'http' | 'https',\n host: match[4],\n port: parseInt(match[5], 10),\n auth: {\n username: match[2],\n password: match[3],\n },\n };\n}\n\nexport function detectProxyConnectionConfig() : ProxyConnectionConfig | undefined {\n const envKeys = [\n 'https_proxy',\n 'HTTPS_PROXY',\n 'http_proxy',\n 'HTTP_PROXY',\n ];\n\n let result : string | undefined;\n\n for (let i = 0; i < envKeys.length; i++) {\n const envKey = envKeys[i];\n const envVal = process.env[envKey];\n\n if (\n envVal !== undefined &&\n envVal !== null\n ) {\n result = result || envVal;\n }\n }\n\n if (!result) {\n return undefined;\n }\n\n return parseProxyConnectionString(result);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\nimport { REALM_MASTER_NAME } from '@authup/core-kit';\nimport { isPropertySet } from '../../utils';\n\n/**\n * Check if a realm resource is writable.\n *\n * @param realm\n * @param resourceRealmId\n */\nexport function isRealmResourceWritable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceWritable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (!realm) {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return realm?.id === resourceRealmId;\n}\n/**\n * Check if realm resource is readable.\n *\n * @param realm\n * @param resourceRealmId\n */\n\nexport function isRealmResourceReadable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n if (resourceRealmId.length === 0) {\n return true;\n }\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceReadable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (typeof realm === 'undefined') {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return !resourceRealmId || realm?.id === resourceRealmId;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { DomainEventFullName } from './types';\n\nexport function buildDomainEventFullName<\n ENTITY extends string,\n EVENT extends string,\n>(\n type: ENTITY,\n event: EVENT,\n) : DomainEventFullName<ENTITY, EVENT> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<ENTITY, EVENT>;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["AsymmetricCryptoAlgorithmName","asyncGeneratorStep","arrayBufferToBase64","arrayBuffer","btoa","String","fromCharCode","apply","Uint8Array","exportAsymmetricPublicKey","key","exported","crypto","subtle","exportKey","exportAsymmetricPrivateKey","importAsymmetricPublicKey","pem","params","pemHeader","pemFooter","pemContents","substring","length","buffer","Buffer","from","name","importKey","CryptoAsymmetricAlgorithm","buildImportParams","algorithm","RSA_OAEP","hash","ECDH","namedCurve","Error","generateKeyPair","keyPair","generateKey","useKeyPair","exportPublicKey","publicKey","exportPrivateKey","privateKey","encrypt","data","remoteKey","array","iv","getRandomValues","deriveKey","public","concat","decrypt","slice","constructor","_define_property","publicExponent","CryptoSymmetricAlgorithm","PermissionName","isBoolTrue","input","isBoolFalse","isBool","hasOwnProperty","obj","prop","Object","prototype","call","isPropertySet","isError","e","isHex","value","test","hexToUTF8","decodeURIComponent","match","join","URIError","getHostNameFromString","startsWith","url","URL","hostname","isObject","item","Array","isArray","createNanoID","alphabetOrLen","len","customAlphabet","nullifyEmptyObjectProperties","keys","i","deleteUndefinedObjectProperties","parseProxyConnectionString","connectionStr","undefined","protocol","host","port","parseInt","auth","username","password","detectProxyConnectionConfig","envKeys","result","envKey","envVal","process","env","alphaNumHyphenUnderscoreRegex","registryRobotSecretRegex","isRealmResourceWritable","realm","resourceRealmId","REALM_MASTER_NAME","id","isRealmResourceReadable","buildDomainEventFullName","type","event","eventCapitalized","toUpperCase","EnvironmentName"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -50,30 +50,19 @@ function arrayBufferToBase64(arrayBuffer) {
50
50
  return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));
51
51
  }
52
52
  function exportAsymmetricPublicKey(key) {
53
- return _exportAsymmetricPublicKey.apply(this, arguments);
54
- }
55
- function _exportAsymmetricPublicKey() {
56
- _exportAsymmetricPublicKey = _async_to_generator$2(function*(key) {
53
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
57
54
  const exported = yield crypto.subtle.exportKey('spki', key);
58
55
  return `-----BEGIN PUBLIC KEY-----\n${arrayBufferToBase64(exported)}\n-----END PUBLIC KEY-----`;
59
- });
60
- return _exportAsymmetricPublicKey.apply(this, arguments);
56
+ })();
61
57
  }
62
58
  function exportAsymmetricPrivateKey(key) {
63
- return _exportAsymmetricPrivateKey.apply(this, arguments);
64
- }
65
- function _exportAsymmetricPrivateKey() {
66
- _exportAsymmetricPrivateKey = _async_to_generator$2(function*(key) {
59
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
67
60
  const exported = yield crypto.subtle.exportKey('pkcs8', key);
68
61
  return `-----BEGIN PRIVATE KEY-----\n${arrayBufferToBase64(exported)}\n-----END PRIVATE KEY-----`;
69
- });
70
- return _exportAsymmetricPrivateKey.apply(this, arguments);
62
+ })();
71
63
  }
72
64
  function importAsymmetricPublicKey(pem, params) {
73
- return _importAsymmetricPublicKey.apply(this, arguments);
74
- }
75
- function _importAsymmetricPublicKey() {
76
- _importAsymmetricPublicKey = _async_to_generator$2(function*(pem, params) {
65
+ return /*#__PURE__*/ _async_to_generator$2(function*() {
77
66
  const pemHeader = '-----BEGIN PUBLIC KEY-----';
78
67
  const pemFooter = '-----END PUBLIC KEY-----';
79
68
  const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);
@@ -86,8 +75,7 @@ function _importAsymmetricPublicKey() {
86
75
  return crypto.subtle.importKey('spki', buffer, params, true, [
87
76
  'encrypt'
88
77
  ]);
89
- });
90
- return _importAsymmetricPublicKey.apply(this, arguments);
78
+ })();
91
79
  }
92
80
 
93
81
  /*
@@ -189,57 +177,52 @@ class CryptoAsymmetricAlgorithm {
189
177
  throw new Error('Import params could not be created.');
190
178
  }
191
179
  generateKeyPair() {
192
- var _this = this;
193
- return _async_to_generator$1(function*() {
194
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
195
- _this.keyPair = yield crypto.subtle.generateKey(_this.algorithm, true, [
180
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
181
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
182
+ this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
196
183
  'encrypt',
197
184
  'decrypt'
198
185
  ]);
199
- return _this.keyPair;
186
+ return this.keyPair;
200
187
  }
201
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
202
- _this.keyPair = yield crypto.subtle.generateKey(_this.algorithm, true, [
188
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
189
+ this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
203
190
  'deriveKey'
204
191
  ]);
205
- return _this.keyPair;
192
+ return this.keyPair;
206
193
  }
207
194
  throw new Error('The algorithm is not supported for key generation.');
208
- })();
195
+ }).call(this);
209
196
  }
210
197
  useKeyPair() {
211
- var _this = this;
212
- return _async_to_generator$1(function*() {
213
- if (typeof _this.keyPair !== 'undefined') {
214
- return _this.keyPair;
198
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
199
+ if (typeof this.keyPair !== 'undefined') {
200
+ return this.keyPair;
215
201
  }
216
- return _this.generateKeyPair();
217
- })();
202
+ return this.generateKeyPair();
203
+ }).call(this);
218
204
  }
219
205
  exportPublicKey() {
220
- var _this = this;
221
- return _async_to_generator$1(function*() {
222
- const keyPair = yield _this.useKeyPair();
206
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
207
+ const keyPair = yield this.useKeyPair();
223
208
  return exportAsymmetricPublicKey(keyPair.publicKey);
224
- })();
209
+ }).call(this);
225
210
  }
226
211
  exportPrivateKey() {
227
- var _this = this;
228
- return _async_to_generator$1(function*() {
229
- const keyPair = yield _this.useKeyPair();
212
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
213
+ const keyPair = yield this.useKeyPair();
230
214
  return exportAsymmetricPrivateKey(keyPair.privateKey);
231
- })();
215
+ }).call(this);
232
216
  }
233
217
  encrypt(data, remoteKey) {
234
- var _this = this;
235
- return _async_to_generator$1(function*() {
236
- const keyPair = yield _this.useKeyPair();
237
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
218
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
219
+ const keyPair = yield this.useKeyPair();
220
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
238
221
  return crypto.subtle.encrypt({
239
222
  name: 'RSA-OAEP'
240
223
  }, remoteKey || keyPair.publicKey, data);
241
224
  }
242
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
225
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
243
226
  if (typeof remoteKey === 'undefined') {
244
227
  throw new Error('Remote public key is required.');
245
228
  }
@@ -266,18 +249,17 @@ class CryptoAsymmetricAlgorithm {
266
249
  ]);
267
250
  }
268
251
  throw new Error('Unsupported algorithm for encryption.');
269
- })();
252
+ }).call(this);
270
253
  }
271
254
  decrypt(data, remoteKey) {
272
- var _this = this;
273
- return _async_to_generator$1(function*() {
274
- const keyPair = yield _this.useKeyPair();
275
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
255
+ return /*#__PURE__*/ _async_to_generator$1(function*() {
256
+ const keyPair = yield this.useKeyPair();
257
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
276
258
  return crypto.subtle.decrypt({
277
259
  name: 'RSA-OAEP'
278
260
  }, keyPair.privateKey, data);
279
261
  }
280
- if (_this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
262
+ if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
281
263
  if (typeof remoteKey === 'undefined') {
282
264
  throw new Error('Remote public key is required.');
283
265
  }
@@ -298,7 +280,7 @@ class CryptoAsymmetricAlgorithm {
298
280
  }, key, data.slice(16));
299
281
  }
300
282
  throw new Error('Unsupported algorithm for decryption.');
301
- })();
283
+ }).call(this);
302
284
  }
303
285
  constructor(algorithm){
304
286
  _define_property$1(this, "algorithm", void 0);
@@ -365,34 +347,31 @@ function _define_property(obj, key, value) {
365
347
  }
366
348
  class CryptoSymmetricAlgorithm {
367
349
  generateKey() {
368
- var _this = this;
369
- return _async_to_generator(function*() {
350
+ return /*#__PURE__*/ _async_to_generator(function*() {
370
351
  return crypto.subtle.generateKey({
371
- name: _this.algorithm.name,
352
+ name: this.algorithm.name,
372
353
  length: 256
373
354
  }, true, [
374
355
  'encrypt',
375
356
  'decrypt'
376
357
  ]);
377
- })();
358
+ }).call(this);
378
359
  }
379
360
  importKey(buffer) {
380
- var _this = this;
381
- return _async_to_generator(function*() {
361
+ return /*#__PURE__*/ _async_to_generator(function*() {
382
362
  return crypto.subtle.importKey('raw', buffer, {
383
- name: _this.algorithm.name,
363
+ name: this.algorithm.name,
384
364
  length: 256
385
365
  }, true, [
386
366
  'encrypt',
387
367
  'decrypt'
388
368
  ]);
389
- })();
369
+ }).call(this);
390
370
  }
391
371
  encrypt(key, iv, data) {
392
- var _this = this;
393
- return _async_to_generator(function*() {
372
+ return /*#__PURE__*/ _async_to_generator(function*() {
394
373
  const arrayBuffer = yield crypto.subtle.encrypt({
395
- name: _this.algorithm.name,
374
+ name: this.algorithm.name,
396
375
  length: 256,
397
376
  iv
398
377
  }, key, data);
@@ -401,19 +380,18 @@ class CryptoSymmetricAlgorithm {
401
380
  iv,
402
381
  buffer
403
382
  ]);
404
- })();
383
+ }).call(this);
405
384
  }
406
385
  decrypt(key, data) {
407
- var _this = this;
408
- return _async_to_generator(function*() {
386
+ return /*#__PURE__*/ _async_to_generator(function*() {
409
387
  const iv = data.slice(0, 16);
410
388
  const arrayBuffer = yield crypto.subtle.decrypt({
411
- name: _this.algorithm.name,
389
+ name: this.algorithm.name,
412
390
  length: 256,
413
391
  iv
414
392
  }, key, data.slice(16));
415
393
  return Buffer.from(arrayBuffer);
416
- })();
394
+ }).call(this);
417
395
  }
418
396
  constructor(algorithm){
419
397
  _define_property(this, "algorithm", void 0);
@@ -446,6 +424,8 @@ class CryptoSymmetricAlgorithm {
446
424
  PermissionName["ANALYSIS_EXECUTION_STOP"] = "analysis_execution_stop";
447
425
  PermissionName["ANALYSIS_DELETE"] = "analysis_delete";
448
426
  PermissionName["ANALYSIS_RESULT_READ"] = "analysis_result_read";
427
+ PermissionName["ANALYSIS_SELF_MESSAGE_BROKER_USE"] = "analysis_self_message_broker_use";
428
+ PermissionName["ANALYSIS_SELF_STORAGE_USE"] = "analysis_self_storage_use";
449
429
  PermissionName["MASTER_IMAGE_MANAGE"] = "master_image_manage";
450
430
  PermissionName["MASTER_IMAGE_GROUP_MANAGE"] = "master_image_group_manage";
451
431
  PermissionName["SERVICE_MANAGE"] = "service_manage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/crypto/asymmetric/constants.ts","../src/crypto/asymmetric/helpers.ts","../src/crypto/asymmetric/module.ts","../src/crypto/symmetric/module.ts","../src/domains/permission/constants.ts","../src/utils/boolean.ts","../src/utils/has-own-property.ts","../src/utils/error.ts","../src/utils/hex-checker.ts","../src/utils/hostname.ts","../src/utils/is-object.ts","../src/utils/nanoid.ts","../src/utils/object-properties.ts","../src/utils/proxy-connection-string.ts","../src/utils/regex-patterns.ts","../src/domains/realm/helper.ts","../src/domain-event/helpers.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AsymmetricCryptoAlgorithmName {\n RSA_OAEP = 'RSA-OAEP',\n\n ECDH = 'ECDH',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AsymmetricAlgorithmImportParams } from './types';\n\nfunction arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));\n}\n\nexport async function exportAsymmetricPublicKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'spki',\n key,\n );\n\n return `-----BEGIN PUBLIC KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PUBLIC KEY-----`;\n}\n\nexport async function exportAsymmetricPrivateKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'pkcs8',\n key,\n );\n\n return `-----BEGIN PRIVATE KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PRIVATE KEY-----`;\n}\n\nexport async function importAsymmetricPublicKey(\n pem: string,\n params: AsymmetricAlgorithmImportParams,\n): Promise<CryptoKey> {\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);\n const buffer = Buffer.from(pemContents, 'base64');\n\n if (params.name === 'ECDH') {\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['deriveKey'],\n );\n }\n\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['encrypt'],\n );\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AsymmetricCryptoAlgorithmName } from './constants';\nimport type { AsymmetricAlgorithmImportParams, AsymmetricAlgorithmParams } from './types';\nimport { exportAsymmetricPrivateKey, exportAsymmetricPublicKey } from './helpers';\n\nexport class CryptoAsymmetricAlgorithm {\n public readonly algorithm: AsymmetricAlgorithmParams;\n\n protected keyPair : CryptoKeyPair | undefined;\n\n constructor(algorithm: AsymmetricAlgorithmParams) {\n if (algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n algorithm = {\n ...algorithm,\n publicExponent: new Uint8Array([1, 0, 1]),\n };\n }\n\n this.algorithm = algorithm;\n }\n\n buildImportParams() : AsymmetricAlgorithmImportParams {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return {\n name: 'RSA-OAEP',\n hash: 'SHA-256',\n };\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n return {\n name: 'ECDH',\n namedCurve: (this.algorithm as EcKeyGenParams).namedCurve,\n hash: 'SHA-256',\n };\n }\n\n throw new Error('Import params could not be created.');\n }\n\n async generateKeyPair() : Promise<CryptoKeyPair> {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['encrypt', 'decrypt'],\n );\n\n return this.keyPair;\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['deriveKey'],\n );\n\n return this.keyPair;\n }\n\n throw new Error('The algorithm is not supported for key generation.');\n }\n\n async useKeyPair(): Promise<CryptoKeyPair> {\n if (typeof this.keyPair !== 'undefined') {\n return this.keyPair;\n }\n\n return this.generateKeyPair();\n }\n\n async exportPublicKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPublicKey(keyPair.publicKey);\n }\n\n async exportPrivateKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPrivateKey(keyPair.privateKey);\n }\n\n async encrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.encrypt(\n {\n name: 'RSA-OAEP',\n },\n remoteKey || keyPair.publicKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const array = new Uint8Array(16);\n const iv = crypto.getRandomValues(array);\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt'],\n );\n\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n throw new Error('Unsupported algorithm for encryption.');\n }\n\n async decrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.decrypt(\n {\n name: 'RSA-OAEP',\n },\n keyPair.privateKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const iv = data.slice(0, 16);\n\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['decrypt'],\n );\n\n return crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n }\n\n throw new Error('Unsupported algorithm for decryption.');\n }\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { SymmetricAlgorithmParams } from './types';\n\nexport class CryptoSymmetricAlgorithm {\n protected algorithm : SymmetricAlgorithmParams;\n\n constructor(algorithm: SymmetricAlgorithmParams) {\n this.algorithm = algorithm;\n }\n\n async generateKey() : Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async importKey(buffer: Buffer | ArrayBuffer) : Promise<CryptoKey> {\n return crypto.subtle.importKey(\n 'raw',\n buffer,\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async encrypt(key: CryptoKey, iv: Buffer, data: Buffer) : Promise<Buffer> {\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n async decrypt(key: CryptoKey, data: Buffer) : Promise<Buffer> {\n const iv = data.slice(0, 16);\n const arrayBuffer = await crypto.subtle.decrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n\n return Buffer.from(arrayBuffer);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum PermissionName {\n BUCKET_CREATE = 'bucket_create',\n BUCKET_UPDATE = 'bucket_update',\n BUCKET_DELETE = 'bucket_delete',\n\n PROJECT_CREATE = 'project_create',\n PROJECT_DELETE = 'project_delete',\n PROJECT_UPDATE = 'project_update',\n PROJECT_APPROVE = 'project_approve',\n\n REGISTRY_MANAGE = 'registry_manage',\n REGISTRY_PROJECT_MANAGE = 'registry_project_manage',\n\n NODE_CREATE = 'node_create',\n NODE_DELETE = 'node_delete',\n NODE_UPDATE = 'node_update',\n\n ANALYSIS_APPROVE = 'analysis_approve',\n ANALYSIS_UPDATE = 'analysis_update',\n ANALYSIS_CREATE = 'analysis_create',\n ANALYSIS_EXECUTION_START = 'analysis_execution_start',\n ANALYSIS_EXECUTION_STOP = 'analysis_execution_stop',\n ANALYSIS_DELETE = 'analysis_delete',\n ANALYSIS_RESULT_READ = 'analysis_result_read', // todo: this is maybe not required anymore\n\n MASTER_IMAGE_MANAGE = 'master_image_manage',\n MASTER_IMAGE_GROUP_MANAGE = 'master_image_group_manage',\n\n SERVICE_MANAGE = 'service_manage',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isBoolTrue<T = any>(input: T | boolean) : input is true {\n return typeof input === 'boolean' && !!input;\n}\n\nexport function isBoolFalse<T = any>(input: T | boolean) : input is false {\n return typeof input === 'boolean' && !input;\n}\n\nexport function isBool<T = any>(input: T | boolean) : input is boolean {\n return typeof input === 'boolean';\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasOwnProperty<X extends {}, Y extends PropertyKey>(obj: X, prop: Y): obj is X & Record<Y, unknown> {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function isPropertySet<X extends Record<string, any>, K extends keyof X>(\n obj: X,\n prop: K,\n) : boolean {\n return hasOwnProperty(obj, prop);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from './has-own-property';\n\nexport function isError(e: unknown) {\n return typeof e === 'object' && e && hasOwnProperty(e, 'message');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isHex(value: string) : boolean {\n return /^[A-Fa-f0-9]+$/i.test(value);\n}\n\nexport function hexToUTF8(value: string) {\n try {\n return decodeURIComponent(`%${value.match(/.{1,2}/g).join('%')}`);\n } catch (e) {\n if (e instanceof URIError) {\n return value;\n }\n\n throw e;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function getHostNameFromString(value: string) : string {\n if (\n value.startsWith('http://') ||\n value.startsWith('https://')\n ) {\n const url = new URL(value);\n value = url.hostname;\n }\n\n return value;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isObject(item: unknown) : item is Record<string, any> {\n return (\n !!item &&\n typeof item === 'object' &&\n !Array.isArray(item)\n );\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { customAlphabet } from 'nanoid';\n\nexport function createNanoID(alphabet?: string) : string;\nexport function createNanoID(len?: number) : string;\nexport function createNanoID(alphabet?: string, len?: number) : string;\nexport function createNanoID(alphabetOrLen?: string | number, len?: number) : string {\n if (typeof alphabetOrLen === 'string') {\n return customAlphabet(alphabetOrLen, len || 21)();\n }\n\n if (typeof alphabetOrLen === 'number') {\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', alphabetOrLen)();\n }\n\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function nullifyEmptyObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : (keyof T)[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (data[key] === '') {\n data[key] = null as T[keyof T];\n }\n }\n\n return data as T;\n}\n\nexport function deleteUndefinedObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : string[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n if (typeof data[keys[i]] === 'undefined') {\n delete data[keys[i]];\n }\n }\n\n return data;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport type ProxyConnectionConfig = {\n protocol: 'http' | 'https',\n host: string,\n port: number,\n auth: {\n username: string,\n password: string,\n }\n};\n\nexport function parseProxyConnectionString(connectionStr: string) : ProxyConnectionConfig | undefined {\n const match = connectionStr\n .match(/(?:(https|http):\\/\\/)(?:(\\w+)(?::(\\w+))?@)?(?:([^:]+))(?::(\\d{1,5}))?$/);\n\n if (!match) {\n return undefined;\n }\n\n return {\n protocol: match[1] as 'http' | 'https',\n host: match[4],\n port: parseInt(match[5], 10),\n auth: {\n username: match[2],\n password: match[3],\n },\n };\n}\n\nexport function detectProxyConnectionConfig() : ProxyConnectionConfig | undefined {\n const envKeys = [\n 'https_proxy',\n 'HTTPS_PROXY',\n 'http_proxy',\n 'HTTP_PROXY',\n ];\n\n let result : string | undefined;\n\n for (let i = 0; i < envKeys.length; i++) {\n const envKey = envKeys[i];\n const envVal = process.env[envKey];\n\n if (\n envVal !== undefined &&\n envVal !== null\n ) {\n result = result || envVal;\n }\n }\n\n if (!result) {\n return undefined;\n }\n\n return parseProxyConnectionString(result);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\nimport { REALM_MASTER_NAME } from '@authup/core-kit';\nimport { isPropertySet } from '../../utils';\n\n/**\n * Check if a realm resource is writable.\n *\n * @param realm\n * @param resourceRealmId\n */\nexport function isRealmResourceWritable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceWritable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (!realm) {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return realm?.id === resourceRealmId;\n}\n/**\n * Check if realm resource is readable.\n *\n * @param realm\n * @param resourceRealmId\n */\n\nexport function isRealmResourceReadable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n if (resourceRealmId.length === 0) {\n return true;\n }\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceReadable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (typeof realm === 'undefined') {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return !resourceRealmId || realm?.id === resourceRealmId;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { DomainEventFullName } from './types';\n\nexport function buildDomainEventFullName<\n ENTITY extends string,\n EVENT extends string,\n>(\n type: ENTITY,\n event: EVENT,\n) : DomainEventFullName<ENTITY, EVENT> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<ENTITY, EVENT>;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["AsymmetricCryptoAlgorithmName","asyncGeneratorStep","arrayBufferToBase64","arrayBuffer","btoa","String","fromCharCode","apply","Uint8Array","exportAsymmetricPublicKey","key","_async_to_generator","exported","crypto","subtle","exportKey","exportAsymmetricPrivateKey","importAsymmetricPublicKey","pem","params","pemHeader","pemFooter","pemContents","substring","length","buffer","Buffer","from","name","importKey","CryptoAsymmetricAlgorithm","buildImportParams","algorithm","RSA_OAEP","hash","ECDH","namedCurve","Error","generateKeyPair","keyPair","generateKey","useKeyPair","exportPublicKey","publicKey","exportPrivateKey","privateKey","encrypt","data","remoteKey","array","iv","getRandomValues","deriveKey","public","concat","decrypt","slice","constructor","_define_property","publicExponent","CryptoSymmetricAlgorithm","PermissionName","isBoolTrue","input","isBoolFalse","isBool","hasOwnProperty","obj","prop","Object","prototype","call","isPropertySet","isError","e","isHex","value","test","hexToUTF8","decodeURIComponent","match","join","URIError","getHostNameFromString","startsWith","url","URL","hostname","isObject","item","Array","isArray","createNanoID","alphabetOrLen","len","customAlphabet","nullifyEmptyObjectProperties","keys","i","deleteUndefinedObjectProperties","parseProxyConnectionString","connectionStr","undefined","protocol","host","port","parseInt","auth","username","password","detectProxyConnectionConfig","envKeys","result","envKey","envVal","process","env","alphaNumHyphenUnderscoreRegex","registryRobotSecretRegex","isRealmResourceWritable","realm","resourceRealmId","REALM_MASTER_NAME","id","isRealmResourceReadable","buildDomainEventFullName","type","event","eventCapitalized","toUpperCase","EnvironmentName"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/crypto/asymmetric/constants.ts","../src/crypto/asymmetric/helpers.ts","../src/crypto/asymmetric/module.ts","../src/crypto/symmetric/module.ts","../src/domains/permission/constants.ts","../src/utils/boolean.ts","../src/utils/has-own-property.ts","../src/utils/error.ts","../src/utils/hex-checker.ts","../src/utils/hostname.ts","../src/utils/is-object.ts","../src/utils/nanoid.ts","../src/utils/object-properties.ts","../src/utils/proxy-connection-string.ts","../src/utils/regex-patterns.ts","../src/domains/realm/helper.ts","../src/domain-event/helpers.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AsymmetricCryptoAlgorithmName {\n RSA_OAEP = 'RSA-OAEP',\n\n ECDH = 'ECDH',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { AsymmetricAlgorithmImportParams } from './types';\n\nfunction arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));\n}\n\nexport async function exportAsymmetricPublicKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'spki',\n key,\n );\n\n return `-----BEGIN PUBLIC KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PUBLIC KEY-----`;\n}\n\nexport async function exportAsymmetricPrivateKey(key: CryptoKey): Promise<string> {\n const exported = await crypto.subtle.exportKey(\n 'pkcs8',\n key,\n );\n\n return `-----BEGIN PRIVATE KEY-----\\n${arrayBufferToBase64(exported)}\\n-----END PRIVATE KEY-----`;\n}\n\nexport async function importAsymmetricPublicKey(\n pem: string,\n params: AsymmetricAlgorithmImportParams,\n): Promise<CryptoKey> {\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);\n const buffer = Buffer.from(pemContents, 'base64');\n\n if (params.name === 'ECDH') {\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['deriveKey'],\n );\n }\n\n return crypto.subtle.importKey(\n 'spki',\n buffer,\n params,\n true,\n ['encrypt'],\n );\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AsymmetricCryptoAlgorithmName } from './constants';\nimport type { AsymmetricAlgorithmImportParams, AsymmetricAlgorithmParams } from './types';\nimport { exportAsymmetricPrivateKey, exportAsymmetricPublicKey } from './helpers';\n\nexport class CryptoAsymmetricAlgorithm {\n public readonly algorithm: AsymmetricAlgorithmParams;\n\n protected keyPair : CryptoKeyPair | undefined;\n\n constructor(algorithm: AsymmetricAlgorithmParams) {\n if (algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n algorithm = {\n ...algorithm,\n publicExponent: new Uint8Array([1, 0, 1]),\n };\n }\n\n this.algorithm = algorithm;\n }\n\n buildImportParams() : AsymmetricAlgorithmImportParams {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return {\n name: 'RSA-OAEP',\n hash: 'SHA-256',\n };\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n return {\n name: 'ECDH',\n namedCurve: (this.algorithm as EcKeyGenParams).namedCurve,\n hash: 'SHA-256',\n };\n }\n\n throw new Error('Import params could not be created.');\n }\n\n async generateKeyPair() : Promise<CryptoKeyPair> {\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['encrypt', 'decrypt'],\n );\n\n return this.keyPair;\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n this.keyPair = await crypto.subtle.generateKey(\n this.algorithm,\n true,\n ['deriveKey'],\n );\n\n return this.keyPair;\n }\n\n throw new Error('The algorithm is not supported for key generation.');\n }\n\n async useKeyPair(): Promise<CryptoKeyPair> {\n if (typeof this.keyPair !== 'undefined') {\n return this.keyPair;\n }\n\n return this.generateKeyPair();\n }\n\n async exportPublicKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPublicKey(keyPair.publicKey);\n }\n\n async exportPrivateKey(): Promise<string> {\n const keyPair = await this.useKeyPair();\n\n return exportAsymmetricPrivateKey(keyPair.privateKey);\n }\n\n async encrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.encrypt(\n {\n name: 'RSA-OAEP',\n },\n remoteKey || keyPair.publicKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const array = new Uint8Array(16);\n const iv = crypto.getRandomValues(array);\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt'],\n );\n\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n throw new Error('Unsupported algorithm for encryption.');\n }\n\n async decrypt(data: Buffer, remoteKey?: CryptoKey) {\n const keyPair = await this.useKeyPair();\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {\n return crypto.subtle.decrypt(\n {\n name: 'RSA-OAEP',\n },\n keyPair.privateKey,\n data,\n );\n }\n\n if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {\n if (typeof remoteKey === 'undefined') {\n throw new Error('Remote public key is required.');\n }\n\n const iv = data.slice(0, 16);\n\n const key = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: remoteKey,\n },\n keyPair.privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['decrypt'],\n );\n\n return crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n }\n\n throw new Error('Unsupported algorithm for decryption.');\n }\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { SymmetricAlgorithmParams } from './types';\n\nexport class CryptoSymmetricAlgorithm {\n protected algorithm : SymmetricAlgorithmParams;\n\n constructor(algorithm: SymmetricAlgorithmParams) {\n this.algorithm = algorithm;\n }\n\n async generateKey() : Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async importKey(buffer: Buffer | ArrayBuffer) : Promise<CryptoKey> {\n return crypto.subtle.importKey(\n 'raw',\n buffer,\n {\n name: this.algorithm.name,\n length: 256,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n }\n\n async encrypt(key: CryptoKey, iv: Buffer, data: Buffer) : Promise<Buffer> {\n const arrayBuffer = await crypto.subtle.encrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data,\n );\n\n const buffer = Buffer.from(arrayBuffer);\n\n return Buffer.concat([iv, buffer]);\n }\n\n async decrypt(key: CryptoKey, data: Buffer) : Promise<Buffer> {\n const iv = data.slice(0, 16);\n const arrayBuffer = await crypto.subtle.decrypt(\n {\n name: this.algorithm.name,\n length: 256,\n iv,\n },\n key,\n data.slice(16),\n );\n\n return Buffer.from(arrayBuffer);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum PermissionName {\n BUCKET_CREATE = 'bucket_create',\n BUCKET_UPDATE = 'bucket_update',\n BUCKET_DELETE = 'bucket_delete',\n\n PROJECT_CREATE = 'project_create',\n PROJECT_DELETE = 'project_delete',\n PROJECT_UPDATE = 'project_update',\n PROJECT_APPROVE = 'project_approve',\n\n REGISTRY_MANAGE = 'registry_manage',\n REGISTRY_PROJECT_MANAGE = 'registry_project_manage',\n\n NODE_CREATE = 'node_create',\n NODE_DELETE = 'node_delete',\n NODE_UPDATE = 'node_update',\n\n ANALYSIS_APPROVE = 'analysis_approve',\n ANALYSIS_UPDATE = 'analysis_update',\n ANALYSIS_CREATE = 'analysis_create',\n ANALYSIS_EXECUTION_START = 'analysis_execution_start',\n ANALYSIS_EXECUTION_STOP = 'analysis_execution_stop',\n ANALYSIS_DELETE = 'analysis_delete',\n ANALYSIS_RESULT_READ = 'analysis_result_read', // todo: this is maybe not required anymore\n\n ANALYSIS_SELF_MESSAGE_BROKER_USE = 'analysis_self_message_broker_use',\n ANALYSIS_SELF_STORAGE_USE = 'analysis_self_storage_use',\n\n MASTER_IMAGE_MANAGE = 'master_image_manage',\n MASTER_IMAGE_GROUP_MANAGE = 'master_image_group_manage',\n\n SERVICE_MANAGE = 'service_manage',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isBoolTrue<T = any>(input: T | boolean) : input is true {\n return typeof input === 'boolean' && !!input;\n}\n\nexport function isBoolFalse<T = any>(input: T | boolean) : input is false {\n return typeof input === 'boolean' && !input;\n}\n\nexport function isBool<T = any>(input: T | boolean) : input is boolean {\n return typeof input === 'boolean';\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasOwnProperty<X extends {}, Y extends PropertyKey>(obj: X, prop: Y): obj is X & Record<Y, unknown> {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function isPropertySet<X extends Record<string, any>, K extends keyof X>(\n obj: X,\n prop: K,\n) : boolean {\n return hasOwnProperty(obj, prop);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { hasOwnProperty } from './has-own-property';\n\nexport function isError(e: unknown) {\n return typeof e === 'object' && e && hasOwnProperty(e, 'message');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isHex(value: string) : boolean {\n return /^[A-Fa-f0-9]+$/i.test(value);\n}\n\nexport function hexToUTF8(value: string) {\n try {\n return decodeURIComponent(`%${value.match(/.{1,2}/g).join('%')}`);\n } catch (e) {\n if (e instanceof URIError) {\n return value;\n }\n\n throw e;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function getHostNameFromString(value: string) : string {\n if (\n value.startsWith('http://') ||\n value.startsWith('https://')\n ) {\n const url = new URL(value);\n value = url.hostname;\n }\n\n return value;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function isObject(item: unknown) : item is Record<string, any> {\n return (\n !!item &&\n typeof item === 'object' &&\n !Array.isArray(item)\n );\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { customAlphabet } from 'nanoid';\n\nexport function createNanoID(alphabet?: string) : string;\nexport function createNanoID(len?: number) : string;\nexport function createNanoID(alphabet?: string, len?: number) : string;\nexport function createNanoID(alphabetOrLen?: string | number, len?: number) : string {\n if (typeof alphabetOrLen === 'string') {\n return customAlphabet(alphabetOrLen, len || 21)();\n }\n\n if (typeof alphabetOrLen === 'number') {\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', alphabetOrLen)();\n }\n\n return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport function nullifyEmptyObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : (keyof T)[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (data[key] === '') {\n data[key] = null as T[keyof T];\n }\n }\n\n return data as T;\n}\n\nexport function deleteUndefinedObjectProperties<T extends Record<string, any>>(data: T) : T {\n const keys : string[] = Object.keys(data);\n\n for (let i = 0; i < keys.length; i++) {\n if (typeof data[keys[i]] === 'undefined') {\n delete data[keys[i]];\n }\n }\n\n return data;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport type ProxyConnectionConfig = {\n protocol: 'http' | 'https',\n host: string,\n port: number,\n auth: {\n username: string,\n password: string,\n }\n};\n\nexport function parseProxyConnectionString(connectionStr: string) : ProxyConnectionConfig | undefined {\n const match = connectionStr\n .match(/(?:(https|http):\\/\\/)(?:(\\w+)(?::(\\w+))?@)?(?:([^:]+))(?::(\\d{1,5}))?$/);\n\n if (!match) {\n return undefined;\n }\n\n return {\n protocol: match[1] as 'http' | 'https',\n host: match[4],\n port: parseInt(match[5], 10),\n auth: {\n username: match[2],\n password: match[3],\n },\n };\n}\n\nexport function detectProxyConnectionConfig() : ProxyConnectionConfig | undefined {\n const envKeys = [\n 'https_proxy',\n 'HTTPS_PROXY',\n 'http_proxy',\n 'HTTP_PROXY',\n ];\n\n let result : string | undefined;\n\n for (let i = 0; i < envKeys.length; i++) {\n const envKey = envKeys[i];\n const envVal = process.env[envKey];\n\n if (\n envVal !== undefined &&\n envVal !== null\n ) {\n result = result || envVal;\n }\n }\n\n if (!result) {\n return undefined;\n }\n\n return parseProxyConnectionString(result);\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\nimport { REALM_MASTER_NAME } from '@authup/core-kit';\nimport { isPropertySet } from '../../utils';\n\n/**\n * Check if a realm resource is writable.\n *\n * @param realm\n * @param resourceRealmId\n */\nexport function isRealmResourceWritable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceWritable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (!realm) {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return realm?.id === resourceRealmId;\n}\n/**\n * Check if realm resource is readable.\n *\n * @param realm\n * @param resourceRealmId\n */\n\nexport function isRealmResourceReadable(realm: Partial<Realm>, resourceRealmId: string | string[]) {\n if (Array.isArray(resourceRealmId)) {\n if (resourceRealmId.length === 0) {\n return true;\n }\n for (let i = 0; i < resourceRealmId.length; i++) {\n if (isRealmResourceReadable(realm, resourceRealmId[i])) {\n return true;\n }\n }\n return false;\n }\n\n if (typeof realm === 'undefined') {\n return false;\n }\n\n if (\n isPropertySet(realm, 'name') &&\n realm.name === REALM_MASTER_NAME\n ) {\n return true;\n }\n\n return !resourceRealmId || realm?.id === resourceRealmId;\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { DomainEventFullName } from './types';\n\nexport function buildDomainEventFullName<\n ENTITY extends string,\n EVENT extends string,\n>(\n type: ENTITY,\n event: EVENT,\n) : DomainEventFullName<ENTITY, EVENT> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<ENTITY, EVENT>;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["AsymmetricCryptoAlgorithmName","asyncGeneratorStep","arrayBufferToBase64","arrayBuffer","btoa","String","fromCharCode","apply","Uint8Array","exportAsymmetricPublicKey","key","exported","crypto","subtle","exportKey","exportAsymmetricPrivateKey","importAsymmetricPublicKey","pem","params","pemHeader","pemFooter","pemContents","substring","length","buffer","Buffer","from","name","importKey","CryptoAsymmetricAlgorithm","buildImportParams","algorithm","RSA_OAEP","hash","ECDH","namedCurve","Error","generateKeyPair","keyPair","generateKey","useKeyPair","exportPublicKey","publicKey","exportPrivateKey","privateKey","encrypt","data","remoteKey","array","iv","getRandomValues","deriveKey","public","concat","decrypt","slice","constructor","_define_property","publicExponent","CryptoSymmetricAlgorithm","PermissionName","isBoolTrue","input","isBoolFalse","isBool","hasOwnProperty","obj","prop","Object","prototype","call","isPropertySet","isError","e","isHex","value","test","hexToUTF8","decodeURIComponent","match","join","URIError","getHostNameFromString","startsWith","url","URL","hostname","isObject","item","Array","isArray","createNanoID","alphabetOrLen","len","customAlphabet","nullifyEmptyObjectProperties","keys","i","deleteUndefinedObjectProperties","parseProxyConnectionString","connectionStr","undefined","protocol","host","port","parseInt","auth","username","password","detectProxyConnectionConfig","envKeys","result","envKey","envVal","process","env","alphaNumHyphenUnderscoreRegex","registryRobotSecretRegex","isRealmResourceWritable","realm","resourceRealmId","REALM_MASTER_NAME","id","isRealmResourceReadable","buildDomainEventFullName","type","event","eventCapitalized","toUpperCase","EnvironmentName"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privateaim/kit",
3
- "version": "0.8.10",
3
+ "version": "0.8.12",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "exports": {
@@ -30,6 +30,9 @@ export enum PermissionName {
30
30
  ANALYSIS_DELETE = 'analysis_delete',
31
31
  ANALYSIS_RESULT_READ = 'analysis_result_read', // todo: this is maybe not required anymore
32
32
 
33
+ ANALYSIS_SELF_MESSAGE_BROKER_USE = 'analysis_self_message_broker_use',
34
+ ANALYSIS_SELF_STORAGE_USE = 'analysis_self_storage_use',
35
+
33
36
  MASTER_IMAGE_MANAGE = 'master_image_manage',
34
37
  MASTER_IMAGE_GROUP_MANAGE = 'master_image_group_manage',
35
38