@dyrected/core 2.5.51 → 2.5.52

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 (165) hide show
  1. package/dist/__tests__/admin-auth.test.d.ts +2 -0
  2. package/dist/__tests__/admin-auth.test.d.ts.map +1 -0
  3. package/dist/__tests__/admin-auth.test.js +440 -0
  4. package/dist/__tests__/admin-auth.test.js.map +1 -0
  5. package/dist/__tests__/config.test.js +57 -0
  6. package/dist/__tests__/config.test.js.map +1 -1
  7. package/dist/__tests__/email.service.test.d.ts +2 -0
  8. package/dist/__tests__/email.service.test.d.ts.map +1 -0
  9. package/dist/__tests__/email.service.test.js +46 -0
  10. package/dist/__tests__/email.service.test.js.map +1 -0
  11. package/dist/__tests__/fixtures/editorial-workflow.d.ts +9 -0
  12. package/dist/__tests__/fixtures/editorial-workflow.d.ts.map +1 -0
  13. package/dist/__tests__/fixtures/editorial-workflow.js +12 -0
  14. package/dist/__tests__/fixtures/editorial-workflow.js.map +1 -0
  15. package/dist/__tests__/mocks.d.ts +6 -0
  16. package/dist/__tests__/mocks.d.ts.map +1 -1
  17. package/dist/__tests__/mocks.js +8 -0
  18. package/dist/__tests__/mocks.js.map +1 -1
  19. package/dist/__tests__/openapi.test.d.ts +2 -0
  20. package/dist/__tests__/openapi.test.d.ts.map +1 -0
  21. package/dist/__tests__/openapi.test.js +95 -0
  22. package/dist/__tests__/openapi.test.js.map +1 -0
  23. package/dist/__tests__/parse-sort.test.d.ts +2 -0
  24. package/dist/__tests__/parse-sort.test.d.ts.map +1 -0
  25. package/dist/__tests__/parse-sort.test.js +24 -0
  26. package/dist/__tests__/parse-sort.test.js.map +1 -0
  27. package/dist/__tests__/preferences.test.d.ts +2 -0
  28. package/dist/__tests__/preferences.test.d.ts.map +1 -0
  29. package/dist/__tests__/preferences.test.js +168 -0
  30. package/dist/__tests__/preferences.test.js.map +1 -0
  31. package/dist/__tests__/router.test.js +4 -0
  32. package/dist/__tests__/router.test.js.map +1 -1
  33. package/dist/__tests__/where.test.js +9 -1
  34. package/dist/__tests__/where.test.js.map +1 -1
  35. package/dist/__tests__/workflow.test.d.ts +2 -0
  36. package/dist/__tests__/workflow.test.d.ts.map +1 -0
  37. package/dist/__tests__/workflow.test.js +497 -0
  38. package/dist/__tests__/workflow.test.js.map +1 -0
  39. package/dist/app-config-DLK6bCaP.d.cts +1390 -0
  40. package/dist/app-config-DLK6bCaP.d.ts +1390 -0
  41. package/dist/app-config-oOarB6Fw.d.cts +1411 -0
  42. package/dist/app-config-oOarB6Fw.d.ts +1411 -0
  43. package/dist/auth/token.d.ts +2 -0
  44. package/dist/auth/token.d.ts.map +1 -1
  45. package/dist/auth/token.js.map +1 -1
  46. package/dist/controllers/admin-auth.controller.d.ts +68 -0
  47. package/dist/controllers/admin-auth.controller.d.ts.map +1 -0
  48. package/dist/controllers/admin-auth.controller.js +414 -0
  49. package/dist/controllers/admin-auth.controller.js.map +1 -0
  50. package/dist/controllers/collection.controller.d.ts +69 -0
  51. package/dist/controllers/collection.controller.d.ts.map +1 -1
  52. package/dist/controllers/collection.controller.js +232 -7
  53. package/dist/controllers/collection.controller.js.map +1 -1
  54. package/dist/controllers/global.controller.js +19 -3
  55. package/dist/controllers/global.controller.js.map +1 -1
  56. package/dist/controllers/media.controller.d.ts +2 -0
  57. package/dist/controllers/media.controller.d.ts.map +1 -1
  58. package/dist/controllers/media.controller.js +13 -6
  59. package/dist/controllers/media.controller.js.map +1 -1
  60. package/dist/index.d.cts +2 -2
  61. package/dist/index.d.ts +2 -2
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/router.d.ts.map +1 -1
  65. package/dist/router.js +168 -6
  66. package/dist/router.js.map +1 -1
  67. package/dist/server.cjs +54 -8
  68. package/dist/server.d.cts +7 -1
  69. package/dist/server.d.ts +7 -1
  70. package/dist/server.js +54 -8
  71. package/dist/services/email-template.d.ts +46 -0
  72. package/dist/services/email-template.d.ts.map +1 -0
  73. package/dist/services/email-template.js +88 -0
  74. package/dist/services/email-template.js.map +1 -0
  75. package/dist/services/email.service.d.ts.map +1 -1
  76. package/dist/services/email.service.js +25 -148
  77. package/dist/services/email.service.js.map +1 -1
  78. package/dist/services/population.service.d.ts.map +1 -1
  79. package/dist/services/population.service.js +27 -1
  80. package/dist/services/population.service.js.map +1 -1
  81. package/dist/types/access.d.ts +38 -0
  82. package/dist/types/access.d.ts.map +1 -0
  83. package/dist/types/access.js +2 -0
  84. package/dist/types/access.js.map +1 -0
  85. package/dist/types/adapters.d.ts +146 -0
  86. package/dist/types/adapters.d.ts.map +1 -0
  87. package/dist/types/adapters.js +2 -0
  88. package/dist/types/adapters.js.map +1 -0
  89. package/dist/types/admin-auth.d.ts +132 -0
  90. package/dist/types/admin-auth.d.ts.map +1 -0
  91. package/dist/types/admin-auth.js +2 -0
  92. package/dist/types/admin-auth.js.map +1 -0
  93. package/dist/types/admin.d.ts +65 -0
  94. package/dist/types/admin.d.ts.map +1 -0
  95. package/dist/types/admin.js +2 -0
  96. package/dist/types/admin.js.map +1 -0
  97. package/dist/types/app-config.d.ts +143 -0
  98. package/dist/types/app-config.d.ts.map +1 -0
  99. package/dist/types/app-config.js +2 -0
  100. package/dist/types/app-config.js.map +1 -0
  101. package/dist/types/documents.d.ts +65 -0
  102. package/dist/types/documents.d.ts.map +1 -0
  103. package/dist/types/documents.js +2 -0
  104. package/dist/types/documents.js.map +1 -0
  105. package/dist/types/hooks.d.ts +122 -0
  106. package/dist/types/hooks.d.ts.map +1 -0
  107. package/dist/types/hooks.js +2 -0
  108. package/dist/types/hooks.js.map +1 -0
  109. package/dist/types/index.d.ts +12 -1748
  110. package/dist/types/index.d.ts.map +1 -1
  111. package/dist/types/index.js +12 -2
  112. package/dist/types/index.js.map +1 -1
  113. package/dist/types/request.d.ts +42 -0
  114. package/dist/types/request.d.ts.map +1 -0
  115. package/dist/types/request.js +2 -0
  116. package/dist/types/request.js.map +1 -0
  117. package/dist/types/schema-config.d.ts +303 -0
  118. package/dist/types/schema-config.d.ts.map +1 -0
  119. package/dist/types/schema-config.js +2 -0
  120. package/dist/types/schema-config.js.map +1 -0
  121. package/dist/types/schema-core.d.ts +294 -0
  122. package/dist/types/schema-core.d.ts.map +1 -0
  123. package/dist/types/schema-core.js +2 -0
  124. package/dist/types/schema-core.js.map +1 -0
  125. package/dist/types/schema-inference.d.ts +73 -0
  126. package/dist/types/schema-inference.d.ts.map +1 -0
  127. package/dist/types/schema-inference.js +2 -0
  128. package/dist/types/schema-inference.js.map +1 -0
  129. package/dist/types/workflows.d.ts +84 -0
  130. package/dist/types/workflows.d.ts.map +1 -0
  131. package/dist/types/workflows.js +7 -0
  132. package/dist/types/workflows.js.map +1 -0
  133. package/dist/utils/admin-auth.d.ts +5 -0
  134. package/dist/utils/admin-auth.d.ts.map +1 -0
  135. package/dist/utils/admin-auth.js +39 -0
  136. package/dist/utils/admin-auth.js.map +1 -0
  137. package/dist/utils/config.d.ts.map +1 -1
  138. package/dist/utils/config.js +86 -1
  139. package/dist/utils/config.js.map +1 -1
  140. package/dist/utils/hooks.d.ts.map +1 -1
  141. package/dist/utils/hooks.js +12 -8
  142. package/dist/utils/hooks.js.map +1 -1
  143. package/dist/utils/openapi.d.ts.map +1 -1
  144. package/dist/utils/openapi.js +559 -48
  145. package/dist/utils/openapi.js.map +1 -1
  146. package/dist/utils/parse-sort.d.ts +7 -0
  147. package/dist/utils/parse-sort.d.ts.map +1 -0
  148. package/dist/utils/parse-sort.js +23 -0
  149. package/dist/utils/parse-sort.js.map +1 -0
  150. package/dist/utils/swagger.d.ts +6 -0
  151. package/dist/utils/swagger.d.ts.map +1 -1
  152. package/dist/utils/swagger.js +13 -2
  153. package/dist/utils/swagger.js.map +1 -1
  154. package/dist/utils/upload-validation.d.ts +23 -0
  155. package/dist/utils/upload-validation.d.ts.map +1 -0
  156. package/dist/utils/upload-validation.js +44 -0
  157. package/dist/utils/upload-validation.js.map +1 -0
  158. package/dist/utils/where-sanitizer.d.ts.map +1 -1
  159. package/dist/utils/where-sanitizer.js +4 -0
  160. package/dist/utils/where-sanitizer.js.map +1 -1
  161. package/dist/workflows.d.ts +54 -0
  162. package/dist/workflows.d.ts.map +1 -0
  163. package/dist/workflows.js +282 -0
  164. package/dist/workflows.js.map +1 -0
  165. package/package.json +1 -1
@@ -0,0 +1,294 @@
1
+ import type { AuthenticatedUser, HookRequestContext } from "./request.js";
2
+ import type { AccessFunction } from "./access.js";
3
+ import type { DatabaseAdapter, ReadonlyDatabaseAdapter } from "./adapters.js";
4
+ import type { AdminIconName } from "./admin.js";
5
+ export type FieldType = "text" | "textarea" | "richText" | "number" | "boolean" | "date" | "datetime" | "time" | "select" | "multiSelect" | "radio" | "relationship" | "array" | "object" | "json" | "blocks" | "image" | "email" | "url" | "icon" | "join" | "row";
6
+ export interface DynamicOptionsResolverArgs {
7
+ /** Database adapter available to server-side option resolvers. */
8
+ db?: DatabaseAdapter;
9
+ /** Authenticated user making the request, if any. */
10
+ user?: AuthenticatedUser;
11
+ /** Current HTTP request context, including query parameters. */
12
+ req: HookRequestContext;
13
+ }
14
+ export type DynamicOptionsResolver = (args: DynamicOptionsResolverArgs) => Promise<DynamicOptionItem[]> | DynamicOptionItem[];
15
+ export interface DynamicOptionsConfig {
16
+ /** Resolver function executed on the server to produce option items. */
17
+ resolve: DynamicOptionsResolver;
18
+ /** Cache duration in seconds for identical resolver calls. */
19
+ cacheTTL?: number;
20
+ }
21
+ export type DynamicOptionItem = string | {
22
+ label: string;
23
+ value: unknown;
24
+ };
25
+ export interface Block {
26
+ /** Stable identifier stored in each block row as `blockType`. */
27
+ slug: string;
28
+ /** Human-readable labels shown in the Admin block picker. */
29
+ labels?: {
30
+ /** Singular label, for example `Hero`. */
31
+ singular: string;
32
+ /** Plural label, for example `Heroes`. */
33
+ plural: string;
34
+ };
35
+ /**
36
+ * Lucide icon name shown on the block card and in the block library.
37
+ * Falls back to a generic layout icon when omitted.
38
+ */
39
+ icon?: AdminIconName;
40
+ /** Short one-line summary shown under the block name (block card subtitle). */
41
+ description?: string;
42
+ /**
43
+ * Presentation variants for this block. All variants share the same `fields`;
44
+ * only the rendered layout differs. The chosen variant is stored on each block
45
+ * row under the reserved `variant` key and passed to the render component as a
46
+ * `variant` prop. Switching variant preserves the author's content.
47
+ */
48
+ variants?: BlockVariant[];
49
+ /** Fields that make up this block's payload. */
50
+ fields: Field[];
51
+ }
52
+ /**
53
+ * A single presentation variant of a {@link Block}. Variants are a layout choice
54
+ * over a shared field set — for example a Hero rendered "centered" vs "split".
55
+ */
56
+ export interface BlockVariant {
57
+ /** Stable identifier stored on the block row as `variant`. */
58
+ slug: string;
59
+ /** Human-readable label shown in the variant switcher. Defaults to `slug`. */
60
+ label?: string;
61
+ /** Lucide icon name shown beside the variant label. */
62
+ icon?: AdminIconName;
63
+ /** Short one-line summary of what this variant looks like. */
64
+ description?: string;
65
+ }
66
+ interface FieldBase {
67
+ /** Stored key for this field. Omit only for layout-only fields such as `row` or `join`. */
68
+ name?: string;
69
+ /** Human-readable label shown in the Admin UI. */
70
+ label?: string;
71
+ /** Whether the field must have a value when saving. */
72
+ required?: boolean;
73
+ /** Whether values for this field must be unique across the collection. */
74
+ unique?: boolean;
75
+ /** Default value used when a new document omits this field. */
76
+ defaultValue?: unknown;
77
+ /** Static or dynamic option source for supported selection fields. */
78
+ options?: string[] | {
79
+ label: string;
80
+ value: unknown;
81
+ }[] | DynamicOptionsResolver | DynamicOptionsConfig;
82
+ /** Target collection slug for `relationship` fields. */
83
+ relationTo?: string;
84
+ /** Whether the field stores multiple values instead of one. */
85
+ hasMany?: boolean;
86
+ /** Child fields for `object` and `array` field types. */
87
+ fields?: Field[];
88
+ /** Allowed block definitions for a `blocks` field. */
89
+ blocks?: Block[];
90
+ /** Target collection slug for `join` fields. */
91
+ collection?: string;
92
+ /** Back-reference field name on the joined collection. */
93
+ on?: string;
94
+ /** Maximum number of joined documents returned by a `join` field. */
95
+ limit?: number;
96
+ /** Field-level read and update access rules. */
97
+ access?: {
98
+ /** Controls whether this field is returned in API responses. */
99
+ read?: AccessFunction | string;
100
+ /** Controls whether incoming writes may change this field. */
101
+ update?: AccessFunction | string;
102
+ };
103
+ /** Admin-only presentation options for this field. */
104
+ admin?: BaseFieldAdmin;
105
+ /** Previous storage key to migrate from during schema sync. */
106
+ renameTo?: string;
107
+ /** Whether SQL adapters should promote this field into a first-class column. */
108
+ promoted?: boolean;
109
+ }
110
+ interface BaseFieldAdmin {
111
+ /** Placeholder text shown when the input has no value. */
112
+ placeholder?: string;
113
+ /** Custom component key registered in the Admin UI. */
114
+ component?: string;
115
+ /** Help text rendered below the field. */
116
+ description?: string;
117
+ /** Hides the field from the Admin form without deleting stored data. */
118
+ hidden?: boolean;
119
+ /** Excludes the field from Admin list filtering. */
120
+ filterable?: boolean;
121
+ /** Renders the field as non-editable in the Admin UI. */
122
+ readOnly?: boolean;
123
+ /** Reactive condition controlling whether the field is visible in the Admin UI. */
124
+ condition?: ((data: Record<string, unknown>, siblingData: Record<string, unknown>) => boolean) | string;
125
+ /** Tab name used when the edit form is rendered as tabs. */
126
+ tab?: string;
127
+ /** CSS width hint used when the field appears inside a `row`. */
128
+ width?: string;
129
+ }
130
+ export interface FieldBeforeChangeHookArgs<TValue = unknown, TDoc extends object = Record<string, unknown>> {
131
+ /** Current field value after previous hooks in the chain. */
132
+ value: TValue;
133
+ /** Existing stored document before the write, if this is an update. */
134
+ originalDoc?: TDoc;
135
+ /** Full incoming payload being written. */
136
+ data: Record<string, unknown>;
137
+ /** Authenticated user performing the write, if any. */
138
+ user?: AuthenticatedUser;
139
+ /** Read-only database adapter for related lookups. */
140
+ db: ReadonlyDatabaseAdapter;
141
+ }
142
+ export type FieldBeforeChangeHook<TValue = unknown, TDoc extends object = Record<string, unknown>> = (args: FieldBeforeChangeHookArgs<TValue, TDoc>) => unknown;
143
+ export interface FieldAfterReadHookArgs<TValue = unknown, TDoc extends object = Record<string, unknown>> {
144
+ /** Raw stored field value before this hook transforms it. */
145
+ value: TValue;
146
+ /** Full document currently being returned to the caller. */
147
+ doc: TDoc;
148
+ /** Authenticated user requesting the document, if any. */
149
+ user?: AuthenticatedUser;
150
+ /** Read-only database adapter for related lookups. */
151
+ db: ReadonlyDatabaseAdapter;
152
+ }
153
+ export type FieldAfterReadHook<TValue = unknown, TDoc extends object = Record<string, unknown>> = (args: FieldAfterReadHookArgs<TValue, TDoc>) => unknown;
154
+ type FieldHooks<TValue> = {
155
+ hooks?: {
156
+ beforeChange?: Array<FieldBeforeChangeHook<TValue>>;
157
+ afterRead?: Array<FieldAfterReadHook<TValue>>;
158
+ };
159
+ };
160
+ export interface FieldAdminOnChangeHookArgs<TValue = unknown> {
161
+ /** Current field value in the form state. */
162
+ value: TValue;
163
+ /** Current values for sibling fields at the same nesting level. */
164
+ siblingData: Record<string, unknown>;
165
+ /** Current values for the entire form. */
166
+ data: Record<string, unknown>;
167
+ /** Imperative setter for async or derived updates. */
168
+ setValue: (value: unknown) => void;
169
+ }
170
+ export type FieldAdminOnChangeHook<TValue = unknown> = (args: FieldAdminOnChangeHookArgs<TValue>) => unknown;
171
+ type FieldAdminHooks<TValue> = {
172
+ admin?: {
173
+ hooks?: {
174
+ onChange?: FieldAdminOnChangeHook<TValue>;
175
+ };
176
+ };
177
+ };
178
+ export interface FieldAdminOptionsHookArgs {
179
+ /** Current values for sibling fields at the same nesting level. */
180
+ siblingData: Record<string, unknown>;
181
+ /** Current values for the entire form. */
182
+ data: Record<string, unknown>;
183
+ }
184
+ export type FieldAdminOptionsHookResult = Array<string | {
185
+ label: string;
186
+ value: unknown;
187
+ }>;
188
+ export type FieldAdminOptionsHook = (args: FieldAdminOptionsHookArgs) => FieldAdminOptionsHookResult | Promise<FieldAdminOptionsHookResult>;
189
+ type TypedField<TType extends FieldType, TValue, TAdminExtra = Record<never, never>> = Omit<FieldBase, "admin"> & {
190
+ type: TType;
191
+ admin?: BaseFieldAdmin & TAdminExtra;
192
+ } & FieldHooks<TValue> & FieldAdminHooks<TValue>;
193
+ type BooleanFieldAdmin = {
194
+ /** Boolean presentation style. */
195
+ layout?: "checkbox" | "switch";
196
+ };
197
+ type SelectFieldAdmin = {
198
+ /** Select presentation style. */
199
+ layout?: "radio" | "select";
200
+ /** Radio orientation when `layout: 'radio'` is used. */
201
+ direction?: "horizontal" | "vertical";
202
+ hooks?: {
203
+ /** Client-side option recalculation for dependent dropdowns or radios. */
204
+ options?: FieldAdminOptionsHook;
205
+ };
206
+ };
207
+ type RadioFieldAdmin = {
208
+ /** Radio group orientation. */
209
+ direction?: "horizontal" | "vertical";
210
+ hooks?: {
211
+ /** Client-side option recalculation for dependent radio groups. */
212
+ options?: FieldAdminOptionsHook;
213
+ };
214
+ };
215
+ type MultiSelectFieldAdmin = {
216
+ hooks?: {
217
+ /** Client-side option recalculation for dependent multi-select fields. */
218
+ options?: FieldAdminOptionsHook;
219
+ };
220
+ };
221
+ export interface CharacterLimitFieldConfig {
222
+ /** Advisory maximum character count exposed to editors and client tooling. */
223
+ maxLength?: number;
224
+ }
225
+ export interface WordLimitFieldConfig {
226
+ /** Advisory maximum word count exposed to editors and client tooling. */
227
+ maxWords?: number;
228
+ }
229
+ type CharacterLimitFieldAdmin = {
230
+ /** Admin-only compatibility alias for `field.maxLength`. Prefer the top-level field property. */
231
+ maxLength?: number;
232
+ };
233
+ type WordLimitFieldAdmin = {
234
+ /** Admin-only compatibility alias for `field.maxWords`. Prefer the top-level field property. */
235
+ maxWords?: number;
236
+ };
237
+ type TextFieldAdmin = CharacterLimitFieldAdmin & WordLimitFieldAdmin;
238
+ type TextareaFieldAdmin = CharacterLimitFieldAdmin & WordLimitFieldAdmin;
239
+ type EmailFieldAdmin = CharacterLimitFieldAdmin;
240
+ type UrlFieldAdmin = CharacterLimitFieldAdmin;
241
+ type IconFieldAdmin = CharacterLimitFieldAdmin;
242
+ export type TextField = TypedField<"text", string, TextFieldAdmin> & CharacterLimitFieldConfig & WordLimitFieldConfig;
243
+ export type TextareaField = TypedField<"textarea", string, TextareaFieldAdmin> & CharacterLimitFieldConfig & WordLimitFieldConfig;
244
+ export type EmailField = TypedField<"email", string, EmailFieldAdmin> & CharacterLimitFieldConfig;
245
+ export type UrlField = TypedField<"url", string, UrlFieldAdmin> & CharacterLimitFieldConfig;
246
+ export type IconField = TypedField<"icon", string, IconFieldAdmin> & CharacterLimitFieldConfig;
247
+ export type DateField = TypedField<"date", string>;
248
+ export type DateTimeField = TypedField<"datetime", string>;
249
+ export type TimeField = TypedField<"time", string>;
250
+ export type SelectField = TypedField<"select", string, SelectFieldAdmin>;
251
+ export type RadioField = TypedField<"radio", string, RadioFieldAdmin>;
252
+ export type NumberField = TypedField<"number", number>;
253
+ export type BooleanField = TypedField<"boolean", boolean, BooleanFieldAdmin>;
254
+ export type MultiSelectField = TypedField<"multiSelect", string[], MultiSelectFieldAdmin>;
255
+ export type RelationshipField = TypedField<"relationship", string | string[]>;
256
+ export type ImageField = TypedField<"image", string | string[]>;
257
+ export type RichTextField = TypedField<"richText", Record<string, unknown>>;
258
+ export type JsonField = TypedField<"json", Record<string, unknown>>;
259
+ export type ObjectField = TypedField<"object", unknown>;
260
+ export type ArrayField = TypedField<"array", unknown>;
261
+ export type BlocksField = TypedField<"blocks", unknown>;
262
+ export type JoinField = TypedField<"join", unknown>;
263
+ export type RowField = TypedField<"row", unknown>;
264
+ export type Field = TextField | TextareaField | EmailField | UrlField | IconField | DateField | DateTimeField | TimeField | SelectField | RadioField | NumberField | BooleanField | MultiSelectField | RelationshipField | ImageField | RichTextField | JsonField | ObjectField | ArrayField | BlocksField | JoinField | RowField;
265
+ export interface UploadConfig {
266
+ /** Allowed MIME types for uploaded files. */
267
+ allowedMimeTypes?: string[];
268
+ /** Maximum upload size in bytes. */
269
+ maxFileSize?: number;
270
+ /** Local filesystem destination used by disk-based storage adapters. */
271
+ staticDir?: string;
272
+ /** Public URL prefix for disk-based uploads. */
273
+ staticURL?: string;
274
+ /** Generated image size name used as the Admin media thumbnail. */
275
+ adminThumbnail?: string;
276
+ imageSizes?: {
277
+ /** Stable name used to reference this generated size. */
278
+ name: string;
279
+ /** Target width in pixels. */
280
+ width?: number;
281
+ /** Target height in pixels. */
282
+ height?: number;
283
+ /** Crop strategy forwarded to the image processor. */
284
+ crop?: string;
285
+ /** Resize fit strategy forwarded to the image processor. */
286
+ fit?: string;
287
+ /** Prevents upscaling smaller source images. */
288
+ withoutEnlargement?: boolean;
289
+ /** Format-specific options forwarded to the image processor. */
290
+ formatOptions?: Record<string, unknown>;
291
+ }[];
292
+ }
293
+ export {};
294
+ //# sourceMappingURL=schema-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-core.d.ts","sourceRoot":"","sources":["../../src/types/schema-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-core.js","sourceRoot":"","sources":["../../src/types/schema-core.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import type { Block, Field } from "./schema-core.js";
2
+ export type Prettify<T> = {
3
+ [K in keyof T]: T[K];
4
+ };
5
+ type FieldValueType<F extends Field> = F["type"] extends "text" | "textarea" | "email" | "url" | "icon" | "date" | "datetime" | "time" | "select" | "radio" ? string : F["type"] extends "number" ? number : F["type"] extends "boolean" ? boolean : F["type"] extends "multiSelect" ? string[] : F["type"] extends "relationship" ? F extends {
6
+ hasMany: true;
7
+ } ? string[] : string : F["type"] extends "image" ? F extends {
8
+ hasMany: true;
9
+ } ? string[] : string : F["type"] extends "richText" | "json" ? Record<string, unknown> : F["type"] extends "object" ? F extends {
10
+ fields: infer SF extends readonly Field[];
11
+ } ? Prettify<InferDocShape<SF>> : Record<string, unknown> : F["type"] extends "array" ? F extends {
12
+ fields: infer SF extends readonly Field[];
13
+ } ? Array<Prettify<InferDocShape<SF>>> : unknown[] : F["type"] extends "blocks" ? F extends {
14
+ blocks: infer B extends readonly Block[];
15
+ } ? Array<InferBlocksUnion<B>> : Array<{
16
+ blockType: string;
17
+ } & Record<string, unknown>> : unknown;
18
+ type InferBlocksUnion<Blocks extends readonly Block[]> = Blocks extends readonly [
19
+ infer B extends Block,
20
+ ...infer Rest extends readonly Block[]
21
+ ] ? B["fields"] extends readonly Field[] ? ({
22
+ blockType: B["slug"];
23
+ } & Prettify<InferDocShape<B["fields"]>>) | InferBlocksUnion<Rest> : ({
24
+ blockType: B["slug"];
25
+ } & Record<string, unknown>) | InferBlocksUnion<Rest> : never;
26
+ type InferFieldEntry<F extends Field> = F extends {
27
+ type: "row";
28
+ fields: infer SF extends readonly Field[];
29
+ } ? InferDocShape<SF> : F extends {
30
+ type: "join";
31
+ } ? Record<never, never> : F extends {
32
+ name: infer N extends string;
33
+ required: true;
34
+ } ? {
35
+ [K in N]: FieldValueType<F>;
36
+ } : F extends {
37
+ name: infer N extends string;
38
+ } ? {
39
+ [K in N]?: FieldValueType<F>;
40
+ } : Record<never, never>;
41
+ export type InferDocShape<Fields extends readonly Field[]> = Fields extends readonly [] ? Record<never, never> : Fields extends readonly [infer Head extends Field, ...infer Tail extends readonly Field[]] ? InferFieldEntry<Head> & InferDocShape<Tail> : Record<string, unknown>;
42
+ export type SystemDocFields = {
43
+ createdAt?: string;
44
+ updatedAt?: string;
45
+ createdBy?: string;
46
+ updatedBy?: string;
47
+ };
48
+ export type AuthDocFields = {
49
+ email: string;
50
+ password?: string;
51
+ roles?: string[];
52
+ };
53
+ export type UploadDocFields = {
54
+ filename: string;
55
+ filesize?: number;
56
+ mimeType: string;
57
+ url: string;
58
+ width?: number;
59
+ height?: number;
60
+ focalPoint?: {
61
+ x: number;
62
+ y: number;
63
+ };
64
+ blurhash?: string;
65
+ sizes?: Record<string, {
66
+ filename?: string;
67
+ url?: string;
68
+ width?: number;
69
+ height?: number;
70
+ }>;
71
+ };
72
+ export {};
73
+ //# sourceMappingURL=schema-inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-inference.d.ts","sourceRoot":"","sources":["../../src/types/schema-inference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-inference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-inference.js","sourceRoot":"","sources":["../../src/types/schema-inference.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ import type { DatabaseAdapter } from "./adapters.js";
2
+ import type { AuthenticatedUser, HookRequestContext } from "./request.js";
3
+ export declare const LIFECYCLE_EVENT_NAMES: readonly ["revision.created", "workflow.transitioned", "entry.published", "entry.unpublished"];
4
+ export type LifecycleEventName = (typeof LIFECYCLE_EVENT_NAMES)[number];
5
+ export interface WorkflowState {
6
+ /** Stable machine-readable state key. */
7
+ name: string;
8
+ /** Label rendered in the Admin UI. */
9
+ label: string;
10
+ /** Marks the state whose revision is visible to public readers. */
11
+ published?: boolean;
12
+ /** Optional visual tone used by the Admin UI. */
13
+ color?: "neutral" | "warning" | "success" | "danger" | "info";
14
+ }
15
+ export interface WorkflowTransition {
16
+ /** Stable transition key used by the REST and SDK APIs. */
17
+ name: string;
18
+ label: string;
19
+ from: string | string[];
20
+ to: string;
21
+ /** Every listed capability is required. */
22
+ requiredCapabilities?: string[];
23
+ /** Require a non-empty comment when performing the transition. */
24
+ requireComment?: boolean;
25
+ /** Remove the public snapshot after this transition commits. */
26
+ unpublish?: boolean;
27
+ }
28
+ export interface WorkflowRole {
29
+ /** Existing user role value, for example `editor` or `publisher`. */
30
+ role: string;
31
+ capabilities: string[];
32
+ }
33
+ export interface WorkflowConfig<TDoc extends object = Record<string, unknown>> {
34
+ initialState: string;
35
+ /** State used for a new working revision created from published content. */
36
+ draftState?: string;
37
+ states: WorkflowState[];
38
+ transitions: WorkflowTransition[];
39
+ /** Maps values in `user.roles` to workflow capabilities. */
40
+ roles?: WorkflowRole[];
41
+ hooks?: {
42
+ beforeTransition?: CollectionBeforeTransitionHook<TDoc>[];
43
+ afterTransition?: CollectionAfterTransitionHook<TDoc>[];
44
+ };
45
+ }
46
+ export interface WorkflowMetadata {
47
+ state: string;
48
+ revision: number;
49
+ publishedRevision?: number;
50
+ publishedAt?: string;
51
+ publishedBy?: string;
52
+ /** Transitions currently allowed for the requesting user. Response-only. */
53
+ availableTransitions?: string[];
54
+ }
55
+ export interface WorkflowTransitionContext<TDoc extends object = Record<string, unknown>> {
56
+ transition: WorkflowTransition;
57
+ from: string;
58
+ to: string;
59
+ doc: TDoc;
60
+ user?: AuthenticatedUser;
61
+ comment?: string;
62
+ req: HookRequestContext;
63
+ db: DatabaseAdapter;
64
+ }
65
+ export type CollectionBeforeTransitionHook<TDoc extends object = Record<string, unknown>> = (args: WorkflowTransitionContext<TDoc>) => void | Promise<void>;
66
+ export type CollectionAfterTransitionHook<TDoc extends object = Record<string, unknown>> = (args: WorkflowTransitionContext<TDoc> & {
67
+ event: LifecycleEvent;
68
+ }) => void | Promise<void>;
69
+ export interface LifecycleEvent<TPayload = Record<string, unknown>> {
70
+ id: string;
71
+ name: LifecycleEventName;
72
+ collection: string;
73
+ documentId: string;
74
+ occurredAt: string;
75
+ actorId?: string;
76
+ payload: TPayload;
77
+ attempts: number;
78
+ status: "pending" | "processing" | "delivered" | "failed";
79
+ nextAttemptAt?: string;
80
+ deliveredAt?: string;
81
+ lastError?: string;
82
+ }
83
+ export type LifecycleEventHandler = (event: LifecycleEvent) => void | Promise<void>;
84
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/types/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export const LIFECYCLE_EVENT_NAMES = [
2
+ "revision.created",
3
+ "workflow.transitioned",
4
+ "entry.published",
5
+ "entry.unpublished",
6
+ ];
7
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/types/workflows.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,mBAAmB;CACX,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { AdminAuthConfig, CollectionConfig, DyrectedConfig, PublicAdminAuthConfig } from "../types/index.js";
2
+ export declare function getAdminAuthCollection(config: Pick<DyrectedConfig, "collections" | "adminAuth">): CollectionConfig | null;
3
+ export declare function resolveAdminAuthCollection(collections: CollectionConfig[], collectionSlug?: string): CollectionConfig | undefined;
4
+ export declare function getPublicAdminAuthConfig(adminAuth?: AdminAuthConfig, collections?: CollectionConfig[]): PublicAdminAuthConfig;
5
+ //# sourceMappingURL=admin-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../src/utils/admin-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,WAAW,CAAC,GACxD,gBAAgB,GAAG,IAAI,CAGzB;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,gBAAgB,EAAE,EAC/B,cAAc,CAAC,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS,CAS9B;AAED,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,eAAe,EAC3B,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,qBAAqB,CAiBvB"}
@@ -0,0 +1,39 @@
1
+ export function getAdminAuthCollection(config) {
2
+ const adminCollection = resolveAdminAuthCollection(config.collections, config.adminAuth?.collectionSlug);
3
+ return adminCollection ?? null;
4
+ }
5
+ export function resolveAdminAuthCollection(collections, collectionSlug) {
6
+ const adminsCollection = collections.find((collection) => collection.slug === "__admins");
7
+ if (adminsCollection)
8
+ return adminsCollection;
9
+ if (collectionSlug) {
10
+ const requestedCollection = collections.find((collection) => collection.slug === collectionSlug);
11
+ if (requestedCollection)
12
+ return requestedCollection;
13
+ }
14
+ return collections.find((collection) => collection.auth);
15
+ }
16
+ export function getPublicAdminAuthConfig(adminAuth, collections) {
17
+ const providers = (adminAuth?.providers ?? []).map((provider) => ({
18
+ id: provider.id,
19
+ type: provider.type,
20
+ displayName: provider.displayName || humanizeProviderName(provider.id, provider.type),
21
+ autoRedirect: provider.autoRedirect,
22
+ }));
23
+ const resolvedCollectionSlug = collections
24
+ ? resolveAdminAuthCollection(collections, adminAuth?.collectionSlug)?.slug
25
+ : adminAuth?.collectionSlug;
26
+ return {
27
+ mode: adminAuth?.mode ?? "local",
28
+ collectionSlug: resolvedCollectionSlug,
29
+ provisioningMode: adminAuth?.provisioningMode,
30
+ providers,
31
+ };
32
+ }
33
+ function humanizeProviderName(id, type) {
34
+ const cleaned = id.replace(/[-_]+/g, " ").trim();
35
+ if (!cleaned)
36
+ return type.toUpperCase();
37
+ return cleaned.replace(/\b\w/g, (char) => char.toUpperCase());
38
+ }
39
+ //# sourceMappingURL=admin-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../src/utils/admin-auth.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,sBAAsB,CACpC,MAAyD;IAEzD,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACzG,OAAO,eAAe,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAA+B,EAC/B,cAAuB;IAEvB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1F,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACjG,IAAI,mBAAmB;YAAE,OAAO,mBAAmB,CAAC;IACtD,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAA2B,EAC3B,WAAgC;IAEhC,MAAM,SAAS,GAA8B,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QACrF,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC,CAAC,CAAC;IACJ,MAAM,sBAAsB,GAAG,WAAW;QACxC,CAAC,CAAC,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI;QAC1E,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC;IAE9B,OAAO;QACL,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO;QAChC,cAAc,EAAE,sBAAsB;QACtC,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;QAC7C,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAU,EAAE,IAAqC;IAC7E,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,cAAc,EAAS,MAAM,mBAAmB,CAAC;AA6CjF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAgHtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,cAAc,EAAS,MAAM,mBAAmB,CAAC;AAqFjF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAgKtE"}