@mintlify/validation 0.1.848 → 0.1.849

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 (27) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/mint-config/collectOpenApiOverlays.d.ts +13 -0
  4. package/dist/mint-config/collectOpenApiOverlays.js +73 -0
  5. package/dist/mint-config/schemas/v2/index.d.ts +1280 -330
  6. package/dist/mint-config/schemas/v2/properties/api.d.ts +30 -5
  7. package/dist/mint-config/schemas/v2/properties/navigation/divisionNav.d.ts +30 -5
  8. package/dist/mint-config/schemas/v2/properties/navigation/groups.d.ts +14 -4
  9. package/dist/mint-config/schemas/v2/properties/navigation/index.d.ts +56 -16
  10. package/dist/mint-config/schemas/v2/properties/navigation/pages.d.ts +14 -4
  11. package/dist/mint-config/schemas/v2/properties/reusable/openapi.d.ts +26 -1
  12. package/dist/mint-config/schemas/v2/properties/reusable/openapi.js +23 -2
  13. package/dist/mint-config/schemas/v2/themes/almond.d.ts +128 -33
  14. package/dist/mint-config/schemas/v2/themes/aspen.d.ts +128 -33
  15. package/dist/mint-config/schemas/v2/themes/linden.d.ts +128 -33
  16. package/dist/mint-config/schemas/v2/themes/luma.d.ts +128 -33
  17. package/dist/mint-config/schemas/v2/themes/maple.d.ts +128 -33
  18. package/dist/mint-config/schemas/v2/themes/mint.d.ts +128 -33
  19. package/dist/mint-config/schemas/v2/themes/palm.d.ts +128 -33
  20. package/dist/mint-config/schemas/v2/themes/reusable/index.d.ts +86 -21
  21. package/dist/mint-config/schemas/v2/themes/sequoia.d.ts +128 -33
  22. package/dist/mint-config/schemas/v2/themes/willow.d.ts +128 -33
  23. package/dist/mint-config/validateConfig.d.ts +378 -108
  24. package/dist/openapi/overlay.d.ts +555 -0
  25. package/dist/openapi/overlay.js +118 -0
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +2 -2
@@ -0,0 +1,555 @@
1
+ import { z } from 'zod';
2
+ export declare const overlayInfoSchema: z.ZodEffects<z.ZodObject<{
3
+ title: z.ZodString;
4
+ version: z.ZodString;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
7
+ title: z.ZodString;
8
+ version: z.ZodString;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
11
+ title: z.ZodString;
12
+ version: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
15
+ title: z.ZodString;
16
+ version: z.ZodString;
17
+ description: z.ZodOptional<z.ZodString>;
18
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
19
+ title: z.ZodString;
20
+ version: z.ZodString;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ }, z.ZodTypeAny, "passthrough">>;
23
+ export declare const overlayActionSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
24
+ target: z.ZodString;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ update: z.ZodOptional<z.ZodUnknown>;
27
+ copy: z.ZodOptional<z.ZodString>;
28
+ remove: z.ZodOptional<z.ZodBoolean>;
29
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
30
+ target: z.ZodString;
31
+ description: z.ZodOptional<z.ZodString>;
32
+ update: z.ZodOptional<z.ZodUnknown>;
33
+ copy: z.ZodOptional<z.ZodString>;
34
+ remove: z.ZodOptional<z.ZodBoolean>;
35
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
36
+ target: z.ZodString;
37
+ description: z.ZodOptional<z.ZodString>;
38
+ update: z.ZodOptional<z.ZodUnknown>;
39
+ copy: z.ZodOptional<z.ZodString>;
40
+ remove: z.ZodOptional<z.ZodBoolean>;
41
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
42
+ target: z.ZodString;
43
+ description: z.ZodOptional<z.ZodString>;
44
+ update: z.ZodOptional<z.ZodUnknown>;
45
+ copy: z.ZodOptional<z.ZodString>;
46
+ remove: z.ZodOptional<z.ZodBoolean>;
47
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
48
+ target: z.ZodString;
49
+ description: z.ZodOptional<z.ZodString>;
50
+ update: z.ZodOptional<z.ZodUnknown>;
51
+ copy: z.ZodOptional<z.ZodString>;
52
+ remove: z.ZodOptional<z.ZodBoolean>;
53
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
54
+ target: z.ZodString;
55
+ description: z.ZodOptional<z.ZodString>;
56
+ update: z.ZodOptional<z.ZodUnknown>;
57
+ copy: z.ZodOptional<z.ZodString>;
58
+ remove: z.ZodOptional<z.ZodBoolean>;
59
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
60
+ target: z.ZodString;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ update: z.ZodOptional<z.ZodUnknown>;
63
+ copy: z.ZodOptional<z.ZodString>;
64
+ remove: z.ZodOptional<z.ZodBoolean>;
65
+ }, z.ZodTypeAny, "passthrough">>;
66
+ export declare const overlayDocumentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
67
+ overlay: z.ZodString;
68
+ info: z.ZodEffects<z.ZodObject<{
69
+ title: z.ZodString;
70
+ version: z.ZodString;
71
+ description: z.ZodOptional<z.ZodString>;
72
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
73
+ title: z.ZodString;
74
+ version: z.ZodString;
75
+ description: z.ZodOptional<z.ZodString>;
76
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
77
+ title: z.ZodString;
78
+ version: z.ZodString;
79
+ description: z.ZodOptional<z.ZodString>;
80
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
81
+ title: z.ZodString;
82
+ version: z.ZodString;
83
+ description: z.ZodOptional<z.ZodString>;
84
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
85
+ title: z.ZodString;
86
+ version: z.ZodString;
87
+ description: z.ZodOptional<z.ZodString>;
88
+ }, z.ZodTypeAny, "passthrough">>;
89
+ extends: z.ZodOptional<z.ZodString>;
90
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
91
+ target: z.ZodString;
92
+ description: z.ZodOptional<z.ZodString>;
93
+ update: z.ZodOptional<z.ZodUnknown>;
94
+ copy: z.ZodOptional<z.ZodString>;
95
+ remove: z.ZodOptional<z.ZodBoolean>;
96
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
97
+ target: z.ZodString;
98
+ description: z.ZodOptional<z.ZodString>;
99
+ update: z.ZodOptional<z.ZodUnknown>;
100
+ copy: z.ZodOptional<z.ZodString>;
101
+ remove: z.ZodOptional<z.ZodBoolean>;
102
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
103
+ target: z.ZodString;
104
+ description: z.ZodOptional<z.ZodString>;
105
+ update: z.ZodOptional<z.ZodUnknown>;
106
+ copy: z.ZodOptional<z.ZodString>;
107
+ remove: z.ZodOptional<z.ZodBoolean>;
108
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
109
+ target: z.ZodString;
110
+ description: z.ZodOptional<z.ZodString>;
111
+ update: z.ZodOptional<z.ZodUnknown>;
112
+ copy: z.ZodOptional<z.ZodString>;
113
+ remove: z.ZodOptional<z.ZodBoolean>;
114
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
115
+ target: z.ZodString;
116
+ description: z.ZodOptional<z.ZodString>;
117
+ update: z.ZodOptional<z.ZodUnknown>;
118
+ copy: z.ZodOptional<z.ZodString>;
119
+ remove: z.ZodOptional<z.ZodBoolean>;
120
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
121
+ target: z.ZodString;
122
+ description: z.ZodOptional<z.ZodString>;
123
+ update: z.ZodOptional<z.ZodUnknown>;
124
+ copy: z.ZodOptional<z.ZodString>;
125
+ remove: z.ZodOptional<z.ZodBoolean>;
126
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
127
+ target: z.ZodString;
128
+ description: z.ZodOptional<z.ZodString>;
129
+ update: z.ZodOptional<z.ZodUnknown>;
130
+ copy: z.ZodOptional<z.ZodString>;
131
+ remove: z.ZodOptional<z.ZodBoolean>;
132
+ }, z.ZodTypeAny, "passthrough">>, "many">;
133
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
134
+ overlay: z.ZodString;
135
+ info: z.ZodEffects<z.ZodObject<{
136
+ title: z.ZodString;
137
+ version: z.ZodString;
138
+ description: z.ZodOptional<z.ZodString>;
139
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
140
+ title: z.ZodString;
141
+ version: z.ZodString;
142
+ description: z.ZodOptional<z.ZodString>;
143
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
144
+ title: z.ZodString;
145
+ version: z.ZodString;
146
+ description: z.ZodOptional<z.ZodString>;
147
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
148
+ title: z.ZodString;
149
+ version: z.ZodString;
150
+ description: z.ZodOptional<z.ZodString>;
151
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
152
+ title: z.ZodString;
153
+ version: z.ZodString;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ }, z.ZodTypeAny, "passthrough">>;
156
+ extends: z.ZodOptional<z.ZodString>;
157
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
158
+ target: z.ZodString;
159
+ description: z.ZodOptional<z.ZodString>;
160
+ update: z.ZodOptional<z.ZodUnknown>;
161
+ copy: z.ZodOptional<z.ZodString>;
162
+ remove: z.ZodOptional<z.ZodBoolean>;
163
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
164
+ target: z.ZodString;
165
+ description: z.ZodOptional<z.ZodString>;
166
+ update: z.ZodOptional<z.ZodUnknown>;
167
+ copy: z.ZodOptional<z.ZodString>;
168
+ remove: z.ZodOptional<z.ZodBoolean>;
169
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
170
+ target: z.ZodString;
171
+ description: z.ZodOptional<z.ZodString>;
172
+ update: z.ZodOptional<z.ZodUnknown>;
173
+ copy: z.ZodOptional<z.ZodString>;
174
+ remove: z.ZodOptional<z.ZodBoolean>;
175
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
176
+ target: z.ZodString;
177
+ description: z.ZodOptional<z.ZodString>;
178
+ update: z.ZodOptional<z.ZodUnknown>;
179
+ copy: z.ZodOptional<z.ZodString>;
180
+ remove: z.ZodOptional<z.ZodBoolean>;
181
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
182
+ target: z.ZodString;
183
+ description: z.ZodOptional<z.ZodString>;
184
+ update: z.ZodOptional<z.ZodUnknown>;
185
+ copy: z.ZodOptional<z.ZodString>;
186
+ remove: z.ZodOptional<z.ZodBoolean>;
187
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
188
+ target: z.ZodString;
189
+ description: z.ZodOptional<z.ZodString>;
190
+ update: z.ZodOptional<z.ZodUnknown>;
191
+ copy: z.ZodOptional<z.ZodString>;
192
+ remove: z.ZodOptional<z.ZodBoolean>;
193
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
194
+ target: z.ZodString;
195
+ description: z.ZodOptional<z.ZodString>;
196
+ update: z.ZodOptional<z.ZodUnknown>;
197
+ copy: z.ZodOptional<z.ZodString>;
198
+ remove: z.ZodOptional<z.ZodBoolean>;
199
+ }, z.ZodTypeAny, "passthrough">>, "many">;
200
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
201
+ overlay: z.ZodString;
202
+ info: z.ZodEffects<z.ZodObject<{
203
+ title: z.ZodString;
204
+ version: z.ZodString;
205
+ description: z.ZodOptional<z.ZodString>;
206
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
207
+ title: z.ZodString;
208
+ version: z.ZodString;
209
+ description: z.ZodOptional<z.ZodString>;
210
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
211
+ title: z.ZodString;
212
+ version: z.ZodString;
213
+ description: z.ZodOptional<z.ZodString>;
214
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
215
+ title: z.ZodString;
216
+ version: z.ZodString;
217
+ description: z.ZodOptional<z.ZodString>;
218
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
219
+ title: z.ZodString;
220
+ version: z.ZodString;
221
+ description: z.ZodOptional<z.ZodString>;
222
+ }, z.ZodTypeAny, "passthrough">>;
223
+ extends: z.ZodOptional<z.ZodString>;
224
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
225
+ target: z.ZodString;
226
+ description: z.ZodOptional<z.ZodString>;
227
+ update: z.ZodOptional<z.ZodUnknown>;
228
+ copy: z.ZodOptional<z.ZodString>;
229
+ remove: z.ZodOptional<z.ZodBoolean>;
230
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
231
+ target: z.ZodString;
232
+ description: z.ZodOptional<z.ZodString>;
233
+ update: z.ZodOptional<z.ZodUnknown>;
234
+ copy: z.ZodOptional<z.ZodString>;
235
+ remove: z.ZodOptional<z.ZodBoolean>;
236
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
237
+ target: z.ZodString;
238
+ description: z.ZodOptional<z.ZodString>;
239
+ update: z.ZodOptional<z.ZodUnknown>;
240
+ copy: z.ZodOptional<z.ZodString>;
241
+ remove: z.ZodOptional<z.ZodBoolean>;
242
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
243
+ target: z.ZodString;
244
+ description: z.ZodOptional<z.ZodString>;
245
+ update: z.ZodOptional<z.ZodUnknown>;
246
+ copy: z.ZodOptional<z.ZodString>;
247
+ remove: z.ZodOptional<z.ZodBoolean>;
248
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
249
+ target: z.ZodString;
250
+ description: z.ZodOptional<z.ZodString>;
251
+ update: z.ZodOptional<z.ZodUnknown>;
252
+ copy: z.ZodOptional<z.ZodString>;
253
+ remove: z.ZodOptional<z.ZodBoolean>;
254
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
255
+ target: z.ZodString;
256
+ description: z.ZodOptional<z.ZodString>;
257
+ update: z.ZodOptional<z.ZodUnknown>;
258
+ copy: z.ZodOptional<z.ZodString>;
259
+ remove: z.ZodOptional<z.ZodBoolean>;
260
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
261
+ target: z.ZodString;
262
+ description: z.ZodOptional<z.ZodString>;
263
+ update: z.ZodOptional<z.ZodUnknown>;
264
+ copy: z.ZodOptional<z.ZodString>;
265
+ remove: z.ZodOptional<z.ZodBoolean>;
266
+ }, z.ZodTypeAny, "passthrough">>, "many">;
267
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
268
+ overlay: z.ZodString;
269
+ info: z.ZodEffects<z.ZodObject<{
270
+ title: z.ZodString;
271
+ version: z.ZodString;
272
+ description: z.ZodOptional<z.ZodString>;
273
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
274
+ title: z.ZodString;
275
+ version: z.ZodString;
276
+ description: z.ZodOptional<z.ZodString>;
277
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
278
+ title: z.ZodString;
279
+ version: z.ZodString;
280
+ description: z.ZodOptional<z.ZodString>;
281
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
282
+ title: z.ZodString;
283
+ version: z.ZodString;
284
+ description: z.ZodOptional<z.ZodString>;
285
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
286
+ title: z.ZodString;
287
+ version: z.ZodString;
288
+ description: z.ZodOptional<z.ZodString>;
289
+ }, z.ZodTypeAny, "passthrough">>;
290
+ extends: z.ZodOptional<z.ZodString>;
291
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
292
+ target: z.ZodString;
293
+ description: z.ZodOptional<z.ZodString>;
294
+ update: z.ZodOptional<z.ZodUnknown>;
295
+ copy: z.ZodOptional<z.ZodString>;
296
+ remove: z.ZodOptional<z.ZodBoolean>;
297
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
298
+ target: z.ZodString;
299
+ description: z.ZodOptional<z.ZodString>;
300
+ update: z.ZodOptional<z.ZodUnknown>;
301
+ copy: z.ZodOptional<z.ZodString>;
302
+ remove: z.ZodOptional<z.ZodBoolean>;
303
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
304
+ target: z.ZodString;
305
+ description: z.ZodOptional<z.ZodString>;
306
+ update: z.ZodOptional<z.ZodUnknown>;
307
+ copy: z.ZodOptional<z.ZodString>;
308
+ remove: z.ZodOptional<z.ZodBoolean>;
309
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
310
+ target: z.ZodString;
311
+ description: z.ZodOptional<z.ZodString>;
312
+ update: z.ZodOptional<z.ZodUnknown>;
313
+ copy: z.ZodOptional<z.ZodString>;
314
+ remove: z.ZodOptional<z.ZodBoolean>;
315
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
316
+ target: z.ZodString;
317
+ description: z.ZodOptional<z.ZodString>;
318
+ update: z.ZodOptional<z.ZodUnknown>;
319
+ copy: z.ZodOptional<z.ZodString>;
320
+ remove: z.ZodOptional<z.ZodBoolean>;
321
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
322
+ target: z.ZodString;
323
+ description: z.ZodOptional<z.ZodString>;
324
+ update: z.ZodOptional<z.ZodUnknown>;
325
+ copy: z.ZodOptional<z.ZodString>;
326
+ remove: z.ZodOptional<z.ZodBoolean>;
327
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
328
+ target: z.ZodString;
329
+ description: z.ZodOptional<z.ZodString>;
330
+ update: z.ZodOptional<z.ZodUnknown>;
331
+ copy: z.ZodOptional<z.ZodString>;
332
+ remove: z.ZodOptional<z.ZodBoolean>;
333
+ }, z.ZodTypeAny, "passthrough">>, "many">;
334
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
335
+ overlay: z.ZodString;
336
+ info: z.ZodEffects<z.ZodObject<{
337
+ title: z.ZodString;
338
+ version: z.ZodString;
339
+ description: z.ZodOptional<z.ZodString>;
340
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
341
+ title: z.ZodString;
342
+ version: z.ZodString;
343
+ description: z.ZodOptional<z.ZodString>;
344
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
345
+ title: z.ZodString;
346
+ version: z.ZodString;
347
+ description: z.ZodOptional<z.ZodString>;
348
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
349
+ title: z.ZodString;
350
+ version: z.ZodString;
351
+ description: z.ZodOptional<z.ZodString>;
352
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
353
+ title: z.ZodString;
354
+ version: z.ZodString;
355
+ description: z.ZodOptional<z.ZodString>;
356
+ }, z.ZodTypeAny, "passthrough">>;
357
+ extends: z.ZodOptional<z.ZodString>;
358
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
359
+ target: z.ZodString;
360
+ description: z.ZodOptional<z.ZodString>;
361
+ update: z.ZodOptional<z.ZodUnknown>;
362
+ copy: z.ZodOptional<z.ZodString>;
363
+ remove: z.ZodOptional<z.ZodBoolean>;
364
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
365
+ target: z.ZodString;
366
+ description: z.ZodOptional<z.ZodString>;
367
+ update: z.ZodOptional<z.ZodUnknown>;
368
+ copy: z.ZodOptional<z.ZodString>;
369
+ remove: z.ZodOptional<z.ZodBoolean>;
370
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
371
+ target: z.ZodString;
372
+ description: z.ZodOptional<z.ZodString>;
373
+ update: z.ZodOptional<z.ZodUnknown>;
374
+ copy: z.ZodOptional<z.ZodString>;
375
+ remove: z.ZodOptional<z.ZodBoolean>;
376
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
377
+ target: z.ZodString;
378
+ description: z.ZodOptional<z.ZodString>;
379
+ update: z.ZodOptional<z.ZodUnknown>;
380
+ copy: z.ZodOptional<z.ZodString>;
381
+ remove: z.ZodOptional<z.ZodBoolean>;
382
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
383
+ target: z.ZodString;
384
+ description: z.ZodOptional<z.ZodString>;
385
+ update: z.ZodOptional<z.ZodUnknown>;
386
+ copy: z.ZodOptional<z.ZodString>;
387
+ remove: z.ZodOptional<z.ZodBoolean>;
388
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
389
+ target: z.ZodString;
390
+ description: z.ZodOptional<z.ZodString>;
391
+ update: z.ZodOptional<z.ZodUnknown>;
392
+ copy: z.ZodOptional<z.ZodString>;
393
+ remove: z.ZodOptional<z.ZodBoolean>;
394
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
395
+ target: z.ZodString;
396
+ description: z.ZodOptional<z.ZodString>;
397
+ update: z.ZodOptional<z.ZodUnknown>;
398
+ copy: z.ZodOptional<z.ZodString>;
399
+ remove: z.ZodOptional<z.ZodBoolean>;
400
+ }, z.ZodTypeAny, "passthrough">>, "many">;
401
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
402
+ overlay: z.ZodString;
403
+ info: z.ZodEffects<z.ZodObject<{
404
+ title: z.ZodString;
405
+ version: z.ZodString;
406
+ description: z.ZodOptional<z.ZodString>;
407
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
408
+ title: z.ZodString;
409
+ version: z.ZodString;
410
+ description: z.ZodOptional<z.ZodString>;
411
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
412
+ title: z.ZodString;
413
+ version: z.ZodString;
414
+ description: z.ZodOptional<z.ZodString>;
415
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
416
+ title: z.ZodString;
417
+ version: z.ZodString;
418
+ description: z.ZodOptional<z.ZodString>;
419
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
420
+ title: z.ZodString;
421
+ version: z.ZodString;
422
+ description: z.ZodOptional<z.ZodString>;
423
+ }, z.ZodTypeAny, "passthrough">>;
424
+ extends: z.ZodOptional<z.ZodString>;
425
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
426
+ target: z.ZodString;
427
+ description: z.ZodOptional<z.ZodString>;
428
+ update: z.ZodOptional<z.ZodUnknown>;
429
+ copy: z.ZodOptional<z.ZodString>;
430
+ remove: z.ZodOptional<z.ZodBoolean>;
431
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
432
+ target: z.ZodString;
433
+ description: z.ZodOptional<z.ZodString>;
434
+ update: z.ZodOptional<z.ZodUnknown>;
435
+ copy: z.ZodOptional<z.ZodString>;
436
+ remove: z.ZodOptional<z.ZodBoolean>;
437
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
438
+ target: z.ZodString;
439
+ description: z.ZodOptional<z.ZodString>;
440
+ update: z.ZodOptional<z.ZodUnknown>;
441
+ copy: z.ZodOptional<z.ZodString>;
442
+ remove: z.ZodOptional<z.ZodBoolean>;
443
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
444
+ target: z.ZodString;
445
+ description: z.ZodOptional<z.ZodString>;
446
+ update: z.ZodOptional<z.ZodUnknown>;
447
+ copy: z.ZodOptional<z.ZodString>;
448
+ remove: z.ZodOptional<z.ZodBoolean>;
449
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
450
+ target: z.ZodString;
451
+ description: z.ZodOptional<z.ZodString>;
452
+ update: z.ZodOptional<z.ZodUnknown>;
453
+ copy: z.ZodOptional<z.ZodString>;
454
+ remove: z.ZodOptional<z.ZodBoolean>;
455
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
456
+ target: z.ZodString;
457
+ description: z.ZodOptional<z.ZodString>;
458
+ update: z.ZodOptional<z.ZodUnknown>;
459
+ copy: z.ZodOptional<z.ZodString>;
460
+ remove: z.ZodOptional<z.ZodBoolean>;
461
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
462
+ target: z.ZodString;
463
+ description: z.ZodOptional<z.ZodString>;
464
+ update: z.ZodOptional<z.ZodUnknown>;
465
+ copy: z.ZodOptional<z.ZodString>;
466
+ remove: z.ZodOptional<z.ZodBoolean>;
467
+ }, z.ZodTypeAny, "passthrough">>, "many">;
468
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
469
+ overlay: z.ZodString;
470
+ info: z.ZodEffects<z.ZodObject<{
471
+ title: z.ZodString;
472
+ version: z.ZodString;
473
+ description: z.ZodOptional<z.ZodString>;
474
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
475
+ title: z.ZodString;
476
+ version: z.ZodString;
477
+ description: z.ZodOptional<z.ZodString>;
478
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
479
+ title: z.ZodString;
480
+ version: z.ZodString;
481
+ description: z.ZodOptional<z.ZodString>;
482
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
483
+ title: z.ZodString;
484
+ version: z.ZodString;
485
+ description: z.ZodOptional<z.ZodString>;
486
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
487
+ title: z.ZodString;
488
+ version: z.ZodString;
489
+ description: z.ZodOptional<z.ZodString>;
490
+ }, z.ZodTypeAny, "passthrough">>;
491
+ extends: z.ZodOptional<z.ZodString>;
492
+ actions: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
493
+ target: z.ZodString;
494
+ description: z.ZodOptional<z.ZodString>;
495
+ update: z.ZodOptional<z.ZodUnknown>;
496
+ copy: z.ZodOptional<z.ZodString>;
497
+ remove: z.ZodOptional<z.ZodBoolean>;
498
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
499
+ target: z.ZodString;
500
+ description: z.ZodOptional<z.ZodString>;
501
+ update: z.ZodOptional<z.ZodUnknown>;
502
+ copy: z.ZodOptional<z.ZodString>;
503
+ remove: z.ZodOptional<z.ZodBoolean>;
504
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
505
+ target: z.ZodString;
506
+ description: z.ZodOptional<z.ZodString>;
507
+ update: z.ZodOptional<z.ZodUnknown>;
508
+ copy: z.ZodOptional<z.ZodString>;
509
+ remove: z.ZodOptional<z.ZodBoolean>;
510
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
511
+ target: z.ZodString;
512
+ description: z.ZodOptional<z.ZodString>;
513
+ update: z.ZodOptional<z.ZodUnknown>;
514
+ copy: z.ZodOptional<z.ZodString>;
515
+ remove: z.ZodOptional<z.ZodBoolean>;
516
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
517
+ target: z.ZodString;
518
+ description: z.ZodOptional<z.ZodString>;
519
+ update: z.ZodOptional<z.ZodUnknown>;
520
+ copy: z.ZodOptional<z.ZodString>;
521
+ remove: z.ZodOptional<z.ZodBoolean>;
522
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
523
+ target: z.ZodString;
524
+ description: z.ZodOptional<z.ZodString>;
525
+ update: z.ZodOptional<z.ZodUnknown>;
526
+ copy: z.ZodOptional<z.ZodString>;
527
+ remove: z.ZodOptional<z.ZodBoolean>;
528
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
529
+ target: z.ZodString;
530
+ description: z.ZodOptional<z.ZodString>;
531
+ update: z.ZodOptional<z.ZodUnknown>;
532
+ copy: z.ZodOptional<z.ZodString>;
533
+ remove: z.ZodOptional<z.ZodBoolean>;
534
+ }, z.ZodTypeAny, "passthrough">>, "many">;
535
+ }, z.ZodTypeAny, "passthrough">>;
536
+ export type OverlayInfo = z.infer<typeof overlayInfoSchema>;
537
+ export type OverlayAction = z.infer<typeof overlayActionSchema>;
538
+ export type OverlayDocument = z.infer<typeof overlayDocumentSchema>;
539
+ /**
540
+ * Routes discovery: any non-array object with a top-level `overlay` field counts, so
541
+ * malformed version values surface validation errors instead of being ignored.
542
+ */
543
+ export declare function isOverlayDocument(value: unknown): value is {
544
+ overlay: unknown;
545
+ };
546
+ /** Validates a parsed value against the Overlay schema, throwing a readable error. */
547
+ export declare function parseOverlayDocument(value: unknown): OverlayDocument;
548
+ /** Non-throwing variant of {@link parseOverlayDocument}. */
549
+ export declare function safeParseOverlayDocument(value: unknown): {
550
+ success: true;
551
+ data: OverlayDocument;
552
+ } | {
553
+ success: false;
554
+ errorMessage: string;
555
+ };
@@ -0,0 +1,118 @@
1
+ import { z } from 'zod';
2
+ // OpenAPI Overlay Specification v1.1.0: https://spec.openapis.org/overlay/v1.1.0.html
3
+ const SUPPORTED_OVERLAY_VERSION_PATTERN = /^1\.[01](\.\d+)?$/;
4
+ const specificationExtensionKey = /^x-/;
5
+ const rejectUnknownKeys = (knownKeys) => {
6
+ return (value, ctx) => {
7
+ for (const key of Object.keys(value)) {
8
+ if (!knownKeys.includes(key) && !specificationExtensionKey.test(key)) {
9
+ ctx.addIssue({
10
+ code: z.ZodIssueCode.custom,
11
+ message: `Unknown field "${key}". Only specification extensions (fields starting with "x-") are allowed in addition to the fixed fields.`,
12
+ });
13
+ }
14
+ }
15
+ };
16
+ };
17
+ export const overlayInfoSchema = z
18
+ .object({
19
+ title: z.string({
20
+ required_error: 'The Overlay "info.title" field is required',
21
+ }),
22
+ version: z.string({
23
+ required_error: 'The Overlay "info.version" field is required',
24
+ }),
25
+ description: z.string().optional(),
26
+ })
27
+ .passthrough()
28
+ .superRefine(rejectUnknownKeys(['title', 'version', 'description']));
29
+ export const overlayActionSchema = z
30
+ .object({
31
+ target: z
32
+ .string({ required_error: 'Each Overlay action requires a "target" JSONPath expression' })
33
+ .trim()
34
+ .nonempty('Each Overlay action requires a non-empty "target" JSONPath expression'),
35
+ description: z.string().optional(),
36
+ update: z.unknown().optional(),
37
+ copy: z.string().trim().nonempty().optional(),
38
+ remove: z.boolean().optional(),
39
+ })
40
+ .passthrough()
41
+ .superRefine(rejectUnknownKeys(['target', 'description', 'update', 'copy', 'remove']))
42
+ .superRefine((action, ctx) => {
43
+ if (action.update !== undefined && action.copy !== undefined) {
44
+ ctx.addIssue({
45
+ code: z.ZodIssueCode.custom,
46
+ message: `Action targeting "${action.target}" sets both "update" and "copy". Use only one modifier per action.`,
47
+ });
48
+ }
49
+ if (action.update === undefined && action.copy === undefined && action.remove !== true) {
50
+ ctx.addIssue({
51
+ code: z.ZodIssueCode.custom,
52
+ message: `Action targeting "${action.target}" has no effect. Set "update", "copy", or "remove: true".`,
53
+ });
54
+ }
55
+ });
56
+ export const overlayDocumentSchema = z
57
+ .object({
58
+ overlay: z
59
+ .string({
60
+ required_error: 'The Overlay "overlay" version field is required',
61
+ invalid_type_error: 'The Overlay "overlay" version field must be a string, e.g. "1.1.0"',
62
+ })
63
+ .regex(SUPPORTED_OVERLAY_VERSION_PATTERN, 'Unsupported Overlay Specification version. Supported versions are 1.0.x and 1.1.x'),
64
+ info: overlayInfoSchema,
65
+ extends: z.string().optional(),
66
+ actions: z
67
+ .array(overlayActionSchema)
68
+ .min(1, 'The Overlay "actions" array must contain at least one action'),
69
+ })
70
+ .passthrough()
71
+ .superRefine(rejectUnknownKeys(['overlay', 'info', 'extends', 'actions']))
72
+ .superRefine((document, ctx) => {
73
+ // The "copy" modifier was introduced in Overlay Specification 1.1.0.
74
+ if (!document.overlay.startsWith('1.0'))
75
+ return;
76
+ document.actions.forEach((action, index) => {
77
+ if (action.copy !== undefined) {
78
+ ctx.addIssue({
79
+ code: z.ZodIssueCode.custom,
80
+ path: ['actions', index, 'copy'],
81
+ message: 'The "copy" modifier requires Overlay Specification 1.1.0 or later. Declare overlay: "1.1.0" to use copy.',
82
+ });
83
+ }
84
+ });
85
+ });
86
+ /**
87
+ * Routes discovery: any non-array object with a top-level `overlay` field counts, so
88
+ * malformed version values surface validation errors instead of being ignored.
89
+ */
90
+ export function isOverlayDocument(value) {
91
+ return typeof value === 'object' && value !== null && !Array.isArray(value) && 'overlay' in value;
92
+ }
93
+ /** Validates a parsed value against the Overlay schema, throwing a readable error. */
94
+ export function parseOverlayDocument(value) {
95
+ const result = overlayDocumentSchema.safeParse(value);
96
+ if (!result.success) {
97
+ const details = result.error.issues
98
+ .map((issue) => {
99
+ const path = issue.path.length > 0 ? `${issue.path.join('.')}: ` : '';
100
+ return `${path}${issue.message}`;
101
+ })
102
+ .join('; ');
103
+ throw new Error(`Invalid OpenAPI Overlay document: ${details}`);
104
+ }
105
+ return result.data;
106
+ }
107
+ /** Non-throwing variant of {@link parseOverlayDocument}. */
108
+ export function safeParseOverlayDocument(value) {
109
+ try {
110
+ return { success: true, data: parseOverlayDocument(value) };
111
+ }
112
+ catch (error) {
113
+ return {
114
+ success: false,
115
+ errorMessage: error instanceof Error ? error.message : String(error),
116
+ };
117
+ }
118
+ }