@privateaim/kit 0.8.13 → 0.8.14

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,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.14](https://github.com/PrivateAIM/hub/compare/v0.8.13...v0.8.14) (2025-07-10)
4
+
5
+
6
+ ### Features
7
+
8
+ * remodel analysis-node-logs ([#1092](https://github.com/PrivateAIM/hub/issues/1092)) ([4fc553d](https://github.com/PrivateAIM/hub/commit/4fc553d62fa7496b464b39d78a3942e492046eac))
9
+
3
10
  ## [0.8.13](https://github.com/PrivateAIM/hub/compare/v0.8.12...v0.8.13) (2025-05-05)
4
11
 
5
12
  ## [0.8.12](https://github.com/PrivateAIM/hub/compare/v0.8.11...v0.8.12) (2025-04-25)
package/dist/index.cjs CHANGED
@@ -649,6 +649,47 @@ const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$/;
649
649
  return type + eventCapitalized;
650
650
  }
651
651
 
652
+ /*
653
+ * Copyright (c) 2025.
654
+ * Author Peter Placzek (tada5hi)
655
+ * For the full copyright and license information,
656
+ * view the LICENSE file that was distributed with this source code.
657
+ */ var LogLevel = /*#__PURE__*/ function(LogLevel) {
658
+ /**
659
+ * indicates that the system is unusable
660
+ * and requires immediate attention
661
+ */ LogLevel["EMERGENCE"] = "emerg";
662
+ /**
663
+ * indicates that immediate action is necessary
664
+ * to resolve a critical issue.
665
+ */ LogLevel["ALERT"] = "alert";
666
+ /**
667
+ * signifies critical conditions in the program that demand
668
+ * intervention to prevent system failure.
669
+ */ LogLevel["CRITICAL"] = "crit";
670
+ /**
671
+ * indicates error conditions that impair
672
+ * some operation but are less severe than critical situations.
673
+ */ LogLevel["ERROR"] = "error";
674
+ /**
675
+ * signifies potential issues that may lead to errors
676
+ * or unexpected behavior in the future if not addressed.
677
+ */ LogLevel["WARNING"] = "warn";
678
+ /**
679
+ * applies to normal but significant
680
+ * conditions that may require monitoring
681
+ */ LogLevel["NOTICE"] = "notice";
682
+ /**
683
+ * includes messages that provide a record
684
+ * of the normal operation of the system.
685
+ */ LogLevel["INFORMATIONAL"] = "info";
686
+ /**
687
+ * intended for logging detailed information about the system
688
+ * for debugging purposes.
689
+ */ LogLevel["DEBUG"] = "debug";
690
+ return LogLevel;
691
+ }({});
692
+
652
693
  /*
653
694
  * Copyright (c) 2024.
654
695
  * Author Peter Placzek (tada5hi)
@@ -665,6 +706,7 @@ exports.AsymmetricCryptoAlgorithmName = AsymmetricCryptoAlgorithmName;
665
706
  exports.CryptoAsymmetricAlgorithm = CryptoAsymmetricAlgorithm;
666
707
  exports.CryptoSymmetricAlgorithm = CryptoSymmetricAlgorithm;
667
708
  exports.EnvironmentName = EnvironmentName;
709
+ exports.LogLevel = LogLevel;
668
710
  exports.PermissionName = PermissionName;
669
711
  exports.alphaNumHyphenUnderscoreRegex = alphaNumHyphenUnderscoreRegex;
670
712
  exports.buildDomainEventFullName = buildDomainEventFullName;
@@ -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 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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"}
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/log/constants.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) 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 enum LogLevel {\n /**\n * indicates that the system is unusable\n * and requires immediate attention\n */\n EMERGENCE = 'emerg',\n\n /**\n * indicates that immediate action is necessary\n * to resolve a critical issue.\n */\n ALERT = 'alert',\n\n /**\n * signifies critical conditions in the program that demand\n * intervention to prevent system failure.\n */\n CRITICAL = 'crit',\n\n /**\n * indicates error conditions that impair\n * some operation but are less severe than critical situations.\n */\n ERROR = 'error',\n\n /**\n * signifies potential issues that may lead to errors\n * or unexpected behavior in the future if not addressed.\n */\n WARNING = 'warn',\n\n /**\n * applies to normal but significant\n * conditions that may require monitoring\n */\n NOTICE = 'notice',\n\n /**\n * includes messages that provide a record\n * of the normal operation of the system.\n */\n INFORMATIONAL = 'info',\n\n /**\n * intended for logging detailed information about the system\n * for debugging purposes.\n */\n DEBUG = 'debug',\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","_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","LogLevel","EnvironmentName"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './crypto';
2
2
  export * from './domains';
3
3
  export * from './domain-event';
4
+ export * from './log';
4
5
  export * from './utils';
5
6
  export * from './constants';
6
7
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
package/dist/index.mjs CHANGED
@@ -647,6 +647,47 @@ const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$/;
647
647
  return type + eventCapitalized;
648
648
  }
649
649
 
650
+ /*
651
+ * Copyright (c) 2025.
652
+ * Author Peter Placzek (tada5hi)
653
+ * For the full copyright and license information,
654
+ * view the LICENSE file that was distributed with this source code.
655
+ */ var LogLevel = /*#__PURE__*/ function(LogLevel) {
656
+ /**
657
+ * indicates that the system is unusable
658
+ * and requires immediate attention
659
+ */ LogLevel["EMERGENCE"] = "emerg";
660
+ /**
661
+ * indicates that immediate action is necessary
662
+ * to resolve a critical issue.
663
+ */ LogLevel["ALERT"] = "alert";
664
+ /**
665
+ * signifies critical conditions in the program that demand
666
+ * intervention to prevent system failure.
667
+ */ LogLevel["CRITICAL"] = "crit";
668
+ /**
669
+ * indicates error conditions that impair
670
+ * some operation but are less severe than critical situations.
671
+ */ LogLevel["ERROR"] = "error";
672
+ /**
673
+ * signifies potential issues that may lead to errors
674
+ * or unexpected behavior in the future if not addressed.
675
+ */ LogLevel["WARNING"] = "warn";
676
+ /**
677
+ * applies to normal but significant
678
+ * conditions that may require monitoring
679
+ */ LogLevel["NOTICE"] = "notice";
680
+ /**
681
+ * includes messages that provide a record
682
+ * of the normal operation of the system.
683
+ */ LogLevel["INFORMATIONAL"] = "info";
684
+ /**
685
+ * intended for logging detailed information about the system
686
+ * for debugging purposes.
687
+ */ LogLevel["DEBUG"] = "debug";
688
+ return LogLevel;
689
+ }({});
690
+
650
691
  /*
651
692
  * Copyright (c) 2024.
652
693
  * Author Peter Placzek (tada5hi)
@@ -659,5 +700,5 @@ const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$/;
659
700
  return EnvironmentName;
660
701
  }({});
661
702
 
662
- export { AsymmetricCryptoAlgorithmName, CryptoAsymmetricAlgorithm, CryptoSymmetricAlgorithm, EnvironmentName, PermissionName, alphaNumHyphenUnderscoreRegex, buildDomainEventFullName, createNanoID, deleteUndefinedObjectProperties, detectProxyConnectionConfig, exportAsymmetricPrivateKey, exportAsymmetricPublicKey, getHostNameFromString, hasOwnProperty, hexToUTF8, importAsymmetricPublicKey, isBool, isBoolFalse, isBoolTrue, isError, isHex, isObject, isPropertySet, isRealmResourceReadable, isRealmResourceWritable, nullifyEmptyObjectProperties, parseProxyConnectionString, registryRobotSecretRegex };
703
+ export { AsymmetricCryptoAlgorithmName, CryptoAsymmetricAlgorithm, CryptoSymmetricAlgorithm, EnvironmentName, LogLevel, PermissionName, alphaNumHyphenUnderscoreRegex, buildDomainEventFullName, createNanoID, deleteUndefinedObjectProperties, detectProxyConnectionConfig, exportAsymmetricPrivateKey, exportAsymmetricPublicKey, getHostNameFromString, hasOwnProperty, hexToUTF8, importAsymmetricPublicKey, isBool, isBoolFalse, isBoolTrue, isError, isHex, isObject, isPropertySet, isRealmResourceReadable, isRealmResourceWritable, nullifyEmptyObjectProperties, parseProxyConnectionString, registryRobotSecretRegex };
663
704
  //# sourceMappingURL=index.mjs.map
@@ -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 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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"}
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/log/constants.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) 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 enum LogLevel {\n /**\n * indicates that the system is unusable\n * and requires immediate attention\n */\n EMERGENCE = 'emerg',\n\n /**\n * indicates that immediate action is necessary\n * to resolve a critical issue.\n */\n ALERT = 'alert',\n\n /**\n * signifies critical conditions in the program that demand\n * intervention to prevent system failure.\n */\n CRITICAL = 'crit',\n\n /**\n * indicates error conditions that impair\n * some operation but are less severe than critical situations.\n */\n ERROR = 'error',\n\n /**\n * signifies potential issues that may lead to errors\n * or unexpected behavior in the future if not addressed.\n */\n WARNING = 'warn',\n\n /**\n * applies to normal but significant\n * conditions that may require monitoring\n */\n NOTICE = 'notice',\n\n /**\n * includes messages that provide a record\n * of the normal operation of the system.\n */\n INFORMATIONAL = 'info',\n\n /**\n * intended for logging detailed information about the system\n * for debugging purposes.\n */\n DEBUG = 'debug',\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","_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","LogLevel","EnvironmentName"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare enum LogLevel {
2
+ /**
3
+ * indicates that the system is unusable
4
+ * and requires immediate attention
5
+ */
6
+ EMERGENCE = "emerg",
7
+ /**
8
+ * indicates that immediate action is necessary
9
+ * to resolve a critical issue.
10
+ */
11
+ ALERT = "alert",
12
+ /**
13
+ * signifies critical conditions in the program that demand
14
+ * intervention to prevent system failure.
15
+ */
16
+ CRITICAL = "crit",
17
+ /**
18
+ * indicates error conditions that impair
19
+ * some operation but are less severe than critical situations.
20
+ */
21
+ ERROR = "error",
22
+ /**
23
+ * signifies potential issues that may lead to errors
24
+ * or unexpected behavior in the future if not addressed.
25
+ */
26
+ WARNING = "warn",
27
+ /**
28
+ * applies to normal but significant
29
+ * conditions that may require monitoring
30
+ */
31
+ NOTICE = "notice",
32
+ /**
33
+ * includes messages that provide a record
34
+ * of the normal operation of the system.
35
+ */
36
+ INFORMATIONAL = "info",
37
+ /**
38
+ * intended for logging detailed information about the system
39
+ * for debugging purposes.
40
+ */
41
+ DEBUG = "debug"
42
+ }
43
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/log/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,QAAQ;IAChB;;;OAGG;IACH,SAAS,UAAU;IAEnB;;;OAGG;IACH,KAAK,UAAU;IAEf;;;OAGG;IACH,QAAQ,SAAS;IAEjB;;;OAGG;IACH,KAAK,UAAU;IAEf;;;OAGG;IACH,OAAO,SAAS;IAEhB;;;OAGG;IACH,MAAM,WAAW;IAEjB;;;OAGG;IACH,aAAa,SAAS;IAEtB;;;OAGG;IACH,KAAK,UAAU;CAClB"}
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privateaim/kit",
3
- "version": "0.8.13",
3
+ "version": "0.8.14",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "exports": {
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  export * from './crypto';
9
9
  export * from './domains';
10
10
  export * from './domain-event';
11
+ export * from './log';
11
12
  export * from './utils';
12
13
  export * from './constants';
13
14
  export * from './types';
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright (c) 2025.
3
+ * Author Peter Placzek (tada5hi)
4
+ * For the full copyright and license information,
5
+ * view the LICENSE file that was distributed with this source code.
6
+ */
7
+
8
+ export enum LogLevel {
9
+ /**
10
+ * indicates that the system is unusable
11
+ * and requires immediate attention
12
+ */
13
+ EMERGENCE = 'emerg',
14
+
15
+ /**
16
+ * indicates that immediate action is necessary
17
+ * to resolve a critical issue.
18
+ */
19
+ ALERT = 'alert',
20
+
21
+ /**
22
+ * signifies critical conditions in the program that demand
23
+ * intervention to prevent system failure.
24
+ */
25
+ CRITICAL = 'crit',
26
+
27
+ /**
28
+ * indicates error conditions that impair
29
+ * some operation but are less severe than critical situations.
30
+ */
31
+ ERROR = 'error',
32
+
33
+ /**
34
+ * signifies potential issues that may lead to errors
35
+ * or unexpected behavior in the future if not addressed.
36
+ */
37
+ WARNING = 'warn',
38
+
39
+ /**
40
+ * applies to normal but significant
41
+ * conditions that may require monitoring
42
+ */
43
+ NOTICE = 'notice',
44
+
45
+ /**
46
+ * includes messages that provide a record
47
+ * of the normal operation of the system.
48
+ */
49
+ INFORMATIONAL = 'info',
50
+
51
+ /**
52
+ * intended for logging detailed information about the system
53
+ * for debugging purposes.
54
+ */
55
+ DEBUG = 'debug',
56
+ }
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2025.
3
+ * Author Peter Placzek (tada5hi)
4
+ * For the full copyright and license information,
5
+ * view the LICENSE file that was distributed with this source code.
6
+ */
7
+
8
+ export * from './constants';