@revealui/contracts 1.0.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.
- package/LICENSE +22 -0
- package/README.md +160 -0
- package/dist/a2a/index.d.ts +383 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +276 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/actions/action-validator.d.ts +48 -0
- package/dist/actions/action-validator.d.ts.map +1 -0
- package/dist/actions/action-validator.js +288 -0
- package/dist/actions/action-validator.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/agents/index.d.ts +628 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +511 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/types.d.ts +22 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/api/auth.d.ts +60 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +84 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/chat.d.ts +45 -0
- package/dist/api/chat.d.ts.map +1 -0
- package/dist/api/chat.js +55 -0
- package/dist/api/chat.js.map +1 -0
- package/dist/api/gdpr.d.ts +39 -0
- package/dist/api/gdpr.d.ts.map +1 -0
- package/dist/api/gdpr.js +53 -0
- package/dist/api/gdpr.js.map +1 -0
- package/dist/cms/collection.d.ts +108 -0
- package/dist/cms/collection.d.ts.map +1 -0
- package/dist/cms/collection.js +144 -0
- package/dist/cms/collection.js.map +1 -0
- package/dist/cms/compat.d.ts +128 -0
- package/dist/cms/compat.d.ts.map +1 -0
- package/dist/cms/compat.js +141 -0
- package/dist/cms/compat.js.map +1 -0
- package/dist/cms/config-contract.d.ts +278 -0
- package/dist/cms/config-contract.d.ts.map +1 -0
- package/dist/cms/config-contract.js +220 -0
- package/dist/cms/config-contract.js.map +1 -0
- package/dist/cms/config.d.ts +351 -0
- package/dist/cms/config.d.ts.map +1 -0
- package/dist/cms/config.js +50 -0
- package/dist/cms/config.js.map +1 -0
- package/dist/cms/errors.d.ts +122 -0
- package/dist/cms/errors.d.ts.map +1 -0
- package/dist/cms/errors.js +163 -0
- package/dist/cms/errors.js.map +1 -0
- package/dist/cms/extensibility.d.ts +211 -0
- package/dist/cms/extensibility.d.ts.map +1 -0
- package/dist/cms/extensibility.js +313 -0
- package/dist/cms/extensibility.js.map +1 -0
- package/dist/cms/field.d.ts +69 -0
- package/dist/cms/field.d.ts.map +1 -0
- package/dist/cms/field.js +94 -0
- package/dist/cms/field.js.map +1 -0
- package/dist/cms/functions.d.ts +466 -0
- package/dist/cms/functions.d.ts.map +1 -0
- package/dist/cms/functions.js +19 -0
- package/dist/cms/functions.js.map +1 -0
- package/dist/cms/global.d.ts +45 -0
- package/dist/cms/global.d.ts.map +1 -0
- package/dist/cms/global.js +62 -0
- package/dist/cms/global.js.map +1 -0
- package/dist/cms/index.d.ts +23 -0
- package/dist/cms/index.d.ts.map +1 -0
- package/dist/cms/index.js +42 -0
- package/dist/cms/index.js.map +1 -0
- package/dist/cms/structure.d.ts +1601 -0
- package/dist/cms/structure.d.ts.map +1 -0
- package/dist/cms/structure.js +757 -0
- package/dist/cms/structure.js.map +1 -0
- package/dist/content/index.d.ts +1542 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +522 -0
- package/dist/content/index.js.map +1 -0
- package/dist/database/bridge.d.ts +177 -0
- package/dist/database/bridge.d.ts.map +1 -0
- package/dist/database/bridge.js +139 -0
- package/dist/database/bridge.js.map +1 -0
- package/dist/database/index.d.ts +8 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +9 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/type-bridge.d.ts +178 -0
- package/dist/database/type-bridge.d.ts.map +1 -0
- package/dist/database/type-bridge.js +154 -0
- package/dist/database/type-bridge.js.map +1 -0
- package/dist/entities/agent-context.d.ts +280 -0
- package/dist/entities/agent-context.d.ts.map +1 -0
- package/dist/entities/agent-context.js +390 -0
- package/dist/entities/agent-context.js.map +1 -0
- package/dist/entities/agent-memory.d.ts +661 -0
- package/dist/entities/agent-memory.d.ts.map +1 -0
- package/dist/entities/agent-memory.js +544 -0
- package/dist/entities/agent-memory.js.map +1 -0
- package/dist/entities/board.d.ts +95 -0
- package/dist/entities/board.d.ts.map +1 -0
- package/dist/entities/board.js +99 -0
- package/dist/entities/board.js.map +1 -0
- package/dist/entities/code-provenance.d.ts +270 -0
- package/dist/entities/code-provenance.d.ts.map +1 -0
- package/dist/entities/code-provenance.js +339 -0
- package/dist/entities/code-provenance.js.map +1 -0
- package/dist/entities/index.d.ts +22 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +22 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/media.d.ts +485 -0
- package/dist/entities/media.d.ts.map +1 -0
- package/dist/entities/media.js +606 -0
- package/dist/entities/media.js.map +1 -0
- package/dist/entities/page-revision.d.ts +390 -0
- package/dist/entities/page-revision.d.ts.map +1 -0
- package/dist/entities/page-revision.js +406 -0
- package/dist/entities/page-revision.js.map +1 -0
- package/dist/entities/page.d.ts +2349 -0
- package/dist/entities/page.d.ts.map +1 -0
- package/dist/entities/page.js +377 -0
- package/dist/entities/page.js.map +1 -0
- package/dist/entities/post.d.ts +619 -0
- package/dist/entities/post.d.ts.map +1 -0
- package/dist/entities/post.js +555 -0
- package/dist/entities/post.js.map +1 -0
- package/dist/entities/price.d.ts +772 -0
- package/dist/entities/price.d.ts.map +1 -0
- package/dist/entities/price.js +308 -0
- package/dist/entities/price.js.map +1 -0
- package/dist/entities/product.d.ts +753 -0
- package/dist/entities/product.d.ts.map +1 -0
- package/dist/entities/product.js +307 -0
- package/dist/entities/product.js.map +1 -0
- package/dist/entities/session.d.ts +222 -0
- package/dist/entities/session.d.ts.map +1 -0
- package/dist/entities/session.js +253 -0
- package/dist/entities/session.js.map +1 -0
- package/dist/entities/site.d.ts +387 -0
- package/dist/entities/site.d.ts.map +1 -0
- package/dist/entities/site.js +348 -0
- package/dist/entities/site.js.map +1 -0
- package/dist/entities/ticket-comment.d.ts +49 -0
- package/dist/entities/ticket-comment.d.ts.map +1 -0
- package/dist/entities/ticket-comment.js +58 -0
- package/dist/entities/ticket-comment.js.map +1 -0
- package/dist/entities/ticket-label.d.ts +64 -0
- package/dist/entities/ticket-label.d.ts.map +1 -0
- package/dist/entities/ticket-label.js +77 -0
- package/dist/entities/ticket-label.js.map +1 -0
- package/dist/entities/ticket.d.ts +204 -0
- package/dist/entities/ticket.d.ts.map +1 -0
- package/dist/entities/ticket.js +205 -0
- package/dist/entities/ticket.js.map +1 -0
- package/dist/entities/user.d.ts +336 -0
- package/dist/entities/user.d.ts.map +1 -0
- package/dist/entities/user.js +255 -0
- package/dist/entities/user.js.map +1 -0
- package/dist/foundation/contract.d.ts +221 -0
- package/dist/foundation/contract.d.ts.map +1 -0
- package/dist/foundation/contract.js +133 -0
- package/dist/foundation/contract.js.map +1 -0
- package/dist/foundation/index.d.ts +7 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +7 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/generated/contracts.d.ts +1514 -0
- package/dist/generated/contracts.d.ts.map +1 -0
- package/dist/generated/contracts.js +959 -0
- package/dist/generated/contracts.js.map +1 -0
- package/dist/generated/database.d.ts +48 -0
- package/dist/generated/database.d.ts.map +1 -0
- package/dist/generated/database.js +17 -0
- package/dist/generated/database.js.map +1 -0
- package/dist/generated/zod-schemas.d.ts +14793 -0
- package/dist/generated/zod-schemas.d.ts.map +1 -0
- package/dist/generated/zod-schemas.js +547 -0
- package/dist/generated/zod-schemas.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/representation/index.d.ts +304 -0
- package/dist/representation/index.d.ts.map +1 -0
- package/dist/representation/index.js +280 -0
- package/dist/representation/index.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function Type Contracts (TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* These are TypeScript-only type definitions for function signatures.
|
|
5
|
+
*
|
|
6
|
+
* WHY NOT ZOD?
|
|
7
|
+
* 1. z.function() only validates that something is callable, not its signature
|
|
8
|
+
* 2. Generic type parameters like <T> cannot be expressed in Zod schemas
|
|
9
|
+
* 3. Complex return types (unions, promises, conditional types) don't work
|
|
10
|
+
* 4. Function overloads cannot be represented
|
|
11
|
+
*
|
|
12
|
+
* These types are enforced at COMPILE TIME by TypeScript, not runtime.
|
|
13
|
+
* For runtime validation of function existence, use z.unknown() and
|
|
14
|
+
* TypeScript's type system to ensure correct usage.
|
|
15
|
+
*
|
|
16
|
+
* @module @revealui/contracts/core/contracts/functions
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* RevealUI Request interface for typing
|
|
20
|
+
*/
|
|
21
|
+
export interface RevealRequest<TUser = unknown> {
|
|
22
|
+
user?: TUser | null;
|
|
23
|
+
/** The RevealUI CMS instance */
|
|
24
|
+
revealui?: unknown;
|
|
25
|
+
locale?: string;
|
|
26
|
+
fallbackLocale?: string;
|
|
27
|
+
context?: Record<string, unknown>;
|
|
28
|
+
transactionID?: string | null;
|
|
29
|
+
i18n?: unknown;
|
|
30
|
+
headers?: Headers | Map<string, string>;
|
|
31
|
+
data?: unknown;
|
|
32
|
+
body?: unknown;
|
|
33
|
+
/** Custom properties for extensibility */
|
|
34
|
+
custom?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Access check result type
|
|
38
|
+
* - `true`: Allow access
|
|
39
|
+
* - `false`: Deny access
|
|
40
|
+
* - `Where`: Allow with query constraint (for read operations)
|
|
41
|
+
*/
|
|
42
|
+
export type AccessResult = boolean | Where;
|
|
43
|
+
/**
|
|
44
|
+
* Where query for conditional access
|
|
45
|
+
*/
|
|
46
|
+
export interface Where {
|
|
47
|
+
[field: string]: {
|
|
48
|
+
equals?: unknown;
|
|
49
|
+
} | {
|
|
50
|
+
not_equals?: unknown;
|
|
51
|
+
} | {
|
|
52
|
+
in?: unknown[];
|
|
53
|
+
} | {
|
|
54
|
+
not_in?: unknown[];
|
|
55
|
+
} | {
|
|
56
|
+
exists?: boolean;
|
|
57
|
+
} | {
|
|
58
|
+
greater_than?: number | string;
|
|
59
|
+
} | {
|
|
60
|
+
greater_than_equal?: number | string;
|
|
61
|
+
} | {
|
|
62
|
+
less_than?: number | string;
|
|
63
|
+
} | {
|
|
64
|
+
less_than_equal?: number | string;
|
|
65
|
+
} | {
|
|
66
|
+
like?: string;
|
|
67
|
+
} | {
|
|
68
|
+
contains?: string;
|
|
69
|
+
} | {
|
|
70
|
+
near?: [number, number, number?, number?];
|
|
71
|
+
} | {
|
|
72
|
+
within?: unknown;
|
|
73
|
+
} | {
|
|
74
|
+
intersects?: unknown;
|
|
75
|
+
} | {
|
|
76
|
+
and?: Where[];
|
|
77
|
+
} | {
|
|
78
|
+
or?: Where[];
|
|
79
|
+
} | Where;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Base access function arguments
|
|
83
|
+
*/
|
|
84
|
+
export interface AccessArgs<T = unknown> {
|
|
85
|
+
req: RevealRequest;
|
|
86
|
+
id?: string | number;
|
|
87
|
+
data?: Partial<T>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Collection-level access function
|
|
91
|
+
*
|
|
92
|
+
* @template T - The document type for this collection
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const isAdmin: AccessFunction = ({ req }) => {
|
|
97
|
+
* return req.user?.roles?.includes('admin') ?? false;
|
|
98
|
+
* };
|
|
99
|
+
*
|
|
100
|
+
* const isOwner: AccessFunction<Post> = ({ req, id }) => {
|
|
101
|
+
* if (!req.user) return false;
|
|
102
|
+
* return { author: { equals: req.user.id } };
|
|
103
|
+
* };
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export type AccessFunction<T = unknown> = (args: AccessArgs<T>) => AccessResult | Promise<AccessResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Collection access configuration
|
|
109
|
+
*
|
|
110
|
+
* @template T - The document type for this collection
|
|
111
|
+
*/
|
|
112
|
+
export interface CollectionAccessConfig<T = unknown> {
|
|
113
|
+
create?: AccessFunction<T>;
|
|
114
|
+
read?: AccessFunction<T>;
|
|
115
|
+
update?: AccessFunction<T>;
|
|
116
|
+
delete?: AccessFunction<T>;
|
|
117
|
+
admin?: AccessFunction<T>;
|
|
118
|
+
unlock?: AccessFunction<T>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Field-level access function arguments
|
|
122
|
+
*/
|
|
123
|
+
export interface FieldAccessArgs<TDoc = unknown, TSibling = unknown> {
|
|
124
|
+
req: RevealRequest;
|
|
125
|
+
id?: string | number;
|
|
126
|
+
data?: TDoc;
|
|
127
|
+
siblingData?: Partial<TSibling>;
|
|
128
|
+
doc?: TDoc;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Field-level access function
|
|
132
|
+
* Field access only returns boolean (no Where queries)
|
|
133
|
+
*
|
|
134
|
+
* @template TDoc - The document type
|
|
135
|
+
* @template TSibling - The sibling data type (for nested fields)
|
|
136
|
+
*/
|
|
137
|
+
export type FieldAccessFunction<TDoc = unknown, TSibling = unknown> = (args: FieldAccessArgs<TDoc, TSibling>) => boolean | Promise<boolean>;
|
|
138
|
+
/**
|
|
139
|
+
* Field access configuration
|
|
140
|
+
*/
|
|
141
|
+
export interface FieldAccessConfig<TDoc = unknown, TSibling = unknown> {
|
|
142
|
+
create?: FieldAccessFunction<TDoc, TSibling>;
|
|
143
|
+
read?: FieldAccessFunction<TDoc, TSibling>;
|
|
144
|
+
update?: FieldAccessFunction<TDoc, TSibling>;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Shorthand for simple field access (single function for all operations)
|
|
148
|
+
*/
|
|
149
|
+
export type FieldAccess<TDoc = unknown, TSibling = unknown> = FieldAccessFunction<TDoc, TSibling> | FieldAccessConfig<TDoc, TSibling>;
|
|
150
|
+
/**
|
|
151
|
+
* Global access configuration
|
|
152
|
+
*/
|
|
153
|
+
export interface GlobalAccessConfig {
|
|
154
|
+
read?: (args: {
|
|
155
|
+
req: RevealRequest;
|
|
156
|
+
}) => boolean | Promise<boolean>;
|
|
157
|
+
update?: (args: {
|
|
158
|
+
req: RevealRequest;
|
|
159
|
+
data?: unknown;
|
|
160
|
+
}) => boolean | Promise<boolean>;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Before validate hook arguments
|
|
164
|
+
*/
|
|
165
|
+
export interface BeforeValidateHookArgs<T = unknown> {
|
|
166
|
+
data: Partial<T>;
|
|
167
|
+
req: RevealRequest;
|
|
168
|
+
operation: 'create' | 'update';
|
|
169
|
+
originalDoc?: T;
|
|
170
|
+
context: Record<string, unknown>;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Before change hook arguments
|
|
174
|
+
*/
|
|
175
|
+
export interface BeforeChangeHookArgs<T = unknown> {
|
|
176
|
+
data: Partial<T>;
|
|
177
|
+
req: RevealRequest;
|
|
178
|
+
operation: 'create' | 'update';
|
|
179
|
+
originalDoc?: T;
|
|
180
|
+
context: Record<string, unknown>;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* After change hook arguments
|
|
184
|
+
*/
|
|
185
|
+
export interface AfterChangeHookArgs<T = unknown> {
|
|
186
|
+
doc: T;
|
|
187
|
+
req: RevealRequest;
|
|
188
|
+
operation: 'create' | 'update';
|
|
189
|
+
previousDoc: T;
|
|
190
|
+
context: Record<string, unknown>;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Before read hook arguments
|
|
194
|
+
*/
|
|
195
|
+
export interface BeforeReadHookArgs<T = unknown> {
|
|
196
|
+
doc: T;
|
|
197
|
+
req: RevealRequest;
|
|
198
|
+
query: Where;
|
|
199
|
+
context: Record<string, unknown>;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* After read hook arguments
|
|
203
|
+
*/
|
|
204
|
+
export interface AfterReadHookArgs<T = unknown> {
|
|
205
|
+
doc: T;
|
|
206
|
+
req: RevealRequest;
|
|
207
|
+
query?: Where;
|
|
208
|
+
findMany: boolean;
|
|
209
|
+
context: Record<string, unknown>;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Before delete hook arguments
|
|
213
|
+
*/
|
|
214
|
+
export interface BeforeDeleteHookArgs {
|
|
215
|
+
req: RevealRequest;
|
|
216
|
+
id: string | number;
|
|
217
|
+
context: Record<string, unknown>;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* After delete hook arguments
|
|
221
|
+
*/
|
|
222
|
+
export interface AfterDeleteHookArgs<T = unknown> {
|
|
223
|
+
req: RevealRequest;
|
|
224
|
+
id: string | number;
|
|
225
|
+
doc: T;
|
|
226
|
+
context: Record<string, unknown>;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Before operation hook arguments
|
|
230
|
+
*/
|
|
231
|
+
export interface BeforeOperationHookArgs {
|
|
232
|
+
operation: string;
|
|
233
|
+
req: RevealRequest;
|
|
234
|
+
args: unknown;
|
|
235
|
+
context: Record<string, unknown>;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* After operation hook arguments
|
|
239
|
+
*/
|
|
240
|
+
export interface AfterOperationHookArgs<TResult = unknown> {
|
|
241
|
+
operation: string;
|
|
242
|
+
req: RevealRequest;
|
|
243
|
+
args: unknown;
|
|
244
|
+
result: TResult;
|
|
245
|
+
context: Record<string, unknown>;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Collection before validate hook
|
|
249
|
+
*
|
|
250
|
+
* @template T - The document type
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* const normalizeTitle: CollectionBeforeValidateHook<Post> = ({ data }) => {
|
|
255
|
+
* if (data.title) {
|
|
256
|
+
* data.title = data.title.trim();
|
|
257
|
+
* }
|
|
258
|
+
* return data;
|
|
259
|
+
* };
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
export type CollectionBeforeValidateHook<T = unknown> = (args: BeforeValidateHookArgs<T>) => Partial<T> | void | Promise<Partial<T>> | Promise<void>;
|
|
263
|
+
/**
|
|
264
|
+
* Collection before change hook
|
|
265
|
+
*
|
|
266
|
+
* @template T - The document type
|
|
267
|
+
*/
|
|
268
|
+
export type CollectionBeforeChangeHook<T = unknown> = (args: BeforeChangeHookArgs<T>) => Partial<T> | void | Promise<Partial<T>> | Promise<void>;
|
|
269
|
+
/**
|
|
270
|
+
* Collection after change hook
|
|
271
|
+
*
|
|
272
|
+
* @template T - The document type
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```typescript
|
|
276
|
+
* const revalidatePost: CollectionAfterChangeHook<Post> = async ({ doc, req }) => {
|
|
277
|
+
* // Revalidate cache after post update
|
|
278
|
+
* await revalidatePath(`/posts/${doc.slug}`);
|
|
279
|
+
* return doc;
|
|
280
|
+
* };
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
export type CollectionAfterChangeHook<T = unknown> = (args: AfterChangeHookArgs<T>) => T | void | Promise<T> | Promise<void>;
|
|
284
|
+
/**
|
|
285
|
+
* Collection before read hook
|
|
286
|
+
*/
|
|
287
|
+
export type CollectionBeforeReadHook<T = unknown> = (args: BeforeReadHookArgs<T>) => T | void | Promise<T> | Promise<void>;
|
|
288
|
+
/**
|
|
289
|
+
* Collection after read hook
|
|
290
|
+
*
|
|
291
|
+
* @template T - The document type
|
|
292
|
+
*/
|
|
293
|
+
export type CollectionAfterReadHook<T = unknown> = (args: AfterReadHookArgs<T>) => T | Promise<T>;
|
|
294
|
+
/**
|
|
295
|
+
* Collection before delete hook
|
|
296
|
+
*/
|
|
297
|
+
export type CollectionBeforeDeleteHook = (args: BeforeDeleteHookArgs) => void | Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* Collection after delete hook
|
|
300
|
+
*/
|
|
301
|
+
export type CollectionAfterDeleteHook<T = unknown> = (args: AfterDeleteHookArgs<T>) => T | void | Promise<T> | Promise<void>;
|
|
302
|
+
/**
|
|
303
|
+
* Collection before operation hook
|
|
304
|
+
*/
|
|
305
|
+
export type CollectionBeforeOperationHook = (args: BeforeOperationHookArgs) => void | Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* Collection after operation hook
|
|
308
|
+
*/
|
|
309
|
+
export type CollectionAfterOperationHook<TResult = unknown> = (args: AfterOperationHookArgs<TResult>) => TResult | Promise<TResult>;
|
|
310
|
+
/**
|
|
311
|
+
* Complete collection hooks configuration
|
|
312
|
+
*
|
|
313
|
+
* @template T - The document type
|
|
314
|
+
*/
|
|
315
|
+
export interface CollectionHooksConfig<T = unknown> {
|
|
316
|
+
beforeOperation?: CollectionBeforeOperationHook[];
|
|
317
|
+
beforeValidate?: CollectionBeforeValidateHook<T>[];
|
|
318
|
+
beforeChange?: CollectionBeforeChangeHook<T>[];
|
|
319
|
+
afterChange?: CollectionAfterChangeHook<T>[];
|
|
320
|
+
beforeRead?: CollectionBeforeReadHook<T>[];
|
|
321
|
+
afterRead?: CollectionAfterReadHook<T>[];
|
|
322
|
+
beforeDelete?: CollectionBeforeDeleteHook[];
|
|
323
|
+
afterDelete?: CollectionAfterDeleteHook<T>[];
|
|
324
|
+
afterOperation?: CollectionAfterOperationHook[];
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Field before change hook arguments
|
|
328
|
+
*/
|
|
329
|
+
export interface FieldBeforeChangeHookArgs<TValue = unknown, TDoc = unknown, TSibling = unknown> {
|
|
330
|
+
value: TValue;
|
|
331
|
+
previousValue?: TValue;
|
|
332
|
+
data: TDoc;
|
|
333
|
+
siblingData: Partial<TSibling>;
|
|
334
|
+
req: RevealRequest;
|
|
335
|
+
operation: 'create' | 'update';
|
|
336
|
+
originalDoc?: TDoc;
|
|
337
|
+
context: Record<string, unknown>;
|
|
338
|
+
field: unknown;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Field after read hook arguments
|
|
342
|
+
*/
|
|
343
|
+
export interface FieldAfterReadHookArgs<TValue = unknown, TDoc = unknown, TSibling = unknown> {
|
|
344
|
+
value: TValue;
|
|
345
|
+
data: TDoc;
|
|
346
|
+
siblingData: TSibling;
|
|
347
|
+
req: RevealRequest;
|
|
348
|
+
context: Record<string, unknown>;
|
|
349
|
+
field: unknown;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Field before change hook
|
|
353
|
+
*/
|
|
354
|
+
export type FieldBeforeChangeHook<TValue = unknown, TDoc = unknown, TSibling = unknown> = (args: FieldBeforeChangeHookArgs<TValue, TDoc, TSibling>) => TValue | Promise<TValue>;
|
|
355
|
+
/**
|
|
356
|
+
* Field after read hook
|
|
357
|
+
*/
|
|
358
|
+
export type FieldAfterReadHook<TValue = unknown, TDoc = unknown, TSibling = unknown> = (args: FieldAfterReadHookArgs<TValue, TDoc, TSibling>) => TValue | Promise<TValue>;
|
|
359
|
+
/**
|
|
360
|
+
* Field hooks configuration
|
|
361
|
+
*/
|
|
362
|
+
export interface FieldHooksConfig<TValue = unknown, TDoc = unknown, TSibling = unknown> {
|
|
363
|
+
beforeValidate?: FieldBeforeChangeHook<TValue, TDoc, TSibling>[];
|
|
364
|
+
beforeChange?: FieldBeforeChangeHook<TValue, TDoc, TSibling>[];
|
|
365
|
+
afterChange?: FieldBeforeChangeHook<TValue, TDoc, TSibling>[];
|
|
366
|
+
afterRead?: FieldAfterReadHook<TValue, TDoc, TSibling>[];
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Global before read hook
|
|
370
|
+
*/
|
|
371
|
+
export type GlobalBeforeReadHook<T = unknown> = (args: {
|
|
372
|
+
doc: T;
|
|
373
|
+
req: RevealRequest;
|
|
374
|
+
context: Record<string, unknown>;
|
|
375
|
+
}) => T | void | Promise<T> | Promise<void>;
|
|
376
|
+
/**
|
|
377
|
+
* Global after read hook
|
|
378
|
+
*/
|
|
379
|
+
export type GlobalAfterReadHook<T = unknown> = (args: {
|
|
380
|
+
doc: T;
|
|
381
|
+
req: RevealRequest;
|
|
382
|
+
context: Record<string, unknown>;
|
|
383
|
+
}) => T | Promise<T>;
|
|
384
|
+
/**
|
|
385
|
+
* Global before change hook
|
|
386
|
+
*/
|
|
387
|
+
export type GlobalBeforeChangeHook<T = unknown> = (args: {
|
|
388
|
+
data: Partial<T>;
|
|
389
|
+
req: RevealRequest;
|
|
390
|
+
originalDoc?: T;
|
|
391
|
+
context: Record<string, unknown>;
|
|
392
|
+
}) => Partial<T> | void | Promise<Partial<T>> | Promise<void>;
|
|
393
|
+
/**
|
|
394
|
+
* Global after change hook
|
|
395
|
+
*/
|
|
396
|
+
export type GlobalAfterChangeHook<T = unknown> = (args: {
|
|
397
|
+
doc: T;
|
|
398
|
+
req: RevealRequest;
|
|
399
|
+
previousDoc?: T;
|
|
400
|
+
context: Record<string, unknown>;
|
|
401
|
+
}) => T | void | Promise<T> | Promise<void>;
|
|
402
|
+
/**
|
|
403
|
+
* Global hooks configuration
|
|
404
|
+
*/
|
|
405
|
+
export interface GlobalHooksConfig<T = unknown> {
|
|
406
|
+
beforeRead?: GlobalBeforeReadHook<T>[];
|
|
407
|
+
afterRead?: GlobalAfterReadHook<T>[];
|
|
408
|
+
beforeChange?: GlobalBeforeChangeHook<T>[];
|
|
409
|
+
afterChange?: GlobalAfterChangeHook<T>[];
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Field validation function arguments
|
|
413
|
+
*/
|
|
414
|
+
export interface FieldValidateArgs<TValue = unknown, TDoc = unknown, TSibling = unknown> {
|
|
415
|
+
value: TValue;
|
|
416
|
+
data: Partial<TDoc>;
|
|
417
|
+
siblingData: Partial<TSibling>;
|
|
418
|
+
req: RevealRequest;
|
|
419
|
+
operation: 'create' | 'update';
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Field validation function
|
|
423
|
+
*
|
|
424
|
+
* @returns `true` if valid, error message string if invalid
|
|
425
|
+
*
|
|
426
|
+
* @example
|
|
427
|
+
* ```typescript
|
|
428
|
+
* const validateSlug: FieldValidateFunction<string> = ({ value }) => {
|
|
429
|
+
* if (!value) return 'Slug is required';
|
|
430
|
+
* if (!/^[a-z0-9-]+$/.test(value)) return 'Slug must be lowercase alphanumeric with hyphens';
|
|
431
|
+
* return true;
|
|
432
|
+
* };
|
|
433
|
+
* ```
|
|
434
|
+
*/
|
|
435
|
+
export type FieldValidateFunction<TValue = unknown, TDoc = unknown, TSibling = unknown> = (args: FieldValidateArgs<TValue, TDoc, TSibling>) => string | true | Promise<string | true>;
|
|
436
|
+
/**
|
|
437
|
+
* Custom endpoint handler
|
|
438
|
+
*/
|
|
439
|
+
export type EndpointHandler = (req: RevealRequest) => Response | Promise<Response>;
|
|
440
|
+
/**
|
|
441
|
+
* Endpoint configuration
|
|
442
|
+
*/
|
|
443
|
+
export interface EndpointConfig {
|
|
444
|
+
path: string;
|
|
445
|
+
method: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'connect' | 'options' | 'head';
|
|
446
|
+
handler: EndpointHandler;
|
|
447
|
+
root?: boolean;
|
|
448
|
+
custom?: Record<string, unknown>;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Field condition function (for conditional display)
|
|
452
|
+
*/
|
|
453
|
+
export type ConditionFunction<TDoc = unknown, TSibling = unknown> = (data: TDoc, siblingData: TSibling, args: {
|
|
454
|
+
user?: unknown;
|
|
455
|
+
}) => boolean;
|
|
456
|
+
/**
|
|
457
|
+
* Filter options function (for relationship fields)
|
|
458
|
+
*/
|
|
459
|
+
export type FilterOptionsFunction<T = unknown> = (args: {
|
|
460
|
+
relationTo: string;
|
|
461
|
+
data: Partial<T>;
|
|
462
|
+
siblingData: Partial<unknown>;
|
|
463
|
+
id?: string | number;
|
|
464
|
+
user?: unknown;
|
|
465
|
+
}) => Where | boolean | null;
|
|
466
|
+
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/cms/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function Type Contracts (TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* These are TypeScript-only type definitions for function signatures.
|
|
5
|
+
*
|
|
6
|
+
* WHY NOT ZOD?
|
|
7
|
+
* 1. z.function() only validates that something is callable, not its signature
|
|
8
|
+
* 2. Generic type parameters like <T> cannot be expressed in Zod schemas
|
|
9
|
+
* 3. Complex return types (unions, promises, conditional types) don't work
|
|
10
|
+
* 4. Function overloads cannot be represented
|
|
11
|
+
*
|
|
12
|
+
* These types are enforced at COMPILE TIME by TypeScript, not runtime.
|
|
13
|
+
* For runtime validation of function existence, use z.unknown() and
|
|
14
|
+
* TypeScript's type system to ensure correct usage.
|
|
15
|
+
*
|
|
16
|
+
* @module @revealui/contracts/core/contracts/functions
|
|
17
|
+
*/
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/cms/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Contract
|
|
3
|
+
*
|
|
4
|
+
* Unified contract for Global configurations that combines:
|
|
5
|
+
* - TypeScript types (compile-time)
|
|
6
|
+
* - Zod schemas (runtime validation)
|
|
7
|
+
* - Validation functions
|
|
8
|
+
* - Type guards
|
|
9
|
+
*
|
|
10
|
+
* This is the single source of truth for Global definitions.
|
|
11
|
+
*
|
|
12
|
+
* @module @revealui/contracts/core/contracts/global
|
|
13
|
+
*/
|
|
14
|
+
import { type Contract, type ContractType } from '../foundation/contract.js';
|
|
15
|
+
import type { Field, GlobalConfig } from './config.js';
|
|
16
|
+
import { type GlobalStructure } from './structure.js';
|
|
17
|
+
/**
|
|
18
|
+
* Global Contract
|
|
19
|
+
*
|
|
20
|
+
* This contract validates Global configurations at runtime
|
|
21
|
+
* and provides TypeScript types at compile time.
|
|
22
|
+
*/
|
|
23
|
+
export declare const GlobalContract: Contract<GlobalStructure>;
|
|
24
|
+
/**
|
|
25
|
+
* Type for Global configuration
|
|
26
|
+
* Extracted from the GlobalContract
|
|
27
|
+
*/
|
|
28
|
+
export type GlobalContractType = ContractType<typeof GlobalContract>;
|
|
29
|
+
/**
|
|
30
|
+
* Validate a global configuration
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateGlobal(data: unknown): ReturnType<typeof GlobalContract.validate>;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard for global configurations
|
|
35
|
+
*/
|
|
36
|
+
export declare function isGlobalConfig(data: unknown): data is GlobalContractType;
|
|
37
|
+
/**
|
|
38
|
+
* Parse global configuration (throws on validation failure)
|
|
39
|
+
*/
|
|
40
|
+
export declare function parseGlobal(data: unknown): GlobalContractType;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a basic global config with defaults
|
|
43
|
+
*/
|
|
44
|
+
export declare function createGlobalConfig(slug: string, fields: Field[], options?: Partial<Omit<GlobalConfig, 'slug' | 'fields'>>): GlobalConfig;
|
|
45
|
+
//# sourceMappingURL=global.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/cms/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAkB,MAAM,2BAA2B,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAyB,KAAK,eAAe,EAAyB,MAAM,gBAAgB,CAAA;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,eAAe,CAOnD,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAA;AAEpE;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAExF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAE7D;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GACvD,YAAY,CAOd"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Contract
|
|
3
|
+
*
|
|
4
|
+
* Unified contract for Global configurations that combines:
|
|
5
|
+
* - TypeScript types (compile-time)
|
|
6
|
+
* - Zod schemas (runtime validation)
|
|
7
|
+
* - Validation functions
|
|
8
|
+
* - Type guards
|
|
9
|
+
*
|
|
10
|
+
* This is the single source of truth for Global definitions.
|
|
11
|
+
*
|
|
12
|
+
* @module @revealui/contracts/core/contracts/global
|
|
13
|
+
*/
|
|
14
|
+
import { createContract } from '../foundation/contract.js';
|
|
15
|
+
import { GLOBAL_SCHEMA_VERSION, GlobalStructureSchema } from './structure.js';
|
|
16
|
+
/**
|
|
17
|
+
* Global Contract
|
|
18
|
+
*
|
|
19
|
+
* This contract validates Global configurations at runtime
|
|
20
|
+
* and provides TypeScript types at compile time.
|
|
21
|
+
*/
|
|
22
|
+
export const GlobalContract = createContract({
|
|
23
|
+
name: 'Global',
|
|
24
|
+
version: '1.0.0',
|
|
25
|
+
schema: GlobalStructureSchema,
|
|
26
|
+
description: 'Global configuration contract',
|
|
27
|
+
docsUrl: 'https://revealui.dev/docs/api-reference/globals',
|
|
28
|
+
tags: ['global', 'config', 'cms'],
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Validate a global configuration
|
|
32
|
+
*/
|
|
33
|
+
export function validateGlobal(data) {
|
|
34
|
+
return GlobalContract.validate(data);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Type guard for global configurations
|
|
38
|
+
*/
|
|
39
|
+
export function isGlobalConfig(data) {
|
|
40
|
+
return GlobalContract.isType(data);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse global configuration (throws on validation failure)
|
|
44
|
+
*/
|
|
45
|
+
export function parseGlobal(data) {
|
|
46
|
+
return GlobalContract.parse(data);
|
|
47
|
+
}
|
|
48
|
+
// =============================================================================
|
|
49
|
+
// Factory Functions
|
|
50
|
+
// =============================================================================
|
|
51
|
+
/**
|
|
52
|
+
* Creates a basic global config with defaults
|
|
53
|
+
*/
|
|
54
|
+
export function createGlobalConfig(slug, fields, options) {
|
|
55
|
+
return {
|
|
56
|
+
schemaVersion: GLOBAL_SCHEMA_VERSION,
|
|
57
|
+
slug,
|
|
58
|
+
fields,
|
|
59
|
+
...options,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=global.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/cms/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAoC,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE5F,OAAO,EAAE,qBAAqB,EAAwB,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAA8B,cAAc,CAAC;IACtE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EAAE,+BAA+B;IAC5C,OAAO,EAAE,iDAAiD;IAC1D,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;CAClC,CAAC,CAAA;AAQF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAe,EACf,OAAwD;IAExD,OAAO;QACL,aAAa,EAAE,qBAAqB;QACpC,IAAI;QACJ,MAAM;QACN,GAAG,OAAO;KACX,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Contracts
|
|
3
|
+
*
|
|
4
|
+
* This module exports all contract types for the CMS type system.
|
|
5
|
+
*
|
|
6
|
+
* @module @revealui/contracts/cms
|
|
7
|
+
*/
|
|
8
|
+
export { type Contract, type ContractMetadata, type ContractType, type ContractValidationFailure, type ContractValidationResult, type ContractValidationSuccess, type CreateContractOptions, contractRegistry, createContract, } from '../foundation/contract.js';
|
|
9
|
+
export { CollectionContract, type CollectionContractType, createAuthCollectionConfig, createCollectionConfig, createUploadCollectionConfig, isCollectionConfig, parseCollection, validateCollection, } from './collection.js';
|
|
10
|
+
export type { RevealUICollectionConfig, RevealUIExtensions, RevealUIGlobalConfig, } from './compat.js';
|
|
11
|
+
export { assertValidSlug, fromCMSCollectionConfig, fromCMSGlobalConfig, getRevealUIExtensions, hasRevealUIExtensions, isValidSlug, toCMSCollectionConfig, toCMSConfig, toCMSGlobalConfig, toSlug, } from './compat.js';
|
|
12
|
+
export type { AdminConfig, CollectionConfig, Config, DatabaseAdapterConfig, EmailConfig, Field, GlobalConfig, LocalizationConfig, SanitizedConfig, TypedCollectionConfig, TypedGlobalConfig, UnknownRecord, } from './config.js';
|
|
13
|
+
export { defineCollection, defineField, defineGlobal, } from './config.js';
|
|
14
|
+
export { ConfigContract, type ConfigContractType, isConfigStructure, parseConfigStructure, validateConfigStructure, } from './config-contract.js';
|
|
15
|
+
export { ConfigValidationError, safeValidate, type ValidationResult, validateWithErrors, } from './errors.js';
|
|
16
|
+
export type { CustomFieldTypeConfig, CustomFieldTypeRegistry, CustomValidationRule, PluginFieldExtension, ValidationRuleRegistry, } from './extensibility.js';
|
|
17
|
+
export { applyPluginExtensions, BUILTIN_FIELD_TYPES, type BuiltinFieldType, clearCustomFieldTypes, clearPluginExtensions, ExtendedFieldTypeSchema, getCustomFieldType, getCustomFieldTypes, getPluginExtensions, getValidationRule, getValidationRules, getValidFieldTypes, isValidFieldType, mergeCollectionConfigs, mergeFields, registerCustomFieldType, registerPluginExtension, registerValidationRule, runValidationRule, unregisterCustomFieldType, } from './extensibility.js';
|
|
18
|
+
export { FieldContract, type FieldContractType, hasNestedFields, isArrayField, isFieldConfig, isGroupField, isLayoutField, isNumberField, isRelationshipField, isTextField, parseField, validateField, } from './field.js';
|
|
19
|
+
export type { AccessArgs, AccessFunction, AccessResult, AfterChangeHookArgs, AfterDeleteHookArgs, AfterOperationHookArgs, AfterReadHookArgs, BeforeChangeHookArgs, BeforeDeleteHookArgs, BeforeOperationHookArgs, BeforeReadHookArgs, BeforeValidateHookArgs, CollectionAccessConfig, CollectionAfterChangeHook, CollectionAfterDeleteHook, CollectionAfterOperationHook, CollectionAfterReadHook, CollectionBeforeChangeHook, CollectionBeforeDeleteHook, CollectionBeforeOperationHook, CollectionBeforeReadHook, CollectionBeforeValidateHook, CollectionHooksConfig, ConditionFunction, EndpointConfig, EndpointHandler, FieldAccess, FieldAccessArgs, FieldAccessConfig, FieldAccessFunction, FieldAfterReadHook, FieldAfterReadHookArgs, FieldBeforeChangeHook, FieldBeforeChangeHookArgs, FieldHooksConfig, FieldValidateArgs, GlobalAccessConfig, GlobalAfterChangeHook, GlobalAfterReadHook, GlobalBeforeChangeHook, GlobalBeforeReadHook, GlobalHooksConfig, RevealRequest, Where, } from './functions.js';
|
|
20
|
+
export { createGlobalConfig, GlobalContract, type GlobalContractType, isGlobalConfig, parseGlobal, validateGlobal, } from './global.js';
|
|
21
|
+
export type { ArrayField, AuthConfig, BlockDefinition, CollectionAccess, CollectionAdminConfig, CollectionHooks, CollectionLabels, CollectionStructure, FieldAdminConfig, FieldOption, FieldStructure, FieldType, GlobalAccess, GlobalAdminConfig, GlobalHooks, GlobalLabels, GlobalStructure, GlobalVersionsConfig, GroupField, NumberField, RelationshipField, RowField, SanitizedCollectionConfig, SanitizedGlobalConfig, SelectField, TabDefinition, TabsField, TextField, TypeScriptConfig, UploadConfig, VersionConfig, } from './structure.js';
|
|
22
|
+
export { ArrayFieldSchema, AuthConfigSchema, BlockDefinitionSchema, COLLECTION_SCHEMA_VERSION, CollectionAccessSchema, CollectionAdminConfigSchema, CollectionConfigSchema, CollectionHooksSchema, CollectionLabelsSchema, CollectionStructureSchema, FIELD_SCHEMA_VERSION, FieldAccessConfigSchema, FieldAdminConfigSchema, FieldHooksConfigSchema, FieldOptionSchema, FieldSchema, FieldStructureSchema, FieldTypeSchema, GLOBAL_SCHEMA_VERSION, GlobalAccessSchema, GlobalAdminConfigSchema, GlobalConfigSchema, GlobalHooksSchema, GlobalLabelsSchema, GlobalStructureSchema, GlobalVersionsConfigSchema, GroupFieldSchema, NumberFieldSchema, RelationshipFieldSchema, RowFieldSchema, SanitizedCollectionConfigSchema, SanitizedGlobalConfigSchema, SelectFieldSchema, TabDefinitionSchema, TabsFieldSchema, TextFieldSchema, TypeScriptConfigSchema, UploadConfigSchema, VersionConfigSchema, VersionsConfigSchema, } from './structure.js';
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cms/index.ts"],"names":[],"mappings":"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"}
|