@voyantjs/products-contracts 0.99.0 → 0.101.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.
@@ -0,0 +1,408 @@
1
+ import { z } from "zod";
2
+ export declare const localizedCatalogProductSummarySchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ name: z.ZodString;
5
+ description: z.ZodNullable<z.ZodString>;
6
+ contentLanguageTag: z.ZodNullable<z.ZodString>;
7
+ slug: z.ZodNullable<z.ZodString>;
8
+ shortDescription: z.ZodNullable<z.ZodString>;
9
+ seoTitle: z.ZodNullable<z.ZodString>;
10
+ seoDescription: z.ZodNullable<z.ZodString>;
11
+ bookingMode: z.ZodEnum<{
12
+ date: "date";
13
+ other: "other";
14
+ date_time: "date_time";
15
+ open: "open";
16
+ stay: "stay";
17
+ transfer: "transfer";
18
+ itinerary: "itinerary";
19
+ }>;
20
+ capacityMode: z.ZodEnum<{
21
+ free_sale: "free_sale";
22
+ limited: "limited";
23
+ on_request: "on_request";
24
+ }>;
25
+ visibility: z.ZodEnum<{
26
+ public: "public";
27
+ private: "private";
28
+ hidden: "hidden";
29
+ }>;
30
+ sellCurrency: z.ZodString;
31
+ sellAmountCents: z.ZodNullable<z.ZodNumber>;
32
+ startDate: z.ZodNullable<z.ZodString>;
33
+ endDate: z.ZodNullable<z.ZodString>;
34
+ pax: z.ZodNullable<z.ZodNumber>;
35
+ contractTemplateId: z.ZodNullable<z.ZodString>;
36
+ productType: z.ZodNullable<z.ZodObject<{
37
+ id: z.ZodString;
38
+ code: z.ZodString;
39
+ name: z.ZodString;
40
+ description: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strip>>;
42
+ categories: z.ZodArray<z.ZodObject<{
43
+ id: z.ZodString;
44
+ parentId: z.ZodNullable<z.ZodString>;
45
+ name: z.ZodString;
46
+ slug: z.ZodString;
47
+ description: z.ZodNullable<z.ZodString>;
48
+ sortOrder: z.ZodNumber;
49
+ }, z.core.$strip>>;
50
+ tags: z.ZodArray<z.ZodObject<{
51
+ id: z.ZodString;
52
+ name: z.ZodString;
53
+ }, z.core.$strip>>;
54
+ capabilities: z.ZodArray<z.ZodEnum<{
55
+ on_request: "on_request";
56
+ private: "private";
57
+ instant_confirmation: "instant_confirmation";
58
+ pickup_available: "pickup_available";
59
+ dropoff_available: "dropoff_available";
60
+ guided: "guided";
61
+ shared: "shared";
62
+ digital_ticket: "digital_ticket";
63
+ voucher_required: "voucher_required";
64
+ external_inventory: "external_inventory";
65
+ multi_day: "multi_day";
66
+ accommodation: "accommodation";
67
+ transport: "transport";
68
+ }>>;
69
+ destinations: z.ZodArray<z.ZodObject<{
70
+ id: z.ZodString;
71
+ parentId: z.ZodNullable<z.ZodString>;
72
+ slug: z.ZodString;
73
+ canonicalPlaceId: z.ZodNullable<z.ZodString>;
74
+ name: z.ZodString;
75
+ description: z.ZodNullable<z.ZodString>;
76
+ seoTitle: z.ZodNullable<z.ZodString>;
77
+ seoDescription: z.ZodNullable<z.ZodString>;
78
+ destinationType: z.ZodEnum<{
79
+ country: "country";
80
+ port: "port";
81
+ destination: "destination";
82
+ region: "region";
83
+ city: "city";
84
+ river: "river";
85
+ sea: "sea";
86
+ ocean: "ocean";
87
+ canal: "canal";
88
+ lake: "lake";
89
+ }>;
90
+ latitude: z.ZodNullable<z.ZodNumber>;
91
+ longitude: z.ZodNullable<z.ZodNumber>;
92
+ sortOrder: z.ZodNumber;
93
+ }, z.core.$strip>>;
94
+ locations: z.ZodArray<z.ZodObject<{
95
+ id: z.ZodString;
96
+ locationType: z.ZodEnum<{
97
+ other: "other";
98
+ start: "start";
99
+ end: "end";
100
+ meeting_point: "meeting_point";
101
+ pickup: "pickup";
102
+ dropoff: "dropoff";
103
+ point_of_interest: "point_of_interest";
104
+ }>;
105
+ title: z.ZodString;
106
+ address: z.ZodNullable<z.ZodString>;
107
+ city: z.ZodNullable<z.ZodString>;
108
+ countryCode: z.ZodNullable<z.ZodString>;
109
+ latitude: z.ZodNullable<z.ZodNumber>;
110
+ longitude: z.ZodNullable<z.ZodNumber>;
111
+ sortOrder: z.ZodNumber;
112
+ }, z.core.$strip>>;
113
+ coverMedia: z.ZodNullable<z.ZodObject<{
114
+ id: z.ZodString;
115
+ mediaType: z.ZodEnum<{
116
+ image: "image";
117
+ video: "video";
118
+ document: "document";
119
+ }>;
120
+ name: z.ZodString;
121
+ url: z.ZodString;
122
+ mimeType: z.ZodNullable<z.ZodString>;
123
+ altText: z.ZodNullable<z.ZodString>;
124
+ sortOrder: z.ZodNumber;
125
+ isCover: z.ZodBoolean;
126
+ isBrochure: z.ZodBoolean;
127
+ isBrochureCurrent: z.ZodBoolean;
128
+ brochureVersion: z.ZodNullable<z.ZodNumber>;
129
+ }, z.core.$strip>>;
130
+ isFeatured: z.ZodBoolean;
131
+ }, z.core.$strip>;
132
+ export declare const localizedCatalogProductDetailSchema: z.ZodObject<{
133
+ id: z.ZodString;
134
+ name: z.ZodString;
135
+ description: z.ZodNullable<z.ZodString>;
136
+ contentLanguageTag: z.ZodNullable<z.ZodString>;
137
+ slug: z.ZodNullable<z.ZodString>;
138
+ shortDescription: z.ZodNullable<z.ZodString>;
139
+ seoTitle: z.ZodNullable<z.ZodString>;
140
+ seoDescription: z.ZodNullable<z.ZodString>;
141
+ bookingMode: z.ZodEnum<{
142
+ date: "date";
143
+ other: "other";
144
+ date_time: "date_time";
145
+ open: "open";
146
+ stay: "stay";
147
+ transfer: "transfer";
148
+ itinerary: "itinerary";
149
+ }>;
150
+ capacityMode: z.ZodEnum<{
151
+ free_sale: "free_sale";
152
+ limited: "limited";
153
+ on_request: "on_request";
154
+ }>;
155
+ visibility: z.ZodEnum<{
156
+ public: "public";
157
+ private: "private";
158
+ hidden: "hidden";
159
+ }>;
160
+ sellCurrency: z.ZodString;
161
+ sellAmountCents: z.ZodNullable<z.ZodNumber>;
162
+ startDate: z.ZodNullable<z.ZodString>;
163
+ endDate: z.ZodNullable<z.ZodString>;
164
+ pax: z.ZodNullable<z.ZodNumber>;
165
+ contractTemplateId: z.ZodNullable<z.ZodString>;
166
+ productType: z.ZodNullable<z.ZodObject<{
167
+ id: z.ZodString;
168
+ code: z.ZodString;
169
+ name: z.ZodString;
170
+ description: z.ZodNullable<z.ZodString>;
171
+ }, z.core.$strip>>;
172
+ categories: z.ZodArray<z.ZodObject<{
173
+ id: z.ZodString;
174
+ parentId: z.ZodNullable<z.ZodString>;
175
+ name: z.ZodString;
176
+ slug: z.ZodString;
177
+ description: z.ZodNullable<z.ZodString>;
178
+ sortOrder: z.ZodNumber;
179
+ }, z.core.$strip>>;
180
+ tags: z.ZodArray<z.ZodObject<{
181
+ id: z.ZodString;
182
+ name: z.ZodString;
183
+ }, z.core.$strip>>;
184
+ capabilities: z.ZodArray<z.ZodEnum<{
185
+ on_request: "on_request";
186
+ private: "private";
187
+ instant_confirmation: "instant_confirmation";
188
+ pickup_available: "pickup_available";
189
+ dropoff_available: "dropoff_available";
190
+ guided: "guided";
191
+ shared: "shared";
192
+ digital_ticket: "digital_ticket";
193
+ voucher_required: "voucher_required";
194
+ external_inventory: "external_inventory";
195
+ multi_day: "multi_day";
196
+ accommodation: "accommodation";
197
+ transport: "transport";
198
+ }>>;
199
+ destinations: z.ZodArray<z.ZodObject<{
200
+ id: z.ZodString;
201
+ parentId: z.ZodNullable<z.ZodString>;
202
+ slug: z.ZodString;
203
+ canonicalPlaceId: z.ZodNullable<z.ZodString>;
204
+ name: z.ZodString;
205
+ description: z.ZodNullable<z.ZodString>;
206
+ seoTitle: z.ZodNullable<z.ZodString>;
207
+ seoDescription: z.ZodNullable<z.ZodString>;
208
+ destinationType: z.ZodEnum<{
209
+ country: "country";
210
+ port: "port";
211
+ destination: "destination";
212
+ region: "region";
213
+ city: "city";
214
+ river: "river";
215
+ sea: "sea";
216
+ ocean: "ocean";
217
+ canal: "canal";
218
+ lake: "lake";
219
+ }>;
220
+ latitude: z.ZodNullable<z.ZodNumber>;
221
+ longitude: z.ZodNullable<z.ZodNumber>;
222
+ sortOrder: z.ZodNumber;
223
+ }, z.core.$strip>>;
224
+ locations: z.ZodArray<z.ZodObject<{
225
+ id: z.ZodString;
226
+ locationType: z.ZodEnum<{
227
+ other: "other";
228
+ start: "start";
229
+ end: "end";
230
+ meeting_point: "meeting_point";
231
+ pickup: "pickup";
232
+ dropoff: "dropoff";
233
+ point_of_interest: "point_of_interest";
234
+ }>;
235
+ title: z.ZodString;
236
+ address: z.ZodNullable<z.ZodString>;
237
+ city: z.ZodNullable<z.ZodString>;
238
+ countryCode: z.ZodNullable<z.ZodString>;
239
+ latitude: z.ZodNullable<z.ZodNumber>;
240
+ longitude: z.ZodNullable<z.ZodNumber>;
241
+ sortOrder: z.ZodNumber;
242
+ }, z.core.$strip>>;
243
+ coverMedia: z.ZodNullable<z.ZodObject<{
244
+ id: z.ZodString;
245
+ mediaType: z.ZodEnum<{
246
+ image: "image";
247
+ video: "video";
248
+ document: "document";
249
+ }>;
250
+ name: z.ZodString;
251
+ url: z.ZodString;
252
+ mimeType: z.ZodNullable<z.ZodString>;
253
+ altText: z.ZodNullable<z.ZodString>;
254
+ sortOrder: z.ZodNumber;
255
+ isCover: z.ZodBoolean;
256
+ isBrochure: z.ZodBoolean;
257
+ isBrochureCurrent: z.ZodBoolean;
258
+ brochureVersion: z.ZodNullable<z.ZodNumber>;
259
+ }, z.core.$strip>>;
260
+ isFeatured: z.ZodBoolean;
261
+ brochure: z.ZodNullable<z.ZodObject<{
262
+ id: z.ZodString;
263
+ mediaType: z.ZodEnum<{
264
+ image: "image";
265
+ video: "video";
266
+ document: "document";
267
+ }>;
268
+ name: z.ZodString;
269
+ url: z.ZodString;
270
+ mimeType: z.ZodNullable<z.ZodString>;
271
+ altText: z.ZodNullable<z.ZodString>;
272
+ sortOrder: z.ZodNumber;
273
+ isCover: z.ZodBoolean;
274
+ isBrochure: z.ZodBoolean;
275
+ isBrochureCurrent: z.ZodBoolean;
276
+ brochureVersion: z.ZodNullable<z.ZodNumber>;
277
+ }, z.core.$strip>>;
278
+ media: z.ZodArray<z.ZodObject<{
279
+ id: z.ZodString;
280
+ mediaType: z.ZodEnum<{
281
+ image: "image";
282
+ video: "video";
283
+ document: "document";
284
+ }>;
285
+ name: z.ZodString;
286
+ url: z.ZodString;
287
+ mimeType: z.ZodNullable<z.ZodString>;
288
+ altText: z.ZodNullable<z.ZodString>;
289
+ sortOrder: z.ZodNumber;
290
+ isCover: z.ZodBoolean;
291
+ isBrochure: z.ZodBoolean;
292
+ isBrochureCurrent: z.ZodBoolean;
293
+ brochureVersion: z.ZodNullable<z.ZodNumber>;
294
+ }, z.core.$strip>>;
295
+ features: z.ZodArray<z.ZodObject<{
296
+ id: z.ZodString;
297
+ featureType: z.ZodEnum<{
298
+ other: "other";
299
+ inclusion: "inclusion";
300
+ exclusion: "exclusion";
301
+ highlight: "highlight";
302
+ important_information: "important_information";
303
+ }>;
304
+ title: z.ZodString;
305
+ description: z.ZodNullable<z.ZodString>;
306
+ sortOrder: z.ZodNumber;
307
+ }, z.core.$strip>>;
308
+ faqs: z.ZodArray<z.ZodObject<{
309
+ id: z.ZodString;
310
+ question: z.ZodString;
311
+ answer: z.ZodString;
312
+ sortOrder: z.ZodNumber;
313
+ }, z.core.$strip>>;
314
+ }, z.core.$strip>;
315
+ export declare const catalogSearchDocumentSchema: z.ZodObject<{
316
+ id: z.ZodString;
317
+ productId: z.ZodString;
318
+ languageTag: z.ZodNullable<z.ZodString>;
319
+ name: z.ZodString;
320
+ slug: z.ZodNullable<z.ZodString>;
321
+ shortDescription: z.ZodNullable<z.ZodString>;
322
+ description: z.ZodNullable<z.ZodString>;
323
+ seoTitle: z.ZodNullable<z.ZodString>;
324
+ seoDescription: z.ZodNullable<z.ZodString>;
325
+ sellCurrency: z.ZodString;
326
+ sellAmountCents: z.ZodNullable<z.ZodNumber>;
327
+ startDate: z.ZodNullable<z.ZodString>;
328
+ endDate: z.ZodNullable<z.ZodString>;
329
+ pax: z.ZodNullable<z.ZodNumber>;
330
+ productTypeCode: z.ZodNullable<z.ZodString>;
331
+ productTypeName: z.ZodNullable<z.ZodString>;
332
+ categoryIds: z.ZodArray<z.ZodString>;
333
+ categoryNames: z.ZodArray<z.ZodString>;
334
+ categorySlugs: z.ZodArray<z.ZodString>;
335
+ tagIds: z.ZodArray<z.ZodString>;
336
+ tagNames: z.ZodArray<z.ZodString>;
337
+ capabilities: z.ZodArray<z.ZodString>;
338
+ destinationIds: z.ZodArray<z.ZodString>;
339
+ destinationNames: z.ZodArray<z.ZodString>;
340
+ destinationSlugs: z.ZodArray<z.ZodString>;
341
+ locationTitles: z.ZodArray<z.ZodString>;
342
+ locationCities: z.ZodArray<z.ZodString>;
343
+ locationCountryCodes: z.ZodArray<z.ZodString>;
344
+ coverMediaUrl: z.ZodNullable<z.ZodString>;
345
+ isFeatured: z.ZodBoolean;
346
+ createdAt: z.ZodNullable<z.ZodString>;
347
+ updatedAt: z.ZodNullable<z.ZodString>;
348
+ }, z.core.$strip>;
349
+ export declare const catalogSearchDocumentListQuerySchema: z.ZodObject<{
350
+ productIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
351
+ languageTag: z.ZodOptional<z.ZodString>;
352
+ fallbackLanguageTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
353
+ visibility: z.ZodDefault<z.ZodEnum<{
354
+ all: "all";
355
+ public: "public";
356
+ }>>;
357
+ status: z.ZodDefault<z.ZodEnum<{
358
+ all: "all";
359
+ active: "active";
360
+ }>>;
361
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
362
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
363
+ }, z.core.$strip>;
364
+ export declare const catalogSearchDocumentListResponseSchema: z.ZodObject<{
365
+ data: z.ZodArray<z.ZodObject<{
366
+ id: z.ZodString;
367
+ productId: z.ZodString;
368
+ languageTag: z.ZodNullable<z.ZodString>;
369
+ name: z.ZodString;
370
+ slug: z.ZodNullable<z.ZodString>;
371
+ shortDescription: z.ZodNullable<z.ZodString>;
372
+ description: z.ZodNullable<z.ZodString>;
373
+ seoTitle: z.ZodNullable<z.ZodString>;
374
+ seoDescription: z.ZodNullable<z.ZodString>;
375
+ sellCurrency: z.ZodString;
376
+ sellAmountCents: z.ZodNullable<z.ZodNumber>;
377
+ startDate: z.ZodNullable<z.ZodString>;
378
+ endDate: z.ZodNullable<z.ZodString>;
379
+ pax: z.ZodNullable<z.ZodNumber>;
380
+ productTypeCode: z.ZodNullable<z.ZodString>;
381
+ productTypeName: z.ZodNullable<z.ZodString>;
382
+ categoryIds: z.ZodArray<z.ZodString>;
383
+ categoryNames: z.ZodArray<z.ZodString>;
384
+ categorySlugs: z.ZodArray<z.ZodString>;
385
+ tagIds: z.ZodArray<z.ZodString>;
386
+ tagNames: z.ZodArray<z.ZodString>;
387
+ capabilities: z.ZodArray<z.ZodString>;
388
+ destinationIds: z.ZodArray<z.ZodString>;
389
+ destinationNames: z.ZodArray<z.ZodString>;
390
+ destinationSlugs: z.ZodArray<z.ZodString>;
391
+ locationTitles: z.ZodArray<z.ZodString>;
392
+ locationCities: z.ZodArray<z.ZodString>;
393
+ locationCountryCodes: z.ZodArray<z.ZodString>;
394
+ coverMediaUrl: z.ZodNullable<z.ZodString>;
395
+ isFeatured: z.ZodBoolean;
396
+ createdAt: z.ZodNullable<z.ZodString>;
397
+ updatedAt: z.ZodNullable<z.ZodString>;
398
+ }, z.core.$strip>>;
399
+ total: z.ZodNumber;
400
+ limit: z.ZodNumber;
401
+ offset: z.ZodNumber;
402
+ }, z.core.$strip>;
403
+ export type LocalizedCatalogProductSummary = z.infer<typeof localizedCatalogProductSummarySchema>;
404
+ export type LocalizedCatalogProductDetail = z.infer<typeof localizedCatalogProductDetailSchema>;
405
+ export type CatalogSearchDocument = z.infer<typeof catalogSearchDocumentSchema>;
406
+ export type CatalogSearchDocumentListQuery = z.infer<typeof catalogSearchDocumentListQuerySchema>;
407
+ export type CatalogSearchDocumentListResponse = z.infer<typeof catalogSearchDocumentListResponseSchema>;
408
+ //# sourceMappingURL=validation-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-catalog.d.ts","sourceRoot":"","sources":["../src/validation-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoC,CAAA;AACrF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAmC,CAAA;AAEnF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiCtC,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;iBAQ/C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKlD,CAAA;AAEF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ import { publicCatalogProductDetailSchema, publicCatalogProductSummarySchema, } from "./validation-public.js";
3
+ import { languageTagSchema } from "./validation-shared.js";
4
+ export const localizedCatalogProductSummarySchema = publicCatalogProductSummarySchema;
5
+ export const localizedCatalogProductDetailSchema = publicCatalogProductDetailSchema;
6
+ export const catalogSearchDocumentSchema = z.object({
7
+ id: z.string(),
8
+ productId: z.string(),
9
+ languageTag: z.string().nullable(),
10
+ name: z.string(),
11
+ slug: z.string().nullable(),
12
+ shortDescription: z.string().nullable(),
13
+ description: z.string().nullable(),
14
+ seoTitle: z.string().nullable(),
15
+ seoDescription: z.string().nullable(),
16
+ sellCurrency: z.string(),
17
+ sellAmountCents: z.number().int().nullable(),
18
+ startDate: z.string().nullable(),
19
+ endDate: z.string().nullable(),
20
+ pax: z.number().int().nullable(),
21
+ productTypeCode: z.string().nullable(),
22
+ productTypeName: z.string().nullable(),
23
+ categoryIds: z.array(z.string()),
24
+ categoryNames: z.array(z.string()),
25
+ categorySlugs: z.array(z.string()),
26
+ tagIds: z.array(z.string()),
27
+ tagNames: z.array(z.string()),
28
+ capabilities: z.array(z.string()),
29
+ destinationIds: z.array(z.string()),
30
+ destinationNames: z.array(z.string()),
31
+ destinationSlugs: z.array(z.string()),
32
+ locationTitles: z.array(z.string()),
33
+ locationCities: z.array(z.string()),
34
+ locationCountryCodes: z.array(z.string()),
35
+ coverMediaUrl: z.string().nullable(),
36
+ isFeatured: z.boolean(),
37
+ createdAt: z.string().nullable(),
38
+ updatedAt: z.string().nullable(),
39
+ });
40
+ export const catalogSearchDocumentListQuerySchema = z.object({
41
+ productIds: z.array(z.string()).optional(),
42
+ languageTag: languageTagSchema.optional(),
43
+ fallbackLanguageTags: z.array(languageTagSchema).optional(),
44
+ visibility: z.enum(["public", "all"]).default("public"),
45
+ status: z.enum(["active", "all"]).default("active"),
46
+ limit: z.coerce.number().int().min(1).max(200).default(100),
47
+ offset: z.coerce.number().int().min(0).default(0),
48
+ });
49
+ export const catalogSearchDocumentListResponseSchema = z.object({
50
+ data: z.array(catalogSearchDocumentSchema),
51
+ total: z.number().int(),
52
+ limit: z.number().int(),
53
+ offset: z.number().int(),
54
+ });