UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

253 lines (252 loc) 12.1 kB
import { AdminCopyDescriptor, LiteralCopy } from "../i18n/types.mjs"; import { LogTransport } from "../logger/types.mjs"; import { KVAdapterInstance } from "../kv/types.mjs"; import { MediaAdapterInstance } from "../media/types.mjs"; import { QueueAdapterInstance } from "../queue/types.mjs"; import { HttpExtensionRegister, LucidRouteDefinition } from "../http/types.mjs"; import { ImageProcessorInstance } from "../image-processor/types.mjs"; import { EmailAdapterInstance } from "../email/types.mjs"; import { ExternalMigrationFn } from "../db/types.mjs"; import z from "zod"; //#region src/libs/config/config-schema.d.ts declare const ConfigSchema: z.ZodObject<{ db: z.ZodUnknown; host: z.ZodOptional<z.ZodString>; http: z.ZodOptional<z.ZodObject<{ security: z.ZodOptional<z.ZodObject<{ trustProxyHeaders: z.ZodOptional<z.ZodBoolean>; cors: z.ZodOptional<z.ZodObject<{ origin: z.ZodOptional<z.ZodArray<z.ZodString>>; allowHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.z.core.$strip>>; headers: z.ZodOptional<z.ZodObject<{ contentSecurityPolicy: z.ZodOptional<z.ZodObject<{ defaultSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; baseUri: z.ZodOptional<z.ZodArray<z.ZodString>>; childSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; connectSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; fontSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; formAction: z.ZodOptional<z.ZodArray<z.ZodString>>; frameAncestors: z.ZodOptional<z.ZodArray<z.ZodString>>; frameSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; imgSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; manifestSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; mediaSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; objectSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; sandbox: z.ZodOptional<z.ZodArray<z.ZodString>>; scriptSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; scriptSrcAttr: z.ZodOptional<z.ZodArray<z.ZodString>>; scriptSrcElem: z.ZodOptional<z.ZodArray<z.ZodString>>; styleSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; styleSrcAttr: z.ZodOptional<z.ZodArray<z.ZodString>>; styleSrcElem: z.ZodOptional<z.ZodArray<z.ZodString>>; upgradeInsecureRequests: z.ZodOptional<z.ZodArray<z.ZodString>>; workerSrc: z.ZodOptional<z.ZodArray<z.ZodString>>; requireTrustedTypesFor: z.ZodOptional<z.ZodArray<z.ZodString>>; trustedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.z.core.$strip>>; strictTransportSecurity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; xFrameOptions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; referrerPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; crossOriginResourcePolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; crossOriginOpenerPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; crossOriginEmbedderPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>; }, z.z.core.$strip>>; }, z.z.core.$strip>>; openAPI: z.ZodOptional<z.ZodObject<{ enabled: z.ZodBoolean; }, z.z.core.$strip>>; routes: z.ZodOptional<z.ZodArray<z.ZodCustom<LucidRouteDefinition, LucidRouteDefinition>>>; extensions: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; priority: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; register: z.ZodCustom<HttpExtensionRegister, HttpExtensionRegister>; }, z.z.core.$strip>>>; }, z.z.core.$strip>>; secrets: z.ZodObject<{ encryption: z.ZodString; cookie: z.ZodString; accessToken: z.ZodString; refreshToken: z.ZodString; }, z.z.core.$strip>; logger: z.ZodObject<{ level: z.ZodUnion<readonly [z.ZodLiteral<"error">, z.ZodLiteral<"warn">, z.ZodLiteral<"info">, z.ZodLiteral<"debug">, z.ZodLiteral<"silent">]>; transport: z.ZodOptional<z.ZodCustom<LogTransport, LogTransport>>; }, z.z.core.$strip>; auth: z.ZodOptional<z.ZodObject<{ password: z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.z.core.$strip>; providers: z.ZodOptional<z.ZodArray<z.ZodObject<{ key: z.ZodString; name: z.ZodString; icon: z.ZodOptional<z.ZodString>; enabled: z.ZodBoolean; type: z.ZodEnum<{ oidc: "oidc"; }>; config: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"oidc">; clientId: z.ZodString; clientSecret: z.ZodString; issuer: z.ZodURL; authorizationEndpoint: z.ZodURL; scopes: z.ZodOptional<z.ZodArray<z.ZodString>>; tokenEndpoint: z.ZodOptional<z.ZodURL>; userinfoEndpoint: z.ZodOptional<z.ZodURL>; additionalAuthParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; mappers: z.ZodOptional<z.ZodObject<{ userInfo: z.ZodOptional<z.ZodAny>; }, z.z.core.$strip>>; }, z.z.core.$strip>], "type">; }, z.z.core.$strip>>>; }, z.z.core.$strip>>; ai: z.ZodObject<{ enabled: z.ZodBoolean; features: z.ZodObject<{ imageGeneration: z.ZodBoolean; altGeneration: z.ZodBoolean; customFieldGeneration: z.ZodBoolean; }, z.z.core.$strip>; }, z.z.core.$strip>; localization: z.ZodOptional<z.ZodObject<{ locales: z.ZodArray<z.ZodObject<{ label: z.ZodString; code: z.ZodString; direction: z.ZodOptional<z.ZodDefault<z.ZodEnum<{ ltr: "ltr"; rtl: "rtl"; }>>>; }, z.z.core.$strip>>; defaultLocale: z.ZodString; }, z.z.core.$strip>>; tenants: z.ZodOptional<z.ZodArray<z.ZodObject<{ key: z.ZodString; name: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ type: z.ZodLiteral<"lucid.copy">; key: z.ZodString; values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>; defaultMessage: z.ZodOptional<z.ZodString>; scope: z.ZodLiteral<"admin">; }, z.z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"lucid.literal">; value: z.ZodString; values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>; }, z.z.core.$strict>]>, z.ZodTransform<string | AdminCopyDescriptor | LiteralCopy, string | { type: "lucid.copy"; key: string; scope: "admin"; values?: Record<string, string | number | undefined> | undefined; defaultMessage?: string | undefined; } | { type: "lucid.literal"; value: string; values?: Record<string, string | number | undefined> | undefined; }>>; default: z.ZodOptional<z.ZodBoolean>; }, z.z.core.$strip>>>; i18n: z.ZodOptional<z.ZodObject<{ locales: z.ZodArray<z.ZodObject<{ label: z.ZodString; code: z.ZodString; direction: z.ZodOptional<z.ZodDefault<z.ZodEnum<{ ltr: "ltr"; rtl: "rtl"; }>>>; }, z.z.core.$strip>>; defaultLocale: z.ZodString; sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>]>>>; }, z.z.core.$strip>>; migrations: z.ZodOptional<z.ZodObject<{ sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>, z.ZodObject<{ name: z.ZodString; migration: z.ZodCustom<ExternalMigrationFn, ExternalMigrationFn>; }, z.z.core.$strip>]>>>; }, z.z.core.$strip>>; email: z.ZodOptional<z.ZodObject<{ from: z.ZodOptional<z.ZodObject<{ email: z.ZodString; name: z.ZodString; }, z.z.core.$strip>>; simulate: z.ZodOptional<z.ZodBoolean>; resendWindowDays: z.ZodOptional<z.ZodNumber>; adapter: z.ZodOptional<z.ZodCustom<EmailAdapterInstance | Promise<EmailAdapterInstance> | (() => EmailAdapterInstance | Promise<EmailAdapterInstance>), EmailAdapterInstance | Promise<EmailAdapterInstance> | (() => EmailAdapterInstance | Promise<EmailAdapterInstance>)>>; templates: z.ZodOptional<z.ZodObject<{ directory: z.ZodOptional<z.ZodString>; rendered: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.z.core.$strip>>; }, z.z.core.$strip>>; media: z.ZodObject<{ adapter: z.ZodOptional<z.ZodCustom<MediaAdapterInstance | (() => MediaAdapterInstance | Promise<MediaAdapterInstance>) | Promise<MediaAdapterInstance>, MediaAdapterInstance | (() => MediaAdapterInstance | Promise<MediaAdapterInstance>) | Promise<MediaAdapterInstance>>>; limits: z.ZodObject<{ storageBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>; uploadBytes: z.ZodNumber; processedImagesPerFile: z.ZodNumber; }, z.z.core.$strip>; images: z.ZodObject<{ processor: z.ZodOptional<z.ZodCustom<ImageProcessorInstance | Promise<ImageProcessorInstance> | (() => ImageProcessorInstance | Promise<ImageProcessorInstance>), ImageProcessorInstance | Promise<ImageProcessorInstance> | (() => ImageProcessorInstance | Promise<ImageProcessorInstance>)>>; presets: z.ZodRecord<z.ZodString, z.ZodObject<{ width: z.ZodOptional<z.ZodNumber>; height: z.ZodOptional<z.ZodNumber>; fit: z.ZodOptional<z.ZodEnum<{ fill: "fill"; cover: "cover"; contain: "contain"; inside: "inside"; outside: "outside"; }>>; format: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"webp">, z.ZodLiteral<"avif">, z.ZodLiteral<"jpeg">, z.ZodLiteral<"png">]>>; quality: z.ZodOptional<z.ZodNumber>; }, z.z.core.$strip>>; storeProcessed: z.ZodBoolean; allowFormatQuery: z.ZodBoolean; fallbackUrl: z.ZodOptional<z.ZodString>; }, z.z.core.$strip>; video: z.ZodObject<{ fallbackUrl: z.ZodOptional<z.ZodString>; }, z.z.core.$strip>; }, z.z.core.$strip>; hooks: z.ZodArray<z.ZodObject<{ service: z.ZodString; event: z.ZodString; priority: z.ZodOptional<z.ZodNumber>; handler: z.ZodUnknown; }, z.z.core.$strip>>; queue: z.ZodOptional<z.ZodObject<{ adapter: z.ZodOptional<z.ZodCustom<QueueAdapterInstance | Promise<QueueAdapterInstance> | (() => QueueAdapterInstance | Promise<QueueAdapterInstance>), QueueAdapterInstance | Promise<QueueAdapterInstance> | (() => QueueAdapterInstance | Promise<QueueAdapterInstance>)>>; }, z.z.core.$strip>>; kv: z.ZodOptional<z.ZodObject<{ adapter: z.ZodOptional<z.ZodCustom<KVAdapterInstance | Promise<KVAdapterInstance> | (() => KVAdapterInstance | Promise<KVAdapterInstance>), KVAdapterInstance | Promise<KVAdapterInstance> | (() => KVAdapterInstance | Promise<KVAdapterInstance>)>>; namespace: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>; }, z.z.core.$strip>>; collections: z.ZodArray<z.ZodUnknown>; plugins: z.ZodArray<z.ZodUnknown>; build: z.ZodOptional<z.ZodObject<{ paths: z.ZodOptional<z.ZodObject<{ outDir: z.ZodOptional<z.ZodString>; copyPublic: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ input: z.ZodString; output: z.ZodOptional<z.ZodString>; }, z.z.core.$strip>]>>>; }, z.z.core.$strip>>; watch: z.ZodOptional<z.ZodObject<{ ignore: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.z.core.$strip>>; }, z.z.core.$strip>>; retention: z.ZodOptional<z.ZodObject<{ defaultPurgeAfterDays: z.ZodOptional<z.ZodNumber>; purgeAfterDays: z.ZodOptional<z.ZodObject<{ removedLocales: z.ZodOptional<z.ZodNumber>; deletedUsers: z.ZodOptional<z.ZodNumber>; deletedMedia: z.ZodOptional<z.ZodNumber>; removedCollections: z.ZodOptional<z.ZodNumber>; deletedDocuments: z.ZodOptional<z.ZodNumber>; }, z.z.core.$strip>>; }, z.z.core.$strip>>; brand: z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; }, z.z.core.$strip>>; }, z.z.core.$strip>; //#endregion export { ConfigSchema as default }; //# sourceMappingURL=config-schema.d.mts.map