@privateaim/kit 0.8.13 → 0.8.15

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.
@@ -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":";;;;;AAAA;;;;;IAOO,IAAKA,6BAAAA,iBAAAA,SAAAA,6BAAAA,EAAAA;;;AAAAA,IAAAA,OAAAA,6BAAAA;AAIX,CAAA,CAAA,EAAA;;ACXD;;;;;AAKC,IAAA,SAAAC,oBAAA,CAAA,GAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAID,SAASC,oBAAoBC,WAAwB,EAAA;IACjD,OAAOC,IAAAA,CAAKC,OAAOC,YAAY,CAACC,KAAK,CAAC,IAAA,EAAM,IAAIC,UAAWL,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA;AAC/D;AAEO,SAAeM,0BAA0BC,GAAc,EAAA;;AAC1D,QAAA,MAAMC,WAAW,MAAMC,MAAAA,CAAOC,MAAM,CAACC,SAAS,CAC1C,MACAJ,EAAAA,GAAAA,CAAAA;AAGJ,QAAA,OAAO,CAAC,4BAA4B,EAAER,mBAAoBS,CAAAA,QAAAA,CAAAA,CAAU,0BAA0B,CAAC;AACnG,KAAA,CAAA,EAAA;;AAEO,SAAeI,2BAA2BL,GAAc,EAAA;;AAC3D,QAAA,MAAMC,WAAW,MAAMC,MAAAA,CAAOC,MAAM,CAACC,SAAS,CAC1C,OACAJ,EAAAA,GAAAA,CAAAA;AAGJ,QAAA,OAAO,CAAC,6BAA6B,EAAER,mBAAoBS,CAAAA,QAAAA,CAAAA,CAAU,2BAA2B,CAAC;AACrG,KAAA,CAAA,EAAA;;AAEO,SAAeK,yBAAAA,CAClBC,GAAW,EACXC,MAAuC,EAAA;;AAEvC,QAAA,MAAMC,SAAY,GAAA,4BAAA;AAClB,QAAA,MAAMC,SAAY,GAAA,0BAAA;QAClB,MAAMC,WAAAA,GAAcJ,GAAIK,CAAAA,SAAS,CAACH,SAAAA,CAAUI,MAAM,EAAEN,GAAIM,CAAAA,MAAM,GAAGH,SAAAA,CAAUG,MAAM,CAAA;AACjF,QAAA,MAAMC,MAASC,GAAAA,MAAAA,CAAOC,IAAI,CAACL,WAAa,EAAA,QAAA,CAAA;QAExC,IAAIH,MAAAA,CAAOS,IAAI,KAAK,MAAQ,EAAA;YACxB,OAAOf,MAAAA,CAAOC,MAAM,CAACe,SAAS,CAC1B,MACAJ,EAAAA,MAAAA,EACAN,QACA,IACA,EAAA;AAAC,gBAAA;AAAY,aAAA,CAAA;AAErB;QAEA,OAAON,MAAAA,CAAOC,MAAM,CAACe,SAAS,CAC1B,MACAJ,EAAAA,MAAAA,EACAN,QACA,IACA,EAAA;AAAC,YAAA;AAAU,SAAA,CAAA;AAEnB,KAAA,CAAA,EAAA;;;ACzDA;;;;;AAKC,IAAA,SAAAjB,oBAAA,CAAA,GAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMM,MAAM4B,yBAAAA,CAAAA;IAgBTC,iBAAsD,GAAA;QAClD,IAAI,IAAI,CAACC,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BgC,QAAQ,EAAE;YAChE,OAAO;gBACHL,IAAM,EAAA,UAAA;gBACNM,IAAM,EAAA;AACV,aAAA;AACJ;QAEA,IAAI,IAAI,CAACF,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BkC,IAAI,EAAE;YAC5D,OAAO;gBACHP,IAAM,EAAA,MAAA;AACNQ,gBAAAA,UAAAA,EAAY,IAAK,CAACJ,SAAS,CAAoBI,UAAU;gBACzDF,IAAM,EAAA;AACV,aAAA;AACJ;AAEA,QAAA,MAAM,IAAIG,KAAM,CAAA,qCAAA,CAAA;AACpB;AAEMC,IAAAA,eAAAA,GAAAA;;YACF,IAAI,IAAI,CAACN,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BgC,QAAQ,EAAE;AAChE,gBAAA,IAAI,CAACM,OAAO,GAAG,MAAM1B,MAAOC,CAAAA,MAAM,CAAC0B,WAAW,CAC1C,IAAI,CAACR,SAAS,EACd,IACA,EAAA;AAAC,oBAAA,SAAA;AAAW,oBAAA;AAAU,iBAAA,CAAA;gBAG1B,OAAO,IAAI,CAACO,OAAO;AACvB;YAEA,IAAI,IAAI,CAACP,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BkC,IAAI,EAAE;AAC5D,gBAAA,IAAI,CAACI,OAAO,GAAG,MAAM1B,MAAOC,CAAAA,MAAM,CAAC0B,WAAW,CAC1C,IAAI,CAACR,SAAS,EACd,IACA,EAAA;AAAC,oBAAA;AAAY,iBAAA,CAAA;gBAGjB,OAAO,IAAI,CAACO,OAAO;AACvB;AAEA,YAAA,MAAM,IAAIF,KAAM,CAAA,oDAAA,CAAA;AACpB,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEMI,IAAAA,UAAAA,GAAAA;;AACF,YAAA,IAAI,OAAO,IAAI,CAACF,OAAO,KAAK,WAAa,EAAA;gBACrC,OAAO,IAAI,CAACA,OAAO;AACvB;YAEA,OAAO,IAAI,CAACD,eAAe,EAAA;AAC/B,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEMI,IAAAA,eAAAA,GAAAA;;AACF,YAAA,MAAMH,OAAU,GAAA,MAAM,IAAI,CAACE,UAAU,EAAA;YAErC,OAAO/B,yBAAAA,CAA0B6B,QAAQI,SAAS,CAAA;AACtD,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEMC,IAAAA,gBAAAA,GAAAA;;AACF,YAAA,MAAML,OAAU,GAAA,MAAM,IAAI,CAACE,UAAU,EAAA;YAErC,OAAOzB,0BAAAA,CAA2BuB,QAAQM,UAAU,CAAA;AACxD,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;IAEMC,OAAQC,CAAAA,IAAY,EAAEC,SAAqB,EAAA;;AAC7C,YAAA,MAAMT,OAAU,GAAA,MAAM,IAAI,CAACE,UAAU,EAAA;YAErC,IAAI,IAAI,CAACT,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BgC,QAAQ,EAAE;AAChE,gBAAA,OAAOpB,MAAOC,CAAAA,MAAM,CAACgC,OAAO,CACxB;oBACIlB,IAAM,EAAA;iBAEVoB,EAAAA,SAAAA,IAAaT,OAAQI,CAAAA,SAAS,EAC9BI,IAAAA,CAAAA;AAER;YAEA,IAAI,IAAI,CAACf,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BkC,IAAI,EAAE;gBAC5D,IAAI,OAAOa,cAAc,WAAa,EAAA;AAClC,oBAAA,MAAM,IAAIX,KAAM,CAAA,gCAAA,CAAA;AACpB;gBAEA,MAAMY,KAAAA,GAAQ,IAAIxC,UAAW,CAAA,EAAA,CAAA;gBAC7B,MAAMyC,EAAAA,GAAKrC,MAAOsC,CAAAA,eAAe,CAACF,KAAAA,CAAAA;AAClC,gBAAA,MAAMtC,MAAM,MAAME,MAAAA,CAAOC,MAAM,CAACsC,SAAS,CACrC;oBACIxB,IAAM,EAAA,MAAA;oBACNyB,MAAQL,EAAAA;iBAEZT,EAAAA,OAAAA,CAAQM,UAAU,EAClB;oBACIjB,IAAM,EAAA,SAAA;oBACNJ,MAAQ,EAAA;AACZ,iBAAA,EACA,IACA,EAAA;AAAC,oBAAA;AAAU,iBAAA,CAAA;AAGf,gBAAA,MAAMpB,cAAc,MAAMS,MAAAA,CAAOC,MAAM,CAACgC,OAAO,CAC3C;oBACIlB,IAAM,EAAA,SAAA;oBACNJ,MAAQ,EAAA,GAAA;AACR0B,oBAAAA;AACJ,iBAAA,EACAvC,GACAoC,EAAAA,IAAAA,CAAAA;gBAGJ,MAAMtB,MAAAA,GAASC,MAAOC,CAAAA,IAAI,CAACvB,WAAAA,CAAAA;gBAE3B,OAAOsB,MAAAA,CAAO4B,MAAM,CAAC;AAACJ,oBAAAA,EAAAA;AAAIzB,oBAAAA;AAAO,iBAAA,CAAA;AACrC;AAEA,YAAA,MAAM,IAAIY,KAAM,CAAA,uCAAA,CAAA;AACpB,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;IAEMkB,OAAQR,CAAAA,IAAY,EAAEC,SAAqB,EAAA;;AAC7C,YAAA,MAAMT,OAAU,GAAA,MAAM,IAAI,CAACE,UAAU,EAAA;YAErC,IAAI,IAAI,CAACT,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BgC,QAAQ,EAAE;AAChE,gBAAA,OAAOpB,MAAOC,CAAAA,MAAM,CAACyC,OAAO,CACxB;oBACI3B,IAAM,EAAA;iBAEVW,EAAAA,OAAAA,CAAQM,UAAU,EAClBE,IAAAA,CAAAA;AAER;YAEA,IAAI,IAAI,CAACf,SAAS,CAACJ,IAAI,KAAK3B,6BAAAA,CAA8BkC,IAAI,EAAE;gBAC5D,IAAI,OAAOa,cAAc,WAAa,EAAA;AAClC,oBAAA,MAAM,IAAIX,KAAM,CAAA,gCAAA,CAAA;AACpB;AAEA,gBAAA,MAAMa,EAAKH,GAAAA,IAAAA,CAAKS,KAAK,CAAC,CAAG,EAAA,EAAA,CAAA;AAEzB,gBAAA,MAAM7C,MAAM,MAAME,MAAAA,CAAOC,MAAM,CAACsC,SAAS,CACrC;oBACIxB,IAAM,EAAA,MAAA;oBACNyB,MAAQL,EAAAA;iBAEZT,EAAAA,OAAAA,CAAQM,UAAU,EAClB;oBACIjB,IAAM,EAAA,SAAA;oBACNJ,MAAQ,EAAA;AACZ,iBAAA,EACA,IACA,EAAA;AAAC,oBAAA;AAAU,iBAAA,CAAA;AAGf,gBAAA,OAAOX,MAAOC,CAAAA,MAAM,CAACyC,OAAO,CACxB;oBACI3B,IAAM,EAAA,SAAA;oBACNJ,MAAQ,EAAA,GAAA;AACR0B,oBAAAA;iBAEJvC,EAAAA,GAAAA,EACAoC,IAAKS,CAAAA,KAAK,CAAC,EAAA,CAAA,CAAA;AAEnB;AAEA,YAAA,MAAM,IAAInB,KAAM,CAAA,uCAAA,CAAA;AACpB,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AA5KAoB,IAAAA,WAAAA,CAAYzB,SAAoC,CAAE;AAJlD,QAAA0B,kBAAA,CAAA,IAAA,EAAgB1B,aAAhB,MAAA,CAAA;AAEA,QAAA0B,kBAAA,CAAA,IAAA,EAAUnB,WAAV,MAAA,CAAA;AAGI,QAAA,IAAIP,SAAUJ,CAAAA,IAAI,KAAK3B,6BAAAA,CAA8BgC,QAAQ,EAAE;AAC3DD,YAAAA,SAAAA,GAAY,oBACLA,CAAAA,cAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA;AACH2B,gBAAAA,cAAAA,EAAgB,IAAIlD,UAAW,CAAA;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;;AAEhD;QAEA,IAAI,CAACuB,SAAS,GAAGA,SAAAA;AACrB;AAoKJ;;AC7LA;;;;;AAKC,IAAA,SAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAM4B,wBAAAA,CAAAA;AAOHpB,IAAAA,WAAAA,GAAAA;;AACF,YAAA,OAAO3B,MAAOC,CAAAA,MAAM,CAAC0B,WAAW,CAC5B;AACIZ,gBAAAA,IAAAA,EAAM,IAAI,CAACI,SAAS,CAACJ,IAAI;gBACzBJ,MAAQ,EAAA;AACZ,aAAA,EACA,IACA,EAAA;AAAC,gBAAA,SAAA;AAAW,gBAAA;AAAU,aAAA,CAAA;AAE9B,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEMK,IAAAA,SAAAA,CAAUJ,MAA4B,EAAA;;AACxC,YAAA,OAAOZ,OAAOC,MAAM,CAACe,SAAS,CAC1B,OACAJ,MACA,EAAA;AACIG,gBAAAA,IAAAA,EAAM,IAAI,CAACI,SAAS,CAACJ,IAAI;gBACzBJ,MAAQ,EAAA;AACZ,aAAA,EACA,IACA,EAAA;AAAC,gBAAA,SAAA;AAAW,gBAAA;AAAU,aAAA,CAAA;AAE9B,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEMsB,IAAAA,OAAAA,CAAQnC,GAAc,EAAEuC,EAAU,EAAEH,IAAY,EAAA;;AAClD,YAAA,MAAM3C,cAAc,MAAMS,MAAAA,CAAOC,MAAM,CAACgC,OAAO,CAC3C;AACIlB,gBAAAA,IAAAA,EAAM,IAAI,CAACI,SAAS,CAACJ,IAAI;gBACzBJ,MAAQ,EAAA,GAAA;AACR0B,gBAAAA;AACJ,aAAA,EACAvC,GACAoC,EAAAA,IAAAA,CAAAA;YAGJ,MAAMtB,MAAAA,GAASC,MAAOC,CAAAA,IAAI,CAACvB,WAAAA,CAAAA;YAE3B,OAAOsB,MAAAA,CAAO4B,MAAM,CAAC;AAACJ,gBAAAA,EAAAA;AAAIzB,gBAAAA;AAAO,aAAA,CAAA;AACrC,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;IAEM8B,OAAQ5C,CAAAA,GAAc,EAAEoC,IAAY,EAAA;;AACtC,YAAA,MAAMG,EAAKH,GAAAA,IAAAA,CAAKS,KAAK,CAAC,CAAG,EAAA,EAAA,CAAA;AACzB,YAAA,MAAMpD,cAAc,MAAMS,MAAAA,CAAOC,MAAM,CAACyC,OAAO,CAC3C;AACI3B,gBAAAA,IAAAA,EAAM,IAAI,CAACI,SAAS,CAACJ,IAAI;gBACzBJ,MAAQ,EAAA,GAAA;AACR0B,gBAAAA;aAEJvC,EAAAA,GAAAA,EACAoC,IAAKS,CAAAA,KAAK,CAAC,EAAA,CAAA,CAAA;YAGf,OAAO9B,MAAAA,CAAOC,IAAI,CAACvB,WAAAA,CAAAA;AACvB,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAzDAqD,IAAAA,WAAAA,CAAYzB,SAAmC,CAAE;AAFjD,QAAA,gBAAA,CAAA,IAAA,EAAUA,aAAV,MAAA,CAAA;QAGI,IAAI,CAACA,SAAS,GAAGA,SAAAA;AACrB;AAwDJ;;ACtEA;;;;;IAOO,IAAK6B,cAAAA,iBAAAA,SAAAA,cAAAA,EAAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,IAAAA,OAAAA,cAAAA;AAgCX,CAAA,CAAA,EAAA;;ACvCD;;;;;IAOO,SAASC,UAAAA,CAAoBC,KAAkB,EAAA;AAClD,IAAA,OAAO,OAAOA,KAAAA,KAAU,SAAa,IAAA,CAAC,CAACA,KAAAA;AAC3C;AAEO,SAASC,YAAqBD,KAAkB,EAAA;IACnD,OAAO,OAAOA,KAAU,KAAA,SAAA,IAAa,CAACA,KAAAA;AAC1C;AAEO,SAASE,OAAgBF,KAAkB,EAAA;AAC9C,IAAA,OAAO,OAAOA,KAAU,KAAA,SAAA;AAC5B;;ACjBA;;;;;AAKC;AAGM,SAASG,cAAAA,CAAoDC,GAAM,EAAEC,IAAO,EAAA;AAC/E,IAAA,OAAOC,OAAOC,SAAS,CAACJ,cAAc,CAACK,IAAI,CAACJ,GAAKC,EAAAA,IAAAA,CAAAA;AACrD;AAEO,SAASI,aAAAA,CACZL,GAAM,EACNC,IAAO,EAAA;AAEP,IAAA,OAAOF,eAAeC,GAAKC,EAAAA,IAAAA,CAAAA;AAC/B;;ACRO,SAASK,QAAQC,CAAU,EAAA;AAC9B,IAAA,OAAO,OAAOA,CAAAA,KAAM,QAAYA,IAAAA,CAAAA,IAAKR,eAAeQ,CAAG,EAAA,SAAA,CAAA;AAC3D;;ACXA;;;;;IAOO,SAASC,KAAAA,CAAMC,KAAa,EAAA;IAC/B,OAAO,iBAAA,CAAkBC,IAAI,CAACD,KAAAA,CAAAA;AAClC;AAEO,SAASE,UAAUF,KAAa,EAAA;IACnC,IAAI;QACA,OAAOG,kBAAAA,CAAmB,CAAC,CAAC,EAAEH,KAAAA,CAAMI,KAAK,CAAC,SAAA,CAAA,CAAWC,IAAI,CAAC,GAAM,CAAA,CAAA,CAAA,CAAA;AACpE,KAAA,CAAE,OAAOP,CAAG,EAAA;AACR,QAAA,IAAIA,aAAaQ,QAAU,EAAA;YACvB,OAAON,KAAAA;AACX;QAEA,MAAMF,CAAAA;AACV;AACJ;;ACrBA;;;;;IAOO,SAASS,qBAAAA,CAAsBP,KAAa,EAAA;AAC/C,IAAA,IACIA,MAAMQ,UAAU,CAAC,cACjBR,KAAMQ,CAAAA,UAAU,CAAC,UACnB,CAAA,EAAA;QACE,MAAMC,GAAAA,GAAM,IAAIC,GAAIV,CAAAA,KAAAA,CAAAA;AACpBA,QAAAA,KAAAA,GAAQS,IAAIE,QAAQ;AACxB;IAEA,OAAOX,KAAAA;AACX;;ACjBA;;;;;IAOO,SAASY,QAAAA,CAASC,IAAa,EAAA;IAClC,OACI,CAAC,CAACA,IACF,IAAA,OAAOA,SAAS,QAChB,IAAA,CAACC,KAAMC,CAAAA,OAAO,CAACF,IAAAA,CAAAA;AAEvB;;ACDO,SAASG,YAAAA,CAAaC,aAA+B,EAAEC,GAAY,EAAA;IACtE,IAAI,OAAOD,kBAAkB,QAAU,EAAA;QACnC,OAAOE,qBAAAA,CAAeF,eAAeC,GAAO,IAAA,EAAA,CAAA,EAAA;AAChD;IAEA,IAAI,OAAOD,kBAAkB,QAAU,EAAA;AACnC,QAAA,OAAOE,sBAAe,sCAAwCF,EAAAA,aAAAA,CAAAA,EAAAA;AAClE;IAEA,OAAOE,qBAAAA,CAAe,wCAAwCD,GAAO,IAAA,EAAA,CAAA,EAAA;AACzE;;ACtBA;;;;;IAOO,SAASE,4BAAAA,CAA4DjD,IAAO,EAAA;IAC/E,MAAMkD,IAAAA,GAAqB5B,MAAO4B,CAAAA,IAAI,CAAClD,IAAAA,CAAAA;AAEvC,IAAA,IAAK,IAAImD,CAAI,GAAA,CAAA,EAAGA,IAAID,IAAKzE,CAAAA,MAAM,EAAE0E,CAAK,EAAA,CAAA;QAClC,MAAMvF,GAAAA,GAAMsF,IAAI,CAACC,CAAE,CAAA;AACnB,QAAA,IAAInD,IAAI,CAACpC,GAAI,CAAA,KAAK,EAAI,EAAA;YAClBoC,IAAI,CAACpC,IAAI,GAAG,IAAA;AAChB;AACJ;IAEA,OAAOoC,IAAAA;AACX;AAEO,SAASoD,gCAA+DpD,IAAO,EAAA;IAClF,MAAMkD,IAAAA,GAAkB5B,MAAO4B,CAAAA,IAAI,CAAClD,IAAAA,CAAAA;AAEpC,IAAA,IAAK,IAAImD,CAAI,GAAA,CAAA,EAAGA,IAAID,IAAKzE,CAAAA,MAAM,EAAE0E,CAAK,EAAA,CAAA;QAClC,IAAI,OAAOnD,IAAI,CAACkD,IAAI,CAACC,CAAE,CAAA,CAAC,KAAK,WAAa,EAAA;AACtC,YAAA,OAAOnD,IAAI,CAACkD,IAAI,CAACC,EAAE,CAAC;AACxB;AACJ;IAEA,OAAOnD,IAAAA;AACX;;AC9BA;;;;;IAiBO,SAASqD,0BAAAA,CAA2BC,aAAqB,EAAA;IAC5D,MAAMrB,KAAAA,GAAQqB,aACTrB,CAAAA,KAAK,CAAC,wEAAA,CAAA;AAEX,IAAA,IAAI,CAACA,KAAO,EAAA;QACR,OAAOsB,SAAAA;AACX;IAEA,OAAO;QACHC,QAAUvB,EAAAA,KAAK,CAAC,CAAE,CAAA;QAClBwB,IAAMxB,EAAAA,KAAK,CAAC,CAAE,CAAA;AACdyB,QAAAA,IAAAA,EAAMC,QAAS1B,CAAAA,KAAK,CAAC,CAAA,CAAE,EAAE,EAAA,CAAA;QACzB2B,IAAM,EAAA;YACFC,QAAU5B,EAAAA,KAAK,CAAC,CAAE,CAAA;YAClB6B,QAAU7B,EAAAA,KAAK,CAAC,CAAE;AACtB;AACJ,KAAA;AACJ;AAEO,SAAS8B,2BAAAA,GAAAA;AACZ,IAAA,MAAMC,OAAU,GAAA;AACZ,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA,YAAA;AACA,QAAA;AACH,KAAA;IAED,IAAIC,MAAAA;AAEJ,IAAA,IAAK,IAAId,CAAI,GAAA,CAAA,EAAGA,IAAIa,OAAQvF,CAAAA,MAAM,EAAE0E,CAAK,EAAA,CAAA;QACrC,MAAMe,MAAAA,GAASF,OAAO,CAACb,CAAE,CAAA;AACzB,QAAA,MAAMgB,MAASC,GAAAA,OAAAA,CAAQC,GAAG,CAACH,MAAO,CAAA;QAElC,IACIC,MAAAA,KAAWZ,SACXY,IAAAA,MAAAA,KAAW,IACb,EAAA;AACEF,YAAAA,MAAAA,GAASA,MAAUE,IAAAA,MAAAA;AACvB;AACJ;AAEA,IAAA,IAAI,CAACF,MAAQ,EAAA;QACT,OAAOV,SAAAA;AACX;AAEA,IAAA,OAAOF,0BAA2BY,CAAAA,MAAAA,CAAAA;AACtC;;AC/DA;;;;;IAOaK,MAAAA,6BAAAA,GAAgC;AACtC,MAAMC,2BAA2B;;ACGxC;;;;;AAKC,IACM,SAASC,uBAAwBC,CAAAA,KAAqB,EAAEC,eAAkC,EAAA;IAC7F,IAAI/B,KAAAA,CAAMC,OAAO,CAAC8B,eAAkB,CAAA,EAAA;AAChC,QAAA,IAAK,IAAIvB,CAAI,GAAA,CAAA,EAAGA,IAAIuB,eAAgBjG,CAAAA,MAAM,EAAE0E,CAAK,EAAA,CAAA;AAC7C,YAAA,IAAIqB,uBAAwBC,CAAAA,KAAAA,EAAOC,eAAe,CAACvB,EAAE,CAAG,EAAA;gBACpD,OAAO,IAAA;AACX;AACJ;QACA,OAAO,KAAA;AACX;AAEA,IAAA,IAAI,CAACsB,KAAO,EAAA;QACR,OAAO,KAAA;AACX;AAEA,IAAA,IACIhD,cAAcgD,KAAO,EAAA,MAAA,CAAA,IACrBA,KAAM5F,CAAAA,IAAI,KAAK8F,yBACjB,EAAA;QACE,OAAO,IAAA;AACX;AAEA,IAAA,OAAOF,CAAAA,KAAAA,KAAAA,IAAAA,IAAAA,KAAAA,KAAAA,MAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOG,EAAE,MAAKF,eAAAA;AACzB;AACA;;;;;AAKC,IAEM,SAASG,uBAAwBJ,CAAAA,KAAqB,EAAEC,eAAkC,EAAA;IAC7F,IAAI/B,KAAAA,CAAMC,OAAO,CAAC8B,eAAkB,CAAA,EAAA;QAChC,IAAIA,eAAAA,CAAgBjG,MAAM,KAAK,CAAG,EAAA;YAC9B,OAAO,IAAA;AACX;AACA,QAAA,IAAK,IAAI0E,CAAI,GAAA,CAAA,EAAGA,IAAIuB,eAAgBjG,CAAAA,MAAM,EAAE0E,CAAK,EAAA,CAAA;AAC7C,YAAA,IAAI0B,uBAAwBJ,CAAAA,KAAAA,EAAOC,eAAe,CAACvB,EAAE,CAAG,EAAA;gBACpD,OAAO,IAAA;AACX;AACJ;QACA,OAAO,KAAA;AACX;IAEA,IAAI,OAAOsB,UAAU,WAAa,EAAA;QAC9B,OAAO,KAAA;AACX;AAEA,IAAA,IACIhD,cAAcgD,KAAO,EAAA,MAAA,CAAA,IACrBA,KAAM5F,CAAAA,IAAI,KAAK8F,yBACjB,EAAA;QACE,OAAO,IAAA;AACX;AAEA,IAAA,OAAO,CAACD,eAAmBD,IAAAA,CAAAA,kBAAAA,KAAAA,KAAAA,MAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOG,EAAE,MAAKF,eAAAA;AAC7C;;ACxEA;;;;;AAKC,IAIM,SAASI,wBAIZC,CAAAA,IAAY,EACZC,KAAY,EAAA;IAEZ,MAAMC,gBAAAA,GAAmBD,KAAMxG,CAAAA,SAAS,CAAC,CAAA,EAAG,GAAG0G,WAAW,EAAA,GAAKF,KAAMxG,CAAAA,SAAS,CAAC,CAAA,CAAA;AAE/E,IAAA,OAAOuG,IAAOE,GAAAA,gBAAAA;AAClB;;ACnBA;;;;;IAOO,IAAKE,eAAAA,iBAAAA,SAAAA,eAAAA,EAAAA;;;;AAAAA,IAAAA,OAAAA,eAAAA;AAIX,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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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"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { omitRecord, pickRecord } from '@authup/kit';
1
2
  import { REALM_MASTER_NAME } from '@authup/core-kit';
2
3
  import { customAlphabet } from 'nanoid';
3
4
 
@@ -17,7 +18,7 @@ import { customAlphabet } from 'nanoid';
17
18
  * Author Peter Placzek (tada5hi)
18
19
  * For the full copyright and license information,
19
20
  * view the LICENSE file that was distributed with this source code.
20
- */ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
21
+ */ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
21
22
  try {
22
23
  var info = gen[key](arg);
23
24
  var value = info.value;
@@ -31,16 +32,16 @@ import { customAlphabet } from 'nanoid';
31
32
  Promise.resolve(value).then(_next, _throw);
32
33
  }
33
34
  }
34
- function _async_to_generator$2(fn) {
35
+ function _async_to_generator$3(fn) {
35
36
  return function() {
36
37
  var self = this, args = arguments;
37
38
  return new Promise(function(resolve, reject) {
38
39
  var gen = fn.apply(self, args);
39
40
  function _next(value) {
40
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
41
+ asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "next", value);
41
42
  }
42
43
  function _throw(err) {
43
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
44
+ asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "throw", err);
44
45
  }
45
46
  _next(undefined);
46
47
  });
@@ -50,19 +51,19 @@ function arrayBufferToBase64(arrayBuffer) {
50
51
  return btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));
51
52
  }
52
53
  function exportAsymmetricPublicKey(key) {
53
- return _async_to_generator$2(function*() {
54
+ return _async_to_generator$3(function*() {
54
55
  const exported = yield crypto.subtle.exportKey('spki', key);
55
56
  return `-----BEGIN PUBLIC KEY-----\n${arrayBufferToBase64(exported)}\n-----END PUBLIC KEY-----`;
56
57
  })();
57
58
  }
58
59
  function exportAsymmetricPrivateKey(key) {
59
- return _async_to_generator$2(function*() {
60
+ return _async_to_generator$3(function*() {
60
61
  const exported = yield crypto.subtle.exportKey('pkcs8', key);
61
62
  return `-----BEGIN PRIVATE KEY-----\n${arrayBufferToBase64(exported)}\n-----END PRIVATE KEY-----`;
62
63
  })();
63
64
  }
64
65
  function importAsymmetricPublicKey(pem, params) {
65
- return _async_to_generator$2(function*() {
66
+ return _async_to_generator$3(function*() {
66
67
  const pemHeader = '-----BEGIN PUBLIC KEY-----';
67
68
  const pemFooter = '-----END PUBLIC KEY-----';
68
69
  const pemContents = pem.substring(pemHeader.length, pem.length - pemFooter.length);
@@ -83,7 +84,7 @@ function importAsymmetricPublicKey(pem, params) {
83
84
  * Author Peter Placzek (tada5hi)
84
85
  * For the full copyright and license information,
85
86
  * view the LICENSE file that was distributed with this source code.
86
- */ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
87
+ */ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
87
88
  try {
88
89
  var info = gen[key](arg);
89
90
  var value = info.value;
@@ -97,16 +98,16 @@ function importAsymmetricPublicKey(pem, params) {
97
98
  Promise.resolve(value).then(_next, _throw);
98
99
  }
99
100
  }
100
- function _async_to_generator$1(fn) {
101
+ function _async_to_generator$2(fn) {
101
102
  return function() {
102
103
  var self = this, args = arguments;
103
104
  return new Promise(function(resolve, reject) {
104
105
  var gen = fn.apply(self, args);
105
106
  function _next(value) {
106
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
107
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
107
108
  }
108
109
  function _throw(err) {
109
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
110
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
110
111
  }
111
112
  _next(undefined);
112
113
  });
@@ -177,7 +178,7 @@ class CryptoAsymmetricAlgorithm {
177
178
  throw new Error('Import params could not be created.');
178
179
  }
179
180
  generateKeyPair() {
180
- return _async_to_generator$1(function*() {
181
+ return _async_to_generator$2(function*() {
181
182
  if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
182
183
  this.keyPair = yield crypto.subtle.generateKey(this.algorithm, true, [
183
184
  'encrypt',
@@ -195,7 +196,7 @@ class CryptoAsymmetricAlgorithm {
195
196
  }).call(this);
196
197
  }
197
198
  useKeyPair() {
198
- return _async_to_generator$1(function*() {
199
+ return _async_to_generator$2(function*() {
199
200
  if (typeof this.keyPair !== 'undefined') {
200
201
  return this.keyPair;
201
202
  }
@@ -203,19 +204,19 @@ class CryptoAsymmetricAlgorithm {
203
204
  }).call(this);
204
205
  }
205
206
  exportPublicKey() {
206
- return _async_to_generator$1(function*() {
207
+ return _async_to_generator$2(function*() {
207
208
  const keyPair = yield this.useKeyPair();
208
209
  return exportAsymmetricPublicKey(keyPair.publicKey);
209
210
  }).call(this);
210
211
  }
211
212
  exportPrivateKey() {
212
- return _async_to_generator$1(function*() {
213
+ return _async_to_generator$2(function*() {
213
214
  const keyPair = yield this.useKeyPair();
214
215
  return exportAsymmetricPrivateKey(keyPair.privateKey);
215
216
  }).call(this);
216
217
  }
217
218
  encrypt(data, remoteKey) {
218
- return _async_to_generator$1(function*() {
219
+ return _async_to_generator$2(function*() {
219
220
  const keyPair = yield this.useKeyPair();
220
221
  if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
221
222
  return crypto.subtle.encrypt({
@@ -252,7 +253,7 @@ class CryptoAsymmetricAlgorithm {
252
253
  }).call(this);
253
254
  }
254
255
  decrypt(data, remoteKey) {
255
- return _async_to_generator$1(function*() {
256
+ return _async_to_generator$2(function*() {
256
257
  const keyPair = yield this.useKeyPair();
257
258
  if (this.algorithm.name === AsymmetricCryptoAlgorithmName.RSA_OAEP) {
258
259
  return crypto.subtle.decrypt({
@@ -303,7 +304,7 @@ class CryptoAsymmetricAlgorithm {
303
304
  * Author Peter Placzek (tada5hi)
304
305
  * For the full copyright and license information,
305
306
  * view the LICENSE file that was distributed with this source code.
306
- */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
307
+ */ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
307
308
  try {
308
309
  var info = gen[key](arg);
309
310
  var value = info.value;
@@ -317,16 +318,16 @@ class CryptoAsymmetricAlgorithm {
317
318
  Promise.resolve(value).then(_next, _throw);
318
319
  }
319
320
  }
320
- function _async_to_generator(fn) {
321
+ function _async_to_generator$1(fn) {
321
322
  return function() {
322
323
  var self = this, args = arguments;
323
324
  return new Promise(function(resolve, reject) {
324
325
  var gen = fn.apply(self, args);
325
326
  function _next(value) {
326
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
327
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
327
328
  }
328
329
  function _throw(err) {
329
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
330
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
330
331
  }
331
332
  _next(undefined);
332
333
  });
@@ -347,7 +348,7 @@ function _define_property(obj, key, value) {
347
348
  }
348
349
  class CryptoSymmetricAlgorithm {
349
350
  generateKey() {
350
- return _async_to_generator(function*() {
351
+ return _async_to_generator$1(function*() {
351
352
  return crypto.subtle.generateKey({
352
353
  name: this.algorithm.name,
353
354
  length: 256
@@ -358,7 +359,7 @@ class CryptoSymmetricAlgorithm {
358
359
  }).call(this);
359
360
  }
360
361
  importKey(buffer) {
361
- return _async_to_generator(function*() {
362
+ return _async_to_generator$1(function*() {
362
363
  return crypto.subtle.importKey('raw', buffer, {
363
364
  name: this.algorithm.name,
364
365
  length: 256
@@ -369,7 +370,7 @@ class CryptoSymmetricAlgorithm {
369
370
  }).call(this);
370
371
  }
371
372
  encrypt(key, iv, data) {
372
- return _async_to_generator(function*() {
373
+ return _async_to_generator$1(function*() {
373
374
  const arrayBuffer = yield crypto.subtle.encrypt({
374
375
  name: this.algorithm.name,
375
376
  length: 256,
@@ -383,7 +384,7 @@ class CryptoSymmetricAlgorithm {
383
384
  }).call(this);
384
385
  }
385
386
  decrypt(key, data) {
386
- return _async_to_generator(function*() {
387
+ return _async_to_generator$1(function*() {
387
388
  const iv = data.slice(0, 16);
388
389
  const arrayBuffer = yield crypto.subtle.decrypt({
389
390
  name: this.algorithm.name,
@@ -399,12 +400,72 @@ class CryptoSymmetricAlgorithm {
399
400
  }
400
401
  }
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
+
402
461
  /*
403
462
  * Copyright (c) 2021-2024.
404
463
  * Author Peter Placzek (tada5hi)
405
464
  * For the full copyright and license information,
406
465
  * view the LICENSE file that was distributed with this source code.
407
466
  */ var PermissionName = /*#__PURE__*/ function(PermissionName) {
467
+ PermissionName["EVENT_READ"] = "event_read";
468
+ PermissionName["EVENT_DELETE"] = "event_delete";
408
469
  PermissionName["BUCKET_CREATE"] = "bucket_create";
409
470
  PermissionName["BUCKET_UPDATE"] = "bucket_update";
410
471
  PermissionName["BUCKET_DELETE"] = "bucket_delete";
@@ -589,6 +650,48 @@ function detectProxyConnectionConfig() {
589
650
  */ const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;
590
651
  const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$/;
591
652
 
653
+ /*
654
+ * Copyright (c) 2025.
655
+ * Author Peter Placzek (tada5hi)
656
+ * For the full copyright and license information,
657
+ * view the LICENSE file that was distributed with this source code.
658
+ */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
659
+ try {
660
+ var info = gen[key](arg);
661
+ var value = info.value;
662
+ } catch (error) {
663
+ reject(error);
664
+ return;
665
+ }
666
+ if (info.done) {
667
+ resolve(value);
668
+ } else {
669
+ Promise.resolve(value).then(_next, _throw);
670
+ }
671
+ }
672
+ function _async_to_generator(fn) {
673
+ return function() {
674
+ var self = this, args = arguments;
675
+ return new Promise(function(resolve, reject) {
676
+ var gen = fn.apply(self, args);
677
+ function _next(value) {
678
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
679
+ }
680
+ function _throw(err) {
681
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
682
+ }
683
+ _next(undefined);
684
+ });
685
+ };
686
+ }
687
+ function wait(ms) {
688
+ return _async_to_generator(function*() {
689
+ return new Promise((resolve)=>{
690
+ setTimeout(resolve, ms);
691
+ });
692
+ })();
693
+ }
694
+
592
695
  /**
593
696
  * Check if a realm resource is writable.
594
697
  *
@@ -659,5 +762,5 @@ const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$/;
659
762
  return EnvironmentName;
660
763
  }({});
661
764
 
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 };
765
+ 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, omitLogProperties, parseProxyConnectionString, pickLogProperties, registryRobotSecretRegex, wait };
663
766
  //# sourceMappingURL=index.mjs.map