includio-cms 0.20.0 → 0.22.0

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.
Files changed (101) hide show
  1. package/API.md +22 -21
  2. package/CHANGELOG.md +147 -0
  3. package/DOCS.md +1 -1
  4. package/README.md +138 -32
  5. package/ROADMAP.md +11 -4
  6. package/dist/admin/api/rest/handler.d.ts +13 -1
  7. package/dist/admin/api/rest/handler.js +13 -1
  8. package/dist/admin/api/rest/middleware/apiKey.js +9 -1
  9. package/dist/admin/api/rest/middleware/generateApiKey.d.ts +16 -0
  10. package/dist/admin/api/rest/middleware/generateApiKey.js +19 -0
  11. package/dist/admin/client/collection/collection-entries.svelte +1 -1
  12. package/dist/admin/client/collection/empty-state.svelte +1 -1
  13. package/dist/admin/client/collection/row-actions.svelte +3 -3
  14. package/dist/admin/client/collection/table-toolbar.svelte +3 -1
  15. package/dist/admin/client/entry/entry-header.svelte +3 -1
  16. package/dist/admin/client/users/create-user-dialog.svelte +4 -4
  17. package/dist/admin/client/users/delete-user-dialog.svelte +4 -2
  18. package/dist/admin/client/users/lang.d.ts +10 -2
  19. package/dist/admin/client/users/lang.js +10 -4
  20. package/dist/admin/client/users/users-page.svelte +3 -2
  21. package/dist/admin/components/media/file-upload.svelte +2 -0
  22. package/dist/ai-claude/index.d.ts +9 -1
  23. package/dist/ai-claude/index.js +9 -1
  24. package/dist/ai-openai/index.d.ts +9 -1
  25. package/dist/ai-openai/index.js +9 -1
  26. package/dist/cli/index.js +115 -13
  27. package/dist/cms/runtime/schema.d.ts +2 -0
  28. package/dist/cms/runtime/schema.js +4 -0
  29. package/dist/cms/runtime/types.d.ts +1 -1
  30. package/dist/core/cms.d.ts +13 -1
  31. package/dist/core/cms.js +13 -1
  32. package/dist/core/errors.d.ts +71 -0
  33. package/dist/core/errors.js +179 -0
  34. package/dist/core/server/consentLogs/operations/create.d.ts +13 -1
  35. package/dist/core/server/consentLogs/operations/create.js +13 -1
  36. package/dist/core/server/entries/operations/create.js +6 -1
  37. package/dist/core/server/entries/operations/get.js +14 -3
  38. package/dist/core/server/entries/operations/resolveEntry.d.ts +32 -1
  39. package/dist/core/server/entries/operations/resolveEntry.js +36 -4
  40. package/dist/core/server/entries/operations/update.js +5 -1
  41. package/dist/core/server/fields/utils/resolveMedia.d.ts +18 -1
  42. package/dist/core/server/fields/utils/resolveMedia.js +13 -1
  43. package/dist/core/server/forms/submissions/operations/create.d.ts +21 -1
  44. package/dist/core/server/forms/submissions/operations/create.js +18 -2
  45. package/dist/core/server/forms/submissions/utils/parseMultipart.d.ts +15 -1
  46. package/dist/core/server/forms/submissions/utils/parseMultipart.js +15 -1
  47. package/dist/core/server/media/operations/uploadFile.js +4 -3
  48. package/dist/core/server/media/styles/sharp/generateImageStyle.js +3 -2
  49. package/dist/core/server/media/utils/generateAdminThumbnail.js +3 -2
  50. package/dist/core/server/media/utils/generateBlurDataUrl.js +2 -1
  51. package/dist/db-postgres/index.d.ts +10 -0
  52. package/dist/db-postgres/index.js +10 -0
  53. package/dist/email-nodemailer/index.d.ts +13 -1
  54. package/dist/email-nodemailer/index.js +13 -1
  55. package/dist/entity/index.d.ts +16 -1
  56. package/dist/entity/index.js +16 -1
  57. package/dist/files-local/index.d.ts +12 -1
  58. package/dist/files-local/index.js +12 -1
  59. package/dist/paraglide/messages/_index.d.ts +3 -36
  60. package/dist/paraglide/messages/_index.js +3 -71
  61. package/dist/paraglide/messages/hello_world.d.ts +5 -0
  62. package/dist/paraglide/messages/hello_world.js +33 -0
  63. package/dist/paraglide/messages/login_hello.d.ts +16 -0
  64. package/dist/paraglide/messages/login_hello.js +34 -0
  65. package/dist/paraglide/messages/login_please_login.d.ts +16 -0
  66. package/dist/paraglide/messages/login_please_login.js +34 -0
  67. package/dist/server/auth.d.ts +11 -0
  68. package/dist/server/auth.js +11 -0
  69. package/dist/server/security/csp.d.ts +16 -0
  70. package/dist/server/security/csp.js +33 -0
  71. package/dist/server/security/csrf.d.ts +13 -0
  72. package/dist/server/security/csrf.js +49 -0
  73. package/dist/server/security/index.d.ts +3 -0
  74. package/dist/server/security/index.js +3 -0
  75. package/dist/server/security/rate-limit.d.ts +44 -0
  76. package/dist/server/security/rate-limit.js +97 -0
  77. package/dist/server/utils/withTimeout.d.ts +21 -0
  78. package/dist/server/utils/withTimeout.js +37 -0
  79. package/dist/sveltekit/config.d.ts +67 -4
  80. package/dist/sveltekit/config.js +73 -4
  81. package/dist/sveltekit/server/handle.d.ts +15 -1
  82. package/dist/sveltekit/server/handle.js +22 -1
  83. package/dist/sveltekit/server/index.d.ts +1 -0
  84. package/dist/sveltekit/server/index.js +1 -0
  85. package/dist/sveltekit/server/layout.d.ts +12 -1
  86. package/dist/sveltekit/server/layout.js +12 -1
  87. package/dist/sveltekit/server/preview.d.ts +21 -1
  88. package/dist/sveltekit/server/preview.js +21 -1
  89. package/dist/types/cms.d.ts +4 -0
  90. package/dist/types/cms.schema.d.ts +452 -0
  91. package/dist/types/cms.schema.js +629 -0
  92. package/dist/updates/0.21.0/index.d.ts +2 -0
  93. package/dist/updates/0.21.0/index.js +55 -0
  94. package/dist/updates/0.22.0/index.d.ts +2 -0
  95. package/dist/updates/0.22.0/index.js +75 -0
  96. package/dist/updates/index.js +3 -1
  97. package/package.json +12 -2
  98. package/dist/paraglide/messages/en.d.ts +0 -5
  99. package/dist/paraglide/messages/en.js +0 -14
  100. package/dist/paraglide/messages/pl.d.ts +0 -5
  101. package/dist/paraglide/messages/pl.js +0 -14
@@ -0,0 +1,452 @@
1
+ import { z } from 'zod';
2
+ type FieldDef = {
3
+ type: string;
4
+ slug: string;
5
+ } & Record<string, unknown>;
6
+ declare function getLangCode(entry: unknown): string | null;
7
+ /**
8
+ * Final config schema. Use `cmsConfigSchema.safeParse(input)` and pass any
9
+ * resulting `ZodError` to `formatConfigError` (in `core/errors.ts`) to get a
10
+ * human-readable {@link import('../core/errors.js').ConfigValidationError}.
11
+ *
12
+ * Cross-field invariants enforced via `superRefine`:
13
+ * - `languages` has at most one `default: true`.
14
+ * - `collections[].slug` are unique.
15
+ * - `singles[].slug` are unique.
16
+ * - `forms[].slug` are unique.
17
+ * - Each `relation` field's `collection` references a declared collection.
18
+ * - `apiKeys[].permissions` reference declared collection slugs.
19
+ */
20
+ export declare const cmsConfigSchema: z.ZodObject<{
21
+ languages: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
22
+ code: z.ZodString;
23
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
24
+ default: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$loose>]>>;
26
+ collections: z.ZodOptional<z.ZodArray<z.ZodObject<{
27
+ entryAdminTitle: z.ZodOptional<z.ZodString>;
28
+ labels: z.ZodOptional<z.ZodObject<{
29
+ singular: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
30
+ plural: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
31
+ }, z.core.$strip>>;
32
+ orderable: z.ZodOptional<z.ZodBoolean>;
33
+ listColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ slug: z.ZodString;
35
+ sidebarIcon: z.ZodOptional<z.ZodString>;
36
+ previewUrl: z.ZodOptional<z.ZodString>;
37
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
38
+ layout: z.ZodOptional<z.ZodUnknown>;
39
+ slugField: z.ZodOptional<z.ZodString>;
40
+ pathTemplate: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$loose>>>;
42
+ singles: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
44
+ slug: z.ZodString;
45
+ sidebarIcon: z.ZodOptional<z.ZodString>;
46
+ previewUrl: z.ZodOptional<z.ZodString>;
47
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
48
+ layout: z.ZodOptional<z.ZodUnknown>;
49
+ slugField: z.ZodOptional<z.ZodString>;
50
+ pathTemplate: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$loose>>>;
52
+ forms: z.ZodOptional<z.ZodArray<z.ZodObject<{
53
+ slug: z.ZodString;
54
+ sidebarIcon: z.ZodOptional<z.ZodString>;
55
+ fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
56
+ type: z.ZodLiteral<"text">;
57
+ minLength: z.ZodOptional<z.ZodNumber>;
58
+ maxLength: z.ZodOptional<z.ZodNumber>;
59
+ slug: z.ZodString;
60
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
61
+ required: z.ZodOptional<z.ZodBoolean>;
62
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
63
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
64
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
65
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
66
+ }, z.core.$loose>, z.ZodObject<{
67
+ type: z.ZodLiteral<"email">;
68
+ slug: z.ZodString;
69
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
70
+ required: z.ZodOptional<z.ZodBoolean>;
71
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
72
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
73
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
74
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
75
+ }, z.core.$loose>, z.ZodObject<{
76
+ type: z.ZodLiteral<"textarea">;
77
+ minLength: z.ZodOptional<z.ZodNumber>;
78
+ maxLength: z.ZodOptional<z.ZodNumber>;
79
+ slug: z.ZodString;
80
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
81
+ required: z.ZodOptional<z.ZodBoolean>;
82
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
83
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
84
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
85
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
86
+ }, z.core.$loose>, z.ZodObject<{
87
+ type: z.ZodLiteral<"checkbox">;
88
+ slug: z.ZodString;
89
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
90
+ required: z.ZodOptional<z.ZodBoolean>;
91
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
92
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
93
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
94
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
95
+ }, z.core.$loose>, z.ZodObject<{
96
+ type: z.ZodLiteral<"select">;
97
+ options: z.ZodArray<z.ZodObject<{
98
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
99
+ value: z.ZodString;
100
+ }, z.core.$strip>>;
101
+ slug: z.ZodString;
102
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
103
+ required: z.ZodOptional<z.ZodBoolean>;
104
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
105
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
106
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
107
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
108
+ }, z.core.$loose>, z.ZodObject<{
109
+ type: z.ZodLiteral<"file">;
110
+ accept: z.ZodOptional<z.ZodString>;
111
+ maxSize: z.ZodOptional<z.ZodNumber>;
112
+ slug: z.ZodString;
113
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
114
+ required: z.ZodOptional<z.ZodBoolean>;
115
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
116
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
117
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
118
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
119
+ }, z.core.$loose>], "type">>;
120
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
121
+ notificationEmailAddresses: z.ZodOptional<z.ZodArray<z.ZodString>>;
122
+ }, z.core.$loose>>>;
123
+ db: z.ZodCustom<unknown, unknown>;
124
+ files: z.ZodCustom<unknown, unknown>;
125
+ email: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
126
+ auth: z.ZodOptional<z.ZodObject<{
127
+ secret: z.ZodString;
128
+ baseURL: z.ZodOptional<z.ZodString>;
129
+ }, z.core.$loose>>;
130
+ plugins: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
131
+ ai: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
132
+ media: z.ZodOptional<z.ZodUnknown>;
133
+ apiKeys: z.ZodOptional<z.ZodArray<z.ZodObject<{
134
+ key: z.ZodString;
135
+ name: z.ZodOptional<z.ZodString>;
136
+ role: z.ZodOptional<z.ZodEnum<{
137
+ admin: "admin";
138
+ editor: "editor";
139
+ }>>;
140
+ expiresAt: z.ZodOptional<z.ZodString>;
141
+ rotatedAt: z.ZodOptional<z.ZodString>;
142
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
143
+ }, z.core.$loose>>>;
144
+ typography: z.ZodOptional<z.ZodObject<{
145
+ fixOrphans: z.ZodOptional<z.ZodBoolean>;
146
+ }, z.core.$loose>>;
147
+ sidebarHelp: z.ZodOptional<z.ZodBoolean>;
148
+ shop: z.ZodOptional<z.ZodUnknown>;
149
+ cmp: z.ZodOptional<z.ZodUnknown>;
150
+ }, z.core.$loose>;
151
+ export type CmsConfigSchema = z.infer<typeof cmsConfigSchema>;
152
+ /** Exposed for tests only. Not part of the public API. */
153
+ export declare const _internal: {
154
+ fieldSchema: z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>;
155
+ formFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
156
+ type: z.ZodLiteral<"text">;
157
+ minLength: z.ZodOptional<z.ZodNumber>;
158
+ maxLength: z.ZodOptional<z.ZodNumber>;
159
+ slug: z.ZodString;
160
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
161
+ required: z.ZodOptional<z.ZodBoolean>;
162
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
163
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
164
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
165
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
166
+ }, z.core.$loose>, z.ZodObject<{
167
+ type: z.ZodLiteral<"email">;
168
+ slug: z.ZodString;
169
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
170
+ required: z.ZodOptional<z.ZodBoolean>;
171
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
172
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
173
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
174
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
175
+ }, z.core.$loose>, z.ZodObject<{
176
+ type: z.ZodLiteral<"textarea">;
177
+ minLength: z.ZodOptional<z.ZodNumber>;
178
+ maxLength: z.ZodOptional<z.ZodNumber>;
179
+ slug: z.ZodString;
180
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
181
+ required: z.ZodOptional<z.ZodBoolean>;
182
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
183
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
184
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
185
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
186
+ }, z.core.$loose>, z.ZodObject<{
187
+ type: z.ZodLiteral<"checkbox">;
188
+ slug: z.ZodString;
189
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
190
+ required: z.ZodOptional<z.ZodBoolean>;
191
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
192
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
193
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
194
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
195
+ }, z.core.$loose>, z.ZodObject<{
196
+ type: z.ZodLiteral<"select">;
197
+ options: z.ZodArray<z.ZodObject<{
198
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
199
+ value: z.ZodString;
200
+ }, z.core.$strip>>;
201
+ slug: z.ZodString;
202
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
203
+ required: z.ZodOptional<z.ZodBoolean>;
204
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
205
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
206
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
207
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
208
+ }, z.core.$loose>, z.ZodObject<{
209
+ type: z.ZodLiteral<"file">;
210
+ accept: z.ZodOptional<z.ZodString>;
211
+ maxSize: z.ZodOptional<z.ZodNumber>;
212
+ slug: z.ZodString;
213
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
214
+ required: z.ZodOptional<z.ZodBoolean>;
215
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
216
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
217
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
218
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
219
+ }, z.core.$loose>], "type">;
220
+ collectionSchema: z.ZodObject<{
221
+ entryAdminTitle: z.ZodOptional<z.ZodString>;
222
+ labels: z.ZodOptional<z.ZodObject<{
223
+ singular: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
224
+ plural: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
225
+ }, z.core.$strip>>;
226
+ orderable: z.ZodOptional<z.ZodBoolean>;
227
+ listColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
228
+ slug: z.ZodString;
229
+ sidebarIcon: z.ZodOptional<z.ZodString>;
230
+ previewUrl: z.ZodOptional<z.ZodString>;
231
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
232
+ layout: z.ZodOptional<z.ZodUnknown>;
233
+ slugField: z.ZodOptional<z.ZodString>;
234
+ pathTemplate: z.ZodOptional<z.ZodString>;
235
+ }, z.core.$loose>;
236
+ singleSchema: z.ZodObject<{
237
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
238
+ slug: z.ZodString;
239
+ sidebarIcon: z.ZodOptional<z.ZodString>;
240
+ previewUrl: z.ZodOptional<z.ZodString>;
241
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
242
+ layout: z.ZodOptional<z.ZodUnknown>;
243
+ slugField: z.ZodOptional<z.ZodString>;
244
+ pathTemplate: z.ZodOptional<z.ZodString>;
245
+ }, z.core.$loose>;
246
+ formSchema: z.ZodObject<{
247
+ slug: z.ZodString;
248
+ sidebarIcon: z.ZodOptional<z.ZodString>;
249
+ fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
250
+ type: z.ZodLiteral<"text">;
251
+ minLength: z.ZodOptional<z.ZodNumber>;
252
+ maxLength: z.ZodOptional<z.ZodNumber>;
253
+ slug: z.ZodString;
254
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
255
+ required: z.ZodOptional<z.ZodBoolean>;
256
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
257
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
258
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
259
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
260
+ }, z.core.$loose>, z.ZodObject<{
261
+ type: z.ZodLiteral<"email">;
262
+ slug: z.ZodString;
263
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
264
+ required: z.ZodOptional<z.ZodBoolean>;
265
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
266
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
267
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
268
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
269
+ }, z.core.$loose>, z.ZodObject<{
270
+ type: z.ZodLiteral<"textarea">;
271
+ minLength: z.ZodOptional<z.ZodNumber>;
272
+ maxLength: z.ZodOptional<z.ZodNumber>;
273
+ slug: z.ZodString;
274
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
275
+ required: z.ZodOptional<z.ZodBoolean>;
276
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
277
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
278
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
279
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
280
+ }, z.core.$loose>, z.ZodObject<{
281
+ type: z.ZodLiteral<"checkbox">;
282
+ slug: z.ZodString;
283
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
284
+ required: z.ZodOptional<z.ZodBoolean>;
285
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
286
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
287
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
288
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
289
+ }, z.core.$loose>, z.ZodObject<{
290
+ type: z.ZodLiteral<"select">;
291
+ options: z.ZodArray<z.ZodObject<{
292
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
293
+ value: z.ZodString;
294
+ }, z.core.$strip>>;
295
+ slug: z.ZodString;
296
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
297
+ required: z.ZodOptional<z.ZodBoolean>;
298
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
299
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
300
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
301
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
302
+ }, z.core.$loose>, z.ZodObject<{
303
+ type: z.ZodLiteral<"file">;
304
+ accept: z.ZodOptional<z.ZodString>;
305
+ maxSize: z.ZodOptional<z.ZodNumber>;
306
+ slug: z.ZodString;
307
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
308
+ required: z.ZodOptional<z.ZodBoolean>;
309
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
310
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
311
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
312
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
313
+ }, z.core.$loose>], "type">>;
314
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
315
+ notificationEmailAddresses: z.ZodOptional<z.ZodArray<z.ZodString>>;
316
+ }, z.core.$loose>;
317
+ cmsConfigBaseSchema: z.ZodObject<{
318
+ languages: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
319
+ code: z.ZodString;
320
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
321
+ default: z.ZodOptional<z.ZodBoolean>;
322
+ }, z.core.$loose>]>>;
323
+ collections: z.ZodOptional<z.ZodArray<z.ZodObject<{
324
+ entryAdminTitle: z.ZodOptional<z.ZodString>;
325
+ labels: z.ZodOptional<z.ZodObject<{
326
+ singular: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
327
+ plural: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
328
+ }, z.core.$strip>>;
329
+ orderable: z.ZodOptional<z.ZodBoolean>;
330
+ listColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
331
+ slug: z.ZodString;
332
+ sidebarIcon: z.ZodOptional<z.ZodString>;
333
+ previewUrl: z.ZodOptional<z.ZodString>;
334
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
335
+ layout: z.ZodOptional<z.ZodUnknown>;
336
+ slugField: z.ZodOptional<z.ZodString>;
337
+ pathTemplate: z.ZodOptional<z.ZodString>;
338
+ }, z.core.$loose>>>;
339
+ singles: z.ZodOptional<z.ZodArray<z.ZodObject<{
340
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
341
+ slug: z.ZodString;
342
+ sidebarIcon: z.ZodOptional<z.ZodString>;
343
+ previewUrl: z.ZodOptional<z.ZodString>;
344
+ fields: z.ZodArray<z.ZodType<FieldDef, unknown, z.core.$ZodTypeInternals<FieldDef, unknown>>>;
345
+ layout: z.ZodOptional<z.ZodUnknown>;
346
+ slugField: z.ZodOptional<z.ZodString>;
347
+ pathTemplate: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$loose>>>;
349
+ forms: z.ZodOptional<z.ZodArray<z.ZodObject<{
350
+ slug: z.ZodString;
351
+ sidebarIcon: z.ZodOptional<z.ZodString>;
352
+ fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
353
+ type: z.ZodLiteral<"text">;
354
+ minLength: z.ZodOptional<z.ZodNumber>;
355
+ maxLength: z.ZodOptional<z.ZodNumber>;
356
+ slug: z.ZodString;
357
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
358
+ required: z.ZodOptional<z.ZodBoolean>;
359
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
360
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
361
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
362
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
363
+ }, z.core.$loose>, z.ZodObject<{
364
+ type: z.ZodLiteral<"email">;
365
+ slug: z.ZodString;
366
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
367
+ required: z.ZodOptional<z.ZodBoolean>;
368
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
369
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
370
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
371
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
372
+ }, z.core.$loose>, z.ZodObject<{
373
+ type: z.ZodLiteral<"textarea">;
374
+ minLength: z.ZodOptional<z.ZodNumber>;
375
+ maxLength: z.ZodOptional<z.ZodNumber>;
376
+ slug: z.ZodString;
377
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
378
+ required: z.ZodOptional<z.ZodBoolean>;
379
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
380
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
381
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
382
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
383
+ }, z.core.$loose>, z.ZodObject<{
384
+ type: z.ZodLiteral<"checkbox">;
385
+ slug: z.ZodString;
386
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
387
+ required: z.ZodOptional<z.ZodBoolean>;
388
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
389
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
390
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
391
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
392
+ }, z.core.$loose>, z.ZodObject<{
393
+ type: z.ZodLiteral<"select">;
394
+ options: z.ZodArray<z.ZodObject<{
395
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
396
+ value: z.ZodString;
397
+ }, z.core.$strip>>;
398
+ slug: z.ZodString;
399
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
400
+ required: z.ZodOptional<z.ZodBoolean>;
401
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
402
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
403
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
404
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
405
+ }, z.core.$loose>, z.ZodObject<{
406
+ type: z.ZodLiteral<"file">;
407
+ accept: z.ZodOptional<z.ZodString>;
408
+ maxSize: z.ZodOptional<z.ZodNumber>;
409
+ slug: z.ZodString;
410
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
411
+ required: z.ZodOptional<z.ZodBoolean>;
412
+ description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
413
+ errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
414
+ defaultValue: z.ZodOptional<z.ZodUnknown>;
415
+ showInDataTable: z.ZodOptional<z.ZodBoolean>;
416
+ }, z.core.$loose>], "type">>;
417
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
418
+ notificationEmailAddresses: z.ZodOptional<z.ZodArray<z.ZodString>>;
419
+ }, z.core.$loose>>>;
420
+ db: z.ZodCustom<unknown, unknown>;
421
+ files: z.ZodCustom<unknown, unknown>;
422
+ email: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
423
+ auth: z.ZodOptional<z.ZodObject<{
424
+ secret: z.ZodString;
425
+ baseURL: z.ZodOptional<z.ZodString>;
426
+ }, z.core.$loose>>;
427
+ plugins: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
428
+ ai: z.ZodOptional<z.ZodCustom<unknown, unknown>>;
429
+ media: z.ZodOptional<z.ZodUnknown>;
430
+ apiKeys: z.ZodOptional<z.ZodArray<z.ZodObject<{
431
+ key: z.ZodString;
432
+ name: z.ZodOptional<z.ZodString>;
433
+ role: z.ZodOptional<z.ZodEnum<{
434
+ admin: "admin";
435
+ editor: "editor";
436
+ }>>;
437
+ expiresAt: z.ZodOptional<z.ZodString>;
438
+ rotatedAt: z.ZodOptional<z.ZodString>;
439
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
440
+ }, z.core.$loose>>>;
441
+ typography: z.ZodOptional<z.ZodObject<{
442
+ fixOrphans: z.ZodOptional<z.ZodBoolean>;
443
+ }, z.core.$loose>>;
444
+ sidebarHelp: z.ZodOptional<z.ZodBoolean>;
445
+ shop: z.ZodOptional<z.ZodUnknown>;
446
+ cmp: z.ZodOptional<z.ZodUnknown>;
447
+ }, z.core.$loose>;
448
+ FIELD_TYPES: readonly ["text", "content", "number", "boolean", "date", "datetime", "file", "media", "select", "radio", "checkboxes", "relation", "object", "array", "blocks", "slug", "seo", "shop", "url", "custom"];
449
+ FORM_FIELD_TYPES: readonly ["text", "email", "textarea", "checkbox", "select", "file"];
450
+ getLangCode: typeof getLangCode;
451
+ };
452
+ export {};