"use strict";
/**
 * This module contains common variables/values that will be used across the project.
 * Using these constant values helps with consistency across the project.
 *
 * All variables should use a JSDoc comment to explain what it is, and any objects should be marked as `as const` for better type checking.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.CONFIG_PARAMS = exports.LEGACY_CONFIG_PARAMS = exports.HDB_SETTINGS_NAMES = exports.GEO_CONVERSION_ENUM = exports.SERVICE_ACTIONS_ENUM = exports.VALID_SQL_OPS_ENUM = exports.S3_BUCKET_AUTH_KEYS = exports.VALID_S3_FILE_TYPES = exports.OPERATIONS_ENUM = exports.JOB_STATUS_ENUM = exports.SYSTEM_DEFAULT_ATTRIBUTE_NAMES = exports.INFO_TABLE_HASH_ATTRIBUTE = exports.SYSTEM_TABLE_NAMES = exports.UPGRADE_JSON_FIELD_NAMES_ENUM = exports.INSERT_MAX_CHARACTER_SIZE = exports.INSTALL_PROMPTS = exports.BOOT_PROP_PARAMS = exports.PROCESS_NAME_ENV_PROP = exports.BACKUP_DIR_NAME = exports.TRANSACTIONS_DIR_NAME = exports.LEGACY_DATABASES_DIR_NAME = exports.DATABASES_DIR_NAME = exports.HDB_FILE_PERMISSIONS = exports.RESTART_TIMEOUT_MS = exports.BOOT_PROPS_FILE_NAME = exports.LICENSE_KEY_DIR_NAME = exports.HDB_HOME_DIR_NAME = exports.SYSTEM_SCHEMA_NAME = exports.ESCAPED_FORWARD_SLASH_REGEX = exports.UNICODE_FORWARD_SLASH = exports.FORWARD_SLASH_REGEX = exports.UNICODE_PERIOD = exports.SEARCH_NOT_FOUND_MESSAGE = exports.SUPPORT_HELP_MSG = exports.HDB_SUPPORT_ADDRESS = exports.ROLE_TYPES_ENUM = exports.LAUNCH_SERVICE_SCRIPTS = exports.LOG_LEVELS = exports.LOG_NAMES = exports.DEFAULT_DATABASE_NAME = exports.HDB_PID_FILE = exports.HDB_PROCESS_SERVICES = exports.PROCESS_DESCRIPTORS = exports.HDB_RESTART_SCRIPT = exports.HDB_PROC_NAME = exports.HDB_COMPONENT_CONFIG_FILE = exports.HDB_ROOT_DIR_NAME = exports.HDB_DEFAULT_CONFIG_FILE = exports.HARPER_CONFIG_FILE = exports.HDB_CONFIG_FILE = void 0;
exports.AUTH_AUDIT_TYPES = exports.AUTH_AUDIT_STATUS = exports.PRE_4_0_0_VERSION = exports.THREAD_TYPES = exports.ITC_EVENT_TYPES = exports.JWT_ENUM = exports.READ_AUDIT_LOG_SEARCH_TYPES_ENUM = exports.FUNC_VAL = exports.SEARCH_WILDCARDS = exports.PERMS_CRUD_ENUM = exports.VALUE_SEARCH_COMPARATORS_REVERSE_LOOKUP = exports.VALUE_SEARCH_COMPARATORS = exports.PERMS_UPDATE_RELEASE_TIMESTAMP = exports.TIME_STAMP_NAMES = exports.TIME_STAMP_NAMES_ENUM = exports.METADATA_PROPERTY = exports.NODE_ERROR_CODES = exports.RAM_ALLOCATION_ENUM = exports.LICENSE_VALUES = exports.JOB_TYPE_ENUM = exports.DATABASES_PARAM_CONFIG = exports.CONFIG_PARAM_MAP = void 0;
/** Old Harper Root Config File */
exports.HDB_CONFIG_FILE = 'harperdb-config.yaml';
/** Harper Root Config File */
exports.HARPER_CONFIG_FILE = 'harper-config.yaml';
/** Harper Default Config File */
exports.HDB_DEFAULT_CONFIG_FILE = 'defaultConfig.yaml';
/** Harper Root Directory Name */
exports.HDB_ROOT_DIR_NAME = 'harper';
/** Harper Component Config File */
exports.HDB_COMPONENT_CONFIG_FILE = 'config.yaml';
/** Name of the Harper Process Script */
exports.HDB_PROC_NAME = 'harper.js';
/** Name of the Harper Restart Script */
exports.HDB_RESTART_SCRIPT = 'restartHdb.js';
/** Harper Process Descriptor */
const HDB_PROC_DESCRIPTOR = 'Harper';
/** Custom Function Process Descriptor */
const CUSTOM_FUNCTION_PROC_DESCRIPTOR = 'Custom Functions';
/**
 * Process Descriptor Map
 *
 * Used throughout the project to map process descriptors to their respective process names.
 */
exports.PROCESS_DESCRIPTORS = {
    HDB: HDB_PROC_DESCRIPTOR,
    CUSTOM_FUNCTIONS: CUSTOM_FUNCTION_PROC_DESCRIPTOR,
    RESTART_HDB: 'Restart HDB',
    INSTALL: 'Install',
    RUN: 'Run',
    STOP: 'Stop',
    UPGRADE: 'Upgrade',
    REGISTER: 'Register',
    JOB: 'Job',
};
/**
 * Process Services Map
 *
 * These are the services that the Harper process provides.
 * This object is used primarily in the restart workflow to determine which services to restart.
 */
exports.HDB_PROCESS_SERVICES = {
    'harperdb': HDB_PROC_DESCRIPTOR,
    'custom functions': CUSTOM_FUNCTION_PROC_DESCRIPTOR,
    'custom_functions': CUSTOM_FUNCTION_PROC_DESCRIPTOR,
    'http_workers': 'http_workers',
    'http': 'http',
};
/** Harper Process Identifier File Name */
exports.HDB_PID_FILE = 'hdb.pid';
/** Default database name */
exports.DEFAULT_DATABASE_NAME = 'data';
/** Log File Names */
exports.LOG_NAMES = {
    HDB: 'hdb.log',
    INSTALL: 'install.log',
};
/** Log Levels */
exports.LOG_LEVELS = {
    NOTIFY: 'notify',
    FATAL: 'fatal',
    ERROR: 'error',
    WARN: 'warn',
    INFO: 'info',
    DEBUG: 'debug',
    TRACE: 'trace',
};
/** Launch Service script paths */
exports.LAUNCH_SERVICE_SCRIPTS = {
    MAIN: 'dist/bin/harper.js',
};
/** Specifies user role types */
exports.ROLE_TYPES_ENUM = {
    SUPER_USER: 'super_user',
};
/** Email address for support requests */
exports.HDB_SUPPORT_ADDRESS = 'support@harperdb.io';
/** Support Help Message */
exports.SUPPORT_HELP_MSG = `For support, please submit a request at https://harperdbhelp.zendesk.com/hc/en-us/requests/new or contact ${exports.HDB_SUPPORT_ADDRESS}`;
/** Message when records cannot be found for a DELETE operation */
exports.SEARCH_NOT_FOUND_MESSAGE = 'None of the specified records were found.';
// TODO: The following unicode/regex terms seem pointless, and could be removed.
// Singular character codes and basic regex patterns should be included inline where they are used.
// These are not likely to ever change and don't need to be extrapolated into variables
/** Unicode for the `.` character */
exports.UNICODE_PERIOD = 'U+002E';
/** Regex for matching the `/` character */
exports.FORWARD_SLASH_REGEX = /\//g;
/** Unicode for the `/` character */
exports.UNICODE_FORWARD_SLASH = 'U+002F';
/** Regex for matching an escaped `/` character */
exports.ESCAPED_FORWARD_SLASH_REGEX = /U\+002F/g;
/** Name of the System schema */
exports.SYSTEM_SCHEMA_NAME = 'system';
/** Harper Home directory */
exports.HDB_HOME_DIR_NAME = '.harperdb';
/** License Key directory */
exports.LICENSE_KEY_DIR_NAME = 'keys';
/** Harper Boot Properties file name */
exports.BOOT_PROPS_FILE_NAME = 'hdb_boot_properties.file';
/** Restart timeout (milliseconds) */
exports.RESTART_TIMEOUT_MS = 60000;
/** Harper File Permissions Mode */
exports.HDB_FILE_PERMISSIONS = 0o700;
/** Database directory */
exports.DATABASES_DIR_NAME = 'database';
/** Legacy Database directory */
exports.LEGACY_DATABASES_DIR_NAME = 'schema';
/** Transaction directory */
exports.TRANSACTIONS_DIR_NAME = 'transactions';
/** Backup directory */
exports.BACKUP_DIR_NAME = 'backup';
/** Key for specifying process specific environment variables */
exports.PROCESS_NAME_ENV_PROP = 'PROCESS_NAME';
/** Boot sequence property parameters */
exports.BOOT_PROP_PARAMS = {
    SETTINGS_PATH_KEY: 'settings_path',
};
/** Installation prompt map */
exports.INSTALL_PROMPTS = {
    HDB_ADMIN_USERNAME: 'HDB_ADMIN_USERNAME',
    HDB_ADMIN_PASSWORD: 'HDB_ADMIN_PASSWORD',
    OPERATIONSAPI_ROOT: 'OPERATIONSAPI_ROOT',
    ROOTPATH: 'ROOTPATH',
    NODE_HOSTNAME: 'NODE_HOSTNAME',
    REPLICATION_HOSTNAME: 'REPLICATION_HOSTNAME',
    HDB_CONFIG: 'HDB_CONFIG',
    DEFAULTS_MODE: 'DEFAULTS_MODE',
    STORAGE_ENGINE: 'STORAGE_ENGINE',
};
/** Insert operation max character size */
exports.INSERT_MAX_CHARACTER_SIZE = 250;
/** Upgrade JSON field map */
exports.UPGRADE_JSON_FIELD_NAMES_ENUM = {
    DATA_VERSION: 'data_version',
    UPGRADE_VERSION: 'upgrade_version',
};
/** System table names */
exports.SYSTEM_TABLE_NAMES = {
    JOB_TABLE_NAME: 'hdb_job',
    NODE_TABLE_NAME: 'hdb_nodes',
    ATTRIBUTE_TABLE_NAME: 'hdb_attribute',
    LICENSE_TABLE_NAME: 'hdb_license',
    ROLE_TABLE_NAME: 'hdb_role',
    SCHEMA_TABLE_NAME: 'hdb_schema',
    TABLE_TABLE_NAME: 'hdb_table',
    USER_TABLE_NAME: 'hdb_user',
    INFO_TABLE_NAME: 'hdb_info',
};
/** Hash attribute for the system info table */
exports.INFO_TABLE_HASH_ATTRIBUTE = 'info_id';
/** System default attributes */
exports.SYSTEM_DEFAULT_ATTRIBUTE_NAMES = {
    ATTR_ATTRIBUTE_KEY: 'attribute',
    ATTR_CREATEDDATE_KEY: 'createddate',
    ATTR_HASH_ATTRIBUTE_KEY: 'hash_attribute',
    ATTR_ID_KEY: 'id',
    ATTR_NAME_KEY: 'name',
    ATTR_PASSWORD_KEY: 'password',
    ATTR_RESIDENCE_KEY: 'residence',
    ATTR_ROLE_KEY: 'role',
    ATTR_SCHEMA_KEY: 'schema',
    ATTR_SCHEMA_TABLE_KEY: 'schema_table',
    ATTR_TABLE_KEY: 'table',
    ATTR_USERNAME_KEY: 'username',
};
/** Describes the available statuses for jobs */
exports.JOB_STATUS_ENUM = {
    CREATED: 'CREATED',
    IN_PROGRESS: 'IN_PROGRESS',
    COMPLETE: 'COMPLETE',
    ERROR: 'ERROR',
};
/** Operations */
exports.OPERATIONS_ENUM = {
    INSERT: 'insert',
    UPDATE: 'update',
    UPSERT: 'upsert',
    SEARCH_BY_CONDITIONS: 'search_by_conditions',
    SEARCH_BY_HASH: 'search_by_hash',
    SEARCH_BY_ID: 'search_by_id',
    SEARCH_BY_VALUE: 'search_by_value',
    SEARCH: 'search',
    SQL: 'sql',
    CSV_DATA_LOAD: 'csv_data_load',
    CSV_FILE_LOAD: 'csv_file_load',
    CSV_URL_LOAD: 'csv_url_load',
    CREATE_SCHEMA: 'create_schema',
    CREATE_DATABASE: 'create_database',
    CREATE_TABLE: 'create_table',
    CREATE_ATTRIBUTE: 'create_attribute',
    DROP_SCHEMA: 'drop_schema',
    DROP_DATABASE: 'drop_database',
    DROP_TABLE: 'drop_table',
    DESCRIBE_SCHEMA: 'describe_schema',
    DESCRIBE_DATABASE: 'describe_database',
    DESCRIBE_TABLE: 'describe_table',
    DESCRIBE_ALL: 'describe_all',
    DESCRIBE_METRIC: 'describe_metric',
    DELETE: 'delete',
    ADD_USER: 'add_user',
    ALTER_USER: 'alter_user',
    DROP_USER: 'drop_user',
    LIST_USERS: 'list_users',
    LIST_ROLES: 'list_roles',
    ADD_ROLE: 'add_role',
    ALTER_ROLE: 'alter_role',
    DROP_ROLE: 'drop_role',
    USER_INFO: 'user_info',
    READ_LOG: 'read_log',
    ADD_NODE: 'add_node',
    UPDATE_NODE: 'update_node',
    SET_NODE_REPLICATION: 'set_node_replication',
    EXPORT_TO_S3: 'export_to_s3',
    IMPORT_FROM_S3: 'import_from_s3',
    DELETE_FILES_BEFORE: 'delete_files_before',
    DELETE_RECORDS_BEFORE: 'delete_records_before',
    EXPORT_LOCAL: 'export_local',
    SEARCH_JOBS_BY_START_DATE: 'search_jobs_by_start_date',
    GET_JOB: 'get_job',
    DELETE_JOB: 'delete_job',
    UPDATE_JOB: 'update_job',
    REGISTRATION_INFO: 'registration_info',
    SET_CONFIGURATION: 'set_configuration',
    DROP_ATTRIBUTE: 'drop_attribute',
    RESTART: 'restart',
    RESTART_SERVICE: 'restart_service',
    CATCHUP: 'catchup',
    SYSTEM_INFORMATION: 'system_information',
    DELETE_AUDIT_LOGS_BEFORE: 'delete_audit_logs_before',
    READ_AUDIT_LOG: 'read_audit_log',
    CREATE_AUTHENTICATION_TOKENS: 'create_authentication_tokens',
    LOGIN: 'login',
    LOGOUT: 'logout',
    REFRESH_OPERATION_TOKEN: 'refresh_operation_token',
    GET_CONFIGURATION: 'get_configuration',
    CUSTOM_FUNCTIONS_STATUS: 'custom_functions_status',
    GET_CUSTOM_FUNCTIONS: 'get_custom_functions',
    GET_CUSTOM_FUNCTION: 'get_custom_function',
    SET_CUSTOM_FUNCTION: 'set_custom_function',
    GET_COMPONENTS: 'get_components',
    GET_COMPONENT_FILE: 'get_component_file',
    SET_COMPONENT_FILE: 'set_component_file',
    DROP_COMPONENT: 'drop_component',
    DROP_CUSTOM_FUNCTION: 'drop_custom_function',
    ADD_CUSTOM_FUNCTION_PROJECT: 'add_custom_function_project',
    ADD_COMPONENT: 'add_component',
    DROP_CUSTOM_FUNCTION_PROJECT: 'drop_custom_function_project',
    PACKAGE_CUSTOM_FUNCTION_PROJECT: 'package_custom_function_project',
    DEPLOY_CUSTOM_FUNCTION_PROJECT: 'deploy_custom_function_project',
    PACKAGE_COMPONENT: 'package_component',
    DEPLOY_COMPONENT: 'deploy_component',
    READ_TRANSACTION_LOG: 'read_transaction_log',
    DELETE_TRANSACTION_LOGS_BEFORE: 'delete_transaction_logs_before',
    INSTALL_NODE_MODULES: 'install_node_modules',
    AUDIT_NODE_MODULES: 'audit_node_modules',
    PURGE_STREAM: 'purge_stream',
    GET_BACKUP: 'get_backup',
    CLEANUP_ORPHAN_BLOBS: 'cleanup_orphan_blobs',
    GET_ANALYTICS: 'get_analytics',
    LIST_METRICS: 'list_metrics',
    GET_STATUS: 'get_status',
    SET_STATUS: 'set_status',
    CLEAR_STATUS: 'clear_status',
};
/** Defines valid file types that we are able to handle in 'import_from_s3' ops */
exports.VALID_S3_FILE_TYPES = {
    CSV: '.csv',
    JSON: '.json',
};
/** Defines the keys required in a request body for accessing a S3 bucket */
exports.S3_BUCKET_AUTH_KEYS = {
    AWS_ACCESS_KEY: 'aws_access_key_id',
    AWS_SECRET: 'aws_secret_access_key',
    AWS_BUCKET: 'bucket',
    AWS_FILE_KEY: 'key',
    REGION: 'region',
};
/**
 * Defines valid SQL operations to be used in the processAST method - this ensure we have appropriate unit test coverage
 * for all SQL operations that are dynamically set after the chooseOperation method which behaves differently for the evaluateSQL operation.
 */
exports.VALID_SQL_OPS_ENUM = {
    SELECT: 'select',
    INSERT: 'insert',
    UPDATE: 'update',
    DELETE: 'delete',
};
/** Available service actions */
exports.SERVICE_ACTIONS_ENUM = {
    DEV: 'dev',
    RUN: 'run',
    START: 'start',
    INSTALL: 'install',
    STOP: 'stop',
    RESTART: 'restart',
    VERSION: 'version',
    UPGRADE: 'upgrade',
    HELP: 'help',
    STATUS: 'status',
    OPERATION: 'operation',
    RENEWCERTS: 'renew-certs',
    COPYDB: 'copy-db',
};
/** describes the Geo Conversion types */
exports.GEO_CONVERSION_ENUM = {
    point: 'point',
    lineString: 'lineString',
    multiLineString: 'multiLineString',
    multiPoint: 'multiPoint',
    multiPolygon: 'multiPolygon',
    polygon: 'polygon',
};
/**
 * These values are relics of before the config was converted to yaml.
 * The should no longer be used. Instead use CONFIG_PARAMS.
 */
exports.HDB_SETTINGS_NAMES = {
    HDB_ROOT_KEY: 'HDB_ROOT',
    SERVER_PORT_KEY: 'SERVER_PORT',
    CERT_KEY: 'CERTIFICATE',
    PRIVATE_KEY_KEY: 'PRIVATE_KEY',
    HTTP_SECURE_ENABLED_KEY: 'HTTPS_ON',
    CORS_ENABLED_KEY: 'CORS_ON',
    CORS_WHITELIST_KEY: 'CORS_WHITELIST',
    LOG_LEVEL_KEY: 'LOG_LEVEL',
    LOGGER_KEY: 'LOGGER',
    LOG_PATH_KEY: 'LOG_PATH',
    LOG_ROTATE: 'LOG_ROTATE',
    LOG_ROTATE_MAX_SIZE: 'LOG_ROTATE_MAX_SIZE',
    LOG_ROTATE_RETAIN: 'LOG_ROTATE_RETAIN',
    LOG_ROTATE_COMPRESS: 'LOG_ROTATE_COMPRESS',
    LOG_ROTATE_DATE_FORMAT: 'LOG_ROTATE_DATE_FORMAT',
    LOG_ROTATE_ROTATE_MODULE: 'LOG_ROTATE_ROTATE_MODULE',
    LOG_ROTATE_WORKER_INTERVAL: 'LOG_ROTATE_WORKER_INTERVAL',
    LOG_ROTATE_ROTATE_INTERVAL: 'LOG_ROTATE_ROTATE_INTERVAL',
    LOG_ROTATE_TIMEZONE: 'LOG_ROTATE_TIMEZONE',
    LOG_DAILY_ROTATE_KEY: 'LOG_DAILY_ROTATE',
    LOG_MAX_DAILY_FILES_KEY: 'LOG_MAX_DAILY_FILES',
    PROPS_ENV_KEY: 'NODE_ENV',
    SETTINGS_PATH_KEY: 'settings_path', // This value is used in the boot prop file not the settings file. It should stay lowercase.
    ALLOW_SELF_SIGNED_SSL_CERTS: 'ALLOW_SELF_SIGNED_SSL_CERTS',
    MAX_HDB_PROCESSES: 'MAX_HDB_PROCESSES',
    INSTALL_USER: 'install_user', // This value is used in the boot prop file not the settings file. It should stay lowercase.
    SERVER_TIMEOUT_KEY: 'SERVER_TIMEOUT_MS',
    SERVER_KEEP_ALIVE_TIMEOUT_KEY: 'SERVER_KEEP_ALIVE_TIMEOUT',
    SERVER_HEADERS_TIMEOUT_KEY: 'SERVER_HEADERS_TIMEOUT',
    DISABLE_TRANSACTION_LOG_KEY: 'DISABLE_TRANSACTION_LOG',
    OPERATION_TOKEN_TIMEOUT_KEY: 'OPERATION_TOKEN_TIMEOUT',
    REFRESH_TOKEN_TIMEOUT_KEY: 'REFRESH_TOKEN_TIMEOUT',
    CUSTOM_FUNCTIONS_ENABLED_KEY: 'CUSTOM_FUNCTIONS',
    CUSTOM_FUNCTIONS_PORT_KEY: 'CUSTOM_FUNCTIONS_PORT',
    CUSTOM_FUNCTIONS_DIRECTORY_KEY: 'CUSTOM_FUNCTIONS_DIRECTORY',
    MAX_CUSTOM_FUNCTION_PROCESSES: 'MAX_CUSTOM_FUNCTION_PROCESSES',
    LOG_TO_FILE: 'LOG_TO_FILE',
    LOG_TO_STDSTREAMS: 'LOG_TO_STDSTREAMS',
    RUN_IN_FOREGROUND: 'RUN_IN_FOREGROUND',
    LOCAL_STUDIO_ON: 'LOCAL_STUDIO_ON',
    STORAGE_WRITE_ASYNC: 'STORAGE_WRITE_ASYNC',
};
/** Legacy configuration parameters */
exports.LEGACY_CONFIG_PARAMS = {
    CUSTOMFUNCTIONS_ENABLED: 'customFunctions_enabled',
    CUSTOMFUNCTIONS_NETWORK_PORT: 'customFunctions_network_port',
    CUSTOMFUNCTIONS_TLS_CERTIFICATE: 'customFunctions_tls_certificate',
    CUSTOMFUNCTIONS_NETWORK_CORS: 'customFunctions_network_cors',
    CUSTOMFUNCTIONS_NETWORK_CORSACCESSLIST: 'customFunctions_network_corsAccessList',
    CUSTOMFUNCTIONS_NETWORK_HEADERSTIMEOUT: 'customFunctions_network_headersTimeout',
    CUSTOMFUNCTIONS_NETWORK_HTTPS: 'customFunctions_network_https',
    CUSTOMFUNCTIONS_NETWORK_KEEPALIVETIMEOUT: 'customFunctions_network_keepAliveTimeout',
    CUSTOMFUNCTIONS_TLS_PRIVATEKEY: 'customFunctions_tls_privateKey',
    CUSTOMFUNCTIONS_TLS_CERT_AUTH: 'customFunctions_tls_certificateAuthority',
    CUSTOMFUNCTIONS_NETWORK_TIMEOUT: 'customFunctions_network_timeout',
    CUSTOMFUNCTIONS_NODEENV: 'customFunctions_nodeEnv',
    CUSTOMFUNCTIONS_ROOT: 'customFunctions_root',
};
/**
 * All configuration parameters for Harper
 *
 * If a param is added to config it must also be added here.
 */
exports.CONFIG_PARAMS = {
    ANALYTICS_AGGREGATEPERIOD: 'analytics_aggregatePeriod',
    ANALYTICS_REPLICATE: 'analytics_replicate',
    ANALYTICS_STORAGEINTERVAL: 'analytics_storageInterval',
    AUTHENTICATION_AUTHORIZELOCAL: 'authentication_authorizeLocal',
    AUTHENTICATION_CACHETTL: 'authentication_cacheTTL',
    AUTHENTICATION_COOKIE_DOMAINS: 'authentication_cookie_domains',
    AUTHENTICATION_COOKIE_EXPIRES: 'authentication_cookie_expires',
    AUTHENTICATION_ENABLESESSIONS: 'authentication_enableSessions',
    AUTHENTICATION_OPERATIONTOKENTIMEOUT: 'authentication_operationTokenTimeout',
    AUTHENTICATION_REFRESHTOKENTIMEOUT: 'authentication_refreshTokenTimeout',
    AUTHENTICATION_HASHFUNCTION: 'authentication_hashFunction',
    CUSTOMFUNCTIONS_NETWORK_HTTPS: 'customFunctions_network_https',
    APPLICATIONS_MODULELOADER: 'applications_moduleLoader',
    APPLICATIONS_LOCKDOWN: 'applications_lockdown',
    APPLICATIONS_DEPENDENCYLOADER: 'applications_dependencyLoader',
    APPLICATIONS_PACKAGEMANAGERPREFIX: 'applications_packageManagerPrefix',
    APPLICATIONS_ALLOWEDBUILTINMODULES: 'applications_allowedBuiltInModules',
    APPLICATIONS_ALLOWEDSPAWNCOMMANDS: 'applications_allowedSpawnCommands',
    APPLICATIONS_ALLOWEDDIRECTORY: 'applications_allowedDirectory',
    THREADS: 'threads',
    THREADS_COUNT: 'threads_count',
    THREADS_DEBUG: 'threads_debug',
    THREADS_DEBUG_STARTINGPORT: 'threads_debug_startingPort',
    THREADS_DEBUG_PORT: 'threads_debug_port',
    THREADS_DEBUG_HOST: 'threads_debug_host',
    THREADS_DEBUG_WAITFORDEBUGGER: 'threads_debug_waitForDebugger',
    THREADS_MAXHEAPMEMORY: 'threads_maxHeapMemory',
    THREADS_HEAPSNAPSHOTNEARLIMIT: 'threads_heapSnapshotNearLimit',
    HTTP_SESSIONAFFINITY: 'http_sessionAffinity',
    HTTP_COMPRESSIONTHRESHOLD: 'http_compressionThreshold',
    HTTP_CORS: 'http_cors',
    HTTP_CORSACCESSLIST: 'http_corsAccessList',
    HTTP_CORSACCESSCONTROLALLOWHEADERS: 'http_corsAccessControlAllowHeaders',
    HTTP_HEADERSTIMEOUT: 'http_headersTimeout',
    HTTP_KEEPALIVETIMEOUT: 'http_keepAliveTimeout',
    HTTP_MAXPARAMLENGTH: 'http_maxParamLength',
    HTTP_TIMEOUT: 'http_timeout',
    HTTP_PORT: 'http_port',
    HTTP_SECUREPORT: 'http_securePort',
    HTTP_MTLS: 'http_mtls',
    HTTP_MTLS_REQUIRED: 'http_mtls_required',
    HTTP_MTLS_USER: 'http_mtls_user',
    HTTP_MTLS_CERTIFICATEVERIFICATION: 'http_mtls_certificateVerification',
    HTTP_MTLS_CERTIFICATEVERIFICATION_FAILUREMODE: 'http_mtls_certificateVerification_failureMode',
    HTTP_MTLS_CERTIFICATEVERIFICATION_CRL: 'http_mtls_certificateVerification_crl',
    HTTP_MTLS_CERTIFICATEVERIFICATION_CRL_TIMEOUT: 'http_mtls_certificateVerification_crl_timeout',
    HTTP_MTLS_CERTIFICATEVERIFICATION_CRL_CACHETTL: 'http_mtls_certificateVerification_crl_cacheTtl',
    HTTP_MTLS_CERTIFICATEVERIFICATION_CRL_FAILUREMODE: 'http_mtls_certificateVerification_crl_failureMode',
    HTTP_MTLS_CERTIFICATEVERIFICATION_CRL_GRACEPERIOD: 'http_mtls_certificateVerification_crl_gracePeriod',
    HTTP_MTLS_CERTIFICATEVERIFICATION_OCSP: 'http_mtls_certificateVerification_ocsp',
    HTTP_MTLS_CERTIFICATEVERIFICATION_OCSP_TIMEOUT: 'http_mtls_certificateVerification_ocsp_timeout',
    HTTP_MTLS_CERTIFICATEVERIFICATION_OCSP_CACHETTL: 'http_mtls_certificateVerification_ocsp_cacheTtl',
    HTTP_MTLS_CERTIFICATEVERIFICATION_OCSP_ERRORCACHETTL: 'http_mtls_certificateVerification_ocsp_errorCacheTtl',
    HTTP_MTLS_CERTIFICATEVERIFICATION_OCSP_FAILUREMODE: 'http_mtls_certificateVerification_ocsp_failureMode',
    HTTP_MAXHEADERSIZE: 'http_maxHeaderSize',
    HTTP_THREADRANGE: 'http_threadRange',
    HTTP_REQUESTQUEUELIMIT: 'http_requestQueueLimit',
    HTTP_MAXREQUESTBODYSIZE: 'http_maxRequestBodySize',
    HTTP_HTTP2: 'http_http2',
    LICENSE_MODE: 'license_mode',
    LICENSE_REGION: 'license_region',
    LOCALSTUDIO_ENABLED: 'localStudio_enabled',
    LOGGING_COLORS: 'logging_colors',
    LOGGING_CONSOLE: 'logging_console',
    LOGGING_FILE: 'logging_file',
    LOGGING_LEVEL: 'logging_level',
    LOGGING_ROOT: 'logging_root',
    LOGGING_EXTERNAL_LEVEL: 'logging_external_level',
    LOGGING_EXTERNAL_TAG: 'logging_external_tag',
    LOGGING_EXTERNAL_PATH: 'logging_external_path',
    LOGGING_ROTATION_ENABLED: 'logging_rotation_enabled',
    LOGGING_ROTATION_COMPRESS: 'logging_rotation_compress',
    LOGGING_ROTATION_INTERVAL: 'logging_rotation_interval',
    LOGGING_ROTATION_MAXSIZE: 'logging_rotation_maxSize',
    LOGGING_ROTATION_PATH: 'logging_rotation_path',
    LOGGING_ROTATION_RETENTION: 'logging_rotation_retention',
    LOGGING_STDSTREAMS: 'logging_stdStreams',
    LOGGING_AUDITLOG: 'logging_auditLog',
    LOGGING_AUDITRETENTION: 'logging_auditRetention',
    LOGGING_AUDITAUTHEVENTS_LOGFAILED: 'logging_auditAuthEvents_logFailed',
    LOGGING_AUDITAUTHEVENTS_LOGSUCCESSFUL: 'logging_auditAuthEvents_logSuccessful',
    OPERATIONSAPI_NETWORK_CORS: 'operationsApi_network_cors',
    OPERATIONSAPI_NETWORK_CORSACCESSLIST: 'operationsApi_network_corsAccessList',
    OPERATIONSAPI_NETWORK_HEADERSTIMEOUT: 'operationsApi_network_headersTimeout',
    OPERATIONSAPI_NETWORK_HTTPS: 'operationsApi_network_https',
    OPERATIONSAPI_NETWORK_KEEPALIVETIMEOUT: 'operationsApi_network_keepAliveTimeout',
    OPERATIONSAPI_NETWORK_PORT: 'operationsApi_network_port',
    OPERATIONSAPI_NETWORK_DOMAINSOCKET: 'operationsApi_network_domainSocket',
    OPERATIONSAPI_NETWORK_SECUREPORT: 'operationsApi_network_securePort',
    OPERATIONSAPI_NETWORK_HTTP2: 'operationsApi_network_http2',
    OPERATIONSAPI_NETWORK_MAXREQUESTBODYSIZE: 'operationsApi_network_maxRequestBodySize',
    OPERATIONSAPI_TLS: 'operationsApi_tls',
    OPERATIONSAPI_TLS_CERTIFICATE: 'operationsApi_tls_certificate',
    OPERATIONSAPI_TLS_PRIVATEKEY: 'operationsApi_tls_privateKey',
    OPERATIONSAPI_TLS_CERTIFICATEAUTHORITY: 'operationsApi_tls_certificateAuthority',
    OPERATIONSAPI_NETWORK_TIMEOUT: 'operationsApi_network_timeout',
    OPERATIONSAPI_SYSINFO_NETWORK: 'operationsApi_sysInfo_network',
    OPERATIONSAPI_SYSINFO_DISK: 'operationsApi_sysInfo_disk',
    REPLICATION: 'replication',
    REPLICATION_HOSTNAME: 'replication_hostname',
    REPLICATION_URL: 'replication_url',
    REPLICATION_PORT: 'replication_port',
    REPLICATION_SECUREPORT: 'replication_securePort',
    REPLICATION_ROUTES: 'replication_routes',
    REPLICATION_DATABASES: 'replication_databases',
    REPLICATION_ENABLEROOTCAS: 'replication_enableRootCAs',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION: 'replication_mtls_certificateVerification',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_FAILUREMODE: 'replication_mtls_certificateVerification_failureMode',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_CRL: 'replication_mtls_certificateVerification_crl',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_CRL_TIMEOUT: 'replication_mtls_certificateVerification_crl_timeout',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_CRL_CACHETTL: 'replication_mtls_certificateVerification_crl_cacheTtl',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_CRL_FAILUREMODE: 'replication_mtls_certificateVerification_crl_failureMode',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_CRL_GRACEPERIOD: 'replication_mtls_certificateVerification_crl_gracePeriod',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_OCSP: 'replication_mtls_certificateVerification_ocsp',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_OCSP_TIMEOUT: 'replication_mtls_certificateVerification_ocsp_timeout',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_OCSP_CACHETTL: 'replication_mtls_certificateVerification_ocsp_cacheTtl',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_OCSP_ERRORCACHETTL: 'replication_mtls_certificateVerification_ocsp_errorCacheTtl',
    REPLICATION_MTLS_CERTIFICATEVERIFICATION_OCSP_FAILUREMODE: 'replication_mtls_certificateVerification_ocsp_failureMode',
    REPLICATION_SHARD: 'replication_shard',
    REPLICATION_BLOBTIMEOUT: 'replication_blobTimeout',
    REPLICATION_FAILOVER: 'replication_failover',
    REPLICATION_BLOBCONCURRENCY: 'replication_blobConcurrency',
    REPLICATION_MAXPAYLOAD: 'replication_maxPayload',
    REPLICATION_RECORDCONCURRENCY: 'replication_recordConcurrency',
    ROOTPATH: 'rootPath',
    SERIALIZATION_BIGINT: 'serialization_bigInt',
    STORAGE_WRITEASYNC: 'storage_writeAsync',
    STORAGE_OVERLAPPINGSYNC: 'storage_overlappingSync',
    STORAGE_CACHING: 'storage_caching',
    STORAGE_COMPRESSION: 'storage_compression',
    STORAGE_NOREADAHEAD: 'storage_noReadAhead',
    STORAGE_PREFETCHWRITES: 'storage_prefetchWrites',
    STORAGE_ENCRYPTION: 'storage_encryption',
    STORAGE_MAXTRANSACTIONQUEUETIME: 'storage_maxTransactionQueueTime',
    STORAGE_MAXTRANSACTIONOPENTIME: 'storage_maxTransactionOpenTime',
    STORAGE_DEBUGLONGTRANSACTIONS: 'storage_debugLongTransactions',
    STORAGE_PATH: 'storage_path',
    STORAGE_BLOBPATHS: 'storage_blobPaths',
    STORAGE_BLOBCLEANUPSPEED: 'storage_blobCleanupSpeed',
    STORAGE_AUDIT_PATH: 'storage_audit_path',
    STORAGE_MAXFREESPACETOLOAD: 'storage_maxFreeSpaceToLoad',
    STORAGE_MAXFREESPACETORETAIN: 'storage_maxFreeSpaceToRetain',
    STORAGE_PAGESIZE: 'storage_pageSize',
    STORAGE_COMPRESSION_DICTIONARY: 'storage_compression_dictionary',
    STORAGE_COMPRESSION_THRESHOLD: 'storage_compression_threshold',
    STORAGE_COMPACTONSTART: 'storage_compactOnStart',
    STORAGE_COMPACTONSTARTKEEPBACKUP: 'storage_compactOnStartKeepBackup',
    STORAGE_MIGRATEONSTART: 'storage_migrateOnStart',
    STORAGE_RECLAMATION_THRESHOLD: 'storage_reclamation_threshold',
    STORAGE_RECLAMATION_INTERVAL: 'storage_reclamation_interval',
    STORAGE_RECLAMATION_EVICTIONFACTOR: 'storage_reclamation_evictionFactor',
    STORAGE_ENGINE: 'storage_engine',
    DATABASES: 'databases',
    IGNORE_SCRIPTS: 'ignoreScripts',
    MQTT_NETWORK_PORT: 'mqtt_network_port',
    MQTT_WEBSOCKET: 'mqtt_webSocket',
    MQTT_NETWORK_SECUREPORT: 'mqtt_network_securePort',
    MQTT_NETWORK_MTLS: 'mqtt_network_mtls',
    MQTT_NETWORK_MTLS_REQUIRED: 'mqtt_network_mtls_required',
    MQTT_NETWORK_MTLS_CERTIFICATEAUTHORITY: 'mqtt_network_mtls_certificateAuthority',
    MQTT_NETWORK_MTLS_USER: 'mqtt_network_mtls_user',
    MQTT_REQUIREAUTHENTICATION: 'mqtt_requireAuthentication',
    COMPONENTSROOT: 'componentsRoot',
    TLS_CERTIFICATE: 'tls_certificate',
    TLS_PRIVATEKEY: 'tls_privateKey',
    TLS_CERTIFICATEAUTHORITY: 'tls_certificateAuthority',
    TLS_CIPHERS: 'tls_ciphers',
    TLS: 'tls',
    CLONED: 'cloned',
    NODE_HOSTNAME: 'node_hostname',
    NODE_URL: 'node_url',
};
/**
 * This constant maps user-provided configuration parameters (from CLI, environment variables, etc.) to the
 * case-sensitive configuration parameters. New parameters added to the CONFIG_PARAMS constant above are
 * dynamically included in this mapping via the subsequent for loop, eliminating the need for manual updates.
 * Additionally, this constant serves to map old configuration parameters to their updated counterparts.
 */
exports.CONFIG_PARAM_MAP = {
    settings_path: exports.BOOT_PROP_PARAMS.SETTINGS_PATH_KEY,
    hdb_root_key: exports.CONFIG_PARAMS.ROOTPATH,
    hdb_root: exports.CONFIG_PARAMS.ROOTPATH,
    rootpath: exports.CONFIG_PARAMS.ROOTPATH,
    server_port_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_PORT,
    server_port: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_PORT,
    cert_key: exports.CONFIG_PARAMS.TLS_CERTIFICATE,
    certificate: exports.CONFIG_PARAMS.TLS_CERTIFICATE,
    private_key_key: exports.CONFIG_PARAMS.TLS_PRIVATEKEY,
    private_key: exports.CONFIG_PARAMS.TLS_PRIVATEKEY,
    http_secure_enabled_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_HTTPS,
    https_on: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_HTTPS,
    cors_enabled_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORS,
    cors_on: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORS,
    cors_whitelist_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORSACCESSLIST,
    cors_whitelist: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORSACCESSLIST,
    cors_accesslist_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORSACCESSLIST,
    cors_accesslist: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORSACCESSLIST,
    log_level_key: exports.CONFIG_PARAMS.LOGGING_LEVEL,
    log_level: exports.CONFIG_PARAMS.LOGGING_LEVEL,
    log_path_key: exports.CONFIG_PARAMS.LOGGING_ROOT,
    log_path: exports.CONFIG_PARAMS.LOGGING_ROOT,
    max_http_threads: exports.CONFIG_PARAMS.THREADS_COUNT,
    max_hdb_processes: exports.CONFIG_PARAMS.THREADS_COUNT,
    server_timeout_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_TIMEOUT,
    server_timeout_ms: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_TIMEOUT,
    server_keep_alive_timeout_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_KEEPALIVETIMEOUT,
    server_keep_alive_timeout: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_KEEPALIVETIMEOUT,
    server_headers_timeout_key: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_HEADERSTIMEOUT,
    server_headers_timeout: exports.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_HEADERSTIMEOUT,
    disable_transaction_log_key: exports.CONFIG_PARAMS.LOGGING_AUDITLOG,
    disable_transaction_log: exports.CONFIG_PARAMS.LOGGING_AUDITLOG,
    operation_token_timeout_key: exports.CONFIG_PARAMS.AUTHENTICATION_OPERATIONTOKENTIMEOUT,
    operation_token_timeout: exports.CONFIG_PARAMS.AUTHENTICATION_OPERATIONTOKENTIMEOUT,
    refresh_token_timeout_key: exports.CONFIG_PARAMS.AUTHENTICATION_REFRESHTOKENTIMEOUT,
    refresh_token_timeout: exports.CONFIG_PARAMS.AUTHENTICATION_REFRESHTOKENTIMEOUT,
    custom_functions_port_key: exports.CONFIG_PARAMS.HTTP_PORT,
    custom_functions_port: exports.CONFIG_PARAMS.HTTP_PORT,
    custom_functions_directory_key: exports.CONFIG_PARAMS.COMPONENTSROOT,
    custom_functions_directory: exports.CONFIG_PARAMS.COMPONENTSROOT,
    max_custom_function_processes: exports.CONFIG_PARAMS.THREADS_COUNT,
    logging_console: exports.CONFIG_PARAMS.LOGGING_CONSOLE,
    log_to_file: exports.CONFIG_PARAMS.LOGGING_FILE,
    log_to_stdstreams: exports.CONFIG_PARAMS.LOGGING_STDSTREAMS,
    local_studio_on: exports.CONFIG_PARAMS.LOCALSTUDIO_ENABLED,
    customfunctions_network_port: exports.CONFIG_PARAMS.HTTP_PORT,
    customfunctions_tls_certificate: exports.CONFIG_PARAMS.TLS_CERTIFICATE,
    customfunctions_network_cors: exports.CONFIG_PARAMS.HTTP_CORS,
    customfunctions_network_corsaccesslist: exports.CONFIG_PARAMS.HTTP_CORSACCESSLIST,
    customfunctions_network_headerstimeout: exports.CONFIG_PARAMS.HTTP_HEADERSTIMEOUT,
    customfunctions_network_https: exports.CONFIG_PARAMS.CUSTOMFUNCTIONS_NETWORK_HTTPS,
    customfunctions_network_keepalivetimeout: exports.CONFIG_PARAMS.HTTP_KEEPALIVETIMEOUT,
    customfunctions_tls_privatekey: exports.CONFIG_PARAMS.TLS_PRIVATEKEY,
    customfunctions_tls_certificateauthority: exports.CONFIG_PARAMS.TLS_CERTIFICATEAUTHORITY,
    customfunctions_network_timeout: exports.CONFIG_PARAMS.HTTP_TIMEOUT,
    customfunctions_tls: exports.CONFIG_PARAMS.TLS,
    http_threads: exports.CONFIG_PARAMS.THREADS_COUNT,
    threads: exports.CONFIG_PARAMS.THREADS_COUNT,
    threads_count: exports.CONFIG_PARAMS.THREADS_COUNT,
    customfunctions_processes: exports.CONFIG_PARAMS.THREADS_COUNT,
    customfunctions_root: exports.CONFIG_PARAMS.COMPONENTSROOT,
    operationsapi_root: exports.CONFIG_PARAMS.ROOTPATH,
    node_hostname: exports.CONFIG_PARAMS.NODE_HOSTNAME,
    node_url: exports.CONFIG_PARAMS.NODE_URL,
}; // This object is dynamically populated below so don't mark as const until we can fix this up.
for (const key in exports.CONFIG_PARAMS) {
    const name = exports.CONFIG_PARAMS[key];
    exports.CONFIG_PARAM_MAP[name.toLowerCase()] = name;
}
/** Database parameter config */
exports.DATABASES_PARAM_CONFIG = {
    TABLES: 'tables',
    PATH: 'path',
    AUDIT_PATH: 'auditPath',
};
/** Describes all available job types */
exports.JOB_TYPE_ENUM = {
    csv_file_load: 'csv_file_load',
    csv_data_load: exports.OPERATIONS_ENUM.CSV_DATA_LOAD,
    csv_url_load: exports.OPERATIONS_ENUM.CSV_URL_LOAD,
    delete_files_before: 'delete_files_before',
    delete_records_before: 'delete_records_before',
    delete_audit_logs_before: 'delete_audit_logs_before',
    delete_transaction_logs_before: 'delete_transaction_logs_before',
    empty_trash: 'empty_trash',
    export_local: 'export_local',
    export_to_s3: 'export_to_s3',
    import_from_s3: 'import_from_s3',
    restart_service: 'restart_service',
};
/** Specifies values for licenses */
exports.LICENSE_VALUES = {
    VERSION_DEFAULT: '2.2.0',
};
/** The maximum ram allocation in MB per HDB child process */
exports.RAM_ALLOCATION_ENUM = {
    DEVELOPMENT: 8192, //8GB
    DEFAULT: 512, //.5GB
};
/** Common Node.js Error Codes */
exports.NODE_ERROR_CODES = {
    ENOENT: 'ENOENT', // No such file or directory.
    EACCES: 'EACCES', // Permission denied.
    EEXIST: 'EEXIST', // File already exists.
    ERR_INVALID_ARG_TYPE: 'ERR_INVALID_ARG_TYPE',
};
// TODO: Wherever this is used, replace this with a private property
/** Symbol for metadata */
exports.METADATA_PROPERTY = Symbol('metadata');
const CREATED_TIME = '__createdtime__';
const UPDATED_TIME = '__updatedtime__';
/** Timestamp keys */
exports.TIME_STAMP_NAMES_ENUM = {
    CREATED_TIME,
    UPDATED_TIME,
};
/** Timestamp values */
exports.TIME_STAMP_NAMES = [CREATED_TIME, UPDATED_TIME];
/**
 * This value is used to help evaluate whether or not a permissions translation error is related to old permissions values or if it could be another code-related bug/error.
 */
exports.PERMS_UPDATE_RELEASE_TIMESTAMP = 1598486400000;
/** Search comparator value strings */
exports.VALUE_SEARCH_COMPARATORS = {
    LESS: '<',
    LESS_OR_EQ: '<=',
    GREATER: '>',
    GREATER_OR_EQ: '>=',
    BETWEEN: '...',
};
/** Inverted form of VALUE_SEARCH_COMPARATORS */
exports.VALUE_SEARCH_COMPARATORS_REVERSE_LOOKUP = {
    '<': 'LESS',
    '<=': 'LESS_OR_EQ',
    '>': 'GREATER',
    '>=': 'GREATER_OR_EQ',
    '...': 'BETWEEN',
};
/** Standard CRUD operation map */
exports.PERMS_CRUD_ENUM = {
    READ: 'read',
    INSERT: 'insert',
    UPDATE: 'update',
    DELETE: 'delete',
};
/** Search wildcards */
exports.SEARCH_WILDCARDS = ['*', '%'];
/** Function value used in data layer and SQL transactions */
exports.FUNC_VAL = 'func_val';
/** Audit log search types for read operation */
exports.READ_AUDIT_LOG_SEARCH_TYPES_ENUM = {
    HASH_VALUE: 'hash_value',
    TIMESTAMP: 'timestamp',
    USERNAME: 'username',
};
/** JWT key and pass file names */
exports.JWT_ENUM = {
    JWT_PRIVATE_KEY_NAME: '.jwtPrivate.key',
    JWT_PUBLIC_KEY_NAME: '.jwtPublic.key',
    JWT_PASSPHRASE_NAME: '.jwtPass',
};
/** ITC Channel Event types */
exports.ITC_EVENT_TYPES = {
    SHUTDOWN: 'shutdown',
    CHILD_STARTED: 'child_started',
    CHILD_STOPPED: 'child_stopped',
    SCHEMA: 'schema',
    USER: 'user',
    METRICS: 'metrics',
    GET_METRICS: 'get_metrics',
    RESTART: 'restart',
    START_JOB: 'start_job',
    COMPONENT_STATUS_REQUEST: 'component_status_request',
    COMPONENT_STATUS_RESPONSE: 'component_status_response',
};
/** Supported thread types */
exports.THREAD_TYPES = {
    HTTP: 'http',
};
/** A version string for pre 4.0.0 comparison */
exports.PRE_4_0_0_VERSION = '3.x.x';
/** Authentication audit statusses */
exports.AUTH_AUDIT_STATUS = {
    SUCCESS: 'success',
    FAILURE: 'failure',
};
/** Authentication audit types */
exports.AUTH_AUDIT_TYPES = {
    AUTHENTICATION: 'authentication',
    AUTHORIZATION: 'authorization',
};
//# sourceMappingURL=hdbTerms.js.map