@privateaim/kit 0.8.15 → 0.8.16
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 +12 -0
- package/dist/crypto/asymmetric/helpers.d.ts +0 -2
- package/dist/crypto/asymmetric/helpers.d.ts.map +1 -1
- package/dist/crypto/asymmetric/module.d.ts +1 -7
- package/dist/crypto/asymmetric/module.d.ts.map +1 -1
- package/dist/crypto/index.d.ts +0 -1
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/domains/constants.d.ts +7 -0
- package/dist/domains/constants.d.ts.map +1 -0
- package/dist/domains/helpers.d.ts +3 -0
- package/dist/domains/helpers.d.ts.map +1 -0
- package/dist/domains/index.d.ts +2 -1
- package/dist/domains/index.d.ts.map +1 -1
- package/dist/domains/permission/constants.d.ts +4 -0
- package/dist/domains/permission/constants.d.ts.map +1 -1
- package/dist/index.cjs +62 -300
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +58 -296
- package/dist/index.mjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/nanoseconds.d.ts +2 -0
- package/dist/utils/nanoseconds.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/crypto/asymmetric/helpers.ts +0 -30
- package/src/crypto/asymmetric/module.ts +1 -141
- package/src/crypto/index.ts +0 -1
- package/src/domains/{log/index.ts → constants.ts} +7 -3
- package/src/domains/helpers.ts +24 -0
- package/src/domains/index.ts +3 -1
- package/src/domains/permission/constants.ts +5 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/nanoseconds.ts +14 -0
- package/dist/crypto/symmetric/index.d.ts +0 -3
- package/dist/crypto/symmetric/index.d.ts.map +0 -1
- package/dist/crypto/symmetric/module.d.ts +0 -10
- package/dist/crypto/symmetric/module.d.ts.map +0 -1
- package/dist/crypto/symmetric/types.d.ts +0 -3
- package/dist/crypto/symmetric/types.d.ts.map +0 -1
- package/dist/domains/log/constants.d.ts +0 -43
- package/dist/domains/log/constants.d.ts.map +0 -1
- package/dist/domains/log/entity.d.ts +0 -20
- package/dist/domains/log/entity.d.ts.map +0 -1
- package/dist/domains/log/helpers.d.ts +0 -4
- package/dist/domains/log/helpers.d.ts.map +0 -1
- package/dist/domains/log/index.d.ts +0 -4
- package/dist/domains/log/index.d.ts.map +0 -1
- package/src/crypto/symmetric/index.ts +0 -9
- package/src/crypto/symmetric/module.ts +0 -71
- package/src/crypto/symmetric/types.ts +0 -10
- package/src/domains/log/constants.ts +0 -56
- package/src/domains/log/entity.ts +0 -30
- package/src/domains/log/helpers.ts +0 -27
package/dist/index.cjs.map
CHANGED
|
@@ -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/log/constants.ts","../src/domains/log/helpers.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/utils/wait.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) 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) 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 { omitRecord, pickRecord } from '@authup/kit';\nimport type { Log } from './entity';\n\nexport function omitLogProperties<T extends Log>(input: T) : Omit<T, keyof Log> {\n return omitRecord(input, [\n 'message',\n 'time',\n 'labels',\n 'level',\n ]);\n}\n\nexport function pickLogProperties<T extends Log>(input: T) : Log {\n return pickRecord(input, [\n 'message',\n 'time',\n 'labels',\n 'level',\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 EVENT_READ = 'event_read',\n EVENT_DELETE = 'event_delete',\n\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\nexport async function wait(ms: number): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\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 { 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","_define_property","publicExponent","CryptoSymmetricAlgorithm","LogLevel","omitLogProperties","input","omitRecord","pickLogProperties","pickRecord","PermissionName","isBoolTrue","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","wait","ms","Promise","resolve","setTimeout","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/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/nanoseconds.ts","../src/utils/object-properties.ts","../src/utils/proxy-connection-string.ts","../src/utils/regex-patterns.ts","../src/utils/wait.ts","../src/domains/realm/helper.ts","../src/domains/constants.ts","../src/domains/helpers.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\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","/*\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 { AsymmetricAlgorithmParams } from './types';\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 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","/*\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 EVENT_CREATE = 'event_create',\n EVENT_READ = 'event_read',\n EVENT_DELETE = 'event_delete',\n\n BUCKET_CREATE = 'bucket_create',\n BUCKET_UPDATE = 'bucket_update',\n BUCKET_DELETE = 'bucket_delete',\n\n LOG_CREATE = 'log_create',\n LOG_DELETE = 'log_delete',\n LOG_READ = 'log_read',\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) 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 nanoSeconds() : bigint {\n return BigInt(\n Math.floor(performance.timeOrigin),\n ) * 1_000_000n + BigInt(\n Math.floor(performance.now() * 1_000_000),\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 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\nexport async function wait(ms: number): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\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 { 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\nexport enum DomainEventName {\n CREATED = 'created',\n DELETED = 'deleted',\n UPDATED = 'updated',\n}\n\nexport const DomainEventNamespace = 'resources';\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 buildDomainChannelName(\n domain: string,\n id?: string | number,\n) {\n if (typeof id === 'string' || typeof id === 'number') {\n return `${domain}:${id}`;\n }\n\n return domain;\n}\n\n// todo: rename to buildEntityNamespaceName\nexport function buildDomainNamespaceName(id?: string) {\n return id ?\n `/resources:${id}` :\n '/resources';\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","CryptoAsymmetricAlgorithm","generateKeyPair","algorithm","name","RSA_OAEP","keyPair","generateKey","ECDH","Error","publicExponent","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","nanoSeconds","BigInt","Math","floor","performance","timeOrigin","now","nullifyEmptyObjectProperties","data","keys","i","length","deleteUndefinedObjectProperties","parseProxyConnectionString","connectionStr","undefined","protocol","host","port","parseInt","auth","username","password","detectProxyConnectionConfig","envKeys","result","envKey","envVal","process","env","alphaNumHyphenUnderscoreRegex","registryRobotSecretRegex","wait","ms","Promise","resolve","setTimeout","isRealmResourceWritable","realm","resourceRealmId","REALM_MASTER_NAME","id","isRealmResourceReadable","DomainEventName","DomainEventNamespace","buildDomainChannelName","domain","buildDomainNamespaceName","buildDomainEventFullName","type","event","eventCapitalized","substring","toUpperCase","EnvironmentName"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { omitRecord, pickRecord } from '@authup/kit';
|
|
2
1
|
import { REALM_MASTER_NAME } from '@authup/core-kit';
|
|
3
2
|
import { customAlphabet } from 'nanoid';
|
|
4
3
|
|
|
@@ -18,7 +17,7 @@ import { customAlphabet } from 'nanoid';
|
|
|
18
17
|
* Author Peter Placzek (tada5hi)
|
|
19
18
|
* For the full copyright and license information,
|
|
20
19
|
* view the LICENSE file that was distributed with this source code.
|
|
21
|
-
*/ function asyncGeneratorStep$
|
|
20
|
+
*/ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
22
21
|
try {
|
|
23
22
|
var info = gen[key](arg);
|
|
24
23
|
var value = info.value;
|
|
@@ -32,16 +31,16 @@ import { customAlphabet } from 'nanoid';
|
|
|
32
31
|
Promise.resolve(value).then(_next, _throw);
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
|
-
function _async_to_generator$
|
|
34
|
+
function _async_to_generator$2(fn) {
|
|
36
35
|
return function() {
|
|
37
36
|
var self = this, args = arguments;
|
|
38
37
|
return new Promise(function(resolve, reject) {
|
|
39
38
|
var gen = fn.apply(self, args);
|
|
40
39
|
function _next(value) {
|
|
41
|
-
asyncGeneratorStep$
|
|
40
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
|
|
42
41
|
}
|
|
43
42
|
function _throw(err) {
|
|
44
|
-
asyncGeneratorStep$
|
|
43
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
|
|
45
44
|
}
|
|
46
45
|
_next(undefined);
|
|
47
46
|
});
|
|
@@ -51,40 +50,24 @@ function arrayBufferToBase64(arrayBuffer) {
|
|
|
51
50
|
return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));
|
|
52
51
|
}
|
|
53
52
|
function exportAsymmetricPublicKey(key) {
|
|
54
|
-
return _async_to_generator$
|
|
53
|
+
return _async_to_generator$2(function*() {
|
|
55
54
|
const exported = yield crypto.subtle.exportKey('spki', key);
|
|
56
55
|
return `-----BEGIN PUBLIC KEY-----\n${arrayBufferToBase64(exported)}\n-----END PUBLIC KEY-----`;
|
|
57
56
|
})();
|
|
58
57
|
}
|
|
59
58
|
function exportAsymmetricPrivateKey(key) {
|
|
60
|
-
return _async_to_generator$
|
|
59
|
+
return _async_to_generator$2(function*() {
|
|
61
60
|
const exported = yield crypto.subtle.exportKey('pkcs8', key);
|
|
62
61
|
return `-----BEGIN PRIVATE KEY-----\n${arrayBufferToBase64(exported)}\n-----END PRIVATE KEY-----`;
|
|
63
62
|
})();
|
|
64
63
|
}
|
|
65
|
-
function importAsymmetricPublicKey(pem, params) {
|
|
66
|
-
return _async_to_generator$3(function*() {
|
|
67
|
-
const pemHeader = '-----BEGIN PUBLIC KEY-----';
|
|
68
|
-
const pemFooter = '-----END PUBLIC KEY-----';
|
|
69
|
-
const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);
|
|
70
|
-
const buffer = Buffer.from(pemContents, 'base64');
|
|
71
|
-
if (params.name === 'ECDH') {
|
|
72
|
-
return crypto.subtle.importKey('spki', buffer, params, true, [
|
|
73
|
-
'deriveKey'
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
return crypto.subtle.importKey('spki', buffer, params, true, [
|
|
77
|
-
'encrypt'
|
|
78
|
-
]);
|
|
79
|
-
})();
|
|
80
|
-
}
|
|
81
64
|
|
|
82
65
|
/*
|
|
83
66
|
* Copyright (c) 2024.
|
|
84
67
|
* Author Peter Placzek (tada5hi)
|
|
85
68
|
* For the full copyright and license information,
|
|
86
69
|
* view the LICENSE file that was distributed with this source code.
|
|
87
|
-
*/ function asyncGeneratorStep$
|
|
70
|
+
*/ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
88
71
|
try {
|
|
89
72
|
var info = gen[key](arg);
|
|
90
73
|
var value = info.value;
|
|
@@ -98,22 +81,22 @@ function importAsymmetricPublicKey(pem, params) {
|
|
|
98
81
|
Promise.resolve(value).then(_next, _throw);
|
|
99
82
|
}
|
|
100
83
|
}
|
|
101
|
-
function _async_to_generator$
|
|
84
|
+
function _async_to_generator$1(fn) {
|
|
102
85
|
return function() {
|
|
103
86
|
var self = this, args = arguments;
|
|
104
87
|
return new Promise(function(resolve, reject) {
|
|
105
88
|
var gen = fn.apply(self, args);
|
|
106
89
|
function _next(value) {
|
|
107
|
-
asyncGeneratorStep$
|
|
90
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
108
91
|
}
|
|
109
92
|
function _throw(err) {
|
|
110
|
-
asyncGeneratorStep$
|
|
93
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
111
94
|
}
|
|
112
95
|
_next(undefined);
|
|
113
96
|
});
|
|
114
97
|
};
|
|
115
98
|
}
|
|
116
|
-
function _define_property
|
|
99
|
+
function _define_property(obj, key, value) {
|
|
117
100
|
if (key in obj) {
|
|
118
101
|
Object.defineProperty(obj, key, {
|
|
119
102
|
value: value,
|
|
@@ -136,7 +119,7 @@ function _object_spread(target) {
|
|
|
136
119
|
}));
|
|
137
120
|
}
|
|
138
121
|
ownKeys.forEach(function(key) {
|
|
139
|
-
_define_property
|
|
122
|
+
_define_property(target, key, source[key]);
|
|
140
123
|
});
|
|
141
124
|
}
|
|
142
125
|
return target;
|
|
@@ -161,24 +144,8 @@ function _object_spread_props(target, source) {
|
|
|
161
144
|
return target;
|
|
162
145
|
}
|
|
163
146
|
class CryptoAsymmetricAlgorithm {
|
|
164
|
-
buildImportParams() {
|
|
165
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
|
|
166
|
-
return {
|
|
167
|
-
name: 'RSA-OAEP',
|
|
168
|
-
hash: 'SHA-256'
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
|
|
172
|
-
return {
|
|
173
|
-
name: 'ECDH',
|
|
174
|
-
namedCurve: this.algorithm.namedCurve,
|
|
175
|
-
hash: 'SHA-256'
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
throw new Error('Import params could not be created.');
|
|
179
|
-
}
|
|
180
147
|
generateKeyPair() {
|
|
181
|
-
return _async_to_generator$
|
|
148
|
+
return _async_to_generator$1(function*() {
|
|
182
149
|
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
|
|
183
150
|
this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
|
|
184
151
|
'encrypt',
|
|
@@ -195,97 +162,9 @@ class CryptoAsymmetricAlgorithm {
|
|
|
195
162
|
throw new Error('The algorithm is not supported for key generation.');
|
|
196
163
|
}).call(this);
|
|
197
164
|
}
|
|
198
|
-
useKeyPair() {
|
|
199
|
-
return _async_to_generator$2(function*() {
|
|
200
|
-
if (typeof this.keyPair !== 'undefined') {
|
|
201
|
-
return this.keyPair;
|
|
202
|
-
}
|
|
203
|
-
return this.generateKeyPair();
|
|
204
|
-
}).call(this);
|
|
205
|
-
}
|
|
206
|
-
exportPublicKey() {
|
|
207
|
-
return _async_to_generator$2(function*() {
|
|
208
|
-
const keyPair = yield this.useKeyPair();
|
|
209
|
-
return exportAsymmetricPublicKey(keyPair.publicKey);
|
|
210
|
-
}).call(this);
|
|
211
|
-
}
|
|
212
|
-
exportPrivateKey() {
|
|
213
|
-
return _async_to_generator$2(function*() {
|
|
214
|
-
const keyPair = yield this.useKeyPair();
|
|
215
|
-
return exportAsymmetricPrivateKey(keyPair.privateKey);
|
|
216
|
-
}).call(this);
|
|
217
|
-
}
|
|
218
|
-
encrypt(data, remoteKey) {
|
|
219
|
-
return _async_to_generator$2(function*() {
|
|
220
|
-
const keyPair = yield this.useKeyPair();
|
|
221
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
|
|
222
|
-
return crypto.subtle.encrypt({
|
|
223
|
-
name: 'RSA-OAEP'
|
|
224
|
-
}, remoteKey || keyPair.publicKey, data);
|
|
225
|
-
}
|
|
226
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
|
|
227
|
-
if (typeof remoteKey === 'undefined') {
|
|
228
|
-
throw new Error('Remote public key is required.');
|
|
229
|
-
}
|
|
230
|
-
const array = new Uint8Array(16);
|
|
231
|
-
const iv = crypto.getRandomValues(array);
|
|
232
|
-
const key = yield crypto.subtle.deriveKey({
|
|
233
|
-
name: 'ECDH',
|
|
234
|
-
public: remoteKey
|
|
235
|
-
}, keyPair.privateKey, {
|
|
236
|
-
name: 'AES-GCM',
|
|
237
|
-
length: 256
|
|
238
|
-
}, true, [
|
|
239
|
-
'encrypt'
|
|
240
|
-
]);
|
|
241
|
-
const arrayBuffer = yield crypto.subtle.encrypt({
|
|
242
|
-
name: 'AES-GCM',
|
|
243
|
-
length: 256,
|
|
244
|
-
iv
|
|
245
|
-
}, key, data);
|
|
246
|
-
const buffer = Buffer.from(arrayBuffer);
|
|
247
|
-
return Buffer.concat([
|
|
248
|
-
iv,
|
|
249
|
-
buffer
|
|
250
|
-
]);
|
|
251
|
-
}
|
|
252
|
-
throw new Error('Unsupported algorithm for encryption.');
|
|
253
|
-
}).call(this);
|
|
254
|
-
}
|
|
255
|
-
decrypt(data, remoteKey) {
|
|
256
|
-
return _async_to_generator$2(function*() {
|
|
257
|
-
const keyPair = yield this.useKeyPair();
|
|
258
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
|
|
259
|
-
return crypto.subtle.decrypt({
|
|
260
|
-
name: 'RSA-OAEP'
|
|
261
|
-
}, keyPair.privateKey, data);
|
|
262
|
-
}
|
|
263
|
-
if (this.algorithm.name === AsymmetricCryptoAlgorithmName.ECDH) {
|
|
264
|
-
if (typeof remoteKey === 'undefined') {
|
|
265
|
-
throw new Error('Remote public key is required.');
|
|
266
|
-
}
|
|
267
|
-
const iv = data.slice(0, 16);
|
|
268
|
-
const key = yield crypto.subtle.deriveKey({
|
|
269
|
-
name: 'ECDH',
|
|
270
|
-
public: remoteKey
|
|
271
|
-
}, keyPair.privateKey, {
|
|
272
|
-
name: 'AES-GCM',
|
|
273
|
-
length: 256
|
|
274
|
-
}, true, [
|
|
275
|
-
'decrypt'
|
|
276
|
-
]);
|
|
277
|
-
return crypto.subtle.decrypt({
|
|
278
|
-
name: 'AES-GCM',
|
|
279
|
-
length: 256,
|
|
280
|
-
iv
|
|
281
|
-
}, key, data.slice(16));
|
|
282
|
-
}
|
|
283
|
-
throw new Error('Unsupported algorithm for decryption.');
|
|
284
|
-
}).call(this);
|
|
285
|
-
}
|
|
286
165
|
constructor(algorithm){
|
|
287
|
-
_define_property
|
|
288
|
-
_define_property
|
|
166
|
+
_define_property(this, "algorithm", void 0);
|
|
167
|
+
_define_property(this, "keyPair", void 0);
|
|
289
168
|
if (algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
|
|
290
169
|
algorithm = _object_spread_props(_object_spread({}, algorithm), {
|
|
291
170
|
publicExponent: new Uint8Array([
|
|
@@ -299,176 +178,21 @@ class CryptoAsymmetricAlgorithm {
|
|
|
299
178
|
}
|
|
300
179
|
}
|
|
301
180
|
|
|
302
|
-
/*
|
|
303
|
-
* Copyright (c) 2024.
|
|
304
|
-
* Author Peter Placzek (tada5hi)
|
|
305
|
-
* For the full copyright and license information,
|
|
306
|
-
* view the LICENSE file that was distributed with this source code.
|
|
307
|
-
*/ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
308
|
-
try {
|
|
309
|
-
var info = gen[key](arg);
|
|
310
|
-
var value = info.value;
|
|
311
|
-
} catch (error) {
|
|
312
|
-
reject(error);
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
if (info.done) {
|
|
316
|
-
resolve(value);
|
|
317
|
-
} else {
|
|
318
|
-
Promise.resolve(value).then(_next, _throw);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
function _async_to_generator$1(fn) {
|
|
322
|
-
return function() {
|
|
323
|
-
var self = this, args = arguments;
|
|
324
|
-
return new Promise(function(resolve, reject) {
|
|
325
|
-
var gen = fn.apply(self, args);
|
|
326
|
-
function _next(value) {
|
|
327
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
328
|
-
}
|
|
329
|
-
function _throw(err) {
|
|
330
|
-
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
331
|
-
}
|
|
332
|
-
_next(undefined);
|
|
333
|
-
});
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
function _define_property(obj, key, value) {
|
|
337
|
-
if (key in obj) {
|
|
338
|
-
Object.defineProperty(obj, key, {
|
|
339
|
-
value: value,
|
|
340
|
-
enumerable: true,
|
|
341
|
-
configurable: true,
|
|
342
|
-
writable: true
|
|
343
|
-
});
|
|
344
|
-
} else {
|
|
345
|
-
obj[key] = value;
|
|
346
|
-
}
|
|
347
|
-
return obj;
|
|
348
|
-
}
|
|
349
|
-
class CryptoSymmetricAlgorithm {
|
|
350
|
-
generateKey() {
|
|
351
|
-
return _async_to_generator$1(function*() {
|
|
352
|
-
return crypto.subtle.generateKey({
|
|
353
|
-
name: this.algorithm.name,
|
|
354
|
-
length: 256
|
|
355
|
-
}, true, [
|
|
356
|
-
'encrypt',
|
|
357
|
-
'decrypt'
|
|
358
|
-
]);
|
|
359
|
-
}).call(this);
|
|
360
|
-
}
|
|
361
|
-
importKey(buffer) {
|
|
362
|
-
return _async_to_generator$1(function*() {
|
|
363
|
-
return crypto.subtle.importKey('raw', buffer, {
|
|
364
|
-
name: this.algorithm.name,
|
|
365
|
-
length: 256
|
|
366
|
-
}, true, [
|
|
367
|
-
'encrypt',
|
|
368
|
-
'decrypt'
|
|
369
|
-
]);
|
|
370
|
-
}).call(this);
|
|
371
|
-
}
|
|
372
|
-
encrypt(key, iv, data) {
|
|
373
|
-
return _async_to_generator$1(function*() {
|
|
374
|
-
const arrayBuffer = yield crypto.subtle.encrypt({
|
|
375
|
-
name: this.algorithm.name,
|
|
376
|
-
length: 256,
|
|
377
|
-
iv
|
|
378
|
-
}, key, data);
|
|
379
|
-
const buffer = Buffer.from(arrayBuffer);
|
|
380
|
-
return Buffer.concat([
|
|
381
|
-
iv,
|
|
382
|
-
buffer
|
|
383
|
-
]);
|
|
384
|
-
}).call(this);
|
|
385
|
-
}
|
|
386
|
-
decrypt(key, data) {
|
|
387
|
-
return _async_to_generator$1(function*() {
|
|
388
|
-
const iv = data.slice(0, 16);
|
|
389
|
-
const arrayBuffer = yield crypto.subtle.decrypt({
|
|
390
|
-
name: this.algorithm.name,
|
|
391
|
-
length: 256,
|
|
392
|
-
iv
|
|
393
|
-
}, key, data.slice(16));
|
|
394
|
-
return Buffer.from(arrayBuffer);
|
|
395
|
-
}).call(this);
|
|
396
|
-
}
|
|
397
|
-
constructor(algorithm){
|
|
398
|
-
_define_property(this, "algorithm", void 0);
|
|
399
|
-
this.algorithm = algorithm;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
/*
|
|
404
|
-
* Copyright (c) 2025.
|
|
405
|
-
* Author Peter Placzek (tada5hi)
|
|
406
|
-
* For the full copyright and license information,
|
|
407
|
-
* view the LICENSE file that was distributed with this source code.
|
|
408
|
-
*/ var LogLevel = /*#__PURE__*/ function(LogLevel) {
|
|
409
|
-
/**
|
|
410
|
-
* indicates that the system is unusable
|
|
411
|
-
* and requires immediate attention
|
|
412
|
-
*/ LogLevel["EMERGENCE"] = "emerg";
|
|
413
|
-
/**
|
|
414
|
-
* indicates that immediate action is necessary
|
|
415
|
-
* to resolve a critical issue.
|
|
416
|
-
*/ LogLevel["ALERT"] = "alert";
|
|
417
|
-
/**
|
|
418
|
-
* signifies critical conditions in the program that demand
|
|
419
|
-
* intervention to prevent system failure.
|
|
420
|
-
*/ LogLevel["CRITICAL"] = "crit";
|
|
421
|
-
/**
|
|
422
|
-
* indicates error conditions that impair
|
|
423
|
-
* some operation but are less severe than critical situations.
|
|
424
|
-
*/ LogLevel["ERROR"] = "error";
|
|
425
|
-
/**
|
|
426
|
-
* signifies potential issues that may lead to errors
|
|
427
|
-
* or unexpected behavior in the future if not addressed.
|
|
428
|
-
*/ LogLevel["WARNING"] = "warn";
|
|
429
|
-
/**
|
|
430
|
-
* applies to normal but significant
|
|
431
|
-
* conditions that may require monitoring
|
|
432
|
-
*/ LogLevel["NOTICE"] = "notice";
|
|
433
|
-
/**
|
|
434
|
-
* includes messages that provide a record
|
|
435
|
-
* of the normal operation of the system.
|
|
436
|
-
*/ LogLevel["INFORMATIONAL"] = "info";
|
|
437
|
-
/**
|
|
438
|
-
* intended for logging detailed information about the system
|
|
439
|
-
* for debugging purposes.
|
|
440
|
-
*/ LogLevel["DEBUG"] = "debug";
|
|
441
|
-
return LogLevel;
|
|
442
|
-
}({});
|
|
443
|
-
|
|
444
|
-
function omitLogProperties(input) {
|
|
445
|
-
return omitRecord(input, [
|
|
446
|
-
'message',
|
|
447
|
-
'time',
|
|
448
|
-
'labels',
|
|
449
|
-
'level'
|
|
450
|
-
]);
|
|
451
|
-
}
|
|
452
|
-
function pickLogProperties(input) {
|
|
453
|
-
return pickRecord(input, [
|
|
454
|
-
'message',
|
|
455
|
-
'time',
|
|
456
|
-
'labels',
|
|
457
|
-
'level'
|
|
458
|
-
]);
|
|
459
|
-
}
|
|
460
|
-
|
|
461
181
|
/*
|
|
462
182
|
* Copyright (c) 2021-2024.
|
|
463
183
|
* Author Peter Placzek (tada5hi)
|
|
464
184
|
* For the full copyright and license information,
|
|
465
185
|
* view the LICENSE file that was distributed with this source code.
|
|
466
186
|
*/ var PermissionName = /*#__PURE__*/ function(PermissionName) {
|
|
187
|
+
PermissionName["EVENT_CREATE"] = "event_create";
|
|
467
188
|
PermissionName["EVENT_READ"] = "event_read";
|
|
468
189
|
PermissionName["EVENT_DELETE"] = "event_delete";
|
|
469
190
|
PermissionName["BUCKET_CREATE"] = "bucket_create";
|
|
470
191
|
PermissionName["BUCKET_UPDATE"] = "bucket_update";
|
|
471
192
|
PermissionName["BUCKET_DELETE"] = "bucket_delete";
|
|
193
|
+
PermissionName["LOG_CREATE"] = "log_create";
|
|
194
|
+
PermissionName["LOG_DELETE"] = "log_delete";
|
|
195
|
+
PermissionName["LOG_READ"] = "log_read";
|
|
472
196
|
PermissionName["PROJECT_CREATE"] = "project_create";
|
|
473
197
|
PermissionName["PROJECT_DELETE"] = "project_delete";
|
|
474
198
|
PermissionName["PROJECT_UPDATE"] = "project_update";
|
|
@@ -576,6 +300,15 @@ function createNanoID(alphabetOrLen, len) {
|
|
|
576
300
|
return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', len || 21)();
|
|
577
301
|
}
|
|
578
302
|
|
|
303
|
+
/*
|
|
304
|
+
* Copyright (c) 2025.
|
|
305
|
+
* Author Peter Placzek (tada5hi)
|
|
306
|
+
* For the full copyright and license information,
|
|
307
|
+
* view the LICENSE file that was distributed with this source code.
|
|
308
|
+
*/ function nanoSeconds() {
|
|
309
|
+
return BigInt(Math.floor(performance.timeOrigin)) * 1000000n + BigInt(Math.floor(performance.now() * 1000000));
|
|
310
|
+
}
|
|
311
|
+
|
|
579
312
|
/*
|
|
580
313
|
* Copyright (c) 2021-2024.
|
|
581
314
|
* Author Peter Placzek (tada5hi)
|
|
@@ -740,6 +473,35 @@ function wait(ms) {
|
|
|
740
473
|
return !resourceRealmId || (realm === null || realm === void 0 ? void 0 : realm.id) === resourceRealmId;
|
|
741
474
|
}
|
|
742
475
|
|
|
476
|
+
/*
|
|
477
|
+
* Copyright (c) 2025.
|
|
478
|
+
* Author Peter Placzek (tada5hi)
|
|
479
|
+
* For the full copyright and license information,
|
|
480
|
+
* view the LICENSE file that was distributed with this source code.
|
|
481
|
+
*/ var DomainEventName = /*#__PURE__*/ function(DomainEventName) {
|
|
482
|
+
DomainEventName["CREATED"] = "created";
|
|
483
|
+
DomainEventName["DELETED"] = "deleted";
|
|
484
|
+
DomainEventName["UPDATED"] = "updated";
|
|
485
|
+
return DomainEventName;
|
|
486
|
+
}({});
|
|
487
|
+
const DomainEventNamespace = 'resources';
|
|
488
|
+
|
|
489
|
+
/*
|
|
490
|
+
* Copyright (c) 2025.
|
|
491
|
+
* Author Peter Placzek (tada5hi)
|
|
492
|
+
* For the full copyright and license information,
|
|
493
|
+
* view the LICENSE file that was distributed with this source code.
|
|
494
|
+
*/ function buildDomainChannelName(domain, id) {
|
|
495
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
496
|
+
return `${domain}:${id}`;
|
|
497
|
+
}
|
|
498
|
+
return domain;
|
|
499
|
+
}
|
|
500
|
+
// todo: rename to buildEntityNamespaceName
|
|
501
|
+
function buildDomainNamespaceName(id) {
|
|
502
|
+
return id ? `/resources:${id}` : '/resources';
|
|
503
|
+
}
|
|
504
|
+
|
|
743
505
|
/*
|
|
744
506
|
* Copyright (c) 2025.
|
|
745
507
|
* Author Peter Placzek (tada5hi)
|
|
@@ -762,5 +524,5 @@ function wait(ms) {
|
|
|
762
524
|
return EnvironmentName;
|
|
763
525
|
}({});
|
|
764
526
|
|
|
765
|
-
export { AsymmetricCryptoAlgorithmName, CryptoAsymmetricAlgorithm,
|
|
527
|
+
export { AsymmetricCryptoAlgorithmName, CryptoAsymmetricAlgorithm, DomainEventName, DomainEventNamespace, EnvironmentName, PermissionName, alphaNumHyphenUnderscoreRegex, buildDomainChannelName, buildDomainEventFullName, buildDomainNamespaceName, createNanoID, deleteUndefinedObjectProperties, detectProxyConnectionConfig, exportAsymmetricPrivateKey, exportAsymmetricPublicKey, getHostNameFromString, hasOwnProperty, hexToUTF8, isBool, isBoolFalse, isBoolTrue, isError, isHex, isObject, isPropertySet, isRealmResourceReadable, isRealmResourceWritable, nanoSeconds, nullifyEmptyObjectProperties, parseProxyConnectionString, registryRobotSecretRegex, wait };
|
|
766
528
|
//# sourceMappingURL=index.mjs.map
|