@omni-graph/omni-model 0.9.0 → 0.9.2
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/dist/zod/recommendations/feed-optimization/google-feed/basicProductData.d.ts +15 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/basicProductData.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/basicProductData.js +26 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/basicProductData.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/detailedProductDescription.d.ts +65 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/detailedProductDescription.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/detailedProductDescription.js +43 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/detailedProductDescription.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.d.ts +1585 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.js +39 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/index.d.ts +13 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/index.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/index.js +11 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/index.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.d.ts +97 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.js +15 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productCategory.d.ts +11 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productCategory.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productCategory.js +13 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productCategory.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productIdentifiers.d.ts +13 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productIdentifiers.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productIdentifiers.js +24 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/productIdentifiers.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/subtypes.d.ts +110 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/subtypes.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/subtypes.js +26 -0
- package/dist/zod/recommendations/feed-optimization/google-feed/subtypes.js.map +1 -0
- package/dist/zod/recommendations/feed-optimization/index.d.ts +2 -0
- package/dist/zod/recommendations/feed-optimization/index.d.ts.map +1 -0
- package/dist/zod/recommendations/feed-optimization/index.js +2 -0
- package/dist/zod/recommendations/feed-optimization/index.js.map +1 -0
- package/dist/zod/recommendations/index.d.ts +635 -0
- package/dist/zod/recommendations/index.d.ts.map +1 -1
- package/dist/zod/recommendations/index.js +3 -0
- package/dist/zod/recommendations/index.js.map +1 -1
- package/package.json +1 -1
package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleFeedRecommendation.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAQtB;;;;GAIG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjD,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ObjectScopedRecommendationV2Schema } from '../../base';
|
|
3
|
+
import { SupportedLanguageCodesSchema } from '../../../../constants';
|
|
4
|
+
import { PriceValueSchema } from './subtypes';
|
|
5
|
+
// Union type for output_data and original_data that supports all Google Feed data types
|
|
6
|
+
const GoogleFeedDataValue = z.union([z.string(), z.boolean(), z.number(), z.array(z.string()), PriceValueSchema]);
|
|
7
|
+
/**
|
|
8
|
+
* Google Feed recommendation data schema
|
|
9
|
+
* Uses a consistent structure with output_data, output_language, input_language, and original_data
|
|
10
|
+
* The category is determined by the parent recommendation's 'category' field
|
|
11
|
+
*/
|
|
12
|
+
export const GoogleFeedRecommendationDataSchema = z.object({
|
|
13
|
+
output_data: GoogleFeedDataValue.nullable(),
|
|
14
|
+
output_language: SupportedLanguageCodesSchema,
|
|
15
|
+
input_language: SupportedLanguageCodesSchema,
|
|
16
|
+
original_data: GoogleFeedDataValue.nullable(),
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Complete Google Feed recommendation schema
|
|
20
|
+
* Extends ObjectScopedRecommendationV2Schema with Google Feed specific fields
|
|
21
|
+
*/
|
|
22
|
+
export const GoogleFeedRecommendationSchema = ObjectScopedRecommendationV2Schema.extend({
|
|
23
|
+
analyticsId: z.literal('feed_optimization__google'),
|
|
24
|
+
recommendationData: GoogleFeedRecommendationDataSchema,
|
|
25
|
+
editedRecommendationData: z
|
|
26
|
+
.object({
|
|
27
|
+
recommendationData: GoogleFeedRecommendationDataSchema.optional(),
|
|
28
|
+
})
|
|
29
|
+
.optional(),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Response schema for Google Feed recommendations
|
|
33
|
+
*/
|
|
34
|
+
export const GoogleFeedRecommendationResponseSchema = z.object({
|
|
35
|
+
recommendations: z.array(GoogleFeedRecommendationSchema),
|
|
36
|
+
hasMoreRows: z.boolean().optional(),
|
|
37
|
+
totalCount: z.number().optional(),
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=googleFeedRecommendation.js.map
|
package/dist/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleFeedRecommendation.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/googleFeedRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,kCAAkC,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5C,wFAAwF;AACxF,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAElH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,4BAA4B;IAC7C,cAAc,EAAE,4BAA4B;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAC,MAAM,CAAC;IACtF,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACnD,kBAAkB,EAAE,kCAAkC;IACtD,wBAAwB,EAAE,CAAC;SACxB,MAAM,CAAC;QACN,kBAAkB,EAAE,kCAAkC,CAAC,QAAQ,EAAE;KAClE,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './subtypes';
|
|
2
|
+
export { BasicProductDataSchema } from './basicProductData';
|
|
3
|
+
export { PriceAndAvailabilitySchema } from './priceAndAvailability';
|
|
4
|
+
export { ProductCategorySchema } from './productCategory';
|
|
5
|
+
export { ProductIdentifiersSchema } from './productIdentifiers';
|
|
6
|
+
export { DetailedProductDescriptionSchema } from './detailedProductDescription';
|
|
7
|
+
export type { BasicProductDataType } from './basicProductData';
|
|
8
|
+
export type { PriceAndAvailabilityType } from './priceAndAvailability';
|
|
9
|
+
export type { ProductCategoryType } from './productCategory';
|
|
10
|
+
export type { ProductIdentifiersType } from './productIdentifiers';
|
|
11
|
+
export type { DetailedProductDescriptionType } from './detailedProductDescription';
|
|
12
|
+
export * from "./googleFeedRecommendation";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAC,gCAAgC,EAAC,MAAM,8BAA8B,CAAC;AAG9E,YAAY,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAC,8BAA8B,EAAC,MAAM,8BAA8B,CAAC;AAGjF,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Re-export subtypes (enums and their types)
|
|
2
|
+
export * from './subtypes';
|
|
3
|
+
// Re-export individual schemas (for reference only)
|
|
4
|
+
export { BasicProductDataSchema } from './basicProductData';
|
|
5
|
+
export { PriceAndAvailabilitySchema } from './priceAndAvailability';
|
|
6
|
+
export { ProductCategorySchema } from './productCategory';
|
|
7
|
+
export { ProductIdentifiersSchema } from './productIdentifiers';
|
|
8
|
+
export { DetailedProductDescriptionSchema } from './detailedProductDescription';
|
|
9
|
+
// Export the recommendation schemas
|
|
10
|
+
export * from "./googleFeedRecommendation";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,cAAc,YAAY,CAAC;AAE3B,oDAAoD;AACpD,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAC,gCAAgC,EAAC,MAAM,8BAA8B,CAAC;AAS9E,oCAAoC;AACpC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Price and Availability schema for Google Merchant Center
|
|
4
|
+
* Reference: https://support.google.com/merchants/answer/7052112#price_availability
|
|
5
|
+
*/
|
|
6
|
+
export declare const PriceAndAvailabilitySchema: z.ZodObject<{
|
|
7
|
+
price: z.ZodObject<{
|
|
8
|
+
amount: z.ZodCoercedNumber<unknown>;
|
|
9
|
+
currency_code: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
|
|
10
|
+
AED: "AED";
|
|
11
|
+
ARS: "ARS";
|
|
12
|
+
AUD: "AUD";
|
|
13
|
+
BGN: "BGN";
|
|
14
|
+
BRL: "BRL";
|
|
15
|
+
CAD: "CAD";
|
|
16
|
+
CHF: "CHF";
|
|
17
|
+
CLP: "CLP";
|
|
18
|
+
CNY: "CNY";
|
|
19
|
+
COP: "COP";
|
|
20
|
+
CZK: "CZK";
|
|
21
|
+
DKK: "DKK";
|
|
22
|
+
EUR: "EUR";
|
|
23
|
+
GBP: "GBP";
|
|
24
|
+
HKD: "HKD";
|
|
25
|
+
HUF: "HUF";
|
|
26
|
+
IDR: "IDR";
|
|
27
|
+
ILS: "ILS";
|
|
28
|
+
INR: "INR";
|
|
29
|
+
JPY: "JPY";
|
|
30
|
+
KRW: "KRW";
|
|
31
|
+
MXN: "MXN";
|
|
32
|
+
MYR: "MYR";
|
|
33
|
+
NOK: "NOK";
|
|
34
|
+
NZD: "NZD";
|
|
35
|
+
PHP: "PHP";
|
|
36
|
+
PLN: "PLN";
|
|
37
|
+
RON: "RON";
|
|
38
|
+
RUB: "RUB";
|
|
39
|
+
SEK: "SEK";
|
|
40
|
+
SGD: "SGD";
|
|
41
|
+
THB: "THB";
|
|
42
|
+
TRY: "TRY";
|
|
43
|
+
USD: "USD";
|
|
44
|
+
ZAR: "ZAR";
|
|
45
|
+
UNKNOWN: "UNKNOWN";
|
|
46
|
+
}>>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
sale_price: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
49
|
+
amount: z.ZodCoercedNumber<unknown>;
|
|
50
|
+
currency_code: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
|
|
51
|
+
AED: "AED";
|
|
52
|
+
ARS: "ARS";
|
|
53
|
+
AUD: "AUD";
|
|
54
|
+
BGN: "BGN";
|
|
55
|
+
BRL: "BRL";
|
|
56
|
+
CAD: "CAD";
|
|
57
|
+
CHF: "CHF";
|
|
58
|
+
CLP: "CLP";
|
|
59
|
+
CNY: "CNY";
|
|
60
|
+
COP: "COP";
|
|
61
|
+
CZK: "CZK";
|
|
62
|
+
DKK: "DKK";
|
|
63
|
+
EUR: "EUR";
|
|
64
|
+
GBP: "GBP";
|
|
65
|
+
HKD: "HKD";
|
|
66
|
+
HUF: "HUF";
|
|
67
|
+
IDR: "IDR";
|
|
68
|
+
ILS: "ILS";
|
|
69
|
+
INR: "INR";
|
|
70
|
+
JPY: "JPY";
|
|
71
|
+
KRW: "KRW";
|
|
72
|
+
MXN: "MXN";
|
|
73
|
+
MYR: "MYR";
|
|
74
|
+
NOK: "NOK";
|
|
75
|
+
NZD: "NZD";
|
|
76
|
+
PHP: "PHP";
|
|
77
|
+
PLN: "PLN";
|
|
78
|
+
RON: "RON";
|
|
79
|
+
RUB: "RUB";
|
|
80
|
+
SEK: "SEK";
|
|
81
|
+
SGD: "SGD";
|
|
82
|
+
THB: "THB";
|
|
83
|
+
TRY: "TRY";
|
|
84
|
+
USD: "USD";
|
|
85
|
+
ZAR: "ZAR";
|
|
86
|
+
UNKNOWN: "UNKNOWN";
|
|
87
|
+
}>>>;
|
|
88
|
+
}, z.core.$strip>>>;
|
|
89
|
+
availability: z.ZodEnum<{
|
|
90
|
+
in_stock: "in_stock";
|
|
91
|
+
out_of_stock: "out_of_stock";
|
|
92
|
+
preorder: "preorder";
|
|
93
|
+
backorder: "backorder";
|
|
94
|
+
}>;
|
|
95
|
+
}, z.core.$strip>;
|
|
96
|
+
export type PriceAndAvailabilityType = z.infer<typeof PriceAndAvailabilitySchema>;
|
|
97
|
+
//# sourceMappingURL=priceAndAvailability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceAndAvailability.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AvailabilityEnum, PriceValueSchema } from './subtypes';
|
|
3
|
+
/**
|
|
4
|
+
* Price and Availability schema for Google Merchant Center
|
|
5
|
+
* Reference: https://support.google.com/merchants/answer/7052112#price_availability
|
|
6
|
+
*/
|
|
7
|
+
export const PriceAndAvailabilitySchema = z.object({
|
|
8
|
+
// Required: Price of the product as structured object
|
|
9
|
+
price: PriceValueSchema,
|
|
10
|
+
// Optional: Sale price of the product as structured object
|
|
11
|
+
sale_price: PriceValueSchema.nullish(),
|
|
12
|
+
// Required: Availability status of the product
|
|
13
|
+
availability: AvailabilityEnum,
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=priceAndAvailability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceAndAvailability.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/priceAndAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,sDAAsD;IACtD,KAAK,EAAE,gBAAgB;IAEvB,2DAA2D;IAC3D,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE;IAEtC,+CAA+C;IAC/C,YAAY,EAAE,gBAAgB;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Product Category schema for Google Merchant Center
|
|
4
|
+
* Reference: https://support.google.com/merchants/answer/7052112#product_category
|
|
5
|
+
*/
|
|
6
|
+
export declare const ProductCategorySchema: z.ZodObject<{
|
|
7
|
+
google_product_category: z.ZodOptional<z.ZodString>;
|
|
8
|
+
product_type: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export type ProductCategoryType = z.infer<typeof ProductCategorySchema>;
|
|
11
|
+
//# sourceMappingURL=productCategory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productCategory.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/productCategory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Product Category schema for Google Merchant Center
|
|
4
|
+
* Reference: https://support.google.com/merchants/answer/7052112#product_category
|
|
5
|
+
*/
|
|
6
|
+
export const ProductCategorySchema = z.object({
|
|
7
|
+
// Optional: Google-defined product category (can be category ID or full path)
|
|
8
|
+
google_product_category: z.string().optional(),
|
|
9
|
+
// Optional: Product type defined by the merchant
|
|
10
|
+
// Max 750 characters
|
|
11
|
+
product_type: z.string().max(750).optional(),
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=productCategory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productCategory.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/productCategory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,8EAA8E;IAC9E,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,iDAAiD;IACjD,qBAAqB;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Product Identifiers schema for Google Merchant Center
|
|
4
|
+
* Reference: https://support.google.com/merchants/answer/7052112#product_identifiers
|
|
5
|
+
*/
|
|
6
|
+
export declare const ProductIdentifiersSchema: z.ZodObject<{
|
|
7
|
+
brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
8
|
+
gtin: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
mpn: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
10
|
+
identifier_exists: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export type ProductIdentifiersType = z.infer<typeof ProductIdentifiersSchema>;
|
|
13
|
+
//# sourceMappingURL=productIdentifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productIdentifiers.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/productIdentifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;iBAoBnC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Product Identifiers schema for Google Merchant Center
|
|
4
|
+
* Reference: https://support.google.com/merchants/answer/7052112#product_identifiers
|
|
5
|
+
*/
|
|
6
|
+
export const ProductIdentifiersSchema = z.object({
|
|
7
|
+
// Optional: Brand name of the product
|
|
8
|
+
// Max 70 characters
|
|
9
|
+
brand: z.string().max(70).nullish(),
|
|
10
|
+
// Optional: Global Trade Item Number (GTIN) - UPC, EAN, JAN, or ISBN
|
|
11
|
+
// 8, 12, 13, or 14 digits
|
|
12
|
+
gtin: z
|
|
13
|
+
.string()
|
|
14
|
+
.regex(/^\d{8}$|^\d{12}$|^\d{13}$|^\d{14}$/, {
|
|
15
|
+
message: 'GTIN must be 8, 12, 13, or 14 digits',
|
|
16
|
+
})
|
|
17
|
+
.nullish(),
|
|
18
|
+
// Optional: Manufacturer Part Number (MPN)
|
|
19
|
+
// Max 70 characters
|
|
20
|
+
mpn: z.string().max(70).nullish(),
|
|
21
|
+
// Required: Whether the product has unique product identifiers
|
|
22
|
+
identifier_exists: z.boolean().nullish(),
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=productIdentifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productIdentifiers.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/productIdentifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,sCAAsC;IACtC,oBAAoB;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;IAEnC,qEAAqE;IACrE,0BAA0B;IAC1B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,KAAK,CAAC,oCAAoC,EAAE;QAC3C,OAAO,EAAE,sCAAsC;KAChD,CAAC;SACD,OAAO,EAAE;IAEZ,2CAA2C;IAC3C,oBAAoB;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;IAEjC,+DAA+D;IAC/D,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;CACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Subtypes for Google Feed schemas
|
|
4
|
+
* These are reusable enum types used across different Google Feed schemas
|
|
5
|
+
*/
|
|
6
|
+
export declare const PriceValueSchema: z.ZodObject<{
|
|
7
|
+
amount: z.ZodCoercedNumber<unknown>;
|
|
8
|
+
currency_code: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
|
|
9
|
+
AED: "AED";
|
|
10
|
+
ARS: "ARS";
|
|
11
|
+
AUD: "AUD";
|
|
12
|
+
BGN: "BGN";
|
|
13
|
+
BRL: "BRL";
|
|
14
|
+
CAD: "CAD";
|
|
15
|
+
CHF: "CHF";
|
|
16
|
+
CLP: "CLP";
|
|
17
|
+
CNY: "CNY";
|
|
18
|
+
COP: "COP";
|
|
19
|
+
CZK: "CZK";
|
|
20
|
+
DKK: "DKK";
|
|
21
|
+
EUR: "EUR";
|
|
22
|
+
GBP: "GBP";
|
|
23
|
+
HKD: "HKD";
|
|
24
|
+
HUF: "HUF";
|
|
25
|
+
IDR: "IDR";
|
|
26
|
+
ILS: "ILS";
|
|
27
|
+
INR: "INR";
|
|
28
|
+
JPY: "JPY";
|
|
29
|
+
KRW: "KRW";
|
|
30
|
+
MXN: "MXN";
|
|
31
|
+
MYR: "MYR";
|
|
32
|
+
NOK: "NOK";
|
|
33
|
+
NZD: "NZD";
|
|
34
|
+
PHP: "PHP";
|
|
35
|
+
PLN: "PLN";
|
|
36
|
+
RON: "RON";
|
|
37
|
+
RUB: "RUB";
|
|
38
|
+
SEK: "SEK";
|
|
39
|
+
SGD: "SGD";
|
|
40
|
+
THB: "THB";
|
|
41
|
+
TRY: "TRY";
|
|
42
|
+
USD: "USD";
|
|
43
|
+
ZAR: "ZAR";
|
|
44
|
+
UNKNOWN: "UNKNOWN";
|
|
45
|
+
}>>>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export type PriceValueType = z.infer<typeof PriceValueSchema>;
|
|
48
|
+
export declare const ConditionEnum: z.ZodEnum<{
|
|
49
|
+
new: "new";
|
|
50
|
+
refurbished: "refurbished";
|
|
51
|
+
used: "used";
|
|
52
|
+
}>;
|
|
53
|
+
export type ConditionType = z.infer<typeof ConditionEnum>;
|
|
54
|
+
export declare const AgeGroupEnum: z.ZodEnum<{
|
|
55
|
+
newborn: "newborn";
|
|
56
|
+
infant: "infant";
|
|
57
|
+
toddler: "toddler";
|
|
58
|
+
kids: "kids";
|
|
59
|
+
adult: "adult";
|
|
60
|
+
}>;
|
|
61
|
+
export type AgeGroupType = z.infer<typeof AgeGroupEnum>;
|
|
62
|
+
export declare const GenderEnum: z.ZodEnum<{
|
|
63
|
+
male: "male";
|
|
64
|
+
female: "female";
|
|
65
|
+
unisex: "unisex";
|
|
66
|
+
}>;
|
|
67
|
+
export type GenderType = z.infer<typeof GenderEnum>;
|
|
68
|
+
export declare const SizeTypeEnum: z.ZodEnum<{
|
|
69
|
+
regular: "regular";
|
|
70
|
+
petite: "petite";
|
|
71
|
+
plus: "plus";
|
|
72
|
+
"big and tall": "big and tall";
|
|
73
|
+
maternity: "maternity";
|
|
74
|
+
}>;
|
|
75
|
+
export type SizeTypeType = z.infer<typeof SizeTypeEnum>;
|
|
76
|
+
export declare const SizeSystemEnum: z.ZodEnum<{
|
|
77
|
+
US: "US";
|
|
78
|
+
UK: "UK";
|
|
79
|
+
EU: "EU";
|
|
80
|
+
DE: "DE";
|
|
81
|
+
FR: "FR";
|
|
82
|
+
JP: "JP";
|
|
83
|
+
CN: "CN";
|
|
84
|
+
IT: "IT";
|
|
85
|
+
BR: "BR";
|
|
86
|
+
MEX: "MEX";
|
|
87
|
+
AU: "AU";
|
|
88
|
+
}>;
|
|
89
|
+
export type SizeSystemType = z.infer<typeof SizeSystemEnum>;
|
|
90
|
+
export declare const EnergyEfficiencyClassEnum: z.ZodEnum<{
|
|
91
|
+
"A+++": "A+++";
|
|
92
|
+
"A++": "A++";
|
|
93
|
+
"A+": "A+";
|
|
94
|
+
A: "A";
|
|
95
|
+
B: "B";
|
|
96
|
+
C: "C";
|
|
97
|
+
D: "D";
|
|
98
|
+
E: "E";
|
|
99
|
+
F: "F";
|
|
100
|
+
G: "G";
|
|
101
|
+
}>;
|
|
102
|
+
export type EnergyEfficiencyClassType = z.infer<typeof EnergyEfficiencyClassEnum>;
|
|
103
|
+
export declare const AvailabilityEnum: z.ZodEnum<{
|
|
104
|
+
in_stock: "in_stock";
|
|
105
|
+
out_of_stock: "out_of_stock";
|
|
106
|
+
preorder: "preorder";
|
|
107
|
+
backorder: "backorder";
|
|
108
|
+
}>;
|
|
109
|
+
export type AvailabilityType = z.infer<typeof AvailabilityEnum>;
|
|
110
|
+
//# sourceMappingURL=subtypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtypes.d.ts","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/subtypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB;;;GAGG;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG9D,eAAO,MAAM,aAAa;;;;EAAyC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAG1D,eAAO,MAAM,YAAY;;;;;;EAA4D,CAAC;AACtF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGxD,eAAO,MAAM,UAAU;;;;EAAuC,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAGpD,eAAO,MAAM,YAAY;;;;;;EAAqE,CAAC;AAC/F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGxD,eAAO,MAAM,cAAc;;;;;;;;;;;;EAA8E,CAAC;AAC1G,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;EAAmE,CAAC;AAC1G,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAGlF,eAAO,MAAM,gBAAgB;;;;;EAAgE,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SupportedCurrencySchema } from '../../../../constants';
|
|
3
|
+
/**
|
|
4
|
+
* Subtypes for Google Feed schemas
|
|
5
|
+
* These are reusable enum types used across different Google Feed schemas
|
|
6
|
+
*/
|
|
7
|
+
// Price value (consistent with metafields MoneyValueSchema)
|
|
8
|
+
export const PriceValueSchema = z.object({
|
|
9
|
+
amount: z.coerce.number(),
|
|
10
|
+
currency_code: SupportedCurrencySchema,
|
|
11
|
+
});
|
|
12
|
+
// Condition of the product
|
|
13
|
+
export const ConditionEnum = z.enum(['new', 'refurbished', 'used']);
|
|
14
|
+
// Age group the product is targeted towards
|
|
15
|
+
export const AgeGroupEnum = z.enum(['newborn', 'infant', 'toddler', 'kids', 'adult']);
|
|
16
|
+
// Gender the product is targeted towards
|
|
17
|
+
export const GenderEnum = z.enum(['male', 'female', 'unisex']);
|
|
18
|
+
// Size type
|
|
19
|
+
export const SizeTypeEnum = z.enum(['regular', 'petite', 'plus', 'big and tall', 'maternity']);
|
|
20
|
+
// Size system
|
|
21
|
+
export const SizeSystemEnum = z.enum(['US', 'UK', 'EU', 'DE', 'FR', 'JP', 'CN', 'IT', 'BR', 'MEX', 'AU']);
|
|
22
|
+
// Energy efficiency class
|
|
23
|
+
export const EnergyEfficiencyClassEnum = z.enum(['A+++', 'A++', 'A+', 'A', 'B', 'C', 'D', 'E', 'F', 'G']);
|
|
24
|
+
// Availability status
|
|
25
|
+
export const AvailabilityEnum = z.enum(['in_stock', 'out_of_stock', 'preorder', 'backorder']);
|
|
26
|
+
//# sourceMappingURL=subtypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtypes.js","sourceRoot":"","sources":["../../../../../src/zod/recommendations/feed-optimization/google-feed/subtypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACzB,aAAa,EAAE,uBAAuB;CACvC,CAAC,CAAC;AAGH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAGpE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAGtF,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAG/D,YAAY;AACZ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;AAG/F,cAAc;AACd,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAG1G,0BAA0B;AAC1B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAG1G,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/zod/recommendations/feed-optimization/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/zod/recommendations/feed-optimization/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|