@voyantjs/products-contracts 0.105.1 → 0.105.3

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.
@@ -3,6 +3,9 @@ export declare const localizedCatalogProductSummarySchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
4
  name: z.ZodString;
5
5
  description: z.ZodNullable<z.ZodString>;
6
+ inclusionsHtml: z.ZodNullable<z.ZodString>;
7
+ exclusionsHtml: z.ZodNullable<z.ZodString>;
8
+ termsHtml: z.ZodNullable<z.ZodString>;
6
9
  contentLanguageTag: z.ZodNullable<z.ZodString>;
7
10
  slug: z.ZodNullable<z.ZodString>;
8
11
  shortDescription: z.ZodNullable<z.ZodString>;
@@ -133,6 +136,9 @@ export declare const localizedCatalogProductDetailSchema: z.ZodObject<{
133
136
  id: z.ZodString;
134
137
  name: z.ZodString;
135
138
  description: z.ZodNullable<z.ZodString>;
139
+ inclusionsHtml: z.ZodNullable<z.ZodString>;
140
+ exclusionsHtml: z.ZodNullable<z.ZodString>;
141
+ termsHtml: z.ZodNullable<z.ZodString>;
136
142
  contentLanguageTag: z.ZodNullable<z.ZodString>;
137
143
  slug: z.ZodNullable<z.ZodString>;
138
144
  shortDescription: z.ZodNullable<z.ZodString>;
@@ -1 +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"}
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"}
@@ -194,6 +194,9 @@ export declare const publicCatalogProductSummarySchema: z.ZodObject<{
194
194
  id: z.ZodString;
195
195
  name: z.ZodString;
196
196
  description: z.ZodNullable<z.ZodString>;
197
+ inclusionsHtml: z.ZodNullable<z.ZodString>;
198
+ exclusionsHtml: z.ZodNullable<z.ZodString>;
199
+ termsHtml: z.ZodNullable<z.ZodString>;
197
200
  contentLanguageTag: z.ZodNullable<z.ZodString>;
198
201
  slug: z.ZodNullable<z.ZodString>;
199
202
  shortDescription: z.ZodNullable<z.ZodString>;
@@ -324,6 +327,9 @@ export declare const publicCatalogProductDetailSchema: z.ZodObject<{
324
327
  id: z.ZodString;
325
328
  name: z.ZodString;
326
329
  description: z.ZodNullable<z.ZodString>;
330
+ inclusionsHtml: z.ZodNullable<z.ZodString>;
331
+ exclusionsHtml: z.ZodNullable<z.ZodString>;
332
+ termsHtml: z.ZodNullable<z.ZodString>;
327
333
  contentLanguageTag: z.ZodNullable<z.ZodString>;
328
334
  slug: z.ZodNullable<z.ZodString>;
329
335
  shortDescription: z.ZodNullable<z.ZodString>;
@@ -508,6 +514,9 @@ export declare const publicCatalogProductListResponseSchema: z.ZodObject<{
508
514
  id: z.ZodString;
509
515
  name: z.ZodString;
510
516
  description: z.ZodNullable<z.ZodString>;
517
+ inclusionsHtml: z.ZodNullable<z.ZodString>;
518
+ exclusionsHtml: z.ZodNullable<z.ZodString>;
519
+ termsHtml: z.ZodNullable<z.ZodString>;
511
520
  contentLanguageTag: z.ZodNullable<z.ZodString>;
512
521
  slug: z.ZodNullable<z.ZodString>;
513
522
  shortDescription: z.ZodNullable<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"validation-public.d.ts","sourceRoot":"","sources":["../src/validation-public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;iBAK/C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;iBASlD,CAAA;AAEF,eAAO,MAAM,2CAA2C;;iBAEtD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;iBAO7C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;iBAKzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;iBAY1C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAM5C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;iBAU7C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B5C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3C,CAAA;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;iBAKlD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;iBAK7C,CAAA;AAEF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKrD,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAA;AACD,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,2CAA2C,CACnD,CAAA"}
1
+ {"version":3,"file":"validation-public.d.ts","sourceRoot":"","sources":["../src/validation-public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;iBAK/C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;iBASlD,CAAA;AAEF,eAAO,MAAM,2CAA2C;;iBAEtD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;iBAO7C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;iBAKzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;iBAY1C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAM5C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;iBAU7C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B5C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3C,CAAA;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;iBAKlD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;iBAK7C,CAAA;AAEF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKrD,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAA;AACD,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,2CAA2C,CACnD,CAAA"}
@@ -117,6 +117,9 @@ export const publicCatalogProductSummarySchema = z.object({
117
117
  id: z.string(),
118
118
  name: z.string(),
119
119
  description: z.string().nullable(),
120
+ inclusionsHtml: z.string().nullable(),
121
+ exclusionsHtml: z.string().nullable(),
122
+ termsHtml: z.string().nullable(),
120
123
  contentLanguageTag: z.string().nullable(),
121
124
  slug: z.string().nullable(),
122
125
  shortDescription: z.string().nullable(),
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation-public.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-public.test.d.ts","sourceRoot":"","sources":["../src/validation-public.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { publicCatalogProductDetailSchema, publicCatalogProductSummarySchema, } from "./validation-public.js";
3
+ const publicProductSummary = {
4
+ id: "prod_01j00000000000000000000000",
5
+ name: "Danube Cruise",
6
+ description: "River cruise through major capitals.",
7
+ inclusionsHtml: "<p>Transfers included</p>",
8
+ exclusionsHtml: "<p>Flights excluded</p>",
9
+ termsHtml: "<p>Standard cruise terms</p>",
10
+ contentLanguageTag: null,
11
+ slug: "danube-cruise",
12
+ shortDescription: null,
13
+ seoTitle: null,
14
+ seoDescription: null,
15
+ bookingMode: "date",
16
+ capacityMode: "limited",
17
+ visibility: "public",
18
+ sellCurrency: "EUR",
19
+ sellAmountCents: null,
20
+ startDate: null,
21
+ endDate: null,
22
+ pax: null,
23
+ contractTemplateId: null,
24
+ productType: null,
25
+ categories: [],
26
+ tags: [],
27
+ capabilities: [],
28
+ destinations: [],
29
+ locations: [],
30
+ coverMedia: null,
31
+ isFeatured: false,
32
+ };
33
+ describe("public catalog product validation", () => {
34
+ it("preserves product HTML fields on public summary responses", () => {
35
+ const parsed = publicCatalogProductSummarySchema.parse(publicProductSummary);
36
+ expect(parsed.inclusionsHtml).toBe("<p>Transfers included</p>");
37
+ expect(parsed.exclusionsHtml).toBe("<p>Flights excluded</p>");
38
+ expect(parsed.termsHtml).toBe("<p>Standard cruise terms</p>");
39
+ });
40
+ it("preserves product HTML fields on public detail responses", () => {
41
+ const parsed = publicCatalogProductDetailSchema.parse({
42
+ ...publicProductSummary,
43
+ brochure: null,
44
+ media: [],
45
+ features: [],
46
+ faqs: [],
47
+ });
48
+ expect(parsed.inclusionsHtml).toBe("<p>Transfers included</p>");
49
+ expect(parsed.exclusionsHtml).toBe("<p>Flights excluded</p>");
50
+ expect(parsed.termsHtml).toBe("<p>Standard cruise terms</p>");
51
+ });
52
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/products-contracts",
3
- "version": "0.105.1",
3
+ "version": "0.105.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "zod": "^4.3.6",
61
- "@voyantjs/catalog-contracts": "^0.105.1",
61
+ "@voyantjs/catalog-contracts": "^0.106.0",
62
62
  "@voyantjs/schema-kit": "^0.105.0"
63
63
  },
64
64
  "devDependencies": {