{"version":3,"file":"constants.mjs","names":[],"sources":["../../src/constants/constants.ts"],"sourcesContent":["import emailConstants from \"./emails.js\";\n\nexport default Object.freeze({\n\tlocales: [\"en\"] as const,\n\topenAPIDocsRoute: \"/lucid/documentation\",\n\turls: {\n\t\tlocalhost: \"http://localhost:6543\",\n\t},\n\theaders: {\n\t\tcsrf: \"X-CSRF-Token\",\n\t\tidempotencyKey: \"idempotency-key\",\n\t\tinterfaceLocale: \"Lucid-Locale\",\n\t\trequestId: \"X-Request-Id\",\n\t\ttenant: \"X-Lucid-Tenant\",\n\t},\n\tcookies: {\n\t\tcsrf: \"_csrf\",\n\t\trefreshToken: \"_refresh\",\n\t\taccessToken: \"_access\",\n\t},\n\tjwt: {\n\t\talgorithm: \"HS256\" as const,\n\t},\n\tscrypt: {\n\t\tN: 2 ** 16, // 65536 iterations\n\t\tr: 8,\n\t\tp: 1,\n\t\tdkLen: 32,\n\t},\n\tfieldBuiler: {\n\t\tmaxRepeaterDepth: 3,\n\t},\n\tcollectionBuilder: {\n\t\tlocked: false,\n\t\trevisions: false,\n\t\tlocalized: false,\n\t\tautoSave: false,\n\t\tscheduling: false,\n\t\torderable: false,\n\t\tprotectedEnvironments: [\"latest\", \"revision\", \"snapshot\"],\n\t\trevisionRetentionDays: 30,\n\t\tpreviewExpirationSeconds: 3600,\n\t\tpreviewMaxExpirationSeconds: 604_800,\n\t\tpublishing: {\n\t\t\tallowSelfApproval: false,\n\t\t\tcomments: {\n\t\t\t\trequest: \"required\" as const,\n\t\t\t\tdecision: \"optional\" as const,\n\t\t\t},\n\t\t\tsnapshotVersionType: \"snapshot\" as const,\n\t\t\tworkflow: {\n\t\t\t\tstageColors: [\n\t\t\t\t\t\"grey\",\n\t\t\t\t\t\"red\",\n\t\t\t\t\t\"yellow\",\n\t\t\t\t\t\"green\",\n\t\t\t\t\t\"blue\",\n\t\t\t\t\t\"purple\",\n\t\t\t\t] as const,\n\t\t\t\tcolor: \"grey\" as const,\n\t\t\t},\n\t\t},\n\t},\n\tcustomFields: {\n\t\tlink: {\n\t\t\ttargets: [\"_self\", \"_blank\", \"_parent\", \"_top\", \"framename\"],\n\t\t},\n\t\tcode: {\n\t\t\tlanguages: [\n\t\t\t\t\"text\",\n\t\t\t\t\"javascript\",\n\t\t\t\t\"typescript\",\n\t\t\t\t\"jsx\",\n\t\t\t\t\"tsx\",\n\t\t\t\t\"json\",\n\t\t\t\t\"html\",\n\t\t\t\t\"css\",\n\t\t\t\t\"scss\",\n\t\t\t\t\"markdown\",\n\t\t\t\t\"yaml\",\n\t\t\t\t\"bash\",\n\t\t\t\t\"sql\",\n\t\t\t],\n\t\t},\n\t},\n\tquery: {\n\t\tpage: 1,\n\t\tperPage: 10,\n\t},\n\temail: emailConstants,\n\ti18n: {\n\t\trenderedOutput: \"i18n-translations.json\",\n\t},\n\talerts: {\n\t\tstorage: {\n\t\t\ttype: \"storage\" as const,\n\t\t\tthresholds: [\n\t\t\t\t{ percent: 80, level: \"warning\", cooldownDays: 7 },\n\t\t\t\t{ percent: 90, level: \"warning\", cooldownDays: 3 },\n\t\t\t\t{ percent: 100, level: \"critical\", cooldownDays: 1 },\n\t\t\t] as const,\n\t\t},\n\t\tpublishRequest: {\n\t\t\ttype: \"publish-request\" as const,\n\t\t},\n\t},\n\terrors: {\n\t\tname: \"Error\",\n\t\tmessage: \"An error occurred\",\n\t\tstatus: 500,\n\t\tcode: undefined,\n\t\terrors: undefined,\n\t},\n\trateLimit: {\n\t\tttlBufferSeconds: 1,\n\t\tscopes: {\n\t\t\tsensitive: { limit: 10, scopeKey: \"sensitive\" },\n\t\t\tlow: { limit: 20, scopeKey: \"low\" },\n\t\t\tstandard: { limit: 60, scopeKey: \"standard\" },\n\t\t\tstream: { limit: 500, scopeKey: \"stream\" },\n\t\t},\n\t},\n\tdirectories: {\n\t\tpublic: \"public\",\n\t\tlucid: \".lucid\",\n\t\tbase: \"lucid\",\n\t\tviteBuild: \"spa\",\n\t\tplugins: \"plugins\",\n\t},\n\ttypeGeneration: {\n\t\tfile: \"types.d.ts\",\n\t\tfiles: {\n\t\t\tcore: \"types.d.ts\",\n\t\t\tclient: \"client.d.ts\",\n\t\t},\n\t\tdisclaimer:\n\t\t\t\"/** This file is generated as a part of the Lucid CMS build process. Do not edit this file manually. */\",\n\t\tmodules: {\n\t\t\tcoreTypes: \"@lucidcms/core/types\",\n\t\t\tclientTypes: \"@lucidcms/client/types\",\n\t\t\tpublicTypes: \"@lucidcms/types\",\n\t\t} as const,\n\t},\n\tbrickTypes: {\n\t\tbuilder: \"builder\",\n\t\tfixed: \"fixed\",\n\t} as const,\n\tdb: {\n\t\tprefix: \"lucid_\",\n\t\tnameSeparator: \"__\",\n\t\tgeneratedColumnPrefix: \"_\" as const,\n\t\tgeneratedIndexPrefix: \"lucid_idx__\" as const,\n\t\tcustomFieldTablePrefix: \"cf_\" as const,\n\t\t//* postgres max table name length is 63 bytes\n\t\tminTableNameByteLimit: 63,\n\t\t//* max length for collection, brick keys. With the above and database adapter max table name length, we can ensure the table name is not too long\n\t\t//* This is the max size given table structure \"lucid_document__{collection-key:16}__${brick-key:16}__{rep/usr/doc/med}_hash\"\n\t\tmaxBuilderKeyLength: 16,\n\t\t//* core migrations use a zero-padded numeric prefix which always sorts before a\n\t\t//* 13 digit timestamp, so external migrations can never clash and always run after core\n\t\texternalMigrationNameRegex: /^\\d{13}-[a-z0-9][a-z0-9-_]*$/,\n\t\t//* project relative directory external migrations are automatically loaded from\n\t\texternalMigrationDirectory: \"migrations\" as const,\n\t},\n\tlogScopes: {\n\t\tlucid: \"lucid\",\n\t\tmigrations: \"migrations\",\n\t\tcron: \"cron\",\n\t\tconfig: \"config\",\n\t\tsync: \"sync\",\n\t\tquery: \"query\",\n\t\thttp: \"http\",\n\t\tvalidation: \"validation\",\n\t\ttypeGeneration: \"type-generation\",\n\t\tkvAdapter: \"kv-adapter\",\n\t\tqueueAdapter: \"queue-adapter\",\n\t\timageProcessor: \"image-processor\",\n\t\tmediaAdapter: \"media-adapter\",\n\t\temailAdapter: \"email-adapter\",\n\t\toidcAuth: \"oidc-auth\",\n\t\tai: \"ai\",\n\t} as const,\n\tretention: 30,\n\tcronSchedules: {\n\t\tmaintenance: \"0 0 * * *\",\n\t\tscheduledPublishing: \"0 */4 * * *\",\n\t},\n\tcsrfExpiration: 604800, // 7 days in seconds\n\trefreshTokenExpiration: 604800, // 7 days in seconds\n\taccessTokenExpiration: 300, // 5 minutes in seconds\n\tauthCacheExpiration: 60, // 1 minute in seconds\n\tpasswordResetTokenExpirationMinutes: 15, // 15 minutes\n\tuserInviteTokenExpirationMinutes: 1440, // 24 hours in minutes\n\temailChangeTokenExpirationMinutes: 1440, // 24 hours in minutes\n\tpresignedUrlExpiration: 3600000, // 1 hour in ms\n\tuploadSessionExpiration: 3600000, // 1 hour in ms\n\tuploadSessionPartSize: 8 * 1024 * 1024, // 8MiB\n\tshareLinkExpiration: 86400, // 24 hours in seconds\n\tdocumentation:\n\t\t\"https://lucidjs.build/en/cms/docs/configuration/configuring-lucid-cms/\",\n\tmediaAwaitingSyncInterval: 3600000, // 1 hour in ms\n\tmedia: {\n\t\timagePresetQuality: 80,\n\t\tprocessedKey: \"processed\" as const,\n\t\tawaitingSyncKey: \"awaiting-sync\" as const,\n\t\tvisibilityKeys: {\n\t\t\tprivate: \"private\",\n\t\t\tpublic: \"public\",\n\t\t} as const,\n\t\treservedTenantKeys: [\n\t\t\t\"processed\",\n\t\t\t\"awaiting-sync\",\n\t\t\t\"private\",\n\t\t\t\"public\",\n\t\t] as const,\n\t\tpreviewableTypes: [\"image\", \"video\", \"audio\"] as const,\n\t},\n\tlicense: {\n\t\tstatusRecheckIntervalSeconds: 3600, // 1 hour\n\t},\n\tendpoints: {\n\t\tlucidRemoteApiDomain: \"https://api.lucidcms.io\",\n\t},\n\tconfig: {\n\t\tfilename: \"lucid.config\",\n\t\textensions: [\".ts\", \".js\", \".mjs\", \".mts\"],\n\t},\n\tdefaultUploadDirectory: \"uploads\",\n\tqueue: {\n\t\tmaxAttempts: 3,\n\t\tconcurrentLimit: 5,\n\t\tbatchSize: 10,\n\t},\n\tuserTokens: {\n\t\tpasswordReset: \"password_reset\",\n\t\trefresh: \"refresh\",\n\t\tinvitation: \"invitation\",\n\t\temailChangeConfirm: \"email_change_confirm\",\n\t\temailChangeRevert: \"email_change_revert\",\n\t} as const,\n\trefreshTokenRevokeReasons: {\n\t\tlogout: \"logout\",\n\t\trotated: \"rotated\",\n\t\trevokeAll: \"revoke_all\",\n\t\treuseDetected: \"reuse_detected\",\n\t\taccountRevokeAll: \"account_revoke_all\",\n\t\tadminRevokeAll: \"admin_revoke_all\",\n\t\temailChangeReverted: \"email_change_reverted\",\n\t} as const,\n\tuserTokenRevokeReasons: {\n\t\tpasswordResetUsed: \"password_reset_used\",\n\t\tinvitationAccepted: \"invitation_accepted\",\n\t\tinvitationResent: \"invitation_resent\",\n\t\temailChangeConfirmed: \"email_change_confirmed\",\n\t\temailChangeCancelled: \"email_change_cancelled\",\n\t\temailChangeReverted: \"email_change_reverted\",\n\t\temailChangeSuperseded: \"email_change_superseded\",\n\t\texpired: \"expired\",\n\t} as const,\n\temailChangeRequestStatuses: {\n\t\tpending: \"pending\",\n\t\tconfirmed: \"confirmed\",\n\t\tcancelled: \"cancelled\",\n\t\treverted: \"reverted\",\n\t\tsuperseded: \"superseded\",\n\t} as const,\n\tsecurityAudit: {\n\t\tactions: {\n\t\t\temailChange: \"email_change\",\n\t\t\tpasswordChange: \"password_change\",\n\t\t\troleChange: \"role_change\",\n\t\t\tauthProviderUnlink: \"auth_provider_unlink\",\n\t\t},\n\t\tredactedValue: \"[REDACTED]\",\n\t} as const,\n\tauthState: {\n\t\tactionTypes: {\n\t\t\tinvitation: \"invitation\",\n\t\t\tauthLink: \"authenticated-link\",\n\t\t\tlogin: \"login\",\n\t\t} as const,\n\t\tdefaultRedirectPath: \"/lucid\",\n\t\tdefaultErrorRedirectPath: \"/lucid/login\",\n\t\tttl: 600000,\n\t},\n});\n"],"mappings":"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"}