@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
349 lines • 9.28 kB
text/typescript
//#region src/constants/constants.d.ts
declare const _default: Readonly<{
locales: readonly ["en"];
openAPIDocsRoute: "/lucid/documentation";
urls: {
localhost: string;
};
headers: {
csrf: string;
idempotencyKey: string;
interfaceLocale: string;
requestId: string;
tenant: string;
};
cookies: {
csrf: string;
refreshToken: string;
accessToken: string;
};
jwt: {
algorithm: "HS256";
};
scrypt: {
N: number;
r: number;
p: number;
dkLen: number;
};
fieldBuiler: {
maxRepeaterDepth: number;
};
collectionBuilder: {
locked: boolean;
revisions: boolean;
localized: boolean;
autoSave: boolean;
scheduling: boolean;
orderable: boolean;
protectedEnvironments: string[];
revisionRetentionDays: number;
previewExpirationSeconds: number;
previewMaxExpirationSeconds: number;
publishing: {
allowSelfApproval: boolean;
comments: {
request: "required";
decision: "optional";
};
snapshotVersionType: "snapshot";
workflow: {
stageColors: readonly ["grey", "red", "yellow", "green", "blue", "purple"];
color: "grey";
};
};
};
customFields: {
link: {
targets: string[];
};
code: {
languages: string[];
};
};
query: {
page: number;
perPage: number;
};
email: Readonly<{
readonly renderedOutput: "email-templates.json";
readonly assets: {
readonly logo: "/lucid/assets/email-logo.svg";
};
readonly locations: {
readonly resetPassword: "/lucid/reset-password";
readonly acceptInvitation: "/lucid/accept-invitation";
readonly emailChangeConfirm: "/lucid/email-change/confirm";
readonly emailChangeRevert: "/lucid/email-change/revert";
};
readonly storage: {
readonly defaultPreviewFallback: "[REDACTED]";
readonly encryptedValueMarker: "__lucid_email_encrypted";
readonly encryptedValueVersion: 1;
readonly millisecondsInDay: number;
};
readonly templates: {
readonly resetPassword: {
readonly key: "reset-password";
readonly external: false;
readonly storage: {
readonly resetLink: {
readonly redact: true;
};
};
};
readonly userInvite: {
readonly key: "user-invite";
readonly external: false;
readonly storage: {
readonly inviteLink: {
readonly redact: true;
};
};
};
readonly passwordResetSuccess: {
readonly key: "password-reset-success";
readonly external: false;
readonly storage: null;
};
readonly emailChanged: {
readonly key: "email-changed";
readonly external: false;
readonly storage: null;
};
readonly emailChangeConfirm: {
readonly key: "email-change-confirm";
readonly external: false;
readonly storage: {
readonly confirmLink: {
readonly redact: true;
};
};
};
readonly emailChangeRevert: {
readonly key: "email-change-revert";
readonly external: false;
readonly storage: {
readonly revertLink: {
readonly redact: true;
};
};
};
readonly storageAlert: {
readonly key: "storage-alert";
readonly external: false;
readonly storage: null;
};
readonly publishRequest: {
readonly key: "publish-request";
readonly external: false;
readonly storage: null;
};
};
}>;
i18n: {
renderedOutput: string;
};
alerts: {
storage: {
type: "storage";
thresholds: readonly [{
readonly percent: 80;
readonly level: "warning";
readonly cooldownDays: 7;
}, {
readonly percent: 90;
readonly level: "warning";
readonly cooldownDays: 3;
}, {
readonly percent: 100;
readonly level: "critical";
readonly cooldownDays: 1;
}];
};
publishRequest: {
type: "publish-request";
};
};
errors: {
name: string;
message: string;
status: number;
code: undefined;
errors: undefined;
};
rateLimit: {
ttlBufferSeconds: number;
scopes: {
sensitive: {
limit: number;
scopeKey: string;
};
low: {
limit: number;
scopeKey: string;
};
standard: {
limit: number;
scopeKey: string;
};
stream: {
limit: number;
scopeKey: string;
};
};
};
directories: {
public: string;
lucid: string;
base: string;
viteBuild: string;
plugins: string;
};
typeGeneration: {
file: string;
files: {
core: string;
client: string;
};
disclaimer: string;
modules: {
readonly coreTypes: "@lucidcms/core/types";
readonly clientTypes: "@lucidcms/client/types";
readonly publicTypes: "@lucidcms/types";
};
};
brickTypes: {
readonly builder: "builder";
readonly fixed: "fixed";
};
db: {
prefix: string;
nameSeparator: string;
generatedColumnPrefix: "_";
generatedIndexPrefix: "lucid_idx__";
customFieldTablePrefix: "cf_";
minTableNameByteLimit: number;
maxBuilderKeyLength: number;
externalMigrationNameRegex: RegExp;
externalMigrationDirectory: "migrations";
};
logScopes: {
readonly lucid: "lucid";
readonly migrations: "migrations";
readonly cron: "cron";
readonly config: "config";
readonly sync: "sync";
readonly query: "query";
readonly http: "http";
readonly validation: "validation";
readonly typeGeneration: "type-generation";
readonly kvAdapter: "kv-adapter";
readonly queueAdapter: "queue-adapter";
readonly imageProcessor: "image-processor";
readonly mediaAdapter: "media-adapter";
readonly emailAdapter: "email-adapter";
readonly oidcAuth: "oidc-auth";
readonly ai: "ai";
};
retention: 30;
cronSchedules: {
maintenance: string;
scheduledPublishing: string;
};
csrfExpiration: 604800;
refreshTokenExpiration: 604800;
accessTokenExpiration: 300;
authCacheExpiration: 60;
passwordResetTokenExpirationMinutes: 15;
userInviteTokenExpirationMinutes: 1440;
emailChangeTokenExpirationMinutes: 1440;
presignedUrlExpiration: 3600000;
uploadSessionExpiration: 3600000;
uploadSessionPartSize: number;
shareLinkExpiration: 86400;
documentation: "https://lucidjs.build/en/cms/docs/configuration/configuring-lucid-cms/";
mediaAwaitingSyncInterval: 3600000;
media: {
imagePresetQuality: number;
processedKey: "processed";
awaitingSyncKey: "awaiting-sync";
visibilityKeys: {
readonly private: "private";
readonly public: "public";
};
reservedTenantKeys: readonly ["processed", "awaiting-sync", "private", "public"];
previewableTypes: readonly ["image", "video", "audio"];
};
license: {
statusRecheckIntervalSeconds: number;
};
endpoints: {
lucidRemoteApiDomain: string;
};
config: {
filename: string;
extensions: string[];
};
defaultUploadDirectory: "uploads";
queue: {
maxAttempts: number;
concurrentLimit: number;
batchSize: number;
};
userTokens: {
readonly passwordReset: "password_reset";
readonly refresh: "refresh";
readonly invitation: "invitation";
readonly emailChangeConfirm: "email_change_confirm";
readonly emailChangeRevert: "email_change_revert";
};
refreshTokenRevokeReasons: {
readonly logout: "logout";
readonly rotated: "rotated";
readonly revokeAll: "revoke_all";
readonly reuseDetected: "reuse_detected";
readonly accountRevokeAll: "account_revoke_all";
readonly adminRevokeAll: "admin_revoke_all";
readonly emailChangeReverted: "email_change_reverted";
};
userTokenRevokeReasons: {
readonly passwordResetUsed: "password_reset_used";
readonly invitationAccepted: "invitation_accepted";
readonly invitationResent: "invitation_resent";
readonly emailChangeConfirmed: "email_change_confirmed";
readonly emailChangeCancelled: "email_change_cancelled";
readonly emailChangeReverted: "email_change_reverted";
readonly emailChangeSuperseded: "email_change_superseded";
readonly expired: "expired";
};
emailChangeRequestStatuses: {
readonly pending: "pending";
readonly confirmed: "confirmed";
readonly cancelled: "cancelled";
readonly reverted: "reverted";
readonly superseded: "superseded";
};
securityAudit: {
readonly actions: {
readonly emailChange: "email_change";
readonly passwordChange: "password_change";
readonly roleChange: "role_change";
readonly authProviderUnlink: "auth_provider_unlink";
};
readonly redactedValue: "[REDACTED]";
};
authState: {
actionTypes: {
readonly invitation: "invitation";
readonly authLink: "authenticated-link";
readonly login: "login";
};
defaultRedirectPath: string;
defaultErrorRedirectPath: string;
ttl: number;
};
}>;
//#endregion
export { _default as default };
//# sourceMappingURL=constants.d.mts.map