@dofe/infra-common 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/base.adapter.d.ts +84 -0
- package/dist/adapters/base.adapter.d.ts.map +1 -0
- package/dist/adapters/base.adapter.js +19 -0
- package/dist/adapters/base.adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +35 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +53 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/common.module.d.ts +7 -0
- package/dist/common.module.d.ts.map +1 -0
- package/dist/common.module.js +26 -0
- package/dist/common.module.js.map +1 -0
- package/dist/config/agentx.config.d.ts +37 -0
- package/dist/config/agentx.config.d.ts.map +1 -0
- package/dist/config/agentx.config.js +81 -0
- package/dist/config/agentx.config.js.map +1 -0
- package/dist/config/configuration.d.ts +55 -0
- package/dist/config/configuration.d.ts.map +1 -0
- package/dist/config/configuration.js +336 -0
- package/dist/config/configuration.js.map +1 -0
- package/dist/config/constant/config.constants.d.ts +48 -0
- package/dist/config/constant/config.constants.d.ts.map +1 -0
- package/dist/config/constant/config.constants.js +86 -0
- package/dist/config/constant/config.constants.js.map +1 -0
- package/dist/config/dto/config.dto.d.ts +222 -0
- package/dist/config/dto/config.dto.d.ts.map +1 -0
- package/dist/config/dto/config.dto.js +42 -0
- package/dist/config/dto/config.dto.js.map +1 -0
- package/dist/config/env-config.service.d.ts +147 -0
- package/dist/config/env-config.service.d.ts.map +1 -0
- package/dist/config/env-config.service.js +296 -0
- package/dist/config/env-config.service.js.map +1 -0
- package/dist/config/features/feature-errors.d.ts +13 -0
- package/dist/config/features/feature-errors.d.ts.map +1 -0
- package/dist/config/features/feature-errors.js +25 -0
- package/dist/config/features/feature-errors.js.map +1 -0
- package/dist/config/features/feature-registry.d.ts +26 -0
- package/dist/config/features/feature-registry.d.ts.map +1 -0
- package/dist/config/features/feature-registry.js +172 -0
- package/dist/config/features/feature-registry.js.map +1 -0
- package/dist/config/features/index.d.ts +4 -0
- package/dist/config/features/index.d.ts.map +1 -0
- package/dist/config/features/index.js +9 -0
- package/dist/config/features/index.js.map +1 -0
- package/dist/config/validation/env.validation.d.ts +132 -0
- package/dist/config/validation/env.validation.d.ts.map +1 -0
- package/dist/config/validation/env.validation.js +304 -0
- package/dist/config/validation/env.validation.js.map +1 -0
- package/dist/config/validation/index.d.ts +21 -0
- package/dist/config/validation/index.d.ts.map +1 -0
- package/dist/config/validation/index.js +119 -0
- package/dist/config/validation/index.js.map +1 -0
- package/dist/config/validation/keys.validation.d.ts +884 -0
- package/dist/config/validation/keys.validation.d.ts.map +1 -0
- package/dist/config/validation/keys.validation.js +506 -0
- package/dist/config/validation/keys.validation.js.map +1 -0
- package/dist/config/validation/yaml.validation.d.ts +765 -0
- package/dist/config/validation/yaml.validation.d.ts.map +1 -0
- package/dist/config/validation/yaml.validation.js +488 -0
- package/dist/config/validation/yaml.validation.js.map +1 -0
- package/dist/config/vendor.config.d.ts +48 -0
- package/dist/config/vendor.config.d.ts.map +1 -0
- package/dist/config/vendor.config.js +136 -0
- package/dist/config/vendor.config.js.map +1 -0
- package/dist/decorators/api-key/api-key.decorator.d.ts +25 -0
- package/dist/decorators/api-key/api-key.decorator.d.ts.map +1 -0
- package/dist/decorators/api-key/api-key.decorator.js +30 -0
- package/dist/decorators/api-key/api-key.decorator.js.map +1 -0
- package/dist/decorators/api-key/index.d.ts +2 -0
- package/dist/decorators/api-key/index.d.ts.map +1 -0
- package/dist/decorators/api-key/index.js +18 -0
- package/dist/decorators/api-key/index.js.map +1 -0
- package/dist/decorators/app-version/app-version.controller.d.ts +30 -0
- package/dist/decorators/app-version/app-version.controller.d.ts.map +1 -0
- package/dist/decorators/app-version/app-version.controller.js +159 -0
- package/dist/decorators/app-version/app-version.controller.js.map +1 -0
- package/dist/decorators/app-version/app-version.interceptor.d.ts +15 -0
- package/dist/decorators/app-version/app-version.interceptor.d.ts.map +1 -0
- package/dist/decorators/app-version/app-version.interceptor.js +42 -0
- package/dist/decorators/app-version/app-version.interceptor.js.map +1 -0
- package/dist/decorators/app-version/app-version.module.d.ts +8 -0
- package/dist/decorators/app-version/app-version.module.d.ts.map +1 -0
- package/dist/decorators/app-version/app-version.module.js +39 -0
- package/dist/decorators/app-version/app-version.module.js.map +1 -0
- package/dist/decorators/app-version/app-version.service.d.ts +88 -0
- package/dist/decorators/app-version/app-version.service.d.ts.map +1 -0
- package/dist/decorators/app-version/app-version.service.js +251 -0
- package/dist/decorators/app-version/app-version.service.js.map +1 -0
- package/dist/decorators/app-version/index.d.ts +8 -0
- package/dist/decorators/app-version/index.d.ts.map +1 -0
- package/dist/decorators/app-version/index.js +15 -0
- package/dist/decorators/app-version/index.js.map +1 -0
- package/dist/decorators/audit-log.decorator.d.ts +41 -0
- package/dist/decorators/audit-log.decorator.d.ts.map +1 -0
- package/dist/decorators/audit-log.decorator.js +19 -0
- package/dist/decorators/audit-log.decorator.js.map +1 -0
- package/dist/decorators/cache/cache.decorator.d.ts +256 -0
- package/dist/decorators/cache/cache.decorator.d.ts.map +1 -0
- package/dist/decorators/cache/cache.decorator.js +339 -0
- package/dist/decorators/cache/cache.decorator.js.map +1 -0
- package/dist/decorators/cache/cache.interceptor.d.ts +43 -0
- package/dist/decorators/cache/cache.interceptor.d.ts.map +1 -0
- package/dist/decorators/cache/cache.interceptor.js +219 -0
- package/dist/decorators/cache/cache.interceptor.js.map +1 -0
- package/dist/decorators/cache/cache.module.d.ts +9 -0
- package/dist/decorators/cache/cache.module.d.ts.map +1 -0
- package/dist/decorators/cache/cache.module.js +36 -0
- package/dist/decorators/cache/cache.module.js.map +1 -0
- package/dist/decorators/cache/index.d.ts +7 -0
- package/dist/decorators/cache/index.d.ts.map +1 -0
- package/dist/decorators/cache/index.js +32 -0
- package/dist/decorators/cache/index.js.map +1 -0
- package/dist/decorators/data-visibility/data-visibility.decorator.d.ts +74 -0
- package/dist/decorators/data-visibility/data-visibility.decorator.d.ts.map +1 -0
- package/dist/decorators/data-visibility/data-visibility.decorator.js +87 -0
- package/dist/decorators/data-visibility/data-visibility.decorator.js.map +1 -0
- package/dist/decorators/data-visibility/index.d.ts +2 -0
- package/dist/decorators/data-visibility/index.d.ts.map +1 -0
- package/dist/decorators/data-visibility/index.js +18 -0
- package/dist/decorators/data-visibility/index.js.map +1 -0
- package/dist/decorators/event/event.decorator.d.ts +152 -0
- package/dist/decorators/event/event.decorator.d.ts.map +1 -0
- package/dist/decorators/event/event.decorator.js +158 -0
- package/dist/decorators/event/event.decorator.js.map +1 -0
- package/dist/decorators/event/event.interceptor.d.ts +23 -0
- package/dist/decorators/event/event.interceptor.d.ts.map +1 -0
- package/dist/decorators/event/event.interceptor.js +140 -0
- package/dist/decorators/event/event.interceptor.js.map +1 -0
- package/dist/decorators/event/event.module.d.ts +9 -0
- package/dist/decorators/event/event.module.d.ts.map +1 -0
- package/dist/decorators/event/event.module.js +59 -0
- package/dist/decorators/event/event.module.js.map +1 -0
- package/dist/decorators/event/handlers/cache-event.handler.d.ts +55 -0
- package/dist/decorators/event/handlers/cache-event.handler.d.ts.map +1 -0
- package/dist/decorators/event/handlers/cache-event.handler.js +159 -0
- package/dist/decorators/event/handlers/cache-event.handler.js.map +1 -0
- package/dist/decorators/event/index.d.ts +8 -0
- package/dist/decorators/event/index.d.ts.map +1 -0
- package/dist/decorators/event/index.js +26 -0
- package/dist/decorators/event/index.js.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.decorator.d.ts +144 -0
- package/dist/decorators/feature-flag/feature-flag.decorator.d.ts.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.decorator.js +135 -0
- package/dist/decorators/feature-flag/feature-flag.decorator.js.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts +30 -0
- package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.interceptor.js +127 -0
- package/dist/decorators/feature-flag/feature-flag.interceptor.js.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.module.d.ts +9 -0
- package/dist/decorators/feature-flag/feature-flag.module.d.ts.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.module.js +39 -0
- package/dist/decorators/feature-flag/feature-flag.module.js.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.service.d.ts +102 -0
- package/dist/decorators/feature-flag/feature-flag.service.d.ts.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.service.js +373 -0
- package/dist/decorators/feature-flag/feature-flag.service.js.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts +2 -0
- package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts.map +1 -0
- package/dist/decorators/feature-flag/feature-flag.service.spec.js +264 -0
- package/dist/decorators/feature-flag/feature-flag.service.spec.js.map +1 -0
- package/dist/decorators/feature-flag/index.d.ts +8 -0
- package/dist/decorators/feature-flag/index.d.ts.map +1 -0
- package/dist/decorators/feature-flag/index.js +23 -0
- package/dist/decorators/feature-flag/index.js.map +1 -0
- package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts +174 -0
- package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts.map +1 -0
- package/dist/decorators/rate-limit/dto/rate-limit.dto.js +8 -0
- package/dist/decorators/rate-limit/dto/rate-limit.dto.js.map +1 -0
- package/dist/decorators/rate-limit/index.d.ts +24 -0
- package/dist/decorators/rate-limit/index.d.ts.map +1 -0
- package/dist/decorators/rate-limit/index.js +44 -0
- package/dist/decorators/rate-limit/index.js.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.constants.d.ts +16 -0
- package/dist/decorators/rate-limit/rate-limit.constants.d.ts.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.constants.js +22 -0
- package/dist/decorators/rate-limit/rate-limit.constants.js.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.decorator.d.ts +132 -0
- package/dist/decorators/rate-limit/rate-limit.decorator.d.ts.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.decorator.js +185 -0
- package/dist/decorators/rate-limit/rate-limit.decorator.js.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.exception.d.ts +39 -0
- package/dist/decorators/rate-limit/rate-limit.exception.d.ts.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.exception.js +67 -0
- package/dist/decorators/rate-limit/rate-limit.exception.js.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.module.d.ts +25 -0
- package/dist/decorators/rate-limit/rate-limit.module.d.ts.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.module.js +48 -0
- package/dist/decorators/rate-limit/rate-limit.module.js.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.service.d.ts +102 -0
- package/dist/decorators/rate-limit/rate-limit.service.d.ts.map +1 -0
- package/dist/decorators/rate-limit/rate-limit.service.js +390 -0
- package/dist/decorators/rate-limit/rate-limit.service.js.map +1 -0
- package/dist/decorators/response.decorator.d.ts +10 -0
- package/dist/decorators/response.decorator.d.ts.map +1 -0
- package/dist/decorators/response.decorator.js +58 -0
- package/dist/decorators/response.decorator.js.map +1 -0
- package/dist/decorators/skip-version-check.decorator.d.ts +25 -0
- package/dist/decorators/skip-version-check.decorator.d.ts.map +1 -0
- package/dist/decorators/skip-version-check.decorator.js +31 -0
- package/dist/decorators/skip-version-check.decorator.js.map +1 -0
- package/dist/decorators/tenant/index.d.ts +2 -0
- package/dist/decorators/tenant/index.d.ts.map +1 -0
- package/dist/decorators/tenant/index.js +18 -0
- package/dist/decorators/tenant/index.js.map +1 -0
- package/dist/decorators/tenant/tenant.decorator.d.ts +82 -0
- package/dist/decorators/tenant/tenant.decorator.d.ts.map +1 -0
- package/dist/decorators/tenant/tenant.decorator.js +98 -0
- package/dist/decorators/tenant/tenant.decorator.js.map +1 -0
- package/dist/decorators/transaction/index.d.ts +6 -0
- package/dist/decorators/transaction/index.d.ts.map +1 -0
- package/dist/decorators/transaction/index.js +12 -0
- package/dist/decorators/transaction/index.js.map +1 -0
- package/dist/decorators/transaction/transactional.decorator.d.ts +234 -0
- package/dist/decorators/transaction/transactional.decorator.d.ts.map +1 -0
- package/dist/decorators/transaction/transactional.decorator.js +433 -0
- package/dist/decorators/transaction/transactional.decorator.js.map +1 -0
- package/dist/decorators/ts-rest-controller.decorator.d.ts +38 -0
- package/dist/decorators/ts-rest-controller.decorator.d.ts.map +1 -0
- package/dist/decorators/ts-rest-controller.decorator.js +25 -0
- package/dist/decorators/ts-rest-controller.decorator.js.map +1 -0
- package/dist/decorators/validation.decorator.d.ts +4 -0
- package/dist/decorators/validation.decorator.d.ts.map +1 -0
- package/dist/decorators/validation.decorator.js +121 -0
- package/dist/decorators/validation.decorator.js.map +1 -0
- package/dist/decorators/version/index.d.ts +7 -0
- package/dist/decorators/version/index.d.ts.map +1 -0
- package/dist/decorators/version/index.js +25 -0
- package/dist/decorators/version/index.js.map +1 -0
- package/dist/decorators/version/version.decorator.d.ts +96 -0
- package/dist/decorators/version/version.decorator.d.ts.map +1 -0
- package/dist/decorators/version/version.decorator.js +146 -0
- package/dist/decorators/version/version.decorator.js.map +1 -0
- package/dist/decorators/version/version.interceptor.d.ts +19 -0
- package/dist/decorators/version/version.interceptor.d.ts.map +1 -0
- package/dist/decorators/version/version.interceptor.js +86 -0
- package/dist/decorators/version/version.interceptor.js.map +1 -0
- package/dist/decorators/version/version.module.d.ts +8 -0
- package/dist/decorators/version/version.module.d.ts.map +1 -0
- package/dist/decorators/version/version.module.js +33 -0
- package/dist/decorators/version/version.module.js.map +1 -0
- package/dist/encryption.service.d.ts +15 -0
- package/dist/encryption.service.d.ts.map +1 -0
- package/dist/encryption.service.js +35 -0
- package/dist/encryption.service.js.map +1 -0
- package/dist/enums/action.enum.d.ts +8 -0
- package/dist/enums/action.enum.d.ts.map +1 -0
- package/dist/enums/action.enum.js +12 -0
- package/dist/enums/action.enum.js.map +1 -0
- package/dist/enums/error-codes.d.ts +33 -0
- package/dist/enums/error-codes.d.ts.map +1 -0
- package/dist/enums/error-codes.js +52 -0
- package/dist/enums/error-codes.js.map +1 -0
- package/dist/enums/role.enum.d.ts +5 -0
- package/dist/enums/role.enum.d.ts.map +1 -0
- package/dist/enums/role.enum.js +9 -0
- package/dist/enums/role.enum.js.map +1 -0
- package/dist/filter/exception/api.exception.d.ts +77 -0
- package/dist/filter/exception/api.exception.d.ts.map +1 -0
- package/dist/filter/exception/api.exception.js +151 -0
- package/dist/filter/exception/api.exception.js.map +1 -0
- package/dist/filter/exception/exception.d.ts +8 -0
- package/dist/filter/exception/exception.d.ts.map +1 -0
- package/dist/filter/exception/exception.js +50 -0
- package/dist/filter/exception/exception.js.map +1 -0
- package/dist/filter/exception/http.exception.d.ts +11 -0
- package/dist/filter/exception/http.exception.d.ts.map +1 -0
- package/dist/filter/exception/http.exception.js +152 -0
- package/dist/filter/exception/http.exception.js.map +1 -0
- package/dist/guards/api-key.guard.d.ts +42 -0
- package/dist/guards/api-key.guard.d.ts.map +1 -0
- package/dist/guards/api-key.guard.js +159 -0
- package/dist/guards/api-key.guard.js.map +1 -0
- package/dist/guards/auth.guard.d.ts +39 -0
- package/dist/guards/auth.guard.d.ts.map +1 -0
- package/dist/guards/auth.guard.js +178 -0
- package/dist/guards/auth.guard.js.map +1 -0
- package/dist/guards/data-visibility.guard.d.ts +18 -0
- package/dist/guards/data-visibility.guard.d.ts.map +1 -0
- package/dist/guards/data-visibility.guard.js +84 -0
- package/dist/guards/data-visibility.guard.js.map +1 -0
- package/dist/guards/index.d.ts +7 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +23 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/guards/permission.guard.d.ts +20 -0
- package/dist/guards/permission.guard.d.ts.map +1 -0
- package/dist/guards/permission.guard.js +141 -0
- package/dist/guards/permission.guard.js.map +1 -0
- package/dist/guards/tenant-context.guard.d.ts +12 -0
- package/dist/guards/tenant-context.guard.d.ts.map +1 -0
- package/dist/guards/tenant-context.guard.js +94 -0
- package/dist/guards/tenant-context.guard.js.map +1 -0
- package/dist/guards/version.guard.d.ts +100 -0
- package/dist/guards/version.guard.d.ts.map +1 -0
- package/dist/guards/version.guard.js +233 -0
- package/dist/guards/version.guard.js.map +1 -0
- package/dist/index.d.ts +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptor/audit/audit-log.interceptor.d.ts +16 -0
- package/dist/interceptor/audit/audit-log.interceptor.d.ts.map +1 -0
- package/dist/interceptor/audit/audit-log.interceptor.js +156 -0
- package/dist/interceptor/audit/audit-log.interceptor.js.map +1 -0
- package/dist/interceptor/audit/index.d.ts +2 -0
- package/dist/interceptor/audit/index.d.ts.map +1 -0
- package/dist/interceptor/audit/index.js +18 -0
- package/dist/interceptor/audit/index.js.map +1 -0
- package/dist/interceptor/mask/index.d.ts +2 -0
- package/dist/interceptor/mask/index.d.ts.map +1 -0
- package/dist/interceptor/mask/index.js +18 -0
- package/dist/interceptor/mask/index.js.map +1 -0
- package/dist/interceptor/mask/mask.interceptor.d.ts +79 -0
- package/dist/interceptor/mask/mask.interceptor.d.ts.map +1 -0
- package/dist/interceptor/mask/mask.interceptor.js +197 -0
- package/dist/interceptor/mask/mask.interceptor.js.map +1 -0
- package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts +6 -0
- package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts.map +1 -0
- package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js +20 -0
- package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js.map +1 -0
- package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts +45 -0
- package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts.map +1 -0
- package/dist/interceptor/rate-limit/rate-limit.interceptor.js +193 -0
- package/dist/interceptor/rate-limit/rate-limit.interceptor.js.map +1 -0
- package/dist/interceptor/transform/transform.interceptor.d.ts +37 -0
- package/dist/interceptor/transform/transform.interceptor.d.ts.map +1 -0
- package/dist/interceptor/transform/transform.interceptor.js +72 -0
- package/dist/interceptor/transform/transform.interceptor.js.map +1 -0
- package/dist/interceptor/transform/transform.interceptor.spec.d.ts +2 -0
- package/dist/interceptor/transform/transform.interceptor.spec.d.ts.map +1 -0
- package/dist/interceptor/transform/transform.interceptor.spec.js +9 -0
- package/dist/interceptor/transform/transform.interceptor.spec.js.map +1 -0
- package/dist/interceptor/version/index.d.ts +2 -0
- package/dist/interceptor/version/index.d.ts.map +1 -0
- package/dist/interceptor/version/index.js +18 -0
- package/dist/interceptor/version/index.js.map +1 -0
- package/dist/interceptor/version/version-header.interceptor.d.ts +31 -0
- package/dist/interceptor/version/version-header.interceptor.d.ts.map +1 -0
- package/dist/interceptor/version/version-header.interceptor.js +62 -0
- package/dist/interceptor/version/version-header.interceptor.js.map +1 -0
- package/dist/middleware/request.middleware.d.ts +27 -0
- package/dist/middleware/request.middleware.d.ts.map +1 -0
- package/dist/middleware/request.middleware.js +141 -0
- package/dist/middleware/request.middleware.js.map +1 -0
- package/dist/middleware/tenant-isolation.middleware.d.ts +12 -0
- package/dist/middleware/tenant-isolation.middleware.d.ts.map +1 -0
- package/dist/middleware/tenant-isolation.middleware.js +51 -0
- package/dist/middleware/tenant-isolation.middleware.js.map +1 -0
- package/dist/pipes/transform-root.pipe.d.ts +5 -0
- package/dist/pipes/transform-root.pipe.d.ts.map +1 -0
- package/dist/pipes/transform-root.pipe.js +24 -0
- package/dist/pipes/transform-root.pipe.js.map +1 -0
- package/dist/ts-rest/index.d.ts +36 -0
- package/dist/ts-rest/index.d.ts.map +1 -0
- package/dist/ts-rest/index.js +65 -0
- package/dist/ts-rest/index.js.map +1 -0
- package/dist/ts-rest/response.helper.d.ts +261 -0
- package/dist/ts-rest/response.helper.d.ts.map +1 -0
- package/dist/ts-rest/response.helper.js +372 -0
- package/dist/ts-rest/response.helper.js.map +1 -0
- package/dist/utils/audit-log-helper.util.d.ts +41 -0
- package/dist/utils/audit-log-helper.util.d.ts.map +1 -0
- package/dist/utils/audit-log-helper.util.js +115 -0
- package/dist/utils/audit-log-helper.util.js.map +1 -0
- package/dist/utils/audit-signature.util.d.ts +64 -0
- package/dist/utils/audit-signature.util.d.ts.map +1 -0
- package/dist/utils/audit-signature.util.js +155 -0
- package/dist/utils/audit-signature.util.js.map +1 -0
- package/dist/utils/prisma-error.util.d.ts +160 -0
- package/dist/utils/prisma-error.util.d.ts.map +1 -0
- package/dist/utils/prisma-error.util.js +342 -0
- package/dist/utils/prisma-error.util.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.validation.d.ts","sourceRoot":"","sources":["../../../src/config/validation/yaml.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.yamlConfigSchema = exports.rateLimitConfigSchema = exports.rateLimitDimensionsSchema = exports.rateLimitRedisConfigSchema = exports.rateLimitWhitelistSchema = exports.rateLimitDimensionConfigSchema = exports.rateLimitDimensionSchema = exports.evasionConfigSchema = exports.evasionDurationsConfigSchema = exports.transactionConfigSchema = exports.transactionRetryConfigSchema = exports.dbMetricsConfigSchema = exports.slowQueryThresholdsSchema = exports.featureFlagsConfigSchema = exports.unleashConfigSchema = exports.featureFlagRedisConfigSchema = exports.featureFlagProviderSchema = exports.bucketConfigSchema = exports.rolePermissionSchema = exports.pathConfigSchema = exports.redisCacheKeySchema = exports.cdnConfigSchema = exports.cdnZoneSchema = exports.cryptoConfigSchema = exports.jwtConfigSchema = exports.videoQualitySchema = exports.ipInfoConfigSchema = exports.uploadConfigSchema = exports.appConfigSchema = exports.zoneSchema = exports.microServiceSchema = void 0;
|
|
7
|
+
exports.validateYamlConfig = validateYamlConfig;
|
|
8
|
+
exports.validateYamlConfigSafe = validateYamlConfigSafe;
|
|
9
|
+
/**
|
|
10
|
+
* YAML Configuration Validation Schema
|
|
11
|
+
*
|
|
12
|
+
* Validates the YAML configuration file (config.local.yaml) using Zod.
|
|
13
|
+
* Ensures all required application settings are correctly configured.
|
|
14
|
+
*/
|
|
15
|
+
const zod_1 = require("zod");
|
|
16
|
+
const environment_util_1 = __importDefault(require("@dofe/infra-utils/environment.util"));
|
|
17
|
+
const infra_utils_1 = require("@dofe/infra-utils");
|
|
18
|
+
const logger = (0, infra_utils_1.createContextLogger)('YamlValidation');
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Exported Schemas (用于类型推断和外部使用)
|
|
21
|
+
// ============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Microservice configuration schema
|
|
24
|
+
*/
|
|
25
|
+
exports.microServiceSchema = zod_1.z.object({
|
|
26
|
+
name: zod_1.z.string().min(1),
|
|
27
|
+
ChineseName: zod_1.z.string().optional(),
|
|
28
|
+
version: zod_1.z.string().optional(),
|
|
29
|
+
port: zod_1.z.number().int().positive().max(65535).optional(),
|
|
30
|
+
logger: zod_1.z.boolean().default(true),
|
|
31
|
+
transport: zod_1.z.enum(['TCP', 'UDP', 'HTTP']).default('TCP'),
|
|
32
|
+
host: zod_1.z.string().optional(),
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Zone configuration schema
|
|
36
|
+
*/
|
|
37
|
+
exports.zoneSchema = zod_1.z.object({
|
|
38
|
+
zone: zod_1.z.string().min(1),
|
|
39
|
+
locale: zod_1.z.enum(['zh-CN', 'en']),
|
|
40
|
+
defaultPrivateBucket: zod_1.z.string().min(1),
|
|
41
|
+
defaultPublicBucket: zod_1.z.string().min(1),
|
|
42
|
+
transcodeBucket: zod_1.z.string().min(1),
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* App configuration schema
|
|
46
|
+
*/
|
|
47
|
+
exports.appConfigSchema = exports.microServiceSchema.extend({
|
|
48
|
+
domain: zod_1.z.string().min(1),
|
|
49
|
+
MaxPageSize: zod_1.z.number().int().positive().default(500),
|
|
50
|
+
defaultPageSize: zod_1.z.number().int().positive().default(100),
|
|
51
|
+
defaultMiniPageSize: zod_1.z.number().int().positive().default(30),
|
|
52
|
+
canCreateTrail: zod_1.z.boolean().default(true),
|
|
53
|
+
defaultVendor: zod_1.z
|
|
54
|
+
.enum(['tos', 'oss', 'us3', 'qiniu', 'gcs', 's3'])
|
|
55
|
+
.default('tos'),
|
|
56
|
+
defaultBucketPublic: zod_1.z.boolean().default(false),
|
|
57
|
+
// S3 重试配置 (从 .env 迁移)
|
|
58
|
+
enableRetryMechanism: zod_1.z.boolean().default(true),
|
|
59
|
+
enableEnhancedLogging: zod_1.z.boolean().default(true),
|
|
60
|
+
maxRetries: zod_1.z.number().int().positive().default(3),
|
|
61
|
+
baseRetryDelay: zod_1.z.number().int().positive().default(1000),
|
|
62
|
+
// 日志输出配置 (从 .env 迁移)
|
|
63
|
+
nestLogOutput: zod_1.z.enum(['console', 'file', 'both']).default('file'),
|
|
64
|
+
// 音频转写状态更新模式配置
|
|
65
|
+
audioTranscribe: zod_1.z
|
|
66
|
+
.object({
|
|
67
|
+
/** 状态更新模式:webhook(回调)或 polling(轮询) */
|
|
68
|
+
statusUpdateMode: zod_1.z.enum(['webhook', 'polling']).default('webhook'),
|
|
69
|
+
/** 轮询间隔(秒),仅在 polling 模式下有效 */
|
|
70
|
+
pollingInterval: zod_1.z.number().int().positive().default(30),
|
|
71
|
+
})
|
|
72
|
+
.optional()
|
|
73
|
+
.default({
|
|
74
|
+
statusUpdateMode: 'webhook',
|
|
75
|
+
pollingInterval: 30,
|
|
76
|
+
}),
|
|
77
|
+
admin: exports.microServiceSchema.optional(),
|
|
78
|
+
zones: zod_1.z.array(exports.zoneSchema).min(1),
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Upload configuration schema
|
|
82
|
+
*/
|
|
83
|
+
exports.uploadConfigSchema = zod_1.z.object({
|
|
84
|
+
chrunkSize: zod_1.z.number().int().positive().default(8388608), // 8MB
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* IP info configuration schema
|
|
88
|
+
* Note: ipinfo 配置存储在 keys/config.json,在 initConfig 时合并到 yaml config
|
|
89
|
+
*/
|
|
90
|
+
exports.ipInfoConfigSchema = zod_1.z.object({
|
|
91
|
+
url: zod_1.z.string().url(),
|
|
92
|
+
token: zod_1.z.string().min(1),
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Video quality enum values
|
|
96
|
+
*/
|
|
97
|
+
exports.videoQualitySchema = zod_1.z.enum([
|
|
98
|
+
'VIDEO_360P',
|
|
99
|
+
'VIDEO_720P',
|
|
100
|
+
'VIDEO_1080P',
|
|
101
|
+
'VIDEO_4K',
|
|
102
|
+
'VIDEO_ORIGIN',
|
|
103
|
+
]);
|
|
104
|
+
/**
|
|
105
|
+
* JWT configuration schema
|
|
106
|
+
*/
|
|
107
|
+
exports.jwtConfigSchema = zod_1.z.object({
|
|
108
|
+
secret: zod_1.z.string().min(8, 'JWT secret must be at least 8 characters'),
|
|
109
|
+
expireIn: zod_1.z.number().int().positive(),
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* Crypto configuration schema
|
|
113
|
+
*/
|
|
114
|
+
exports.cryptoConfigSchema = zod_1.z.object({
|
|
115
|
+
key: zod_1.z.string().min(1),
|
|
116
|
+
iv: zod_1.z.string().min(1),
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* CDN zone configuration schema
|
|
120
|
+
*/
|
|
121
|
+
exports.cdnZoneSchema = zod_1.z.object({
|
|
122
|
+
url: zod_1.z.string().url(),
|
|
123
|
+
downloaderUrl: zod_1.z.string().url(),
|
|
124
|
+
vodUrl: zod_1.z.string().url(),
|
|
125
|
+
thumbTemplate: zod_1.z.string().optional(),
|
|
126
|
+
});
|
|
127
|
+
/**
|
|
128
|
+
* CDN configuration schema
|
|
129
|
+
*/
|
|
130
|
+
exports.cdnConfigSchema = zod_1.z.object({
|
|
131
|
+
cn: exports.cdnZoneSchema.optional(),
|
|
132
|
+
us: exports.cdnZoneSchema.optional(),
|
|
133
|
+
ap: exports.cdnZoneSchema.optional(),
|
|
134
|
+
});
|
|
135
|
+
/**
|
|
136
|
+
* Redis cache key configuration schema
|
|
137
|
+
*/
|
|
138
|
+
exports.redisCacheKeySchema = zod_1.z.object({
|
|
139
|
+
name: zod_1.z.string().min(1),
|
|
140
|
+
key: zod_1.z.string().min(1),
|
|
141
|
+
expireIn: zod_1.z.number().int().optional(),
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* Path configuration schema
|
|
145
|
+
*/
|
|
146
|
+
exports.pathConfigSchema = zod_1.z.object({
|
|
147
|
+
post: zod_1.z.array(zod_1.z.string()).optional(),
|
|
148
|
+
get: zod_1.z.array(zod_1.z.string()).optional(),
|
|
149
|
+
});
|
|
150
|
+
/**
|
|
151
|
+
* Permission configuration schema
|
|
152
|
+
*/
|
|
153
|
+
exports.rolePermissionSchema = zod_1.z.object({
|
|
154
|
+
role: zod_1.z.string().min(1),
|
|
155
|
+
permission: zod_1.z.array(zod_1.z.string()),
|
|
156
|
+
});
|
|
157
|
+
/**
|
|
158
|
+
* Bucket configuration schema
|
|
159
|
+
*/
|
|
160
|
+
exports.bucketConfigSchema = zod_1.z.object({
|
|
161
|
+
bucket: zod_1.z.string().min(1),
|
|
162
|
+
region: zod_1.z.string().min(1),
|
|
163
|
+
zone: zod_1.z.string().min(1),
|
|
164
|
+
endpoint: zod_1.z.string().url(),
|
|
165
|
+
internalEndpoint: zod_1.z.string(),
|
|
166
|
+
domain: zod_1.z.string().url(),
|
|
167
|
+
vendor: zod_1.z.enum(['tos', 'oss', 'us3', 'qiniu', 'gcs', 's3']),
|
|
168
|
+
webhook: zod_1.z.string().optional(),
|
|
169
|
+
locale: zod_1.z.string().optional(),
|
|
170
|
+
isPublic: zod_1.z.boolean().default(false),
|
|
171
|
+
isDefault: zod_1.z.boolean().default(false),
|
|
172
|
+
tosEndpoint: zod_1.z.string().optional(),
|
|
173
|
+
tosInternalEndpoint: zod_1.z.string().optional(),
|
|
174
|
+
});
|
|
175
|
+
/**
|
|
176
|
+
* Feature flag provider type
|
|
177
|
+
*/
|
|
178
|
+
exports.featureFlagProviderSchema = zod_1.z.enum(['memory', 'redis', 'unleash']);
|
|
179
|
+
/**
|
|
180
|
+
* Redis feature flag configuration schema
|
|
181
|
+
*/
|
|
182
|
+
exports.featureFlagRedisConfigSchema = zod_1.z.object({
|
|
183
|
+
/** Redis key prefix (default: 'pardx:feature:') */
|
|
184
|
+
keyPrefix: zod_1.z.string().default('pardx:feature:'),
|
|
185
|
+
/** Default TTL in seconds, 0 = never expire (default: 0) */
|
|
186
|
+
defaultTTL: zod_1.z.number().int().min(0).default(0),
|
|
187
|
+
});
|
|
188
|
+
/**
|
|
189
|
+
* Unleash configuration schema
|
|
190
|
+
*/
|
|
191
|
+
exports.unleashConfigSchema = zod_1.z.object({
|
|
192
|
+
/** Unleash server URL */
|
|
193
|
+
url: zod_1.z.string().url(),
|
|
194
|
+
/** Application name registered in Unleash */
|
|
195
|
+
appName: zod_1.z.string().min(1),
|
|
196
|
+
/** Unique instance identifier */
|
|
197
|
+
instanceId: zod_1.z.string().optional(),
|
|
198
|
+
/** Environment name (dev, staging, production) */
|
|
199
|
+
environment: zod_1.z.string().optional(),
|
|
200
|
+
/** Refresh interval in milliseconds (default: 15000) */
|
|
201
|
+
refreshInterval: zod_1.z.number().int().positive().default(15000),
|
|
202
|
+
/** Metrics reporting interval in milliseconds (default: 60000) */
|
|
203
|
+
metricsInterval: zod_1.z.number().int().positive().default(60000),
|
|
204
|
+
/** Custom headers for authentication */
|
|
205
|
+
customHeaders: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
206
|
+
});
|
|
207
|
+
/**
|
|
208
|
+
* Feature flags configuration schema
|
|
209
|
+
*/
|
|
210
|
+
exports.featureFlagsConfigSchema = zod_1.z
|
|
211
|
+
.object({
|
|
212
|
+
/** Feature flag provider: memory (dev), redis (prod), unleash (enterprise) */
|
|
213
|
+
provider: exports.featureFlagProviderSchema.default('memory'),
|
|
214
|
+
/** Redis configuration (used when provider is 'redis') */
|
|
215
|
+
redis: exports.featureFlagRedisConfigSchema.optional(),
|
|
216
|
+
/** Unleash configuration (required if provider is 'unleash') */
|
|
217
|
+
unleash: exports.unleashConfigSchema.optional(),
|
|
218
|
+
/** Default feature flags (key-value pairs) */
|
|
219
|
+
defaultFlags: zod_1.z.record(zod_1.z.string(), zod_1.z.boolean()).optional(),
|
|
220
|
+
})
|
|
221
|
+
.refine((data) => {
|
|
222
|
+
// If provider is 'unleash', unleash config must be provided
|
|
223
|
+
if (data.provider === 'unleash' && !data.unleash) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
return true;
|
|
227
|
+
}, {
|
|
228
|
+
message: "Unleash configuration is required when provider is 'unleash'",
|
|
229
|
+
path: ['unleash'],
|
|
230
|
+
});
|
|
231
|
+
// ============================================================================
|
|
232
|
+
// Rate Limit Configuration Schemas
|
|
233
|
+
// ============================================================================
|
|
234
|
+
// ============================================================================
|
|
235
|
+
// Database Metrics Configuration Schemas
|
|
236
|
+
// ============================================================================
|
|
237
|
+
/**
|
|
238
|
+
* Slow query thresholds configuration schema
|
|
239
|
+
* 慢查询阈值配置
|
|
240
|
+
*/
|
|
241
|
+
exports.slowQueryThresholdsSchema = zod_1.z.object({
|
|
242
|
+
/** INFO level threshold in ms (default: 100) */
|
|
243
|
+
info: zod_1.z.number().int().positive().default(100),
|
|
244
|
+
/** WARN level threshold in ms (default: 500) */
|
|
245
|
+
warn: zod_1.z.number().int().positive().default(500),
|
|
246
|
+
/** ERROR level threshold in ms (default: 1000) */
|
|
247
|
+
error: zod_1.z.number().int().positive().default(1000),
|
|
248
|
+
});
|
|
249
|
+
/**
|
|
250
|
+
* Database metrics configuration schema
|
|
251
|
+
* 数据库监控配置
|
|
252
|
+
*/
|
|
253
|
+
exports.dbMetricsConfigSchema = zod_1.z.object({
|
|
254
|
+
/** Enable/disable database metrics (default: true) */
|
|
255
|
+
enabled: zod_1.z.boolean().default(true),
|
|
256
|
+
/** Slow query thresholds by log level */
|
|
257
|
+
slowQueryThresholds: exports.slowQueryThresholdsSchema.default({
|
|
258
|
+
info: 100,
|
|
259
|
+
warn: 500,
|
|
260
|
+
error: 1000,
|
|
261
|
+
}),
|
|
262
|
+
/** Log query parameters (default: true) */
|
|
263
|
+
logQueryParams: zod_1.z.boolean().default(true),
|
|
264
|
+
/** Log query results (default: false, for security) */
|
|
265
|
+
logQueryResult: zod_1.z.boolean().default(false),
|
|
266
|
+
/** Maximum length for logged parameters (default: 1000) */
|
|
267
|
+
maxParamLogLength: zod_1.z.number().int().positive().default(1000),
|
|
268
|
+
});
|
|
269
|
+
// ============================================================================
|
|
270
|
+
// Transaction Configuration Schemas
|
|
271
|
+
// ============================================================================
|
|
272
|
+
/**
|
|
273
|
+
* Transaction retry configuration schema
|
|
274
|
+
* 事务重试配置
|
|
275
|
+
*/
|
|
276
|
+
exports.transactionRetryConfigSchema = zod_1.z.object({
|
|
277
|
+
/** Enable retry mechanism (default: true) */
|
|
278
|
+
enabled: zod_1.z.boolean().default(true),
|
|
279
|
+
/** Maximum retry attempts (default: 3) */
|
|
280
|
+
maxRetries: zod_1.z.number().int().positive().default(3),
|
|
281
|
+
/** Base delay between retries in ms (default: 100) */
|
|
282
|
+
baseDelay: zod_1.z.number().int().positive().default(100),
|
|
283
|
+
/** Exponential backoff multiplier (default: 2) */
|
|
284
|
+
backoffMultiplier: zod_1.z.number().positive().default(2),
|
|
285
|
+
/** Maximum delay between retries in ms (default: 5000) */
|
|
286
|
+
maxDelay: zod_1.z.number().int().positive().default(5000),
|
|
287
|
+
});
|
|
288
|
+
/**
|
|
289
|
+
* Transaction configuration schema
|
|
290
|
+
* 事务配置
|
|
291
|
+
*/
|
|
292
|
+
exports.transactionConfigSchema = zod_1.z.object({
|
|
293
|
+
/** Retry configuration */
|
|
294
|
+
retry: exports.transactionRetryConfigSchema.default({
|
|
295
|
+
enabled: true,
|
|
296
|
+
maxRetries: 3,
|
|
297
|
+
baseDelay: 100,
|
|
298
|
+
backoffMultiplier: 2,
|
|
299
|
+
maxDelay: 5000,
|
|
300
|
+
}),
|
|
301
|
+
/** Default max wait time for transaction lock in ms (default: 5000) */
|
|
302
|
+
defaultMaxWait: zod_1.z.number().int().positive().default(5000),
|
|
303
|
+
/** Default transaction timeout in ms (default: 30000) */
|
|
304
|
+
defaultTimeout: zod_1.z.number().int().positive().default(30000),
|
|
305
|
+
});
|
|
306
|
+
// ============================================================================
|
|
307
|
+
// Model Routing Evasion Configuration Schemas
|
|
308
|
+
// ============================================================================
|
|
309
|
+
/**
|
|
310
|
+
* Model routing evasion duration configuration schema
|
|
311
|
+
* 模型路由避让时长配置
|
|
312
|
+
*/
|
|
313
|
+
exports.evasionDurationsConfigSchema = zod_1.z.object({
|
|
314
|
+
/** Rate limit (429) evasion duration in ms (default: 60000 = 60s) */
|
|
315
|
+
rateLimit: zod_1.z.number().int().min(-1).default(60000),
|
|
316
|
+
/** Service unavailable (503) evasion duration in ms (default: 30000 = 30s) */
|
|
317
|
+
serviceUnavailable: zod_1.z.number().int().min(-1).default(30000),
|
|
318
|
+
/** Server error (500/502/504) evasion duration in ms (default: 60000 = 60s) */
|
|
319
|
+
serverError: zod_1.z.number().int().min(-1).default(60000),
|
|
320
|
+
/** Timeout evasion duration in ms (default: 30000 = 30s) */
|
|
321
|
+
timeout: zod_1.z.number().int().min(-1).default(30000),
|
|
322
|
+
/** Auth error (401/403) evasion duration in ms (-1 = permanent, default: -1) */
|
|
323
|
+
authError: zod_1.z.number().int().min(-1).default(-1),
|
|
324
|
+
/** Unknown error evasion duration in ms (default: 30000 = 30s) */
|
|
325
|
+
unknown: zod_1.z.number().int().min(-1).default(30000),
|
|
326
|
+
});
|
|
327
|
+
/**
|
|
328
|
+
* Model routing evasion configuration schema
|
|
329
|
+
* 模型路由避让配置
|
|
330
|
+
*/
|
|
331
|
+
exports.evasionConfigSchema = zod_1.z.object({
|
|
332
|
+
/** Evasion durations by error type */
|
|
333
|
+
durations: exports.evasionDurationsConfigSchema.default({
|
|
334
|
+
rateLimit: 60000,
|
|
335
|
+
serviceUnavailable: 30000,
|
|
336
|
+
serverError: 60000,
|
|
337
|
+
timeout: 30000,
|
|
338
|
+
authError: -1,
|
|
339
|
+
unknown: 30000,
|
|
340
|
+
}),
|
|
341
|
+
/** Evasion cleanup interval in ms (default: 60000 = 1 minute) */
|
|
342
|
+
cleanupInterval: zod_1.z.number().int().positive().default(60000),
|
|
343
|
+
/** Max inactive time for evasion state in ms (default: 600000 = 10 minutes) */
|
|
344
|
+
maxInactiveTime: zod_1.z.number().int().positive().default(600000),
|
|
345
|
+
/** Priority weight for effective score calculation (default: 0.7) */
|
|
346
|
+
priorityWeight: zod_1.z.number().min(0).max(1).default(0.7),
|
|
347
|
+
/** Health weight for effective score calculation (default: 0.3) */
|
|
348
|
+
healthWeight: zod_1.z.number().min(0).max(1).default(0.3),
|
|
349
|
+
/** Max cross-alias fallback attempts (default: 3) */
|
|
350
|
+
maxCrossAliasAttempts: zod_1.z.number().int().positive().default(3),
|
|
351
|
+
});
|
|
352
|
+
// ============================================================================
|
|
353
|
+
// Rate Limit Configuration Schemas
|
|
354
|
+
// ============================================================================
|
|
355
|
+
/**
|
|
356
|
+
* Rate limit dimension type
|
|
357
|
+
*/
|
|
358
|
+
exports.rateLimitDimensionSchema = zod_1.z.enum([
|
|
359
|
+
'ip',
|
|
360
|
+
'userId',
|
|
361
|
+
'tenantId',
|
|
362
|
+
'apiKey',
|
|
363
|
+
'composite',
|
|
364
|
+
]);
|
|
365
|
+
/**
|
|
366
|
+
* Rate limit dimension config schema (limit + window)
|
|
367
|
+
*/
|
|
368
|
+
exports.rateLimitDimensionConfigSchema = zod_1.z.object({
|
|
369
|
+
/** Maximum requests allowed in the window */
|
|
370
|
+
limit: zod_1.z.number().int().positive(),
|
|
371
|
+
/** Time window in seconds */
|
|
372
|
+
window: zod_1.z.number().int().positive(),
|
|
373
|
+
});
|
|
374
|
+
/**
|
|
375
|
+
* Rate limit whitelist configuration schema
|
|
376
|
+
*/
|
|
377
|
+
exports.rateLimitWhitelistSchema = zod_1.z.object({
|
|
378
|
+
/** Whitelisted IP addresses (supports CIDR notation) */
|
|
379
|
+
ips: zod_1.z.array(zod_1.z.string()).default(['127.0.0.1', '::1']),
|
|
380
|
+
/** Whitelisted user IDs */
|
|
381
|
+
userIds: zod_1.z.array(zod_1.z.string()).default([]),
|
|
382
|
+
/** Whitelisted API keys */
|
|
383
|
+
apiKeys: zod_1.z.array(zod_1.z.string()).default([]),
|
|
384
|
+
});
|
|
385
|
+
/**
|
|
386
|
+
* Rate limit Redis configuration schema
|
|
387
|
+
*/
|
|
388
|
+
exports.rateLimitRedisConfigSchema = zod_1.z.object({
|
|
389
|
+
/** Redis key prefix (default: 'pardx:ratelimit:') */
|
|
390
|
+
keyPrefix: zod_1.z.string().default('pardx:ratelimit:'),
|
|
391
|
+
});
|
|
392
|
+
/**
|
|
393
|
+
* Rate limit dimensions configuration schema
|
|
394
|
+
*/
|
|
395
|
+
exports.rateLimitDimensionsSchema = zod_1.z.object({
|
|
396
|
+
/** IP-based rate limiting */
|
|
397
|
+
ip: exports.rateLimitDimensionConfigSchema.default({ limit: 200, window: 60 }),
|
|
398
|
+
/** User-based rate limiting */
|
|
399
|
+
userId: exports.rateLimitDimensionConfigSchema.default({ limit: 500, window: 60 }),
|
|
400
|
+
/** Tenant-based rate limiting */
|
|
401
|
+
tenantId: exports.rateLimitDimensionConfigSchema.default({
|
|
402
|
+
limit: 2000,
|
|
403
|
+
window: 60,
|
|
404
|
+
}),
|
|
405
|
+
/** API key-based rate limiting */
|
|
406
|
+
apiKey: exports.rateLimitDimensionConfigSchema.default({ limit: 1000, window: 60 }),
|
|
407
|
+
});
|
|
408
|
+
/**
|
|
409
|
+
* Rate limit configuration schema
|
|
410
|
+
*/
|
|
411
|
+
exports.rateLimitConfigSchema = zod_1.z.object({
|
|
412
|
+
/** Enable/disable rate limiting (static, requires restart) */
|
|
413
|
+
enabled: zod_1.z.boolean().default(true),
|
|
414
|
+
/** Feature flag name for dynamic control (optional) */
|
|
415
|
+
featureFlag: zod_1.z.string().optional(),
|
|
416
|
+
/** Default rate limit configuration (fallback) */
|
|
417
|
+
default: exports.rateLimitDimensionConfigSchema.default({ limit: 100, window: 60 }),
|
|
418
|
+
/** Dimension-specific configurations */
|
|
419
|
+
dimensions: exports.rateLimitDimensionsSchema.optional(),
|
|
420
|
+
/** Redis configuration */
|
|
421
|
+
redis: exports.rateLimitRedisConfigSchema.optional(),
|
|
422
|
+
/** Whitelist configuration */
|
|
423
|
+
whitelist: exports.rateLimitWhitelistSchema.optional(),
|
|
424
|
+
});
|
|
425
|
+
/**
|
|
426
|
+
* Full YAML configuration schema
|
|
427
|
+
*/
|
|
428
|
+
exports.yamlConfigSchema = zod_1.z.object({
|
|
429
|
+
app: exports.appConfigSchema,
|
|
430
|
+
uploadConfig: exports.uploadConfigSchema.optional(),
|
|
431
|
+
// ipinfo 从 keys/config.json 合并 (通过 configuration.ts)
|
|
432
|
+
ipinfo: exports.ipInfoConfigSchema.optional(),
|
|
433
|
+
outOfAnonymityPath: exports.pathConfigSchema.optional(),
|
|
434
|
+
outOfUserPath: exports.pathConfigSchema.optional(),
|
|
435
|
+
// pinecone.apiKey 已移至环境变量 PINECONE_API_KEY
|
|
436
|
+
pinecone: zod_1.z.object({ apiKey: zod_1.z.string() }).optional(),
|
|
437
|
+
// jwt 配置已移至环境变量 JWT_SECRET, JWT_EXPIRE_IN
|
|
438
|
+
jwt: exports.jwtConfigSchema.optional(),
|
|
439
|
+
// crypto 配置已移至环境变量 CRYPTO_KEY, CRYPTO_IV
|
|
440
|
+
crypto: exports.cryptoConfigSchema.optional(),
|
|
441
|
+
cdn: exports.cdnConfigSchema.optional(),
|
|
442
|
+
redis: zod_1.z.array(exports.redisCacheKeySchema).optional(),
|
|
443
|
+
buckets: zod_1.z.array(exports.bucketConfigSchema).optional(),
|
|
444
|
+
featureFlags: exports.featureFlagsConfigSchema.optional(),
|
|
445
|
+
rateLimit: exports.rateLimitConfigSchema.optional(),
|
|
446
|
+
// Database monitoring and transaction configuration
|
|
447
|
+
dbMetrics: exports.dbMetricsConfigSchema.optional(),
|
|
448
|
+
transaction: exports.transactionConfigSchema.optional(),
|
|
449
|
+
// Model routing evasion configuration
|
|
450
|
+
evasion: exports.evasionConfigSchema.optional(),
|
|
451
|
+
});
|
|
452
|
+
/**
|
|
453
|
+
* Validates YAML configuration against the schema
|
|
454
|
+
*
|
|
455
|
+
* @param config - Parsed YAML configuration object
|
|
456
|
+
* @returns Validated configuration
|
|
457
|
+
* @throws Error if validation fails
|
|
458
|
+
*/
|
|
459
|
+
function validateYamlConfig(config) {
|
|
460
|
+
const result = exports.yamlConfigSchema.safeParse(config);
|
|
461
|
+
if (!result.success) {
|
|
462
|
+
const errorMessages = result.error.issues
|
|
463
|
+
.map((err) => ` - ${err.path.join('.')}: ${err.message}`)
|
|
464
|
+
.join('\n');
|
|
465
|
+
logger.error('YAML configuration validation failed', {
|
|
466
|
+
error: errorMessages,
|
|
467
|
+
});
|
|
468
|
+
throw new Error(`YAML configuration validation failed:\n${errorMessages}`);
|
|
469
|
+
}
|
|
470
|
+
if (environment_util_1.default.isProduction()) {
|
|
471
|
+
logger.info('YAML configuration validated successfully');
|
|
472
|
+
}
|
|
473
|
+
return result.data;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Validates YAML configuration and returns detailed result
|
|
477
|
+
*
|
|
478
|
+
* @param config - Parsed YAML configuration object
|
|
479
|
+
* @returns Validation result with success status and data or errors
|
|
480
|
+
*/
|
|
481
|
+
function validateYamlConfigSafe(config) {
|
|
482
|
+
const result = exports.yamlConfigSchema.safeParse(config);
|
|
483
|
+
if (result.success) {
|
|
484
|
+
return { success: true, data: result.data };
|
|
485
|
+
}
|
|
486
|
+
return { success: false, errors: result.error };
|
|
487
|
+
}
|
|
488
|
+
//# sourceMappingURL=yaml.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.validation.js","sourceRoot":"","sources":["../../../src/config/validation/yaml.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendor Configuration - AI 提供商配置
|
|
3
|
+
*
|
|
4
|
+
* 定义各 AI 提供商的 API 端点和认证方式
|
|
5
|
+
* 支持 60+ 提供商,与 provider.schema.ts 保持同步
|
|
6
|
+
*/
|
|
7
|
+
import { type ProviderApiType } from '@dofe/infra-contracts';
|
|
8
|
+
export interface VendorConfig {
|
|
9
|
+
/** API 主机名 */
|
|
10
|
+
host: string;
|
|
11
|
+
/** API 基础路径 */
|
|
12
|
+
basePath: string;
|
|
13
|
+
/** 认证头名称 */
|
|
14
|
+
authHeader: string;
|
|
15
|
+
/** 认证格式化函数 */
|
|
16
|
+
authFormat: (key: string) => string;
|
|
17
|
+
/** API 类型 (openai, anthropic, gemini, etc.) */
|
|
18
|
+
apiType: ProviderApiType;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 从 PROVIDER_CONFIGS 动态生成 VENDOR_CONFIGS
|
|
22
|
+
* 支持所有 60+ 提供商
|
|
23
|
+
*/
|
|
24
|
+
export declare const VENDOR_CONFIGS: Record<string, VendorConfig>;
|
|
25
|
+
/**
|
|
26
|
+
* 从自定义 URL 创建 VendorConfig
|
|
27
|
+
* 用于支持自定义 endpoint
|
|
28
|
+
*/
|
|
29
|
+
export declare function createVendorConfigFromUrl(customUrl: string, apiType?: ProviderApiType): VendorConfig;
|
|
30
|
+
/**
|
|
31
|
+
* 获取支持的 vendor 列表
|
|
32
|
+
*/
|
|
33
|
+
export declare function getSupportedVendors(): string[];
|
|
34
|
+
/**
|
|
35
|
+
* 检查 vendor 是否支持
|
|
36
|
+
* 注意:即使 vendor 不在预定义列表中,如果有自定义 baseUrl 也可以支持
|
|
37
|
+
*/
|
|
38
|
+
export declare function isVendorSupported(vendor: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 获取 vendor 配置
|
|
41
|
+
*/
|
|
42
|
+
export declare function getVendorConfig(vendor: string): VendorConfig | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* 获取 vendor 配置,支持自定义 URL 覆盖
|
|
45
|
+
* 如果提供了 customBaseUrl,将使用自定义 URL 创建配置
|
|
46
|
+
*/
|
|
47
|
+
export declare function getVendorConfigWithCustomUrl(vendor: string, customBaseUrl?: string | null, apiType?: ProviderApiType): VendorConfig | undefined;
|
|
48
|
+
//# sourceMappingURL=vendor.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor.config.d.ts","sourceRoot":"","sources":["../../src/config/vendor.config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,cAAc;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,+CAA+C;IAC/C,OAAO,EAAE,eAAe,CAAC;CAC1B;AAgED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAiBvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,eAA0B,GAClC,YAAY,CAUd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAExE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE,eAAe,GACxB,YAAY,GAAG,SAAS,CAU1B"}
|